actor ActionMarkerWhite 16070
{
- SOLID
+NOBLOCKMAP
+NOGRAVITY
+CLIENTSIDEONLY
+ALLOWCLIENTSPAWN
+FLOATBOB
Radius 2
Height 2
Renderstyle Add
Alpha 0.0
VisibleToTeam 1
+FORCEXYBILLBOARD
  //$Category WDI Murderer Stuff
  //$Sprite ACTIA0
  //$Title "Action Marker (White)"
States
{
Spawn:
  TNT1 A 0 NODELAY ACS_NamedExecuteAlways("WDIR_MarkerVisibility", 0)
  Goto On
Active:
  ACTI A 1 BRIGHT 
  Wait
InActive:
Off:
  TNT1 A 1
  Wait
On:
  ACTI A 1 BRIGHT
  Wait
}
}

actor ActionMarkerBlue : ActionMarkerWhite 16071
{
  //$Category WDI Murderer Stuff
  //$Sprite ACTIB0
  //$Title "Action Marker (Blue)"
VisibleToTeam 1
States
{
Spawn:
  TNT1 A 0 NODELAY ACS_NamedExecuteAlways("WDIR_MarkerVisibility", 0)
  Goto On
Active:
  ACTI B 1 BRIGHT 
  Wait
InActive:
Off:
  TNT1 A 1
  Wait
On:
  ACTI B 1 BRIGHT
  Wait
}
}

Actor ActionMarkerBlueTeleport 181
{
  -SOLID
  +NOBLOCKMAP
  +NOGRAVITY
  +CLIENTSIDEONLY
  +ALLOWCLIENTSPAWN
  +FORCEXYBILLBOARD
  +FLOATBOB
  Radius 2
  Height 2
  Renderstyle Add
  Alpha 0.0
  VisibleToTeam 1
  //$Category WDI Murderer Stuff
  //$Sprite ACTBA0
  //$Title "Action Marker (Blue + Teleport)"
States
{
Spawn:
  TNT1 A 0 NODELAY ACS_NamedExecuteAlways("WDIR_MarkerVisibility", 0)
  Goto On
Active:
  ACTB A 1 BRIGHT 
  Wait
InActive:
Off:
  TNT1 A 1
  Wait
On:
  ACTB A 1 BRIGHT
  Wait
}
}

actor ActionMarkerHand : ActionMarkerWhite 22786
{
  //$Category WDI Murderer Stuff
  VisibleToTeam 1
States
{
Spawn:
  TNT1 A 0 NODELAY ACS_NamedExecuteAlways("WDIR_MarkerVisibility", 0)
  Goto On
Active:
  ACTI D 1 BRIGHT 
  Wait
InActive:
Off:
  TNT1 A 1
  Wait
On:
  ACTI D 1 BRIGHT
  Wait
}
}




ACTOR AdrenalineSyringe : CustomInventory 21472
{
    Tag "Adrenaline Syringe"
    Height 8
    Radius 12
	Inventory.Respawntics 9500
    Inventory.PickupMessage "\cjFound an \c[E2]adrenaline syringe."
    Inventory.MaxAmount 1
    Inventory.Icon "ARTIADRS"
    +INVENTORY.INVBAR
    Scale 0.45
    
    States
    {
    Spawn:
        S1RN A -1
        Stop   
    Use:
        TNT1 A 0 A_JumpIfInventory("ADR_Boost", 1, "Failure")
        TNT1 A 0 A_JumpIfInventory("ADR_MurdBoost", 1, "Failure")
        TNT1 A 0 A_JumpIfInventory("SlowCounter", 1, "Failure")
        TNT1 A 0 A_PlaySound("SYRITB1")
        TNT1 A 0 A_SetBlend("D8 96 3C", 0.3, 6)
        TNT1 A 0 ACS_NamedExecuteAlways("AdrenShot", 0)
        Stop
    Failure:
        TNT1 A 0 A_Print("Please wait.")
        Fail
    }
}

ACTOR ADR_Boost : PowerSpeed     { Powerup.Duration 0x7FFFFFFF Speed 1.25 }    // For innocents
ACTOR ADR_MurdBoost : PowerSpeed { Powerup.Duration 0x7FFFFFFF Speed 1.15 }    // For murder WITH KNIFE

actor HealthSpawner : RandomSpawner 32056
{
  //$Category WDI Items
  //$Sprite STIMA0
  //$Title "Health Spawner"
    DropItem "SmallKit" 255, 75
    DropItem "BigKit" 255, 24
    DropItem "AdrenalineSyringe" 255, 8
    DropItem "TechnoKit2" 255, 1
}

Actor WDI18bombdropped
{
	+SHOOTABLE
	+FORCEXYBILLBOARD
	+NOBLOOD
	Health 75
	MASS 99999
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "SprayRED", 0.0
	DamageFactor "SprayBLU", 0.0
	DamageFactor "SprayYLL", 0.0
	DamageFactor "SprayGRN", 0.0
	DamageFactor "SprayORG", 0.0
	DamageFactor "SprayPNK", 0.0
	DamageFactor "burn", 0.0
	DamageFactor "fire", 0.0
	DamageFactor "ShovelMelee", 1.0
	DamageFactor "SawMelee", 2.0
	DamageFactor "friendlygun", 1.0 // No more 10.0, With some players, this is an imbalance :c
  States
  {
  Spawn:
    TALI A 12
	TALI A 25 A_PlaySound("ohno3",0)
    TALI A 36 A_PlaySound("C4BEEP")
	TALI A 31 A_PlaySound("C4BEEP")
	TALI A 26 A_PlaySound("C4BEEP")
	TALI A 21 A_PlaySound("C4BEEP")
	TALI A 16 A_PlaySound("C4BEEP")
	TALI A 11 A_PlaySound("C4BEEP")
	TALI A 6 A_PlaySound("C4BEEP")
	TALI A 6 A_PlaySound("C4BEEP")
	TALI A 4 A_PlaySound("C4BEEP")
	TALI A 3 A_PlaySound("C4BEEP")
	TALI A 2 A_PlaySound("C4BEEP")
  Death:
	TNT1 A 0 A_PlaySound("panzexpl")
	tnt1 a 0 A_Spawnitemex("PanzerNuke",0,0,48)
    tnt1 a 0 A_Spawnitemex("WDI18bombexplosion") // Riclo500's 2024 edit to make WDI18 walls break when TNT placed into it.
	TNT1 A 0 A_PlaySound("C4DEBRIS",0) 
//	TNT1 A 0 A_Recoil(32)
	TNT1 A 5
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_DIE
    Stop
  }
}

//Riclo: wdi18
//-------------------------------------
ACTOR NetherEgg : CustomInventory 30000 //Shameless code copy of orginal Easter Egg
{
  //$Category WDI Easter Eggs
  //$Sprite NEGGA0
  //$Title "Nether Egg"
  +INVBAR
  +FANCYPICKUPSOUND
  -INVENTORY.INTERHUBSTRIP
  +INVENTORY.UNDROPPABLE
  Inventory.DefMaxAmount
  Inventory.PickupFlash "PickupFlash"
  Inventory.MaxAmount 1
  Inventory.Icon "ARTINETH" //NETHEREG
  Inventory.PickupSound ""
  Inventory.PickupMessage "Something about this seems other-worldly."
  Inventory.RespawnTics 9999999999999999 
  States
  {
  Spawn:
    NEGG A -1
    Stop
  Use:
    TNT1 A 0 A_PlaySound("CVOICES")
	stop
  }
}

ACTOR EasterEgg : CustomInventory 10400
{
  //$Category WDI Easter Eggs
  //$Sprite EASTA0
  //$Title "THE EASTER EGG"
  Tag "Easter Egg"
  +INVBAR
  +FANCYPICKUPSOUND
  -INVENTORY.INTERHUBSTRIP
  +INVENTORY.UNDROPPABLE
  Inventory.DefMaxAmount
  Inventory.PickupFlash "PickupFlash"
  Inventory.MaxAmount 1
  Inventory.Icon "ARTIEAST"
  Inventory.PickupSound ""
  Inventory.PickupMessage "???"
  Inventory.RespawnTics 9999999999999999 //Oh dear god.
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    EAST A -1
    Stop
  Use:
    TNT1 A 0 A_PlaySound("EASTERTIME")
	stop
  }
}

ACTOR SlenderMurdWall : CustomInventory 
{
Inventory.InterhubAmount 0
  TAG "Use to move in Murderer's hub"
  +INVBAR
  +FANCYPICKUPSOUND
  +INVENTORY.UNDROPPABLE
  Inventory.DefMaxAmount
  Inventory.PickupFlash "PickupFlash"
  Inventory.MaxAmount 10
  Inventory.Icon "ARTITELM" //ACTIK0
  Inventory.PickupSound ""
  Radius 24
  Height 20
  Inventory.RespawnTics 42000 // 20 minutes
  States
  {
  Spawn:
    PSBG A -1
    Stop

  Use:
    TNT1 A 0 ACS_NamedExecute("S_wdiex03murdwall",0)
	stop

  }
}

Actor Player_DeathMarker : MapMarker
{
    Scale 0.04
    -SOLID
    +NOINTERACTION
    +NOBLOCKMAP
    States
    {
    Spawn:
        TNT1 A 0
        TNT1 A 0 ACS_NamedExecuteAlways("WDIR_DeathMarkerVisiblity", 0)
    Invisible:
        TNT1 A -1 
        Stop
    Visible:
        DSKL A -1
        Stop
    }
}

// From Blade of agony
actor Camel 25382
{
    //$Sprite CAMLA0
	//$Category WDI Creatures
    //$Title Desert Camel (No AI)
    Radius 32
    Height 32
    Scale 0.9
    States
    {
    Spawn:
        CAML BBBBB 10
        TNT1 A 0 A_Jump(128, "HeadRight") 
        TNT1 A 0 A_Jump(156, "Chewing") 
        Loop

    HeadRight:
        CAML AAAAA 10
        TNT1 A 0 A_Jump(128, "Spawn") 
        Loop

    Chewing:
        CAML CC 6
        CAML DD 6
        CAML EE 6
        CAML FF 6
        CAML DD 6
        CAML EE 6
        TNT1 A 0 A_Jump(156, "Spawn") 
        Loop
    }
}

Actor RandomRock 25295
{
	Height 1
	Radius 1
	Mass 0
	Gravity 8.0
	-NOGRAVITY +NOBLOCKMAP
	+CLIENTSIDEONLY +FORCEXYBILLBOARD
	States
	{
	Spawn:
	TNT1 A 20 NODELAY
    TNT1 A 0 A_ChangeFlag( "NOINTERACTION", true )
	TNT1 A 0 A_SetScale(frandom(0.1,0.4),frandom(0.1,0.4))
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SetScale(-scalex,scaley)
	TNT1 A 1 A_Jump(256, "1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19")
	1: DROK B -1
	2: DROK C -1
	3: DROK D -1
	4: DROK E -1
	5: DROK F -1
	6: DROK G -1
	7: DROK H -1
	8: DROK I -1
	9: DROK J -1
	10: DROK K -1
	11: DROK L -1
	12: DROK M -1
	13: DROK N -1
	14: DROK O -1
	15: DRT1 A -1
	16: DRT2 A -1
	17: DRT3 A -1
	18: DRT4 A -1
	19: DRT5 A -1
	
	stop
	}
}

Actor RandomDesertGrass 25277
{
    //$Category WDI Environment/Grass
	//$Sprite GRSDA0
	//$Title Desert Grass (Random Types; Random Scale)
	Radius 8
	Height 8
    +ClientSideOnly
    +NOINTERACTION
	States
	{
	Spawn:
		GRSD A 1  A_Jump (256, "grs1", "grs2", "grs3", "grs4", "grs5", "grs6") 
		loop
	grs1: 
		GRSD A -1 A_SetScale(frandom(0.3, 0.5))
		stop
	grs2: 
		GRSD B -1 A_SetScale(frandom(0.3, 0.5))
		stop
	grs3: 
		GRSD C -1 A_SetScale(frandom(0.3, 0.5))
		stop
	grs4: 
		GRSD D -1 A_SetScale(frandom(0.4, 0.7))
		stop
	grs5: 
		GRSD E -1 A_SetScale(frandom(0.4, 0.7))
		stop
	grs6: 
		GRSD F -1 A_SetScale(frandom(0.4, 0.7))
		stop
	}
}

Actor RandomPalm 25270
{
    //$Category WDI Environment/Trees
	//$Sprite PALMA0
	//$Title Palm (Random Types; Random Scale)
	Radius 16
	Height 128
	+SOLID
	+FORCEYBILLBOARD
	States
	{
	Spawn:
	    TNT1 A 0 NODELAY A_SpawnItemEx("RandomRock",random(-32,32),random(-32,32),0,0,0,0,0,SXF_NOCHECKPOSITION,128,7780)
		TNT1 A 0 NODELAY A_SpawnItemEx("RandomRock",random(-32,32),random(-32,32),0,0,0,0,0,SXF_NOCHECKPOSITION,128,7780)
		TNT1 A 0 NODELAY A_SpawnItemEx("RandomRock",random(-32,32),random(-32,32),0,0,0,0,0,SXF_NOCHECKPOSITION,128,7780)
		TNT1 A 0 NODELAY A_SpawnItemEx("RandomRock",random(-32,32),random(-32,32),0,0,0,0,0,SXF_NOCHECKPOSITION,128,7780)
		PALM A 1  A_Jump (256, "palm1", "palm2", "palm3") 
		loop
	palm1: 
		PALM A -1 A_SetScale(frandom(0.8, 1.2))
		stop
	palm2: 
		PALM B -1 A_SetScale(frandom(0.8, 1.2))
		stop
	palm3: 
		PALM C -1 A_SetScale(frandom(0.8, 1.2))
		stop
	}
}

Actor WDI17Rocks 26242
{
    //$Category WDI Environment
	//$Sprite SRCKA0
	//$Title Desert Rocks (Random Types; Random Scale)
	Radius 8
	Height 8
    +ClientSideOnly
	States
	{
	Spawn:
		SRCK A 1  A_Jump (256, "rock1", "rock2", "rock3") 
		loop
	rock1: 
		SRCK A -1 A_SetScale(frandom(0.3, 0.4))
		stop
	rock2: 
		SRCK B -1 A_SetScale(frandom(0.4, 0.6))
		stop
	rock3: 
		SRCK C -1 A_SetScale(frandom(0.3, 0.5))
		stop

	}
}

////////////////////////////////////////////////////////////////////////////////////////////

ACTOR MarkTripShotgun : WDIToken { Inventory.MaxAmount 3 }

ACTOR MarkBertholite  : WDIToken { Inventory.MaxAmount 6 }
ACTOR MarkFakeStim    : WDIToken { Inventory.MaxAmount 6 }

ACTOR GiveMarkBertholite : CustomInventory { +INVENTORY.AUTOACTIVATE +INVENTORY.ALWAYSPICKUP States { Pickup: TNT1 A 0 A_GiveInventory("MarkBertholite", 20) Stop } }
ACTOR GiveMarkFakeStim : CustomInventory { +INVENTORY.AUTOACTIVATE +INVENTORY.ALWAYSPICKUP States { Pickup: TNT1 A 0 A_GiveInventory("MarkFakeStim", 20) Stop } }

ACTOR MarkFireExt     : WDIToken { Inventory.MaxAmount 3 }
ACTOR MarkFire        : WDIToken { Inventory.MaxAmount 6 }
ACTOR MarkSledgehammer: WDIToken { Inventory.MaxAmount 3 }
ACTOR MarkTNT         : WDIToken { Inventory.MaxAmount 3 }

ACTOR ChlorineCloud //Lol Hexen cloud.
{
	Radius 10
	Height 12
	DamageType "Gas"
	PoisonDamage 3
	Mass 0x7fffffff
	ReactionTime 120
	BounceFactor 0.15
	MaxStepHeight 64
	Gravity 0.0001
	BounceType "Hexen"
	BounceFactor 0.4
	WallBounceFactor 0.15
	RenderStyle Add
	Alpha 0.2
	+CANNOTPUSH +CANBLAST
	+NOEXPLODEFLOOR +DONTSPLASH
	+DROPOFF +NOBLOCKMAP
	+NODAMAGETHRUST +BLOODLESSIMPACT
	+SLIDESONWALLS +FORCEXYBILLBOARD
	Speed 2
	States
	{
	Spawn:
		PSBG D 1 NODELAY
		PSBG DEFH 4
		PSBG H 0 A_RadiusGive("GiveMarkBertholite", 140, RGF_PLAYERS | RGF_NOSIGHT)
		PSBG H 1 A_Explode(4, 128)
		Goto Float
	Float:
		PSBG H 0 A_RadiusGive("GiveMarkBertholite", 140, RGF_PLAYERS | RGF_NOSIGHT)
		PSBG HH 18 A_Explode(4, 128)
		PSBG H 0 A_Countdown	
		loop
	Death:
		PSBG H 1 A_FadeOut(0.001)
		loop
  }
}

ACTOR ChlorineCloudMini : ChlorineCloud
{
    Reactiontime 45
    DamageType "Gas"
    States
    {
    Spawn:
        PSBG D 1 NODELAY
        PSBG DEFH 4
        PSBG H 0 A_RadiusGive("GiveMarkFakeStim", 140, RGF_PLAYERS | RGF_NOSIGHT)
        PSBG H 1 A_Explode(4, 128)
        Goto Float
    Float:
        PSBG H 0 A_RadiusGive("GiveMarkFakeStim", 140, RGF_PLAYERS | RGF_NOSIGHT)
        PSBG HH 18 A_Explode(4, 128)
        PSBG H 0 A_Countdown	
        loop
    }
}

actor StimGas
{
PROJECTILE
-NOGRAVITY
+NODAMAGETHRUST
Obituary ""
DamageType "Gas"
+FORCEXYBILLBOARD
states
{
Spawn:
	FTIM A 0
	//lol fall through!
Death:
	FTIM A 0 A_PlaySound("Weapons/Aw_FFS")
	FTIM A 0 A_RadiusGive("GiveMarkFakeStim", 70, RGF_PLAYERS | RGF_NOSIGHT)
	FTIM A 1 A_Explode(20, 40)
	FTIM BCBCBCBCBCBCBCBC 2
	FTIM CCCCCCCCCCCCCCC 2 A_SpawnItemEx ("ChlorineCloudMini", 0, 0, 0, random(-6.0,6.0), random(-6.0,6.0), 0, random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
	
Deathloop: //Because state offsets didn't work for whatever reason
	FTIM C 350
	FTIM C 1 A_JumpIf(CallACS("CheckPerma") == 1,"Deathloop")
	FTIM C 1 A_FadeOut(0.01)
	loop
} 
}

Actor TripShotgunPuff : DefaultPuff
{
DamageType "ShotgunTrap"
Decal "BulletChip"
activesound "none"
attacksound "Bullet/Ricochet"
seesound "Bullet/Hit"
vspeed 0
+FORCEXYBILLBOARD
+PUFFONACTORS
	renderstyle Add
	alpha 1.0
	Scale 0.1
	+BRIGHT
  states
  {
Crash:
  Spawn:
    TNT1 A 0
	BPUF A 1 A_SpawnItemEx ("RicoChet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	BPUF D 1 A_SetScale(0.16,0.16)
  Melee:
    TNT1 A 0 A_RadiusGive("MarkTripShotgun", 64, RGF_PLAYERS | RGF_NOSIGHT)
	TNT1 A 1
	stop
  xdeath:
	TNT1 A 0
    TNT1 A 0 A_RadiusGive("MarkTripShotgun", 64, RGF_PLAYERS | RGF_NOSIGHT)
	TNT1 A 0 A_PlaySound("Bullet/Hit")
	stop
}
}

actor FireExtMissile
{
  Scale 0.3
  Radius 3
  Height 3
  Speed 20
  DamageType "FireExt"
  Damage (Random(1,1))
  Projectile
  RenderStyle add
  decal FireExtDecal
 // Alpha 0.70
  +CANNOTPUSH
  +BLOODLESSIMPACT
  +NODAMAGETHRUST
  +RANDOMIZE
  +DONTSPLASH
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    FIEX I 0 
    FIEX IIJJ 1 A_FadeOut(0.08)
	FIEX K 0 A_SetScale(0.4)
	FIEX KKLL 1 A_FadeOut(0.08)
	FIEX M 0 A_SetScale(0.5)
	FIEX MN 1 A_FadeOut(0.08)
    Stop
  Death:
	FIEX M 0
	FIEX M 0 A_RadiusGive("MarkFireExt", 64, RGF_PLAYERS | RGF_NOSIGHT)
	FIEX M 0 A_explode(1,16,0,0,16)
	TNT1 MMMM 0 A_CustomMissile("FireExtSmoke", random(-5,5), random(-5,5), random (0, 360), 2, random (75, -75))
	FIEX M 0 A_CheckFloor("DeathFloor")
    TNT1 A 1
    stop
	DeathFloor:
	FIEX M 0
	FIEX M 0 A_SpawnItem("SprayFloorDecalWhite", 0, 1)
	stop
  }
}

Actor ThrownMolly
{
	Radius 6
	Height 4
	Speed 25
	Damage 0
	Scale 0.45
	DamageType "Friendlythrown"
	Projectile
	-NOGRAVITY
	-BOUNCEONACTORS
	-BLOODSPLATTER
	-EXPLODEONWATER
	+NOBLOOD
	+SKYEXPLODE
	SeeSound "Molly/Flame"
	DeathSound "Molly/Burst"
	Obituary ""
	Gravity 0.85
	+FORCEXYBILLBOARD
	+SKYEXPLODE
	decal "Scorch"
	States
	{
	Spawn:
		MOPP ABCDEFGHIJKLMNOP 2 Bright
		Loop
	Death:
		TNT1 A 0 A_JumpIf(waterlevel >= 2, "InWater")
		TNT1 A 0 A_RadiusGive("MarkFire", 90, RGF_PLAYERS | RGF_NOSIGHT)
		TNT1 A 0 A_Explode(10, 64, 1)
		TNT1 AAAAAAAAAA 0 A_CustomMissile("MollyShard",1,0,random(0,360), 2, random(5, 45))
		TNT1 AAAAA 0 A_CustomMissile("MollyFireSpawn2",1,0,random(0,360), 2, random(30, 70))
		TNT1 A 1 A_SpawnItemEx("MollyGroundScorchHuge", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 1 A_SpawnItemEx("MollyFireDecorativeBig", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAAAA 2 A_CustomMissile("MollyFireSpawn",1,0,random(0,360), 2, random(5, 30))
		TNT1 AAAAA 1 A_CustomMissile("MollyFireSpawn3",1,0,random(0,360), 2, random(5, 30))
		Stop
	InWater:
		TNT1 A 1
		Stop
}}

Actor MollyFire
{
  Radius 3
  Height 4
	Speed 0
  Damage 0
  Scale 0.7
  Alpha 0.0
  Gravity 1.5
  ReactionTime 60 // About 1 minute 
  Renderstyle Add
  ActiveSound "molly/burn"
  DamageType "Burn"
	-Solid
	-Shootable
	-NOGRAVITY
	+DONTSPLASH
	+BloodLessImpact
	-BLOODSPLATTER
	+RIPPER
	+NOBLOOD
	+NODAMAGETHRUST
	+BRIGHT
	+FORCEXYBILLBOARD
	+VULNERABLE
	   +ISMONSTER
   -COUNTKILL
	DamageFactor "FireExt", 10
	DamageFactor "bombstuff", 0
	DamageFactor "Burn", 0
	DamageFactor "Gas", 0
//	DamageFactor 0.0
	Health 25
  States
  {
  Spawn:
    TNT1 A 0 
    TNT1 A 0 A_JumpIf(waterlevel >= 2, "InWater")
    TNT1 A 0 A_PlaySound("molly/burn", CHAN_VOICE, 1.0, 1)
	TNT1 A 0 A_SpawnItemEx("MollyGroundScorch", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("RealisticFireSparks",0,0,34,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSCALE|SXF_SETMASTER)
  NF4R ABCDEFGHIJK 1 A_FadeIn(0.1)
  NF4R LMNOPQ 1
    Goto Ignited
	
    Ignited:
    TNT1 A 0 A_JumpIf(waterlevel >= 2, "InWater")
    TNT1 A 0 A_PlaySound("molly/burn", CHAN_VOICE, 1.0, 1)
	NULL A 0 Bright A_RadiusGive("MarkFire", 130, RGF_PLAYERS | RGF_NOSIGHT)
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R ABC 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R DEF 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R GHI 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R JKL 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R MNO 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R PQ 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R ABC 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R DEF 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R GHI 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R JKL 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R MNO 1
	NULL A 0 Bright A_Explode(2, 100, 1)
	NF4R PQ 1
    TNT1 A 0 A_CountDown
    Loop

  Death: 
    TNT1 A 0 A_StopSound(CHAN_AUTO)
	NF4R ABCDEFGHIJ 1 Bright
	NF4R KLMNOPQ 1 Bright A_FadeOut(0.05)
	NF4R RSTUV 1 Bright A_FadeOut(0.05)
	TNT1 A 0 A_RemoveChildren(TRUE)
    Stop

Death.FireExt: 
    TNT1 A 0 A_StopSound(CHAN_AUTO)
	TNT1 A 0 A_PlaySound("MOLOEXTI")
	//NF4R ABCDEFGHIJ 1
	NF4R RSTUV 1 Bright A_FadeOut(0.10)
	TNT1 A 0 A_RemoveChildren(TRUE)
    Stop


  InWater:
    TNT1 A 1
    Stop
  }
}

Actor MollyDamageArea: MollyFire
{
//+NOGRAVITY
	States
	{
	Spawn:
	TNT1 A 0 NODELAY A_PlaySound("molly/burn", CHAN_VOICE, 1.0, 1)
	TNT1 A 0 A_RadiusGive("MarkFire", 130, RGF_PLAYERS | RGF_NOSIGHT)
	TNT1 AAAAAAAAAAA 3 Bright A_Explode(2, 100, 1)
    TNT1 A 0 A_CountDown
    Loop
	Death:
    TNT1 A 1 A_StopSound(CHAN_AUTO)
    Stop
	}
}

Actor FireDecorativeNew 20900
{
  Height 6
  Radius 2
  +BRIGHT
  Renderstyle Add
  scale 0.5
  +NOGRAVITY
  +BLOODLESSIMPACT
  Alpha 1.0
  DamageType "Fire"
  Obituary "%o burned himself on decorative fire. Well, if you insist."
  +NOINTERACTION
  +NOCLIP
  +RANDOMIZE
  +FORCEYBILLBOARD
  +DONTSPLASH
RenderStyle add
  //$Category WDI Effects
  //$Sprite FFLGF0
  //$Title "Fire Decoration"
  States
  {
  Spawn:
	TNT1 A 0 NODELAY A_SetScale(frandom(0.4,0.6))
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SetScale(-scalex,scaley)
	TNT1 A 0 A_SpawnItemEx("RealisticFireSparks",0,0,23,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSCALE, 0, 9500)
    Stay:
    TNT1 A 0 A_PlaySoundEx("DSTORCH2", "SoundSlot6", 1)
	NF4R ABCDEFGHIJKLMNOPQ 1 BRIGHT
	FFLG F 0 A_SpawnItemEx("FireDecorativeSmoke",random(-2,2),random(-2,2),random(12,14),frandom(-0.3,0.3),frandom(-0.3,0.3),frandom(0.8,1.2),random(0,90),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,90)
	TNT1 A 0 A_RadiusGive("MarkFire", 32, RGF_PLAYERS | RGF_NOSIGHT)
	TNT1 A 0 A_Explode(2,8,0,0,8)
	loop
	}
}

Actor FireDecorativeLargeNew : FireDecorativeNew 20901
{
  scale 0.8
  States
  {
  Spawn:
	TNT1 A 0 NODELAY A_SetScale(frandom(0.7,0.9))
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SetScale(-scalex,scaley)
	TNT1 A 0 A_SpawnItemEx("RealisticFireSparks",0,0,23,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSCALE, 0, 9500)
    Stay:
    TNT1 A 0 A_PlaySoundEx("DSTORCH2", "SoundSlot6", 1)
	FFLG F 0 A_SpawnItemEx("FireDecorativeSmoke",random(-2,2),random(-2,2),random(12,14),frandom(-0.3,0.3),frandom(-0.3,0.3),frandom(0.8,1.2),random(0,90),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,90)
	NF4R ABCDEFGHIJKLMNOPQ 1 BRIGHT
	TNT1 A 0 A_RadiusGive("MarkFire", 48, RGF_PLAYERS | RGF_NOSIGHT)
	TNT1 A 0 A_Explode(2,16,0,0,16)
	loop
  }
}

ACTOR SledgePUFF: BaseMeleePuff
{ 
   AttackSound "weapons/SledgeHit"
   SeeSound "weapons/SledgeHit"
   +EXTREMEDEATH
   Decal "MeleeCrack"
   DamageType "friendlymelee"
   States
   {
   Spawn:
   Crash:
   Melee:
       TNT1 A 0 A_RadiusGive("MarkSledgehammer", 64, RGF_PLAYERS | RGF_NOSIGHT)
       TNT1 A 1
       Stop
   }
}

ACTOR SledgePUFF2: BaseMeleePuff
{ 
   AttackSound ""
   SeeSound ""
   +EXTREMEDEATH
   Decal "MeleeCrack"
 States
   {
   Spawn:
   Crash:
   Melee:
       TNT1 A 0 A_RadiusGive("MarkSledgehammer", 64, RGF_PLAYERS | RGF_NOSIGHT)
       TNT1 A 1
       Stop
   }
}

Actor SledgeFloorAttack
{
	Projectile
	Radius 1
	Height 2
	+ripper
	Damage (0)
	Speed 22
	Damagetype "friendlymelee"
	Renderstyle none
	States
	{
	Spawn:
	CELL A 1 NODELAY
	stop
	Death:
	TNT1 A 0 A_CheckFloor("DeathFloor")
	TNT1 AAAA 0 A_CustomMissile ("MeleeSmoke", 0, 0, random (160, -160), 2, random (0, 360))
	stop
	DeathFloor:
	TNT1 A 0 A_SpawnItemEX("SledgeRadiusSmoke",0,0,0)
	TNT1 A 0 A_Quake(2,6,0,52,"none")
	TNT1 A 0 A_RadiusGive("MarkSledgehammer", 64, RGF_PLAYERS | RGF_NOSIGHT)
	TNT1 A 8 A_Explode(19,40,0,0,20) // damage nerfed from 30 to 19 so max damage murd can get is 45 instead of 60.
	stop  
	}
}

ACTOR WDI18bombexplosion
{
  DamageType "bombstuff"
  Damage 999
  Scale 4.0
  Projectile
  -NOGRAVITY
  +RANDOMIZE
  +DEHEXPLOSION
  +GRENADETRAIL
  States
  {
  Spawn:
    goto death
  Death:
    TNT1 A 0 A_RadiusGive("MarkTNT", 850, RGF_PLAYERS | RGF_NOSIGHT)
    EXP2 CDEFGH 3 Bright A_Explode(125,850)
    EXP2 IJKLMN 3 Bright
    Stop
  }
}

actor TankBoom
{
	  DamageType "bombstuff"
  //Radius 256
  //Height 256
  Damage 999
  Scale 4.0
  Projectile
  -NOGRAVITY
  +RANDOMIZE
  +DEHEXPLOSION
  +GRENADETRAIL
    States
    {
    Spawn:
        TNT1 A 0
       // "####" AAAAA 1 A_Explode(666,768,0)
	   TNT1 A 0 A_RadiusGive("MarkTNT", 1048, RGF_PLAYERS | RGF_NOSIGHT)
	   TNT1 AAAAAA 5 A_Explode(400,820)
	   TNT1 AAAAA 5 A_Explode(400,1048)
	//   TNT1 AAAAAAA 5 A_Explode(200,256,0)
        Stop
    }
}

////////////////////////////////////////////////////////////////////////////////////////////

Actor GasCanister
{
    Radius 12
    Height 12
    Mass 10
    Speed 25
    DamageType "Gas"
    PROJECTILE
    -NOGRAVITY
    +NODAMAGETHRUST
    +NOBLOOD
    -BLOODSPLATTER
    Renderstyle translucent
    Alpha 0.7
    +DONTSPLASH
    +FORCEXYBILLBOARD
    +SKYEXPLODE
    +EXPLODEONWATER
    +THRUACTORS
    BounceType Hexen
    BounceFactor 0.3
    WallBounceFactor 0.2
    
    ReactionTime 18
    
    DeathSound "weapons/Gasbreak"
    
    States
    {
    Spawn:
        TNT1 A 0 A_JumpIf(z - floorz < 2, "OnFloor")
        PTBR A 2 A_CountDown    
        TNT1 A 0 A_JumpIf(z - floorz < 2, "OnFloor")
        PTBR B 2 A_CountDown     
        TNT1 A 0 A_JumpIf(z - floorz < 2, "OnFloor")
        PTBR C 2 A_CountDown  
        TNT1 A 0 A_JumpIf(z - floorz < 2, "OnFloor")
        PTBR D 2 A_CountDown
        TNT1 A 0 A_JumpIf(z - floorz < 2, "OnFloor")
        PTBR E 2 A_CountDown    
        Loop  
    OnFloor:
        PSBG A 1 A_CountDown
        Loop   
    Death:
        PSBG A 0 A_Scream
        TNT1 AAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("NewGlassShard", random(-4, 4), random(-4, 4), random(1, 6), random(-16, 16), random(-16, 16), random(-4, 16), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
        TNT1 A 0 ThrustThingZ(0,8,0,0)
        PSBG BC 3 A_Explode(10,312)
        TNT1 AAAAAAAAAA 0 A_SpawnItemEx ("ChlorineCloud", 0, 0, 0, random(-4.0,4.0), random(-4.0,4.0), random(-0.6, 1.0), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)    
        TNT1 AAAAAAAAAA 0 A_SpawnItemEx ("ChlorineCloud", 0, 0, 0, random(-6.0,6.0), random(-6.0,6.0), random(-1.5, 2.5), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("ChlorineCloud", 0, 0, 0, random(-15.0,15.0), random(-15.0,15.0), random(-5.0, 5.0), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
        TNT1 A 1 A_PlaySound("GasCan/Hiss",0)
        stop    
    }   
}

ACTOR DrawMaxHP : WDIToken {}

ACTOR MurdMaxHPDisplay : Ammo
{
    Inventory.MaxAmount 999
    +INVENTORY.UNDROPPABLE
    +INVENTORY.UNTOSSABLE
    -INVENTORY.INVBAR
	+INVENTORY.IGNORESKILL
}

/////////////////////////////////////

Actor BigKitTimer
{
	+NOINTERACTION     
	+CLIENTSIDEONLY    
	+FORCEXYBILLBOARD  
	Scale 0.5
	Alpha 1.0
	RenderStyle Translucent
	States
	{
	Spawn:
		TNT1 A 0 NODELAY A_JumpIf(ACS_NamedExecuteWithResult("WDIR_BigKitTimer_Check") == 0, "Nope")
	
		BK1N A 36 BRIGHT // 10
		BK1N B 36 BRIGHT// 9
		BK1N C 36 BRIGHT // 8
		BK1N D 36 BRIGHT // 7
		BK1N E 36 BRIGHT // 6
		BK1N F 36 BRIGHT // 5
		BK1N G 36 BRIGHT // 4
		BK1N H 36 BRIGHT // 3
		BK1N I 36 BRIGHT // 2
		BK1N J 36 BRIGHT // 1
		BK1N K 5
		FadeOut:
		BK1N K 1 A_FadeOut(0.05) 
		Loop
	 Nope:
		TNT1 A 0
		Stop
	}
}

Actor DroppedKit
{
	Mass 5000
	ReactionTime 11
	Gravity 0.8
	-SHOOTABLE -NOGRAVITY
	+DONTSPLASH
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		MEDI J 35
		MEDI A 0 A_PlaySound("Items/BigKitWarn")
		MEDI FFGHII 1
		MEDI J 3
		MEDI FFGHII 1
		MEDI J 20
		MEDI A 0 A_PlaySound("Items/BigKitWarn")
		MEDI FFGHII 1
		MEDI J 3
		MEDI FFGHII 1
		MEDI J 20
		MEDI A 0 A_PlaySound("Items/BigKitWarn")
		MEDI FFGHII 1
		MEDI J 3
		MEDI FFGHII 1
		MEDI J 20
		MEDI J 15
		MEDI A 0 A_PlaySound("Items/BigKitActivate")
		MEDI FGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFG 1
		MEDI A 0 A_PlaySound("Items/BigKitOpen")
		TNT1 A 0 ThrustThingZ(0,14,0,0)
		MEDI BCD 4
		MEDI E 1 A_SpawnItemEx ("BigKitLight", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER, 0)
		MEDI E 0 A_SpawnItemEx ("NewBigKitOrbit", 0, -110, 2, 0, 0, 0, 48, SXF_SETMASTER, 0)
		MEDI E 0 A_SpawnItemEx ("NewBigKitOrbit", 0, 110, 2, 0, 0, 0, 48, SXF_SETMASTER, 0)
		MEDI E 0 A_SpawnItemEx ("NewBigKitOrbit", 110, 0 , 2, 0, 0, 0, 48, SXF_SETMASTER, 0)
		MEDI E 0 A_SpawnItemEx ("NewBigKitOrbit", -110, 0, 2, 0, 0, 0, 48, SXF_SETMASTER, 0)
		
		MEDI E 0 A_SpawnItemEx ("BigKitTimer", 0, 0, 30, 0, 0, 0, 0, 0, 0)
		
		MEDI E 1
		goto HealItUp

	HealItUp:
		MEDI E 0 A_PlaySound ("Items/BigKitHum", CHAN_VOICE, 3.0, 1) 
		MEDI E 0 ACS_ExecuteAlways(752,0,0,0,0)
		TNT1 A 0 A_CountDown
		MEDI EEEEEEEEEEEEEEEEEE 2 A_SpawnItemEx("BigKitHealDeco",random(80,-80),random(80,-80),0,0,0,random(1,3),0,SXF_NOCHECKPOSITION)
		Loop

	Death:
		MEDI E 0 A_StopSound(CHAN_VOICE)
		MEDI E 0 A_RemoveChildren
		MEDI E 0 A_SpawnItemEx("BigKitFake", 0, 0, 0, 0, 0, 0, 0, 0, 0)
		stop
	}
}

///////////////////////////////////////

actor FakeStim : CustomInventory 10500
{
  //$Category WDI Murderer Stuff
  //$Sprite FTIMA0
  //$Title "Poison Stimpack"
  Tag "Fake Stimpack"
  inventory.pickupmessage "\cjPicked up a \c[V1]Rigged Stimpack."
  inventory.pickupsound ""
  Inventory.Icon "ARTIFTIM"
  Inventory.MaxAmount 3
  Inventory.RespawnTics 2275 // 65 Seconds
  +INVBAR
  +INVENTORY.UNDROPPABLE
  Radius 8
  Height 8
  +FORCEXYBILLBOARD
  states
  {
  Spawn:
    FSTM A -1
    stop  

Use:
    TNT1 A 0 A_FireCustomMissile("DeployingStimGas", 0, 0, 0, 0)
    TNT1 A 0 A_GiveInventory("FakeStimUsed", 1)
    stop
  }
}

actor AmmoSpawner : RandomSpawner 32060
{
  //$Category WDI Ammo
  //$Sprite TNT1A0
  //$Title "Ammo Spawner"
    DropItem "NewShell"
    DropItem "NewShell"
    DropItem "NewShell"
	DropItem "NewShell"
    DropItem "NewShell"
    DropItem "PistolClip"
    DropItem "PistolClip"
    DropItem "PistolClip"
	DropItem "SpareSawFuel"
	DropItem "ABigNothing"
	DropItem "ABigNothing"
}

actor AmmoSpawnerBSM : RandomSpawner 22781
{
  //$Category WDI Ammo
  //$Sprite TNT1A0
  //$Title "Ammo Spawner (BSM)"
    DropItem "NewShell"
    DropItem "NewShell"
    DropItem "NewShell"
    DropItem "PistolClip"
	DropItem "PistolClip"
    DropItem "M1Ammo"
	DropItem "M1Ammo"
	DropItem "SpareSawFuel"
	DropItem "ABigNothing"
	DropItem "ABigNothing"
}

actor TTubes 25623
{
  scale 0.25
  height 8
  radius 4
  states
  {
  Spawn:
  TPRB A -1
  Stop
  }
}

ACTOR BlueHoleMarker : MapMarker 25375
{
  +NOBLOCKMAP
  +NOGRAVITY
  +DONTSPLASH
  +INVISIBLE
  Scale 0.4
  States
  {
  Spawn:
    ACTI B -1
    Stop
  }
}

// Firefly by Bifurcator
Actor FireFly_Spawner 25322
{
  //$Category Forest_map_Only
  //$Sprite FRF2A0
  //$Title "Firefly Spawner"
  Radius 1
  Height 1
  +NoClip
  +NoGravity
  +ClientSideOnly
  States
  {
  Spawn:
	Goto Active
  Active:
    TNT1 A 5 A_SpawnItemEx("FireFly_Particle", Random(-Args[0],Args[0]), Random(-Args[0],Args[0]), Random(0,Args[1]), Random(Args[2],Args[3]), 0, FRandom(-Args[2], Args[2]), Random(-4, 4), 128, Args[4])
    Loop
  Inactive:
    TNT1 A 1
    Loop
  }
}
Actor FireFly_Particle
{
  +Missile
  +NoBlockmap
  +NoGravity
  +DONTSPLASH
  Radius 1
  Height 1
  RenderStyle Add
 
  Scale 0.04
  ReactionTime 250
  States
  {
  Spawn:
    FRF2 ABCB 3  Bright A_CountDown
    Loop
  Death:
    FRF2 ABCB 3  Bright A_FadeOut(0.06)
    Stop
  }
}

// WDI04
Actor LockerDoorSpecial 27893
{
	//$Category WDI Map Specials
	//$Sprite TNT1A0
	//$Title "Locker Door (WDI04)"

	Activation ThingSpec_ThingActs | THINGSPEC_ThingTargets
	Radius 18
	Height 80

	+USESPECIAL

	States
	{
		Spawn:
			TNT1 A -1
			Stop
	}
}

/////////////////////////////////////
//////BlackRayne studios Models//////
/////////////////////////////////////

Actor br_plaintruck 25317
{
 //$Category Forest_map_Only
 //$Title Military Truck (Model, Non-Solid)
	Radius 40
	Height 32
	States
	{
	Spawn:
		MDLC A -1
		stop
	}
}

/////////////////////////////////////

Actor RandomSnowyTreeOptimized 25267
{
    //$Category WDI Reloaded Stuff/Flora
	//$Sprite DTRWA0
	//$Title Snowy Tree (Optimized; Random Types; Random Scale)
	Radius 16
	Height 128	
	+ClientSideOnly
	+NOINTERACTION 
	+NOBLOCKMAP
	States
	{
	Spawn:
		DTRW A 1  A_Jump (256, "tre1", "tre2", "tre3", "tre4", "tre5", "tre6", "tre7", "tre8") 
		loop
	tre1: 
		DTRW A -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre2: 
		DTRW B -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre3: 
		DTRW C -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre4: 
		DTRW D -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre5: 
		DTRW E -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre6: 
		DTRW F -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre7: 
		DTRW G -1 A_SetScale(frandom(1.0, 2.0))
		stop
	tre8: 
		DTRW H -1 A_SetScale(frandom(1.0, 2.0))
		stop
	}
}

Actor RandomSnowyTree : RandomSnowyTreeOptimized 25269
{
    //$Category WDI Reloaded Stuff/Flora
	//$Sprite DTRWA0
	//$Title Snowy Tree ( Random Types; Random Scale)
	+SOLID
	+FORCEYBILLBOARD
	-ClientSideOnly 
	-NOINTERACTION 
	-NOBLOCKMAP
}
	

Actor RandomSnowyGrass 25268
{
    //$Category WDI Reloaded Stuff/Flora
	//$Sprite GRSNA0
	//$Title Snowy Grass (Random Types; Random Scale)
	Radius 8
	Height 8
    +ClientSideOnly
    +NOINTERACTION
	States
	{
	Spawn:
		GRSN A 1  A_Jump (256, "grs1", "grs2", "grs3", "grs4", "grs5", "grs6", "grs7", "grs8", "grs9", "grs10") 
		loop
	grs1: 
		GRSN A -1 A_SetScale(frandom(0.5, 1.0))
		stop
	grs2: 
		GRSN B -1 A_SetScale(frandom(0.5, 1.5))
		stop
	grs3: 
		GRSN C -1 A_SetScale(frandom(0.5, 1.0))
		stop
	grs4: 
		GRSN D -1 A_SetScale(frandom(0.5, 1.5))
		stop
	grs5: 
		GRSN E -1 A_SetScale(frandom(0.5, 1.0))
		stop
	grs6: 
		GRSN F -1 A_SetScale(frandom(0.5, 1.5))
		stop
	grs7: 
		GRSN G -1 A_SetScale(frandom(0.5, 1.5))
		stop
	grs8: 
		GRSN H -1 A_SetScale(frandom(0.5, 1.5))
		stop
	grs9: 
		GRSN I -1 A_SetScale(frandom(0.5, 1.5))
		stop
	grs10: 
		GRSN J -1 A_SetScale(frandom(0.5, 1.5))
		stop
	}
}




ACTOR WaterSplashGeneratorNormal : SwitchableDecoration
{
	+CLIENTSIDEONLY
	+DONTSPLASH
	+NOBLOCKMAP
	+NOCLIP
	+NOGRAVITY
	+NOINTERACTION
	States
	{
	Spawn:
	Active:
		TNT1 AAAAAAA 2 A_SpawnItemEx("WaterSplashSpawner")
	Inactive:
		TNT1 A -1
		Loop
	EndSpawn:
		TNT1 A 1
		Stop
	}
}

ACTOR WaterSplashSpawner : RandomSpawner
{
	DropItem "WaterSplashObject1"
	DropItem "WaterSplashObject2"
	DropItem "WaterSplashObject3"
	DropItem "WaterSplashObject4"
}

ACTOR WaterSplashObject1
{
	Mass 100
	Gravity 6.0
	Alpha 0.7
	Scale 0.3
	-NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	States
	{
	Spawn:
		WTSA A 0 NODELAY
		"####" A 0 ThrustThingZ(0,random(4,8),0,0)
		"####" A 0 ThrustThing(random(0,255),random(0,1),0,0)
		"####" A 1 A_SetScale(ScaleX+0.01, ScaleY+0.01)
		"####" A 0 A_FadeOut(.025)
		Goto Spawn+3
	}
}

ACTOR WaterSplashObject2 : WaterSplashObject1 
{
	States
	{
		Spawn: 
			WTSB A 0 NODELAY
			Goto Super::Spawn+1
	}
}

ACTOR WaterSplashObject3 : WaterSplashObject1
{
	States
	{
		Spawn: 
			WTSB A 0 NODELAY
			Goto Super::Spawn+1
	}
}
ACTOR WaterSplashObject4 : WaterSplashObject1 
{
	States
	{
		Spawn: 
			WTSC A 0 NODELAY
			Goto Super::Spawn+1
	}
}

ACTOR WaterSplashCloud
{
	Mass 100
	Gravity 6.0
	Alpha 0.0
	Scale 0.7
	-NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	States
	{
	Spawn:
		WTFG A 0 NODELAY
		"####" A 0 ThrustThingZ(0,random(1,4),0,0)
		"####" A 0 ThrustThing(random(0,255),random(0,1),0,0)
		"####" AAAAAAAAA 2 A_FadeIn(.03)
		"####" A 2 A_SetScale(ScaleX+0.01, ScaleY+0.01)
		"####" A 0 A_FadeOut(.03)
		Goto Spawn+12
	}
}

ACTOR WaterSplashGeneratorNormalLooping : WaterSplashGeneratorNormal 25763
{
	//$Category WDI Reloaded Stuff/Effects
	//$Title Waterfall Particle Spawner
	//$Color 12
	//$Sprite WTSAA0
	States
	{
	Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WDIR_WatFallParticlesSpawn") == 0, "Inactive")
	    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WDIR_WatFallParticlesSpawn") == 1, "WithoutFog")
	    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WDIR_WatFallParticlesSpawn") == 2, "Full")
	    stop
	WithoutFog:
	    TNT1 A 4 A_SpawnItemEx("WaterSplashSpawner")
		Loop
	Full:
		TNT1 A 4 A_SpawnItemEx("WaterSplashSpawner")
		TNT1 A 4 A_SpawnItemEx("WaterSplashCloud", random(-8,8), random(-8,8), random(0,16))
		Loop
	Inactive:
		TNT1 A -1
		stop
	}
}






ACTOR Flashbang : CustomInventory 25918
{
	//$Category WDI Murderer Stuff
	//$Sprite FBNGJ0
	//$Title "Flashbang"
    Tag "Flashbang"
	Radius 6
    Height 6
	Scale 0.4
    Inventory.MaxAmount 2
	Inventory.RespawnTics 10500
    Inventory.PickupMessage "\cjPicked up a \c[H4]Flashbang."
    Inventory.PickupFlash "PickupFlash"
    +INVBAR
    +FANCYPICKUPSOUND
    +INVENTORY.UNDROPPABLE
    +FORCEXYBILLBOARD
    Inventory.Icon "ARTIFBNG"
    States
    {
    Spawn:
        FBNG J 0 NODELAY ACS_NamedExecuteAlways("WDIR_CheckFlashbangCVAR", 0)
        FBNG J -1
        Stop
    Use:
	    TNT1 A 15 A_PlaySound("FLBNGNPI", CHAN_AUTO, 1.0, 0, 15.0)
        TNT1 A 0 A_FireCustomMissile("FlashbangProjectile", 0, 0, 0, 8, 0, 0)
		//TNT1 A 0 A_GiveInventory("FlashbangUsed", 1)  // not now. for 3.4.
        Stop
    }
}

ACTOR FlashbangBlindMarker
{
    Radius 1
    Height 1
	Scale 0.55
    +NOBLOCKMAP
    +NOGRAVITY
    +NOINTERACTION
    +CLIENTSIDEONLY
    States
    {
    Spawn:
        F1MK A -1 Bright
        Stop
    }
}

ACTOR FlashbangProjectile
{
    Radius 4
    Height 4
    Speed 26
    PROJECTILE
	Scale 0.5
	YScale 0.4
	Gravity 0.8
	-NOGRAVITY
    +NODAMAGETHRUST
    +NOBLOOD
    -BLOODSPLATTER
    +DONTSPLASH
    +FORCEXYBILLBOARD
    +SKYEXPLODE
    +EXPLODEONWATER
    +THRUACTORS
    BounceType Doom
    BounceFactor 0.5
    WallBounceFactor 0.5
    BounceSound "FLBNGNCO" 
    States
    {
    Spawn:
        FBNG A 0 NODELAY ACS_NamedExecuteAlways("WDIR_FlashbangTimer", 0)
    Idle:
        FBNG ABCDEFGH 2
        Loop
    Death:
        FBNG A 1
        Loop
    }
}

ACTOR FlashbangExplosion
{
    +NOBLOCKMAP
    +NOGRAVITY
    +FORCEXYBILLBOARD
    States
    {
    Spawn:
        TNT1 A 0 NODELAY A_PlaySound("FLBNGEXP", CHAN_WEAPON, 1.0, 0, 0.6)
        TNT1 A 5
        Stop
    }
}



Actor DeployedCamera
{
	Health 10
	Radius 16
	Height 16
	Mass 1000
	scale 0.2
	Obituary ""
	SeeSound ""
	ReactionTime 2500
	DamageFactor "Gas", 0.0
	CameraHeight 1
	-SOLID
	+SHOOTABLE
	+STRIFEDAMAGE
	+NOBLOOD
	+NOGRAVITY
	+FORCEXYBILLBOARD
	DeathSound "weapons/gundrop"
    States
{
	Spawn:
	CAM3 A 0
    CAM3 A 0 Thing_Destroy (1337)
	CAM3 A 72 Thing_ChangeTID(0, 1337)
	CAM3 A 1 //ACS_Execute(713, 0, 1, 0, 0)
	CAM3 A 1 ACS_NamedExecuteAlways("WDIR_ClientCamRotator", 0, 0, 0, 0)
    CAM3 A -1 A_PlaySound("weapons/noiseready")
	loop
	
	Death:
    CAM3 A 0 Acs_Execute(713, 0, 2, 0, 0)
	CAM3 A 0 A_NoBlocking 
	CAM3 A 0 A_Scream
	CAM3 A 0 A_ChangeFlag("NOGRAVITY",true)
	CAM3 A 0 //A_Takefromtarget("CameraOn", 1)
	CAM3 A 0 //A_Givetotarget("CameraCheck", 1)
	CAM3 A -1 A_SpawnItemEx ("SparkEffect", 0, 0, 2, 0, 0, 0, 0,SXF_SETMASTER, 0)
	stop
	
}
}

//////////////////////////////////////////////////////////////////////////////////




// WDI 26

Actor Netherdemon 30010 //This replaces the actor already in Reloaded
{
  //$Category WDI Creatures
  //$Sprite NTDMA0
  //$Title "Nether demon"
  +FLOORCLIP
  +FASTER
  +NOGRAVITY
  +FLOAT
  Health 166
  PainChance 180
  Speed 20
  Radius 18
  Height 59
  Mass 0x7fffffff
  scale .90
DamageFactor "Gas", 0.0
DamageFactor "FlareEffect", 0.0
meleedamage 3
meleerange 66
Monster
ActiveSound "NETHIDLE"
SeeSound "NETHIDLE"
AttackSound "NETHIDLE"
PainSound "NETHIDLE"
//  Obituary "%o was slain"
  States
  {
  Spawn:
    NTDM A 2 A_Look
	NTDM B 2 A_Look
	NTDM C 0 A_Look
	NTDM D 2 A_Look
	NTDM E 2 A_Look
    Loop
  See:
    NTDM A 1 A_Chase
	NTDM B 1 A_Chase
	NTDM C 0 A_Chase
	NTDM D 1 A_Chase
	NTDM E 1 A_Chase
   Loop
  Melee:
    NTDM F 5 A_FaceTarget
    NTDM F 1 A_MeleeAttack
	NTDM F 5 A_FaceTarget
	NTDM A 2 A_FaceTarget
   Goto See
  Pain:
    NTDM R 6 A_Pain
    Goto See
  Death:
    NTDM F 320 A_PlaySound("CVOICES")
    NTDM G 70 A_Scream
    NTDM H 2
	NTDM I 2
	NTDM J 2
	NTDM K 2
	NTDM L 2
	NTDM M 2 A_SpawnItemEx("Netheregg")
    NTDM N 2 A_NoBlocking
    Stop
  }
}

Actor NetherBug 32249
{
  //$Category WDI Creatures
  //$Sprite NTDMA0
  //$Title "Nether Bug"
  +FLOORCLIP
  +FASTER
  +NOGRAVITY
  +FLOAT
  Health 16
  PainChance 180
  Speed 22
  Radius 18
  Height 18
  Mass 0x7fffffff
  scale .90
DamageFactor "Gas", 0.0
DamageFactor "FlareEffect", 0.0
meleedamage 1
meleerange 66
Monster
ActiveSound "NETHIDLE"
SeeSound "NETHIDL2"
AttackSound "NETHIDL2"
PainSound "NETHIDLE"
//  Obituary "%o was slain"
  States
  {
  Spawn:
    NHBG A 1 A_Look
	NHBG B 1 A_Look
    Loop
  See:
    NHBG A 1 A_Chase
	NHBG B 1 A_Chase
   Loop
  Melee:
    NHBG A 5 A_FaceTarget
    NHBG B 1 A_MeleeAttack
	NHBG B 5 A_FaceTarget
	NHBG A 2 A_FaceTarget
   Goto See
  Pain:
    NHBG C 6 A_Pain
    Goto See
  Death:
    NHBG C 2 A_PlaySound("NETHIDL2")
    NHBG D 2 A_Scream
    NHBG E 2
    NHBG F 2 A_NoBlocking
    Stop
  }
}

actor Bombhitmarker6 32240
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(113,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker7 32241
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(114,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker8 32242
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(115,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker9 32243
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(116,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker10 32244
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(117,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker11 32245
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(118,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker12 32246
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(119,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker13 32247
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(120,0,0,0,0) 
	stop
  }
}
actor Bombhitmarker14 32248
{
    Health 669
    Radius 1
    Height 2
    Mass 90
    -SOLID
    +SHOOTABLE
    +NOBLOOD
	+NOGRAVITY
	DamageFactor "Gas", 0.0
	DamageFactor "FlareEffect", 0.0
	DamageFactor "Burn", 0.0
	DamageFactor "bombstuff", 9.0
  States
  {
  Spawn:
    TNT1 A -1
    Loop
  Death:
  TNT1 A 0 ACS_ExecuteAlways(121,0,0,0,0) 
	stop
  }
}

actor ClientArrow 29017
{
  SpawnID 162
  RENDERSTYLE TRANSLUCENT
  Alpha 0.5
  Radius 1
  Height 1
  +NOGRAVITY
  +NOBLOCKMAP
  +NOLIFTDROP
  +NOTARGET
  +DONTMORPH
  +DONTSQUASH
  +NOTELEOTHER
  +FLOATBOB
  +NONSHOOTABLE
  //+CLIENTSIDEONLY
  States
  {
    Spawn:
      ARRY A 4 Bright
       Loop
  }
}

Actor CookingSteam 29018
{
  //$Category WDI Effects
  //$Sprite STEMA0
  //$Title "Cooking Steam"
	Height 2
	Radius 1
	Mass 0
	+NOBLOCKMAP +NOGRAVITY
	+NOINTERACTION
	States
	{
	Spawn:
		TNT1 A 37 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
		TNT1 A 47 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
		TNT1 A 43 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
		TNT1 A 40 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
		TNT1 A 45 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
		TNT1 A 27 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
		Loop
  }
}

Actor SizzlingForCooking
//$Category WDI26 Decorate/Sounds
{
-NOGRAVITY
reactiontime 999
states
{
spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundex ("Sizzling", CHAN_8, 5.0, 0) 
goto butloop

butloop:
TNT1 A 35	
TNT1 A 0 A_CountDown
loop

cutoff:
TNT1 AA 0 A_Stopsoundex("Voice")

Death:
TNT1 A 0 
stop
}
}

Actor SizzlingForCooking2
//$Category WDI26 Decorate/Sounds
{
-NOGRAVITY
reactiontime 999
states
{
spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundex ("Sizzling2", CHAN_9, 5.0, 0) 
goto butloop

butloop:
TNT1 A 35	
TNT1 A 0 A_CountDown
loop

cutoff:
TNT1 AA 0 A_Stopsoundex("Voice")

Death:
TNT1 A 0 
stop
}
}

/*actor Meat : SwitchableDecoration 32226
{
//$Category WDI26 Decorate
//$Title "WDI26 Meat (Goes in inventory)"
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST 
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial // THINGSPEC_Deactivate
  states
  {
  Spawn:
  FRUT A -1
  stop
  	Active:
	TNT1 A 0 A_JumpIfInTargetInventory("MeatInInventory",1,"Spawn") 
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 A_GiveToTarget("MeatInInventory",1)
	TNT1 A 0 ACS_Execute(97,0,0,0,0)
	stop
//	FailPickup:
//    TNT1 A 0
//    Goto Spawn
  }
}*/

Actor MeatInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor RawMeatInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor CookedMeatInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor BurntMeatInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor FullofMeat : ammo
{
Inventory.MaxAmount 2
}

actor CookingMeat
{
  height 4
  radius 4
  scale 0.8
  states
  {
  Spawn:
  FRUT A 280
  MET2 A 4515
  MET3 A 2520
  MET4 A -1
  Stop
  }
}

/*ACTOR HotCookedMeat //: SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  //Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    MET3 A 2 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 8 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 14 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 20 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 26 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 32 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 40 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 50 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 60 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	MET3 A 75 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
    MET3 A 28
	MET3 A 0 A_SpawnItemEx("CookedMeat")
	TNT1 A 0 A_Die
    Stop
	/*Active:
	TNT1 A 0 A_Scream
	TNT1 A 1 A_Print("It's still too hot, let it cool down!")
	goto Spawn
  }
}*/

ACTOR RawMeat : SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    MET2 A -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 ACS_Execute(88,0,0,0,0)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("The meat is fucking raw!")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok2:
	TNT1 A 1 A_Print("Gordon Ramsay would beat the shit out of you if he saw this meat.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok3:
	TNT1 A 1 A_Print("It's undercooked.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok4:
	TNT1 A 0 A_Print("The meat isn't cooked thoroughly.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("If the murderer doesn't kill you, this raw meat might.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
  }
}

ACTOR CookedMeat : SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    MET3 A -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 ACS_Execute(88,0,0,0,0)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("There's nothing quite like meat in your mouth.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 10)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok2:
	TNT1 A 1 A_Print("Gordon Ramsay would be envious of this meat.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 10)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok3:
	TNT1 A 1 A_Print("Freshly made and cooked to perfection.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 10)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok4:
	TNT1 A 0 A_Print("Crisp and juicy.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 10)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("It tastes so good!")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 10)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
  }
}

ACTOR BurntMeat : SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST 
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    MET4 A -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 ACS_Execute(88,0,0,0,0)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("This is charred garbage.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok2:
	TNT1 A 1 A_Print("This tastes like crap.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok3:
	TNT1 A 1 A_Print("Why are you eating this?")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok4:
	TNT1 A 0 A_Print("The meat is so black it might get shot by police.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("Desperate times call for desperate eatin'.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofMeat", 1)
	stop
  }
}

/*actor Fish : SwitchableDecoration 32231
{
//$Category WDI26 Decorate
//$Title "WDI26 Fish (Goes in inventory)"
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST 
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  states
  {
  Spawn:
  FRUT F -1
  loop
  	Active:
	//TNT1 A 0 A_JumpIfInventory("FishInInventory",1,"FailPickup") 
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 A_GiveToTarget("FishInInventory",1)
	TNT1 A 0 ACS_Execute(78,0,0,0,0)
	TNT1 A 0 A_Die
	stop
  }
}*/

Actor FishInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor RawFishInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor CookedFishInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor BurntFishInInventory : ammo
{
Inventory.MaxAmount 1
}
Actor FullofFish : ammo
{
Inventory.MaxAmount 2
}

actor CookingFish
{
  height 4
  radius 4
  scale 0.8
  states
  {
  Spawn:
  FRUT F 210
  FII2 A 3685
  FII3 A 1830
  FII4 A -1
  Stop
  }
}

/*ACTOR HotCookedFish //: SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  //Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    FII3 A 2 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 8 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 14 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 20 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 26 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 32 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 40 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 50 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 60 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
	FII3 A 75 A_SpawnItemEx("SteamParticle", 0, 0, 1, (0.1)*Random(0, 4), 0, (0.1)*Random(3, 7), Random(0, 360), 128)
    FII3 A 28
	FII3 A 0 A_SpawnItemEx("CookedFish")
	TNT1 A 0 A_Die
    Stop
	/*Active:
	TNT1 A 0 A_Scream
	TNT1 A 1 A_Print("It's still too hot, let it cool down!")
	goto Spawn
  }
}*/

ACTOR RawFish : SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    FII2 A -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 ACS_Execute(88,0,0,0,0)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("Is this thing still alive?")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok2:
	TNT1 A 1 A_Print("Somehow this doesn't feel the same as sashimi.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok3:
	TNT1 A 1 A_Print("It's undercooked.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok4:
	TNT1 A 0 A_Print("The fish isn't cooked thoroughly.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("This fish is all slimey and floppy.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
  }
}

ACTOR CookedFish : SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    FII3 A -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 ACS_Execute(88,0,0,0,0)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("Seafood is the best.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 8)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok2:
	TNT1 A 1 A_Print("That's some seriously saucy seafood.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 8)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok3:
	TNT1 A 1 A_Print("Freshly made and cooked to perfection.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 8)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok4:
	TNT1 A 0 A_Print("Crisp and awesome.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 8)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("It tastes so good!")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 8)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
  }
}

ACTOR BurntFish : SwitchableDecoration
{
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST 
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
    FII4 A -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	TNT1 A 0 ACS_Execute(88,0,0,0,0)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("This is an abomination.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok2:
	TNT1 A 1 A_Print("This fish deserved a better life than this.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok3:
	TNT1 A 1 A_Print("Aquaman is mad at you for this one.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok4:
	TNT1 A 0 A_Print("What is this crap?")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("It's falling apart in your hands while you eat it.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 2)
	TNT1 A 1 A_GiveToTarget("FullofFish", 1)
	stop
  }
}

ACTOR Carrot : SwitchableDecoration 32228 // Updated for Reloaded
{
	//$Category WDI26 Decorate
	//$Sprite FRUTC0
	//$Title "Carrot"
  mass 5000
  Radius 4
  Height 6
  scale 0.8
  Deathsound "MUCROT"
  -SOLID
  +FORCEXYBILLBOARD
  +USESPECIAL
  +PUSHABLE +SHOOTABLE +CANNOTPUSH +GHOST PushFactor 0.1
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
  States
  {
   Spawn:
   FRUT C 35 NODELAY
	FRUT C 0 A_SpawnItemEx("GoreFlies",0,0,random(2,20),0,0,0,0,SXF_CLIENTSIDE,246 ,7780)
	FRUT C 0 A_SpawnItemEx("Maggot",0,0,random(2,20),0,0,0,0,SXF_CLIENTSIDE,246 ,7780)
	FRUT C 0 A_SpawnItemEx("Worm",0,0,random(2,20),0,0,0,0,SXF_CLIENTSIDE,246 ,7780)
    FRUT C -1
    loop
	Active:
	TNT1 A 0 A_Scream
	TNT1 A 0 A_PlaySound("MUCROT")
	//TNT1 A 0 A_GiveToTarget("HealthBonus", 1)
	TNT1 A 0 A_Jump(256,"ok1","ok2","ok3","ok4","ok5")
	ok1:
	TNT1 A 1 A_Print("Why is it so bitter...?")
	stop
	ok2:
	TNT1 A 1 A_Print("It had to be rinsed first...")
	stop
	ok3:
	TNT1 A 1 A_Print("It's completely tasteless.")
	stop
	ok4:
	TNT1 A 0 A_Print("A little sweet and healthy!")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	stop
	ok5:
	TNT1 A 0 A_Print("Hrum-hrum.")
	TNT1 A 1 A_GiveToTarget("HealthBonus", 1)
	stop
  }
}





















// WDIUN01

actor Spanner 14083
{
  radius 20             //////////////////////////
  height 16            // Shadow Warrior Stuff //
  -SOLID              //////////////////////////
  States
  {
  Spawn:
  GDCR A -1
  loop
  }
}

actor Screwdriver 14084
{
  radius 20
  height 16
  -SOLID
  States
  {
  Spawn:
  GDCR B -1
  loop
  }
}

actor Oiler 14085
{
  radius 20
  height 16
  -SOLID
  States
  {
  Spawn:
  GDCR C -1
  loop
  }
} 

ACTOR BEER1 : Health 14086
{
  Game Doom
  +COUNTITEM                         ///////////////////////////
  +INVENTORY.ALWAYSPICKUP           // Redneck Rampage Stuff //
  Scale 0.15                       ///////////////////////////
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Inventory.PickupMessage "\cfBurp."
  inventory.pickupsound "PSHHH"
  States
  {
  Spawn:
    BEEA A 1
    Loop
  }
}

ACTOR BEER2 : Health 14087
{
  Game Doom
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Scale 0.15
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Inventory.PickupMessage "\cfBurp."
  inventory.pickupsound "DRINZER"
  States
  {
  Spawn:
    BEEB A 1
    Loop
  }
}

ACTOR BEER3 : Health 14088
{
  Game Doom
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Scale 0.15
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Inventory.PickupMessage "\cfBurp."
  inventory.pickupsound "DRINZER"
  States
  {
  Spawn:
    BEEE A 1
    Loop
  }
}

ACTOR BEER4 : Health 14089
{
  Game Doom
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Scale 0.15
  Inventory.Amount 50
  Inventory.MaxAmount 300
  Inventory.PickupMessage "\cfBurp."
  inventory.pickupsound "PSHHH"
  States
  {
  Spawn:
    BEEH A 1
    Loop
  }
}

ACTOR MILK : Health 14090
{
  Game Doom
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Scale 0.15
  Inventory.Amount 20
  Inventory.MaxAmount 200
  Inventory.PickupMessage "\cfMeow."
  inventory.pickupsound "PSHHH"
  States
  {
  Spawn:
    MILK A 1
    Loop
  }
}

ACTOR HogWild : Health 14091
{
  Game Doom
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Scale 0.15
  Inventory.Amount 30
  Inventory.MaxAmount 300
  Inventory.PickupMessage "\cfOm nom nom."
  inventory.pickupsound "OMNOMNOM"
  States
  {
  Spawn:
    CHIP A 1
    Loop
  }
}

ACTOR CowPil : Health 14092
{
  Game Doom
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Scale 0.15
  Inventory.Amount 30
  Inventory.MaxAmount 300
  Inventory.PickupMessage "\cfOm nom nom."
  inventory.pickupsound "OMNOMNOM"
  States
  {
  Spawn:
    NOMN A 1
    Loop
  }
}










// WDIUN02

Actor ThroneKey : Key 14445
{
	//$Category WDI Keys
	//$Sprite XKEYA0
	//$Title "Throne Key"
	-NOGRAVITY
	+INVENTORY.UNDROPPABLE
	Height 8
	Radius 4
	Inventory.pickupmessage "Recovered the Throne Key. How peculiar..."
	States
	{
	Spawn:
		XKEY A -1
		STOP
	}
}

ACTOR GiygasAlarmClock : CustomInventory
{
	//$Category WDI Easter Eggs
	//$Sprite GIYGA0
	//$Title "Giygas's Alarm Clock"
	+INVBAR
	+FANCYPICKUPSOUND
	-INVENTORY.INTERHUBSTRIP
	Inventory.DefMaxAmount
	Inventory.PickupFlash "PickupFlash"
	Inventory.MaxAmount 1
	Inventory.Icon "ARTIGIYG"
	Inventory.PickupSound ""
	Inventory.PickupMessage "...What the hell is this?"
	Inventory.RespawnTics 9999999999999999 //don'p
	Renderstyle Translucent
	Alpha 0.0
	States
	{
	Spawn:
		GIYG AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeIn(0.01)
		GIYG A -1
		Stop
	Death:
		GIYG AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.01)
		Stop
	Use:
		TNT1 A 0 ACS_Execute(666, 0, 0, 0, 0) // [XA] only works on Continuum. Don't use this elsewheres. :P
		stop
	}
}

Actor XaseRuneA 31401 {
	//$Category WDI Props
	//$Sprite XRUNA0
	//$Title "XaseRune A"
	+NOGRAVITY
	+VISIBILITYPULSE
	+FORCEXYBILLBOARD
	RenderStyle Add
	Alpha 1.0
	Scale 0.5
	Radius 8
	Height 8
	States
	{
	Spawn:
		XRUN A -1
		loop
	}
}

Actor XaseRuneB : XaseRuneA 31402 {
	//$Category WDI Props
	//$Sprite XRUNB0
	//$Title "XaseRune B"
	Scale 0.2
	States
	{
	Spawn:
		XRUN B -1
		loop
	}
}

Actor XaseRuneC : XaseRuneA 31403 {
	//$Category WDI Props
	//$Sprite XRUNC0
	//$Title "XaseRune C"
	States
	{
	Spawn:
		XRUN C -1
		loop
	}
}

Actor XaseRuneD : XaseRuneA 31404 {
	//$Category WDI Props
	//$Sprite XRUND0
	//$Title "XaseRune D"
	States
	{
	Spawn:
		XRUN D -1
		loop
	}
}

Actor XaseRuneE : XaseRuneA 31405 {
	//$Category WDI Props
	//$Sprite XRUNE0
	//$Title "XaseRune E"
	Scale 0.33
	States
	{
	Spawn:
		XRUN E -1
		loop
	}
}

Actor XaseRuneF : XaseRuneA 31406 {
	//$Category WDI Props
	//$Sprite XRUNF0
	//$Title "XaseRune F"
	States
	{
	Spawn:
		XRUN F -1
		loop
	}
}

Actor XaseRain {
	Projectile
	-NOGRAVITY
	+THRUACTORS
	+FORCEYBILLBOARD
	Renderstyle Translucent
	Alpha 0.8
	Damage 0
	States
	{
	Spawn:
		XRAI A -1
		loop
	}
}

// [XA] need to make these guys not push other actors. Right now they thrust
//      nearby pots away, which looks weird. Thanks to Minigunner for the fix!
Actor PotBits {
	+DOOMBOUNCE
	+CANNOTPUSH // [XA] there we go. Fixedededed.
	Gravity 2.0
	Bouncecount 5
	Reactiontime 30
	Speed 12
	States
	{
	Spawn:
		ROCK E 1 A_Jump(255, "One", "Two", "Three")
	One:
		ROCK E 4 A_Countdown
		Loop
	Two:
		ROCK F 4 A_Countdown
		Loop
	Three:
		ROCK G 4 A_Countdown
		Loop
	Death:
		Stop
	}
}