From 9072e0221b39c19fb6be154c623f45d6a9433db0 Mon Sep 17 00:00:00 2001 From: treeston Date: Fri, 19 Aug 2016 15:23:19 +0200 Subject: AI/SmartScripts: Add param3 to SMART_ACTION_CAST and SMART_ACTION_INVOKER_CAST that allows specific triggered flags to be set (rather than all-or-nothing). Ignored if SMARTCAST_TRIGGERED is not set. --- src/server/game/Entities/GameObject/GameObject.cpp | 7 ++++++- src/server/game/Entities/GameObject/GameObject.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src/server/game/Entities/GameObject') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index ba336303a35..9db3fc6a402 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1780,7 +1780,12 @@ void GameObject::Use(Unit* user) CastSpell(user, spellId); } -void GameObject::CastSpell(Unit* target, uint32 spellId, bool triggered /*= true*/) +void GameObject::CastSpell(Unit* target, uint32 spellId, bool triggered /* = true*/) +{ + CastSpell(target, spellId, triggered ? TRIGGERED_FULL_MASK : TRIGGERED_NONE); +} + +void GameObject::CastSpell(Unit* target, uint32 spellId, TriggerCastFlags triggered) { SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId); if (!spellInfo) diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index a271512629b..85be274fe46 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -832,6 +832,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject GameObject* LookupFishingHoleAround(float range); void CastSpell(Unit* target, uint32 spell, bool triggered = true); + void CastSpell(Unit* target, uint32 spell, TriggerCastFlags triggered); void SendCustomAnim(uint32 anim); bool IsInRange(float x, float y, float z, float radius) const; -- cgit v1.2.3