Messages Deployable - themeldingwars/Documentation GitHub Wiki

Deployables have no commands. A deployable is server owned, so there is no controller for a client to send input on, only views that everyone observes.

Events

Sent by the server on the Deployable ObserverView.

TookHit

  • Sent when the deployable is damaged.
  • Contents: an optional damage struct behind a HaveDamage byte, a RepeatHitIdx byte, damage response flags, a ushort short time and one more byte.
  • RepeatHitIdx is what makes sustained fire cheap: instead of resending the full damage struct for every tick, the server can refer back to a hit it already sent. The damage struct and the flags are shared with the Character DealtHit / TookHit messages, see Messages Character.

AbilityProjectileFired

  • Sent when the deployable fires an ability projectile, e.g. a turret style deployable shooting.
  • Contents: a ushort short time, a half float vector, a quantised aim vector, a ushort ammo type (dbitems::Ammo), a float range, and a run of not yet identified fields, one of which is likely the hardpoint the shot came from, followed by an optional uint64 behind a flag byte.

PublicCombatLog

  • An int32 flag followed by a combat log message when the flag is 1.
  • The same combat log payload the Character and Vehicle views use. It is what populates the combat log UI for anyone who can see the deployable.