Jump to content

EndlessBG1 - Functions not installed


Recommended Posts

Hi jastey, I’ve played your great mod, thank you for your work! I found some issues during gameplay and I want to give a feedback to you:

- I had a sorcerer (dragon disciple) in the party and he could use Sarevok’s armor. I checked that sorc without kit also can use this armor. So I'm assuming this is a bug in the item.

- I have also a suggestion that wearing Sarevok’s armor could change appearence of the character to Sarevok sprite. I would love it. Eventually I can try to implement this one if you agree. I saw a similar tutorial to do something like this, somewhere. What do you think?

- Flaming Fist Healer does not remove those two traps that can be disarmed by player. I think he could disarm them also.

- In dialogues_ee.d file, there is a part related to BGT. As I understand this code will not be run. Probably you want to keep this dialog however without BGT_VAR active?

IF WEIGHT #-1
~%BGT_VAR%
Dead("Sarevok")
!IsGabber(Player1) !InMyArea(Player1)~ victory_npc
SAY @12 /* ~Greetings to you as well, companion of <CHARNAME>.~ */
IF ~~ THEN EXIT
END

- I noticed that one string in duke eltan is not translated so I made a PR with the fix: https://github.com/Gibberlings3/EndlessBG1/pull/8

- And also I’ve provided PL translations for your great mod! https://github.com/Gibberlings3/EndlessBG1/pull/9

Oh, the change includes the above missing translations, so in case of any changes before merging this one, please remember to apply them here as well.

 

Thanks!

Link to comment

@Roberciiik thanks for the reports and suggestions!

2 hours ago, Roberciiik said:

- In dialogues_ee.d file, there is a part related to BGT. As I understand this code will not be run. Probably you want to keep this dialog however without BGT_VAR active?

%BGT_VAR% is a trigger that translates to "BG1 part of the game". It is also defined for BG:EE and EET, so this dialogue will run. You are right in so far that the variable check might not be needed since this area (and hence the cres in it) won't be accessible after BG1 ended, but I wanted to be sure not to block the dialogue of Duke Belt in case some mod opens up the BG areas and uses his BG1 dlg in BGII (in EET).

2 hours ago, Roberciiik said:

- I had a sorcerer (dragon disciple) in the party and he could use Sarevok’s armor. I checked that sorc without kit also can use this armor. So I'm assuming this is a bug in the item.

Interesting. I believe I used an existing armor and just gave it different looks and higher weight but a sorcerer should probably not be able to use it.

2 hours ago, Roberciiik said:

- I have also a suggestion that wearing Sarevok’s armor could change appearence of the character to Sarevok sprite. I would love it. Eventually I can try to implement this one if you agree. I saw a similar tutorial to do something like this, somewhere. What do you think?

I'm not sure I want this for EBG1. You are free to make an add-on to EBG1's Sarevok Armor that does that though, and also to include the armor items into any own mod as you wish (also with alterations to your liking) EDIT: credits also go to the original author of the armor BAMs as stated in the EBG1 readme.

If you make an add-on feel free to link to it in the EBG1 forum.

2 hours ago, Roberciiik said:

- Flaming Fist Healer does not remove those two traps that can be disarmed by player. I think he could disarm them also.

The FF Healer&Scout should disarm all traps on the scull (which iirc are not removable). They do not remove the taps on the sides that spawn some undead shade something, that's intentional.

2 hours ago, Roberciiik said:

- I noticed that one string in duke eltan is not translated so I made a PR with the fix: https://github.com/Gibberlings3/EndlessBG1/pull/8

Good find! Thank you.

2 hours ago, Roberciiik said:

- And also I’ve provided PL translations for your great mod! https://github.com/Gibberlings3/EndlessBG1/pull/9

Awesomeness! Thank you very much!

I'll need to make a call for one Russian line with the missing tra line and will hopefully make an update in the not too distant future (albeit not this year any more. :) Saying that on 30th December is so fun!)

Link to comment

Heya, first of all thanks for this mod! It never made sense to me that I couldn't visit expansion content after finishing the main story...

I'm on BG:EE 2.6 (beta) and found a bug. After Sarevok's death, when I visit the Palace, Belt and Jannath are hostile (red) and start fighting with Flaming Fist mercenaries. Soon after, that one NPC teleports in to kill my PC. (Like automatic game over when Belt dies.)

I'm a programmer but not very familiar with Infinity scripting yet. Do you have any pointers regarding how I could debug the issue? Following is some info I was able to scrape together.

First of all the WeiDU log:

Spoiler




// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #3010 // Replace +1 arrows and other projectiles with nonmagical "fine" ones: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #3040 // Reduce the number of Arrows of Dispelling in stores -> Remove Arrows of Dispelling from stores: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4000 // Faster Bears: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4020 // More realistic wolves and wild dogs: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4115 // Thieves assign skill points in multiples of five: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #5080 // Improved textscreens in Tales of the Sword Coast: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #5900 // Initialise AI components (required for all tactical and AI components): 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6000 // Smarter general AI: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6010 // Better calls for help: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6030 // Smarter Mages: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6040 // Smarter Priests: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6100 // Potions for NPCs: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6200 // Improved Spiders: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6300 // Smarter sirines and dryads: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6310 // Slightly smarter carrion crawlers: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6320 // Smarter basilisks: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7000 // Improved doppelgangers: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7010 // Tougher Black Talons and Iron Throne guards: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7030 // Improved kobolds: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7040 // Relocated bounty hunters: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7050 // Improved Ulcaster: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7060 // Improved Balduran's Isle: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7070 // Improved Durlag's Tower: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7080 // Improved Demon Cultists: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7090 // Improved Cloakwood Druids: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7100 // Improved Bassilus: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7110 // Improved Drasus party: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7130 // Improved Red Wizards: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7140 // Improved Undercity assassins: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7200 // Tougher chapter-two end battle: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7210 // Tougher chapter-three end battle: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7220 // Tougher chapter-four end battle: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7230 // Tougher chapter-five end battle: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7250 // Improved final battle: 33.7
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7900 // Improved minor encounters: 33.7
~C#ENDLESSBG1/C#ENDLESSBG1.TP2~ #0 #0 // Endless BG1: Main Component (Required): 6.1
~C#ENDLESSBG1/C#ENDLESSBG1.TP2~ #0 #9 // Elminster Makes an Appearance -> Restored BG1 Text: 6.1

 

Script dumps I got via C:WriteScript("blah") from the in-game console follow. It seems that there's a problem with their decompilation though, because some parameters seem blank.

AR0108.baf: (Duchal Palace area script)

Spoiler




IF
	Global("GLOBAL","SarevokBehavior",3)	// <TRUE>
	Global("ar0108","bd_once",0)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimerRandom("GLOBAL","EndGame",ONE_MINUTETHREE_MINUTES)
		Enemy()
		Enemy()
		Enemy()
		SetGlobal("ar0108","bd_once",1)
END

IF
	Global("GLOBAL","EnteredPalace",0)	// <FALSE>
THEN
	RESPONSE #100
		StartMovie("PALACE")
		SetGlobal("GLOBAL","EnteredPalace",1)
END

IF
	Global("GLOBAL","Chapter",7)	// <TRUE>
	Global("GLOBAL","SarevokBehavior",0)	// <FALSE>
	!Exists("Sarevok")	// <FALSE>
	!Dead()	// <TRUE>
THEN
	RESPONSE #100
		EraseJournalEntry(26925)
		EraseJournalEntry(31468)
		EraseJournalEntry(31469)
		EraseJournalEntry(31470)
		AddJournalEntry(31471QUEST)
		CreateCreature()
		GiveItemCreate()
		FillSlot(0)
		CreateCreature()
		CreateCreature()
		CreateCreature()
		CreateCreature()
		CreateCreature()
		CreateCreature()
		CreateCreature()
		CreateCreature()
END

IF
	GlobalTimerExpired()	// <FALSE>
	!Exists("WINSKI")	// <FALSE>
THEN
	RESPONSE #100
		SetInterrupt(FALSE)
		SetGlobalTimerRandom("GLOBAL","EndGame",ONE_MINUTETHREE_MINUTES)
		CreateVisualEffect()
		Wait(4)
		CreateCreature()
		ForceSpell(Player1((),SAREVOK_STRIKE)
		SmallWait(15)
		FadeToColor([30.0],0)
		SmallWait(15)
		Kill(Player1(())
		SetInterrupt(TRUE)
END

IF
	GlobalTimerExpired()	// <FALSE>
	Exists("WINSKI")	// <FALSE>
THEN
	RESPONSE #100
		SetInterrupt(FALSE)
		SetGlobalTimerRandom("GLOBAL","EndGame",ONE_MINUTETHREE_MINUTES)
		ForceSpell(Player1((),SAREVOK_STRIKE)
		SmallWait(15)
		FadeToColor([30.0],0)
		SmallWait(15)
		Kill(Player1(())
		SetInterrupt(TRUE)
END

IF
	NextTriggerObject("sarevok")	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <FALSE>
	GlobalTimerExpired()	// <TRUE>
	Global("GLOBAL","SarevokBehavior",4)	// <FALSE>
	!Exists("Winski")	// <FALSE>
THEN
	RESPONSE #100
		SetInterrupt(FALSE)
		CreateVisualEffect()
		Wait(4)
		CreateCreature()
		TriggerActivation("Door0200",TRUE)
		TriggerActivation("Door0109a",TRUE)
		TriggerActivation("Door0109b",TRUE)
		TriggerActivation("Door0111",TRUE)
		StartDialog()
END

IF
	Dead()	// <TRUE>
	Dead()	// <FALSE>
	Global("MYAREA","C#st_RearrangeDukes",0)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("GLOBAL","SPRITE_IS_DEADBELT",0)
		CreateCreature()
		SmallWait(1)
		Continue()
END

IF
	Dead()	// <TRUE>
	Global("MYAREA","C#st_RearrangeDukes",0)	// <TRUE>
THEN
	RESPONSE #100
		ApplySpell("BELT",0)
		SmallWait(1)
		JumpToPoint([735.371])
		Face(S)
		SmallWait(1)
		Continue()
END

IF
	Dead()	// <TRUE>
	Global("MYAREA","C#st_RearrangeDukes",0)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("MYAREA","C#st_RearrangeDukes",1)
END

 

BELT.baf (Belt's character script):

Spoiler




IF
	AttackedBy(,DEFAULT)	// <FALSE>
	!Global("GLOBAL","SarevokBehavior",3)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("GLOBAL","SarevokBehavior",3)
END

IF
	Range([PC.GENERAL_ITEM.0.0.0.0.NONE.],15)	// <TRUE>
	NumberOfTimesTalkedTo(0)	// <FALSE>
THEN
	RESPONSE #100
		StartDialog()
END

IF
	Dead()	// <TRUE>
	Dead()	// <TRUE>
	Dead()	// <TRUE>
	Dead()	// <TRUE>
	Dead()	// <TRUE>
	Dead()	// <TRUE>
	!See([ENEMY.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	CombatCounter(0)	// <TRUE>
	Global("GLOBAL","SarevokBehavior",0)	// <FALSE>
THEN
	RESPONSE #100
		Dialogue([PC.GENERAL_ITEM.0.0.0.0.NONE.])
		TriggerActivation("Door0200",TRUE)
		TriggerActivation("Door0109a",TRUE)
		TriggerActivation("Door0109b",TRUE)
		TriggerActivation("Door0111",TRUE)
END

IF
	!See([ENEMY.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	CombatCounter(0)	// <TRUE>
	Global("GLOBAL","SarevokBehavior",1)	// <FALSE>
	Global("GLOBAL","DukeThanks",0)	// <FALSE>
THEN
	RESPONSE #100
		Dialogue([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See([ENEMY.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	!Global("GLOBAL","SarevokBehavior",3)	// <TRUE>
THEN
	RESPONSE #10
		Attack([ENEMY.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Global("GLOBAL","SarevokBehavior",3)	// <TRUE>
THEN
	RESPONSE #10
		AttackReevaluate(NearestEnemyOf(Myself(()),15)
END

 

DW#URBHL.baf: (don't know what this is but it was dumped together with BELT.baf; might be an addition by SCS or so)

Spoiler




IF
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	OR(7)	// <FALSE>
	AttackedBy([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([PC.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([FAMILIAR.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([ALLY.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([CONTROLLED.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([CHARMED.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	SpellCastOnMe([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],0)	// <FALSE>
THEN
	RESPONSE #100
		Enemy()
		Shout(119)
		Continue()
END

IF
	OR(6)	// <FALSE>
	HitBy([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],CRUSHING)	// <FALSE>
	HitBy([PC.GENERAL_ITEM.0.0.0.0.NONE.],CRUSHING)	// <FALSE>
	HitBy([FAMILIAR.GENERAL_ITEM.0.0.0.0.NONE.],CRUSHING)	// <FALSE>
	HitBy([ALLY.GENERAL_ITEM.0.0.0.0.NONE.],CRUSHING)	// <FALSE>
	HitBy([CONTROLLED.GENERAL_ITEM.0.0.0.0.NONE.],CRUSHING)	// <FALSE>
	HitBy([CHARMED.GENERAL_ITEM.0.0.0.0.NONE.],CRUSHING)	// <FALSE>
THEN
	RESPONSE #100
		Shout(119)
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!GlobalTimerNotExpired()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","help_initial",THREE_ROUNDS)
		Shout(119)
		Continue()
END

IF
	Heard(,119)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Class(Myself((),INNOCENT)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","runfromPC",TEN_ROUNDS)
		Continue()
END

IF
	Heard(,119)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		Shout(129)
		Continue()
END

IF
	Heard(,119)	// <FALSE>
	GlobalLT("GLOBAL","DMWW_genai_difficulty",3)	// <TRUE>
	OR(2)	// <FALSE>
	DifficultyLT(NORMAL)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		Continue()
END

IF
	Heard(,129)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		Continue()
END

IF
	GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Global("LOCALS","looking",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","helptarget",0)
		SetGlobal("LOCALS","looking",0)
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player1(())	// <TRUE>
THEN
	RESPONSE #100
		Shout(1191)
		SetGlobal("LOCALS","helptarget",1)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
		Continue()
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1191)	// <FALSE>
	!GlobalTimerNotExpired()	// <TRUE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Shout(1291)
		Enemy()
		SetGlobal("LOCALS","helptarget",1)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1291)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!Global("LOCALS","help_hostile",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","help_hostile",1)
		SetGlobal("LOCALS","helptarget",1)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player1(())	// <TRUE>
	Global("LOCALS","helptarget",1)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	StateCheck(Player1((),STATE_INVISIBLE)	// <FALSE>
	CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		ClearActions(Myself(())
		SetGlobal("LOCALS","helptarget",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player1(())	// <TRUE>
	!StateCheck(Player1((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",1)	// <FALSE>
	OR(2)	// <FALSE>
	Class(Myself((),THIEF_ALL)	// <FALSE>
	Kit(Myself((),STALKER)	// <FALSE>
	!Kit(Myself((),SWASHBUCKLER)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player1(())
		ApplySpell(Myself((),0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player1(())	// <TRUE>
	!StateCheck(Player1((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",1)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player1(())
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player2(())	// <TRUE>
THEN
	RESPONSE #100
		Shout(1192)
		SetGlobal("LOCALS","helptarget",2)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
		Continue()
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1192)	// <FALSE>
	!GlobalTimerNotExpired()	// <TRUE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Shout(1292)
		Enemy()
		SetGlobal("LOCALS","helptarget",2)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1292)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!Global("LOCALS","help_hostile",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","help_hostile",1)
		SetGlobal("LOCALS","helptarget",2)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player2(())	// <TRUE>
	Global("LOCALS","helptarget",2)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	StateCheck(Player2((),STATE_INVISIBLE)	// <FALSE>
	CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		ClearActions(Myself(())
		SetGlobal("LOCALS","helptarget",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player2(())	// <TRUE>
	!StateCheck(Player2((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",2)	// <FALSE>
	OR(2)	// <FALSE>
	Class(Myself((),THIEF_ALL)	// <FALSE>
	Kit(Myself((),STALKER)	// <FALSE>
	!Kit(Myself((),SWASHBUCKLER)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player2(())
		ApplySpell(Myself((),0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player2(())	// <TRUE>
	!StateCheck(Player2((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player2(())
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player3(())	// <TRUE>
THEN
	RESPONSE #100
		Shout(1193)
		SetGlobal("LOCALS","helptarget",3)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
		Continue()
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1193)	// <FALSE>
	!GlobalTimerNotExpired()	// <TRUE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Shout(1293)
		Enemy()
		SetGlobal("LOCALS","helptarget",3)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1293)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!Global("LOCALS","help_hostile",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","help_hostile",1)
		SetGlobal("LOCALS","helptarget",3)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player3(())	// <TRUE>
	Global("LOCALS","helptarget",3)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	StateCheck(Player3((),STATE_INVISIBLE)	// <FALSE>
	CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		ClearActions(Myself(())
		SetGlobal("LOCALS","helptarget",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player3(())	// <TRUE>
	!StateCheck(Player3((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",3)	// <FALSE>
	OR(2)	// <FALSE>
	Class(Myself((),THIEF_ALL)	// <FALSE>
	Kit(Myself((),STALKER)	// <FALSE>
	!Kit(Myself((),SWASHBUCKLER)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player3(())
		ApplySpell(Myself((),0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player3(())	// <TRUE>
	!StateCheck(Player3((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",3)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player3(())
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player4(())	// <TRUE>
THEN
	RESPONSE #100
		Shout(1194)
		SetGlobal("LOCALS","helptarget",4)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
		Continue()
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1194)	// <FALSE>
	!GlobalTimerNotExpired()	// <TRUE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Shout(1294)
		Enemy()
		SetGlobal("LOCALS","helptarget",4)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1294)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!Global("LOCALS","help_hostile",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","help_hostile",1)
		SetGlobal("LOCALS","helptarget",4)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player4(())	// <TRUE>
	Global("LOCALS","helptarget",4)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	StateCheck(Player4((),STATE_INVISIBLE)	// <FALSE>
	CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		ClearActions(Myself(())
		SetGlobal("LOCALS","helptarget",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player4(())	// <TRUE>
	!StateCheck(Player4((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",4)	// <FALSE>
	OR(2)	// <FALSE>
	Class(Myself((),THIEF_ALL)	// <FALSE>
	Kit(Myself((),STALKER)	// <FALSE>
	!Kit(Myself((),SWASHBUCKLER)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player4(())
		ApplySpell(Myself((),0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player4(())	// <TRUE>
	!StateCheck(Player4((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",4)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player4(())
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player5(())	// <TRUE>
THEN
	RESPONSE #100
		Shout(1195)
		SetGlobal("LOCALS","helptarget",5)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
		Continue()
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1195)	// <FALSE>
	!GlobalTimerNotExpired()	// <TRUE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Shout(1295)
		Enemy()
		SetGlobal("LOCALS","helptarget",5)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1295)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!Global("LOCALS","help_hostile",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","help_hostile",1)
		SetGlobal("LOCALS","helptarget",5)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player5(())	// <TRUE>
	Global("LOCALS","helptarget",5)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	StateCheck(Player5((),STATE_INVISIBLE)	// <FALSE>
	CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		ClearActions(Myself(())
		SetGlobal("LOCALS","helptarget",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player5(())	// <TRUE>
	!StateCheck(Player5((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",5)	// <FALSE>
	OR(2)	// <FALSE>
	Class(Myself((),THIEF_ALL)	// <FALSE>
	Kit(Myself((),STALKER)	// <FALSE>
	!Kit(Myself((),SWASHBUCKLER)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player5(())
		ApplySpell(Myself((),0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player5(())	// <TRUE>
	!StateCheck(Player5((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",5)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player5(())
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player6(())	// <TRUE>
THEN
	RESPONSE #100
		Shout(1196)
		SetGlobal("LOCALS","helptarget",6)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
		Continue()
END

IF
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1196)	// <FALSE>
	!GlobalTimerNotExpired()	// <TRUE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Shout(1296)
		Enemy()
		SetGlobal("LOCALS","helptarget",6)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!GlobalGT("LOCALS","helptarget",0)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,1296)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!Global("LOCALS","help_hostile",1)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
	!HasItem()	// <FALSE>
	OR(2)	// <FALSE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","help_hostile",1)
		SetGlobal("LOCALS","helptarget",6)
		SetGlobalTimer("LOCALS","helpduration",TWO_ROUNDS)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player6(())	// <TRUE>
	Global("LOCALS","helptarget",6)	// <TRUE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	StateCheck(Player6((),STATE_INVISIBLE)	// <FALSE>
	CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		ClearActions(Myself(())
		SetGlobal("LOCALS","helptarget",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player6(())	// <TRUE>
	!StateCheck(Player6((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",6)	// <TRUE>
	OR(2)	// <FALSE>
	Class(Myself((),THIEF_ALL)	// <FALSE>
	Kit(Myself((),STALKER)	// <FALSE>
	!Kit(Myself((),SWASHBUCKLER)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player6(())
		ApplySpell(Myself((),0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player6(())	// <TRUE>
	!StateCheck(Player6((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","helptarget",6)	// <TRUE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player6(())
END

IF
	OR(2)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Allegiance(Myself((),NEUTRAL)	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!HasItem()	// <FALSE>
	Heard(,119)	// <FALSE>
	OR(2)	// <FALSE>
	!Class(Myself((),INNOCENT)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(LastHeardBy(Myself(()))
END

 

DW1MELGE.baf: (also don't know what it is, was also dumped together with BELT.baf)

Spoiler




IF
	StateCheck(Myself((),STATE_PANIC)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		RunAwayFromNoLeaveArea(NearestEnemyOf(Myself(()),15)
END

IF
	StateCheck(Myself((),STATE_PANIC)	// <FALSE>
THEN
	RESPONSE #100
		RandomWalkContinuous()
END

IF
	GlobalLT("GLOBAL","DMWW_genai_difficulty",3)	// <TRUE>
	OR(2)	// <FALSE>
	DifficultyLT(NORMAL)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	!Global("LOCALS","removedpotions",1)	// <FALSE>
	!HasItem()	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","removedpotions",1)
		DestroyItem("potn03")
		DestroyItem("potn04")
		DestroyItem("potn05")
		DestroyItem("potn06")
		DestroyItem("potn08")
		DestroyItem("potn09")
		DestroyItem("potn10")
		DestroyItem("potn11")
		DestroyItem("potn12")
		DestroyItem("potn14")
		DestroyItem("potn24")
		DestroyItem("potn34")
		DestroyItem("potn35")
		DestroyItem("potn45")
		DestroyItem("potn52")
		Continue()
END

IF
	GlobalLT("GLOBAL","DMWW_genai_difficulty",2)	// <TRUE>
	OR(2)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	Heard(,111)	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(NearestEnemyOf(Myself(()))
END

IF
	GlobalLT("GLOBAL","DMWW_genai_difficulty",2)	// <TRUE>
	OR(2)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	AttackedBy(,DEFAULT)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		Enemy()
END

IF
	GlobalLT("GLOBAL","DMWW_genai_difficulty",2)	// <TRUE>
	OR(2)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	!Global("LOCALS","inafight",1)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		VerbalConstant(Myself((),BATTLE_CRY)
		SetGlobal("LOCALS","inafight",1)
	RESPONSE #100
		VerbalConstant(Myself((),BATTLE_CRY2)
		SetGlobal("LOCALS","inafight",1)
		Continue()
END

IF
	OR(3)	// <FALSE>
	!GlobalGT("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	StateCheck(Myself((),STATE_CHARMED)	// <FALSE>
	OR(4)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	StateCheck(Myself((),STATE_CHARMED)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	InWeaponRange(LastSeenBy(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		AttackReevaluate(NearestEnemyOf(Myself(()),30)
END

IF
	OR(3)	// <FALSE>
	!GlobalGT("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	StateCheck(Myself((),STATE_CHARMED)	// <FALSE>
	OR(4)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	StateCheck(Myself((),STATE_CHARMED)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(NearestEnemyOf(Myself(()))
END

IF
	OR(3)	// <FALSE>
	!GlobalGT("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	StateCheck(Myself((),STATE_CHARMED)	// <FALSE>
	OR(4)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	StateCheck(Myself((),STATE_CHARMED)	// <FALSE>
	AttackedBy(,DEFAULT)	// <FALSE>
THEN
	RESPONSE #100
		Attack(LastAttackerOf(Myself(()))
END

IF
	GlobalLT("GLOBAL","DMWW_genai_difficulty",2)	// <TRUE>
	OR(2)	// <FALSE>
	Difficulty(EASIEST)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
THEN
	RESPONSE #100
		NoAction()
END

IF
	AttackedBy([ENEMY.UNDEAD.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	Allegiance(LastAttackerOf(Myself(()),ENEMY)	// <FALSE>
	General(LastAttackerOf(Myself(()),UNDEAD)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		ClearActions(LastAttackerOf(Myself(()))
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Range(Player1((),30)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	CheckStatGT()	// <FALSE>
	ModalStateObject(Player1((),DETECTTRAPS)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","thief_detection",ONE_MINUTE)
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Range(Player2((),30)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	CheckStatGT()	// <FALSE>
	ModalStateObject(Player2((),DETECTTRAPS)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","thief_detection",ONE_MINUTE)
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Range(Player3((),30)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	CheckStatGT()	// <FALSE>
	ModalStateObject(Player3((),DETECTTRAPS)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","thief_detection",ONE_MINUTE)
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Range(Player4((),30)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	CheckStatGT()	// <FALSE>
	ModalStateObject(Player4((),DETECTTRAPS)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","thief_detection",ONE_MINUTE)
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Range(Player5((),30)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	CheckStatGT()	// <FALSE>
	ModalStateObject(Player5((),DETECTTRAPS)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","thief_detection",ONE_MINUTE)
		Continue()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	Range(Player6((),30)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	CheckStatGT()	// <FALSE>
	ModalStateObject(Player6((),DETECTTRAPS)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","thief_detection",ONE_MINUTE)
		Continue()
END

IF
	OR(2)	// <FALSE>
	!Global("LOCALS","inafight",1)	// <FALSE>
	!Allegiance(Myself((),ENEMY)	// <TRUE>
	!Gender(Myself((),SUMMONED)	// <FALSE>
	!Gender(Myself((),20)	// <FALSE>
	OR(14)	// <FALSE>
	AttackedBy([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([PC.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([FAMILIAR.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([ALLY.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([CONTROLLED.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([CHARMED.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	SpellCastOnMe([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],0)	// <FALSE>
	SpellCastOnMe(,WIZARD_BLINDNESS)	// <FALSE>
	SpellCastOnMe(,WIZARD_FEEBLEMIND)	// <FALSE>
	SpellCastOnMe(,WIZARD_CHARM_PERSON)	// <FALSE>
	SpellCastOnMe(,WIZARD_DIRE_CHARM)	// <FALSE>
	SpellCastOnMe(,CLERIC_CHARM_PERSON)	// <FALSE>
	SpellCastOnMe(,CLERIC_MENTAL_DOMINATION)	// <FALSE>
	SpellCastOnMe(,WIZARD_RAY_OF_ENFEEBLEMENT)	// <FALSE>
THEN
	RESPONSE #100
		Enemy()
		SetGlobal("LOCALS","inafight",1)
		SetGlobalTimer("LOCALS","stayontarget",TWO_ROUNDS)
		SetGlobalTimer("LOCALS","seedefences",ONE_ROUND)
		Continue()
END

IF
	!Global("LOCALS","inafight",1)	// <FALSE>
	OR(9)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Heard(,404)	// <FALSE>
	Heard(,405)	// <FALSE>
	Heard(,406)	// <FALSE>
	Heard(,407)	// <FALSE>
	Heard(,408)	// <FALSE>
	Heard(,409)	// <FALSE>
	Heard(,410)	// <FALSE>
	Heard(,411)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","inafight",1)
		SetGlobalTimer("LOCALS","stayontarget",TWO_ROUNDS)
		SetGlobalTimer("LOCALS","seedefences",ONE_ROUND)
		Continue()
END

IF
	!Global("LOCALS","inafight",1)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		VerbalConstant(Myself((),BATTLE_CRY)
		Continue()
	RESPONSE #100
		VerbalConstant(Myself((),BATTLE_CRY2)
		Continue()
END

IF
	Global("LOCALS","rest_state",0)	// <TRUE>
	Detect(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","rest_state",1)
		Continue()
END

IF
	Global("LOCALS","rest_state",1)	// <FALSE>
	!Detect(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","rest_state",2)
		SetGlobalTimer("LOCALS","rest_timer",EIGHT_HOURS)
		Continue()
END

IF
	Global("LOCALS","rest_state",2)	// <FALSE>
	Detect(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","rest_state",1)
		Continue()
END

IF
	Global("LOCALS","rest_state",2)	// <FALSE>
	GlobalTimerExpired()	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","rest_state",0)
		ApplySpell(Myself((),RESTORE_FULL_HEALTH)
		Rest()
END

IF
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	OR(2)	// <FALSE>
	!GlobalTimerNotExpired()	// <FALSE>
	!StateCheck(Myself((),STATE_BLIND)	// <FALSE>
	OR(13)	// <FALSE>
	AttackedBy([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([PC.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([FAMILIAR.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([ALLY.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([CONTROLLED.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	AttackedBy([CHARMED.GENERAL_ITEM.0.0.0.0.NONE.],DEFAULT)	// <FALSE>
	SpellCastOnMe([GOODCUTOFF.GENERAL_ITEM.0.0.0.SUMMONED.NONE.],0)	// <FALSE>
	SpellCastOnMe([PC.GENERAL_ITEM.0.0.0.0.NONE.],0)	// <FALSE>
	SpellCastOnMe([FAMILIAR.GENERAL_ITEM.0.0.0.0.NONE.],0)	// <FALSE>
	SpellCastOnMe([ALLY.GENERAL_ITEM.0.0.0.0.NONE.],0)	// <FALSE>
	SpellCastOnMe([CONTROLLED.GENERAL_ITEM.0.0.0.0.NONE.],0)	// <FALSE>
	SpellCastOnMe([CHARMED.GENERAL_ITEM.0.0.0.0.NONE.],0)	// <FALSE>
	StateCheck([ENEMY.GENERAL_ITEM.0.0.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!GlobalTimerNotExpired()	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","whatthe",TWO_ROUNDS)
		Continue()
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
THEN
	RESPONSE #100
		RandomWalkContinuous()
END

IF
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	Heard(,404)	// <FALSE>
	Range(LastHeardBy(Myself(()),20)	// <TRUE>
	!General(Myself((),UNDEAD)	// <FALSE>
	!Race(Myself((),DEMONIC)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	Heard(,411)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!CheckStatGT()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	!Race(Myself((),DEMONIC)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See(Myself(())	// <TRUE>
	!Kit(Myself((),UNDEADHUNTER)	// <FALSE>
	!Kit(Myself((),INQUISITOR)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!CheckSpellState(Myself((),STATE_ENRAGED)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_ANTIWEB_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_ANTIWEB)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Heard(,410)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See(Myself(())	// <TRUE>
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	Heard(,412)	// <FALSE>
	Range(LastHeardBy(Myself(()),20)	// <TRUE>
	!CheckStatGT()	// <FALSE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Global("LOCALS","chasing",0)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasing",0)
		ClearActions(Myself(())
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	See(Player1(())	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetarget",ONE_HOUR)
		SetGlobal("LOCALS","chasePC",1)
		Continue()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!See(Player1(())	// <TRUE>
	See(Player2(())	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetarget",ONE_HOUR)
		SetGlobal("LOCALS","chasePC",2)
		Continue()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!See(Player1(())	// <TRUE>
	!See(Player2(())	// <TRUE>
	See(Player3(())	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetarget",ONE_HOUR)
		SetGlobal("LOCALS","chasePC",3)
		Continue()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!See(Player1(())	// <TRUE>
	!See(Player2(())	// <TRUE>
	!See(Player3(())	// <TRUE>
	See(Player4(())	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetarget",ONE_HOUR)
		SetGlobal("LOCALS","chasePC",4)
		Continue()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!See(Player1(())	// <TRUE>
	!See(Player2(())	// <TRUE>
	!See(Player3(())	// <TRUE>
	!See(Player4(())	// <TRUE>
	See(Player5(())	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetarget",ONE_HOUR)
		SetGlobal("LOCALS","chasePC",5)
		Continue()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!See(Player1(())	// <TRUE>
	!See(Player2(())	// <TRUE>
	!See(Player3(())	// <TRUE>
	!See(Player4(())	// <TRUE>
	!See(Player5(())	// <TRUE>
	See(Player6(())	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetarget",ONE_HOUR)
		SetGlobal("LOCALS","chasePC",6)
		Continue()
END

IF
	Global("LOCALS","chasePC",1)	// <FALSE>
	StateCheck(Player1((),STATE_REALLY_DEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasePC",0)
		Continue()
END

IF
	Global("LOCALS","chasePC",2)	// <FALSE>
	StateCheck(Player2((),STATE_REALLY_DEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasePC",0)
		Continue()
END

IF
	Global("LOCALS","chasePC",3)	// <FALSE>
	StateCheck(Player3((),STATE_REALLY_DEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasePC",0)
		Continue()
END

IF
	Global("LOCALS","chasePC",4)	// <FALSE>
	StateCheck(Player4((),STATE_REALLY_DEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasePC",0)
		Continue()
END

IF
	Global("LOCALS","chasePC",5)	// <FALSE>
	StateCheck(Player5((),STATE_REALLY_DEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasePC",0)
		Continue()
END

IF
	Global("LOCALS","chasePC",6)	// <FALSE>
	StateCheck(Player6((),STATE_REALLY_DEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasePC",0)
		Continue()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <TRUE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34267)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34268)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34269)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34270)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34267)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34268)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34269)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	!CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34270)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	StateCheck(Myself((),STATE_POISONED)	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34271)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	StateCheck(Myself((),STATE_POISONED)	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34271)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	StateCheck(Myself((),STATE_POISONED)	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34271)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	StateCheck(Myself((),STATE_POISONED)	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34272)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!StateCheck(Myself((),STATE_HASTED)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34273)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!StateCheck(Myself((),STATE_HASTED)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34273)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34274)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34274)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34275)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34275)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34276)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <TRUE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34276)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34277)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34277)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34278)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34278)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34279)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
	OR(3)	// <FALSE>
	Class(Myself((),FIGHTER_ALL)	// <TRUE>
	Class(Myself((),RANGER_ALL)	// <FALSE>
	Class(Myself((),PALADIN_ALL)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34279)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <TRUE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34267)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34268)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34269)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34270)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34267)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34268)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34269)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	!Global("LOCALS","takendefence",1)	// <FALSE>
	CheckStatGT()	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34270)
		UseItem()
		SetGlobal("LOCALS","takendefence",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Global("LOCALS","heroptn",0)	// <TRUE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34280)
		UseItem()
		SetGlobal("LOCALS","heroptn",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Global("LOCALS","heroptn",0)	// <TRUE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34280)
		UseItem()
		SetGlobal("LOCALS","heroptn",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Global("LOCALS","heroptn",0)	// <TRUE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34281)
		UseItem()
		SetGlobal("LOCALS","heroptn",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
	Global("LOCALS","heroptn",0)	// <TRUE>
	Range(NearestEnemyOf(Myself(()),5)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34281)
		UseItem()
		SetGlobal("LOCALS","heroptn",1)
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34282)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatGT()	// <TRUE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34282)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34283)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	CheckStatLT()	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34283)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34284)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	!StateCheck(Myself((),STATE_INVISIBLE)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34284)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	HPPercentLT(Myself((),75)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34285)
		UseItem()
END

IF
	!GlobalTimerNotExpired()	// <FALSE>
	HasItem()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	OR(2)	// <FALSE>
	Global("GLOBAL","DMWW_genai_difficulty",0)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASY)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",2)	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	HPPercentLT(Myself((),75)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","castspell",ONE_ROUND)
		DisplayStringHead(Myself((),34285)
		UseItem()
END

IF
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	Heard(,404)	// <FALSE>
	Range(LastHeardBy(Myself(()),20)	// <TRUE>
	!General(Myself((),UNDEAD)	// <FALSE>
	!Race(Myself((),DEMONIC)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	Heard(,411)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	!CheckStatGT()	// <FALSE>
	!General(Myself((),UNDEAD)	// <FALSE>
	!Race(Myself((),DEMONIC)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See(Myself(())	// <TRUE>
	!Kit(Myself((),UNDEADHUNTER)	// <FALSE>
	!Kit(Myself((),INQUISITOR)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!CheckSpellState(Myself((),STATE_ENRAGED)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_HOLD)	// <FALSE>
	OR(2)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_ANTIWEB_SEEN)	// <FALSE>
	!CheckSpellState(Myself((),ITEM_ANTIWEB)	// <FALSE>
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Heard(,410)	// <FALSE>
	Range(LastHeardBy(Myself(()),15)	// <TRUE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	See(Myself(())	// <TRUE>
	!Global("GLOBAL","DMWW_genai_difficulty",1)	// <FALSE>
	OR(2)	// <FALSE>
	DifficultyGT(EASIEST)	// <TRUE>
	GlobalGT("GLOBAL","DMWW_genai_difficulty",0)	// <FALSE>
	Heard(,412)	// <FALSE>
	Range(LastHeardBy(Myself(()),20)	// <TRUE>
	!CheckStatGT()	// <FALSE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	OR(2)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","seencloud",FOUR_MINUTES)
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	OR(8)	// <FALSE>
	Heard(,404)	// <FALSE>
	Heard(,405)	// <FALSE>
	Heard(,406)	// <FALSE>
	Heard(,407)	// <FALSE>
	Heard(,408)	// <FALSE>
	Heard(,409)	// <FALSE>
	Heard(,410)	// <FALSE>
	Heard(,411)	// <FALSE>
THEN
	RESPONSE #100
		NoAction()
END

IF
	Global("GLOBAL","DMWWtestgenai",1)	// <FALSE>
THEN
	RESPONSE #100
		NoAction()
END

IF
	Global("LOCALS","inafight",1)	// <FALSE>
	Global("GLOBAL","RR#NOPND",0)	// <TRUE>
	!AreaType(OUTDOOR)	// <FALSE>
	!Range(NearestEnemyOf(Myself(()),30)	// <TRUE>
	Range(NearestDoor((),15)	// <TRUE>
	OpenState(NearestDoor((),FALSE)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(NearestDoor(())
		OpenDoor(NearestDoor(())
END

IF
	!Global("LOCALS","chasing",0)	// <TRUE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","chasing",0)
		Continue()
END

IF
	ActionListEmpty()	// <FALSE>
	Global("LOCALS","inafight",1)	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	Global("LOCALS","chasing",0)	// <TRUE>
	!Global("LOCALS","chasePC",0)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","chasetimer",8)
		SetGlobal("LOCALS","chasing",1)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	GlobalTimerExpired()	// <FALSE>
	!Global("LOCALS","inafight",0)	// <TRUE>
	!Global("LOCALS","chasePC",0)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","inafight",0)
		SetGlobal("LOCALS","chasePC",0)
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player1(())	// <TRUE>
	!StateCheck(Player1((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
	Global("LOCALS","chasePC",1)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player1(())
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player2(())	// <TRUE>
	!StateCheck(Player2((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
	Global("LOCALS","chasePC",2)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player2(())
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player3(())	// <TRUE>
	!StateCheck(Player3((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
	Global("LOCALS","chasePC",3)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player3(())
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player4(())	// <TRUE>
	!StateCheck(Player4((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
	Global("LOCALS","chasePC",4)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player4(())
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player5(())	// <TRUE>
	!StateCheck(Player5((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
	Global("LOCALS","chasePC",5)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player5(())
END

IF
	!See(NearestEnemyOf(Myself(()))	// <TRUE>
	!Detect(Player6(())	// <TRUE>
	!StateCheck(Player6((),STATE_INVISIBLE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	GlobalTimerNotExpired()	// <FALSE>
	Global("LOCALS","chasePC",6)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(Player6(())
END

IF
	See(LastTargetedBy(Myself(()))	// <FALSE>
	Global("LOCALS","validtarget",1)	// <FALSE>
	OR(2)	// <FALSE>
	!WeaponEffectiveVs(LastTargetedBy(Myself(()),MAINHAND)	// <FALSE>
	!WeaponCanDamage(LastTargetedBy(Myself(()),MAINHAND)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",0)
		ClearActions(Myself(())
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],20)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],20)	// <FALSE>
	Range([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],20)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],20)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],20)	// <FALSE>
	Range([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],20)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],20)	// <FALSE>
	Range([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.0.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.0.0.0.NONE.],20)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.0.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),20)	// <TRUE>
	Range(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),20)	// <TRUE>
	Range(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],50)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],50)	// <FALSE>
	Range([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],50)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],50)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],50)	// <FALSE>
	Range([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],50)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],50)	// <FALSE>
	Range([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.0.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.0.0.0.NONE.],50)	// <TRUE>
	Range([PC.GENERAL_ITEM.0.0.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),50)	// <TRUE>
	Range(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),50)	// <TRUE>
	Range(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.0.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.0.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_MIRRORIMAGE)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])
END

IF
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_INVISIBLE)	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.0.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_IMMOBILE)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range([PC.GENERAL_ITEM.0.0.0.0.NONE.],4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_INVISIBLE)	// <FALSE>
	See(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	!StateCheck(NearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(NearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(NearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(NearestEnemyOf(Myself(()),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(NearestEnemyOf(Myself(()),4)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(NearestEnemyOf(Myself(()))
END

IF
	!StateCheck(SecondNearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	See(SecondNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(SecondNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(SecondNearestEnemyOf(Myself(()),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(SecondNearestEnemyOf(Myself(()),4)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(SecondNearestEnemyOf(Myself(()))
END

IF
	!StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	See(ThirdNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	!StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_FEEBLEMINDED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	Range(ThirdNearestEnemyOf(Myself(()),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(ThirdNearestEnemyOf(Myself(()))
END

IF
	!StateCheck(NearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(NearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),4)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(NearestEnemyOf(Myself(()))
END

IF
	!StateCheck(SecondNearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	See(SecondNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	Range(SecondNearestEnemyOf(Myself(()),4)	// <TRUE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(SecondNearestEnemyOf(Myself(()))
END

IF
	!StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	See(ThirdNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	Range(ThirdNearestEnemyOf(Myself(()),4)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobal("LOCALS","validtarget",1)
		SetGlobal("LOCALS","melee",1)
		EquipMostDamagingMelee()
		AttackOneRound(ThirdNearestEnemyOf(Myself(()))
END

IF
	!CanEquipRanged()	// <FALSE>
	ActionListEmpty()	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!GlobalTimerNotExpired()	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimer("LOCALS","targetcompromise",FOUR_ROUNDS)
END

IF
	HasItem()	// <FALSE>
THEN
	RESPONSE #100
		NoAction()
END

IF
	ActionListEmpty()	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(NearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	OR(2)	// <FALSE>
	StateCheck(NearestEnemyOf(Myself(()),STATE_HELPLESS)	// <FALSE>
	StateCheck(NearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	Range(NearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(NearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(SecondNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	OR(2)	// <FALSE>
	StateCheck(SecondNearestEnemyOf(Myself(()),STATE_HELPLESS)	// <FALSE>
	StateCheck(SecondNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	Range(SecondNearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(SecondNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(ThirdNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	OR(2)	// <FALSE>
	StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_HELPLESS)	// <FALSE>
	StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	Range(ThirdNearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(ThirdNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(FourthNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(FourthNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	OR(2)	// <FALSE>
	StateCheck(FourthNearestEnemyOf(Myself(()),STATE_HELPLESS)	// <FALSE>
	StateCheck(FourthNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	Range(FourthNearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(FourthNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(FifthNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(FifthNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	OR(2)	// <FALSE>
	StateCheck(FifthNearestEnemyOf(Myself(()),STATE_HELPLESS)	// <FALSE>
	StateCheck(FifthNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	Range(FifthNearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(FifthNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(SixthNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SixthNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	OR(2)	// <FALSE>
	StateCheck(SixthNearestEnemyOf(Myself(()),STATE_HELPLESS)	// <FALSE>
	StateCheck(SixthNearestEnemyOf(Myself(()),STATE_IMMOBILE)	// <FALSE>
	Range(SixthNearestEnemyOf(Myself(()),10)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(SixthNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],40)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],40)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],40)	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.0.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT([PC.GENERAL_ITEM.0.0.0.0.NONE.],40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	ActionListEmpty()	// <FALSE>
	See(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
	!HPPercentGT(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),40)	// <TRUE>
THEN
	RESPONSE #100
		MoveToObject(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.MAGE.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.MAGE_THIEF.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.LONG_BOW.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.THIEF.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.BARD.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.BARD.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.THIEF_ALL.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])	// <FALSE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.CLERIC.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See([PC.GENERAL_ITEM.0.0.0.0.NONE.])	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance([PC.GENERAL_ITEM.0.0.0.0.NONE.],ENEMY)	// <FALSE>
	!StateCheck([PC.GENERAL_ITEM.0.0.0.0.NONE.],STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject([PC.GENERAL_ITEM.0.0.0.0.NONE.])
END

IF
	ActionListEmpty()	// <FALSE>
	See(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(SecondNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	ActionListEmpty()	// <FALSE>
	See(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(ThirdNearest(([PC.GENERAL_ITEM.0.0.0.0.NONE.]))
END

IF
	ActionListEmpty()	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(NearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(NearestEnemyOf(Myself(()),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(NearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(SecondNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SecondNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(SecondNearestEnemyOf(Myself(()),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(SecondNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(ThirdNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(ThirdNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(ThirdNearestEnemyOf(Myself(()),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(ThirdNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(FourthNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(FourthNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(FourthNearestEnemyOf(Myself(()),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(FourthNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(FifthNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(FifthNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(FifthNearestEnemyOf(Myself(()),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(FifthNearestEnemyOf(Myself(()))
END

IF
	ActionListEmpty()	// <FALSE>
	See(SixthNearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
	!Allegiance(SixthNearestEnemyOf(Myself(()),ENEMY)	// <FALSE>
	!StateCheck(SixthNearestEnemyOf(Myself(()),STATE_DISABLED)	// <FALSE>
	!CheckStatGT()	// <FALSE>
THEN
	RESPONSE #100
		MoveToObject(SixthNearestEnemyOf(Myself(()))
END

IF
	!StateCheck(Player4((),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(Player4(())	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(Player4(())
END

IF
	!StateCheck(Player5((),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(Player5(())	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(Player5(())
END

IF
	!StateCheck(Player6((),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(Player6(())	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(Player6(())
END

IF
	!StateCheck(Player3((),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(Player3(())	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(Player3(())
END

IF
	!StateCheck(Player2((),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(Player2(())	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(Player2(())
END

IF
	!StateCheck(Player1((),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(Player1(())	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(Player1(())
END

IF
	!StateCheck(NearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(NearestEnemyOf(Myself(()))
END

IF
	!StateCheck(NearestEnemyOf(Myself(()),STATE_INVISIBLE)	// <FALSE>
	ActionListEmpty()	// <FALSE>
	See(NearestEnemyOf(Myself(()))	// <TRUE>
	Allegiance(Myself((),ENEMY)	// <TRUE>
THEN
	RESPONSE #100
		EquipMostDamagingMelee()
		SetGlobal("LOCALS","melee",1)
		AttackOneRound(NearestEnemyOf(Myself(()))
END

 

 

EDIT: Forgot to mention that I installed EBG1 *after* having killed Sarevok. I then continued from the "Final Save" the game creates. Don't know if this might cause some problems. As you can see from the install log though, I'm mostly just interested in the main component and don't care for Sarevok's item drops and such.

EDIT 2: Some further info that may be helpful in figuring out the problem: When I loaded my save file from just before starting the fight with Sarevok (standing just outside his vision in the Cathedral), and then went to the Palace (used the console as a shortcut), the problem didn't trigger. Belt and Jannath were neutral (blue). So I guess it could be one of the actions triggered via the Dead("Sarevok") checks that cause the problem.

- - -

EDIT 3 / Solution:

OK, so calling C:SetGlobal("SarevokBehavior", "GLOBAL", 4) from the console, before entering the palace, fixed the issue. Perhaps this is done by some script that the mod adds which didn't run in my case because I loaded a game where Sarevok was already dead? I can't find it in any TPL file in the "maincomponent" directory of the mod though. Perhaps it used to be done by the game itself but BG:EE 2.6 removed it, thinking it's unnecessary? Or maybe SCS fools with the value?

I'm also curious as to why Jannath and Belt turned hostile though. I think it relates to this part of the AR0108 script:

IF
	Global("GLOBAL","SarevokBehavior",3)	// <TRUE>
	Global("ar0108","bd_once",0)	// <FALSE>
THEN
	RESPONSE #100
		SetGlobalTimerRandom("GLOBAL","EndGame",ONE_MINUTETHREE_MINUTES)
		Enemy()
		Enemy()
		Enemy()
		SetGlobal("ar0108","bd_once",1)
END

(The check for "bd_once" = 0 says <FALSE> but that's because I invoked WriteScript() after entering the place (don't know if I can do it before) so it had already set bd_once to 1. When I called GetGlobal() on that variable before entering the palace, I was able to confirm that it was unset, meaning that this script runs when I enter the palace the first time.)

Sadly, this decompiled script doesn't show the parameters for the three invocations of the Enemy() action, but I'm sure that whatever their parameters are, it causes Jannath and Belt to become hostile. And the "EndGame" timer seems to be what's responsible for spawning "WINSKI" (further down in the AR0108 script) who insta-kills the PC to force a game over.

I really wonder what the original script (with the real parameters) does, and why my "SarevokBehavior" global was set to 3 and not 4... Just my curiosity as a programmer. 😛

Edited by Taylan
Link to comment
3 hours ago, Taylan said:

Perhaps this is done by some script that the mod adds which didn't run in my case because I loaded a game where Sarevok was already dead?

This is a variable from the original game. All mod added content uses a prefix.

3 hours ago, Taylan said:

I really wonder what the original script (with the real parameters) does, and why my "SarevokBehavior" global was set to 3 and not 4... Just my curiosity as a programmer.

As far as I know SarevokBehavior is at 3 after Sarevok died. What you encountered was obviously a failsafe from the devs in case the game doesn't end after Sarevok died.

You can use NearInfinity to search for variable names in the game, then you can look up where SarevokBehavior is set to 3 etc.

Your issues are because you installed the mod late and played a game after Sarevok already died on the beta 2.6 - this is obviously not covered by this mod. Since it leads to all other sorts of issues to install the mod so late (in your playthrough) as I mentioned in the BeamDog's thread I will not include this into the mod. Thank you for sharing your experiences nontheless. EDIT: I will have to consider the 2.6 changes, though. Thank you for the heads up!

Link to comment

@Taylan Thanks for your interest and the kind words!

The timer that triggers in 2.6 Winski's spawning is also set in Sarevok's dialogue before the fight. That's why setting the "SarvokBehavior" to 4 only prevents the forced end for some time until it all happens again.

I really don't know why this was inserted. 🤷‍♀️

Link to comment

Thanks for the mod, but I had couple of small issues with it, when I moved from bg1 straight to bg2 (without moving to sod):
1) Familiar wasn't properly removed - it was removed from inventory but extra hp remained and familiar related variables weren't set properly so I couldn't summon another familiar.
2) Minsc and Jaheira's bg1 equipment wasn't stripped when they were put in cages in Irenicus dungeon.

Link to comment

Remar: Thanks for reporting, that's intersesting.

Point 1 is probably nothing EndlessBG1 can do anything about, but I'll have a look at it nontheless. Point 2 arises because EET expects them to be in the party at the transition, so if they are not, their items need to be handled separately. That's probably also true for Transitions, @Lauriel?

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...