1 ACTOR PotionBoxAcid : Ammo /*replaces CellPack*/ /*6005*/ {
9 Ammo.BackpackMaxAmount 64
10 Inventory.Icon "APOXA0"
11 Inventory.PickupMessage "Picked up a Box of Acid Potions."
12 Inventory.PickupSound "Ammo/PotionBoxPick"
22 ACTOR PotionLauncherAcidLoaded : Ammo {
26 Ammo.BackpackMaxAmount 8
27 +INVENTORY.IGNORESKILL
31 ACTOR PotionLauncherAcid : Weapon /*6000*/ {
36 +INVENTORY.UNDROPPABLE
38 //+WEAPON.NO_AUTO_SWITCH
40 //+WEAPON.ALT_USES_BOTH
41 //Inventory.Icon "WPOXA0"
42 Inventory.PickupMessage "Got a Potion Launcher loaded with few Acid Potions."
43 Inventory.PickupSound "Weapons/PoxCycle"
44 Weapon.SelectionOrder 7
45 //Weapon.MinSelectionAmmo1 0
46 //Weapon.MinSelectionAmmo2 1
47 Weapon.AmmoType1 "PotionLauncherAcidLoaded"
50 Weapon.AmmoType2 "PotionBoxAcid"
54 Tag "Acid Poition Launcher"
55 +Weapon.k8AllowPickupState // so 'PickupWeapon:' magic would work
63 // always has some loaded ammo on first pickup
64 TNT1 A 0 A_GiveInventory("PotionLauncherAcidLoaded", random(3, 6))
68 stateinclude "QuickKick/QuickKickOnSelectDeselect.txt"
69 TNT1 A 0 A_GiveInventory("HoldingPotionLauncher", 1)
70 TNT1 A 0 { if (GetCVarB('k8ZanMod_CustomCrosshairs')) A_SetCrosshair(6); }
75 stateinclude "QuickKick/QuickKickOnSelectDeselect.txt"
76 WPOR A 1 Offset(-15, 40)
77 WPOR A 1 Offset(-30, 50)
78 WPOR A 1 Offset(-50, 65)
79 WPOR A 1 Offset(-70, 80)
83 TNT1 A 0 A_TakeInventory("HoldingPotionLauncher", 1)
84 TNT1 A 1 A_Lower(666) // was zero duration
89 TNT1 A 0 A_PlaySound("Weapons/PoxCycle", CHAN_WEAPON, 0.6)
90 WPOR A 1 Offset(-70, 80)
91 WPOR A 1 Offset(-50, 65)
92 WPOR A 1 Offset(-30, 50)
93 WPOR A 1 Offset(-15, 40)
94 TNT1 A 0 A_TakeInventory("QuickKickDisabled")
98 //TNT1 A 0 A_JumpIfNotInventory("PotionLauncherAcidLoaded", "ReadyEmptyGun")
99 WPOR A 4 A_WeaponReady(WRF_ALLOWRELOAD)
100 WPOR AAAAA 4 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOFIRE)
104 TNT1 A 0 A_JumpIfNoAmmo("Reload")
105 TNT1 A 0 A_JumpIf(waterlevel==3, "UnderwaterDryFire")
106 //k8: do not horizontally ofsset spike shots, i want them to go through the crosshair
107 WSPI A 0 A_FireProjectile("PotionAcid", 0, 1, /*4*/random(-2, 2), 0, FPF_NOAUTOAIM, 0)
108 TNT1 A 0 A_PlaySound("Weapons/PoxFire", CHAN_WEAPON)
110 WPOR A 2 A_SetPitch(0.50+pitch)
111 WPOR A 1 A_SetPitch(-0.50+pitch)
112 WPOF A 2 A_SetPitch(0.50+pitch)
113 WPOF A 1 A_SetPitch(-0.50+pitch)
114 WPOF B 2 A_SetPitch(0.50+pitch)
115 WPOF B 1 A_SetPitch(-0.50+pitch)
117 TNT1 A 0 A_PlaySound("Weapons/PoxCycle", CHAN_WEAPON)
119 WPOR A 0 A_AlertMonsters
120 WPOR A 12 A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD)
124 TNT1 A 0 A_JumpIfNotInventory("PotionLauncherAcidLoaded", "Reload")
125 TNT1 A 0 A_JumpIf(waterlevel==3, "UnderwaterDryFire")
126 TNT1 A 0 { if (!HasSpecialPowerup(PWRT_INFAMMO)) A_TakeInventory("PotionLauncherAcidLoaded", 1); }
127 WSPI A 0 A_FireProjectile("PotionBounceAcid", 0, 1, /*4*/random(-2, 2), 0, FPF_NOAUTOAIM, 0)
128 TNT1 A 0 A_PlaySound("Weapons/PoxFire", CHAN_WEAPON)
130 WPOR A 2 A_SetPitch(0.50+pitch)
131 WPOR A 1 A_SetPitch(-0.50+pitch)
132 WPOF A 2 A_SetPitch(0.50+pitch)
133 WPOF A 1 A_SetPitch(-0.50+pitch)
134 WPOF B 2 A_SetPitch(0.50+pitch)
135 WPOF B 1 A_SetPitch(-0.50+pitch)
137 TNT1 A 0 A_PlaySound("Weapons/PoxCycle", CHAN_WEAPON)
139 WPOR A 0 A_AlertMonsters
140 WPOR A 12 A_WeaponReady(WRF_NOFIRE | WRF_ALLOWRELOAD)
153 WPOR A 16 A_PlaySound("Ammo/SpikeGunPick", CHAN_WEAPON, 0.2)
157 TNT1 A 0 A_PlaySound("Ammo/SpikeGunPick", CHAN_WEAPON, 0.4)
162 WFRR A 0 A_JumpIfInventory("PotionLauncherAcidLoaded", 8, "ReadyIdle")
163 WFRR A 0 A_JumpIfInventory("PotionBoxAcid", 1, "ReloadWork")
164 WFRR A 0 A_JumpIfNoAmmo("Dryfire")
165 WPOR A 1 A_JumpIfNotInventory("PotionBoxAcid", "ReadyIdle")
169 WPOL A 3 A_PlaySound("Weapons/PoxReloadA", CHAN_WEAPON)
177 TNT1 A 0 A_JumpIfNotInventory("PotionLauncherAcidLoaded", 2)
178 WPOL E 1 A_WeaponReady
179 TNT1 A 0 { if (!HasSpecialPowerup(PWRT_INFAMMO)) A_TakeInventory("PotionBoxAcid", 1); }
180 TNT1 A 0 A_GiveInventory("PotionLauncherAcidLoaded", 1)
181 WPOL E 3 A_PlaySound("Weapons/PoxReloadB", CHAN_WEAPON)
182 WPOL D 4 Offset(0, 40)
183 TNT1 A 0 A_JumpIfInventory("PotionLauncherAcidLoaded", 8, "ReloadFinish")
184 TNT1 A 0 A_JumpIfInventory("PotionBoxAcid", 1, "ReloadLoop")
190 WPOL B 3 A_PlaySound("Weapons/PoxReloadC", CHAN_WEAPON)
194 stateinclude "QuickKick/QuickKickInclude.txt"
207 ProjectileKickBack 100
208 //Damage(1*random(50, 70))
209 //DamageType "PoxAcid"
217 SeeSound "Weapons/BoltSee"
218 DeathSound "Weapons/PotionDie"
219 Obituary "%o was dissolved by %k's Acid Potion."
225 TNT1 A 0 A_JumpIf(WaterLevel>0, "Death")
230 TNT1 A 0 A_Explode(random(140, 170), 128, XF_EXPLICITDAMAGETYPE|(GetCVarB('k8ZanMod_DamageSelfPotion') ? XF_HURTSOURCE : 0), True, 32, 0, 0, "", "PoxAcid")
231 TNT1 A 0 A_SpawnItemEx("AcidSplash", 0, 0, 1, 0, 0, 3, 0, SXF_NOCHECKPOSITION, 0)
232 TNT1 AAAAAAA 0 A_SpawnItemEx("AcidSplashSmallA", random(-16, 16), random(-16, 16), random(0, 16), random(-5, 5), random(-5, 5), random(4, 8), 0, SXF_NOCHECKPOSITION, 0)
233 TNT1 AAAAAAA 0 A_SpawnItemEx("AcidSplashSmallB", random(-16, 16), random(-16, 16), random(0, 16), random(-5, 5), random(-5, 5), random(4, 8), 0, SXF_NOCHECKPOSITION, 0)
234 TNT1 AAAAAAA 0 A_SpawnItemEx("AcidSplashSmallC", random(-16, 16), random(-16, 16), random(0, 16), random(-5, 5), random(-5, 5), random(4, 8), 0, SXF_NOCHECKPOSITION, 0)
235 TNT1 A 0 A_SpawnItemEx("JunkTempShrapnelA", 0, 0, 0, random(-5, 5), random(-5, 5), random(0, 4), 0, SXF_NOCHECKPOSITION, 150)
236 TNT1 A 0 A_SpawnItemEx("JunkTempShrapnelB", 0, 0, 0, random(-5, 5), random(-5, 5), random(0, 4), 0, SXF_NOCHECKPOSITION, 0)
237 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardA", 0, 0, 0, random(0, 5), random(0, 5), random(0, 8), 0, SXF_NOCHECKPOSITION, 0)
238 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardA", 0, 0, 0, random(-5, 0), random(-5, 0), random(0, 8), 0, SXF_NOCHECKPOSITION, 50)
239 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardB", 0, 0, 0, random(0, 5), random(0, 5), random(0, 6), 0, SXF_NOCHECKPOSITION, 0)
240 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardB", 0, 0, 0, random(-5, 0), random(-5, 0), random(0, 6), 0, SXF_NOCHECKPOSITION, 150)
241 TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MagicSparkGreen", random(-5, 5), random(-5, 5), random(0, 5), random(-15, 15), random(-15, 15), random(0, 15), 0, SXF_NOCHECKPOSITION, 0)
242 TNT1 A 30 A_Quake(1, 30, 0, 512)
248 ACTOR PotionBounceAcid {
256 ProjectileKickBack 100
257 Damage (1*random(50, 70))
258 DamageType "PoxBlunt"
270 WallBounceFactor 0.30
272 BounceSound "Ammo/DepletedShardBounce"
273 SeeSound "Weapons/BoltSee"
274 DeathSound "Weapons/PotionDie"
275 Obituary "%o was knocked out cold by %k's Acid Potion."
280 TNT1 A 0 A_JumpIf(WaterLevel>0, "Death")
285 TNT1 A 0 A_Changeflag("FOILINVUL", 1)
286 TNT1 A 0 A_Explode(random(140, 170), 128, XF_EXPLICITDAMAGETYPE|(GetCVarB('k8ZanMod_DamageSelfPotion') ? XF_HURTSOURCE : 0), True, 32, 0, 0, "", "PoxAcid")
287 TNT1 A 0 A_SpawnItemEx("AcidSplash", 0, 0, 1, 0, 0, 3, 0, SXF_NOCHECKPOSITION, 0)
288 TNT1 AAAAAAA 0 A_SpawnItemEx("AcidSplashSmallA", random(-16, 16), random(-16, 16), random(0, 16), random(-5, 5), random(-5, 5), random(4, 8), 0, SXF_NOCHECKPOSITION, 0)
289 TNT1 AAAAAAA 0 A_SpawnItemEx("AcidSplashSmallB", random(-16, 16), random(-16, 16), random(0, 16), random(-5, 5), random(-5, 5), random(4, 8), 0, SXF_NOCHECKPOSITION, 0)
290 TNT1 AAAAAAA 0 A_SpawnItemEx("AcidSplashSmallC", random(-16, 16), random(-16, 16), random(0, 16), random(-5, 5), random(-5, 5), random(4, 8), 0, SXF_NOCHECKPOSITION, 0)
291 TNT1 A 0 A_SpawnItemEx("JunkTempShrapnelA", 0, 0, 0, random(-5, 5), random(-5, 5), random(0, 4), 0, SXF_NOCHECKPOSITION, 150)
292 TNT1 A 0 A_SpawnItemEx("JunkTempShrapnelB", 0, 0, 0, random(-5, 5), random(-5, 5), random(0, 4), 0, SXF_NOCHECKPOSITION, 0)
293 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardA", 0, 0, 0, random(0, 5), random(0, 5), random(0, 8), 0, SXF_NOCHECKPOSITION, 0)
294 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardA", 0, 0, 0, random(-5, 0), random(-5, 0), random(0, 8), 0, SXF_NOCHECKPOSITION, 50)
295 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardB", 0, 0, 0, random(0, 5), random(0, 5), random(0, 6), 0, SXF_NOCHECKPOSITION, 0)
296 TNT1 A 0 A_SpawnItemEx("JunkTempGlassShardB", 0, 0, 0, random(-5, 0), random(-5, 0), random(0, 6), 0, SXF_NOCHECKPOSITION, 150)
297 TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MagicSparkGreen", random(-5, 5), random(-5, 5), random(0, 5), random(-15, 15), random(-15, 15), random(0, 15), 0, SXF_NOCHECKPOSITION, 0)
298 TNT1 A 30 A_Quake(1, 30, 0, 512)
322 TNT1 A 0 A_JumpIf(!IsFlatDecalsAllowed(), "NoFlatDecals")
323 TNT1 A 0 A_SetFlatDecal("AcidDecal");
331 TNT1 A 0 A_SpawnItemEx("AcidSplashFloor", 0, 0, 0, random(0, 0), random(0, 0), random(0, 0), 0, SXF_NOCHECKPOSITION, 0)
333 TNT1 A 0 A_Playsound("Weapons/AcidSizzle", CHAN_AUTO)
340 ACTOR AcidSplashSmallA {
346 //DamageType "PoxAcid"
356 Decal "AcidSplashSmall"
364 TNT1 A 0 A_Playsound("Weapons/AcidSizzle", CHAN_AUTO)
365 //TNT1 A 0 A_SpawnItemEx("AcidSplashFloorSmall", 0, 0, 0, random(0, 0), random(0, 0), random(0, 0), 0, SXF_NOCHECKPOSITION, 0)
371 ACTOR AcidSplashSmallB {
377 //DamageType "PoxAcid"
387 Decal "AcidSplashSmall"
395 TNT1 A 0 A_Playsound("Weapons/AcidSizzle", CHAN_AUTO)
396 //TNT1 A 0 A_SpawnItemEx("AcidSplashFloorSmall", 0, 0, 0, random(0, 0), random(0, 0), random(0, 0), 0, SXF_NOCHECKPOSITION, 0)
402 ACTOR AcidSplashSmallC {
408 //DamageType "PoxAcid"
418 Decal "AcidSplashSmall"
426 TNT1 A 0 A_Playsound("Weapons/AcidSizzle", CHAN_AUTO)
427 //TNT1 A 0 A_SpawnItemEx("AcidSplashFloorSmall", 0, 0, 0, random(0, 0), random(0, 0), random(0, 0), 0, SXF_NOCHECKPOSITION, 0)
433 ACTOR AcidSplashFloor {
449 //PPOT A random(1100, 2100) bright
450 PPOT A random(15, 35) bright
451 PPOT A 0 A_FadeOut(0.01)
458 ACTOR AcidSplashFloorSmall {