diff options
-rw-r--r-- | sql/updates/world/3.3.5/2018_08_22_11_world.sql | 2 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 26 |
2 files changed, 11 insertions, 17 deletions
diff --git a/sql/updates/world/3.3.5/2018_08_22_11_world.sql b/sql/updates/world/3.3.5/2018_08_22_11_world.sql new file mode 100644 index 00000000000..2c14012dc11 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_08_22_11_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `target_type`=0 WHERE `action_type` IN (38,39); diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index f9f37dee920..cc5aeb2dcd5 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1037,32 +1037,24 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u } case SMART_ACTION_SET_IN_COMBAT_WITH_ZONE: { - for (WorldObject* target : targets) + if (me && me->IsAIEnabled) { - if (IsCreature(target)) - { - Creature* creature = target->ToCreature(); - if (creature->IsAIEnabled) - creature->AI()->DoZoneInCombat(); - TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction: SMART_ACTION_SET_IN_COMBAT_WITH_ZONE: Creature %u, target: %u", me->GetGUID().GetCounter(), target->GetGUID().GetCounter()); - } + me->AI()->DoZoneInCombat(); + TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction: SMART_ACTION_SET_IN_COMBAT_WITH_ZONE: Creature %u", me->GetGUID().GetCounter()); } break; } case SMART_ACTION_CALL_FOR_HELP: { - for (WorldObject* target : targets) + if (me) { - if (IsCreature(target)) + me->CallForHelp(float(e.action.callHelp.range)); + if (e.action.callHelp.withEmote) { - target->ToCreature()->CallForHelp(float(e.action.callHelp.range)); - if (e.action.callHelp.withEmote) - { - Trinity::BroadcastTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, BROADCAST_TEXT_CALL_FOR_HELP, me->getGender()); - sCreatureTextMgr->SendChatPacket(me, builder, CHAT_MSG_MONSTER_EMOTE); - } - TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction: SMART_ACTION_CALL_FOR_HELP: Creature %u, target: %u", me->GetGUID().GetCounter(), target->GetGUID().GetCounter()); + Trinity::BroadcastTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, BROADCAST_TEXT_CALL_FOR_HELP, me->getGender()); + sCreatureTextMgr->SendChatPacket(me, builder, CHAT_MSG_MONSTER_EMOTE); } + TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction: SMART_ACTION_CALL_FOR_HELP: Creature %u", me->GetGUID().GetCounter()); } break; } |