From b4d1c05e28adc51fbdc23bee0e53497a3237fc65 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Fri, 28 Oct 2022 17:36:03 +0200 Subject: [PATCH] Some stuff that was missed. Also, fuck Hexen. --- .../zscript/items/swwm_armor_filtered.zsc | 57 +++++++++++++++++++ language.version | 4 +- menudef.txt | 8 +-- zscript.txt | 1 + zscript/handler/swwm_handler_worldthings.zsc | 2 +- zscript/items/swwm_armor.zsc | 50 ---------------- zscript/items/swwm_armor_filtered.zsc | 55 ++++++++++++++++++ zscript/items/swwm_baseitem.zsc | 2 +- zscript/items/swwm_powerups.zsc | 2 +- zscript/swwm_common_fx.zsc | 1 - zscript/weapons/swwm_baseweapon.zsc | 4 +- zscript/weapons/swwm_splode.zsc | 2 +- 12 files changed, 125 insertions(+), 63 deletions(-) create mode 100644 filter/game-hexen/zscript/items/swwm_armor_filtered.zsc create mode 100644 zscript/items/swwm_armor_filtered.zsc diff --git a/filter/game-hexen/zscript/items/swwm_armor_filtered.zsc b/filter/game-hexen/zscript/items/swwm_armor_filtered.zsc new file mode 100644 index 000000000..397037e5b --- /dev/null +++ b/filter/game-hexen/zscript/items/swwm_armor_filtered.zsc @@ -0,0 +1,57 @@ +// In Hexen, armors have +NOGRAVITY as a default flag +// unfortunately there is no better way to do that than to +// duplicate this whole file and putting it in a filter + +Class BlastSuitItem : SWWMSpareArmor +{ + override Inventory CreateCopy( Actor other ) + { + // additional lore + SWWMLoreLibrary.Add(other.player,"BlastSuit"); + return Super.CreateCopy(other); + } + Default + { + Tag "$T_BLASTSUIT"; + Stamina 40000; + Inventory.Icon "graphics/HUD/Icons/I_BlastSuit.png"; + Inventory.PickupMessage "$T_BLASTSUIT"; + Inventory.UseSound "armor/blastsuit"; + Inventory.RestrictedTo "Demolitionist"; + SWWMSpareArmor.GiveArmor "BlastSuit"; + +NOGRAVITY; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} + +Class WarArmorItem : SWWMSpareArmor +{ + override Inventory CreateCopy( Actor other ) + { + // additional lore + SWWMLoreLibrary.Add(other.player,"WarArmor"); + return Super.CreateCopy(other); + } + Default + { + Tag "$T_WARARMOR"; + Stamina 100000; + Inventory.Icon "graphics/HUD/Icons/I_WarArmor.png"; + Inventory.PickupMessage "$T_WARARMOR"; + Inventory.UseSound "armor/wararmor"; + Inventory.RestrictedTo "Demolitionist"; + SWWMSpareArmor.GiveArmor "WarArmor"; + +NOGRAVITY; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} diff --git a/language.version b/language.version index 8ccd8dac8..b055e5b9a 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r593 \cu(Fri 28 Oct 16:49:14 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r593 \cu(2022-10-28 16:49:14)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r594 \cu(Fri 28 Oct 17:36:03 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r594 \cu(2022-10-28 17:36:03)\c-"; diff --git a/menudef.txt b/menudef.txt index 1da056e06..ce2613a0f 100644 --- a/menudef.txt +++ b/menudef.txt @@ -177,10 +177,10 @@ OptionMenu "SWWMOptionMenu" StaticText "$SWWM_ETITLE", 1 Option "$SWWM_BLOOD", "swwm_blood", "YesNo" Option "$SWWM_NOMAGDROP", "swwm_nomagdrop", "NoYes" - ScaleSlider "$SWWM_MAXBLOOD", "swwm_maxblood", -1, 1000, 1, "$SWWM_NONE", "$SWWM_UNLIMITED" - ScaleSlider "$SWWM_MAXGIBS", "swwm_maxgibs", -1, 1000, 1, "$SWWM_NONE", "$SWWM_UNLIMITED" - ScaleSlider "$SWWM_MAXCASINGS", "swwm_maxcasings", -1, 1000, 1, "$SWWM_NONE", "$SWWM_UNLIMITED" - ScaleSlider "$SWWM_MAXDEBRIS", "swwm_maxdebris", -1, 1000, 1, "$SWWM_NONE", "$SWWM_UNLIMITED" + ScaleSliderFix "$SWWM_MAXBLOOD", "swwm_maxblood", -1, 1000, 100, "$SWWM_NONE", "$SWWM_UNLIMITED" + ScaleSliderFix "$SWWM_MAXGIBS", "swwm_maxgibs", -1, 1000, 100, "$SWWM_NONE", "$SWWM_UNLIMITED" + ScaleSliderFix "$SWWM_MAXCASINGS", "swwm_maxcasings", -1, 1000, 100, "$SWWM_NONE", "$SWWM_UNLIMITED" + ScaleSliderFix "$SWWM_MAXDEBRIS", "swwm_maxdebris", -1, 1000, 100, "$SWWM_NONE", "$SWWM_UNLIMITED" SafeCommand "$SWWM_CLEARFX", "netevent swwmcleareffects" StaticText " " StaticText "$SWWM_FTITLE", 1 diff --git a/zscript.txt b/zscript.txt index 3f2badc8a..92dfe5d89 100644 --- a/zscript.txt +++ b/zscript.txt @@ -87,6 +87,7 @@ version "4.9" #include "zscript/items/swwm_baseammo.zsc" #include "zscript/items/swwm_health.zsc" #include "zscript/items/swwm_armor.zsc" +#include "zscript/items/swwm_armor_filtered.zsc" // Hexen fuckery #include "zscript/items/swwm_powerups.zsc" #include "zscript/items/swwm_ammoitems.zsc" #include "zscript/items/swwm_ammoextra.zsc" diff --git a/zscript/handler/swwm_handler_worldthings.zsc b/zscript/handler/swwm_handler_worldthings.zsc index b898e1132..bb57c63b6 100644 --- a/zscript/handler/swwm_handler_worldthings.zsc +++ b/zscript/handler/swwm_handler_worldthings.zsc @@ -271,7 +271,7 @@ extend Class SWWMHandler CopyFloatBob(e.Thing); if ( Inventory(e.Thing).PickupFlash is 'SWWMPickupFlash' ) { - let p = Actor.Spawn(Inventory(e.Thing).PickupFlash,e.Thing.Vec3Offset(0,0,16)); + let p = Actor.Spawn(Inventory(e.Thing).PickupFlash,e.Thing.pos); p.target = e.Thing; p.SetStateLabel("Pickup"); } diff --git a/zscript/items/swwm_armor.zsc b/zscript/items/swwm_armor.zsc index b428b09c2..d559f544e 100644 --- a/zscript/items/swwm_armor.zsc +++ b/zscript/items/swwm_armor.zsc @@ -91,31 +91,6 @@ Class BlastSuit : SWWMArmor return int(ceil(damage*factor)); } } -Class BlastSuitItem : SWWMSpareArmor -{ - override Inventory CreateCopy( Actor other ) - { - // additional lore - SWWMLoreLibrary.Add(other.player,"BlastSuit"); - return Super.CreateCopy(other); - } - Default - { - Tag "$T_BLASTSUIT"; - Stamina 40000; - Inventory.Icon "graphics/HUD/Icons/I_BlastSuit.png"; - Inventory.PickupMessage "$T_BLASTSUIT"; - Inventory.UseSound "armor/blastsuit"; - Inventory.RestrictedTo "Demolitionist"; - SWWMSpareArmor.GiveArmor "BlastSuit"; - } - States - { - Spawn: - XZW1 A -1; - Stop; - } -} Class WarArmor : SWWMArmor { @@ -141,28 +116,3 @@ Class WarArmor : SWWMArmor return int(ceil(damage*factor)); } } -Class WarArmorItem : SWWMSpareArmor -{ - override Inventory CreateCopy( Actor other ) - { - // additional lore - SWWMLoreLibrary.Add(other.player,"WarArmor"); - return Super.CreateCopy(other); - } - Default - { - Tag "$T_WARARMOR"; - Stamina 100000; - Inventory.Icon "graphics/HUD/Icons/I_WarArmor.png"; - Inventory.PickupMessage "$T_WARARMOR"; - Inventory.UseSound "armor/wararmor"; - Inventory.RestrictedTo "Demolitionist"; - SWWMSpareArmor.GiveArmor "WarArmor"; - } - States - { - Spawn: - XZW1 A -1; - Stop; - } -} diff --git a/zscript/items/swwm_armor_filtered.zsc b/zscript/items/swwm_armor_filtered.zsc new file mode 100644 index 000000000..e8bb5ade4 --- /dev/null +++ b/zscript/items/swwm_armor_filtered.zsc @@ -0,0 +1,55 @@ +// In Hexen, armors have +NOGRAVITY as a default flag +// unfortunately there is no better way to do that than to +// duplicate this whole file and putting it in a filter + +Class BlastSuitItem : SWWMSpareArmor +{ + override Inventory CreateCopy( Actor other ) + { + // additional lore + SWWMLoreLibrary.Add(other.player,"BlastSuit"); + return Super.CreateCopy(other); + } + Default + { + Tag "$T_BLASTSUIT"; + Stamina 40000; + Inventory.Icon "graphics/HUD/Icons/I_BlastSuit.png"; + Inventory.PickupMessage "$T_BLASTSUIT"; + Inventory.UseSound "armor/blastsuit"; + Inventory.RestrictedTo "Demolitionist"; + SWWMSpareArmor.GiveArmor "BlastSuit"; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} + +Class WarArmorItem : SWWMSpareArmor +{ + override Inventory CreateCopy( Actor other ) + { + // additional lore + SWWMLoreLibrary.Add(other.player,"WarArmor"); + return Super.CreateCopy(other); + } + Default + { + Tag "$T_WARARMOR"; + Stamina 100000; + Inventory.Icon "graphics/HUD/Icons/I_WarArmor.png"; + Inventory.PickupMessage "$T_WARARMOR"; + Inventory.UseSound "armor/wararmor"; + Inventory.RestrictedTo "Demolitionist"; + SWWMSpareArmor.GiveArmor "WarArmor"; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} diff --git a/zscript/items/swwm_baseitem.zsc b/zscript/items/swwm_baseitem.zsc index 086ab0ea3..eab19e972 100644 --- a/zscript/items/swwm_baseitem.zsc +++ b/zscript/items/swwm_baseitem.zsc @@ -166,7 +166,7 @@ Mixin Class SWWMPickupGlow // reattach our glow if we became a pickup if ( (ret == self) && (PickupFlash is 'SWWMPickupFlash') ) { - let p = Spawn(PickupFlash,Vec3Offset(0,0,16)); + let p = Spawn(PickupFlash,pos); p.target = self; p.SetStateLabel("Pickup"); } diff --git a/zscript/items/swwm_powerups.zsc b/zscript/items/swwm_powerups.zsc index e5f71c098..cdb1e3e16 100644 --- a/zscript/items/swwm_powerups.zsc +++ b/zscript/items/swwm_powerups.zsc @@ -2965,7 +2965,7 @@ Class SafetyTether : Inventory // reattach our glow if we became a pickup if ( (ret == self) && (PickupFlash is 'SWWMPickupFlash') ) { - let p = Spawn(PickupFlash,Vec3Offset(0,0,16)); + let p = Spawn(PickupFlash,pos); p.target = self; p.SetStateLabel("Pickup"); } diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index aca764da9..9826b4f05 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -1245,7 +1245,6 @@ Class SWWMShadow : SWWMNonInteractiveActor double relz = target.pos.z-pos.z; if ( target.bFLOATBOB ) relz += target.GetBobOffset(); double bscale = (target.radius/16.)*(1.-min(1.,.003*relz)); - if ( target is 'CompanionLamp' ) bscale *= 2.; // hax A_SetScale(bscale); } // update position diff --git a/zscript/weapons/swwm_baseweapon.zsc b/zscript/weapons/swwm_baseweapon.zsc index f856d270a..767167afe 100644 --- a/zscript/weapons/swwm_baseweapon.zsc +++ b/zscript/weapons/swwm_baseweapon.zsc @@ -611,7 +611,7 @@ Class SWWMWeapon : Weapon abstract // reattach our glow if we became a pickup if ( (ret == self) && (PickupFlash is 'SWWMPickupFlash') ) { - let p = Spawn(PickupFlash,Vec3Offset(0,0,16)); + let p = Spawn(PickupFlash,pos); p.target = self; p.SetStateLabel("Pickup"); } @@ -796,7 +796,7 @@ Class SWWMDualWeaponGiver : Inventory // don't forget to reattach its glow if ( giveme[0].PickupFlash is 'SWWMPickupFlash' ) { - let p = Spawn(giveme[0].PickupFlash,giveme[0].Vec3Offset(0,0,16)); + let p = Spawn(giveme[0].PickupFlash,giveme[0].pos); p.target = giveme[0]; p.SetStateLabel("Pickup"); } diff --git a/zscript/weapons/swwm_splode.zsc b/zscript/weapons/swwm_splode.zsc index 999042e47..da7c867e8 100644 --- a/zscript/weapons/swwm_splode.zsc +++ b/zscript/weapons/swwm_splode.zsc @@ -252,7 +252,7 @@ Class ExplodiumGun : SWWMWeapon // reattach our glow if we became a pickup if ( PickupFlash is 'SWWMPickupFlash' ) { - let p = Spawn(PickupFlash,Vec3Offset(0,0,16)); + let p = Spawn(PickupFlash,pos); p.target = self; p.SetStateLabel("Pickup"); }