- summary: Attacks a monster group on the current map, starting a fight against it. Carries the group's actor id.
- area: Game.Roleplay
Attacks a monster group on the current map, starting a fight against it. Carries the group's actor id.
Kind request · Area Game.Roleplay
Starts a fight against one monster group of the map you are on.
HOW TO SEND IT
1. BE IN ROLEPLAY, ON THE GROUP'S MAP. The group is named by its actor id, the
ActorPositionInformation.actor_id it was announced with in
GameRolePlayShowActorsEvent or in the map's contents. Monster groups have
NEGATIVE actor ids.
2. WALK TO IT FIRST, THE WAY THE CLIENT DOES. The official client sends
MapMovementRequest toward the group and remembers the group. It sends this
message when the walk is over:
- normally right after MapMovementConfirmRequest;
- also when the server refuses the walk with MapMovementRefusedEvent: the
client puts the character back on the cell the server gives and attacks anyway;
- at once, with no walk, when the character already stands on the destination.
3. PUT THE GROUP'S ACTOR ID IN AttackMonsterRequest.monster_group_id. Nothing else.
4. WAIT FOR THE FIGHT. In a capture the first answer was EntitiesDispositionEvent
with the attacker's cell and direction, about 30ms later, then two
FightTeamUpdateEvent (one per team). Once the fight map was loaded and
ContextReadyRequest sent, FightStartingEvent, FightJoinEvent and one
FightFighterShowEvent per fighter followed.
THE ID IS AN ACTOR ID, NOT A MONSTER TEMPLATE ID. It is the group's contextual id on
this map (for example -20002), the same id the fight then reports as its defender
(FightStartingEvent.defender_id) and as the monster team's leader. A
monster id from the game data is not accepted in its place.
PADDING. Builds add unread members beside the id (a nested record on 3.7, a second int64 on 3.6.12.16). Fill only the recovered member.
OBSERVED (one capture, 3.7.8.7): monster_group_id -20002, followed ~30ms later by
EntitiesDispositionEvent carrying only the attacker, then by the fight set-up.
When you may send it
- Requires
roleplay_contextinferred - Raised by: a user action followed by a walk: the player clicks a monster group; the client walks toward it and attacks the group it remembered once the walk ends, also when the server refuses the walk with
MapMovementRefusedEvent, and at once when the character already stands on the destination cell inferred
Related messages
- You will then receive
EntitiesDispositionEventobserved — about 30ms later, the attacker's own disposition as the fight is set up, then the fighters' placement dispositions; 1 observation - You will then receive
FightTeamUpdateEventobserved — about 70ms later, two back to back, one per team of the new fight (yours led by you, the monsters' led by the group id); 1 observation - You will then receive
FightStartingEventobserved — about 640ms later, once the client had loaded the fight map and sent ContextReadyRequest; 1 observation
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 2 | monster_group_id | int64 | Actor id of the monster group to attack, as announced on the current map (negative for monster groups). (actor id (contextual, map-scoped)) Observed: -20002 | required |