File
- Defined in \WEAPONS\BD_SAW.txt
Flags
Properties
inventory.pickupsound | "weapons/chainsaw/draw" |
weapon.readysound | "" |
weapon.selectionorder | 220 |
weapon.slotnumber | 1 |
weapon.slotpriority | 0 |
weapon.upsound | "" |
States
Spawn:
TNT1 A 0 NoDelay A_SpawnItemEx("DualPistols",0,0,0,random(3,5),random(3,5),4,random(0,360),0,128)
CSAW A -1
Stop
Select:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,3)
TNT1 A 0 A_PlaySound("weapons/sawup")
TNT1 A 0 A_Jump(256,2)
TNT1 A 0 A_PlaySound("weapons/chainsaw/draw")
TNT1 AAAAAAAA 0 A_Raise
SAWS ABCDEF 1 A_WeaponReady(WRF_NOFIRE)
goto ready
Deselect:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,"Deselect.Enhanced")
TNT1 A 0 A_Stopsound(4)
SAWN A 1 A_Lower
wait
Ready:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,"Ready.Enhanced")
TNT1 A 0 A_PlaySound("weapons/sawidle")
SAWB BCDC 2 A_weaponready(WRF_NOSECONDARY)
TNT1 A 0 A_SpawnItemEx("SawSmoke",cos(pitch)*15,random(8,10),sin(-pitch)*25+random(22,26),0,0,1,0,0,80)
TNT1 A 0 A_SpawnItemEx("SawSmoke",cos(pitch)*15,random(8,10),sin(-pitch)*25+random(22,26),0,0,1,0,0,210)
loop
Fire: //should be 8 tics with no refire frames
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,"Fire.Enhanced")
TNT1 A 0 A_Saw("","weapons/sawhit",2,"ChainsawPuff")
SAWN ABC 1 //shows preparation animation but the firing function has already begun (to coincide with vanilla attack speed)
SAWF A 1 A_playsound("weapons/sawfull",4,1.0,TRUE)
TNT1 A 0 A_Saw("","weapons/sawhit",2,"ChainsawPuff")
SAWF ABAB 1 A_WeaponOffset(random(-2,2),random(32,34),WOF_INTERPOLATE)
TNT1 A 0 A_Refire
TNT1 A 0 A_Stopsound(4)
SAWN CBA 1 A_WeaponReady
goto ready
Hold:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,"Hold.Enhanced")
TNT1 A 0 A_Saw("","weapons/sawhit",2,"ChainsawPuff")
SAWF ABAB 1 A_WeaponOffset(random(-2,2),random(32,34),WOF_INTERPOLATE)
TNT1 A 0 A_Saw("","weapons/sawhit",2,"ChainsawPuff")
SAWF ABAB 1 A_WeaponOffset(random(-2,2),random(32,34),WOF_INTERPOLATE)
TNT1 A 0 A_Refire
TNT1 A 0 A_Stopsound(4)
SAWN CBA 1 A_WeaponReady
goto ready
Ready.Enhanced:
TNT1 A 0 A_PlaySound("weapons/chainsaw/idle",5)
SAWB BCDC 2 A_weaponready
TNT1 A 0 A_SpawnItemEx("SawSmoke",cos(pitch)*15,random(8,10),sin(-pitch)*25+random(22,26),0,0,1,0,0,80)
TNT1 A 0 A_SpawnItemEx("SawSmoke",cos(pitch)*15,random(8,10),sin(-pitch)*25+random(22,26),0,0,1,0,0,210)
goto ready
AltFire:
TNT1 A 0 A_GunFlash("SawKick",GFF_NOEXTCHANGE)
TNT1 A 2
TNT1 A 0 A_jumpifinventory("PowerStrength",1,"AltHoldStrong")
KICK AB 1
TNT1 A 0 A_SetSpeed(0.1)
TNT1 A 0 A_playsound("weapons/kick/swing")
KICK CD 1
TNT1 A 0 A_Recoil(-2)
KICK EF 1
TNT1 A 0 A_Blast(BF_NOIMPACTDAMAGE|BF_DONTWARN,0,72,10)
KICK G 3 A_CustomPunch(3*random(5,12),TRUE,CPF_NOTURN,"KickPuff",72)
KICK HD 2
KICK CBA 3
TNT1 A 0 A_SetSpeed(1)
TNT1 A 4
goto ready
AltHoldStrong:
KICK AB 1
TNT1 A 0 A_SetSpeed(0.2)
TNT1 A 0 A_playsound("weapons/kick/swing")
KICK CD 1
TNT1 A 0 A_Recoil(-5)
KICK EF 1
TNT1 A 0 A_Blast(RTF_NOIMPACTDAMAGE|BF_DONTWARN,200,80,25)
KICK G 3 A_CustomPunch(30*random(3,10),TRUE,CPF_NOTURN,"KickPuffStrong",80)
KICK HD 2
KICK CBA 3
TNT1 A 0 A_SetSpeed(1)
TNT1 A 4
goto ready
SawKick:
TNT1 A 0 A_PlaySound("weapons/chainsaw/idle",5)
SAW2 ACDF 1
SAW2 FE 2
TNT1 A 0 A_PlaySound("weapons/chainsaw/idle",5)
SAW2 DCBA 2
TNT1 A 0 A_PlaySound("weapons/chainsaw/idle",5)
SAWN A 4
TNT1 A 0 A_PlaySound("weapons/chainsaw/idle",5)
SAWB BCDC 2
stop
Deselect.Enhanced:
TNT1 A 0 A_Stopsound(4)
SAWN A 1 A_Lower
SAWN A 0 A_Lower
goto deselect.Enhanced+1
Fire.Enhanced:
TNT1 A 0 A_PlaySound("weapons/chainsaw/start",4)
TNT1 A 0 A_CustomPunch(2*random(1,10),1,0,"ChainsawPuff")
SAWN ABC 1
SAWF A 1
TNT1 A 0 A_CustomPunch(2*random(1,10),1,0,"ChainsawPuff")
SAWF ABAB 1 A_WeaponOffset(random(-2,2),random(32,34),WOF_INTERPOLATE)
TNT1 A 0 A_Refire("Hold.Enhanced")
TNT1 A 0 A_PlaySound("weapons/chainsaw/stop",4)
SAWN CBA 1 A_WeaponReady
goto ready
Hold.Enhanced:
TNT1 A 0 A_playsound("weapons/chainsaw/loop",4,1.0,TRUE)
TNT1 A 0 A_CustomPunch(2*random(1,10),1,0,"ChainsawPuff")
SAWF ABAB 1 A_WeaponOffset(random(-2,2),random(32,34),WOF_INTERPOLATE)
TNT1 A 0 A_CustomPunch(2*random(1,10),1,0,"ChainsawPuff")
SAWF ABAB 1 A_WeaponOffset(random(-2,2),random(32,34),WOF_INTERPOLATE)
TNT1 A 0 A_Refire("Hold.Enhanced")
TNT1 A 0 A_PlaySound("weapons/chainsaw/stop",4)
SAWN CBA 1 A_WeaponReady
goto ready