Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender

Port From (https://github.com/TrinityCore/TrinityCore/commit/27886c7f5d6cfc221ea67aab210f96859d725e05)
This commit is contained in:
hondacrx
2021-12-26 19:51:26 -05:00
parent 39dd51370f
commit 6d73a59f63
23 changed files with 69 additions and 64 deletions
@@ -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));
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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
+1 -1
View File
@@ -601,7 +601,7 @@ namespace Game.Chat
// Set gender
target.SetGender(gender);
target.SetNativeSex(gender);
target.SetNativeGender(gender);
// Change display ID
target.InitDisplayIds();
+3 -3
View File
@@ -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);
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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));
}
}
+3 -3
View File
@@ -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());
+5 -5
View File
@@ -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); }
+4 -1
View File
@@ -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)
{
+1 -1
View File
@@ -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();
+3 -3
View File
@@ -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();
+24 -23
View File
@@ -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;
+3 -2
View File
@@ -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
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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)
{
+3 -3
View File
@@ -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);
}
+1 -1
View File
@@ -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);
}
}
+1 -1
View File
@@ -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);