actor FakeRevolverSpecial : MegaBuster
{
Weapon.AmmoUse 1
Weapon.AmmoGive 6
weapon.ammotype "RevolverClip"
Obituary "%o was taken into custody by %k's Fake Revolver."
Tag "Fake Revolver"
inventory.icon "FakeWep1"
States
{
Ready:
FAKR A 0 ACS_ExecuteAlways(998,0,10009)
FAKR A 0 A_JumpIfNoAmmo("NoAmmo")
FAKR A 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FAKR A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FAKR A 1 A_Raise
Loop
BotFire:
Fire:
FAKR A 0 A_JumpIfNoAmmo("NoAmmo")
FAKR A 0 A_PlaySoundEx("misc/fakeshot","Weapon")
FAKR A 0 A_FireCustomMissile("FakeShot",0,1,8,0)
FAKR E 2
FAKR F 1
Hold:
FAKR A 1 A_JumpIfNoAmmo("NoAmmo")
FAKR J 0 //A_JumpIfInventory("IsBot", 1, "BotFire")
FAKR A 0 A_Refire
Goto Ready+1
Altfire:
FAKR A 0 A_JumpIfInventory("RevolverClip",6,"FakeManDash")
NoAmmo:
FAKR A 1 Offset(0,32)
FAKR A 1 Offset(0,37)
FAKR A 1 Offset(0,42)
FAKR A 1 Offset(0,47)
FAKR A 1 Offset(0,52)
FAKR A 0 A_PlaySoundEx("misc/fakereload","Weapon")
ReloadLoop:
FAKR A 0 A_Giveinventory("RevolverClip",1)
FAKR ABCD 2
FAKR A 0 A_JumpIfInventory("RevolverClip",6,"ReloadEnd")
loop
ReloadEnd:
FAKR A 0 A_JumpIfInventory("RageRuneFlag",6,"ReloadEndR")
FAKR A 1 Offset(0,52)
FAKR A 1 Offset(0,47)
FAKR A 1 Offset(0,42)
FAKR A 1 Offset(0,37)
FAKR A 1 Offset(0,32)
Goto Ready+1
ReloadEndR:
FAKR A 1 Offset(0,52)
FAKR A 1 Offset(0,42)
FAKR A 1 Offset(0,32)
Goto Ready+1

NoAmmo2:
FAKR A 1 ACS_Execute(979,0)
Goto Ready+1
Flash:
NoFlash:
TNT1 A 1
stop

FakeManDash:
FAKR A 0 A_JumpIfInventory("FakeLeapCooldown",1,"NoAmmo2")
TNT1 A 0 A_GiveInventory("FakeJumping",1)
TNT1 A 0 A_SpawnItemEx("FakeDashFXGiver")
TNT1 A 0 A_PlaySoundEx("weapon/fakedash","SoundSlot6")
//TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,"DashF")
TNT1 A 0 A_JumpIf(momz<0,"DashZ")
goto Dash2
DashZ:
TNT1 A 0 A_ChangeVelocity(-25,0,10,3)
goto FakeDashEnd
Dash2:
TNT1 A 0 A_ChangeVelocity(-25,0,momz+10,3)
goto FakeDashEnd
DashF:
TNT1 A 0 A_ChangeVelocity(-25,0,momz,3)
goto FakeDashEnd
FakeDashEnd:
FAKR A 0 A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,32) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,37) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,42) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,47) A_TakeInventory("RevolverClip",6)
FAKR A 3 Offset(0,52) A_TakeInventory("RevolverClip",6)
FAKR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Checkfloor("DashLand")
FAKR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Checkfloor("DashLand")
FAKR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Checkfloor("DashLand")
DashLand:
FAKR A 0 A_TakeInventory("FakeJumping",1)
FAKR A 1 Offset(0,52) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,47) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,42) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,37) A_TakeInventory("RevolverClip",6)
FAKR A 1 Offset(0,32) A_TakeInventory("RevolverClip",6)
FAKR A 2 A_WeaponReady(14)
FAKR A 0 A_GiveInventory("FakeLeapCooldown",245)
FAKR A 0 A_SpawnItemEx("FakeDashCooldown",0,0,0,00,0,0,0,SXF_NOCHECKPOSITION)
FAKR A 12 A_WeaponReady(14)
Goto Ready+1
}
}

actor FakeBatonSpecial : MegaBuster
{
Weapon.AmmoUse 1
Weapon.AmmoGive 6
weapon.ammotype "RevolverClip"
Weapon.SlotNumber 2
Obituary "%o was swatted by %k's Fake Baton."
Tag "Fake Baton"
inventory.icon "FakeWep2"

States
{
Ready:
FAKR K 0 ACS_ExecuteAlways(998,0,10009)
FAKR K 0 A_JumpIfNoAmmo("NoAmmo")
FAKR K 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FAKR K 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FAKR K 1 A_Raise
Loop
BotFire:
Fire:
FAKR J 1 Offset(30,57)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR J 1 Offset(60,82)
TNT1 A 0 A_GiveInventory("FakeManBatonFlag",1)
goto FireBaton2
FireBaton2:
TNT1 A 0 A_GiveInventory("FakeManBatonFlag2",1)
TNT1 A 0 A_TakeInventory("FakeManBatonFlag",1)
FAKR G 0 A_PlaySoundEx("weapon/slashclaw","Weapon")
FAKR G 0 ACS_NamedExecute("StateChange",0,2) //Fire
FAKR G 1 Offset(110,84)
FAKR G 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR G 1 Offset(96,75)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR G 1 Offset(81,66)A_FireCustomMissile("FakeBatonSwing1",0,0,0,0)
FAKR G 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR G 1 Offset(65,57)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR G 1 Offset(48,45)
FAKR G 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR G 1 Offset(30,33)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR H 1 Offset(8,22)
FAKR H 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR H 1 Offset(-18,12)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR H 1 Offset(-48,3)
FAKR H 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR H 1 Offset(-82,-5)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR H 1 Offset(-120,-12)
FAKR H 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR H 1 Offset(-162,-18)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR H 1 Offset(-208,-23)
FAKR H 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR H 1 Offset(-258,-27)A_JumpIfInventory("RageRuneFlag",1,1)
TNT1 A 7
TNT1 A 1 A_Refire("FireBaton3")
goto FireEnd
FireBaton3:
TNT1 A 0 A_TakeInventory("FakeManBatonFlag2",1)
TNT1 A 0 A_GiveInventory("FakeManBatonFlag",1)
FAKR G 0 A_PlaySoundEx("weapon/slashclaw","Weapon")
FAKR I 0 ACS_NamedExecute("StateChange",0,2) //Fire
FAKR I 1 Offset(-9,21)
FAKR I 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR I 1 Offset(1,31)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR I 1 Offset(12,42)A_FireCustomMissile("FakeBatonSwing1",0,0,0,0)
FAKR I 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR I 1 Offset(24,53)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR I 1 Offset(37,65)
FAKR I 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR I 1 Offset(51,77)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR J 1 Offset(16,48)
FAKR J 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR J 1 Offset(30,65)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR J 1 Offset(43,84)
FAKR J 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR J 1 Offset(55,105)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR J 1 Offset(66,128)
FAKR J 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR J 1 Offset(76,153)A_JumpIfInventory("RageRuneFlag",1,1)
FAKR J 1 Offset(85,180)
FAKR J 0 A_JumpIfInventory("PowerPartCAttack",1,2)
FAKR J 1 Offset(93,209)A_JumpIfInventory("RageRuneFlag",1,1)
TNT1 A 7
TNT1 A 1 A_Refire("FireBaton2")
goto FireEnd
FireEnd:
TNT1 A 0 A_TakeInventory("FakeManBatonFlag",1)
TNT1 A 0 A_TakeInventory("FakeManBatonFlag2",1)
TNT1 A 15 A_WeaponReady(WRF_NOFIRE)
FAKR J 1 Offset(60,82)
FAKR J 1 Offset(30,57)
goto Ready+1

Altfire:
FAKR A 0 A_JumpIfInventory("RevolverClip",6,"FakeManDash")
NoAmmo:
FAKR A 1 Offset(0,32)
FAKR A 1 Offset(0,37)
FAKR A 1 Offset(0,42)
FAKR A 1 Offset(0,47)
FAKR A 1 Offset(0,52)
FAKR A 0 A_PlaySoundEx("misc/fakereload","Weapon")
ReloadLoop:
FAKR A 0 A_Giveinventory("RevolverClip",1)
FAKR ABCD 2
FAKR A 0 A_JumpIfInventory("RevolverClip",6,"ReloadEnd")
loop
ReloadEnd:
FAKR A 0 A_JumpIfInventory("RageRuneFlag",6,"ReloadEndR")
FAKR A 1 Offset(0,52)
FAKR A 1 Offset(0,47)
FAKR A 1 Offset(0,42)
FAKR A 1 Offset(0,37)
FAKR A 1 Offset(0,32)
Goto Ready+1
ReloadEndR:
FAKR A 1 Offset(0,52)
FAKR A 1 Offset(0,42)
FAKR A 1 Offset(0,32)
Goto Ready+1

FakeManDash:
FAKR K 0 A_JumpIfInventory("FakeLeapCooldown",1,"NoAmmo2")
TNT1 A 0 A_GiveInventory("FakeJumping",1)
TNT1 A 0 A_SpawnItemEx("FakeDashFXGiver")
TNT1 A 0 A_PlaySoundEx("weapon/fakedash","SoundSlot6")
TNT1 A 0 A_JumpIf(momz<0,"DashZ")
goto Dash2
DashZ:
TNT1 A 0 A_ChangeVelocity(-25,0,10,3)
goto FakeDashEnd
Dash2:
TNT1 A 0 A_ChangeVelocity(-25,0,momz+10,3)
goto FakeDashEnd
FakeDashEnd:
FAKR K 0 A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,32) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,37) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,42) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,47) A_TakeInventory("RevolverClip",6)
FAKR K 3 Offset(0,52) A_TakeInventory("RevolverClip",6)
FAKR KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 1 A_Checkfloor("DashLand")
FAKR KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 1 A_Checkfloor("DashLand")
FAKR KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 1 A_Checkfloor("DashLand")
DashLand:
FAKR K 0 A_TakeInventory("FakeJumping",1)
FAKR K 1 Offset(0,52) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,47) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,42) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,37) A_TakeInventory("RevolverClip",6)
FAKR K 1 Offset(0,32) A_TakeInventory("RevolverClip",6)
FAKR K 2 A_WeaponReady(14)
FAKR K 0 A_GiveInventory("FakeLeapCooldown",245)
FAKR K 0 A_SpawnItemEx("FakeDashCooldown",0,0,0,00,0,0,0,SXF_NOCHECKPOSITION)
FAKR K 12 A_WeaponReady(14)
Goto Ready+1
NoAmmo2:
FAKR K 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor FakeManBatonFlag : Once {}
actor FakeManBatonFlag2 : Once {}

actor FakeDashCooldown
{
Height 0
Radius 0
+NOINTERACTION
+NOCLIP
PROJECTILE
+SERVERSIDEONLY
states
{
Spawn:
TNT1 A 0
Spawn1:
TNT1 A 0 A_JumpIfInTargetInventory("FakeLeapCooldown",1,"Spawn2")
stop
Spawn2:
TNT1 A 0 A_TakeFromTarget("FakeLeapCooldown",1)
TNT1 A 0 A_JumpIfInTargetInventory("FakeLeapCooldown",1,"SpawnR")
stop
SpawnR:
TNT1 A 1
goto Spawn1
}
}

actor FakeLeapCooldown : inventory
{
inventory.amount 1
inventory.maxamount 245
}

actor RevolverClip : Ammo
{
inventory.amount 1
inventory.maxamount 6
+INVENTORY.IGNORESKILL
}

actor FakeShot : BassShot
{
radius 12
height 12
scale 3.0
Translation "202:202=4:4", "199:199=215:215"
Obituary "%o was taken into custody by %k's Fake Revolver."
Speed 75
Damage(15+pitch)
States
{
Spawn:
TNT1 A 1
SpawnLoop:
BASB A 0 A_JumpIf(pitch>=15,"SpawnDone")
BASB A 3 A_SetPitch(pitch+2)
loop
SpawnDone:
BASB A 0 A_SetPitch(55)
BASB A 1 A_SpawnItemEx("FakeShotFadeFX")
loop
Death:
TNT1 A 0 A_Stop
NEDR UVWX 1
stop
}
}

actor FakeBatonSwing1 : FastProjectile
{
Damagetype "FakeBaton"
Obituary "%o was swatted by %k's Fake Baton."
+DONTSPLASH
+DONTBLAST
damage (25)
Radius 18
Height 18
speed 115
scale 2.75
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_Stop
MMFX BCDE 2 bright
stop
Crash:
XDeath:
TNT1 A 0 A_Stop
TNT1 A 0 A_JumpIf(random(1,100)==1,"Bonk")
TNT1 A 0 A_Jump(256,1,3)
TNT1 A 0 A_PlaySound("weapon/fakewhack1",2,1.0)
TNT1 A 1 A_PlaySound("weapon/fakewhack1",1,1.0)
goto Death+3
TNT1 A 0 A_PlaySound("weapon/fakewhack2",2,1.0)
TNT1 A 1 A_PlaySound("weapon/fakewhack2",1,1.0)
goto Death+3
Bonk:
TNT1 A 0 A_PlaySound("weapon/fakewhackx",2,1.0)
TNT1 A 1 A_PlaySound("weapon/fakewhackx",1,1.0)
goto Death+3
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySound("weapon/fakewhack3",2,1.0)
TNT1 A 1 A_PlaySound("weapon/fakewhack3",1,1.0)
MMFX BCDE 2 bright
stop
}
}
actor FakeShotFadeFX : BasicClientside
{
translation "0:255=4:4"
renderstyle translucent
alpha 0.90
Scale 3.0
states
{
Spawn:
TNT1 A 0
BASB A 0 A_SetScale(scaleX-0.3)
BASB A 1 A_FadeOut(0.1)
loop
Death:
TNT1 A 0
stop
}
}

actor FakeDashFX : BasicClientside
{
renderstyle translucent
alpha 0.75
states
{
Spawn:
TNT1 A 0
//TNT1 AA 1 //A_JumpIf(ACS_NamedExecuteWithResult("cbm_istargetclient")!=1, "Fade")
//TNT1 A 1 
//stop
Fade:
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"Death")
FAKM O 1 A_FadeOut(0.08)
loop
Death:
TNT1 A 0
stop
}
}

actor FakeDashFXInv : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("FakeDashFX",0,0,0,0,0,0,0,1)
stop
}
}

actor FakeDashFXGiver : BasicHelper
{
reactiontime 9
states
{
Spawn:
TNT1 A 0 A_GiveToTarget("NoJumpCancel",1)
TNT1 A 0 A_CountDown
TNT1 A 2 A_GiveToTarget("FakeDashFXInv", 1)
loop
Death:
TNT1 A 0 A_TakeFromTarget("NoJumpCancel",1)
TNT1 A 1
stop
}
}

actor FakeJumping : Once {}