Jump to content

Ease of use AI contribution


the bigg

Recommended Posts

I tend to memorize lots of low-level Healing spells, but often forget to cast them. I added automatic casting of said spells to my local copy, maybe it's relevant enough to be added to SCSII. Priests will automatically cure healing spells outside of combat on hurt party members. Only "cheap" spells will be cast (cheap = the spell is two levels under the max castable spell, so a cleric must be 5th level to cast Cure Light Wounds and will never cast Heal automatically).

 

IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player1)
   HPPercentLT(Player1,90)
   LevelGT(Myself,4)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player1,CLERIC_CURE_LIGHT_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player2)
   HPPercentLT(Player2,90)
   LevelGT(Myself,4)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player2,CLERIC_CURE_LIGHT_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player3)
   HPPercentLT(Player3,90)
   LevelGT(Myself,4)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player3,CLERIC_CURE_LIGHT_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player4)
   HPPercentLT(Player4,90)
   LevelGT(Myself,4)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player4,CLERIC_CURE_LIGHT_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player5)
   HPPercentLT(Player5,90)
   LevelGT(Myself,4)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player5,CLERIC_CURE_LIGHT_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_LIGHT_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player6)
   HPPercentLT(Player6,90)
   LevelGT(Myself,4)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player6,CLERIC_CURE_LIGHT_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player1)
   HPPercentLT(Player1,80)
   LevelGT(Myself,8)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player1,CLERIC_CURE_MEDIUM_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player2)
   HPPercentLT(Player2,80)
   LevelGT(Myself,8)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player2,CLERIC_CURE_MEDIUM_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player3)
   HPPercentLT(Player3,80)
   LevelGT(Myself,8)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player3,CLERIC_CURE_MEDIUM_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player4)
   HPPercentLT(Player4,80)
   LevelGT(Myself,8)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player4,CLERIC_CURE_MEDIUM_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player5)
   HPPercentLT(Player5,80)
   LevelGT(Myself,8)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player5,CLERIC_CURE_MEDIUM_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_MEDIUM_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player6)
   HPPercentLT(Player6,80)
   LevelGT(Myself,8)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player6,CLERIC_CURE_MEDIUM_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player1)
   HPPercentLT(Player1,70)
   LevelGT(Myself,10)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player1,CLERIC_CURE_SERIOUS_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player2)
   HPPercentLT(Player2,70)
   LevelGT(Myself,10)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player2,CLERIC_CURE_SERIOUS_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player3)
   HPPercentLT(Player3,70)
   LevelGT(Myself,10)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player3,CLERIC_CURE_SERIOUS_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player4)
   HPPercentLT(Player4,70)
   LevelGT(Myself,10)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player4,CLERIC_CURE_SERIOUS_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player5)
   HPPercentLT(Player5,70)
   LevelGT(Myself,10)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player5,CLERIC_CURE_SERIOUS_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_SERIOUS_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player6)
   HPPercentLT(Player6,70)
   LevelGT(Myself,10)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player6,CLERIC_CURE_SERIOUS_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player1)
   HPPercentLT(Player1,60)
   LevelGT(Myself,12)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player1,CLERIC_CURE_CRITICAL_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player2)
   HPPercentLT(Player2,60)
   LevelGT(Myself,12)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player2,CLERIC_CURE_CRITICAL_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player3)
   HPPercentLT(Player3,60)
   LevelGT(Myself,12)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player3,CLERIC_CURE_CRITICAL_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player4)
   HPPercentLT(Player4,60)
   LevelGT(Myself,12)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player4,CLERIC_CURE_CRITICAL_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player5)
   HPPercentLT(Player5,60)
   LevelGT(Myself,12)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player5,CLERIC_CURE_CRITICAL_WOUNDS)
END    
IF
   ActionListEmpty()
   HaveSpell(CLERIC_CURE_CRITICAL_WOUNDS)
   CombatCounter(0)
   !Global("DMWWBuff","LOCALS",0)
   !Detect(NearestEnemyOf(Myself))
   See(Player6)
   HPPercentLT(Player6,60)
   LevelGT(Myself,12)
   !CheckStatGT(Myself,0,SPELLFAILUREPRIEST)
THEN    
   RESPONSE #80
       ApplySpellRES("wesalac",Myself)
       Spell(Player6,CLERIC_CURE_CRITICAL_WOUNDS)
END    

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...