Пример #1
0
 public InternalTarget(TeleportSpell owner) : base(Core.ML ? 11 : 12, true, TargetFlags.None)
 {
     m_Owner = owner;
 }
Пример #2
0
 public InternalTarget(TeleportSpell owner) : base(owner.SpellRange, true, TargetFlags.None)
 {
     m_Owner = owner;
 }
Пример #3
0
 public InternalTarget( TeleportSpell owner )
     : base(12, true, TargetFlags.None)
 {
     m_Owner = owner;
 }
Пример #4
0
        public virtual Spell DoDispel(Mobile toDispel)
        {
            if (!SmartAI)
            {
                if (ScaleBySkill(DispelChance, SkillName.Magery) > Utility.RandomDouble())
                    return new DispelSpell(m_Mobile, null);

                return ChooseSpell(toDispel);
            }

            Spell spell = CheckCastHealingSpell();

            if (spell == null)
            {
                if (!m_Mobile.DisallowAllMoves && Utility.Random((int)m_Mobile.GetDistanceToSqrt(toDispel)) == 0)
                    spell = new TeleportSpell(m_Mobile, null);
                else if (Utility.Random(3) == 0 && !m_Mobile.InRange(toDispel, 3) && !toDispel.Paralyzed && !toDispel.Frozen)
                    spell = new ParalyzeSpell(m_Mobile, null);
                else
                    spell = new DispelSpell(m_Mobile, null);
            }

            return spell;
        }
Пример #5
0
			public InternalTarget(TeleportSpell owner)
				: base(owner.Caster.EraML ? 11 : 12, true, TargetFlags.None)
			{
				m_Owner = owner;
			}
Пример #6
0
		public virtual Spell DoDispel( Mobile toDispel )
		{
			if ( !SmartAI )
			{
				if ( ScaleByMagery( DispelChance ) > Utility.RandomDouble() )
					return new DispelSpell( m_Mobile, null );

				return ChooseSpell( toDispel );
			}

			Spell spell = null;

			if ( !m_Mobile.Summoned && Utility.Random( 0, 4 + (m_Mobile.Hits == 0 ? m_Mobile.HitsMax : (m_Mobile.HitsMax / m_Mobile.Hits)) ) >= 3 )
			{
				if ( m_Mobile.Hits < (m_Mobile.HitsMax - 50) )
					spell = new GreaterHealSpell( m_Mobile, null );
				else if ( m_Mobile.Hits < (m_Mobile.HitsMax - 20) )
					spell = new HealSpell( m_Mobile, null );
			}

			if ( spell == null )
			{
				if ( !m_Mobile.DisallowAllMoves && Utility.Random( (int)m_Mobile.GetDistanceToSqrt( toDispel ) ) == 0 )
					spell = new TeleportSpell( m_Mobile, null );
				else if ( Utility.Random( 3 ) == 0 && !m_Mobile.InRange( toDispel, 3 ) && !toDispel.Paralyzed && !toDispel.Frozen )
					spell = new ParalyzeSpell( m_Mobile, null );
				else
					spell = new DispelSpell( m_Mobile, null );
			}

			return spell;
		}
Пример #7
0
 public InternalTarget(TeleportSpell owner)
     : base(Core.ML ? 11 : 12, true, TargetFlags.None)
 {
     this.m_Owner = owner;
 }
Пример #8
0
 public InternalTarget(TeleportSpell owner)
     : base(11, true, TargetFlags.None)
 {
     this.m_Owner = owner;
 }
Пример #9
0
 public InternalSphereTarget(TeleportSpell owner)
     : base(Core.ML ? 10 : 12, true, TargetFlags.None)
 {
     m_Owner = owner;
     m_Owner.Caster.SendAsciiMessage("Selecione o alvo...");
 }
Пример #10
0
 public InternalSphereTarget(TeleportSpell owner)
     : base(Core.ML ? 10 : 12, true, TargetFlags.None)
 {
     m_Owner = owner;
     m_Owner.Caster.SendAsciiMessage("Selecione o alvo...");
 }
Пример #11
0
		public override Spell DoDispel(Mobile toDispel)
		{

			Spell spell = null;

			if (spell == null)
			{
				if (!m_Mobile.DisallowAllMoves && m_Mobile.InRange(toDispel, 4) && !toDispel.Paralyzed)
					spell = new TeleportSpell(m_Mobile, null);
				else if (Utility.Random(1) == 0 && !m_Mobile.InRange(toDispel, 3) && !toDispel.Paralyzed && !toDispel.Frozen)
					spell = new ParalyzeSpell(m_Mobile, null);
				else
				{
					if (toDispel is Daemon)
						return new MassDispelSpell(m_Mobile, null);
					else
						return new DispelSpell(m_Mobile, null);
				}
			}

			return spell;
		}