Added some implicit operators to spell casting.

This commit is contained in:
hondacrx
2023-10-01 07:32:38 -04:00
parent 4cbee1a6bb
commit 85f37f6edf
6 changed files with 46 additions and 24 deletions
+4 -19
View File
@@ -2423,25 +2423,9 @@ namespace Game.Entities
return my_faction.IsNeutralToAll();
}
public SpellCastResult CastSpell(WorldObject target, uint spellId, bool triggered = false)
public SpellCastResult CastSpell(CastSpellTargetArg targets, uint spellId)
{
CastSpellExtraArgs args = new(triggered);
return CastSpell(target, spellId, args);
}
public SpellCastResult CastSpell(SpellCastTargets targets, uint spellId, CastSpellExtraArgs args)
{
return CastSpell(new CastSpellTargetArg(targets), spellId, args);
}
public SpellCastResult CastSpell(WorldObject target, uint spellId, CastSpellExtraArgs args)
{
return CastSpell(new CastSpellTargetArg(target), spellId, args);
}
public SpellCastResult CastSpell(Position dest, uint spellId, CastSpellExtraArgs args)
{
return CastSpell(new CastSpellTargetArg(dest), spellId, args);
return CastSpell(targets, spellId, new CastSpellExtraArgs());
}
public SpellCastResult CastSpell(CastSpellTargetArg targets, uint spellId, CastSpellExtraArgs args)
@@ -3366,7 +3350,8 @@ namespace Game.Entities
{
return obj1 && obj2 && IsInBetween(obj1.GetPosition(), obj2.GetPosition(), size);
}
bool IsInBetween(Position pos1, Position pos2, float size)
public bool IsInBetween(Position pos1, Position pos2, float size)
{
float dist = GetExactDist2d(pos1);
+1 -1
View File
@@ -1131,7 +1131,7 @@ namespace Game.Entities
SetUpdateFieldStatValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.MaxDamage), maxdamage);
}
void SetBonusDamage(int damage)
public void SetBonusDamage(int damage)
{
m_bonusSpellDamage = damage;
Player playerOwner = GetOwner().ToPlayer();
+1 -1
View File
@@ -39,7 +39,7 @@ namespace Game.Entities
protected float[][] m_weaponDamage = new float[(int)WeaponAttackType.Max][];
uint[] m_baseAttackSpeed = new uint[(int)WeaponAttackType.Max];
internal float[] m_modAttackSpeedPct = new float[(int)WeaponAttackType.Max];
public float[] m_modAttackSpeedPct = new float[(int)WeaponAttackType.Max];
protected uint[] m_attackTimer = new uint[(int)WeaponAttackType.Max];
bool _isCombatDisallowed;
+1 -1
View File
@@ -2823,7 +2823,7 @@ namespace Game.Entities
return aurApp?.GetBase();
}
AuraApplication GetAuraApplicationOfRankedSpell(uint spellId, ObjectGuid casterGUID = default, ObjectGuid itemCasterGUID = default, uint reqEffMask = 0, AuraApplication except = null)
public AuraApplication GetAuraApplicationOfRankedSpell(uint spellId, ObjectGuid casterGUID = default, ObjectGuid itemCasterGUID = default, uint reqEffMask = 0, AuraApplication except = null)
{
uint rankSpell = Global.SpellMgr.GetFirstSpellInChain(spellId);
while (rankSpell != 0)