1 ACTOR AmmoBox : Ammo replaces ClipBox {
6 Inventory.MaxAmount 450
7 Ammo.BackpackAmount 300
8 Ammo.BackpackMaxAmount 666
9 //Inventory.Icon "SPMGA0"
10 Inventory.Icon "ABULB0"
11 Inventory.PickupMessage "Picked up an Ammo Box."
12 Inventory.PickupSound "Ammo/AmmoBoxPick"
22 Actor AmmoBelt : AmmoBox /*replaces Clip*/ {
25 Inventory.PickupMessage "Picked up an Ammo Belt."
26 Inventory.PickupSound "Ammo/AmmoBeltPick"
27 //Inventory.Icon "SPMGA0"
28 Inventory.Icon "ABULC0"
38 Actor AmmoBullet : AmmoBox /*10936*/ {
44 Inventory.PickupMessage "Picked up a Bullet."
45 Inventory.PickupSound "Ammo/BulletBounce"
46 //Inventory.Icon "SPMGA0"
47 Inventory.Icon "ABULC0"
63 ACTOR PaingunBulletCasing {
82 //BounceSound "Ammo/BulletBounce"
87 TNT1 A 0 A_SetScale(0.15, 0.15)
93 //TNT1 A 0 A_PlaySound("Ammo/BulletBounce", CHAN_AUTO, 1.0, 0, 2)
94 TNT1 A 0 A_PlaySoundEx("Ammo/BulletBounce", "SoundSlot5", 0, -1)
96 ACAS D 105 A_CheckSight("Remove")
97 TNT1 A 0 A_Jump(50, "Remove")
108 ACTOR Paingun : Weapon replaces Chaingun {
113 +INVENTORY.UNDROPPABLE
115 //+WEAPON.NO_AUTO_SWITCH
116 +WEAPON.AMMO_OPTIONAL
117 //+WEAPON.ALT_USES_BOTH
118 Inventory.PickupMessage "Got a Paingun."
119 Inventory.PickupSound "Weapons/PaingunPick"
120 Inventory.Icon "WPAIA0"
122 Weapon.SelectionOrder 3
123 //Weapon.MinSelectionAmmo1 0
124 //Weapon.MinSelectionAmmo2 0
125 Weapon.AmmoType1 "AmmoBox"
126 //Weapon.AmmoGive1 40
129 Weapon.AmmoType2 "none"
133 Weapon.SlotPriority 1
141 stateinclude "QuickKick/QuickKickOnSelectDeselect.txt"
142 TNT1 A 0 A_GiveInventory("HoldingPaingun", 1)
143 TNT1 A 0 { if (GetCVarB('k8ZanMod_CustomCrosshairs')) A_SetCrosshair(14); }
144 TNT1 A 0 A_Raise(666)
148 stateinclude "QuickKick/QuickKickOnSelectDeselect.txt"
149 WPAR A 1 Offset(-15, 40)
150 WPAR A 1 Offset(-30, 50)
151 WPAR A 1 Offset(-50, 65)
152 WPAR A 1 Offset(-70, 80)
156 TNT1 A 0 A_TakeInventory("BarrelIsSpinning", 1)
157 TNT1 A 0 A_TakeInventory("HoldingPaingun", 1)
158 TNT1 A 1 A_Lower(666)
163 TNT1 A 0 A_PlaySound("Weapons/PaingunReady", CHAN_WEAPON, 0.6)
164 WPAR A 1 Offset(-70, 80)
165 WPAR A 1 Offset(-50, 65)
166 WPAR A 1 Offset(-30, 50)
167 WPAR A 1 Offset(-15, 40)
168 TNT1 A 0 A_TakeInventory("QuickKickDisabled")
172 WPAR A 8 A_WeaponReady(WRF_ALLOWRELOAD)
176 TNT1 A 0 A_JumpIfNoAmmo("Reload")
177 TNT1 A 0 A_JumpIf(waterlevel==3, "Reload")
178 TNT1 A 0 A_JumpIfInventory("BarrelIsSpinning", 1, "Firing")
179 WPAF A 4 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
182 WPAF A 3 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
185 WPAF A 2 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
188 WPAF A 1 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
191 TNT1 A 0 A_Refire("Firing")
192 WPAF A 1 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
193 WPAF B 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
194 WPAF C 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
195 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
196 WPAF A 2 A_WeaponReady(WRF_ALLOWRELOAD)
197 WPAF B 2 A_WeaponReady(WRF_ALLOWRELOAD)
198 WPAF C 2 A_WeaponReady(WRF_ALLOWRELOAD)
199 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
200 TNT1 A 0 A_TakeInventory("BarrelIsSpinning", 1)
201 WPAF A 3 A_WeaponReady
202 WPAF B 3 A_WeaponReady
203 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
204 WPAF C 4 A_WeaponReady
208 TNT1 A 0 A_JumpIfNoAmmo("Reload")
209 TNT1 A 0 A_JumpIf(waterlevel==3, "Reload")
210 //TNT1 A 0 A_Overlay(3, "MuzzleFlash")
211 TNT1 A 0 A_GunFlash("MuzzleFlash")
212 TNT1 A 0 A_AlertMonsters
213 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
214 TNT1 A 0 A_JumpIf(CountInv("AmmoBox")%5 != 0, 4)
215 TNT1 A 0 A_FireProjectile("PaingunTracer", frandom(-3.2, 3.2), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-3.2, 3.2))
216 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
217 TNT1 A 0 A_Jump(256, 3)
218 TNT1 A 0 A_FireProjectile("PaingunBullet", frandom(-3.2, 3.2), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-3.2, 3.2))
219 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
220 TNT1 A 0 A_SetPitch(-0.35+pitch)
221 TNT1 A 0 A_SetAngle(-0.20+angle)
223 TNT1 A 0 A_SpawnItemEx("PaingunBulletCasing", 10, 8, 58, frandom(1, 2), frandom(4, 5), frandom(3, 4), 0, SXF_NOCHECKPOSITION, 0)
224 TNT1 A 0 A_JumpIf(CountInv("AmmoBox")%5 != 0, 4)
225 TNT1 A 0 A_FireProjectile("PaingunTracer", frandom(-3.2, 3.2), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-3.2, 3.2))
226 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
227 TNT1 A 0 A_Jump(256, 3)
228 TNT1 A 0 A_FireProjectile("PaingunBullet", frandom(-3.2, 3.2), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-3.2, 3.2))
229 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
231 TNT1 A 0 A_SpawnItemEx("PaingunBulletCasing", 10, 8, 58, frandom(1, 2), frandom(4, 5), frandom(3, 4), 0, SXF_NOCHECKPOSITION, 0)
232 TNT1 A 0 A_JumpIf(CountInv("AmmoBox")%5 != 0, 4)
233 TNT1 A 0 A_FireProjectile("PaingunTracer", frandom(-3.2, 3.2), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-3.2, 3.2))
234 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
235 TNT1 A 0 A_Jump(256, 3)
236 TNT1 A 0 A_FireProjectile("PaingunBullet", frandom(-3.2, 3.2), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-3.2, 3.2))
237 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
238 TNT1 A 0 A_SetPitch(0.35+pitch)
239 TNT1 A 0 A_SetAngle(0.20+angle)
241 TNT1 A 0 A_Refire("Firing")
242 WPAF A 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
243 WPAF B 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
244 WPAF C 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
245 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
246 WPAF A 2 A_WeaponReady(WRF_ALLOWRELOAD)
247 WPAF B 2 A_WeaponReady(WRF_ALLOWRELOAD)
248 WPAF C 2 A_WeaponReady(WRF_ALLOWRELOAD)
249 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
250 TNT1 A 0 A_TakeInventory("BarrelIsSpinning", 1)
251 WPAF A 3 A_WeaponReady
252 WPAF B 3 A_WeaponReady
253 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
254 WPAF C 4 A_WeaponReady
265 TNT1 A 0 A_JumpIfNoAmmo("Reload")
266 TNT1 A 0 A_JumpIf(waterlevel==3, "Reload")
267 TNT1 A 0 A_JumpIfInventory("BarrelIsSpinning", 1, "Altfiring")
268 WPAF A 3 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
271 WPAF A 1 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
274 TNT1 A 0 A_Refire("Altfiring")
275 WPAF A 1 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
276 WPAF C 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
277 WPAF B 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
278 TNT1 A 0 A_TakeInventory("BarrelIsSpinning", 1)
279 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
280 WPAF A 2 A_WeaponReady
281 WPAF C 2 A_WeaponReady
282 WPAF B 2 A_WeaponReady
286 TNT1 A 0 A_JumpIf(CountInv("AmmoBox") == 0, "Reload")
287 TNT1 A 0 A_JumpIf(waterlevel==3, "Reload")
288 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
289 //TNT1 A 0 A_Overlay(3, "MuzzleGas")
290 TNT1 A 0 A_GunFlash("MuzzleGas")
291 TNT1 A 0 A_AlertMonsters
292 TNT1 A 0 A_TakeInventory("AmmoBox", 1)
293 TNT1 A 0 A_JumpIf(CountInv("AmmoBox")%5 != 0, 4)
294 TNT1 A 0 A_FireProjectile("PaingunTracer", frandom(-1.8, 1.8), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-1.8, 1.8))
295 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
296 TNT1 A 0 A_Jump(256, 3)
297 TNT1 A 0 A_FireProjectile("PaingunBulletAlt", frandom(-1.8, 1.8), 1, /*5*/0, 0, FPF_NOAUTOAIM, frandom(-1.8, 1.8))
298 TNT1 A 0 A_PlaySound("Weapons/PaingunFire", CHAN_WEAPON)
299 TNT1 A 0 A_SetPitch(-0.25+pitch)
300 TNT1 A 0 A_SetAngle(-0.1+angle)
302 TNT1 A 0 A_SpawnItemEx("PaingunBulletCasing", 10, 8, 58, frandom(1, 2), frandom(4, 5), frandom(3, 4), 0, SXF_NOCHECKPOSITION, 0)
304 TNT1 A 0 A_SetPitch(0.25+pitch)
305 TNT1 A 0 A_SetAngle(0.1+angle)
307 TNT1 A 0 A_Refire("Altfiring")
308 WPAF A 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
309 WPAF C 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
310 WPAF B 1 A_WeaponReady(WRF_NOPRIMARY | WRF_ALLOWRELOAD)
311 TNT1 A 0 A_TakeInventory("BarrelIsSpinning", 1)
312 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
313 WPAF A 2 A_WeaponReady
314 WPAF C 2 A_WeaponReady
315 WPAF B 2 A_WeaponReady
325 TNT1 A 0 A_JumpIfInventory("BarrelIsSpinning", 1, "ReloadSpinning")
326 WPAF A 4 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
329 WPAF A 3 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
332 WPAF A 2 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
335 TNT1 A 0 A_GiveInventory("BarrelIsSpinning", 1)
337 WPAF A 1 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
340 WPAF A 1 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
343 WPAF B 1 A_WeaponReady(WRF_ALLOWRELOAD)
345 TNT1 A 0 A_TakeInventory("BarrelIsSpinning", 1)
346 WPAF B 1 A_WeaponReady
347 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
348 WPAF B 2 A_WeaponReady
349 WPAF C 2 A_WeaponReady
350 TNT1 A 0 A_PlaySoundEx("Weapons/PaingunSpin", "SoundSlot6")
351 WPAF A 3 A_WeaponReady
352 WPAF B 3 A_WeaponReady
353 WPAF C 4 A_WeaponReady
356 stateinclude "QuickKick/QuickKickInclude.txt"
361 ACTOR PaingunBullet : FastProjectile {
367 Damage (2*random(7, 10))
377 //SeeSound "Ammo/BulletCrack"
378 //DeathSound "Ammo/BulletCrack"
379 Obituary "%o was shredded down by %k."
380 Decal "PaingunBulletDecal"
389 TNT1 A 0 A_Jump(150, 4)
390 TNT1 A 0 A_SetScale(1.0, 1.0)
392 TNT1 A 0 A_SetScale(1.3, 1.3)
399 ACTOR PaingunBulletAlt : PaingunBullet {
401 Damage (2*random(9, 12))
405 ACTOR PaingunTracer : PaingunBullet {
421 ACTOR BarrelIsSpinning : Inventory {
423 Inventory.MaxAmount 1
424 Inventory.InterHubAmount 0
435 Actor (optional) Zan_SkullRodAmmoBelt : AmmoBelt Replaces SkullRodAmmo {}
436 Actor (optional) Zan_SkullRodAmmoBox : AmmoBox Replaces SkullRodHefty {}
438 Actor (optional) Zan_SkullRodPaingun : Paingun Replaces SkullRod {}
439 Actor (optional) Zan_SkullRodPoweredPaingun : Paingun Replaces SkullRodPowered {}
441 Actor (optional) Zan_TPH_AmmoChaingun : AmmoBox Replaces AmmoChaingun {}
442 Actor (optional) Zan_TPH_TPHBulletDispenser : Paingun Replaces TPHBulletDispenser {}