Some cleanups. (might break build for scripts as they are a WIP)

This commit is contained in:
hondacrx
2023-10-08 10:35:31 -04:00
parent fa10b981bd
commit cda53c8e7f
208 changed files with 2266 additions and 2329 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ namespace Game.AI
else if (creature.IsCritter() && !creature.HasUnitTypeMask(UnitTypeMask.Guardian)) else if (creature.IsCritter() && !creature.HasUnitTypeMask(UnitTypeMask.Guardian))
return new CritterAI(creature); return new CritterAI(creature);
if (!creature.IsCivilian() && !creature.IsNeutralToAll()) if (creature.IsCivilian() && !creature.IsNeutralToAll())
return new AggressorAI(creature); return new AggressorAI(creature);
if (creature.IsCivilian() || creature.IsNeutralToAll()) if (creature.IsCivilian() || creature.IsNeutralToAll())
+3 -3
View File
@@ -331,15 +331,15 @@ namespace Game.AI
if (_conditionsTimer <= diff) if (_conditionsTimer <= diff)
{ {
Vehicle vehicleKit = me.GetVehicleKit(); Vehicle vehicleKit = me.GetVehicleKit();
if (vehicleKit) if (vehicleKit != null)
{ {
foreach (var pair in vehicleKit.Seats) foreach (var pair in vehicleKit.Seats)
{ {
Unit passenger = Global.ObjAccessor.GetUnit(me, pair.Value.Passenger.Guid); Unit passenger = Global.ObjAccessor.GetUnit(me, pair.Value.Passenger.Guid);
if (passenger) if (passenger != null)
{ {
Player player = passenger.ToPlayer(); Player player = passenger.ToPlayer();
if (player) if (player != null)
{ {
if (!Global.ConditionMgr.IsObjectMeetingNotGroupedConditions(ConditionSourceType.CreatureTemplateVehicle, me.GetEntry(), player, me)) if (!Global.ConditionMgr.IsObjectMeetingNotGroupedConditions(ConditionSourceType.CreatureTemplateVehicle, me.GetEntry(), player, me))
{ {
+4 -4
View File
@@ -119,7 +119,7 @@ namespace Game.AI
public void TriggerAlert(Unit who) public void TriggerAlert(Unit who)
{ {
// If there's no target, or target isn't a player do nothing // If there's no target, or target isn't a player do nothing
if (!who || !who.IsTypeId(TypeId.Player)) if (who == null || !who.IsTypeId(TypeId.Player))
return; return;
// If this unit isn't an NPC, is already distracted, is fighting, is confused, stunned or fleeing, do nothing // If this unit isn't an NPC, is already distracted, is fighting, is confused, stunned or fleeing, do nothing
@@ -178,7 +178,7 @@ namespace Game.AI
if (summon != null) if (summon != null)
{ {
// Only apply this to specific types of summons // Only apply this to specific types of summons
if (!summon.GetVehicle() && ShouldFollowOnSpawn(summon.m_Properties) && summon.CanFollowOwner()) if (summon.GetVehicle() == null && ShouldFollowOnSpawn(summon.m_Properties) && summon.CanFollowOwner())
{ {
Unit owner = summon.GetCharmerOrOwner(); Unit owner = summon.GetCharmerOrOwner();
if (owner != null) if (owner != null)
@@ -311,7 +311,7 @@ namespace Game.AI
public CypherStrings VisualizeBoundary(TimeSpan duration, Unit owner = null, bool fill = false) public CypherStrings VisualizeBoundary(TimeSpan duration, Unit owner = null, bool fill = false)
{ {
if (!owner) if (owner == null)
return 0; return 0;
if (_boundary.Empty()) if (_boundary.Empty())
@@ -368,7 +368,7 @@ namespace Game.AI
{ {
var pos = new Position(startPosition.GetPositionX() + front.Key * SharedConst.BoundaryVisualizeStepSize, startPosition.GetPositionY() + front.Value * SharedConst.BoundaryVisualizeStepSize, spawnZ); var pos = new Position(startPosition.GetPositionX() + front.Key * SharedConst.BoundaryVisualizeStepSize, startPosition.GetPositionY() + front.Value * SharedConst.BoundaryVisualizeStepSize, spawnZ);
TempSummon point = owner.SummonCreature(SharedConst.BoundaryVisualizeCreature, pos, TempSummonType.TimedDespawn, duration); TempSummon point = owner.SummonCreature(SharedConst.BoundaryVisualizeCreature, pos, TempSummonType.TimedDespawn, duration);
if (point) if (point != null)
{ {
point.SetObjectScale(SharedConst.BoundaryVisualizeCreatureScale); point.SetObjectScale(SharedConst.BoundaryVisualizeCreatureScale);
point.SetUnitFlag(UnitFlags.Stunned); point.SetUnitFlag(UnitFlags.Stunned);
+29 -29
View File
@@ -34,11 +34,11 @@ namespace Game.AI
else else
_updateAlliesTimer -= diff; _updateAlliesTimer -= diff;
if (me.GetVictim() && me.GetVictim().IsAlive()) if (me.GetVictim() != null && me.GetVictim().IsAlive())
{ {
// is only necessary to stop casting, the pet must not exit combat // is only necessary to stop casting, the pet must not exit combat
if (me.GetCurrentSpell(CurrentSpellTypes.Channeled) == null && // ignore channeled spells (Pin, Seduction) if (me.GetCurrentSpell(CurrentSpellTypes.Channeled) == null && // ignore channeled spells (Pin, Seduction)
(me.GetVictim() && me.GetVictim().HasBreakableByDamageCrowdControlAura(me))) (me.GetVictim() != null && me.GetVictim().HasBreakableByDamageCrowdControlAura(me)))
{ {
me.InterruptNonMeleeSpells(false); me.InterruptNonMeleeSpells(false);
return; return;
@@ -71,7 +71,7 @@ namespace Game.AI
// All other cases (ie: defensive) - Targets are assigned by DamageTaken(), OwnerAttackedBy(), OwnerAttacked(), etc. // All other cases (ie: defensive) - Targets are assigned by DamageTaken(), OwnerAttackedBy(), OwnerAttacked(), etc.
Unit nextTarget = SelectNextTarget(me.HasReactState(ReactStates.Aggressive)); Unit nextTarget = SelectNextTarget(me.HasReactState(ReactStates.Aggressive));
if (nextTarget) if (nextTarget != null)
AttackStart(nextTarget); AttackStart(nextTarget);
else else
HandleReturnMovement(); HandleReturnMovement();
@@ -117,10 +117,10 @@ namespace Game.AI
// Some spells can target enemy or friendly (DK Ghoul's Leap) // Some spells can target enemy or friendly (DK Ghoul's Leap)
// Check for enemy first (pet then owner) // Check for enemy first (pet then owner)
Unit target = me.GetAttackerForHelper(); Unit target = me.GetAttackerForHelper();
if (!target && owner) if (target == null && owner != null)
target = owner.GetAttackerForHelper(); target = owner.GetAttackerForHelper();
if (target) if (target != null)
{ {
if (CanAttack(target) && spell.CanAutoCast(target)) if (CanAttack(target) && spell.CanAutoCast(target))
{ {
@@ -144,7 +144,7 @@ namespace Game.AI
Unit ally = Global.ObjAccessor.GetUnit(me, tar); Unit ally = Global.ObjAccessor.GetUnit(me, tar);
//only buff targets that are in combat, unless the spell can only be cast while out of combat //only buff targets that are in combat, unless the spell can only be cast while out of combat
if (!ally) if (ally == null)
continue; continue;
if (spell.CanAutoCast(ally)) if (spell.CanAutoCast(ally))
@@ -160,7 +160,7 @@ namespace Game.AI
if (!spellUsed) if (!spellUsed)
spell.Dispose(); spell.Dispose();
} }
else if (me.GetVictim() && CanAttack(me.GetVictim()) && spellInfo.CanBeUsedInCombat(me)) else if (me.GetVictim() != null && CanAttack(me.GetVictim()) && spellInfo.CanBeUsedInCombat(me))
{ {
Spell spell = new(me, spellInfo, TriggerCastFlags.None); Spell spell = new(me, spellInfo, TriggerCastFlags.None);
if (spell.CanAutoCast(me.GetVictim())) if (spell.CanAutoCast(me.GetVictim()))
@@ -201,7 +201,7 @@ namespace Game.AI
{ {
// Called from Unit.Kill() in case where pet or owner kills something // Called from Unit.Kill() in case where pet or owner kills something
// if owner killed this victim, pet may still be attacking something else // if owner killed this victim, pet may still be attacking something else
if (me.GetVictim() && me.GetVictim() != victim) if (me.GetVictim() != null && me.GetVictim() != victim)
return; return;
// Clear target just in case. May help problem where health / focus / mana // Clear target just in case. May help problem where health / focus / mana
@@ -213,7 +213,7 @@ namespace Game.AI
// Before returning to owner, see if there are more things to attack // Before returning to owner, see if there are more things to attack
Unit nextTarget = SelectNextTarget(false); Unit nextTarget = SelectNextTarget(false);
if (nextTarget) if (nextTarget != null)
AttackStart(nextTarget); AttackStart(nextTarget);
else else
HandleReturnMovement(); // Return HandleReturnMovement(); // Return
@@ -254,7 +254,7 @@ namespace Game.AI
return; return;
// Prevent pet from disengaging from current target // Prevent pet from disengaging from current target
if (me.GetVictim() && me.GetVictim().IsAlive()) if (me.GetVictim() != null && me.GetVictim().IsAlive())
return; return;
// Continue to evaluate and attack if necessary // Continue to evaluate and attack if necessary
@@ -275,7 +275,7 @@ namespace Game.AI
return; return;
// Prevent pet from disengaging from current target // Prevent pet from disengaging from current target
if (me.GetVictim() && me.GetVictim().IsAlive()) if (me.GetVictim() != null && me.GetVictim().IsAlive())
return; return;
// Continue to evaluate and attack if necessary // Continue to evaluate and attack if necessary
@@ -295,24 +295,24 @@ namespace Game.AI
// Check pet attackers first so we don't drag a bunch of targets to the owner // Check pet attackers first so we don't drag a bunch of targets to the owner
Unit myAttacker = me.GetAttackerForHelper(); Unit myAttacker = me.GetAttackerForHelper();
if (myAttacker) if (myAttacker != null)
if (!myAttacker.HasBreakableByDamageCrowdControlAura()) if (!myAttacker.HasBreakableByDamageCrowdControlAura())
return myAttacker; return myAttacker;
// Not sure why we wouldn't have an owner but just in case... // Not sure why we wouldn't have an owner but just in case...
if (!me.GetCharmerOrOwner()) if (me.GetCharmerOrOwner() == null)
return null; return null;
// Check owner attackers // Check owner attackers
Unit ownerAttacker = me.GetCharmerOrOwner().GetAttackerForHelper(); Unit ownerAttacker = me.GetCharmerOrOwner().GetAttackerForHelper();
if (ownerAttacker) if (ownerAttacker != null)
if (!ownerAttacker.HasBreakableByDamageCrowdControlAura()) if (!ownerAttacker.HasBreakableByDamageCrowdControlAura())
return ownerAttacker; return ownerAttacker;
// Check owner victim // Check owner victim
// 3.0.2 - Pets now start attacking their owners victim in defensive mode as soon as the hunter does // 3.0.2 - Pets now start attacking their owners victim in defensive mode as soon as the hunter does
Unit ownerVictim = me.GetCharmerOrOwner().GetVictim(); Unit ownerVictim = me.GetCharmerOrOwner().GetVictim();
if (ownerVictim) if (ownerVictim != null)
return ownerVictim; return ownerVictim;
// Neither pet or owner had a target and aggressive pets can pick any target // Neither pet or owner had a target and aggressive pets can pick any target
@@ -323,7 +323,7 @@ namespace Game.AI
if (!me.GetCharmInfo().IsReturning() || me.GetCharmInfo().IsFollowing() || me.GetCharmInfo().IsAtStay()) if (!me.GetCharmInfo().IsReturning() || me.GetCharmInfo().IsFollowing() || me.GetCharmInfo().IsAtStay())
{ {
Unit nearTarget = me.SelectNearestHostileUnitInAggroRange(true, true); Unit nearTarget = me.SelectNearestHostileUnitInAggroRange(true, true);
if (nearTarget) if (nearTarget != null)
return nearTarget; return nearTarget;
} }
} }
@@ -443,7 +443,7 @@ namespace Game.AI
{ {
// If data is owner's GUIDLow then we've reached follow point, // If data is owner's GUIDLow then we've reached follow point,
// otherwise we're probably chasing a creature // otherwise we're probably chasing a creature
if (me.GetCharmerOrOwner() && me.GetCharmInfo() != null && id == me.GetCharmerOrOwner().GetGUID().GetCounter() && me.GetCharmInfo().IsReturning()) if (me.GetCharmerOrOwner() != null && me.GetCharmInfo() != null && id == me.GetCharmerOrOwner().GetGUID().GetCounter() && me.GetCharmInfo().IsReturning())
{ {
ClearCharmInfoFlags(); ClearCharmInfoFlags();
me.GetCharmInfo().SetIsFollowing(true); me.GetCharmInfo().SetIsFollowing(true);
@@ -461,7 +461,7 @@ namespace Game.AI
// IMPORTANT: The order in which things are checked is important, be careful if you add or remove checks // IMPORTANT: The order in which things are checked is important, be careful if you add or remove checks
// Hmmm... // Hmmm...
if (!victim) if (victim == null)
return false; return false;
if (!victim.IsAlive()) if (!victim.IsAlive())
@@ -496,18 +496,18 @@ namespace Game.AI
return (me.IsWithinMeleeRange(victim) || me.GetCharmInfo().IsCommandAttack()); return (me.IsWithinMeleeRange(victim) || me.GetCharmInfo().IsCommandAttack());
// Pets attacking something (or chasing) should only switch targets if owner tells them to // Pets attacking something (or chasing) should only switch targets if owner tells them to
if (me.GetVictim() && me.GetVictim() != victim) if (me.GetVictim() != null && me.GetVictim() != victim)
{ {
// Check if our owner selected this target and clicked "attack" // Check if our owner selected this target and clicked "attack"
Unit ownerTarget; Unit ownerTarget;
Player owner = me.GetCharmerOrOwner().ToPlayer(); Player owner = me.GetCharmerOrOwner().ToPlayer();
if (owner) if (owner != null)
ownerTarget = owner.GetSelectedUnit(); ownerTarget = owner.GetSelectedUnit();
else else
ownerTarget = me.GetCharmerOrOwner().GetVictim(); ownerTarget = me.GetCharmerOrOwner().GetVictim();
if (ownerTarget && me.GetCharmInfo().IsCommandAttack()) if (ownerTarget != null && me.GetCharmInfo().IsCommandAttack())
return (victim.GetGUID() == ownerTarget.GetGUID()); return victim.GetGUID() == ownerTarget.GetGUID();
} }
// Follow // Follow
@@ -552,7 +552,7 @@ namespace Game.AI
// dont allow pets to follow targets far away from owner // dont allow pets to follow targets far away from owner
Unit owner = me.GetCharmerOrOwner(); Unit owner = me.GetCharmerOrOwner();
if (owner) if (owner != null)
if (owner.GetExactDist(me) >= (owner.GetVisibilityRange() - 10.0f)) if (owner.GetExactDist(me) >= (owner.GetVisibilityRange() - 10.0f))
return true; return true;
@@ -581,30 +581,30 @@ namespace Game.AI
_updateAlliesTimer = 10 * Time.InMilliseconds; // update friendly targets every 10 seconds, lesser checks increase performance _updateAlliesTimer = 10 * Time.InMilliseconds; // update friendly targets every 10 seconds, lesser checks increase performance
Unit owner = me.GetCharmerOrOwner(); Unit owner = me.GetCharmerOrOwner();
if (!owner) if (owner == null)
return; return;
Group group = null; Group group = null;
Player player = owner.ToPlayer(); Player player = owner.ToPlayer();
if (player) if (player != null)
group = player.GetGroup(); group = player.GetGroup();
// only pet and owner/not in group.ok // only pet and owner/not in group.ok
if (_allySet.Count == 2 && !group) if (_allySet.Count == 2 && group == null)
return; return;
// owner is in group; group members filled in already (no raid . subgroupcount = whole count) // owner is in group; group members filled in already (no raid . subgroupcount = whole count)
if (group && !group.IsRaidGroup() && _allySet.Count == (group.GetMembersCount() + 2)) if (group != null && !group.IsRaidGroup() && _allySet.Count == (group.GetMembersCount() + 2))
return; return;
_allySet.Clear(); _allySet.Clear();
_allySet.Add(me.GetGUID()); _allySet.Add(me.GetGUID());
if (group) // add group if (group != null) // add group
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player target = refe.GetSource(); Player target = refe.GetSource();
if (!target || !target.IsInMap(owner) || !group.SameSubGroup(owner.ToPlayer(), target)) if (target == null || !target.IsInMap(owner) || !group.SameSubGroup(owner.ToPlayer(), target))
continue; continue;
if (target.GetGUID() == owner.GetGUID()) if (target.GetGUID() == owner.GetGUID())
+17 -17
View File
@@ -391,7 +391,7 @@ namespace Game.AI
bool IsPlayerHealer(Player who) bool IsPlayerHealer(Player who)
{ {
if (!who) if (who == null)
return false; return false;
var chrSpec = who.GetPrimarySpecializationEntry(); var chrSpec = who.GetPrimarySpecializationEntry();
@@ -400,7 +400,7 @@ namespace Game.AI
bool IsPlayerRangedAttacker(Player who) bool IsPlayerRangedAttacker(Player who)
{ {
if (!who) if (who == null)
return false; return false;
var chrSpec = who.GetPrimarySpecializationEntry(); var chrSpec = who.GetPrimarySpecializationEntry();
@@ -455,12 +455,12 @@ namespace Game.AI
break; break;
case SpellTarget.Victim: case SpellTarget.Victim:
pTarget = me.GetVictim(); pTarget = me.GetVictim();
if (!pTarget) if (pTarget == null)
return null; return null;
break; break;
case SpellTarget.Charmer: case SpellTarget.Charmer:
pTarget = me.GetCharmer(); pTarget = me.GetCharmer();
if (!pTarget) if (pTarget == null)
return null; return null;
break; break;
case SpellTarget.Self: case SpellTarget.Self:
@@ -526,13 +526,13 @@ namespace Game.AI
return; return;
Unit victim = me.GetVictim(); Unit victim = me.GetVictim();
if (!victim) if (victim == null)
return; return;
uint rangedAttackSpell = 0; uint rangedAttackSpell = 0;
Item rangedItem = me.GetItemByPos(InventorySlots.Bag0, EquipmentSlot.Ranged); Item rangedItem = me.GetItemByPos(InventorySlots.Bag0, EquipmentSlot.Ranged);
ItemTemplate rangedTemplate = rangedItem ? rangedItem.GetTemplate() : null; ItemTemplate rangedTemplate = rangedItem != null ? rangedItem.GetTemplate() : null;
if (rangedTemplate != null) if (rangedTemplate != null)
{ {
switch ((ItemSubClassWeapon)rangedTemplate.GetSubClass()) switch ((ItemSubClassWeapon)rangedTemplate.GetSubClass())
@@ -610,13 +610,13 @@ namespace Game.AI
// helper functions to determine player info // helper functions to determine player info
public bool IsHealer(Player who = null) public bool IsHealer(Player who = null)
{ {
return (!who || who == me) ? _isSelfHealer : IsPlayerHealer(who); return (who == null || who == me) ? _isSelfHealer : IsPlayerHealer(who);
} }
public bool IsRangedAttacker(Player who = null) { return (!who || who == me) ? _isSelfRangedAttacker : IsPlayerRangedAttacker(who); } public bool IsRangedAttacker(Player who = null) { return (who == null || who == me) ? _isSelfRangedAttacker : IsPlayerRangedAttacker(who); }
public ChrSpecialization GetSpec(Player who = null) { return (!who || who == me) ? _selfSpec : who.GetPrimarySpecialization(); } public ChrSpecialization GetSpec(Player who = null) { return (who == null || who == me) ? _selfSpec : who.GetPrimarySpecialization(); }
public void SetIsRangedAttacker(bool state) { _isSelfRangedAttacker = state; } // this allows overriding of the default ranged attacker detection public void SetIsRangedAttacker(bool state) { _isSelfRangedAttacker = state; } // this allows overriding of the default ranged attacker detection
public virtual Unit SelectAttackTarget() { return me.GetCharmer() ? me.GetCharmer().GetVictim() : null; } public virtual Unit SelectAttackTarget() { return me.GetCharmer() != null ? me.GetCharmer().GetVictim() : null; }
public enum SpellTarget public enum SpellTarget
{ {
@@ -659,7 +659,7 @@ namespace Game.AI
public override Unit SelectAttackTarget() public override Unit SelectAttackTarget()
{ {
Unit charmer = me.GetCharmer(); Unit charmer = me.GetCharmer();
if (charmer) if (charmer != null)
{ {
UnitAI charmerAI = charmer.GetAI(); UnitAI charmerAI = charmer.GetAI();
if (charmerAI != null) if (charmerAI != null)
@@ -925,7 +925,7 @@ namespace Game.AI
VerifyAndPushSpellCast(spells, SPELL_RUNE_TAP, TARGET_NONE, 2); VerifyAndPushSpellCast(spells, SPELL_RUNE_TAP, TARGET_NONE, 2);
VerifyAndPushSpellCast(spells, SPELL_HYSTERIA, TARGET_SELF, 5); VerifyAndPushSpellCast(spells, SPELL_HYSTERIA, TARGET_SELF, 5);
if (Creature* creatureCharmer = GetCharmer()) if (Creature* creatureCharmer = GetCharmer())
if (!creatureCharmer.IsDungeonBoss() && !creatureCharmer.isWorldBoss()) if (creature == nullCharmer.IsDungeonBoss() && !creatureCharmer.isWorldBoss())
VerifyAndPushSpellCast(spells, SPELL_HYSTERIA, creatureCharmer, 15); VerifyAndPushSpellCast(spells, SPELL_HYSTERIA, creatureCharmer, 15);
VerifyAndPushSpellCast(spells, SPELL_HEART_STRIKE, TARGET_VICTIM, 2); VerifyAndPushSpellCast(spells, SPELL_HEART_STRIKE, TARGET_VICTIM, 2);
if (hasFF && hasBP) if (hasFF && hasBP)
@@ -1115,9 +1115,9 @@ namespace Game.AI
{ {
VerifyAndPushSpellCast(spells, SPELL_NOURISH, creatureCharmer, 5); VerifyAndPushSpellCast(spells, SPELL_NOURISH, creatureCharmer, 5);
VerifyAndPushSpellCast(spells, SPELL_WILD_GROWTH, creatureCharmer, 5); VerifyAndPushSpellCast(spells, SPELL_WILD_GROWTH, creatureCharmer, 5);
if (!creatureCharmer.GetAuraApplicationOfRankedSpell(SPELL_REJUVENATION, me.GetGUID())) if (creature == nullCharmer.GetAuraApplicationOfRankedSpell(SPELL_REJUVENATION, me.GetGUID()))
VerifyAndPushSpellCast(spells, SPELL_REJUVENATION, creatureCharmer, 8); VerifyAndPushSpellCast(spells, SPELL_REJUVENATION, creatureCharmer, 8);
if (!creatureCharmer.GetAuraApplicationOfRankedSpell(SPELL_REGROWTH, me.GetGUID())) if (creature == nullCharmer.GetAuraApplicationOfRankedSpell(SPELL_REGROWTH, me.GetGUID()))
VerifyAndPushSpellCast(spells, SPELL_REGROWTH, creatureCharmer, 8); VerifyAndPushSpellCast(spells, SPELL_REGROWTH, creatureCharmer, 8);
uint8 lifebloomStacks = 0; uint8 lifebloomStacks = 0;
if (Aura const* lifebloom = creatureCharmer.GetAura(SPELL_LIFEBLOOM, me.GetGUID())) if (Aura const* lifebloom = creatureCharmer.GetAura(SPELL_LIFEBLOOM, me.GetGUID()))
@@ -1200,7 +1200,7 @@ namespace Game.AI
public override void UpdateAI(uint diff) public override void UpdateAI(uint diff)
{ {
Creature charmer = GetCharmer(); Creature charmer = GetCharmer();
if (!charmer) if (charmer == null)
return; return;
//kill self if charm aura has infinite duration //kill self if charm aura has infinite duration
@@ -1220,10 +1220,10 @@ namespace Game.AI
if (charmer.IsEngaged()) if (charmer.IsEngaged())
{ {
Unit target = me.GetVictim(); Unit target = me.GetVictim();
if (!target || !CanAIAttack(target)) if (target == null || !CanAIAttack(target))
{ {
target = SelectAttackTarget(); target = SelectAttackTarget();
if (!target || !CanAIAttack(target)) if (target == null || !CanAIAttack(target))
{ {
if (!_isFollowing) if (!_isFollowing)
{ {
+19 -19
View File
@@ -109,10 +109,10 @@ namespace Game.AI
/// <param name="who"></param> /// <param name="who"></param>
public void AddThreat(Unit victim, float amount, Unit who = null) public void AddThreat(Unit victim, float amount, Unit who = null)
{ {
if (!victim) if (victim == null)
return; return;
if (!who) if (who == null)
who = me; who = me;
who.GetThreatManager().AddThreat(victim, amount, null, true, true); who.GetThreatManager().AddThreat(victim, amount, null, true, true);
@@ -126,10 +126,10 @@ namespace Game.AI
/// <param name="who"></param> /// <param name="who"></param>
public void ModifyThreatByPercent(Unit victim, int pct, Unit who = null) public void ModifyThreatByPercent(Unit victim, int pct, Unit who = null)
{ {
if (!victim) if (victim == null)
return; return;
if (!who) if (who == null)
who = me; who = me;
who.GetThreatManager().ModifyThreatByPercent(victim, pct); who.GetThreatManager().ModifyThreatByPercent(victim, pct);
@@ -142,10 +142,10 @@ namespace Game.AI
/// <param name="who"></param> /// <param name="who"></param>
public void ResetThreat(Unit victim, Unit who) public void ResetThreat(Unit victim, Unit who)
{ {
if (!victim) if (victim == null)
return; return;
if (!who) if (who == null)
who = me; who = me;
who.GetThreatManager().ResetThreat(victim); who.GetThreatManager().ResetThreat(victim);
@@ -157,7 +157,7 @@ namespace Game.AI
/// <param name="who"></param> /// <param name="who"></param>
public void ResetThreatList(Unit who = null) public void ResetThreatList(Unit who = null)
{ {
if (!who) if (who == null)
who = me; who = me;
who.GetThreatManager().ResetAllThreat(); who.GetThreatManager().ResetAllThreat();
@@ -171,10 +171,10 @@ namespace Game.AI
/// <returns></returns> /// <returns></returns>
public float GetThreat(Unit victim, Unit who = null) public float GetThreat(Unit victim, Unit who = null)
{ {
if (!victim) if (victim == null)
return 0.0f; return 0.0f;
if (!who) if (who == null)
who = me; who = me;
return who.GetThreatManager().GetThreat(victim); return who.GetThreatManager().GetThreat(victim);
@@ -645,11 +645,11 @@ namespace Game.AI
delayToRespawn = TimeSpan.FromSeconds(2); delayToRespawn = TimeSpan.FromSeconds(2);
} }
if (!who) if (who == null)
who = me; who = me;
TempSummon whoSummon = who.ToTempSummon(); TempSummon whoSummon = who.ToTempSummon();
if (whoSummon) if (whoSummon != null)
{ {
Log.outWarn(LogFilter.ScriptsAi, $"BossAI::_DespawnAtEvade: called on a temporary summon (who: {who.GetGUID()})"); Log.outWarn(LogFilter.ScriptsAi, $"BossAI::_DespawnAtEvade: called on a temporary summon (who: {who.GetGUID()})");
whoSummon.UnSummon(); whoSummon.UnSummon();
@@ -705,7 +705,7 @@ namespace Game.AI
void _JustEngagedWith() void _JustEngagedWith()
{ {
Unit target = SelectTarget(SelectTargetMethod.Random, 0, 0.0f, true); Unit target = SelectTarget(SelectTargetMethod.Random, 0, 0.0f, true);
if (target) if (target != null)
AttackStart(target); AttackStart(target);
} }
@@ -713,7 +713,7 @@ namespace Game.AI
{ {
summons.Summon(summon); summons.Summon(summon);
Unit target = SelectTarget(SelectTargetMethod.Random, 0, 0.0f, true); Unit target = SelectTarget(SelectTargetMethod.Random, 0, 0.0f, true);
if (target) if (target != null)
summon.GetAI().AttackStart(target); summon.GetAI().AttackStart(target);
} }
@@ -772,7 +772,7 @@ namespace Game.AI
foreach (var id in this) foreach (var id in this)
{ {
Creature summon = ObjectAccessor.GetCreature(_me, id); Creature summon = ObjectAccessor.GetCreature(_me, id);
if (summon && summon.IsAIEnabled() && (entry == 0 || summon.GetEntry() == entry)) if (summon != null && summon.IsAIEnabled() && (entry == 0 || summon.GetEntry() == entry))
{ {
summon.GetAI().DoZoneInCombat(); summon.GetAI().DoZoneInCombat();
} }
@@ -784,7 +784,7 @@ namespace Game.AI
foreach (var id in this) foreach (var id in this)
{ {
Creature summon = ObjectAccessor.GetCreature(_me, id); Creature summon = ObjectAccessor.GetCreature(_me, id);
if (!summon) if (summon == null)
Remove(id); Remove(id);
else if (summon.GetEntry() == entry) else if (summon.GetEntry() == entry)
{ {
@@ -800,7 +800,7 @@ namespace Game.AI
{ {
Creature summon = ObjectAccessor.GetCreature(_me, this.FirstOrDefault()); Creature summon = ObjectAccessor.GetCreature(_me, this.FirstOrDefault());
RemoveAt(0); RemoveAt(0);
if (summon) if (summon != null)
summon.DespawnOrUnsummon(); summon.DespawnOrUnsummon();
} }
} }
@@ -821,7 +821,7 @@ namespace Game.AI
{ {
foreach (var id in this) foreach (var id in this)
{ {
if (!ObjectAccessor.GetCreature(_me, id)) if (ObjectAccessor.GetCreature(_me, id) == null)
Remove(id); Remove(id);
} }
} }
@@ -847,7 +847,7 @@ namespace Game.AI
foreach (var id in this) foreach (var id in this)
{ {
Creature summon = ObjectAccessor.GetCreature(_me, id); Creature summon = ObjectAccessor.GetCreature(_me, id);
if (summon && summon.GetEntry() == entry) if (summon != null && summon.GetEntry() == entry)
return true; return true;
} }
@@ -859,7 +859,7 @@ namespace Game.AI
foreach (var guid in summons) foreach (var guid in summons)
{ {
Creature summon = ObjectAccessor.GetCreature(_me, guid); Creature summon = ObjectAccessor.GetCreature(_me, guid);
if (summon && summon.IsAIEnabled()) if (summon != null && summon.IsAIEnabled())
summon.GetAI().DoAction(action); summon.GetAI().DoAction(action);
} }
} }
@@ -33,7 +33,7 @@ namespace Game.AI
//see followerAI //see followerAI
bool AssistPlayerInCombatAgainst(Unit who) bool AssistPlayerInCombatAgainst(Unit who)
{ {
if (!who || !who.GetVictim()) if (who == null || who.GetVictim() == null)
return false; return false;
if (me.HasReactState(ReactStates.Passive)) if (me.HasReactState(ReactStates.Passive))
@@ -44,7 +44,7 @@ namespace Game.AI
return false; return false;
//not a player //not a player
if (!who.GetVictim().GetCharmerOrOwnerPlayerOrPlayerItself()) if (who.GetVictim().GetCharmerOrOwnerPlayerOrPlayerItself() == null)
return false; return false;
//never attack friendly //never attack friendly
@@ -78,15 +78,15 @@ namespace Game.AI
return; return;
Player player = GetPlayerForEscort(); Player player = GetPlayerForEscort();
if (player) if (player != null)
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
Player member = groupRef.GetSource(); Player member = groupRef.GetSource();
if (member) if (member != null)
if (member.IsInMap(player)) if (member.IsInMap(player))
member.FailQuest(_escortQuest.Id); member.FailQuest(_escortQuest.Id);
} }
@@ -145,15 +145,15 @@ namespace Game.AI
bool IsPlayerOrGroupInRange() bool IsPlayerOrGroupInRange()
{ {
Player player = GetPlayerForEscort(); Player player = GetPlayerForEscort();
if (player) if (player != null)
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
Player member = groupRef.GetSource(); Player member = groupRef.GetSource();
if (member) if (member != null)
if (me.IsWithinDistInMap(member, GetMaxPlayerDistance())) if (me.IsWithinDistInMap(member, GetMaxPlayerDistance()))
return true; return true;
} }
@@ -47,15 +47,15 @@ namespace Game.AI
// @todo need a better check for quests with time limit. // @todo need a better check for quests with time limit.
Player player = GetLeaderForFollower(); Player player = GetLeaderForFollower();
if (player) if (player != null)
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
Player member = groupRef.GetSource(); Player member = groupRef.GetSource();
if (member) if (member != null)
if (member.IsInMap(player)) if (member.IsInMap(player))
member.FailQuest(_questForFollow); member.FailQuest(_questForFollow);
} }
@@ -104,10 +104,10 @@ namespace Game.AI
bool questAbandoned = (_questForFollow != 0); bool questAbandoned = (_questForFollow != 0);
Player player = GetLeaderForFollower(); Player player = GetLeaderForFollower();
if (player) if (player != null)
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null && (maxRangeExceeded || questAbandoned); groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null && (maxRangeExceeded || questAbandoned); groupRef = groupRef.Next())
{ {
@@ -247,19 +247,19 @@ namespace Game.AI
Player GetLeaderForFollower() Player GetLeaderForFollower()
{ {
Player player = Global.ObjAccessor.GetPlayer(me, _leaderGUID); Player player = Global.ObjAccessor.GetPlayer(me, _leaderGUID);
if (player) if (player != null)
{ {
if (player.IsAlive()) if (player.IsAlive())
return player; return player;
else else
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
Player member = groupRef.GetSource(); Player member = groupRef.GetSource();
if (member && me.IsWithinDistInMap(member, 100.0f) && member.IsAlive()) if (member != null && me.IsWithinDistInMap(member, 100.0f) && member.IsAlive())
{ {
Log.outDebug(LogFilter.Scripts, $"FollowerAI::GetLeaderForFollower: GetLeader changed and returned new leader. ({me.GetGUID()})"); Log.outDebug(LogFilter.Scripts, $"FollowerAI::GetLeaderForFollower: GetLeader changed and returned new leader. ({me.GetGUID()})");
_leaderGUID = member.GetGUID(); _leaderGUID = member.GetGUID();
@@ -279,7 +279,7 @@ namespace Game.AI
//The flag (type_flag) is unconfirmed, but used here for further research and is a good candidate. //The flag (type_flag) is unconfirmed, but used here for further research and is a good candidate.
bool ShouldAssistPlayerInCombatAgainst(Unit who) bool ShouldAssistPlayerInCombatAgainst(Unit who)
{ {
if (!who || !who.GetVictim()) if (who == null || who.GetVictim() == null)
return false; return false;
//experimental (unknown) flag not present //experimental (unknown) flag not present
+7 -7
View File
@@ -90,7 +90,7 @@ namespace Game.AI
// Do not use AddEscortState, removing everything from previous // Do not use AddEscortState, removing everything from previous
_escortState = SmartEscortState.Escorting; _escortState = SmartEscortState.Escorting;
if (invoker && invoker.IsPlayer()) if (invoker != null && invoker.IsPlayer())
{ {
_escortNPCFlags = (uint)me.GetNpcFlags(); _escortNPCFlags = (uint)me.GetNpcFlags();
me.ReplaceAllNpcFlags(NPCFlags.None); me.ReplaceAllNpcFlags(NPCFlags.None);
@@ -226,7 +226,7 @@ namespace Game.AI
player.FailQuest(EscortQuestID); player.FailQuest(EscortQuestID);
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
@@ -234,7 +234,7 @@ namespace Game.AI
if (!groupGuy.IsInMap(player)) if (!groupGuy.IsInMap(player))
continue; continue;
if (!fail && groupGuy.IsAtGroupRewardDistance(me) && !groupGuy.GetCorpse()) if (!fail && groupGuy.IsAtGroupRewardDistance(me) && groupGuy.GetCorpse() == null)
groupGuy.AreaExploredOrEventHappens(EscortQuestID); groupGuy.AreaExploredOrEventHappens(EscortQuestID);
else if (fail) else if (fail)
groupGuy.FailQuest(EscortQuestID); groupGuy.FailQuest(EscortQuestID);
@@ -340,7 +340,7 @@ namespace Game.AI
return true; return true;
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
@@ -458,7 +458,7 @@ namespace Game.AI
else else
{ {
Unit target = !_followGuid.IsEmpty() ? Global.ObjAccessor.GetUnit(me, _followGuid) : null; Unit target = !_followGuid.IsEmpty() ? Global.ObjAccessor.GetUnit(me, _followGuid) : null;
if (target) if (target != null)
{ {
me.GetMotionMaster().MoveFollow(target, _followDist, _followAngle); me.GetMotionMaster().MoveFollow(target, _followDist, _followAngle);
// evade is not cleared in MoveFollow, so we can't keep it // evade is not cleared in MoveFollow, so we can't keep it
@@ -832,7 +832,7 @@ namespace Game.AI
{ {
if (on) if (on)
{ {
if (!me.HasReactState(ReactStates.Passive) && me.GetVictim() && !me.GetMotionMaster().HasMovementGenerator(movement => if (!me.HasReactState(ReactStates.Passive) && me.GetVictim() != null && !me.GetMotionMaster().HasMovementGenerator(movement =>
{ {
return movement.GetMovementGeneratorType() == MovementGeneratorType.Chase && movement.Mode == MovementGeneratorMode.Default && movement.Priority == MovementGeneratorPriority.Normal; return movement.GetMovementGeneratorType() == MovementGeneratorType.Chase && movement.Mode == MovementGeneratorMode.Default && movement.Priority == MovementGeneratorPriority.Normal;
})) }))
@@ -1013,7 +1013,7 @@ namespace Game.AI
{ {
if (_followArrivedTimer < diff) if (_followArrivedTimer < diff)
{ {
if (me.FindNearestCreature(_followArrivedEntry, SharedConst.InteractionDistance, true)) if (me.FindNearestCreature(_followArrivedEntry, SharedConst.InteractionDistance, true) != null)
{ {
StopFollow(true); StopFollow(true);
return; return;
+43 -43
View File
@@ -323,17 +323,17 @@ namespace Game.AI
foreach (var target in targets) foreach (var target in targets)
{ {
Player player = target.ToPlayer(); Player player = target.ToPlayer();
if (player) if (player != null)
{ {
Quest quest = Global.ObjectMgr.GetQuestTemplate(e.Action.questOffer.questId); Quest quest = Global.ObjectMgr.GetQuestTemplate(e.Action.questOffer.questId);
if (quest != null) if (quest != null)
{ {
if (_me && e.Action.questOffer.directAdd == 0) if (_me != null && e.Action.questOffer.directAdd == 0)
{ {
if (player.CanTakeQuest(quest, true)) if (player.CanTakeQuest(quest, true))
{ {
WorldSession session = player.GetSession(); WorldSession session = player.GetSession();
if (session) if (session != null)
{ {
PlayerMenu menu = new(session); PlayerMenu menu = new(session);
menu.SendQuestGiverQuestDetails(quest, _me.GetGUID(), true, false); menu.SendQuestGiverQuestDetails(quest, _me.GetGUID(), true, false);
@@ -464,7 +464,7 @@ namespace Game.AI
triggerFlag = TriggerCastFlags.FullMask; triggerFlag = TriggerCastFlags.FullMask;
} }
if (_me) if (_me != null)
{ {
if (e.Action.cast.castFlags.HasAnyFlag((uint)SmartCastFlags.InterruptPrevious)) if (e.Action.cast.castFlags.HasAnyFlag((uint)SmartCastFlags.InterruptPrevious))
_me.InterruptNonMeleeSpells(false); _me.InterruptNonMeleeSpells(false);
@@ -480,7 +480,7 @@ namespace Game.AI
else else
successfulSpellCast = true; successfulSpellCast = true;
} }
else if (_go) else if (_go != null)
_go.CastSpell(target.ToUnit(), e.Action.cast.spell, new CastSpellExtraArgs(triggerFlag)); _go.CastSpell(target.ToUnit(), e.Action.cast.spell, new CastSpellExtraArgs(triggerFlag));
} }
else else
@@ -671,7 +671,7 @@ namespace Game.AI
} }
case SmartActions.FleeForAssist: case SmartActions.FleeForAssist:
{ {
if (!_me) if (_me == null)
break; break;
_me.DoFleeToGetAssistance(); _me.DoFleeToGetAssistance();
@@ -690,7 +690,7 @@ namespace Game.AI
// If invoker was pet or charm // If invoker was pet or charm
Player playerCharmed = unit.GetCharmerOrOwnerPlayerOrPlayerItself(); Player playerCharmed = unit.GetCharmerOrOwnerPlayerOrPlayerItself();
if (playerCharmed && GetBaseObject() != null) if (playerCharmed != null && GetBaseObject() != null)
{ {
playerCharmed.GroupEventHappens(e.Action.quest.questId, GetBaseObject()); playerCharmed.GroupEventHappens(e.Action.quest.questId, GetBaseObject());
Log.outDebug(LogFilter.ScriptsAi, "SmartScript.ProcessAction: SMART_ACTION_CALL_GROUPEVENTHAPPENS: Player {0}, group credit for quest {1}", Log.outDebug(LogFilter.ScriptsAi, "SmartScript.ProcessAction: SMART_ACTION_CALL_GROUPEVENTHAPPENS: Player {0}, group credit for quest {1}",
@@ -712,7 +712,7 @@ namespace Game.AI
} }
case SmartActions.CombatStop: case SmartActions.CombatStop:
{ {
if (!_me) if (_me == null)
break; break;
_me.CombatStop(true); _me.CombatStop(true);
@@ -1174,7 +1174,7 @@ namespace Game.AI
case SmartActions.SummonGo: case SmartActions.SummonGo:
{ {
WorldObject summoner = GetBaseObjectOrUnitInvoker(unit); WorldObject summoner = GetBaseObjectOrUnitInvoker(unit);
if (!summoner) if (summoner == null)
break; break;
foreach (var target in targets) foreach (var target in targets)
@@ -1814,7 +1814,7 @@ namespace Game.AI
target = targets.SelectRandom(); target = targets.SelectRandom();
Position pos = new(e.Target.x, e.Target.y, e.Target.z); Position pos = new(e.Target.x, e.Target.y, e.Target.z);
if (target) if (target != null)
{ {
float x, y, z; float x, y, z;
target.GetPosition(out x, out y, out z); target.GetPosition(out x, out y, out z);
@@ -1889,9 +1889,9 @@ namespace Game.AI
e.Action.sendGossipMenu.gossipMenuId, e.Action.sendGossipMenu.gossipNpcTextId); e.Action.sendGossipMenu.gossipMenuId, e.Action.sendGossipMenu.gossipNpcTextId);
// override default gossip // override default gossip
if (_me) if (_me != null)
((SmartAI)_me.GetAI()).SetGossipReturn(true); ((SmartAI)_me.GetAI()).SetGossipReturn(true);
else if (_go) else if (_go != null)
((SmartGameObjectAI)_go.GetAI()).SetGossipReturn(true); ((SmartGameObjectAI)_go.GetAI()).SetGossipReturn(true);
foreach (var target in targets) foreach (var target in targets)
@@ -2217,7 +2217,7 @@ namespace Game.AI
else if (!targets.Empty()) else if (!targets.Empty())
map = targets.First().GetMap(); map = targets.First().GetMap();
if (map) if (map != null)
map.Respawn((SpawnObjectType)e.Action.respawnData.spawnType, e.Action.respawnData.spawnId); map.Respawn((SpawnObjectType)e.Action.respawnData.spawnType, e.Action.respawnData.spawnId);
else else
Log.outError(LogFilter.Sql, $"SmartScript.ProcessAction: Entry {e.EntryOrGuid} SourceType {e.GetScriptType()}, Event {e.EventId} - tries to respawn by spawnId but does not provide a map"); Log.outError(LogFilter.Sql, $"SmartScript.ProcessAction: Entry {e.EntryOrGuid} SourceType {e.GetScriptType()}, Event {e.EventId} - tries to respawn by spawnId but does not provide a map");
@@ -2264,7 +2264,7 @@ namespace Game.AI
foreach (var target in targets) foreach (var target in targets)
{ {
Player playerTarget = target.ToPlayer(); Player playerTarget = target.ToPlayer();
if (playerTarget) if (playerTarget != null)
playerTarget.GetSceneMgr().PlayScene(e.Action.scene.sceneId); playerTarget.GetSceneMgr().PlayScene(e.Action.scene.sceneId);
} }
@@ -2275,7 +2275,7 @@ namespace Game.AI
foreach (var target in targets) foreach (var target in targets)
{ {
Player playerTarget = target.ToPlayer(); Player playerTarget = target.ToPlayer();
if (playerTarget) if (playerTarget != null)
playerTarget.GetSceneMgr().CancelSceneBySceneId(e.Action.scene.sceneId); playerTarget.GetSceneMgr().CancelSceneBySceneId(e.Action.scene.sceneId);
} }
@@ -2370,7 +2370,7 @@ namespace Game.AI
{ {
Conversation conversation = Conversation.CreateConversation(e.Action.conversation.id, playerTarget, Conversation conversation = Conversation.CreateConversation(e.Action.conversation.id, playerTarget,
playerTarget, playerTarget.GetGUID(), null); playerTarget, playerTarget.GetGUID(), null);
if (!conversation) if (conversation == null)
Log.outWarn(LogFilter.ScriptsAi, $"SmartScript.ProcessAction: SMART_ACTION_CREATE_CONVERSATION: id {e.Action.conversation.id}, baseObject {baseObject?.GetName()}, target {playerTarget.GetName()} - failed to create"); Log.outWarn(LogFilter.ScriptsAi, $"SmartScript.ProcessAction: SMART_ACTION_CREATE_CONVERSATION: id {e.Action.conversation.id}, baseObject {baseObject?.GetName()}, target {playerTarget.GetName()} - failed to create");
} }
} }
@@ -2652,7 +2652,7 @@ namespace Game.AI
} }
break; break;
case SmartTargets.Farthest: case SmartTargets.Farthest:
if (_me) if (_me != null)
{ {
Unit u = _me.GetAI().SelectTarget(SelectTargetMethod.MaxDistance, 0, new FarthestTargetSelector(_me, (float)e.Target.farthest.maxDist, e.Target.farthest.playerOnly != 0, e.Target.farthest.isInLos != 0)); Unit u = _me.GetAI().SelectTarget(SelectTargetMethod.MaxDistance, 0, new FarthestTargetSelector(_me, (float)e.Target.farthest.maxDist, e.Target.farthest.playerOnly != 0, e.Target.farthest.isInLos != 0));
if (u != null) if (u != null)
@@ -2674,12 +2674,12 @@ namespace Game.AI
if (player != null) if (player != null)
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next()) for (GroupReference groupRef = group.GetFirstMember(); groupRef != null; groupRef = groupRef.Next())
{ {
Player member = groupRef.GetSource(); Player member = groupRef.GetSource();
if (member) if (member != null)
if (member.IsInMap(player)) if (member.IsInMap(player))
targets.Add(member); targets.Add(member);
} }
@@ -2797,7 +2797,7 @@ namespace Game.AI
} }
Creature target = FindCreatureNear(scriptTrigger != null ? scriptTrigger : baseObject, e.Target.unitGUID.dbGuid); Creature target = FindCreatureNear(scriptTrigger != null ? scriptTrigger : baseObject, e.Target.unitGUID.dbGuid);
if (target) if (target != null)
if (target != null && (e.Target.unitGUID.entry == 0 || target.GetEntry() == e.Target.unitGUID.entry)) if (target != null && (e.Target.unitGUID.entry == 0 || target.GetEntry() == e.Target.unitGUID.entry))
targets.Add(target); targets.Add(target);
break; break;
@@ -2811,7 +2811,7 @@ namespace Game.AI
} }
GameObject target = FindGameObjectNear(scriptTrigger != null ? scriptTrigger : baseObject, e.Target.goGUID.dbGuid); GameObject target = FindGameObjectNear(scriptTrigger != null ? scriptTrigger : baseObject, e.Target.goGUID.dbGuid);
if (target) if (target != null)
if (target != null && (e.Target.goGUID.entry == 0 || target.GetEntry() == e.Target.goGUID.entry)) if (target != null && (e.Target.goGUID.entry == 0 || target.GetEntry() == e.Target.goGUID.entry))
targets.Add(target); targets.Add(target);
break; break;
@@ -2865,7 +2865,7 @@ namespace Game.AI
} }
Creature target = refObj.FindNearestCreature(e.Target.unitClosest.entry, e.Target.unitClosest.dist != 0 ? e.Target.unitClosest.dist : 100, e.Target.unitClosest.dead == 0); Creature target = refObj.FindNearestCreature(e.Target.unitClosest.entry, e.Target.unitClosest.dist != 0 ? e.Target.unitClosest.dist : 100, e.Target.unitClosest.dead == 0);
if (target) if (target != null)
targets.Add(target); targets.Add(target);
break; break;
} }
@@ -2882,7 +2882,7 @@ namespace Game.AI
} }
GameObject target = refObj.FindNearestGameObject(e.Target.goClosest.entry, e.Target.goClosest.dist != 0 ? e.Target.goClosest.dist : 100); GameObject target = refObj.FindNearestGameObject(e.Target.goClosest.entry, e.Target.goClosest.dist != 0 ? e.Target.goClosest.dist : 100);
if (target) if (target != null)
targets.Add(target); targets.Add(target);
break; break;
} }
@@ -2899,7 +2899,7 @@ namespace Game.AI
} }
Player target = refObj.SelectNearestPlayer(e.Target.playerDistance.dist); Player target = refObj.SelectNearestPlayer(e.Target.playerDistance.dist);
if (target) if (target != null)
targets.Add(target); targets.Add(target);
break; break;
} }
@@ -2911,10 +2911,10 @@ namespace Game.AI
if (charmerOrOwnerGuid.IsEmpty()) if (charmerOrOwnerGuid.IsEmpty())
{ {
TempSummon tempSummon = _me.ToTempSummon(); TempSummon tempSummon = _me.ToTempSummon();
if (tempSummon) if (tempSummon != null)
{ {
WorldObject summoner = tempSummon.GetSummoner(); WorldObject summoner = tempSummon.GetSummoner();
if (summoner) if (summoner != null)
charmerOrOwnerGuid = summoner.GetGUID(); charmerOrOwnerGuid = summoner.GetGUID();
} }
} }
@@ -2929,7 +2929,7 @@ namespace Game.AI
else if (_go != null) else if (_go != null)
{ {
Unit owner = Global.ObjAccessor.GetUnit(_go, _go.GetOwnerGUID()); Unit owner = Global.ObjAccessor.GetUnit(_go, _go.GetOwnerGUID());
if (owner) if (owner != null)
targets.Add(owner); targets.Add(owner);
} }
@@ -2978,7 +2978,7 @@ namespace Game.AI
} }
case SmartTargets.LootRecipients: case SmartTargets.LootRecipients:
{ {
if (_me) if (_me != null)
{ {
foreach (ObjectGuid tapperGuid in _me.GetTapList()) foreach (ObjectGuid tapperGuid in _me.GetTapList())
{ {
@@ -2991,7 +2991,7 @@ namespace Game.AI
} }
case SmartTargets.VehiclePassenger: case SmartTargets.VehiclePassenger:
{ {
if (_me && _me.IsVehicle()) if (_me != null && _me.IsVehicle())
{ {
foreach (var pair in _me.GetVehicleKit().Seats) foreach (var pair in _me.GetVehicleKit().Seats)
{ {
@@ -3527,7 +3527,7 @@ namespace Game.AI
} }
case SmartEvents.DistanceCreature: case SmartEvents.DistanceCreature:
{ {
if (!_me) if (_me == null)
return; return;
Creature creature = null; Creature creature = null;
@@ -3536,7 +3536,7 @@ namespace Game.AI
{ {
creature = FindCreatureNear(_me, e.Event.distance.guid); creature = FindCreatureNear(_me, e.Event.distance.guid);
if (!creature) if (creature == null)
return; return;
if (!_me.IsInRange(creature, 0, e.Event.distance.dist)) if (!_me.IsInRange(creature, 0, e.Event.distance.dist))
@@ -3550,14 +3550,14 @@ namespace Game.AI
creature = list.FirstOrDefault(); creature = list.FirstOrDefault();
} }
if (creature) if (creature != null)
ProcessTimedAction(e, e.Event.distance.repeat, e.Event.distance.repeat, creature); ProcessTimedAction(e, e.Event.distance.repeat, e.Event.distance.repeat, creature);
break; break;
} }
case SmartEvents.DistanceGameobject: case SmartEvents.DistanceGameobject:
{ {
if (!_me) if (_me == null)
return; return;
GameObject gameobject = null; GameObject gameobject = null;
@@ -3566,7 +3566,7 @@ namespace Game.AI
{ {
gameobject = FindGameObjectNear(_me, e.Event.distance.guid); gameobject = FindGameObjectNear(_me, e.Event.distance.guid);
if (!gameobject) if (gameobject == null)
return; return;
if (!_me.IsInRange(gameobject, 0, e.Event.distance.dist)) if (!_me.IsInRange(gameobject, 0, e.Event.distance.dist))
@@ -3580,7 +3580,7 @@ namespace Game.AI
gameobject = list.FirstOrDefault(); gameobject = list.FirstOrDefault();
} }
if (gameobject) if (gameobject != null)
ProcessTimedAction(e, e.Event.distance.repeat, e.Event.distance.repeat, null, 0, 0, false, null, gameobject); ProcessTimedAction(e, e.Event.distance.repeat, e.Event.distance.repeat, null, 0, 0, false, null, gameobject);
break; break;
@@ -3675,7 +3675,7 @@ namespace Game.AI
// Delay flee for assist event if stunned or rooted // Delay flee for assist event if stunned or rooted
if (e.GetActionType() == SmartActions.FleeForAssist) if (e.GetActionType() == SmartActions.FleeForAssist)
{ {
if (_me && _me.HasUnitState(UnitState.Root | UnitState.LostControl)) if (_me != null && _me.HasUnitState(UnitState.Root | UnitState.LostControl))
{ {
e.Timer = 1; e.Timer = 1;
return; return;
@@ -3766,7 +3766,7 @@ namespace Game.AI
{ {
if ((_scriptType == SmartScriptType.Creature || _scriptType == SmartScriptType.GameObject if ((_scriptType == SmartScriptType.Creature || _scriptType == SmartScriptType.GameObject
|| _scriptType == SmartScriptType.AreaTriggerEntity || _scriptType == SmartScriptType.AreaTriggerEntityServerside) || _scriptType == SmartScriptType.AreaTriggerEntity || _scriptType == SmartScriptType.AreaTriggerEntityServerside)
&& !GetBaseObject()) && GetBaseObject() == null)
return; return;
if (_me != null && _me.IsInEvadeMode()) if (_me != null && _me.IsInEvadeMode())
@@ -4093,7 +4093,7 @@ namespace Game.AI
Unit DoSelectLowestHpFriendly(float range, uint MinHPDiff) Unit DoSelectLowestHpFriendly(float range, uint MinHPDiff)
{ {
if (!_me) if (_me == null)
return null; return null;
var u_check = new MostHPMissingInRange<Unit>(_me, range, MinHPDiff); var u_check = new MostHPMissingInRange<Unit>(_me, range, MinHPDiff);
@@ -4144,7 +4144,7 @@ namespace Game.AI
Unit DoFindClosestFriendlyInRange(float range) Unit DoFindClosestFriendlyInRange(float range)
{ {
if (!_me) if (_me == null)
return null; return null;
var u_check = new AnyFriendlyUnitInObjectRangeCheck(_me, _me, range); var u_check = new AnyFriendlyUnitInObjectRangeCheck(_me, _me, range);
@@ -4230,11 +4230,11 @@ namespace Game.AI
public bool IsCharmedCreature(WorldObject obj) public bool IsCharmedCreature(WorldObject obj)
{ {
if (!obj) if (obj == null)
return false; return false;
Creature creatureObj = obj.ToCreature(); Creature creatureObj = obj.ToCreature();
if (creatureObj) if (creatureObj != null)
return creatureObj.IsCharmed(); return creatureObj.IsCharmed();
return false; return false;
@@ -4352,10 +4352,10 @@ namespace Game.AI
void ResetBaseObject() void ResetBaseObject()
{ {
WorldObject lookupRoot = _me; WorldObject lookupRoot = _me;
if (!lookupRoot) if (lookupRoot == null)
lookupRoot = _go; lookupRoot = _go;
if (lookupRoot) if (lookupRoot != null)
{ {
if (!_meOrigGUID.IsEmpty()) if (!_meOrigGUID.IsEmpty())
{ {
+3 -3
View File
@@ -80,10 +80,10 @@ namespace Game
ObjectGuid guid = ObjectGuid.Create(HighGuid.Player, result.Read<ulong>(0)); ObjectGuid guid = ObjectGuid.Create(HighGuid.Player, result.Read<ulong>(0));
// Kick if player is online // Kick if player is online
Player p = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (p) if (player != null)
{ {
WorldSession s = p.GetSession(); WorldSession s = player.GetSession();
s.KickPlayer("AccountMgr::DeleteAccount Deleting the account"); // mark session to remove at next session list update s.KickPlayer("AccountMgr::DeleteAccount Deleting the account"); // mark session to remove at next session list update
s.LogoutPlayer(false); // logout player without waiting next session list update s.LogoutPlayer(false); // logout player without waiting next session list update
} }
@@ -504,7 +504,7 @@ namespace Game.Achievements
if (achievement.Flags.HasAnyFlag(AchievementFlags.ShowInGuildNews)) if (achievement.Flags.HasAnyFlag(AchievementFlags.ShowInGuildNews))
{ {
Guild guild = referencePlayer.GetGuild(); Guild guild = referencePlayer.GetGuild();
if (guild) if (guild != null)
guild.AddGuildNews(GuildNews.PlayerAchievement, referencePlayer.GetGUID(), (uint)(achievement.Flags & AchievementFlags.ShowInGuildHeader), achievement.Id); guild.AddGuildNews(GuildNews.PlayerAchievement, referencePlayer.GetGUID(), (uint)(achievement.Flags & AchievementFlags.ShowInGuildHeader), achievement.Id);
} }
@@ -577,7 +577,7 @@ namespace Game.Achievements
SQLTransaction trans = new(); SQLTransaction trans = new();
Item item = reward.ItemId != 0 ? Item.CreateItem(reward.ItemId, 1, ItemContext.None, _owner) : null; Item item = reward.ItemId != 0 ? Item.CreateItem(reward.ItemId, 1, ItemContext.None, _owner) : null;
if (item) if (item != null)
{ {
// save new item before send // save new item before send
item.SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted item.SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted
@@ -654,7 +654,7 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.TrackingFlag)) if (!achievement.Flags.HasAnyFlag(AchievementFlags.TrackingFlag))
{ {
Guild guild = Global.GuildMgr.GetGuildById(_owner.GetGuildId()); Guild guild = Global.GuildMgr.GetGuildById(_owner.GetGuildId());
if (guild) if (guild != null)
{ {
BroadcastTextBuilder say_builder = new(_owner, ChatMsg.GuildAchievement, (uint)BroadcastTextIds.AchivementEarned, _owner.GetNativeGender(), _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); var say_do = new LocalizedDo(say_builder);
@@ -972,7 +972,7 @@ namespace Game.Achievements
if (achievement.Flags.HasAnyFlag(AchievementFlags.ShowInGuildNews)) if (achievement.Flags.HasAnyFlag(AchievementFlags.ShowInGuildNews))
{ {
Guild guild = referencePlayer.GetGuild(); Guild guild = referencePlayer.GetGuild();
if (guild) if (guild != null)
guild.AddGuildNews(GuildNews.Achievement, ObjectGuid.Empty, (uint)(achievement.Flags & AchievementFlags.ShowInGuildHeader), achievement.Id); guild.AddGuildNews(GuildNews.Achievement, ObjectGuid.Empty, (uint)(achievement.Flags & AchievementFlags.ShowInGuildHeader), achievement.Id);
} }
@@ -987,12 +987,12 @@ namespace Game.Achievements
ca.CompletingPlayers.Add(referencePlayer.GetGUID()); ca.CompletingPlayers.Add(referencePlayer.GetGUID());
Group group = referencePlayer.GetGroup(); Group group = referencePlayer.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player groupMember = refe.GetSource(); Player groupMember = refe.GetSource();
if (groupMember) if (groupMember != null)
if (groupMember.GetGuildId() == _owner.GetId()) if (groupMember.GetGuildId() == _owner.GetId())
ca.CompletingPlayers.Add(groupMember.GetGUID()); ca.CompletingPlayers.Add(groupMember.GetGUID());
} }
+32 -32
View File
@@ -51,7 +51,7 @@ namespace Game.Achievements
return; return;
} }
if (!referencePlayer) if (referencePlayer == null)
{ {
Log.outDebug(LogFilter.Achievement, "UpdateCriteria: Player is NULL! Cant update criteria"); Log.outDebug(LogFilter.Achievement, "UpdateCriteria: Player is NULL! Cant update criteria");
return; return;
@@ -590,7 +590,7 @@ namespace Game.Achievements
progress.Changed = true; progress.Changed = true;
progress.Date = GameTime.GetGameTime(); // set the date to the latest update. progress.Date = GameTime.GetGameTime(); // set the date to the latest update.
progress.PlayerGUID = referencePlayer ? referencePlayer.GetGUID() : ObjectGuid.Empty; progress.PlayerGUID = referencePlayer != null ? referencePlayer.GetGUID() : ObjectGuid.Empty;
_criteriaProgress[criteria.Id] = progress; _criteriaProgress[criteria.Id] = progress;
TimeSpan timeElapsed = TimeSpan.Zero; TimeSpan timeElapsed = TimeSpan.Zero;
@@ -898,7 +898,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case CriteriaFailEvent.ModifyPartyStatus: case CriteriaFailEvent.ModifyPartyStatus:
if (referencePlayer.GetGroup()) if (referencePlayer.GetGroup() != null)
return false; return false;
break; break;
default: default:
@@ -1010,7 +1010,7 @@ namespace Game.Achievements
return false; return false;
Map map = referencePlayer.IsInWorld ? referencePlayer.GetMap() : Global.MapMgr.FindMap(referencePlayer.GetMapId(), referencePlayer.GetInstanceId()); Map map = referencePlayer.IsInWorld ? referencePlayer.GetMap() : Global.MapMgr.FindMap(referencePlayer.GetMapId(), referencePlayer.GetInstanceId());
if (!map || !map.IsDungeon()) if (map == null || !map.IsDungeon())
return false; return false;
//FIXME: work only for instances where max == min for players //FIXME: work only for instances where max == min for players
@@ -1019,7 +1019,7 @@ namespace Game.Achievements
break; break;
} }
case CriteriaType.KilledByPlayer: case CriteriaType.KilledByPlayer:
if (miscValue1 == 0 || !refe || !refe.IsTypeId(TypeId.Player)) if (miscValue1 == 0 || refe == null || !refe.IsTypeId(TypeId.Player))
return false; return false;
break; break;
case CriteriaType.DieFromEnviromentalDamage: case CriteriaType.DieFromEnviromentalDamage:
@@ -1145,7 +1145,7 @@ namespace Game.Achievements
return false; return false;
// map specific case (BG in fact) expected player targeted damage/heal // map specific case (BG in fact) expected player targeted damage/heal
if (!refe || !refe.IsTypeId(TypeId.Player)) if (refe == null || !refe.IsTypeId(TypeId.Player))
return false; return false;
} }
break; break;
@@ -1369,17 +1369,17 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetToPlayerLevelDeltaGreaterThan: // 22 case ModifierTreeType.TargetToPlayerLevelDeltaGreaterThan: // 22
if (!refe || !refe.IsUnit() || referencePlayer.GetLevel() + reqValue < refe.ToUnit().GetLevel()) if (refe == null || !refe.IsUnit() || referencePlayer.GetLevel() + reqValue < refe.ToUnit().GetLevel())
return false; return false;
break; break;
case ModifierTreeType.PlayerLevelEqualTargetLevel: // 23 case ModifierTreeType.PlayerLevelEqualTargetLevel: // 23
if (!refe || !refe.IsUnit() || referencePlayer.GetLevel() != refe.ToUnit().GetLevel()) if (refe == null || !refe.IsUnit() || referencePlayer.GetLevel() != refe.ToUnit().GetLevel())
return false; return false;
break; break;
case ModifierTreeType.PlayerInArenaWithTeamSize: // 24 case ModifierTreeType.PlayerInArenaWithTeamSize: // 24
{ {
Battleground bg = referencePlayer.GetBattleground(); Battleground bg = referencePlayer.GetBattleground();
if (!bg || !bg.IsArena() || bg.GetArenaType() != (ArenaTypes)reqValue) if (bg == null || !bg.IsArena() || bg.GetArenaType() != (ArenaTypes)reqValue)
return false; return false;
break; break;
} }
@@ -1400,7 +1400,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.LessThanTappers: // 29 case ModifierTreeType.LessThanTappers: // 29
if (referencePlayer.GetGroup() && referencePlayer.GetGroup().GetMembersCount() >= reqValue) if (referencePlayer.GetGroup() != null && referencePlayer.GetGroup().GetMembersCount() >= reqValue)
return false; return false;
break; break;
case ModifierTreeType.CreatureType: // 30 case ModifierTreeType.CreatureType: // 30
@@ -1414,7 +1414,7 @@ namespace Game.Achievements
} }
case ModifierTreeType.CreatureFamily: // 31 case ModifierTreeType.CreatureFamily: // 31
{ {
if (!refe) if (refe == null)
return false; return false;
if (!refe.IsCreature() || refe.ToCreature().GetCreatureTemplate().Family != (CreatureFamily)reqValue) if (!refe.IsCreature() || refe.ToCreature().GetCreatureTemplate().Family != (CreatureFamily)reqValue)
return false; return false;
@@ -1434,11 +1434,11 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.PlayerIsNotInParty: // 35 case ModifierTreeType.PlayerIsNotInParty: // 35
if (referencePlayer.GetGroup()) if (referencePlayer.GetGroup() != null)
return false; return false;
break; break;
case ModifierTreeType.PlayerIsInParty: // 36 case ModifierTreeType.PlayerIsInParty: // 36
if (!referencePlayer.GetGroup()) if (referencePlayer.GetGroup() == null)
return false; return false;
break; break;
case ModifierTreeType.HasPersonalRatingEqualOrGreaterThan: // 37 case ModifierTreeType.HasPersonalRatingEqualOrGreaterThan: // 37
@@ -1469,7 +1469,7 @@ namespace Game.Achievements
} }
case ModifierTreeType.TargetIsInZone: // 42 case ModifierTreeType.TargetIsInZone: // 42
{ {
if (!refe) if (refe == null)
return false; return false;
uint zoneId = refe.GetAreaId(); uint zoneId = refe.GetAreaId();
AreaTableRecord areaEntry = CliDB.AreaTableStorage.LookupByKey(zoneId); AreaTableRecord areaEntry = CliDB.AreaTableStorage.LookupByKey(zoneId);
@@ -1496,11 +1496,11 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetHealthAbovePercent: // 47 case ModifierTreeType.TargetHealthAbovePercent: // 47
if (!refe || !refe.IsUnit() || refe.ToUnit().GetHealthPct() < reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetHealthPct() < reqValue)
return false; return false;
break; break;
case ModifierTreeType.TargetHealthEqualsPercent: // 48 case ModifierTreeType.TargetHealthEqualsPercent: // 48
if (!refe || !refe.IsUnit() || refe.ToUnit().GetHealthPct() != reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetHealthPct() != reqValue)
return false; return false;
break; break;
case ModifierTreeType.PlayerHealthBelowValue: // 49 case ModifierTreeType.PlayerHealthBelowValue: // 49
@@ -1516,15 +1516,15 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetHealthBelowValue: // 52 case ModifierTreeType.TargetHealthBelowValue: // 52
if (!refe || !refe.IsUnit() || refe.ToUnit().GetHealth() > reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetHealth() > reqValue)
return false; return false;
break; break;
case ModifierTreeType.TargetHealthAboveValue: // 53 case ModifierTreeType.TargetHealthAboveValue: // 53
if (!refe || !refe.IsUnit() || refe.ToUnit().GetHealth() < reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetHealth() < reqValue)
return false; return false;
break; break;
case ModifierTreeType.TargetHealthEqualsValue: // 54 case ModifierTreeType.TargetHealthEqualsValue: // 54
if (!refe || !refe.IsUnit() || refe.ToUnit().GetHealth() != reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetHealth() != reqValue)
return false; return false;
break; break;
case ModifierTreeType.TargetIsPlayerAndMeetsCondition: // 55 case ModifierTreeType.TargetIsPlayerAndMeetsCondition: // 55
@@ -1594,7 +1594,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetLevelEqualOrGreaterThan: // 70 case ModifierTreeType.TargetLevelEqualOrGreaterThan: // 70
if (!refe || !refe.IsUnit() || refe.ToUnit().GetLevel() < reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetLevel() < reqValue)
return false; return false;
break; break;
case ModifierTreeType.PlayerLevelEqualOrLessThan: // 71 case ModifierTreeType.PlayerLevelEqualOrLessThan: // 71
@@ -1602,7 +1602,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetLevelEqualOrLessThan: // 72 case ModifierTreeType.TargetLevelEqualOrLessThan: // 72
if (!refe || !refe.IsUnit() || refe.ToUnit().GetLevel() > reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetLevel() > reqValue)
return false; return false;
break; break;
case ModifierTreeType.ModifierTree: // 73 case ModifierTreeType.ModifierTree: // 73
@@ -2764,7 +2764,7 @@ namespace Game.Achievements
return false; return false;
Item artifact = referencePlayer.GetItemByGuid(artifactAura.GetCastItemGUID()); Item artifact = referencePlayer.GetItemByGuid(artifactAura.GetCastItemGUID());
if (!artifact) if (artifact == null)
return false; return false;
var artifactPower = artifact.GetArtifactPower((uint)secondaryAsset); var artifactPower = artifact.GetArtifactPower((uint)secondaryAsset);
@@ -2876,7 +2876,7 @@ namespace Game.Achievements
case ModifierTreeType.PlayerAzeriteLevelEqualOrGreaterThan: // 235 case ModifierTreeType.PlayerAzeriteLevelEqualOrGreaterThan: // 235
{ {
Item heartOfAzeroth = referencePlayer.GetItemByEntry(PlayerConst.ItemIdHeartOfAzeroth, ItemSearchLocation.Everywhere); Item heartOfAzeroth = referencePlayer.GetItemByEntry(PlayerConst.ItemIdHeartOfAzeroth, ItemSearchLocation.Everywhere);
if (!heartOfAzeroth || heartOfAzeroth.ToAzeriteItem().GetLevel() < reqValue) if (heartOfAzeroth == null || heartOfAzeroth.ToAzeriteItem().GetLevel() < reqValue)
return false; return false;
break; break;
} }
@@ -3050,7 +3050,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetAuraStackCountEqual: // 256 case ModifierTreeType.TargetAuraStackCountEqual: // 256
if (!refe || !refe.IsUnit() || refe.ToUnit().GetAuraCount((uint)secondaryAsset) != reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetAuraCount((uint)secondaryAsset) != reqValue)
return false; return false;
break; break;
case ModifierTreeType.PlayerAuraStackCountEqualOrGreaterThan: // 257 case ModifierTreeType.PlayerAuraStackCountEqualOrGreaterThan: // 257
@@ -3058,7 +3058,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetAuraStackCountEqualOrGreaterThan: // 258 case ModifierTreeType.TargetAuraStackCountEqualOrGreaterThan: // 258
if (!refe || !refe.IsUnit() || refe.ToUnit().GetAuraCount((uint)secondaryAsset) < reqValue) if (refe == null || !refe.IsUnit() || refe.ToUnit().GetAuraCount((uint)secondaryAsset) < reqValue)
return false; return false;
break; break;
case ModifierTreeType.PlayerHasAzeriteEssenceRankLessThan: // 259 case ModifierTreeType.PlayerHasAzeriteEssenceRankLessThan: // 259
@@ -3183,7 +3183,7 @@ namespace Game.Achievements
} }
case ModifierTreeType.TargetLevelWithinContentTuning: // 269 case ModifierTreeType.TargetLevelWithinContentTuning: // 269
{ {
if (!refe || !refe.IsUnit()) if (refe == null || !refe.IsUnit())
return false; return false;
uint level = refe.ToUnit().GetLevel(); uint level = refe.ToUnit().GetLevel();
@@ -3215,7 +3215,7 @@ namespace Game.Achievements
} }
case ModifierTreeType.TargetLevelWithinOrAboveContentTuning: // 273 case ModifierTreeType.TargetLevelWithinOrAboveContentTuning: // 273
{ {
if (!refe || !refe.IsUnit()) if (refe == null || !refe.IsUnit())
return false; return false;
uint level = refe.ToUnit().GetLevel(); uint level = refe.ToUnit().GetLevel();
@@ -3334,7 +3334,7 @@ namespace Game.Achievements
} }
case ModifierTreeType.TargetIsInAreaGroup: // 299 case ModifierTreeType.TargetIsInAreaGroup: // 299
{ {
if (!refe) if (refe == null)
return false; return false;
var areas = Global.DB2Mgr.GetAreasForGroup(reqValue); var areas = Global.DB2Mgr.GetAreasForGroup(reqValue);
@@ -3427,7 +3427,7 @@ namespace Game.Achievements
return false; return false;
break; break;
case ModifierTreeType.TargetCovenant: // 314 case ModifierTreeType.TargetCovenant: // 314
if (!refe || !refe.IsPlayer()) if (refe == null || !refe.IsPlayer())
return false; return false;
if (refe.ToPlayer().m_playerData.CovenantID != reqValue) if (refe.ToPlayer().m_playerData.CovenantID != reqValue)
return false; return false;
@@ -4560,7 +4560,7 @@ namespace Game.Achievements
case CriteriaDataType.Script: case CriteriaDataType.Script:
{ {
Unit unitTarget = null; Unit unitTarget = null;
if (target) if (target != null)
unitTarget = target.ToUnit(); unitTarget = target.ToUnit();
return Global.ScriptMgr.OnCriteriaCheck(ScriptId, source.ToPlayer(), unitTarget.ToUnit()); return Global.ScriptMgr.OnCriteriaCheck(ScriptId, source.ToPlayer(), unitTarget.ToUnit());
} }
@@ -4579,7 +4579,7 @@ namespace Game.Achievements
case CriteriaDataType.BgLossTeamScore: case CriteriaDataType.BgLossTeamScore:
{ {
Battleground bg = source.GetBattleground(); Battleground bg = source.GetBattleground();
if (!bg) if (bg == null)
return false; return false;
int score = (int)bg.GetTeamScore(bg.GetPlayerTeam(source.GetGUID()) == Team.Alliance ? Framework.Constants.TeamId.Horde : Framework.Constants.TeamId.Alliance); int score = (int)bg.GetTeamScore(bg.GetPlayerTeam(source.GetGUID()) == Team.Alliance ? Framework.Constants.TeamId.Horde : Framework.Constants.TeamId.Alliance);
@@ -4625,7 +4625,7 @@ namespace Game.Achievements
{ {
CharTitlesRecord titleInfo = CliDB.CharTitlesStorage.LookupByKey(KnownTitle.Id); CharTitlesRecord titleInfo = CliDB.CharTitlesStorage.LookupByKey(KnownTitle.Id);
if (titleInfo != null) if (titleInfo != null)
return source && source.HasTitle(titleInfo.MaskID); return source != null && source.HasTitle(titleInfo.MaskID);
return false; return false;
} }
+4 -4
View File
@@ -112,7 +112,7 @@ namespace Game.Arenas
if (winnerArenaTeam != null && loserArenaTeam != null && winnerArenaTeam != loserArenaTeam) if (winnerArenaTeam != null && loserArenaTeam != null && winnerArenaTeam != loserArenaTeam)
{ {
Player player = _GetPlayer(guid, bgPlayer.OfflineRemoveTime != 0, "Arena.RemovePlayerAtLeave"); Player player = _GetPlayer(guid, bgPlayer.OfflineRemoveTime != 0, "Arena.RemovePlayerAtLeave");
if (player) if (player != null)
loserArenaTeam.MemberLost(player, GetArenaMatchmakerRating(GetOtherTeam(bgPlayer.Team))); loserArenaTeam.MemberLost(player, GetArenaMatchmakerRating(GetOtherTeam(bgPlayer.Team)));
else else
loserArenaTeam.OfflineMemberLost(guid, GetArenaMatchmakerRating(GetOtherTeam(bgPlayer.Team))); loserArenaTeam.OfflineMemberLost(guid, GetArenaMatchmakerRating(GetOtherTeam(bgPlayer.Team)));
@@ -189,7 +189,7 @@ namespace Game.Arenas
foreach (var score in PlayerScores) foreach (var score in PlayerScores)
{ {
Player player = Global.ObjAccessor.FindPlayer(score.Key); Player player = Global.ObjAccessor.FindPlayer(score.Key);
if (player) if (player != null)
{ {
Log.outDebug(LogFilter.Arena, "Statistics match Type: {0} for {1} (GUID: {2}, Team: {3}, IP: {4}): {5}", Log.outDebug(LogFilter.Arena, "Statistics match Type: {0} for {1} (GUID: {2}, Team: {3}, IP: {4}): {5}",
GetArenaType(), player.GetName(), score.Key, player.GetArenaTeamId((byte)(GetArenaType() == ArenaTypes.Team5v5 ? 2 : (GetArenaType() == ArenaTypes.Team3v3 ? 1 : 0))), GetArenaType(), player.GetName(), score.Key, player.GetArenaTeamId((byte)(GetArenaType() == ArenaTypes.Team5v5 ? 2 : (GetArenaType() == ArenaTypes.Team3v3 ? 1 : 0))),
@@ -229,7 +229,7 @@ namespace Game.Arenas
} }
Player player = _GetPlayer(pair.Key, pair.Value.OfflineRemoveTime != 0, "Arena.EndBattleground"); Player player = _GetPlayer(pair.Key, pair.Value.OfflineRemoveTime != 0, "Arena.EndBattleground");
if (!player) if (player == null)
continue; continue;
// per player calculation // per player calculation
@@ -251,7 +251,7 @@ namespace Game.Arenas
if (guildId != 0) if (guildId != 0)
{ {
Guild guild = Global.GuildMgr.GetGuildById(guildId); Guild guild = Global.GuildMgr.GetGuildById(guildId);
if (guild) if (guild != null)
guild.UpdateCriteria(CriteriaType.WinAnyRankedArena, Math.Max(winnerArenaTeam.GetRating(), 1), 0, 0, null, player); guild.UpdateCriteria(CriteriaType.WinAnyRankedArena, Math.Max(winnerArenaTeam.GetRating(), 1), 0, 0, null, player);
} }
} }
+15 -15
View File
@@ -77,7 +77,7 @@ namespace Game.Arenas
// Get player name and class either from db or character cache // Get player name and class either from db or character cache
CharacterCacheEntry characterInfo; CharacterCacheEntry characterInfo;
Player player = Global.ObjAccessor.FindPlayer(playerGuid); Player player = Global.ObjAccessor.FindPlayer(playerGuid);
if (player) if (player != null)
{ {
playerClass = player.GetClass(); playerClass = player.GetClass();
playerName = player.GetName(); playerName = player.GetName();
@@ -91,7 +91,7 @@ namespace Game.Arenas
return false; return false;
// Check if player is already in a similar arena team // Check if player is already in a similar arena team
if ((player && player.GetArenaTeamId(GetSlot()) != 0) || Global.CharacterCacheStorage.GetCharacterArenaTeamIdByGuid(playerGuid, GetArenaType()) != 0) if ((player != null && player.GetArenaTeamId(GetSlot()) != 0) || Global.CharacterCacheStorage.GetCharacterArenaTeamIdByGuid(playerGuid, GetArenaType()) != 0)
{ {
Log.outDebug(LogFilter.Arena, "Arena: {0} {1} already has an arena team of type {2}", playerGuid.ToString(), playerName, GetArenaType()); Log.outDebug(LogFilter.Arena, "Arena: {0} {1} already has an arena team of type {2}", playerGuid.ToString(), playerName, GetArenaType());
return false; return false;
@@ -144,7 +144,7 @@ namespace Game.Arenas
DB.Characters.Execute(stmt); DB.Characters.Execute(stmt);
// Inform player if online // Inform player if online
if (player) if (player != null)
{ {
player.SetInArenaTeam(teamId, GetSlot(), GetArenaType()); player.SetInArenaTeam(teamId, GetSlot(), GetArenaType());
player.SetArenaTeamIdInvited(0); player.SetArenaTeamIdInvited(0);
@@ -254,7 +254,7 @@ namespace Game.Arenas
{ {
// Disable remove/promote buttons // Disable remove/promote buttons
Player oldCaptain = Global.ObjAccessor.FindPlayer(GetCaptain()); Player oldCaptain = Global.ObjAccessor.FindPlayer(GetCaptain());
if (oldCaptain) if (oldCaptain != null)
oldCaptain.SetArenaTeamInfoField(GetSlot(), ArenaTeamInfoType.Member, 1); oldCaptain.SetArenaTeamInfoField(GetSlot(), ArenaTeamInfoType.Member, 1);
// Set new captain // Set new captain
@@ -268,10 +268,10 @@ namespace Game.Arenas
// Enable remove/promote buttons // Enable remove/promote buttons
Player newCaptain = Global.ObjAccessor.FindPlayer(guid); Player newCaptain = Global.ObjAccessor.FindPlayer(guid);
if (newCaptain) if (newCaptain != null)
{ {
newCaptain.SetArenaTeamInfoField(GetSlot(), ArenaTeamInfoType.Member, 0); newCaptain.SetArenaTeamInfoField(GetSlot(), ArenaTeamInfoType.Member, 0);
if (oldCaptain) if (oldCaptain != null)
{ {
Log.outDebug(LogFilter.Arena, "Player: {0} [GUID: {1}] promoted player: {2} [GUID: {3}] to leader of arena team [Id: {4}, Name: {5}] [Type: {6}].", Log.outDebug(LogFilter.Arena, "Player: {0} [GUID: {1}] promoted player: {2} [GUID: {3}] to leader of arena team [Id: {4}, Name: {5}] [Type: {6}].",
oldCaptain.GetName(), oldCaptain.GetGUID().ToString(), newCaptain.GetName(), oldCaptain.GetName(), oldCaptain.GetGUID().ToString(), newCaptain.GetName(),
@@ -295,7 +295,7 @@ namespace Game.Arenas
// Remove arena team info from player data // Remove arena team info from player data
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
// delete all info regarding this team // delete all info regarding this team
for (uint i = 0; i < (int)ArenaTeamInfoType.End; ++i) for (uint i = 0; i < (int)ArenaTeamInfoType.End; ++i)
@@ -319,7 +319,7 @@ namespace Game.Arenas
if (session != null) if (session != null)
{ {
Player player = session.GetPlayer(); Player player = session.GetPlayer();
if (player) if (player != null)
Log.outDebug(LogFilter.Arena, "Player: {0} [GUID: {1}] disbanded arena team type: {2} [Id: {3}, Name: {4}].", player.GetName(), player.GetGUID().ToString(), GetArenaType(), GetId(), GetName()); Log.outDebug(LogFilter.Arena, "Player: {0} [GUID: {1}] disbanded arena team type: {2} [Id: {3}, Name: {4}].", player.GetName(), player.GetGUID().ToString(), GetArenaType(), GetId(), GetName());
} }
@@ -387,7 +387,7 @@ namespace Game.Arenas
foreach (var member in Members) foreach (var member in Members)
{ {
Player player = Global.ObjAccessor.FindPlayer(member.Guid); Player player = Global.ObjAccessor.FindPlayer(member.Guid);
if (player) if (player != null)
SendStats(player.GetSession()); SendStats(player.GetSession());
} }
} }
@@ -397,7 +397,7 @@ namespace Game.Arenas
foreach (var member in Members) foreach (var member in Members)
{ {
Player player = Global.ObjAccessor.FindPlayer(member.Guid); Player player = Global.ObjAccessor.FindPlayer(member.Guid);
if (player) if (player != null)
player.SendPacket(packet); player.SendPacket(packet);
} }
} }
@@ -441,7 +441,7 @@ namespace Game.Arenas
public uint GetAverageMMR(Group group) public uint GetAverageMMR(Group group)
{ {
if (!group) if (group == null)
return 0; return 0;
uint matchMakerRating = 0; uint matchMakerRating = 0;
@@ -449,7 +449,7 @@ namespace Game.Arenas
foreach (var member in Members) foreach (var member in Members)
{ {
// Skip if player is not online // Skip if player is not online
if (!Global.ObjAccessor.FindPlayer(member.Guid)) if (Global.ObjAccessor.FindPlayer(member.Guid) == null)
continue; continue;
// Skip if player is not a member of group // Skip if player is not a member of group
@@ -545,7 +545,7 @@ namespace Game.Arenas
foreach (var member in Members) foreach (var member in Members)
{ {
Player player = Global.ObjAccessor.FindPlayer(member.Guid); Player player = Global.ObjAccessor.FindPlayer(member.Guid);
if (player) if (player != null)
player.UpdateCriteria(CriteriaType.EarnTeamArenaRating, stats.Rating, type); player.UpdateCriteria(CriteriaType.EarnTeamArenaRating, stats.Rating, type);
} }
} }
@@ -740,7 +740,7 @@ namespace Game.Arenas
foreach (var member in Members) foreach (var member in Members)
{ {
Player player = Global.ObjAccessor.FindPlayer(member.Guid); Player player = Global.ObjAccessor.FindPlayer(member.Guid);
if (player) if (player != null)
if (player.GetMap().IsBattleArena()) if (player.GetMap().IsBattleArena())
return true; return true;
} }
@@ -816,7 +816,7 @@ namespace Game.Arenas
else else
PersonalRating += (ushort)mod; PersonalRating += (ushort)mod;
if (player) if (player != null)
{ {
player.SetArenaTeamInfoField(ArenaTeam.GetSlotByType(type), ArenaTeamInfoType.PersonalRating, PersonalRating); player.SetArenaTeamInfoField(ArenaTeam.GetSlotByType(type), ArenaTeamInfoType.PersonalRating, PersonalRating);
player.UpdateCriteria(CriteriaType.EarnPersonalArenaRating, PersonalRating, type); player.UpdateCriteria(CriteriaType.EarnPersonalArenaRating, PersonalRating, type);
+7 -7
View File
@@ -43,7 +43,7 @@ namespace Game.Arenas
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player player = _GetPlayer(pair, "BattlegroundDS::StartingEventOpenDoors"); Player player = _GetPlayer(pair, "BattlegroundDS::StartingEventOpenDoors");
if (player) if (player != null)
player.RemoveAurasDueToSpell(DalaranSewersSpells.DemonicCircle); player.RemoveAurasDueToSpell(DalaranSewersSpells.DemonicCircle);
} }
} }
@@ -92,9 +92,9 @@ namespace Game.Arenas
result &= AddObject(DalaranSewersObjectTypes.Water1, DalaranSewersGameObjects.Water1, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120); result &= AddObject(DalaranSewersObjectTypes.Water1, DalaranSewersGameObjects.Water1, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120);
result &= AddObject(DalaranSewersObjectTypes.Water2, DalaranSewersGameObjects.Water2, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120); result &= AddObject(DalaranSewersObjectTypes.Water2, DalaranSewersGameObjects.Water2, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120);
result &= AddCreature(DalaranSewersData.NpcWaterSpout, DalaranSewersCreatureTypes.WaterfallKnockback, 1292.587f, 790.2205f, 7.19796f, 3.054326f, TeamId.Neutral, BattlegroundConst.RespawnImmediately); result &= AddCreature(DalaranSewersData.NpcWaterSpout, DalaranSewersCreatureTypes.WaterfallKnockback, 1292.587f, 790.2205f, 7.19796f, 3.054326f, TeamId.Neutral, BattlegroundConst.RespawnImmediately) != null;
result &= AddCreature(DalaranSewersData.NpcWaterSpout, DalaranSewersCreatureTypes.PipeKnockback1, 1369.977f, 817.2882f, 16.08718f, 3.106686f, TeamId.Neutral, BattlegroundConst.RespawnImmediately); result &= AddCreature(DalaranSewersData.NpcWaterSpout, DalaranSewersCreatureTypes.PipeKnockback1, 1369.977f, 817.2882f, 16.08718f, 3.106686f, TeamId.Neutral, BattlegroundConst.RespawnImmediately) != null;
result &= AddCreature(DalaranSewersData.NpcWaterSpout, DalaranSewersCreatureTypes.PipeKnockback2, 1212.833f, 765.3871f, 16.09484f, 0.0f, TeamId.Neutral, BattlegroundConst.RespawnImmediately); result &= AddCreature(DalaranSewersData.NpcWaterSpout, DalaranSewersCreatureTypes.PipeKnockback2, 1212.833f, 765.3871f, 16.09484f, 0.0f, TeamId.Neutral, BattlegroundConst.RespawnImmediately) != null;
if (!result) if (!result)
{ {
Log.outError(LogFilter.Sql, "DalaranSewersArena: Failed to spawn collision object!"); Log.outError(LogFilter.Sql, "DalaranSewersArena: Failed to spawn collision object!");
@@ -135,7 +135,7 @@ namespace Game.Arenas
{ {
// Repeat knockback while the waterfall still active // Repeat knockback while the waterfall still active
Creature waterSpout = GetBGCreature(DalaranSewersCreatureTypes.WaterfallKnockback); Creature waterSpout = GetBGCreature(DalaranSewersCreatureTypes.WaterfallKnockback);
if (waterSpout) if (waterSpout != null)
waterSpout.CastSpell(waterSpout, DalaranSewersSpells.WaterSpout, true); waterSpout.CastSpell(waterSpout, DalaranSewersSpells.WaterSpout, true);
_events.ScheduleEvent(eventId, DalaranSewersData.WaterfallKnockbackTimer); _events.ScheduleEvent(eventId, DalaranSewersData.WaterfallKnockbackTimer);
} }
@@ -145,7 +145,7 @@ namespace Game.Arenas
for (int i = DalaranSewersCreatureTypes.PipeKnockback1; i <= DalaranSewersCreatureTypes.PipeKnockback2; ++i) for (int i = DalaranSewersCreatureTypes.PipeKnockback1; i <= DalaranSewersCreatureTypes.PipeKnockback2; ++i)
{ {
Creature waterSpout = GetBGCreature(i); Creature waterSpout = GetBGCreature(i);
if (waterSpout) if (waterSpout != null)
waterSpout.CastSpell(waterSpout, DalaranSewersSpells.Flush, true); waterSpout.CastSpell(waterSpout, DalaranSewersSpells.Flush, true);
} }
} }
@@ -154,7 +154,7 @@ namespace Game.Arenas
}); });
} }
EventMap _events; EventMap _events = new();
} }
struct DalaranSewersEvents struct DalaranSewersEvents
+2 -2
View File
@@ -160,7 +160,7 @@ namespace Game.Arenas
for (byte i = RingofValorObjectTypes.Pilar1; i <= RingofValorObjectTypes.PilarCollision4; ++i) for (byte i = RingofValorObjectTypes.Pilar1; i <= RingofValorObjectTypes.PilarCollision4; ++i)
{ {
GameObject go = GetBGObject(i); GameObject go = GetBGObject(i);
if (go) if (go != null)
{ {
if (i >= RingofValorObjectTypes.PilarCollision1) if (i >= RingofValorObjectTypes.PilarCollision1)
{ {
@@ -171,7 +171,7 @@ namespace Game.Arenas
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
go.SendUpdateToPlayer(player); go.SendUpdateToPlayer(player);
} }
} }
+15 -15
View File
@@ -256,7 +256,7 @@ namespace Game
public void AddAItem(Item item) public void AddAItem(Item item)
{ {
Cypher.Assert(item); Cypher.Assert(item != null);
Cypher.Assert(!_itemsByGuid.ContainsKey(item.GetGUID())); Cypher.Assert(!_itemsByGuid.ContainsKey(item.GetGUID()));
_itemsByGuid[item.GetGUID()] = item; _itemsByGuid[item.GetGUID()] = item;
} }
@@ -1263,7 +1263,7 @@ namespace Game
if (auctionItem.GetCount() >= remainingQuantity) if (auctionItem.GetCount() >= remainingQuantity)
{ {
Item clonedItem = auctionItem.CloneItem(remainingQuantity, player); Item clonedItem = auctionItem.CloneItem(remainingQuantity, player);
if (!clonedItem) if (clonedItem == null)
{ {
player.GetSession().SendAuctionCommandResult(0, AuctionCommand.PlaceBid, AuctionResult.CommodityPurchaseFailed, delayForNextAction); player.GetSession().SendAuctionCommandResult(0, AuctionCommand.PlaceBid, AuctionResult.CommodityPurchaseFailed, delayForNextAction);
return false; return false;
@@ -1366,9 +1366,9 @@ namespace Game
Player oldBidder = Global.ObjAccessor.FindConnectedPlayer(auction.Bidder); Player oldBidder = Global.ObjAccessor.FindConnectedPlayer(auction.Bidder);
// old bidder exist // old bidder exist
if ((oldBidder || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Bidder)))// && !sAuctionBotConfig.IsBotChar(auction.Bidder)) if ((oldBidder != null || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Bidder)))// && !sAuctionBotConfig.IsBotChar(auction.Bidder))
{ {
if (oldBidder) if (oldBidder != null)
{ {
AuctionOutbidNotification packet = new(); AuctionOutbidNotification packet = new();
packet.BidAmount = newBidAmount; packet.BidAmount = newBidAmount;
@@ -1388,14 +1388,14 @@ namespace Game
public void SendAuctionWon(AuctionPosting auction, Player bidder, SQLTransaction trans) public void SendAuctionWon(AuctionPosting auction, Player bidder, SQLTransaction trans)
{ {
uint bidderAccId; uint bidderAccId;
if (!bidder) if (bidder == null)
bidder = Global.ObjAccessor.FindConnectedPlayer(auction.Bidder); // try lookup bidder when called from .Update bidder = Global.ObjAccessor.FindConnectedPlayer(auction.Bidder); // try lookup bidder when called from .Update
// data for gm.log // data for gm.log
string bidderName = ""; string bidderName = "";
bool logGmTrade= auction.ServerFlags.HasFlag(AuctionPostingServerFlag.GmLogBuyer); bool logGmTrade= auction.ServerFlags.HasFlag(AuctionPostingServerFlag.GmLogBuyer);
if (bidder) if (bidder != null)
{ {
bidderAccId = bidder.GetSession().GetAccountId(); bidderAccId = bidder.GetSession().GetAccountId();
bidderName = bidder.GetName(); bidderName = bidder.GetName();
@@ -1437,7 +1437,7 @@ namespace Game
mail.AddItem(item); mail.AddItem(item);
} }
if (bidder) if (bidder != null)
{ {
AuctionWonNotification packet = new(); AuctionWonNotification packet = new();
packet.Info.Initialize(auction, auction.Items[0]); packet.Info.Initialize(auction, auction.Items[0]);
@@ -1460,17 +1460,17 @@ namespace Game
//call this method to send mail to auction owner, when auction is successful, it does not clear ram //call this method to send mail to auction owner, when auction is successful, it does not clear ram
public void SendAuctionSold(AuctionPosting auction, Player owner, SQLTransaction trans) public void SendAuctionSold(AuctionPosting auction, Player owner, SQLTransaction trans)
{ {
if (!owner) if (owner == null)
owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner); owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner);
// owner exist // owner exist
if ((owner || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Owner)))// && !sAuctionBotConfig.IsBotChar(auction.Owner)) if ((owner != null || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Owner)))// && !sAuctionBotConfig.IsBotChar(auction.Owner))
{ {
ulong auctionHouseCut = CalculateAuctionHouseCut(auction.BidAmount); ulong auctionHouseCut = CalculateAuctionHouseCut(auction.BidAmount);
ulong profit = auction.BidAmount + auction.Deposit - auctionHouseCut; ulong profit = auction.BidAmount + auction.Deposit - auctionHouseCut;
//FIXME: what do if owner offline //FIXME: what do if owner offline
if (owner) if (owner != null)
{ {
owner.UpdateCriteria(CriteriaType.MoneyEarnedFromAuctions, profit); owner.UpdateCriteria(CriteriaType.MoneyEarnedFromAuctions, profit);
owner.UpdateCriteria(CriteriaType.HighestAuctionSale, auction.BidAmount); owner.UpdateCriteria(CriteriaType.HighestAuctionSale, auction.BidAmount);
@@ -1489,9 +1489,9 @@ namespace Game
{ {
Player owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner); Player owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner);
// owner exist // owner exist
if ((owner || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Owner)))// && !sAuctionBotConfig.IsBotChar(auction.Owner)) if ((owner != null || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Owner)))// && !sAuctionBotConfig.IsBotChar(auction.Owner))
{ {
if (owner) if (owner != null)
owner.GetSession().SendAuctionClosedNotification(auction, 0.0f, false); owner.GetSession().SendAuctionClosedNotification(auction, 0.0f, false);
int itemIndex = 0; int itemIndex = 0;
@@ -1533,7 +1533,7 @@ namespace Game
Player bidder = Global.ObjAccessor.FindConnectedPlayer(auction.Bidder); Player bidder = Global.ObjAccessor.FindConnectedPlayer(auction.Bidder);
// bidder exist // bidder exist
if ((bidder || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Bidder)))// && !sAuctionBotConfig.IsBotChar(auction.Bidder)) if ((bidder != null || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Bidder)))// && !sAuctionBotConfig.IsBotChar(auction.Bidder))
new MailDraft(Global.AuctionHouseMgr.BuildItemAuctionMailSubject(AuctionMailType.Removed, auction), "") new MailDraft(Global.AuctionHouseMgr.BuildItemAuctionMailSubject(AuctionMailType.Removed, auction), "")
.AddMoney(auction.BidAmount) .AddMoney(auction.BidAmount)
.SendMailTo(trans, new MailReceiver(bidder, auction.Bidder), new MailSender(this), MailCheckMask.Copied); .SendMailTo(trans, new MailReceiver(bidder, auction.Bidder), new MailSender(this), MailCheckMask.Copied);
@@ -1541,11 +1541,11 @@ namespace Game
public void SendAuctionInvoice(AuctionPosting auction, Player owner, SQLTransaction trans) public void SendAuctionInvoice(AuctionPosting auction, Player owner, SQLTransaction trans)
{ {
if (!owner) if (owner == null)
owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner); owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner);
// owner exist (online or offline) // owner exist (online or offline)
if ((owner || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Owner)))// && !sAuctionBotConfig.IsBotChar(auction.Owner)) if ((owner != null || Global.CharacterCacheStorage.HasCharacterCacheEntry(auction.Owner)))// && !sAuctionBotConfig.IsBotChar(auction.Owner))
{ {
ByteBuffer tempBuffer = new(); ByteBuffer tempBuffer = new();
tempBuffer.WritePackedTime(GameTime.GetGameTime() + WorldConfig.GetIntValue(WorldCfg.MailDeliveryDelay)); tempBuffer.WritePackedTime(GameTime.GetGameTime() + WorldConfig.GetIntValue(WorldCfg.MailDeliveryDelay));
+35 -35
View File
@@ -83,7 +83,7 @@ namespace Game.BattleFields
{ {
m_PlayersInWar[player.GetTeamId()].Remove(player.GetGUID()); m_PlayersInWar[player.GetTeamId()].Remove(player.GetGUID());
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) // Remove the player from the raid group if (group != null) // Remove the player from the raid group
group.RemoveMember(player.GetGUID()); group.RemoveMember(player.GetGUID());
OnPlayerLeaveWar(player); OnPlayerLeaveWar(player);
@@ -171,7 +171,7 @@ namespace Game.BattleFields
foreach (var guid in m_players[team]) foreach (var guid in m_players[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
InvitePlayerToQueue(player); InvitePlayerToQueue(player);
} }
} }
@@ -193,7 +193,7 @@ namespace Game.BattleFields
foreach (var guid in m_PlayersInQueue[team]) foreach (var guid in m_PlayersInQueue[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
if (m_PlayersInWar[player.GetTeamId()].Count + m_InvitedPlayers[player.GetTeamId()].Count < m_MaxPlayer) if (m_PlayersInWar[player.GetTeamId()].Count + m_InvitedPlayers[player.GetTeamId()].Count < m_MaxPlayer)
InvitePlayerToWar(player); InvitePlayerToWar(player);
@@ -214,7 +214,7 @@ namespace Game.BattleFields
foreach (var guid in m_players[team]) foreach (var guid in m_players[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
if (m_PlayersInWar[player.GetTeamId()].Contains(player.GetGUID()) || m_InvitedPlayers[player.GetTeamId()].ContainsKey(player.GetGUID())) if (m_PlayersInWar[player.GetTeamId()].Contains(player.GetGUID()) || m_InvitedPlayers[player.GetTeamId()].ContainsKey(player.GetGUID()))
continue; continue;
@@ -229,14 +229,14 @@ namespace Game.BattleFields
void InvitePlayerToWar(Player player) void InvitePlayerToWar(Player player)
{ {
if (!player) if (player == null)
return; return;
// todo needed ? // todo needed ?
if (player.IsInFlight()) if (player.IsInFlight())
return; return;
if (player.InArena() || player.GetBattleground()) if (player.InArena() || player.GetBattleground() != null)
{ {
m_PlayersInQueue[player.GetTeamId()].Remove(player.GetGUID()); m_PlayersInQueue[player.GetTeamId()].Remove(player.GetGUID());
return; return;
@@ -262,7 +262,7 @@ namespace Game.BattleFields
public void InitStalker(uint entry, Position pos) public void InitStalker(uint entry, Position pos)
{ {
Creature creature = SpawnCreature(entry, pos); Creature creature = SpawnCreature(entry, pos);
if (creature) if (creature != null)
StalkerGuid = creature.GetGUID(); StalkerGuid = creature.GetGUID();
else else
Log.outError(LogFilter.Battlefield, "Battlefield.InitStalker: could not spawn Stalker (Creature entry {0}), zone messeges will be un-available", entry); Log.outError(LogFilter.Battlefield, "Battlefield.InitStalker: could not spawn Stalker (Creature entry {0}), zone messeges will be un-available", entry);
@@ -275,7 +275,7 @@ namespace Game.BattleFields
foreach (var guid in m_PlayersInWar[team]) foreach (var guid in m_PlayersInWar[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
if (player.IsAFK()) if (player.IsAFK())
KickPlayerFromBattlefield(guid); KickPlayerFromBattlefield(guid);
} }
@@ -285,7 +285,7 @@ namespace Game.BattleFields
public void KickPlayerFromBattlefield(ObjectGuid guid) public void KickPlayerFromBattlefield(ObjectGuid guid)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
if (player.GetZoneId() == GetZoneId()) if (player.GetZoneId() == GetZoneId())
player.TeleportTo(KickPosition); player.TeleportTo(KickPosition);
} }
@@ -383,7 +383,7 @@ namespace Game.BattleFields
foreach (var guid in m_PlayersInWar[teamIndex]) foreach (var guid in m_PlayersInWar[teamIndex])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
if (spellId > 0) if (spellId > 0)
player.CastSpell(player, (uint)spellId, true); player.CastSpell(player, (uint)spellId, true);
@@ -400,7 +400,7 @@ namespace Game.BattleFields
foreach (var guid in m_players[team]) foreach (var guid in m_players[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.SendPacket(data); player.SendPacket(data);
} }
} }
@@ -413,7 +413,7 @@ namespace Game.BattleFields
foreach (var guid in m_PlayersInQueue[team]) foreach (var guid in m_PlayersInQueue[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.SendPacket(data); player.SendPacket(data);
} }
} }
@@ -426,7 +426,7 @@ namespace Game.BattleFields
foreach (var guid in m_PlayersInWar[team]) foreach (var guid in m_PlayersInWar[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.SendPacket(data); player.SendPacket(data);
} }
} }
@@ -435,7 +435,7 @@ namespace Game.BattleFields
public void SendWarning(uint id, WorldObject target = null) public void SendWarning(uint id, WorldObject target = null)
{ {
Creature stalker = GetCreature(StalkerGuid); Creature stalker = GetCreature(StalkerGuid);
if (stalker) if (stalker != null)
Global.CreatureTextMgr.SendChat(stalker, (byte)id, target); Global.CreatureTextMgr.SendChat(stalker, (byte)id, target);
} }
@@ -472,7 +472,7 @@ namespace Game.BattleFields
creature.SetVisible(true); creature.SetVisible(true);
creature.RemoveUnitFlag(UnitFlags.NonAttackable); creature.RemoveUnitFlag(UnitFlags.NonAttackable);
creature.SetUninteractible(false); creature.SetUninteractible(false);
if (!creature.IsAlive()) if (creature.IsAlive())
creature.Respawn(true); creature.Respawn(true);
if (aggressive) if (aggressive)
creature.SetReactState(ReactStates.Aggressive); creature.SetReactState(ReactStates.Aggressive);
@@ -491,7 +491,7 @@ namespace Game.BattleFields
foreach (var guid in m_Groups[teamIndex]) foreach (var guid in m_Groups[teamIndex])
{ {
Group group = Global.GroupMgr.GetGroupByGUID(guid); Group group = Global.GroupMgr.GetGroupByGUID(guid);
if (group) if (group != null)
if (!group.IsFull()) if (!group.IsFull())
return group; return group;
} }
@@ -504,7 +504,7 @@ namespace Game.BattleFields
foreach (var guid in m_Groups[teamIndex]) foreach (var guid in m_Groups[teamIndex])
{ {
Group group = Global.GroupMgr.GetGroupByGUID(guid); Group group = Global.GroupMgr.GetGroupByGUID(guid);
if (group) if (group != null)
if (group.IsMember(plguid)) if (group.IsMember(plguid))
return group; return group;
} }
@@ -518,11 +518,11 @@ namespace Game.BattleFields
return false; return false;
Group oldgroup = player.GetGroup(); Group oldgroup = player.GetGroup();
if (oldgroup) if (oldgroup != null)
oldgroup.RemoveMember(player.GetGUID()); oldgroup.RemoveMember(player.GetGUID());
Group group = GetFreeBfRaid(player.GetTeamId()); Group group = GetFreeBfRaid(player.GetTeamId());
if (!group) if (group == null)
{ {
group = new Group(); group = new Group();
group.SetBattlefieldGroup(this); group.SetBattlefieldGroup(this);
@@ -594,7 +594,7 @@ namespace Game.BattleFields
} }
Creature creature = Creature.CreateCreature(entry, m_Map, pos); Creature creature = Creature.CreateCreature(entry, m_Map, pos);
if (!creature) if (creature == null)
{ {
Log.outError(LogFilter.Battlefield, "Battlefield:SpawnCreature: Can't create creature entry: {0}", entry); Log.outError(LogFilter.Battlefield, "Battlefield:SpawnCreature: Can't create creature entry: {0}", entry);
return null; return null;
@@ -621,7 +621,7 @@ namespace Game.BattleFields
// Create gameobject // Create gameobject
GameObject go = GameObject.CreateGameObject(entry, m_Map, pos, rotation, 255, GameObjectState.Ready); GameObject go = GameObject.CreateGameObject(entry, m_Map, pos, rotation, 255, GameObjectState.Ready);
if (!go) if (go == null)
{ {
Log.outError(LogFilter.Battlefield, "Battlefield:SpawnGameObject: Cannot create gameobject template {1}! Battlefield not created!", entry); Log.outError(LogFilter.Battlefield, "Battlefield:SpawnGameObject: Cannot create gameobject template {1}! Battlefield not created!", entry);
return null; return null;
@@ -637,14 +637,14 @@ namespace Game.BattleFields
public Creature GetCreature(ObjectGuid guid) public Creature GetCreature(ObjectGuid guid)
{ {
if (!m_Map) if (m_Map == null)
return null; return null;
return m_Map.GetCreature(guid); return m_Map.GetCreature(guid);
} }
public GameObject GetGameObject(ObjectGuid guid) public GameObject GetGameObject(ObjectGuid guid)
{ {
if (!m_Map) if (m_Map == null)
return null; return null;
return m_Map.GetGameObject(guid); return m_Map.GetGameObject(guid);
} }
@@ -788,7 +788,7 @@ namespace Game.BattleFields
public void SetSpirit(Creature spirit, int teamIndex) public void SetSpirit(Creature spirit, int teamIndex)
{ {
if (!spirit) if (spirit == null)
{ {
Log.outError(LogFilter.Battlefield, "BfGraveyard:SetSpirit: Invalid Spirit."); Log.outError(LogFilter.Battlefield, "BfGraveyard:SetSpirit: Invalid Spirit.");
return; return;
@@ -826,8 +826,8 @@ namespace Game.BattleFields
if (m_SpiritGuide[TeamId.Alliance].IsEmpty() || m_SpiritGuide[TeamId.Horde].IsEmpty()) if (m_SpiritGuide[TeamId.Alliance].IsEmpty() || m_SpiritGuide[TeamId.Horde].IsEmpty())
return false; return false;
if (!m_Bf.GetCreature(m_SpiritGuide[TeamId.Alliance]) || if (m_Bf.GetCreature(m_SpiritGuide[TeamId.Alliance]) == null ||
!m_Bf.GetCreature(m_SpiritGuide[TeamId.Horde])) m_Bf.GetCreature(m_SpiritGuide[TeamId.Horde]) == null)
return false; return false;
return (m_SpiritGuide[TeamId.Alliance] == guid || m_SpiritGuide[TeamId.Horde] == guid); return (m_SpiritGuide[TeamId.Alliance] == guid || m_SpiritGuide[TeamId.Horde] == guid);
@@ -869,7 +869,7 @@ namespace Game.BattleFields
if (!m_capturePointGUID.IsEmpty()) if (!m_capturePointGUID.IsEmpty())
{ {
GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID); GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID);
if (capturePoint) if (capturePoint != null)
{ {
player.SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldState1, 1); player.SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldState1, 1);
player.SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldstate2, (uint)(Math.Ceiling((m_value + m_maxValue) / (2 * m_maxValue) * 100.0f))); player.SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldstate2, (uint)(Math.Ceiling((m_value + m_maxValue) / (2 * m_maxValue) * 100.0f)));
@@ -885,7 +885,7 @@ namespace Game.BattleFields
if (!m_capturePointGUID.IsEmpty()) if (!m_capturePointGUID.IsEmpty())
{ {
GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID); GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID);
if (capturePoint) if (capturePoint != null)
player.SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldState1, 0); player.SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldState1, 0);
} }
@@ -898,7 +898,7 @@ namespace Game.BattleFields
return; return;
GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID); GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID);
if (capturePoint) if (capturePoint != null)
{ {
// send this too, sometimes the slider disappears, dunno why :( // send this too, sometimes the slider disappears, dunno why :(
SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldState1, 1); SendUpdateWorldState(capturePoint.GetGoInfo().ControlZone.worldState1, 1);
@@ -911,7 +911,7 @@ namespace Game.BattleFields
public bool SetCapturePointData(GameObject capturePoint) public bool SetCapturePointData(GameObject capturePoint)
{ {
Cypher.Assert(capturePoint); Cypher.Assert(capturePoint != null);
Log.outError(LogFilter.Battlefield, "Creating capture point {0}", capturePoint.GetEntry()); Log.outError(LogFilter.Battlefield, "Creating capture point {0}", capturePoint.GetEntry());
@@ -956,7 +956,7 @@ namespace Game.BattleFields
if (!m_capturePointGUID.IsEmpty()) if (!m_capturePointGUID.IsEmpty())
{ {
GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID); GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID);
if (capturePoint) if (capturePoint != null)
{ {
capturePoint.SetRespawnTime(0); // not save respawn time capturePoint.SetRespawnTime(0); // not save respawn time
capturePoint.Delete(); capturePoint.Delete();
@@ -974,7 +974,7 @@ namespace Game.BattleFields
return false; return false;
GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID); GameObject capturePoint = m_Bf.GetGameObject(m_capturePointGUID);
if (capturePoint) if (capturePoint != null)
{ {
float radius = capturePoint.GetGoInfo().ControlZone.radius; float radius = capturePoint.GetGoInfo().ControlZone.radius;
@@ -983,7 +983,7 @@ namespace Game.BattleFields
foreach (var guid in m_activePlayers[team]) foreach (var guid in m_activePlayers[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
if (!capturePoint.IsWithinDistInMap(player, radius) || !player.IsOutdoorPvPActive()) if (!capturePoint.IsWithinDistInMap(player, radius) || !player.IsOutdoorPvPActive())
HandlePlayerLeave(player); HandlePlayerLeave(player);
@@ -1098,7 +1098,7 @@ namespace Game.BattleFields
foreach (var guid in m_activePlayers[team]) // send to all players present in the area foreach (var guid in m_activePlayers[team]) // send to all players present in the area
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.SendUpdateWorldState(field, value); player.SendUpdateWorldState(field, value);
} }
} }
@@ -1123,7 +1123,7 @@ namespace Game.BattleFields
foreach (var _guid in m_activePlayers[team]) foreach (var _guid in m_activePlayers[team])
{ {
Player player = Global.ObjAccessor.FindPlayer(_guid); Player player = Global.ObjAccessor.FindPlayer(_guid);
if (player) if (player != null)
player.KilledMonsterCredit(id, guid); player.KilledMonsterCredit(id, guid);
} }
} }
+48 -51
View File
@@ -50,7 +50,7 @@ namespace Game.BattleGrounds
Global.BattlegroundMgr.RemoveBattleground(GetTypeID(), GetInstanceID()); Global.BattlegroundMgr.RemoveBattleground(GetTypeID(), GetInstanceID());
// unload map // unload map
if (m_Map) if (m_Map != null)
{ {
m_Map.UnloadAll(); // unload all objects (they may hold a reference to bg in their ZoneScript pointer) m_Map.UnloadAll(); // unload all objects (they may hold a reference to bg in their ZoneScript pointer)
m_Map.SetUnload(); // mark for deletion by MapManager m_Map.SetUnload(); // mark for deletion by MapManager
@@ -152,7 +152,7 @@ namespace Game.BattleGrounds
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
if (player.IsGameMaster()) if (player.IsGameMaster())
continue; continue;
@@ -273,7 +273,7 @@ namespace Game.BattleGrounds
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.ResetAllPowers(); player.ResetAllPowers();
} }
} }
@@ -291,7 +291,7 @@ namespace Game.BattleGrounds
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.SendPacket(timer); player.SendPacket(timer);
} }
@@ -302,7 +302,7 @@ namespace Game.BattleGrounds
{ {
m_Events |= BattlegroundEventFlags.Event1; m_Events |= BattlegroundEventFlags.Event1;
if (!FindBgMap()) if (FindBgMap() == null)
{ {
Log.outError(LogFilter.Battleground, $"Battleground._ProcessJoin: map (map id: {GetMapId()}, instance id: {m_InstanceID}) is not created!"); Log.outError(LogFilter.Battleground, $"Battleground._ProcessJoin: map (map id: {GetMapId()}, instance id: {m_InstanceID}) is not created!");
EndNow(); EndNow();
@@ -364,7 +364,7 @@ namespace Game.BattleGrounds
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
// Correctly display EnemyUnitFrame // Correctly display EnemyUnitFrame
player.SetArenaFaction((byte)player.GetBGTeam()); player.SetArenaFaction((byte)player.GetBGTeam());
@@ -393,7 +393,7 @@ namespace Game.BattleGrounds
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
player.RemoveAurasDueToSpell(BattlegroundConst.SpellPreparation); player.RemoveAurasDueToSpell(BattlegroundConst.SpellPreparation);
player.ResetAllPowers(); player.ResetAllPowers();
@@ -433,7 +433,7 @@ namespace Game.BattleGrounds
if (!offlineRemove) if (!offlineRemove)
{ {
player = Global.ObjAccessor.FindPlayer(guid); player = Global.ObjAccessor.FindPlayer(guid);
if (!player) if (player == null)
Log.outError(LogFilter.Battleground, $"Battleground.{context}: player ({guid}) not found for BG (map: {GetMapId()}, instance id: {m_InstanceID})!"); Log.outError(LogFilter.Battleground, $"Battleground.{context}: player ({guid}) not found for BG (map: {GetMapId()}, instance id: {m_InstanceID})!");
} }
return player; return player;
@@ -447,7 +447,7 @@ namespace Game.BattleGrounds
Player _GetPlayerForTeam(Team teamId, KeyValuePair<ObjectGuid, BattlegroundPlayer> pair, string context) Player _GetPlayerForTeam(Team teamId, KeyValuePair<ObjectGuid, BattlegroundPlayer> pair, string context)
{ {
Player player = _GetPlayer(pair, context); Player player = _GetPlayer(pair, context);
if (player) if (player != null)
{ {
Team team = pair.Value.Team; Team team = pair.Value.Team;
if (team == 0) if (team == 0)
@@ -460,7 +460,7 @@ namespace Game.BattleGrounds
public BattlegroundMap GetBgMap() public BattlegroundMap GetBgMap()
{ {
Cypher.Assert(m_Map); Cypher.Assert(m_Map != null);
return m_Map; return m_Map;
} }
@@ -480,7 +480,7 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayer(pair, "SendPacketToAll"); Player player = _GetPlayer(pair, "SendPacketToAll");
if (player) if (player != null)
player.SendPacket(packet); player.SendPacket(packet);
} }
} }
@@ -490,7 +490,7 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayerForTeam(team, pair, "SendPacketToTeam"); Player player = _GetPlayerForTeam(team, pair, "SendPacketToTeam");
if (player) if (player != null)
{ {
if (player != except) if (player != except)
player.SendPacket(packet); player.SendPacket(packet);
@@ -531,7 +531,7 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayerForTeam(team, pair, "CastSpellOnTeam"); Player player = _GetPlayerForTeam(team, pair, "CastSpellOnTeam");
if (player) if (player != null)
player.CastSpell(player, SpellID, true); player.CastSpell(player, SpellID, true);
} }
} }
@@ -541,7 +541,7 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayerForTeam(team, pair, "RemoveAuraOnTeam"); Player player = _GetPlayerForTeam(team, pair, "RemoveAuraOnTeam");
if (player) if (player != null)
player.RemoveAura(SpellID); player.RemoveAura(SpellID);
} }
} }
@@ -551,7 +551,7 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayerForTeam(team, pair, "RewardHonorToTeam"); Player player = _GetPlayerForTeam(team, pair, "RewardHonorToTeam");
if (player) if (player != null)
UpdatePlayerScore(player, ScoreType.BonusHonor, Honor); UpdatePlayerScore(player, ScoreType.BonusHonor, Honor);
} }
} }
@@ -565,7 +565,7 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayerForTeam(team, pair, "RewardReputationToTeam"); Player player = _GetPlayerForTeam(team, pair, "RewardReputationToTeam");
if (!player) if (player == null)
continue; continue;
if (player.HasPlayerFlagEx(PlayerFlagsEx.MercenaryMode)) if (player.HasPlayerFlagEx(PlayerFlagsEx.MercenaryMode))
@@ -648,7 +648,7 @@ namespace Game.BattleGrounds
Team team = pair.Value.Team; Team team = pair.Value.Team;
Player player = _GetPlayer(pair, "EndBattleground"); Player player = _GetPlayer(pair, "EndBattleground");
if (!player) if (player == null)
continue; continue;
// should remove spirit of redemption // should remove spirit of redemption
@@ -726,7 +726,7 @@ namespace Game.BattleGrounds
if (guildId != 0) if (guildId != 0)
{ {
Guild guild = Global.GuildMgr.GetGuildById(guildId); Guild guild = Global.GuildMgr.GetGuildById(guildId);
if (guild) if (guild != null)
guild.UpdateCriteria(CriteriaType.WinBattleground, player.GetMapId(), 0, 0, null, player); guild.UpdateCriteria(CriteriaType.WinBattleground, player.GetMapId(), 0, 0, null, player);
} }
} }
@@ -791,7 +791,7 @@ namespace Game.BattleGrounds
PlayerScores.Remove(guid); PlayerScores.Remove(guid);
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
// should remove spirit of redemption // should remove spirit of redemption
if (player.HasAuraType(AuraType.SpiritOfRedemption)) if (player.HasAuraType(AuraType.SpiritOfRedemption))
@@ -822,7 +822,7 @@ namespace Game.BattleGrounds
if (participant) // if the player was a match participant, remove auras, calc rating, update queue if (participant) // if the player was a match participant, remove auras, calc rating, update queue
{ {
if (player) if (player != null)
{ {
player.ClearAfkReports(); player.ClearAfkReports();
@@ -847,7 +847,7 @@ namespace Game.BattleGrounds
// remove from raid group if player is member // remove from raid group if player is member
Group group = GetBgRaid(team); Group group = GetBgRaid(team);
if (group) if (group != null)
{ {
if (!group.RemoveMember(guid)) // group was disbanded if (!group.RemoveMember(guid)) // group was disbanded
SetBgRaid(team, null); SetBgRaid(team, null);
@@ -866,7 +866,7 @@ namespace Game.BattleGrounds
SendPacketToTeam(team, playerLeft, player); SendPacketToTeam(team, playerLeft, player);
} }
if (player) if (player != null)
{ {
// Do next only if found in Battleground // Do next only if found in Battleground
player.SetBattlegroundId(0, BattlegroundTypeId.None); // We're not in BG. player.SetBattlegroundId(0, BattlegroundTypeId.None); // We're not in BG.
@@ -1055,7 +1055,7 @@ namespace Game.BattleGrounds
{ {
ObjectGuid playerGuid = player.GetGUID(); ObjectGuid playerGuid = player.GetGUID();
Group group = GetBgRaid(team); Group group = GetBgRaid(team);
if (!group) // first player joined if (group == null) // first player joined
{ {
group = new Group(); group = new Group();
SetBgRaid(team, group); SetBgRaid(team, group);
@@ -1072,7 +1072,8 @@ namespace Game.BattleGrounds
{ {
group.AddMember(player); group.AddMember(player);
Group originalGroup = player.GetOriginalGroup(); Group originalGroup = player.GetOriginalGroup();
if (originalGroup) if (originalGroup != null)
{
if (originalGroup.IsLeader(playerGuid)) if (originalGroup.IsLeader(playerGuid))
{ {
group.ChangeLeader(playerGuid); group.ChangeLeader(playerGuid);
@@ -1081,6 +1082,7 @@ namespace Game.BattleGrounds
} }
} }
} }
}
// This method should be called when player logs into running Battleground // This method should be called when player logs into running Battleground
public void EventPlayerLoggedIn(Player player) public void EventPlayerLoggedIn(Player player)
@@ -1235,7 +1237,7 @@ namespace Game.BattleGrounds
score.Value.BuildPvPLogPlayerDataPacket(out playerData); score.Value.BuildPvPLogPlayerDataPacket(out playerData);
Player player = Global.ObjAccessor.GetPlayer(GetBgMap(), playerData.PlayerGUID); Player player = Global.ObjAccessor.GetPlayer(GetBgMap(), playerData.PlayerGUID);
if (player) if (player != null)
{ {
playerData.IsInWorld = true; playerData.IsInWorld = true;
playerData.PrimaryTalentTree = (int)player.GetPrimarySpecialization(); playerData.PrimaryTalentTree = (int)player.GetPrimarySpecialization();
@@ -1269,7 +1271,7 @@ namespace Game.BattleGrounds
public bool AddObject(int type, uint entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint respawnTime = 0, GameObjectState goState = GameObjectState.Ready) public bool AddObject(int type, uint entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint respawnTime = 0, GameObjectState goState = GameObjectState.Ready)
{ {
Map map = FindBgMap(); Map map = FindBgMap();
if (!map) if (map == null)
return false; return false;
Quaternion rotation = new(rotation0, rotation1, rotation2, rotation3); Quaternion rotation = new(rotation0, rotation1, rotation2, rotation3);
@@ -1286,7 +1288,7 @@ namespace Game.BattleGrounds
// and when loading it (in go.LoadFromDB()), a new guid would be assigned to the object, and a new object would be created // and when loading it (in go.LoadFromDB()), a new guid would be assigned to the object, and a new object would be created
// So we must create it specific for this instance // So we must create it specific for this instance
GameObject go = GameObject.CreateGameObject(entry, GetBgMap(), new Position(x, y, z, o), rotation, 255, goState); GameObject go = GameObject.CreateGameObject(entry, GetBgMap(), new Position(x, y, z, o), rotation, 255, goState);
if (!go) if (go == null)
{ {
Log.outError(LogFilter.Battleground, $"Battleground.AddObject: cannot create gameobject (entry: {entry}) for BG (map: {GetMapId()}, instance id: {m_InstanceID})!"); Log.outError(LogFilter.Battleground, $"Battleground.AddObject: cannot create gameobject (entry: {entry}) for BG (map: {GetMapId()}, instance id: {m_InstanceID})!");
return false; return false;
@@ -1310,7 +1312,7 @@ namespace Game.BattleGrounds
public void DoorClose(int type) public void DoorClose(int type)
{ {
GameObject obj = GetBgMap().GetGameObject(BgObjects[type]); GameObject obj = GetBgMap().GetGameObject(BgObjects[type]);
if (obj) if (obj != null)
{ {
// If doors are open, close it // If doors are open, close it
if (obj.GetLootState() == LootState.Activated && obj.GetGoState() != GameObjectState.Ready) if (obj.GetLootState() == LootState.Activated && obj.GetGoState() != GameObjectState.Ready)
@@ -1326,7 +1328,7 @@ namespace Game.BattleGrounds
public void DoorOpen(int type) public void DoorOpen(int type)
{ {
GameObject obj = GetBgMap().GetGameObject(BgObjects[type]); GameObject obj = GetBgMap().GetGameObject(BgObjects[type]);
if (obj) if (obj != null)
{ {
obj.SetLootState(LootState.Activated); obj.SetLootState(LootState.Activated);
obj.SetGoState(GameObjectState.Active); obj.SetGoState(GameObjectState.Active);
@@ -1341,7 +1343,7 @@ namespace Game.BattleGrounds
return null; return null;
GameObject obj = GetBgMap().GetGameObject(BgObjects[type]); GameObject obj = GetBgMap().GetGameObject(BgObjects[type]);
if (!obj) if (obj == null)
Log.outError(LogFilter.Battleground, $"Battleground.GetBGObject: gameobject (type: {type}, {BgObjects[type]}) not found for BG (map: {GetMapId()}, instance id: {m_InstanceID})!"); Log.outError(LogFilter.Battleground, $"Battleground.GetBGObject: gameobject (type: {type}, {BgObjects[type]}) not found for BG (map: {GetMapId()}, instance id: {m_InstanceID})!");
return obj; return obj;
@@ -1353,7 +1355,7 @@ namespace Game.BattleGrounds
return null; return null;
Creature creature = GetBgMap().GetCreature(BgCreatures[type]); Creature creature = GetBgMap().GetCreature(BgCreatures[type]);
if (!creature) if (creature == null)
Log.outError(LogFilter.Battleground, $"Battleground.GetBGCreature: creature (type: {type}, {BgCreatures[type]}) not found for BG (map: {GetMapId()}, instance id: {m_InstanceID})!"); Log.outError(LogFilter.Battleground, $"Battleground.GetBGCreature: creature (type: {type}, {BgCreatures[type]}) not found for BG (map: {GetMapId()}, instance id: {m_InstanceID})!");
return creature; return creature;
@@ -1370,7 +1372,7 @@ namespace Game.BattleGrounds
if (map != null) if (map != null)
{ {
GameObject obj = map.GetGameObject(BgObjects[type]); GameObject obj = map.GetGameObject(BgObjects[type]);
if (obj) if (obj != null)
{ {
if (respawntime != 0) if (respawntime != 0)
{ {
@@ -1400,7 +1402,7 @@ namespace Game.BattleGrounds
public virtual Creature AddCreature(uint entry, int type, float x, float y, float z, float o, int teamIndex = TeamId.Neutral, uint respawntime = 0, Transport transport = null) public virtual Creature AddCreature(uint entry, int type, float x, float y, float z, float o, int teamIndex = TeamId.Neutral, uint respawntime = 0, Transport transport = null)
{ {
Map map = FindBgMap(); Map map = FindBgMap();
if (!map) if (map == null)
return null; return null;
if (Global.ObjectMgr.GetCreatureTemplate(entry) == null) if (Global.ObjectMgr.GetCreatureTemplate(entry) == null)
@@ -1410,10 +1412,10 @@ namespace Game.BattleGrounds
} }
if (transport) if (transport != null)
{ {
Creature transCreature = transport.SummonPassenger(entry, new Position(x, y, z, o), TempSummonType.ManualDespawn); Creature transCreature = transport.SummonPassenger(entry, new Position(x, y, z, o), TempSummonType.ManualDespawn);
if (transCreature) if (transCreature != null)
{ {
BgCreatures[type] = transCreature.GetGUID(); BgCreatures[type] = transCreature.GetGUID();
return transCreature; return transCreature;
@@ -1425,7 +1427,7 @@ namespace Game.BattleGrounds
Position pos = new(x, y, z, o); Position pos = new(x, y, z, o);
Creature creature = Creature.CreateCreature(entry, map, pos); Creature creature = Creature.CreateCreature(entry, map, pos);
if (!creature) if (creature == null)
{ {
Log.outError(LogFilter.Battleground, $"Battleground.AddCreature: cannot create creature (entry: {entry}) for BG (map: {GetMapId()}, instance id: {m_InstanceID})!"); Log.outError(LogFilter.Battleground, $"Battleground.AddCreature: cannot create creature (entry: {entry}) for BG (map: {GetMapId()}, instance id: {m_InstanceID})!");
return null; return null;
@@ -1455,7 +1457,7 @@ namespace Game.BattleGrounds
return true; return true;
Creature creature = GetBgMap().GetCreature(BgCreatures[type]); Creature creature = GetBgMap().GetCreature(BgCreatures[type]);
if (creature) if (creature != null)
{ {
creature.AddObjectToRemoveList(); creature.AddObjectToRemoveList();
BgCreatures[type].Clear(); BgCreatures[type].Clear();
@@ -1473,7 +1475,7 @@ namespace Game.BattleGrounds
return true; return true;
GameObject obj = GetBgMap().GetGameObject(BgObjects[type]); GameObject obj = GetBgMap().GetGameObject(BgObjects[type]);
if (obj) if (obj != null)
{ {
obj.SetRespawnTime(0); // not save respawn time obj.SetRespawnTime(0); // not save respawn time
obj.Delete(); obj.Delete();
@@ -1562,7 +1564,7 @@ namespace Game.BattleGrounds
// Add +1 deaths // Add +1 deaths
UpdatePlayerScore(victim, ScoreType.Deaths, 1); UpdatePlayerScore(victim, ScoreType.Deaths, 1);
// Add +1 kills to group and +1 killing_blows to killer // Add +1 kills to group and +1 killing_blows to killer
if (killer) if (killer != null)
{ {
// Don't reward credit for killing ourselves, like fall damage of hellfire (warlock) // Don't reward credit for killing ourselves, like fall damage of hellfire (warlock)
if (killer == victim) if (killer == victim)
@@ -1576,7 +1578,7 @@ namespace Game.BattleGrounds
foreach (var (guid, player) in m_Players) foreach (var (guid, player) in m_Players)
{ {
Player creditedPlayer = Global.ObjAccessor.FindPlayer(guid); Player creditedPlayer = Global.ObjAccessor.FindPlayer(guid);
if (!creditedPlayer || creditedPlayer == killer) if (creditedPlayer == null || creditedPlayer == killer)
continue; continue;
if (player.Team == killerTeam && creditedPlayer.IsAtGroupRewardDistance(victim)) if (player.Team == killerTeam && creditedPlayer.IsAtGroupRewardDistance(victim))
@@ -1650,7 +1652,7 @@ namespace Game.BattleGrounds
if (pair.Value.Team == Team) if (pair.Value.Team == Team)
{ {
Player player = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player && player.IsAlive()) if (player != null && player.IsAlive())
++count; ++count;
} }
} }
@@ -1669,9 +1671,9 @@ namespace Game.BattleGrounds
void SetBgRaid(Team team, Group bg_raid) void SetBgRaid(Team team, Group bg_raid)
{ {
Group old_raid = m_BgRaids[GetTeamIndexByTeamId(team)]; Group old_raid = m_BgRaids[GetTeamIndexByTeamId(team)];
if (old_raid) if (old_raid != null)
old_raid.SetBattlegroundGroup(null); old_raid.SetBattlegroundGroup(null);
if (bg_raid) if (bg_raid != null)
bg_raid.SetBattlegroundGroup(this); bg_raid.SetBattlegroundGroup(this);
m_BgRaids[GetTeamIndexByTeamId(team)] = bg_raid; m_BgRaids[GetTeamIndexByTeamId(team)] = bg_raid;
} }
@@ -1688,7 +1690,7 @@ namespace Game.BattleGrounds
foreach (var guid in GetPlayers().Keys) foreach (var guid in GetPlayers().Keys)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
GameEvents.TriggerForPlayer(gameEventId, player); GameEvents.TriggerForPlayer(gameEventId, player);
} }
} }
@@ -1700,7 +1702,7 @@ namespace Game.BattleGrounds
void RewardXPAtKill(Player killer, Player victim) void RewardXPAtKill(Player killer, Player victim)
{ {
if (WorldConfig.GetBoolValue(WorldCfg.BgXpForKill) && killer && victim) if (WorldConfig.GetBoolValue(WorldCfg.BgXpForKill) && killer != null && victim != null)
new KillRewarder(new[] { killer }, victim, true).Reward(); new KillRewarder(new[] { killer }, victim, true).Reward();
} }
@@ -1911,16 +1913,11 @@ namespace Game.BattleGrounds
foreach (var pair in m_Players) foreach (var pair in m_Players)
{ {
Player player = _GetPlayer(pair, "BroadcastWorker"); Player player = _GetPlayer(pair, "BroadcastWorker");
if (player) if (player != null)
_do.Invoke(player); _do.Invoke(player);
} }
} }
public static implicit operator bool (Battleground bg)
{
return bg != null;
}
#region Fields #region Fields
protected Dictionary<ObjectGuid, BattlegroundScore> PlayerScores = new(); // Player scores protected Dictionary<ObjectGuid, BattlegroundScore> PlayerScores = new(); // Player scores
// Player lists, those need to be accessible by inherited classes // Player lists, those need to be accessible by inherited classes
@@ -189,7 +189,7 @@ namespace Game.BattleGrounds
{ {
var bgs = it.Value.m_Battlegrounds; var bgs = it.Value.m_Battlegrounds;
var bg = bgs.LookupByKey(instanceId); var bg = bgs.LookupByKey(instanceId);
if (bg) if (bg != null)
return bg; return bg;
} }
@@ -402,7 +402,7 @@ namespace Game.BattleGrounds
public void SendToBattleground(Player player, uint instanceId, BattlegroundTypeId bgTypeId) public void SendToBattleground(Player player, uint instanceId, BattlegroundTypeId bgTypeId)
{ {
Battleground bg = GetBattleground(instanceId, bgTypeId); Battleground bg = GetBattleground(instanceId, bgTypeId);
if (bg) if (bg != null)
{ {
uint mapid = bg.GetMapId(); uint mapid = bg.GetMapId();
Team team = player.GetBGTeam(); Team team = player.GetBGTeam();
@@ -676,7 +676,7 @@ namespace Game.BattleGrounds
public void AddBattleground(Battleground bg) public void AddBattleground(Battleground bg)
{ {
if (bg) if (bg != null)
bgDataStore[bg.GetTypeID()].m_Battlegrounds[bg.GetInstanceID()] = bg; bgDataStore[bg.GetTypeID()].m_Battlegrounds[bg.GetInstanceID()] = bg;
} }
+11 -11
View File
@@ -80,12 +80,12 @@ namespace Game.BattleGrounds
} }
//add players from group to ginfo //add players from group to ginfo
if (group) if (group != null)
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player member = refe.GetSource(); Player member = refe.GetSource();
if (!member) if (member == null)
continue; // this should never happen continue; // this should never happen
PlayerQueueInfo pl_info = new(); PlayerQueueInfo pl_info = new();
@@ -210,7 +210,7 @@ namespace Game.BattleGrounds
{ {
string playerName = "Unknown"; string playerName = "Unknown";
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
playerName = player.GetName(); playerName = player.GetName();
Log.outDebug(LogFilter.Battleground, "BattlegroundQueue: couldn't find player {0} ({1})", playerName, guid.ToString()); Log.outDebug(LogFilter.Battleground, "BattlegroundQueue: couldn't find player {0} ({1})", playerName, guid.ToString());
return; return;
@@ -264,7 +264,7 @@ namespace Game.BattleGrounds
if (decreaseInvitedCount && group.IsInvitedToBGInstanceGUID != 0) if (decreaseInvitedCount && group.IsInvitedToBGInstanceGUID != 0)
{ {
Battleground bg = Global.BattlegroundMgr.GetBattleground(group.IsInvitedToBGInstanceGUID, (BattlegroundTypeId)m_queueId.BattlemasterListId); Battleground bg = Global.BattlegroundMgr.GetBattleground(group.IsInvitedToBGInstanceGUID, (BattlegroundTypeId)m_queueId.BattlemasterListId);
if (bg) if (bg != null)
bg.DecreaseInvitedCount(group.Team); bg.DecreaseInvitedCount(group.Team);
} }
@@ -287,7 +287,7 @@ namespace Game.BattleGrounds
{ {
Log.outDebug(LogFilter.Battleground, "UPDATING memberLost's personal arena rating for {0} by opponents rating: {1}", guid.ToString(), group.OpponentsTeamRating); Log.outDebug(LogFilter.Battleground, "UPDATING memberLost's personal arena rating for {0} by opponents rating: {1}", guid.ToString(), group.OpponentsTeamRating);
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
at.MemberLost(player, group.OpponentsMatchmakerRating); at.MemberLost(player, group.OpponentsMatchmakerRating);
else else
at.OfflineMemberLost(guid, group.OpponentsMatchmakerRating); at.OfflineMemberLost(guid, group.OpponentsMatchmakerRating);
@@ -310,7 +310,7 @@ namespace Game.BattleGrounds
// remove next player, this is recursive // remove next player, this is recursive
// first send removal information // first send removal information
Player plr2 = Global.ObjAccessor.FindConnectedPlayer(group.Players.FirstOrDefault().Key); Player plr2 = Global.ObjAccessor.FindConnectedPlayer(group.Players.FirstOrDefault().Key);
if (plr2) if (plr2 != null)
{ {
uint queueSlot = plr2.GetBattlegroundQueueIndex(m_queueId); uint queueSlot = plr2.GetBattlegroundQueueIndex(m_queueId);
@@ -378,7 +378,7 @@ namespace Game.BattleGrounds
// get the player // get the player
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
// if offline, skip him, this should not happen - player is removed from queue when he logs out // if offline, skip him, this should not happen - player is removed from queue when he logs out
if (!player) if (player == null)
continue; continue;
// invite the player // invite the player
@@ -911,7 +911,7 @@ namespace Game.BattleGrounds
GroupQueueInfo aTeam = queueArray[TeamId.Alliance]; GroupQueueInfo aTeam = queueArray[TeamId.Alliance];
GroupQueueInfo hTeam = queueArray[TeamId.Horde]; GroupQueueInfo hTeam = queueArray[TeamId.Horde];
Battleground arena = Global.BattlegroundMgr.CreateNewBattleground(m_queueId, bracket_id); Battleground arena = Global.BattlegroundMgr.CreateNewBattleground(m_queueId, bracket_id);
if (!arena) if (arena == null)
{ {
Log.outError(LogFilter.Battleground, "BattlegroundQueue.Update couldn't create arena instance for rated arena match!"); Log.outError(LogFilter.Battleground, "BattlegroundQueue.Update couldn't create arena instance for rated arena match!");
return; return;
@@ -1156,7 +1156,7 @@ namespace Game.BattleGrounds
{ {
Player player = Global.ObjAccessor.FindPlayer(m_PlayerGuid); Player player = Global.ObjAccessor.FindPlayer(m_PlayerGuid);
// player logged off (we should do nothing, he is correctly removed from queue in another procedure) // player logged off (we should do nothing, he is correctly removed from queue in another procedure)
if (!player) if (player == null)
return true; return true;
Battleground bg = Global.BattlegroundMgr.GetBattleground(m_BgInstanceGUID, m_BgTypeId); Battleground bg = Global.BattlegroundMgr.GetBattleground(m_BgInstanceGUID, m_BgTypeId);
@@ -1206,7 +1206,7 @@ namespace Game.BattleGrounds
public override bool Execute(ulong e_time, uint p_time) public override bool Execute(ulong e_time, uint p_time)
{ {
Player player = Global.ObjAccessor.FindPlayer(m_PlayerGuid); Player player = Global.ObjAccessor.FindPlayer(m_PlayerGuid);
if (!player) if (player == null)
// player logged off (we should do nothing, he is correctly removed from queue in another procedure) // player logged off (we should do nothing, he is correctly removed from queue in another procedure)
return true; return true;
@@ -1226,7 +1226,7 @@ namespace Game.BattleGrounds
player.RemoveBattlegroundQueueId(m_BgQueueTypeId); player.RemoveBattlegroundQueueId(m_BgQueueTypeId);
bgQueue.RemovePlayer(m_PlayerGuid, true); bgQueue.RemovePlayer(m_PlayerGuid, true);
//update queues if Battleground isn't ended //update queues if Battleground isn't ended
if (bg && bg.IsBattleground() && bg.GetStatus() != BattlegroundStatus.WaitLeave) if (bg != null && bg.IsBattleground() && bg.GetStatus() != BattlegroundStatus.WaitLeave)
Global.BattlegroundMgr.ScheduleQueueUpdate(0, m_BgQueueTypeId, bg.GetBracketId()); Global.BattlegroundMgr.ScheduleQueueUpdate(0, m_BgQueueTypeId, bg.GetBracketId());
BattlefieldStatusNone battlefieldStatus; BattlefieldStatusNone battlefieldStatus;
@@ -354,13 +354,13 @@ namespace Game.BattleGrounds.Zones
CastSpellOnTeam(BattlegroundConst.AbQuestReward4Bases, team); CastSpellOnTeam(BattlegroundConst.AbQuestReward4Bases, team);
Creature trigger = !BgCreatures[node + 7].IsEmpty() ? GetBGCreature(node + 7) : null; // 0-6 spirit guides Creature trigger = !BgCreatures[node + 7].IsEmpty() ? GetBGCreature(node + 7) : null; // 0-6 spirit guides
if (!trigger) if (trigger == null)
trigger = AddCreature(SharedConst.WorldTrigger, node + 7, NodePositions[node], GetTeamIndexByTeamId(team)); trigger = AddCreature(SharedConst.WorldTrigger, node + 7, NodePositions[node], GetTeamIndexByTeamId(team));
//add bonus honor aura trigger creature when node is accupied //add bonus honor aura trigger creature when node is accupied
//cast bonus aura (+50% honor in 25yards) //cast bonus aura (+50% honor in 25yards)
//aura should only apply to players who have accupied the node, set correct faction for trigger //aura should only apply to players who have accupied the node, set correct faction for trigger
if (trigger) if (trigger != null)
{ {
trigger.SetFaction(team == Team.Alliance ? 84u : 83u); trigger.SetFaction(team == Team.Alliance ? 84u : 83u);
trigger.CastSpell(trigger, BattlegroundConst.SpellHonorableDefender25y, false); trigger.CastSpell(trigger, BattlegroundConst.SpellHonorableDefender25y, false);
@@ -389,7 +389,7 @@ namespace Game.BattleGrounds.Zones
byte node = ABBattlegroundNodes.NodeStables; byte node = ABBattlegroundNodes.NodeStables;
GameObject obj = GetBgMap().GetGameObject(BgObjects[node * 8 + 7]); GameObject obj = GetBgMap().GetGameObject(BgObjects[node * 8 + 7]);
while ((node < ABBattlegroundNodes.DynamicNodesCount) && ((!obj) || (!source.IsWithinDistInMap(obj, 10)))) while ((node < ABBattlegroundNodes.DynamicNodesCount) && ((obj == null) || (!source.IsWithinDistInMap(obj, 10))))
{ {
++node; ++node;
obj = GetBgMap().GetGameObject(BgObjects[node * 8 + ABObjectTypes.AuraContested]); obj = GetBgMap().GetGameObject(BgObjects[node * 8 + ABObjectTypes.AuraContested]);
@@ -153,13 +153,13 @@ namespace Game.BattleGrounds.Zones
for (byte i = 0; i < EotSPoints.PointsMax; ++i) for (byte i = 0; i < EotSPoints.PointsMax; ++i)
{ {
obj = GetBgMap().GetGameObject(BgObjects[EotSObjectTypes.TowerCapFelReaver + i]); obj = GetBgMap().GetGameObject(BgObjects[EotSObjectTypes.TowerCapFelReaver + i]);
if (obj) if (obj != null)
{ {
byte j = 0; byte j = 0;
while (j < m_PlayersNearPoint[EotSPoints.PointsMax].Count) while (j < m_PlayersNearPoint[EotSPoints.PointsMax].Count)
{ {
Player player = Global.ObjAccessor.FindPlayer(m_PlayersNearPoint[EotSPoints.PointsMax][j]); Player player = Global.ObjAccessor.FindPlayer(m_PlayersNearPoint[EotSPoints.PointsMax][j]);
if (!player) if (player == null)
{ {
Log.outError(LogFilter.Battleground, "BattlegroundEY:CheckSomeoneJoinedPoint: Player ({0}) could not be found!", m_PlayersNearPoint[EotSPoints.PointsMax][j].ToString()); Log.outError(LogFilter.Battleground, "BattlegroundEY:CheckSomeoneJoinedPoint: Player ({0}) could not be found!", m_PlayersNearPoint[EotSPoints.PointsMax][j].ToString());
++j; ++j;
@@ -194,13 +194,13 @@ namespace Game.BattleGrounds.Zones
for (byte i = 0; i < EotSPoints.PointsMax; ++i) for (byte i = 0; i < EotSPoints.PointsMax; ++i)
{ {
obj = GetBgMap().GetGameObject(BgObjects[EotSObjectTypes.TowerCapFelReaver + i]); obj = GetBgMap().GetGameObject(BgObjects[EotSObjectTypes.TowerCapFelReaver + i]);
if (obj) if (obj != null)
{ {
byte j = 0; byte j = 0;
while (j < m_PlayersNearPoint[i].Count) while (j < m_PlayersNearPoint[i].Count)
{ {
Player player = Global.ObjAccessor.FindPlayer(m_PlayersNearPoint[i][j]); Player player = Global.ObjAccessor.FindPlayer(m_PlayersNearPoint[i][j]);
if (!player) if (player == null)
{ {
Log.outError(LogFilter.Battleground, "BattlegroundEY:CheckSomeoneLeftPoint Player ({0}) could not be found!", m_PlayersNearPoint[i][j].ToString()); Log.outError(LogFilter.Battleground, "BattlegroundEY:CheckSomeoneLeftPoint Player ({0}) could not be found!", m_PlayersNearPoint[i][j].ToString());
//move non-existing players to "free space" - this will cause many errors showing in log, but it is a very important bug //move non-existing players to "free space" - this will cause many errors showing in log, but it is a very important bug
@@ -256,7 +256,7 @@ namespace Game.BattleGrounds.Zones
for (byte i = 0; i < m_PlayersNearPoint[point].Count; ++i) for (byte i = 0; i < m_PlayersNearPoint[point].Count; ++i)
{ {
Player player = Global.ObjAccessor.FindPlayer(m_PlayersNearPoint[point][i]); Player player = Global.ObjAccessor.FindPlayer(m_PlayersNearPoint[point][i]);
if (player) if (player != null)
{ {
player.SendUpdateWorldState(EotSWorldStateIds.ProgressBarStatus, (uint)m_PointBarStatus[point]); player.SendUpdateWorldState(EotSWorldStateIds.ProgressBarStatus, (uint)m_PointBarStatus[point]);
Team team = GetPlayerTeam(player.GetGUID()); Team team = GetPlayerTeam(player.GetGUID());
@@ -375,7 +375,7 @@ namespace Game.BattleGrounds.Zones
{ {
if (m_FlagKeeper == guid) if (m_FlagKeeper == guid)
{ {
if (player) if (player != null)
EventPlayerDroppedFlag(player); EventPlayerDroppedFlag(player);
else else
{ {
@@ -578,7 +578,7 @@ namespace Game.BattleGrounds.Zones
RespawnFlag(true); RespawnFlag(true);
GameObject obj = GetBgMap().GetGameObject(GetDroppedFlagGUID()); GameObject obj = GetBgMap().GetGameObject(GetDroppedFlagGUID());
if (obj) if (obj != null)
obj.Delete(); obj.Delete();
else else
Log.outError(LogFilter.Battleground, "BattlegroundEY: Unknown dropped flag ({0}).", GetDroppedFlagGUID().ToString()); Log.outError(LogFilter.Battleground, "BattlegroundEY: Unknown dropped flag ({0}).", GetDroppedFlagGUID().ToString());
@@ -764,13 +764,13 @@ namespace Game.BattleGrounds.Zones
return; return;
Creature trigger = GetBGCreature(Point + 6);//0-5 spirit guides Creature trigger = GetBGCreature(Point + 6);//0-5 spirit guides
if (!trigger) if (trigger == null)
trigger = AddCreature(SharedConst.WorldTrigger, Point + 6, EotSMisc.TriggerPositions[Point], GetTeamIndexByTeamId(Team)); trigger = AddCreature(SharedConst.WorldTrigger, Point + 6, EotSMisc.TriggerPositions[Point], GetTeamIndexByTeamId(Team));
//add bonus honor aura trigger creature when node is accupied //add bonus honor aura trigger creature when node is accupied
//cast bonus aura (+50% honor in 25yards) //cast bonus aura (+50% honor in 25yards)
//aura should only apply to players who have accupied the node, set correct faction for trigger //aura should only apply to players who have accupied the node, set correct faction for trigger
if (trigger) if (trigger != null)
{ {
trigger.SetFaction(Team == Team.Alliance ? 84u : 83); trigger.SetFaction(Team == Team.Alliance ? 84u : 83);
trigger.CastSpell(trigger, BattlegroundConst.SpellHonorableDefender25y, false); trigger.CastSpell(trigger, BattlegroundConst.SpellHonorableDefender25y, false);
@@ -58,7 +58,7 @@ namespace Game.BattleGrounds.Zones
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player player = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player) if (player != null)
SendTransportsRemove(player); SendTransportsRemove(player);
} }
@@ -77,7 +77,7 @@ namespace Game.BattleGrounds.Zones
for (byte i = 0; i < GateStatus.Length; ++i) for (byte i = 0; i < GateStatus.Length; ++i)
GateStatus[i] = Attackers == TeamId.Horde ? SAGateState.AllianceGateOk : SAGateState.HordeGateOk; GateStatus[i] = Attackers == TeamId.Horde ? SAGateState.AllianceGateOk : SAGateState.HordeGateOk;
if (!AddCreature(SAMiscConst.NpcEntries[SACreatureTypes.Kanrethad], SACreatureTypes.Kanrethad, SAMiscConst.NpcSpawnlocs[SACreatureTypes.Kanrethad])) if (AddCreature(SAMiscConst.NpcEntries[SACreatureTypes.Kanrethad], SACreatureTypes.Kanrethad, SAMiscConst.NpcSpawnlocs[SACreatureTypes.Kanrethad]) == null)
{ {
Log.outError(LogFilter.Battleground, $"SOTA: couldn't spawn Kanrethad, aborted. Entry: {SAMiscConst.NpcEntries[SACreatureTypes.Kanrethad]}"); Log.outError(LogFilter.Battleground, $"SOTA: couldn't spawn Kanrethad, aborted. Entry: {SAMiscConst.NpcEntries[SACreatureTypes.Kanrethad]}");
return false; return false;
@@ -135,7 +135,7 @@ namespace Game.BattleGrounds.Zones
//By capturing GYs. //By capturing GYs.
for (byte i = 0; i < SACreatureTypes.Demolisher5; i++) for (byte i = 0; i < SACreatureTypes.Demolisher5; i++)
{ {
if (!AddCreature(SAMiscConst.NpcEntries[i], i, SAMiscConst.NpcSpawnlocs[i], Attackers == TeamId.Alliance ? TeamId.Horde : TeamId.Alliance, 600)) if (AddCreature(SAMiscConst.NpcEntries[i], i, SAMiscConst.NpcSpawnlocs[i], Attackers == TeamId.Alliance ? TeamId.Horde : TeamId.Alliance, 600) == null)
{ {
Log.outError(LogFilter.Battleground, $"SOTA: couldn't spawn Cannon or demolisher, Entry: {SAMiscConst.NpcEntries[i]}, Attackers: {(Attackers == TeamId.Alliance ? "Horde(1)" : "Alliance(0)")}"); Log.outError(LogFilter.Battleground, $"SOTA: couldn't spawn Cannon or demolisher, Entry: {SAMiscConst.NpcEntries[i]}, Attackers: {(Attackers == TeamId.Alliance ? "Horde(1)" : "Alliance(0)")}");
continue; continue;
@@ -252,7 +252,7 @@ namespace Game.BattleGrounds.Zones
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player player = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player) if (player != null)
SendTransportInit(player); SendTransportInit(player);
} }
} }
@@ -276,15 +276,15 @@ namespace Game.BattleGrounds.Zones
{ {
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player p = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (p) if (player != null)
{ {
UpdateData data = new(p.GetMapId()); UpdateData data = new(player.GetMapId());
GetBGObject(i).BuildValuesUpdateBlockForPlayer(data, p); GetBGObject(i).BuildValuesUpdateBlockForPlayer(data, player);
UpdateObject pkt; UpdateObject pkt;
data.BuildPacket(out pkt); data.BuildPacket(out pkt);
p.SendPacket(pkt); player.SendPacket(pkt);
} }
} }
} }
@@ -318,9 +318,9 @@ namespace Game.BattleGrounds.Zones
UpdateWorldState(SAWorldStateIds.Timer, (int)(GameTime.GetGameTime() + EndRoundTimer)); UpdateWorldState(SAWorldStateIds.Timer, (int)(GameTime.GetGameTime() + EndRoundTimer));
if (TotalTime >= SATimers.WarmupLength) if (TotalTime >= SATimers.WarmupLength)
{ {
Creature c = GetBGCreature(SACreatureTypes.Kanrethad); Creature creature = GetBGCreature(SACreatureTypes.Kanrethad);
if (c) if (creature != null)
SendChatMessage(c, SATextIds.RoundStarted); SendChatMessage(creature, SATextIds.RoundStarted);
TotalTime = 0; TotalTime = 0;
ToggleTimer(); ToggleTimer();
@@ -342,9 +342,9 @@ namespace Game.BattleGrounds.Zones
UpdateWorldState(SAWorldStateIds.Timer, (int)(GameTime.GetGameTime() + EndRoundTimer)); UpdateWorldState(SAWorldStateIds.Timer, (int)(GameTime.GetGameTime() + EndRoundTimer));
if (TotalTime >= 60000) if (TotalTime >= 60000)
{ {
Creature c = GetBGCreature(SACreatureTypes.Kanrethad); Creature creature = GetBGCreature(SACreatureTypes.Kanrethad);
if (c) if (creature != null)
SendChatMessage(c, SATextIds.RoundStarted); SendChatMessage(creature, SATextIds.RoundStarted);
TotalTime = 0; TotalTime = 0;
ToggleTimer(); ToggleTimer();
@@ -355,9 +355,9 @@ namespace Game.BattleGrounds.Zones
SetStatus(BattlegroundStatus.InProgress); SetStatus(BattlegroundStatus.InProgress);
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player p = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (p) if (player != null)
p.RemoveAurasDueToSpell(BattlegroundConst.SpellPreparation); player.RemoveAurasDueToSpell(BattlegroundConst.SpellPreparation);
} }
} }
if (TotalTime >= 30000) if (TotalTime >= 30000)
@@ -443,7 +443,7 @@ namespace Game.BattleGrounds.Zones
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player player = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player) if (player != null)
{ {
// should remove spirit of redemption // should remove spirit of redemption
if (player.HasAuraType(AuraType.SpiritOfRedemption)) if (player.HasAuraType(AuraType.SpiritOfRedemption))
@@ -488,12 +488,12 @@ namespace Game.BattleGrounds.Zones
public override void ProcessEvent(WorldObject obj, uint eventId, WorldObject invoker = null) public override void ProcessEvent(WorldObject obj, uint eventId, WorldObject invoker = null)
{ {
GameObject go = obj.ToGameObject(); GameObject go = obj.ToGameObject();
if (go) if (go != null)
{ {
switch (go.GetGoType()) switch (go.GetGoType())
{ {
case GameObjectTypes.Goober: case GameObjectTypes.Goober:
if (invoker) if (invoker != null)
if (eventId == (uint)SAEventIds.BG_SA_EVENT_TITAN_RELIC_ACTIVATED) if (eventId == (uint)SAEventIds.BG_SA_EVENT_TITAN_RELIC_ACTIVATED)
TitanRelicActivated(invoker.ToPlayer()); TitanRelicActivated(invoker.ToPlayer());
break; break;
@@ -509,9 +509,9 @@ namespace Game.BattleGrounds.Zones
{ {
GateStatus[gateId] = Attackers == TeamId.Horde ? SAGateState.AllianceGateDamaged : SAGateState.HordeGateDamaged; GateStatus[gateId] = Attackers == TeamId.Horde ? SAGateState.AllianceGateDamaged : SAGateState.HordeGateDamaged;
Creature c = obj.FindNearestCreature(SharedConst.WorldTrigger, 500.0f); Creature creature = obj.FindNearestCreature(SharedConst.WorldTrigger, 500.0f);
if (c) if (creature != null)
SendChatMessage(c, (byte)gate.DamagedText, invoker); SendChatMessage(creature, (byte)gate.DamagedText, invoker);
PlaySoundToAll(Attackers == TeamId.Alliance ? SASoundIds.WallAttackedAlliance : SASoundIds.WallAttackedHorde); PlaySoundToAll(Attackers == TeamId.Alliance ? SASoundIds.WallAttackedAlliance : SASoundIds.WallAttackedHorde);
} }
@@ -523,9 +523,9 @@ namespace Game.BattleGrounds.Zones
if (gateId < 5) if (gateId < 5)
DelObject((int)gateId + 14); DelObject((int)gateId + 14);
Creature c = obj.FindNearestCreature(SharedConst.WorldTrigger, 500.0f); Creature creature = obj.FindNearestCreature(SharedConst.WorldTrigger, 500.0f);
if (c) if (creature != null)
SendChatMessage(c, (byte)gate.DestroyedText, invoker); SendChatMessage(creature, (byte)gate.DestroyedText, invoker);
PlaySoundToAll(Attackers == TeamId.Alliance ? SASoundIds.WallDestroyedAlliance : SASoundIds.WallDestroyedHorde); PlaySoundToAll(Attackers == TeamId.Alliance ? SASoundIds.WallDestroyedAlliance : SASoundIds.WallDestroyedHorde);
@@ -552,13 +552,13 @@ namespace Game.BattleGrounds.Zones
break; break;
} }
if (invoker) if (invoker != null)
{ {
Unit unit = invoker.ToUnit(); Unit unit = invoker.ToUnit();
if (unit) if (unit != null)
{ {
Player player = unit.GetCharmerOrOwnerPlayerOrPlayerItself(); Player player = unit.GetCharmerOrOwnerPlayerOrPlayerItself();
if (player) if (player != null)
{ {
UpdatePlayerScore(player, ScoreType.DestroyedWall, 1); UpdatePlayerScore(player, ScoreType.DestroyedWall, 1);
if (rewardHonor) if (rewardHonor)
@@ -605,14 +605,14 @@ namespace Game.BattleGrounds.Zones
for (byte i = SACreatureTypes.Gun1; i <= SACreatureTypes.Gun10; i++) for (byte i = SACreatureTypes.Gun1; i <= SACreatureTypes.Gun10; i++)
{ {
Creature gun = GetBGCreature(i); Creature gun = GetBGCreature(i);
if (gun) if (gun != null)
gun.SetFaction(SAMiscConst.Factions[Attackers != 0 ? TeamId.Alliance : TeamId.Horde]); gun.SetFaction(SAMiscConst.Factions[Attackers != 0 ? TeamId.Alliance : TeamId.Horde]);
} }
for (byte i = SACreatureTypes.Demolisher1; i <= SACreatureTypes.Demolisher4; i++) for (byte i = SACreatureTypes.Demolisher1; i <= SACreatureTypes.Demolisher4; i++)
{ {
Creature dem = GetBGCreature(i); Creature dem = GetBGCreature(i);
if (dem) if (dem != null)
dem.SetFaction(SAMiscConst.Factions[Attackers]); dem.SetFaction(SAMiscConst.Factions[Attackers]);
} }
} }
@@ -626,7 +626,7 @@ namespace Game.BattleGrounds.Zones
for (byte i = SACreatureTypes.Demolisher1; i <= SACreatureTypes.Demolisher4; i++) for (byte i = SACreatureTypes.Demolisher1; i <= SACreatureTypes.Demolisher4; i++)
{ {
Creature dem = GetBGCreature(i); Creature dem = GetBGCreature(i);
if (dem) if (dem != null)
{ {
if (start) if (start)
{ {
@@ -704,7 +704,7 @@ namespace Game.BattleGrounds.Zones
void UpdateObjectInteractionFlags(uint objectId) void UpdateObjectInteractionFlags(uint objectId)
{ {
GameObject go = GetBGObject((int)objectId); GameObject go = GetBGObject((int)objectId);
if (go) if (go != null)
{ {
if (CanInteractWithObject(objectId)) if (CanInteractWithObject(objectId))
go.RemoveFlag(GameObjectFlags.NotSelectable); go.RemoveFlag(GameObjectFlags.NotSelectable);
@@ -774,23 +774,23 @@ namespace Game.BattleGrounds.Zones
npc = SACreatureTypes.Rigspark; npc = SACreatureTypes.Rigspark;
Creature rigspark = AddCreature(SAMiscConst.NpcEntries[npc], (int)npc, SAMiscConst.NpcSpawnlocs[npc], Attackers); Creature rigspark = AddCreature(SAMiscConst.NpcEntries[npc], (int)npc, SAMiscConst.NpcSpawnlocs[npc], Attackers);
if (rigspark) if (rigspark != null)
rigspark.GetAI().Talk(SATextIds.SparklightRigsparkSpawn); rigspark.GetAI().Talk(SATextIds.SparklightRigsparkSpawn);
for (byte j = SACreatureTypes.Demolisher7; j <= SACreatureTypes.Demolisher8; j++) for (byte j = SACreatureTypes.Demolisher7; j <= SACreatureTypes.Demolisher8; j++)
{ {
AddCreature(SAMiscConst.NpcEntries[j], j, SAMiscConst.NpcSpawnlocs[j], (Attackers == TeamId.Alliance ? TeamId.Horde : TeamId.Alliance), 600); AddCreature(SAMiscConst.NpcEntries[j], j, SAMiscConst.NpcSpawnlocs[j], (Attackers == TeamId.Alliance ? TeamId.Horde : TeamId.Alliance), 600);
Creature dem = GetBGCreature(j); Creature dem = GetBGCreature(j);
if (dem) if (dem != null)
dem.SetFaction(SAMiscConst.Factions[Attackers]); dem.SetFaction(SAMiscConst.Factions[Attackers]);
} }
UpdateWorldState(SAWorldStateIds.LeftGyAlliance, GraveyardStatus[i] == TeamId.Alliance ? 1 : 0); UpdateWorldState(SAWorldStateIds.LeftGyAlliance, GraveyardStatus[i] == TeamId.Alliance ? 1 : 0);
UpdateWorldState(SAWorldStateIds.LeftGyHorde, GraveyardStatus[i] == TeamId.Horde ? 1 : 0); UpdateWorldState(SAWorldStateIds.LeftGyHorde, GraveyardStatus[i] == TeamId.Horde ? 1 : 0);
Creature c = source.FindNearestCreature(SharedConst.WorldTrigger, 500.0f); Creature creature = source.FindNearestCreature(SharedConst.WorldTrigger, 500.0f);
if (c) if (creature != null)
SendChatMessage(c, teamId == TeamId.Alliance ? SATextIds.WestGraveyardCapturedA : SATextIds.WestGraveyardCapturedH, source); SendChatMessage(creature, teamId == TeamId.Alliance ? SATextIds.WestGraveyardCapturedA : SATextIds.WestGraveyardCapturedH, source);
} }
break; break;
case SAGraveyards.RightCapturableGy: case SAGraveyards.RightCapturableGy:
@@ -802,7 +802,7 @@ namespace Game.BattleGrounds.Zones
npc = SACreatureTypes.Sparklight; npc = SACreatureTypes.Sparklight;
Creature sparklight = AddCreature(SAMiscConst.NpcEntries[npc], (int)npc, SAMiscConst.NpcSpawnlocs[npc], Attackers); Creature sparklight = AddCreature(SAMiscConst.NpcEntries[npc], (int)npc, SAMiscConst.NpcSpawnlocs[npc], Attackers);
if (sparklight) if (sparklight != null)
sparklight.GetAI().Talk(SATextIds.SparklightRigsparkSpawn); sparklight.GetAI().Talk(SATextIds.SparklightRigsparkSpawn);
for (byte j = SACreatureTypes.Demolisher5; j <= SACreatureTypes.Demolisher6; j++) for (byte j = SACreatureTypes.Demolisher5; j <= SACreatureTypes.Demolisher6; j++)
@@ -810,16 +810,16 @@ namespace Game.BattleGrounds.Zones
AddCreature(SAMiscConst.NpcEntries[j], j, SAMiscConst.NpcSpawnlocs[j], Attackers == TeamId.Alliance ? TeamId.Horde : TeamId.Alliance, 600); AddCreature(SAMiscConst.NpcEntries[j], j, SAMiscConst.NpcSpawnlocs[j], Attackers == TeamId.Alliance ? TeamId.Horde : TeamId.Alliance, 600);
Creature dem = GetBGCreature(j); Creature dem = GetBGCreature(j);
if (dem) if (dem != null)
dem.SetFaction(SAMiscConst.Factions[Attackers]); dem.SetFaction(SAMiscConst.Factions[Attackers]);
} }
UpdateWorldState(SAWorldStateIds.RightGyAlliance, GraveyardStatus[i] == TeamId.Alliance ? 1 : 0); UpdateWorldState(SAWorldStateIds.RightGyAlliance, GraveyardStatus[i] == TeamId.Alliance ? 1 : 0);
UpdateWorldState(SAWorldStateIds.RightGyHorde, GraveyardStatus[i] == TeamId.Horde ? 1 : 0); UpdateWorldState(SAWorldStateIds.RightGyHorde, GraveyardStatus[i] == TeamId.Horde ? 1 : 0);
Creature c = source.FindNearestCreature(SharedConst.WorldTrigger, 500.0f); Creature creature = source.FindNearestCreature(SharedConst.WorldTrigger, 500.0f);
if (c) if (creature != null)
SendChatMessage(c, teamId == TeamId.Alliance ? SATextIds.EastGraveyardCapturedA : SATextIds.EastGraveyardCapturedH, source); SendChatMessage(creature, teamId == TeamId.Alliance ? SATextIds.EastGraveyardCapturedA : SATextIds.EastGraveyardCapturedH, source);
} }
break; break;
case SAGraveyards.CentralCapturableGy: case SAGraveyards.CentralCapturableGy:
@@ -832,9 +832,9 @@ namespace Game.BattleGrounds.Zones
UpdateWorldState(SAWorldStateIds.CenterGyAlliance, GraveyardStatus[i] == TeamId.Alliance ? 1 : 0); UpdateWorldState(SAWorldStateIds.CenterGyAlliance, GraveyardStatus[i] == TeamId.Alliance ? 1 : 0);
UpdateWorldState(SAWorldStateIds.CenterGyHorde, GraveyardStatus[i] == TeamId.Horde ? 1 : 0); UpdateWorldState(SAWorldStateIds.CenterGyHorde, GraveyardStatus[i] == TeamId.Horde ? 1 : 0);
Creature c = source.FindNearestCreature(SharedConst.WorldTrigger, 500.0f); Creature creature = source.FindNearestCreature(SharedConst.WorldTrigger, 500.0f);
if (c) if (creature != null)
SendChatMessage(c, teamId == TeamId.Alliance ? SATextIds.SouthGraveyardCapturedA : SATextIds.SouthGraveyardCapturedH, source); SendChatMessage(creature, teamId == TeamId.Alliance ? SATextIds.SouthGraveyardCapturedA : SATextIds.SouthGraveyardCapturedH, source);
} }
break; break;
default: default:
@@ -845,7 +845,7 @@ namespace Game.BattleGrounds.Zones
void TitanRelicActivated(Player clicker) void TitanRelicActivated(Player clicker)
{ {
if (!clicker) if (clicker == null)
return; return;
if (CanInteractWithObject(SAObjectTypes.TitanRelic)) if (CanInteractWithObject(SAObjectTypes.TitanRelic))
@@ -866,7 +866,7 @@ namespace Game.BattleGrounds.Zones
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player player = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player) if (player != null)
if (GetTeamIndexByTeamId(GetPlayerTeam(player.GetGUID())) == Attackers) if (GetTeamIndexByTeamId(GetPlayerTeam(player.GetGUID())) == Attackers)
player.UpdateCriteria(CriteriaType.BeSpellTarget, 65246); player.UpdateCriteria(CriteriaType.BeSpellTarget, 65246);
} }
@@ -876,9 +876,9 @@ namespace Game.BattleGrounds.Zones
TotalTime = 0; TotalTime = 0;
ToggleTimer(); ToggleTimer();
Creature c = GetBGCreature(SACreatureTypes.Kanrethad); Creature creature = GetBGCreature(SACreatureTypes.Kanrethad);
if (c) if (creature != null)
SendChatMessage(c, SATextIds.Round1Finished); SendChatMessage(creature, SATextIds.Round1Finished);
UpdateWaitTimer = 5000; UpdateWaitTimer = 5000;
SignaledRoundTwo = false; SignaledRoundTwo = false;
@@ -898,7 +898,7 @@ namespace Game.BattleGrounds.Zones
foreach (var pair in GetPlayers()) foreach (var pair in GetPlayers())
{ {
Player player = Global.ObjAccessor.FindPlayer(pair.Key); Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player) if (player != null)
if (GetTeamIndexByTeamId(GetPlayerTeam(player.GetGUID())) == Attackers && RoundScores[1].winner == Attackers) if (GetTeamIndexByTeamId(GetPlayerTeam(player.GetGUID())) == Attackers && RoundScores[1].winner == Attackers)
player.UpdateCriteria(CriteriaType.BeSpellTarget, 65246); player.UpdateCriteria(CriteriaType.BeSpellTarget, 65246);
} }
@@ -941,10 +941,10 @@ namespace Game.BattleGrounds.Zones
{ {
if (!BgCreatures[i].IsEmpty()) if (!BgCreatures[i].IsEmpty())
{ {
Creature Demolisher = GetBGCreature(i); Creature demolisher = GetBGCreature(i);
if (Demolisher) if (demolisher != null)
{ {
if (Demolisher.IsDead()) if (demolisher.IsDead())
{ {
// Demolisher is not in list // Demolisher is not in list
if (!DemoliserRespawnList.ContainsKey(i)) if (!DemoliserRespawnList.ContainsKey(i))
@@ -955,8 +955,8 @@ namespace Game.BattleGrounds.Zones
{ {
if (DemoliserRespawnList[i] < GameTime.GetGameTimeMS()) if (DemoliserRespawnList[i] < GameTime.GetGameTimeMS())
{ {
Demolisher.Relocate(SAMiscConst.NpcSpawnlocs[i]); demolisher.Relocate(SAMiscConst.NpcSpawnlocs[i]);
Demolisher.Respawn(); demolisher.Respawn();
DemoliserRespawnList.Remove(i); DemoliserRespawnList.Remove(i);
} }
} }
@@ -97,11 +97,11 @@ namespace Game.BattleGrounds.Zones
{ {
// Apply Stage 1 (Focused Assault) // Apply Stage 1 (Focused Assault)
Player player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[0]); Player player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[0]);
if (player) if (player != null)
player.CastSpell(player, WSGSpellId.FocusedAssault, true); player.CastSpell(player, WSGSpellId.FocusedAssault, true);
player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[1]); player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[1]);
if (player) if (player != null)
player.CastSpell(player, WSGSpellId.FocusedAssault, true); player.CastSpell(player, WSGSpellId.FocusedAssault, true);
_flagDebuffState = 1; _flagDebuffState = 1;
@@ -110,14 +110,14 @@ namespace Game.BattleGrounds.Zones
{ {
// Apply Stage 2 (Brutal Assault) // Apply Stage 2 (Brutal Assault)
Player player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[0]); Player player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[0]);
if (player) if (player != null)
{ {
player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault); player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault);
player.CastSpell(player, WSGSpellId.BrutalAssault, true); player.CastSpell(player, WSGSpellId.BrutalAssault, true);
} }
player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[1]); player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[1]);
if (player) if (player != null)
{ {
player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault); player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault);
player.CastSpell(player, WSGSpellId.BrutalAssault, true); player.CastSpell(player, WSGSpellId.BrutalAssault, true);
@@ -132,14 +132,14 @@ namespace Game.BattleGrounds.Zones
// Remove assault debuffs, reset timers // Remove assault debuffs, reset timers
Player player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[0]); Player player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[0]);
if (player) if (player != null)
{ {
player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault); player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault);
player.RemoveAurasDueToSpell(WSGSpellId.BrutalAssault); player.RemoveAurasDueToSpell(WSGSpellId.BrutalAssault);
} }
player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[1]); player = Global.ObjAccessor.FindPlayer(m_FlagKeepers[1]);
if (player) if (player != null)
{ {
player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault); player.RemoveAurasDueToSpell(WSGSpellId.FocusedAssault);
player.RemoveAurasDueToSpell(WSGSpellId.BrutalAssault); player.RemoveAurasDueToSpell(WSGSpellId.BrutalAssault);
@@ -231,7 +231,7 @@ namespace Game.BattleGrounds.Zones
PlaySoundToAll(WSGSound.FlagsRespawned); PlaySoundToAll(WSGSound.FlagsRespawned);
GameObject obj = GetBgMap().GetGameObject(GetDroppedFlagGUID(team)); GameObject obj = GetBgMap().GetGameObject(GetDroppedFlagGUID(team));
if (obj) if (obj != null)
obj.Delete(); obj.Delete();
else else
Log.outError(LogFilter.Battleground, "unknown droped flag ({0})", GetDroppedFlagGUID(team).ToString()); Log.outError(LogFilter.Battleground, "unknown droped flag ({0})", GetDroppedFlagGUID(team).ToString());
@@ -547,7 +547,7 @@ namespace Game.BattleGrounds.Zones
// sometimes flag aura not removed :( // sometimes flag aura not removed :(
if (IsAllianceFlagPickedup() && m_FlagKeepers[TeamId.Alliance] == guid) if (IsAllianceFlagPickedup() && m_FlagKeepers[TeamId.Alliance] == guid)
{ {
if (!player) if (player == null)
{ {
Log.outError(LogFilter.Battleground, "BattlegroundWS: Removing offline player who has the FLAG!!"); Log.outError(LogFilter.Battleground, "BattlegroundWS: Removing offline player who has the FLAG!!");
SetAllianceFlagPicker(ObjectGuid.Empty); SetAllianceFlagPicker(ObjectGuid.Empty);
@@ -558,7 +558,7 @@ namespace Game.BattleGrounds.Zones
} }
if (IsHordeFlagPickedup() && m_FlagKeepers[TeamId.Horde] == guid) if (IsHordeFlagPickedup() && m_FlagKeepers[TeamId.Horde] == guid)
{ {
if (!player) if (player == null)
{ {
Log.outError(LogFilter.Battleground, "BattlegroundWS: Removing offline player who has the FLAG!!"); Log.outError(LogFilter.Battleground, "BattlegroundWS: Removing offline player who has the FLAG!!");
SetHordeFlagPicker(ObjectGuid.Empty); SetHordeFlagPicker(ObjectGuid.Empty);
+2 -2
View File
@@ -573,7 +573,7 @@ namespace Game.BattlePets
return; return;
Item item = _owner.GetPlayer().StoreNewItem(dest, SharedConst.BattlePetCageItemId, true); Item item = _owner.GetPlayer().StoreNewItem(dest, SharedConst.BattlePetCageItemId, true);
if (!item) if (item == null)
return; return;
item.SetModifier(ItemModifier.BattlePetSpeciesId, pet.PacketInfo.Species); item.SetModifier(ItemModifier.BattlePetSpeciesId, pet.PacketInfo.Species);
@@ -808,7 +808,7 @@ namespace Game.BattlePets
{ {
Player player = _owner.GetPlayer(); Player player = _owner.GetPlayer();
Creature summonedBattlePet = player.GetSummonedBattlePet(); Creature summonedBattlePet = player.GetSummonedBattlePet();
if (summonedBattlePet) if (summonedBattlePet != null)
{ {
summonedBattlePet.DespawnOrUnsummon(); summonedBattlePet.DespawnOrUnsummon();
player.SetBattlePetData(null); player.SetBattlePetData(null);
@@ -206,7 +206,7 @@ namespace Game.BlackMarket
string bidderName = ""; string bidderName = "";
bool logGmTrade; bool logGmTrade;
if (bidder) if (bidder != null)
{ {
bidderAccId = bidder.GetSession().GetAccountId(); bidderAccId = bidder.GetSession().GetAccountId();
bidderName = bidder.GetName(); bidderName = bidder.GetName();
@@ -227,7 +227,7 @@ namespace Game.BlackMarket
// Create item // Create item
BlackMarketTemplate templ = entry.GetTemplate(); BlackMarketTemplate templ = entry.GetTemplate();
Item item = Item.CreateItem(templ.Item.ItemID, templ.Quantity, ItemContext.BlackMarket); Item item = Item.CreateItem(templ.Item.ItemID, templ.Quantity, ItemContext.BlackMarket);
if (!item) if (item == null)
return; return;
if (templ.Item.ItemBonus != null) if (templ.Item.ItemBonus != null)
@@ -245,7 +245,7 @@ namespace Game.BlackMarket
Log.outCommand(bidderAccId, "GM {0} (Account: {1}) won item in blackmarket auction: {2} (Entry: {3} Count: {4}) and payed gold : {5}.", Log.outCommand(bidderAccId, "GM {0} (Account: {1}) won item in blackmarket auction: {2} (Entry: {3} Count: {4}) and payed gold : {5}.",
bidderName, bidderAccId, item.GetTemplate().GetName(), item.GetEntry(), item.GetCount(), entry.GetCurrentBid() / MoneyConstants.Gold); bidderName, bidderAccId, item.GetTemplate().GetName(), item.GetEntry(), item.GetCount(), entry.GetCurrentBid() / MoneyConstants.Gold);
if (bidder) if (bidder != null)
bidder.GetSession().SendBlackMarketWonNotification(entry, item); bidder.GetSession().SendBlackMarketWonNotification(entry, item);
new MailDraft(entry.BuildAuctionMailSubject(BMAHMailAuctionAnswers.Won), entry.BuildAuctionMailBody()) new MailDraft(entry.BuildAuctionMailSubject(BMAHMailAuctionAnswers.Won), entry.BuildAuctionMailBody())
@@ -261,14 +261,14 @@ namespace Game.BlackMarket
Player oldBidder = Global.ObjAccessor.FindConnectedPlayer(oldBidder_guid); Player oldBidder = Global.ObjAccessor.FindConnectedPlayer(oldBidder_guid);
uint oldBidder_accId = 0; uint oldBidder_accId = 0;
if (!oldBidder) if (oldBidder == null)
oldBidder_accId = Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(oldBidder_guid); oldBidder_accId = Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(oldBidder_guid);
// old bidder exist // old bidder exist
if (!oldBidder && oldBidder_accId == 0) if (oldBidder == null && oldBidder_accId == 0)
return; return;
if (oldBidder) if (oldBidder != null)
oldBidder.GetSession().SendBlackMarketOutbidNotification(entry.GetTemplate()); oldBidder.GetSession().SendBlackMarketOutbidNotification(entry.GetTemplate());
new MailDraft(entry.BuildAuctionMailSubject(BMAHMailAuctionAnswers.Outbid), entry.BuildAuctionMailBody()) new MailDraft(entry.BuildAuctionMailSubject(BMAHMailAuctionAnswers.Outbid), entry.BuildAuctionMailBody())
+14 -14
View File
@@ -434,7 +434,7 @@ namespace Game
ObjectGuid invitee = invite.InviteeGuid; ObjectGuid invitee = invite.InviteeGuid;
Player player = Global.ObjAccessor.FindPlayer(invitee); Player player = Global.ObjAccessor.FindPlayer(invitee);
uint level = player ? player.GetLevel() : Global.CharacterCacheStorage.GetCharacterLevelByGuid(invitee); uint level = player != null ? player.GetLevel() : Global.CharacterCacheStorage.GetCharacterLevelByGuid(invitee);
CalendarInviteAdded packet = new(); CalendarInviteAdded packet = new();
packet.EventID = calendarEvent != null ? calendarEvent.EventId : 0; packet.EventID = calendarEvent != null ? calendarEvent.EventId : 0;
@@ -449,7 +449,7 @@ namespace Game
if (calendarEvent == null) // Pre-invite if (calendarEvent == null) // Pre-invite
{ {
player = Global.ObjAccessor.FindPlayer(invite.SenderGuid); player = Global.ObjAccessor.FindPlayer(invite.SenderGuid);
if (player) if (player != null)
player.SendPacket(packet); player.SendPacket(packet);
} }
else else
@@ -538,18 +538,18 @@ namespace Game
packet.TextureID = calendarEvent.TextureId; packet.TextureID = calendarEvent.TextureId;
Guild guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId); Guild guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId);
packet.EventGuildID = guild ? guild.GetGUID() : ObjectGuid.Empty; packet.EventGuildID = guild != null ? guild.GetGUID() : ObjectGuid.Empty;
if (calendarEvent.IsGuildEvent() || calendarEvent.IsGuildAnnouncement()) if (calendarEvent.IsGuildEvent() || calendarEvent.IsGuildAnnouncement())
{ {
guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId); guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId);
if (guild) if (guild != null)
guild.BroadcastPacket(packet); guild.BroadcastPacket(packet);
} }
else else
{ {
Player player = Global.ObjAccessor.FindPlayer(invite.InviteeGuid); Player player = Global.ObjAccessor.FindPlayer(invite.InviteeGuid);
if (player) if (player != null)
player.SendPacket(packet); player.SendPacket(packet);
} }
} }
@@ -557,7 +557,7 @@ namespace Game
public void SendCalendarEvent(ObjectGuid guid, CalendarEvent calendarEvent, CalendarSendEventType sendType) public void SendCalendarEvent(ObjectGuid guid, CalendarEvent calendarEvent, CalendarSendEventType sendType)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (!player) if (player == null)
return; return;
List<CalendarInvite> eventInviteeList = _invites[calendarEvent.EventId]; List<CalendarInvite> eventInviteeList = _invites[calendarEvent.EventId];
@@ -575,15 +575,15 @@ namespace Game
packet.TextureID = calendarEvent.TextureId; packet.TextureID = calendarEvent.TextureId;
Guild guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId); Guild guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId);
packet.EventGuildID = (guild ? guild.GetGUID() : ObjectGuid.Empty); packet.EventGuildID = (guild != null ? guild.GetGUID() : ObjectGuid.Empty);
foreach (var calendarInvite in eventInviteeList) foreach (var calendarInvite in eventInviteeList)
{ {
ObjectGuid inviteeGuid = calendarInvite.InviteeGuid; ObjectGuid inviteeGuid = calendarInvite.InviteeGuid;
Player invitee = Global.ObjAccessor.FindPlayer(inviteeGuid); Player invitee = Global.ObjAccessor.FindPlayer(inviteeGuid);
uint inviteeLevel = invitee ? invitee.GetLevel() : Global.CharacterCacheStorage.GetCharacterLevelByGuid(inviteeGuid); uint inviteeLevel = invitee != null ? invitee.GetLevel() : Global.CharacterCacheStorage.GetCharacterLevelByGuid(inviteeGuid);
ulong inviteeGuildId = invitee ? invitee.GetGuildId() : Global.CharacterCacheStorage.GetCharacterGuildIdByGuid(inviteeGuid); ulong inviteeGuildId = invitee != null ? invitee.GetGuildId() : Global.CharacterCacheStorage.GetCharacterGuildIdByGuid(inviteeGuid);
CalendarEventInviteInfo inviteInfo = new(); CalendarEventInviteInfo inviteInfo = new();
inviteInfo.Guid = inviteeGuid; inviteInfo.Guid = inviteeGuid;
@@ -604,7 +604,7 @@ namespace Game
void SendCalendarEventInviteRemoveAlert(ObjectGuid guid, CalendarEvent calendarEvent, CalendarInviteStatus status) void SendCalendarEventInviteRemoveAlert(ObjectGuid guid, CalendarEvent calendarEvent, CalendarInviteStatus status)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
CalendarInviteRemovedAlert packet = new(); CalendarInviteRemovedAlert packet = new();
packet.Date = calendarEvent.Date; packet.Date = calendarEvent.Date;
@@ -619,14 +619,14 @@ namespace Game
public void SendCalendarClearPendingAction(ObjectGuid guid) public void SendCalendarClearPendingAction(ObjectGuid guid)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.SendPacket(new CalendarClearPendingAction()); player.SendPacket(new CalendarClearPendingAction());
} }
public void SendCalendarCommandResult(ObjectGuid guid, CalendarError err, string param = null) public void SendCalendarCommandResult(ObjectGuid guid, CalendarError err, string param = null)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
CalendarCommandResult packet = new(); CalendarCommandResult packet = new();
packet.Command = 1; // FIXME packet.Command = 1; // FIXME
@@ -651,7 +651,7 @@ namespace Game
if (calendarEvent.IsGuildEvent() || calendarEvent.IsGuildAnnouncement()) if (calendarEvent.IsGuildEvent() || calendarEvent.IsGuildAnnouncement())
{ {
Guild guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId); Guild guild = Global.GuildMgr.GetGuildById(calendarEvent.GuildId);
if (guild) if (guild != null)
guild.BroadcastPacket(packet); guild.BroadcastPacket(packet);
} }
@@ -660,7 +660,7 @@ namespace Game
foreach (var playerCalendarEvent in invites) foreach (var playerCalendarEvent in invites)
{ {
Player player = Global.ObjAccessor.FindPlayer(playerCalendarEvent.InviteeGuid); Player player = Global.ObjAccessor.FindPlayer(playerCalendarEvent.InviteeGuid);
if (player) if (player != null)
if (!calendarEvent.IsGuildEvent() || player.GetGuildId() != calendarEvent.GuildId) if (!calendarEvent.IsGuildEvent() || player.GetGuildId() != calendarEvent.GuildId)
player.SendPacket(packet); player.SendPacket(packet);
} }
+27 -27
View File
@@ -151,7 +151,7 @@ namespace Game.Chat
if (HasFlag(ChannelFlags.Lfg) && WorldConfig.GetBoolValue(WorldCfg.RestrictedLfgChannel) && if (HasFlag(ChannelFlags.Lfg) && WorldConfig.GetBoolValue(WorldCfg.RestrictedLfgChannel) &&
Global.AccountMgr.IsPlayerAccount(player.GetSession().GetSecurity()) && //FIXME: Move to RBAC Global.AccountMgr.IsPlayerAccount(player.GetSession().GetSecurity()) && //FIXME: Move to RBAC
player.GetGroup()) player.GetGroup() != null)
{ {
var builder = new ChannelNameBuilder(this, new NotInLFGAppend()); var builder = new ChannelNameBuilder(this, new NotInLFGAppend());
SendToOne(builder, guid); SendToOne(builder, guid);
@@ -285,9 +285,9 @@ namespace Game.Chat
return; return;
} }
Player bad = Global.ObjAccessor.FindPlayerByName(badname); Player badPlayer = Global.ObjAccessor.FindPlayerByName(badname);
ObjectGuid victim = bad ? bad.GetGUID() : ObjectGuid.Empty; ObjectGuid victim = badPlayer != null ? badPlayer.GetGUID() : ObjectGuid.Empty;
if (bad == null || victim.IsEmpty() || !IsOn(victim)) if (badPlayer == null || victim.IsEmpty() || !IsOn(victim))
{ {
ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(badname)); ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(badname));
SendToOne(builder, good); SendToOne(builder, good);
@@ -322,7 +322,7 @@ namespace Game.Chat
} }
_playersStore.Remove(victim); _playersStore.Remove(victim);
bad.LeftChannel(this); badPlayer.LeftChannel(this);
if (changeowner && _ownershipEnabled && !_playersStore.Empty()) if (changeowner && _ownershipEnabled && !_playersStore.Empty())
{ {
@@ -350,8 +350,8 @@ namespace Game.Chat
return; return;
} }
Player bad = Global.ObjAccessor.FindPlayerByName(badname); Player badPlayer = Global.ObjAccessor.FindPlayerByName(badname);
ObjectGuid victim = bad ? bad.GetGUID() : ObjectGuid.Empty; ObjectGuid victim = badPlayer != null ? badPlayer.GetGUID() : ObjectGuid.Empty;
if (victim.IsEmpty() || !IsBanned(victim)) if (victim.IsEmpty() || !IsBanned(victim))
{ {
@@ -417,13 +417,13 @@ namespace Game.Chat
if (guid == _ownerGuid && p2n == player.GetName() && mod) if (guid == _ownerGuid && p2n == player.GetName() && mod)
return; return;
Player newp = Global.ObjAccessor.FindPlayerByName(p2n); Player newPlayer = Global.ObjAccessor.FindPlayerByName(p2n);
ObjectGuid victim = newp ? newp.GetGUID() : ObjectGuid.Empty; ObjectGuid victim = newPlayer != null ? newPlayer.GetGUID() : ObjectGuid.Empty;
if (newp == null || victim.IsEmpty() || !IsOn(victim) || if (newPlayer == null || victim.IsEmpty() || !IsOn(victim) ||
(player.GetTeam() != newp.GetTeam() && (player.GetTeam() != newPlayer.GetTeam() &&
(!player.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel) || (!player.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel) ||
!newp.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel)))) !newPlayer.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel))))
{ {
ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(p2n)); ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(p2n));
SendToOne(builder, guid); SendToOne(builder, guid);
@@ -438,9 +438,9 @@ namespace Game.Chat
} }
if (mod) if (mod)
SetModerator(newp.GetGUID(), set); SetModerator(newPlayer.GetGUID(), set);
else else
SetMute(newp.GetGUID(), set); SetMute(newPlayer.GetGUID(), set);
} }
public void SetInvisible(Player player, bool on) public void SetInvisible(Player player, bool on)
@@ -473,13 +473,13 @@ namespace Game.Chat
return; return;
} }
Player newp = Global.ObjAccessor.FindPlayerByName(newname); Player newPlayer = Global.ObjAccessor.FindPlayerByName(newname);
ObjectGuid victim = newp ? newp.GetGUID() : ObjectGuid.Empty; ObjectGuid victim = newPlayer != null ? newPlayer.GetGUID() : ObjectGuid.Empty;
if (newp == null || victim.IsEmpty() || !IsOn(victim) || if (newPlayer == null || victim.IsEmpty() || !IsOn(victim) ||
(player.GetTeam() != newp.GetTeam() && (player.GetTeam() != newPlayer.GetTeam() &&
(!player.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel) || (!player.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel) ||
!newp.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel)))) !newPlayer.GetSession().HasPermission(RBACPermissions.TwoSideInteractionChannel))))
{ {
ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(newname)); ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(newname));
SendToOne(builder, guid); SendToOne(builder, guid);
@@ -532,7 +532,7 @@ namespace Game.Chat
// PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters // PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters
// MODERATOR, GAME MASTER, ADMINISTRATOR can see all // MODERATOR, GAME MASTER, ADMINISTRATOR can see all
if (member && (player.GetSession().HasPermission(RBACPermissions.WhoSeeAllSecLevels) || if (member != null && (player.GetSession().HasPermission(RBACPermissions.WhoSeeAllSecLevels) ||
member.GetSession().GetSecurity() <= (AccountTypes)gmLevelInWhoList) && member.GetSession().GetSecurity() <= (AccountTypes)gmLevelInWhoList) &&
member.IsVisibleGloballyFor(player)) member.IsVisibleGloballyFor(player))
{ {
@@ -603,7 +603,7 @@ namespace Game.Chat
} }
Player player = Global.ObjAccessor.FindConnectedPlayer(guid); Player player = Global.ObjAccessor.FindConnectedPlayer(guid);
SendToAll(new ChannelSayBuilder(this, lang, what, guid, _channelGuid), !playerInfo.IsModerator() ? guid : ObjectGuid.Empty, !playerInfo.IsModerator() && player ? player.GetSession().GetAccountGUID() : ObjectGuid.Empty); SendToAll(new ChannelSayBuilder(this, lang, what, guid, _channelGuid), !playerInfo.IsModerator() ? guid : ObjectGuid.Empty, !playerInfo.IsModerator() && player != null ? player.GetSession().GetAccountGUID() : ObjectGuid.Empty);
} }
public void AddonSay(ObjectGuid guid, string prefix, string what, bool isLogged) public void AddonSay(ObjectGuid guid, string prefix, string what, bool isLogged)
@@ -630,7 +630,7 @@ namespace Game.Chat
Player player = Global.ObjAccessor.FindConnectedPlayer(guid); Player player = Global.ObjAccessor.FindConnectedPlayer(guid);
SendToAllWithAddon(new ChannelWhisperBuilder(this, isLogged ? Language.AddonLogged : Language.Addon, what, prefix, guid), prefix, !playerInfo.IsModerator() ? guid : ObjectGuid.Empty, SendToAllWithAddon(new ChannelWhisperBuilder(this, isLogged ? Language.AddonLogged : Language.Addon, what, prefix, guid), prefix, !playerInfo.IsModerator() ? guid : ObjectGuid.Empty,
!playerInfo.IsModerator() && player ? player.GetSession().GetAccountGUID() : ObjectGuid.Empty); !playerInfo.IsModerator() && player != null ? player.GetSession().GetAccountGUID() : ObjectGuid.Empty);
} }
public void Invite(Player player, string newname) public void Invite(Player player, string newname)
@@ -645,7 +645,7 @@ namespace Game.Chat
} }
Player newp = Global.ObjAccessor.FindPlayerByName(newname); Player newp = Global.ObjAccessor.FindPlayerByName(newname);
if (!newp || !newp.IsGMVisible()) if (newp == null || !newp.IsGMVisible())
{ {
ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(newname)); ChannelNameBuilder builder = new(this, new PlayerNotFoundAppend(newname));
SendToOne(builder, guid); SendToOne(builder, guid);
@@ -786,7 +786,7 @@ namespace Game.Chat
foreach (var pair in _playersStore) foreach (var pair in _playersStore)
{ {
Player player = Global.ObjAccessor.FindConnectedPlayer(pair.Key); Player player = Global.ObjAccessor.FindConnectedPlayer(pair.Key);
if (player) if (player != null)
if (guid.IsEmpty() || !player.GetSocial().HasIgnore(guid, accountGuid)) if (guid.IsEmpty() || !player.GetSocial().HasIgnore(guid, accountGuid))
localizer.Invoke(player); localizer.Invoke(player);
} }
@@ -801,7 +801,7 @@ namespace Game.Chat
if (pair.Key != who) if (pair.Key != who)
{ {
Player player = Global.ObjAccessor.FindConnectedPlayer(pair.Key); Player player = Global.ObjAccessor.FindConnectedPlayer(pair.Key);
if (player) if (player != null)
localizer.Invoke(player); localizer.Invoke(player);
} }
} }
@@ -812,7 +812,7 @@ namespace Game.Chat
LocalizedDo localizer = new(builder); LocalizedDo localizer = new(builder);
Player player = Global.ObjAccessor.FindConnectedPlayer(who); Player player = Global.ObjAccessor.FindConnectedPlayer(who);
if (player) if (player != null)
localizer.Invoke(player); localizer.Invoke(player);
} }
@@ -823,7 +823,7 @@ namespace Game.Chat
foreach (var pair in _playersStore) foreach (var pair in _playersStore)
{ {
Player player = Global.ObjAccessor.FindConnectedPlayer(pair.Key); Player player = Global.ObjAccessor.FindConnectedPlayer(pair.Key);
if (player) if (player != null)
if (player.GetSession().IsAddonRegistered(addonPrefix) && (guid.IsEmpty() || !player.GetSocial().HasIgnore(guid, accountGuid))) if (player.GetSession().IsAddonRegistered(addonPrefix) && (guid.IsEmpty() || !player.GetSocial().HasIgnore(guid, accountGuid)))
localizer.Invoke(player); localizer.Invoke(player);
} }
@@ -105,7 +105,7 @@ namespace Game.Chat
PacketSenderOwning<ChatPkt> packet = new(); PacketSenderOwning<ChatPkt> packet = new();
Player player = Global.ObjAccessor.FindConnectedPlayer(_guid); Player player = Global.ObjAccessor.FindConnectedPlayer(_guid);
if (player) if (player != null)
packet.Data.Initialize(ChatMsg.Channel, _lang, player, player, _what, 0, _source.GetName(localeIdx)); packet.Data.Initialize(ChatMsg.Channel, _lang, player, player, _what, 0, _source.GetName(localeIdx));
else else
{ {
@@ -143,7 +143,7 @@ namespace Game.Chat
PacketSenderOwning<ChatPkt> packet = new(); PacketSenderOwning<ChatPkt> packet = new();
Player player = Global.ObjAccessor.FindConnectedPlayer(_guid); Player player = Global.ObjAccessor.FindConnectedPlayer(_guid);
if (player) if (player != null)
packet.Data.Initialize(ChatMsg.Channel, _lang, player, player, _what, 0, _source.GetName(localeIdx), Locale.enUS, _prefix); packet.Data.Initialize(ChatMsg.Channel, _lang, player, player, _what, 0, _source.GetName(localeIdx), Locale.enUS, _prefix);
else else
{ {
+6 -6
View File
@@ -218,7 +218,7 @@ namespace Game.Chat
return 0; return 0;
Player player = Global.ObjAccessor.FindPlayerByName(idS); Player player = Global.ObjAccessor.FindPlayerByName(idS);
if (player) if (player != null)
return player.GetGUID().GetCounter(); return player.GetGUID().GetCounter();
ObjectGuid guid = Global.CharacterCacheStorage.GetCharacterGuidByName(idS); ObjectGuid guid = Global.CharacterCacheStorage.GetCharacterGuidByName(idS);
@@ -320,7 +320,7 @@ namespace Game.Chat
return null; return null;
Unit selected = _session.GetPlayer().GetSelectedUnit(); Unit selected = _session.GetPlayer().GetSelectedUnit();
if (selected) if (selected != null)
return selected; return selected;
return _session.GetPlayer(); return _session.GetPlayer();
@@ -356,7 +356,7 @@ namespace Game.Chat
// first try with selected target // first try with selected target
Player targetPlayer = Global.ObjAccessor.FindConnectedPlayer(selected); Player targetPlayer = Global.ObjAccessor.FindConnectedPlayer(selected);
// if the target is not a player, then return self // if the target is not a player, then return self
if (!targetPlayer) if (targetPlayer == null)
targetPlayer = _session.GetPlayer(); targetPlayer = _session.GetPlayer();
return targetPlayer; return targetPlayer;
@@ -376,7 +376,7 @@ namespace Game.Chat
public Creature GetCreatureFromPlayerMapByDbGuid(ulong lowguid) public Creature GetCreatureFromPlayerMapByDbGuid(ulong lowguid)
{ {
if (!_session) if (_session == null)
return null; return null;
// Select the first alive creature or a dead one if not found // Select the first alive creature or a dead one if not found
@@ -586,7 +586,7 @@ namespace Game.Chat
guid = Global.CharacterCacheStorage.GetCharacterGuidByName(name); guid = Global.CharacterCacheStorage.GetCharacterGuidByName(name);
} }
if (player) if (player != null)
{ {
group = player.GetGroup(); group = player.GetGroup();
if (guid.IsEmpty() || !offline) if (guid.IsEmpty() || !offline)
@@ -594,7 +594,7 @@ namespace Game.Chat
} }
else else
{ {
if (GetSelectedPlayer()) if (GetSelectedPlayer() != null)
player = GetSelectedPlayer(); player = GetSelectedPlayer();
else else
player = _session.GetPlayer(); player = _session.GetPlayer();
+2 -2
View File
@@ -337,8 +337,8 @@ namespace Game.Chat
} }
Log.outCommand(session.GetAccountId(), $"Command: {cmdStr} [Player: {player.GetName()} ({player.GetGUID()}) (Account: {session.GetAccountId()}) " + Log.outCommand(session.GetAccountId(), $"Command: {cmdStr} [Player: {player.GetName()} ({player.GetGUID()}) (Account: {session.GetAccountId()}) " +
$"X: {player.GetPositionX()} Y: {player.GetPositionY()} Z: {player.GetPositionZ()} Map: {player.GetMapId()} ({(player.GetMap() ? player.GetMap().GetMapName() : "Unknown")}) " + $"X: {player.GetPositionX()} Y: {player.GetPositionY()} Z: {player.GetPositionZ()} Map: {player.GetMapId()} ({(player.GetMap() != null ? player.GetMap().GetMapName() : "Unknown")}) " +
$"Area: {areaId} ({areaName}) Zone: {zoneName} Selected: {(player.GetSelectedUnit() ? player.GetSelectedUnit().GetName() : "")} ({targetGuid})]"); $"Area: {areaId} ({areaName}) Zone: {zoneName} Selected: {(player.GetSelectedUnit() != null ? player.GetSelectedUnit().GetName() : "")} ({targetGuid})]");
} }
public void SendCommandHelp(CommandHandler handler) public void SendCommandHelp(CommandHandler handler)
+2 -2
View File
@@ -623,7 +623,7 @@ namespace Game.Chat
else else
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
return false; return false;
accountId = player.GetSession().GetAccountId(); accountId = player.GetSession().GetAccountId();
@@ -708,7 +708,7 @@ namespace Game.Chat
else else
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
return false; return false;
accountId = player.GetSession().GetAccountId(); accountId = player.GetSession().GetAccountId();
@@ -16,7 +16,7 @@ namespace Game.Chat.Commands
static bool HandleAchievementAddCommand(CommandHandler handler, AchievementRecord achievementEntry) static bool HandleAchievementAddCommand(CommandHandler handler, AchievementRecord achievementEntry)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
+5 -5
View File
@@ -105,7 +105,7 @@ namespace Game.Chat.Commands
break; break;
} }
string author = handler.GetSession() ? handler.GetSession().GetPlayerName() : "Server"; string author = handler.GetSession() != null ? handler.GetSession().GetPlayerName() : "Server";
switch (Global.WorldMgr.BanAccount(mode, nameOrIP, duration, reason, author)) switch (Global.WorldMgr.BanAccount(mode, nameOrIP, duration, reason, author))
{ {
case BanReturn.Success: case BanReturn.Success:
@@ -180,7 +180,7 @@ namespace Game.Chat.Commands
Player target = Global.ObjAccessor.FindPlayerByName(name); Player target = Global.ObjAccessor.FindPlayerByName(name);
ObjectGuid targetGuid; ObjectGuid targetGuid;
if (!target) if (target == null)
{ {
targetGuid = Global.CharacterCacheStorage.GetCharacterGuidByName(name); targetGuid = Global.CharacterCacheStorage.GetCharacterGuidByName(name);
if (targetGuid.IsEmpty()) if (targetGuid.IsEmpty())
@@ -314,7 +314,7 @@ namespace Game.Chat.Commands
handler.SendSysMessage(CypherStrings.BanlistMatchingcharacter); handler.SendSysMessage(CypherStrings.BanlistMatchingcharacter);
// Chat short output // Chat short output
if (handler.GetSession()) if (handler.GetSession() != null)
{ {
do do
{ {
@@ -405,7 +405,7 @@ namespace Game.Chat.Commands
handler.SendSysMessage(CypherStrings.BanlistMatchingip); handler.SendSysMessage(CypherStrings.BanlistMatchingip);
// Chat short output // Chat short output
if (handler.GetSession()) if (handler.GetSession() != null)
{ {
do do
{ {
@@ -458,7 +458,7 @@ namespace Game.Chat.Commands
handler.SendSysMessage(CypherStrings.BanlistMatchingaccount); handler.SendSysMessage(CypherStrings.BanlistMatchingaccount);
// Chat short output // Chat short output
if (handler.GetSession()) if (handler.GetSession() != null)
{ {
do do
{ {
+6 -6
View File
@@ -16,7 +16,7 @@ namespace Game.Chat
static bool HandleCastCommand(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr) static bool HandleCastCommand(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -37,7 +37,7 @@ namespace Game.Chat
static bool HandleCastBackCommand(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr) static bool HandleCastBackCommand(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr)
{ {
Creature caster = handler.GetSelectedCreature(); Creature caster = handler.GetSelectedCreature();
if (!caster) if (caster == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -77,7 +77,7 @@ namespace Game.Chat
static bool HandleCastSelfCommand(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr) static bool HandleCastSelfCommand(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -99,13 +99,13 @@ namespace Game.Chat
static bool HandleCastTargetCommad(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr) static bool HandleCastTargetCommad(CommandHandler handler, uint spellId, [OptionalArg] string triggeredStr)
{ {
Creature caster = handler.GetSelectedCreature(); Creature caster = handler.GetSelectedCreature();
if (!caster) if (caster == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
} }
if (!caster.GetVictim()) if (caster.GetVictim() == null)
{ {
handler.SendSysMessage(CypherStrings.SelectedTargetNotHaveVictim); handler.SendSysMessage(CypherStrings.SelectedTargetNotHaveVictim);
return false; return false;
@@ -127,7 +127,7 @@ namespace Game.Chat
static bool HandleCastDestCommand(CommandHandler handler, uint spellId, float x, float y, float z, [OptionalArg] string triggeredStr) static bool HandleCastDestCommand(CommandHandler handler, uint spellId, float x, float y, float z, [OptionalArg] string triggeredStr)
{ {
Unit caster = handler.GetSelectedUnit(); Unit caster = handler.GetSelectedUnit();
if (!caster) if (caster == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -138,7 +138,7 @@ namespace Game.Chat
if (session != null) if (session != null)
{ {
Player sessionPlayer = session.GetPlayer(); Player sessionPlayer = session.GetPlayer();
if (sessionPlayer) if (sessionPlayer != null)
Log.outCommand(session.GetAccountId(), "GM {0} (Account: {1}) forced rename {2} to player {3} (Account: {4})", sessionPlayer.GetName(), session.GetAccountId(), newName, sessionPlayer.GetName(), Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(sessionPlayer.GetGUID())); Log.outCommand(session.GetAccountId(), "GM {0} (Account: {1}) forced rename {2} to player {3} (Account: {4})", sessionPlayer.GetName(), session.GetAccountId(), newName, sessionPlayer.GetName(), Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(sessionPlayer.GetGUID()));
} }
else else
@@ -212,7 +212,7 @@ namespace Game.Chat
DB.Characters.Execute(stmt); DB.Characters.Execute(stmt);
} }
if (!handler.GetSession() || (handler.GetSession().GetPlayer() != player.GetConnectedPlayer())) // including chr == NULL if (handler.GetSession() == null || (handler.GetSession().GetPlayer() != player.GetConnectedPlayer())) // including chr == NULL
handler.SendSysMessage(CypherStrings.YouChangeLvl, handler.PlayerLink(player.GetName()), newlevel); handler.SendSysMessage(CypherStrings.YouChangeLvl, handler.PlayerLink(player.GetName()), newlevel);
return true; return true;
@@ -602,7 +602,7 @@ namespace Game.Chat
{ {
string dateStr = Time.UnixTimeToDateTime(info.deleteDate).ToShortDateString(); string dateStr = Time.UnixTimeToDateTime(info.deleteDate).ToShortDateString();
if (!handler.GetSession()) if (handler.GetSession() == null)
handler.SendSysMessage(CypherStrings.CharacterDeletedListLineConsole, handler.SendSysMessage(CypherStrings.CharacterDeletedListLineConsole,
info.guid.ToString(), info.name, info.accountName.IsEmpty() ? "<Not existed>" : info.accountName, info.guid.ToString(), info.name, info.accountName.IsEmpty() ? "<Not existed>" : info.accountName,
info.accountId, dateStr); info.accountId, dateStr);
@@ -612,7 +612,7 @@ namespace Game.Chat
info.accountId, dateStr); info.accountId, dateStr);
} }
if (!handler.GetSession()) if (handler.GetSession() == null)
handler.SendSysMessage(CypherStrings.CharacterDeletedListBar); handler.SendSysMessage(CypherStrings.CharacterDeletedListBar);
} }
+2 -2
View File
@@ -56,7 +56,7 @@ namespace Game.Chat.Commands
static bool HandleExploreCheatCommand(CommandHandler handler, bool reveal) static bool HandleExploreCheatCommand(CommandHandler handler, bool reveal)
{ {
Player chr = handler.GetSelectedPlayer(); Player chr = handler.GetSelectedPlayer();
if (!chr) if (chr == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -155,7 +155,7 @@ namespace Game.Chat.Commands
static bool HandleTaxiCheatCommand(CommandHandler handler, bool? enableArg) static bool HandleTaxiCheatCommand(CommandHandler handler, bool? enableArg)
{ {
Player chr = handler.GetSelectedPlayer(); Player chr = handler.GetSelectedPlayer();
if (!chr) if (chr == null)
chr = handler.GetSession().GetPlayer(); chr = handler.GetSession().GetPlayer();
else if (handler.HasLowerSecurity(chr, ObjectGuid.Empty)) // check online security else if (handler.HasLowerSecurity(chr, ObjectGuid.Empty)) // check online security
return false; return false;
+32 -32
View File
@@ -25,7 +25,7 @@ namespace Game.Chat
static bool HandleDebugAnimCommand(CommandHandler handler, Emote emote) static bool HandleDebugAnimCommand(CommandHandler handler, Emote emote)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (unit) if (unit != null)
unit.HandleEmoteCommand(emote); unit.HandleEmoteCommand(emote);
handler.SendSysMessage($"Playing emote {emote}"); handler.SendSysMessage($"Playing emote {emote}");
@@ -68,11 +68,11 @@ namespace Game.Chat
static bool HandleDebugBoundaryCommand(CommandHandler handler, string fill, uint durationArg) static bool HandleDebugBoundaryCommand(CommandHandler handler, string fill, uint durationArg)
{ {
Player player = handler.GetPlayer(); Player player = handler.GetPlayer();
if (!player) if (player == null)
return false; return false;
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
if (!target || !target.IsAIEnabled()) if (target == null || !target.IsAIEnabled())
return false; return false;
TimeSpan duration = durationArg != 0 ? TimeSpan.FromSeconds(durationArg) : TimeSpan.Zero; TimeSpan duration = durationArg != 0 ? TimeSpan.FromSeconds(durationArg) : TimeSpan.Zero;
@@ -90,7 +90,7 @@ namespace Game.Chat
static bool HandleDebugCombatListCommand(CommandHandler handler) static bool HandleDebugCombatListCommand(CommandHandler handler)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
target = handler.GetPlayer(); target = handler.GetPlayer();
handler.SendSysMessage($"Combat refs: (Combat state: {target.IsInCombat()} | Manager state: {target.GetCombatManager().HasCombat()})"); handler.SendSysMessage($"Combat refs: (Combat state: {target.IsInCombat()} | Manager state: {target.GetCombatManager().HasCombat()})");
@@ -112,7 +112,7 @@ namespace Game.Chat
static bool HandleDebugConversationCommand(CommandHandler handler, uint conversationEntry) static bool HandleDebugConversationCommand(CommandHandler handler, uint conversationEntry)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -132,7 +132,7 @@ namespace Game.Chat
static bool HandleDebugEnterVehicleCommand(CommandHandler handler, uint entry, sbyte seatId = -1) static bool HandleDebugEnterVehicleCommand(CommandHandler handler, uint entry, sbyte seatId = -1)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target || !target.IsVehicle()) if (target == null || !target.IsVehicle())
return false; return false;
if (entry == 0) if (entry == 0)
@@ -143,7 +143,7 @@ namespace Game.Chat
var searcher = new CreatureSearcher(handler.GetPlayer(), check); var searcher = new CreatureSearcher(handler.GetPlayer(), check);
Cell.VisitAllObjects(handler.GetPlayer(), searcher, 30.0f); Cell.VisitAllObjects(handler.GetPlayer(), searcher, 30.0f);
var passenger = searcher.GetTarget(); var passenger = searcher.GetTarget();
if (!passenger || passenger == target) if (passenger == null || passenger == target)
return false; return false;
passenger.EnterVehicle(target, seatId); passenger.EnterVehicle(target, seatId);
} }
@@ -175,7 +175,7 @@ namespace Game.Chat
return false; return false;
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
player = handler.GetPlayer(); player = handler.GetPlayer();
if (!listQueue && !checkAll) if (!listQueue && !checkAll)
@@ -188,15 +188,15 @@ namespace Game.Chat
continue; continue;
Item item = player.GetItemByPos(InventorySlots.Bag0, i); Item item = player.GetItemByPos(InventorySlots.Bag0, i);
if (item) if (item != null)
{ {
Bag bag = item.ToBag(); Bag bag = item.ToBag();
if (bag) if (bag != null)
{ {
for (byte j = 0; j < bag.GetBagSize(); ++j) for (byte j = 0; j < bag.GetBagSize(); ++j)
{ {
Item item2 = bag.GetItemByPos(j); Item item2 = bag.GetItemByPos(j);
if (item2) if (item2 != null)
if (item2.GetState() == state) if (item2.GetState() == state)
handler.SendSysMessage("bag: 255 slot: {0} guid: {1} owner: {2}", item2.GetSlot(), item2.GetGUID().ToString(), item2.GetOwnerGUID().ToString()); handler.SendSysMessage("bag: 255 slot: {0} guid: {1} owner: {2}", item2.GetSlot(), item2.GetGUID().ToString(), item2.GetOwnerGUID().ToString());
} }
@@ -213,11 +213,11 @@ namespace Game.Chat
for (int i = 0; i < updateQueue.Count; ++i) for (int i = 0; i < updateQueue.Count; ++i)
{ {
Item item = updateQueue[i]; Item item = updateQueue[i];
if (!item) if (item == null)
continue; continue;
Bag container = item.GetContainer(); Bag container = item.GetContainer();
byte bagSlot = container ? container.GetSlot() : InventorySlots.Bag0; byte bagSlot = container != null ? container.GetSlot() : InventorySlots.Bag0;
string st = ""; string st = "";
switch (item.GetState()) switch (item.GetState())
@@ -252,7 +252,7 @@ namespace Game.Chat
continue; continue;
Item item = player.GetItemByPos(InventorySlots.Bag0, i); Item item = player.GetItemByPos(InventorySlots.Bag0, i);
if (!item) if (item == null)
continue; continue;
if (item.GetSlot() != i) if (item.GetSlot() != i)
@@ -270,7 +270,7 @@ namespace Game.Chat
} }
Bag container = item.GetContainer(); Bag container = item.GetContainer();
if (container) if (container != null)
{ {
handler.SendSysMessage("The item with slot {0} and guid {1} has a container (slot: {2}, guid: {3}) but shouldn't!", item.GetSlot(), item.GetGUID().ToString(), container.GetSlot(), container.GetGUID().ToString()); handler.SendSysMessage("The item with slot {0} and guid {1} has a container (slot: {2}, guid: {3}) but shouldn't!", item.GetSlot(), item.GetGUID().ToString(), container.GetSlot(), container.GetGUID().ToString());
error = true; error = true;
@@ -309,12 +309,12 @@ namespace Game.Chat
} }
Bag bag = item.ToBag(); Bag bag = item.ToBag();
if (bag) if (bag != null)
{ {
for (byte j = 0; j < bag.GetBagSize(); ++j) for (byte j = 0; j < bag.GetBagSize(); ++j)
{ {
Item item2 = bag.GetItemByPos(j); Item item2 = bag.GetItemByPos(j);
if (!item2) if (item2 == null)
continue; continue;
if (item2.GetSlot() != j) if (item2.GetSlot() != j)
@@ -332,7 +332,7 @@ namespace Game.Chat
} }
Bag container1 = item2.GetContainer(); Bag container1 = item2.GetContainer();
if (!container1) if (container1 == null)
{ {
handler.SendSysMessage("The item in bag {0} at slot {1} with guid {2} has no container!", bag.GetSlot(), item2.GetSlot(), item2.GetGUID().ToString()); handler.SendSysMessage("The item in bag {0} at slot {1} with guid {2} has no container!", bag.GetSlot(), item2.GetSlot(), item2.GetGUID().ToString());
error = true; error = true;
@@ -383,7 +383,7 @@ namespace Game.Chat
for (int i = 0; i < updateQueue.Count; ++i) for (int i = 0; i < updateQueue.Count; ++i)
{ {
Item item = updateQueue[i]; Item item = updateQueue[i];
if (!item) if (item == null)
continue; continue;
if (item.GetOwnerGUID() != player.GetGUID()) if (item.GetOwnerGUID() != player.GetGUID())
@@ -550,7 +550,7 @@ namespace Game.Chat
static bool HandleDebugItemExpireCommand(CommandHandler handler, ulong guid) static bool HandleDebugItemExpireCommand(CommandHandler handler, ulong guid)
{ {
Item item = handler.GetPlayer().GetItemByGuid(ObjectGuid.Create(HighGuid.Item, guid)); Item item = handler.GetPlayer().GetItemByGuid(ObjectGuid.Create(HighGuid.Item, guid));
if (!item) if (item == null)
return false; return false;
handler.GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true); handler.GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true);
@@ -580,7 +580,7 @@ namespace Game.Chat
static bool HandleDebugLoadCellsCommandHelper(CommandHandler handler, Map map, uint? tileX, uint? tileY) static bool HandleDebugLoadCellsCommandHelper(CommandHandler handler, Map map, uint? tileX, uint? tileY)
{ {
if (!map) if (map == null)
return false; return false;
// Load 1 single tile if specified, otherwise load the whole map // Load 1 single tile if specified, otherwise load the whole map
@@ -610,7 +610,7 @@ namespace Game.Chat
static bool HandleDebugGetLootRecipientCommand(CommandHandler handler) static bool HandleDebugGetLootRecipientCommand(CommandHandler handler)
{ {
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
if (!target) if (target == null)
return false; return false;
handler.SendSysMessage($"Loot recipients for creature {target.GetName()} ({target.GetGUID()}, SpawnID {target.GetSpawnId()}) are:"); handler.SendSysMessage($"Loot recipients for creature {target.GetName()} ({target.GetGUID()}, SpawnID {target.GetSpawnId()}) are:");
@@ -627,7 +627,7 @@ namespace Game.Chat
static bool HandleDebugLoSCommand(CommandHandler handler) static bool HandleDebugLoSCommand(CommandHandler handler)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (unit) if (unit != null)
{ {
Player player = handler.GetPlayer(); Player player = handler.GetPlayer();
handler.SendSysMessage($"Checking LoS {player.GetName()} . {unit.GetName()}:"); handler.SendSysMessage($"Checking LoS {player.GetName()} . {unit.GetName()}:");
@@ -643,7 +643,7 @@ namespace Game.Chat
static bool HandleDebugMoveflagsCommand(CommandHandler handler, uint? moveFlags, uint? moveFlagsExtra) static bool HandleDebugMoveflagsCommand(CommandHandler handler, uint? moveFlags, uint? moveFlagsExtra)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
target = handler.GetPlayer(); target = handler.GetPlayer();
if (!moveFlags.HasValue) if (!moveFlags.HasValue)
@@ -684,7 +684,7 @@ namespace Game.Chat
if (linked == "linked") if (linked == "linked")
{ {
Battleground bg = player.GetBattleground(); Battleground bg = player.GetBattleground();
if (bg) if (bg != null)
nearestLoc = bg.GetClosestGraveyard(player); nearestLoc = bg.GetClosestGraveyard(player);
else else
{ {
@@ -763,7 +763,7 @@ namespace Game.Chat
static bool HandleDebugPhaseCommand(CommandHandler handler) static bool HandleDebugPhaseCommand(CommandHandler handler)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -782,7 +782,7 @@ namespace Game.Chat
static bool HandleDebugPlayerConditionCommand(CommandHandler handler, uint playerConditionId) static bool HandleDebugPlayerConditionCommand(CommandHandler handler, uint playerConditionId)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -900,7 +900,7 @@ namespace Game.Chat
static bool HandleDebugSetAuraStateCommand(CommandHandler handler, AuraStateType? state, bool apply) static bool HandleDebugSetAuraStateCommand(CommandHandler handler, AuraStateType? state, bool apply)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -925,7 +925,7 @@ namespace Game.Chat
handler.GetPlayer().GetClosePoint(out x, out y, out z, handler.GetPlayer().GetCombatReach()); handler.GetPlayer().GetClosePoint(out x, out y, out z, handler.GetPlayer().GetCombatReach());
if (id == 0) if (id == 0)
return handler.GetPlayer().SummonCreature(entry, x, y, z, o); return handler.GetPlayer().SummonCreature(entry, x, y, z, o) != null;
CreatureTemplate creatureTemplate = Global.ObjectMgr.GetCreatureTemplate(entry); CreatureTemplate creatureTemplate = Global.ObjectMgr.GetCreatureTemplate(entry);
if (creatureTemplate == null) if (creatureTemplate == null)
@@ -939,7 +939,7 @@ namespace Game.Chat
Position pos = new(x, y, z, o); Position pos = new(x, y, z, o);
Creature creature = Creature.CreateCreature(entry, map, pos, id); Creature creature = Creature.CreateCreature(entry, map, pos, id);
if (!creature) if (creature == null)
return false; return false;
map.AddToMap(creature); map.AddToMap(creature);
@@ -1086,7 +1086,7 @@ namespace Game.Chat
static bool HandleDebugTransportCommand(CommandHandler handler, string operation) static bool HandleDebugTransportCommand(CommandHandler handler, string operation)
{ {
Transport transport = handler.GetPlayer().GetTransport<Transport>(); Transport transport = handler.GetPlayer().GetTransport<Transport>();
if (!transport) if (transport == null)
return false; return false;
bool start = false; bool start = false;
@@ -1267,7 +1267,7 @@ namespace Game.Chat
Player player = handler.GetPlayer(); Player player = handler.GetPlayer();
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -52,7 +52,7 @@ namespace Game.Chat.Commands
static bool HandleDeserterAdd(CommandHandler handler, uint time, bool isInstance) static bool HandleDeserterAdd(CommandHandler handler, uint time, bool isInstance)
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -72,7 +72,7 @@ namespace Game.Chat.Commands
static bool HandleDeserterRemove(CommandHandler handler, bool isInstance) static bool HandleDeserterRemove(CommandHandler handler, bool isInstance)
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
+11 -11
View File
@@ -21,7 +21,7 @@ namespace Game.Chat
static bool HandleGameObjectActivateCommand(CommandHandler handler, ulong guidLow) static bool HandleGameObjectActivateCommand(CommandHandler handler, ulong guidLow)
{ {
GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow); handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow);
return false; return false;
@@ -48,7 +48,7 @@ namespace Game.Chat
if (!ownerGuid.IsEmpty()) if (!ownerGuid.IsEmpty())
{ {
Unit owner = Global.ObjAccessor.GetUnit(player, ownerGuid); Unit owner = Global.ObjAccessor.GetUnit(player, ownerGuid);
if (!owner || !ownerGuid.IsPlayer()) if (owner == null || !ownerGuid.IsPlayer())
{ {
handler.SendSysMessage(CypherStrings.CommandDelobjrefercreature, ownerGuid.ToString(), obj.GetGUID().ToString()); handler.SendSysMessage(CypherStrings.CommandDelobjrefercreature, ownerGuid.ToString(), obj.GetGUID().ToString());
return false; return false;
@@ -189,7 +189,7 @@ namespace Game.Chat
static bool HandleGameObjectMoveCommand(CommandHandler handler, ulong guidLow, float[] xyz) static bool HandleGameObjectMoveCommand(CommandHandler handler, ulong guidLow, float[] xyz)
{ {
GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow); handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow);
return false; return false;
@@ -227,7 +227,7 @@ namespace Game.Chat
obj.Delete(); obj.Delete();
obj = GameObject.CreateGameObjectFromDB(guidLow, map); obj = GameObject.CreateGameObjectFromDB(guidLow, map);
if (!obj) if (obj == null)
return false; return false;
handler.SendSysMessage(CypherStrings.CommandMoveobjmessage, obj.GetSpawnId(), obj.GetGoInfo().name, obj.GetGUID().ToString()); handler.SendSysMessage(CypherStrings.CommandMoveobjmessage, obj.GetSpawnId(), obj.GetGoInfo().name, obj.GetGUID().ToString());
@@ -418,7 +418,7 @@ namespace Game.Chat
handler.SendSysMessage(CypherStrings.GameobjectDetail, guidLow, objectInfo.name, guidLow, id, x, y, z, mapId, o, phaseId, phaseGroup); handler.SendSysMessage(CypherStrings.GameobjectDetail, guidLow, objectInfo.name, guidLow, id, x, y, z, mapId, o, phaseId, phaseGroup);
if (target) if (target != null)
{ {
int curRespawnDelay = (int)(target.GetRespawnTimeEx() - GameTime.GetGameTime()); int curRespawnDelay = (int)(target.GetRespawnTimeEx() - GameTime.GetGameTime());
if (curRespawnDelay < 0) if (curRespawnDelay < 0)
@@ -436,7 +436,7 @@ namespace Game.Chat
static bool HandleGameObjectTurnCommand(CommandHandler handler, ulong guidLow, float? oz, float? oy, float? ox) static bool HandleGameObjectTurnCommand(CommandHandler handler, ulong guidLow, float? oz, float? oy, float? ox)
{ {
GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow); handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow);
return false; return false;
@@ -458,7 +458,7 @@ namespace Game.Chat
obj.Delete(); obj.Delete();
obj = GameObject.CreateGameObjectFromDB(guidLow, map); obj = GameObject.CreateGameObjectFromDB(guidLow, map);
if (!obj) if (obj == null)
return false; return false;
handler.SendSysMessage(CypherStrings.CommandTurnobjmessage, obj.GetSpawnId(), obj.GetGoInfo().name, obj.GetGUID().ToString(), obj.GetOrientation()); handler.SendSysMessage(CypherStrings.CommandTurnobjmessage, obj.GetSpawnId(), obj.GetGoInfo().name, obj.GetGUID().ToString(), obj.GetOrientation());
@@ -494,7 +494,7 @@ namespace Game.Chat
Map map = player.GetMap(); Map map = player.GetMap();
GameObject obj = GameObject.CreateGameObject(objectInfo.entry, map, player, Quaternion.CreateFromRotationMatrix(Extensions.fromEulerAnglesZYX(player.GetOrientation(), 0.0f, 0.0f)), 255, GameObjectState.Ready); GameObject obj = GameObject.CreateGameObject(objectInfo.entry, map, player, Quaternion.CreateFromRotationMatrix(Extensions.fromEulerAnglesZYX(player.GetOrientation(), 0.0f, 0.0f)), 255, GameObjectState.Ready);
if (!obj) if (obj == null)
return false; return false;
PhasingHandler.InheritPhaseShift(obj, player); PhasingHandler.InheritPhaseShift(obj, player);
@@ -508,7 +508,7 @@ namespace Game.Chat
// this will generate a new guid if the object is in an instance // this will generate a new guid if the object is in an instance
obj = GameObject.CreateGameObjectFromDB(spawnId, map); obj = GameObject.CreateGameObjectFromDB(spawnId, map);
if (!obj) if (obj == null)
return false; return false;
// TODO: is it really necessary to add both the real and DB table guid here ? // TODO: is it really necessary to add both the real and DB table guid here ?
@@ -546,7 +546,7 @@ namespace Game.Chat
return false; return false;
GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow); handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow);
return false; return false;
@@ -570,7 +570,7 @@ namespace Game.Chat
return false; return false;
GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); GameObject obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow); handler.SendSysMessage(CypherStrings.CommandObjnotfound, guidLow);
return false; return false;
+15 -15
View File
@@ -23,7 +23,7 @@ namespace Game.Chat
if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out _)) if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out _))
return false; return false;
if (!group) if (group == null)
{ {
handler.SendSysMessage(CypherStrings.GroupNotInGroup, player.GetName()); handler.SendSysMessage(CypherStrings.GroupNotInGroup, player.GetName());
return false; return false;
@@ -39,7 +39,7 @@ namespace Game.Chat
if (!handler.GetPlayerGroupAndGUIDByName(playerNameGroup, out Player playerSource, out Group groupSource, out _, true)) if (!handler.GetPlayerGroupAndGUIDByName(playerNameGroup, out Player playerSource, out Group groupSource, out _, true))
return false; return false;
if (!groupSource) if (groupSource == null)
{ {
handler.SendSysMessage(CypherStrings.GroupNotInGroup, playerSource.GetName()); handler.SendSysMessage(CypherStrings.GroupNotInGroup, playerSource.GetName());
return false; return false;
@@ -48,7 +48,7 @@ namespace Game.Chat
if (!handler.GetPlayerGroupAndGUIDByName(playerName, out Player playerTarget, out Group groupTarget, out _, true)) if (!handler.GetPlayerGroupAndGUIDByName(playerName, out Player playerTarget, out Group groupTarget, out _, true))
return false; return false;
if (groupTarget || playerTarget.GetGroup() == groupSource) if (groupTarget != null || playerTarget.GetGroup() == groupSource)
{ {
handler.SendSysMessage(CypherStrings.GroupAlreadyInGroup, playerTarget.GetName()); handler.SendSysMessage(CypherStrings.GroupAlreadyInGroup, playerTarget.GetName());
return false; return false;
@@ -72,7 +72,7 @@ namespace Game.Chat
if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out ObjectGuid guid)) if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out ObjectGuid guid))
return false; return false;
if (!group) if (group == null)
{ {
handler.SendSysMessage(CypherStrings.GroupNotInGroup, player.GetName()); handler.SendSysMessage(CypherStrings.GroupNotInGroup, player.GetName());
return false; return false;
@@ -155,7 +155,7 @@ namespace Game.Chat
} }
// If both fails, players simply has no party. Return false. // If both fails, players simply has no party. Return false.
if (!groupTarget) if (groupTarget == null)
{ {
handler.SendSysMessage(CypherStrings.GroupNotInGroup, target.GetName()); handler.SendSysMessage(CypherStrings.GroupNotInGroup, target.GetName());
return false; return false;
@@ -194,15 +194,15 @@ namespace Game.Chat
flags = "None"; flags = "None";
// Check if iterator is online. If is... // Check if iterator is online. If is...
Player p = Global.ObjAccessor.FindPlayer(slot.guid); Player player = Global.ObjAccessor.FindPlayer(slot.guid);
string phases = ""; string phases = "";
if (p && p.IsInWorld) if (player != null && player.IsInWorld)
{ {
// ... than, it prints information like "is online", where he is, etc... // ... than, it prints information like "is online", where he is, etc...
onlineState = "online"; onlineState = "online";
phases = PhasingHandler.FormatPhases(p.GetPhaseShift()); phases = PhasingHandler.FormatPhases(player.GetPhaseShift());
AreaTableRecord area = CliDB.AreaTableStorage.LookupByKey(p.GetAreaId()); AreaTableRecord area = CliDB.AreaTableStorage.LookupByKey(player.GetAreaId());
if (area != null) if (area != null)
{ {
AreaTableRecord zone = CliDB.AreaTableStorage.LookupByKey(area.ParentAreaID); AreaTableRecord zone = CliDB.AreaTableStorage.LookupByKey(area.ParentAreaID);
@@ -226,7 +226,7 @@ namespace Game.Chat
if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out ObjectGuid guid)) if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out ObjectGuid guid))
return false; return false;
if (!group) if (group == null)
{ {
handler.SendSysMessage(CypherStrings.GroupNotInGroup, player.GetName()); handler.SendSysMessage(CypherStrings.GroupNotInGroup, player.GetName());
return false; return false;
@@ -273,7 +273,7 @@ namespace Game.Chat
for (GroupReference it = groupTarget.GetFirstMember(); it != null; it = it.Next()) for (GroupReference it = groupTarget.GetFirstMember(); it != null; it = it.Next())
{ {
Player target = it.GetSource(); Player target = it.GetSource();
if (target) if (target != null)
{ {
target.ResurrectPlayer(target.GetSession().HasPermission(RBACPermissions.ResurrectWithFullHps) ? 1.0f : 0.5f); target.ResurrectPlayer(target.GetSession().HasPermission(RBACPermissions.ResurrectWithFullHps) ? 1.0f : 0.5f);
target.SpawnCorpseBones(); target.SpawnCorpseBones();
@@ -302,7 +302,7 @@ namespace Game.Chat
string nameLink = handler.GetNameLink(target); string nameLink = handler.GetNameLink(target);
if (!group) if (group == null)
{ {
handler.SendSysMessage(CypherStrings.NotInGroup, nameLink); handler.SendSysMessage(CypherStrings.NotInGroup, nameLink);
return false; return false;
@@ -319,7 +319,7 @@ namespace Game.Chat
if (toInstance) if (toInstance)
{ {
Player groupLeader = Global.ObjAccessor.GetPlayer(gmMap, group.GetLeaderGUID()); Player groupLeader = Global.ObjAccessor.GetPlayer(gmMap, group.GetLeaderGUID());
if (!groupLeader || (groupLeader.GetMapId() != gmMap.GetId()) || (groupLeader.GetInstanceId() != gmMap.GetInstanceId())) if (groupLeader == null || (groupLeader.GetMapId() != gmMap.GetId()) || (groupLeader.GetInstanceId() != gmMap.GetInstanceId()))
{ {
handler.SendSysMessage(CypherStrings.PartialGroupSummon); handler.SendSysMessage(CypherStrings.PartialGroupSummon);
onlyLocalSummon = true; onlyLocalSummon = true;
@@ -330,7 +330,7 @@ namespace Game.Chat
{ {
Player player = refe.GetSource(); Player player = refe.GetSource();
if (!player || player == gmPlayer || player.GetSession() == null) if (player == null || player == gmPlayer || player.GetSession() == null)
continue; continue;
// check online security // check online security
@@ -409,7 +409,7 @@ namespace Game.Chat
if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out ObjectGuid guid)) if (!handler.GetPlayerGroupAndGUIDByName(name, out Player player, out Group group, out ObjectGuid guid))
return false; return false;
if (!group) if (group == null)
{ {
handler.SendSysMessage(CypherStrings.NotInGroup, player.GetName()); handler.SendSysMessage(CypherStrings.NotInGroup, player.GetName());
return false; return false;
+5 -5
View File
@@ -31,7 +31,7 @@ namespace Game.Chat
return false; return false;
} }
if (Global.GuildMgr.GetGuildByName(guildName)) if (Global.GuildMgr.GetGuildByName(guildName) != null)
{ {
handler.SendSysMessage(CypherStrings.GuildRenameAlreadyExists); handler.SendSysMessage(CypherStrings.GuildRenameAlreadyExists);
return false; return false;
@@ -122,7 +122,7 @@ namespace Game.Chat
return false; return false;
Guild targetGuild = Global.GuildMgr.GetGuildById(guildId); Guild targetGuild = Global.GuildMgr.GetGuildById(guildId);
if (!targetGuild) if (targetGuild == null)
return false; return false;
return targetGuild.ChangeMemberRank(null, player.GetGUID(), (GuildRankId)rank); return targetGuild.ChangeMemberRank(null, player.GetGUID(), (GuildRankId)rank);
@@ -144,13 +144,13 @@ namespace Game.Chat
} }
Guild guild = Global.GuildMgr.GetGuildByName(oldGuildName); Guild guild = Global.GuildMgr.GetGuildByName(oldGuildName);
if (!guild) if (guild == null)
{ {
handler.SendSysMessage(CypherStrings.CommandCouldnotfind, oldGuildName); handler.SendSysMessage(CypherStrings.CommandCouldnotfind, oldGuildName);
return false; return false;
} }
if (Global.GuildMgr.GetGuildByName(newGuildName)) if (Global.GuildMgr.GetGuildByName(newGuildName) != null)
{ {
handler.SendSysMessage(CypherStrings.GuildRenameAlreadyExists, newGuildName); handler.SendSysMessage(CypherStrings.GuildRenameAlreadyExists, newGuildName);
return false; return false;
@@ -185,7 +185,7 @@ namespace Game.Chat
guild = target.GetConnectedPlayer().GetGuild(); guild = target.GetConnectedPlayer().GetGuild();
} }
if (!guild) if (guild == null)
return false; return false;
// Display Guild Information // Display Guild Information
+4 -4
View File
@@ -14,7 +14,7 @@ namespace Game.Chat.Commands
static bool HandleHonorUpdateCommand(CommandHandler handler) static bool HandleHonorUpdateCommand(CommandHandler handler)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -35,7 +35,7 @@ namespace Game.Chat.Commands
static bool HandleHonorAddCommand(CommandHandler handler, int amount) static bool HandleHonorAddCommand(CommandHandler handler, int amount)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -53,7 +53,7 @@ namespace Game.Chat.Commands
static bool HandleHonorAddKillCommand(CommandHandler handler) static bool HandleHonorAddKillCommand(CommandHandler handler)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -61,7 +61,7 @@ namespace Game.Chat.Commands
// check online security // check online security
Player player = target.ToPlayer(); Player player = target.ToPlayer();
if (player) if (player != null)
if (handler.HasLowerSecurity(player, ObjectGuid.Empty)) if (handler.HasLowerSecurity(player, ObjectGuid.Empty))
return false; return false;
+5 -5
View File
@@ -52,7 +52,7 @@ namespace Game.Chat
groupTarget = Global.GroupMgr.GetGroupByDbStoreId(resultGroup.Read<uint>(0)); groupTarget = Global.GroupMgr.GetGroupByDbStoreId(resultGroup.Read<uint>(0));
} }
if (!groupTarget) if (groupTarget == null)
{ {
handler.SendSysMessage(CypherStrings.LfgNotInGroup, player.GetName()); handler.SendSysMessage(CypherStrings.LfgNotInGroup, player.GetName());
return false; return false;
@@ -63,9 +63,9 @@ namespace Game.Chat
foreach (var slot in groupTarget.GetMemberSlots()) foreach (var slot in groupTarget.GetMemberSlots())
{ {
Player p = Global.ObjAccessor.FindPlayer(slot.guid); Player groupPlayer = Global.ObjAccessor.FindPlayer(slot.guid);
if (p) if (groupPlayer != null)
PrintPlayerInfo(handler, p); PrintPlayerInfo(handler, groupPlayer);
else else
handler.SendSysMessage("{0} is offline.", slot.name); handler.SendSysMessage("{0} is offline.", slot.name);
} }
@@ -102,7 +102,7 @@ namespace Game.Chat
static void PrintPlayerInfo(CommandHandler handler, Player player) static void PrintPlayerInfo(CommandHandler handler, Player player)
{ {
if (!player) if (player == null)
return; return;
ObjectGuid guid = player.GetGUID(); ObjectGuid guid = player.GetGUID();
+3 -3
View File
@@ -18,7 +18,7 @@ namespace Game.Chat.Commands
static bool HandleLearnCommand(CommandHandler handler, uint spellId, [OptionalArg] string allRanksStr) static bool HandleLearnCommand(CommandHandler handler, uint spellId, [OptionalArg] string allRanksStr)
{ {
Player targetPlayer = handler.GetSelectedPlayerOrSelf(); Player targetPlayer = handler.GetSelectedPlayerOrSelf();
if (!targetPlayer) if (targetPlayer == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -141,7 +141,7 @@ namespace Game.Chat.Commands
// Example: .learn all_recipes enchanting // Example: .learn all_recipes enchanting
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -317,7 +317,7 @@ namespace Game.Chat.Commands
static bool HandleUnLearnCommand(CommandHandler handler, uint spellId, [OptionalArg] string allRanksStr) static bool HandleUnLearnCommand(CommandHandler handler, uint spellId, [OptionalArg] string allRanksStr)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
+7 -7
View File
@@ -63,7 +63,7 @@ namespace Game.Chat.Commands
thisMap = handler.GetSession().GetPlayer().GetMap(); thisMap = handler.GetSession().GetPlayer().GetMap();
// If map found, try to find active version of this creature // If map found, try to find active version of this creature
if (thisMap) if (thisMap != null)
{ {
var creBounds = thisMap.GetCreatureBySpawnIdStore().LookupByKey(guid); var creBounds = thisMap.GetCreatureBySpawnIdStore().LookupByKey(guid);
foreach (var creature in creBounds) foreach (var creature in creBounds)
@@ -73,7 +73,7 @@ namespace Game.Chat.Commands
if (!liveFound) if (!liveFound)
{ {
if (handler.GetSession()) if (handler.GetSession() != null)
handler.SendSysMessage(CypherStrings.CreatureListChat, guid, guid, cInfo.Name, x, y, z, mapId, "", ""); handler.SendSysMessage(CypherStrings.CreatureListChat, guid, guid, cInfo.Name, x, y, z, mapId, "", "");
else else
handler.SendSysMessage(CypherStrings.CreatureListConsole, guid, cInfo.Name, x, y, z, mapId, "", ""); handler.SendSysMessage(CypherStrings.CreatureListConsole, guid, cInfo.Name, x, y, z, mapId, "", "");
@@ -403,7 +403,7 @@ namespace Game.Chat.Commands
thisMap = handler.GetSession().GetPlayer().GetMap(); thisMap = handler.GetSession().GetPlayer().GetMap();
// If map found, try to find active version of this object // If map found, try to find active version of this object
if (thisMap) if (thisMap != null)
{ {
var goBounds = thisMap.GetGameObjectBySpawnIdStore().LookupByKey(guid); var goBounds = thisMap.GetGameObjectBySpawnIdStore().LookupByKey(guid);
foreach (var go in goBounds) foreach (var go in goBounds)
@@ -413,7 +413,7 @@ namespace Game.Chat.Commands
if (!liveFound) if (!liveFound)
{ {
if (handler.GetSession()) if (handler.GetSession() != null)
handler.SendSysMessage(CypherStrings.GoListChat, guid, entry, guid, gInfo.name, x, y, z, mapId, "", ""); handler.SendSysMessage(CypherStrings.GoListChat, guid, entry, guid, gInfo.name, x, y, z, mapId, "", "");
else else
handler.SendSysMessage(CypherStrings.GoListConsole, guid, gInfo.name, x, y, z, mapId, "", ""); handler.SendSysMessage(CypherStrings.GoListConsole, guid, gInfo.name, x, y, z, mapId, "", "");
@@ -485,10 +485,10 @@ namespace Game.Chat.Commands
static bool HandleListScenesCommand(CommandHandler handler) static bool HandleListScenesCommand(CommandHandler handler)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
target = handler.GetSession().GetPlayer(); target = handler.GetSession().GetPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -572,7 +572,7 @@ namespace Game.Chat.Commands
static bool ListAurasCommand(CommandHandler handler, uint? spellId, string namePart) static bool ListAurasCommand(CommandHandler handler, uint? spellId, string namePart)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
+19 -19
View File
@@ -207,7 +207,7 @@ namespace Game.Chat
foreach (var factionEntry in CliDB.FactionStorage.Values) foreach (var factionEntry in CliDB.FactionStorage.Values)
{ {
FactionState factionState = target ? target.GetReputationMgr().GetState(factionEntry) : null; FactionState factionState = target != null ? target.GetReputationMgr().GetState(factionEntry) : null;
Locale locale = handler.GetSessionDbcLocale(); Locale locale = handler.GetSessionDbcLocale();
string name = factionEntry.Name[locale]; string name = factionEntry.Name[locale];
@@ -450,7 +450,7 @@ namespace Game.Chat
string valStr = ""; string valStr = "";
string knownStr = ""; string knownStr = "";
if (target && target.HasSkill((SkillType)skillInfo.Id)) if (target != null && target.HasSkill((SkillType)skillInfo.Id))
{ {
knownStr = handler.GetCypherString(CypherStrings.Known); knownStr = handler.GetCypherString(CypherStrings.Known);
uint curValue = target.GetPureSkillValue((SkillType)skillInfo.Id); uint curValue = target.GetPureSkillValue((SkillType)skillInfo.Id);
@@ -564,7 +564,7 @@ namespace Game.Chat
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
// title name have single string arg for player name // title name have single string arg for player name
string targetName = target ? target.GetName() : "NAME"; string targetName = target != null ? target.GetName() : "NAME";
uint counter = 0; // Counter for figure out that we found smth. uint counter = 0; // Counter for figure out that we found smth.
// Search in CharTitles.dbc // Search in CharTitles.dbc
@@ -572,7 +572,7 @@ namespace Game.Chat
{ {
for (Gender gender = Gender.Male; gender <= Gender.Female; ++gender) for (Gender gender = Gender.Male; gender <= Gender.Female; ++gender)
{ {
if (target && target.GetGender() != gender) if (target != null && target.GetGender() != gender)
continue; continue;
Locale locale = handler.GetSessionDbcLocale(); Locale locale = handler.GetSessionDbcLocale();
@@ -605,9 +605,9 @@ namespace Game.Chat
return true; return true;
} }
string knownStr = target && target.HasTitle(titleInfo) ? handler.GetCypherString(CypherStrings.Known) : ""; string knownStr = target != null && target.HasTitle(titleInfo) ? handler.GetCypherString(CypherStrings.Known) : "";
string activeStr = target && target.m_playerData.PlayerTitle == titleInfo.MaskID string activeStr = target != null && target.m_playerData.PlayerTitle == titleInfo.MaskID
? handler.GetCypherString(CypherStrings.Active) : ""; ? handler.GetCypherString(CypherStrings.Active) : "";
string titleNameStr = string.Format(name.ConvertFormatSyntax(), targetName); string titleNameStr = string.Format(name.ConvertFormatSyntax(), targetName);
@@ -684,7 +684,7 @@ namespace Game.Chat
return true; return true;
} }
if (handler.GetSession()) if (handler.GetSession() != null)
handler.SendSysMessage(CypherStrings.ItemListChat, id, id, name); handler.SendSysMessage(CypherStrings.ItemListChat, id, id, name);
else else
handler.SendSysMessage(CypherStrings.ItemListConsole, id, name); handler.SendSysMessage(CypherStrings.ItemListConsole, id, name);
@@ -739,7 +739,7 @@ namespace Game.Chat
} }
// send item set in "id - [namedlink locale]" format // send item set in "id - [namedlink locale]" format
if (handler.GetSession()) if (handler.GetSession() != null)
handler.SendSysMessage(CypherStrings.ItemsetListChat, id, id, name, ""); handler.SendSysMessage(CypherStrings.ItemsetListChat, id, id, name, "");
else else
handler.SendSysMessage(CypherStrings.ItemsetListConsole, id, name, ""); handler.SendSysMessage(CypherStrings.ItemsetListConsole, id, name, "");
@@ -774,7 +774,7 @@ namespace Game.Chat
if (string.IsNullOrEmpty(name)) if (string.IsNullOrEmpty(name))
continue; continue;
if (!name.Like(namePart) && handler.GetSession()) if (!name.Like(namePart) && handler.GetSession() != null)
{ {
locale = 0; locale = 0;
for (; locale < Locale.Total; ++locale) for (; locale < Locale.Total; ++locale)
@@ -839,7 +839,7 @@ namespace Game.Chat
var mapInfo = CliDB.MapStorage.LookupByKey(id); var mapInfo = CliDB.MapStorage.LookupByKey(id);
if (mapInfo != null) if (mapInfo != null)
{ {
Locale locale = handler.GetSession() ? handler.GetSession().GetSessionDbcLocale() : Global.WorldMgr.GetDefaultDbcLocale(); Locale locale = handler.GetSession() != null ? handler.GetSession().GetSessionDbcLocale() : Global.WorldMgr.GetDefaultDbcLocale();
string name = mapInfo.MapName[locale]; string name = mapInfo.MapName[locale];
if (name.IsEmpty()) if (name.IsEmpty())
{ {
@@ -891,7 +891,7 @@ namespace Game.Chat
if (ip.IsEmpty()) if (ip.IsEmpty())
{ {
// NULL only if used from console // NULL only if used from console
if (!target || target == handler.GetSession().GetPlayer()) if (target == null || target == handler.GetSession().GetPlayer())
return false; return false;
ip = target.GetSession().GetRemoteAddress(); ip = target.GetSession().GetRemoteAddress();
@@ -1004,7 +1004,7 @@ namespace Game.Chat
string statusStr = ""; string statusStr = "";
if (target) if (target != null)
{ {
switch (target.GetQuestStatus(qInfo.Id)) switch (target.GetQuestStatus(qInfo.Id))
{ {
@@ -1065,7 +1065,7 @@ namespace Game.Chat
string statusStr = ""; string statusStr = "";
if (target) if (target != null)
{ {
QuestStatus status = target.GetQuestStatus(qInfo.Id); QuestStatus status = target.GetQuestStatus(qInfo.Id);
@@ -1135,7 +1135,7 @@ namespace Game.Chat
string statusStr = ""; string statusStr = "";
if (target) if (target != null)
{ {
switch (target.GetQuestStatus(id)) switch (target.GetQuestStatus(id))
{ {
@@ -1153,7 +1153,7 @@ namespace Game.Chat
} }
} }
if (handler.GetSession()) if (handler.GetSession() != null)
{ {
int maxLevel = 0; int maxLevel = 0;
var questLevels = Global.DB2Mgr.GetContentTuningData(quest.ContentTuningId, handler.GetSession().GetPlayer().m_playerData.CtrOptions.GetValue().ContentTuningConditionMask); var questLevels = Global.DB2Mgr.GetContentTuningData(quest.ContentTuningId, handler.GetSession().GetPlayer().m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
@@ -1229,14 +1229,14 @@ namespace Game.Chat
return true; return true;
} }
bool known = target && target.HasSpell(spellInfo.Id); bool known = target != null && target.HasSpell(spellInfo.Id);
var spellEffectInfo = spellInfo.GetEffects().Find(spelleffectInfo => spelleffectInfo.IsEffect(SpellEffectName.LearnSpell)); var spellEffectInfo = spellInfo.GetEffects().Find(spelleffectInfo => spelleffectInfo.IsEffect(SpellEffectName.LearnSpell));
SpellInfo learnSpellInfo = spellEffectInfo != null ? Global.SpellMgr.GetSpellInfo(spellEffectInfo.TriggerSpell, spellInfo.Difficulty) : null; SpellInfo learnSpellInfo = spellEffectInfo != null ? Global.SpellMgr.GetSpellInfo(spellEffectInfo.TriggerSpell, spellInfo.Difficulty) : null;
bool talent = spellInfo.HasAttribute(SpellCustomAttributes.IsTalent); bool talent = spellInfo.HasAttribute(SpellCustomAttributes.IsTalent);
bool passive = spellInfo.IsPassive(); bool passive = spellInfo.IsPassive();
bool active = target && target.HasAura(spellInfo.Id); bool active = target != null && target.HasAura(spellInfo.Id);
// unit32 used to prevent interpreting public byte as char at output // unit32 used to prevent interpreting public byte as char at output
// find rank of learned spell for learning spell, or talent rank // find rank of learned spell for learning spell, or talent rank
@@ -1297,14 +1297,14 @@ namespace Game.Chat
return true; return true;
} }
bool known = target && target.HasSpell(id); bool known = target != null && target.HasSpell(id);
var spellEffectInfo = spellInfo.GetEffects().Find(spelleffectInfo => spelleffectInfo.IsEffect(SpellEffectName.LearnSpell)); var spellEffectInfo = spellInfo.GetEffects().Find(spelleffectInfo => spelleffectInfo.IsEffect(SpellEffectName.LearnSpell));
SpellInfo learnSpellInfo = Global.SpellMgr.GetSpellInfo(spellEffectInfo.TriggerSpell, Difficulty.None); SpellInfo learnSpellInfo = Global.SpellMgr.GetSpellInfo(spellEffectInfo.TriggerSpell, Difficulty.None);
bool talent = spellInfo.HasAttribute(SpellCustomAttributes.IsTalent); bool talent = spellInfo.HasAttribute(SpellCustomAttributes.IsTalent);
bool passive = spellInfo.IsPassive(); bool passive = spellInfo.IsPassive();
bool active = target && target.HasAura(id); bool active = target != null && target.HasAura(id);
// unit32 used to prevent interpreting public byte as char at output // unit32 used to prevent interpreting public byte as char at output
// find rank of learned spell for learning spell, or talent rank // find rank of learned spell for learning spell, or talent rank
+1 -1
View File
@@ -225,7 +225,7 @@ namespace Game.Chat
var go_search = new UnitListSearcher(obj, creatureList, go_check); var go_search = new UnitListSearcher(obj, creatureList, go_check);
Cell.VisitGridObjects(obj, go_search, radius); Cell.VisitGridObjects(obj, go_search, radius);
if (!creatureList.Empty()) if (creatureList.Empty())
{ {
handler.SendSysMessage("Found {0} Creatures.", creatureList.Count); handler.SendSysMessage("Found {0} Creatures.", creatureList.Count);
+2 -2
View File
@@ -21,7 +21,7 @@ namespace Game.Chat
string name = "Console"; string name = "Console";
WorldSession session = handler.GetSession(); WorldSession session = handler.GetSession();
if (session) if (session != null)
name = session.GetPlayer().GetName(); name = session.GetPlayer().GetName();
Global.WorldMgr.SendWorldText(CypherStrings.AnnounceColor, name, message); Global.WorldMgr.SendWorldText(CypherStrings.AnnounceColor, name, message);
@@ -36,7 +36,7 @@ namespace Game.Chat
string name = "Console"; string name = "Console";
WorldSession session = handler.GetSession(); WorldSession session = handler.GetSession();
if (session) if (session != null)
name = session.GetPlayer().GetName(); name = session.GetPlayer().GetName();
Global.WorldMgr.SendGMText(CypherStrings.AnnounceColor, name, message); Global.WorldMgr.SendGMText(CypherStrings.AnnounceColor, name, message);
+55 -55
View File
@@ -37,7 +37,7 @@ namespace Game.Chat
return false; return false;
} }
if (target) if (target != null)
{ {
// check online security // check online security
if (handler.HasLowerSecurity(target, ObjectGuid.Empty)) if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
@@ -70,7 +70,7 @@ namespace Game.Chat
// we have to go to instance, and can go to player only if: // we have to go to instance, and can go to player only if:
// 1) we are in his group (either as leader or as member) // 1) we are in his group (either as leader or as member)
// 2) we are not bound to any group and have GM mode on // 2) we are not bound to any group and have GM mode on
if (_player.GetGroup()) if (_player.GetGroup() != null)
{ {
// we are in group, we can go only if we are in the player group // we are in group, we can go only if we are in the player group
if (_player.GetGroup() != target.GetGroup()) if (_player.GetGroup() != target.GetGroup())
@@ -153,7 +153,7 @@ namespace Game.Chat
static bool HandleBindSightCommand(CommandHandler handler) static bool HandleBindSightCommand(CommandHandler handler)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
return false; return false;
handler.GetSession().GetPlayer().CastSpell(unit, 6277, true); handler.GetSession().GetPlayer().CastSpell(unit, 6277, true);
@@ -168,14 +168,14 @@ namespace Game.Chat
if (!args.Empty()) if (!args.Empty())
{ {
target = Global.ObjAccessor.FindPlayerByName(args.NextString()); target = Global.ObjAccessor.FindPlayerByName(args.NextString());
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
} }
} }
if (!target) if (target == null)
{ {
if (!handler.ExtractPlayerTarget(args, out target)) if (!handler.ExtractPlayerTarget(args, out target))
return false; return false;
@@ -193,7 +193,7 @@ namespace Game.Chat
static bool HandleComeToMeCommand(CommandHandler handler) static bool HandleComeToMeCommand(CommandHandler handler)
{ {
Creature caster = handler.GetSelectedCreature(); Creature caster = handler.GetSelectedCreature();
if (!caster) if (caster == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -216,14 +216,14 @@ namespace Game.Chat
static bool HandleDamageCommand(CommandHandler handler, uint damage, SpellSchools? school, [OptionalArg]SpellInfo spellInfo) static bool HandleDamageCommand(CommandHandler handler, uint damage, SpellSchools? school, [OptionalArg]SpellInfo spellInfo)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target || handler.GetSession().GetPlayer().GetTarget().IsEmpty()) if (target == null || handler.GetSession().GetPlayer().GetTarget().IsEmpty())
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
} }
Player player_ = target.ToPlayer(); Player player = target.ToPlayer();
if (player_) if (player != null)
if (handler.HasLowerSecurity(player_, ObjectGuid.Empty, false)) if (handler.HasLowerSecurity(player, ObjectGuid.Empty, false))
return false; return false;
if (!target.IsAlive()) if (!target.IsAlive())
@@ -324,14 +324,14 @@ namespace Game.Chat
static bool HandleDieCommand(CommandHandler handler) static bool HandleDieCommand(CommandHandler handler)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target && handler.GetPlayer().GetTarget().IsEmpty()) if (target == null && handler.GetPlayer().GetTarget().IsEmpty())
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
} }
Player player = target.ToPlayer(); Player player = target.ToPlayer();
if (player) if (player != null)
if (handler.HasLowerSecurity(player, ObjectGuid.Empty, false)) if (handler.HasLowerSecurity(player, ObjectGuid.Empty, false))
return false; return false;
@@ -380,7 +380,7 @@ namespace Game.Chat
case HighGuid.Player: case HighGuid.Player:
{ {
obj = Global.ObjAccessor.FindPlayer(ObjectGuid.Create(HighGuid.Player, guidLow)); obj = Global.ObjAccessor.FindPlayer(ObjectGuid.Create(HighGuid.Player, guidLow));
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
} }
@@ -389,7 +389,7 @@ namespace Game.Chat
case HighGuid.Creature: case HighGuid.Creature:
{ {
obj = handler.GetCreatureFromPlayerMapByDbGuid(guidLow); obj = handler.GetCreatureFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandNocreaturefound); handler.SendSysMessage(CypherStrings.CommandNocreaturefound);
} }
@@ -398,7 +398,7 @@ namespace Game.Chat
case HighGuid.GameObject: case HighGuid.GameObject:
{ {
obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandNogameobjectfound); handler.SendSysMessage(CypherStrings.CommandNogameobjectfound);
} }
@@ -407,14 +407,14 @@ namespace Game.Chat
default: default:
return false; return false;
} }
if (!obj) if (obj == null)
return false; return false;
} }
else else
{ {
obj = handler.GetSelectedUnit(); obj = handler.GetSelectedUnit();
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -486,7 +486,7 @@ namespace Game.Chat
// Player and duration retrieval is over // Player and duration retrieval is over
if (canApplyFreeze) if (canApplyFreeze)
{ {
if (!player) // can be null if some previous selection failed if (player == null) // can be null if some previous selection failed
{ {
handler.SendSysMessage(CypherStrings.CommandFreezeWrong); handler.SendSysMessage(CypherStrings.CommandFreezeWrong);
return true; return true;
@@ -532,7 +532,7 @@ namespace Game.Chat
case HighGuid.Player: case HighGuid.Player:
{ {
obj = Global.ObjAccessor.FindPlayer(ObjectGuid.Create(HighGuid.Player, guidLow)); obj = Global.ObjAccessor.FindPlayer(ObjectGuid.Create(HighGuid.Player, guidLow));
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
} }
@@ -541,7 +541,7 @@ namespace Game.Chat
case HighGuid.Creature: case HighGuid.Creature:
{ {
obj = handler.GetCreatureFromPlayerMapByDbGuid(guidLow); obj = handler.GetCreatureFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandNocreaturefound); handler.SendSysMessage(CypherStrings.CommandNocreaturefound);
} }
@@ -550,7 +550,7 @@ namespace Game.Chat
case HighGuid.GameObject: case HighGuid.GameObject:
{ {
obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow); obj = handler.GetObjectFromPlayerMapByDbGuid(guidLow);
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.CommandNogameobjectfound); handler.SendSysMessage(CypherStrings.CommandNogameobjectfound);
} }
@@ -559,14 +559,14 @@ namespace Game.Chat
default: default:
return false; return false;
} }
if (!obj) if (obj == null)
return false; return false;
} }
else else
{ {
obj = handler.GetSelectedUnit(); obj = handler.GetSelectedUnit();
if (!obj) if (obj == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
return false; return false;
@@ -622,7 +622,7 @@ namespace Game.Chat
obj.GetPositionX(), obj.GetPositionY(), obj.GetPositionZ(), obj.GetOrientation()); obj.GetPositionX(), obj.GetPositionY(), obj.GetPositionZ(), obj.GetOrientation());
Transport transport = obj.GetTransport<Transport>(); Transport transport = obj.GetTransport<Transport>();
if (transport) if (transport != null)
{ {
handler.SendSysMessage(CypherStrings.TransportPosition, transport.GetGoInfo().MoTransport.SpawnMap, obj.GetTransOffsetX(), obj.GetTransOffsetY(), obj.GetTransOffsetZ(), obj.GetTransOffsetO(), handler.SendSysMessage(CypherStrings.TransportPosition, transport.GetGoInfo().MoTransport.SpawnMap, obj.GetTransOffsetX(), obj.GetTransOffsetY(), obj.GetTransOffsetZ(), obj.GetTransOffsetO(),
transport.GetEntry(), transport.GetName()); transport.GetEntry(), transport.GetName());
@@ -671,7 +671,7 @@ namespace Game.Chat
static bool HandleHideAreaCommand(CommandHandler handler, uint areaId) static bool HandleHideAreaCommand(CommandHandler handler, uint areaId)
{ {
Player playerTarget = handler.GetSelectedPlayer(); Player playerTarget = handler.GetSelectedPlayer();
if (!playerTarget) if (playerTarget == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -821,7 +821,7 @@ namespace Game.Chat
// Save the frozen player to update remaining time in case of future .listfreeze uses // Save the frozen player to update remaining time in case of future .listfreeze uses
// before the frozen state expires // before the frozen state expires
Player frozen = Global.ObjAccessor.FindPlayerByName(player); Player frozen = Global.ObjAccessor.FindPlayerByName(player);
if (frozen) if (frozen != null)
frozen.SaveToDB(); frozen.SaveToDB();
// Notify the freeze duration // Notify the freeze duration
if (remaintime == -1) // Permanent duration if (remaintime == -1) // Permanent duration
@@ -848,7 +848,7 @@ namespace Game.Chat
static bool HandleMovegensCommand(CommandHandler handler) static bool HandleMovegensCommand(CommandHandler handler)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
@@ -948,7 +948,7 @@ namespace Game.Chat
uint accountId = target != null ? target.GetSession().GetAccountId() : Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(player.GetGUID()); uint accountId = target != null ? target.GetSession().GetAccountId() : Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(player.GetGUID());
// find only player from same account if any // find only player from same account if any
if (!target) if (target == null)
{ {
WorldSession session = Global.WorldMgr.FindSession(accountId); WorldSession session = Global.WorldMgr.FindSession(accountId);
if (session != null) if (session != null)
@@ -967,7 +967,7 @@ namespace Game.Chat
else else
muteBy = handler.GetCypherString(CypherStrings.Console); muteBy = handler.GetCypherString(CypherStrings.Console);
if (target) if (target != null)
{ {
// Target is online, mute will be in effect right away. // Target is online, mute will be in effect right away.
long mutedUntil = GameTime.GetGameTime() + muteTime * Time.Minute; long mutedUntil = GameTime.GetGameTime() + muteTime * Time.Minute;
@@ -995,7 +995,7 @@ namespace Game.Chat
if (WorldConfig.GetBoolValue(WorldCfg.ShowMuteInWorld)) if (WorldConfig.GetBoolValue(WorldCfg.ShowMuteInWorld))
Global.WorldMgr.SendWorldText(CypherStrings.CommandMutemessageWorld, muteBy, nameLink, muteTime, muteReasonStr); Global.WorldMgr.SendWorldText(CypherStrings.CommandMutemessageWorld, muteBy, nameLink, muteTime, muteReasonStr);
if (target) if (target != null)
{ {
target.SendSysMessage(CypherStrings.YourChatDisabled, muteTime, muteBy, muteReasonStr); target.SendSysMessage(CypherStrings.YourChatDisabled, muteTime, muteBy, muteReasonStr);
handler.SendSysMessage(CypherStrings.YouDisableChat, nameLink, muteTime, muteReasonStr); handler.SendSysMessage(CypherStrings.YouDisableChat, nameLink, muteTime, muteReasonStr);
@@ -1201,7 +1201,7 @@ namespace Game.Chat
// Mail data print is only defined if you have a mail // Mail data print is only defined if you have a mail
if (target) if (target != null)
{ {
// check online security // check online security
if (handler.HasLowerSecurity(target, ObjectGuid.Empty)) if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
@@ -1266,7 +1266,7 @@ namespace Game.Chat
// Only fetch these fields if commander has sufficient rights) // Only fetch these fields if commander has sufficient rights)
if (handler.HasPermission(RBACPermissions.CommandsPinfoCheckPersonalData) && // RBAC Perm. 48, Role 39 if (handler.HasPermission(RBACPermissions.CommandsPinfoCheckPersonalData) && // RBAC Perm. 48, Role 39
(!handler.GetSession() || handler.GetSession().GetSecurity() >= (AccountTypes)security)) (handler.GetSession() == null || handler.GetSession().GetSecurity() >= (AccountTypes)security))
{ {
eMail = result0.Read<string>(2); eMail = result0.Read<string>(2);
regMail = result0.Read<string>(3); regMail = result0.Read<string>(3);
@@ -1344,10 +1344,10 @@ namespace Game.Chat
// Initiate output // Initiate output
// Output I. LANG_PINFO_PLAYER // Output I. LANG_PINFO_PLAYER
handler.SendSysMessage(CypherStrings.PinfoPlayer, target ? "" : handler.GetCypherString(CypherStrings.Offline), nameLink, targetGuid.ToString()); handler.SendSysMessage(CypherStrings.PinfoPlayer, target != null ? "" : handler.GetCypherString(CypherStrings.Offline), nameLink, targetGuid.ToString());
// Output II. LANG_PINFO_GM_ACTIVE if character is gamemaster // Output II. LANG_PINFO_GM_ACTIVE if character is gamemaster
if (target && target.IsGameMaster()) if (target != null && target.IsGameMaster())
handler.SendSysMessage(CypherStrings.PinfoGmActive); handler.SendSysMessage(CypherStrings.PinfoGmActive);
// Output III. LANG_PINFO_BANNED if ban exists and is applied // Output III. LANG_PINFO_BANNED if ban exists and is applied
@@ -1387,7 +1387,7 @@ namespace Game.Chat
handler.SendSysMessage(CypherStrings.PinfoChrAlive, alive); handler.SendSysMessage(CypherStrings.PinfoChrAlive, alive);
// Output XIII. phases // Output XIII. phases
if (target) if (target != null)
PhasingHandler.PrintToChat(handler, target); PhasingHandler.PrintToChat(handler, target);
// Output XIV. LANG_PINFO_CHR_MONEY // Output XIV. LANG_PINFO_CHR_MONEY
@@ -1470,7 +1470,7 @@ namespace Game.Chat
static bool HandlePossessCommand(CommandHandler handler) static bool HandlePossessCommand(CommandHandler handler)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
return false; return false;
handler.GetSession().GetPlayer().CastSpell(unit, 530, true); handler.GetSession().GetPlayer().CastSpell(unit, 530, true);
@@ -1559,7 +1559,7 @@ namespace Game.Chat
// accept only explicitly selected target (not implicitly self targeting case) // accept only explicitly selected target (not implicitly self targeting case)
Creature target = !player.GetTarget().IsEmpty() ? handler.GetSelectedCreature() : null; Creature target = !player.GetTarget().IsEmpty() ? handler.GetSelectedCreature() : null;
if (target) if (target != null)
{ {
if (target.IsPet()) if (target.IsPet())
{ {
@@ -1628,7 +1628,7 @@ namespace Game.Chat
if (handler.GetSession().HasPermission(RBACPermissions.CommandsSaveWithoutDelay)) if (handler.GetSession().HasPermission(RBACPermissions.CommandsSaveWithoutDelay))
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (target) if (target != null)
target.SaveToDB(); target.SaveToDB();
else else
player.SaveToDB(); player.SaveToDB();
@@ -1648,7 +1648,7 @@ namespace Game.Chat
static bool HandleShowAreaCommand(CommandHandler handler, uint areaId) static bool HandleShowAreaCommand(CommandHandler handler, uint areaId)
{ {
Player playerTarget = handler.GetSelectedPlayer(); Player playerTarget = handler.GetSelectedPlayer();
if (!playerTarget) if (playerTarget == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -1699,7 +1699,7 @@ namespace Game.Chat
return false; return false;
} }
if (target) if (target != null)
{ {
string nameLink = handler.PlayerLink(targetName); string nameLink = handler.PlayerLink(targetName);
// check online security // check online security
@@ -1821,11 +1821,11 @@ namespace Game.Chat
else // If no name was entered - use target else // If no name was entered - use target
{ {
player = handler.GetSelectedPlayer(); player = handler.GetSelectedPlayer();
if (player) if (player != null)
name = player.GetName(); name = player.GetName();
} }
if (player) if (player != null)
{ {
handler.SendSysMessage(CypherStrings.CommandUnfreeze, name); handler.SendSysMessage(CypherStrings.CommandUnfreeze, name);
@@ -1874,10 +1874,10 @@ namespace Game.Chat
if (!handler.ExtractPlayerTarget(args, out target, out targetGuid, out targetName)) if (!handler.ExtractPlayerTarget(args, out target, out targetGuid, out targetName))
return false; return false;
uint accountId = target ? target.GetSession().GetAccountId() : Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(targetGuid); uint accountId = target != null ? target.GetSession().GetAccountId() : Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(targetGuid);
// find only player from same account if any // find only player from same account if any
if (!target) if (target == null)
{ {
WorldSession session = Global.WorldMgr.FindSession(accountId); WorldSession session = Global.WorldMgr.FindSession(accountId);
if (session != null) if (session != null)
@@ -1888,7 +1888,7 @@ namespace Game.Chat
if (handler.HasLowerSecurity(target, targetGuid, true)) if (handler.HasLowerSecurity(target, targetGuid, true))
return false; return false;
if (target) if (target != null)
{ {
if (target.GetSession().CanSpeak()) if (target.GetSession().CanSpeak())
{ {
@@ -1906,7 +1906,7 @@ namespace Game.Chat
stmt.AddValue(3, accountId); stmt.AddValue(3, accountId);
DB.Login.Execute(stmt); DB.Login.Execute(stmt);
if (target) if (target != null)
target.SendSysMessage(CypherStrings.YourChatEnabled); target.SendSysMessage(CypherStrings.YourChatEnabled);
string nameLink = handler.PlayerLink(targetName); string nameLink = handler.PlayerLink(targetName);
@@ -1920,7 +1920,7 @@ namespace Game.Chat
static bool HandleUnPossessCommand(CommandHandler handler) static bool HandleUnPossessCommand(CommandHandler handler)
{ {
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (unit == null)
unit = handler.GetSession().GetPlayer(); unit = handler.GetSession().GetPlayer();
unit.RemoveCharmAuras(); unit.RemoveCharmAuras();
@@ -1939,7 +1939,7 @@ namespace Game.Chat
{ {
// 7355: "Stuck" // 7355: "Stuck"
var player1 = handler.GetSession().GetPlayer(); var player1 = handler.GetSession().GetPlayer();
if (player1) if (player1 != null)
player1.CastSpell(player1, SPELL_UNSTUCK_ID, false); player1.CastSpell(player1, SPELL_UNSTUCK_ID, false);
return true; return true;
} }
@@ -1957,7 +1957,7 @@ namespace Game.Chat
if (!handler.ExtractPlayerTarget(args, out player, out targetGUID)) if (!handler.ExtractPlayerTarget(args, out player, out targetGUID))
return false; return false;
if (!player) if (player == null)
{ {
PreparedStatement stmt = CharacterDatabase.GetPreparedStatement(CharStatements.SEL_CHAR_HOMEBIND); PreparedStatement stmt = CharacterDatabase.GetPreparedStatement(CharStatements.SEL_CHAR_HOMEBIND);
stmt.AddValue(0, targetGUID.GetCounter()); stmt.AddValue(0, targetGUID.GetCounter());
@@ -1978,7 +1978,7 @@ namespace Game.Chat
return false; return false;
Player caster = handler.GetSession().GetPlayer(); Player caster = handler.GetSession().GetPlayer();
if (caster) if (caster != null)
{ {
ObjectGuid castId = ObjectGuid.Create(HighGuid.Cast, SpellCastSource.Normal, player.GetMapId(), SPELL_UNSTUCK_ID, player.GetMap().GenerateLowGuid(HighGuid.Cast)); ObjectGuid castId = ObjectGuid.Create(HighGuid.Cast, SpellCastSource.Normal, player.GetMapId(), SPELL_UNSTUCK_ID, player.GetMap().GenerateLowGuid(HighGuid.Cast));
Spell.SendCastResult(caster, spellInfo, new Networking.Packets.SpellCastVisual(SPELL_UNSTUCK_VISUAL, 0), castId, SpellCastResult.CantDoThatRightNow); Spell.SendCastResult(caster, spellInfo, new Networking.Packets.SpellCastVisual(SPELL_UNSTUCK_VISUAL, 0), castId, SpellCastResult.CantDoThatRightNow);
@@ -2105,7 +2105,7 @@ namespace Game.Chat
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetSession().GetPlayer();
Player playerTarget = handler.GetSelectedPlayer(); Player playerTarget = handler.GetSelectedPlayer();
if (!playerTarget) if (playerTarget == null)
playerTarget = player; playerTarget = player;
ItemTemplate itemTemplate = Global.ObjectMgr.GetItemTemplate(itemId); ItemTemplate itemTemplate = Global.ObjectMgr.GetItemTemplate(itemId);
@@ -2164,12 +2164,12 @@ namespace Game.Chat
foreach (var posCount in dest) foreach (var posCount in dest)
{ {
Item item1 = player.GetItemByPos(posCount.pos); Item item1 = player.GetItemByPos(posCount.pos);
if (item1) if (item1 != null)
item1.SetBinding(false); item1.SetBinding(false);
} }
} }
if (count > 0 && item) if (count > 0 && item != null)
{ {
player.SendNewItem(item, (uint)count, false, true); player.SendNewItem(item, (uint)count, false, true);
handler.SendSysMessage(CypherStrings.Additem, itemId, count, handler.GetNameLink(playerTarget)); handler.SendSysMessage(CypherStrings.Additem, itemId, count, handler.GetNameLink(playerTarget));
@@ -2212,7 +2212,7 @@ namespace Game.Chat
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetSession().GetPlayer();
Player playerTarget = handler.GetSelectedPlayer(); Player playerTarget = handler.GetSelectedPlayer();
if (!playerTarget) if (playerTarget == null)
playerTarget = player; playerTarget = player;
Log.outDebug(LogFilter.Server, Global.ObjectMgr.GetCypherString(CypherStrings.Additemset), itemSetId); Log.outDebug(LogFilter.Server, Global.ObjectMgr.GetCypherString(CypherStrings.Additemset), itemSetId);
@@ -2409,7 +2409,7 @@ namespace Game.Chat
} }
} }
if (count > 0 && item) if (count > 0 && item != null)
{ {
player.SendNewItem(item, (uint)count, false, true); player.SendNewItem(item, (uint)count, false, true);
if (player != playerTarget) if (player != playerTarget)
+16 -16
View File
@@ -97,7 +97,7 @@ namespace Game.Chat
static bool HandleModifyFactionCommand(CommandHandler handler, uint? factionid, uint? flag, ulong? npcflag, uint? dyflag) static bool HandleModifyFactionCommand(CommandHandler handler, uint? factionid, uint? flag, ulong? npcflag, uint? dyflag)
{ {
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -157,7 +157,7 @@ namespace Game.Chat
mark = 65535; mark = 65535;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -211,7 +211,7 @@ namespace Game.Chat
} }
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -235,7 +235,7 @@ namespace Game.Chat
static bool HandleModifyMoneyCommand(CommandHandler handler, StringArguments args) static bool HandleModifyMoneyCommand(CommandHandler handler, StringArguments args)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -298,7 +298,7 @@ namespace Game.Chat
return false; return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -328,7 +328,7 @@ namespace Game.Chat
drunklevel = 100; drunklevel = 100;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (target) if (target != null)
target.SetDrunkValue(drunklevel); target.SetDrunkValue(drunklevel);
return true; return true;
@@ -341,7 +341,7 @@ namespace Game.Chat
return false; return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -470,7 +470,7 @@ namespace Game.Chat
return false; return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -529,7 +529,7 @@ namespace Game.Chat
return false; return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -617,7 +617,7 @@ namespace Game.Chat
return false; return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
@@ -652,7 +652,7 @@ namespace Game.Chat
} }
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -686,7 +686,7 @@ namespace Game.Chat
static bool HandleDeMorphCommand(CommandHandler handler) static bool HandleDeMorphCommand(CommandHandler handler)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
target = handler.GetSession().GetPlayer(); target = handler.GetSession().GetPlayer();
// check online security // check online security
@@ -784,7 +784,7 @@ namespace Game.Chat
static void NotifyModification(CommandHandler handler, Unit target, CypherStrings resourceMessage, CypherStrings resourceReportMessage, params object[] args) static void NotifyModification(CommandHandler handler, Unit target, CypherStrings resourceMessage, CypherStrings resourceReportMessage, params object[] args)
{ {
Player player = target.ToPlayer(); Player player = target.ToPlayer();
if (player) if (player != null)
{ {
handler.SendSysMessage(resourceMessage, new object[] { handler.GetNameLink(player) }.Combine(args)); handler.SendSysMessage(resourceMessage, new object[] { handler.GetNameLink(player) }.Combine(args));
if (handler.NeedReportToTarget(player)) if (handler.NeedReportToTarget(player))
@@ -806,7 +806,7 @@ namespace Game.Chat
return false; return false;
} }
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -826,14 +826,14 @@ namespace Game.Chat
return false; return false;
} }
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
} }
Player player = target.ToPlayer(); Player player = target.ToPlayer();
if (player) if (player != null)
{ {
// check online security // check online security
if (handler.HasLowerSecurity(player, ObjectGuid.Empty)) if (handler.HasLowerSecurity(player, ObjectGuid.Empty))
+34 -34
View File
@@ -50,13 +50,13 @@ namespace Game.Chat
static bool HandleNpcEvadeCommand(CommandHandler handler, EvadeReason? why, string force) static bool HandleNpcEvadeCommand(CommandHandler handler, EvadeReason? why, string force)
{ {
Creature creatureTarget = handler.GetSelectedCreature(); Creature creatureTarget = handler.GetSelectedCreature();
if (!creatureTarget || creatureTarget.IsPet()) if (creatureTarget == null || creatureTarget.IsPet())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
} }
if (!creatureTarget.IsAIEnabled()) if (creatureTarget.IsAIEnabled())
{ {
handler.SendSysMessage(CypherStrings.CreatureNotAiEnabled); handler.SendSysMessage(CypherStrings.CreatureNotAiEnabled);
return false; return false;
@@ -73,7 +73,7 @@ namespace Game.Chat
static bool HandleNpcInfoCommand(CommandHandler handler) static bool HandleNpcInfoCommand(CommandHandler handler)
{ {
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -260,7 +260,7 @@ namespace Game.Chat
static bool HandleNpcPlayEmoteCommand(CommandHandler handler, uint emote) static bool HandleNpcPlayEmoteCommand(CommandHandler handler, uint emote)
{ {
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -278,7 +278,7 @@ namespace Game.Chat
return false; return false;
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -314,7 +314,7 @@ namespace Game.Chat
} }
Loot loot = creatureTarget._loot; Loot loot = creatureTarget._loot;
if (!creatureTarget.IsDead() || loot == null || loot.IsLooted()) if (creatureTarget.IsDead() || loot == null || loot.IsLooted())
{ {
handler.SendSysMessage(CypherStrings.CommandNotDeadOrNoLoot, creatureTarget.GetName()); handler.SendSysMessage(CypherStrings.CommandNotDeadOrNoLoot, creatureTarget.GetName());
return false; return false;
@@ -392,7 +392,7 @@ namespace Game.Chat
static bool HandleNpcTameCommand(CommandHandler handler) static bool HandleNpcTameCommand(CommandHandler handler)
{ {
Creature creatureTarget = handler.GetSelectedCreature(); Creature creatureTarget = handler.GetSelectedCreature();
if (!creatureTarget || creatureTarget.IsPet()) if (creatureTarget == null || creatureTarget.IsPet())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -416,7 +416,7 @@ namespace Game.Chat
// Everything looks OK, create new pet // Everything looks OK, create new pet
Pet pet = player.CreateTamedPetFrom(creatureTarget); Pet pet = player.CreateTamedPetFrom(creatureTarget);
if (!pet) if (pet == null)
{ {
handler.SendSysMessage(CypherStrings.CreatureNonTameable, cInfo.Entry); handler.SendSysMessage(CypherStrings.CreatureNonTameable, cInfo.Entry);
return false; return false;
@@ -455,7 +455,7 @@ namespace Game.Chat
static bool HandleNpcTextEmoteCommand(CommandHandler handler, Tail text) static bool HandleNpcTextEmoteCommand(CommandHandler handler, Tail text)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -476,7 +476,7 @@ namespace Game.Chat
} }
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -498,7 +498,7 @@ namespace Game.Chat
return false; return false;
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -533,7 +533,7 @@ namespace Game.Chat
var list = map[key]; var list = map[key];
Player player = Global.ObjAccessor.FindConnectedPlayer(key); Player player = Global.ObjAccessor.FindConnectedPlayer(key);
handler.SendSysMessage(CypherStrings.CommandNpcShowlootSublabel, player ? player.GetName() : $"Offline player (GUID {key})", list.Count); handler.SendSysMessage(CypherStrings.CommandNpcShowlootSublabel, player != null ? player.GetName() : $"Offline player (GUID {key})", list.Count);
foreach (var it in list) foreach (var it in list)
{ {
@@ -557,7 +557,7 @@ namespace Game.Chat
Map map = chr.GetMap(); Map map = chr.GetMap();
Transport trans = chr.GetTransport<Transport>(); Transport trans = chr.GetTransport<Transport>();
if (trans) if (trans != null)
{ {
ulong guid = Global.ObjectMgr.GenerateCreatureSpawnId(); ulong guid = Global.ObjectMgr.GenerateCreatureSpawnId();
CreatureData data = Global.ObjectMgr.NewOrExistCreatureData(guid); CreatureData data = Global.ObjectMgr.NewOrExistCreatureData(guid);
@@ -577,7 +577,7 @@ namespace Game.Chat
} }
Creature creature = Creature.CreateCreature(id, map, chr.GetPosition()); Creature creature = Creature.CreateCreature(id, map, chr.GetPosition());
if (!creature) if (creature == null)
return false; return false;
PhasingHandler.InheritPhaseShift(creature, chr); PhasingHandler.InheritPhaseShift(creature, chr);
@@ -589,7 +589,7 @@ namespace Game.Chat
// current "creature" variable is deleted and created fresh new, otherwise old values might trigger asserts or cause undefined behavior // current "creature" variable is deleted and created fresh new, otherwise old values might trigger asserts or cause undefined behavior
creature.CleanupsBeforeDelete(); creature.CleanupsBeforeDelete();
creature = Creature.CreateCreatureFromDB(db_guid, map, true, true); creature = Creature.CreateCreatureFromDB(db_guid, map, true, true);
if (!creature) if (creature == null)
return false; return false;
Global.ObjectMgr.AddCreatureToGrid(Global.ObjectMgr.GetCreatureData(db_guid)); Global.ObjectMgr.AddCreatureToGrid(Global.ObjectMgr.GetCreatureData(db_guid));
@@ -606,7 +606,7 @@ namespace Game.Chat
} }
Creature vendor = handler.GetSelectedCreature(); Creature vendor = handler.GetSelectedCreature();
if (!vendor) if (vendor == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -674,7 +674,7 @@ namespace Game.Chat
static bool HandleNpcAddFormationCommand(CommandHandler handler, ulong leaderGUID) static bool HandleNpcAddFormationCommand(CommandHandler handler, ulong leaderGUID)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature || creature.GetSpawnId() == 0) if (creature == null || creature.GetSpawnId() == 0)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -747,7 +747,7 @@ namespace Game.Chat
else else
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature || creature.IsPet() || creature.IsTotem()) if (creature == null || creature.IsPet() || creature.IsTotem())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -777,7 +777,7 @@ namespace Game.Chat
static bool HandleNpcDeleteVendorItemCommand(CommandHandler handler, uint itemId) static bool HandleNpcDeleteVendorItemCommand(CommandHandler handler, uint itemId)
{ {
Creature vendor = handler.GetSelectedCreature(); Creature vendor = handler.GetSelectedCreature();
if (!vendor || !vendor.IsVendor()) if (vendor == null || !vendor.IsVendor())
{ {
handler.SendSysMessage(CypherStrings.CommandVendorselection); handler.SendSysMessage(CypherStrings.CommandVendorselection);
return false; return false;
@@ -807,7 +807,7 @@ namespace Game.Chat
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetSession().GetPlayer();
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -826,7 +826,7 @@ namespace Game.Chat
Player player = handler.GetPlayer(); Player player = handler.GetPlayer();
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -879,7 +879,7 @@ namespace Game.Chat
static bool HandleNpcSetDataCommand(CommandHandler handler, uint data_1, uint data_2) static bool HandleNpcSetDataCommand(CommandHandler handler, uint data_1, uint data_2)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -898,7 +898,7 @@ namespace Game.Chat
return false; return false;
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit || !unit.IsTypeId(TypeId.Unit)) if (unit == null || !unit.IsTypeId(TypeId.Unit))
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -922,7 +922,7 @@ namespace Game.Chat
} }
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -953,7 +953,7 @@ namespace Game.Chat
static bool HandleNpcSetFlagCommand(CommandHandler handler, NPCFlags npcFlags, NPCFlags2 npcFlags2) static bool HandleNpcSetFlagCommand(CommandHandler handler, NPCFlags npcFlags, NPCFlags2 npcFlags2)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -982,7 +982,7 @@ namespace Game.Chat
} }
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature || creature.IsPet()) if (creature == null || creature.IsPet())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -1000,7 +1000,7 @@ namespace Game.Chat
static bool HandleNpcSetLinkCommand(CommandHandler handler, ulong linkguid) static bool HandleNpcSetLinkCommand(CommandHandler handler, ulong linkguid)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -1026,7 +1026,7 @@ namespace Game.Chat
static bool HandleNpcSetModelCommand(CommandHandler handler, uint displayId) static bool HandleNpcSetModelCommand(CommandHandler handler, uint displayId)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature || creature.IsPet()) if (creature == null || creature.IsPet())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -1063,7 +1063,7 @@ namespace Game.Chat
if (!lowGuid.HasValue) // case .setmovetype $move_type (with selected creature) if (!lowGuid.HasValue) // case .setmovetype $move_type (with selected creature)
{ {
creature = handler.GetSelectedCreature(); creature = handler.GetSelectedCreature();
if (!creature || creature.IsPet()) if (creature == null || creature.IsPet())
return false; return false;
lowguid = creature.GetSpawnId(); lowguid = creature.GetSpawnId();
@@ -1111,7 +1111,7 @@ namespace Game.Chat
return false; return false;
} }
if (creature) if (creature != null)
{ {
// update movement type // update movement type
if (!doNotDelete) if (!doNotDelete)
@@ -1149,7 +1149,7 @@ namespace Game.Chat
} }
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature || creature.IsPet()) if (creature == null || creature.IsPet())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -1172,7 +1172,7 @@ namespace Game.Chat
int phaseGroupId = args.NextInt32(); int phaseGroupId = args.NextInt32();
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature || creature.IsPet()) if (creature == null || creature.IsPet())
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -1203,7 +1203,7 @@ namespace Game.Chat
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
ulong guidLow; ulong guidLow;
if (creature) if (creature != null)
guidLow = creature.GetSpawnId(); guidLow = creature.GetSpawnId();
else else
return false; return false;
@@ -1232,7 +1232,7 @@ namespace Game.Chat
static bool HandleNpcSetSpawnTimeCommand(CommandHandler handler, uint spawnTime) static bool HandleNpcSetSpawnTimeCommand(CommandHandler handler, uint spawnTime)
{ {
Creature creature = handler.GetSelectedCreature(); Creature creature = handler.GetSelectedCreature();
if (!creature) if (creature == null)
return false; return false;
PreparedStatement stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_CREATURE_SPAWN_TIME_SECS); PreparedStatement stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_CREATURE_SPAWN_TIME_SECS);
+7 -7
View File
@@ -17,7 +17,7 @@ namespace Game.Chat
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetSession().GetPlayer();
Creature creatureTarget = handler.GetSelectedCreature(); Creature creatureTarget = handler.GetSelectedCreature();
if (!creatureTarget || creatureTarget.IsPet() || creatureTarget.IsTypeId(TypeId.Player)) if (creatureTarget == null || creatureTarget.IsPet() || creatureTarget.IsTypeId(TypeId.Player))
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -65,7 +65,7 @@ namespace Game.Chat
static bool HandlePetLearnCommand(CommandHandler handler, SpellInfo spellInfo) static bool HandlePetLearnCommand(CommandHandler handler, SpellInfo spellInfo)
{ {
Pet pet = GetSelectedPlayerPetOrOwn(handler); Pet pet = GetSelectedPlayerPetOrOwn(handler);
if (!pet) if (pet == null)
{ {
handler.SendSysMessage(CypherStrings.SelectPlayerOrPet); handler.SendSysMessage(CypherStrings.SelectPlayerOrPet);
return false; return false;
@@ -97,7 +97,7 @@ namespace Game.Chat
static bool HandlePetUnlearnCommand(CommandHandler handler, SpellInfo spellInfo) static bool HandlePetUnlearnCommand(CommandHandler handler, SpellInfo spellInfo)
{ {
Pet pet = GetSelectedPlayerPetOrOwn(handler); Pet pet = GetSelectedPlayerPetOrOwn(handler);
if (!pet) if (pet == null)
{ {
handler.SendSysMessage(CypherStrings.SelectPlayerOrPet); handler.SendSysMessage(CypherStrings.SelectPlayerOrPet);
return false; return false;
@@ -117,8 +117,8 @@ namespace Game.Chat
static bool HandlePetLevelCommand(CommandHandler handler, int? level) static bool HandlePetLevelCommand(CommandHandler handler, int? level)
{ {
Pet pet = GetSelectedPlayerPetOrOwn(handler); Pet pet = GetSelectedPlayerPetOrOwn(handler);
Player owner = pet ? pet.GetOwner() : null; Player owner = pet != null ? pet.GetOwner() : null;
if (!pet || !owner) if (pet == null || owner == null)
{ {
handler.SendSysMessage(CypherStrings.SelectPlayerOrPet); handler.SendSysMessage(CypherStrings.SelectPlayerOrPet);
return false; return false;
@@ -146,7 +146,7 @@ namespace Game.Chat
static Pet GetSelectedPlayerPetOrOwn(CommandHandler handler) static Pet GetSelectedPlayerPetOrOwn(CommandHandler handler)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (target) if (target != null)
{ {
if (target.IsTypeId(TypeId.Player)) if (target.IsTypeId(TypeId.Player))
return target.ToPlayer().GetPet(); return target.ToPlayer().GetPet();
@@ -156,7 +156,7 @@ namespace Game.Chat
} }
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetSession().GetPlayer();
return player ? player.GetPet() : null; return player != null ? player.GetPet() : null;
} }
} }
} }
+5 -5
View File
@@ -16,7 +16,7 @@ namespace Game.Chat
static bool HandleQuestAdd(CommandHandler handler, Quest quest) static bool HandleQuestAdd(CommandHandler handler, Quest quest)
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -52,7 +52,7 @@ namespace Game.Chat
static bool HandleQuestComplete(CommandHandler handler, Quest quest) static bool HandleQuestComplete(CommandHandler handler, Quest quest)
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -76,7 +76,7 @@ namespace Game.Chat
static bool HandleQuestRemove(CommandHandler handler, Quest quest) static bool HandleQuestRemove(CommandHandler handler, Quest quest)
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -125,7 +125,7 @@ namespace Game.Chat
static bool HandleQuestReward(CommandHandler handler, Quest quest) static bool HandleQuestReward(CommandHandler handler, Quest quest)
{ {
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -149,7 +149,7 @@ namespace Game.Chat
static bool HandleQuestObjectiveComplete(CommandHandler handler, uint objectiveId) static bool HandleQuestObjectiveComplete(CommandHandler handler, uint objectiveId)
{ {
Player player = handler.GetSelectedPlayerOrSelf(); Player player = handler.GetSelectedPlayerOrSelf();
if (!player) if (player == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
+2 -2
View File
@@ -105,7 +105,7 @@ namespace Game.Chat
// reset level for pet // reset level for pet
Pet pet = target.GetPet(); Pet pet = target.GetPet();
if (pet) if (pet != null)
pet.SynchronizeLevelWithOwner(); pet.SynchronizeLevelWithOwner();
Global.ScriptMgr.OnPlayerLevelChanged(target, oldLevel); Global.ScriptMgr.OnPlayerLevelChanged(target, oldLevel);
@@ -185,7 +185,7 @@ namespace Game.Chat
/* TODO: 6.x remove/update pet talents /* TODO: 6.x remove/update pet talents
Pet* pet = target.GetPet(); Pet* pet = target.GetPet();
Pet.resetTalentsForAllPetsOf(target, pet); Pet.resetTalentsForAllPetsOf(target, pet);
if (pet) if (pet != null)
target.SendTalentsInfoData(true); target.SendTalentsInfoData(true);
*/ */
return true; return true;
+4 -4
View File
@@ -15,7 +15,7 @@ namespace Game.Chat
static bool HandleCancelSceneCommand(CommandHandler handler, uint sceneScriptPackageId) static bool HandleCancelSceneCommand(CommandHandler handler, uint sceneScriptPackageId)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -32,7 +32,7 @@ namespace Game.Chat
static bool HandleDebugSceneCommand(CommandHandler handler) static bool HandleDebugSceneCommand(CommandHandler handler)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetSession().GetPlayer();
if (player) if (player != null)
{ {
player.GetSceneMgr().ToggleDebugSceneMode(); player.GetSceneMgr().ToggleDebugSceneMode();
handler.SendSysMessage(player.GetSceneMgr().IsInDebugSceneMode() ? CypherStrings.CommandSceneDebugOn : CypherStrings.CommandSceneDebugOff); handler.SendSysMessage(player.GetSceneMgr().IsInDebugSceneMode() ? CypherStrings.CommandSceneDebugOn : CypherStrings.CommandSceneDebugOff);
@@ -45,7 +45,7 @@ namespace Game.Chat
static bool HandlePlaySceneCommand(CommandHandler handler, uint sceneId) static bool HandlePlaySceneCommand(CommandHandler handler, uint sceneId)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
@@ -62,7 +62,7 @@ namespace Game.Chat
static bool HandlePlayScenePackageCommand(CommandHandler handler, uint sceneScriptPackageId, SceneFlags? flags) static bool HandlePlayScenePackageCommand(CommandHandler handler, uint sceneScriptPackageId, SceneFlags? flags)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
+5 -5
View File
@@ -27,7 +27,7 @@ namespace Game.Chat.Commands
return false; return false;
// from console show not existed sender // from console show not existed sender
MailSender sender = new(MailMessageType.Normal, handler.GetSession() ? handler.GetSession().GetPlayer().GetGUID().GetCounter() : 0, MailStationery.Gm); MailSender sender = new(MailMessageType.Normal, handler.GetSession() != null ? handler.GetSession().GetPlayer().GetGUID().GetCounter() : 0, MailStationery.Gm);
// @todo Fix poor design // @todo Fix poor design
SQLTransaction trans = new(); SQLTransaction trans = new();
@@ -96,7 +96,7 @@ namespace Game.Chat.Commands
} }
// from console show not existed sender // from console show not existed sender
MailSender sender = new(MailMessageType.Normal, handler.GetSession() ? handler.GetSession().GetPlayer().GetGUID().GetCounter() : 0, MailStationery.Gm); MailSender sender = new(MailMessageType.Normal, handler.GetSession() != null ? handler.GetSession().GetPlayer().GetGUID().GetCounter() : 0, MailStationery.Gm);
// fill mail // fill mail
MailDraft draft = new(subject, text); MailDraft draft = new(subject, text);
@@ -105,8 +105,8 @@ namespace Game.Chat.Commands
foreach (var pair in items) foreach (var pair in items)
{ {
Item item = Item.CreateItem(pair.Key, pair.Value, ItemContext.None, handler.GetSession() ? handler.GetSession().GetPlayer() : null); Item item = Item.CreateItem(pair.Key, pair.Value, ItemContext.None, handler.GetSession() != null ? handler.GetSession().GetPlayer() : null);
if (item) if (item != null)
{ {
item.SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted item.SaveToDB(trans); // save for prevent lost at next mail load, if send fail then item will deleted
draft.AddItem(item); draft.AddItem(item);
@@ -125,7 +125,7 @@ namespace Game.Chat.Commands
static bool HandleSendMoneyCommand(CommandHandler handler, PlayerIdentifier receiver, QuotedString subject, QuotedString text, long money) static bool HandleSendMoneyCommand(CommandHandler handler, PlayerIdentifier receiver, QuotedString subject, QuotedString text, long money)
{ {
// from console show not existed sender // from console show not existed sender
MailSender sender = new(MailMessageType.Normal, handler.GetSession() ? handler.GetSession().GetPlayer().GetGUID().GetCounter() : 0, MailStationery.Gm); MailSender sender = new(MailMessageType.Normal, handler.GetSession() != null ? handler.GetSession().GetPlayer().GetGUID().GetCounter() : 0, MailStationery.Gm);
SQLTransaction trans = new(); SQLTransaction trans = new();
+2 -2
View File
@@ -134,10 +134,10 @@ namespace Game.Chat
static bool IsOnlyUser(WorldSession mySession) static bool IsOnlyUser(WorldSession mySession)
{ {
// check if there is any session connected from a different address // check if there is any session connected from a different address
string myAddr = mySession ? mySession.GetRemoteAddress() : ""; string myAddr = mySession != null ? mySession.GetRemoteAddress() : "";
var sessions = Global.WorldMgr.GetAllSessions(); var sessions = Global.WorldMgr.GetAllSessions();
foreach (var session in sessions) foreach (var session in sessions)
if (session && myAddr != session.GetRemoteAddress()) if (session != null && myAddr != session.GetRemoteAddress())
return false; return false;
return true; return true;
} }
+5 -5
View File
@@ -16,14 +16,14 @@ namespace Game.Chat
static bool HandleCooldownCommand(CommandHandler handler, uint? spellIdArg) static bool HandleCooldownCommand(CommandHandler handler, uint? spellIdArg)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.PlayerNotFound); handler.SendSysMessage(CypherStrings.PlayerNotFound);
return false; return false;
} }
Player owner = target.GetCharmerOrOwnerPlayerOrPlayerItself(); Player owner = target.GetCharmerOrOwnerPlayerOrPlayerItself();
if (!owner) if (owner == null)
{ {
owner = handler.GetSession().GetPlayer(); owner = handler.GetSession().GetPlayer();
target = owner; target = owner;
@@ -56,7 +56,7 @@ namespace Game.Chat
static bool HandleAuraCommand(CommandHandler handler, uint spellId) static bool HandleAuraCommand(CommandHandler handler, uint spellId)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
@@ -80,7 +80,7 @@ namespace Game.Chat
static bool HandleUnAuraCommand(CommandHandler handler, uint spellId = 0) static bool HandleUnAuraCommand(CommandHandler handler, uint spellId = 0)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCharOrCreature); handler.SendSysMessage(CypherStrings.SelectCharOrCreature);
@@ -107,7 +107,7 @@ namespace Game.Chat
static bool HandleSetSkillCommand(CommandHandler handler, uint skillId, uint level, uint? maxSkillArg) static bool HandleSetSkillCommand(CommandHandler handler, uint skillId, uint level, uint? maxSkillArg)
{ {
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
+4 -4
View File
@@ -108,7 +108,7 @@ namespace Game.Chat
} }
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -128,7 +128,7 @@ namespace Game.Chat
string nameLink = handler.GetNameLink(target); string nameLink = handler.GetNameLink(target);
Group grp = target.GetGroup(); Group grp = target.GetGroup();
if (!grp) if (grp == null)
{ {
handler.SendSysMessage(CypherStrings.NotInGroup, nameLink); handler.SendSysMessage(CypherStrings.NotInGroup, nameLink);
return false; return false;
@@ -137,7 +137,7 @@ namespace Game.Chat
for (GroupReference refe = grp.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = grp.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player player = refe.GetSource(); Player player = refe.GetSource();
if (!player || !player.GetSession()) if (player == null || player.GetSession() == null)
continue; continue;
// check online security // check online security
@@ -234,7 +234,7 @@ namespace Game.Chat
if (where is string && where.Equals("$home")) // References target's homebind if (where is string && where.Equals("$home")) // References target's homebind
{ {
if (target) if (target != null)
target.TeleportTo(target.GetHomebind()); target.TeleportTo(target.GetHomebind());
else else
{ {
+7 -7
View File
@@ -257,7 +257,7 @@ namespace Game.Chat.Commands
// If assigned to different player other than current, leave // If assigned to different player other than current, leave
//! Console can override though //! Console can override though
Player player = handler.GetSession() != null ? handler.GetSession().GetPlayer() : null; Player player = handler.GetSession() != null ? handler.GetSession().GetPlayer() : null;
if (player && ticket.IsAssignedNotTo(player.GetGUID())) if (player != null && ticket.IsAssignedNotTo(player.GetGUID()))
{ {
handler.SendSysMessage(CypherStrings.CommandTicketalreadyassigned, ticket.GetId()); handler.SendSysMessage(CypherStrings.CommandTicketalreadyassigned, ticket.GetId());
return true; return true;
@@ -284,21 +284,21 @@ namespace Game.Chat.Commands
// Ticket should be assigned to the player who tries to close it. // Ticket should be assigned to the player who tries to close it.
// Console can override though // Console can override though
Player player = handler.GetSession() != null ? handler.GetSession().GetPlayer() : null; Player player = handler.GetSession() != null ? handler.GetSession().GetPlayer() : null;
if (player && ticket.IsAssignedNotTo(player.GetGUID())) if (player != null && ticket.IsAssignedNotTo(player.GetGUID()))
{ {
handler.SendSysMessage(CypherStrings.CommandTicketcannotclose, ticket.GetId()); handler.SendSysMessage(CypherStrings.CommandTicketcannotclose, ticket.GetId());
return true; return true;
} }
ObjectGuid closedByGuid = ObjectGuid.Empty; ObjectGuid closedByGuid = ObjectGuid.Empty;
if (player) if (player != null)
closedByGuid = player.GetGUID(); closedByGuid = player.GetGUID();
else else
closedByGuid.SetRawValue(0, ulong.MaxValue); closedByGuid.SetRawValue(0, ulong.MaxValue);
Global.SupportMgr.CloseTicket<T>(ticket.GetId(), closedByGuid); Global.SupportMgr.CloseTicket<T>(ticket.GetId(), closedByGuid);
string msg = ticket.FormatViewMessageString(handler, player ? player.GetName() : "Console", null, null, null); string msg = ticket.FormatViewMessageString(handler, player != null ? player.GetName() : "Console", null, null, null);
handler.SendGlobalGMSysMessage(msg); handler.SendGlobalGMSysMessage(msg);
return true; return true;
@@ -325,7 +325,7 @@ namespace Game.Chat.Commands
// Cannot comment ticket assigned to someone else // Cannot comment ticket assigned to someone else
//! Console excluded //! Console excluded
Player player = handler.GetSession() != null ? handler.GetSession().GetPlayer() : null; Player player = handler.GetSession() != null ? handler.GetSession().GetPlayer() : null;
if (player && ticket.IsAssignedNotTo(player.GetGUID())) if (player != null && ticket.IsAssignedNotTo(player.GetGUID()))
{ {
handler.SendSysMessage(CypherStrings.CommandTicketalreadyassigned, ticket.GetId()); handler.SendSysMessage(CypherStrings.CommandTicketalreadyassigned, ticket.GetId());
return true; return true;
@@ -336,7 +336,7 @@ namespace Game.Chat.Commands
Global.SupportMgr.UpdateLastChange(); Global.SupportMgr.UpdateLastChange();
string msg = ticket.FormatViewMessageString(handler, null, ticket.GetAssignedToName(), null, null); string msg = ticket.FormatViewMessageString(handler, null, ticket.GetAssignedToName(), null, null);
msg += string.Format(handler.GetCypherString(CypherStrings.CommandTicketlistaddcomment), player ? player.GetName() : "Console", comment); msg += string.Format(handler.GetCypherString(CypherStrings.CommandTicketlistaddcomment), player != null ? player.GetName() : "Console", comment);
handler.SendGlobalGMSysMessage(msg); handler.SendGlobalGMSysMessage(msg);
return true; return true;
@@ -405,7 +405,7 @@ namespace Game.Chat.Commands
// Get security level of player, whom this ticket is assigned to // Get security level of player, whom this ticket is assigned to
AccountTypes security; AccountTypes security;
Player assignedPlayer = ticket.GetAssignedPlayer(); Player assignedPlayer = ticket.GetAssignedPlayer();
if (assignedPlayer && assignedPlayer.IsInWorld) if (assignedPlayer != null && assignedPlayer.IsInWorld)
security = assignedPlayer.GetSession().GetSecurity(); security = assignedPlayer.GetSession().GetSecurity();
else else
{ {
+4 -4
View File
@@ -17,7 +17,7 @@ namespace Game.Chat.Commands
static bool HandleTitlesCurrentCommand(CommandHandler handler, uint titleId) static bool HandleTitlesCurrentCommand(CommandHandler handler, uint titleId)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -48,7 +48,7 @@ namespace Game.Chat.Commands
static bool HandleTitlesAddCommand(CommandHandler handler, uint titleId) static bool HandleTitlesAddCommand(CommandHandler handler, uint titleId)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -79,7 +79,7 @@ namespace Game.Chat.Commands
static bool HandleTitlesRemoveCommand(CommandHandler handler, uint titleId) static bool HandleTitlesRemoveCommand(CommandHandler handler, uint titleId)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
@@ -120,7 +120,7 @@ namespace Game.Chat.Commands
static bool HandleTitlesSetMaskCommand(CommandHandler handler, ulong mask) static bool HandleTitlesSetMaskCommand(CommandHandler handler, ulong mask)
{ {
Player target = handler.GetSelectedPlayer(); Player target = handler.GetSelectedPlayer();
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.NoCharSelected); handler.SendSysMessage(CypherStrings.NoCharSelected);
return false; return false;
+21 -21
View File
@@ -25,7 +25,7 @@ namespace Game.Chat.Commands
if (!optionalPathId.HasValue) if (!optionalPathId.HasValue)
{ {
if (target) if (target != null)
pathId = target.GetWaypointPath(); pathId = target.GetWaypointPath();
else else
{ {
@@ -321,7 +321,7 @@ namespace Game.Chat.Commands
uint pathId = optionalPathId.Value; uint pathId = optionalPathId.Value;
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -397,7 +397,7 @@ namespace Game.Chat.Commands
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
// User did select a visual waypoint? // User did select a visual waypoint?
if (!target || target.GetEntry() != 1) if (target == null || target.GetEntry() != 1)
{ {
handler.SendSysMessage("|cffff33ffERROR: You must select a waypoint.|r"); handler.SendSysMessage("|cffff33ffERROR: You must select a waypoint.|r");
return false; return false;
@@ -487,7 +487,7 @@ namespace Game.Chat.Commands
// What to do: // What to do:
// Move the visual spawnpoint // Move the visual spawnpoint
// Respawn the owner of the waypoints // Respawn the owner of the waypoints
if (!Creature.DeleteFromDB(target.GetSpawnId())) if (Creature.DeleteFromDB(target.GetSpawnId()))
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1);
return false; return false;
@@ -495,7 +495,7 @@ namespace Game.Chat.Commands
// re-create // re-create
Creature creature = Creature.CreateCreature(1, map, chr.GetPosition()); Creature creature = Creature.CreateCreature(1, map, chr.GetPosition());
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1);
return false; return false;
@@ -512,7 +512,7 @@ namespace Game.Chat.Commands
// To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells(); // To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells();
creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true); creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true);
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1);
return false; return false;
@@ -575,7 +575,7 @@ namespace Game.Chat.Commands
// No PathID provided // No PathID provided
// . Player must have selected a creature // . Player must have selected a creature
if (!target) if (target == null)
{ {
handler.SendSysMessage(CypherStrings.SelectCreature); handler.SendSysMessage(CypherStrings.SelectCreature);
return false; return false;
@@ -588,7 +588,7 @@ namespace Game.Chat.Commands
// PathID provided // PathID provided
// Warn if player also selected a creature // Warn if player also selected a creature
// . Creature selection is ignored <- // . Creature selection is ignored <-
if (target) if (target != null)
handler.SendSysMessage(CypherStrings.WaypointCreatselected); handler.SendSysMessage(CypherStrings.WaypointCreatselected);
pathId = optionalPathId.Value; pathId = optionalPathId.Value;
@@ -598,7 +598,7 @@ namespace Game.Chat.Commands
if (subCommand == "info") if (subCommand == "info")
{ {
// Check if the user did specify a visual waypoint // Check if the user did specify a visual waypoint
if (!target || target.GetEntry() != 1) if (target == null || target.GetEntry() != 1)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpSelect); handler.SendSysMessage(CypherStrings.WaypointVpSelect);
return false; return false;
@@ -661,7 +661,7 @@ namespace Game.Chat.Commands
{ {
ulong wpguid = result2.Read<ulong>(0); ulong wpguid = result2.Read<ulong>(0);
if (!Creature.DeleteFromDB(wpguid)) if (Creature.DeleteFromDB(wpguid))
{ {
handler.SendSysMessage(CypherStrings.WaypointNotremoved, wpguid); handler.SendSysMessage(CypherStrings.WaypointNotremoved, wpguid);
hasError = true; hasError = true;
@@ -692,7 +692,7 @@ namespace Game.Chat.Commands
Map map = chr.GetMap(); Map map = chr.GetMap();
Creature creature = Creature.CreateCreature(id, map, new Position(x, y, z, o)); Creature creature = Creature.CreateCreature(id, map, new Position(x, y, z, o));
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, id); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, id);
return false; return false;
@@ -709,13 +709,13 @@ namespace Game.Chat.Commands
// To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells(); // To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells();
creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true); creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true);
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, id); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, id);
return false; return false;
} }
if (target) if (target != null)
{ {
creature.SetDisplayId(target.GetDisplayId()); creature.SetDisplayId(target.GetDisplayId());
creature.SetObjectScale(0.5f); creature.SetObjectScale(0.5f);
@@ -758,7 +758,7 @@ namespace Game.Chat.Commands
Map map = chr.GetMap(); Map map = chr.GetMap();
Creature creature = Creature.CreateCreature(1, map, new Position(x, y, z, 0)); Creature creature = Creature.CreateCreature(1, map, new Position(x, y, z, 0));
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1);
return false; return false;
@@ -774,13 +774,13 @@ namespace Game.Chat.Commands
creature.Dispose(); creature.Dispose();
creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true); creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true);
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointVpNotcreated, 1);
return false; return false;
} }
if (target) if (target != null)
{ {
creature.SetDisplayId(target.GetDisplayId()); creature.SetDisplayId(target.GetDisplayId());
creature.SetObjectScale(0.5f); creature.SetObjectScale(0.5f);
@@ -813,7 +813,7 @@ namespace Game.Chat.Commands
Position pos = new(x, y, z, o); Position pos = new(x, y, z, o);
Creature creature = Creature.CreateCreature(1, map, pos); Creature creature = Creature.CreateCreature(1, map, pos);
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointNotcreated, 1);
return false; return false;
@@ -829,13 +829,13 @@ namespace Game.Chat.Commands
creature.Dispose(); creature.Dispose();
creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true); creature = Creature.CreateCreatureFromDB(dbGuid, map, true, true);
if (!creature) if (creature == null)
{ {
handler.SendSysMessage(CypherStrings.WaypointNotcreated, 1); handler.SendSysMessage(CypherStrings.WaypointNotcreated, 1);
return false; return false;
} }
if (target) if (target != null)
{ {
creature.SetDisplayId(target.GetDisplayId()); creature.SetDisplayId(target.GetDisplayId());
creature.SetObjectScale(0.5f); creature.SetObjectScale(0.5f);
@@ -860,7 +860,7 @@ namespace Game.Chat.Commands
{ {
ulong lowguid = result.Read<ulong>(0); ulong lowguid = result.Read<ulong>(0);
if (!Creature.DeleteFromDB(lowguid)) if (Creature.DeleteFromDB(lowguid))
{ {
handler.SendSysMessage(CypherStrings.WaypointNotremoved, lowguid); handler.SendSysMessage(CypherStrings.WaypointNotremoved, lowguid);
hasError = true; hasError = true;
@@ -892,7 +892,7 @@ namespace Game.Chat.Commands
static bool HandleWpUnLoadCommand(CommandHandler handler) static bool HandleWpUnLoadCommand(CommandHandler handler)
{ {
Creature target = handler.GetSelectedCreature(); Creature target = handler.GetSelectedCreature();
if (!target) if (target == null)
{ {
handler.SendSysMessage("|cff33ffffYou must select a target.|r"); handler.SendSysMessage("|cff33ffffYou must select a target.|r");
return true; return true;
+1 -1
View File
@@ -51,7 +51,7 @@ namespace Game.Combat
Player playerA = a.GetCharmerOrOwnerPlayerOrPlayerItself(); Player playerA = a.GetCharmerOrOwnerPlayerOrPlayerItself();
Player playerB = b.GetCharmerOrOwnerPlayerOrPlayerItself(); Player playerB = b.GetCharmerOrOwnerPlayerOrPlayerItself();
// ...neither of the two units must be (owned by) a player with .gm on // ...neither of the two units must be (owned by) a player with .gm on
if ((playerA && playerA.IsGameMaster()) || (playerB && playerB.IsGameMaster())) if ((playerA != null && playerA.IsGameMaster()) || (playerB != null && playerB.IsGameMaster()))
return false; return false;
return true; return true;
} }
+3 -3
View File
@@ -38,7 +38,7 @@ namespace Game.Combat
{ {
Creature cWho = who.ToCreature(); Creature cWho = who.ToCreature();
// only creatures can have threat list // only creatures can have threat list
if (!cWho) if (cWho == null)
return false; return false;
// pets, totems and triggers cannot have threat list // pets, totems and triggers cannot have threat list
@@ -263,7 +263,7 @@ namespace Game.Combat
else else
redirTarget = Global.ObjAccessor.GetUnit(_owner, pair.Item1); redirTarget = Global.ObjAccessor.GetUnit(_owner, pair.Item1);
if (redirTarget) if (redirTarget != null)
{ {
float amountRedirected = MathFunctions.CalculatePct(origAmount, pair.Item2); float amountRedirected = MathFunctions.CalculatePct(origAmount, pair.Item2);
AddThreat(redirTarget, amountRedirected, spell, true, true); AddThreat(redirTarget, amountRedirected, spell, true, true);
@@ -397,7 +397,7 @@ namespace Game.Combat
public void FixateTarget(Unit target) public void FixateTarget(Unit target)
{ {
if (target) if (target != null)
{ {
var it = _myThreatListEntries.LookupByKey(target.GetGUID()); var it = _myThreatListEntries.LookupByKey(target.GetGUID());
if (it != null) if (it != null)
+10 -10
View File
@@ -315,12 +315,12 @@ namespace Game.Conditions
case ConditionTypes.CreatureType: case ConditionTypes.CreatureType:
{ {
Creature creature = obj.ToCreature(); Creature creature = obj.ToCreature();
if (creature) if (creature != null)
condMeets = (uint)creature.GetCreatureTemplate().CreatureType == ConditionValue1; condMeets = (uint)creature.GetCreatureTemplate().CreatureType == ConditionValue1;
break; break;
} }
case ConditionTypes.InWater: case ConditionTypes.InWater:
if (unit) if (unit != null)
condMeets = unit.IsInWater(); condMeets = unit.IsInWater();
break; break;
case ConditionTypes.TerrainSwap: case ConditionTypes.TerrainSwap:
@@ -328,7 +328,7 @@ namespace Game.Conditions
break; break;
case ConditionTypes.StandState: case ConditionTypes.StandState:
{ {
if (unit) if (unit != null)
{ {
if (ConditionValue1 == 0) if (ConditionValue1 == 0)
condMeets = (unit.GetStandState() == (UnitStandStateType)ConditionValue2); condMeets = (unit.GetStandState() == (UnitStandStateType)ConditionValue2);
@@ -341,35 +341,35 @@ namespace Game.Conditions
} }
case ConditionTypes.DailyQuestDone: case ConditionTypes.DailyQuestDone:
{ {
if (player) if (player != null)
condMeets = player.IsDailyQuestDone(ConditionValue1); condMeets = player.IsDailyQuestDone(ConditionValue1);
break; break;
} }
case ConditionTypes.Charmed: case ConditionTypes.Charmed:
{ {
if (unit) if (unit != null)
condMeets = unit.IsCharmed(); condMeets = unit.IsCharmed();
break; break;
} }
case ConditionTypes.PetType: case ConditionTypes.PetType:
{ {
if (player) if (player != null)
{ {
Pet pet = player.GetPet(); Pet pet = player.GetPet();
if (pet) if (pet != null)
condMeets = (((1 << (int)pet.GetPetType()) & ConditionValue1) != 0); condMeets = (((1 << (int)pet.GetPetType()) & ConditionValue1) != 0);
} }
break; break;
} }
case ConditionTypes.Taxi: case ConditionTypes.Taxi:
{ {
if (player) if (player != null)
condMeets = player.IsInFlight(); condMeets = player.IsInFlight();
break; break;
} }
case ConditionTypes.Queststate: case ConditionTypes.Queststate:
{ {
if (player) if (player != null)
{ {
if ( if (
(Convert.ToBoolean(ConditionValue2 & (1 << (int)QuestStatus.None)) && (player.GetQuestStatus(ConditionValue1) == QuestStatus.None)) || (Convert.ToBoolean(ConditionValue2 & (1 << (int)QuestStatus.None)) && (player.GetQuestStatus(ConditionValue1) == QuestStatus.None)) ||
@@ -384,7 +384,7 @@ namespace Game.Conditions
} }
case ConditionTypes.ObjectiveProgress: case ConditionTypes.ObjectiveProgress:
{ {
if (player) if (player != null)
{ {
QuestObjective questObj = Global.ObjectMgr.GetQuestObjective(ConditionValue1); QuestObjective questObj = Global.ObjectMgr.GetQuestObjective(ConditionValue1);
if (questObj == null) if (questObj == null)
+17 -17
View File
@@ -2165,7 +2165,7 @@ namespace Game
if (condition.WeaponSubclassMask != 0) if (condition.WeaponSubclassMask != 0)
{ {
Item mainHand = player.GetItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand); Item mainHand = player.GetItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand);
if (!mainHand || !Convert.ToBoolean((1 << (int)mainHand.GetTemplate().GetSubClass()) & condition.WeaponSubclassMask)) if (mainHand == null || !Convert.ToBoolean((1 << (int)mainHand.GetTemplate().GetSubClass()) & condition.WeaponSubclassMask))
return false; return false;
} }
@@ -2175,23 +2175,23 @@ namespace Game
switch (condition.PartyStatus) switch (condition.PartyStatus)
{ {
case 1: case 1:
if (group) if (group != null)
return false; return false;
break; break;
case 2: case 2:
if (!group) if (group == null)
return false; return false;
break; break;
case 3: case 3:
if (!group || group.IsRaidGroup()) if (group == null || group.IsRaidGroup())
return false; return false;
break; break;
case 4: case 4:
if (!group || !group.IsRaidGroup()) if (group == null || !group.IsRaidGroup())
return false; return false;
break; break;
case 5: case 5:
if (group && group.IsRaidGroup()) if (group != null && group.IsRaidGroup())
return false; return false;
break; break;
default: default:
@@ -2558,19 +2558,19 @@ namespace Game
case UnitConditionVariable.IsMyPet: case UnitConditionVariable.IsMyPet:
return (otherUnit != null && unit.GetCharmerOrOwnerGUID() == otherUnit.GetGUID()) ? 1 : 0; return (otherUnit != null && unit.GetCharmerOrOwnerGUID() == otherUnit.GetGUID()) ? 1 : 0;
case UnitConditionVariable.IsMaster: case UnitConditionVariable.IsMaster:
return (otherUnit && otherUnit.GetCharmerOrOwnerGUID() == unit.GetGUID()) ? 1 : 0; return (otherUnit != null && otherUnit.GetCharmerOrOwnerGUID() == unit.GetGUID()) ? 1 : 0;
case UnitConditionVariable.IsTarget: case UnitConditionVariable.IsTarget:
return (otherUnit && otherUnit.GetTarget() == unit.GetGUID()) ? 1 : 0; return (otherUnit != null && otherUnit.GetTarget() == unit.GetGUID()) ? 1 : 0;
case UnitConditionVariable.CanAssist: case UnitConditionVariable.CanAssist:
return (otherUnit && unit.IsValidAssistTarget(otherUnit)) ? 1 : 0; return (otherUnit != null && unit.IsValidAssistTarget(otherUnit)) ? 1 : 0;
case UnitConditionVariable.CanAttack: case UnitConditionVariable.CanAttack:
return (otherUnit && unit.IsValidAttackTarget(otherUnit)) ? 1 : 0; return (otherUnit != null && unit.IsValidAttackTarget(otherUnit)) ? 1 : 0;
case UnitConditionVariable.HasPet: case UnitConditionVariable.HasPet:
return (!unit.GetCharmedGUID().IsEmpty() || !unit.GetMinionGUID().IsEmpty()) ? 1 : 0; return (!unit.GetCharmedGUID().IsEmpty() || !unit.GetMinionGUID().IsEmpty()) ? 1 : 0;
case UnitConditionVariable.HasWeapon: case UnitConditionVariable.HasWeapon:
Player player = unit.ToPlayer(); Player player = unit.ToPlayer();
if (player != null) if (player != null)
return (player.GetWeaponForAttack(WeaponAttackType.BaseAttack) || player.GetWeaponForAttack(WeaponAttackType.OffAttack)) ? 1 : 0; return (player.GetWeaponForAttack(WeaponAttackType.BaseAttack) != null || player.GetWeaponForAttack(WeaponAttackType.OffAttack) != null) ? 1 : 0;
return (unit.GetVirtualItemId(0) != 0 || unit.GetVirtualItemId(1) != 0) ? 1 : 0; return (unit.GetVirtualItemId(0) != 0 || unit.GetVirtualItemId(1) != 0) ? 1 : 0;
case UnitConditionVariable.HealthPct: case UnitConditionVariable.HealthPct:
return (int)unit.GetHealthPct(); return (int)unit.GetHealthPct();
@@ -2631,9 +2631,9 @@ namespace Game
case UnitConditionVariable.IsAttackingMe: case UnitConditionVariable.IsAttackingMe:
return (otherUnit != null && unit.GetTarget() == otherUnit.GetGUID()) ? 1:0; return (otherUnit != null && unit.GetTarget() == otherUnit.GetGUID()) ? 1:0;
case UnitConditionVariable.Range: case UnitConditionVariable.Range:
return otherUnit ? (int)unit.GetExactDist(otherUnit) : 0; return otherUnit != null ? (int)unit.GetExactDist(otherUnit) : 0;
case UnitConditionVariable.InMeleeRange: case UnitConditionVariable.InMeleeRange:
if (otherUnit) if (otherUnit != null)
{ {
float distance = Math.Max(unit.GetCombatReach() + otherUnit.GetCombatReach() + 1.3333334f, 5.0f); float distance = Math.Max(unit.GetCombatReach() + otherUnit.GetCombatReach() + 1.3333334f, 5.0f);
if (unit.HasUnitFlag(UnitFlags.PlayerControlled) || otherUnit.HasUnitFlag(UnitFlags.PlayerControlled)) if (unit.HasUnitFlag(UnitFlags.PlayerControlled) || otherUnit.HasUnitFlag(UnitFlags.PlayerControlled))
@@ -2740,7 +2740,7 @@ namespace Game
case UnitConditionVariable.HasAura: case UnitConditionVariable.HasAura:
return unit.HasAura((uint)value) ? value : 0; return unit.HasAura((uint)value) ? value : 0;
case UnitConditionVariable.IsEnemy: case UnitConditionVariable.IsEnemy:
return (otherUnit && unit.GetReactionTo(otherUnit) <= ReputationRank.Hostile) ? 1 : 0; return (otherUnit != null && unit.GetReactionTo(otherUnit) <= ReputationRank.Hostile) ? 1 : 0;
case UnitConditionVariable.IsSpecMelee: case UnitConditionVariable.IsSpecMelee:
return unit.IsPlayer() && unit.ToPlayer().GetPrimarySpecializationEntry() != null && unit.ToPlayer().GetPrimarySpecializationEntry().GetFlags().HasFlag(ChrSpecializationFlag.Melee) ? 1 : 0; return unit.IsPlayer() && unit.ToPlayer().GetPrimarySpecializationEntry() != null && unit.ToPlayer().GetPrimarySpecializationEntry().GetFlags().HasFlag(ChrSpecializationFlag.Melee) ? 1 : 0;
case UnitConditionVariable.IsSpecTank: case UnitConditionVariable.IsSpecTank:
@@ -2760,11 +2760,11 @@ namespace Game
case UnitConditionVariable.Label: case UnitConditionVariable.Label:
break; break;
case UnitConditionVariable.IsMySummon: case UnitConditionVariable.IsMySummon:
return (otherUnit && (otherUnit.GetCharmerGUID() == unit.GetGUID() || otherUnit.GetCreatorGUID() == unit.GetGUID())) ? 1 : 0; return (otherUnit != null && (otherUnit.GetCharmerGUID() == unit.GetGUID() || otherUnit.GetCreatorGUID() == unit.GetGUID())) ? 1 : 0;
case UnitConditionVariable.IsSummoner: case UnitConditionVariable.IsSummoner:
return (otherUnit && (unit.GetCharmerGUID() == otherUnit.GetGUID() || unit.GetCreatorGUID() == otherUnit.GetGUID())) ? 1 : 0; return (otherUnit != null && (unit.GetCharmerGUID() == otherUnit.GetGUID() || unit.GetCreatorGUID() == otherUnit.GetGUID())) ? 1 : 0;
case UnitConditionVariable.IsMyTarget: case UnitConditionVariable.IsMyTarget:
return (otherUnit && unit.GetTarget() == otherUnit.GetGUID()) ? 1 : 0; return (otherUnit != null && unit.GetTarget() == otherUnit.GetGUID()) ? 1 : 0;
case UnitConditionVariable.Sex: case UnitConditionVariable.Sex:
return (int)unit.GetGender(); return (int)unit.GetGender();
case UnitConditionVariable.LevelWithinContentTuning: case UnitConditionVariable.LevelWithinContentTuning:
+1 -1
View File
@@ -68,7 +68,7 @@ namespace Game.DataStorage
Guild guild = player.GetGuild(); Guild guild = player.GetGuild();
ObjectGuid guildGuid = ObjectGuid.Empty; ObjectGuid guildGuid = ObjectGuid.Empty;
if (guild) if (guild != null)
guildGuid = guild.GetGUID(); guildGuid = guild.GetGUID();
_whoListStorage.Add(new WhoListPlayerInfo(player.GetGUID(), player.GetTeam(), player.GetSession().GetSecurity(), player.GetLevel(), _whoListStorage.Add(new WhoListPlayerInfo(player.GetGUID(), player.GetTeam(), player.GetSession().GetSecurity(), player.GetLevel(),
+34 -34
View File
@@ -343,7 +343,7 @@ namespace Game.DungeonFinding
public void JoinLfg(Player player, LfgRoles roles, List<uint> dungeons) public void JoinLfg(Player player, LfgRoles roles, List<uint> dungeons)
{ {
if (!player || player.GetSession() == null || dungeons.Empty()) if (player == null || player.GetSession() == null || dungeons.Empty())
return; return;
// Sanitize input roles // Sanitize input roles
@@ -356,11 +356,11 @@ namespace Game.DungeonFinding
Group grp = player.GetGroup(); Group grp = player.GetGroup();
ObjectGuid guid = player.GetGUID(); ObjectGuid guid = player.GetGUID();
ObjectGuid gguid = grp ? grp.GetGUID() : guid; ObjectGuid gguid = grp != null ? grp.GetGUID() : guid;
LfgJoinResultData joinData = new(); LfgJoinResultData joinData = new();
List<ObjectGuid> players = new(); List<ObjectGuid> players = new();
uint rDungeonId = 0; uint rDungeonId = 0;
bool isContinue = grp && grp.IsLFGGroup() && GetState(gguid) != LfgState.FinishedDungeon; bool isContinue = grp != null && grp.IsLFGGroup() && GetState(gguid) != LfgState.FinishedDungeon;
// Do not allow to change dungeon in the middle of a current dungeon // Do not allow to change dungeon in the middle of a current dungeon
if (isContinue) if (isContinue)
@@ -390,7 +390,7 @@ namespace Game.DungeonFinding
joinData.result = LfgJoinResult.NoSlots; joinData.result = LfgJoinResult.NoSlots;
else if (player.HasAura(9454)) // check Freeze debuff else if (player.HasAura(9454)) // check Freeze debuff
joinData.result = LfgJoinResult.NoSlots; joinData.result = LfgJoinResult.NoSlots;
else if (grp) else if (grp != null)
{ {
if (grp.GetMembersCount() > MapConst.MaxGroupSize) if (grp.GetMembersCount() > MapConst.MaxGroupSize)
joinData.result = LfgJoinResult.TooManyMembers; joinData.result = LfgJoinResult.TooManyMembers;
@@ -399,24 +399,24 @@ namespace Game.DungeonFinding
byte memberCount = 0; byte memberCount = 0;
for (GroupReference refe = grp.GetFirstMember(); refe != null && joinData.result == LfgJoinResult.Ok; refe = refe.Next()) for (GroupReference refe = grp.GetFirstMember(); refe != null && joinData.result == LfgJoinResult.Ok; refe = refe.Next())
{ {
Player plrg = refe.GetSource(); Player groupPlayer = refe.GetSource();
if (plrg) if (groupPlayer != null)
{ {
if (!plrg.GetSession().HasPermission(RBACPermissions.JoinDungeonFinder)) if (!groupPlayer.GetSession().HasPermission(RBACPermissions.JoinDungeonFinder))
joinData.result = LfgJoinResult.NoLfgObject; joinData.result = LfgJoinResult.NoLfgObject;
if (plrg.HasAura(SharedConst.LFGSpellDungeonDeserter)) if (groupPlayer.HasAura(SharedConst.LFGSpellDungeonDeserter))
joinData.result = LfgJoinResult.DeserterParty; joinData.result = LfgJoinResult.DeserterParty;
else if (!isContinue && plrg.HasAura(SharedConst.LFGSpellDungeonCooldown)) else if (!isContinue && groupPlayer.HasAura(SharedConst.LFGSpellDungeonCooldown))
joinData.result = LfgJoinResult.RandomCooldownParty; joinData.result = LfgJoinResult.RandomCooldownParty;
else if (plrg.InBattleground() || plrg.InArena() || plrg.InBattlegroundQueue()) else if (groupPlayer.InBattleground() || groupPlayer.InArena() || groupPlayer.InBattlegroundQueue())
joinData.result = LfgJoinResult.CantUseDungeons; joinData.result = LfgJoinResult.CantUseDungeons;
else if (plrg.HasAura(9454)) // check Freeze debuff else if (groupPlayer.HasAura(9454)) // check Freeze debuff
{ {
joinData.result = LfgJoinResult.NoSlots; joinData.result = LfgJoinResult.NoSlots;
joinData.playersMissingRequirement.Add(plrg.GetName()); joinData.playersMissingRequirement.Add(groupPlayer.GetName());
} }
++memberCount; ++memberCount;
players.Add(plrg.GetGUID()); players.Add(groupPlayer.GetGUID());
} }
} }
@@ -480,7 +480,7 @@ namespace Game.DungeonFinding
// Can't join. Send result // Can't join. Send result
if (joinData.result != LfgJoinResult.Ok) if (joinData.result != LfgJoinResult.Ok)
{ {
Log.outDebug(LogFilter.Lfg, "Join: [{0}] joining with {1} members. result: {2}", guid, grp ? grp.GetMembersCount() : 1, joinData.result); Log.outDebug(LogFilter.Lfg, "Join: [{0}] joining with {1} members. result: {2}", guid, grp != null ? grp.GetMembersCount() : 1, joinData.result);
if (!dungeons.Empty()) // Only should show lockmap when have no dungeons available if (!dungeons.Empty()) // Only should show lockmap when have no dungeons available
joinData.lockmap.Clear(); joinData.lockmap.Clear();
player.GetSession().SendLfgJoinResult(joinData); player.GetSession().SendLfgJoinResult(joinData);
@@ -500,7 +500,7 @@ namespace Game.DungeonFinding
ticket.Time = GameTime.GetGameTime(); ticket.Time = GameTime.GetGameTime();
string debugNames = ""; string debugNames = "";
if (grp) // Begin rolecheck if (grp != null) // Begin rolecheck
{ {
// Create new rolecheck // Create new rolecheck
LfgRoleCheck roleCheck = new(); LfgRoleCheck roleCheck = new();
@@ -524,7 +524,7 @@ namespace Game.DungeonFinding
for (GroupReference refe = grp.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = grp.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player plrg = refe.GetSource(); Player plrg = refe.GetSource();
if (plrg) if (plrg != null)
{ {
ObjectGuid pguid = plrg.GetGUID(); ObjectGuid pguid = plrg.GetGUID();
plrg.GetSession().SendLfgUpdateStatus(updateData, true); plrg.GetSession().SendLfgUpdateStatus(updateData, true);
@@ -567,7 +567,7 @@ namespace Game.DungeonFinding
debugNames += player.GetName(); debugNames += player.GetName();
} }
StringBuilder o = new(); StringBuilder o = new();
o.AppendFormat("Join: [{0}] joined ({1}{2}) Members: {3}. Dungeons ({4}): ", guid, (grp ? "group" : "player"), debugNames, dungeons.Count, ConcatenateDungeons(dungeons)); o.AppendFormat("Join: [{0}] joined ({1}{2}) Members: {3}. Dungeons ({4}): ", guid, (grp != null ? "group" : "player"), debugNames, dungeons.Count, ConcatenateDungeons(dungeons));
Log.outDebug(LogFilter.Lfg, o.ToString()); Log.outDebug(LogFilter.Lfg, o.ToString());
} }
@@ -780,7 +780,7 @@ namespace Game.DungeonFinding
{ {
LFGDungeonData dungeon = GetLFGDungeon(dungeonId); LFGDungeonData dungeon = GetLFGDungeon(dungeonId);
Cypher.Assert(dungeon != null); Cypher.Assert(dungeon != null);
Cypher.Assert(player); Cypher.Assert(player != null);
MapDb2Entries entries = new(dungeon.map, dungeon.difficulty); MapDb2Entries entries = new(dungeon.map, dungeon.difficulty);
InstanceLock playerBind = Global.InstanceLockMgr.FindActiveInstanceLock(guid, entries); InstanceLock playerBind = Global.InstanceLockMgr.FindActiveInstanceLock(guid, entries);
if (playerBind != null) if (playerBind != null)
@@ -926,14 +926,14 @@ namespace Game.DungeonFinding
foreach (var pguid in players) foreach (var pguid in players)
{ {
Player player = Global.ObjAccessor.FindConnectedPlayer(pguid); Player player = Global.ObjAccessor.FindConnectedPlayer(pguid);
if (!player) if (player == null)
continue; continue;
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group && group != grp) if (group != null && group != grp)
group.RemoveMember(player.GetGUID()); group.RemoveMember(player.GetGUID());
if (!grp) if (grp == null)
{ {
grp = new Group(); grp = new Group();
grp.ConvertToLFG(); grp.ConvertToLFG();
@@ -969,7 +969,7 @@ namespace Game.DungeonFinding
foreach (var it in playersToTeleport) foreach (var it in playersToTeleport)
{ {
Player player = Global.ObjAccessor.FindPlayer(it); Player player = Global.ObjAccessor.FindPlayer(it);
if (player) if (player != null)
TeleportPlayer(player, false); TeleportPlayer(player, false);
} }
@@ -1248,7 +1248,7 @@ namespace Game.DungeonFinding
if (agreeNum == SharedConst.LFGKickVotesNeeded) // Vote passed - Kick player if (agreeNum == SharedConst.LFGKickVotesNeeded) // Vote passed - Kick player
{ {
Group group = Global.GroupMgr.GetGroupByGUID(gguid); Group group = Global.GroupMgr.GetGroupByGUID(gguid);
if (group) if (group != null)
Player.RemoveFromGroup(group, boot.victim, RemoveMethod.KickLFG); Player.RemoveFromGroup(group, boot.victim, RemoveMethod.KickLFG);
DecreaseKicksLeft(gguid); DecreaseKicksLeft(gguid);
} }
@@ -1260,7 +1260,7 @@ namespace Game.DungeonFinding
LFGDungeonData dungeon = null; LFGDungeonData dungeon = null;
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group && group.IsLFGGroup()) if (group != null && group.IsLFGGroup())
dungeon = GetLFGDungeon(GetDungeon(group.GetGUID())); dungeon = GetLFGDungeon(GetDungeon(group.GetGUID()));
if (dungeon == null) if (dungeon == null)
@@ -1286,7 +1286,7 @@ namespace Game.DungeonFinding
error = LfgTeleportResult.Falling; error = LfgTeleportResult.Falling;
else if (player.IsMirrorTimerActive(MirrorTimerType.Fatigue)) else if (player.IsMirrorTimerActive(MirrorTimerType.Fatigue))
error = LfgTeleportResult.Exhaustion; error = LfgTeleportResult.Exhaustion;
else if (player.GetVehicle()) else if (player.GetVehicle() != null)
error = LfgTeleportResult.OnTransport; error = LfgTeleportResult.OnTransport;
else if (!player.GetCharmedGUID().IsEmpty()) else if (!player.GetCharmedGUID().IsEmpty())
error = LfgTeleportResult.ImmuneToSummons; error = LfgTeleportResult.ImmuneToSummons;
@@ -1306,7 +1306,7 @@ namespace Game.DungeonFinding
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player plrg = refe.GetSource(); Player plrg = refe.GetSource();
if (plrg && plrg != player && plrg.GetMapId() == dungeon.map) if (plrg != null && plrg != player && plrg.GetMapId() == dungeon.map)
{ {
mapid = plrg.GetMapId(); mapid = plrg.GetMapId();
x = plrg.GetPositionX(); x = plrg.GetPositionX();
@@ -1580,7 +1580,7 @@ namespace Game.DungeonFinding
{ {
Dictionary<uint, LfgLockInfoData> lockDic = new(); Dictionary<uint, LfgLockInfoData> lockDic = new();
Player player = Global.ObjAccessor.FindConnectedPlayer(guid); Player player = Global.ObjAccessor.FindConnectedPlayer(guid);
if (!player) if (player == null)
{ {
Log.outWarn(LogFilter.Lfg, "{0} not ingame while retrieving his LockedDungeons.", guid.ToString()); Log.outWarn(LogFilter.Lfg, "{0} not ingame while retrieving his LockedDungeons.", guid.ToString());
return lockDic; return lockDic;
@@ -1855,49 +1855,49 @@ namespace Game.DungeonFinding
public void SendLfgRoleChosen(ObjectGuid guid, ObjectGuid pguid, LfgRoles roles) public void SendLfgRoleChosen(ObjectGuid guid, ObjectGuid pguid, LfgRoles roles)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgRoleChosen(pguid, roles); player.GetSession().SendLfgRoleChosen(pguid, roles);
} }
public void SendLfgRoleCheckUpdate(ObjectGuid guid, LfgRoleCheck roleCheck) public void SendLfgRoleCheckUpdate(ObjectGuid guid, LfgRoleCheck roleCheck)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgRoleCheckUpdate(roleCheck); player.GetSession().SendLfgRoleCheckUpdate(roleCheck);
} }
public void SendLfgUpdateStatus(ObjectGuid guid, LfgUpdateData data, bool party) public void SendLfgUpdateStatus(ObjectGuid guid, LfgUpdateData data, bool party)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgUpdateStatus(data, party); player.GetSession().SendLfgUpdateStatus(data, party);
} }
public void SendLfgJoinResult(ObjectGuid guid, LfgJoinResultData data) public void SendLfgJoinResult(ObjectGuid guid, LfgJoinResultData data)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgJoinResult(data); player.GetSession().SendLfgJoinResult(data);
} }
public void SendLfgBootProposalUpdate(ObjectGuid guid, LfgPlayerBoot boot) public void SendLfgBootProposalUpdate(ObjectGuid guid, LfgPlayerBoot boot)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgBootProposalUpdate(boot); player.GetSession().SendLfgBootProposalUpdate(boot);
} }
public void SendLfgUpdateProposal(ObjectGuid guid, LfgProposal proposal) public void SendLfgUpdateProposal(ObjectGuid guid, LfgProposal proposal)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgProposalUpdate(proposal); player.GetSession().SendLfgProposalUpdate(proposal);
} }
public void SendLfgQueueStatus(ObjectGuid guid, LfgQueueStatusData data) public void SendLfgQueueStatus(ObjectGuid guid, LfgQueueStatusData data)
{ {
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
player.GetSession().SendLfgQueueStatus(data); player.GetSession().SendLfgQueueStatus(data);
} }
+6 -6
View File
@@ -20,7 +20,7 @@ namespace Game.DungeonFinding
if (!Global.LFGMgr.IsOptionEnabled(LfgOptions.EnableDungeonFinder | LfgOptions.EnableRaidBrowser)) if (!Global.LFGMgr.IsOptionEnabled(LfgOptions.EnableDungeonFinder | LfgOptions.EnableRaidBrowser))
return; return;
if (!player.GetGroup()) if (player.GetGroup() == null)
Global.LFGMgr.LeaveLfg(player.GetGUID()); Global.LFGMgr.LeaveLfg(player.GetGUID());
else if (player.GetSession().PlayerDisconnected()) else if (player.GetSession().PlayerDisconnected())
Global.LFGMgr.LeaveLfg(player.GetGUID(), true); Global.LFGMgr.LeaveLfg(player.GetGUID(), true);
@@ -36,7 +36,7 @@ namespace Game.DungeonFinding
ObjectGuid gguid = Global.LFGMgr.GetGroup(guid); ObjectGuid gguid = Global.LFGMgr.GetGroup(guid);
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
ObjectGuid gguid2 = group.GetGUID(); ObjectGuid gguid2 = group.GetGUID();
if (gguid != gguid2) if (gguid != gguid2)
@@ -61,7 +61,7 @@ namespace Game.DungeonFinding
// if for some reason the LFG system recognises the player as being in a LFG dungeon, // if for some reason the LFG system recognises the player as being in a LFG dungeon,
// but the player was loaded without a valid group, we'll teleport to homebind to prevent // but the player was loaded without a valid group, we'll teleport to homebind to prevent
// crashes or other undefined behaviour // crashes or other undefined behaviour
if (!group) if (group == null)
{ {
Global.LFGMgr.LeaveLfg(player.GetGUID()); Global.LFGMgr.LeaveLfg(player.GetGUID());
player.RemoveAurasDueToSpell(SharedConst.LFGSpellLuckOfTheDraw); player.RemoveAurasDueToSpell(SharedConst.LFGSpellLuckOfTheDraw);
@@ -86,7 +86,7 @@ namespace Game.DungeonFinding
else else
{ {
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group && group.GetMembersCount() == 1) if (group != null && group.GetMembersCount() == 1)
{ {
Global.LFGMgr.LeaveLfg(group.GetGUID()); Global.LFGMgr.LeaveLfg(group.GetGUID());
group.Disband(); group.Disband();
@@ -170,7 +170,7 @@ namespace Game.DungeonFinding
byte players = Global.LFGMgr.RemovePlayerFromGroup(gguid, guid); byte players = Global.LFGMgr.RemovePlayerFromGroup(gguid, guid);
Player player = Global.ObjAccessor.FindPlayer(guid); Player player = Global.ObjAccessor.FindPlayer(guid);
if (player) if (player != null)
{ {
if (method == RemoveMethod.Leave && state == LfgState.Dungeon && if (method == RemoveMethod.Leave && state == LfgState.Dungeon &&
players >= SharedConst.LFGKickVotesNeeded) players >= SharedConst.LFGKickVotesNeeded)
@@ -188,7 +188,7 @@ namespace Game.DungeonFinding
if (isLFG && state != LfgState.FinishedDungeon) // Need more players to finish the dungeon if (isLFG && state != LfgState.FinishedDungeon) // Need more players to finish the dungeon
{ {
Player leader = Global.ObjAccessor.FindPlayer(Global.LFGMgr.GetLeader(gguid)); Player leader = Global.ObjAccessor.FindPlayer(Global.LFGMgr.GetLeader(gguid));
if (leader) if (leader != null)
leader.GetSession().SendLfgOfferContinue(Global.LFGMgr.GetDungeon(gguid, false)); leader.GetSession().SendLfgOfferContinue(Global.LFGMgr.GetDungeon(gguid, false));
} }
} }
+12 -12
View File
@@ -60,7 +60,7 @@ namespace Game.Entities
_isRemoved = true; _isRemoved = true;
Unit caster = GetCaster(); Unit caster = GetCaster();
if (caster) if (caster != null)
caster._UnregisterAreaTrigger(this); caster._UnregisterAreaTrigger(this);
_ai.OnRemove(); _ai.OnRemove();
@@ -78,7 +78,7 @@ namespace Game.Entities
bool Create(uint areaTriggerCreatePropertiesId, Unit caster, Unit target, SpellInfo spellInfo, Position pos, int duration, SpellCastVisualField spellVisual, Spell spell, AuraEffect aurEff) bool Create(uint areaTriggerCreatePropertiesId, Unit caster, Unit target, SpellInfo spellInfo, Position pos, int duration, SpellCastVisualField spellVisual, Spell spell, AuraEffect aurEff)
{ {
_targetGuid = target ? target.GetGUID() : ObjectGuid.Empty; _targetGuid = target != null ? target.GetGUID() : ObjectGuid.Empty;
_aurEff = aurEff; _aurEff = aurEff;
SetMap(caster.GetMap()); SetMap(caster.GetMap());
@@ -138,7 +138,7 @@ namespace Game.Entities
PhasingHandler.InheritPhaseShift(this, caster); PhasingHandler.InheritPhaseShift(this, caster);
if (target && GetTemplate() != null && GetTemplate().HasFlag(AreaTriggerFlags.HasAttached)) if (target != null && GetTemplate() != null && GetTemplate().HasFlag(AreaTriggerFlags.HasAttached))
{ {
m_movementInfo.transport.guid = target.GetGUID(); m_movementInfo.transport.guid = target.GetGUID();
} }
@@ -153,7 +153,7 @@ namespace Game.Entities
if (GetCreateProperties().OrbitInfo != null) if (GetCreateProperties().OrbitInfo != null)
{ {
AreaTriggerOrbitInfo orbit = GetCreateProperties().OrbitInfo; AreaTriggerOrbitInfo orbit = GetCreateProperties().OrbitInfo;
if (target && GetTemplate() != null && GetTemplate().HasFlag(AreaTriggerFlags.HasAttached)) if (target != null && GetTemplate() != null && GetTemplate().HasFlag(AreaTriggerFlags.HasAttached))
orbit.PathTarget = target.GetGUID(); orbit.PathTarget = target.GetGUID();
else else
orbit.Center = new(pos.posX, pos.posY, pos.posZ); orbit.Center = new(pos.posX, pos.posY, pos.posZ);
@@ -297,7 +297,7 @@ namespace Game.Entities
else if (GetTemplate() != null && GetTemplate().HasFlag(AreaTriggerFlags.HasAttached)) else if (GetTemplate() != null && GetTemplate().HasFlag(AreaTriggerFlags.HasAttached))
{ {
Unit target = GetTarget(); Unit target = GetTarget();
if (target) if (target != null)
GetMap().AreaTriggerRelocation(this, target.GetPositionX(), target.GetPositionY(), target.GetPositionZ(), target.GetOrientation()); GetMap().AreaTriggerRelocation(this, target.GetPositionX(), target.GetPositionY(), target.GetPositionZ(), target.GetOrientation());
} }
else else
@@ -607,7 +607,7 @@ namespace Game.Entities
foreach (Unit unit in enteringUnits) foreach (Unit unit in enteringUnits)
{ {
Player player = unit.ToPlayer(); Player player = unit.ToPlayer();
if (player) if (player != null)
{ {
if (player.IsDebugAreaTriggers) if (player.IsDebugAreaTriggers)
player.SendSysMessage(CypherStrings.DebugAreatriggerEntered, GetEntry()); player.SendSysMessage(CypherStrings.DebugAreatriggerEntered, GetEntry());
@@ -623,10 +623,10 @@ namespace Game.Entities
foreach (ObjectGuid exitUnitGuid in exitUnits) foreach (ObjectGuid exitUnitGuid in exitUnits)
{ {
Unit leavingUnit = Global.ObjAccessor.GetUnit(this, exitUnitGuid); Unit leavingUnit = Global.ObjAccessor.GetUnit(this, exitUnitGuid);
if (leavingUnit) if (leavingUnit != null)
{ {
Player player = leavingUnit.ToPlayer(); Player player = leavingUnit.ToPlayer();
if (player) if (player != null)
{ {
if (player.IsDebugAreaTriggers) if (player.IsDebugAreaTriggers)
player.SendSysMessage(CypherStrings.DebugAreatriggerLeft, GetEntry()); player.SendSysMessage(CypherStrings.DebugAreatriggerLeft, GetEntry());
@@ -673,7 +673,7 @@ namespace Game.Entities
public override uint GetFaction() public override uint GetFaction()
{ {
Unit caster = GetCaster(); Unit caster = GetCaster();
if (caster) if (caster != null)
return caster.GetFaction(); return caster.GetFaction();
return 0; return 0;
@@ -958,7 +958,7 @@ namespace Game.Entities
if (_orbitInfo.PathTarget.HasValue) if (_orbitInfo.PathTarget.HasValue)
{ {
WorldObject center = Global.ObjAccessor.GetWorldObject(this, _orbitInfo.PathTarget.Value); WorldObject center = Global.ObjAccessor.GetWorldObject(this, _orbitInfo.PathTarget.Value);
if (center) if (center != null)
return center; return center;
} }
@@ -1188,10 +1188,10 @@ namespace Game.Entities
void DebugVisualizePosition() void DebugVisualizePosition()
{ {
Unit caster = GetCaster(); Unit caster = GetCaster();
if (caster) if (caster != null)
{ {
Player player = caster.ToPlayer(); Player player = caster.ToPlayer();
if (player) if (player != null)
if (player.IsDebugAreaTriggers) if (player.IsDebugAreaTriggers)
player.SummonCreature(1, this, TempSummonType.TimedDespawn, TimeSpan.FromMilliseconds(GetTimeToTarget())); player.SummonCreature(1, this, TempSummonType.TimedDespawn, TimeSpan.FromMilliseconds(GetTimeToTarget()));
} }
+1 -1
View File
@@ -428,7 +428,7 @@ namespace Game.Entities
break; break;
} }
if (bestFit) if (bestFit != null)
_conversation.AddActor(_actor.Id, _actor.Index, bestFit.GetGUID()); _conversation.AddActor(_actor.Id, _actor.Index, bestFit.GetGUID());
} }
+13 -13
View File
@@ -682,7 +682,7 @@ namespace Game.Entities
public void DoFleeToGetAssistance() public void DoFleeToGetAssistance()
{ {
if (!GetVictim()) if (GetVictim() == null)
return; return;
if (HasAuraType(AuraType.PreventsFleeing)) if (HasAuraType(AuraType.PreventsFleeing))
@@ -699,7 +699,7 @@ namespace Game.Entities
SetNoSearchAssistance(true); SetNoSearchAssistance(true);
if (!creature) if (creature == null)
SetControlled(true, UnitState.Fleeing); SetControlled(true, UnitState.Fleeing);
else else
GetMotionMaster().MoveSeekAssistance(creature.GetPositionX(), creature.GetPositionY(), creature.GetPositionZ()); GetMotionMaster().MoveSeekAssistance(creature.GetPositionX(), creature.GetPositionY(), creature.GetPositionZ());
@@ -757,7 +757,7 @@ namespace Game.Entities
lowGuid = map.GenerateLowGuid(HighGuid.Creature); lowGuid = map.GenerateLowGuid(HighGuid.Creature);
Creature creature = new(); Creature creature = new();
if (!creature.Create(lowGuid, map, entry, pos, null, vehId)) if (creature.Create(lowGuid, map, entry, pos, null, vehId))
return null; return null;
return creature; return creature;
@@ -766,7 +766,7 @@ namespace Game.Entities
public static Creature CreateCreatureFromDB(ulong spawnId, Map map, bool addToMap = true, bool allowDuplicate = false) public static Creature CreateCreatureFromDB(ulong spawnId, Map map, bool addToMap = true, bool allowDuplicate = false)
{ {
Creature creature = new(); Creature creature = new();
if (!creature.LoadFromDB(spawnId, map, addToMap, allowDuplicate)) if (creature.LoadFromDB(spawnId, map, addToMap, allowDuplicate))
return null; return null;
return creature; return creature;
@@ -882,21 +882,21 @@ namespace Game.Entities
{ {
// We're a player pet, probably // We're a player pet, probably
target = GetAttackerForHelper(); target = GetAttackerForHelper();
if (!target && IsSummon()) if (target == null && IsSummon())
{ {
Unit owner = ToTempSummon().GetOwner(); Unit owner = ToTempSummon().GetOwner();
if (owner != null) if (owner != null)
{ {
if (owner.IsInCombat()) if (owner.IsInCombat())
target = owner.GetAttackerForHelper(); target = owner.GetAttackerForHelper();
if (!target) if (target == null)
{ {
foreach (var itr in owner.m_Controlled) foreach (var itr in owner.m_Controlled)
{ {
if (itr.IsInCombat()) if (itr.IsInCombat())
{ {
target = itr.GetAttackerForHelper(); target = itr.GetAttackerForHelper();
if (target) if (target != null)
break; break;
} }
} }
@@ -907,7 +907,7 @@ namespace Game.Entities
else else
return null; return null;
if (target && _IsTargetAcceptable(target) && CanCreatureAttack(target)) if (target != null && _IsTargetAcceptable(target) && CanCreatureAttack(target))
{ {
if (!HasSpellFocus()) if (!HasSpellFocus())
SetInFront(target); SetInFront(target);
@@ -915,7 +915,7 @@ namespace Game.Entities
} }
/// @todo a vehicle may eat some mob, so mob should not evade /// @todo a vehicle may eat some mob, so mob should not evade
if (GetVehicle()) if (GetVehicle() != null)
return null; return null;
var iAuras = GetAuraEffectsByType(AuraType.ModInvisibility); var iAuras = GetAuraEffectsByType(AuraType.ModInvisibility);
@@ -1619,7 +1619,7 @@ namespace Game.Entities
if (GetSparringHealthPct() == 0) if (GetSparringHealthPct() == 0)
return false; return false;
if (!attacker) if (attacker == null)
return false; return false;
if (!attacker.IsCreature()) if (!attacker.IsCreature())
@@ -2786,7 +2786,7 @@ namespace Game.Entities
public override uint GetLevelForTarget(WorldObject target) public override uint GetLevelForTarget(WorldObject target)
{ {
Unit unitTarget = target.ToUnit(); Unit unitTarget = target.ToUnit();
if (unitTarget) if (unitTarget != null)
{ {
if (IsWorldBoss()) if (IsWorldBoss())
{ {
@@ -3161,7 +3161,7 @@ namespace Game.Entities
SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Target), newTarget); SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Target), newTarget);
// If we are not allowed to turn during cast but have a focus target, face the target // If we are not allowed to turn during cast but have a focus target, face the target
if (!turnDisabled && noTurnDuringCast && target) if (!turnDisabled && noTurnDuringCast && target != null)
SetFacingToObject(target, false); SetFacingToObject(target, false);
if (!noTurnDuringCast) if (!noTurnDuringCast)
@@ -3222,7 +3222,7 @@ namespace Game.Entities
if (!_spellFocusInfo.Target.IsEmpty()) if (!_spellFocusInfo.Target.IsEmpty())
{ {
WorldObject objTarget = Global.ObjAccessor.GetWorldObject(this, _spellFocusInfo.Target); WorldObject objTarget = Global.ObjAccessor.GetWorldObject(this, _spellFocusInfo.Target);
if (objTarget) if (objTarget != null)
SetFacingToObject(objTarget, false); SetFacingToObject(objTarget, false);
} }
else else
+2 -2
View File
@@ -545,7 +545,7 @@ namespace Game.Misc
// Is there a better way? what about game objects? // Is there a better way? what about game objects?
Creature creature = ObjectAccessor.GetCreature(_session.GetPlayer(), npcGUID); Creature creature = ObjectAccessor.GetCreature(_session.GetPlayer(), npcGUID);
if (creature) if (creature != null)
{ {
packet.QuestGiverCreatureID = creature.GetEntry(); packet.QuestGiverCreatureID = creature.GetEntry();
offer.QuestGiverCreatureID = creature.GetCreatureTemplate().Entry; offer.QuestGiverCreatureID = creature.GetCreatureTemplate().Entry;
@@ -612,7 +612,7 @@ namespace Game.Misc
// Is there a better way? what about game objects? // Is there a better way? what about game objects?
Creature creature = ObjectAccessor.GetCreature(_session.GetPlayer(), npcGUID); Creature creature = ObjectAccessor.GetCreature(_session.GetPlayer(), npcGUID);
if (creature) if (creature != null)
packet.QuestGiverCreatureID = creature.GetCreatureTemplate().Entry; packet.QuestGiverCreatureID = creature.GetCreatureTemplate().Entry;
packet.QuestID = quest.Id; packet.QuestID = quest.Id;
+1 -1
View File
@@ -25,7 +25,7 @@ namespace Game.Entities
{ {
// make sure all references were properly removed // make sure all references were properly removed
Cypher.Assert(_aura == null); Cypher.Assert(_aura == null);
Cypher.Assert(!_caster); Cypher.Assert(_caster == null);
Cypher.Assert(!_isViewpoint); Cypher.Assert(!_isViewpoint);
_removedAura = null; _removedAura = null;
+33 -33
View File
@@ -84,7 +84,7 @@ namespace Game.Entities
return; return;
Unit owner = Global.ObjAccessor.GetUnit(this, ownerGUID); Unit owner = Global.ObjAccessor.GetUnit(this, ownerGUID);
if (owner) if (owner != null)
{ {
owner.RemoveGameObject(this, false); owner.RemoveGameObject(this, false);
Cypher.Assert(GetOwnerGUID().IsEmpty()); Cypher.Assert(GetOwnerGUID().IsEmpty());
@@ -114,7 +114,7 @@ namespace Game.Entities
if (m_model != null) if (m_model != null)
{ {
Transport trans = ToTransport(); Transport trans = ToTransport();
if (trans) if (trans != null)
trans.SetDelayedAddModelToMap(); trans.SetDelayedAddModelToMap();
else else
GetMap().InsertGameObjectModel(m_model); GetMap().InsertGameObjectModel(m_model);
@@ -175,7 +175,7 @@ namespace Game.Entities
bool Create(uint entry, Map map, Position pos, Quaternion rotation, uint animProgress, GameObjectState goState, uint artKit, bool dynamic, ulong spawnid) bool Create(uint entry, Map map, Position pos, Quaternion rotation, uint animProgress, GameObjectState goState, uint artKit, bool dynamic, ulong spawnid)
{ {
Cypher.Assert(map); Cypher.Assert(map != null);
SetMap(map); SetMap(map);
Relocate(pos); Relocate(pos);
@@ -439,7 +439,7 @@ namespace Game.Entities
m_perPlayerState.Remove(guid); m_perPlayerState.Remove(guid);
if (seer) if (seer != null)
{ {
if (despawned) if (despawned)
{ {
@@ -475,7 +475,7 @@ namespace Game.Entities
Unit owner = GetOwner(); Unit owner = GetOwner();
if (goInfo.Trap.charges == 2) if (goInfo.Trap.charges == 2)
m_cooldownTime = GameTime.GetGameTimeMS() + 10 * Time.InMilliseconds; // Hardcoded tooltip value m_cooldownTime = GameTime.GetGameTimeMS() + 10 * Time.InMilliseconds; // Hardcoded tooltip value
else if (owner) else if (owner != null)
{ {
if (owner.IsInCombat()) if (owner.IsInCombat())
m_cooldownTime = GameTime.GetGameTimeMS() + goInfo.Trap.startDelay * Time.InMilliseconds; m_cooldownTime = GameTime.GetGameTimeMS() + goInfo.Trap.startDelay * Time.InMilliseconds;
@@ -632,7 +632,7 @@ namespace Game.Entities
target = searcher.GetTarget(); target = searcher.GetTarget();
} }
if (target) if (target != null)
SetLootState(LootState.Activated, target); SetLootState(LootState.Activated, target);
} }
else if (goInfo.type == GameObjectTypes.CapturePoint) else if (goInfo.type == GameObjectTypes.CapturePoint)
@@ -738,7 +738,7 @@ namespace Game.Entities
CastSpell(null, goInfo.Trap.spell); CastSpell(null, goInfo.Trap.spell);
SetLootState(LootState.JustDeactivated); SetLootState(LootState.JustDeactivated);
} }
else if (target) else if (target != null)
{ {
// Some traps do not have a spell but should be triggered // Some traps do not have a spell but should be triggered
CastSpellExtraArgs args = new(); CastSpellExtraArgs args = new();
@@ -765,7 +765,7 @@ namespace Game.Entities
{ {
// If nearby linked trap exists, despawn it // If nearby linked trap exists, despawn it
GameObject linkedTrap = GetLinkedTrap(); GameObject linkedTrap = GetLinkedTrap();
if (linkedTrap) if (linkedTrap != null)
linkedTrap.DespawnOrUnsummon(); linkedTrap.DespawnOrUnsummon();
//if Gameobject should cast spell, then this, but some GOs (type = 10) should be destroyed //if Gameobject should cast spell, then this, but some GOs (type = 10) should be destroyed
@@ -1384,7 +1384,7 @@ namespace Game.Entities
|| LootStorage.Gameobject.HaveQuestLootForPlayer(GetGoInfo().Chest.chestPushLoot, target)) || LootStorage.Gameobject.HaveQuestLootForPlayer(GetGoInfo().Chest.chestPushLoot, target))
{ {
Battleground bg = target.GetBattleground(); Battleground bg = target.GetBattleground();
if (bg) if (bg != null)
return bg.CanActivateGO((int)GetEntry(), (uint)bg.GetPlayerTeam(target.GetGUID())); return bg.CanActivateGO((int)GetEntry(), (uint)bg.GetPlayerTeam(target.GetGUID()));
return true; return true;
} }
@@ -1419,7 +1419,7 @@ namespace Game.Entities
return; return;
GameObject trapGO = GetLinkedTrap(); GameObject trapGO = GetLinkedTrap();
if (trapGO) if (trapGO != null)
trapGO.CastSpell(target, trapSpell.Id); trapGO.CastSpell(target, trapSpell.Id);
} }
@@ -1460,7 +1460,7 @@ namespace Game.Entities
public void ActivateObject(GameObjectActions action, int param, WorldObject spellCaster = null, uint spellId = 0, int effectIndex = -1) public void ActivateObject(GameObjectActions action, int param, WorldObject spellCaster = null, uint spellId = 0, int effectIndex = -1)
{ {
Unit unitCaster = spellCaster ? spellCaster.ToUnit() : null; Unit unitCaster = spellCaster != null ? spellCaster.ToUnit() : null;
switch (action) switch (action)
{ {
@@ -1474,7 +1474,7 @@ namespace Game.Entities
SendCustomAnim((uint)(action - GameObjectActions.AnimateCustom0)); SendCustomAnim((uint)(action - GameObjectActions.AnimateCustom0));
break; break;
case GameObjectActions.Disturb: // What's the difference with Open? case GameObjectActions.Disturb: // What's the difference with Open?
if (unitCaster) if (unitCaster != null)
Use(unitCaster); Use(unitCaster);
break; break;
case GameObjectActions.Unlock: case GameObjectActions.Unlock:
@@ -1484,11 +1484,11 @@ namespace Game.Entities
SetFlag(GameObjectFlags.Locked); SetFlag(GameObjectFlags.Locked);
break; break;
case GameObjectActions.Open: case GameObjectActions.Open:
if (unitCaster) if (unitCaster != null)
Use(unitCaster); Use(unitCaster);
break; break;
case GameObjectActions.OpenAndUnlock: case GameObjectActions.OpenAndUnlock:
if (unitCaster) if (unitCaster != null)
UseDoorOrButton(0, false, unitCaster); UseDoorOrButton(0, false, unitCaster);
RemoveFlag(GameObjectFlags.Locked); RemoveFlag(GameObjectFlags.Locked);
break; break;
@@ -1499,7 +1499,7 @@ namespace Game.Entities
// No use cases, implementation unknown // No use cases, implementation unknown
break; break;
case GameObjectActions.Destroy: case GameObjectActions.Destroy:
if (unitCaster) if (unitCaster != null)
UseDoorOrButton(0, true, unitCaster); UseDoorOrButton(0, true, unitCaster);
break; break;
case GameObjectActions.Rebuild: case GameObjectActions.Rebuild:
@@ -1561,7 +1561,7 @@ namespace Game.Entities
SetAnimKitId((ushort)param, false); SetAnimKitId((ushort)param, false);
break; break;
case GameObjectActions.OpenAndPlayAnimKit: case GameObjectActions.OpenAndPlayAnimKit:
if (unitCaster) if (unitCaster != null)
UseDoorOrButton(0, false, unitCaster); UseDoorOrButton(0, false, unitCaster);
SetAnimKitId((ushort)param, false); SetAnimKitId((ushort)param, false);
break; break;
@@ -1576,7 +1576,7 @@ namespace Game.Entities
SetAnimKitId(0, false); SetAnimKitId(0, false);
break; break;
case GameObjectActions.OpenAndStopAnimKit: case GameObjectActions.OpenAndStopAnimKit:
if (unitCaster) if (unitCaster != null)
UseDoorOrButton(0, false, unitCaster); UseDoorOrButton(0, false, unitCaster);
SetAnimKitId(0, false); SetAnimKitId(0, false);
break; break;
@@ -1684,7 +1684,7 @@ namespace Game.Entities
case GameObjectTypes.Chest: //3 case GameObjectTypes.Chest: //3
{ {
Player player = user.ToPlayer(); Player player = user.ToPlayer();
if (!player) if (player == null)
return; return;
Battleground bg = player.GetBattleground(); Battleground bg = player.GetBattleground();
@@ -1922,12 +1922,12 @@ namespace Game.Entities
} }
Group group = player.GetGroup(); Group group = player.GetGroup();
if (group) if (group != null)
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player member = refe.GetSource(); Player member = refe.GetSource();
if (member) if (member != null)
if (member.IsAtGroupRewardDistance(this)) if (member.IsAtGroupRewardDistance(this))
member.KillCreditGO(info.entry, GetGUID()); member.KillCreditGO(info.entry, GetGUID());
} }
@@ -2044,14 +2044,14 @@ namespace Game.Entities
// If fishing skill is high enough, or if fishing on a pool, send correct loot. // If fishing skill is high enough, or if fishing on a pool, send correct loot.
// Fishing pools have no skill requirement as of patch 3.3.0 (undocumented change). // Fishing pools have no skill requirement as of patch 3.3.0 (undocumented change).
if (chance >= roll || fishingPool) if (chance >= roll || fishingPool != null)
{ {
// @todo I do not understand this hack. Need some explanation. // @todo I do not understand this hack. Need some explanation.
// prevent removing GO at spell cancel // prevent removing GO at spell cancel
RemoveFromOwner(); RemoveFromOwner();
SetOwnerGUID(player.GetGUID()); SetOwnerGUID(player.GetGUID());
if (fishingPool) if (fishingPool != null)
{ {
fishingPool.Use(player); fishingPool.Use(player);
SetLootState(LootState.JustDeactivated); SetLootState(LootState.JustDeactivated);
@@ -2248,7 +2248,7 @@ namespace Game.Entities
{ {
// in Battlegroundcheck // in Battlegroundcheck
Battleground bg = player.GetBattleground(); Battleground bg = player.GetBattleground();
if (!bg) if (bg == null)
return; return;
if (player.GetVehicle() != null) if (player.GetVehicle() != null)
@@ -2296,7 +2296,7 @@ namespace Game.Entities
{ {
// in Battlegroundcheck // in Battlegroundcheck
Battleground bg = player.GetBattleground(); Battleground bg = player.GetBattleground();
if (!bg) if (bg == null)
return; return;
if (player.GetVehicle() != null) if (player.GetVehicle() != null)
@@ -2452,7 +2452,7 @@ namespace Game.Entities
Aura artifactAura = player.GetAura(PlayerConst.ArtifactsAllWeaponsGeneralWeaponEquippedPassive); Aura artifactAura = player.GetAura(PlayerConst.ArtifactsAllWeaponsGeneralWeaponEquippedPassive);
Item item = artifactAura != null ? player.GetItemByGuid(artifactAura.GetCastItemGUID()) : null; Item item = artifactAura != null ? player.GetItemByGuid(artifactAura.GetCastItemGUID()) : null;
if (!item) if (item == null)
{ {
player.SendPacket(new DisplayGameError(GameError.MustEquipArtifact)); player.SendPacket(new DisplayGameError(GameError.MustEquipArtifact));
return; return;
@@ -2467,7 +2467,7 @@ namespace Game.Entities
case 2: // Heart Forge case 2: // Heart Forge
{ {
Item item = player.GetItemByEntry(PlayerConst.ItemIdHeartOfAzeroth, ItemSearchLocation.Everywhere); Item item = player.GetItemByEntry(PlayerConst.ItemIdHeartOfAzeroth, ItemSearchLocation.Everywhere);
if (!item) if (item == null)
return; return;
GameObjectInteraction openHeartForge = new(); GameObjectInteraction openHeartForge = new();
@@ -2484,7 +2484,7 @@ namespace Game.Entities
case GameObjectTypes.UILink: case GameObjectTypes.UILink:
{ {
Player player = user.ToPlayer(); Player player = user.ToPlayer();
if (!player) if (player == null)
return; return;
GameObjectInteraction gameObjectUILink = new(); GameObjectInteraction gameObjectUILink = new();
@@ -2587,7 +2587,7 @@ namespace Game.Entities
} }
Player player1 = user.ToPlayer(); Player player1 = user.ToPlayer();
if (player1) if (player1 != null)
Global.OutdoorPvPMgr.HandleCustomSpell(player1, spellId, this); Global.OutdoorPvPMgr.HandleCustomSpell(player1, spellId, this);
if (spellCaster != null) if (spellCaster != null)
@@ -2794,7 +2794,7 @@ namespace Game.Entities
public SpellInfo GetSpellForLock(Player player) public SpellInfo GetSpellForLock(Player player)
{ {
if (!player) if (player == null)
return null; return null;
uint lockId = GetGoInfo().GetLockId(); uint lockId = GetGoInfo().GetLockId();
@@ -2937,7 +2937,7 @@ namespace Game.Entities
GetAI().Destroyed(attackerOrHealer, m_goInfo.DestructibleBuilding.DestroyedEvent); GetAI().Destroyed(attackerOrHealer, m_goInfo.DestructibleBuilding.DestroyedEvent);
Player player = attackerOrHealer != null ? attackerOrHealer.GetCharmerOrOwnerPlayerOrPlayerItself() : null; Player player = attackerOrHealer != null ? attackerOrHealer.GetCharmerOrOwnerPlayerOrPlayerItself() : null;
if (player) if (player != null)
{ {
Battleground bg = player.GetBattleground(); Battleground bg = player.GetBattleground();
if (bg != null) if (bg != null)
@@ -2990,7 +2990,7 @@ namespace Game.Entities
public void SetLootState(LootState state, Unit unit = null) public void SetLootState(LootState state, Unit unit = null)
{ {
m_lootState = state; m_lootState = state;
m_lootStateUnitGUID = unit ? unit.GetGUID() : ObjectGuid.Empty; m_lootStateUnitGUID = unit != null ? unit.GetGUID() : ObjectGuid.Empty;
GetAI().OnLootStateChanged((uint)state, unit); GetAI().OnLootStateChanged((uint)state, unit);
// Start restock timer if the chest is partially looted or not looted at all // Start restock timer if the chest is partially looted or not looted at all
@@ -3437,7 +3437,7 @@ namespace Game.Entities
battleground = bg; battleground = bg;
} }
if (!battleground) if (battleground == null)
return; return;
// Cancel current timer // Cancel current timer
@@ -4414,7 +4414,7 @@ namespace Game.Entities
FlagState oldState = _state; FlagState oldState = _state;
_state = newState; _state = newState;
if (player && newState == FlagState.Taken) if (player != null && newState == FlagState.Taken)
_carrierGUID = player.GetGUID(); _carrierGUID = player.GetGUID();
else else
_carrierGUID = ObjectGuid.Empty; _carrierGUID = ObjectGuid.Empty;
+2 -2
View File
@@ -24,7 +24,7 @@ namespace Game.Entities
for (byte i = 0; i < ItemConst.MaxBagSize; ++i) for (byte i = 0; i < ItemConst.MaxBagSize; ++i)
{ {
Item item = m_bagslot[i]; Item item = m_bagslot[i];
if (item) if (item != null)
{ {
if (item.IsInWorld) if (item.IsInWorld)
{ {
@@ -72,7 +72,7 @@ namespace Game.Entities
SetEntry(itemid); SetEntry(itemid);
SetObjectScale(1.0f); SetObjectScale(1.0f);
if (owner) if (owner != null)
{ {
SetOwnerGUID(owner.GetGUID()); SetOwnerGUID(owner.GetGUID());
SetContainedIn(owner.GetGUID()); SetContainedIn(owner.GetGUID());
+10 -10
View File
@@ -38,7 +38,7 @@ namespace Game.Entities
SetEntry(itemId); SetEntry(itemId);
SetObjectScale(1.0f); SetObjectScale(1.0f);
if (owner) if (owner != null)
{ {
SetOwnerGUID(owner.GetGUID()); SetOwnerGUID(owner.GetGUID());
SetContainedIn(owner.GetGUID()); SetContainedIn(owner.GetGUID());
@@ -74,7 +74,7 @@ namespace Game.Entities
PlayerConditionRecord playerCondition = CliDB.PlayerConditionStorage.LookupByKey(artifactAppearance.UnlockPlayerConditionID); PlayerConditionRecord playerCondition = CliDB.PlayerConditionStorage.LookupByKey(artifactAppearance.UnlockPlayerConditionID);
if (playerCondition != null) if (playerCondition != null)
if (!owner || !ConditionManager.IsPlayerMeetingCondition(owner, playerCondition)) if (owner == null || !ConditionManager.IsPlayerMeetingCondition(owner, playerCondition))
continue; continue;
SetModifier(ItemModifier.ArtifactAppearanceId, artifactAppearance.Id); SetModifier(ItemModifier.ArtifactAppearanceId, artifactAppearance.Id);
@@ -624,7 +624,7 @@ namespace Game.Entities
public void CheckArtifactRelicSlotUnlock(Player owner) public void CheckArtifactRelicSlotUnlock(Player owner)
{ {
if (!owner) if (owner == null)
return; return;
byte artifactId = GetTemplate().GetArtifactID(); byte artifactId = GetTemplate().GetArtifactID();
@@ -718,7 +718,7 @@ namespace Game.Entities
if (uState == ItemUpdateState.New && state == ItemUpdateState.Removed) if (uState == ItemUpdateState.New && state == ItemUpdateState.Removed)
{ {
// pretend the item never existed // pretend the item never existed
if (forplayer) if (forplayer != null)
{ {
RemoveItemFromUpdateQueueOf(this, forplayer); RemoveItemFromUpdateQueueOf(this, forplayer);
forplayer.DeleteRefundReference(GetGUID()); forplayer.DeleteRefundReference(GetGUID());
@@ -731,7 +731,7 @@ namespace Game.Entities
if (uState != ItemUpdateState.New) if (uState != ItemUpdateState.New)
uState = state; uState = state;
if (forplayer) if (forplayer != null)
AddItemToUpdateQueueOf(this, forplayer); AddItemToUpdateQueueOf(this, forplayer);
} }
else else
@@ -825,7 +825,7 @@ namespace Game.Entities
SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.StackCount), value); SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.StackCount), value);
Player player = GetOwner(); Player player = GetOwner();
if (player) if (player != null)
{ {
TradeData tradeData = player.GetTradeData(); TradeData tradeData = player.GetTradeData();
if (tradeData != null) if (tradeData != null)
@@ -1351,7 +1351,7 @@ namespace Game.Entities
public override bool AddToObjectUpdate() public override bool AddToObjectUpdate()
{ {
Player owner = GetOwner(); Player owner = GetOwner();
if (owner) if (owner != null)
{ {
owner.GetMap().AddUpdateObject(this); owner.GetMap().AddUpdateObject(this);
return true; return true;
@@ -1363,7 +1363,7 @@ namespace Game.Entities
public override void RemoveFromObjectUpdate() public override void RemoveFromObjectUpdate()
{ {
Player owner = GetOwner(); Player owner = GetOwner();
if (owner) if (owner != null)
owner.GetMap().RemoveUpdateObject(this); owner.GetMap().RemoveUpdateObject(this);
} }
@@ -1509,7 +1509,7 @@ namespace Game.Entities
Player owner = GetOwner(); Player owner = GetOwner();
for (byte i = 0; i < ItemConst.MaxStats; ++i) for (byte i = 0; i < ItemConst.MaxStats; ++i)
{ {
if ((owner ? GetItemStatValue(i, owner) : proto.GetStatPercentEditor(i)) != 0) if ((owner != null ? GetItemStatValue(i, owner) : proto.GetStatPercentEditor(i)) != 0)
return true; return true;
} }
@@ -2331,7 +2331,7 @@ namespace Game.Entities
public void GiveArtifactXp(ulong amount, Item sourceItem, ArtifactCategory artifactCategoryId) public void GiveArtifactXp(ulong amount, Item sourceItem, ArtifactCategory artifactCategoryId)
{ {
Player owner = GetOwner(); Player owner = GetOwner();
if (!owner) if (owner == null)
return; return;
if (artifactCategoryId != 0) if (artifactCategoryId != 0)
@@ -80,7 +80,7 @@ namespace Game.Entities
continue; continue;
bool meetsPlayerCondition = false; bool meetsPlayerCondition = false;
if (player) if (player != null)
{ {
var playerCondition = CliDB.PlayerConditionStorage.LookupByKey(itemContextPickerEntry.PlayerConditionID); var playerCondition = CliDB.PlayerConditionStorage.LookupByKey(itemContextPickerEntry.PlayerConditionID);
if (playerCondition != null) if (playerCondition != null)
+43 -48
View File
@@ -46,7 +46,7 @@ namespace Game.Entities
public virtual void Dispose() public virtual void Dispose()
{ {
// this may happen because there are many !create/delete // this may happen because there are many !create/delete
if (IsWorldObject() && _currMap) if (IsWorldObject() && _currMap != null)
{ {
if (IsTypeId(TypeId.Corpse)) if (IsTypeId(TypeId.Corpse))
{ {
@@ -124,7 +124,7 @@ namespace Game.Entities
public virtual void BuildCreateUpdateBlockForPlayer(UpdateData data, Player target) public virtual void BuildCreateUpdateBlockForPlayer(UpdateData data, Player target)
{ {
if (!target) if (target == null)
return; return;
UpdateType updateType = _isNewObject ? UpdateType.CreateObject2 : UpdateType.CreateObject; UpdateType updateType = _isNewObject ? UpdateType.CreateObject2 : UpdateType.CreateObject;
@@ -148,10 +148,10 @@ namespace Game.Entities
flags.SmoothPhasing = true; flags.SmoothPhasing = true;
Unit unit = ToUnit(); Unit unit = ToUnit();
if (unit) if (unit != null)
{ {
flags.PlayHoverAnim = unit.IsPlayingHoverAnim(); flags.PlayHoverAnim = unit.IsPlayingHoverAnim();
if (unit.GetVictim()) if (unit.GetVictim() != null)
flags.CombatVictim = true; flags.CombatVictim = true;
} }
@@ -223,7 +223,7 @@ namespace Game.Entities
public void SendOutOfRangeForPlayer(Player target) public void SendOutOfRangeForPlayer(Player target)
{ {
Cypher.Assert(target); Cypher.Assert(target != null);
UpdateData updateData = new(target.GetMapId()); UpdateData updateData = new(target.GetMapId());
BuildOutOfRangeUpdateBlock(updateData); BuildOutOfRangeUpdateBlock(updateData);
@@ -235,7 +235,7 @@ namespace Game.Entities
{ {
List<uint> PauseTimes = null; List<uint> PauseTimes = null;
GameObject go = ToGameObject(); GameObject go = ToGameObject();
if (go) if (go != null)
PauseTimes = go.GetPauseTimes(); PauseTimes = go.GetPauseTimes();
data.WriteBit(flags.NoBirthAnim); data.WriteBit(flags.NoBirthAnim);
@@ -1205,11 +1205,11 @@ namespace Game.Entities
} }
Unit target = obj.ToUnit(); Unit target = obj.ToUnit();
if (target) if (target != null)
{ {
// Don't allow to detect vehicle accessories if you can't see vehicle // Don't allow to detect vehicle accessories if you can't see vehicle
Unit vehicle = target.GetVehicleBase(); Unit vehicle = target.GetVehicleBase();
if (vehicle) if (vehicle != null)
if (!thisPlayer.HaveAtClient(vehicle)) if (!thisPlayer.HaveAtClient(vehicle))
return false; return false;
} }
@@ -1352,7 +1352,7 @@ namespace Game.Entities
return true; return true;
// Only check back for units, it does not make sense for gameobjects // Only check back for units, it does not make sense for gameobjects
if (unit && !HasInArc(MathF.PI, obj)) if (unit != null && !HasInArc(MathF.PI, obj))
return false; return false;
// Traps should detect stealth always // Traps should detect stealth always
@@ -1393,7 +1393,7 @@ namespace Game.Entities
float visibilityRange = detectionValue * 0.3f + combatReach; float visibilityRange = detectionValue * 0.3f + combatReach;
// If this unit is an NPC then player detect range doesn't apply // If this unit is an NPC then player detect range doesn't apply
if (unit && unit.IsTypeId(TypeId.Player) && visibilityRange > SharedConst.MaxPlayerStealthDetectRange) if (unit != null && unit.IsTypeId(TypeId.Player) && visibilityRange > SharedConst.MaxPlayerStealthDetectRange)
visibilityRange = SharedConst.MaxPlayerStealthDetectRange; visibilityRange = SharedConst.MaxPlayerStealthDetectRange;
// When checking for alert state, look 8% further, and then 1.5 yards more than that. // When checking for alert state, look 8% further, and then 1.5 yards more than that.
@@ -1402,7 +1402,7 @@ namespace Game.Entities
// If checking for alert, and creature's visibility range is greater than aggro distance, No alert // If checking for alert, and creature's visibility range is greater than aggro distance, No alert
Unit tunit = obj.ToUnit(); Unit tunit = obj.ToUnit();
if (checkAlert && unit && unit.ToCreature() && visibilityRange >= unit.ToCreature().GetAttackDistance(tunit) + unit.ToCreature().m_CombatDistance) if (checkAlert && unit != null && unit.ToCreature() != null && visibilityRange >= unit.ToCreature().GetAttackDistance(tunit) + unit.ToCreature().m_CombatDistance)
return false; return false;
if (distance > visibilityRange) if (distance > visibilityRange)
@@ -1597,7 +1597,7 @@ namespace Game.Entities
Map map = GetMap(); Map map = GetMap();
GameObject go = GameObject.CreateGameObject(entry, map, pos, rotation, 255, GameObjectState.Ready); GameObject go = GameObject.CreateGameObject(entry, map, pos, rotation, 255, GameObjectState.Ready);
if (!go) if (go == null)
return null; return null;
PhasingHandler.InheritPhaseShift(go, this); PhasingHandler.InheritPhaseShift(go, this);
@@ -1649,7 +1649,7 @@ namespace Game.Entities
foreach (var tempSummonData in data) foreach (var tempSummonData in data)
{ {
TempSummon summon = SummonCreature(tempSummonData.entry, tempSummonData.pos, tempSummonData.type, tempSummonData.time); TempSummon summon = SummonCreature(tempSummonData.entry, tempSummonData.pos, tempSummonData.type, tempSummonData.time);
if (summon) if (summon != null)
list.Add(summon); list.Add(summon);
} }
} }
@@ -1827,7 +1827,7 @@ namespace Game.Entities
if (spellInfo.RangeEntry.RangeMax[0] == spellInfo.RangeEntry.RangeMax[1]) if (spellInfo.RangeEntry.RangeMax[0] == spellInfo.RangeEntry.RangeMax[1])
return spellInfo.GetMaxRange(); return spellInfo.GetMaxRange();
if (!target) if (target == null)
return spellInfo.GetMaxRange(true); return spellInfo.GetMaxRange(true);
return spellInfo.GetMaxRange(!IsHostileTo(target)); return spellInfo.GetMaxRange(!IsHostileTo(target));
@@ -1841,7 +1841,7 @@ namespace Game.Entities
if (spellInfo.RangeEntry.RangeMin[0] == spellInfo.RangeEntry.RangeMin[1]) if (spellInfo.RangeEntry.RangeMin[0] == spellInfo.RangeEntry.RangeMin[1])
return spellInfo.GetMinRange(); return spellInfo.GetMinRange();
if (!target) if (target == null)
return spellInfo.GetMinRange(true); return spellInfo.GetMinRange(true);
return spellInfo.GetMinRange(!IsHostileTo(target)); return spellInfo.GetMinRange(!IsHostileTo(target));
@@ -1922,7 +1922,7 @@ namespace Game.Entities
// cut duration only of negative effects // cut duration only of negative effects
Unit unitTarget = target.ToUnit(); Unit unitTarget = target.ToUnit();
if (!unitTarget) if (unitTarget == null)
return duration; return duration;
if (!positive) if (!positive)
@@ -1986,7 +1986,7 @@ namespace Game.Entities
modOwner.ApplySpellMod(spellInfo, SpellModOp.ChangeCastTime, ref castTime, spell); modOwner.ApplySpellMod(spellInfo, SpellModOp.ChangeCastTime, ref castTime, spell);
Unit unitCaster = ToUnit(); Unit unitCaster = ToUnit();
if (!unitCaster) if (unitCaster == null)
return; return;
if (unitCaster.IsPlayer() && unitCaster.ToPlayer().GetCommandStatus(PlayerCommandStates.Casttime)) if (unitCaster.IsPlayer() && unitCaster.ToPlayer().GetCommandStatus(PlayerCommandStates.Casttime))
@@ -2013,7 +2013,7 @@ namespace Game.Entities
modOwner.ApplySpellMod(spellInfo, SpellModOp.ChangeCastTime, ref duration, spell); modOwner.ApplySpellMod(spellInfo, SpellModOp.ChangeCastTime, ref duration, spell);
Unit unitCaster = ToUnit(); Unit unitCaster = ToUnit();
if (!unitCaster) if (unitCaster == null)
return; return;
if (!(spellInfo.HasAttribute(SpellAttr0.IsAbility) || spellInfo.HasAttribute(SpellAttr0.IsTradeskill) || spellInfo.HasAttribute(SpellAttr3.IgnoreCasterModifiers)) && if (!(spellInfo.HasAttribute(SpellAttr0.IsAbility) || spellInfo.HasAttribute(SpellAttr0.IsTradeskill) || spellInfo.HasAttribute(SpellAttr3.IgnoreCasterModifiers)) &&
@@ -2227,7 +2227,7 @@ namespace Game.Entities
bool isAttackableBySummoner(Unit me, ObjectGuid targetGuid) bool isAttackableBySummoner(Unit me, ObjectGuid targetGuid)
{ {
if (!me) if (me == null)
return false; return false;
TempSummon tempSummon = me.ToTempSummon(); TempSummon tempSummon = me.ToTempSummon();
@@ -2252,7 +2252,7 @@ namespace Game.Entities
Player targetPlayerOwner = target.GetAffectingPlayer(); Player targetPlayerOwner = target.GetAffectingPlayer();
// check forced reputation to support SPELL_AURA_FORCE_REACTION // check forced reputation to support SPELL_AURA_FORCE_REACTION
if (selfPlayerOwner) if (selfPlayerOwner != null)
{ {
var targetFactionTemplateEntry = target.GetFactionTemplateEntry(); var targetFactionTemplateEntry = target.GetFactionTemplateEntry();
if (targetFactionTemplateEntry != null) if (targetFactionTemplateEntry != null)
@@ -2262,7 +2262,7 @@ namespace Game.Entities
return repRank; return repRank;
} }
} }
else if (targetPlayerOwner) else if (targetPlayerOwner != null)
{ {
var selfFactionTemplateEntry = GetFactionTemplateEntry(); var selfFactionTemplateEntry = GetFactionTemplateEntry();
if (selfFactionTemplateEntry != null) if (selfFactionTemplateEntry != null)
@@ -2275,11 +2275,11 @@ namespace Game.Entities
Unit unit = ToUnit() ?? selfPlayerOwner; Unit unit = ToUnit() ?? selfPlayerOwner;
Unit targetUnit = target.ToUnit() ?? targetPlayerOwner; Unit targetUnit = target.ToUnit() ?? targetPlayerOwner;
if (unit && unit.HasUnitFlag(UnitFlags.PlayerControlled)) if (unit != null && unit.HasUnitFlag(UnitFlags.PlayerControlled))
{ {
if (targetUnit && targetUnit.HasUnitFlag(UnitFlags.PlayerControlled)) if (targetUnit != null && targetUnit.HasUnitFlag(UnitFlags.PlayerControlled))
{ {
if (selfPlayerOwner && targetPlayerOwner) if (selfPlayerOwner != null && targetPlayerOwner != null)
{ {
// always friendly to other unit controlled by player, or to the player himself // always friendly to other unit controlled by player, or to the player himself
if (selfPlayerOwner == targetPlayerOwner) if (selfPlayerOwner == targetPlayerOwner)
@@ -2300,7 +2300,7 @@ namespace Game.Entities
if (unit.IsFFAPvP() && targetUnit.IsFFAPvP()) if (unit.IsFFAPvP() && targetUnit.IsFFAPvP())
return ReputationRank.Hostile; return ReputationRank.Hostile;
if (selfPlayerOwner) if (selfPlayerOwner != null)
{ {
var targetFactionTemplateEntry = targetUnit.GetFactionTemplateEntry(); var targetFactionTemplateEntry = targetUnit.GetFactionTemplateEntry();
if (targetFactionTemplateEntry != null) if (targetFactionTemplateEntry != null)
@@ -2605,7 +2605,7 @@ namespace Game.Entities
} }
// CvC case - can attack each other only when one of them is hostile // CvC case - can attack each other only when one of them is hostile
if (unit && !unit.HasUnitFlag(UnitFlags.PlayerControlled) && unitTarget != null && !unitTarget.HasUnitFlag(UnitFlags.PlayerControlled)) if (unit != null && !unit.HasUnitFlag(UnitFlags.PlayerControlled) && unitTarget != null && !unitTarget.HasUnitFlag(UnitFlags.PlayerControlled))
return IsHostileTo(unitTarget) || unitTarget.IsHostileTo(this); return IsHostileTo(unitTarget) || unitTarget.IsHostileTo(this);
// Traps without owner or with NPC owner versus Creature case - can attack to creature only when one of them is hostile // Traps without owner or with NPC owner versus Creature case - can attack to creature only when one of them is hostile
@@ -2613,7 +2613,7 @@ namespace Game.Entities
{ {
Unit goOwner = go.GetOwner(); Unit goOwner = go.GetOwner();
if (goOwner == null || !goOwner.HasUnitFlag(UnitFlags.PlayerControlled)) if (goOwner == null || !goOwner.HasUnitFlag(UnitFlags.PlayerControlled))
if (unitTarget && !unitTarget.HasUnitFlag(UnitFlags.PlayerControlled)) if (unitTarget != null && !unitTarget.HasUnitFlag(UnitFlags.PlayerControlled))
return IsHostileTo(unitTarget) || unitTarget.IsHostileTo(this); return IsHostileTo(unitTarget) || unitTarget.IsHostileTo(this);
} }
@@ -2630,10 +2630,10 @@ namespace Game.Entities
return false; return false;
// Not all neutral creatures can be attacked (even some unfriendly faction does not react aggresive to you, like Sporaggar) // Not all neutral creatures can be attacked (even some unfriendly faction does not react aggresive to you, like Sporaggar)
if ((playerAffectingAttacker && !playerAffectingTarget) || (!playerAffectingAttacker && playerAffectingTarget)) if ((playerAffectingAttacker != null && playerAffectingTarget == null) || (playerAffectingAttacker == null && playerAffectingTarget != null))
{ {
Player player = playerAffectingAttacker ? playerAffectingAttacker : playerAffectingTarget; Player player = playerAffectingAttacker != null ? playerAffectingAttacker : playerAffectingTarget;
Unit creature = playerAffectingAttacker ? unitTarget : unit; Unit creature = playerAffectingAttacker != null ? unitTarget : unit;
if (creature != null) if (creature != null)
{ {
if (creature.IsContestedGuard() && player.HasPlayerFlag(PlayerFlags.ContestedPVP)) if (creature.IsContestedGuard() && player.HasPlayerFlag(PlayerFlags.ContestedPVP))
@@ -2658,7 +2658,7 @@ namespace Game.Entities
} }
} }
if (playerAffectingAttacker && playerAffectingTarget) if (playerAffectingAttacker != null && playerAffectingTarget != null)
if (playerAffectingAttacker.duel != null && playerAffectingAttacker.duel.Opponent == playerAffectingTarget && playerAffectingAttacker.duel.State == DuelState.InProgress) if (playerAffectingAttacker.duel != null && playerAffectingAttacker.duel.Opponent == playerAffectingTarget && playerAffectingAttacker.duel.State == DuelState.InProgress)
return true; return true;
@@ -2668,7 +2668,7 @@ namespace Game.Entities
return false; return false;
// additional checks - only PvP case // additional checks - only PvP case
if (playerAffectingAttacker && playerAffectingTarget) if (playerAffectingAttacker != null && playerAffectingTarget != null)
{ {
if (playerAffectingTarget.IsPvP() || (bySpell != null && bySpell.HasAttribute(SpellAttr5.IgnoreAreaEffectPvpCheck))) if (playerAffectingTarget.IsPvP() || (bySpell != null && bySpell.HasAttribute(SpellAttr5.IgnoreAreaEffectPvpCheck)))
return true; return true;
@@ -2686,7 +2686,7 @@ namespace Game.Entities
// function based on function Unit::CanAssist from 13850 client // function based on function Unit::CanAssist from 13850 client
public bool IsValidAssistTarget(WorldObject target, SpellInfo bySpell = null, bool spellCheck = true) public bool IsValidAssistTarget(WorldObject target, SpellInfo bySpell = null, bool spellCheck = true)
{ {
Cypher.Assert(target); Cypher.Assert(target != null);
// some negative spells can be casted at friendly target // some negative spells can be casted at friendly target
bool isNegativeSpell = bySpell != null && !bySpell.IsPositive(); bool isNegativeSpell = bySpell != null && !bySpell.IsPositive();
@@ -2697,7 +2697,7 @@ namespace Game.Entities
// can't assist unattackable units // can't assist unattackable units
Unit unitTarget = target.ToUnit(); Unit unitTarget = target.ToUnit();
if (unitTarget && unitTarget.HasUnitState(UnitState.Unattackable)) if (unitTarget != null && unitTarget.HasUnitState(UnitState.Unattackable))
return false; return false;
// can't assist GMs // can't assist GMs
@@ -2706,7 +2706,7 @@ namespace Game.Entities
// can't assist own vehicle or passenger // can't assist own vehicle or passenger
Unit unit = ToUnit(); Unit unit = ToUnit();
if (unit && unitTarget && unit.GetVehicle()) if (unit != null && unitTarget != null && unit.GetVehicle() != null)
{ {
if (unit.IsOnVehicle(unitTarget)) if (unit.IsOnVehicle(unitTarget))
return false; return false;
@@ -2720,7 +2720,7 @@ namespace Game.Entities
return false; return false;
// can't assist dead // can't assist dead
if ((bySpell == null || !bySpell.IsAllowingDeadTarget()) && unitTarget && !unitTarget.IsAlive()) if ((bySpell == null || !bySpell.IsAllowingDeadTarget()) && unitTarget != null && !unitTarget.IsAlive())
return false; return false;
// can't assist untargetable // can't assist untargetable
@@ -2750,7 +2750,7 @@ namespace Game.Entities
} }
// can't assist non-friendly targets // can't assist non-friendly targets
if (GetReactionTo(target) < ReputationRank.Neutral && target.GetReactionTo(this) < ReputationRank.Neutral && (!ToCreature() || !ToCreature().HasFlag(CreatureStaticFlags4.TreatAsRaidUnitForHelpfulSpells))) if (GetReactionTo(target) < ReputationRank.Neutral && target.GetReactionTo(this) < ReputationRank.Neutral && (!IsCreature() || !ToCreature().HasFlag(CreatureStaticFlags4.TreatAsRaidUnitForHelpfulSpells)))
return false; return false;
// PvP case // PvP case
@@ -2934,7 +2934,7 @@ namespace Game.Entities
public void PlayDirectSound(uint soundId, Player target = null, uint broadcastTextId = 0) public void PlayDirectSound(uint soundId, Player target = null, uint broadcastTextId = 0)
{ {
PlaySound sound = new(GetGUID(), soundId, broadcastTextId); PlaySound sound = new(GetGUID(), soundId, broadcastTextId);
if (target) if (target != null)
target.SendPacket(sound); target.SendPacket(sound);
else else
SendMessageToSet(sound, true); SendMessageToSet(sound, true);
@@ -2942,7 +2942,7 @@ namespace Game.Entities
public void PlayDirectMusic(uint musicId, Player target = null) public void PlayDirectMusic(uint musicId, Player target = null)
{ {
if (target) if (target != null)
target.SendPacket(new PlayMusic(musicId)); target.SendPacket(new PlayMusic(musicId));
else else
SendMessageToSet(new PlayMusic(musicId), true); SendMessageToSet(new PlayMusic(musicId), true);
@@ -2957,7 +2957,7 @@ namespace Game.Entities
pkt.Position = GetPosition(); pkt.Position = GetPosition();
pkt.BroadcastTextID = broadcastTextId; pkt.BroadcastTextID = broadcastTextId;
if (target) if (target != null)
target.SendPacket(pkt); target.SendPacket(pkt);
else else
SendMessageToSet(pkt, true); SendMessageToSet(pkt, true);
@@ -3232,7 +3232,7 @@ namespace Game.Entities
public bool IsWithinDistInMap(WorldObject obj, float dist2compare, bool is3D = true, bool incOwnRadius = true, bool incTargetRadius = true) public bool IsWithinDistInMap(WorldObject obj, float dist2compare, bool is3D = true, bool incOwnRadius = true, bool incTargetRadius = true)
{ {
return obj && IsInMap(obj) && InSamePhase(obj) && _IsWithinDist(obj, dist2compare, is3D, incOwnRadius, incTargetRadius); return obj != null && IsInMap(obj) && InSamePhase(obj) && _IsWithinDist(obj, dist2compare, is3D, incOwnRadius, incTargetRadius);
} }
public bool IsWithinLOS(float ox, float oy, float oz, LineOfSightChecks checks = LineOfSightChecks.All, ModelIgnoreFlags ignoreFlags = ModelIgnoreFlags.Nothing) public bool IsWithinLOS(float ox, float oy, float oz, LineOfSightChecks checks = LineOfSightChecks.All, ModelIgnoreFlags ignoreFlags = ModelIgnoreFlags.Nothing)
@@ -3348,7 +3348,7 @@ namespace Game.Entities
public bool IsInBetween(WorldObject obj1, WorldObject obj2, float size = 0) public bool IsInBetween(WorldObject obj1, WorldObject obj2, float size = 0)
{ {
return obj1 && obj2 && IsInBetween(obj1.GetPosition(), obj2.GetPosition(), size); return obj1 != null && obj2 != null && IsInBetween(obj1.GetPosition(), obj2.GetPosition(), size);
} }
public bool IsInBetween(Position pos1, Position pos2, float size) public bool IsInBetween(Position pos1, Position pos2, float size)
@@ -3480,7 +3480,7 @@ namespace Game.Entities
{ {
float effectiveReach = GetCombatReach(); float effectiveReach = GetCombatReach();
if (searcher) if (searcher != null)
{ {
effectiveReach += searcher.GetCombatReach(); effectiveReach += searcher.GetCombatReach();
@@ -3796,11 +3796,6 @@ namespace Game.Entities
public FlaggedArray32<ServerSideVisibilityType> m_serverSideVisibility = new(2); public FlaggedArray32<ServerSideVisibilityType> m_serverSideVisibility = new(2);
public FlaggedArray32<ServerSideVisibilityType> m_serverSideVisibilityDetect = new(2); public FlaggedArray32<ServerSideVisibilityType> m_serverSideVisibilityDetect = new(2);
#endregion #endregion
public static implicit operator bool(WorldObject obj)
{
return obj != null;
}
} }
public class MovementInfo public class MovementInfo
+6 -6
View File
@@ -709,7 +709,7 @@ namespace Game.Entities
public bool CreateBaseAtCreature(Creature creature) public bool CreateBaseAtCreature(Creature creature)
{ {
Cypher.Assert(creature); Cypher.Assert(creature != null);
if (!CreateBaseAtTamed(creature.GetCreatureTemplate(), creature.GetMap())) if (!CreateBaseAtTamed(creature.GetCreatureTemplate(), creature.GetMap()))
return false; return false;
@@ -1251,7 +1251,7 @@ namespace Game.Entities
{ {
// need update action bar for last removed rank // need update action bar for last removed rank
Unit owner = GetOwner(); Unit owner = GetOwner();
if (owner) if (owner != null)
if (owner.IsTypeId(TypeId.Player)) if (owner.IsTypeId(TypeId.Player))
owner.ToPlayer().PetSpellInitialize(); owner.ToPlayer().PetSpellInitialize();
} }
@@ -1356,7 +1356,7 @@ namespace Game.Entities
public bool Create(ulong guidlow, Map map, uint entry, uint petNumber) public bool Create(ulong guidlow, Map map, uint entry, uint petNumber)
{ {
Cypher.Assert(map); Cypher.Assert(map != null);
SetMap(map); SetMap(map);
// TODO: counter should be constructed as (summon_count << 32) | petNumber // TODO: counter should be constructed as (summon_count << 32) | petNumber
@@ -1458,7 +1458,7 @@ namespace Game.Entities
public void SynchronizeLevelWithOwner() public void SynchronizeLevelWithOwner()
{ {
Unit owner = GetOwner(); Unit owner = GetOwner();
if (!owner || !owner.IsTypeId(TypeId.Player)) if (owner == null || !owner.IsTypeId(TypeId.Player))
return; return;
switch (GetPetType()) switch (GetPetType())
@@ -1534,7 +1534,7 @@ namespace Game.Entities
public GroupUpdatePetFlags GetGroupUpdateFlag() { return m_groupUpdateMask; } public GroupUpdatePetFlags GetGroupUpdateFlag() { return m_groupUpdateMask; }
public void SetGroupUpdateFlag(GroupUpdatePetFlags flag) public void SetGroupUpdateFlag(GroupUpdatePetFlags flag)
{ {
if (GetOwner().GetGroup()) if (GetOwner().GetGroup() != null)
{ {
m_groupUpdateMask |= flag; m_groupUpdateMask |= flag;
GetOwner().SetGroupUpdateFlag(GroupUpdateFlags.Pet); GetOwner().SetGroupUpdateFlag(GroupUpdateFlags.Pet);
@@ -1543,7 +1543,7 @@ namespace Game.Entities
public void ResetGroupUpdateFlag() public void ResetGroupUpdateFlag()
{ {
m_groupUpdateMask = GroupUpdatePetFlags.None; m_groupUpdateMask = GroupUpdatePetFlags.None;
if (GetOwner().GetGroup()) if (GetOwner().GetGroup() != null)
GetOwner().RemoveGroupUpdateFlag(GroupUpdateFlags.Pet); GetOwner().RemoveGroupUpdateFlag(GroupUpdateFlags.Pet);
} }
@@ -68,7 +68,7 @@ namespace Game.Entities
player.GetMap().LoadGridForActiveObject(pos.GetPositionX(), pos.GetPositionY(), player); player.GetMap().LoadGridForActiveObject(pos.GetPositionX(), pos.GetPositionY(), player);
m_CinematicObject = player.SummonCreature(1, pos.posX, pos.posY, pos.posZ, 0.0f, TempSummonType.TimedDespawn, TimeSpan.FromMinutes(5)); m_CinematicObject = player.SummonCreature(1, pos.posX, pos.posY, pos.posZ, 0.0f, TempSummonType.TimedDespawn, TimeSpan.FromMinutes(5));
if (m_CinematicObject) if (m_CinematicObject != null)
{ {
m_CinematicObject.SetActive(true); m_CinematicObject.SetActive(true);
player.SetViewpoint(m_CinematicObject, true); player.SetViewpoint(m_CinematicObject, true);
@@ -89,10 +89,10 @@ namespace Game.Entities
m_cinematicCamera = null; m_cinematicCamera = null;
m_activeCinematic = null; m_activeCinematic = null;
m_activeCinematicCameraIndex = -1; m_activeCinematicCameraIndex = -1;
if (m_CinematicObject) if (m_CinematicObject != null)
{ {
WorldObject vpObject = player.GetViewpoint(); WorldObject vpObject = player.GetViewpoint();
if (vpObject) if (vpObject != null)
if (vpObject == m_CinematicObject) if (vpObject == m_CinematicObject)
player.SetViewpoint(m_CinematicObject, false); player.SetViewpoint(m_CinematicObject, false);
@@ -170,7 +170,7 @@ namespace Game.Entities
// Advance (at speed) to this position. The remote sight object is used // Advance (at speed) to this position. The remote sight object is used
// to send update information to player in cinematic // to send update information to player in cinematic
if (m_CinematicObject && interPosition.IsPositionValid()) if (m_CinematicObject != null && interPosition.IsPositionValid())
m_CinematicObject.MonsterMoveWithSpeed(interPosition.posX, interPosition.posY, interPosition.posZ, 500.0f, false, true); m_CinematicObject.MonsterMoveWithSpeed(interPosition.posX, interPosition.posY, interPosition.posZ, 500.0f, false, true);
// If we never received an end packet 10 seconds after the final timestamp then force an end // If we never received an end packet 10 seconds after the final timestamp then force an end
@@ -237,7 +237,7 @@ namespace Game.Entities
public void UpgradeHeirloom(uint itemId, uint castItem) public void UpgradeHeirloom(uint itemId, uint castItem)
{ {
Player player = _owner.GetPlayer(); Player player = _owner.GetPlayer();
if (!player) if (player == null)
return; return;
HeirloomRecord heirloom = Global.DB2Mgr.GetHeirloomByItemId(itemId); HeirloomRecord heirloom = Global.DB2Mgr.GetHeirloomByItemId(itemId);
@@ -275,7 +275,7 @@ namespace Game.Entities
public void CheckHeirloomUpgrades(Item item) public void CheckHeirloomUpgrades(Item item)
{ {
Player player = _owner.GetPlayer(); Player player = _owner.GetPlayer();
if (!player) if (player == null)
return; return;
// Check already owned heirloom for upgrade kits // Check already owned heirloom for upgrade kits
@@ -292,7 +292,7 @@ namespace Game.Entities
HeirloomRecord heirloomDiff; HeirloomRecord heirloomDiff;
while ((heirloomDiff = Global.DB2Mgr.GetHeirloomByItemId(heirloomItemId)) != null) while ((heirloomDiff = Global.DB2Mgr.GetHeirloomByItemId(heirloomItemId)) != null)
{ {
if (player.GetItemByEntry(heirloomDiff.ItemID)) if (player.GetItemByEntry(heirloomDiff.ItemID) != null)
newItemId = heirloomDiff.ItemID; newItemId = heirloomDiff.ItemID;
HeirloomRecord heirloomSub = Global.DB2Mgr.GetHeirloomByItemId(heirloomDiff.StaticUpgradedItemID); HeirloomRecord heirloomSub = Global.DB2Mgr.GetHeirloomByItemId(heirloomDiff.StaticUpgradedItemID);
@@ -372,7 +372,7 @@ namespace Game.Entities
public bool AddMount(uint spellId, MountStatusFlags flags, bool factionMount = false, bool learned = false) public bool AddMount(uint spellId, MountStatusFlags flags, bool factionMount = false, bool learned = false)
{ {
Player player = _owner.GetPlayer(); Player player = _owner.GetPlayer();
if (!player) if (player == null)
return false; return false;
MountRecord mount = Global.DB2Mgr.GetMount(spellId); MountRecord mount = Global.DB2Mgr.GetMount(spellId);
@@ -420,7 +420,7 @@ namespace Game.Entities
void SendSingleMountUpdate(uint spellId, MountStatusFlags mountStatusFlags) void SendSingleMountUpdate(uint spellId, MountStatusFlags mountStatusFlags)
{ {
Player player = _owner.GetPlayer(); Player player = _owner.GetPlayer();
if (!player) if (player == null)
return; return;
AccountMountUpdate mountUpdate = new(); AccountMountUpdate mountUpdate = new();
@@ -592,7 +592,7 @@ namespace Game.Entities
if (itemTemplate == null) if (itemTemplate == null)
return false; return false;
if (!_owner.GetPlayer()) if (_owner.GetPlayer() == null)
return false; return false;
if (_owner.GetPlayer().CanUseItem(itemTemplate) != InventoryResult.Ok) if (_owner.GetPlayer().CanUseItem(itemTemplate) != InventoryResult.Ok)
+4 -4
View File
@@ -129,14 +129,14 @@ namespace Game.Entities
// 2.4. _maxNotGrayMember - maximum level of alive group member within reward distance, // 2.4. _maxNotGrayMember - maximum level of alive group member within reward distance,
// for whom victim is not gray; // for whom victim is not gray;
uint grayLevel = Formulas.GetGrayLevel(lvl); uint grayLevel = Formulas.GetGrayLevel(lvl);
if (_victim.GetLevelForTarget(member) > grayLevel && (!_maxNotGrayMember || _maxNotGrayMember.GetLevel() < lvl)) if (_victim.GetLevelForTarget(member) > grayLevel && (_maxNotGrayMember == null || _maxNotGrayMember.GetLevel() < lvl))
_maxNotGrayMember = member; _maxNotGrayMember = member;
} }
} }
} }
// 2.5. _isFullXP - flag identifying that for all group members victim is not gray, // 2.5. _isFullXP - flag identifying that for all group members victim is not gray,
// so 100% XP will be rewarded (50% otherwise). // so 100% XP will be rewarded (50% otherwise).
_isFullXP = _maxNotGrayMember && (_maxLevel == _maxNotGrayMember.GetLevel()); _isFullXP = _maxNotGrayMember != null && (_maxLevel == _maxNotGrayMember.GetLevel());
} }
else else
_count = 1; _count = 1;
@@ -185,7 +185,7 @@ namespace Game.Entities
// 4.2.3. Give XP to player. // 4.2.3. Give XP to player.
player.GiveXP(xp, _victim, _groupRate); player.GiveXP(xp, _victim, _groupRate);
Pet pet = player.GetPet(); Pet pet = player.GetPet();
if (pet) if (pet != null)
// 4.2.4. If player has pet, reward pet with XP (100% for single player, 50% for group case). // 4.2.4. If player has pet, reward pet with XP (100% for single player, 50% for group case).
pet.GivePetXP(player.GetGroup() != null ? xp / 2 : xp); pet.GivePetXP(player.GetGroup() != null ? xp / 2 : xp);
} }
@@ -264,7 +264,7 @@ namespace Game.Entities
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player member = refe.GetSource(); Player member = refe.GetSource();
if (member) if (member != null)
{ {
// Killer may not be at reward distance, check directly // Killer may not be at reward distance, check directly
if (killer == member || member.IsAtGroupRewardDistance(_victim)) if (killer == member || member.IsAtGroupRewardDistance(_victim))
@@ -67,7 +67,7 @@ namespace Game.Entities
scenario.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, this); scenario.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, this);
Guild guild = Global.GuildMgr.GetGuildById(GetGuildId()); Guild guild = Global.GuildMgr.GetGuildById(GetGuildId());
if (guild) if (guild != null)
guild.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, this); guild.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, this);
} }
+9 -9
View File
@@ -38,19 +38,19 @@ namespace Game.Entities
// prepare data for near group iteration // prepare data for near group iteration
Group group = GetGroup(); Group group = GetGroup();
if (group) if (group != null)
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player player = refe.GetSource(); Player player = refe.GetSource();
if (!player) if (player == null)
continue; continue;
if (!player.IsAtGroupRewardDistance(pRewardSource)) if (!player.IsAtGroupRewardDistance(pRewardSource))
continue; // member (alive or dead) or his corpse at req. distance continue; // member (alive or dead) or his corpse at req. distance
// quest objectives updated only for alive group member or dead but with not released body // quest objectives updated only for alive group member or dead but with not released body
if (player.IsAlive() || !player.GetCorpse()) if (player.IsAlive() || player.GetCorpse() == null)
player.KilledMonsterCredit(creature_id, creature_guid); player.KilledMonsterCredit(creature_id, creature_guid);
} }
} }
@@ -247,7 +247,7 @@ namespace Game.Entities
bool IsTwoHandUsed() bool IsTwoHandUsed()
{ {
Item mainItem = GetItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand); Item mainItem = GetItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand);
if (!mainItem) if (mainItem == null)
return false; return false;
ItemTemplate itemTemplate = mainItem.GetTemplate(); ItemTemplate itemTemplate = mainItem.GetTemplate();
@@ -259,14 +259,14 @@ namespace Game.Entities
bool IsUsingTwoHandedWeaponInOneHand() bool IsUsingTwoHandedWeaponInOneHand()
{ {
Item offItem = GetItemByPos(InventorySlots.Bag0, EquipmentSlot.OffHand); Item offItem = GetItemByPos(InventorySlots.Bag0, EquipmentSlot.OffHand);
if (offItem && offItem.GetTemplate().GetInventoryType() == InventoryType.Weapon2Hand) if (offItem != null && offItem.GetTemplate().GetInventoryType() == InventoryType.Weapon2Hand)
return true; return true;
Item mainItem = GetItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand); Item mainItem = GetItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand);
if (!mainItem || mainItem.GetTemplate().GetInventoryType() == InventoryType.Weapon2Hand) if (mainItem == null || mainItem.GetTemplate().GetInventoryType() == InventoryType.Weapon2Hand)
return false; return false;
if (!offItem) if (offItem == null)
return false; return false;
return true; return true;
@@ -390,7 +390,7 @@ namespace Game.Entities
ObjectGuid duelFlagGUID = m_playerData.DuelArbiter; ObjectGuid duelFlagGUID = m_playerData.DuelArbiter;
GameObject obj = GetMap().GetGameObject(duelFlagGUID); GameObject obj = GetMap().GetGameObject(duelFlagGUID);
if (!obj) if (obj == null)
return; return;
if (duel.OutOfBoundsTime == 0) if (duel.OutOfBoundsTime == 0)
@@ -494,7 +494,7 @@ namespace Game.Entities
//Remove Duel Flag object //Remove Duel Flag object
GameObject obj = GetMap().GetGameObject(m_playerData.DuelArbiter); GameObject obj = GetMap().GetGameObject(m_playerData.DuelArbiter);
if (obj) if (obj != null)
duel.Initiator.RemoveGameObject(obj, true); duel.Initiator.RemoveGameObject(obj, true);
//remove auras //remove auras
+14 -14
View File
@@ -77,7 +77,7 @@ namespace Game.Entities
if (item.HasItemFlag(ItemFieldFlags.Child)) if (item.HasItemFlag(ItemFieldFlags.Child))
{ {
Item parent = GetItemByGuid(item.GetCreator()); Item parent = GetItemByGuid(item.GetCreator());
if (parent) if (parent != null)
{ {
parent.SetChildItem(item.GetGUID()); parent.SetChildItem(item.GetGUID());
item.CopyArtifactDataFromParent(parent); item.CopyArtifactDataFromParent(parent);
@@ -1468,7 +1468,7 @@ namespace Game.Entities
if (!result.IsEmpty()) if (!result.IsEmpty())
{ {
Group group = Global.GroupMgr.GetGroupByDbStoreId(result.Read<uint>(0)); Group group = Global.GroupMgr.GetGroupByDbStoreId(result.Read<uint>(0));
if (group) if (group != null)
{ {
if (group.IsLeader(GetGUID())) if (group.IsLeader(GetGUID()))
SetPlayerFlag(PlayerFlags.GroupLeader); SetPlayerFlag(PlayerFlags.GroupLeader);
@@ -1485,7 +1485,7 @@ namespace Game.Entities
} }
} }
if (!GetGroup() || !GetGroup().IsLeader(GetGUID())) if (GetGroup() == null || !GetGroup().IsLeader(GetGUID()))
RemovePlayerFlag(PlayerFlags.GroupLeader); RemovePlayerFlag(PlayerFlags.GroupLeader);
} }
void _LoadInstanceTimeRestrictions(SQLResult result) void _LoadInstanceTimeRestrictions(SQLResult result)
@@ -1777,7 +1777,7 @@ namespace Game.Entities
case ItemUpdateState.Changed: case ItemUpdateState.Changed:
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.REP_INVENTORY_ITEM); stmt = CharacterDatabase.GetPreparedStatement(CharStatements.REP_INVENTORY_ITEM);
stmt.AddValue(0, GetGUID().GetCounter()); stmt.AddValue(0, GetGUID().GetCounter());
stmt.AddValue(1, container ? container.GetGUID().GetCounter() : 0); stmt.AddValue(1, container != null ? container.GetGUID().GetCounter() : 0);
stmt.AddValue(2, item.GetSlot()); stmt.AddValue(2, item.GetSlot());
stmt.AddValue(3, item.GetGUID().GetCounter()); stmt.AddValue(3, item.GetGUID().GetCounter());
trans.Append(stmt); trans.Append(stmt);
@@ -3090,7 +3090,7 @@ namespace Game.Entities
mapId = transportOnMap.GetExpectedMapId(); mapId = transportOnMap.GetExpectedMapId();
instanceId = 0; instanceId = 0;
transportMap = Global.MapMgr.CreateMap(mapId, this); transportMap = Global.MapMgr.CreateMap(mapId, this);
if (transportMap) if (transportMap != null)
transport = transportMap.GetTransport(transGUID); transport = transportMap.GetTransport(transGUID);
} }
else else
@@ -3098,7 +3098,7 @@ namespace Game.Entities
} }
} }
if (transport) if (transport != null)
{ {
float x = trans_x; float x = trans_x;
float y = trans_y; float y = trans_y;
@@ -3201,13 +3201,13 @@ namespace Game.Entities
// NOW player must have valid map // NOW player must have valid map
// load the player's map here if it's not already loaded // load the player's map here if it's not already loaded
if (!map) if (map == null)
map = Global.MapMgr.CreateMap(mapId, this); map = Global.MapMgr.CreateMap(mapId, this);
AreaTriggerStruct areaTrigger = null; AreaTriggerStruct areaTrigger = null;
bool check = false; bool check = false;
if (!map) if (map == null)
{ {
areaTrigger = Global.ObjectMgr.GetGoBackTrigger(mapId); areaTrigger = Global.ObjectMgr.GetGoBackTrigger(mapId);
check = true; check = true;
@@ -3241,11 +3241,11 @@ namespace Game.Entities
} }
} }
if (!map) if (map == null)
{ {
RelocateToHomebind(); RelocateToHomebind();
map = Global.MapMgr.CreateMap(mapId, this); map = Global.MapMgr.CreateMap(mapId, this);
if (!map) if (map == null)
{ {
Log.outError(LogFilter.Player, "Player {0} {1} Map: {2}, {3}. Invalid default map coordinates or instance couldn't be created.", GetName(), guid.ToString(), mapId, GetPosition()); Log.outError(LogFilter.Player, "Player {0} {1} Map: {2}, {3}. Invalid default map coordinates or instance couldn't be created.", GetName(), guid.ToString(), mapId, GetPosition());
return false; return false;
@@ -3960,7 +3960,7 @@ namespace Game.Entities
// save pet (hunter pet level and experience and all type pets health/mana). // save pet (hunter pet level and experience and all type pets health/mana).
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.SavePetToDB(PetSaveMode.AsCurrent); pet.SavePetToDB(PetSaveMode.AsCurrent);
} }
void DeleteSpellFromAllPlayers(uint spellId) void DeleteSpellFromAllPlayers(uint spellId)
@@ -4060,7 +4060,7 @@ namespace Game.Entities
if (guildId != 0) if (guildId != 0)
{ {
Guild guild = Global.GuildMgr.GetGuildById(guildId); Guild guild = Global.GuildMgr.GetGuildById(guildId);
if (guild) if (guild != null)
guild.DeleteMember(trans, playerGuid, false, false, true); guild.DeleteMember(trans, playerGuid, false, false, true);
} }
@@ -4075,7 +4075,7 @@ namespace Game.Entities
if (!resultGroup.IsEmpty()) if (!resultGroup.IsEmpty())
{ {
Group group = Global.GroupMgr.GetGroupByDbStoreId(resultGroup.Read<uint>(0)); Group group = Global.GroupMgr.GetGroupByDbStoreId(resultGroup.Read<uint>(0));
if (group) if (group != null)
RemoveFromGroup(group, playerGuid); RemoveFromGroup(group, playerGuid);
} }
@@ -4215,7 +4215,7 @@ namespace Game.Entities
do do
{ {
Player playerFriend = Global.ObjAccessor.FindPlayer(ObjectGuid.Create(HighGuid.Player, resultFriends.Read<ulong>(0))); Player playerFriend = Global.ObjAccessor.FindPlayer(ObjectGuid.Create(HighGuid.Player, resultFriends.Read<ulong>(0)));
if (playerFriend) if (playerFriend != null)
{ {
playerFriend.GetSocial().RemoveFromSocialList(playerGuid, SocialFlag.All); playerFriend.GetSocial().RemoveFromSocialList(playerGuid, SocialFlag.All);
Global.SocialMgr.SendFriendStatus(playerFriend, FriendsResult.Removed, playerGuid); Global.SocialMgr.SendFriendStatus(playerFriend, FriendsResult.Removed, playerGuid);
+15 -15
View File
@@ -13,7 +13,7 @@ namespace Game.Entities
Player GetNextRandomRaidMember(float radius) Player GetNextRandomRaidMember(float radius)
{ {
Group group = GetGroup(); Group group = GetGroup();
if (!group) if (group == null)
return null; return null;
List<Player> nearMembers = new(); List<Player> nearMembers = new();
@@ -23,7 +23,7 @@ namespace Game.Entities
Player Target = refe.GetSource(); Player Target = refe.GetSource();
// IsHostileTo check duel and controlled by enemy // IsHostileTo check duel and controlled by enemy
if (Target && Target != this && IsWithinDistInMap(Target, radius) && if (Target != null && Target != this && IsWithinDistInMap(Target, radius) &&
!Target.HasInvisibilityAura() && !IsHostileTo(Target)) !Target.HasInvisibilityAura() && !IsHostileTo(Target))
nearMembers.Add(Target); nearMembers.Add(Target);
} }
@@ -38,7 +38,7 @@ namespace Game.Entities
public PartyResult CanUninviteFromGroup(ObjectGuid guidMember, byte? partyIndex) public PartyResult CanUninviteFromGroup(ObjectGuid guidMember, byte? partyIndex)
{ {
Group grp = GetGroup(partyIndex); Group grp = GetGroup(partyIndex);
if (!grp) if (grp == null)
return PartyResult.NotInGroup; return PartyResult.NotInGroup;
if (grp.IsLFGGroup()) if (grp.IsLFGGroup())
@@ -63,7 +63,7 @@ namespace Game.Entities
// @todo Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer. // @todo Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer.
for (GroupReference refe = grp.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = grp.GetFirstMember(); refe != null; refe = refe.Next())
if (refe.GetSource() && refe.GetSource().IsInMap(this) && refe.GetSource().IsInCombat()) if (refe.GetSource() != null && refe.GetSource().IsInMap(this) && refe.GetSource().IsInCombat())
return PartyResult.PartyLfgBootInCombat; return PartyResult.PartyLfgBootInCombat;
/* Missing support for these types /* Missing support for these types
@@ -117,7 +117,7 @@ namespace Game.Entities
//remove existing reference //remove existing reference
m_group.Unlink(); m_group.Unlink();
Group group = GetOriginalGroup(); Group group = GetOriginalGroup();
if (group) if (group != null)
{ {
m_group.Link(group, this); m_group.Link(group, this);
m_group.SetSubGroup(GetOriginalSubGroup()); m_group.SetSubGroup(GetOriginalSubGroup());
@@ -127,7 +127,7 @@ namespace Game.Entities
public void SetOriginalGroup(Group group, byte subgroup = 0) public void SetOriginalGroup(Group group, byte subgroup = 0)
{ {
if (!group) if (group == null)
m_originalGroup.Unlink(); m_originalGroup.Unlink();
else else
{ {
@@ -162,7 +162,7 @@ namespace Game.Entities
return group; return group;
Group originalGroup = GetOriginalGroup(); Group originalGroup = GetOriginalGroup();
if (originalGroup && originalGroup.GetGroupCategory() == category) if (originalGroup != null && originalGroup.GetGroupCategory() == category)
return originalGroup; return originalGroup;
return null; return null;
@@ -170,7 +170,7 @@ namespace Game.Entities
public void SetGroup(Group group, byte subgroup = 0) public void SetGroup(Group group, byte subgroup = 0)
{ {
if (!group) if (group == null)
m_group.Unlink(); m_group.Unlink();
else else
{ {
@@ -207,11 +207,11 @@ namespace Game.Entities
public bool IsAtGroupRewardDistance(WorldObject pRewardSource) public bool IsAtGroupRewardDistance(WorldObject pRewardSource)
{ {
if (!pRewardSource || !IsInMap(pRewardSource)) if (pRewardSource == null || !IsInMap(pRewardSource))
return false; return false;
WorldObject player = GetCorpse(); WorldObject player = GetCorpse();
if (!player || IsAlive()) if (player == null || IsAlive())
player = this; player = this;
if (player.GetMap().IsDungeon()) if (player.GetMap().IsDungeon())
@@ -259,7 +259,7 @@ namespace Game.Entities
} }
public bool IsInSameGroupWith(Player p) public bool IsInSameGroupWith(Player p)
{ {
return p == this || (GetGroup() && return p == this || (GetGroup() != null &&
GetGroup() == p.GetGroup() && GetGroup().SameSubGroup(this, p)); GetGroup() == p.GetGroup() && GetGroup().SameSubGroup(this, p));
} }
@@ -271,7 +271,7 @@ namespace Game.Entities
public void UninviteFromGroup() public void UninviteFromGroup()
{ {
Group group = GetGroupInvite(); Group group = GetGroupInvite();
if (!group) if (group == null)
return; return;
group.RemoveInvite(this); group.RemoveInvite(this);
@@ -291,7 +291,7 @@ namespace Game.Entities
public void RemoveFromGroup(RemoveMethod method = RemoveMethod.Default) { RemoveFromGroup(GetGroup(), GetGUID(), method); } public void RemoveFromGroup(RemoveMethod method = RemoveMethod.Default) { RemoveFromGroup(GetGroup(), GetGUID(), method); }
public static void RemoveFromGroup(Group group, ObjectGuid guid, RemoveMethod method = RemoveMethod.Default, ObjectGuid kicker = default, string reason = null) public static void RemoveFromGroup(Group group, ObjectGuid guid, RemoveMethod method = RemoveMethod.Default, ObjectGuid kicker = default, string reason = null)
{ {
if (!group) if (group == null)
return; return;
group.RemoveMember(guid, method, kicker, reason); group.RemoveMember(guid, method, kicker, reason);
@@ -302,13 +302,13 @@ namespace Game.Entities
if (m_groupUpdateMask == GroupUpdateFlags.None) if (m_groupUpdateMask == GroupUpdateFlags.None)
return; return;
Group group = GetGroup(); Group group = GetGroup();
if (group) if (group != null)
group.UpdatePlayerOutOfRange(this); group.UpdatePlayerOutOfRange(this);
m_groupUpdateMask = GroupUpdateFlags.None; m_groupUpdateMask = GroupUpdateFlags.None;
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.ResetGroupUpdateFlag(); pet.ResetGroupUpdateFlag();
} }
} }
+66 -66
View File
@@ -222,7 +222,7 @@ namespace Game.Entities
foreach (var guid in m_itemSoulboundTradeable.ToList()) foreach (var guid in m_itemSoulboundTradeable.ToList())
{ {
Item item = GetItemByGuid(guid); Item item = GetItemByGuid(guid);
if (!item || item.GetOwnerGUID() != GetGUID() || item.CheckSoulboundTradeExpire()) if (item == null || item.GetOwnerGUID() != GetGUID() || item.CheckSoulboundTradeExpire())
m_itemSoulboundTradeable.Remove(guid); m_itemSoulboundTradeable.Remove(guid);
} }
} }
@@ -637,7 +637,7 @@ namespace Game.Entities
// search free slot in bag for place to // search free slot in bag for place to
if (bag == InventorySlots.Bag0) // inventory if (bag == InventorySlots.Bag0) // inventory
{ {
if (pItem && pItem.HasItemFlag(ItemFieldFlags.Child)) if (pItem != null && pItem.HasItemFlag(ItemFieldFlags.Child))
{ {
res = CanStoreItem_InInventorySlots(InventorySlots.ChildEquipmentStart, InventorySlots.ChildEquipmentEnd, dest, pProto, ref count, false, pItem, bag, slot); res = CanStoreItem_InInventorySlots(InventorySlots.ChildEquipmentStart, InventorySlots.ChildEquipmentEnd, dest, pProto, ref count, false, pItem, bag, slot);
if (res != InventoryResult.Ok) if (res != InventoryResult.Ok)
@@ -791,7 +791,7 @@ namespace Game.Entities
if (pItem != null && pItem.IsNotEmptyBag()) if (pItem != null && pItem.IsNotEmptyBag())
return InventoryResult.BagInBag; return InventoryResult.BagInBag;
if (pItem && pItem.HasItemFlag(ItemFieldFlags.Child)) if (pItem != null && pItem.HasItemFlag(ItemFieldFlags.Child))
{ {
res = CanStoreItem_InInventorySlots(InventorySlots.ChildEquipmentStart, InventorySlots.ChildEquipmentEnd, dest, pProto, ref count, false, pItem, bag, slot); res = CanStoreItem_InInventorySlots(InventorySlots.ChildEquipmentStart, InventorySlots.ChildEquipmentEnd, dest, pProto, ref count, false, pItem, bag, slot);
if (res != InventoryResult.Ok) if (res != InventoryResult.Ok)
@@ -813,7 +813,7 @@ namespace Game.Entities
// search free slot // search free slot
byte searchSlotStart = InventorySlots.ItemStart; byte searchSlotStart = InventorySlots.ItemStart;
// new bags can be directly equipped // new bags can be directly equipped
if (!pItem && pProto.GetClass() == ItemClass.Container && (ItemSubClassContainer)pProto.GetSubClass() == ItemSubClassContainer.Container && if (pItem == null && pProto.GetClass() == ItemClass.Container && (ItemSubClassContainer)pProto.GetSubClass() == ItemSubClassContainer.Container &&
(pProto.GetBonding() == ItemBondingType.None || pProto.GetBonding() == ItemBondingType.OnAcquire)) (pProto.GetBonding() == ItemBondingType.None || pProto.GetBonding() == ItemBondingType.OnAcquire))
searchSlotStart = InventorySlots.BagStart; searchSlotStart = InventorySlots.BagStart;
@@ -874,7 +874,7 @@ namespace Game.Entities
{ {
// build items in stock backpack // build items in stock backpack
item2 = GetItemByPos(InventorySlots.Bag0, i); item2 = GetItemByPos(InventorySlots.Bag0, i);
if (item2 && !item2.IsInTrade()) if (item2 != null && !item2.IsInTrade())
{ {
inventoryCounts[i - InventorySlots.ItemStart] = item2.GetCount(); inventoryCounts[i - InventorySlots.ItemStart] = item2.GetCount();
inventoryPointers[i - InventorySlots.ItemStart] = item2; inventoryPointers[i - InventorySlots.ItemStart] = item2;
@@ -884,7 +884,7 @@ namespace Game.Entities
for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; i++) for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; i++)
{ {
Bag pBag = GetBagByPos(i); Bag pBag = GetBagByPos(i);
if (pBag) if (pBag != null)
{ {
bagCounts[i - InventorySlots.BagStart] = new uint[ItemConst.MaxBagSize]; bagCounts[i - InventorySlots.BagStart] = new uint[ItemConst.MaxBagSize];
bagPointers[i - InventorySlots.BagStart] = new Item[ItemConst.MaxBagSize]; bagPointers[i - InventorySlots.BagStart] = new Item[ItemConst.MaxBagSize];
@@ -892,7 +892,7 @@ namespace Game.Entities
{ {
// build item counts in equippable bags // build item counts in equippable bags
item2 = GetItemByPos(i, j); item2 = GetItemByPos(i, j);
if (item2 && !item2.IsInTrade()) if (item2 != null && !item2.IsInTrade())
{ {
bagCounts[i - InventorySlots.BagStart][j] = item2.GetCount(); bagCounts[i - InventorySlots.BagStart][j] = item2.GetCount();
bagPointers[i - InventorySlots.BagStart][j] = item2; bagPointers[i - InventorySlots.BagStart][j] = item2;
@@ -908,7 +908,7 @@ namespace Game.Entities
Item item = items[k]; Item item = items[k];
// no item // no item
if (!item) if (item == null)
continue; continue;
uint remaining_count = item.GetCount(); uint remaining_count = item.GetCount();
@@ -942,7 +942,7 @@ namespace Game.Entities
for (byte t = InventorySlots.ItemStart; t < inventoryEnd; ++t) for (byte t = InventorySlots.ItemStart; t < inventoryEnd; ++t)
{ {
item2 = inventoryPointers[t - InventorySlots.ItemStart]; item2 = inventoryPointers[t - InventorySlots.ItemStart];
if (item2 && item2.CanBeMergedPartlyWith(pProto) == InventoryResult.Ok && inventoryCounts[t - InventorySlots.ItemStart] < pProto.GetMaxStackSize()) if (item2 != null && item2.CanBeMergedPartlyWith(pProto) == InventoryResult.Ok && inventoryCounts[t - InventorySlots.ItemStart] < pProto.GetMaxStackSize())
{ {
inventoryCounts[t - InventorySlots.ItemStart] += remaining_count; inventoryCounts[t - InventorySlots.ItemStart] += remaining_count;
remaining_count = inventoryCounts[t - InventorySlots.ItemStart] < pProto.GetMaxStackSize() ? 0 : inventoryCounts[t - InventorySlots.ItemStart] - pProto.GetMaxStackSize(); remaining_count = inventoryCounts[t - InventorySlots.ItemStart] < pProto.GetMaxStackSize() ? 0 : inventoryCounts[t - InventorySlots.ItemStart] - pProto.GetMaxStackSize();
@@ -960,7 +960,7 @@ namespace Game.Entities
for (byte t = InventorySlots.BagStart; !b_found && t < InventorySlots.BagEnd; ++t) for (byte t = InventorySlots.BagStart; !b_found && t < InventorySlots.BagEnd; ++t)
{ {
Bag bag = GetBagByPos(t); Bag bag = GetBagByPos(t);
if (bag) if (bag != null)
{ {
if (!Item.ItemCanGoIntoBag(item.GetTemplate(), bag.GetTemplate())) if (!Item.ItemCanGoIntoBag(item.GetTemplate(), bag.GetTemplate()))
continue; continue;
@@ -968,7 +968,7 @@ namespace Game.Entities
for (byte j = 0; j < bag.GetBagSize(); j++) for (byte j = 0; j < bag.GetBagSize(); j++)
{ {
item2 = bagPointers[t - InventorySlots.BagStart][j]; item2 = bagPointers[t - InventorySlots.BagStart][j];
if (item2 && item2.CanBeMergedPartlyWith(pProto) == InventoryResult.Ok && bagCounts[t - InventorySlots.BagStart][j] < pProto.GetMaxStackSize()) if (item2 != null && item2.CanBeMergedPartlyWith(pProto) == InventoryResult.Ok && bagCounts[t - InventorySlots.BagStart][j] < pProto.GetMaxStackSize())
{ {
// add count to stack so that later items in the list do not double-book // add count to stack so that later items in the list do not double-book
bagCounts[t - InventorySlots.BagStart][j] += remaining_count; bagCounts[t - InventorySlots.BagStart][j] += remaining_count;
@@ -994,7 +994,7 @@ namespace Game.Entities
for (byte t = InventorySlots.BagStart; !b_found && t < InventorySlots.BagEnd; ++t) for (byte t = InventorySlots.BagStart; !b_found && t < InventorySlots.BagEnd; ++t)
{ {
Bag bag = GetBagByPos(t); Bag bag = GetBagByPos(t);
if (bag) if (bag != null)
{ {
pBagProto = bag.GetTemplate(); pBagProto = bag.GetTemplate();
@@ -1042,7 +1042,7 @@ namespace Game.Entities
for (byte t = InventorySlots.BagStart; !b_found && t < InventorySlots.BagEnd; ++t) for (byte t = InventorySlots.BagStart; !b_found && t < InventorySlots.BagEnd; ++t)
{ {
Bag bag = GetBagByPos(t); Bag bag = GetBagByPos(t);
if (bag) if (bag != null)
{ {
pBagProto = bag.GetTemplate(); pBagProto = bag.GetTemplate();
@@ -1292,7 +1292,7 @@ namespace Game.Entities
List<ItemPosCount> childDest = new(); List<ItemPosCount> childDest = new();
CanStoreItem_InInventorySlots(InventorySlots.ChildEquipmentStart, InventorySlots.ChildEquipmentEnd, childDest, childTemplate, ref count, false, null, ItemConst.NullBag, ItemConst.NullSlot); CanStoreItem_InInventorySlots(InventorySlots.ChildEquipmentStart, InventorySlots.ChildEquipmentEnd, childDest, childTemplate, ref count, false, null, ItemConst.NullBag, ItemConst.NullSlot);
Item childItem = StoreNewItem(childDest, childTemplate.GetId(), update, 0, null, context, null, addToCollection); Item childItem = StoreNewItem(childDest, childTemplate.GetId(), update, 0, null, context, null, addToCollection);
if (childItem) if (childItem != null)
{ {
childItem.SetCreator(item.GetGUID()); childItem.SetCreator(item.GetGUID());
childItem.SetItemFlag(ItemFieldFlags.Child); childItem.SetItemFlag(ItemFieldFlags.Child);
@@ -1644,13 +1644,13 @@ namespace Game.Entities
if (itemChildEquipment != null) if (itemChildEquipment != null)
{ {
Item childItem = GetChildItemByGuid(parentItem.GetChildItem()); Item childItem = GetChildItemByGuid(parentItem.GetChildItem());
if (childItem) if (childItem != null)
{ {
ushort childDest = (ushort)((InventorySlots.Bag0 << 8) | itemChildEquipment.ChildItemEquipSlot); ushort childDest = (ushort)((InventorySlots.Bag0 << 8) | itemChildEquipment.ChildItemEquipSlot);
if (childItem.GetPos() != childDest) if (childItem.GetPos() != childDest)
{ {
Item dstItem = GetItemByPos(childDest); Item dstItem = GetItemByPos(childDest);
if (!dstItem) // empty slot, simple case if (dstItem == null) // empty slot, simple case
{ {
RemoveItem(childItem.GetBagSlot(), childItem.GetSlot(), true); RemoveItem(childItem.GetBagSlot(), childItem.GetSlot(), true);
EquipItem(childDest, childItem, true); EquipItem(childDest, childItem, true);
@@ -1722,7 +1722,7 @@ namespace Game.Entities
if (Global.DB2Mgr.GetItemChildEquipment(parentItem.GetEntry()) != null) if (Global.DB2Mgr.GetItemChildEquipment(parentItem.GetEntry()) != null)
{ {
Item childItem = GetChildItemByGuid(parentItem.GetChildItem()); Item childItem = GetChildItemByGuid(parentItem.GetChildItem());
if (childItem) if (childItem != null)
{ {
if (IsChildEquipmentPos(childItem.GetPos())) if (IsChildEquipmentPos(childItem.GetPos()))
return; return;
@@ -1770,10 +1770,10 @@ namespace Game.Entities
if (msg != InventoryResult.Ok) if (msg != InventoryResult.Ok)
{ {
if (item1) if (item1 != null)
failure.Item[0] = item1.GetGUID(); failure.Item[0] = item1.GetGUID();
if (item2) if (item2 != null)
failure.Item[1] = item2.GetGUID(); failure.Item[1] = item2.GetGUID();
failure.ContainerBSlot = 0; // bag equip slot, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2 failure.ContainerBSlot = 0; // bag equip slot, used with EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM and EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG2
@@ -1783,7 +1783,7 @@ namespace Game.Entities
case InventoryResult.CantEquipLevelI: case InventoryResult.CantEquipLevelI:
case InventoryResult.PurchaseLevelTooLow: case InventoryResult.PurchaseLevelTooLow:
{ {
failure.Level = (item1 ? item1.GetRequiredLevel() : 0); failure.Level = (item1 != null ? item1.GetRequiredLevel() : 0);
break; break;
} }
case InventoryResult.EventAutoequipBindConfirm: // no idea about this one... case InventoryResult.EventAutoequipBindConfirm: // no idea about this one...
@@ -1797,7 +1797,7 @@ namespace Game.Entities
case InventoryResult.ItemMaxLimitCategorySocketedExceededIs: case InventoryResult.ItemMaxLimitCategorySocketedExceededIs:
case InventoryResult.ItemMaxLimitCategoryEquippedExceededIs: case InventoryResult.ItemMaxLimitCategoryEquippedExceededIs:
{ {
ItemTemplate proto = item1 ? item1.GetTemplate() : Global.ObjectMgr.GetItemTemplate(itemId); ItemTemplate proto = item1 != null ? item1.GetTemplate() : Global.ObjectMgr.GetItemTemplate(itemId);
failure.LimitCategory = (int)(proto != null ? proto.GetItemLimitCategory() : 0u); failure.LimitCategory = (int)(proto != null ? proto.GetItemLimitCategory() : 0u);
break; break;
} }
@@ -1924,7 +1924,7 @@ namespace Game.Entities
byte dstslot = (byte)(dst & 255); byte dstslot = (byte)(dst & 255);
Item pSrcItem = GetItemByPos(srcbag, srcslot); Item pSrcItem = GetItemByPos(srcbag, srcslot);
if (!pSrcItem) if (pSrcItem == null)
{ {
SendEquipError(InventoryResult.ItemNotFound, pSrcItem); SendEquipError(InventoryResult.ItemNotFound, pSrcItem);
return; return;
@@ -1962,7 +1962,7 @@ namespace Game.Entities
Log.outDebug(LogFilter.Player, "STORAGE: SplitItem bag = {0}, slot = {1}, item = {2}, count = {3}", dstbag, dstslot, pSrcItem.GetEntry(), count); Log.outDebug(LogFilter.Player, "STORAGE: SplitItem bag = {0}, slot = {1}, item = {2}, count = {3}", dstbag, dstslot, pSrcItem.GetEntry(), count);
Item pNewItem = pSrcItem.CloneItem(count, this); Item pNewItem = pSrcItem.CloneItem(count, this);
if (!pNewItem) if (pNewItem == null)
{ {
SendEquipError(InventoryResult.ItemNotFound, pSrcItem); SendEquipError(InventoryResult.ItemNotFound, pSrcItem);
return; return;
@@ -2044,7 +2044,7 @@ namespace Game.Entities
if (pSrcItem.HasItemFlag(ItemFieldFlags.Child)) if (pSrcItem.HasItemFlag(ItemFieldFlags.Child))
{ {
Item parentItem = GetItemByGuid(pSrcItem.m_itemData.Creator); Item parentItem = GetItemByGuid(pSrcItem.m_itemData.Creator);
if (parentItem) if (parentItem != null)
{ {
if (IsEquipmentPos(src)) if (IsEquipmentPos(src))
{ {
@@ -2055,10 +2055,10 @@ namespace Game.Entities
} }
} }
} }
else if (pDstItem && pDstItem.HasItemFlag(ItemFieldFlags.Child)) else if (pDstItem != null && pDstItem.HasItemFlag(ItemFieldFlags.Child))
{ {
Item parentItem = GetItemByGuid(pDstItem.m_itemData.Creator); Item parentItem = GetItemByGuid(pDstItem.m_itemData.Creator);
if (parentItem) if (parentItem != null)
{ {
if (IsEquipmentPos(dst)) if (IsEquipmentPos(dst))
{ {
@@ -2522,7 +2522,7 @@ namespace Game.Entities
packet.IsEncounterLoot = true; packet.IsEncounterLoot = true;
} }
if (broadcast && GetGroup() && !item.GetTemplate().HasFlag(ItemFlags3.DontReportLootLogToParty)) if (broadcast && GetGroup() != null && !item.GetTemplate().HasFlag(ItemFlags3.DontReportLootLogToParty))
GetGroup().BroadcastPacket(packet, true); GetGroup().BroadcastPacket(packet, true);
else else
SendPacket(packet); SendPacket(packet);
@@ -2576,7 +2576,7 @@ namespace Game.Entities
Item pItem = GetItemByPos(InventorySlots.Bag0, slot); Item pItem = GetItemByPos(InventorySlots.Bag0, slot);
if (!pItem || pItem.GetSocketColor(0) == 0) //if item has no sockets or no item is equipped go to next item if (pItem == null || pItem.GetSocketColor(0) == 0) //if item has no sockets or no item is equipped go to next item
continue; continue;
//cycle all (gem)enchants //cycle all (gem)enchants
@@ -2675,7 +2675,7 @@ namespace Game.Entities
public Item GetUseableItemByPos(byte bag, byte slot) public Item GetUseableItemByPos(byte bag, byte slot)
{ {
Item item = GetItemByPos(bag, slot); Item item = GetItemByPos(bag, slot);
if (!item) if (item == null)
return null; return null;
if (!CanUseAttackType(GetAttackBySlot(slot, item.GetTemplate().GetInventoryType()))) if (!CanUseAttackType(GetAttackBySlot(slot, item.GetTemplate().GetInventoryType())))
@@ -2743,7 +2743,7 @@ namespace Game.Entities
uint currentCount = 0; uint currentCount = 0;
return !ForEachItem(location, pItem => return !ForEachItem(location, pItem =>
{ {
if (pItem && pItem.GetEntry() == item && !pItem.IsInTrade()) if (pItem != null && pItem.GetEntry() == item && !pItem.IsInTrade())
{ {
currentCount += pItem.GetCount(); currentCount += pItem.GetCount();
if (currentCount >= count) if (currentCount >= count)
@@ -2879,7 +2879,7 @@ namespace Game.Entities
for (byte i = InventorySlots.ItemStart; i < inventoryEnd; i++) for (byte i = InventorySlots.ItemStart; i < inventoryEnd; i++)
{ {
Item pItem = GetItemByPos(InventorySlots.Bag0, i); Item pItem = GetItemByPos(InventorySlots.Bag0, i);
if (pItem) if (pItem != null)
{ {
if (pItem.IsConjuredConsumable()) if (pItem.IsConjuredConsumable())
DestroyItem(InventorySlots.Bag0, i, update); DestroyItem(InventorySlots.Bag0, i, update);
@@ -2890,12 +2890,12 @@ namespace Game.Entities
for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; i++) for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; i++)
{ {
Bag pBag = GetBagByPos(i); Bag pBag = GetBagByPos(i);
if (pBag) if (pBag != null)
{ {
for (byte j = 0; j < pBag.GetBagSize(); j++) for (byte j = 0; j < pBag.GetBagSize(); j++)
{ {
Item pItem = pBag.GetItemByPos(j); Item pItem = pBag.GetItemByPos(j);
if (pItem) if (pItem != null)
if (pItem.IsConjuredConsumable()) if (pItem.IsConjuredConsumable())
DestroyItem(i, j, update); DestroyItem(i, j, update);
} }
@@ -2906,7 +2906,7 @@ namespace Game.Entities
for (byte i = EquipmentSlot.Start; i < InventorySlots.BagEnd; i++) for (byte i = EquipmentSlot.Start; i < InventorySlots.BagEnd; i++)
{ {
Item pItem = GetItemByPos(InventorySlots.Bag0, i); Item pItem = GetItemByPos(InventorySlots.Bag0, i);
if (pItem) if (pItem != null)
if (pItem.IsConjuredConsumable()) if (pItem.IsConjuredConsumable())
DestroyItem(InventorySlots.Bag0, i, update); DestroyItem(InventorySlots.Bag0, i, update);
} }
@@ -2920,7 +2920,7 @@ namespace Game.Entities
for (byte i = InventorySlots.ItemStart; i < inventoryEnd; i++) for (byte i = InventorySlots.ItemStart; i < inventoryEnd; i++)
{ {
Item pItem = GetItemByPos(InventorySlots.Bag0, i); Item pItem = GetItemByPos(InventorySlots.Bag0, i);
if (pItem) if (pItem != null)
if (pItem.IsLimitedToAnotherMapOrZone(GetMapId(), new_zone)) if (pItem.IsLimitedToAnotherMapOrZone(GetMapId(), new_zone))
DestroyItem(InventorySlots.Bag0, i, update); DestroyItem(InventorySlots.Bag0, i, update);
} }
@@ -2929,12 +2929,12 @@ namespace Game.Entities
for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; i++) for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; i++)
{ {
Bag pBag = GetBagByPos(i); Bag pBag = GetBagByPos(i);
if (pBag) if (pBag != null)
{ {
for (byte j = 0; j < pBag.GetBagSize(); j++) for (byte j = 0; j < pBag.GetBagSize(); j++)
{ {
Item pItem = pBag.GetItemByPos(j); Item pItem = pBag.GetItemByPos(j);
if (pItem) if (pItem != null)
if (pItem.IsLimitedToAnotherMapOrZone(GetMapId(), new_zone)) if (pItem.IsLimitedToAnotherMapOrZone(GetMapId(), new_zone))
DestroyItem(i, j, update); DestroyItem(i, j, update);
} }
@@ -2945,7 +2945,7 @@ namespace Game.Entities
for (byte i = EquipmentSlot.Start; i < InventorySlots.BagEnd; i++) for (byte i = EquipmentSlot.Start; i < InventorySlots.BagEnd; i++)
{ {
Item pItem = GetItemByPos(InventorySlots.Bag0, i); Item pItem = GetItemByPos(InventorySlots.Bag0, i);
if (pItem) if (pItem != null)
if (pItem.IsLimitedToAnotherMapOrZone(GetMapId(), new_zone)) if (pItem.IsLimitedToAnotherMapOrZone(GetMapId(), new_zone))
DestroyItem(InventorySlots.Bag0, i, update); DestroyItem(InventorySlots.Bag0, i, update);
} }
@@ -2955,7 +2955,7 @@ namespace Game.Entities
{ {
if (restrictOnlyLfg) if (restrictOnlyLfg)
{ {
if (!GetGroup() || !GetGroup().IsLFGGroup()) if (GetGroup() == null || !GetGroup().IsLFGGroup())
return InventoryResult.Ok; // not in LFG group return InventoryResult.Ok; // not in LFG group
// check if looted object is inside the lfg dungeon // check if looted object is inside the lfg dungeon
@@ -3008,7 +3008,7 @@ namespace Game.Entities
for (byte i = InventorySlots.BuyBackStart + 1; i < InventorySlots.BuyBackEnd; ++i) for (byte i = InventorySlots.BuyBackStart + 1; i < InventorySlots.BuyBackEnd; ++i)
{ {
// found empty // found empty
if (!m_items[i]) if (m_items[i] == null)
{ {
oldest_slot = i; oldest_slot = i;
break; break;
@@ -3066,7 +3066,7 @@ namespace Game.Entities
} }
Creature creature = GetNPCIfCanInteractWith(vendorGuid, NPCFlags.Vendor, NPCFlags2.None); Creature creature = GetNPCIfCanInteractWith(vendorGuid, NPCFlags.Vendor, NPCFlags2.None);
if (!creature) if (creature == null)
{ {
Log.outDebug(LogFilter.Network, "WORLD: BuyCurrencyFromVendorSlot - {0} not found or you can't interact with him.", vendorGuid.ToString()); Log.outDebug(LogFilter.Network, "WORLD: BuyCurrencyFromVendorSlot - {0} not found or you can't interact with him.", vendorGuid.ToString());
SendBuyError(BuyResult.DistanceTooFar, null, currency); SendBuyError(BuyResult.DistanceTooFar, null, currency);
@@ -3233,7 +3233,7 @@ namespace Game.Entities
return false; return false;
Creature creature = GetNPCIfCanInteractWith(vendorguid, NPCFlags.Vendor, NPCFlags2.None); Creature creature = GetNPCIfCanInteractWith(vendorguid, NPCFlags.Vendor, NPCFlags2.None);
if (!creature) if (creature == null)
{ {
Log.outDebug(LogFilter.Network, "WORLD: BuyItemFromVendor - {0} not found or you can't interact with him.", vendorguid.ToString()); Log.outDebug(LogFilter.Network, "WORLD: BuyItemFromVendor - {0} not found or you can't interact with him.", vendorguid.ToString());
SendBuyError(BuyResult.DistanceTooFar, null, item); SendBuyError(BuyResult.DistanceTooFar, null, item);
@@ -3456,7 +3456,7 @@ namespace Game.Entities
SQLTransaction trans = new(); SQLTransaction trans = new();
Item item = Item.CreateItem(itemEntry, count, context, null); Item item = Item.CreateItem(itemEntry, count, context, null);
if (item) if (item != null)
{ {
item.SaveToDB(trans); item.SaveToDB(trans);
draft.AddItem(item); draft.AddItem(item);
@@ -3481,7 +3481,7 @@ namespace Game.Entities
if (slot >= InventorySlots.BuyBackStart && slot < InventorySlots.BuyBackEnd) if (slot >= InventorySlots.BuyBackStart && slot < InventorySlots.BuyBackEnd)
{ {
Item pItem = m_items[slot]; Item pItem = m_items[slot];
if (pItem) if (pItem != null)
{ {
pItem.RemoveFromWorld(); pItem.RemoveFromWorld();
if (del) if (del)
@@ -3503,7 +3503,7 @@ namespace Game.Entities
SetBuybackTimestamp(eslot, 0); SetBuybackTimestamp(eslot, 0);
// if current backslot is filled set to now free slot // if current backslot is filled set to now free slot
if (m_items[m_currentBuybackSlot]) if (m_items[m_currentBuybackSlot] != null)
m_currentBuybackSlot = slot; m_currentBuybackSlot = slot;
} }
} }
@@ -3518,19 +3518,19 @@ namespace Game.Entities
for (byte i = EquipmentSlot.Start; i < inventoryEnd; ++i) for (byte i = EquipmentSlot.Start; i < inventoryEnd; ++i)
{ {
Item item = GetUseableItemByPos(InventorySlots.Bag0, i); Item item = GetUseableItemByPos(InventorySlots.Bag0, i);
if (item && Global.DB2Mgr.IsTotemCategoryCompatibleWith(item.GetTemplate().GetTotemCategory(), TotemCategory)) if (item != null && Global.DB2Mgr.IsTotemCategoryCompatibleWith(item.GetTemplate().GetTotemCategory(), TotemCategory))
return true; return true;
} }
for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; ++i) for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; ++i)
{ {
Bag bag = GetBagByPos(i); Bag bag = GetBagByPos(i);
if (bag) if (bag != null)
{ {
for (byte j = 0; j < bag.GetBagSize(); ++j) for (byte j = 0; j < bag.GetBagSize(); ++j)
{ {
Item item = GetUseableItemByPos(i, j); Item item = GetUseableItemByPos(i, j);
if (item && Global.DB2Mgr.IsTotemCategoryCompatibleWith(item.GetTemplate().GetTotemCategory(), TotemCategory)) if (item != null && Global.DB2Mgr.IsTotemCategoryCompatibleWith(item.GetTemplate().GetTotemCategory(), TotemCategory))
return true; return true;
} }
} }
@@ -3539,7 +3539,7 @@ namespace Game.Entities
for (byte i = InventorySlots.ChildEquipmentStart; i < InventorySlots.ChildEquipmentEnd; ++i) for (byte i = InventorySlots.ChildEquipmentStart; i < InventorySlots.ChildEquipmentEnd; ++i)
{ {
Item item = GetUseableItemByPos(InventorySlots.Bag0, i); Item item = GetUseableItemByPos(InventorySlots.Bag0, i);
if (item && Global.DB2Mgr.IsTotemCategoryCompatibleWith(item.GetTemplate().GetTotemCategory(), TotemCategory)) if (item != null && Global.DB2Mgr.IsTotemCategoryCompatibleWith(item.GetTemplate().GetTotemCategory(), TotemCategory))
return true; return true;
} }
@@ -4050,7 +4050,7 @@ namespace Game.Entities
{ {
for (byte i = 0; i < InventorySlots.BagEnd; ++i) for (byte i = 0; i < InventorySlots.BagEnd; ++i)
{ {
if (m_items[i]) if (m_items[i] != null)
{ {
if (!m_items[i].IsAzeriteItem() || m_items[i].IsBroken() || !CanUseAttackType(Player.GetAttackBySlot(i, m_items[i].GetTemplate().GetInventoryType()))) if (!m_items[i].IsAzeriteItem() || m_items[i].IsBroken() || !CanUseAttackType(Player.GetAttackBySlot(i, m_items[i].GetTemplate().GetInventoryType())))
continue; continue;
@@ -4064,7 +4064,7 @@ namespace Game.Entities
{ {
for (byte i = 0; i < InventorySlots.BagEnd; ++i) for (byte i = 0; i < InventorySlots.BagEnd; ++i)
{ {
if (m_items[i]) if (m_items[i] != null)
{ {
if (!m_items[i].IsAzeriteEmpoweredItem() || m_items[i].IsBroken() || !CanUseAttackType(Player.GetAttackBySlot(i, m_items[i].GetTemplate().GetInventoryType()))) if (!m_items[i].IsAzeriteEmpoweredItem() || m_items[i].IsBroken() || !CanUseAttackType(Player.GetAttackBySlot(i, m_items[i].GetTemplate().GetInventoryType())))
continue; continue;
@@ -4170,7 +4170,7 @@ namespace Game.Entities
uint need_space; uint need_space;
if (pSrcItem) if (pSrcItem != null)
{ {
if (pSrcItem.IsNotEmptyBag() && !IsBagPos((ushort)((ushort)bag << 8 | slot))) if (pSrcItem.IsNotEmptyBag() && !IsBagPos((ushort)((ushort)bag << 8 | slot)))
return InventoryResult.DestroyNonemptyBag; return InventoryResult.DestroyNonemptyBag;
@@ -4522,7 +4522,7 @@ namespace Game.Entities
++freeSlotCount; ++freeSlotCount;
for (byte i = ProfessionSlots.Start; i < ProfessionSlots.End; ++i) for (byte i = ProfessionSlots.Start; i < ProfessionSlots.End; ++i)
if (!GetItemByPos(InventorySlots.Bag0, i)) if (GetItemByPos(InventorySlots.Bag0, i) == null)
++freeSlotCount; ++freeSlotCount;
} }
@@ -4650,7 +4650,7 @@ namespace Game.Entities
if (pBag == null || pBag == pSrcItem) if (pBag == null || pBag == pSrcItem)
return InventoryResult.WrongBagType; return InventoryResult.WrongBagType;
if (pSrcItem) if (pSrcItem != null)
{ {
if (pSrcItem.IsNotEmptyBag()) if (pSrcItem.IsNotEmptyBag())
return InventoryResult.DestroyNonemptyBag; return InventoryResult.DestroyNonemptyBag;
@@ -4990,7 +4990,7 @@ namespace Game.Entities
if (IsInCombat()) if (IsInCombat())
return InventoryResult.NotInCombat; return InventoryResult.NotInCombat;
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
if (bg.IsArena() && bg.GetStatus() == BattlegroundStatus.InProgress) if (bg.IsArena() && bg.GetStatus() == BattlegroundStatus.InProgress)
return InventoryResult.NotDuringArenaMatch; return InventoryResult.NotDuringArenaMatch;
} }
@@ -5151,7 +5151,7 @@ namespace Game.Entities
public InventoryResult CanEquipChildItem(Item parentItem) public InventoryResult CanEquipChildItem(Item parentItem)
{ {
Item childItem = GetChildItemByGuid(parentItem.GetChildItem()); Item childItem = GetChildItemByGuid(parentItem.GetChildItem());
if (!childItem) if (childItem == null)
return InventoryResult.Ok; return InventoryResult.Ok;
ItemChildEquipmentRecord childEquipement = Global.DB2Mgr.GetItemChildEquipment(parentItem.GetEntry()); ItemChildEquipmentRecord childEquipement = Global.DB2Mgr.GetItemChildEquipment(parentItem.GetEntry());
@@ -5159,7 +5159,7 @@ namespace Game.Entities
return InventoryResult.Ok; return InventoryResult.Ok;
Item dstItem = GetItemByPos(InventorySlots.Bag0, childEquipement.ChildItemEquipSlot); Item dstItem = GetItemByPos(InventorySlots.Bag0, childEquipement.ChildItemEquipSlot);
if (!dstItem) if (dstItem == null)
return InventoryResult.Ok; return InventoryResult.Ok;
ushort childDest = (ushort)((InventorySlots.Bag0 << 8) | childEquipement.ChildItemEquipSlot); ushort childDest = (ushort)((InventorySlots.Bag0 << 8) | childEquipement.ChildItemEquipSlot);
@@ -5278,7 +5278,7 @@ namespace Game.Entities
if (IsInCombat()) if (IsInCombat())
return InventoryResult.NotInCombat; return InventoryResult.NotInCombat;
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
if (bg.IsArena() && bg.GetStatus() == BattlegroundStatus.InProgress) if (bg.IsArena() && bg.GetStatus() == BattlegroundStatus.InProgress)
return InventoryResult.NotDuringArenaMatch; return InventoryResult.NotDuringArenaMatch;
} }
@@ -5403,9 +5403,9 @@ namespace Game.Entities
else else
{ {
AzeriteEmpoweredItem azeriteEmpoweredItem = item.ToAzeriteEmpoweredItem(); AzeriteEmpoweredItem azeriteEmpoweredItem = item.ToAzeriteEmpoweredItem();
if (azeriteEmpoweredItem) if (azeriteEmpoweredItem != null)
{ {
if (!apply || GetItemByEntry(PlayerConst.ItemIdHeartOfAzeroth, ItemSearchLocation.Equipment)) if (!apply || GetItemByEntry(PlayerConst.ItemIdHeartOfAzeroth, ItemSearchLocation.Equipment) != null)
{ {
for (int i = 0; i < SharedConst.MaxAzeriteEmpoweredTier; ++i) for (int i = 0; i < SharedConst.MaxAzeriteEmpoweredTier; ++i)
{ {
@@ -5884,7 +5884,7 @@ namespace Game.Entities
for (byte i = InventorySlots.BankBagStart; i < InventorySlots.BankBagEnd; i++) for (byte i = InventorySlots.BankBagStart; i < InventorySlots.BankBagEnd; i++)
{ {
Item item = GetItemByPos(InventorySlots.Bag0, i); Item item = GetItemByPos(InventorySlots.Bag0, i);
if (item) if (item != null)
{ {
if (item.GetEntry() == itemEntry && !item.IsInTrade()) if (item.GetEntry() == itemEntry && !item.IsInTrade())
{ {
@@ -5914,7 +5914,7 @@ namespace Game.Entities
for (byte i = InventorySlots.ReagentStart; i < InventorySlots.ReagentEnd; ++i) for (byte i = InventorySlots.ReagentStart; i < InventorySlots.ReagentEnd; ++i)
{ {
Item item = GetItemByPos(InventorySlots.Bag0, i); Item item = GetItemByPos(InventorySlots.Bag0, i);
if (item) if (item != null)
{ {
if (item.GetEntry() == itemEntry && !item.IsInTrade()) if (item.GetEntry() == itemEntry && !item.IsInTrade())
{ {
@@ -5943,7 +5943,7 @@ namespace Game.Entities
for (byte i = InventorySlots.ChildEquipmentStart; i < InventorySlots.ChildEquipmentEnd; ++i) for (byte i = InventorySlots.ChildEquipmentStart; i < InventorySlots.ChildEquipmentEnd; ++i)
{ {
Item item = GetItemByPos(InventorySlots.Bag0, i); Item item = GetItemByPos(InventorySlots.Bag0, i);
if (item) if (item != null)
{ {
if (item.GetEntry() == itemEntry && !item.IsInTrade()) if (item.GetEntry() == itemEntry && !item.IsInTrade())
{ {
@@ -6017,7 +6017,7 @@ namespace Game.Entities
for (byte slot = (byte)(InventorySlots.ItemStart + slots); slot < InventorySlots.ItemEnd; ++slot) for (byte slot = (byte)(InventorySlots.ItemStart + slots); slot < InventorySlots.ItemEnd; ++slot)
{ {
Item unstorableItem = GetItemByPos(InventorySlots.Bag0, slot); Item unstorableItem = GetItemByPos(InventorySlots.Bag0, slot);
if (unstorableItem) if (unstorableItem != null)
unstorableItems.Add(unstorableItem); unstorableItems.Add(unstorableItem);
} }
@@ -6110,7 +6110,7 @@ namespace Game.Entities
if (newitem.GetQuality() > ItemQuality.Epic || (newitem.GetQuality() == ItemQuality.Epic && newitem.GetItemLevel(this) >= GuildConst.MinNewsItemLevel)) if (newitem.GetQuality() > ItemQuality.Epic || (newitem.GetQuality() == ItemQuality.Epic && newitem.GetItemLevel(this) >= GuildConst.MinNewsItemLevel))
{ {
Guild guild = GetGuild(); Guild guild = GetGuild();
if (guild) if (guild != null)
guild.AddGuildNews(GuildNews.ItemLooted, GetGUID(), 0, item.itemid); guild.AddGuildNews(GuildNews.ItemLooted, GetGUID(), 0, item.itemid);
} }
} }
@@ -6162,7 +6162,7 @@ namespace Game.Entities
// We have to convert player corpse to bones, not to be able to resurrect there // We have to convert player corpse to bones, not to be able to resurrect there
// SpawnCorpseBones isn't handy, 'cos it saves player while he in BG // SpawnCorpseBones isn't handy, 'cos it saves player while he in BG
Corpse bones = GetMap().ConvertCorpseToBones(GetGUID(), true); Corpse bones = GetMap().ConvertCorpseToBones(GetGUID(), true);
if (!bones) if (bones == null)
return; return;
// Now we must make bones lootable, and send player loot // Now we must make bones lootable, and send player loot
+6 -6
View File
@@ -156,12 +156,12 @@ namespace Game.Entities
} }
// group update // group update
if (GetGroup()) if (GetGroup() != null)
{ {
SetGroupUpdateFlag(GroupUpdateFlags.Full); SetGroupUpdateFlag(GroupUpdateFlags.Full);
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.SetGroupUpdateFlag(GroupUpdatePetFlags.Full); pet.SetGroupUpdateFlag(GroupUpdatePetFlags.Full);
} }
@@ -213,7 +213,7 @@ namespace Game.Entities
Global.BattleFieldMgr.HandlePlayerEnterZone(this, newZone); Global.BattleFieldMgr.HandlePlayerEnterZone(this, newZone);
SendInitWorldStates(newZone, newArea); // only if really enters to new zone, not just area change, works strange... SendInitWorldStates(newZone, newArea); // only if really enters to new zone, not just area change, works strange...
Guild guild = GetGuild(); Guild guild = GetGuild();
if (guild) if (guild != null)
guild.UpdateMemberData(this, GuildMemberData.ZoneId, newZone); guild.UpdateMemberData(this, GuildMemberData.ZoneId, newZone);
} }
} }
@@ -437,7 +437,7 @@ namespace Game.Entities
if (group == null || group.IsRaidGroup()) if (group == null || group.IsRaidGroup())
return false; return false;
if (group) if (group != null)
{ {
// check if player's group is bound to this instance // check if player's group is bound to this instance
if (group != instance.GetOwningGroup()) if (group != instance.GetOwningGroup())
@@ -495,7 +495,7 @@ namespace Game.Entities
{ {
Group group = GetGroup(); Group group = GetGroup();
Difficulty difficulty = group != null ? group.GetDifficultyID(mapEntry) : GetDifficultyID(mapEntry); Difficulty difficulty = group != null ? group.GetDifficultyID(mapEntry) : GetDifficultyID(mapEntry);
ObjectGuid instanceOwnerGuid = group ? group.GetRecentInstanceOwner(targetMapId) : GetGUID(); ObjectGuid instanceOwnerGuid = group != null ? group.GetRecentInstanceOwner(targetMapId) : GetGUID();
InstanceLock instanceLock = Global.InstanceLockMgr.FindActiveInstanceLock(instanceOwnerGuid, new MapDb2Entries(mapEntry, Global.DB2Mgr.GetDownscaledMapDifficultyData(targetMapId, ref difficulty))); InstanceLock instanceLock = Global.InstanceLockMgr.FindActiveInstanceLock(instanceOwnerGuid, new MapDb2Entries(mapEntry, Global.DB2Mgr.GetDownscaledMapDifficultyData(targetMapId, ref difficulty)));
if (instanceLock != null) if (instanceLock != null)
@@ -532,7 +532,7 @@ namespace Game.Entities
{ {
Map map = Global.MapMgr.FindMap(mapId, instanceId); Map map = Global.MapMgr.FindMap(mapId, instanceId);
bool forgetInstance = false; bool forgetInstance = false;
if (map) if (map != null)
{ {
InstanceMap instance = map.ToInstanceMap(); InstanceMap instance = map.ToInstanceMap();
if (instance != null) if (instance != null)
+8 -8
View File
@@ -50,7 +50,7 @@ namespace Game.Entities
// do not reward honor in arenas, but enable onkill spellproc // do not reward honor in arenas, but enable onkill spellproc
if (InArena()) if (InArena())
{ {
if (!victim || victim == this || !victim.IsTypeId(TypeId.Player)) if (victim == null || victim == this || !victim.IsTypeId(TypeId.Player))
return false; return false;
if (GetBGTeam() == victim.ToPlayer().GetBGTeam()) if (GetBGTeam() == victim.ToPlayer().GetBGTeam())
@@ -70,7 +70,7 @@ namespace Game.Entities
UpdateHonorFields(); UpdateHonorFields();
// do not reward honor in arenas, but return true to enable onkill spellproc // do not reward honor in arenas, but return true to enable onkill spellproc
if (InBattleground() && GetBattleground() && GetBattleground().IsArena()) if (InBattleground() && GetBattleground() != null && GetBattleground().IsArena())
return true; return true;
// Promote to float for calculations // Promote to float for calculations
@@ -78,12 +78,12 @@ namespace Game.Entities
if (honor_f <= 0) if (honor_f <= 0)
{ {
if (!victim || victim == this || victim.HasAuraType(AuraType.NoPvpCredit)) if (victim == null || victim == this || victim.HasAuraType(AuraType.NoPvpCredit))
return false; return false;
victim_guid = victim.GetGUID(); victim_guid = victim.GetGUID();
Player plrVictim = victim.ToPlayer(); Player plrVictim = victim.ToPlayer();
if (plrVictim) if (plrVictim != null)
{ {
if (GetEffectiveTeam() == plrVictim.GetEffectiveTeam() && !Global.WorldMgr.IsFFAPvPRealm()) if (GetEffectiveTeam() == plrVictim.GetEffectiveTeam() && !Global.WorldMgr.IsFFAPvPRealm())
return false; return false;
@@ -179,7 +179,7 @@ namespace Game.Entities
if (WorldConfig.GetBoolValue(WorldCfg.PvpTokenEnable) && pvptoken) if (WorldConfig.GetBoolValue(WorldCfg.PvpTokenEnable) && pvptoken)
{ {
if (!victim || victim == this || victim.HasAuraType(AuraType.NoPvpCredit)) if (victim == null || victim == this || victim.HasAuraType(AuraType.NoPvpCredit))
return true; return true;
if (victim.IsTypeId(TypeId.Player)) if (victim.IsTypeId(TypeId.Player))
@@ -511,7 +511,7 @@ namespace Game.Entities
public bool CanUseBattlegroundObject(GameObject gameobject) public bool CanUseBattlegroundObject(GameObject gameobject)
{ {
// It is possible to call this method with a null pointer, only skipping faction check. // It is possible to call this method with a null pointer, only skipping faction check.
if (gameobject) if (gameobject != null)
{ {
FactionTemplateRecord playerFaction = GetFactionTemplateEntry(); FactionTemplateRecord playerFaction = GetFactionTemplateEntry();
FactionTemplateRecord faction = CliDB.FactionTemplateStorage.LookupByKey(gameobject.GetFaction()); FactionTemplateRecord faction = CliDB.FactionTemplateStorage.LookupByKey(gameobject.GetFaction());
@@ -592,7 +592,7 @@ namespace Game.Entities
public void LeaveBattleground(bool teleportToEntryPoint = true) public void LeaveBattleground(bool teleportToEntryPoint = true)
{ {
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
{ {
bg.RemovePlayerAtLeave(GetGUID(), teleportToEntryPoint, true); bg.RemovePlayerAtLeave(GetGUID(), teleportToEntryPoint, true);
@@ -648,7 +648,7 @@ namespace Game.Entities
reportAfkResult.Offender = GetGUID(); reportAfkResult.Offender = GetGUID();
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
// Battleground also must be in progress! // Battleground also must be in progress!
if (!bg || bg != reporter.GetBattleground() || GetEffectiveTeam() != reporter.GetEffectiveTeam() || bg.GetStatus() != BattlegroundStatus.InProgress) if (bg == null || bg != reporter.GetBattleground() || GetEffectiveTeam() != reporter.GetEffectiveTeam() || bg.GetStatus() != BattlegroundStatus.InProgress)
{ {
reporter.SendPacket(reportAfkResult); reporter.SendPacket(reportAfkResult);
return; return;
+14 -14
View File
@@ -707,7 +707,7 @@ namespace Game.Entities
if (CanCompleteQuest(quest.Id)) if (CanCompleteQuest(quest.Id))
CompleteQuest(quest.Id); CompleteQuest(quest.Id);
if (!questGiver) if (questGiver == null)
return; return;
switch (questGiver.GetTypeId()) switch (questGiver.GetTypeId())
@@ -1190,10 +1190,10 @@ namespace Game.Entities
SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(displaySpell.SpellId, GetMap().GetDifficultyID()); SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(displaySpell.SpellId, GetMap().GetDifficultyID());
Unit caster = this; Unit caster = this;
if (questGiver && questGiver.IsTypeMask(TypeMask.Unit) && !quest.HasFlag(QuestFlags.PlayerCastComplete) && !spellInfo.HasTargetType(Targets.UnitCaster)) if (questGiver != null && questGiver.IsTypeMask(TypeMask.Unit) && !quest.HasFlag(QuestFlags.PlayerCastComplete) && !spellInfo.HasTargetType(Targets.UnitCaster))
{ {
Unit unit = questGiver.ToUnit(); Unit unit = questGiver.ToUnit();
if (unit) if (unit != null)
caster = unit; caster = unit;
} }
@@ -2326,14 +2326,14 @@ namespace Game.Entities
public void GroupEventHappens(uint questId, WorldObject pEventObject) public void GroupEventHappens(uint questId, WorldObject pEventObject)
{ {
var group = GetGroup(); var group = GetGroup();
if (group) if (group != null)
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player player = refe.GetSource(); Player player = refe.GetSource();
// for any leave or dead (with not released body) group member at appropriate distance // for any leave or dead (with not released body) group member at appropriate distance
if (player && player.IsAtGroupRewardDistance(pEventObject) && !player.GetCorpse()) if (player != null && player.IsAtGroupRewardDistance(pEventObject) && player.GetCorpse() == null)
player.AreaExploredOrEventHappens(questId); player.AreaExploredOrEventHappens(questId);
} }
} }
@@ -2450,7 +2450,7 @@ namespace Game.Entities
Quest quest = Global.ObjectMgr.GetQuestTemplate(questId); Quest quest = Global.ObjectMgr.GetQuestTemplate(questId);
if (!QuestObjective.CanAlwaysBeProgressedInRaid(objectiveType)) if (!QuestObjective.CanAlwaysBeProgressedInRaid(objectiveType))
if (GetGroup() && GetGroup().IsRaidGroup() && !quest.IsAllowedInRaid(GetMap().GetDifficultyID())) if (GetGroup() != null && GetGroup().IsRaidGroup() && !quest.IsAllowedInRaid(GetMap().GetDifficultyID()))
continue; continue;
ushort logSlot = objectiveStatusData.QuestStatusPair.Status.Slot; ushort logSlot = objectiveStatusData.QuestStatusPair.Status.Slot;
@@ -2595,7 +2595,7 @@ namespace Game.Entities
continue; continue;
// hide quest if player is in raid-group and quest is no raid quest // hide quest if player is in raid-group and quest is no raid quest
if (GetGroup() && GetGroup().IsRaidGroup() && !qInfo.IsAllowedInRaid(GetMap().GetDifficultyID())) if (GetGroup() != null && GetGroup().IsRaidGroup() && !qInfo.IsAllowedInRaid(GetMap().GetDifficultyID()))
if (!InBattleground()) //there are two ways.. we can make every bg-quest a raidquest, or add this code here.. i don't know if this can be exploited by other quests, but i think all other quests depend on a specific area.. but keep this in mind, if something strange happens later if (!InBattleground()) //there are two ways.. we can make every bg-quest a raidquest, or add this code here.. i don't know if this can be exploited by other quests, but i think all other quests depend on a specific area.. but keep this in mind, if something strange happens later
continue; continue;
@@ -2611,7 +2611,7 @@ namespace Game.Entities
Quest qInfo = Global.ObjectMgr.GetQuestTemplate(questStatus.Key); Quest qInfo = Global.ObjectMgr.GetQuestTemplate(questStatus.Key);
// hide quest if player is in raid-group and quest is no raid quest // hide quest if player is in raid-group and quest is no raid quest
if (GetGroup() && GetGroup().IsRaidGroup() && !qInfo.IsAllowedInRaid(GetMap().GetDifficultyID())) if (GetGroup() != null && GetGroup().IsRaidGroup() && !qInfo.IsAllowedInRaid(GetMap().GetDifficultyID()))
if (!InBattleground()) if (!InBattleground())
continue; continue;
@@ -2855,7 +2855,7 @@ namespace Game.Entities
packet.SkillLineIDReward = quest.RewardSkillId; packet.SkillLineIDReward = quest.RewardSkillId;
packet.NumSkillUpsReward = quest.RewardSkillPoints; packet.NumSkillUpsReward = quest.RewardSkillPoints;
if (questGiver) if (questGiver != null)
{ {
if (questGiver.IsGossip()) if (questGiver.IsGossip())
packet.LaunchGossip = quest.HasFlag(QuestFlags.LaunchGossipComplete); packet.LaunchGossip = quest.HasFlag(QuestFlags.LaunchGossipComplete);
@@ -2910,7 +2910,7 @@ namespace Game.Entities
public void SendQuestConfirmAccept(Quest quest, Player receiver) public void SendQuestConfirmAccept(Quest quest, Player receiver)
{ {
if (!receiver) if (receiver == null)
return; return;
QuestConfirmAcceptResponse packet = new(); QuestConfirmAcceptResponse packet = new();
@@ -2998,7 +2998,7 @@ namespace Game.Entities
{ {
// need also pet quests case support // need also pet quests case support
Creature questgiver = ObjectAccessor.GetCreatureOrPetOrVehicle(this, itr); Creature questgiver = ObjectAccessor.GetCreatureOrPetOrVehicle(this, itr);
if (!questgiver || questgiver.IsHostileTo(this)) if (questgiver == null || questgiver.IsHostileTo(this))
continue; continue;
if (!questgiver.HasNpcFlag(NPCFlags.QuestGiver)) if (!questgiver.HasNpcFlag(NPCFlags.QuestGiver))
@@ -3009,7 +3009,7 @@ namespace Game.Entities
else if (itr.IsGameObject()) else if (itr.IsGameObject())
{ {
GameObject questgiver = GetMap().GetGameObject(itr); GameObject questgiver = GetMap().GetGameObject(itr);
if (!questgiver || questgiver.GetGoType() != GameObjectTypes.QuestGiver) if (questgiver == null || questgiver.GetGoType() != GameObjectTypes.QuestGiver)
continue; continue;
response.QuestGiver.Add(new QuestGiverInfo(questgiver.GetGUID(), GetQuestDialogStatus(questgiver))); response.QuestGiver.Add(new QuestGiverInfo(questgiver.GetGUID(), GetQuestDialogStatus(questgiver)));
@@ -3048,7 +3048,7 @@ namespace Game.Entities
continue; continue;
// hide quest if player is in raid-group and quest is no raid quest // hide quest if player is in raid-group and quest is no raid quest
if (GetGroup() && GetGroup().IsRaidGroup() && !qInfo.IsAllowedInRaid(GetMap().GetDifficultyID())) if (GetGroup() != null && GetGroup().IsRaidGroup() && !qInfo.IsAllowedInRaid(GetMap().GetDifficultyID()))
if (!InBattleground()) //there are two ways.. we can make every bg-quest a raidquest, or add this code here.. i don't know if this can be exploited by other quests, but i think all other quests depend on a specific area.. but keep this in mind, if something strange happens later if (!InBattleground()) //there are two ways.. we can make every bg-quest a raidquest, or add this code here.. i don't know if this can be exploited by other quests, but i think all other quests depend on a specific area.. but keep this in mind, if something strange happens later
continue; continue;
@@ -3201,7 +3201,7 @@ namespace Game.Entities
{ {
case DisplayToastType.NewItem: case DisplayToastType.NewItem:
{ {
if (!item) if (item == null)
return; return;
displayToast.BonusRoll = isBonusRoll; displayToast.BonusRoll = isBonusRoll;
+16 -16
View File
@@ -211,7 +211,7 @@ namespace Game.Entities
{ {
Pet pet = GetPet(); Pet pet = GetPet();
if (!pet) if (pet == null)
return; return;
Log.outDebug(LogFilter.Pet, "Pet Spells Groups"); Log.outDebug(LogFilter.Pet, "Pet Spells Groups");
@@ -250,7 +250,7 @@ namespace Game.Entities
public bool CanSeeSpellClickOn(Creature creature) public bool CanSeeSpellClickOn(Creature creature)
{ {
if (!creature.HasNpcFlag(NPCFlags.SpellClick)) if (creature.HasNpcFlag(NPCFlags.SpellClick))
return false; return false;
var clickBounds = Global.ObjectMgr.GetSpellClickInfoMapBounds(creature.GetEntry()); var clickBounds = Global.ObjectMgr.GetSpellClickInfoMapBounds(creature.GetEntry());
@@ -871,7 +871,7 @@ namespace Game.Entities
public void StopCastingBindSight() public void StopCastingBindSight()
{ {
WorldObject target = GetViewpoint(); WorldObject target = GetViewpoint();
if (target) if (target != null)
{ {
if (target.IsTypeMask(TypeMask.Unit)) if (target.IsTypeMask(TypeMask.Unit))
{ {
@@ -950,7 +950,7 @@ namespace Game.Entities
var enchantDuration = m_enchantDuration[i]; var enchantDuration = m_enchantDuration[i];
if (enchantDuration.slot == slot) if (enchantDuration.slot == slot)
{ {
if (enchantDuration.item && enchantDuration.item.GetEnchantmentId(slot) != 0) if (enchantDuration.item != null && enchantDuration.item.GetEnchantmentId(slot) != 0)
{ {
// Poisons and DK runes are enchants which are allowed on arenas // Poisons and DK runes are enchants which are allowed on arenas
if (Global.SpellMgr.IsArenaAllowedEnchancment(enchantDuration.item.GetEnchantmentId(slot))) if (Global.SpellMgr.IsArenaAllowedEnchancment(enchantDuration.item.GetEnchantmentId(slot)))
@@ -973,7 +973,7 @@ namespace Game.Entities
for (byte i = InventorySlots.ItemStart; i < inventoryEnd; ++i) for (byte i = InventorySlots.ItemStart; i < inventoryEnd; ++i)
{ {
Item pItem = GetItemByPos(InventorySlots.Bag0, i); Item pItem = GetItemByPos(InventorySlots.Bag0, i);
if (pItem && !Global.SpellMgr.IsArenaAllowedEnchancment(pItem.GetEnchantmentId(slot))) if (pItem != null && !Global.SpellMgr.IsArenaAllowedEnchancment(pItem.GetEnchantmentId(slot)))
pItem.ClearEnchantment(slot); pItem.ClearEnchantment(slot);
} }
@@ -981,12 +981,12 @@ namespace Game.Entities
for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; ++i) for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; ++i)
{ {
Bag pBag = GetBagByPos(i); Bag pBag = GetBagByPos(i);
if (pBag) if (pBag != null)
{ {
for (byte j = 0; j < pBag.GetBagSize(); j++) for (byte j = 0; j < pBag.GetBagSize(); j++)
{ {
Item pItem = pBag.GetItemByPos(j); Item pItem = pBag.GetItemByPos(j);
if (pItem && !Global.SpellMgr.IsArenaAllowedEnchancment(pItem.GetEnchantmentId(slot))) if (pItem != null && !Global.SpellMgr.IsArenaAllowedEnchancment(pItem.GetEnchantmentId(slot)))
pItem.ClearEnchantment(slot); pItem.ClearEnchantment(slot);
} }
} }
@@ -1755,12 +1755,12 @@ namespace Game.Entities
case ItemClass.Weapon: case ItemClass.Weapon:
{ {
Item item = GetUseableItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand); Item item = GetUseableItemByPos(InventorySlots.Bag0, EquipmentSlot.MainHand);
if (item) if (item != null)
if (item != ignoreItem && item.IsFitToSpellRequirements(spellInfo)) if (item != ignoreItem && item.IsFitToSpellRequirements(spellInfo))
return true; return true;
item = GetUseableItemByPos(InventorySlots.Bag0, EquipmentSlot.OffHand); item = GetUseableItemByPos(InventorySlots.Bag0, EquipmentSlot.OffHand);
if (item) if (item != null)
if (item != ignoreItem && item.IsFitToSpellRequirements(spellInfo)) if (item != ignoreItem && item.IsFitToSpellRequirements(spellInfo))
return true; return true;
break; break;
@@ -1790,7 +1790,7 @@ namespace Game.Entities
for (byte i = EquipmentSlot.Start; i < EquipmentSlot.MainHand; ++i) for (byte i = EquipmentSlot.Start; i < EquipmentSlot.MainHand; ++i)
{ {
Item item = GetUseableItemByPos(InventorySlots.Bag0, i); Item item = GetUseableItemByPos(InventorySlots.Bag0, i);
if (item) if (item != null)
if (item != ignoreItem && item.IsFitToSpellRequirements(spellInfo)) if (item != ignoreItem && item.IsFitToSpellRequirements(spellInfo))
return true; return true;
} }
@@ -1801,7 +1801,7 @@ namespace Game.Entities
foreach (byte i in new[] { EquipmentSlot.Head, EquipmentSlot.Shoulders, EquipmentSlot.Chest, EquipmentSlot.Waist, EquipmentSlot.Legs, EquipmentSlot.Feet, EquipmentSlot.Wrist, EquipmentSlot.Hands }) foreach (byte i in new[] { EquipmentSlot.Head, EquipmentSlot.Shoulders, EquipmentSlot.Chest, EquipmentSlot.Waist, EquipmentSlot.Legs, EquipmentSlot.Feet, EquipmentSlot.Wrist, EquipmentSlot.Hands })
{ {
Item item = GetUseableItemByPos(InventorySlots.Bag0, i); Item item = GetUseableItemByPos(InventorySlots.Bag0, i);
if (!item || item == ignoreItem || !item.IsFitToSpellRequirements(spellInfo)) if (item == null || item == ignoreItem || !item.IsFitToSpellRequirements(spellInfo))
return false; return false;
} }
@@ -1834,20 +1834,20 @@ namespace Game.Entities
for (byte slot = InventorySlots.ItemStart; slot < inventoryEnd; ++slot) for (byte slot = InventorySlots.ItemStart; slot < inventoryEnd; ++slot)
{ {
Item item = GetItemByPos(InventorySlots.Bag0, slot); Item item = GetItemByPos(InventorySlots.Bag0, slot);
if (item) if (item != null)
ApplyItemObtainSpells(item, true); ApplyItemObtainSpells(item, true);
} }
for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; ++i) for (byte i = InventorySlots.BagStart; i < InventorySlots.BagEnd; ++i)
{ {
Bag bag = GetBagByPos(i); Bag bag = GetBagByPos(i);
if (!bag) if (bag == null)
continue; continue;
for (byte slot = 0; slot < bag.GetBagSize(); ++slot) for (byte slot = 0; slot < bag.GetBagSize(); ++slot)
{ {
Item item = bag.GetItemByPos(slot); Item item = bag.GetItemByPos(slot);
if (item) if (item != null)
ApplyItemObtainSpells(item, true); ApplyItemObtainSpells(item, true);
} }
} }
@@ -3234,7 +3234,7 @@ namespace Game.Entities
{ {
for (byte i = 0; i < InventorySlots.BagEnd; ++i) for (byte i = 0; i < InventorySlots.BagEnd; ++i)
{ {
if (m_items[i] && !m_items[i].IsBroken() && CanUseAttackType(GetAttackBySlot(i, m_items[i].GetTemplate().GetInventoryType()))) if (m_items[i] != null && !m_items[i].IsBroken() && CanUseAttackType(GetAttackBySlot(i, m_items[i].GetTemplate().GetInventoryType())))
{ {
ApplyItemEquipSpell(m_items[i], false, true); // remove spells that not fit to form ApplyItemEquipSpell(m_items[i], false, true); // remove spells that not fit to form
ApplyItemEquipSpell(m_items[i], true, true); // add spells that fit form but not active ApplyItemEquipSpell(m_items[i], true, true); // add spells that fit form but not active
@@ -3283,7 +3283,7 @@ namespace Game.Entities
if (removeActivePetCooldowns) if (removeActivePetCooldowns)
{ {
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.GetSpellHistory().ResetAllCooldowns(); pet.GetSpellHistory().ResetAllCooldowns();
} }
} }
@@ -285,7 +285,7 @@ namespace Game.Entities
// TO-DO: We need more research to know what happens with warlock's reagent // TO-DO: We need more research to know what happens with warlock's reagent
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
RemovePet(pet, PetSaveMode.NotInSlot); RemovePet(pet, PetSaveMode.NotInSlot);
ClearAllReactives(); ClearAllReactives();
@@ -428,7 +428,7 @@ namespace Game.Entities
for (byte i = EquipmentSlot.Start; i < EquipmentSlot.End; ++i) for (byte i = EquipmentSlot.Start; i < EquipmentSlot.End; ++i)
{ {
Item equippedItem = GetItemByPos(InventorySlots.Bag0, i); Item equippedItem = GetItemByPos(InventorySlots.Bag0, i);
if (equippedItem) if (equippedItem != null)
SetVisibleItemSlot(i, equippedItem); SetVisibleItemSlot(i, equippedItem);
} }
+53 -53
View File
@@ -932,7 +932,7 @@ namespace Game.Entities
if (petStable.CurrentPetIndex == (uint)srcPetSlot) if (petStable.CurrentPetIndex == (uint)srcPetSlot)
{ {
Pet oldPet = GetPet(); Pet oldPet = GetPet();
if (oldPet && !oldPet.IsAlive()) if (oldPet != null && !oldPet.IsAlive())
{ {
sess.SendPetStableResult(StableResult.InternalError); sess.SendPetStableResult(StableResult.InternalError);
return; return;
@@ -1109,7 +1109,7 @@ namespace Game.Entities
public void UnsummonPetTemporaryIfAny() public void UnsummonPetTemporaryIfAny()
{ {
Pet pet = GetPet(); Pet pet = GetPet();
if (!pet) if (pet == null)
return; return;
if (m_temporaryUnsummonedPetNumber == 0 && pet.IsControlled() && !pet.IsTemporarySummoned()) if (m_temporaryUnsummonedPetNumber == 0 && pet.IsControlled() && !pet.IsTemporarySummoned())
@@ -1179,7 +1179,7 @@ namespace Game.Entities
public void StopCastingCharm() public void StopCastingCharm()
{ {
Unit charm = GetCharmed(); Unit charm = GetCharmed();
if (!charm) if (charm == null)
return; return;
if (charm.IsTypeId(TypeId.Unit)) if (charm.IsTypeId(TypeId.Unit))
@@ -1219,7 +1219,7 @@ namespace Game.Entities
public void CharmSpellInitialize() public void CharmSpellInitialize()
{ {
Unit charm = GetFirstControlled(); Unit charm = GetFirstControlled();
if (!charm) if (charm == null)
return; return;
CharmInfo charmInfo = charm.GetCharmInfo(); CharmInfo charmInfo = charm.GetCharmInfo();
@@ -1257,7 +1257,7 @@ namespace Game.Entities
public void PossessSpellInitialize() public void PossessSpellInitialize()
{ {
Unit charm = GetCharmed(); Unit charm = GetCharmed();
if (!charm) if (charm == null)
return; return;
CharmInfo charmInfo = charm.GetCharmInfo(); CharmInfo charmInfo = charm.GetCharmInfo();
@@ -1281,7 +1281,7 @@ namespace Game.Entities
public void VehicleSpellInitialize() public void VehicleSpellInitialize()
{ {
Creature vehicle = GetVehicleCreatureBase(); Creature vehicle = GetVehicleCreatureBase();
if (!vehicle) if (vehicle == null)
return; return;
PetSpells petSpells = new(); PetSpells petSpells = new();
@@ -1843,7 +1843,7 @@ namespace Game.Entities
// Calculates how many reputation points player gains in victim's enemy factions // Calculates how many reputation points player gains in victim's enemy factions
public void RewardReputation(Unit victim, float rate) public void RewardReputation(Unit victim, float rate)
{ {
if (!victim || victim.IsTypeId(TypeId.Player)) if (victim == null || victim.IsTypeId(TypeId.Player))
return; return;
if (victim.ToCreature().IsReputationGainDisabled()) if (victim.ToCreature().IsReputationGainDisabled())
@@ -2021,7 +2021,7 @@ namespace Game.Entities
// The player was ported to another map and loses the duel immediately. // The player was ported to another map and loses the duel immediately.
// We have to perform this check before the teleport, otherwise the // We have to perform this check before the teleport, otherwise the
// ObjectAccessor won't find the flag. // ObjectAccessor won't find the flag.
if (duel != null && GetMapId() != mapid && GetMap().GetGameObject(m_playerData.DuelArbiter)) if (duel != null && GetMapId() != mapid && GetMap().GetGameObject(m_playerData.DuelArbiter) != null)
DuelComplete(DuelCompleteType.Fled); DuelComplete(DuelCompleteType.Fled);
if (GetMapId() == mapid && (!instanceId.HasValue || GetInstanceId() == instanceId)) if (GetMapId() == mapid && (!instanceId.HasValue || GetInstanceId() == instanceId))
@@ -2045,7 +2045,7 @@ namespace Game.Entities
if (!options.HasAnyFlag(TeleportToOptions.NotUnSummonPet)) if (!options.HasAnyFlag(TeleportToOptions.NotUnSummonPet))
{ {
//same map, only remove pet if out of range for new position //same map, only remove pet if out of range for new position
if (pet && !pet.IsWithinDist3d(x, y, z, GetMap().GetVisibilityRange())) if (pet != null && !pet.IsWithinDist3d(x, y, z, GetMap().GetVisibilityRange()))
UnsummonPetTemporaryIfAny(); UnsummonPetTemporaryIfAny();
} }
@@ -2090,7 +2090,7 @@ namespace Game.Entities
} }
// Seamless teleport can happen only if cosmetic maps match // Seamless teleport can happen only if cosmetic maps match
if (!oldmap || (oldmap.GetEntry().CosmeticParentMapID != mapid && GetMapId() != mEntry.CosmeticParentMapID && if (oldmap == null || (oldmap.GetEntry().CosmeticParentMapID != mapid && GetMapId() != mEntry.CosmeticParentMapID &&
!((oldmap.GetEntry().CosmeticParentMapID != -1) ^ (oldmap.GetEntry().CosmeticParentMapID != mEntry.CosmeticParentMapID)))) !((oldmap.GetEntry().CosmeticParentMapID != -1) ^ (oldmap.GetEntry().CosmeticParentMapID != mEntry.CosmeticParentMapID))))
options &= ~TeleportToOptions.Seamless; options &= ~TeleportToOptions.Seamless;
@@ -2118,7 +2118,7 @@ namespace Game.Entities
// remove player from Battlegroundon far teleport (when changing maps) // remove player from Battlegroundon far teleport (when changing maps)
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
{ {
// Note: at Battlegroundjoin Battlegroundid set before teleport // Note: at Battlegroundjoin Battlegroundid set before teleport
// and we already will found "current" Battleground // and we already will found "current" Battleground
@@ -2132,12 +2132,12 @@ namespace Game.Entities
{ {
RemoveArenaSpellCooldowns(true); RemoveArenaSpellCooldowns(true);
RemoveArenaAuras(); RemoveArenaAuras();
if (pet) if (pet != null)
pet.RemoveArenaAuras(); pet.RemoveArenaAuras();
} }
// remove pet on map change // remove pet on map change
if (pet) if (pet != null)
UnsummonPetTemporaryIfAny(); UnsummonPetTemporaryIfAny();
// remove all dyn objects // remove all dyn objects
@@ -2259,7 +2259,7 @@ namespace Game.Entities
} }
}); });
if (!m_unitMovedByMe.GetVehicleBase() || !m_unitMovedByMe.GetVehicle().GetVehicleInfo().Flags.HasAnyFlag(VehicleFlags.FixedPosition)) if (m_unitMovedByMe.GetVehicleBase() == null || !m_unitMovedByMe.GetVehicle().GetVehicleInfo().Flags.HasAnyFlag(VehicleFlags.FixedPosition))
RemoveViolatingFlags(mi.HasMovementFlag(MovementFlag.Root), MovementFlag.Root); RemoveViolatingFlags(mi.HasMovementFlag(MovementFlag.Root), MovementFlag.Root);
/*! This must be a packet spoofing attempt. MOVEMENTFLAG_ROOT sent from the client is not valid /*! This must be a packet spoofing attempt. MOVEMENTFLAG_ROOT sent from the client is not valid
@@ -2382,7 +2382,7 @@ namespace Game.Entities
public void SendSummonRequestFrom(Unit summoner) public void SendSummonRequestFrom(Unit summoner)
{ {
if (!summoner) if (summoner == null)
return; return;
// Player already has active summon request // Player already has active summon request
@@ -2475,7 +2475,7 @@ namespace Game.Entities
// drop flag at summon // drop flag at summon
// this code can be reached only when GM is summoning player who carries flag, because player should be immune to summoning spells when he carries flag // this code can be reached only when GM is summoning player who carries flag, because player should be immune to summoning spells when he carries flag
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
bg.EventPlayerDroppedFlag(this); bg.EventPlayerDroppedFlag(this);
m_summon_expire = 0; m_summon_expire = 0;
@@ -2626,7 +2626,7 @@ namespace Game.Entities
bool canTalk = true; bool canTalk = true;
GameObject go = source.ToGameObject(); GameObject go = source.ToGameObject();
Creature creature = source.ToCreature(); Creature creature = source.ToCreature();
if (creature) if (creature != null)
{ {
switch (gossipMenuItem.OptionNpc) switch (gossipMenuItem.OptionNpc)
{ {
@@ -2639,13 +2639,13 @@ namespace Game.Entities
canTalk = false; canTalk = false;
break; break;
case GossipOptionNpc.Battlemaster: case GossipOptionNpc.Battlemaster:
if (!creature.CanInteractWithBattleMaster(this, false)) if (creature.CanInteractWithBattleMaster(this, false))
canTalk = false; canTalk = false;
break; break;
case GossipOptionNpc.TalentMaster: case GossipOptionNpc.TalentMaster:
case GossipOptionNpc.SpecializationMaster: case GossipOptionNpc.SpecializationMaster:
case GossipOptionNpc.GlyphMaster: case GossipOptionNpc.GlyphMaster:
if (!creature.CanResetTalents(this)) if (creature.CanResetTalents(this))
canTalk = false; canTalk = false;
break; break;
case GossipOptionNpc.Stablemaster: case GossipOptionNpc.Stablemaster:
@@ -2705,7 +2705,7 @@ namespace Game.Entities
} }
public void SendPreparedGossip(WorldObject source) public void SendPreparedGossip(WorldObject source)
{ {
if (!source) if (source == null)
return; return;
if (source.IsTypeId(TypeId.Unit) || source.IsTypeId(TypeId.GameObject)) if (source.IsTypeId(TypeId.Unit) || source.IsTypeId(TypeId.GameObject))
@@ -3450,7 +3450,7 @@ namespace Game.Entities
public bool IsAllowedToLoot(Creature creature) public bool IsAllowedToLoot(Creature creature)
{ {
if (!creature.IsDead()) if (creature.IsDead())
return false; return false;
if (HasPendingBind()) if (HasPendingBind())
@@ -4256,7 +4256,7 @@ namespace Game.Entities
if (InBattleground()) if (InBattleground())
{ {
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
bg.HandlePlayerResurrect(this); bg.HandlePlayerResurrect(this);
} }
@@ -4299,14 +4299,14 @@ namespace Game.Entities
public void SetAreaSpiritHealer(Creature creature) public void SetAreaSpiritHealer(Creature creature)
{ {
if (!creature) if (creature == null)
{ {
_areaSpiritHealerGUID = ObjectGuid.Empty; _areaSpiritHealerGUID = ObjectGuid.Empty;
RemoveAurasDueToSpell(BattlegroundConst.SpellWaitingForResurrect); RemoveAurasDueToSpell(BattlegroundConst.SpellWaitingForResurrect);
return; return;
} }
if (!creature.IsAreaSpiritHealer()) if (creature.IsAreaSpiritHealer())
return; return;
_areaSpiritHealerGUID = creature.GetGUID(); _areaSpiritHealerGUID = creature.GetGUID();
@@ -4434,7 +4434,7 @@ namespace Game.Entities
public void SpawnCorpseBones(bool triggerSave = true) public void SpawnCorpseBones(bool triggerSave = true)
{ {
_corpseLocation = new WorldLocation(); _corpseLocation = new WorldLocation();
if (GetMap().ConvertCorpseToBones(GetGUID())) if (GetMap().ConvertCorpseToBones(GetGUID()) != null)
if (triggerSave && !GetSession().PlayerLogoutWithSave()) // at logout we will already store the player if (triggerSave && !GetSession().PlayerLogoutWithSave()) // at logout we will already store the player
SaveToDB(); // prevent loading as ghost without corpse SaveToDB(); // prevent loading as ghost without corpse
} }
@@ -4460,7 +4460,7 @@ namespace Game.Entities
// Special handle for Battlegroundmaps // Special handle for Battlegroundmaps
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (bg) if (bg != null)
closestGrave = bg.GetClosestGraveyard(this); closestGrave = bg.GetClosestGraveyard(this);
else else
{ {
@@ -4545,10 +4545,10 @@ namespace Game.Entities
int CalculateCorpseReclaimDelay(bool load = false) int CalculateCorpseReclaimDelay(bool load = false)
{ {
Corpse corpse = GetCorpse(); Corpse corpse = GetCorpse();
if (load && !corpse) if (load && corpse == null)
return -1; return -1;
bool pvp = corpse ? corpse.GetCorpseType() == CorpseType.ResurrectablePVP : (m_ExtraFlags & PlayerExtraFlags.PVPDeath) != 0; bool pvp = corpse != null ? corpse.GetCorpseType() == CorpseType.ResurrectablePVP : (m_ExtraFlags & PlayerExtraFlags.PVPDeath) != 0;
uint delay; uint delay;
if (load) if (load)
@@ -4696,10 +4696,10 @@ namespace Game.Entities
public void RemovePet(Pet pet, PetSaveMode mode, bool returnreagent = false) public void RemovePet(Pet pet, PetSaveMode mode, bool returnreagent = false)
{ {
if (!pet) if (pet == null)
pet = GetPet(); pet = GetPet();
if (pet) if (pet != null)
{ {
Log.outDebug(LogFilter.Pet, "RemovePet {0}, {1}, {2}", pet.GetEntry(), mode, returnreagent); Log.outDebug(LogFilter.Pet, "RemovePet {0}, {1}, {2}", pet.GetEntry(), mode, returnreagent);
@@ -4707,10 +4707,10 @@ namespace Game.Entities
return; return;
} }
if (returnreagent && (pet || m_temporaryUnsummonedPetNumber != 0) && !InBattleground()) if (returnreagent && (pet != null || m_temporaryUnsummonedPetNumber != 0) && !InBattleground())
{ {
//returning of reagents only for players, so best done here //returning of reagents only for players, so best done here
uint spellId = pet ? pet.m_unitData.CreatedBySpell : m_oldpetspell; uint spellId = pet != null ? pet.m_unitData.CreatedBySpell : m_oldpetspell;
SpellInfo spellInfo = SpellMgr.GetSpellInfo(spellId, GetMap().GetDifficultyID()); SpellInfo spellInfo = SpellMgr.GetSpellInfo(spellId, GetMap().GetDifficultyID());
if (spellInfo != null) if (spellInfo != null)
@@ -4781,7 +4781,7 @@ namespace Game.Entities
{ {
SendPacket(new PetSpells()); SendPacket(new PetSpells());
if (GetGroup()) if (GetGroup() != null)
SetGroupUpdateFlag(GroupUpdateFlags.Pet); SetGroupUpdateFlag(GroupUpdateFlags.Pet);
} }
} }
@@ -4814,7 +4814,7 @@ namespace Game.Entities
public bool InArena() public bool InArena()
{ {
Battleground bg = GetBattleground(); Battleground bg = GetBattleground();
if (!bg || !bg.IsArena()) if (bg == null || !bg.IsArena())
return false; return false;
return true; return true;
@@ -5341,7 +5341,7 @@ namespace Game.Entities
// update level to hunter/summon pet // update level to hunter/summon pet
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.SynchronizeLevelWithOwner(); pet.SynchronizeLevelWithOwner();
MailLevelReward mailReward = ObjectMgr.GetMailLevelReward(level, GetRace()); MailLevelReward mailReward = ObjectMgr.GetMailLevelReward(level, GetRace());
@@ -5448,7 +5448,7 @@ namespace Game.Entities
return null; return null;
// alive or spirit healer // alive or spirit healer
if (!creature.IsAlive() && !creature.GetCreatureDifficulty().TypeFlags.HasFlag(CreatureTypeFlags.InteractWhileDead)) if (creature.IsAlive() && !creature.GetCreatureDifficulty().TypeFlags.HasFlag(CreatureTypeFlags.InteractWhileDead))
return null; return null;
// appropriate npc type // appropriate npc type
@@ -5467,7 +5467,7 @@ namespace Game.Entities
return null; return null;
// not allow interaction under control, but allow with own pets // not allow interaction under control, but allow with own pets
if (!creature.GetCharmerGUID().IsEmpty()) if (creature.GetCharmerGUID().IsEmpty())
return null; return null;
// not unfriendly/hostile // not unfriendly/hostile
@@ -5475,7 +5475,7 @@ namespace Game.Entities
return null; return null;
// not too far, taken from CGGameUI::SetInteractTarget // not too far, taken from CGGameUI::SetInteractTarget
if (!creature.IsWithinDistInMap(this, creature.GetCombatReach() + 4.0f)) if (creature.IsWithinDistInMap(this, creature.GetCombatReach() + 4.0f))
return null; return null;
return creature; return creature;
@@ -5510,7 +5510,7 @@ namespace Game.Entities
public GameObject GetGameObjectIfCanInteractWith(ObjectGuid guid, GameObjectTypes type) public GameObject GetGameObjectIfCanInteractWith(ObjectGuid guid, GameObjectTypes type)
{ {
GameObject go = GetGameObjectIfCanInteractWith(guid); GameObject go = GetGameObjectIfCanInteractWith(guid);
if (!go) if (go == null)
return null; return null;
if (go.GetGoType() != type) if (go.GetGoType() != type)
@@ -5980,7 +5980,7 @@ namespace Game.Entities
// update level to hunter/summon pet // update level to hunter/summon pet
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.SynchronizeLevelWithOwner(); pet.SynchronizeLevelWithOwner();
} }
public void InitDataForForm(bool reapplyMods = false) public void InitDataForForm(bool reapplyMods = false)
@@ -6246,10 +6246,10 @@ namespace Game.Entities
return false; return false;
// group update // group update
if (GetGroup()) if (GetGroup() != null)
SetGroupUpdateFlag(GroupUpdateFlags.Position); SetGroupUpdateFlag(GroupUpdateFlags.Position);
if (GetTrader() && !IsWithinDistInMap(GetTrader(), SharedConst.InteractionDistance)) if (GetTrader() != null && !IsWithinDistInMap(GetTrader(), SharedConst.InteractionDistance))
GetSession().SendCancelTrade(); GetSession().SendCancelTrade();
CheckAreaExploreAndOutdoor(); CheckAreaExploreAndOutdoor();
@@ -6441,7 +6441,7 @@ namespace Game.Entities
public void SendBuyError(BuyResult msg, Creature creature, uint item) public void SendBuyError(BuyResult msg, Creature creature, uint item)
{ {
BuyFailed packet = new(); BuyFailed packet = new();
packet.VendorGUID = creature ? creature.GetGUID() : ObjectGuid.Empty; packet.VendorGUID = creature != null ? creature.GetGUID() : ObjectGuid.Empty;
packet.Muid = item; packet.Muid = item;
packet.Reason = msg; packet.Reason = msg;
SendPacket(packet); SendPacket(packet);
@@ -6449,7 +6449,7 @@ namespace Game.Entities
public void SendSellError(SellResult msg, Creature creature, ObjectGuid guid) public void SendSellError(SellResult msg, Creature creature, ObjectGuid guid)
{ {
SellResponse sellResponse = new(); SellResponse sellResponse = new();
sellResponse.VendorGUID = creature ? creature.GetGUID() : ObjectGuid.Empty; sellResponse.VendorGUID = creature != null ? creature.GetGUID() : ObjectGuid.Empty;
sellResponse.ItemGUIDs.Add(guid); sellResponse.ItemGUIDs.Add(guid);
sellResponse.Reason = msg; sellResponse.Reason = msg;
SendPacket(sellResponse); SendPacket(sellResponse);
@@ -6553,7 +6553,7 @@ namespace Game.Entities
public override void Whisper(uint textId, Player target, bool isBossWhisper = false) public override void Whisper(uint textId, Player target, bool isBossWhisper = false)
{ {
if (!target) if (target == null)
return; return;
BroadcastTextRecord bct = CliDB.BroadcastTextStorage.LookupByKey(textId); BroadcastTextRecord bct = CliDB.BroadcastTextStorage.LookupByKey(textId);
@@ -6685,9 +6685,9 @@ namespace Game.Entities
bonus_xp = victim != null ? _restMgr.GetRestBonusFor(RestTypes.XP, xp) : 0; // XP resting bonus bonus_xp = victim != null ? _restMgr.GetRestBonusFor(RestTypes.XP, xp) : 0; // XP resting bonus
LogXPGain packet = new(); LogXPGain packet = new();
packet.Victim = victim ? victim.GetGUID() : ObjectGuid.Empty; packet.Victim = victim != null ? victim.GetGUID() : ObjectGuid.Empty;
packet.Original = (int)(xp + bonus_xp); packet.Original = (int)(xp + bonus_xp);
packet.Reason = victim ? PlayerLogXPReason.Kill : PlayerLogXPReason.NoKill; packet.Reason = victim != null ? PlayerLogXPReason.Kill : PlayerLogXPReason.NoKill;
packet.Amount = (int)xp; packet.Amount = (int)xp;
packet.GroupBonus = group_rate; packet.GroupBonus = group_rate;
SendPacket(packet); SendPacket(packet);
@@ -7154,12 +7154,12 @@ namespace Game.Entities
if (GetLevel() <= WorldConfig.GetIntValue(WorldCfg.MaxRecruitAFriendBonusPlayerLevel) || !forXP) if (GetLevel() <= WorldConfig.GetIntValue(WorldCfg.MaxRecruitAFriendBonusPlayerLevel) || !forXP)
{ {
Group group = GetGroup(); Group group = GetGroup();
if (group) if (group != null)
{ {
for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next()) for (GroupReference refe = group.GetFirstMember(); refe != null; refe = refe.Next())
{ {
Player player = refe.GetSource(); Player player = refe.GetSource();
if (!player) if (player == null)
continue; continue;
if (!player.IsAtRecruitAFriendDistance(this)) if (!player.IsAtRecruitAFriendDistance(this))
@@ -7192,11 +7192,11 @@ namespace Game.Entities
bool IsAtRecruitAFriendDistance(WorldObject pOther) bool IsAtRecruitAFriendDistance(WorldObject pOther)
{ {
if (!pOther || !IsInMap(pOther)) if (pOther == null || !IsInMap(pOther))
return false; return false;
WorldObject player = GetCorpse(); WorldObject player = GetCorpse();
if (!player || IsAlive()) if (player == null || IsAlive())
player = this; player = this;
return pOther.GetDistance(player) <= WorldConfig.GetFloatValue(WorldCfg.MaxRecruitAFriendDistance); return pOther.GetDistance(player) <= WorldConfig.GetFloatValue(WorldCfg.MaxRecruitAFriendDistance);
@@ -7228,7 +7228,7 @@ namespace Game.Entities
randomRoll.RollerWowAccount = GetSession().GetAccountGUID(); randomRoll.RollerWowAccount = GetSession().GetAccountGUID();
Group group = GetGroup(); Group group = GetGroup();
if (group) if (group != null)
group.BroadcastPacket(randomRoll, false); group.BroadcastPacket(randomRoll, false);
else else
SendPacket(randomRoll); SendPacket(randomRoll);
@@ -7409,7 +7409,7 @@ namespace Game.Entities
public void SetClientControl(Unit target, bool allowMove) public void SetClientControl(Unit target, bool allowMove)
{ {
// a player can never client control nothing // a player can never client control nothing
Cypher.Assert(target); Cypher.Assert(target != null);
// don't allow possession to be overridden // don't allow possession to be overridden
if (target.HasUnitState(UnitState.Charmed) && (GetGUID() != target.GetCharmerGUID())) if (target.HasUnitState(UnitState.Charmed) && (GetGUID() != target.GetCharmerGUID()))
+5 -5
View File
@@ -22,7 +22,7 @@ namespace Game.Entities
public static void GetFriendInfo(Player player, ObjectGuid friendGUID, FriendInfo friendInfo) public static void GetFriendInfo(Player player, ObjectGuid friendGUID, FriendInfo friendInfo)
{ {
if (!player) if (player == null)
return; return;
friendInfo.Status = FriendStatus.Offline; friendInfo.Status = FriendStatus.Offline;
@@ -31,7 +31,7 @@ namespace Game.Entities
friendInfo.Class = 0; friendInfo.Class = 0;
Player target = Global.ObjAccessor.FindPlayer(friendGUID); Player target = Global.ObjAccessor.FindPlayer(friendGUID);
if (!target) if (target == null)
return; return;
var playerFriendInfo = player.GetSocial().PlayerSocialMap.LookupByKey(friendGUID); var playerFriendInfo = player.GetSocial().PlayerSocialMap.LookupByKey(friendGUID);
@@ -84,7 +84,7 @@ namespace Game.Entities
void BroadcastToFriendListers(Player player, ServerPacket packet) void BroadcastToFriendListers(Player player, ServerPacket packet)
{ {
if (!player) if (player == null)
return; return;
AccountTypes gmSecLevel = (AccountTypes)WorldConfig.GetIntValue(WorldCfg.GmLevelInWhoList); AccountTypes gmSecLevel = (AccountTypes)WorldConfig.GetIntValue(WorldCfg.GmLevelInWhoList);
@@ -94,7 +94,7 @@ namespace Game.Entities
if (info != null && info.Flags.HasAnyFlag(SocialFlag.Friend)) if (info != null && info.Flags.HasAnyFlag(SocialFlag.Friend))
{ {
Player target = Global.ObjAccessor.FindPlayer(pair.Key); Player target = Global.ObjAccessor.FindPlayer(pair.Key);
if (!target || !target.IsInWorld) if (target == null || !target.IsInWorld)
continue; continue;
WorldSession session = target.GetSession(); WorldSession session = target.GetSession();
@@ -244,7 +244,7 @@ namespace Game.Entities
public void SendSocialList(Player player, SocialFlag flags) public void SendSocialList(Player player, SocialFlag flags)
{ {
if (!player) if (player == null)
return; return;
uint friendsCount = 0; uint friendsCount = 0;
+2 -2
View File
@@ -51,7 +51,7 @@ namespace Game.Entities
public void SetItem(TradeSlots slot, Item item, bool update = false) public void SetItem(TradeSlots slot, Item item, bool update = false)
{ {
ObjectGuid itemGuid = item ? item.GetGUID() : ObjectGuid.Empty; ObjectGuid itemGuid = item != null ? item.GetGUID() : ObjectGuid.Empty;
if (m_items[(int)slot] == itemGuid && !update) if (m_items[(int)slot] == itemGuid && !update)
return; return;
@@ -77,7 +77,7 @@ namespace Game.Entities
public void SetSpell(uint spell_id, Item castItem = null) public void SetSpell(uint spell_id, Item castItem = null)
{ {
ObjectGuid itemGuid = castItem ? castItem.GetGUID() : ObjectGuid.Empty; ObjectGuid itemGuid = castItem != null ? castItem.GetGUID() : ObjectGuid.Empty;
if (m_spell == spell_id && m_spellCastItem == itemGuid) if (m_spell == spell_id && m_spellCastItem == itemGuid)
return; return;
+18 -18
View File
@@ -510,9 +510,9 @@ namespace Game.Entities
// group update // group update
Player player = ToPlayer(); Player player = ToPlayer();
if (player) if (player != null)
{ {
if (player.GetGroup()) if (player.GetGroup() != null)
player.SetGroupUpdateFlag(GroupUpdateFlags.CurHp); player.SetGroupUpdateFlag(GroupUpdateFlags.CurHp);
} }
else if (IsPet()) else if (IsPet())
@@ -536,7 +536,7 @@ namespace Game.Entities
// group update // group update
if (IsTypeId(TypeId.Player)) if (IsTypeId(TypeId.Player))
{ {
if (ToPlayer().GetGroup()) if (ToPlayer().GetGroup() != null)
ToPlayer().SetGroupUpdateFlag(GroupUpdateFlags.MaxHp); ToPlayer().SetGroupUpdateFlag(GroupUpdateFlags.MaxHp);
} }
else if (IsPet()) else if (IsPet())
@@ -590,7 +590,7 @@ namespace Game.Entities
Player thisPlayer = ToPlayer(); Player thisPlayer = ToPlayer();
if (thisPlayer != null) if (thisPlayer != null)
{ {
if (thisPlayer.GetGroup()) if (thisPlayer.GetGroup() != null)
thisPlayer.SetGroupUpdateFlag(GroupUpdateFlags.PowerType); thisPlayer.SetGroupUpdateFlag(GroupUpdateFlags.PowerType);
} }
/*else if (IsPet()) TODO 6.x /*else if (IsPet()) TODO 6.x
@@ -634,7 +634,7 @@ namespace Game.Entities
// group update // group update
if (IsTypeId(TypeId.Player)) if (IsTypeId(TypeId.Player))
{ {
if (ToPlayer().GetGroup()) if (ToPlayer().GetGroup() != null)
ToPlayer().SetGroupUpdateFlag(GroupUpdateFlags.MaxPower); ToPlayer().SetGroupUpdateFlag(GroupUpdateFlags.MaxPower);
} }
/*else if (IsPet()) TODO 6.x /*else if (IsPet()) TODO 6.x
@@ -675,7 +675,7 @@ namespace Game.Entities
if (IsTypeId(TypeId.Player)) if (IsTypeId(TypeId.Player))
{ {
Player player = ToPlayer(); Player player = ToPlayer();
if (player.GetGroup()) if (player.GetGroup() != null)
player.SetGroupUpdateFlag(GroupUpdateFlags.CurPower); player.SetGroupUpdateFlag(GroupUpdateFlags.CurPower);
} }
/*else if (IsPet()) TODO 6.x /*else if (IsPet()) TODO 6.x
@@ -788,7 +788,7 @@ namespace Game.Entities
target = owner; target = owner;
} }
if (!target) if (target == null)
return; return;
damage -= (int)target.GetDamageReduction((uint)damage); damage -= (int)target.GetDamageReduction((uint)damage);
@@ -809,13 +809,13 @@ namespace Game.Entities
float GetCombatRatingReduction(CombatRating cr) float GetCombatRatingReduction(CombatRating cr)
{ {
Player player = ToPlayer(); Player player = ToPlayer();
if (player) if (player != null)
return player.GetRatingBonusValue(cr); return player.GetRatingBonusValue(cr);
// Player's pet get resilience from owner // Player's pet get resilience from owner
else if (IsPet() && GetOwner()) else if (IsPet() && GetOwner() != null)
{ {
Player owner = GetOwner().ToPlayer(); Player owner = GetOwner().ToPlayer();
if (owner) if (owner != null)
return owner.GetRatingBonusValue(cr); return owner.GetRatingBonusValue(cr);
} }
@@ -954,7 +954,7 @@ namespace Game.Entities
float chance = 0.0f; float chance = 0.0f;
float levelBonus = 0.0f; float levelBonus = 0.0f;
Player playerVictim = victim.ToPlayer(); Player playerVictim = victim.ToPlayer();
if (playerVictim) if (playerVictim != null)
chance = playerVictim.m_activePlayerData.DodgePercentage; chance = playerVictim.m_activePlayerData.DodgePercentage;
else else
{ {
@@ -991,15 +991,15 @@ namespace Game.Entities
float chance = 0.0f; float chance = 0.0f;
float levelBonus = 0.0f; float levelBonus = 0.0f;
Player playerVictim = victim.ToPlayer(); Player playerVictim = victim.ToPlayer();
if (playerVictim) if (playerVictim != null)
{ {
if (playerVictim.CanParry()) if (playerVictim.CanParry())
{ {
Item tmpitem = playerVictim.GetWeaponForAttack(WeaponAttackType.BaseAttack, true); Item tmpitem = playerVictim.GetWeaponForAttack(WeaponAttackType.BaseAttack, true);
if (!tmpitem) if (tmpitem == null)
tmpitem = playerVictim.GetWeaponForAttack(WeaponAttackType.OffAttack, true); tmpitem = playerVictim.GetWeaponForAttack(WeaponAttackType.OffAttack, true);
if (tmpitem) if (tmpitem != null)
chance = playerVictim.m_activePlayerData.ParryPercentage; chance = playerVictim.m_activePlayerData.ParryPercentage;
} }
} }
@@ -1039,12 +1039,12 @@ namespace Game.Entities
float chance = 0.0f; float chance = 0.0f;
float levelBonus = 0.0f; float levelBonus = 0.0f;
Player playerVictim = victim.ToPlayer(); Player playerVictim = victim.ToPlayer();
if (playerVictim) if (playerVictim != null)
{ {
if (playerVictim.CanBlock()) if (playerVictim.CanBlock())
{ {
Item tmpitem = playerVictim.GetUseableItemByPos(InventorySlots.Bag0, EquipmentSlot.OffHand); Item tmpitem = playerVictim.GetUseableItemByPos(InventorySlots.Bag0, EquipmentSlot.OffHand);
if (tmpitem && !tmpitem.IsBroken() && tmpitem.GetTemplate().GetInventoryType() == InventoryType.Shield) if (tmpitem != null && !tmpitem.IsBroken() && tmpitem.GetTemplate().GetInventoryType() == InventoryType.Shield)
chance = playerVictim.m_activePlayerData.BlockPercentage; chance = playerVictim.m_activePlayerData.BlockPercentage;
} }
} }
@@ -1391,7 +1391,7 @@ namespace Game.Entities
{ {
UpdateDamagePhysical(WeaponAttackType.BaseAttack); UpdateDamagePhysical(WeaponAttackType.BaseAttack);
Item offhand = GetWeaponForAttack(WeaponAttackType.OffAttack, true); Item offhand = GetWeaponForAttack(WeaponAttackType.OffAttack, true);
if (offhand) if (offhand != null)
if (CanDualWield() || offhand.GetTemplate().HasFlag(ItemFlags3.AlwaysAllowDualWield)) if (CanDualWield() || offhand.GetTemplate().HasFlag(ItemFlags3.AlwaysAllowDualWield))
UpdateDamagePhysical(WeaponAttackType.OffAttack); UpdateDamagePhysical(WeaponAttackType.OffAttack);
@@ -1432,7 +1432,7 @@ namespace Game.Entities
SetArmor((int)value, (int)(value - baseValue)); SetArmor((int)value, (int)(value - baseValue));
Pet pet = GetPet(); Pet pet = GetPet();
if (pet) if (pet != null)
pet.UpdateArmor(); pet.UpdateArmor();
UpdateAttackPowerAndDamage(); // armor dependent auras update for SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR UpdateAttackPowerAndDamage(); // armor dependent auras update for SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR

Some files were not shown because too many files have changed in this diff Show More