actor Cutman : ClassBase
{
Player.StartItem "IFMM01", 1
Player.ScoreIcon "C_01A0X"
player.displayname "Cutman"
player.soundclass "cutmanc"

player.maxhealth 90
health 90
player.jumpz 12.5
player.forwardmove 1.0, 1.0
player.sidemove 0.98, 0.98

player.startitem "RollingCutterBoss"
player.startitem "KFCAmmo", 14
player.startitem "CanWallJump"
player.startitem "CanWallJumpStack", 99
player.startitem "CutterReturned"

player.startitem "SuperArmWeakness2", 1

player.startitem "SuperArmWeakness", 1
player.startitem "LeafShieldWeakness", 1
player.startitem "HardKnuckleWeakness", 1
player.startitem "SkullBarrierWeakness", 1
player.startitem "PowerStoneWeakness", 1
player.startitem "KnightCrushWeakness", 1
player.startitem "WildCoilWeakness", 1
player.startitem "AstroCrushWeakness", 1
player.startitem "SpreadDrillWeakness", 1
player.startitem "JewelSatelliteWeakness", 1
player.startitem "TripleBladeWeakness", 1
player.startitem "DeepDiggerWeakness", 1

States
{
Spawn:
CUTM A 0
CUTM A 0 A_JumpIfInventory("CutterReturned",1,10)
CUTM A 0 A_JumpIfInventory("CutmanNoCutterF",1,3)
CUTM R 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM Q 10 A_JumpIf(z-floorz>0, "Jumping")
CUTM QV 4 A_JumpIf(z-floorz>0, "Jumping")
CUTM Q 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM Q 1 A_JumpIfInventory("CutmanNoCutterF",1,"Spawn")
Goto Spawn+8
CUTM B 1 A_JumpIf(z-floorz>0, "Jumping") 


//This engine made me do this 
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM A 1 A_JumpIf(z-floorz>0, "Jumping")
 
SpawnA:
CUTM A 0 A_JumpIf(sqrt(MOMX*MOMX+MOMY*MOMY)>1,"See") 
CUTM AJ 4 A_JumpIf(z-floorz>0, "Jumping")
Loop

See:
CUTM B 0 A_JumpIfInventory("CutmanNoCutterF",1,"SeeC")
CUTM BCDE 5 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+10
SeeC:
CUTM RSTS 5 A_JumpIf(z-floorz>0, "JumpingCAUGHTLACKINGCUTTER")
Goto Spawn+3
  
Jumping:
CUTM K 0 A_JumpIfInventory("CutmanNoCutterF",1,"JumpingCAUGHTLACKINGCUTTER")
CUTM K 1 A_JumpIf(z-floorz<=0,"Spawn")
loop
JumpingCAUGHTLACKINGCUTTER:
CUTM W 1 A_JumpIf(z-floorz<=0,"Spawn")
loop

JumpingMissile:
CUTM L 4 A_JumpIf(z-floorz<=0,"Missile")
CUTM LL 1 A_JumpIf(z-floorz<=0,"Missile")
CUTM M 6 A_JumpIf(z-floorz<=0,"Missile")
goto Jumping

JumpingMelee:
CUTM ML 6 A_JumpIf(z-floorz<=0,"Melee")
goto Jumping

Melee:
CUTM GF 6 A_JumpIf(z-floorz>0,"JumpingMelee")
goto Spawn+11

Missile:
CUTM F 4 A_JumpIf(z-floorz>0,"JumpingMissile")
CUTM FF 1 A_JumpIfInventory("CutmanNoCutterF",1,"Missile2")
CUTM G 6 A_JumpIf(z-floorz>0,"JumpingMissile")
goto Spawn+11
Missile2:
CUTM G 7 
goto Spawn+3




ClassPain:
CUTM H 0 A_JumpIfInventory("CutmanNoCutterF",1,1)
goto PainContinue
CUTM U 0
goto PainContinue
ClassDeath:
CUTM H 0 A_JumpIfInventory("CutmanNoCutterF",1,1)
goto DeathContinue
CUTM U 0
goto DeathContinue
}
}