public Spell GetMagerySpell() { Spell spell = null; // always check for bless, per OSI spell = CheckBless(); if ( spell != null ) { if ( m_Mobile.Debug ) m_Mobile.Say( 1156, "Blessing my self" ); return spell; } // always check for curse, per OSI spell = CheckCurse(); if ( spell != null ) { if ( m_Mobile.Debug ) m_Mobile.Say( 1156, "Cursing my opponent" ); return spell; } // 25% chance to cast poison if needed if ( m_Mobile.Combatant != null && !m_Mobile.Combatant.Poisoned && Utility.RandomDouble() > 0.75 ) { if ( m_Mobile.Debug ) m_Mobile.Say( 1156, "Casting Poison" ); spell = new PoisonSpell( m_Mobile, null ); } // scaling chance to drain mana based on how much of a caster the opponent is if ( CheckManaDrain() > 0.75 ) { if ( m_Mobile.Skills[SkillName.Magery].Value > 80.0 ) spell = new ManaVampireSpell( m_Mobile, null ); else if ( m_Mobile.Skills[SkillName.Magery].Value > 40.0 ) spell = new ManaDrainSpell( m_Mobile, null ); if ( spell != null ) { if ( m_Mobile.Debug ) m_Mobile.Say( 1156, "Draining mana" ); return spell; } } // 10% chance to summon help if ( m_CanUseMagerySummon && Utility.RandomDouble() > 0.90 ) { spell = CheckMagerySummon(); if ( spell != null ) { if ( m_Mobile.Debug ) m_Mobile.Say( 1156, "Summoning help" ); return spell; } } // Let's just blast the hell out of them. return GetRandomMageryDamageSpell(); }
public InternalTarget(ManaVampireSpell owner) : base(10, false, TargetFlags.Harmful) { m_Owner = owner; }
public InternalTarget( ManaVampireSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful ) { m_Owner = owner; }
public InternalTarget(ManaVampireSpell owner) : base(Core.ML ? 10 : 12, false, TargetFlags.Harmful) { this.m_Owner = owner; }
public InternalTarget(ManaVampireSpell owner) : base(owner.Caster.EraML ? 10 : 12, false, TargetFlags.Harmful) { m_Owner = owner; }
public InternalSphereTarget(ManaVampireSpell owner) : base(Core.ML ? 10 : 12, false, TargetFlags.Harmful) { m_Owner = owner; m_Owner.Caster.SendAsciiMessage("Selecione o alvo..."); }