fix(Core/SmartAI): improve SMART_EVENT_GOSSIP_HELLO (#8849)

Add another value to event_param1 for SMART_EVENT_GOSSIP_HELLO to support all cases of OnGossipHello/OnReportUse in GameObjects:
- event_param1 set to 0: execute the action for both OnGossipHello and OnReportUse. This might result in the action being executed twice when clicking the GameObject
- event_param1 set to 1: execute the action for only OnGossipHello
- event_param1 set to 2: execute the action for only OnReportUse
This commit is contained in:
acidmanifesto
2021-11-04 04:49:20 -04:00
committed by GitHub
parent f30725144d
commit 6ff6f48e74
2 changed files with 27 additions and 5 deletions

View File

@@ -162,7 +162,7 @@ enum SMART_EVENT
SMART_EVENT_LINK = 61, // INTERNAL USAGE, no params, used to link together multiple events, does not use any extra resources to iterate event lists needlessly
SMART_EVENT_GOSSIP_SELECT = 62, // menuID, actionID
SMART_EVENT_JUST_CREATED = 63, // none
SMART_EVENT_GOSSIP_HELLO = 64, // none
SMART_EVENT_GOSSIP_HELLO = 64, // event_para_1 (only) 0 = no filter set, always execute action, 1 = GossipHello only filter set, skip action if reportUse, 2 = reportUse only filter set, skip action if GossipHello
SMART_EVENT_FOLLOW_COMPLETED = 65, // none
SMART_EVENT_UNUSED_66 = 66, // UNUSED
SMART_EVENT_IS_BEHIND_TARGET = 67, // cooldownMin, CooldownMax
@@ -362,7 +362,7 @@ struct SmartEvent
struct
{
uint32 noReportUse;
uint32 filter;
} gossipHello;
struct