File
- Defined in \WEAPONS\BD_CHGN.txt
Properties
attacksound | "" |
inventory.pickupsound | "pickups/chaingun" |
scale | .8 |
weapon.ammotype2 | "Clip" |
weapon.ammouse2 | 1 |
weapon.selectionorder | 70 |
weapon.slotnumber | 4 |
States
Select:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==0,2)
TNT1 A 0 A_PlaySound("weapons/chaingun/draw")
TNT1 AAAAAAAA 0 A_Raise
CHGS ABCDEF 1 A_WeaponReady(WRF_NOFIRE)
goto ready
Deselect:
TNT1 A 0 A_TakeInventory("ChaingunHeatCounter",50)
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,"Deselect.Enhanced")
CHGG A 1 A_Lower
wait
Ready:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,"Ready.Enhanced")
CHGG A 1 A_WeaponReady(WRF_NOSECONDARY)
loop
Fire:
TNT1 A 0 a_gunflash
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,3)
TNT1 A 0 A_PlaySound("weapons/chngun")
TNT1 A 0 A_Jump(256,2)
TNT1 A 0 A_PlaySound("weapons/chaingun/fire")
CHGG A 1 offset(0,35) A_FireBullets (5.6, 0, 1, 5, "EnBulletPuff") //Exact equivalent of A_FireCGun
CHGG B 1 offset(0,35)
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_debris")==0,2)
TNT1 A 0 A_SpawnItemEx("ChaingunCasing",random(15,16),cos(pitch)*-25,sin(-pitch)*25+random(22,24), random(1,3),0,random(4,6), random(-80,-90))
CHGG CD 1 offset(0,35)
TNT1 A 0 A_CheckReload
TNT1 A 0 a_gunflash
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_weapons")==1,3)
TNT1 A 0 A_PlaySound("weapons/chngun")
TNT1 A 0 A_Jump(256,2)
TNT1 A 0 A_PlaySound("weapons/chaingun/fire")
CHGG A 1 offset(0,35) A_FireBullets (5.6, 0, 1, 5, "EnBulletPuff") //Exact equivalent of A_FireCGun
CHGG B 1 offset(0,35)
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_debris")==0,2)
TNT1 A 0 A_SpawnItemEx("ChaingunCasing",random(15,16),cos(pitch)*-25,sin(-pitch)*25+random(22,24), random(1,3),0,random(4,6), random(-80,-90))
CHGG CD 1 offset(0,35)
TNT1 A 0 A_refire
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_debris")==0,3)
TNT1 A 0 A_SpawnItemEx("WeaponSmoke",24,random(-1,1),sin(-pitch)*25+random(35,36), 0,0,1,0)
TNT1 A 0 A_SpawnItemEx("WeaponSmoke",24,random(-1,1),sin(-pitch)*25+random(35,36), 0,0,1,0)
CHGG ABCD 1 offset(0,32) A_WeaponReady(WRF_NOSECONDARY)
CHGG ABCD 2 offset(0,32) A_WeaponReady(WRF_NOSECONDARY)
CHGG ABCD 3 offset(0,32) A_WeaponReady(WRF_NOSECONDARY)
goto ready
Flash:
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_tracers")==0,2)
TNT1 A 0 A_FireProjectile("BulletTracer",random(-1,1),0,0,0,FPF_NOAUTOAIM,random(-1,1))
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_muzzle")==1,2)
CHGF L 1 offset(0,35) bright A_Light1
goto lightdone
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
CHGL A 1 offset(0,35) bright A_Light1
goto lightdone
CHGL B 1 offset(0,35) bright A_Light1
goto lightdone
CHGL C 1 offset(0,35) bright A_Light1
goto lightdone
CHGL D 1 offset(0,35) bright A_Light1
goto lightdone
CHGL E 1 offset(0,35) bright A_Light1
goto lightdone
CHGL F 1 offset(0,35) bright A_Light1
goto lightdone
Deselect.Enhanced:
TNT1 A 0 A_StopSoundEx("Body")
CHGG A 1 A_Lower
wait
Ready.Enhanced:
TNT1 A 0 A_StopSoundEx("Body")
CHGG A 1 A_WeaponReady
goto ready
Flash.Enhanced:
TNT1 A 2 A_Light2
TNT1 A 2 A_light1
goto lightdone
AltFire:
TNT1 A 0 A_playsound("weapons/chaingun/start")
CHGG ABCDABCD 2
CHGG ABCDABCD 1
TNT1 A 0 A_playsoundEx("weapons/chaingun/spin","body",1)
CHGG ACACACACAC 1
TNT1 A 0 A_GiveINventory("ChaingunHeatCounter",1)
TNT1 A 0 a_gunflash
TNT1 A 0 A_PlaySound("weapons/chaingun/fire")
CHGG A 1 offset(0,35) A_firebullets(8,3,1,5,"EnBulletPuff") //Equivalent of A_FireCGun but with larger spread
CHGG C 1 offset(0,35)
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_debris")==0,2)
TNT1 A 0 A_SpawnItemEx("ChaingunCasing",random(15,16),cos(pitch)*-25,sin(-pitch)*25+random(22,24), random(1,3),0,random(4,6), random(-80,-90))
TNT1 A 0 A_CheckReload
TNT1 A 0 A_GiveINventory("ChaingunHeatCounter",1)
TNT1 A 0 a_gunflash
TNT1 A 0 A_PlaySound("weapons/chaingun/fire")
CHGG A 1 offset(0,35) A_firebullets(8,3,1,5,"EnBulletPuff")
CHGG C 1 offset(0,35)
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_debris")==0,2)
TNT1 A 0 A_SpawnItemEx("ChaingunCasing",random(15,16),cos(pitch)*-25,sin(-pitch)*25+random(22,24), random(1,3),0,random(4,6), random(-80,-90))
TNT1 A 0 A_CheckReload
AltHold:
TNT1 A 0 A_GiveINventory("ChaingunHeatCounter",1)
TNT1 A 0 a_gunflash
TNT1 A 0 A_PlaySound("weapons/chaingun/fire")
CHGG A 1 offset(0,35) A_firebullets(8,3,1,5,"EnBulletPuff")
CHGG C 1 offset(0,35)
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_debris")==0,2)
TNT1 A 0 A_SpawnItemEx("ChaingunCasing",random(15,16),cos(pitch)*-25,sin(-pitch)*25+random(22,24), random(1,3),0,random(4,6), random(-80,-90))
TNT1 A 0 A_JumpIfInventory("ChaingunHeatCounter",50,2)
TNT1 A 0 A_refire
TNT1 A 0 A_TakeInventory("ChaingunHeatCounter",50)
TNT1 A 0 A_StopSoundEx("body")
TNT1 A 0 A_playsoundEx("weapons/chaingun/stop","body")
CHGG ABCDA 1 offset(0,32) A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
CHGG BCDABC 2 offset(0,32) A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
CHGG DABCD 3 offset(0,32) A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
TNT1 A 0 A_ClearRefire
TNT1 A 0 A_JumpIfInventory("ChaingunHeatCounter",50,2)
TNT1 A 0 A_Jump(256,"Ready")
TNT1 A 0 A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
CHGG A 4 offset(0,32) A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
CHGG B 4 offset(0,32) A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
CHGG C 4 offset(0,32) A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_SpawnItemEx("WeaponSmoke",cos(pitch)*25,random(-3,3),sin(-pitch)*25+random(33,37), 0,0,1,0)
CHGG D 4 offset(0,32) A_WeaponReady(WRF_NOFIRE)
goto ready
AltFlash:
TNT1 A 0 A_JumpIf(GetCVAR("Bdoom_tracers")==0,"Flash")
TNT1 A 0 A_FireProjectile("BulletTracer",random(-3,3),0,0,0,FPF_NOAUTOAIM,random(-2,2))
TNT1 A 0 A_JumpIfInventory("ChaingunHeatCounter",25,"FlashHeated")
goto flash
FlashHeated:
TNT1 A 0 A_JumpIf(GetCVAR("bdoom_muzzle")==1,3)
CHHF L 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
CHHL A 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone
CHHL B 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone
CHHL C 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone
CHHL D 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone
CHHL E 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone
CHHL F 1 offset(0,35) bright A_Light1
CHHG A 2 offset(0,35)
goto lightdone