From 7a4ec53e160e971b0ece070f85cedd1544386239 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Mon, 7 Mar 2022 23:24:13 +0100 Subject: [PATCH] Some easter egg tweaks. Backport placeholder textures from common library. --- cvarinfo.base | 2 - language.def_dlg | 8 +- language.es_dlg | 8 +- language.version | 4 +- modeldef.dlcammo | 72 ++--- modeldef.hammer | 2 +- modeldef.mortalrifle | 2 +- modeldef.newsparkster | 2 +- modeldef.plasmablast | 2 +- modeldef.puntzerbeta | 2 +- modeldef.puntzergamma | 2 +- modeldef.quadravol | 2 +- modeldef.rafankos | 2 +- modeldef.raykhom | 2 +- modeldef.sheenhmg | 2 +- textures/chiptilb.png | Bin 0 -> 120 bytes textures/chiptilc.png | Bin 0 -> 120 bytes textures/chiptilg.png | Bin 0 -> 120 bytes textures/chiptilm.png | Bin 0 -> 120 bytes textures/chiptilr.png | Bin 0 -> 120 bytes textures/chiptilw.png | Bin 0 -> 120 bytes textures/chiptily.png | Bin 0 -> 120 bytes zscript/handler/swwm_handler_cheats.zsc | 5 +- zscript/handler/swwm_handler_process.zsc | 5 + zscript/hud/swwm_hud.zsc | 367 +++++++++++++---------- zscript/hud/swwm_hudextra.zsc | 3 +- zscript/swwm_thinkers_player.zsc | 3 + zscript/weapons/swwm_thiccboolet.zsc | 17 +- 28 files changed, 301 insertions(+), 213 deletions(-) create mode 100644 textures/chiptilb.png create mode 100644 textures/chiptilc.png create mode 100644 textures/chiptilg.png create mode 100644 textures/chiptilm.png create mode 100644 textures/chiptilr.png create mode 100644 textures/chiptilw.png create mode 100644 textures/chiptily.png diff --git a/cvarinfo.base b/cvarinfo.base index 2116b7062..f58ee5e76 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -103,8 +103,6 @@ server bool swwm_singlefirst = false; // single weapons are selected before dua nosave bool swwm_uniqstats = false; // only list stats from the same map once, rather than for each single visit nosave int swwm_filterachievements = 1; // filter for achievements at 0%: 0 - no filter, 1 - obscure text, 2 - don't show nosave noarchive bool swwm_debugview = false; // debug visual aid for various things, such as actor collision, trajectories, relationships, etc. -nosave bool swwm_oldcheat = false; // set to true if you used a SWWM Platinum cheat, so the easter egg only appears once per iwad -nosave bool swwm_silveregg = false; // set to true if the Silver Bullet easter egg has been triggered, so it only appears once per iwad server bool swwm_selflight = true; // player emits light server bool swwm_usetopickup = false; // allow item pickup only by pressing use server bool swwm_meleepickup = true; // allow picking up items through melee diff --git a/language.def_dlg b/language.def_dlg index 09e81fe90..d7afa1853 100644 --- a/language.def_dlg +++ b/language.def_dlg @@ -243,4 +243,10 @@ SWWM_ZNVTXT3 = "So, you can do the thing... As have the \ctMishe\c- also taught SWWM_ZNVTXT4 = "There are many such powerful words to use, \cdDemolitionist\c-. Do keep keeping to discover all of them."; SWWM_ZNVTXT5 = "And now I have to take off. Please extend greetings to aunt \cgSaya\c- for my part. Good luck, \cdDemolitionist\c-."; // easter egg -SWWM_SAYAWASTE1 = "Quit wasting ammo!"; +SWWM_SAYAWASTEA1 = "Quit wasting ammo!"; +SWWM_SAYAWASTEB1 = "You're still doing it? Seriously?"; +SWWM_SAYAWASTEC1 = "OK, you're clearly just doing this for your own personal satisfaction."; +SWWM_SAYAWASTED1 = "It's almost like you're jerking it off, kinda..."; +SWWM_SAYAWASTED2 = "Uh, forget I said that."; +SWWM_SAYAWASTEE1 = "And still going... Rackin' it along."; +SWWM_SAYAWASTEF1 = "OK, I promise I'll stop messaging you about it. You do you, I guess."; diff --git a/language.es_dlg b/language.es_dlg index 7195b5ff8..4559c3ed1 100644 --- a/language.es_dlg +++ b/language.es_dlg @@ -234,4 +234,10 @@ SWWM_ZNVTXT3 = "Así, puedes hacer la cosa... Como los \ctMishe\c- enseñaron ta SWWM_ZNVTXT4 = "Hay tantas muchas palabras poderosas a usar, \cdDemolicionista\c-. Sigue siguiendo para descubrirlas todas."; SWWM_ZNVTXT5 = "Debo dar marcha. A favor extender saludos a tía \cgSaya\c- en parte mía. Buena suerte, \cdDemolicionista\c-."; // easter egg -SWWM_SAYAWASTE1 = "¡Deja de malgastar balas!"; +SWWM_SAYAWASTEA1 = "¡Deja de malgastar balas!"; +SWWM_SAYAWASTEB1 = "¿Aun sigues? ¿En serio?"; +SWWM_SAYAWASTEC1 = "Vale, se nota que lo estás haciendo por tu propia satisfacción personal."; +SWWM_SAYAWASTED1 = "Es casi como si le estuvieras haciendo una paja, o algo..."; +SWWM_SAYAWASTED2 = "Ehm, olvida lo que he dicho."; +SWWM_SAYAWASTEE1 = "Y sigue... Dándole a la manivela."; +SWWM_SAYAWASTEF1 = "Vale, te prometo que voy a dejar de mensajearte ya con todo esto. Tú a lo tuyo, supongo."; diff --git a/language.version b/language.version index 9452de64e..d07944f1c 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r182 \cu(Sun 6 Mar 21:10:33 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.2pre r182 \cu(2022-03-06 21:10:33)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r183 \cu(Mon 7 Mar 23:24:13 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.2pre r183 \cu(2022-03-07 23:24:13)\c-"; diff --git a/modeldef.dlcammo b/modeldef.dlcammo index 45f9c716b..832ceb53a 100644 --- a/modeldef.dlcammo +++ b/modeldef.dlcammo @@ -3,7 +3,7 @@ Model "SMW05Ammo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -16,7 +16,7 @@ Model "SMW05Ammo2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -29,7 +29,7 @@ Model "SMW05Ammo3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -42,7 +42,7 @@ Model "SMW05SmallAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -55,7 +55,7 @@ Model "SMW05BigAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.03 0.03 0.03 ZOffset 16 PitchOffset 30 @@ -69,7 +69,7 @@ Model "SheenAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.015 0.015 0.015 ZOffset 16 PitchOffset 30 @@ -82,7 +82,7 @@ Model "SheenAmmo2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.015 0.015 0.015 ZOffset 16 PitchOffset 30 @@ -95,7 +95,7 @@ Model "SheenAmmo3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.015 0.015 0.015 ZOffset 16 PitchOffset 30 @@ -108,7 +108,7 @@ Model "SheenTinyAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -121,7 +121,7 @@ Model "SheenSmallAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -134,7 +134,7 @@ Model "SheenBigAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.03 0.03 0.03 ZOffset 16 PitchOffset 30 @@ -148,7 +148,7 @@ Model "QuadravolAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -161,7 +161,7 @@ Model "QuadravolAmmo2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -174,7 +174,7 @@ Model "QuadravolAmmo3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -188,7 +188,7 @@ Model "SparksterBAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -201,7 +201,7 @@ Model "SparksterBAmmo2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -214,7 +214,7 @@ Model "SparksterBAmmo3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -227,7 +227,7 @@ Model "SparksterRAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -240,7 +240,7 @@ Model "SparksterRAmmo2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -253,7 +253,7 @@ Model "SparksterRAmmo3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -267,7 +267,7 @@ Model "MisterRound" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -280,7 +280,7 @@ Model "MisterRound2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -293,7 +293,7 @@ Model "MisterRound3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -306,7 +306,7 @@ Model "MisterRound5" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -319,7 +319,7 @@ Model "MisterRound10" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -332,7 +332,7 @@ Model "MisterAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.03 0.03 0.03 ZOffset 16 PitchOffset 30 @@ -345,7 +345,7 @@ Model "MisterGAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.02 0.02 0.02 ZOffset 16 PitchOffset 30 @@ -358,7 +358,7 @@ Model "MisterGAmmo2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -371,7 +371,7 @@ Model "MisterGAmmo3" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.03 0.03 0.03 ZOffset 16 PitchOffset 30 @@ -385,7 +385,7 @@ Model "RayBolt" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -398,7 +398,7 @@ Model "RayBolt2" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -411,7 +411,7 @@ Model "RayBolt5" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.025 0.025 0.025 ZOffset 16 PitchOffset 30 @@ -424,7 +424,7 @@ Model "RayAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.04 0.04 0.04 ZOffset 16 PitchOffset 30 @@ -437,7 +437,7 @@ Model "RayBattery" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.035 0.035 0.035 ZOffset 16 PitchOffset 30 @@ -451,7 +451,7 @@ Model "UltimatePod" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.03 0.03 0.03 ZOffset 16 PitchOffset 30 @@ -464,7 +464,7 @@ Model "UltimateAmmo" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILY" Scale 0.04 0.04 0.04 ZOffset 16 PitchOffset 30 diff --git a/modeldef.hammer b/modeldef.hammer index 934dcc178..d54f2b479 100644 --- a/modeldef.hammer +++ b/modeldef.hammer @@ -3,7 +3,7 @@ Model "ItamexHammer" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.04 0.04 0.04 ZOffset 16 PitchOffset 30 diff --git a/modeldef.mortalrifle b/modeldef.mortalrifle index 9b69a3ccc..b061c084e 100644 --- a/modeldef.mortalrifle +++ b/modeldef.mortalrifle @@ -3,7 +3,7 @@ Model "MisterRifle" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.05 0.05 0.05 ZOffset 16 PitchOffset 30 diff --git a/modeldef.newsparkster b/modeldef.newsparkster index 6baf9ea09..2feb8cc2f 100644 --- a/modeldef.newsparkster +++ b/modeldef.newsparkster @@ -3,7 +3,7 @@ Model "ModernSparkster" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.05 0.05 0.05 ZOffset 16 PitchOffset 30 diff --git a/modeldef.plasmablast b/modeldef.plasmablast index 5a87838ed..560f0c5ae 100644 --- a/modeldef.plasmablast +++ b/modeldef.plasmablast @@ -3,7 +3,7 @@ Model "PlasmaBlast" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.04 0.04 0.04 ZOffset 16 PitchOffset 30 diff --git a/modeldef.puntzerbeta b/modeldef.puntzerbeta index 313632a4a..d834de2b3 100644 --- a/modeldef.puntzerbeta +++ b/modeldef.puntzerbeta @@ -3,7 +3,7 @@ Model "PuntzerBeta" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.04 0.04 0.04 ZOffset 16 PitchOffset 30 diff --git a/modeldef.puntzergamma b/modeldef.puntzergamma index 68fb062c2..bbabcb626 100644 --- a/modeldef.puntzergamma +++ b/modeldef.puntzergamma @@ -3,7 +3,7 @@ Model "PuntzerGamma" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.045 0.045 0.045 ZOffset 16 PitchOffset 30 diff --git a/modeldef.quadravol b/modeldef.quadravol index b1333acee..2cd0ae4e2 100644 --- a/modeldef.quadravol +++ b/modeldef.quadravol @@ -3,7 +3,7 @@ Model "Quadravol" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.05 0.05 0.05 ZOffset 16 PitchOffset 30 diff --git a/modeldef.rafankos b/modeldef.rafankos index e2e39fff6..2de18920d 100644 --- a/modeldef.rafankos +++ b/modeldef.rafankos @@ -3,7 +3,7 @@ Model "RafanKos" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.055 0.055 0.055 ZOffset 16 PitchOffset 30 diff --git a/modeldef.raykhom b/modeldef.raykhom index 7a06bb9dc..269b440c4 100644 --- a/modeldef.raykhom +++ b/modeldef.raykhom @@ -3,7 +3,7 @@ Model "RayKhom" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.055 0.055 0.055 ZOffset 16 PitchOffset 30 diff --git a/modeldef.sheenhmg b/modeldef.sheenhmg index 7e916967b..3931ee5ed 100644 --- a/modeldef.sheenhmg +++ b/modeldef.sheenhmg @@ -3,7 +3,7 @@ Model "HeavyMahSheenGun" Path "models/extra" Model 0 "BaseCube_d.3d" - Skin 0 "CHIPTILE" + Skin 0 "CHIPTILR" Scale 0.05 0.05 0.05 ZOffset 16 PitchOffset 30 diff --git a/textures/chiptilb.png b/textures/chiptilb.png new file mode 100644 index 0000000000000000000000000000000000000000..8818fa8116397ad5adb7172a0e387d2455d3c190 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvTt!6E}Mh4@5 X(yD%9PqG;p7#KWV{an^LB{Ts5yc8i* literal 0 HcmV?d00001 diff --git a/textures/chiptilc.png b/textures/chiptilc.png new file mode 100644 index 0000000000000000000000000000000000000000..36481a538298cb56bf7f45519b24a9c0c55f5eb1 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvTp7~R7-r67ICF;K z|NpJqj+QVmFsOUFIEHXUC#NJnNKCkrmGI;E4Ex51;*0;Ww$1lonI++;n!xPf#>im& XPg>Pa>`68Q0|SGntDnm{r-UW|Z>uBX literal 0 HcmV?d00001 diff --git a/textures/chiptilg.png b/textures/chiptilg.png new file mode 100644 index 0000000000000000000000000000000000000000..318154d316fa63f7ca70c053b0a050fb896d83f7 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvTp7|B7-ljsoMB-2 z&%o4XGoOKhLEY2EF@z&JIVJHyV#1ZIgdfLe*f%~DU;K}?ZN3M~ED1l=1ZD>}Mh4@5 X(yD%9PqG;p7#KWV{an^LB{Ts5RU#kP literal 0 HcmV?d00001 diff --git a/textures/chiptilm.png b/textures/chiptilm.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa034629b56262b27d9b29d2ae77d6962be011f GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvT+6GVPN>r zz~IC5z>}Mh4@5 X(yD%9PqG;p7#KWV{an^LB{Ts5S!N&G literal 0 HcmV?d00001 diff --git a/textures/chiptilw.png b/textures/chiptilw.png new file mode 100644 index 0000000000000000000000000000000000000000..0be3094645d9f841688c8810ec6cd233f17ce043 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvT+`ChX3m^>=FFM@ z|Nozf6}rv9z@YBw;uyjaot%>RATi-eR>F_tGwd55iZA}h+BV;VWtN1WY67!^8zY19 XKWSAzu_xIK3=9mOu6{1-oD!M<7v?4& literal 0 HcmV?d00001 diff --git a/textures/chiptily.png b/textures/chiptily.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e54359bb3faad53cd964a7971cb60741f9e422 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvT+<>%X12bP0l+XkKIQ}B@ literal 0 HcmV?d00001 diff --git a/zscript/handler/swwm_handler_cheats.zsc b/zscript/handler/swwm_handler_cheats.zsc index 847546a8a..581be859a 100644 --- a/zscript/handler/swwm_handler_cheats.zsc +++ b/zscript/handler/swwm_handler_cheats.zsc @@ -436,7 +436,8 @@ extend Class SWWMHandler if ( kstr != cht[i].Left(kstr.length()) ) continue; matchany = true; if ( kstr != cht[i] ) continue; - if ( (i > 5) && !swwm_nomapmsg && !swwm_oldcheat ) + let s = SWWMStats.Find(players[consoleplayer]); + if ( (i > 5) && !swwm_nomapmsg && (!s || !s.oldcheat) ) { let m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_ZNVSNAME"),StringTable.Localize("$SWWM_ZNVNAME"),"Znv"); m.seqname = "ZNVTXT"; @@ -446,7 +447,7 @@ extend Class SWWMHandler m.enddelay = 90; m.pausedelay = 40; StatusBar.AttachMessage(m,-1232); - CVar.FindCVar('swwm_oldcheat').SetBool(true); + SendNetworkEvent("swwmsetoldcheat",consoleplayer); } if ( SWWMUtility.CheatsDisabled(consoleplayer) ) { diff --git a/zscript/handler/swwm_handler_process.zsc b/zscript/handler/swwm_handler_process.zsc index df4c94722..73752248e 100644 --- a/zscript/handler/swwm_handler_process.zsc +++ b/zscript/handler/swwm_handler_process.zsc @@ -694,6 +694,11 @@ extend Class SWWMHandler s.realpuzzlecnt = e.Args[2]; } } + else if ( e.Name ~== "swwmsetoldcheat" ) + { + let s = SWWMStats.Find(players[e.Args[0]]); + if ( s ) s.oldcheat = true; + } // cheats go here else CheatEvent(e); } diff --git a/zscript/hud/swwm_hud.zsc b/zscript/hud/swwm_hud.zsc index cd2c172a0..8bc09b30b 100644 --- a/zscript/hud/swwm_hud.zsc +++ b/zscript/hud/swwm_hud.zsc @@ -153,14 +153,56 @@ Class SWWMStatusBar : BaseStatusBar AttachMessage(m,-1232); return true; } - else if ( msg ~== "swwmsilverbulleteasteregg" ) + else if ( msg.Left(25) ~== "swwmsilverbulleteasteregg" ) { m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m.seqname = "SAYAWASTE"; - m.seqcnt = 1; - m.delay = 5; - m.startdelay = 10; - m.enddelay = 25; + let num = msg.Mid(25).ToInt(); + switch ( num ) + { + case 1: + default: + m.seqname = "SAYAWASTEA"; + m.seqcnt = 1; + m.delay = 5; + m.startdelay = 10; + m.enddelay = 25; + break; + case 2: + m.seqname = "SAYAWASTEB"; + m.seqcnt = 1; + m.delay = 10; + m.startdelay = 20; + m.enddelay = 30; + break; + case 3: + m.seqname = "SAYAWASTEC"; + m.seqcnt = 1; + m.delay = 30; + m.startdelay = 15; + m.enddelay = 25; + break; + case 4: + m.seqname = "SAYAWASTED"; + m.seqcnt = 2; + m.delay = 40; + m.startdelay = 10; + m.enddelay = 20; + break; + case 5: + m.seqname = "SAYAWASTEE"; + m.seqcnt = 1; + m.delay = 20; + m.startdelay = 10; + m.enddelay = 30; + break; + case 6: + m.seqname = "SAYAWASTEF"; + m.seqcnt = 1; + m.delay = 50; + m.startdelay = 20; + m.enddelay = 30; + break; + } AttachMessage(m,-1232); return true; } @@ -172,75 +214,81 @@ Class SWWMStatusBar : BaseStatusBar { EventHandler.SendNetworkEvent("swwmkoraxline",0,consoleplayer); koraxline = true; - m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m.seqname = "SAYAGREETA"; - m.seqcnt = 3; - m.delay = 150; - AttachMessage(m,-1232); - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); - m2.seqname = "SAYAGREETB"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "SAYAGREETC"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); - m2.seqname = "SAYAGREETD"; - m2.seqcnt = 1; - m2.delay = 30; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "SAYAGREETE"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); - m2.seqname = "SAYAGREETF"; - m2.seqcnt = 1; - m2.delay = 30; - m.nextmsg = m2; - m.nextdirect = true; + if ( !swwm_nomapmsg ) + { + m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m.seqname = "SAYAGREETA"; + m.seqcnt = 3; + m.delay = 150; + AttachMessage(m,-1232); + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); + m2.seqname = "SAYAGREETB"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "SAYAGREETC"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); + m2.seqname = "SAYAGREETD"; + m2.seqcnt = 1; + m2.delay = 30; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "SAYAGREETE"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); + m2.seqname = "SAYAGREETF"; + m2.seqcnt = 1; + m2.delay = 30; + m.nextmsg = m2; + m.nextdirect = true; + } } else if ( msg == StringTable.Localize("$TXT_ACS_MAP13_11_MYSER") ) { EventHandler.SendNetworkEvent("swwmkoraxline",1,consoleplayer); koraxline = true; - m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m.seqname = "SAYABLOODA"; - m.seqcnt = 2; - m.delay = 220; - AttachMessage(m,-1232); - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); - m2.seqname = "SAYABLOODB"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "SAYABLOODC"; - m2.seqcnt = 1; - m2.delay = 30; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); - m2.seqname = "SAYABLOODD"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; + if ( !swwm_nomapmsg ) + { + m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m.seqname = "SAYABLOODA"; + m.seqcnt = 2; + m.delay = 220; + AttachMessage(m,-1232); + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); + m2.seqname = "SAYABLOODB"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "SAYABLOODC"; + m2.seqcnt = 1; + m2.delay = 30; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); + m2.seqname = "SAYABLOODD"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + } } else if ( msg == StringTable.Localize("$TXT_ACS_MAP22_27_YOUHA") ) koraxline = true; @@ -248,24 +296,27 @@ Class SWWMStatusBar : BaseStatusBar { EventHandler.SendNetworkEvent("swwmkoraxline",2,consoleplayer); koraxline = true; - m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m.seqname = "SAYAGAMEA"; - m.seqcnt = 2; - m.delay = 200; - AttachMessage(m,-1232); - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); - m2.seqname = "SAYAGAMEB"; - m2.seqcnt = 1; - m2.delay = 30; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "SAYAGAMEC"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; + if ( !swwm_nomapmsg ) + { + m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m.seqname = "SAYAGAMEA"; + m.seqcnt = 2; + m.delay = 200; + AttachMessage(m,-1232); + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); + m2.seqname = "SAYAGAMEB"; + m2.seqcnt = 1; + m2.delay = 30; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "SAYAGAMEC"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + } } else if ( msg == StringTable.Localize("$TXT_ACS_MAP27_8_WORSH") ) koraxline = true; @@ -273,33 +324,36 @@ Class SWWMStatusBar : BaseStatusBar { EventHandler.SendNetworkEvent("swwmkoraxline",3,consoleplayer); koraxline = true; - m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); - m.seqname = "KIRINWORSHIPA"; - m.seqcnt = 1; - m.delay = 150; - AttachMessage(m,-1232); - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "KIRINWORSHIPB"; - m2.seqcnt = 1; - m2.delay = 40; - m2.enddelay = 10; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); - m2.seqname = "KIRINWORSHIPC"; - m2.seqcnt = 1; - m2.delay = 10; - m2.enddelay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "KIRINWORSHIPD"; - m2.seqcnt = 2; - m2.delay = 10; - m.nextmsg = m2; - m.nextdirect = true; + if ( !swwm_nomapmsg ) + { + m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); + m.seqname = "KIRINWORSHIPA"; + m.seqcnt = 1; + m.delay = 150; + AttachMessage(m,-1232); + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "KIRINWORSHIPB"; + m2.seqcnt = 1; + m2.delay = 40; + m2.enddelay = 10; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); + m2.seqname = "KIRINWORSHIPC"; + m2.seqcnt = 1; + m2.delay = 10; + m2.enddelay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "KIRINWORSHIPD"; + m2.seqcnt = 2; + m2.delay = 10; + m.nextmsg = m2; + m.nextdirect = true; + } } else if ( msg == StringTable.Localize("$TXT_ACS_MAP35_12_AREYO") ) koraxline = true; @@ -307,46 +361,49 @@ Class SWWMStatusBar : BaseStatusBar { EventHandler.SendNetworkEvent("swwmkoraxline",4,consoleplayer); koraxline = true; - m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m.seqname = "SAYAMASTERSA"; - m.seqcnt = 2; - m.delay = 150; - m.enddelay = 60; - AttachMessage(m,-1232); - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); - m2.seqname = "SAYAMASTERSB"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "SAYAMASTERSC"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); - m2.seqname = "SAYAMASTERSD"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); - m2.seqname = "SAYAMASTERSE"; - m2.seqcnt = 1; - m2.delay = 40; - m.nextmsg = m2; - m.nextdirect = true; - m = m2; - m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); - m2.seqname = "SAYAMASTERSF"; - m2.seqcnt = 1; - m2.delay = 20; - m.nextmsg = m2; - m.nextdirect = true; + if ( !swwm_nomapmsg ) + { + m = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m.seqname = "SAYAMASTERSA"; + m.seqcnt = 2; + m.delay = 150; + m.enddelay = 60; + AttachMessage(m,-1232); + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); + m2.seqname = "SAYAMASTERSB"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "SAYAMASTERSC"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_IBUKISNAME"),StringTable.Localize("$SWWM_IBUKINAME"),"Ibuki"); + m2.seqname = "SAYAMASTERSD"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_KIRINSNAME"),StringTable.Localize("$SWWM_KIRINNAME"),"Kirin"); + m2.seqname = "SAYAMASTERSE"; + m2.seqcnt = 1; + m2.delay = 40; + m.nextmsg = m2; + m.nextdirect = true; + m = m2; + m2 = new("SWWMDirectMessage").Init(StringTable.Localize("$SWWM_SAYASNAME"),StringTable.Localize("$SWWM_SAYANAME"),"Saya"); + m2.seqname = "SAYAMASTERSF"; + m2.seqcnt = 1; + m2.delay = 20; + m.nextmsg = m2; + m.nextdirect = true; + } } if ( koraxline ) { diff --git a/zscript/hud/swwm_hudextra.zsc b/zscript/hud/swwm_hudextra.zsc index 96382deb6..15c156681 100644 --- a/zscript/hud/swwm_hudextra.zsc +++ b/zscript/hud/swwm_hudextra.zsc @@ -557,7 +557,8 @@ Class SWWMDialogueTrigger : Actor { "swwmultdoom2map20dlg" }; - Console.MidPrint(null,dlglist[args[0]]); + if ( !swwm_nomapmsg ) + Console.MidPrint(null,dlglist[args[0]]); Destroy(); } override void Tick() {} diff --git a/zscript/swwm_thinkers_player.zsc b/zscript/swwm_thinkers_player.zsc index 4fd8c5a55..c27761040 100644 --- a/zscript/swwm_thinkers_player.zsc +++ b/zscript/swwm_thinkers_player.zsc @@ -77,6 +77,9 @@ Class SWWMStats : Thinker int nazicleanup; // stored for hexen int puzzlecnt, realpuzzlecnt; + // easter eggs + int silveregg; + bool oldcheat; bool GotWeapon( Class which ) { diff --git a/zscript/weapons/swwm_thiccboolet.zsc b/zscript/weapons/swwm_thiccboolet.zsc index 6539a1c9a..77814502d 100644 --- a/zscript/weapons/swwm_thiccboolet.zsc +++ b/zscript/weapons/swwm_thiccboolet.zsc @@ -748,12 +748,18 @@ Class SilverBullet : SWWMWeapon c.vel = x*FRandom[Junk](-.5,.5)+y*FRandom[Junk](4,8)-(0,0,FRandom[Junk](1,3)); c.vel += vel*.5; } + if ( !Demolitionist(self) || !(Demolitionist(self).mystats) || !swwm_nomapmsg ) return; invoker.wastecycle++; - if ( (invoker.wastecycle >= 5) && CheckLocalView() && !swwm_silveregg ) + let s = Demolitionist(self).mystats; + if ( s.silveregg < 13 ) { - CVar.GetCVar('swwm_silveregg').SetBool(true); - Console.MidPrint(null,"swwmsilverbulleteasteregg"); + if ( invoker.wastecycle < 5 ) return; + s.silveregg++; } + else return; + invoker.wastecycle = 0; + if ( (s.silveregg > 2) && (s.silveregg%2) && player == players[consoleplayer] ) + Console.MidPrint(null,"swwmsilverbulleteasteregg"..((s.silveregg-1)/2)); } action void A_DropMag() { @@ -869,6 +875,7 @@ Class SilverBullet : SWWMWeapon invoker.Ammo1.Amount = max(0,invoker.Ammo1.Amount-1); invoker.clipcount = invoker.default.clipcount; } + invoker.wastecycle = 0; } action void A_LoadMagAlt() { @@ -886,6 +893,7 @@ Class SilverBullet : SWWMWeapon invoker.Ammo2.Amount = max(0,invoker.Ammo2.Amount-1); invoker.clipcount = invoker.default.clipcount; } + invoker.wastecycle = 0; } override bool PickupForAmmoSWWM( SWWMWeapon ownedWeapon ) @@ -1126,6 +1134,7 @@ Class SilverBullet : SWWMWeapon else A_Overlay(layer,"ZoomBullet"); } } + if ( !invoker.chambered || invoker.fired ) invoker.wastecycle = 0; invoker.fired = false; invoker.chambered = (invoker.clipcount>0); if ( invoker.clipcount > 0 ) invoker.fcbchambered = invoker.fcbloaded; @@ -1156,6 +1165,7 @@ Class SilverBullet : SWWMWeapon else A_Overlay(layer,"Bullet"); } } + if ( !invoker.chambered || invoker.fired ) invoker.wastecycle = 0; invoker.fired = false; invoker.chambered = (invoker.clipcount>0); if ( invoker.clipcount > 0 ) invoker.fcbchambered = invoker.fcbloaded; @@ -1188,6 +1198,7 @@ Class SilverBullet : SWWMWeapon else A_Overlay(layer,"Bullet"); } } + if ( !invoker.chambered || invoker.fired ) invoker.wastecycle = 0; invoker.fired = false; invoker.chambered = (invoker.clipcount>0); if ( invoker.clipcount > 0 ) invoker.fcbchambered = invoker.fcbloaded;