actor TeruTeru
{
+SOLID
+SHOOTABLE
+NOTAUTOAIMED
+NOBLOOD
+NOGRAVITY
+FLOATBOB
+DONTBLAST
Height 70
scale 2.5
radius 32
Health 100
painchance 0
painchance "ThunderBolt", 256
painchance "ThunderBeam", 256
painchance "ThunderClaw", 256
painchance "SparkShock", 256
painchance "LightningBolt", 256
painchance "PlugBall", 256
painchance "ThunderWool", 256
painchance "ElectricShock", 256
painchance "FreezeCracker", 256
painchance "FreezeCrackerBit", 256
painchance "IceSlasher", 256
painchance "IceWave", 256
painchance "IceWall", 256
painchance "BlizzardAttack", 256
painchance "ChillSpike", 256
painchance "ChillShot", 256
mass 999999999
States
{
Spawn:
TERU A 0
TERU A 0 ThrustThingZ(0,30,0,1)
TERU A 30
TERU A 0 A_Stop
TERU A 1
Goto Spin
Spin:
TERU ABCD 5
loop
Death.ThunderBolt:
Death.ThunderBeam:
Death.ThunderClaw:
Death.SparkShock:
Death.LightningBolt:
Death.PlugBall: // Fun
Death.ThunderWool:
Death.ElectricShock:
Death:
TERU A 0 ACS_Execute(1,0)
Goto Dropping

Death.FreezeCracker:
Death.FreezeCrackerBit:
Death.IceSlasher:
Death.IceWave: // How would this even work?
Death.IceWall: // This is doable, but very insane to pull off.
Death.BlizzardAttack:
Death.ChillSpike:
Death.ChillShot:
TERU A 0 ACS_Execute(1,0,1)
Goto Dropping

Dropping:
TERU A 0 A_ChangeFlag("NOPAIN",true)
TERU A 0 A_ChangeFlag("NOGRAVITY",true)
TERU EEEFGHIIII 6
TERU I 1 A_ChangeFlag("NOGRAVITY",false)
Goto Dead
Dead:
TERU I 1 A_JumpIf(floorz-z==0,"Bye")
loop
Bye:
TERU I 0
stop
}
}


actor CloudmanRainSpawner 10623
{
//$Category MM8BDM-Interactive Props
+NOINTERACTION
+NOGRAVITY
height 1
radius 1
-SOLID
renderstyle none
States
{
Spawn:
RAIN D 1 
Loop
Raining:
TNT1 A 1 A_SpawnItemEx("CloudmanRain", random(-128,128), random(-128,128), 0, -30, 0, -30, 180, SXF_CLIENTSIDE)
TNT1 A 4
TNT1 A 0 A_Jump(64, "Raining")
TNT1 A 8
Loop
RainingInteraction:
TNT1 A 1 A_SpawnItemEx("CloudmanRain2", random(-128,128), random(-128,128), 0, -30, 0, -30, 180, SXF_CLIENTSIDE)
TNT1 A 4
TNT1 A 0 A_Jump(64, "RainingInteraction")
TNT1 A 8
Loop
RainingNoWind:
TNT1 A 1 A_SpawnItemEx("CloudmanRainStraight", random(-64,64), random(-64,64), 0, 0, 0, -30, 180, SXF_CLIENTSIDE)
TNT1 A 4
TNT1 A 0 A_Jump(64, "RainingNoWind")
TNT1 A 8
Loop
Snowing:
TNT1 A 1 A_SpawnItemEx("SnowFlake", random(-128,128), random(-128,128),0,random(-15,-25), random(-10,10), random(-20,-30),180, SXF_CLIENTSIDE)
TNT1 A 4
TNT1 A 0 A_Jump(64, "Snowing")
TNT1 A 8
Loop
SnowingNoWind:
TNT1 A 1 A_SpawnItemEx("SnowFlake", random(-64,64), random(-64,64), 0, random(-2, 2), random(-2, 2), random(-20, -30), 180, SXF_CLIENTSIDE)
TNT1 A 4
TNT1 A 0 A_Jump(64, "SnowingNoWind")
TNT1 A 8
Loop
}
}

actor CloudmanRain
{
+CLIENTSIDEONLY
+NOINTERACTION
- SOLID
+NOGRAVITY
+DONTBLAST
+DONTSPLASH
+MISSILE
height 3
radius 3
Scale 3.0
States
{
Spawn:
CRAI D 30
stop
}
}

actor CloudmanRain2 : CloudmanRain
{
	-NOINTERACTION
}

actor CloudmanRainStraight : CloudmanRain2
{
States
{
Spawn:
CRAI E 30
stop
}
}

actor OutsideFlag : Once {}
