Actor ProtomanV : WeakArmorClass
{
Player.ScoreIcon "PROTMUGS"
player.startitem "BaseFlagPack", 1
player.displayname "Protoman"
player.soundclass "protomanc"
player.startitem "ProtoBusterV"
player.startitem "WeakArmor"
player.startitem "IsACopywep"
player.startitem "IsProtoman"
player.startitem "IsNotARobotMaster"
player.startitem "UltimateAttackItem2"
player.startitem "UltSoundWatcherSpawn2"
player.forwardmove 0.9,0.9
player.sidemove 0.88,0.88
player.jumpz 10
States
{
Animation0:
Spawn:
0PRO C 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeapon") 0PRO C 1 A_JumpIf(z-floorz>0,"Jumping")
SpawnIdle:
0PRO A 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO A 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO A 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO A 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO A 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO A 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO A 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO A 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO A 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO A 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO B 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO B 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO B 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO B 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO B 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO B 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO B 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO B 1 A_JumpIf(z-floorz>0,"Jumping")
0PRO B 0 A_JumpIfInventory("IsUsingCopyWep",1,"SpawnCopyWeaponIdle") 0PRO B 1 A_JumpIf(z-floorz>0,"Jumping")
loop
SpawnCopyWeapon:
PROM B 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarry") PROM B 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarry") PROM B 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarry")
PROM B 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM B 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon")
SpawnCopyWeaponIdle:
PROM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM A 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM A 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM A 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM A 0 A_Jump(256,"SpawnIdle")
PROM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM A 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM A 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM A 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM A 0 A_Jump(256,"SpawnIdle")
PROM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM A 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM A 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM A 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM A 0 A_Jump(256,"SpawnIdle")
PROM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM A 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM A 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM A 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM A 0 A_Jump(256,"SpawnIdle")
PROM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM A 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM A 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM A 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM A 0 A_Jump(256,"SpawnIdle")
PROM A 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM A 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM K 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM K 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM K 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM K 0 A_Jump(256,"SpawnIdle")
PROM K 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM K 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM K 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM K 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM K 0 A_Jump(256,"SpawnIdle")
PROM K 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM K 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM K 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM K 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM K 0 A_Jump(256,"SpawnIdle")
PROM K 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM K 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM K 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM K 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM K 0 A_Jump(256,"SpawnIdle")
PROM K 0 A_JumpIfInventory("SuperArmTemp",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagL",1,"SpawnCarryIdle") PROM K 0 A_JumpIfInventory("DeepDiggerFlagR",1,"SpawnCarryIdle")
PROM K 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCopyWeapon") PROM K 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM K 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM K 0 A_Jump(256,"SpawnIdle")
PROM K 0
Goto SpawnCopyWeaponIdle
SpawnCarry:
2PRO C 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCarry")
2PRO C 1 A_JumpIf(z-floorz>0, "JumpingCarry")
SpawnCarryIdle:
2PRO B 0 A_JumpIf(momx>1||momy>1||momx<-1||momy<-1,"SeeCarry")
2PRO B 1 A_JumpIf(z-floorz>0, "JumpingCarry")
Goto SpawnCarryIdle

See:
SeeA:
0PRO C 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO C 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponA")
0PRO C 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO C 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponA")
SeeB:
0PRO D 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO D 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponB")
0PRO D 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO D 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponB")
SeeC:
0PRO E 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO E 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponC")
0PRO E 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO E 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponC")
SeeD:
0PRO F 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO F 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponD")
0PRO F 1 A_JumpIf(z-floorz>0,"Jumping") 0PRO F 1 A_JumpIfInventory("IsUsingCopyWep",1,"SeeCopyWeaponD")
Goto Spawn+1
SeeCopyWeapon:
SeeCopyWeaponA:
PROM B 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM B 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM B 0 A_Jump(256,"SeeA")
PROM B 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM B 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM B 0 A_Jump(256,"SeeA")
PROM B 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM B 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM B 0 A_Jump(256,"SeeA")
PROM B 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM B 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM B 0 A_Jump(256,"SeeA")
SeeCopyWeaponB:
PROM C 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM C 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM C 0 A_Jump(256,"SeeB")
PROM C 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM C 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM C 0 A_Jump(256,"SeeB")
PROM C 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM C 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM C 0 A_Jump(256,"SeeB")
PROM C 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM C 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM C 0 A_Jump(256,"SeeB")
SeeCopyWeaponC:
PROM D 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM D 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM D 0 A_Jump(256,"SeeC")
PROM D 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM D 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM D 0 A_Jump(256,"SeeC")
PROM D 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM D 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM D 0 A_Jump(256,"SeeC")
PROM D 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM D 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM D 0 A_Jump(256,"SeeC")
SeeCopyWeaponD:
PROM E 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM E 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM E 0 A_Jump(256,"SeeD")
PROM E 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM E 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM E 0 A_Jump(256,"SeeD")
PROM E 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM E 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM E 0 A_Jump(256,"SeeD")
PROM E 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon") PROM E 0 A_JumpIfInventory("IsUsingCopyWep",1,2) PROM E 0 A_Jump(256,"SeeD")
TNT1 A 0
Goto SpawnCopyWeapon+1
SeeCarry:
2PRO CCCCCDDDDDEEEEEFFFFF 1 A_JumpIf(z-floorz>0, "JumpingCarry")
Goto SpawnCarry+1

Jumping:
0PRO H 0 A_JumpIfInventory("IsUsingCopyWep",1,"JumpingCopyWeapon")
0PRO H 1 A_JumpIf(z-floorz<=0,"Spawn")
loop
JumpingCopyWeapon:
0PRO J 0 A_JumpIfInventory("IsUsingCopyWep",1,2)
0PRO J 0 A_Jump(256,"Jumping")
0PRO J 1 A_JumpIf(z-floorz<=0,"SpawnCopyWeapon")
loop
JumpingCarry:
2PRO G 1 A_JumpIf(z-floorz<=0,"SpawnCarryIdle")
loop

Animation1:
Missile:
0PRO KKK 0 A_JumpIfInventory("IsUsingElectricShockWep",1,"Animation35")
0PRO KKKKK 1 A_JumpIf(z-floorz>0,"JumpingMissile")
Missile2:
0PRO KKKKK 1 A_JumpIf(z-floorz>0,"JumpingMissile2")
Goto Spawn+2
JumpingMissile:
0PRO LLLLL 1 A_JumpIf(z-floorz<=0,"Missile")
JumpingMissile2:
0PRO LLLLL 1 A_JumpIf(z-floorz<=0,"Missile2")
Goto Jumping

Animation2:
ProtoSlide:
0PRO MMMMNNNNMMMMNNNNMMMM 1 A_JumpIf(z-floorz>0,"JumpingCopyWeapon")
Goto Spawn+1

Animation3:
ProtoSmashA:
3PRO AAA 1
Goto Spawn+1
Animation4:
ProtoSmashB:
3PRO BBB 1
Goto Spawn+1
Animation5:
ProtoSmashC:
3PRO CCC 1
Goto Spawn+1
Animation15:
ProtoSmashD:
3PRO DDD 1
Goto Spawn+1
Animation16:
ProtoSmashE:
3PRO EEE 1
Goto Spawn+2

Animation6:
ProtoDashA:
0PRO OOO 1
Animation7:
ProtoDashB:
0PRO PPP 1
Goto Spawn+1

Animation8:
BigBangStrikeA:
2PRO NNN 1 A_JumpIf(z-floorz>0, "JumpingBigBangStrikeA")
Animation9:
BigBangStrikeB:
2PRO OOO 1 A_JumpIf(z-floorz>0, "JumpingBigBangStrikeB")
Animation10:
BigBangStrikeC:
2PRO PPP 1 A_JumpIf(z-floorz>0, "JumpingBigBangStrikeC")
Animation11:
BigBangStrikeD:
2PRO QQQ 1 A_JumpIf(z-floorz>0, "JumpingBigBangStrikeD")
Animation12:
BigBangStrikeE:
2PRO RRR 1 A_JumpIf(z-floorz>0, "JumpingBigBangStrikeE")
Goto Spawn+1
JumpingBigBangStrikeA:
2PRO SSS 1 A_JumpIf(z-floorz<=0, "BigBangStrikeA")
JumpingBigBangStrikeB:
2PRO TTT 1 A_JumpIf(z-floorz<=0, "BigBangStrikeB")
JumpingBigBangStrikeC:
2PRO UUU 1 A_JumpIf(z-floorz<=0, "BigBangStrikeC")
JumpingBigBangStrikeD:
2PRO VVV 1 A_JumpIf(z-floorz<=0, "BigBangStrikeD")
JumpingBigBangStrikeE:
2PRO WWW 1 A_JumpIf(z-floorz<=0, "BigBangStrikeE")
Goto Jumping
Animation13:
ProtoTiredA:
2PRO XXXXX 1 A_JumpIf(z-floorz>0, "JumpingTired")
Goto Spawn+2
Animation14:
ProtoTiredB:
2PRO YYYYY 1 A_JumpIf(z-floorz>0, "JumpingTired")
Goto Spawn+2
JumpingTired:
0PRO HHHHH 1 A_JumpIf(z-floorz<=0, "ProtoTiredA")
Goto Jumping

//Copy weapon animations
Animation30:
SkipFireFrame:
TNT1 A 0
Goto SpawnCopyWeaponIdle

Animation31:
Throw:
0PRO XXXXX 1 A_JumpIf(z-floorz>0, "JumpingThrow")
Throw2:
0PRO XXXXX 1 A_JumpIf(z-floorz>0, "JumpingThrow2")
Goto SpawnCopyWeaponIdle
JumpingThrow:
0PRO YYYYY 1 A_JumpIf(z-floorz<=0, "Throw")
JumpingThrow2:
0PRO YYYYY 1 A_JumpIf(z-floorz<=0, "Throw2")
Goto JumpingCopyWeapon

Animation32:
LightningBolt:
1PRO KKKKK 1
Animation33:
LightningBolt2:
1PRO LLLLL 1
Goto SpawnCopyWeaponIdle

Animation34:
HardKnuckle:
0PRO ZZZZZ 1 A_JumpIf(z-floorz>0,"JumpingHardKnuckle")
HardKnuckle2:
0PRO ZZZZZ 1 A_JumpIf(z-floorz>0,"JumpingHardKnuckle2")
Goto SpawnCopyWeaponIdle
JumpingHardKnuckle:
1PRO AAAAA 1 A_JumpIf(z-floorz<=0,"HardKnuckle")
JumpingHardKnuckle2:
1PRO AAAAA 1 A_JumpIf(z-floorz<=0,"HardKnuckle2")
Goto JumpingCopyWeapon

Animation35:
Hand:
1PRO UUUUU 1 A_JumpIf(z-floorz>0,"JumpingHand")
Hand2:
1PRO UUUUU 1 A_JumpIf(z-floorz>0,"JumpingHand2")
Goto SpawnCopyWeaponIdle
JumpingHand:
1PRO VVVVV 1 A_JumpIf(z-floorz<=0,"Hand")
JumpingHand2:
1PRO VVVVV 1 A_JumpIf(z-floorz<=0,"Hand2")
Goto JumpingCopyWeapon

Animation36:
ChargeKick:
0PRO MMMMNNNNMMMMNNNNMMMM 1
Goto Spawn+1

Animation37:
SlashClawA:
1PRO MM 1 A_JumpIf(z-floorz>0, "JumpingSlashClawA")
SlashClawB:
1PRO NN 1 A_JumpIf(z-floorz>0, "JumpingSlashClawB")
SlashClawC:
1PRO OO 1 A_JumpIf(z-floorz>0, "JumpingSlashClawC")
SlashClawD:
Animation38:
NoSlashClaw:
1PRO PPPPPP 1 A_JumpIf(z-floorz>0, "JumpingSlashClawD")
Goto SpawnCopyWeaponIdle
JumpingSlashClawA:
1PRO QQ 1 A_JumpIf(z-floorz<=0, "SlashClawA")
JumpingSlashClawB:
1PRO RR 1 A_JumpIf(z-floorz<=0, "SlashClawB")
JumpingSlashClawC:
1PRO SS 1 A_JumpIf(z-floorz<=0, "SlashClawC")
JumpingSlashClawD:
1PRO TTTTTT 1 A_JumpIf(z-floorz<=0, "SlashClawD")
Goto JumpingCopyWeapon

Animation39:
FlameSwordA:
1PRO BB 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordA")
FlameSwordB:
1PRO CC 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordB")
FlameSwordC:
1PRO DDDDDDDDDDD 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordC")
FlameSwordD:
Animation40:
NoFlameSword:
1PRO EEEEEEEEE 1 A_JumpIf(z-floorz>0,"JumpingFlameSwordD")
Goto SpawnCopyWeaponIdle
JumpingFlameSwordA:
1PRO FF 1 A_JumpIf(z-floorz<=0,"FlameSwordA")
JumpingFlameSwordB:
1PRO GG 1 A_JumpIf(z-floorz<=0,"FlameSwordB")
JumpingFlameSwordC:
1PRO HHHHHHHHHHH 1 A_JumpIf(z-floorz<=0,"FlameSwordC")
JumpingFlameSwordD:
1PRO HHHHHHHHH 1 A_JumpIf(z-floorz<=0,"FlameSwordD")
Goto JumpingCopyWeapon

Animation41:
TenguBlade:
1PRO IIIII 1
Animation42:
TenguBlade2:
1PRO JJJJJ 1
Goto SpawnCopyWeaponIdle

Animation43:
Breakdash:
0PRO OOOOO 1
Animation44:
Breakdash2:
0PRO PPPPP 1
Goto SpawnCopyWeaponIdle

Animation45:
ArmSwingA:
1PRO WWW 1 A_JumpIf(z-floorz>0, "JumpingArmSwingA")
ArmSwingB:
1PRO XXX 1 A_JumpIf(z-floorz>0, "JumpingArmSwingB")
ArmSwingC:
1PRO YYYYYYYYY 1 A_JumpIf(z-floorz>0, "JumpingArmSwingC")
Goto SpawnCopyWeaponIdle
JumpingArmSwingA:
1PRO WWW 1 A_JumpIf(z-floorz<=0, "ArmSwingA")
JumpingArmSwingB:
1PRO ZZZ 1 A_JumpIf(z-floorz<=0, "ArmSwingB")
JumpingArmSwingC:
2PRO AAAAAAAAA 1 A_JumpIf(z-floorz<=0, "ArmSwingC")
Goto JumpingCopyWeapon

Animation46:
MegaBall:
2PRO HHHHH 1
MegaBall2:
2PRO IIIII 1
Goto SpawnCopyWeaponIdle

Animation47:
Sakugarne:
2PRO JJJJJ 1 A_JumpIf(z-floorz>0, "JumpingSakugarne")
Goto SpawnCopyWeaponIdle
JumpingSakugarne:
2PRO KKKKK 1 A_JumpIf(z-floorz<=0, "Sakugarne")
Goto JumpingCopyWeapon

Animation48:
OilSlider:
2PRO LLLLL 1 A_JumpIf(z-floorz>0, "JumpingOilSlider")
Goto SpawnCopyWeaponIdle
JumpingOilSlider:
2PRO MMMMM 1 A_JumpIf(z-floorz<=0, "OilSlider")
Goto JumpingCopyWeapon

ClassPain:
TNT1 A 0 A_JumpIfInventory("IsUsingCopyWep",1,"ClassPain.WithShield")
TNT1 A 0 A_JumpIfInventory("IsUsingBuster",1,"ClassPain.WithShield")
0PRO GGGGGGGGGG 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassPain.WithShield:
PROM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
WeaponGetM:
ClassDeath:
TNT1 A 0 A_JumpIfInventory("IsUsingCopyWep",1,"ClassDeath.WithShield")
TNT1 A 0 A_JumpIfInventory("IsUsingBuster",1,"ClassDeath.WithShield")
PRM2 H 20 ACS_ExecuteAlways(999,0,0)
PRM2 H 0 A_PlayerScream
PRM2 H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
TNT1 A 1 A_CheckPlayerDone
wait
ClassDeath.WithShield:
PROM H 20 ACS_ExecuteAlways(999,0,0)
PROM H 0 A_PlayerScream
PROM H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
TNT1 A 1 A_CheckPlayerDone
wait
Death.KingChop:
Death.KingUltChop:
TNT1 A 0 A_SpawnItemEx("ProtoManChoppedHalf",0,0,8,-6,0,6,0,1)
TNT1 A 0 A_SpawnItemEx("MMFXDeathReverse",0,0,16)
Goto Death.NoFX
}
}

actor ProtoManChoppedHalf : BasicClientSide
{
-NOINTERACTION
-NOCLIP
-NOGRAVITY
-NOEXPLODEFLOOR
+DOOMBOUNCE
-BOUNCEONFLOORS
radius 8
height 8
States
{
Spawn:
TNT1 A 0
0PRO QQRRSS 1 A_CheckFloor("Next")
loop

Next:
0PRO T 0 A_ChangeFlag("NOINTERACTION",1)
0PRO TT 1 A_Stop
0PRO UVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWVUVWV 1 A_PlaySoundEx("assist/kamishock","Body")
goto Death

Death:
TNT1 A 0 A_PlaySoundEx("misc/teleport2","Body")
TFOG HHGGIIG 1
TFOG GGGGGGGGGG 1 ThrustThingZ(0,9,0,1)
TFOG G 70
stop
}
}

actor MMFXDeathReverse : BasicClientSide
{
States
{
Spawn:
MMFX EDCB 2
stop
}
}

Actor ProtoBusterV : VCBaseWeapon
{
Obituary "$OB_PROTOMAN1"
weapon.ammotype1 "ProtoCharge"
const int BSTR_ANIM = 1;
const int BSTR_SPRD = 3;
const int CHRG_CAP = 50;
const int SYNTH_OFS = 10;
const int SYNTH_Y_OFS = 8;
const int SYNTH_Z_ADD = 32;
const int DSH_SPD = 25;
States
{
Ready:
TNT1 A 0 A_JumpIfInventory("WhistledPlayed",1,"Ready.SkipWhistle")
TNT1 A 0 A_SpawnItemEx("ProtoManStartUpWhistle")
TNT1 A 0 A_GiveInventory("WhistledPlayed",1)
Goto Ready2
Ready.SkipWhistle:
PROC DLK 1
Ready2:
PROC J 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,0,9,0)
TNT1 A 0 A_WeaponReady
TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
Goto Ready2
Deselect:
TNT1 A 0 A_GiveInventory("IsUsingCopyWep",1)
PROC JKL 1
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
PROC D 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("IsUsingCopyWep",1)
TNT1 A 0 ACS_ExecuteAlways(998,0,36)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
PROC J 1 A_Raise
Loop
Fire:
TNT1 A 0 A_TakeInventory("RightClickFlag",1)
TNT1 A 0 A_TakeInventory("ProtoCharge",999)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
PROC K 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,15,9,0)
PROC L 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,30,9,0)
PROC D 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,45,9,0)
FireCont:
TNT1 A 0 A_TakeInventory("RightClickFlag",1)
TNT1 A 0 A_TakeInventory("ProtoCharge",999)
TNT1 A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
TNT1 A 0 A_FireCustomMissile("ProtoVShot",0,0,8,0)
PROC EFD 3 ACS_NamedExecuteWithResult("VC_SetState",BSTR_ANIM)
Goto FinishMain
Fire2:
TNT1 A 0 ACS_ExecuteAlways(991,0,36)
TNT1 A 0 A_TakeInventory("RightClickFlag",1)
TNT1 A 0 A_TakeInventory("ProtoCharge",999)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_GunFlash
TNT1 A 0 A_CheckFloor(1)
Goto Air
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",(BSTR_SPRD *  4),0,8,0) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",(BSTR_SPRD *  2),0,8,0) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",(BSTR_SPRD *  0),0,8,0) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",(BSTR_SPRD * -2),0,8,0) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",(BSTR_SPRD * -4),0,8,0) PROC FE 2
Goto FinishMidShots
Air:
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",0,0,8,0,0,(BSTR_SPRD * -8)) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",0,0,8,0,0,(BSTR_SPRD * -6)) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",0,0,8,0,0,(BSTR_SPRD * -4)) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",0,0,8,0,0,(BSTR_SPRD * -2)) PROC FE 2
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_FireCustomMissile("ProtoVShot2",0,0,8,0,0,(BSTR_SPRD *  0)) PROC FE 2
FinishMidShots:
PROC D 6 A_GunFlash("EndFlash")
Goto FinishMain
Fire3:
TNT1 A 0 ACS_ExecuteAlways(991,0,36)
TNT1 A 0 A_TakeInventory("RightClickFlag",1)
TNT1 A 0 A_TakeInventory("ProtoCharge",999)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon")
TNT1 A 0 A_FireCustomMissile("ProtoVShot3",0,0,8,0)
PROC FFEDDDD 3
FinishMain:
TNT1 A 0 A_Refire("Hold")
TNT1 A 0 A_TakeInventory("ProtoCharge",999)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
PROC L 1 A_SpawnItemEx("ProtoManShield",23,-1,8,momx,momy,momz,45,9,0)
PROC K 1 A_SpawnItemEx("ProtoManShield",23,-4,8,momx,momy,momz,30,9,0)
PROC J 1 A_SpawnItemEx("ProtoManShield",23,-7,8,momx,momy,momz,15,9,0)
goto Ready2
Hold:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
TNT1 A 0 A_JumpIfInventory("ProtoCharge",CHRG_CAP,"Charge3")
TNT1 A 0 A_JumpIfInventory("ProtoCharge",(CHRG_CAP/5),"Charge")
PROC D 1 A_GiveInventory("ProtoCharge",1)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",BSTR_ANIM)
TNT1 A 0 A_Refire("Hold")
Goto FireCont
Charge:
TNT1 A 0 A_PlaySoundEx("weapon/pcharge","Weapon")
Charge1:
TNT1 A 0 A_JumpIfInventory("ProtoCharge",30,"Charge2")
TNT1 A 0 A_GiveInventory("ProtoCharge",1)
PROC H 1 ACS_ExecuteAlways(971,0,63)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",BSTR_ANIM)
TNT1 A 0 A_Refire("Charge1.a")
Goto Fire2
Charge1.a:
TNT1 A 0 A_JumpIfInventory("ProtoCharge",30,"Charge2")
TNT1 A 0 A_GiveInventory("ProtoCharge",1)
PROC H 1 ACS_ExecuteAlways(971,0,63)
PROC H 0 A_Refire("Charge1.b")
Goto Fire2
Charge1.b:
TNT1 A 0 A_JumpIfInventory("ProtoCharge",30,"Charge2")
TNT1 A 0 A_GiveInventory("ProtoCharge",1)
PROC D 1 ACS_ExecuteAlways(991,0,36)
TNT1 A 0 A_Refire("Charge1.c")
Goto Fire2
Charge1.c:
TNT1 A 0 A_JumpIfInventory("ProtoCharge",30,"Charge2")
TNT1 A 0 A_GiveInventory("ProtoCharge",1)
PROC D 1 ACS_ExecuteAlways(991,0,36)
TNT1 A 0 A_Refire("Charge1")
Goto Fire2
Charge2:
TNT1 A 0 A_JumpIfInventory("ProtoCharge",CHRG_CAP,"Charge3")
TNT1 A 0 A_GiveInventory("ProtoCharge",1)
PROC H 1 ACS_ExecuteAlways(971,0,63)
PROC H 0 A_Refire("Charge2.a")
Goto Fire2
Charge2.a:
TNT1 A 0 A_JumpIfInventory("ProtoCharge",CHRG_CAP,"Charge3")
TNT1 A 0 A_GiveInventory("ProtoCharge",1)
PROC D 1 ACS_ExecuteAlways(971,0,36)
PROC H 0 A_Refire("Charge2")
Goto Fire2
Charge3:
PROC I 1 ACS_ExecuteAlways(971,0,64)
TNT1 A 0 A_GiveInventory("RightClickFlag",1)
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",4)==7,"ProtoSmash")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",BSTR_ANIM)
TNT1 A 0 A_Refire("Charge3.a")
Goto Fire3
Charge3.a:
PROC D 1 ACS_ExecuteAlways(991,0,36)
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",4)==7,"ProtoSmash")
TNT1 A 0 A_Refire("Charge3.b")
Goto Fire3
Charge3.b:
PROC H 1 ACS_ExecuteAlways(971,0,63)
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",4)==7,"ProtoSmash")
TNT1 A 0 A_Refire("Charge3.c")
Goto Fire3
Charge3.c:
PROC D 1 ACS_ExecuteAlways(991,0,36)
TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",4)==7,"ProtoSmash")
TNT1 A 0 A_Refire("Charge3")
Goto Fire3
ProtoSmash:
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_PlaySoundEx("weapon/protosmash","Body")
TNT1 A 0 A_Stop TNT1 A 0 A_Recoil(-18) TNT1 A 0 A_TakeInventory("RightClickFlag",1) TNT1 A 0 A_TakeInventory("CutterFlag",99)
TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_ExecuteAlways(991,0,36) TNT1 A 0 SetPlayerProperty(0,1,4)
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") PROC D 0 A_PlaySoundEx("weapon/drillexplode", "Weapon") TNT1 A 0 A_Quake(2,10,0,50) 
PROC D 1 Offset(40,72)A_SpawnItemEx("ProtoSmashStart",((SYNTH_OFS*1)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*1)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
PROC D 1 Offset(32,64)A_SpawnItemEx("ProtoSmashStart",((SYNTH_OFS*2)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*2)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
PROC E 1 Offset(24,56)A_SpawnItemEx("ProtoSmashStart",((SYNTH_OFS*3)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*3)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
PROC E 1 Offset(16,48)A_SpawnItemEx("ProtoSmashStart",((SYNTH_OFS*4)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
PROC F 1 Offset(8,40)A_SpawnItemEx("ProtoSmashStart",((SYNTH_OFS*5)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*3)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
PROC F 1 Offset(0,32)A_SpawnItemEx("ProtoSmashStart",((SYNTH_OFS*6)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 A_TakeInventory("ProtoCharge",999) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
ProtoSmashLoop:
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_TakeInventory("ProtoCharge",999) //I dare you to desync again
TNT1 A 0 A_JumpIfInventory("CutterFlag",6,"ProtoSmashEnd")
PROC F 1 Offset(4,14)A_SpawnItemEx("ProtoSmashA",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",15)
PROC F 1 Offset(2,17)A_SpawnItemEx("ProtoSmashB",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",15)
PROC F 1 Offset(1,20)A_SpawnItemEx("ProtoSmashC",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",16)
PROC F 1 Offset(3,18)A_SpawnItemEx("ProtoSmashD",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",16)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
ProtoSmashEnd:
TNT1 A 0 Offset(0,32)
PROC F 1 A_SpawnItemEx("ProtoSmashEndA",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",15)
PROC F 1 A_SpawnItemEx("ProtoSmashEndB",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",15)
PROC E 1 A_SpawnItemEx("ProtoSmashEndC",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",16)
PROC E 1 A_SpawnItemEx("ProtoSmashEndD",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",16)
PROC D 1 A_SpawnItemEx("ProtoSmashEndE",((SYNTH_OFS*7)*cos(pitch)), SYNTH_Y_OFS, ((SYNTH_OFS*4)*sin(-pitch)+SYNTH_Z_ADD),momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",15)
PROC D 1 ACS_NamedExecuteWithResult("VC_SetState",15)
TNT1 A 0 SetPlayerProperty(0,0,4)
Goto FinishMain
Altfire:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"NoAlt")
TNT1 A 0 A_JumpIfInventory("ProtoDashCooldown",1,"NoAlt")
PROC J 1 A_CheckFloor("ProtoDash")
NoAlt:
PROC J 1
Goto Ready2
ProtoDash:
TNT1 A 0 A_GiveInventory("ProtoDashTimer",40) TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon") TNT1 A 0 A_GunFlash("Dashing")
PROC J 1 Offset(16,32)A_SpawnItemEx("ProtoManShield",63,-8,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(32,32)A_SpawnItemEx("ProtoManShield",63,-6,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(48,32)A_SpawnItemEx("ProtoManShield",63,-4,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(64,32)A_SpawnItemEx("ProtoManShield",63,-2,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(80,32)A_SpawnItemEx("ProtoManShield",63, 0,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(96,32)A_SpawnItemEx("ProtoManShield",63, 0,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
ProtoDashLoop:
PROC J 1 Offset(96,32)A_SpawnItemEx("ProtoManShield",63, 0,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
TNT1 A 0 A_TakeInventory("ProtoDashTimer",1)
TNT1 A 0 A_JumpIfInventory("ProtoDashTimer",1,"ProtoDashLoop")
TNT1 A 0 A_GiveInventory("ProtoDashCooldown",140) TNT1 A 0 A_SpawnItemEx("ProtoDashWatcher")
PROC J 1 Offset(96,32)A_SpawnItemEx("ProtoManShield",23, 0,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(80,32)A_SpawnItemEx("ProtoManShield",23, 0,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(64,32)A_SpawnItemEx("ProtoManShield",23,-2,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(48,32)A_SpawnItemEx("ProtoManShield",23,-4,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(32,32)A_SpawnItemEx("ProtoManShield",23,-6,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
PROC J 1 Offset(16,32)A_SpawnItemEx("ProtoManShield",23,-8,8,momx,momy,momz,0,9,0) TNT1 A 0 A_SpawnItemEx("ProtoDashHitBox",0,0,16,momx,momy,momz)
Goto Ready2
UltimateAttack:
PROC JJ 1 A_WeaponReady(WRF_NOFIRE|WRF_DISABLESWITCH)
TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto") TNT1 A 0 A_PlaySoundEx("weapon/pchargelong","Weapon")
TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,1)
TNT1 A 0 A_GiveInventory("PowerUltBuildCooldown",1) TNT1 A 0 A_TakeInventory("UltAttackFlag",1)
TNT1 A 0 A_TakeInventory("MediumShortUltimateAmmo",200) TNT1 A 0 A_TakeInventory("CutterFlag",999)
PROC KK 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,15,9,0)
PROC LL 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,30,9,0)
PROC DD 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,45,9,0)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True)
TNT1 A 0 A_GiveInventory("InvProtection",1)
UltStart:
TNT1 A 0 A_JumpIfInventory("CutterFlag",3,"UltCont")
PBBS AA 1 ACS_NamedExecuteWithResult("VC_SetState",8)
PBBS BB 1 ACS_NamedExecuteWithResult("VC_SetState",9)
PBBS CC 1 ACS_NamedExecuteWithResult("VC_SetState",10)
PBBS DD 1 ACS_NamedExecuteWithResult("VC_SetState",11)
PBBS EE 1 ACS_NamedExecuteWithResult("VC_SetState",12)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
UltCont:
PBBS A 1 ACS_NamedExecuteWithResult("VC_SetState",8)
PBBS B 1 ACS_NamedExecuteWithResult("VC_SetState",9)
PBBS C 1 ACS_NamedExecuteWithResult("VC_SetState",10)
PBBS D 1 ACS_NamedExecuteWithResult("VC_SetState",11)
TNT1 A 0 A_JumpIfInventory("CutterFlag",8,"UltFire")
PBBS E 1 ACS_NamedExecuteWithResult("VC_SetState",12)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
UltFire:
PBBS F 1
TNT1 A 0 A_Stop TNT1 A 0 A_Recoil(15)
TNT1 A 0 A_PlaySoundEx("weapon/bigbangstrike","Body")
TNT1 A 0 A_FireCustomMissile("BigBangStrike",0,0,8,0)
PROC E 2 ACS_NamedExecuteWithResult("VC_SetState",1)
PROC F 1 Offset(8,40)
PROC F 1 Offset(16,48)
PROC F 1 Offset(24,56)
PROC F 1 Offset(32,64)
PROC F 1 Offset(40,72)
PROC F 1 Offset(48,80)
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_GiveInventory("ProtoTiredTimer",105) TNT1 A 0 A_GiveInventory("ProtoManSlowDown",1)
TNT1 A 0 A_GunFlash("Tired") TNT1 A 0 A_ChangeFlag("INVULNERABLE",False)
TNT1 A 0 A_TakeInventory("InvProtection",1)
TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,5,1)
TiredHold:
TNT1 A 1 A_TakeInventory("ProtoTiredTimer",1)
TNT1 A 0 A_JumpIfInventory("ProtoTiredTimer",1,"TiredHold")
UltEnd:
TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_DISABLESWITCH)
PROC D 1 Offset(0,80)
PROC D 1 Offset(0,76)
PROC D 1 Offset(0,72)
PROC D 1 Offset(0,68)
PROC D 1 Offset(0,64)
PROC D 1 Offset(0,60)
PROC D 1 Offset(0,56)
PROC D 1 Offset(0,52)
PROC D 1 Offset(0,48)
PROC D 1 Offset(0,44)
PROC D 1 Offset(0,40)
PROC D 1 Offset(0,36)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE|WRF_DISABLESWITCH)
PROC L 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,45,9,0) TNT1 A 0 A_GiveInventory("ProtoManSlowTakerPickUp",1)
PROC K 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,30,9,0) TNT1 A 0 A_GiveInventory("ProtoManSlowTakerPickUp",1)
PROC J 1 A_SpawnItemEx("ProtoManShield",23,-10,8,momx,momy,momz,15,9,0) TNT1 A 0 A_GiveInventory("ProtoManSlowTakerPickUp",1)
goto Ready2
Flash:
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",1) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",1) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
loop
Dashing:
TNT1 A 1 A_GiveInventory("ProtomanMobility1") TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("ProtomanMobility1") TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("ProtomanMobility1") TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",7) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("ProtomanMobility1") TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",7) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor(1)
Goto Skip
TNT1 A 0 A_spawnItemEx("ProtoDashDust",-16)
Skip:
TNT1 A 0 A_JumpIfInventory("ProtoDashTimer",1,"Dashing")
stop
Tired:
TNT1 A 0 A_TakeInventory("CutterFlag",25)
TiredB:
TNT1 A 0 A_JumpIfInventory("CutterFlag",25,"Tired2")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",13)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("PowerUltBuildCooldown",1,"TiredB")
Goto EndTired
Tired2:
TNT1 A 0 A_TakeInventory("CutterFlag",25)
Tired2B:
TNT1 A 0 A_JumpIfInventory("CutterFlag",25,"Tired")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",14)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("PowerUltBuildCooldown",1,"Tired2B")
Goto EndTired
EndTired:
TNT1 A 0
stop
EndFlash:
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",0)
stop
}
}

actor ProtoManShield
{
PROJECTILE
+NOBLOOD
+SHOOTABLE
+NORADIUSDMG
-NOBLOCKMAP
+DONTREFLECT
+GHOST
+DONTRIP
+THRUSPECIES
Species "ProtoManShield"
health 99999
mass 99999
Height 42
Radius 5
Speed 5
Damage (0)
scale 2.5
painchance 256
States
{
Spawn:
TNT1 A 0
PROS A 2
stop
Pain:
TNT1 A 0 A_PlaySound("item/protoreflect")
TNT1 A 0 A_SpawnItemEx("ProtoShieldDeathFX")
TNT1 A 1
stop
}
}

Actor ProtoVShot
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
+THRUSPECIES
Species "ProtoManShield"
Obituary "$OB_PROTOMAN1"
DamageType "ProtoManBuster"
Speed 32
Damage (10)
radius 5
height 5
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 2
Spawn2:
BUST A 2 A_ChangeFlag("THRUSPECIES",0)
loop
Death:
XDeath:
BUST A 1
stop
}
}

Actor ProtoVShot2 : ProtoVShot
{
Damage (8)
}

actor ProtoVShot3 : ProtoVShot
{
+BRIGHT
Speed 60
Damage (35)
radius 20
height 20
damagetype "ProtomanCharge"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PROC A 2
Spawn2:
PROC BCA 2 A_ChangeFlag("THRUSPECIES",0)
loop
}
}

Actor ProtoSmashStart : ProtoVShot
{
+RIPPER
Obituary "$OB_PROTOMAN2"
DamageType "ProtoSmash"
Species "ProtoManShield"
+THRUSPECIES
+DONTREFLECT
Damage (38)
radius 31
height 20
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA A 1
Goto Death
Death:
XDeath:
TNT1 A 0
stop
}
}

Actor ProtoSmashA : ProtoSmashStart
{
DamageType "ProtoSmash"
radius 20
height 22
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA B 1
Goto Death
}
}

Actor ProtoSmashB : ProtoSmashA
{
radius 17
height 24
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA C 1
Goto Death
}
}

Actor ProtoSmashC : ProtoSmashA
{
radius 19
height 24
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA D 1
Goto Death
}
}

Actor ProtoSmashD : ProtoSmashA
{
radius 12
height 22
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA E 1
Goto Death
}
}

Actor ProtoSmashEndA : ProtoSmashA
{
radius 7
height 12
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA F 1
Goto Death
}
}

Actor ProtoSmashEndB : ProtoSmashEndA
{
radius 7
height 12
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA G 1
Goto Death
}
}

Actor ProtoSmashEndC : ProtoSmashEndA
{
radius 6
height 8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA H 1
Goto Death
}
}

Actor ProtoSmashEndD : ProtoSmashEndA
{
radius 5
height 8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA I 1
Goto Death
}
}

Actor ProtoSmashEndE : ProtoSmashEndA
{
radius 3
height 6
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PSMA J 1
Goto Death
}
}

actor ProtoSmashProtect : PowerProtection
{
powerup.duration 45
damagefactor "ProtoSmash", 0.0
}

actor ProtoDashHitBox : BasicExplosion
{
damagetype "ProtoDash"
Obituary "$OB_PROTOMAN3"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(25,36,0,0,36)
stop
}
}

actor ProtoDashCooldown : Inventory
{
	inventory.amount 1
	inventory.maxamount 140
	+INVENTORY.IGNORESKILL
}

actor ProtoDashWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("ProtoDashCooldown",1)
TNT1 A 0 A_JumpIfInTargetInventory("ProtoDashCooldown",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor ProtoDashDust
{
Scale 2.5
Height 16
Radius 8
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
DRIA MNOPQ 2
stop
}
}

actor ProtoDashProtect : PowerProtection
{
powerup.duration 45
damagefactor "ProtoDash", 0.0
}


Actor BigBangStrike : ProtoSmashStart
{
+THRUACTORS
+BRIGHT
Obituary "$OB_PROTOMAN4"
DamageType "BigBangStrike"
Speed 40
Damage (0)
radius 16
height 20
const int QKE_INT = 4;
const int QKE_DUR = 2;
const int QKE_RNG = 700;
const int SPRK_OFS = 16;
const int EXPL_RNG = 48;
const int FLAG_REMOVE = 16;
const int EXPL_RNG_ADD = 16;
var int User_ExplosionRange;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 2 A_setUserVar("User_ExplosionRange",0)
TNT1 A 0 A_changeFlag("THRUACTORS",False)
Spawn2:
BBGS A 1 A_SpawnItemEx("BigBangStrikeSparkle",random(-SPRK_OFS,0),random(-SPRK_OFS,SPRK_OFS),random(-SPRK_OFS,SPRK_OFS)) TNT1 A 0 A_Explode(9999,EXPL_RNG,0,0,EXPL_RNG)
BBGS B 1 A_SpawnItemEx("BigBangStrikeSparkle",random(-SPRK_OFS,0),random(-SPRK_OFS,SPRK_OFS),random(-SPRK_OFS,SPRK_OFS)) TNT1 A 0 A_Explode(9999,EXPL_RNG,0,0,EXPL_RNG)
BBGS C 1 A_SpawnItemEx("BigBangStrikeSparkle",random(-SPRK_OFS,0),random(-SPRK_OFS,SPRK_OFS),random(-SPRK_OFS,SPRK_OFS)) TNT1 A 0 A_Explode(9999,EXPL_RNG,0,0,EXPL_RNG)
loop
Death:
XDeath:
TNT1 A 0 
TNT1 A 0 A_Explode(70,400,0,0,100)
TNT1 A 0 A_SpawnItemEx("BigBangStrikeExplosion")
TNT1 A 0 A_PlaySoundEx("weapon/bigbangstrikeboom","Body")
TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb","Weapon")
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Quake(QKE_INT,QKE_DUR,0,QKE_RNG)
TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb","Weapon")
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Quake(QKE_INT,QKE_DUR,0,QKE_RNG)
TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb","Weapon")
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Quake(QKE_INT,QKE_DUR,0,QKE_RNG)
TNT1 A 0
stop
}
}

actor BigBangStrikeSparkle
{
PROJECTILE
+NOINTERACTION
+NOCLIP
+CLIENTSIDEONLY
Damage(0)
Height 1
Radius 1
Speed 0
scale 2.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
BBGS A 2
stop
}
}

actor BigBangStrikeSparkle2 : BigBangStrikeSparkle
{
scale 1.0
renderstyle add
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
BBGS DCBA 1
stop
}
}

actor BigBangStrikeExplosion
{
Translation "0:255=137:137"
PROJECTILE
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
scale 0.1
const float SCALE_EXTND = 0.05;
var int user_SparkleDist;
DamageType "BigBangStrike"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("user_SparkleDist",12)
SpawnLoop:
TNT1 A 0 A_JumpIfInventory("CutterFlag",24,"End")
RFLW B 1 A_SetScale(scalex+SCALE_EXTND,scaley+SCALE_EXTND)
TNT1 A 0 A_Explode(35,400,0,0,400)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BigBangStrikeSparkle2",random(0-user_SparkleDist,0+user_SparkleDist),0,random(0-user_SparkleDist,0+user_SparkleDist),0,0,0,random(0,359),1)
TNT1 A 1 A_SetScale(scalex+SCALE_EXTND,scaley+SCALE_EXTND)
TNT1 A 0 A_SetUserVar("user_SparkleDist",user_SparkleDist+12)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
End:
TNT1 A 0
stop
}
}

actor BigBangStrikeProtect : PowerProtection
{
powerup.duration 80
damagefactor "BigBangStrike", 0.0
}

actor ProtoManSlowDown : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration -999
Speed 0.20
}


actor ProtoManStartUpWhistle
{
PROJECTILE
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
scale 0.1
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("misc/protowhistle","Body")
Spawn2:
TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
End:
TNT1 A 0
stop
}
}

actor ProtoCharge : Ammo
{
inventory.amount 1
inventory.maxamount 50
}

actor IsProtoman : Inventory
{
inventory.amount 1
inventory.maxamount 1
}
Actor IsUsingCopyWep : IsProtoman {}
Actor IsUsingBuster : IsProtoman {}
Actor WhistledPlayed : IsProtoman {}

actor ProtoDashTimer : Inventory
{
inventory.amount 1
inventory.maxamount 40
}

actor ProtoTiredTimer : Inventory
{
inventory.amount 1
inventory.maxamount 105
}

actor ProtoManWallRush_CI : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("NewWallSlam",1,"PickupNo")
TNT1 A 0 A_GiveInventory("NoNewWallSlam",1)
TNT1 A 0 A_GiveInventory("NewWallSlam",1)
TNT1 A 0 A_GiveInventory("WallSlamRealTimer",1)
TNT1 A 0 A_SpawnItemEX("ProtoManWallRushChecker")
stop
PickupNo:
TNT1 A 0
stop
}
}

actor ProtoManWallRushChecker : BaseWallRushChecker
{
Obituary "$OB_PROTOMAN2"
states
{
DeathCheck:
TNT1 A 0 //A_JumpIfInventory("NewWallSlam",1,"Death",AAPTR_TRACER)
TNT1 A 0 A_SpawnItemEx("RaThorWallBonk")
TNT1 A 0 A_GiveInventory("WallSlamTimer",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ProtoSlamRocks",random(-8,8),random(-8,8),random(-8,8),random(-8,8),random(-8,8),random(-8,8))
TNT1 A 0 A_Quake(3,10,0,256)
TNT1 A 0 A_PlaySoundEx("misc/quake","Body")
TNT1 A 0 A_PlaySoundEx("weapon/wallrush","Weapon")
TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,CallACS("TracerHeightGet")/2,0,0)
TNT1 A 0 A_Explode(13,12,0,0,12)
TNT1 A 35
Death:
TNT1 A 2 A_GiveInventory("TempPitProtectEnd_P",1,AAPTR_TRACER)
stop
}
}

actor ProtoSlamRocks : ThorSlamRocks
{
+NOCLIP
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_Recoil(random(-5,-10))
TNT1 A 0 ThrustThingZ(0, random(10,50), 0, 1)
TNT1 A 0 A_Jump(256,"S_1","S_2","S_3","S_4","S_5","S_6","S_7","S_8","S_9")
goto loopit
S_1:
PW4D A 2
PW4D A 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_2:
PW4D B 2
PW4D B 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_3:
PW4D C 2
PW4D C 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_4:
PW4D D 2
PW4D D 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_5:
PW4D E 2
PW4D E 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_6:
PW4D F 2
PW4D F 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_7:
PW4D G 2
PW4D G 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_8:
PW4D H 2
PW4D H 0 A_ChangeFlag("NOCLIP",0)
goto loopit
S_9:
PW4D I 2
PW4D I 0 A_ChangeFlag("NOCLIP",0)
goto loopit
loopit:
"####" "#" 2 A_Jump(1,"Death")
loop
}
}

actor ProtoManSlowTakerPickUp : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,10,1)
TNT1 A 0 A_TakeInventory("ProtoManSlowDown",1)
TNT1 A 0 A_TakeInventory("PowerUltBuildCooldown",1)
stop
}
}

actor ProtomanMobility1 : BaseMovement
{
states
{
itTimeGo:
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",25),0,momz,CVF_RELATIVE|CVF_REPLACE)
stop
}
}