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)
        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
	
}
}