IF Allegiance(Myself,NEUTRAL) OR(7) AttackedBy([GOODCUTOFF.0.0.0.0.SUMMONED],DEFAULT) AttackedBy([PC],DEFAULT) AttackedBy([FAMILIAR],DEFAULT) AttackedBy([ALLY],DEFAULT) AttackedBy([CONTROLLED],DEFAULT) AttackedBy([CHARMED],DEFAULT) SpellCastOnMe([GOODCUTOFF.0.0.0.0.SUMMONED],0) THEN RESPONSE #100 Enemy() Shout(ALERT_89) Continue() END IF HitBy([GOODCUTOFF],CRUSHING) THEN RESPONSE #100 Shout(ALERT_89) Continue() END IF Allegiance(Myself,ENEMY) See(NearestEnemyOf(Myself)) !GlobalTimerNotExpired("help_initial","LOCALS") THEN RESPONSE #100 SetGlobalTimer("help_initial","LOCALS",TEN_ROUNDS) Shout(ALERT_89) Continue() END IF Heard([ANYONE],ALERT_89) Allegiance(Myself,NEUTRAL) Class(Myself,INNOCENT) !CheckStatGT(Myself,1,LEVEL) THEN RESPONSE #100 SetGlobalTimer("runfromPC","LOCALS",TEN_ROUNDS) Continue() END IF Heard([ANYONE],ALERT_89) Allegiance(Myself,NEUTRAL) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) THEN RESPONSE #100 Enemy() Shout(189) Continue() END IF Heard([ANYONE],189) Allegiance(Myself,NEUTRAL) THEN RESPONSE #100 Enemy() Continue() END IF GlobalGT("helptarget","LOCALS",0) Global("looking","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") !See(NearestEnemyOf(Myself)) THEN RESPONSE #100 SetGlobal("helptarget","LOCALS",0) SetGlobal("looking","LOCALS",0) END IF !GlobalGT("helptarget","LOCALS",0) Allegiance(Myself,ENEMY) See(Player1) THEN RESPONSE #100 Shout(891) SetGlobal("helptarget","LOCALS",1) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) Continue() END IF !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],891) !GlobalTimerNotExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1891) Enemy() SetGlobal("helptarget","LOCALS",1) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF OR(3) Global("AI_override","GLOBAL",0) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) OR(3) DifficultyGT(EASY) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],1891) Range(LastHeardBy(Myself),15) !Global("help_hostile","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1891) Enemy() SetGlobal("help_hostile","LOCALS",1) SetGlobal("helptarget","LOCALS",1) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) Global("helptarget","LOCALS",1) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) OR(2) StateCheck(Player1,STATE_INVISIBLE) CheckStatGT(Player1,0,SANCTUARY) THEN RESPONSE #100 ClearActions(Myself) SetGlobal("helptarget","LOCALS",0) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) !StateCheck(Player1,STATE_INVISIBLE) !CheckStatGT(Player1,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",1) OR(2) Class(Myself,THIEF_ALL) Kit(Myself,STALKER) !Kit(Myself,SWASHBUCKLER) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player1) ApplySpellRES("dw#silin",Myself) // Invisibility END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) !StateCheck(Player1,STATE_INVISIBLE) !CheckStatGT(Player1,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",1) !Class(Myself,INNOCENT) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player1) END IF !GlobalGT("helptarget","LOCALS",0) Allegiance(Myself,ENEMY) See(Player2) THEN RESPONSE #100 Shout(892) SetGlobal("helptarget","LOCALS",2) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) Continue() END IF !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],892) !GlobalTimerNotExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1892) Enemy() SetGlobal("helptarget","LOCALS",2) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF OR(3) Global("AI_override","GLOBAL",0) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) OR(3) DifficultyGT(EASY) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],1892) Range(LastHeardBy(Myself),15) !Global("help_hostile","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1892) Enemy() SetGlobal("help_hostile","LOCALS",1) SetGlobal("helptarget","LOCALS",2) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) Global("helptarget","LOCALS",2) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) OR(2) StateCheck(Player1,STATE_INVISIBLE) CheckStatGT(Player1,0,SANCTUARY) THEN RESPONSE #100 ClearActions(Myself) SetGlobal("helptarget","LOCALS",0) END IF !See(NearestEnemyOf(Myself)) !Detect(Player2) !StateCheck(Player2,STATE_INVISIBLE) !CheckStatGT(Player2,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",2) OR(2) Class(Myself,THIEF_ALL) Kit(Myself,STALKER) !Kit(Myself,SWASHBUCKLER) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player2) ApplySpellRES("dw#silin",Myself) // Invisibility END IF !See(NearestEnemyOf(Myself)) !Detect(Player2) !StateCheck(Player2,STATE_INVISIBLE) !CheckStatGT(Player2,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",2) !Class(Myself,INNOCENT) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player2) END IF !GlobalGT("helptarget","LOCALS",0) Allegiance(Myself,ENEMY) See(Player3) THEN RESPONSE #100 Shout(893) SetGlobal("helptarget","LOCALS",3) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) Continue() END IF !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],893) !GlobalTimerNotExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1893) Enemy() SetGlobal("helptarget","LOCALS",3) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF OR(3) Global("AI_override","GLOBAL",0) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) OR(3) DifficultyGT(EASY) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],1893) Range(LastHeardBy(Myself),15) !Global("help_hostile","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1893) Enemy() SetGlobal("help_hostile","LOCALS",1) SetGlobal("helptarget","LOCALS",3) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) Global("helptarget","LOCALS",3) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) OR(2) StateCheck(Player1,STATE_INVISIBLE) CheckStatGT(Player1,0,SANCTUARY) THEN RESPONSE #100 ClearActions(Myself) SetGlobal("helptarget","LOCALS",0) END IF !See(NearestEnemyOf(Myself)) !Detect(Player3) !StateCheck(Player3,STATE_INVISIBLE) !CheckStatGT(Player3,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",3) OR(2) Class(Myself,THIEF_ALL) Kit(Myself,STALKER) !Kit(Myself,SWASHBUCKLER) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player3) ApplySpellRES("dw#silin",Myself) // Invisibility END IF !See(NearestEnemyOf(Myself)) !Detect(Player3) !StateCheck(Player3,STATE_INVISIBLE) !CheckStatGT(Player3,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",3) !Class(Myself,INNOCENT) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player3) END IF !GlobalGT("helptarget","LOCALS",0) Allegiance(Myself,ENEMY) See(Player4) THEN RESPONSE #100 Shout(894) SetGlobal("helptarget","LOCALS",4) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) Continue() END IF !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],894) !GlobalTimerNotExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1894) Enemy() SetGlobal("helptarget","LOCALS",4) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF OR(3) Global("AI_override","GLOBAL",0) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) OR(3) DifficultyGT(EASY) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],1894) Range(LastHeardBy(Myself),15) !Global("help_hostile","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1894) Enemy() SetGlobal("help_hostile","LOCALS",1) SetGlobal("helptarget","LOCALS",4) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) Global("helptarget","LOCALS",4) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) OR(2) StateCheck(Player1,STATE_INVISIBLE) CheckStatGT(Player1,0,SANCTUARY) THEN RESPONSE #100 ClearActions(Myself) SetGlobal("helptarget","LOCALS",0) END IF !See(NearestEnemyOf(Myself)) !Detect(Player4) !StateCheck(Player4,STATE_INVISIBLE) !CheckStatGT(Player4,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",4) OR(2) Class(Myself,THIEF_ALL) Kit(Myself,STALKER) !Kit(Myself,SWASHBUCKLER) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player4) ApplySpellRES("dw#silin",Myself) // Invisibility END IF !See(NearestEnemyOf(Myself)) !Detect(Player4) !StateCheck(Player4,STATE_INVISIBLE) !CheckStatGT(Player4,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",4) !Class(Myself,INNOCENT) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player4) END IF !GlobalGT("helptarget","LOCALS",0) Allegiance(Myself,ENEMY) See(Player5) THEN RESPONSE #100 Shout(895) SetGlobal("helptarget","LOCALS",5) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) Continue() END IF !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],895) !GlobalTimerNotExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1895) Enemy() SetGlobal("helptarget","LOCALS",5) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF OR(3) Global("AI_override","GLOBAL",0) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) OR(3) DifficultyGT(EASY) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],1895) Range(LastHeardBy(Myself),15) !Global("help_hostile","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1895) Enemy() SetGlobal("help_hostile","LOCALS",1) SetGlobal("helptarget","LOCALS",5) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) Global("helptarget","LOCALS",5) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) OR(2) StateCheck(Player1,STATE_INVISIBLE) CheckStatGT(Player1,0,SANCTUARY) THEN RESPONSE #100 ClearActions(Myself) SetGlobal("helptarget","LOCALS",0) END IF !See(NearestEnemyOf(Myself)) !Detect(Player5) !StateCheck(Player5,STATE_INVISIBLE) !CheckStatGT(Player5,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",5) OR(2) Class(Myself,THIEF_ALL) Kit(Myself,STALKER) !Kit(Myself,SWASHBUCKLER) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player5) ApplySpellRES("dw#silin",Myself) // Invisibility END IF !See(NearestEnemyOf(Myself)) !Detect(Player5) !StateCheck(Player5,STATE_INVISIBLE) !CheckStatGT(Player5,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",5) !Class(Myself,INNOCENT) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player5) END IF !GlobalGT("helptarget","LOCALS",0) Allegiance(Myself,ENEMY) See(Player6) THEN RESPONSE #100 Shout(896) SetGlobal("helptarget","LOCALS",6) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) Continue() END IF !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],896) !GlobalTimerNotExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1896) Enemy() SetGlobal("helptarget","LOCALS",6) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF OR(3) Global("AI_override","GLOBAL",0) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) OR(3) DifficultyGT(EASY) Global("AI_override","GLOBAL",2) Global("AI_override","GLOBAL",3) !GlobalGT("helptarget","LOCALS",0) !See(NearestEnemyOf(Myself)) Heard([ANYONE],1896) Range(LastHeardBy(Myself),15) !Global("help_hostile","LOCALS",1) GlobalTimerExpired("helpduration","LOCALS") OR(2) Allegiance(Myself,NEUTRAL) Allegiance(Myself,ENEMY) THEN RESPONSE #100 Shout(1896) Enemy() SetGlobal("help_hostile","LOCALS",1) SetGlobal("helptarget","LOCALS",6) SetGlobalTimer("helpduration","LOCALS",TWO_ROUNDS) END IF !See(NearestEnemyOf(Myself)) !Detect(Player1) Global("helptarget","LOCALS",6) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) OR(2) StateCheck(Player1,STATE_INVISIBLE) CheckStatGT(Player1,0,SANCTUARY) THEN RESPONSE #100 ClearActions(Myself) SetGlobal("helptarget","LOCALS",0) END IF !See(NearestEnemyOf(Myself)) !Detect(Player6) !StateCheck(Player6,STATE_INVISIBLE) !CheckStatGT(Player6,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",6) OR(2) Class(Myself,THIEF_ALL) Kit(Myself,STALKER) !Kit(Myself,SWASHBUCKLER) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player6) ApplySpellRES("dw#silin",Myself) // Invisibility END IF !See(NearestEnemyOf(Myself)) !Detect(Player6) !StateCheck(Player6,STATE_INVISIBLE) !CheckStatGT(Player6,0,SANCTUARY) ActionListEmpty() Global("helptarget","LOCALS",6) !Class(Myself,INNOCENT) !HasItem("dw#nohlp",Myself) // Fire Agate Gem THEN RESPONSE #100 MoveToObject(Player6) END IF OR(2) Allegiance(Myself,ENEMY) Allegiance(Myself,NEUTRAL) !See(NearestEnemyOf(Myself)) Heard([ANYONE],ALERT_89) OR(2) !Class(Myself,INNOCENT) CheckStatGT(Myself,1,LEVEL) THEN RESPONSE #100 MoveToObject(LastHeardBy(Myself)) END ~~~~~*~~~~~~ IF Die() THEN RESPONSE #100 Shout(DEAD_MEAT) END IF Global("BPCHARM","LOCALS",1) !StateCheck(Myself,STATE_CHARMED) THEN RESPONSE #100 SetGlobal("BPCHARM","LOCALS",0) ClearActions(Myself) Continue() END IF OR(2) Heard([NEUTRAL],ALERT_79) Heard([EVILCUTOFF],ALERT_79) Allegiance(Myself,NEUTRAL) !Global("BP_PlotMan","LOCALS",1) THEN RESPONSE #100 Enemy() Continue() END IF !Allegiance(Myself,ENEMY) !Allegiance(Myself,PC) OR(2) AttackedBy([GOODCUTOFF],DEFAULT) Allegiance(LastAttackerOf(Myself),GOODCUTOFF) THEN RESPONSE #100 Shout(ALERT_151) Enemy() Continue() END IF !Allegiance(Myself,ENEMY) !Allegiance(Myself,GOODCUTOFF) OR(2) HitBy([GOODCUTOFF],CRUSHING) Allegiance(LastHitter(Myself),GOODCUTOFF) THEN RESPONSE #100 Shout(ALERT_151) Enemy() Continue() END IF CheckStat(Myself,11,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) !StateCheck(Myself,STATE_SLEEPING) CheckStatGT(Myself,4,SAVEVSSPELL) OR(2) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Range(LastSeenBy(Myself),16) THEN RESPONSE #100 SetInterrupt(FALSE) RunAwayFrom(LastSeenBy(Myself),30) SetInterrupt(TRUE) END IF CheckStatGT(Myself,11,WIZARD_GREATER_MALISON) CheckStatLT(Myself,15,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) CheckStatLT(Myself,1,CLERIC_FREE_ACTION) CheckStatLT(Myself,1,WEB) CheckStatLT(Myself,1,ENTANGLE) CheckStatGT(Myself,4,SAVEVSSPELL) OR(3) Detect([0.0.MORNINGSTAR.FAIRY_NYMPH.65]) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Range(LastSeenBy(Myself),16) THEN RESPONSE #100 SetInterrupt(FALSE) RunAwayFrom(LastSeenBy(Myself),30) SetInterrupt(TRUE) END IF CheckStat(Myself,15,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) CheckStatLT(Myself,100,RESISTCOLD) OR(3) Detect([0.0.MORNINGSTAR.FAIRY_NYMPH.65]) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Range(LastSeenBy(Myself),16) THEN RESPONSE #100 SetInterrupt(FALSE) RunAwayFrom(LastSeenBy(Myself),30) SetInterrupt(TRUE) END IF CheckStat(Myself,16,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) CheckStatLT(Myself,100,RESISTPOISON) OR(3) Detect([0.0.MORNINGSTAR.FAIRY_NYMPH.65]) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Range(LastSeenBy(Myself),16) THEN RESPONSE #100 SetInterrupt(FALSE) RunAwayFrom(LastSeenBy(Myself),30) SetInterrupt(TRUE) END IF CheckStat(Myself,17,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) CheckStatLT(Myself,100,RESISTACID) OR(3) Detect([0.0.MORNINGSTAR.FAIRY_NYMPH.65]) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Range(LastSeenBy(Myself),16) THEN RESPONSE #100 SetInterrupt(FALSE) RunAwayFrom(LastSeenBy(Myself),30) SetInterrupt(TRUE) END IF CheckStat(Myself,18,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) CheckStatLT(Myself,100,RESISTFIRE) OR(3) Detect([0.0.MORNINGSTAR.FAIRY_NYMPH.65]) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Range(LastSeenBy(Myself),16) THEN RESPONSE #100 SetInterrupt(FALSE) RunAwayFrom(LastSeenBy(Myself),30) SetInterrupt(TRUE) END IF CheckStatLT(Myself,11,WIZARD_GREATER_MALISON) CheckStatGT(Myself,5,INT) OR(3) Detect([0.0.MORNINGSTAR.FAIRY_NYMPH.65]) Detect(NearestEnemyOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) Detect(NearestMyGroupOfType([0.0.MORNINGSTAR.FAIRY_NYMPH.65])) !Range(LastSeenBy(Myself),16) Exists([EVILCUTOFF]) !Range(NearestEnemyOf(Myself),2) THEN RESPONSE #100 EquipRanged() SmallWait(3) Continue() END IF OR(2) !Allegiance(Myself,EVILCUTOFF) !Detect([GOODCUTOFF]) THEN RESPONSE #100 END IF TargetUnreachable(LastSeenBy(Myself)) Delay(3) THEN RESPONSE #100 ClearActions(Myself) Continue() END IF Range(NearestEnemyOf(Myself),2) OR(2) CheckStatGT(NearestEnemyOf(Myself),0,CLERIC_BLADE_BARRIER) CheckStatGT(NearestEnemyOf(Myself),0,WIZARD_FIRE_SHIELD) THEN RESPONSE #80 RunAwayFrom(NearestEnemyOf(Myself),4) RESPONSE #20 Continue() END IF HasItem("potn55",Myself) // Potion of Superior Healing !GlobalTimerNotExpired("POT","LOCALS") HPPercentLT(Myself,60) THEN RESPONSE #100 DisplayStringHead(Myself,46150) // quaffs a potion SetGlobalTimer("POT","LOCALS",ONE_ROUND) UseItem("potn55",Myself) // Potion of Superior Healing END IF HasItem("potn52",Myself) // Potion of Extra Healing !GlobalTimerNotExpired("POT","LOCALS") HPPercentLT(Myself,70) THEN RESPONSE #100 DisplayStringHead(Myself,46150) // quaffs a potion SetGlobalTimer("POT","LOCALS",ONE_ROUND) UseItem("potn52",Myself) // Potion of Extra Healing END IF HasItem("POTN08",Myself) // Potion of Healing !GlobalTimerNotExpired("POT","LOCALS") HPPercentLT(Myself,85) RandomNumLT(201,80) THEN RESPONSE #100 SetGlobalTimer("POT","LOCALS",ONE_ROUND) UseItem("POTN08",Myself) // Potion of Healing DisplayStringHead(Myself,46150) // quaffs a potion END IF ActionListEmpty() HPPercentLT(Myself,35) CheckStatGT(Myself,7,INT) OR(2) General(Myself,HUMANOID) General(Myself,GIANTHUMANOID) !HasItem("POTN55",Myself) // Potion of Superior Healing !HasItem("POTN52",Myself) // Potion of Extra Healing !GlobalTimerNotExpired("BPW","LOCALS") Range([EVILCUTOFF],15) THEN RESPONSE #80 SetGlobalTimer("BPW","LOCALS",ONE_ROUND) DisplayStringHead(Myself,72808) // I need healing! Shout(HEALME) RESPONSE #20 Continue() END IF ActionListEmpty() HPPercentLT(Myself,35) CheckStatGT(Myself,7,INT) !General(Myself,HUMANOID) !General(Myself,GIANTHUMANOID) !HasItem("POTN55",Myself) // Potion of Superior Healing !HasItem("POTN52",Myself) // Potion of Extra Healing !GlobalTimerNotExpired("BPW","LOCALS") Range([EVILCUTOFF],15) THEN RESPONSE #80 SetGlobalTimer("BPW","LOCALS",ONE_ROUND) DisplayStringHead(Myself,205591) // *whines* Shout(HEALME) RESPONSE #20 Continue() END IF StateCheck(Myself,STATE_POISONED) HasItem("potn17",Myself) // Elixir of Health !GlobalTimerNotExpired("POT","LOCALS") THEN RESPONSE #100 SetGlobalTimer("POT","LOCALS",ONE_ROUND) DisplayStringHead(Myself,46150) // quaffs a potion UseItem("potn17",Myself) // Elixir of Health END IF StateCheck(Myself,STATE_POISONED) HasItem("potn20",Myself) // Antidote !GlobalTimerNotExpired("POT","LOCALS") THEN RESPONSE #100 SetGlobalTimer("POT","LOCALS",ONE_ROUND) DisplayStringHead(Myself,46150) // quaffs a potion UseItem("potn20",Myself) // Antidote END IF ActionListEmpty() StateCheck(Myself,STATE_POISONED) CheckStatGT(Myself,7,INT) OR(2) General(Myself,HUMANOID) General(Myself,GIANTHUMANOID) Range([EVILCUTOFF],15) !GlobalTimerNotExpired("POIS","LOCALS") !HasItem("POTN17",Myself) // Elixir of Health !HasItem("POTN20",Myself) // Antidote THEN RESPONSE #100 Shout(HEALME_83) DisplayStringHead(Myself,205592) // Help! I'm...poisoned. SetGlobalTimer("POIS","LOCALS",ONE_ROUND) END IF ActionListEmpty() StateCheck(Myself,STATE_POISONED) CheckStatGT(Myself,7,INT) !General(Myself,HUMANOID) !General(Myself,GIANTHUMANOID) Range([EVILCUTOFF],15) !GlobalTimerNotExpired("POIS","LOCALS") !HasItem("POTN17",Myself) // Elixir of Health !HasItem("POTN20",Myself) // Antidote THEN RESPONSE #100 Shout(HEALME_83) DisplayStringHead(Myself,205593) // *groans* SetGlobalTimer("POIS","LOCALS",ONE_ROUND) END IF ActionListEmpty() HitBy([GOODCUTOFF],CRUSHING) CheckStatGT(Myself,7,INT) OR(2) General(Myself,HUMANOID) General(Myself,GIANTHUMANOID) !GlobalTimerNotExpired("RANG","LOCALS") !StateCheck(Myself,STATE_POISONED) OR(2) See(LastAttackerOf(Myself)) See(LastHitter(Myself)) OR(3) !Race(LastSeenBy(Myself),MORNINGSTAR) !Class(LastSeenBy(Myself),FAIRY_NYMPH) !Specifics(LastSeenBy(Myself),65) !Range(LastSeenBy(Myself),5) !TargetUnreachable(LastSeenBy(Myself)) !InWeaponRange(LastSeenBy(Myself)) HPGT(LastSeenBy(Myself),0) THEN RESPONSE #50 DisplayStringHead(Myself,97249) // Knave! Come fight like a warrior... SetGlobalTimer("RANG","LOCALS",ONE_ROUND) RESPONSE #50 DisplayStringHead(Myself,97250) // Come closer and fight me fair! SetGlobalTimer("RANG","LOCALS",ONE_ROUND) RESPONSE #25 DisplayStringHead(Myself,97251) // You coward! Using a ranged weapon to attack me! SetGlobalTimer("RANG","LOCALS",ONE_ROUND) RESPONSE #25 DisplayStringHead(Myself,97252) // Barb-slinger! I bet you`re too weak for melee... SetGlobalTimer("RANG","LOCALS",ONE_ROUND) RESPONSE #50 DisplayStringHead(Myself,205594) // Hmm...Let's see if you can melee! SetGlobalTimer("RANG","LOCALS",ONE_ROUND) MoveToObject(LastSeenBy(Myself)) AttackReevaluate(LastSeenBy(Myself),180) END IF OR(3) !Race(NearestEnemyOf(Myself),MORNINGSTAR) !Class(NearestEnemyOf(Myself),FAIRY_NYMPH) !Specifics(NearestEnemyOf(Myself),65) See(NearestEnemyOf(Myself)) False() THEN RESPONSE #100 Continue() END IF RandomNumLT(28,22) OR(4) See([GOODCUTOFF.0.0.0.0.SUMMONED_DEMON]) See([GOODCUTOFF.0.0.0.0.SUMMONED]) See([GOODCUTOFF.0.0.0.SIMULACRUM]) See([GOODCUTOFF.0.0.0.0.ILLUSIONARY]) False() THEN RESPONSE #100 Continue() END IF RandomNumLT(31,26) OR(6) See(NearestEnemyOf(Myself)) See(WeakestOf) See(WorstAC) See(MostDamagedOf) See(LastAttackerOf(Myself)) See(LastHitter(Myself)) False() THEN RESPONSE #100 Continue() END IF RandomNumLT(23,14) OR(3) See(NearestEnemyOfType([GOODCUTOFF.0.0.BARD_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.LONG_BOW])) See(NearestEnemyOfType([GOODCUTOFF.0.0.SORCERER])) RandomNumLT(24,11) OR(4) See(NearestEnemyOfType([GOODCUTOFF.0.0.RANGER_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.PALADIN_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.DRUID_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.CLERIC_ALL])) RandomNumLT(25,10) OR(3) See(NearestEnemyOfType([GOODCUTOFF.0.0.MONK])) See(NearestEnemyOfType([GOODCUTOFF.0.0.THIEF_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.BARD_ALL])) RandomNumLT(21,7) OR(3) See(NearestEnemyOfType([GOODCUTOFF.0.0.FIGHTER_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.RANGER_ALL])) See(NearestEnemyOfType([GOODCUTOFF.0.0.PALADIN_ALL])) False() THEN RESPONSE #100 Continue() END IF RandomNumLT(32,25) OR(3) Heard(ThirdNearestMyGroupOfType([EVILCUTOFF]),ASSIST) Heard(SecondNearestMyGroupOfType([EVILCUTOFF]),ASSIST) Heard(NearestMyGroupOfType([EVILCUTOFF]),ASSIST) HPGT(LastHeardBy(Myself),1) Range(LastHeardBy(Myself),20) Exists(LastAttackerOf(LastHeardBy(Myself))) !Allegiance(LastAttackerOf(LastHeardBy(Myself)),EVILCUTOFF) !StateCheck(LastAttackerOf(LastHeardBy(Myself)),STATE_CHARMED) OR(3) !Race(LastAttackerOf(LastHeardBy(Myself)),MORNINGSTAR) !Class(LastAttackerOf(LastHeardBy(Myself)),FAIRY_NYMPH) !Specifics(LastAttackerOf(LastHeardBy(Myself)),65) OR(3) !StateCheck(LastAttackerOf(LastHeardBy(Myself)),STATE_NOT_VISIBLE) CheckStatGT(Myself,0,SEEINVISIBLE) CheckStatGT(Myself,0,TRUE_SIGHT) See(LastAttackerOf(LastHeardBy(Myself))) False() THEN RESPONSE #100 Continue() END IF RandomNumLT(33,13) HitBy([ANYONE],CRUSHING) !Allegiance(LastHitter(Myself),EVILCUTOFF) !StateCheck(LastHitter(Myself),STATE_CHARMED) OR(3) !Race(LastHitter(Myself),MORNINGSTAR) !Class(LastHitter(Myself),FAIRY_NYMPH) !Specifics(LastHitter(Myself),65) OR(3) !StateCheck(LastHitter(Myself),STATE_NOT_VISIBLE) CheckStatGT(Myself,0,SEEINVISIBLE) CheckStatGT(Myself,0,TRUE_SIGHT) See(LastHitter(Myself)) False() THEN RESPONSE #100 Continue() END IF RandomNumGT(33,22) AttackedBy([ANYONE],DEFAULT) !Allegiance(LastAttackerOf(Myself),EVILCUTOFF) !StateCheck(LastAttackerOf(Myself),STATE_CHARMED) OR(3) !Race(LastAttackerOf(Myself),MORNINGSTAR) !Class(LastAttackerOf(Myself),FAIRY_NYMPH) !Specifics(LastAttackerOf(Myself),65) OR(3) !StateCheck(LastAttackerOf(Myself),STATE_NOT_VISIBLE) CheckStatGT(Myself,0,SEEINVISIBLE) CheckStatGT(Myself,0,TRUE_SIGHT) See(LastAttackerOf(Myself)) False() THEN RESPONSE #100 Continue() END IF OR(3) Allegiance(LastSeenBy(Myself),ENEMY) Allegiance(LastSeenBy(Myself),EVILCUTOFF) Allegiance(LastSeenBy(Myself),GOODBUTRED) THEN RESPONSE #100 END IF Race(LastSeenBy(Myself),MORNINGSTAR) Class(LastSeenBy(Myself),FAIRY_NYMPH) Specifics(LastSeenBy(Myself),65) THEN RESPONSE #100 END IF StateCheck(LastSeenBy(Myself),STATE_CHARMED) THEN RESPONSE #80 Continue() RESPONSE #20 END IF ActionListEmpty() CheckStatGT(Myself,0,SCRIPTINGSTATE4) THEN RESPONSE #100 EquipMostDamagingMelee() AttackOneRound(LastSeenBy(Myself)) END IF ActionListEmpty() !GlobalTimerNotExpired("BPW","LOCALS") OR(2) General(Myself,GIANTHUMANOID) General(Myself,HUMANOID) CheckStatGT(Myself,7,INT) HPPercentLT(Myself,25) Range(LastHitter(Myself),10) OR(3) !Race(LastHitter(Myself),MORNINGSTAR) !Class(LastHitter(Myself),FAIRY_NYMPH) !Specifics(LastHitter(Myself),65) THEN RESPONSE #30 DisplayStringHead(Myself,49767) // No more Shout(ASSIST) SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) RunAwayFrom(LastHitter(Myself),40) RESPONSE #30 DisplayStringHead(Myself,49765) // Slay my attacker! Shout(ASSIST) SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) AttackReevaluate(LastHitter(Myself),15) RESPONSE #40 DisplayStringHead(Myself,49766) // I can't take this Shout(HEALME) SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) AttackReevaluate(LastSeenBy(Myself),15) RESPONSE #25 DisplayStringHead(Myself,97248) // Die with your boots on! SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) Attack(LastHitter(Myself)) END IF ActionListEmpty() !GlobalTimerNotExpired("BPW","LOCALS") !General(Myself,GIANTHUMANOID) !General(Myself,HUMANOID) CheckStatGT(Myself,7,INT) HPPercentLT(Myself,25) Range(LastHitter(Myself),10) OR(3) !Race(LastHitter(Myself),MORNINGSTAR) !Class(LastHitter(Myself),FAIRY_NYMPH) !Specifics(LastHitter(Myself),65) THEN RESPONSE #30 DisplayStringHead(Myself,205595) // *yipes* Shout(ASSIST) SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) RunAwayFrom(LastHitter(Myself),40) RESPONSE #30 DisplayStringHead(Myself,111739) // *whimpers* Shout(ASSIST) SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) AttackReevaluate(LastHitter(Myself),15) RESPONSE #25 DisplayStringHead(Myself,205596) // *growls fiercely* SetGlobalTimer("BPW","LOCALS",TWO_MINUTES) Attack(LastHitter(Myself)) END IF ActionListEmpty() CheckStatGT(LastSeenBy(Myself),10,WIZARD_GREATER_MALISON) CheckStatLT(Myself,11,WIZARD_GREATER_MALISON) THEN RESPONSE #100 EquipRanged() AttackOneRound(LastSeenBy(Myself)) END IF ActionListEmpty() OR(3) !Range(NearestEnemyOf(Myself),5) CheckStatGT(NearestEnemyOf(Myself),0,CLERIC_BLADE_BARRIER) CheckStatGT(LastSeenBy(Myself),0,WIZARD_FIRE_SHIELD) THEN RESPONSE #100 EquipRanged() AttackOneRound(LastSeenBy(Myself)) END IF OR(2) CheckStatGT(NearestEnemyOf(Myself),0,CLERIC_BLADE_BARRIER) CheckStatGT(LastSeenBy(Myself),0,WIZARD_FIRE_SHIELD) THEN RESPONSE #25 Continue() RESPONSE #75 END IF ActionListEmpty() !Range(LastSeenBy(Myself),8) OR(3) !Race(NearestEnemyOf(Myself),MORNINGSTAR) !Class(NearestEnemyOf(Myself),FAIRY_NYMPH) !Specifics(NearestEnemyOf(Myself),65) THEN RESPONSE #90 EquipMostDamagingMelee() AttackOneRound(NearestEnemyOf(Myself)) RESPONSE #90 EquipMostDamagingMelee() AttackOneRound(LastSeenBy(Myself)) AttackOneRound(LastSeenBy(Myself)) END IF ActionListEmpty() THEN RESPONSE #100 AttackOneRound(LastSeenBy(Myself)) END