diff options
author | w12x <none@none> | 2008-10-27 15:28:04 -0500 |
---|---|---|
committer | w12x <none@none> | 2008-10-27 15:28:04 -0500 |
commit | dd977765014498fd97dd89f68738e5fa2306e465 (patch) | |
tree | 430b12a23424896c2cb2a5aaaef8192030f12888 /src/game/Totem.cpp | |
parent | 1b820f93ebadc6f253a0b1baa958abe3ab482e2d (diff) |
[svn] * Fixed startup error flood if creature model id is 0
* Fixed totems using proper model ids broken after recent change
* Set pet grid activity state to that of caster upon summoning
* Fix a possible crash in ObjectAccessor
note to self: don't commit anything without 3 days testing. ever. after this one ofc.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Totem.cpp')
-rw-r--r-- | src/game/Totem.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/game/Totem.cpp b/src/game/Totem.cpp index f1629d4e6a2..4f8b03827ae 100644 --- a/src/game/Totem.cpp +++ b/src/game/Totem.cpp @@ -59,13 +59,25 @@ void Totem::Summon(Unit* owner) CreatureInfo const *cinfo = GetCreatureInfo(); if (owner->GetTypeId()==TYPEID_PLAYER && cinfo) { - if (uint32 modelid = cinfo->GetRandomValidModelId()) - SetDisplayId(modelid); + uint32 modelid = 0; + if(((Player*)owner)->GetTeam() == HORDE) + { + if(cinfo->Modelid3) + modelid = cinfo->Modelid3; + else if(cinfo->Modelid4) + modelid = cinfo->Modelid4; + } else { - sLog.outErrorDb("No displayid found for the totem with the entry %u! Can't summon it!", GetEntry()); - return; + if(cinfo->Modelid1) + modelid = cinfo->Modelid1; + else if(cinfo->Modelid2) + modelid = cinfo->Modelid2; } + if (modelid) + SetDisplayId(modelid); + else + sLog.outErrorDb("Totem::Summon: Missing modelid information for entry %u, team %u, totem will use default values.",GetEntry(),((Player*)owner)->GetTeam()); } // Only add if a display exists. |