Misc Fixes
This commit is contained in:
@@ -127,7 +127,7 @@ namespace BNetServer
|
||||
}
|
||||
}
|
||||
|
||||
return new AccountInfo();
|
||||
return null;
|
||||
}
|
||||
|
||||
public void CleanupLoginTickets(object state)
|
||||
|
||||
@@ -236,7 +236,6 @@ namespace Framework.Constants
|
||||
MaskDemonOrUnDead = (1 << (Demon - 1)) | (1 << (Undead - 1)),
|
||||
MaskHumanoidOrUndead = (1 << (Humanoid - 1)) | (1 << (Undead - 1)),
|
||||
MaskMechanicalOrElemental = (1 << (Mechanical - 1)) | (1 << (Elemental - 1))
|
||||
|
||||
}
|
||||
|
||||
public enum CreatureFamily
|
||||
|
||||
@@ -969,7 +969,7 @@ namespace Game.Achievements
|
||||
guildCriteriaProgress.PlayerGUID = progress.PlayerGUID;
|
||||
guildCriteriaProgress.Flags = 0;
|
||||
|
||||
guildCriteriaUpdate.Progress[0] = guildCriteriaProgress;
|
||||
guildCriteriaUpdate.Progress.Add(guildCriteriaProgress);
|
||||
|
||||
_owner.BroadcastPacketIfTrackingAchievement(guildCriteriaUpdate, entry.ID);
|
||||
}
|
||||
|
||||
@@ -30,8 +30,10 @@ namespace Game.Arenas
|
||||
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)
|
||||
playerData.PreMatchRating.Set(PreMatchRating);
|
||||
|
||||
|
||||
@@ -522,7 +522,7 @@ namespace Game.DataStorage
|
||||
|
||||
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)
|
||||
if (charSection.Type == type && charSection.Color == color)
|
||||
return charSection;
|
||||
|
||||
@@ -481,7 +481,6 @@ namespace Game.Entities
|
||||
return TotalCost;
|
||||
}
|
||||
|
||||
|
||||
//Store Item
|
||||
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;
|
||||
|
||||
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.BuyBackTimestamp1 + eslot, 0);
|
||||
|
||||
@@ -5635,7 +5634,7 @@ namespace Game.Entities
|
||||
pItem.DestroyForPlayer(this);
|
||||
}
|
||||
|
||||
pItem.SetOwnerGUID(ObjectGuid.Empty);
|
||||
//pItem.SetOwnerGUID(ObjectGuid.Empty);
|
||||
pItem.SetGuidValue(ItemFields.Contained, ObjectGuid.Empty);
|
||||
pItem.SetSlot(ItemConst.NullSlot);
|
||||
pItem.SetState(ItemUpdateState.Removed, this);
|
||||
|
||||
@@ -4116,12 +4116,9 @@ namespace Game.Entities
|
||||
if (!IsSectionFlagValid(hair, class_, create))
|
||||
return false;
|
||||
|
||||
if (facialHairId != 0)
|
||||
{
|
||||
CharSectionsRecord facialHair = Global.DB2Mgr.GetCharSectionEntry(race, CharSectionType.FacialHair, gender, facialHairId, hairColor);
|
||||
if (facialHair == null)
|
||||
return false;
|
||||
}
|
||||
CharSectionsRecord facialHair = Global.DB2Mgr.GetCharSectionEntry(race, CharSectionType.Hair, gender, facialHairId, hairColor);
|
||||
if (facialHair == null)
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < PlayerConst.CustomDisplaySize; ++i)
|
||||
{
|
||||
@@ -5903,9 +5900,6 @@ namespace Game.Entities
|
||||
return reputationMgr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#region Sends / Updates
|
||||
void BeforeVisibilityDestroy(WorldObject obj, Player p)
|
||||
{
|
||||
|
||||
@@ -948,9 +948,9 @@ namespace Game.Guilds
|
||||
|
||||
public void SendNewsUpdate(WorldSession session)
|
||||
{
|
||||
var logs = m_eventLog.GetGuildLog();
|
||||
var logs = m_newsLog.GetGuildLog();
|
||||
|
||||
if (logs == null)
|
||||
if (logs.Empty())
|
||||
return;
|
||||
|
||||
GuildNewsPkt packet = new GuildNewsPkt();
|
||||
@@ -3026,6 +3026,7 @@ namespace Game.Guilds
|
||||
stmt.AddValue(1, m_rankId);
|
||||
stmt.AddValue(2, m_name);
|
||||
stmt.AddValue(3, m_rights);
|
||||
stmt.AddValue(4, m_bankMoneyPerDay);
|
||||
DB.Characters.ExecuteOrAppend(trans, stmt);
|
||||
}
|
||||
|
||||
|
||||
@@ -626,14 +626,14 @@ namespace Game
|
||||
|
||||
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
|
||||
if (unit)
|
||||
{
|
||||
Creature creature = unit.ToCreature();
|
||||
if (creature)
|
||||
creature.GetAI().ReceiveEmote(GetPlayer(), (TextEmotes)packet.SoundIndex);
|
||||
creature.GetAI().ReceiveEmote(GetPlayer(), (TextEmotes)packet.EmoteID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +151,9 @@ namespace Game
|
||||
if (guild.GetLeaderGUID() == player.GetGUID())
|
||||
{
|
||||
LFGuildSettings settings = Global.GuildFinderMgr.GetGuildSettings(guild.GetGUID());
|
||||
if (settings == null)
|
||||
return;
|
||||
|
||||
lfGuildPost.Post.HasValue = true;
|
||||
lfGuildPost.Post.Value.Active = settings.IsListed();
|
||||
lfGuildPost.Post.Value.PlayStyle = settings.GetInterests();
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace Game.Network.Packets
|
||||
}
|
||||
|
||||
public ObjectGuid GuildGUID;
|
||||
public GuildInfo Info;
|
||||
public GuildInfo Info = new GuildInfo();
|
||||
public bool HasGuildInfo;
|
||||
|
||||
public class GuildInfo
|
||||
@@ -453,7 +453,7 @@ namespace Game.Network.Packets
|
||||
public string NewLeaderName;
|
||||
public uint NewLeaderVirtualRealmAddress;
|
||||
public ObjectGuid OldLeaderGUID;
|
||||
public string OldLeaderName;
|
||||
public string OldLeaderName = "";
|
||||
public uint OldLeaderVirtualRealmAddress;
|
||||
public bool SelfPromoted;
|
||||
}
|
||||
@@ -587,11 +587,11 @@ namespace Game.Network.Packets
|
||||
|
||||
public override void Read()
|
||||
{
|
||||
_worldPacket.WriteBits(Name.Length, 7);
|
||||
_worldPacket.FlushBits();
|
||||
uint nameLen = _worldPacket.ReadBits<uint>(7);
|
||||
_worldPacket.ResetBitPos();
|
||||
|
||||
RankOrder = _worldPacket.ReadInt32();
|
||||
_worldPacket.WriteString(Name);
|
||||
Name = _worldPacket.ReadString(nameLen);
|
||||
}
|
||||
|
||||
public string Name;
|
||||
@@ -874,10 +874,11 @@ namespace Game.Network.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket .WriteUInt32( Version);
|
||||
_worldPacket.WriteUInt32(Version);
|
||||
_worldPacket.WriteUInt32(RewardItems.Count);
|
||||
|
||||
RewardItems.ForEach(p => p.Write(_worldPacket));
|
||||
foreach (var item in RewardItems)
|
||||
item.Write(_worldPacket);
|
||||
}
|
||||
|
||||
public List<GuildRewardItem> RewardItems;
|
||||
@@ -1468,9 +1469,10 @@ namespace Game.Network.Packets
|
||||
data.WriteUInt32(RaceMask);
|
||||
data.WriteUInt32(MinGuildLevel);
|
||||
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;
|
||||
|
||||
@@ -1138,15 +1138,20 @@ namespace Game.Network.Packets
|
||||
}
|
||||
}
|
||||
|
||||
public long Health;
|
||||
public int AttackPower;
|
||||
public int SpellPower;
|
||||
long Health;
|
||||
int AttackPower;
|
||||
int SpellPower;
|
||||
List<SpellLogPowerData> PowerData = new List<SpellLogPowerData>();
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
@@ -1162,7 +1167,7 @@ namespace Game.Network.Packets
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool GenerateDataForUnits(Player attacker, Creature target)
|
||||
bool GenerateDataPlayerToCreature(Player attacker, Creature target)
|
||||
{
|
||||
CreatureTemplate creatureTemplate = target.GetCreatureTemplate();
|
||||
|
||||
@@ -1178,7 +1183,7 @@ namespace Game.Network.Packets
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool GenerateDataForUnits(Creature attacker, Creature target)
|
||||
bool GenerateDataCreatureToCreature(Creature attacker, Creature target)
|
||||
{
|
||||
CreatureTemplate creatureTemplate = target.HasScalableLevels() ? target.GetCreatureTemplate() : attacker.GetCreatureTemplate();
|
||||
|
||||
@@ -1203,11 +1208,11 @@ namespace Game.Network.Packets
|
||||
Player playerTarget = target.ToPlayer();
|
||||
Creature creatureTarget = target.ToCreature();
|
||||
if (playerTarget)
|
||||
return GenerateDataForUnits(playerAttacker, playerTarget);
|
||||
return GenerateDataPlayerToPlayer(playerAttacker, playerTarget);
|
||||
else if (creatureTarget)
|
||||
{
|
||||
if (creatureTarget.HasScalableLevels())
|
||||
return GenerateDataForUnits(playerAttacker, creatureTarget);
|
||||
return GenerateDataPlayerToCreature(playerAttacker, creatureTarget);
|
||||
}
|
||||
}
|
||||
else if (creatureAttacker)
|
||||
@@ -1215,11 +1220,14 @@ namespace Game.Network.Packets
|
||||
Player playerTarget = target.ToPlayer();
|
||||
Creature creatureTarget = target.ToCreature();
|
||||
if (playerTarget)
|
||||
return GenerateDataForUnits(creatureAttacker, playerTarget);
|
||||
{
|
||||
if (creatureAttacker.HasScalableLevels())
|
||||
return GenerateDataCreatureToPlayer(creatureAttacker, playerTarget);
|
||||
}
|
||||
else if (creatureTarget)
|
||||
{
|
||||
if (creatureAttacker.HasScalableLevels() || creatureTarget.HasScalableLevels())
|
||||
return GenerateDataForUnits(creatureAttacker, creatureTarget);
|
||||
return GenerateDataCreatureToCreature(creatureAttacker, creatureTarget);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -160,10 +160,9 @@ namespace Game
|
||||
// some save parts only correctly work in case player present in map/player_lists (pets, etc)
|
||||
if (save)
|
||||
{
|
||||
int eslot;
|
||||
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.SetUInt32Value(PlayerFields.BuyBackPrice1 + eslot, 0);
|
||||
_player.SetUInt32Value(PlayerFields.BuyBackTimestamp1 + eslot, 0);
|
||||
|
||||
Reference in New Issue
Block a user