Settings Structure

From ASSS Wiki
Jump to: navigation, search

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 PacketType (8 bits)
0000 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
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