Skip to content

Glory rework#405

Open
ahigerd wants to merge 1 commit into
stridera:mainfrom
ahigerd:alh/glory
Open

Glory rework#405
ahigerd wants to merge 1 commit into
stridera:mainfrom
ahigerd:alh/glory

Conversation

@ahigerd
Copy link
Copy Markdown
Collaborator

@ahigerd ahigerd commented Feb 9, 2026

Per @daedela:

Glory doesn't work quite as intended. It's supposed to check each mob in a given room and override and prevent any aggro flags. But it's supposed to have a small chance for ANY mob in the room to attack the Gloried person.

The problem is instead of checking every mob and placing a flag that should block aggro which is removed when the Glory user leaves the room, it checks every mob every tick. Which means eventually it's going to land on "kill on sight" for every mob in the room. So suddenly you're being attacked by everything in sight, rather than stopping aggro mobs from aggroing

This PR replaces the Glory check in the aggro code with:

  • On spell cast or when player moves:
    • Iterate over mobs in room
    • Roll for instant aggro
  • When mob moves:
    • Iterate over characters in destination room
    • If Glory found, roll for instant aggro
  • When mob checks for aggro:
    • Iterate over characters in room
    • If Glory found, cancel aggro check

The idea is that you really only need to check for a random attack the first time the mob enters the area of effect. After that, either the fight is already happening, or a fight won't happen, so glory should cause subsequent aggro checks to abort.

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.

2 participants