home *** CD-ROM | disk | FTP | other *** search
- // * Defensive Spell Cleric
- // * Will defend self and Heal (healing being the highest priority action, after the Control section)
- // freedom, slow poison, restoration, holy might
- // *Notes: don't have a cleric cast blade barrier on self and be Script controlled
- // * the blade barrier will constantly kill your own party members
-
- //*Assistance*
- // * Cast freedoms, cure poisons and stuff like that
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_FREE_ACTION)
- See([PC])
- StateCheck(LastSeenBy(Myself),STATE_HELPLESS)
- !StateCheck(LastSeenBy(Myself),STATE_INVISIBLE)
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),CLERIC_FREE_ACTION)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_SLOW_POISON)
- See([PC])
- StateCheck(LastSeenBy(Myself),STATE_POISONED)
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),CLERIC_SLOW_POISON)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_NEUTRALIZE_POISON)
- See([PC])
- StateCheck(LastSeenBy(Myself),STATE_POISONED)
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),CLERIC_NEUTRALIZE_POISON)
- END
-
-
-
- //*Heal*
-
- // * Mass cure if both myself and one other member is not doing going
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_MASS_CURE)
- See([PC])
- OR(2)
- HPPercentLT(Player1,60)
- HPPercentLT(Player3,60)
- OR(2)
- HPPercentLT(Player2,60)
- HPPercentLT(Player5,60)
- OR(2)
- HPPercentLT(Player4,60)
- HPPercentLT(Player6,60)
- THEN
- RESPONSE #100
- Spell(LastSeenBy(Myself),CLERIC_MASS_CURE)
- END
-
- IF
- ActionListEmpty()
- HPPercentLT(LastSeenBy(Myself),10)
- !StateCheck(LastSeenBy(Myself),STATE_INVISIBLE)
- HaveSpell(CLERIC_HEAL)
- THEN
- RESPONSE #100
- Spell(LastSeenBy(),CLERIC_HEAL)
- END
-
- IF
- ActionListEmpty()
- HPPercentLT(MostDamagedOf(),60)
- !StateCheck(MostDamagedOf(),STATE_INVISIBLE)
- HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
- THEN
- RESPONSE #100
- Spell(MostDamagedOf(),CLERIC_CURE_SERIOUS_WOUNDS)
- END
-
-
- IF
- ActionListEmpty()
- HPPercentLT(MostDamagedOf(),50)
- !StateCheck(MostDamagedOf(),STATE_INVISIBLE)
- HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
- THEN
- RESPONSE #100
- Spell(MostDamagedOf(),CLERIC_CURE_LIGHT_WOUNDS)
- END
-
- IF
- ActionListEmpty()
- HPPercentLT(MostDamagedOf(),50)
- !StateCheck(MostDamagedOf(),STATE_INVISIBLE)
- HaveSpell(CLERIC_AID)
- THEN
- RESPONSE #100
- Spell(MostDamagedOf(),CLERIC_AID)
- END
-
-
- // * Defensive Spells*
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_PHYSICAL_MIRROR)
- HPGT(LastSeenBy(Myself),20)
- !HasBounceEffects(Myself)
- THEN
- RESPONSE #100
- Spell(Myself,CLERIC_PHYSICAL_MIRROR)
- END
-
- // *Removed, but will probably add a scripting state for Death Ward (waiting for a PR)
- // * this will let me detect if a death ward has already been cast on myself
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_DEATH_WARD)
- HPGT(LastSeenBy(Myself),20)
- CheckStat(Myself,0,SCRIPTINGSTATE2)
- THEN
- RESPONSE #100
- Spell(Myself,CLERIC_DEATH_WARD)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_ARMOR_OF_FAITH)
- CheckStatGT(Myself,3,ARMORCLASS)
- HPGT(LastSeenBy(Myself),20)
- THEN
- RESPONSE #100
- Spell(Myself,CLERIC_ARMOR_OF_FAITH)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- HaveSpell(CLERIC_BLESS)
- HPGT(LastSeenBy(Myself),20)
- !StateCheck(LastSeenBy(Myself),STATE_BLESS)
- THEN
- RESPONSE #100
- Spell(Myself,CLERIC_BLESS)
- END
-
- //*Heal Myself (lower-priority)*
- IF
- ActionListEmpty()
- HPPercentLT(Myself,10)
- HaveSpell(CLERIC_HEAL)
- THEN
- RESPONSE #100
- Spell(Myself,CLERIC_HEAL)
- END
-
- IF
- ActionListEmpty()
- HPPercentLT(Myself,60)
- HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
- THEN
- RESPONSE #100
- Spell(Myself,CLERIC_CURE_SERIOUS_WOUNDS)
- END
-
- // * only cast cure light wounds on self if enemy is at range (otherwise its usually wasted by a spell interruption)
- IF
- See(NearestEnemyOf(Myself))
- !Range(LastSeenBy(Myself),10)
- HPPercentLT(Myself,90)
- HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
- THEN
- RESPONSE #100
- Spell(MostDamagedOf(),CLERIC_CURE_LIGHT_WOUNDS)
- END
-
-
- // * Combat*
-
- IF
- ActionListEmpty()
- Help([PC])
- THEN
- RESPONSE #100
- AttackReevaluate(LastAttackerOf(LastHelp(Myself)),60)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- Range(NearestEnemyOf(Myself),4)
- THEN
- RESPONSE #100
- EquipMostDamagingMelee()
- AttackReevaluate(NearestEnemyOf(Myself),30)
- END
-
- IF
- ActionListEmpty()
- See(NearestEnemyOf(Myself))
- !Range(NearestEnemyOf(Myself),4)
- THEN
- RESPONSE #100
- EquipRanged()
- AttackReevaluate(NearestEnemyOf(Myself),30)
- END