Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender
Port From (https://github.com/TrinityCore/TrinityCore/commit/27886c7f5d6cfc221ea67aab210f96859d725e05)
This commit is contained in:
@@ -553,7 +553,7 @@ namespace Game.Achievements
|
||||
//! 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.
|
||||
uint titleId = reward.TitleId[achievement.Id == 1793 ? (int)_owner.GetNativeSex() : (_owner.GetTeam() == Team.Alliance ? 0 : 1)];
|
||||
uint titleId = reward.TitleId[achievement.Id == 1793 ? (int)_owner.GetNativeGender() : (_owner.GetTeam() == Team.Alliance ? 0 : 1)];
|
||||
if (titleId != 0)
|
||||
{
|
||||
CharTitlesRecord titleEntry = CliDB.CharTitlesStorage.LookupByKey(titleId);
|
||||
@@ -668,7 +668,7 @@ namespace Game.Achievements
|
||||
Guild guild = Global.GuildMgr.GetGuildById(_owner.GetGuildId());
|
||||
if (guild)
|
||||
{
|
||||
BroadcastTextBuilder say_builder = new(_owner, ChatMsg.GuildAchievement, (uint)BroadcastTextIds.AchivementEarned, _owner.GetGender(), _owner, achievement.Id);
|
||||
BroadcastTextBuilder say_builder = new(_owner, ChatMsg.GuildAchievement, (uint)BroadcastTextIds.AchivementEarned, _owner.GetNativeGender(), _owner, achievement.Id);
|
||||
var say_do = new LocalizedDo(say_builder);
|
||||
guild.BroadcastWorker(say_do, _owner);
|
||||
}
|
||||
@@ -685,7 +685,7 @@ namespace Game.Achievements
|
||||
// if player is in world he can tell his friends about new achievement
|
||||
else if (_owner.IsInWorld)
|
||||
{
|
||||
BroadcastTextBuilder _builder = new(_owner, ChatMsg.Achievement, (uint)BroadcastTextIds.AchivementEarned, _owner.GetGender(), _owner, achievement.Id);
|
||||
BroadcastTextBuilder _builder = new(_owner, ChatMsg.Achievement, (uint)BroadcastTextIds.AchivementEarned, _owner.GetNativeGender(), _owner, achievement.Id);
|
||||
var _localizer = new LocalizedDo(_builder);
|
||||
var _worker = new PlayerDistWorker(_owner, WorldConfig.GetFloatValue(WorldCfg.ListenRangeSay), _localizer);
|
||||
Cell.VisitWorldObjects(_owner, _worker, WorldConfig.GetFloatValue(WorldCfg.ListenRangeSay));
|
||||
|
||||
@@ -1758,7 +1758,7 @@ namespace Game.Achievements
|
||||
return false;
|
||||
break;
|
||||
case ModifierTreeType.PlayerNativeGender: // 98
|
||||
if (referencePlayer.GetNativeSex() != (Gender)reqValue)
|
||||
if (referencePlayer.GetNativeGender() != (Gender)reqValue)
|
||||
return false;
|
||||
break;
|
||||
case ModifierTreeType.PlayerSkillEqualOrGreaterThan: // 99
|
||||
@@ -3395,7 +3395,7 @@ namespace Game.Achievements
|
||||
return false;
|
||||
case ModifierTreeType.PlayerSpellShapeshiftFormCreatureDisplayInfoSelection: // 308
|
||||
{
|
||||
ShapeshiftFormModelData formModelData = Global.DB2Mgr.GetShapeshiftFormModelData(referencePlayer.GetRace(), referencePlayer.GetNativeSex(), (ShapeShiftForm)secondaryAsset);
|
||||
ShapeshiftFormModelData formModelData = Global.DB2Mgr.GetShapeshiftFormModelData(referencePlayer.GetRace(), referencePlayer.GetNativeGender(), (ShapeShiftForm)secondaryAsset);
|
||||
if (formModelData == null)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace Game.Chat
|
||||
{
|
||||
if (target.HasTitle(titleInfo))
|
||||
{
|
||||
string name = (target.GetGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()];
|
||||
string name = (target.GetNativeGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()];
|
||||
if (string.IsNullOrEmpty(name))
|
||||
continue;
|
||||
|
||||
|
||||
@@ -1589,7 +1589,7 @@ namespace Game.Chat
|
||||
mapId = target.GetMapId();
|
||||
areaId = target.GetAreaId();
|
||||
alive = target.IsAlive() ? handler.GetCypherString(CypherStrings.Yes) : handler.GetCypherString(CypherStrings.No);
|
||||
gender = target.GetNativeSex();
|
||||
gender = target.GetNativeGender();
|
||||
}
|
||||
// get additional information from DB
|
||||
else
|
||||
|
||||
@@ -601,7 +601,7 @@ namespace Game.Chat
|
||||
|
||||
// Set gender
|
||||
target.SetGender(gender);
|
||||
target.SetNativeSex(gender);
|
||||
target.SetNativeGender(gender);
|
||||
|
||||
// Change display ID
|
||||
target.InitDisplayIds();
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Game.Chat.Commands
|
||||
target.SetTitle(titleInfo); // to be sure that title now known
|
||||
target.SetChosenTitle(titleInfo.MaskID);
|
||||
|
||||
handler.SendSysMessage(CypherStrings.TitleCurrentRes, id, (target.GetGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()], tNameLink);
|
||||
handler.SendSysMessage(CypherStrings.TitleCurrentRes, id, (target.GetNativeGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()], tNameLink);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ namespace Game.Chat.Commands
|
||||
|
||||
string tNameLink = handler.GetNameLink(target);
|
||||
|
||||
string titleNameStr = string.Format((target.GetGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()].ConvertFormatSyntax(), target.GetName());
|
||||
string titleNameStr = string.Format((target.GetNativeGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()].ConvertFormatSyntax(), target.GetName());
|
||||
|
||||
target.SetTitle(titleInfo);
|
||||
handler.SendSysMessage(CypherStrings.TitleAddRes, id, titleNameStr, tNameLink);
|
||||
@@ -146,7 +146,7 @@ namespace Game.Chat.Commands
|
||||
|
||||
string tNameLink = handler.GetNameLink(target);
|
||||
|
||||
string titleNameStr = string.Format((target.GetGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()].ConvertFormatSyntax(), target.GetName());
|
||||
string titleNameStr = string.Format((target.GetNativeGender() == Gender.Male ? titleInfo.Name : titleInfo.Name1)[handler.GetSessionDbcLocale()].ConvertFormatSyntax(), target.GetName());
|
||||
|
||||
handler.SendSysMessage(CypherStrings.TitleRemoveRes, id, titleNameStr, tNameLink);
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace Game.Conditions
|
||||
break;
|
||||
case ConditionTypes.Gender:
|
||||
if (player != null)
|
||||
condMeets = player.GetGender() == (Gender)ConditionValue1;
|
||||
condMeets = player.GetNativeGender() == (Gender)ConditionValue1;
|
||||
break;
|
||||
case ConditionTypes.Skill:
|
||||
if (player != null)
|
||||
|
||||
@@ -1846,7 +1846,7 @@ namespace Game
|
||||
if (condition.Gender >= 0 && (int)player.GetGender() != condition.Gender)
|
||||
return false;
|
||||
|
||||
if (condition.NativeGender >= 0 && player.GetNativeSex() != (Gender)condition.NativeGender)
|
||||
if (condition.NativeGender >= 0 && player.GetNativeGender() != (Gender)condition.NativeGender)
|
||||
return false;
|
||||
|
||||
if (condition.PowerType != -1 && condition.PowerTypeComp != 0)
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace Game.DataStorage
|
||||
guildGuid = guild.GetGUID();
|
||||
|
||||
_whoListStorage.Add(new WhoListPlayerInfo(player.GetGUID(), player.GetTeam(), player.GetSession().GetSecurity(), player.GetLevel(),
|
||||
player.GetClass(), player.GetRace(), player.GetZoneId(), (byte)player.GetNativeSex(), player.IsVisible(),
|
||||
player.GetClass(), player.GetRace(), player.GetZoneId(), (byte)player.GetNativeGender(), player.IsVisible(),
|
||||
player.IsGameMaster(), playerName, guildName, guildGuid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2725,7 +2725,7 @@ namespace Game.Entities
|
||||
SetCustomizations(customizations, false);
|
||||
SetInventorySlotCount(inventorySlots);
|
||||
SetBankBagSlotCount(bankSlots);
|
||||
SetNativeSex(gender);
|
||||
SetNativeGender(gender);
|
||||
SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.Inebriation), drunk);
|
||||
SetPlayerFlags(playerFlags);
|
||||
SetPlayerFlagsEx(playerFlagsEx);
|
||||
@@ -3393,7 +3393,7 @@ namespace Game.Entities
|
||||
stmt.AddValue(index++, GetName());
|
||||
stmt.AddValue(index++, (byte)GetRace());
|
||||
stmt.AddValue(index++, (byte)GetClass());
|
||||
stmt.AddValue(index++, (byte)GetNativeSex()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||
stmt.AddValue(index++, (byte)GetNativeGender()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||
stmt.AddValue(index++, GetLevel());
|
||||
stmt.AddValue(index++, m_activePlayerData.XP);
|
||||
stmt.AddValue(index++, GetMoney());
|
||||
@@ -3517,7 +3517,7 @@ namespace Game.Entities
|
||||
stmt.AddValue(index++, GetName());
|
||||
stmt.AddValue(index++, (byte)GetRace());
|
||||
stmt.AddValue(index++, (byte)GetClass());
|
||||
stmt.AddValue(index++, (byte)GetNativeSex()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||
stmt.AddValue(index++, (byte)GetNativeGender()); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect
|
||||
stmt.AddValue(index++, GetLevel());
|
||||
stmt.AddValue(index++, m_activePlayerData.XP);
|
||||
stmt.AddValue(index++, GetMoney());
|
||||
|
||||
@@ -249,7 +249,7 @@ namespace Game.Entities
|
||||
SetCustomizations(createInfo.Customizations);
|
||||
SetRestState(RestTypes.XP, ((GetSession().IsARecruiter() || GetSession().GetRecruiterId() != 0) ? PlayerRestState.RAFLinked : PlayerRestState.NotRAFLinked));
|
||||
SetRestState(RestTypes.Honor, PlayerRestState.NotRAFLinked);
|
||||
SetNativeSex(createInfo.Sex);
|
||||
SetNativeGender(createInfo.Sex);
|
||||
SetInventorySlotCount(InventorySlots.DefaultSize);
|
||||
|
||||
// set starting level
|
||||
@@ -4453,7 +4453,7 @@ namespace Game.Entities
|
||||
flags |= CorpseFlags.FFAPvP;
|
||||
|
||||
corpse.SetRace((byte)GetRace());
|
||||
corpse.SetSex((byte)GetNativeSex());
|
||||
corpse.SetSex((byte)GetNativeGender());
|
||||
corpse.SetClass((byte)GetClass());
|
||||
corpse.SetCustomizations(m_playerData.Customizations);
|
||||
corpse.SetFlags(flags);
|
||||
@@ -5329,7 +5329,7 @@ namespace Game.Entities
|
||||
|
||||
public void InitDisplayIds()
|
||||
{
|
||||
ChrModelRecord model = Global.DB2Mgr.GetChrModel(GetRace(), GetNativeSex());
|
||||
ChrModelRecord model = Global.DB2Mgr.GetChrModel(GetRace(), GetNativeGender());
|
||||
if (model == null)
|
||||
{
|
||||
Log.outError(LogFilter.Player, $"Player {GetGUID()} has incorrect race/gender pair. Can't init display ids.");
|
||||
@@ -7380,8 +7380,8 @@ namespace Game.Entities
|
||||
}
|
||||
}
|
||||
|
||||
public Gender GetNativeSex() { return (Gender)(byte)m_playerData.NativeSex; }
|
||||
public void SetNativeSex(Gender sex) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.NativeSex), (byte)sex); }
|
||||
public Gender GetNativeGender() { return (Gender)(byte)m_playerData.NativeSex; }
|
||||
public void SetNativeGender(Gender sex) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.NativeSex), (byte)sex); }
|
||||
public void SetPvpTitle(byte pvpTitle) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.PvpTitle), pvpTitle); }
|
||||
public void SetArenaFaction(byte arenaFaction) { SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.ArenaFaction), arenaFaction); }
|
||||
public void ApplyModFakeInebriation(int mod, bool apply) { ApplyModUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.FakeInebriation), mod, apply); }
|
||||
|
||||
@@ -1203,7 +1203,7 @@ namespace Game.Entities
|
||||
}
|
||||
}
|
||||
|
||||
ShapeshiftFormModelData formModelData = Global.DB2Mgr.GetShapeshiftFormModelData(GetRace(), thisPlayer.GetNativeSex(), form);
|
||||
ShapeshiftFormModelData formModelData = Global.DB2Mgr.GetShapeshiftFormModelData(GetRace(), thisPlayer.GetNativeGender(), form);
|
||||
if (formModelData != null)
|
||||
{
|
||||
bool useRandom = false;
|
||||
@@ -1698,6 +1698,9 @@ namespace Game.Entities
|
||||
public Gender GetGender() { return (Gender)(byte)m_unitData.Sex; }
|
||||
public void SetGender(Gender sex) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Sex), (byte)sex); }
|
||||
|
||||
public virtual Gender GetNativeGender() { return GetGender(); }
|
||||
public virtual void SetNativeGender(Gender gender) { SetGender(gender); }
|
||||
|
||||
public uint GetDisplayId() { return m_unitData.DisplayID; }
|
||||
public virtual void SetDisplayId(uint modelId, float displayScale = 1f)
|
||||
{
|
||||
|
||||
@@ -2510,7 +2510,7 @@ namespace Game.Guilds
|
||||
m_name = player.GetName();
|
||||
m_level = (byte)player.GetLevel();
|
||||
m_class = player.GetClass();
|
||||
_gender = player.GetNativeSex();
|
||||
_gender = player.GetNativeGender();
|
||||
m_zoneId = player.GetZoneId();
|
||||
m_accountId = player.GetSession().GetAccountId();
|
||||
m_achievementPoints = player.GetAchievementPoints();
|
||||
|
||||
@@ -559,7 +559,7 @@ namespace Game
|
||||
{
|
||||
Log.outInfo(LogFilter.Player, "Account: {0} (IP: {1}) Create Character: {2} {3}", GetAccountId(), GetRemoteAddress(), createInfo.Name, newChar.GetGUID().ToString());
|
||||
Global.ScriptMgr.OnPlayerCreate(newChar);
|
||||
Global.CharacterCacheStorage.AddCharacterCacheEntry(newChar.GetGUID(), GetAccountId(), newChar.GetName(), (byte)newChar.GetNativeSex(), (byte)newChar.GetRace(), (byte)newChar.GetClass(), (byte)newChar.GetLevel(), false);
|
||||
Global.CharacterCacheStorage.AddCharacterCacheEntry(newChar.GetGUID(), GetAccountId(), newChar.GetName(), (byte)newChar.GetNativeGender(), (byte)newChar.GetRace(), (byte)newChar.GetClass(), (byte)newChar.GetLevel(), false);
|
||||
|
||||
SendCharCreate(ResponseCodes.CharCreateSuccess, newChar.GetGUID());
|
||||
}
|
||||
@@ -1379,9 +1379,9 @@ namespace Game
|
||||
_player.ModifyMoney(-cost);
|
||||
_player.UpdateCriteria(CriteriaType.MoneySpentAtBarberShop, (ulong)cost);
|
||||
|
||||
if (_player.GetNativeSex() != (Gender)packet.NewSex)
|
||||
if (_player.GetNativeGender() != (Gender)packet.NewSex)
|
||||
{
|
||||
_player.SetNativeSex((Gender)packet.NewSex);
|
||||
_player.SetNativeGender((Gender)packet.NewSex);
|
||||
_player.InitDisplayIds();
|
||||
_player.RestoreDisplayId(false);
|
||||
}
|
||||
|
||||
@@ -233,7 +233,7 @@ namespace Game.Networking.Packets
|
||||
GUID = player.GetGUID();
|
||||
SpecializationID = player.GetPrimarySpecialization();
|
||||
Name = player.GetName();
|
||||
GenderID = (byte)player.GetNativeSex();
|
||||
GenderID = (byte)player.GetNativeGender();
|
||||
Race = (byte)player.GetRace();
|
||||
ClassID = (byte)player.GetClass();
|
||||
|
||||
|
||||
@@ -616,7 +616,7 @@ namespace Game.Networking.Packets
|
||||
BnetAccountID = player.GetSession().GetBattlenetAccountGUID();
|
||||
Name = player.GetName();
|
||||
RaceID = player.GetRace();
|
||||
Sex = player.GetNativeSex();
|
||||
Sex = player.GetNativeGender();
|
||||
ClassID = player.GetClass();
|
||||
Level = (byte)player.GetLevel();
|
||||
|
||||
|
||||
@@ -1380,6 +1380,7 @@ namespace Game.Spells
|
||||
// special case (spell specific functionality)
|
||||
if (GetMiscValue() == 0)
|
||||
{
|
||||
bool isFemale = target.GetNativeGender() == Gender.Female;
|
||||
switch (GetId())
|
||||
{
|
||||
// Orb of Deception
|
||||
@@ -1392,43 +1393,43 @@ namespace Game.Spells
|
||||
{
|
||||
// Blood Elf
|
||||
case Race.BloodElf:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 17830 : 17829u);
|
||||
target.SetDisplayId(isFemale ? 17830 : 17829u);
|
||||
break;
|
||||
// Orc
|
||||
case Race.Orc:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10140 : 10139u);
|
||||
target.SetDisplayId(isFemale ? 10140 : 10139u);
|
||||
break;
|
||||
// Troll
|
||||
case Race.Troll:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10134 : 10135u);
|
||||
target.SetDisplayId(isFemale ? 10134 : 10135u);
|
||||
break;
|
||||
// Tauren
|
||||
case Race.Tauren:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10147 : 10136u);
|
||||
target.SetDisplayId(isFemale ? 10147 : 10136u);
|
||||
break;
|
||||
// Undead
|
||||
case Race.Undead:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10145 : 10146u);
|
||||
target.SetDisplayId(isFemale ? 10145 : 10146u);
|
||||
break;
|
||||
// Draenei
|
||||
case Race.Draenei:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 17828 : 17827u);
|
||||
target.SetDisplayId(isFemale ? 17828 : 17827u);
|
||||
break;
|
||||
// Dwarf
|
||||
case Race.Dwarf:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10142 : 10141u);
|
||||
target.SetDisplayId(isFemale ? 10142 : 10141u);
|
||||
break;
|
||||
// Gnome
|
||||
case Race.Gnome:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10149 : 10148u);
|
||||
target.SetDisplayId(isFemale ? 10149 : 10148u);
|
||||
break;
|
||||
// Human
|
||||
case Race.Human:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10138 : 10137u);
|
||||
target.SetDisplayId(isFemale ? 10138 : 10137u);
|
||||
break;
|
||||
// Night Elf
|
||||
case Race.NightElf:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 10144 : 10143u);
|
||||
target.SetDisplayId(isFemale ? 10144 : 10143u);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1451,43 +1452,43 @@ namespace Game.Spells
|
||||
{
|
||||
// Blood Elf
|
||||
case Race.BloodElf:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25043 : 25032u);
|
||||
target.SetDisplayId(isFemale ? 25043 : 25032u);
|
||||
break;
|
||||
// Orc
|
||||
case Race.Orc:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25050 : 25039u);
|
||||
target.SetDisplayId(isFemale ? 25050 : 25039u);
|
||||
break;
|
||||
// Troll
|
||||
case Race.Troll:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25052 : 25041u);
|
||||
target.SetDisplayId(isFemale ? 25052 : 25041u);
|
||||
break;
|
||||
// Tauren
|
||||
case Race.Tauren:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25051 : 25040u);
|
||||
target.SetDisplayId(isFemale ? 25051 : 25040u);
|
||||
break;
|
||||
// Undead
|
||||
case Race.Undead:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25053 : 25042u);
|
||||
target.SetDisplayId(isFemale ? 25053 : 25042u);
|
||||
break;
|
||||
// Draenei
|
||||
case Race.Draenei:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25044 : 25033u);
|
||||
target.SetDisplayId(isFemale ? 25044 : 25033u);
|
||||
break;
|
||||
// Dwarf
|
||||
case Race.Dwarf:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25045 : 25034u);
|
||||
target.SetDisplayId(isFemale ? 25045 : 25034u);
|
||||
break;
|
||||
// Gnome
|
||||
case Race.Gnome:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25035 : 25046u);
|
||||
target.SetDisplayId(isFemale ? 25035 : 25046u);
|
||||
break;
|
||||
// Human
|
||||
case Race.Human:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25037 : 25048u);
|
||||
target.SetDisplayId(isFemale ? 25037 : 25048u);
|
||||
break;
|
||||
// Night Elf
|
||||
case Race.NightElf:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Female ? 25038 : 25049u);
|
||||
target.SetDisplayId(isFemale ? 25038 : 25049u);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1501,15 +1502,15 @@ namespace Game.Spells
|
||||
// Honor the Dead
|
||||
case 65386:
|
||||
case 65495:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Male ? 29203 : 29204u);
|
||||
target.SetDisplayId(isFemale ? 29204 : 29203u);
|
||||
break;
|
||||
// Darkspear Pride
|
||||
case 75532:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Male ? 31737 : 31738u);
|
||||
target.SetDisplayId(isFemale ? 31738 : 31737u);
|
||||
break;
|
||||
// Gnomeregan Pride
|
||||
case 75531:
|
||||
target.SetDisplayId(target.GetGender() == Gender.Male ? 31654 : 31655u);
|
||||
target.SetDisplayId(isFemale ? 31655 : 31654u);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -3270,7 +3270,8 @@ namespace Game.Entities
|
||||
58121, // Torch
|
||||
43109, // Throw Torch
|
||||
58552, // Return to Orgrimmar
|
||||
58533 // Return to Stormwind
|
||||
58533, // Return to Stormwind
|
||||
21855 // Challenge Flag
|
||||
}, spellInfo =>
|
||||
{
|
||||
spellInfo.MaxAffectedTargets = 1;
|
||||
@@ -4860,7 +4861,7 @@ namespace Game.Entities
|
||||
public bool IsFitToRequirements(Player player, uint newZone, uint newArea)
|
||||
{
|
||||
if (gender != Gender.None) // not in expected gender
|
||||
if (player == null || gender != player.GetGender())
|
||||
if (player == null || gender != player.GetNativeGender())
|
||||
return false;
|
||||
|
||||
if (raceMask != 0) // not in expected race
|
||||
|
||||
@@ -758,7 +758,7 @@ namespace Scripts.Spells.Generic
|
||||
Unit target = GetTarget();
|
||||
if (target.IsTypeId(TypeId.Player))
|
||||
{
|
||||
if (target.GetGender() == Gender.Male)
|
||||
if (target.GetNativeGender() == Gender.Male)
|
||||
target.SetDisplayId(ModelIds.GoblinMale);
|
||||
else
|
||||
target.SetDisplayId(ModelIds.GoblinFemale);
|
||||
@@ -1348,7 +1348,7 @@ namespace Scripts.Spells.Generic
|
||||
Player player = GetHitPlayer();
|
||||
if (player)
|
||||
{
|
||||
Gender gender = player.GetGender();
|
||||
Gender gender = player.GetNativeGender();
|
||||
|
||||
uint spellId = GetSpellInfo().Id;
|
||||
switch (spellId)
|
||||
@@ -2240,7 +2240,7 @@ namespace Scripts.Spells.Generic
|
||||
Player target = GetHitPlayer();
|
||||
if (target)
|
||||
{
|
||||
Gender gender = target.GetGender();
|
||||
Gender gender = target.GetNativeGender();
|
||||
if (gender == Gender.Male)
|
||||
caster.CastSpell(target, SpellIds.OrcDisguiseMale, true);
|
||||
else
|
||||
|
||||
@@ -233,7 +233,7 @@ namespace Scripts.Spells.Holiday
|
||||
Player target = GetHitPlayer();
|
||||
if (target)
|
||||
{
|
||||
Gender gender = target.GetGender();
|
||||
Gender gender = target.GetNativeGender();
|
||||
uint spellId = SpellIds.TrickBuff;
|
||||
switch (RandomHelper.URand(0, 5))
|
||||
{
|
||||
@@ -327,7 +327,7 @@ namespace Scripts.Spells.Holiday
|
||||
Unit target = GetHitUnit();
|
||||
|
||||
uint spellId;
|
||||
bool female = target.GetGender() == Gender.Female;
|
||||
bool female = target.GetNativeGender() == Gender.Female;
|
||||
|
||||
switch (GetSpellInfo().Id)
|
||||
{
|
||||
|
||||
@@ -1739,9 +1739,9 @@ namespace Scripts.Spells.Items
|
||||
switch (RandomHelper.URand(1, 2))
|
||||
{
|
||||
// Flip Out - ninja
|
||||
case 1: spellId = (caster.GetGender() == Gender.Male ? SpellIds.FlipOutMale : SpellIds.FlipOutFemale); break;
|
||||
case 1: spellId = (caster.GetNativeGender() == Gender.Male ? SpellIds.FlipOutMale : SpellIds.FlipOutFemale); break;
|
||||
// Yaaarrrr - pirate
|
||||
case 2: spellId = (caster.GetGender() == Gender.Male ? SpellIds.YaaarrrrMale : SpellIds.YaaarrrrFemale); break;
|
||||
case 2: spellId = (caster.GetNativeGender() == Gender.Male ? SpellIds.YaaarrrrMale : SpellIds.YaaarrrrFemale); break;
|
||||
}
|
||||
caster.CastSpell(caster, spellId, true);
|
||||
}
|
||||
@@ -3186,7 +3186,7 @@ namespace Scripts.Spells.Items
|
||||
if (target)
|
||||
{
|
||||
target.HandleEmoteCommand(Emote.OneshotTrain);
|
||||
EmotesTextSoundRecord soundEntry = Global.DB2Mgr.GetTextSoundEmoteFor((uint)TextEmotes.Train, target.GetRace(), target.GetGender(), target.GetClass());
|
||||
EmotesTextSoundRecord soundEntry = Global.DB2Mgr.GetTextSoundEmoteFor((uint)TextEmotes.Train, target.GetRace(), target.GetNativeGender(), target.GetClass());
|
||||
if (soundEntry != null)
|
||||
target.PlayDistanceSound(soundEntry.SoundId);
|
||||
}
|
||||
|
||||
@@ -820,7 +820,7 @@ namespace Scripts.Spells.Quest
|
||||
Player target = GetHitPlayer();
|
||||
if (target)
|
||||
{
|
||||
target.CastSpell(target, target.GetGender() == Gender.Male ? SpellIds.MaleDisguise : SpellIds.FemaleDisguise, true);
|
||||
target.CastSpell(target, target.GetNativeGender() == Gender.Male ? SpellIds.MaleDisguise : SpellIds.FemaleDisguise, true);
|
||||
target.CastSpell(target, SpellIds.GenericDisguise, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -914,7 +914,7 @@ namespace Scripts.World.GameObjects
|
||||
Creature target = ScriptedAI.GetClosestCreatureWithEntry(player, CreatureIds.OuthouseBunny, 3.0f);
|
||||
if (target)
|
||||
{
|
||||
target.GetAI().SetData(1, (uint)player.GetGender());
|
||||
target.GetAI().SetData(1, (uint)player.GetNativeGender());
|
||||
me.CastSpell(target, SpellIds.IndisposedIii);
|
||||
}
|
||||
me.CastSpell(player, SpellIds.Indisposed);
|
||||
|
||||
Reference in New Issue
Block a user