Shaman totem models are now different depending on race
--HG-- branch : trunk
This commit is contained in:
@@ -16102,6 +16102,89 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form)
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32 Unit::GetModelForTotem(PlayerTotemType totemType)
|
||||
{
|
||||
switch(getRace())
|
||||
{
|
||||
case RACE_ORC:
|
||||
{
|
||||
switch(totemType)
|
||||
{
|
||||
case SUMMON_TYPE_TOTEM_FIRE: //fire
|
||||
return 30758;
|
||||
case SUMMON_TYPE_TOTEM_EARTH: //earth
|
||||
return 30757;
|
||||
case SUMMON_TYPE_TOTEM_WATER: //water
|
||||
return 30759;
|
||||
case SUMMON_TYPE_TOTEM_AIR: //air
|
||||
return 30756;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RACE_DWARF:
|
||||
{
|
||||
switch(totemType)
|
||||
{
|
||||
case SUMMON_TYPE_TOTEM_FIRE: //fire
|
||||
return 30754;
|
||||
case SUMMON_TYPE_TOTEM_EARTH: //earth
|
||||
return 30753;
|
||||
case SUMMON_TYPE_TOTEM_WATER: //water
|
||||
return 30755;
|
||||
case SUMMON_TYPE_TOTEM_AIR: //air
|
||||
return 30736;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RACE_TROLL:
|
||||
{
|
||||
switch(totemType)
|
||||
{
|
||||
case SUMMON_TYPE_TOTEM_FIRE: //fire
|
||||
return 30762;
|
||||
case SUMMON_TYPE_TOTEM_EARTH: //earth
|
||||
return 30761;
|
||||
case SUMMON_TYPE_TOTEM_WATER: //water
|
||||
return 30763;
|
||||
case SUMMON_TYPE_TOTEM_AIR: //air
|
||||
return 30760;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RACE_TAUREN:
|
||||
{
|
||||
switch(totemType)
|
||||
{
|
||||
case SUMMON_TYPE_TOTEM_FIRE: //fire
|
||||
return 4589;
|
||||
case SUMMON_TYPE_TOTEM_EARTH: //earth
|
||||
return 4588;
|
||||
case SUMMON_TYPE_TOTEM_WATER: //water
|
||||
return 4587;
|
||||
case SUMMON_TYPE_TOTEM_AIR: //air
|
||||
return 4590;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RACE_DRAENEI:
|
||||
{
|
||||
switch(totemType)
|
||||
{
|
||||
case SUMMON_TYPE_TOTEM_FIRE: //fire
|
||||
return 19074;
|
||||
case SUMMON_TYPE_TOTEM_EARTH: //earth
|
||||
return 19073;
|
||||
case SUMMON_TYPE_TOTEM_WATER: //water
|
||||
return 19075;
|
||||
case SUMMON_TYPE_TOTEM_AIR: //air
|
||||
return 19071;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Unit::JumpTo(float speedXY, float speedZ, bool forward)
|
||||
{
|
||||
float angle = forward ? 0 : M_PI;
|
||||
|
||||
@@ -1074,6 +1074,14 @@ enum ReactiveType
|
||||
#define SUMMON_SLOT_QUEST 6
|
||||
#define MAX_SUMMON_SLOT 7
|
||||
|
||||
enum PlayerTotemType
|
||||
{
|
||||
SUMMON_TYPE_TOTEM_FIRE = 63,
|
||||
SUMMON_TYPE_TOTEM_EARTH = 81,
|
||||
SUMMON_TYPE_TOTEM_WATER = 82,
|
||||
SUMMON_TYPE_TOTEM_AIR = 83,
|
||||
};
|
||||
|
||||
// delay time next attack to prevent client attack animation problems
|
||||
#define ATTACK_DISPLAY_DELAY 200
|
||||
#define MAX_PLAYER_STEALTH_DETECT_RANGE 45.0f // max distance for detection targets by player
|
||||
@@ -1917,6 +1925,7 @@ class Unit : public WorldObject
|
||||
void RemovePetAura(PetAura const* petSpell);
|
||||
|
||||
uint32 GetModelForForm(ShapeshiftForm form);
|
||||
uint32 GetModelForTotem(PlayerTotemType totemType);
|
||||
|
||||
void SetReducedThreatPercent(uint32 pct, uint64 guid)
|
||||
{
|
||||
|
||||
@@ -3757,6 +3757,11 @@ void Spell::EffectSummonType(uint32 i)
|
||||
&& properties->Slot >= SUMMON_SLOT_TOTEM
|
||||
&& properties->Slot < MAX_TOTEM_SLOT)
|
||||
{
|
||||
// set display id depending on race
|
||||
uint32 displayId = m_originalCaster->GetModelForTotem(PlayerTotemType(properties->Id));
|
||||
summon->SetNativeDisplayId(displayId);
|
||||
summon->SetDisplayId(displayId);
|
||||
|
||||
//summon->SendUpdateToPlayerm_originalCaster->ToPlayer();
|
||||
WorldPacket data(SMSG_TOTEM_CREATED, 1+8+4+4);
|
||||
data << uint8(properties->Slot-1);
|
||||
|
||||
Reference in New Issue
Block a user