actor Fakeman : CustWepClassBase
{
Player.ScoreIcon "C_09I0X"
player.displayname "Fakeman"
player.soundclass "fakemanc"

player.maxhealth 1000
health 1000
player.jumpz 10
player.forwardmove 0.9, 0.9
player.sidemove 0.88, 0.88

player.startitem "CBM_BaseFlagPack"

player.startitem "Fakeman_W"
player.startitem "IAmTheLawAmmo", 6
player.startitem "CounterfeitTumbleAmmo", 80
player.startitem "FakemanDashItem"
player.startitem "IsTheLaw"
player.startitem "CanSnatch_F"

States
{
Spawn:
FAKM A 0
FAKM B 1
FAKM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPPQQQ 1 A_JumpIf(velz!=0,"FakeJumping")
Goto Spawn+102
See:
FAKM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(velz!=0,"FakeJumping")
Goto Spawn
FakeJumping:
FAKM S 0 A_JumpIfInventory("FakemanFiring",1,"FakeJumpingShot")
FAKM S 1 A_JumpIf(velz==0, "Spawn")
loop

FakeJumpingShot:
FAKM OO 1 A_JumpIf(velz==0,"Missile")
FakeJumpingShot.a:
FAKM RR 1 A_JumpIf(velz==0,"Missile.a")
FakeJumpingShot.b:
FAKM OO 1 A_JumpIf(velz==0,"Missile.b")
FakeJumpingShot.c:
FAKM RR 1 A_JumpIf(velz==0,"Missile.c")
goto FakeJumping
Missile:
FAKM FF 1 A_JumpIf(velz!=0,"FakeJumpingShot")
Missile.a:
FAKM GG 1 A_JumpIf(velz!=0,"FakeJumpingShot.a")
Missile.b:
FAKM FF 1 A_JumpIf(velz!=0,"FakeJumpingShot.b")
Missile.c:
FAKM GG 1 A_JumpIf(velz!=0,"FakeJumpingShot.c")
goto Spawn

ClassPain:
FAKM H 0
goto MegamanPain
ClassDeath:
FAKM H 0 A_JumpIfInventory("NoJumpCancel",1,1)
goto MegamanDeath
FAKM V 0
FAKM V 0 A_JumpIfInventory("ExplodeDeathFlag",1,"MegamanGib")
FAKM V 0 A_JumpIfInventory("FallingDeathFlag",1,"MegamanFall")
FAKM V 0 A_JumpIfInventory("FlingDeathFlag",1,"Fake_MegamanFling")
//FAKM V 0 A_JumpIfInventory("RisingDeathFlag",1,"MegamanRise")
//FAKM V 0 A_JumpIfInventory("IceDeathFlag",1,"MegamanIce")
FAKM Z 5 A_GiveInventory("FakeM_FlingCorpse_P")
goto MegamanErase
Fake_MegamanFling:
FAKM V 3 A_PlaySoundEx("*pain100","Voice")
FAKM Z 5 A_GiveInventory("FakeM_FlingCorpse_P")
goto MegamanErase
}
}

actor FakeM_FlingCorpse_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("ExplodeDeathFlag",1,"No")
TNT1 A 0 A_JumpIfInventory("FlingDeathFlag",1,"P_Fling")
TNT1 A 0 A_PlaySoundEx("*pain100","Voice")
TNT1 A 0 A_JumpIfInventory("IceDeathFlag",1,"P_Ice")
TNT1 A 0 A_JumpIfInventory("RisingDeathFlag",1,"P_Rise")
TNT1 A 0 A_SpawnItemEx("FakemanBoomFlingCorpse",0,0,0,momx*1.5,momy*1.5,momz*1.5+5,0,1+8)
stop
P_Fling:
TNT1 A 0 A_JumpIfInventory("IceDeathFlag",1,"P_Ice")
TNT1 A 0 A_JumpIfInventory("RisingDeathFlag",1,"P_Rise")
TNT1 A 0 A_SpawnItemEx("FakemanBoomFlingCorpse",0,0,0,momx*0.8,momy*0.8,momz*0.8+1,0,1+8)
stop
P_Ice:
TNT1 A 0 A_SpawnItemEx("FakemanIceFlingCorpse",0,0,0,momx,momy,momz+5,0,1+8)
stop
P_Rise:
TNT1 A 0 A_SpawnItemEx("FakemanRiseFlingCorpse",0,0,0,momx*0.5,momy*0.5,momz+5,0,1+8)
TNT1 A 0 A_Stop
stop
No:
TNT1 A 0
stop
}
}

actor FakemanBoomFlingCorpse
{
+MISSILE
+THRUACTORS
+NOBLOCKMAP
-SOLID
+DOOMBOUNCE
bouncecount 3
Gravity 0.8
Damage(0)
radius 16
height 56
scale 2.5
States
{
Spawn:
FAKM W 0
FAKM W 0 A_JumpIfInventory("CriticalDeath",1,"SpawnCheckGib",2)
goto SpawnL
SpawnCheckGib:
FAKM W 0 A_GiveInventory("CriticalDeath",1)
goto SpawnL
SpawnL:
FAKM WTUV 4
loop
Death:
TNT1 A 0 A_SetGravity(0.0)
TNT1 A 0 A_SpawnItemEx("FakeDeathFX",0,0,32)
TNT1 A 0 A_JumpIfInventory("CriticalDeath",1,"DeathGibbed")
TNT1 A 4 A_PlaySoundEx("misc/devildeath","Body")
stop
DeathGibbed:
TNT1 A 0 A_PlaySoundEX("misc/gib","SoundSlot6")
TNT1 A 4 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,1)
stop
}
}

actor FakemanRiseFlingCorpse : FakemanBoomFlingCorpse
{
-DOOMBOUNCE
+NOGRAVITY
+SKYEXPLODE
ReactionTime 7
States
{
Spawn:
FAKM W 0
FAKM W 0 A_JumpIfInventory("CriticalDeath",1,"SpawnCheckGib",2)
goto SpawnL
SpawnCheckGib:
FAKM W 0 A_GiveInventory("CriticalDeath",1)
goto SpawnL
SpawnL:
FAKM WWWT 1 ThrustThingZ(0,10,0,1)
FAKM T 0 A_CountDown
FAKM TTUU 1 ThrustThingZ(0,10,0,1)
FAKM U 0 A_CountDown
FAKM UVVV 1 ThrustThingZ(0,10,0,1)
FAKM W 0 A_CountDown
loop
}
}

actor FakemanIceFlingCorpse : FakemanBoomFlingCorpse
{
-DOOMBOUNCE
Translation "192:192=4:4", "198:198=201:201", "3:8=72:72", "243:247=72:72", "208:215=4:4", "202:202=4:4", "199:199=201:201", "204:204=4:4", "195:195=201:201"
States
{
Spawn:
FAKM V 0
FAKM V 0 A_PlaySoundEx("misc/freeze","Body")
FAKM V 0 A_JumpIfInventory("CriticalDeath",1,"SpawnCheckGib",2)
goto SpawnL
SpawnCheckGib:
FAKM V 0 A_GiveInventory("CriticalDeath",1)
goto SpawnL
SpawnL:
FAKM V 1 A_SpawnItemEx("FrozenDeathBitFX",frandom(16,48),0,fRandom(16,48),0,0,0,random(0,359))
wait
Death:
TNT1 A 0 A_SetGravity(0.0)
TNT1 A 0 A_PlaySoundEx("misc/icebreak","Body")
TNT1 A 4 A_SpawnItemEx("FrozenDeathFX",0,0,1,0,0,0,0,1)
stop
}
}
