actor MegamanC : ClassBase replaces Megaman
{
player.displayname "Megaman"
player.soundclass "megamanc"
player.startitem "MegaBusterC"
player.startitem "BusterAmmo", 3
player.startitem "CanCopyWeapons"
player.startitem "CanUseItems"
player.startitem "EnergyBalancerActive"
+NOSKIN
States
{
Spawn:
PLAY A 0
PLAY B 1
PLAY A 1
PLAY A 0 A_JumpIfInventory("JetBusterC",1,"JetSpawn")
PLAY A 0 A_JumpIfInventory("PowerFistC",1,"PowerSpawn")
PLAY A 0
Goto Spawn+2
See:
PLAY A 0 A_JumpIfInventory("JetBusterC",1,"JetWalk")
PLAY A 0 A_JumpIfInventory("PowerFistC",1,"PowerWalk")
PLAY BCDE 5
Goto Spawn+2
Missile:
PLAY A 0 A_JumpIfInventory("JetBusterC",1,"JetMissile")
PLAY A 0 A_JumpIfInventory("PowerFistC",1,"PowerMissile")
PLAY FFFFF 1  A_JumpIfInventory("MegaSlide",1,"Slide")
PLAY GGGG 1  A_JumpIfInventory("MegaSlide",1,"Slide")
goto Spawn
JetSpawn:
PLAY A 0
PLAY A 1
PLAY A 1
Goto Spawn+5
JetWalk:
PLAY BCDE 5
Goto Spawn+4
JetMissile:
PLAY A 0 A_JumpIfInventory("JetTrigger",1,"Flight")
PLAY F 5
PLAY G 4
goto Spawn+3
Flight:
PLAY A 0 A_JumpIfInventory("JetFuel",0,"See")
PLAY B 0 A_PlaySoundEx("weapon/Jetfly","Auto")
PLAY AA 5 ThrustThingZ(0,7,0,1)
goto Spawn+3
PowerSpawn:
PLAY A 0
PLAY A 1
PLAY A 1
Goto Spawn+5
PowerWalk:
PLAY BCDE 5
Goto Spawn+4
PowerMissile:
PLAY A 0
PLAY F 5
PLAY G 4
goto Spawn+4
Slide:
PLAY I 20
PLAY A 0
goto Spawn
ClassPain:
PLAY H 0
goto PainContinue
ClassDeath:
PLAY H 0
goto DeathContinue
DropWeapon:
PLAY H 0
PLAY Z 0
PLAY Z -1
stop
TimeStopped:
PLAY A 0 SetPlayerProperty(0,1,4)
PLAY AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
PLAY A 0 SetPlayerProperty(0,0,4)
Goto pain+1
PainContinue:
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 1 A_SpawnItem("PainFX",0,3)
PLAY H 1 //A_Recoil(1)
PLAY H 0 //SetPlayerProperty(0, 0, 4)
PLAY H 0 SetPlayerProperty(0,0,1)
PLAY H 0 SetPlayerProperty(0,0,4)
PLAY H 0 A_Jump(256, "Spawn")
goto Spawn
DeathContinue:
PLAY H 0 A_JumpIfInventory("InstagibFlag",1,"DeathContinueInstagib")
PLAY H 0 A_JumpIfInventory("FallingFlag",1,"DeathContinueFalling")
PLAY H 0 SetPlayerProperty(0, 0, 4)
PLAY H 0 A_TakeInventory("PharaohCharge",999)   
PLAY H 0 A_NoBlocking
PLAY H 0 A_GiveInventory("CutterFlag",999)
PLAY H 0 A_GiveInventory("IsDead",1)
PLAY H 0 A_Stop
PLAY H 0 A_GiveToTarget("KilledMeStock",1)
PLAY H 1 A_GiveToTarget("KilledMe",1)
PLAY H 19 ACS_ExecuteAlways(999,0,0)
PLAY H 0 SetPlayerProperty(0, 0, 4)
PLAY H 0 A_PlaySoundEX("misc/devildeath","Voice") /*A_PlayerScream*/
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,0,2,90)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,0,2,-90)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,90,2,45)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,-90,2,-45)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,90,2,0)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,-90,2,0)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,90,2,-45)
PLAY Z 0 A_CustomMissile("DeathFX1",0,0,-90,2,45)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,0,2,90)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,0,2,-90)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,90,2,45)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,-90,2,-45)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,90,2,0)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,-90,2,0)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,90,2,-45)
PLAY Z 0 A_CustomMissile("DeathFX2",0,0,-90,2,45)
PLAY H 0 A_Jump(256, "DropWeapon")
goto DropWeapon
}
}

actor GravCancel : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
+INVENTORY.AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 350
TNT1 A 0 A_SetGravity(800)
TNT1 A 0 SetPlayerProperty (0,0,3)
stop
}
}

actor UnGlitcher : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage ""
Inventory.PickupSound ""
scale 2.0
+INVENTORY.AUTOACTIVATE
states
{
Spawn:
TNT1 A 1
stop
Use:
TNT1 A 0 SetPlayerProperty(0,0,0)
TNT1 A 0 SetPlayerProperty(0,0,1)
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 SetPlayerProperty(0,0,4)
TNT1 A 0 A_ChangeFlag("LOWGRAVITY",0)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
TNT1 A 0 A_SetGravity(0.8)
TNT1 A 4
//TNT1 A 0 ACS_ExecuteAlways(500)
//TNT1 A 0 ACS_ExecuteAlways(501)
stop
}
}

actor CanCopyWeapons : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor CanUseItems : Inventory
{
inventory.amount 1
inventory.maxamount 1
}