From cb1690dabcb4ad00831207ccd89f9b499d8ade4b Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 31 Dec 2022 12:52:13 +0100 Subject: [PATCH] - moved all RR miscellaneous actors to a subfolder. --- .../redneck.redneck/rmapinfo.spawnclasses | 1 + .../redneck.ridesagain/rmapinfo.spawnclasses | 3 + .../redneck.route66/rmapinfo.spawnclasses | 1 + .../filter/redneck/rmapinfo.spawnclasses | 5 +- wadsrc/static/zscript.txt | 17 +- .../zscript/games/duke/actors/atomichealth.zs | 24 -- .../zscript/games/duke/actors/batteryammo.zs | 12 - .../zscript/games/duke/actors/bowling.zs | 13 - .../zscript/games/duke/actors/controllers.zs | 46 -- .../zscript/games/duke/actors/player.zs | 10 - .../zscript/games/duke/actors/powderkeg.zs | 39 -- .../games/duke/actors/redneckenemies.zs | 40 -- .../zscript/games/duke/actors/redneckmisc.zs | 49 --- .../duke/actors/redneckstuff/ambient_rr.zs | 22 + .../duke/actors/redneckstuff/ambient_rrra.zs | 9 + .../items.zs} | 404 +++++++++++------- .../games/duke/actors/redneckstuff/player.zs | 25 ++ .../games/duke/actors/redneckstuff/stuff.zs | 152 +++++++ .../zscript/games/duke/actors/sixpak.zs | 14 - 19 files changed, 467 insertions(+), 419 deletions(-) delete mode 100644 wadsrc/static/zscript/games/duke/actors/atomichealth.zs delete mode 100644 wadsrc/static/zscript/games/duke/actors/batteryammo.zs delete mode 100644 wadsrc/static/zscript/games/duke/actors/bowling.zs delete mode 100644 wadsrc/static/zscript/games/duke/actors/powderkeg.zs delete mode 100644 wadsrc/static/zscript/games/duke/actors/redneckenemies.zs delete mode 100644 wadsrc/static/zscript/games/duke/actors/redneckmisc.zs create mode 100644 wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rr.zs create mode 100644 wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rrra.zs rename wadsrc/static/zscript/games/duke/actors/{redneckitems.zs => redneckstuff/items.zs} (59%) create mode 100644 wadsrc/static/zscript/games/duke/actors/redneckstuff/player.zs create mode 100644 wadsrc/static/zscript/games/duke/actors/redneckstuff/stuff.zs delete mode 100644 wadsrc/static/zscript/games/duke/actors/sixpak.zs diff --git a/wadsrc/static/filter/redneck.redneck/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck.redneck/rmapinfo.spawnclasses index c6d9b178c..095c23ed3 100644 --- a/wadsrc/static/filter/redneck.redneck/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck.redneck/rmapinfo.spawnclasses @@ -9,4 +9,5 @@ spawnclasses 2654 = DukeGenericDestructible, noskill, "*RRTILE2654", "", "GLASS_BREAKING", spawnglass 2656 = DukeGenericDestructible, noskill, "*RRTILE2656", "", "GLASS_BREAKING", spawnglass 3172 = DukeGenericDestructible, noskill, "*RRTILE3172", "", "GLASS_BREAKING", spawnglass + 71 = RedneckSoundFX, noskill } diff --git a/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses index 97458b9df..62519a7ef 100644 --- a/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck.ridesagain/rmapinfo.spawnclasses @@ -57,6 +57,9 @@ spawnclasses 7233 = RedneckEmptyBoat, noskill 4352 = RedneckRASheriff 4357 = RedneckDeputy + 71 = RedneckRASoundFX + 7633 = RedneckBarrel + 7634 = RedneckBarrel2 7636 = DukeGenericDestructible, noskill, "OLDPHOTO0", "OLDPHOTO0BROKE", "VENT_BUST" 7638 = DukeGenericDestructible, noskill, "OLDPHOTO1", "OLDPHOTO1BROKE", "VENT_BUST" diff --git a/wadsrc/static/filter/redneck.route66/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck.route66/rmapinfo.spawnclasses index e9c62a57b..4b09fee9a 100644 --- a/wadsrc/static/filter/redneck.route66/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck.route66/rmapinfo.spawnclasses @@ -2,4 +2,5 @@ spawnclasses { 5015 = RedneckShitBoss 5980 = RedneckGator + 71 = RedneckSoundFX } diff --git a/wadsrc/static/filter/redneck/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck/rmapinfo.spawnclasses index 4724f60ce..0e9f18325 100644 --- a/wadsrc/static/filter/redneck/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck/rmapinfo.spawnclasses @@ -14,7 +14,6 @@ spawnclasses 18 = DukeTorchCtrl, noskill 35 = DukeLightningCtrl, noskill 68 = DukeShadeCtrl, noskill - 71 = DukeSoundFX, noskill 252 = RedneckUfoBeam, noskill 2586 = RedneckInvisible, noskill 3587 = RedneckLadder, noskill @@ -143,7 +142,6 @@ spawnclasses 55 = RedneckMoonshine 56 = RedneckSnorkel 57 = RedneckCowPie - 1350 = RedneckSixpack 21 = RedneckRevolver 22 = RedneckRiflegun 28 = RedneckShotgun @@ -360,14 +358,13 @@ spawnclasses 1764 = DukeShotSpark, noskill 2094 = RedneckTeslaBall, noskill 3395 = RedneckBuzzSaw, noskill - //3845 = RedneckPlayerPawn + 3845 = RedneckPlayerPawn, noskill 4983 = RedneckPigEat 2898 = RedneckBustaWin4a 2878 = RedneckBustaWin5a 2097 = RedneckTesla 1990 = RedneckTikilamp - 3845 = DukePlayerPawn, noskill 380 = RedneckWaterSurface, noskill } diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index 422a42a84..c6d1905bf 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -65,16 +65,6 @@ version "4.10" #include "zscript/games/duke/actors/player.zs" -#include "zscript/games/duke/actors/batteryammo.zs" -#include "zscript/games/duke/actors/sixpak.zs" -#include "zscript/games/duke/actors/atomichealth.zs" - -#include "zscript/games/duke/actors/powderkeg.zs" -#include "zscript/games/duke/actors/redneckmisc.zs" -#include "zscript/games/duke/actors/redneckitems.zs" -#include "zscript/games/duke/actors/redneckenemies.zs" -#include "zscript/games/duke/actors/bowling.zs" - #include "zscript/games/duke/actors/nwinter.zs" #include "zscript/games/duke/actors/dukecstuff/bloodpool.zs" @@ -205,6 +195,13 @@ version "4.10" #include "zscript/games/duke/actors/rrraenemies/rabbit.zs" #include "zscript/games/duke/actors/rrraenemies/rabbitspawner.zs" #include "zscript/games/duke/actors/rrraenemies/shootout.zs" + +#include "zscript/games/duke/actors/redneckstuff/ambient_rr.zs" +#include "zscript/games/duke/actors/redneckstuff/ambient_rrra.zs" +#include "zscript/games/duke/actors/redneckstuff/items.zs" +#include "zscript/games/duke/actors/redneckstuff/player.zs" +#include "zscript/games/duke/actors/redneckstuff/stuff.zs" + #include "zscript/games/duke/actors/redneckweapons/boatcannon.zs" #include "zscript/games/duke/actors/redneckweapons/crossbow.zs" #include "zscript/games/duke/actors/redneckweapons/ripsaw.zs" diff --git a/wadsrc/static/zscript/games/duke/actors/atomichealth.zs b/wadsrc/static/zscript/games/duke/actors/atomichealth.zs deleted file mode 100644 index c27f65287..000000000 --- a/wadsrc/static/zscript/games/duke/actors/atomichealth.zs +++ /dev/null @@ -1,24 +0,0 @@ -class RedneckGoogooCluster : DukeItemBase -{ - default - { - pic "ATOMICHEALTH"; - +FULLBRIGHT; - +BIGHEALTH; - +NOFLOORPAL; - } - - override void Initialize() - { - commonItemSetup((0.125, 0.125)); - self.cstat |= CSTAT_SPRITE_YCENTER; - } - - override bool animate(tspritetype t) - { - t.pos.Z -= 4; - return false; - } - -} - diff --git a/wadsrc/static/zscript/games/duke/actors/batteryammo.zs b/wadsrc/static/zscript/games/duke/actors/batteryammo.zs deleted file mode 100644 index e835756f7..000000000 --- a/wadsrc/static/zscript/games/duke/actors/batteryammo.zs +++ /dev/null @@ -1,12 +0,0 @@ -class RedneckRifleAmmo : DukeActor -{ - default - { - pic "BATTERYAMMO"; - } - - override void Initialize() - { - commonItemSetup((0.234375, 0.234375)); - } -} diff --git a/wadsrc/static/zscript/games/duke/actors/bowling.zs b/wadsrc/static/zscript/games/duke/actors/bowling.zs deleted file mode 100644 index 25581b354..000000000 --- a/wadsrc/static/zscript/games/duke/actors/bowling.zs +++ /dev/null @@ -1,13 +0,0 @@ - -class RedneckBowlingBallsprite : DukeActor -{ - default - { - pic "BOWLINGBALLSPRITE"; - } - - override void Initialize() - { - commonItemSetup((0.171875, 0.171875), -1, true); - } -} \ No newline at end of file diff --git a/wadsrc/static/zscript/games/duke/actors/controllers.zs b/wadsrc/static/zscript/games/duke/actors/controllers.zs index 3a2c5dc20..0dc0d9099 100644 --- a/wadsrc/static/zscript/games/duke/actors/controllers.zs +++ b/wadsrc/static/zscript/games/duke/actors/controllers.zs @@ -142,35 +142,6 @@ class DukeShadeCtrl : DukeActor } } -class DukeMinecartKiller : DukeActor -{ - default - { - +BADGUY; - } - override void StaticSetup() - { - self.cstat |= CSTAT_SPRITE_INVISIBLE; - } - // This has a CON scripted part. -} - -class DukeSoundFX : DukeActor -{ - override void StaticSetup() - { - self.cstat = CSTAT_SPRITE_INVISIBLE; - self.detail = dlevel.addambient(self.hitag, self.lotag); - self.lotag = self.hitag = 0; - } - - // this actor needs to start on STAT_DEFAULT. - override void Initialize() - { - self.ChangeStat(STAT_ZOMBIEACTOR); - } -} - class RedneckMinecartDef : DukeActor { } @@ -199,23 +170,6 @@ class RedneckKeyinfoSetter : DukeActor { } -class RedneckUfoBeam : DukeActor -{ - default - { - pic "UFOBEAM"; - +BADGUY; - ProjectileSpread 0; - } - - override bool animate(tspritetype t) - { - t.cstat |= CSTAT_SPRITE_INVISIBLE; - self.cstat |= CSTAT_SPRITE_INVISIBLE; - return true; - } -} - class RedneckInvisible : DukeActor { default diff --git a/wadsrc/static/zscript/games/duke/actors/player.zs b/wadsrc/static/zscript/games/duke/actors/player.zs index 6269978a2..3525d5e94 100644 --- a/wadsrc/static/zscript/games/duke/actors/player.zs +++ b/wadsrc/static/zscript/games/duke/actors/player.zs @@ -8,13 +8,3 @@ class DukePlayerBase : DukeActor } -class RedneckPlayerLyingDead : DukeActor -{ - override bool animate(tspritetype t) - { - t.scale = (0.375, 0.265625); - if (self.extra > 0) - t.pos.Z += 6; - return false; - } -} diff --git a/wadsrc/static/zscript/games/duke/actors/powderkeg.zs b/wadsrc/static/zscript/games/duke/actors/powderkeg.zs deleted file mode 100644 index 13b9dd51f..000000000 --- a/wadsrc/static/zscript/games/duke/actors/powderkeg.zs +++ /dev/null @@ -1,39 +0,0 @@ - -class RedneckPowderKeg : DukeItemBase -{ - default - { - pic "POWDERKEG"; - +NOFLOORPAL; - +EXPLOSIVE; - +DOUBLEDMGTHRUST; - +BREAKMIRRORS; - +INFLAME; - } - - override void Tick() - { - let sectp = self.sector; - if (sectp.lotag != ST_1_ABOVE_WATER && (!(ud.mapflags & MFLAG_ALLSECTORTYPES) && sectp.lotag != ST_160_FLOOR_TELEPORT)) - if (self.vel.X != 0) - { - movesprite((self.Angle.ToVector()* self.vel.X, self.vel.Z), CLIPMASK0); - self.vel.X -= 1. / 16.; - } - Super.Tick(); - } - - - override bool shootthis(DukeActor actor, DukePlayer p, Vector3 spos, double sang) const - { - let j = actor.spawn("RedneckPowderKeg"); - if (j) - { - j.vel.X = 2; - j.Angle = actor.Angle; - j.pos.Z -= 5; - } - return true; - } - -} diff --git a/wadsrc/static/zscript/games/duke/actors/redneckenemies.zs b/wadsrc/static/zscript/games/duke/actors/redneckenemies.zs deleted file mode 100644 index b60570523..000000000 --- a/wadsrc/static/zscript/games/duke/actors/redneckenemies.zs +++ /dev/null @@ -1,40 +0,0 @@ -class RedneckRock : DukeActor -{ - default - { - pic "ROCK"; - +INTERNAL_BADGUY; - } - override void Initialize() - { - self.scale = (1, 1); - self.setClipDistFromTile(); - } -} - -class RedneckRock2 : RedneckRock -{ - default - { - pic "ROCK2"; - +INTERNAL_BADGUY; - } -} - -class RedneckBoulder : DukeActor -{ - default - { - pic "BOULDER"; - +INTERNAL_BADGUY; - } -} - -class RedneckBoulder1 : DukeActor -{ - default - { - pic "BOULDER1"; - +INTERNAL_BADGUY; - } -} diff --git a/wadsrc/static/zscript/games/duke/actors/redneckmisc.zs b/wadsrc/static/zscript/games/duke/actors/redneckmisc.zs deleted file mode 100644 index 962dda903..000000000 --- a/wadsrc/static/zscript/games/duke/actors/redneckmisc.zs +++ /dev/null @@ -1,49 +0,0 @@ -class RedneckTeslaBall : DukeItemBase -{ - default - { - pic "TESLABALL"; - } -} - -class RedneckBustaWin5a : DukeItemBase -{ - default - { - pic "BUSTAWIN5A"; - } -} - -class RedneckBustaWin4a : DukeItemBase -{ - default - { - pic "BUSTAWIN4A"; - } -} - -class RedneckTesla : DukeItemBase -{ - default - { - pic "TESLA"; - +FULLBRIGHT - } -} - -class RedneckTikiLamp : DukeItemBase -{ - default - { - pic "TIKILAMP"; - +FULLBRIGHT - } -} - -class RedneckWaterSurface : DukeActor -{ - default - { - pic "WATERSURFACE"; - } -} \ No newline at end of file diff --git a/wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rr.zs b/wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rr.zs new file mode 100644 index 000000000..129a8880d --- /dev/null +++ b/wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rr.zs @@ -0,0 +1,22 @@ + +class RedneckSoundFX : DukeActor +{ + default + { + Strength 10; + } + + override void StaticSetup() + { + self.cstat = CSTAT_SPRITE_INVISIBLE; + self.detail = dlevel.addambient(self.hitag, self.lotag); + self.lotag = self.hitag = 0; + } + + // this actor needs to start on STAT_DEFAULT. + override void Initialize() + { + self.ChangeStat(STAT_ZOMBIEACTOR); + } + +} diff --git a/wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rrra.zs b/wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rrra.zs new file mode 100644 index 000000000..3851cf40e --- /dev/null +++ b/wadsrc/static/zscript/games/duke/actors/redneckstuff/ambient_rrra.zs @@ -0,0 +1,9 @@ +// This differs too much from RR's version. +class RedneckRASoundFX : RedneckSoundFX +{ + default + { + Strength 10; + } + +} \ No newline at end of file diff --git a/wadsrc/static/zscript/games/duke/actors/redneckitems.zs b/wadsrc/static/zscript/games/duke/actors/redneckstuff/items.zs similarity index 59% rename from wadsrc/static/zscript/games/duke/actors/redneckitems.zs rename to wadsrc/static/zscript/games/duke/actors/redneckstuff/items.zs index 7768f2895..45c8d08ac 100644 --- a/wadsrc/static/zscript/games/duke/actors/redneckitems.zs +++ b/wadsrc/static/zscript/games/duke/actors/redneckstuff/items.zs @@ -1,39 +1,24 @@ - -class RedneckChickenArrows : DukeItemBase +extend class DukeItemBase { - default - { - pic "RPG2SPRITE"; - } - - override void Initialize() - { - commonItemSetup((0.34375, 0.3125)); - } -} + const CASULAMMOAMOUNT = 6; + const SHOTGUNAMMOAMOUNT_RR = 10; + const RIFLEAMMOAMOUNT = 30; + const CROSSBOWAMMOBOX = 5; + const CHICKENBOWAMMOBOX = 5; + const ALIENBLASTERAMMOAMOUNT = 33; + const DYNAMITEBOX = 5; -class RedneckMotoAmmo : DukeItemBase -{ - default - { - pic "MOTOAMMO"; - } - override void Initialize() - { - commonItemSetup((0.359375, 0.359375)); - } -} + const MOONSHINE_AMOUNT = 400; + const SHIELD_AMOUNT = 100; + const SCUBA_AMOUNT = 6400; + const HEAT_AMOUNT = 1200; + const COWPIE_AMOUNT = 600; + const BEER_AMOUNT = 2400; + const WHISKEY_AMOUNT = MAXPLAYERHEALTH; + const BOOT_AMOUNT = 2000; + + const POWDERKEGBLASTRADIUS = 3880; -class RedneckBoatAmmo : DukeItemBase -{ - default - { - pic "BOATAMMO"; - } - override void Initialize() - { - commonItemSetup((0.359375, 0.359375)); - } } class RedneckMoonshine : DukeItemBase @@ -48,7 +33,37 @@ class RedneckMoonshine : DukeItemBase commonItemSetup((0.203125, 0.140625)); } } - +class RedneckHipWader : DukeItemBase +{ + default + { + pic "BOOTS"; + +INVENTORY; + } +} +class RedneckCowpie : DukeItemBase +{ + default + { + pic "COWPIE"; + +INVENTORY; + } + override void Initialize() + { + commonItemSetup((0.125, 0.09375)); + } +} +class RedneckBeer : DukeItemBase +{ + default + { + pic "BEER"; + } + override void Initialize() + { + commonItemSetup((0.078125, 0.0625)); + } +} class RedneckSnorkel : DukeItemBase { default @@ -62,109 +77,45 @@ class RedneckSnorkel : DukeItemBase commonItemSetup((0.296875, 0.25)); } } - -class RedneckCowpie : DukeItemBase +class RedneckDoorkey : DukeAccessCard +{ + override void Initialize() + { + super.Initialize(); + self.Scale = (0.171875, 0.1875); + } +} +class RedneckAmmo : DukeItemBase { default { - pic "COWPIE"; - +INVENTORY; + pic "AMMO"; } - override void Initialize() - { - commonItemSetup((0.125, 0.09375)); - } -} -class RedneckSixpack : DukeItemBase + override void Initialize() + { + commonItemSetup((0.140625, 0.140625)); + } + +} +class RedneckTitAmmo : DukeItemBase { default { - pic "HOLODUKE"; - +INVENTORY; + pic "TEATAMMO"; } } - -class RedneckRevolver : DukeItemBase +class RedneckSawAmmo : DukeItemBase { default { - pic "FIRSTGUNSPRITE"; + pic "SAWAMMO"; } override void Initialize() { - commonItemSetup(((0.25, 0.25))); + commonItemSetup((0.1875, 0.109375)); } } - -class RedneckRiflegun : DukeItemBase -{ - default - { - pic "RIFLEGUNSPRITE"; - } -} - -class RedneckShotgun : DukeItemBase -{ - default - { - pic "SHOTGUNSPRITE"; - } -} - -class RedneckCrossbow : DukeItemBase -{ - default - { - pic "CROSSBOWSPRITE"; - } - override void Initialize() - { - commonItemSetup((0.25, 0.21875)); - } - -} - -class RedneckRipsaw : DukeItemBase -{ - default - { - pic "RIPSAWSPRITE"; - } - - override void Initialize() - { - commonItemSetup((0.34375, 0.203125)); - } -} - -class RedneckTitgun : DukeItemBase -{ - default - { - pic "TITSPRITE"; - } - - override void Initialize() - { - commonItemSetup((0.265625, 0.25)); - } -} - -class RedneckBlaster : DukeItemBase -{ - default - { - pic "ALIENBLASTERSPRITE"; - } - - override void Initialize() - { - commonItemSetup((0.28125, 0.265625)); - } -} - class RedneckShotgunammo : DukeItemBase { default @@ -177,15 +128,31 @@ class RedneckShotgunammo : DukeItemBase if (Raze.isRRRA()) self.cstat = CSTAT_SPRITE_BLOCK_HITSCAN; } } - -class RedneckDynamiteAmmo : DukeItemBase + +class RedneckRifleAmmo : DukeItemBase { default { - pic "HBOMBAMMO"; + pic "BATTERYAMMO"; + } + + override void Initialize() + { + commonItemSetup((0.234375, 0.234375)); } } +class RedneckBlaster : DukeItemBase +{ + default + { + pic "ALIENBLASTERSPRITE"; + } + override void Initialize() + { + commonItemSetup((0.28125, 0.265625)); + } +} class RedneckBlasterammo : DukeItemBase { default @@ -198,41 +165,104 @@ class RedneckBlasterammo : DukeItemBase commonItemSetup((0.15625, 0.140625)); } } - -class RedneckHipWader : DukeItemBase -{ - default - { - pic "BOOTS"; - +INVENTORY; - } -} -class RedneckAmmo : DukeItemBase +class RedneckBowlingBallsprite : DukeItemBase { default { - pic "AMMO"; + pic "BOWLINGBALLSPRITE"; + strength BOWLINGBALL_WEAPON_STRENGTH; } override void Initialize() { - commonItemSetup((0.140625, 0.140625)); - } -} - -class RedneckBeer : DukeItemBase -{ - default - { - pic "BEER"; - } - override void Initialize() - { - commonItemSetup((0.078125, 0.0625)); + commonItemSetup((0.171875, 0.171875), -1, true); } } +class RedneckDynamiteAmmo : DukeItemBase +{ + default + { + pic "HBOMBAMMO"; + } +} +class RedneckCrossbow : DukeItemBase +{ + default + { + pic "CROSSBOWSPRITE"; + } + override void Initialize() + { + commonItemSetup((0.25, 0.21875)); + } +} +class RedneckShotgun : DukeItemBase +{ + default + { + pic "SHOTGUNSPRITE"; + } +} +class RedneckRipsaw : DukeItemBase +{ + default + { + pic "RIPSAWSPRITE"; + } + + override void Initialize() + { + commonItemSetup((0.34375, 0.203125)); + } +} +class RedneckTitgun : DukeItemBase +{ + default + { + pic "TITSPRITE"; + } + + override void Initialize() + { + commonItemSetup((0.265625, 0.25)); + } +} +class RedneckPorkRinds : DukeItemBase +{ + default + { + pic "SIXPAK"; + } + override void Initialize() + { + commonItemSetup((0.203125, 0.140625)); + if (Raze.isRRRA()) self.cstat = CSTAT_SPRITE_BLOCK_HITSCAN; + } +} +class RedneckGoogooCluster : DukeItemBase +{ + default + { + pic "ATOMICHEALTH"; + +FULLBRIGHT; + +BIGHEALTH; + +NOFLOORPAL; + } + + override void Initialize() + { + commonItemSetup((0.125, 0.125)); + self.cstat |= CSTAT_SPRITE_YCENTER; + } + + override bool animate(tspritetype t) + { + t.pos.Z -= 4; + return false; + } +} class RedneckWhiskey : DukeItemBase { default @@ -245,35 +275,93 @@ class RedneckWhiskey : DukeItemBase commonItemSetup((0.125, 0.125)); } } - -class RedneckSawAmmo : DukeItemBase +class RedneckRevolver : DukeItemBase { default { - pic "SAWAMMO"; + pic "FIRSTGUNSPRITE"; } override void Initialize() { - commonItemSetup((0.1875, 0.109375)); + commonItemSetup(((0.25, 0.25))); } } - -class RedneckTitAmmo : DukeItemBase +class RedneckPowderKeg : DukeItemBase { default { - pic "TEATAMMO"; + pic "POWDERKEG"; + +NOFLOORPAL; + +EXPLOSIVE; + +DOUBLEDMGTHRUST; + +BREAKMIRRORS; + +INFLAME; + } + + override void Tick() + { + let sectp = self.sector; + if (sectp.lotag != ST_1_ABOVE_WATER && (!(ud.mapflags & MFLAG_ALLSECTORTYPES) && sectp.lotag != ST_160_FLOOR_TELEPORT)) + if (self.vel.X != 0) + { + movesprite((self.Angle.ToVector()* self.vel.X, self.vel.Z), CLIPMASK0); + self.vel.X -= 1. / 16.; + } + Super.Tick(); + } + + + override bool shootthis(DukeActor actor, DukePlayer p, Vector3 spos, double sang) const + { + let j = actor.spawn("RedneckPowderKeg"); + if (j) + { + j.vel.X = 2; + j.Angle = actor.Angle; + j.pos.Z -= 5; + } + return true; + } +} +class RedneckRiflegun : DukeItemBase +{ + default + { + pic "RIFLEGUNSPRITE"; } } - -class RedneckDoorkey : DukeAccessCard +class RedneckMotoAmmo : DukeItemBase { + default + { + pic "MOTOAMMO"; + } override void Initialize() { - super.Initialize(); - self.Scale = (0.171875, 0.1875); + commonItemSetup((0.359375, 0.359375)); } } +class RedneckBoatAmmo : DukeItemBase +{ + default + { + pic "BOATAMMO"; + } + override void Initialize() + { + commonItemSetup((0.359375, 0.359375)); + } +} +class RedneckChickenArrows : DukeItemBase +{ + default + { + pic "RPG2SPRITE"; + } - \ No newline at end of file + override void Initialize() + { + commonItemSetup((0.34375, 0.3125)); + } +} diff --git a/wadsrc/static/zscript/games/duke/actors/redneckstuff/player.zs b/wadsrc/static/zscript/games/duke/actors/redneckstuff/player.zs new file mode 100644 index 000000000..42d48ec9e --- /dev/null +++ b/wadsrc/static/zscript/games/duke/actors/redneckstuff/player.zs @@ -0,0 +1,25 @@ +class RedneckPlayerPawn : DukePlayerBase +{ + default + { + +DESTRUCTOIMMUNE; + Strength MAXPLAYERHEALTH; + } +} + +class RedneckPlayerLyingDead : DukeActor // LNRDLYINGDEAD (3998) +{ + default + { + Strength 0; + action "PLYINGFRAMES", 0, 1, 0, 1, 1; + StartAction "PLYINGFRAMES"; + } + override bool animate(tspritetype t) + { + t.scale = (0.375, 0.265625); + if (self.extra > 0) + t.pos.Z += 6; + return false; + } +} diff --git a/wadsrc/static/zscript/games/duke/actors/redneckstuff/stuff.zs b/wadsrc/static/zscript/games/duke/actors/redneckstuff/stuff.zs new file mode 100644 index 000000000..6b3ee61d6 --- /dev/null +++ b/wadsrc/static/zscript/games/duke/actors/redneckstuff/stuff.zs @@ -0,0 +1,152 @@ +class RedneckRock : DukeActor +{ + default + { + pic "ROCK"; + +INTERNAL_BADGUY; + Strength 200; + } + override void Initialize() + { + self.scale = (1, 1); + self.setClipDistFromTile(); + } + +} + +class RedneckRock2 : DukeActor +{ + default + { + pic "ROCK2"; + +INTERNAL_BADGUY; + Strength 200; + } +} + +class RedneckBoulder : DukeActor +{ + default + { + pic "BOULDER"; + +INTERNAL_BADGUY; + } +} + +class RedneckBoulder1 : DukeActor +{ + default + { + pic "BOULDER1"; + +INTERNAL_BADGUY; + } +} + +class RedneckTeslaBall : DukeItemBase +{ + default + { + Strength MORTER_WEAPON_STRENGTH; + pic "TESLABALL"; + } +} + +class RedneckTesla : DukeItemBase +{ + default + { + pic "TESLA"; + +FULLBRIGHT + } + +} + + +class RedneckUfoBeam : DukeActor +{ + default + { + pic "UFOBEAM"; + +BADGUY; + ProjectileSpread 0; + Strength 100; + } + + override bool animate(tspritetype t) + { + t.cstat |= CSTAT_SPRITE_INVISIBLE; + self.cstat |= CSTAT_SPRITE_INVISIBLE; + return true; + } +} + +class RedneckTikiLamp : DukeItemBase +{ + default + { + pic "TIKILAMP"; + +FULLBRIGHT + Strength REALLYTOUGH; + } +} + +class DukeMinecartKiller : DukeActor +{ + default + { + +BADGUY; + Strength MEGASTRENGTH; + } + override void StaticSetup() + { + self.cstat |= CSTAT_SPRITE_INVISIBLE; + } + +} + + +class RedneckBustaWin4a : DukeItemBase +{ + default + { + pic "BUSTAWIN4A"; + Strength WEAK; + } +} + +class RedneckBustaWin5a : DukeItemBase +{ + default + { + pic "BUSTAWIN5A"; + Strength WEAK; + } + +} + +class RedneckBarrel : DukeActor +{ + const POWDERKEGBLASTRADIUS = 3880; + const POWDERKEG_STRENGTH = 100; + + default + { + spriteset "BARREL", "BARRELBROKE"; + } +} +class RedneckBarrel2 : RedneckBarrel +{ + default + { + spriteset "BARREL2", "BARREL2BROKE"; + } +} + + +class RedneckWaterSurface : DukeActor +{ + default + { + pic "WATERSURFACE"; + } +} diff --git a/wadsrc/static/zscript/games/duke/actors/sixpak.zs b/wadsrc/static/zscript/games/duke/actors/sixpak.zs deleted file mode 100644 index a41a2fe00..000000000 --- a/wadsrc/static/zscript/games/duke/actors/sixpak.zs +++ /dev/null @@ -1,14 +0,0 @@ -class RedneckPorkRinds : DukeItemBase -{ - default - { - pic "SIXPAK"; - } - - override void Initialize() - { - commonItemSetup((0.203125, 0.140625)); - if (Raze.isRRRA()) self.cstat = CSTAT_SPRITE_BLOCK_HITSCAN; - } -} -