Core/Players: Use constant gender from PLAYER_BYTES_3 where appropriate.
Closes #15895
This commit is contained in:
1 parent
3c4f435629
commit
ba1e00399d
5 files changed
+27
-41
No files matched your search
@@ -1533,7 +1533,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
|
||||
//! Since no common attributes were found, (not even in titleRewardFlags field)
|
||||
//! we explicitly check by ID. Maybe in the future we could move the achievement_reward
|
||||
//! condition fields to the condition system.
|
||||
if (uint32 titleId = reward->titleId[achievement->ID == 1793 ? GetPlayer()->getGender() : (GetPlayer()->GetTeam() == ALLIANCE ? 0 : 1)])
|
||||
if (uint32 titleId = reward->titleId[achievement->ID == 1793 ? GetPlayer()->GetByteValue(PLAYER_BYTES_3, 0) : (GetPlayer()->GetTeam() == ALLIANCE ? 0 : 1)])
|
||||
if (CharTitlesEntry const* titleEntry = sCharTitlesStore.LookupEntry(titleId))
|
||||
GetPlayer()->SetTitle(titleEntry);
|
||||
|
||||
|
||||
@@ -4777,18 +4777,16 @@ Corpse* Player::CreateCorpse()
|
||||
|
||||
_corpseLocation.WorldRelocate(*this);
|
||||
|
||||
_uf = GetUInt32Value(UNIT_FIELD_BYTES_0);
|
||||
_pb = GetUInt32Value(PLAYER_BYTES);
|
||||
_pb2 = GetUInt32Value(PLAYER_BYTES_2);
|
||||
|
||||
uint8 race = (uint8)(_uf);
|
||||
uint8 skin = (uint8)(_pb);
|
||||
uint8 face = (uint8)(_pb >> 8);
|
||||
uint8 hairstyle = (uint8)(_pb >> 16);
|
||||
uint8 haircolor = (uint8)(_pb >> 24);
|
||||
uint8 facialhair = (uint8)(_pb2);
|
||||
|
||||
_cfb1 = ((0x00) | (race << 8) | (getGender() << 16) | (skin << 24));
|
||||
_cfb1 = ((0x00) | (getRace() << 8) | (GetByteValue(PLAYER_BYTES_3, 0) << 16) | (skin << 24));
|
||||
_cfb2 = ((face) | (hairstyle << 8) | (haircolor << 16) | (facialhair << 24));
|
||||
|
||||
corpse->SetUInt32Value(CORPSE_FIELD_BYTES_1, _cfb1);
|
||||
@@ -21085,7 +21083,7 @@ void Player::InitDisplayIds()
|
||||
return;
|
||||
}
|
||||
|
||||
uint8 gender = getGender();
|
||||
uint8 gender = GetByteValue(PLAYER_BYTES_3, 0);
|
||||
switch (gender)
|
||||
{
|
||||
case GENDER_FEMALE:
|
||||
|
||||
@@ -642,7 +642,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
|
||||
|
||||
TC_LOG_INFO("entities.player.character", "Account: %d (IP: %s) Create Character:[%s] (GUID: %u)", GetAccountId(), GetRemoteAddress().c_str(), createInfo->Name.c_str(), newChar.GetGUID().GetCounter());
|
||||
sScriptMgr->OnPlayerCreate(&newChar);
|
||||
sWorld->AddCharacterInfo(newChar.GetGUID(), GetAccountId(), newChar.GetName(), newChar.getGender(), newChar.getRace(), newChar.getClass(), newChar.getLevel());
|
||||
sWorld->AddCharacterInfo(newChar.GetGUID(), GetAccountId(), newChar.GetName(), newChar.GetByteValue(PLAYER_BYTES_3, 0), newChar.getRace(), newChar.getClass(), newChar.getLevel());
|
||||
|
||||
newChar.CleanupsBeforeDelete();
|
||||
delete createInfo;
|
||||
@@ -1242,20 +1242,20 @@ void WorldSession::HandleAlterAppearance(WorldPacket& recvData)
|
||||
|
||||
BarberShopStyleEntry const* bs_hair = sBarberShopStyleStore.LookupEntry(Hair);
|
||||
|
||||
if (!bs_hair || bs_hair->type != 0 || bs_hair->race != _player->getRace() || bs_hair->gender != _player->getGender())
|
||||
if (!bs_hair || bs_hair->type != 0 || bs_hair->race != _player->getRace() || bs_hair->gender != _player->GetByteValue(PLAYER_BYTES_3, 0))
|
||||
return;
|
||||
|
||||
BarberShopStyleEntry const* bs_facialHair = sBarberShopStyleStore.LookupEntry(FacialHair);
|
||||
|
||||
if (!bs_facialHair || bs_facialHair->type != 2 || bs_facialHair->race != _player->getRace() || bs_facialHair->gender != _player->getGender())
|
||||
if (!bs_facialHair || bs_facialHair->type != 2 || bs_facialHair->race != _player->getRace() || bs_facialHair->gender != _player->GetByteValue(PLAYER_BYTES_3, 0))
|
||||
return;
|
||||
|
||||
BarberShopStyleEntry const* bs_skinColor = sBarberShopStyleStore.LookupEntry(SkinColor);
|
||||
|
||||
if (bs_skinColor && (bs_skinColor->type != 3 || bs_skinColor->race != _player->getRace() || bs_skinColor->gender != _player->getGender()))
|
||||
if (bs_skinColor && (bs_skinColor->type != 3 || bs_skinColor->race != _player->getRace() || bs_skinColor->gender != _player->GetByteValue(PLAYER_BYTES_3, 0)))
|
||||
return;
|
||||
|
||||
if (!Player::ValidateAppearance(_player->getRace(), _player->getClass(), _player->getGender(), bs_hair->hair_id, Color, _player->GetByteValue(PLAYER_BYTES, 1), bs_facialHair->hair_id, bs_skinColor ? bs_skinColor->hair_id : _player->GetByteValue(PLAYER_BYTES, 0)))
|
||||
if (!Player::ValidateAppearance(_player->getRace(), _player->getClass(), _player->GetByteValue(PLAYER_BYTES_3, 0), bs_hair->hair_id, Color, _player->GetByteValue(PLAYER_BYTES, 1), bs_facialHair->hair_id, bs_skinColor ? bs_skinColor->hair_id : _player->GetByteValue(PLAYER_BYTES, 0)))
|
||||
return;
|
||||
|
||||
GameObject* go = _player->FindNearestGameObjectOfType(GAMEOBJECT_TYPE_BARBER_CHAIR, 5.0f);
|
||||
|
||||
@@ -283,7 +283,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
|
||||
continue;
|
||||
|
||||
uint32 pzoneid = target->GetZoneId();
|
||||
uint8 gender = target->getGender();
|
||||
uint8 gender = target->GetByteValue(PLAYER_BYTES_3, 0);
|
||||
|
||||
bool z_show = true;
|
||||
for (uint32 i = 0; i < zones_count; ++i)
|
||||
|
||||
@@ -1863,43 +1863,43 @@ void AuraEffect::HandleAuraTransform(AuraApplication const* aurApp, uint8 mode,
|
||||
{
|
||||
// Blood Elf
|
||||
case RACE_BLOODELF:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 17829 : 17830);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 17830 : 17829);
|
||||
break;
|
||||
// Orc
|
||||
case RACE_ORC:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10139 : 10140);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10140 : 10139);
|
||||
break;
|
||||
// Troll
|
||||
case RACE_TROLL:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10135 : 10134);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10134 : 10135);
|
||||
break;
|
||||
// Tauren
|
||||
case RACE_TAUREN:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10136 : 10147);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10147 : 10136);
|
||||
break;
|
||||
// Undead
|
||||
case RACE_UNDEAD_PLAYER:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10146 : 10145);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10145 : 10146);
|
||||
break;
|
||||
// Draenei
|
||||
case RACE_DRAENEI:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 17827 : 17828);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 17828 : 17827);
|
||||
break;
|
||||
// Dwarf
|
||||
case RACE_DWARF:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10141 : 10142);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10142 : 10141);
|
||||
break;
|
||||
// Gnome
|
||||
case RACE_GNOME:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10148 : 10149);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10149 : 10148);
|
||||
break;
|
||||
// Human
|
||||
case RACE_HUMAN:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10137 : 10138);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10138 : 10137);
|
||||
break;
|
||||
// Night Elf
|
||||
case RACE_NIGHTELF:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 10143 : 10144);
|
||||
target->SetDisplayId(target->getGender() == GENDER_FEMALE ? 10144 : 10143);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4643,17 +4643,10 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
|
||||
{
|
||||
if (caster)
|
||||
{
|
||||
switch (caster->getGender())
|
||||
{
|
||||
case GENDER_FEMALE:
|
||||
caster->CastSpell(target, 37095, true, NULL, this); // Blood Elf Disguise
|
||||
break;
|
||||
case GENDER_MALE:
|
||||
caster->CastSpell(target, 37093, true, NULL, this);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (caster->getGender() == GENDER_FEMALE)
|
||||
caster->CastSpell(target, 37095, true, NULL, this); // Blood Elf Disguise
|
||||
else
|
||||
caster->CastSpell(target, 37093, true, NULL, this);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -4683,15 +4676,10 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
|
||||
case 46354: // Blood Elf Illusion
|
||||
if (caster)
|
||||
{
|
||||
switch (caster->getGender())
|
||||
{
|
||||
case GENDER_FEMALE:
|
||||
caster->CastSpell(target, 46356, true, NULL, this);
|
||||
break;
|
||||
case GENDER_MALE:
|
||||
caster->CastSpell(target, 46355, true, NULL, this);
|
||||
break;
|
||||
}
|
||||
if (caster->getGender() == GENDER_FEMALE)
|
||||
caster->CastSpell(target, 46356, true, NULL, this);
|
||||
else
|
||||
caster->CastSpell(target, 46355, true, NULL, this);
|
||||
}
|
||||
break;
|
||||
case 46361: // Reinforced Net
|
||||
|
||||
Reference in new issue
Block a user