Skip to content

Add Ironforge guard emote response script#95

Merged
billy1arm merged 1 commit into
masterfrom
feature/ironforge-guard-emote-response
Jun 6, 2026
Merged

Add Ironforge guard emote response script#95
billy1arm merged 1 commit into
masterfrom
feature/ironforge-guard-emote-response

Conversation

@MadMaxMangos
Copy link
Copy Markdown
Member

@MadMaxMangos MadMaxMangos commented Jun 5, 2026

Summary

Adds an Ironforge-specific guard script so Ironforge Guards respond to targeted Alliance player emotes, matching observed retail/classic behavior.

This intentionally does not enable the behavior for all generic city guards. Ironforge Guard entry 5595 is handled by a dedicated guard_ironforge script so other guards bound to guard_generic remain unchanged.

Changes

  • Added guardAI_ironforge, inheriting from guardAI.
  • Added ReceiveEmote handling for Ironforge Guards.
  • Reused the existing guard emote response helper path.
  • Added TEXTEMOTE_RASP handling to DoReplyToTextEmote, mapped with the other mocking/taunting emotes.
  • Added and registered the guard_ironforge script in the guards script loader.
  • Restricted responses to Alliance players using pPlayer->GetTeam() == ALLIANCE.

Supported responses

Tested targeted player emotes:

  • /wave
  • /salute
  • /kiss
  • /shy
  • /rude
  • /rasp
  • /chicken

The guard performs the response animation and sends the visible monster emote chat text.

Scope

This is deliberately Ironforge-only.

The existing generic guard script remains unaffected. Other city guards do not gain this behavior from this patch.

Testing

Tested in-game with Ironforge Guard entry 5595.

Confirmed:

  • Alliance players receive responses.
  • Horde players do not receive friendly responses.
  • One player emote triggers one guard response.
  • Guard response animation is visible.
  • Guard response chat text is visible.
  • /wave, /salute, /kiss, /shy, /rude, /rasp, and /chicken all work.
  • Other guards still bound to guard_generic are unaffected.

Notes

The database binding change is in the matching database PR. This ScriptDev3 PR should be merged before or alongside the DB update that binds entry 5595 to guard_ironforge.


This change is Reviewable

@MadMaxMangos MadMaxMangos requested a review from billy1arm June 5, 2026 00:05
Comment thread base/guard_ai.cpp Outdated
{
case TEXTEMOTE_WAVE:
m_creature->MonsterTextEmote(
(name + " waves at you.").c_str(), pPlayer);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The strings should come from the database rather than being hardcoded

Copy link
Copy Markdown
Member

@billy1arm billy1arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The strings should come from the database rather than being hardcoded.

create_ai_texts iirc.

see:
https://github.com/mangos/ScriptDev3/blob/master/scripts/northrend/violet_hold/boss_ichoron.cpp

for an example

@MadMaxMangos MadMaxMangos force-pushed the feature/ironforge-guard-emote-response branch from c4ecaa2 to 4adc884 Compare June 5, 2026 06:48
@MadMaxMangos MadMaxMangos requested a review from billy1arm June 6, 2026 09:04
@billy1arm billy1arm merged commit 10e471f into master Jun 6, 2026
1 check passed
@MadMaxMangos MadMaxMangos deleted the feature/ironforge-guard-emote-response branch June 6, 2026 09:22
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