Skip to content

c29: Disorder and Hypnotize hits draw no aggro and end the mob's chase - #706

Merged
neeerp merged 1 commit into
masterfrom
v83/calming-hits
Oct 22, 2026
Merged

neeerp merged 1 commit into
masterfrom
v83/calming-hits

Conversation

@neeerp

@neeerp neeerp commented Oct 22, 2026

Copy link
Copy Markdown
Owner

In v83, the local player's hits with Disorder (4001002, 14001002) and Hypnotize (5221009) don't make the mob chase them. Instead the mob gives up any chase it had: the attack drivers pass aggro flag 0 to FUN_007f73d8 (0x7a82a2), and every other skill passes 1. This was found in lane C's c021 report.

Server

  • New net::skills::provokes(skill).
  • FieldActor::handle_attack no longer hands the mob over with aggro (SPAWN_MONSTER_CONTROL 2) for these three skills. If it did, the chase would start again and undo what the client just did.

HeavenClient

  • New damage_layout::provokes.
  • New AttackUser::calms flag, set only for the local player's hits.
  • MapMobs::apply_damage calls the new Mob::calm(). For a mob this client controls, it drops the chase target and rebuilds the shoe, as 5cc3d9 does with 7f73d8 and then 5c55cd.

Tests

  • hypnotize harness test: a Hypnotize hit draws no aggro, and a plain hit on the same snail then does. hypnotize and mob_combat pass.
  • net skills unit test.
  • HC ctest 151/151 in build-dbg.
  • One Sonnet review found no bugs.

No GUI recording. The client change only clears a chase flag on hit. The server half is covered by the harness test.

…s chase (c021: 0x7a82a2 passes 0 to FUN_007f73d8)
@neeerp
neeerp merged commit 890b07c into master Oct 22, 2026
1 check passed
@neeerp
neeerp deleted the v83/calming-hits branch October 22, 2026 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant