actor MetoolSwimmerTrap 11160
{
//$Category MM8BDM-Interactive Props
//$Arg0 Direction
//$Arg0Enum { 0 = "Slide"; 1 = "Drop"; }
//$Arg0Type 11
+NOGRAVITY
-SOLID
Radius 4
Height 4
Scale 2.5
renderstyle none
obituary "$OB_METOOLSWIMMER"
States
{
Spawn:
MTSW A 1 
TNT1 A 0 A_JumpIf(Args[1] == 1, "Dropper")
TNT1 A 0 A_JumpIf(Args[0] == 0, "Default")
TNT1 A 0 A_GiveInventory("CutterFlag", Args[0])
Goto Custom
Default:
MTSW A 40 A_CustomMissile("MetoolSwimProjectile",0,0,0,2,0)
Loop
Custom:
MTSW A 0
MTSW A 0 A_CustomMissile("MetoolSwimProjectile",0,0,0,2,0)
Goto Waiting
Waiting:
MTSW A 1 A_TakeInventory("CutterFlag", 1)
MTSW A 0 A_JumpIfInventory("CutterFlag", 1, "Waiting")
MTSW A 0
Goto Spawn+1
Dropper:
MTSW A 80 A_SpawnItemEx("MetoolSwimDropped")
Dropwait:
MTSW A 35 A_Jump(50, "Dropper")
Loop
Death:
TNT1 A 1
stop
}
}

actor MetoolSwimProp 11161
{
//$Category MM8BDM-Props
Radius 10
Height 10
scale 2.5
-SOLID
+CLIENTSIDEONLY
//+NOGRAVITY
gravity 0.08
states
{
Spawn:
MTSW B 8 A_JumpIf(floorz==z, "Swim")
MTSW A 0 //A_ChangeVelocity(0.0,0.0,-0.80,CVF_REPLACE)
loop
Swim:
MTSW A 10 A_Jump(100, "SwimStart")
loop
SwimStart:
MTSW AB 4
MTSW C 4 ThrustThingZ(0, 13, 0, 1)
MTSW DDDDDD 1 A_ScaleVelocity(0.9)
MTSW D 1 A_Stop
MTSW AB 4
MTSW C 4 ThrustThingZ(0, 13, 0, 1)
MTSW DDDDDD 1 A_ScaleVelocity(0.9)
MTSW D 1 A_Stop
MTSW AB 4
MTSW C 4 ThrustThingZ(0, 13, 0, 1)
MTSW DDDDDDDDBB 1 A_ScaleVelocity(0.99)
MTSW B 1 //A_Stop
Goto Spawn
}
}

actor MetoolSwimProjectile
{
PROJECTILE
Radius 12
Height 12
+DONTBLAST
+THRUACTORS
+ACTIVATEMCROSS
+ACTIVATEPCROSS
+DONTREFLECT
Damage (15)
DamageType "MetoolSwimmer"
SelfObituary "$OB_METOOLSWIMMER"
Speed 10
scale 2.5
States
{
Spawn:
MTSW B 0
MTSW B 1 A_ClearTarget
MTSW B 0 A_ChangeFlag("THRUACTORS", 0)
Bumper:
MTSW B -1
loop
XDeath:
Crash:
TNT1 A 0 A_SpawnItemEx("BoosterFX", 0, 0, 32)
stop
}
}

actor MetoolSwimDropped
{
PROJECTILE
Radius 2
Height 2
+DONTBLAST
+ACTIVATEMCROSS
+ACTIVATEPCROSS
+DONTREFLECT
+RIPPER
Damage 0
DamageType "Misc"
Speed 0
-NOGRAVITY
+CLIENTSIDEONLY
//gravity 0.4
renderstyle translucent
scale 2.5
States
{
Spawn:
MTSW B 0// A_SetAngle(random(0,360))
MTSW B 1 A_SetAngle(random(0,360))
Falling:
MTSW B 0 A_JumpIf(z-floorz<140, "Water")
MTSW B 1 A_ClearTarget
loop
Water:
MTSW B 0 A_ScaleVelocity(0.1)
MTSW B 0 A_Changeflag("LOWGRAVITY",1)
MTSW B 1 A_SpawnItemEx("QuietSplashFX")
Swimming:
MTSW BBCCDDAA 2 A_FadeOut(0.05)
loop
}
}

actor MetoolProp 11162
{
//$Category MM8BDM-Props
+CLIENTSIDEONLY
Radius 10
Height 10
scale 2.5
-SOLID
//+NOGRAVITY
states
{
Spawn:
METT D 100 A_Jump(100, "Wake")
loop
Wake:
METT EFF 4
METT B 80
Goto Spawn
}
}

actor WilyWaterSpike 11163
{
//$Category MM8BDM-Props
+CLIENTSIDEONLY
scale 2.5
-SOLID
+NOGRAVITY
+NOINTERACTION
states
{
Spawn:
HAZA K -1
stop
}
}