actor KnightArcher
{
    Health 125
    Radius 20
    Height 56
    Speed 14
    PainChance 94
	Mass 100
	Scale 0.875
    MONSTER
	+NODROPOFF
	+FLOORCLIP
	+USEKILLSCRIPTS
	+AVOIDMELEE
	DropItem "Money" 64
    DropItem "Money" 64
    DropItem "Money" 64
    DropItem "Money" 64
    DropItem "Money" 64
	DropItem "Money1" 8
	DropItem "Money2" 4
	DropItem "Money3" 2
	DropItem "ChestKey" 2
	DropItem "Armour6" 8
	SeeSound "archer/sight"
    AttackSound "archer/attack"
    PainSound "archer/pain"
    DeathSound "archer/death"
    ActiveSound "archer/growl"
    Obituary "%o was pierced by a Knight Archer."
	Species "ChaingunGuy"
	Tag "Knight Archer"
	DamageFactor "Physical", 0.75
	DamageFactor "PhysicalPlayer", 0.75
	DamageFactor "Lightning", 1.25
	DamageFactor "LightningPlayer", 1.25
	DamageFactor "LightningTime", 1.25
    States
    {
    Spawn:
		AKNT A 0
		AKNT A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,56,0)
	Idle:
        AKNT AB 10 A_Look
        Loop
    See:
        AKNT A 2 A_Chase
		AKNT A 3 A_Chase
		AKNT B 2 A_Chase
		AKNT B 3 A_Chase
		AKNT C 2 A_Chase
		AKNT C 3 A_Chase
		AKNT D 2 A_Chase
		AKNT D 3 A_FastChase
		Loop
	Missile:
		AKNT E 0 A_Jump(64,"Missile2")
        AKNT E 3 A_PlaySound("archer/draw")
        AKNT E 7 A_FaceTarget
        AKNT F 5 bright A_CustomMissile("ArcherArrow",32,5)
		AKNT E 5
        Goto See
	Missile2:
        AKNT E 3 A_PlaySound("archer/draw")
        AKNT E 7 A_FaceTarget
        AKNT G 5 bright A_CustomMissile("ArcherArrow2",32,5)
		AKNT E 5
        Goto See
    Pain:
    	AKNT H 3
        AKNT H 3 A_Pain
    	Goto See
	Death:
        AKNT I 5 A_Scream
        AKNT J 5 A_NoBlocking
        AKNT KLM 5
        AKNT N -1
        Stop
    XDeath:
		AKNT O 0 A_SpawnItem("GIBBER")
        AKNT O 5 A_PlaySound("archer/gib")
        AKNT P 5 A_NoBlocking
        AKNT QRSTUVW 5
        AKNT X -1
        Stop
	Raise:
		AKNT M 0 ACS_NamedExecuteAlways("WOC Monster Init",0,56,0)
		AKNT MLKJI 5
		Goto See
    }
}

actor KnightArcherLord
{
    Health 250
    Radius 20
    Height 56
    Speed 14
    PainChance 32
	Mass 100
	Scale 0.875
    MONSTER
	+NODROPOFF
	+FLOORCLIP
	+USEKILLSCRIPTS
	+AVOIDMELEE
	DropItem "Money" 64
    DropItem "Money" 64
    DropItem "Money" 64
    DropItem "Money" 64
    DropItem "Money1" 64
	DropItem "Money1" 8
	DropItem "Money2" 4
	DropItem "Money3" 2
	DropItem "ChestKey" 2
	DropItem "Armour7" 8
	DropItem "Armour6" 8
	SeeSound "archer/sight"
    AttackSound "archer/attack"
    PainSound "archer/pain"
    DeathSound "archer/death"
    ActiveSound "archer/growl"
    Obituary "%o was pierced by an Archer Lord."
	Species "Revenant"
	Tag "Archer Lord"
	DamageFactor "Physical", 0.75
	DamageFactor "PhysicalPlayer", 0.75
    States
    {
    Spawn:
		GKNT A 0
		GKNT A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,56,0)
	Idle:
        GKNT AB 10 A_Look
        Loop
    See:
        GKNT A 2 A_Chase
		GKNT A 3 A_Chase
		GKNT B 2 A_FastChase
		GKNT B 3 A_FastChase
		GKNT C 2 A_Chase
		GKNT C 3 A_Chase
		GKNT D 2 A_FastChase
		GKNT D 3 A_FastChase
		Loop
	Missile:
        GKNT E 3 A_PlaySound("archer/draw")
        GKNT E 7 A_FaceTarget
        GKNT G 5 bright A_CustomMissile("ArcherArrow2",32,5)
		GKNT E 5
        Goto See
    Pain:
    	GKNT H 3
        GKNT H 3 A_Pain
    	Goto See
    Pain.Morale:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,6),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(WOC_VISIONSSCRIPT,0,0,0,0)
		goto See
	Death:
        GKNT I 5 A_Scream
        GKNT J 5 A_NoBlocking
        GKNT KLM 5
        GKNT N -1
        Stop
    XDeath:
		GKNT O 0 A_SpawnItem("GIBBER")
        GKNT O 5 A_PlaySound("archer/gib")
        GKNT P 5 A_NoBlocking
        GKNT QRSTUVW 5
        GKNT X -1
        Stop
	Raise:
		GKNT M 0 ACS_NamedExecuteAlways("WOC Monster Init",0,56,0)
		GKNT MLKJI 5
		Goto See
    }
}

actor ArcherArrow
{
	Radius 5
	Height 8
	Speed 25
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(3,24)))
	Damagetype "Physical"
	PROJECTILE
	+NOGRAVITY
	/*+NODAMAGETHRUST*/
	renderstyle add
	alpha 0.8
	scale 0.5
	SeeSound "archer/attack"
	DeathSound "archer/hit"
	States
	{
	Spawn:
		VEKF A 1 bright A_SpawnItemEx("ArcherArrowTrail",  -(MomX/1.2), -(MomY/1.2), (MomZ/1.2*-1), (MomX/1.2), (MomY/1.2), (MomZ/1.2), 0, 138)
		Loop
	Death:
		VEKF FGHI 3 bright
		Stop
	}
}

actor ArcherArrow2 : ArcherArrow
{
   Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(17,37)))
   Damagetype "Physical"
   /*+NODAMAGETHRUST*/
   SeeSound "archer/attackboss"
   States
   {
   Spawn:
      VEKG A 1 bright A_SpawnItemEx("ArcherArrowTrail2",  -(MomX/1.2), -(MomY/1.2), (MomZ/1.2*-1), (MomX/1.2), (MomY/1.2), (MomZ/1.2), 0, 138)
      Loop
   Death:
      VEKG FGHI 3 bright
	Stop
   }
}


Actor SkullWizard 
{
	Obituary "%o succumbed to a Skull Wizard's magic."
	Health 450
	Radius 21
	Height 64
	Mass 120
	Speed 3
	PainChance 32
	PainChance "Convert", 255
	MeleeRange 96
	MeleeDamage 4
	MissileType "SkullWizardProjectile"
	SeeSound "H2SkullWizard/Sight"
	PainSound "H2SkullWizard/Pain"
	DeathSound "H2SkullWizard/Death"
	ActiveSound "H2SkullWizard/Sight"
	MeleeSound "H2SkullWizard/Melee"
	Monster
	+FloorClip
	+DontHurtSpecies
	+MissileMore
	+USEKILLSCRIPTS
	+AVOIDMELEE
	DropItem "Money" 64
	DropItem "Money" 64
	DropItem "Money" 64
	DropItem "Money1" 64
	DropItem "Money1" 64
	DropItem "Money1" 8
	DropItem "Money2" 4
	DropItem "Money3" 2
	DropItem "ChestKey" 2
	DropItem "Armour8" 8
	Bloodtype "EtherealBloodSkull"
	Species "BaronOfHell"
	Tag "Skull Wizard"
	DamageFactor "Arcane", 0.75
	DamageFactor "ArcanePlayer", 0.75
	DamageFactor "ArcaneTime", 0.75
	DamageFactor "Shadow", 0.75
	DamageFactor "ShadowTime", 0.75
	DamageFactor "ShadowPlayer", 0.75
	DamageFactor "Physical", 1.25
	DamageFactor "PhysicalPlayer", 1.25
	DamageFactor "Bleed", 1.25
	States
	{
	Spawn:
		SKWZ A 0
		SKWZ A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,68,0)
	Idle:
		SKWZ A 1 A_Look
		Loop
	See:
		SKWZ AAAAAABBBBBBB 4 A_Chase
		Loop
	Missile:
		SKWZ C 0 A_Jump(128, "Teleport")
		SKWZ C 8 A_FaceTarget
		SKWZ D 8 Bright A_FaceTarget
		SKWZ D 8 Bright A_CustomMissile("SkullWizardProjectile", 40, 0, 0)
		SKWZ D 0 Bright A_Jump(80, 2)
		SKWZ D 0 Bright A_SpidReFire
		Goto Missile+1
		SKWZ D 0
		Goto See
	Teleport:
		SKWZ C 0 A_JumpIfCloser(512, 1)
		Goto See
		SKWZ C 8 A_PlaySoundEx("H2SkullWizard/Teleport", "SoundSlot7", 0)
		SKWZ DEF 8 Bright
		TNT1 A 0 A_Stop
		TNT1 A 0 A_StopSoundEx("SoundSlot7")
		TNT1 A 0 A_SpawnItemEx("TeleportFog", 0, 0, 0, 0, 0, 0, 0, 128) //Remove the 33 for Doom
		TNT1 A 0 A_ChangeFlag("NoTeleport", 1)
		TNT1 A 0 A_ChangeFlag("NoDropOff", 0)
		TNT1 A 0 A_ChangeFlag(Invulnerable, 1)
		TNT1 A 0 A_UnSetShootable
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAA 2 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAA 2 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAA 2 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAA 2 A_Wander
		SKWZ A 0 A_ChangeFlag(Invulnerable, 0)
		SKWZ A 0 A_SetShootable
		SKWZ A 0 A_SpawnItemEx("TeleportFog", 0, 0, 0, 0, 0, 0, 0, 128) //Remove the 33 for Doom
		SKWZ A 0 A_ChangeFlag("NoDropOff", 1)
		SKWZ A 0 A_ChangeFlag("NoTeleport", 0)
		Goto See
	Pain:
		SKWZ A 3
		SKWZ A 3 A_Pain
		SKWZ A 0 A_Jump(96, "Teleport")
		Goto See
	Pain.Morale:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,7),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(WOC_VISIONSSCRIPT,0,0,0,0)
		goto See
	Death:
		SKWZ G 5 A_Scream
		SKWZ HIJ 5 bright
		SKWZ K 5 bright
		SKWZ LM 5 bright
		SKWZ N 5
		SKWZ O 0 A_NoBlocking
		SKWZ O 0 Bright A_SpawnItemEx("BlackSpider",-18,18,0,0,0,0,0,0,0)
		SKWZ O 0 Bright A_SpawnItemEx("BlackSpider",-18,-18,0,0,0,0,0,0,0)
		SKWZ O 5 bright A_SpawnItemEx("BlackSpider",18,0,0,0,0,0,0,0,0)
		SKWZ P -1
		Stop
	Raise:
		SKWZ P 0 ACS_NamedExecuteAlways("WOC Monster Init",0,68,0)
		SKWZ ON 5
		SKWZ MLKJIH 5 Bright
		SKWZ G 5
		Goto See
	}
}

Actor BlackSpider 
{
  Obituary "%o was overwhelmed by Black Spiders."
  Health 80
  Radius 16
  Height 24
  Mass 100
  Speed 16
  Scale 0.3
  BloodColor "0 78 0"
  PainChance 128
  PainChance "Convert", 255
  PainSound "H2Spider/Act"
  DeathSound "H2Spider/Death"
  ActiveSound "H2Spider/Act"
  MeleeSound "H2Spider/Melee"
  MeleeRange 44
  Monster
  +FloorClip
  +DontHurtSpecies
  +NeverFast
  +NoDamageThrust
  -CountKill
  +USEKILLSCRIPTS
  Tag "Black Spider"
  DamageFactor "Fire", 1.25
	DamageFactor "FirePlayer", 1.25
	DamageFactor "FireTime", 1.25
  States
  {
  Spawn:
    SPD1 A 0
	SPD1 A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,24,0)
  Idle:
    SPD1 A 1 A_Look
    Loop
  See:
    SPD1 ABCD 3 A_Chase
    Loop
  Melee:
    SPD1 E 3 A_FaceTarget
    SPD1 E 10 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(1,8)), "H2Spider/Melee", "", "Poison")
    Goto See
  Pain:
    SPD1 E 3
    SPD1 E 3 A_Pain
    Goto See
  Pain.Morale:
	TNT1 A 0 A_Changeflag("Frightened", 1)
	Goto Pain
  Pain.Convert:
	TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,2),"ConvertMe")
	goto Pain
  ConvertMe:
	TNT1 A 0 ACS_ExecuteAlways(WOC_VISIONSSCRIPT,0,0,0,0)
	goto See
  Death:
    SPD1 F 5
    SPD1 G 5 A_Scream
    SPD1 H 5
    SPD1 I 5 A_NoBlocking
    SPD1 J 5
    SPD1 K -1
    Stop
  Raise:
	SPD1 J 0 ACS_NamedExecuteAlways("WOC Monster Init",0,24,0)
    SPD1 JIHGF 6
	Goto See
   }
}

Actor ShadowWizard 
{
	Obituary "%o was skullduggeried by a Shadow Wizard."
	Health 900
	Radius 21
	Height 64
	Mass 120
	Speed 3
	PainChance 32
	PainChance "Convert", 255
	MissileType "SkullWizardProjectile"
	PainSound "H2ShadowWizard/Pain"
	DeathSound "H2ShadowWizard/Death"
	ActiveSound "H2ShadowWizard/Sight"
	MeleeSound "H2ShadowWizard/Melee"
	Monster
	+FloorClip
	+DontHurtSpecies
	+MissileMore
	+BossDeath
	+USEKILLSCRIPTS
	+AVOIDMELEE
	DropItem "AccessoryRandomSpawner" 8
	DropItem "Money1" 64
	DropItem "Money1" 64
	DropItem "Money1" 64
	DropItem "Money1" 64
	DropItem "Money1" 64
	DropItem "Money1" 8
	DropItem "Money2" 4
	DropItem "Money3" 2
	DropItem "ChestKey" 2
	DropItem "Armour8" 8
	DropItem "Armour4" 8
	Bloodtype "EtherealBloodSkull"
	Species "BaronOfHell"
	Tag "Shadow Wizard"
	DamageFactor "Arcane", 0.75
	DamageFactor "ArcanePlayer", 0.75
	DamageFactor "ArcaneTime", 0.75
	DamageFactor "Shadow", 0.75
	DamageFactor "ShadowTime", 0.75
	DamageFactor "ShadowPlayer", 0.75
	DamageFactor "Physical", 1.25
	DamageFactor "PhysicalPlayer", 1.25
	DamageFactor "Bleed", 1.25
  States
  {
  Spawn:
    SKWZ A 0
	SKWZ A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,68,0)
  Idle:
    SHWZ A 1 A_Look
    Loop
  See:
    SHWZ AAAAAABBBBBBB 4 A_Chase
    Loop
  Missile:
	SHWZ C 0 A_Jump(128, "Teleport")
    SHWZ C 8 A_FaceTarget
    SHWZ D 8 Bright A_FaceTarget
    SHWZ D 8 Bright A_CustomMissile("ShadowWizardProjectile", 40, 0, 0)
    SHWZ D 0 Bright A_Jump(80, 2)
    SHWZ D 0 Bright A_SpidReFire
    Goto Missile+1
    SHWZ D 0
    Goto See
  Teleport:
    SHWZ C 0 A_JumpIfCloser(512, 1)
    Goto See
    TNT1 A 0 A_ChangeFlag("NoTeleport", 1)
    TNT1 A 0 A_ChangeFlag("NoDropOff", 0)
    SHWZ C 8 A_PlaySoundEx("H2ShadowWizard/Teleport", "SoundSlot7", 0)
    SHWZ DEF 8 Bright
    TNT1 A 0 A_Stop
    TNT1 A 0 A_StopSoundEx("SoundSlot7")
    TNT1 A 0 A_SpawnItemEx("TeleportFog", 0, 0, 0, 0, 0, 0, 0, 128) //Remove the 33 for Doom
	TNT1 A 0 A_ChangeFlag(Invulnerable, 1)
    TNT1 A 0 A_UnSetShootable
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 AAA 2 A_Wander
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 AAA 2 A_Wander
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 AAA 2 A_Wander
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 AAA 2 A_Wander
	TNT1 A 0 A_ChangeFlag(Invulnerable, 0)
    TNT1 A 0 A_SetShootable
    SHWZ A 0 A_SpawnItemEx("TeleportFog", 0, 0, 0, 0, 0, 0, 0, 128) //Remove the 33 for Doom
    SHWZ A 0 A_ChangeFlag("NoDropOff", 1)
    SHWZ A 0 A_ChangeFlag("NoTeleport", 0)
    Goto Missile+1
  Pain:
    SHWZ A 3
    SHWZ A 3 A_Pain
    SHWZ A 0 A_Jump(128, "Teleport")
    Goto See
  Pain.Morale:
	TNT1 A 0 A_Changeflag("Frightened", 1)
	Goto Pain
  Pain.Convert:
	TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,8),"ConvertMe")
	goto Pain
  ConvertMe:
	TNT1 A 0 ACS_ExecuteAlways(WOC_VISIONSSCRIPT,0,0,0,0)
	goto See
  Death:
    SHWZ G 5 A_Scream
    SHWZ HIJ 5 bright
	SHWZ K 5 bright
	SHWZ LM 5 bright
    SHWZ N 5
    SHWZ O 0 A_NoBlocking
	SHWZ O 0 Bright A_SpawnItemEx("BrownSpider",-18,18,0,0,0,0,0,0,0)
	SHWZ O 0 Bright A_SpawnItemEx("BrownSpider",-18,-18,0,0,0,0,0,0,0)
	SHWZ O 5 bright A_SpawnItemEx("BrownSpider",18,0,0,0,0,0,0,0,0)
    SHWZ P -1 A_BossDeath
    Stop
  Raise:
	SHWZ P 0 ACS_NamedExecuteAlways("WOC Monster Init",0,68,0)
	SHWZ ON 5
	SHWZ MLKJIH 5 Bright
	SHWZ G 5
	Goto See
   }
}

ACTOR SkullWizardProjectile
{
    PROJECTILE
    +SEEKERMISSILE
	/*+NODAMAGETHRUST*/
	Damagetype "Fire"
    Speed 16
    Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(17,37)))
    Radius 6
    Height 8
    RenderStyle Add
    Scale 0.6
    SeeSound "H2SkullWizard/Fire"
    DeathSound "H2SkullWizard/Hit"
    States
    {
    Spawn:
	IFX1 A 1 Bright A_SpawnItemEx("SkullSpellTrail2",0,0,0,0,random(2,-2),random(2,-2),0,0)
	IFX1 A 1 Bright A_SpawnItemEx("SkullSpellTrail2",0,0,0,0,random(2,-2),random(2,-2),0,0)
	IFX1 B 1 Bright A_SpawnItemEx("SkullSpellTrail2",0,0,0,0,random(2,-2),random(2,-2),0,0)
	IFX1 B 1 Bright A_SpawnItemEx("SkullSpellTrail2",0,0,0,0,random(2,-2),random(2,-2),0,0)
	TNT1 A 0 A_SeekerMissile(1,1,SMF_PRECISE)
	Loop
    Death:
	IFX1 IJKL 4 Bright
	Stop
    }
}

Actor ShadowWizardProjectile : SkullWizardProjectile
{
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(21,41)))
	SeeSound "H2ShadowWizard/Fire"
    DeathSound "H2ShadowWizard/Hit"
}

ACTOR SkullSpellTrail2
{
    PROJECTILE
    +NOCLIP
	+CLIENTSIDEONLY +DONTBLAST
	+NOINTERACTION
    Speed 0
    RenderStyle Add
    Alpha 0.6
    Scale 1.0
    States
    {
    Spawn:
	IFX1 CDEFGH 2 Bright
	Stop
    }
}

Actor BrownSpider 
{
	Obituary "%o was overwhelmed by Brown Spiders."
	Health 100
	Radius 16
	Height 24
	Mass 100
	Speed 16
	Scale 0.3
	BloodColor "0 78 0"
	PainChance 64
	PainChance "Convert", 255
	PainSound "H2Spider/Act"
	DeathSound "H2Spider/Death"
	ActiveSound "H2Spider/Act"
	MeleeSound "H2Spider/Melee"
	MeleeRange 44
	Monster
	+FloorClip
	+DontHurtSpecies
	+NeverFast
	+NoDamageThrust
	-CountKill
	+USEKILLSCRIPTS
	Tag "Brown Spider"
	DamageFactor "Fire", 1.25
	DamageFactor "FirePlayer", 1.25
	DamageFactor "FireTime", 1.25
	States
	{
	Spawn:
		SPD2 A 0
		SPD2 A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,24,0)
	Idle:
		SPD2 A 1 A_Look
		Loop
	See:
		SPD2 ABCD 3 A_Chase
		Loop
	Melee:
		SPD2 E 3 A_FaceTarget
		SPD2 E 10 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(2,16)), "H2Spider/Melee", "", "Poison")
		Goto See
	Missile:
		SPD2 A 0 A_JumpIfCloser(384, 1)
		Goto See
		SPD2 A 0 A_Jump(96, 25)
		SPD2 A 10 A_FaceTarget
		SPD2 Q 0 A_Recoil (-15)
		SPD2 A 0 ThrustThingZ(0, 20, 0, 1) 
		SPD2 AAAAAAAAAAAAAAAAAAAA 1 A_JumpIfTargetInsideMeleeRange("MeleeStrike")
		SPD2 A 0 A_Stop
		SPD2 A 0
		Goto See
	MeleeStrike:
		SPD2 E 0 A_FaceTarget
		SPD2 E 10 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(3,24)), "H2Spider/Melee", "", "Poison")
		Goto See
	Pain:
		SPD2 E 3
		SPD2 E 3 A_Pain
		Goto See
	Pain.Morale:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,5),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(WOC_VISIONSSCRIPT,0,0,0,0)
		goto See
	Death:
		SPD2 F 5
		SPD2 G 5 A_Scream
		SPD2 H 5
		SPD2 I 5 A_NoBlocking
		SPD2 J 5
		SPD2 K -1
		Stop
	Raise:
		SPD2 J 0 ACS_NamedExecuteAlways("WOC Monster Init",0,24,0)
		SPD2 JIHGF 6
		Goto See
	}
}


Actor Medusa
{
	Obituary "%o was helpless in the face of the Medusa's beauty."
	Health 425
	Radius 20
	Height 56
	Mass 1000
	Speed 6
	PainChance 32
	Scale 0.95
	SeeSound "Medusa/Sight"
	PainSound "Medusa/Pain"
	DeathSound "Medusa/Death"
	ActiveSound "Medusa/Active"
	MeleeSound "Medusa/Melee"
	PainChance "Convert", 255
	Damagetype "Physical"
	Monster
	+FloorClip
	+DontHurtSpecies
	+QuickToRetaliate
	+AVOIDMELEE
	+USEKILLSCRIPTS
	Species "Revenant"
	Tag "Medusa"
	DamageFactor "Ice", 1.25
	DamageFactor "IcePlayer", 1.25
	DamageFactor "IceTime", 1.25
	DamageFactor "Poison", 0.5
	DamageFactor "PoisonPlayer", 0.5
	DamageFactor "PoisonTime", 0.5
	States
	{
	Spawn:
		MEDU A 0
		MEDU A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,68,0)
	Idle:
		MEDU A 0 A_StopSoundEx("SoundSlot7")
		MEDU A 1 A_Look
		Loop
	See:
		MEDU A 0 A_StopSoundEx("SoundSlot7")
		MEDU AABBCCDD 5 A_Chase
		MEDU D 0 A_JumpIfInTargetLOS(1,40,0,384)
		Loop
		MEDU D 0 A_JumpIfTargetInLOS(1,40,0,384)
		Loop
		MEDU D 0 A_CheckLOF("Gaze",CLOFF_MUSTBESHOOTABLE,384)
		Loop
	Melee:
		MEDU AAA 4 A_FaceTarget
		MEDU E 6 A_CustomComboAttack("MedusaBall", 40, ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(15,30)), "Medusa/Melee", "Physical", 1)
		Goto See
	Missile:
		MEDU A 0 A_Jump(128, "Gaze")
		MEDU AAA 4 A_FaceTarget
		MEDU E 6 A_CustomComboAttack("MedusaBall", 40, ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(15,30)), "Medusa/Melee", "Physical", 1)
		Goto See
	Gaze:
		MEDU E 0 A_JumpIfInTargetLOS(1,40,0,384)
		Goto Missile+1
		MEDU E 0 A_CheckLOF(1,CLOFF_MUSTBESHOOTABLE,384)
		Goto Missile+1
		MEDU E 0 A_PlaySoundEx("Medusa/Gaze", "SoundSlot7", 1)
		MEDU E 0 A_GiveToTarget("MedusaScreenFX",1)
		MEDU E 0 A_FaceTarget
		MEDU E 5 A_CustomBulletAttack(0, 0, 1, ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,4), "MedusaPuff", 384, CBAF_NORANDOM)
		MEDU E 0 A_JumpIfInTargetLOS(1,40,0,384)
		Goto See
		MEDU E 0 A_CheckLOF(1,CLOFF_MUSTBESHOOTABLE,384)
		Goto See
		MEDU E 0 A_SpidRefire
		Goto Gaze+2
	Pain:
		MEDU F 0 A_StopSoundEx("SoundSlot7")
		MEDU F 3
		MEDU F 3 A_Pain
		Goto See
	Death:
		MEDU G 0 A_StopSoundEx("SoundSlot7")
		MEDU G 6 A_Scream
		MEDU HIJ 6
		MEDU K 6 A_NoBlocking
		MEDU LMNO 6
		MEDU P -1
		Stop
	Raise:
		MEDU P 0 ACS_NamedExecuteAlways("WOC Monster Init",0,68,0)
		MEDU ONMLKJIHG 4
		Goto See
	}
}

Actor MedusaBall
{
  Radius 6
  Height 8
  Mass 1
  Speed 12
  Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(5,10)))
  Projectile
  +SeekerMissile
  +HITMASTER
  Damagetype "Poison"
  Decal PlasmaScorchLower
  SeeSound "Medusa/Attack"
  DeathSound "Medusa/Hit"
  RenderStyle Add
  Alpha 0.7
  Scale 0.85
  states
  {
  Spawn:
    FVUL A 0
    FVUL A 0 A_PlaySoundEx("SerpentFXContinuous", "Body", 1)
    FVUL A 0 A_SeekerMissile(2,2,SMF_PRECISE)
    FVUL AAA 1 Bright A_SpawnItemEx("CStaffTrail",0,0,0,0,0,0,0,128,0)
	FVUL A 0 A_SeekerMissile(2,2,SMF_PRECISE)
	FVUL BBB 1 Bright A_SpawnItemEx("CStaffTrail",0,0,0,0,0,0,0,128,0)
    Goto Spawn+2
  Death:
	FVUL C 0 Bright ACS_NamedExecuteWithResult("WOC DAMAGE OVER TIME", ACS_ExecuteWithResult(WOC_DECORATE,STATS,WOCTID,WOCMASTER), ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(10,20)), 5, POISONDOT)
    FVUL CDEF 3 Bright
    Stop
  }
}

Actor MedusaPuff : BulletPuff
{
  +NoClip
  +PuffOnActors
  +PUFFGETSOWNER
  -BloodSplatter
  +BloodLessImpact
  +NoDamageThrust
  Damagetype "Arcane"
  States
  {
  Spawn:
    TNT1 A 1
    Stop
  }
}

Actor MedusaScreenFX : CustomInventory
{
  inventory.maxamount 0
  inventory.usesound "misc/invuse"
  +AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  states
  {
  Spawn:
	TNT1 A 1
	Stop
  Use:
  TNT1 A 0 A_GiveInventory("MedusaFreeze")
  TNT1 A 0 A_Stop
    TNT1 A 1 A_SetBlend("Grey",0.1,7)
  stop
  }
}

Actor MedusaFreeze : PowerupGiver
{
  Inventory.MaxAmount 0
  Inventory.PickupSound ""
  Powerup.Type "MedusaSpeed"
  Powerup.Duration 6
  +Inventory.AutoActivate
  +Inventory.AlwaysPickup
  States
  {
  Spawn:
    TNT1 A 1
    Fail
  }
}

Actor PowerMedusaSpeed : PowerSpeed
{
  Speed 0.0
  +PowerSpeed.NoTrail
}

Actor FireImp : NewHereticImpLeader
{
	Species "Zombieman"
}

Actor IceImp
{
	Obituary "%o chilled out with the Ice Gargoyle."
	PainChance "Convert", 255
	Dropitem "ReagentBlue" 64
	/*+NODAMAGETHRUST*/
	health 40
	Radius 16
	Height 36
	Mass 50
	Speed 10
	PainChance 200
	Monster
	+FLOAT
	+NOGRAVITY
	+MISSILEMORE
	+NOICEDEATH
	+SPAWNFLOAT
	+USEKILLSCRIPTS
	/*+NODAMAGETHRUST*/
	//BloodColor "A4 A4 B8"
	SeeSound "himp/sight"
	AttackSound "himp/attack"
	PainSound "himp/pain"
	DeathSound "himp/death"
	ActiveSound "himp/active"
	Damagetype "Physical"
	Meleerange 46
	Species "Zombieman"
	Tag "Ice Gargoyle"
	DamageFactor "Ice", 0.75
	DamageFactor "IcePlayer", 0.75
	DamageFactor "IceTime", 0.75
	States
	{
	Spawn:
		IIMP A 0
		IIMP A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,36)
	Idle:
	    IIMP A 0 A_CheckFloor(6)
		IIMP A 0 A_ChangeFlag("FloatBob", 1)
		IIMP ABCB 10 A_Look
		Loop
		IIMP A 0 A_ChangeFlag("FloatBob", 0)
		Goto Idle+2
	Pain.Morale:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,3),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(WOC_VISIONSSCRIPT,0,0,0,0)
		goto See
	See:
		IIMP A 0 A_CheckFloor(10)
		IIMP A 0 A_ChangeFlag("FloatBob", 1)
		IIMP A 2 A_Chase
		IIMP A 3 A_Chase
		IIMP B 2 A_Chase
		IIMP B 3 A_Chase
		IIMP C 2 A_Chase
		IIMP C 3 A_Chase
		IIMP B 2 A_Chase
		IIMP B 3 A_Chase
		Loop
		IIMP A 0 A_ChangeFlag("FloatBob", 0)
		Goto See+2
	Pain:
		IIMP G 3
		IIMP G 3 A_Pain
		Goto See
	Melee:
		IIMP DE 5 A_FaceTarget
		IIMP F 6 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(5,12)), "himp/attack", "himp/attack", "Physical")
		Goto See
	Missile:
		IIMP A 0 A_Jump(128, 5)
		IIMP A 0 A_JumpIfCloser(256, 1)
		Goto See
		IIMP A 10 A_FaceTarget
		IIMP C 15 A_SkullAttack
		IIMP C 0 A_Stop
		Goto See
		IIMP DE 5 A_FaceTarget
		IIMP F 6 A_CustomMissile("IceImpShard", 10, 0)
		Goto See
	Death:
		IIMP G 0 A_ChangeFlag("FloatBob", 0)
		IIMP G 1
		IIMP G 1 A_SpawnItemEx ("GIB1", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP G 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP G 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP H 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP H 1 A_SpawnItemEx ("GIB5", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP H 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP H 2
		Wait
	XDeath:
		IIMP S 0 A_ChangeFlag("FloatBob", 0)
		IIMP S 0 A_ChangeFlag("SOLID",0)
		IIMP S 0 A_ChangeFlag("FLOORCLIP",0)
		//IIMP S 0 A_ChangeFlag("NOGRAVITY",1)
		IIMP S 5
		IIMP TU 5
		IIMP V 5 A_Gravity
		IIMP W 5 
		Wait
	XCrash:
		IIMP X 5 A_ChangeFlag("FloatBob", 0)
		IIMP Y 5 A_NoBlocking
		IIMP Z -1
		Stop
	Crash:
		IIMP I 0 A_ChangeFlag("NOGRAVITY", 0)
		IIMP I 0 A_ChangeFlag("FloatBob", 0)
		IIMP II 0 A_SpawnItemEx("GIB5", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		IIMP H 0 A_JumpIfHealthLower(-40,"XCrash")
		IIMP I 5
		IIMP J 5 A_Scream
		IIMP K 5 A_NoBlocking
		IIMP L -1
		Stop
	}
}

ACTOR IceImpShard
{
	Speed 14
	FastSpeed 25
	Radius 8
	Height 8
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(1,8)))
	DamageType "Ice"
	/*+NODAMAGETHRUST*/
	+THRUGHOST
	+WINDTHRUST
	Renderstyle Add
	Projectile
	SeeSound "HunterIceArrowFire"
	DeathSound "MageShardsExplode"

	States
	{
	Spawn:
		SHRD AA 1 Bright A_SpawnItemEx("FrostMissileFog", 0, 0, 1, 4, 0, FRandom(-0.5, 0.5), FRandom(-10, 10), 128)
		SHRD AAA 1 Bright A_SpawnItemEx("FrostMissileFog", 0, 0, 1, 4, 0, FRandom(-0.5, 0.5), FRandom(-10, 10), 128)
		SHRD BBB 1 Bright A_SpawnItemEx("FrostMissileFog", 0, 0, 1, 4, 0, FRandom(-0.5, 0.5), FRandom(-10, 10), 128)
		SHRD CCC 1 Bright A_SpawnItemEx("FrostMissileFog", 0, 0, 1, 4, 0, FRandom(-0.5, 0.5), FRandom(-10, 10), 128)
		Loop
	Death:
		SHEX ABCDE 5 Bright
		Stop
	}
}

Actor StoneGolem 
{
	Obituary "%o was pummeled by a Stone Golem"
	Health 300
	Radius 24
	Height 56
	Mass 2000
	Scale 1
	Speed 10
	//Damage (20)
	MeleeThreshold 72
	MeleeRange 72
	MeleeDamage 8
	DeathSound "Golem/Death"
	Species "Demon"
	Tag "Stone Golem"
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(26,46)))
	Monster
	+FloorClip
	+NoBlood
	+UseKillScripts
	DamageFactor "Physical", 0.75
	DamageFactor "PhysicalPlayer", 0.75
	DamageFactor "Fire", 0.75
	DamageFactor "FirePlayer", 0.75
	DamageFactor "FireTime", 0.75
	DamageFactor "Lightning", 1.5
	DamageFactor "LightningPlayer", 1.5
	DamageFactor "LightningTime", 1.5
	DamageFactor "PoisonTime", 0.0
	DamageFactor "Bleed", 0.0
	States
	{
	Spawn:
		GOL1 A 0
		GOL1 A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,65)
	Idle:
		GOL1 A 10 A_Look
		Loop
	See:
		GOL1 BB 5 A_Chase
		GOL1 C 0 A_PlaySound("Golem/Step")
		GOL1 CCDD 5 A_Chase
		GOL1 A 0 A_PlaySound("Golem/Step")
		GOL1 AA 5 A_Chase
		Loop
	Melee:
		GOL1 EF 6 A_FaceTarget
		GOL1 G 6 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(26,46)), "golem/melee", "golem/melee", "Physical")
		Goto See
	Missile:
		GOL1 G 0 A_JumpIfCloser(512, 1)
		Goto See
		GOL1 G 10 A_FaceTarget
		GOL1 G 0 A_PlaySound("golem/step")
		GOL1 G 20 A_SkullAttack
		GOL1 G 6 A_Stop
		Goto See
	Death:
		GOL1 H 35 A_Scream
		GOL1 I 3 A_PlaySound("Golem/StoneFall")
		GOL1 JK 3
		GOL1 L 3 A_NoBlocking
		GOL1 MNOPQRSTUV 3
		GOL1 W -1
		Stop
	Raise:
		GOL1 W 0 ACS_NamedExecuteAlways("WOC Monster Init",0,65,0)
		GOL1 W 3
		GOL1 VUTSRQPONMLKJI 3 Bright
		Goto See
	}
}

ACTOR StoneGolemChargeMissile
{
	Radius 24
	Height 56
	Speed 20
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(26,46)))
	PROJECTILE
	RenderStyle Add
	Alpha 1
	SeeSound ""
	DeathSound ""
	States
	{
	Spawn:
		TNT1 A 1
		Stop
	Death:
		TNT1 A 1 bright
		stop
	}
}

Actor IronGolem 
{
	Obituary "%o felt the sting of an Iron Golem's jewel"
	HitObituary "%o was crushed by an Iron Golem's fist"
	Health 800
	Radius 24
	Height 64
	Mass 2000
	Scale 1.2
	Speed 10
	MeleeThreshold 76
	MeleeRange 76
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(45,55)))
	DeathSound "Golem/Death"
	Species "BaronOfHell"
	Tag "Iron Golem"
	Monster
	+FloorClip
	+NoBlood
	+UseKillScripts
	DamageFactor "Physical", 0.5
	DamageFactor "PhysicalPlayer", 0.5
	DamageFactor "Fire", 1.5
	DamageFactor "FirePlayer", 1.5
	DamageFactor "FireTime", 1.5
	DamageFactor "Ice", 0.75
	DamageFactor "IcePlayer", 0.75
	DamageFactor "IceTime", 0.75
	DamageFactor "Lightning", 1.5
	DamageFactor "LightningPlayer", 1.5
	DamageFactor "LightningTime", 1.5
	DamageFactor "PoisonTime", 0.0
	DamageFactor "Bleed", 0.0
	States
	{
	Spawn:
		GOL2 A 0
		GOL2 A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,75)
	Idle:
		GOL2 A 10 A_Look
		Loop
	See:
		GOL2 BB 5 A_Chase
		GOL2 C 0 A_PlaySound("Golem/Step")
		GOL2 CCDD 5 A_Chase
		GOL2 A 0 A_PlaySound("Golem/Step")
		GOL2 AA 5 A_Chase
		Loop
	Melee:
		GOL2 EF 6 A_FaceTarget
		GOL2 G 6 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(45,55)), "golem/melee", "golem/melee", "Physical")
		Goto See
	Missile:
		GOL2 G 0 A_JumpIfCloser(512, 1)
		Goto Laser
		GOL2 G 10 A_FaceTarget
		GOL2 G 0 A_PlaySound("golem/step")
		GOL2 G 20 A_SkullAttack
		GOL2 G 6 A_Stop
		Goto See
	Laser:
		GOL2 H 0 A_PlaySound("Golem/Charge")
		GOL2 HHHHHHHHH 6 A_FaceTarget
		GOL2 H 12 A_CustomMissile("IronGolemBall", 64, 0, 0)
		Goto See
	Death:
		GOL2 I 35 A_Scream
		GOL2 J 3 A_PlaySound("Golem/MetalFall")
		GOL2 KL 3
		GOL2 M 3 A_NoBlocking
		GOL2 NOPQRSTUVW 3
		GOL2 X -1
		Stop
	Raise:
		GOL2 X 0 ACS_NamedExecuteAlways("WOC Monster Init",0,75,0)
		GOL2 XW 3
		GOL2 VUTSRQPONMLKJI 3 Bright
		Goto See
	}
}

ACTOR IronGolemChargeMissile
{
	Radius 24
	Height 64
	Speed 20
	health 1
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(45,55)))
	PROJECTILE
	RenderStyle Add
	Alpha 1
	SeeSound ""
	DeathSound ""
	States
	{
	Spawn:
		TNT1 A 1
		Stop
	Death:
		TNT1 A 1 bright
		stop
	}
}

Actor IronGolemBall
{
	Radius 6
	Height 8
	Mass 1
	Speed 12
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,FRandom(26,46)))
	Projectile
	+SeekerMissile
	Decal PlasmaScorchLower
	SeeSound "Golem/IronBall"
	DeathSound "Golem/IronBallHit"
	RenderStyle Add
	DamageType "Shadow"
	states
	{
	Spawn:
		BLVB A 0 Bright A_SeekerMissile(15, 15)
		BLVB AAA 1 A_SpawnItemEx("IronGolemBallTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		BLVB A 0 Bright A_SeekerMissile(15, 15)
		BLVB BBB 1 A_SpawnItemEx("IronGolemBallTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		Loop
	Death:
		BLVB CDEF 3 Bright
		Stop
	}
}

Actor IronGolemBallTrail
{
   Radius 0
   Height 1
   PROJECTILE
   +CLIENTSIDEONLY +DONTBLAST
   +DONTSPLASH
   +NOINTERACTION
   RenderStyle Add
   Alpha 0.75
   States
   {
   Spawn:
      TNT1 A 1 Bright
      BLTR ABCDEFG 2 Bright
      Stop
   }
}

Actor BronzeGolem 
{
	Obituary "%o's head was taken as a trophy for a Bronze Golem"
	HitObituary "%o was squished like an insect by a Bronze Golem"
	Health 1600
	Radius 24
	Height 64
	Mass 2000
	Scale 1.2
	Speed 10
	MeleeThreshold 76
	MeleeRange 76
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(45,55)))
	DeathSound "Golem/Death"
	Species "BaronOfHell"
	Tag "Bronze Golem"
	Monster
	+FloorClip
	+NoBlood
	+UseKillScripts
	+BossDeath
	DropItem "AccessoryRandomSpawner" 8
	DamageFactor "Physical", 0.5
	DamageFactor "PhysicalPlayer", 0.5
	DamageFactor "Fire", 1.5
	DamageFactor "FirePlayer", 1.5
	DamageFactor "FireTime", 1.5
	DamageFactor "Ice", 0.75
	DamageFactor "IcePlayer", 0.75
	DamageFactor "IceTime", 0.75
	DamageFactor "Lightning", 1.5
	DamageFactor "LightningPlayer", 1.5
	DamageFactor "LightningTime", 1.5
	DamageFactor "PoisonTime", 0.0
	DamageFactor "Bleed", 0.0
	DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
	DropItem "Money1" 32
	DropItem "Money2" 16
	DropItem "Money3" 8
	DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
	DropItem "Money1" 32
	DropItem "Money2" 16
	DropItem "Money3" 8	
	DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
	DropItem "Money1" 32
	DropItem "Money2" 16
	DropItem "Money3" 8
	DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
	DropItem "Money1" 32
	DropItem "Money2" 16
	DropItem "Money3" 8
	DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
    DropItem "Money" 192
	DropItem "Money1" 32
	DropItem "Money2" 16
	DropItem "Money3" 64
	DropItem "ChestKey" 2
	States
	{
	Spawn:
		GOL3 A 0
		GOL3 A 0 ACS_NamedExecuteAlways("WOC Monster Init",0,75)
	Idle:
		GOL3 A 1 A_Look
		Loop
	See:
		GOL3 BB 5 A_Chase
		GOL3 C 0 A_PlaySound("Golem/Step")
		GOL3 CCDD 5 A_Chase
		GOL3 A 0 A_PlaySound("Golem/Step")
		GOL3 AA 5 A_Chase
		Loop
	Melee:
		GOL3 EF 6 A_FaceTarget
		GOL3 G 6 A_CustomMeleeAttack(ACS_NamedExecuteWithResult("WOC Monster Damage Scale",ACTIVATOR,FRandom(45,55)), "golem/melee", "golem/melee", "Physical")
		Goto See
	Missile:
		GOL3 G 0 A_JumpIfCloser(512, 1)
		Goto Laser
		GOL3 G 10 A_FaceTarget
		GOL3 G 0 A_PlaySound("Golem/Step")
		GOL3 G 20 A_SkullAttack
		GOL3 G 6 A_Stop
		Goto See
	Laser:
		GOL3 HHH 6 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -21)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -18)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -15)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -12)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -9)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -6)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -3)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 0)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 3)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 6)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 9)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 12)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 15)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 18)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 21)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 18)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 15)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 12)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 9)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 6)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 3)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, 0)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -3)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -6)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -9)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -12)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -15)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -18)
		GOL3 H 0 A_FaceTarget
		GOL3 H 2 A_CustomMissile("BronzeGolemLaser", 72, 0, -21)
		GOL3 HH 6 A_FaceTarget
		Goto See
	Death:
		GOL3 I 35 A_Scream
		GOL3 J 3 A_PlaySound("Golem/MetalFall")
		GOL3 KL 3
		GOL3 M 3 A_NoBlocking
		GOL3 NOPQRSTUVW 3
		GOL3 X -1 A_BossDeath
		Stop
	Raise:
		GOL3 X 0 ACS_NamedExecuteAlways("WOC Monster Init",0,75,0)
		GOL3 XW 3
		GOL3 VUTSRQPONMLKJI 3 Bright
		Goto See
	}
}

Actor BronzeGolemLaser
{
	Radius 4
	Height 4
	Speed 35
	Damage (ACS_NamedExecuteWithResult("WOC Monster Damage Scale",WOCTARGET,5))
	Damagetype "Arcane"
	RenderStyle Add
	Alpha 0.5
	Scale 0.6
	Projectile
	+DontReflect
	+Ripper
	States
	{
	Spawn:
		G3PJ A 0
		G3PJ A 0 A_PlaySoundEx("Golem/Laser", "SoundSlot7", 1)
		G3PJ AAABBB 1 Bright A_SpawnItemEx("GolemLaserTrail", -28, 0, (MomZ/1.2*-1), 28, 0, (MomZ/1.2), 0, 128)
		G3PJ AAABBB 1 Bright A_SpawnItemEx("GolemLaserTrail", -28, 0, (MomZ/1.2*-1), 28, 0, (MomZ/1.2), 0, 128)
		G3PJ AAABBB 1 Bright A_SpawnItemEx("GolemLaserTrail", -28, 0, (MomZ/1.2*-1), 28, 0, (MomZ/1.2), 0, 128)
	Death:
		TNT1 A 1
		Stop
	}
}

Actor GolemLaserTrail
{
	Radius 1
	Height 1
	Damage (0)
	Projectile
	+DontReflect
	RenderStyle Add
	Alpha 0.5
	Scale 0.6
	States
	{
	Spawn:
		G3PJ ABC 1 Bright A_FadeOut(0.04)
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

