mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 09:17:18 +00:00
Core/Player: Correct gender by modelid and avoid saving character with wrong gender
Closes #396 Author is MitchesD, Kittnz and Shauren
This commit is contained in:
@@ -25861,7 +25861,7 @@ void Player::_SaveCharacter(bool create, SQLTransaction& trans)
|
||||
stmt->setString(index++, GetName());
|
||||
stmt->setUInt8(index++, getRace(true));
|
||||
stmt->setUInt8(index++, getClass());
|
||||
stmt->setUInt8(index++, getGender());
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_3, 0)); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||
stmt->setUInt8(index++, getLevel());
|
||||
stmt->setUInt32(index++, GetUInt32Value(PLAYER_XP));
|
||||
stmt->setUInt32(index++, GetMoney());
|
||||
@@ -25966,7 +25966,7 @@ void Player::_SaveCharacter(bool create, SQLTransaction& trans)
|
||||
stmt->setString(index++, GetName());
|
||||
stmt->setUInt8(index++, getRace(true));
|
||||
stmt->setUInt8(index++, getClass());
|
||||
stmt->setUInt8(index++, getGender());
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_3, 0)); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||
stmt->setUInt8(index++, getLevel());
|
||||
stmt->setUInt32(index++, GetUInt32Value(PLAYER_XP));
|
||||
stmt->setUInt32(index++, GetMoney());
|
||||
|
||||
@@ -15404,6 +15404,9 @@ bool Unit::IsPolymorphed() const
|
||||
void Unit::SetDisplayId(uint32 modelId)
|
||||
{
|
||||
SetUInt32Value(UNIT_FIELD_DISPLAYID, modelId);
|
||||
// Set Gender by modelId
|
||||
if (CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelInfo(modelId))
|
||||
SetByteValue(UNIT_FIELD_BYTES_0, 2, minfo->gender);
|
||||
}
|
||||
|
||||
void Unit::RestoreDisplayId()
|
||||
|
||||
Reference in New Issue
Block a user