Settings Structure
From ASSS Wiki
The server sends most settings to its clients through the following structures.
struct ArenaSettings
Each client is sent this 1428-byte structure with the settings for its current arena. Note that it contains the ship and prizeweight structures.
- unsigned Version (8 bits)
- 0000 VIE:15
- unsigned ExactDamage (1 bits)
- 0001 Bullet:ExactDamage (Continuum .36+)
- unsigned HideFlags (1 bits)
- 0001 Spectator:HideFlags (Continuum .36+)
- unsigned NoXRadar (1 bits)
- 0001 Spectator:NoXRadar (Continuum .36+)
- unsigned pack0 (21 bits)
- 0001 (14)
- shipSettings ships[8]
- 0004 See shipSettings declaration...
- Uint32 BulletDamageLevel
- 1156 Bullet:BulletDamageLevel * 1000
- Uint32 BombDamageLevel
- 1160 Bomb:BombDamageLevel * 1000
- Uint32 BulletAliveTime
- 1164 Bullet:BulletAliveTime
- Uint32 BombAliveTime
- 1168 Bomb:BombAliveTime
- Uint32 DecoyAliveTime
- 1172 Misc:DecoyAliveTime
- Uint32 SafetyLimit
- 1176 Misc:SafetyLimit
- Uint32 FrequencyShift
- 1180 Misc:FrequencyShift
- Uint32 MaxFrequency
- 1184 Team:MaxFrequency
- Uint32 RepelSpeed
- 1188 Repel:RepelSpeed
- Uint32 MineAliveTime
- 1192 Mine:MineAliveTime
- Uint32 BurstDamageLevel
- 1196 Burst:BurstDamageLevel * 1000
- Uint32 BulletDamageUpgrade
- 1200 Bullet:BulletDamageUpgrade * 1000
- Uint32 FlagDropDelay
- 1204 Flag:FlagDropDelay
- Uint32 EnterGameFlaggingDelay
- 1208 Flag:EnterGameFlaggingDelay
- Uint32 RocketThrust
- 1212 Rocket:RocketThrust
- Uint32 RocketSpeed
- 1216 Rocket:RocketSpeed
- Uint32 InactiveShrapnelDamage
- 1220 Shrapnel:InactiveShrapDamage * 1000
- Uint32 WormholeSwitchTime
- 1224 Wormhole:SwitchTime
- Uint32 ActivateAppShutdownTime
- 1228 Misc:ActivateAppShutdownTime
- Uint32 ShrapnelSpeed
- 1232 Shrapnel:ShrapnelSpeed
- BYTE UNKNOWN0[16]
- 1236 ?
- Uint16 SendRoutePercent
- 1252 Latency:SendRoutePercent
- Uint16 BombExplodeDelay
- 1254 Bomb:BombExplodeDelay
- Uint16 SendPositionDelay
- 1256 Misc:SendPositionDelay
- Uint16 BombExplodePixels
- 1258 Bomb:BombExplodePixels
- Uint16 DeathPrizeTime
- 1260 Prize:DeathPrizeTime
- Uint16 JitterTime
- 1262 Bomb:JitterTime
- Uint16 EnterDelay
- 1264 Kill:EnterDelay
- Uint16 EngineShutdownTime
- 1266 Prize:EngineShutdownTime
- Uint16 ProximityDistance
- 1268 Bomb:ProximityDistance
- Uint16 BountyIncreaseForKill
- 1270 Kill:BountyIncreaseForKill
- Uint16 BounceFactor
- 1272 Misc:BounceFactor
- Uint16 MapZoomFactor
- 1274 Radar:MapZoomFactor
- Uint16 MaxBonus
- 1276 Kill:MaxBonus
- Uint16 MaxPenalty
- 1278 Kill:MaxPenalty
- Uint16 RewardBase
- 1280 Kill:RewardBase
- Uint16 RepelTime
- 1282 Repel:RepelTime
- Uint16 RepelDistance
- 1284 Repel:RepelDistance
- Uint16 HelpTickerDelay
- 1286 Misc:TickerDelay
- Uint16 FlaggerOnRadar
- 1288 Flag:FlaggerOnRadar
- Uint16 FlaggerKillMultiplier
- 1290 Flag:FlaggerKillMultiplier
- Uint16 PrizeFactor
- 1292 Prize:PrizeFactor
- Uint16 PrizeDelay
- 1294 Prize:PrizeDelay
- Uint16 PrizeMinimumVirtual
- 1296 Prize:MinimumVirtual
- Uint16 PrizeUpgradeVirtual
- 1298 Prize:UpgradeVirtual
- Uint16 PrizeMaxExist
- 1300 Prize:PrizeMaxExist
- Uint16 PrizeMinExist
- 1302 Prize:PrizeMinExist
- Uint16 PrizeNegativeFactor
- 1304 Prize:PrizeNegativeFactor
- Uint16 DoorDelay
- 1306 Door:DoorDelay
- Uint16 AntiwarpPixels
- 1308 Toggle:AntiWarpPixels
- Sint16 DoorMode
- 1310 Door:DoorMode
- Uint16 FlagBlankDelay
- 1312 Flag:FlagBlankDelay
- Uint16 NoDataFlagDropDelay
- 1314 Flag:NoDataFlagDropDelay
- Uint16 MultiPrizeCount
- 1316 Prize:MultiPrizeCount
- Uint16 BrickTime
- 1318 Brick:BrickTime
- Uint16 WarpRadiusLimit
- 1320 Misc:WarpRadiusLimit
- Uint16 EBombShutdownTime
- 1322 Bomb:EBombShutdownTime
- Uint16 EBombDamagePercent
- 1324 Bomb:EBombDamagePercent
- Uint16 RadarNeutralSize
- 1326 Radar:RadarNeutralSize
- Uint16 WarpPointDelay
- 1328 Misc:WarpPointDelay
- Uint16 NearDeathLevel
- 1330 Misc:NearDeathLevel
- Uint16 BBombDamagePercent
- 1332 Bomb:BBombDamagePercent
- Uint16 ShrapnelDamagePercent
- 1334 Shrapnel:ShrapnelDamagePercent
- Uint16 ClientSlowPacketTime
- 1336 Latency:ClientSlowPacketTime
- Uint16 FlagDropResetReward
- 1338 Flag:FlagDropResetReward
- Uint16 FlaggerFireCostPercent
- 1340 Flag:FlaggerFireCostPercent
- Uint16 FlaggerDamagePercent
- 1342 Flag:FlaggerDamagePercent
- Uint16 FlaggerBombFireDelay
- 1344 Flag:FlaggerBombFireDelay
- Uint16 SoccerPassDelay
- 1346 Soccer:PassDelay
- Uint16 SoccerBallBlankDelay
- 1348 Soccer:BallBlankDelay
- Uint16 S2CNoDataKickoutDelay
- 1350 Latency:S2CNoDataKickoutDelay
- Uint16 FlaggerThrustAdjustment
- 1352 Flag:FlaggerThrustAdjustment
- Uint16 FlaggerSpeedAdjustment
- 1354 Flag:FlaggerSpeedAdjustment
- Uint16 CliSlowPacketSampleSize
- 1356 Latency:ClientSlowPacketSampleSize
- BYTE UNKNOWN1[10]
- 1358 ?
- BYTE RandomShrapnel
- 1368 Shrapnel:Random
- BYTE SoccerBallBounce
- 1369 Soccer:BallBounce
- BYTE SoccerAllowBombs
- 1370 Soccer:AllowBombs
- BYTE SoccerAllowGuns
- 1371 Soccer:AllowGuns
- BYTE SoccerMode
- 1372 Soccer:Mode
- BYTE MaxPerTeam
- 1373 Team:MaxPerTeam
- BYTE MaxPerPrivateTeam
- 1374 Team:MaxPerPrivateTeam
- BYTE TeamMaxMines
- 1375 Mine:TeamMaxMines
- BYTE WormholeGravityBombs
- 1376 Wormhole:GravityBombs
- BYTE BombSafety
- 1377 Bomb:BombSafety
- BYTE MessageReliable
- 1378 Message:MessageReliable
- BYTE TakePrizeReliable
- 1379 Prize:TakePrizeReliable
- BYTE AllowAudioMessages
- 1380 Message:AllowAudioMessages
- BYTE PrizeHideCount
- 1381 Prize:PrizeHideCount
- BYTE ExtraPositionData
- 1382 Misc:ExtraPositionData
- BYTE SlowFrameCheck
- 1383 Misc:SlowFrameCheck
- BYTE CarryFlags
- 1384 Flag:CarryFlags
- BYTE AllowSavedShip
- 1385 Misc:AllowSavedShips
- BYTE RadarMode
- 1386 Radar:RadarMode
- BYTE VictoryMusic
- 1387 Misc:VictoryMusic
- BYTE FlaggerGunUpgrade
- 1388 Flag:FlaggerGunUpgrade
- BYTE FlaggerBombUpgrade
- 1389 Flag:FlaggerBombUpgrade
- BYTE SoccerUseFlagger
- 1390 Soccer:UseFlagger
- BYTE SoccerBallLocation
- 1391 Soccer:BallLocation
- BYTE UNKNOWN2[8]
- 1392 ?
- prizeSettings pw
- 1400 See below prizeweight structure.
struct ShipSettings
Each ship's settings are sent in a copy of this 144-byte structure (offsets are for warbird):
- Uint16 SuperTime
- 0004 All:SuperTime
- Uint16 UNKNOWN0
- 0006 (100) Salt for actual super time?
- Uint16 ShieldsTime
- 0008 All:ShieldsTime
- Uint16 UNKNOWN1
- 0010 (30) Salt for actual shields time?
- Uint16 Gravity
- 0012 All:Gravity
- Uint16 GravityTopSpeed
- 0014 All:GravityTopSpeed
- Uint16 BulletFireEnergy
- 0016 All:BulletFireEnergy
- Uint16 MultiFireEnergy
- 0018 All:MultiFireEnergy
- Uint16 BombFireEnergy
- 0020 All:BombFireEnergy
- Uint16 BombFireEnergyUpgrade
- 0022 All:BombFireEnergyUpgrade
- Uint16 MineFireEnergy
- 0024 All:LandmineFireEnergy
- Uint16 MineFireEnergyUpgrade
- 0026 All:LandmineFireEnergyUpgrade
- Uint16 BulletSpeed
- 0028 All:BulletSpeed
- Uint16 BombSpeed
- 0030 All:BombSpeed
- unsigned SeeBombLevel (2 bits)
- 0032 All:SeeBombLevel (Continuum .36+)
- unsigned DisableFastBombs (1 bits)
- 0032 All:DisableFastShooting (Continuum .36+)
- unsigned Radius (7 bits)
- 0032 All:Radius (Continuum .37+)
- unsigned pack0 (6 bits)
- 0033 Unused (fixed/updated to whatever is current by Niadh@columbus.rr.com)
- unsigned MultiFireAngle (16 bits)
- 0034 All:MultiFireAngle
- Uint16 CloakEnergy
- 0036 All:CloakEnergy
- Uint16 StealthEnergy
- 0038 All:StealthEnergy
- Uint16 AntiWarpEnergy
- 0040 All:AntiWarpEnergy
- Uint16 XRadarEnergy
- 0042 All:XRadarEnergy
- Uint16 MaximumRotation
- 0044 All:MaximumRotation
- Uint16 MaximumThrust
- 0046 All:MaximumThrust
- Uint16 MaximumSpeed
- 0048 All:MaximumSpeed
- Uint16 MaximumRecharge
- 0050 All:MaximumRecharge
- Uint16 MaximumEnergy
- 0052 All:MaximumEnergy
- Uint16 InitialRotation
- 0054 All:InitialRotation
- Uint16 InitialThrust
- 0056 All:InitialThrust
- Uint16 InitialSpeed
- 0058 All:InitialSpeed
- Uint16 InitialRecharge
- 0060 All:InitialRecharge
- Uint16 InitialEnergy
- 0062 All:InitialEnergy
- Uint16 UpgradeRotation
- 0064 All:UpgradeRotation
- Uint16 UpgradeThrust
- 0066 All:UpgradeThrust
- Uint16 UpgradeSpeed
- 0068 All:UpgradeSpeed
- Uint16 UpgradeRecharge
- 0070 All:UpgradeRecharge
- Uint16 UpgradeEnergy
- 0072 All:UpgradeEnergy
- Uint16 AfterburnerEnergy
- 0074 All:AfterburnerEnergy
- Uint16 BombThrust
- 0076 All:BombThrust
- Uint16 BurstSpeed
- 0078 All:BurstSpeed
- Uint16 TurretThrustPenalty
- 0080 All:TurretThrustPenalty
- Uint16 TurretSpeedPenalty
- 0082 All:TurretSpeedPenalty
- Uint16 BulletFireDelay
- 0084 All:BulletFireDelay
- Uint16 MultiFireDelay
- 0086 All:MultiFireDelay
- Uint16 BombFireDelay
- 0088 All:BombFireDelay
- Uint16 LandmineFireDelay
- 0090 All:LandmineFireDelay
- Uint16 RocketTime
- 0092 All:RocketTime
- Uint16 InitialBounty
- 0094 All:InitialBounty
- Uint16 DamageFactor
- 0096 All:DamageFactor
- Uint16 PrizeShareLimit
- 0098 All:PrizeShareLimit
- Uint16 AttachBounty
- 0100 All:AttachBounty
- Uint16 SoccerThrowTime
- 0102 All:SoccerThrowTime
- Uint16 SoccerBallFriction
- 0104 All:SoccerBallFriction
- Uint16 SoccerBallProximity
- 0106 All:SoccerBallProximity
- Uint16 SoccerBallSpeed
- 0108 All:SoccerBallSpeed
- BYTE TurretLimit
- 0110 All:TurretLimit
- BYTE BurstShrapnel
- 0111 All:BurstShrapnel
- BYTE MaxMines
- 0112 All:MaxMines
- BYTE RepelMax
- 0113 All:RepelMax
- BYTE BurstMax
- 0114 All:BurstMax
- BYTE DecoyMax
- 0115 All:DecoyMax
- BYTE ThorMax
- 0116 All:ThorMax
- BYTE BrickMax
- 0117 All:BrickMax
- BYTE RocketMax
- 0118 All:RocketMax
- BYTE PortalMax
- 0119 All:PortalMax
- BYTE InitialRepel
- 0120 All:InitialRepel
- BYTE InitialBurst
- 0121 All:InitialBurst
- BYTE InitialBrick
- 0122 All:InitialBrick
- BYTE InitialRocket
- 0123 All:InitialRocket
- BYTE InitialThor
- 0124 All:InitialThor
- BYTE InitialDecoy
- 0125 All:InitialDecoy
- BYTE InitialPortal
- 0126 All:InitialPortal
- BYTE BombBounceCount
- 0127 All:BombBounceCount
- unsigned ShrapnelMax (5 bits)
- 0128 All:ShrapnelMax
- unsigned ShrapnelRate (5 bits)
- 0128 All:ShrapnelRate
- unsigned CloakStatus (2 bits)
- 0129 All:CloakStatus
- unsigned StealthStatus (2 bits)
- 0129 All:StealthStatus
- unsigned XRadarStatus (2 bits)
- 0129 All:XRadarStatus
- unsigned AntiwarpStatus (2 bits)
- 0130 All:AntiWarpStatus
- unsigned InitialGuns (2 bits)
- 0130 All:InitialGuns
- unsigned MaxGuns (2 bits)
- 0130 All:MaxGuns
- unsigned InitialBombs (2 bits)
- 0130 All:InitialBombs
- unsigned MaxBombs (2 bits)
- 0131 All:MaxBombs
- unsigned DoubleBarrel (1 bits)
- 0131 All:DoubleBarrel
- unsigned EmpBomb (1 bits)
- 0131 All:EmpBomb
- unsigned SeeMines (1 bits)
- 0131 All:SeeMines
- unsigned UNKNOWN2 (3 bits)
- 0131 ?
- BYTE UNKNOWN3[16]
- 0132 ?
struct PrizeSettings
Prizeweights are actually handled as an array by SubSpace/Subgame, but the following 28-byte structure represents an, in some respects, better way:
- BYTE Recharge
- 1400 PrizeWeight:QuickCharge
- BYTE Energy
- 1401 PrizeWeight:Energy
- BYTE Rotation
- 1402 PrizeWeight:Rotation
- BYTE Stealth
- 1403 PrizeWeight:Stealth
- BYTE Cloak
- 1404 PrizeWeight:Cloak
- BYTE XRadar
- 1405 PrizeWeight:XRadar
- BYTE Warp
- 1406 PrizeWeight:Warp
- BYTE Gun
- 1407 PrizeWeight:Gun
- BYTE Bomb
- 1408 PrizeWeight:Bomb
- BYTE BouncingBullets
- 1409 PrizeWeight:BouncingBullets
- BYTE Thruster
- 1410 PrizeWeight:Thruster
- BYTE TopSpeed
- 1411 PrizeWeight:TopSpeed
- BYTE QuickCharge
- 1412 PrizeWeight:Recharge
- BYTE Glue
- 1413 PrizeWeight:Glue
- BYTE MultiFire
- 1414 PrizeWeight:MultiFire
- BYTE Proximity
- 1415 PrizeWeight:Proximity
- BYTE AllWeapons
- 1416 PrizeWeight:AllWeapons
- BYTE Shields
- 1417 PrizeWeight:Shields
- BYTE Shrapnel
- 1418 PrizeWeight:Shrapnel
- BYTE AntiWarp
- 1419 PrizeWeight:AntiWarp
- BYTE Repel
- 1420 PrizeWeight:Repel
- BYTE Burst
- 1421 PrizeWeight:Burst
- BYTE Decoy
- 1422 PrizeWeight:Decoy
- BYTE Thor
- 1423 PrizeWeight:Thor
- BYTE MultiPrize
- 1424 PrizeWeight:MultiPrize
- BYTE Brick
- 1425 PrizeWeight:Brick
- BYTE Rocket
- 1426 PrizeWeight:Rocket
- BYTE Portal
- 1427 PrizeWeight:Portal