actor RainDrop 
{
	Height 2
	Radius 1
	Renderstyle add
	Alpha 0.6
	gravity 2.0
	+CLIENTSIDEONLY +DONTSPLASH
	+SPAWNCEILING +NoBlockMap +NoGravity
	+THRUACTORS +FORCEYBILLBOARD
	XScale 0.8
	states
	{
	Spawn:
		TNT1 A 1 NODELAY A_JumpIf(ACS_NamedExecuteWithResult("SkyChecking")==0,"null")
		TNT1 A 0 A_PlaySound("AMBRAIN", CHAN_BODY)
	stay:
		RNDR A 0 A_JumpIf(WaterLevel > 0, "Death2")
		RNDR A 1 A_CheckFloor("Death")
		Loop
	Death:
		RNDR BCDEF 2
		Stop
	Death2:
		TNT1 A 0 A_Stop
		RNDR BCDEF 2 A_NoGravity
		Stop
	}
}

actor Snowflake : RainDrop
{
	Alpha 0.9
	Scale 0.4
	XScale 0.4 
	+FORCEXYBILLBOARD
	states
	{
	Spawn:
		TNT1 A 1 NODELAY A_JumpIf(ACS_NamedExecuteWithResult("SkyChecking")==0,"null")
		stay:
		RNDR G 0 A_JumpIf(WaterLevel > 0, "null")
		RNDR G 1 A_CheckFloor("null")
		RNDR G 0 A_Weave(1,0,2,0)
		Loop
	}
}

actor BloodRainDrop : RainDrop
{
	states
	{
	Spawn:
		TNT1 A 1 NODELAY A_JumpIf(ACS_NamedExecuteWithResult("SkyChecking")==0,"null")
		TNT1 A 0 A_PlaySound("AMBRAIN", CHAN_BODY)
	stay:
		R1DR A 0 A_JumpIf(WaterLevel > 0, "Death2")
		R1DR A 1 A_CheckFloor("Death")
		Loop
	Death:
		R1DR BCDEF 2
		Stop
	Death2:
		TNT1 A 0 A_Stop
		R1DR BCDEF 2 A_NoGravity
		Stop
	}
}

actor BlueRainDrop : RainDrop
{
	states
	{
	Spawn:
		TNT1 A 1 NODELAY A_JumpIf(ACS_NamedExecuteWithResult("SkyChecking")==0,"null")
		TNT1 A 0 A_PlaySound("AMBRAIN", CHAN_BODY)
	stay:
		R2DR A 0 A_JumpIf(WaterLevel > 0, "Death2")
		R2DR A 1 A_CheckFloor("Death")
		Loop
	Death:
		R2DR BCDEF 2
		Stop
	Death2:
		TNT1 A 0 A_Stop
		R2DR BCDEF 2 A_NoGravity
		Stop
	}
}

actor RainSpawnerOhMyGod
{
radius 0
height 0
+NOINTERACTION
+CLIENTSIDEONLY
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}
actor RainSpawnerWtf : RainSpawnerOhMyGod
{

states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}
actor RainSpawnerSilly  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}
}
actor RainSpawnerHighest  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}
}
actor RainSpawnerHigh  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}
}
actor RainSpawner  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}
}
actor RainSpawnerLow  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}
}
actor RainSpawnerLowest  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("RainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}
}
/////////////
actor SnowSpawnerOhMyGod  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}
}
actor SnowSpawnerWtf  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}
}
actor SnowSpawnerSilly  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}
}
actor SnowSpawnerHighest  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}}
actor SnowSpawnerHigh  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAA 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}}
actor SnowSpawner  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}}
actor SnowSpawnerLow  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}}
actor SnowSpawnerLowest  : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("Snowflake",random(-400,1000),random(-400,400),300,0,0,-4,0)
stop
}
}

actor BloodRainSpawnerOhMyGod : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawnerWtf : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawnerSilly : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawnerHighest : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawnerHigh : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawner : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawnerLow : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BloodRainSpawnerLowest : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("BloodRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerOhMyGod : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerWtf : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerSilly : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerHighest : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerHigh : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawner : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerLow : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}

actor BlueRainSpawnerLowest : RainSpawnerOhMyGod
{
states
{
Spawn:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("BlueRainDrop",random(-400,1000),random(-400,400),200,0,0,-20,0)
stop
}}