home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 61 / CDPowerplay61Disc2.iso / data1.cab / hd0_scripts / Text / cleric3.baf < prev    next >
Encoding:
Text File  |  2000-10-12  |  5.4 KB  |  275 lines

  1. // * Date Created:Mar 21, 2000.
  2. // * Created by:Brent Knowles
  3. // * Purpose: An Offensive / Defensive Druid-type character
  4. // *  - NO summoning (see cleric4)
  5.  
  6. //*Assistance*
  7. // * Cast cure poisons
  8.  
  9. IF
  10.     See(NearestEnemyOf(Myself))        
  11.     HaveSpell(CLERIC_SLOW_POISON)
  12.     See([PC])
  13.     StateCheck(LastSeenBy(Myself),STATE_POISONED)
  14. THEN
  15.     RESPONSE #100
  16.         Spell(LastSeenBy(Myself),CLERIC_SLOW_POISON)
  17. END
  18.  
  19. IF
  20.     See(NearestEnemyOf(Myself))        
  21.     HaveSpell(CLERIC_NEUTRALIZE_POISON)
  22.     See([PC])
  23.     StateCheck(LastSeenBy(Myself),STATE_POISONED)
  24. THEN
  25.     RESPONSE #100
  26.         Spell(LastSeenBy(Myself),CLERIC_NEUTRALIZE_POISON)
  27. END
  28.  
  29. // *Heal Others*
  30. // * Mass cure if both myself and one other member is not doing going
  31. IF
  32.     See(NearestEnemyOf(Myself))        
  33.     HaveSpell(CLERIC_MASS_CURE)
  34.     See([PC])
  35.     OR(2)
  36.     HPPercentLT(Player1,80)
  37.     HPPercentLT(Player3,80)
  38.     OR(2)
  39.     HPPercentLT(Player2,80)
  40.     HPPercentLT(Player5,80)
  41.     OR(2)
  42.     HPPercentLT(Player4,80)
  43.     HPPercentLT(Player6,80)
  44. THEN
  45.     RESPONSE #100
  46.         Spell(LastSeenBy(Myself),CLERIC_MASS_CURE)
  47. END
  48.  
  49. IF
  50.     ActionListEmpty()
  51.     HPPercentLT(LastSeenBy(Myself),10)
  52.     HaveSpell(CLERIC_HEAL)
  53.     !StateCheck(LastSeenBy(Myself),STATE_INVISIBLE)
  54. THEN
  55.     RESPONSE #100
  56.         Spell(LastSeenBy(Myself),CLERIC_HEAL)
  57. END
  58.  
  59. IF
  60.     ActionListEmpty()
  61.     HPPercentLT(MostDamagedOf(),60)
  62.     !StateCheck(MostDamagedOf(),STATE_INVISIBLE)
  63.     HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
  64. THEN
  65.     RESPONSE #100
  66.         Spell(MostDamagedOf(),CLERIC_CURE_SERIOUS_WOUNDS)
  67. END
  68.  
  69.  
  70. IF
  71.     ActionListEmpty()
  72.     HPPercentLT(MostDamagedOf(),50)
  73.     !StateCheck(MostDamagedOf(),STATE_INVISIBLE)
  74.     HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
  75. THEN
  76.     RESPONSE #100
  77.         Spell(MostDamagedOf(),CLERIC_CURE_LIGHT_WOUNDS)
  78. END
  79.  
  80. IF
  81.     ActionListEmpty()
  82.     HPPercentLT(MostDamagedOf(),50)
  83.     !StateCheck(MostDamagedOf(),STATE_INVISIBLE)
  84.     HaveSpell(CLERIC_AID)
  85. THEN
  86.     RESPONSE #100
  87.         Spell(MostDamagedOf(),CLERIC_AID)
  88. END
  89.  
  90. // *Defensive*
  91.  
  92. // * if see Vampires then protect self against energy draining.
  93.  
  94. // *protect companions
  95. IF
  96.     See([0.0.VAMPIRE])
  97.     !CombatCounter(0)
  98.     HaveSpell(CLERIC_NEGATIVE_PLANE_PROTECTION)
  99.     See([PC])
  100.     !StateCheck(LastSeenBy(Myself),STATE_INVISIBLE)
  101.     CheckStat(LastSeenBy(Myself),0,SCRIPTINGSTATE3)
  102. THEN
  103.     RESPONSE #100
  104.         Spell(LastSeenBy(Myself),CLERIC_NEGATIVE_PLANE_PROTECTION)
  105. END
  106. // * protect self
  107. IF
  108.     See([0.0.VAMPIRE])
  109.     !CombatCounter(0)
  110.     HaveSpell(CLERIC_NEGATIVE_PLANE_PROTECTION)
  111.     CheckStat(Myself,0,SCRIPTINGSTATE3)
  112. THEN
  113.     RESPONSE #100
  114.         Spell(Myself,CLERIC_NEGATIVE_PLANE_PROTECTION)
  115. END
  116.  
  117. IF
  118.     See(NearestEnemyOf(Myself))        
  119.     HaveSpell(CLERIC_IRONSKIN)
  120.     HPGT(LastSeenBy(Myself),20)
  121.     CheckStatLT(Myself,1,STONESKINS)
  122. THEN
  123.     RESPONSE #100
  124.         Spell(Myself,CLERIC_IRONSKIN)
  125. END
  126.  
  127. IF
  128.     ActionListEmpty()
  129.     See(NearestEnemyOf(Myself))        
  130.     HaveSpell(CLERIC_PHYSICAL_MIRROR)
  131.     HPGT(LastSeenBy(Myself),20)
  132.     !HasBounceEffects(Myself)
  133. THEN
  134.     RESPONSE #100
  135.         Spell(Myself,CLERIC_PHYSICAL_MIRROR)
  136. END
  137.  
  138. IF
  139.     See(NearestEnemyOf(Myself))        
  140.     HaveSpell(CLERIC_REGENERATE)
  141.     HPGT(LastSeenBy(Myself),20)
  142.     HPPercentLT(Myself,60)
  143. THEN
  144.     RESPONSE #100
  145.         Spell(Myself,CLERIC_REGENERATE)
  146. END
  147. //*Offensive*
  148.  
  149. IF
  150.     See(NearestEnemyOf(Myself))        
  151.     HaveSpell(CLERIC_CREEPING_DOOM)
  152.     HPGT(LastSeenBy(Myself),20)
  153. THEN
  154.     RESPONSE #100
  155.         Spell(NearestEnemyOf(Myself),CLERIC_CREEPING_DOOM)
  156. END
  157.  
  158. IF
  159.     See(NearestEnemyOf(Myself))        
  160.     HaveSpell(CLERIC_CONFUSION)
  161.     HPGT(LastSeenBy(Myself),20)
  162.     !StateCheck(LastSeenBy(Myself),STATE_CONFUSED)
  163. THEN
  164.     RESPONSE #100
  165.         Spell(NearestEnemyOf(Myself),CLERIC_CONFUSION)
  166. END
  167.  
  168.  
  169. IF
  170.     See(NearestEnemyOf(Myself))        
  171.     HaveSpell(CLERIC_ENTANGLE)
  172.     HPGT(LastSeenBy(Myself),20)
  173.     NumCreatureVsPartyGT([ENEMY],4)
  174.     AreaCheck(OUTDOOR)
  175. THEN
  176.     RESPONSE #100
  177.         Spell(LastSeenBy(Myself),CLERIC_ENTANGLE)
  178. END
  179.  
  180. IF
  181.     See(NearestEnemyOf(Myself))        
  182.     HaveSpell(CLERIC_INSECT_PLAGUE)
  183.     HPGT(LastSeenBy(Myself),20)
  184. THEN
  185.     RESPONSE #100
  186.         Spell(NearestEnemyOf(Myself),CLERIC_INSECT_PLAGUE)
  187. END
  188.  
  189. IF
  190.     See(NearestEnemyOf(Myself))        
  191.     HaveSpell(CLERIC_CALL_LIGHTNING)
  192.     HPGT(LastSeenBy(Myself),20)
  193.     AreaCheck(OUTDOOR)
  194. THEN
  195.     RESPONSE #100
  196.         Spell(NearestEnemyOf(Myself),CLERIC_CALL_LIGHTNING)
  197. END
  198.  
  199. IF
  200.     See(NearestEnemyOf(Myself))        
  201.     HaveSpell(CLERIC_SUMMON_INSECTS)
  202.     HPGT(LastSeenBy(Myself),20)
  203. THEN
  204.     RESPONSE #100
  205.         Spell(NearestEnemyOf(Myself),CLERIC_SUMMON_INSECTS)
  206. END
  207.  
  208. IF
  209.     See(NearestEnemyOf(Myself))        
  210.     HaveSpell(CLERIC_NATURE_BEAUTY)
  211.     HPGT(LastSeenBy(Myself),20)
  212. THEN
  213.     RESPONSE #100
  214.         Spell(Myself,CLERIC_NATURE_BEAUTY)
  215. END
  216.  
  217. IF
  218.     See(NearestEnemyOf(Myself))        
  219.     HaveSpell(CLERIC_FINGER_OF_DEATH)
  220.     HPGT(LastSeenBy(Myself),20)
  221.     HPLT(LastSeenBy(Myself),50)
  222. THEN
  223.     RESPONSE #100
  224.         Spell(NearestEnemyOf(Myself),CLERIC_FINGER_OF_DEATH)
  225. END
  226.  
  227.  
  228.  
  229. //*Heal Myself (lower-priority)*
  230. IF
  231.     ActionListEmpty()
  232.     HPPercentLT(Myself,10)
  233.     HaveSpell(CLERIC_HEAL)
  234. THEN
  235.     RESPONSE #100
  236.         Spell(Myself,CLERIC_HEAL)
  237. END
  238.  
  239. IF
  240.     ActionListEmpty()
  241.     HPPercentLT(Myself,60)
  242.     HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
  243. THEN
  244.     RESPONSE #100
  245.         Spell(Myself,CLERIC_CURE_SERIOUS_WOUNDS)
  246. END
  247.  
  248. // *Combat*
  249.  
  250. IF
  251.     ActionListEmpty()
  252.     Help([PC])
  253. THEN
  254.     RESPONSE #100
  255.         AttackReevaluate(LastAttackerOf(LastHelp(Myself)),60)
  256. END
  257.  
  258. IF
  259.     See(NearestEnemyOf(Myself))
  260.     Range(NearestEnemyOf(Myself),4)
  261. THEN
  262.     RESPONSE #100
  263.         EquipMostDamagingMelee()
  264.         AttackReevaluate(NearestEnemyOf(Myself),30)
  265. END
  266.  
  267. IF
  268.     ActionListEmpty()
  269.     See(NearestEnemyOf(Myself))
  270.     !Range(NearestEnemyOf(Myself),4)
  271. THEN
  272.     RESPONSE #100
  273.         EquipRanged()
  274.         AttackReevaluate(NearestEnemyOf(Myself),30)
  275. END