- summary: Which fighter you now command in the fight, who commands it, and the spells, spell bar and modifiers to use for it.
- area: Game.Fight
Which fighter you now command in the fight, who commands it, and the spells, spell bar and modifiers to use for it.
Kind event · Area Game.Fight
Hands you the controls of ONE fighter: your own character, or a creature you command (a summon or another controllable fighter; beta called this a slave switch). It carries everything the spell bar needs for that fighter.
WHAT TO DO WHEN YOU RECEIVE IT
1. FIND OUT WHO COMMANDS WHOM. FightControlEvent.slave_id is the fighter you are now
given; FightControlEvent.master_id is the fighter that commands it. When master_id
is your character's id, you command slave_id: add it to the fighters you control.
master_id is optional; do not assume it is you when it is absent.
2. REPLACE that fighter's spell list with FightControlEvent.slave_spells. It is the
whole list (the weapon is one of its entries), not a change to the previous one.
3. REPLACE the spell bar with FightControlEvent.shortcuts, the bar to show while you
command this fighter. Each entry carries its own slot index.
4. REPLACE that fighter's modifiers: FightControlEvent.spell_modifiers apply to
individual spells, FightControlEvent.weapon_modifiers to its weapon.
5. SEND NOTHING BACK.
WHEN IT ARRIVES. In a 3.7.10.10 capture of a fight against monsters it arrived during the player's own turn, between two cooldown refreshes and just before the player's first spell cast, with BOTH ids set to the player's character: in an ordinary fight the server hands you the controls of yourself.
WHAT THE OFFICIAL CLIENT DOES
- The fight frame stores master_id on the controlled fighter's entity record. If master_id is the local player's id, it adds slave_id to its set of fighters the player controls and refreshes the fight view. Then it raises a control-changed notification carrying (slave_id, master_id). - The spells frame rebuilds the fighter's spells from slave_spells and the spell bar from shortcuts, both keyed by slave_id. - The modifier service replaces slave_id's spell modifiers and files each weapon modifier under spell id 0, the weapon's slot.
When you may send it
- Requires
character_loadedinferred
Related messages
- Unsolicited - nothing you send causes this the server sends it when control of a fighter starts or changes; no request asks for it
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | spell_modifiers | repeated SpellModifier | Modifiers currently applied to the controlled fighter's spells. Element type SpellModifier. Beta keeps this list inside the fighter's characteristic sheet (CharacterCharacteristics, which its predecessor FightSlaveSwitchContextEvent carried) under the same name; here it travels on its own. | never |
| 2 | shortcuts | repeated Shortcut | The spell bar to show while you command this fighter. Element type Shortcut, the same record as ShortcutBarContentEvent.shortcuts. Only occupied slots appear; each carries its slot index. | never |
| 3 | weapon_modifiers | repeated WeaponModifier | Modifiers currently applied to the controlled fighter's weapon. Each entry is a value, a modifier type and an action type, the two enums of SpellModifier without a spell id. The client files them under spell id 0, the weapon. | never |
| 4 | master_id | int64 | The fighter that commands the controlled fighter. Explicit presence: absent is not the same as zero. (entity id) Observed: 785381589283Optional. The client compares it with the local player's id: when they are equal, the player commands FightControlEvent.slave_id.Also stored on the controlled fighter's entity record. | never |
| 5 | slave_spells | repeated SpellItem | Every spell the controlled fighter can use, its weapon included. Element type SpellItem (spell id, level, availability and a kind; the weapon entry has spell id 0). Replaces the previous list. | never |
| 6 | slave_id | int64 | The fighter you are given control of: whose spells, bar and modifiers this message carries. (entity id) Observed: 785381589283Your own character's id when you play yourself. | never |