home *** CD-ROM | disk | FTP | other *** search
- // * Offensive mage...Berserk
- // * Fires off offensive spells and then closes to melee.
- // * Requires a mage with a large number of hit-points, else will die too easily.
-
- //*Mixed Mid-Level Offensive and Area effect*
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_ICE_STORM)
- !Range(LastSeenBy(Myself),20)
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_ICE_STORM)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_MONSTER_SUMMONING_2)
- THEN
- RESPONSE #100
- Spell(Myself,WIZARD_MONSTER_SUMMONING_2)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_DEATH_SPELL)
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_DEATH_SPELL)
- END
-
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_CONE_OF_COLD)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_CONE_OF_COLD)
- END
-
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_FIREBALL)
- !Range(LastSeenBy(Myself),20)
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_FIREBALL)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_LIGHTNING_BOLT)
- !HasBounceEffects(LastSeenBy(Myself))
- !Range(LastSeenBy(Myself),20)
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_LIGHTNING_BOLT)
- END
-
- // * cast delayed blast fireball and run
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_DELAYED_BLAST_FIREBALL)
- !Range(LastSeenBy(Myself),20)
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),WIZARD_DELAYED_BLAST_FIREBALL)
- RunAwayFrom(LastSeenBy(Myself),100)
- END
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_DISINTEGRATE)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_DISINTEGRATE)
- END
-
- // *Magic Attack*
- // * attemps to remove spell protections from an enemy mage
- // * Must check to see if it was able to bring down the shield
- // * if not, it should stop using this spell.
-
- IF
- ActionListEmpty()
- See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
- HaveSpell(WIZARD_RUBY_RAY_OF_REVERSAL)
- Global("pscript_SpellThrust","LOCALS",0)
- OR(2)
- HasBounceEffects(LastSeenBy(Myself))
- HasImmunityEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),WIZARD_RUBY_RAY_OF_REVERSAL)
- Wait(2)
- SetGlobal("pscript_SpellThrust","LOCALS",1)
- END
-
- // *
- // * spellThrust=1 means to check to see if the shields went down
- // * if they didn't, it means this spell won't work against the level of shielding this mage has
- // * so set the local to 2
- IF
- Global("pscript_SpellThrust","LOCALS",1)
- See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
- OR(2)
- HasBounceEffects(LastSeenBy(Myself))
- HasImmunityEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- SetGlobal("pscript_SpellThrust","LOCALS",2)
- END
- // * If the spell did work then reset the local to 0
- IF
- Global("pscript_SpellThrust","LOCALS",1)
- See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
- !HasBounceEffects(LastSeenBy(Myself))
- !HasImmunityEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- SetGlobal("pscript_SpellThrust","LOCALS",0)
- END
-
- // *
- // Khelben's warding whip.
- // *
- IF
- ActionListEmpty()
- See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
- HaveSpell(WIZARD_WARDING_WHIP)
- Global("pscript_WHIP","LOCALS",0)
- OR(2)
- HasBounceEffects(LastSeenBy(Myself))
- HasImmunityEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),WIZARD_WARDING_WHIP)
- Wait(2)
- SetGlobal("pscript_WHIP","LOCALS",1)
- END
-
- // *
- // * WHIP=1 means to check to see if the shields went down
- // * if they didn't, it means this spell won't work against the level of shielding this mage has
- // * so set the local to 2
- IF
- Global("pscript_WHIP","LOCALS",1)
- See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
- OR(2)
- HasBounceEffects(LastSeenBy(Myself))
- HasImmunityEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- SetGlobal("pscript_WHIP","LOCALS",2)
- END
- // * If the spell did work then reset the local to 0
- IF
- Global("pscript_WHIP","LOCALS",1)
- See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
- !HasBounceEffects(LastSeenBy(Myself))
- !HasImmunityEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- SetGlobal("pscript_WHIP","LOCALS",0)
- END
- //*Low-Level Offensive*
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_BURNING_HANDS)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_BURNING_HANDS)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_COLOR_SPRAY)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_COLOR_SPRAY)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_MAGIC_MISSILE)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_MAGIC_MISSILE)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_SLEEP)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_SLEEP)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_CHROMATIC_ORB)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_CHROMATIC_ORB)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_LARLOCH_MINOR_DRAIN)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_LARLOCH_MINOR_DRAIN)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_BLINDNESS)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_BLINDNESS)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_CHARM_PERSON)
- !StateCheck(LastSeenBy(Myself),STATE_CHARMED)
- !HasBounceEffects(LastSeenBy(Myself))
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_CHARM_PERSON)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(WIZARD_GREASE)
- THEN
- RESPONSE #100
- Spell(NearestEnemyOf(Myself),WIZARD_GREASE)
- END
-
- //*Combat*
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- THEN
- RESPONSE #100
- EquipMostDamagingMelee()
- AttackReevaluate(NearestEnemyOf(Myself),5)
- END
- // * reset locals*
- // * if no enemies are around
- IF
- !See(NearestEnemyOf(Myself))
- CombatCounter(0)
- OR(2)
- GlobalGT("pscript_SpellThrust","LOCALS",0)
- GlobalGT("pscript_WHIP","LOCALS",0)
- THEN
- RESPONSE #100
- SetGlobal("pscript_SpellThrust","LOCALS",0)
- SetGlobal("pscript_WHIP","LOCALS",0)
- END