mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Units: Update druid shapeshift form models (#18554)
This commit is contained in:
@@ -14302,6 +14302,9 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
if (getRace() == RACE_NIGHTELF)
|
||||
{
|
||||
uint8 hairColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID);
|
||||
if (HasAura(210333)) // Glyph of the Feral Chameleon
|
||||
hairColor = urand(0, 10);
|
||||
|
||||
switch (hairColor)
|
||||
{
|
||||
case 7: // Violet
|
||||
@@ -14315,13 +14318,16 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 29407;
|
||||
case 4: // White
|
||||
return 29408;
|
||||
default: // original - Dark Blue
|
||||
default: // Original - Dark Blue
|
||||
return 892;
|
||||
}
|
||||
}
|
||||
else if (getRace() == RACE_TROLL)
|
||||
{
|
||||
uint8 hairColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID);
|
||||
if (HasAura(210333)) // Glyph of the Feral Chameleon
|
||||
hairColor = urand(0, 12);
|
||||
|
||||
switch (hairColor)
|
||||
{
|
||||
case 0: // Red
|
||||
@@ -14337,7 +14343,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
case 7: // Purple
|
||||
case 10:
|
||||
return 33665;
|
||||
default: // original - white
|
||||
default: // Original - White
|
||||
return 33669;
|
||||
}
|
||||
}
|
||||
@@ -14345,6 +14351,9 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
{
|
||||
// Based on Skin color
|
||||
uint8 skinColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID);
|
||||
if (HasAura(210333)) // Glyph of the Feral Chameleon
|
||||
skinColor = urand(0, 9);
|
||||
|
||||
// Male
|
||||
if (getGender() == GENDER_MALE)
|
||||
{
|
||||
@@ -14355,12 +14364,12 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
case 2: // Black
|
||||
case 7:
|
||||
return 33661;
|
||||
case 4: // yellow
|
||||
case 4: // Yellow
|
||||
return 33664;
|
||||
case 3: // White
|
||||
case 5:
|
||||
return 33663;
|
||||
default: // original - Gray
|
||||
default: // Original - Gray
|
||||
return 33660;
|
||||
}
|
||||
}
|
||||
@@ -14380,7 +14389,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 33664;
|
||||
case 2: // White
|
||||
return 33663;
|
||||
default: // original - Gray
|
||||
default: // Original - Gray
|
||||
return 33660;
|
||||
}
|
||||
}
|
||||
@@ -14389,6 +14398,9 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
else if (getRace() == RACE_TAUREN)
|
||||
{
|
||||
uint8 skinColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID);
|
||||
if (HasAura(210333)) // Glyph of the Feral Chameleon
|
||||
skinColor = urand(0, 20);
|
||||
|
||||
// Male
|
||||
if (getGender() == GENDER_MALE)
|
||||
{
|
||||
@@ -14414,7 +14426,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
case 4:
|
||||
case 5:
|
||||
return 29412;
|
||||
default: // original - Grey
|
||||
default: // Original - Grey
|
||||
return 8571;
|
||||
}
|
||||
}
|
||||
@@ -14436,7 +14448,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
case 2:
|
||||
case 3:
|
||||
return 29412;
|
||||
default: // original - Grey
|
||||
default: // Original - Grey
|
||||
return 8571;
|
||||
}
|
||||
}
|
||||
@@ -14450,6 +14462,9 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
if (getRace() == RACE_NIGHTELF)
|
||||
{
|
||||
uint8 hairColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID);
|
||||
if (HasAura(107059)) // Glyph of the Ursol Chameleon
|
||||
hairColor = urand(0, 8);
|
||||
|
||||
switch (hairColor)
|
||||
{
|
||||
case 0: // Green
|
||||
@@ -14462,13 +14477,16 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 29416;
|
||||
case 3: // Light Blue
|
||||
return 29417;
|
||||
default: // original - Violet
|
||||
return 2281;
|
||||
default: // Original - Violet
|
||||
return 29415;
|
||||
}
|
||||
}
|
||||
else if (getRace() == RACE_TROLL)
|
||||
{
|
||||
uint8 hairColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID);
|
||||
if (HasAura(107059)) // Glyph of the Ursol Chameleon
|
||||
hairColor = urand(0, 14);
|
||||
|
||||
switch (hairColor)
|
||||
{
|
||||
case 0: // Red
|
||||
@@ -14485,7 +14503,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
case 11:
|
||||
case 12:
|
||||
return 33658;
|
||||
default: // original - Blue
|
||||
default: // Original - Blue
|
||||
return 33655;
|
||||
}
|
||||
}
|
||||
@@ -14493,6 +14511,9 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
{
|
||||
// Based on Skin color
|
||||
uint8 skinColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID);
|
||||
if (HasAura(107059)) // Glyph of the Ursol Chameleon
|
||||
skinColor = urand(0, 8);
|
||||
|
||||
// Male
|
||||
if (getGender() == GENDER_MALE)
|
||||
{
|
||||
@@ -14508,7 +14529,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
case 3: // White
|
||||
case 5:
|
||||
return 33654;
|
||||
default: // original - Gray
|
||||
default: // Original - Gray
|
||||
return 33650;
|
||||
}
|
||||
}
|
||||
@@ -14528,7 +14549,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 33654;
|
||||
case 2: // White
|
||||
return 33653;
|
||||
default: // original - Gray
|
||||
default: // Original - Gray
|
||||
return 33650;
|
||||
}
|
||||
}
|
||||
@@ -14537,6 +14558,9 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
else if (getRace() == RACE_TAUREN)
|
||||
{
|
||||
uint8 skinColor = GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID);
|
||||
if (HasAura(107059)) // Glyph of the Ursol Chameleon
|
||||
skinColor = urand(0, 20);
|
||||
|
||||
// Male
|
||||
if (getGender() == GENDER_MALE)
|
||||
{
|
||||
@@ -14562,7 +14586,7 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 29420;
|
||||
case 18: // Completly White
|
||||
return 29421;
|
||||
default: // original - Brown
|
||||
default: // Original - Brown
|
||||
return 2289;
|
||||
}
|
||||
}
|
||||
@@ -14584,13 +14608,13 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 29420;
|
||||
case 10: // Completly White
|
||||
return 29421;
|
||||
default: // original - Brown
|
||||
default: // Original - Brown
|
||||
return 2289;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (Player::TeamForRace(getRace()) == ALLIANCE)
|
||||
return 2281;
|
||||
return 29415;
|
||||
else
|
||||
return 2289;
|
||||
case FORM_FLIGHT_FORM:
|
||||
@@ -14598,12 +14622,32 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
return 20857;
|
||||
return 20872;
|
||||
case FORM_FLIGHT_FORM_EPIC:
|
||||
if (Player::TeamForRace(getRace()) == ALLIANCE)
|
||||
return (getRace() == RACE_WORGEN ? 37729 : 21243);
|
||||
if (getRace() == RACE_TROLL)
|
||||
return 37730;
|
||||
return 21244;
|
||||
if (HasAura(219062)) // Glyph of the Sentinel
|
||||
{
|
||||
switch (getRace())
|
||||
{
|
||||
case RACE_NIGHTELF: // Blue
|
||||
return 64328;
|
||||
case RACE_TAUREN: // Brown
|
||||
return 64329;
|
||||
case RACE_WORGEN: // Purple
|
||||
return 64330;
|
||||
case RACE_TROLL: // White
|
||||
return 64331;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Player::TeamForRace(getRace()) == ALLIANCE)
|
||||
return (getRace() == RACE_WORGEN ? 37729 : 21243);
|
||||
if (getRace() == RACE_TROLL)
|
||||
return 37730;
|
||||
return 21244;
|
||||
}
|
||||
case FORM_MOONKIN_FORM:
|
||||
{
|
||||
switch (getRace())
|
||||
{
|
||||
case RACE_NIGHTELF:
|
||||
@@ -14618,8 +14662,34 @@ uint32 Unit::GetModelForForm(ShapeshiftForm form) const
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FORM_AQUATIC_FORM:
|
||||
if (HasAura(114333)) // Glyph of the Orca
|
||||
return 4591;
|
||||
return 2428;
|
||||
case FORM_TRAVEL_FORM:
|
||||
{
|
||||
if (HasAura(131113)) // Glyph of the Cheetah
|
||||
return 1043;
|
||||
|
||||
if (HasAura(224122)) // Glyph of the Doe
|
||||
return 70450;
|
||||
|
||||
switch (getRace())
|
||||
{
|
||||
case RACE_NIGHTELF:
|
||||
case RACE_WORGEN:
|
||||
return 40816;
|
||||
case RACE_TROLL:
|
||||
case RACE_TAUREN:
|
||||
return 45339;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FORM_GHOST_WOLF:
|
||||
if (HasAura(58135)) //! Glyph of Arctic Wolf
|
||||
if (HasAura(58135)) // Glyph of Spectral Wolf
|
||||
return 27312;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user