Files
abysmal-isle/Scripts/Mobiles/AI/Magical AI/PaladinAI.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

86 lines
1.7 KiB
C#

#region References
using Server.Spells;
using Server.Spells.Chivalry;
#endregion
namespace Server.Mobiles
{
public class PaladinAI : MageAI
{
public override SkillName CastSkill { get { return SkillName.Chivalry; } }
public override bool UsesMagery { get { return false; } }
public override double HealChance { get { return .1; } }
public PaladinAI(BaseCreature m)
: base(m)
{ }
public override Spell GetRandomDamageSpell()
{
if (m_Mobile.Mana > 10 && 0.1 > Utility.RandomDouble())
return new HolyLightSpell(m_Mobile, null);
return null;
}
public override Spell GetRandomCurseSpell()
{
if (m_Mobile.Mana > 10)
return new DispelEvilSpell(m_Mobile, null);
return null;
}
public override Spell GetRandomBuffSpell()
{
var mana = m_Mobile.Mana;
var select = 1;
if (mana >= 15)
select = 3;
if (mana >= 20 && !EnemyOfOneSpell.UnderEffect(m_Mobile))
select = 4;
switch (Utility.Random(select))
{
case 0:
return new RemoveCurseSpell(m_Mobile, null);
case 1:
return new DivineFurySpell(m_Mobile, null);
case 2:
return new ConsecrateWeaponSpell(m_Mobile, null);
case 3:
return new EnemyOfOneSpell(m_Mobile, null);
}
return new ConsecrateWeaponSpell(m_Mobile, null);
}
public override Spell GetHealSpell()
{
if (m_Mobile.Mana > 10)
return new CloseWoundsSpell(m_Mobile, null);
return null;
}
public override Spell GetCureSpell()
{
if (m_Mobile.Mana > 10)
return new CleanseByFireSpell(m_Mobile, null);
return null;
}
protected override bool ProcessTarget()
{
if (m_Mobile.Target == null)
return false;
m_Mobile.Target.Invoke(m_Mobile, m_Mobile);
return true;
}
}
}