aboutsummaryrefslogtreecommitdiff
path: root/src/game/MiscHandler.cpp
diff options
context:
space:
mode:
authorRat@walamy <none@none>2010-05-16 17:45:45 +0200
committerRat@walamy <none@none>2010-05-16 17:45:45 +0200
commit9771757c4c9c2210a258e9bf477f06a4981d4794 (patch)
treedf021d18706b254ad1a0969c49686d7f158c2853 /src/game/MiscHandler.cpp
parentc26399a96804cf4231dd6ec2e6f4e3ec437aac64 (diff)
you can now reload creatures from creature_template table
NOTE: reload is limited to one creature at a time Usage: .reload creature_template $entry Warning: this is mainly for developers, reloading a creature can cause unexpected behaviors!! --HG-- branch : trunk
Diffstat (limited to 'src/game/MiscHandler.cpp')
-rw-r--r--src/game/MiscHandler.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp
index f993adc9a64..e27a4cb491e 100644
--- a/src/game/MiscHandler.cpp
+++ b/src/game/MiscHandler.cpp
@@ -126,6 +126,16 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
if (GetPlayer()->hasUnitState(UNIT_STAT_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
+ if ((unit && unit->GetCreatureInfo()->ScriptID != unit->LastUsedScriptID) || (go && go->GetGOInfo()->ScriptId != go->LastUsedScriptID))
+ {
+ sLog.outDebug("WORLD: HandleGossipSelectOptionOpcode - Script reloaded while in use, ignoring and set new scipt id");
+ if (unit)
+ unit->LastUsedScriptID = unit->GetCreatureInfo()->ScriptID;
+ if (go)
+ go->LastUsedScriptID = go->GetGOInfo()->ScriptId;
+ _player->PlayerTalkClass->CloseGossip();
+ return;
+ }
if (!code.empty())
{
if (unit)