Misc Fixes

This commit is contained in:
hondacrx
2017-08-07 16:15:20 -04:00
parent 473cea0f06
commit b494d51816
13 changed files with 49 additions and 42 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ namespace BNetServer
} }
} }
return new AccountInfo(); return null;
} }
public void CleanupLoginTickets(object state) public void CleanupLoginTickets(object state)
-1
View File
@@ -236,7 +236,6 @@ namespace Framework.Constants
MaskDemonOrUnDead = (1 << (Demon - 1)) | (1 << (Undead - 1)), MaskDemonOrUnDead = (1 << (Demon - 1)) | (1 << (Undead - 1)),
MaskHumanoidOrUndead = (1 << (Humanoid - 1)) | (1 << (Undead - 1)), MaskHumanoidOrUndead = (1 << (Humanoid - 1)) | (1 << (Undead - 1)),
MaskMechanicalOrElemental = (1 << (Mechanical - 1)) | (1 << (Elemental - 1)) MaskMechanicalOrElemental = (1 << (Mechanical - 1)) | (1 << (Elemental - 1))
} }
public enum CreatureFamily public enum CreatureFamily
+1 -1
View File
@@ -969,7 +969,7 @@ namespace Game.Achievements
guildCriteriaProgress.PlayerGUID = progress.PlayerGUID; guildCriteriaProgress.PlayerGUID = progress.PlayerGUID;
guildCriteriaProgress.Flags = 0; guildCriteriaProgress.Flags = 0;
guildCriteriaUpdate.Progress[0] = guildCriteriaProgress; guildCriteriaUpdate.Progress.Add(guildCriteriaProgress);
_owner.BroadcastPacketIfTrackingAchievement(guildCriteriaUpdate, entry.ID); _owner.BroadcastPacketIfTrackingAchievement(guildCriteriaUpdate, entry.ID);
} }
+3 -1
View File
@@ -30,8 +30,10 @@ namespace Game.Arenas
TeamId = (int)(team == Team.Alliance ? BattlegroundTeamId.Alliance : BattlegroundTeamId.Horde); TeamId = (int)(team == Team.Alliance ? BattlegroundTeamId.Alliance : BattlegroundTeamId.Horde);
} }
void BuildPvPLogPlayerDataPacket(PVPLogData.PlayerData playerData) public override void BuildPvPLogPlayerDataPacket(out PVPLogData.PlayerData playerData)
{ {
base.BuildPvPLogPlayerDataPacket(out playerData);
if (PreMatchRating != 0) if (PreMatchRating != 0)
playerData.PreMatchRating.Set(PreMatchRating); playerData.PreMatchRating.Set(PreMatchRating);
+1 -1
View File
@@ -522,7 +522,7 @@ namespace Game.DataStorage
public CharSectionsRecord GetCharSectionEntry(Race race, CharSectionType genType, Gender gender, byte type, byte color) public CharSectionsRecord GetCharSectionEntry(Race race, CharSectionType genType, Gender gender, byte type, byte color)
{ {
var list = _charSections.LookupByKey((uint)genType | (uint)((int)gender << 8) | (uint)((int)race << 16)); var list = _charSections.LookupByKey((byte)genType | ((byte)gender << 8) | ((byte)race << 16));
foreach (var charSection in list) foreach (var charSection in list)
if (charSection.Type == type && charSection.Color == color) if (charSection.Type == type && charSection.Color == color)
return charSection; return charSection;
+2 -3
View File
@@ -481,7 +481,6 @@ namespace Game.Entities
return TotalCost; return TotalCost;
} }
//Store Item //Store Item
public InventoryResult CanStoreItem(byte bag, byte slot, List<ItemPosCount> dest, Item pItem, bool swap = false) public InventoryResult CanStoreItem(byte bag, byte slot, List<ItemPosCount> dest, Item pItem, bool swap = false)
{ {
@@ -3844,7 +3843,7 @@ namespace Game.Entities
m_items[slot] = null; m_items[slot] = null;
int eslot = (int)slot - InventorySlots.BuyBackStart; int eslot = (int)slot - InventorySlots.BuyBackStart;
SetGuidValue(PlayerFields.InvSlotHead + (eslot * 4), ObjectGuid.Empty); SetGuidValue(PlayerFields.InvSlotHead + (int)(slot * 4), ObjectGuid.Empty);
SetUInt32Value(PlayerFields.BuyBackPrice1 + eslot, 0); SetUInt32Value(PlayerFields.BuyBackPrice1 + eslot, 0);
SetUInt32Value(PlayerFields.BuyBackTimestamp1 + eslot, 0); SetUInt32Value(PlayerFields.BuyBackTimestamp1 + eslot, 0);
@@ -5635,7 +5634,7 @@ namespace Game.Entities
pItem.DestroyForPlayer(this); pItem.DestroyForPlayer(this);
} }
pItem.SetOwnerGUID(ObjectGuid.Empty); //pItem.SetOwnerGUID(ObjectGuid.Empty);
pItem.SetGuidValue(ItemFields.Contained, ObjectGuid.Empty); pItem.SetGuidValue(ItemFields.Contained, ObjectGuid.Empty);
pItem.SetSlot(ItemConst.NullSlot); pItem.SetSlot(ItemConst.NullSlot);
pItem.SetState(ItemUpdateState.Removed, this); pItem.SetState(ItemUpdateState.Removed, this);
+1 -7
View File
@@ -4116,12 +4116,9 @@ namespace Game.Entities
if (!IsSectionFlagValid(hair, class_, create)) if (!IsSectionFlagValid(hair, class_, create))
return false; return false;
if (facialHairId != 0) CharSectionsRecord facialHair = Global.DB2Mgr.GetCharSectionEntry(race, CharSectionType.Hair, gender, facialHairId, hairColor);
{
CharSectionsRecord facialHair = Global.DB2Mgr.GetCharSectionEntry(race, CharSectionType.FacialHair, gender, facialHairId, hairColor);
if (facialHair == null) if (facialHair == null)
return false; return false;
}
for (int i = 0; i < PlayerConst.CustomDisplaySize; ++i) for (int i = 0; i < PlayerConst.CustomDisplaySize; ++i)
{ {
@@ -5903,9 +5900,6 @@ namespace Game.Entities
return reputationMgr; return reputationMgr;
} }
#region Sends / Updates #region Sends / Updates
void BeforeVisibilityDestroy(WorldObject obj, Player p) void BeforeVisibilityDestroy(WorldObject obj, Player p)
{ {
+3 -2
View File
@@ -948,9 +948,9 @@ namespace Game.Guilds
public void SendNewsUpdate(WorldSession session) public void SendNewsUpdate(WorldSession session)
{ {
var logs = m_eventLog.GetGuildLog(); var logs = m_newsLog.GetGuildLog();
if (logs == null) if (logs.Empty())
return; return;
GuildNewsPkt packet = new GuildNewsPkt(); GuildNewsPkt packet = new GuildNewsPkt();
@@ -3026,6 +3026,7 @@ namespace Game.Guilds
stmt.AddValue(1, m_rankId); stmt.AddValue(1, m_rankId);
stmt.AddValue(2, m_name); stmt.AddValue(2, m_name);
stmt.AddValue(3, m_rights); stmt.AddValue(3, m_rights);
stmt.AddValue(4, m_bankMoneyPerDay);
DB.Characters.ExecuteOrAppend(trans, stmt); DB.Characters.ExecuteOrAppend(trans, stmt);
} }
+2 -2
View File
@@ -626,14 +626,14 @@ namespace Game
Unit unit = Global.ObjAccessor.GetUnit(GetPlayer(), packet.Target); Unit unit = Global.ObjAccessor.GetUnit(GetPlayer(), packet.Target);
GetPlayer().UpdateCriteria(CriteriaTypes.DoEmote, (uint)packet.SoundIndex, 0, 0, unit); GetPlayer().UpdateCriteria(CriteriaTypes.DoEmote, (uint)packet.EmoteID, 0, 0, unit);
// Send scripted event call // Send scripted event call
if (unit) if (unit)
{ {
Creature creature = unit.ToCreature(); Creature creature = unit.ToCreature();
if (creature) if (creature)
creature.GetAI().ReceiveEmote(GetPlayer(), (TextEmotes)packet.SoundIndex); creature.GetAI().ReceiveEmote(GetPlayer(), (TextEmotes)packet.EmoteID);
} }
} }
+3
View File
@@ -151,6 +151,9 @@ namespace Game
if (guild.GetLeaderGUID() == player.GetGUID()) if (guild.GetLeaderGUID() == player.GetGUID())
{ {
LFGuildSettings settings = Global.GuildFinderMgr.GetGuildSettings(guild.GetGUID()); LFGuildSettings settings = Global.GuildFinderMgr.GetGuildSettings(guild.GetGUID());
if (settings == null)
return;
lfGuildPost.Post.HasValue = true; lfGuildPost.Post.HasValue = true;
lfGuildPost.Post.Value.Active = settings.IsListed(); lfGuildPost.Post.Value.Active = settings.IsListed();
lfGuildPost.Post.Value.PlayStyle = settings.GetInterests(); lfGuildPost.Post.Value.PlayStyle = settings.GetInterests();
+11 -9
View File
@@ -74,7 +74,7 @@ namespace Game.Network.Packets
} }
public ObjectGuid GuildGUID; public ObjectGuid GuildGUID;
public GuildInfo Info; public GuildInfo Info = new GuildInfo();
public bool HasGuildInfo; public bool HasGuildInfo;
public class GuildInfo public class GuildInfo
@@ -453,7 +453,7 @@ namespace Game.Network.Packets
public string NewLeaderName; public string NewLeaderName;
public uint NewLeaderVirtualRealmAddress; public uint NewLeaderVirtualRealmAddress;
public ObjectGuid OldLeaderGUID; public ObjectGuid OldLeaderGUID;
public string OldLeaderName; public string OldLeaderName = "";
public uint OldLeaderVirtualRealmAddress; public uint OldLeaderVirtualRealmAddress;
public bool SelfPromoted; public bool SelfPromoted;
} }
@@ -587,11 +587,11 @@ namespace Game.Network.Packets
public override void Read() public override void Read()
{ {
_worldPacket.WriteBits(Name.Length, 7); uint nameLen = _worldPacket.ReadBits<uint>(7);
_worldPacket.FlushBits(); _worldPacket.ResetBitPos();
RankOrder = _worldPacket.ReadInt32(); RankOrder = _worldPacket.ReadInt32();
_worldPacket.WriteString(Name); Name = _worldPacket.ReadString(nameLen);
} }
public string Name; public string Name;
@@ -874,10 +874,11 @@ namespace Game.Network.Packets
public override void Write() public override void Write()
{ {
_worldPacket .WriteUInt32( Version); _worldPacket.WriteUInt32(Version);
_worldPacket.WriteUInt32(RewardItems.Count); _worldPacket.WriteUInt32(RewardItems.Count);
RewardItems.ForEach(p => p.Write(_worldPacket)); foreach (var item in RewardItems)
item.Write(_worldPacket);
} }
public List<GuildRewardItem> RewardItems; public List<GuildRewardItem> RewardItems;
@@ -1468,9 +1469,10 @@ namespace Game.Network.Packets
data.WriteUInt32(RaceMask); data.WriteUInt32(RaceMask);
data.WriteUInt32(MinGuildLevel); data.WriteUInt32(MinGuildLevel);
data.WriteUInt32(MinGuildRep); data.WriteUInt32(MinGuildRep);
data.WriteUInt32(Cost); data.WriteUInt64(Cost);
AchievementsRequired.ForEach(p => data.WriteUInt32(p)); foreach (var achievementId in AchievementsRequired)
data.WriteUInt32(achievementId);
} }
public uint ItemID; public uint ItemID;
+18 -10
View File
@@ -1138,15 +1138,20 @@ namespace Game.Network.Packets
} }
} }
public long Health; long Health;
public int AttackPower; int AttackPower;
public int SpellPower; int SpellPower;
List<SpellLogPowerData> PowerData = new List<SpellLogPowerData>(); List<SpellLogPowerData> PowerData = new List<SpellLogPowerData>();
} }
class SandboxScalingData class SandboxScalingData
{ {
public bool GenerateDataForUnits(Creature attacker, Player target) bool GenerateDataPlayerToPlayer(Player attacker, Player target)
{
return false;
}
bool GenerateDataCreatureToPlayer(Creature attacker, Player target)
{ {
CreatureTemplate creatureTemplate = attacker.GetCreatureTemplate(); CreatureTemplate creatureTemplate = attacker.GetCreatureTemplate();
@@ -1162,7 +1167,7 @@ namespace Game.Network.Packets
return true; return true;
} }
public bool GenerateDataForUnits(Player attacker, Creature target) bool GenerateDataPlayerToCreature(Player attacker, Creature target)
{ {
CreatureTemplate creatureTemplate = target.GetCreatureTemplate(); CreatureTemplate creatureTemplate = target.GetCreatureTemplate();
@@ -1178,7 +1183,7 @@ namespace Game.Network.Packets
return true; return true;
} }
public bool GenerateDataForUnits(Creature attacker, Creature target) bool GenerateDataCreatureToCreature(Creature attacker, Creature target)
{ {
CreatureTemplate creatureTemplate = target.HasScalableLevels() ? target.GetCreatureTemplate() : attacker.GetCreatureTemplate(); CreatureTemplate creatureTemplate = target.HasScalableLevels() ? target.GetCreatureTemplate() : attacker.GetCreatureTemplate();
@@ -1203,11 +1208,11 @@ namespace Game.Network.Packets
Player playerTarget = target.ToPlayer(); Player playerTarget = target.ToPlayer();
Creature creatureTarget = target.ToCreature(); Creature creatureTarget = target.ToCreature();
if (playerTarget) if (playerTarget)
return GenerateDataForUnits(playerAttacker, playerTarget); return GenerateDataPlayerToPlayer(playerAttacker, playerTarget);
else if (creatureTarget) else if (creatureTarget)
{ {
if (creatureTarget.HasScalableLevels()) if (creatureTarget.HasScalableLevels())
return GenerateDataForUnits(playerAttacker, creatureTarget); return GenerateDataPlayerToCreature(playerAttacker, creatureTarget);
} }
} }
else if (creatureAttacker) else if (creatureAttacker)
@@ -1215,11 +1220,14 @@ namespace Game.Network.Packets
Player playerTarget = target.ToPlayer(); Player playerTarget = target.ToPlayer();
Creature creatureTarget = target.ToCreature(); Creature creatureTarget = target.ToCreature();
if (playerTarget) if (playerTarget)
return GenerateDataForUnits(creatureAttacker, playerTarget); {
if (creatureAttacker.HasScalableLevels())
return GenerateDataCreatureToPlayer(creatureAttacker, playerTarget);
}
else if (creatureTarget) else if (creatureTarget)
{ {
if (creatureAttacker.HasScalableLevels() || creatureTarget.HasScalableLevels()) if (creatureAttacker.HasScalableLevels() || creatureTarget.HasScalableLevels())
return GenerateDataForUnits(creatureAttacker, creatureTarget); return GenerateDataCreatureToCreature(creatureAttacker, creatureTarget);
} }
} }
+1 -2
View File
@@ -160,10 +160,9 @@ namespace Game
// some save parts only correctly work in case player present in map/player_lists (pets, etc) // some save parts only correctly work in case player present in map/player_lists (pets, etc)
if (save) if (save)
{ {
int eslot;
for (int j = InventorySlots.BuyBackStart; j < InventorySlots.BuyBackEnd; ++j) for (int j = InventorySlots.BuyBackStart; j < InventorySlots.BuyBackEnd; ++j)
{ {
eslot = j - InventorySlots.BuyBackStart; int eslot = j - InventorySlots.BuyBackStart;
_player.SetGuidValue(PlayerFields.InvSlotHead + (j * 4), ObjectGuid.Empty); _player.SetGuidValue(PlayerFields.InvSlotHead + (j * 4), ObjectGuid.Empty);
_player.SetUInt32Value(PlayerFields.BuyBackPrice1 + eslot, 0); _player.SetUInt32Value(PlayerFields.BuyBackPrice1 + eslot, 0);
_player.SetUInt32Value(PlayerFields.BuyBackTimestamp1 + eslot, 0); _player.SetUInt32Value(PlayerFields.BuyBackTimestamp1 + eslot, 0);