diff --git a/source/games/duke/src/flags_r.cpp b/source/games/duke/src/flags_r.cpp index f254aa768..c505d8faf 100644 --- a/source/games/duke/src/flags_r.cpp +++ b/source/games/duke/src/flags_r.cpp @@ -101,7 +101,6 @@ void initactorflags_r() gs.actorinfo[RTILE_VIXEN].flags |= SFLAG_NOCANSEECHECK; if (isRRRA()) { - setflag(SFLAG_KILLCOUNT, { RTILE_ROCK, RTILE_ROCK2 }); //??? setflag(SFLAG_NODAMAGEPUSH, { RTILE_HULK, RTILE_MAMA, RTILE_BILLYPLAY, RTILE_COOTPLAY, RTILE_MAMACLOUD }); setflag(SFLAG_NOCANSEECHECK, { RTILE_COOT, RTILE_COOTSTAYPUT, RTILE_BIKERB, RTILE_BIKERBV2, RTILE_CHEER, RTILE_CHEERB, RTILE_CHEERSTAYPUT, RTILE_MINIONBOAT, RTILE_HULKBOAT, RTILE_CHEERBOAT, RTILE_RABBIT, RTILE_COOTPLAY, RTILE_BILLYPLAY, RTILE_MAKEOUT, RTILE_MAMA }); @@ -249,6 +248,10 @@ void initactorflags_r() gs.actorinfo[RTILE_RPG2].flags |= SFLAG_FORCEAUTOAIM; + // clear some bad killcount defaults + for (auto t : { RTILE_COW, RTILE_HEN, RTILE_PIG, RTILE_MINECARTKILLER, RTILE_UFOBEAM }) gs.actorinfo[t].flags &= ~SFLAG_KILLCOUNT; + if (isRRRA()) gs.actorinfo[RTILE_WACOWINDER].flags &= ~SFLAG_KILLCOUNT; + gs.weaponsandammosprites[0] = RTILE_CROSSBOWSPRITE; gs.weaponsandammosprites[1] = RTILE_RIFLEGUNSPRITE; gs.weaponsandammosprites[2] = RTILE_DEVISTATORAMMO; diff --git a/source/games/duke/src/namelist_r.h b/source/games/duke/src/namelist_r.h index 43cecf2c2..54c8caeed 100644 --- a/source/games/duke/src/namelist_r.h +++ b/source/games/duke/src/namelist_r.h @@ -50,7 +50,7 @@ y(RRTILE63, 63) y(RRMINECART, 64) y(RRMINECARTSOUND, 65) y(RRMINECARTINNER, 66) -y(DUMMYCTRL, 67) +y(MINECARTKILLER, 67) y(SHADEDSECTORCTRL, 68) x(MIRRORBROKE, 70) x(SOUNDFX, 71) @@ -1547,6 +1547,7 @@ x(RABBITJIBC, 7397) x(RRRABORDER, 7629) x(ROCK, 8035) x(ROCK2, 8036) +x(WACOWINDER, 8612) x(LEVELMAP01, 8624) x(LEVELMAP02, 8625) x(LEVELMAP03, 8626) diff --git a/wadsrc/static/filter/redneck/rmapinfo.spawnclasses b/wadsrc/static/filter/redneck/rmapinfo.spawnclasses index 97f336673..c823045d8 100644 --- a/wadsrc/static/filter/redneck/rmapinfo.spawnclasses +++ b/wadsrc/static/filter/redneck/rmapinfo.spawnclasses @@ -14,7 +14,7 @@ spawnclasses 18 = DukeTorchCtrl 35 = DukeLightningCtrl 68 = DukeShadeCtrl - 67 = DukeDummyCtrl + 67 = DukeMinecartKiller 71 = DukeSoundFX 64 = RedneckMinecartDef diff --git a/wadsrc/static/zscript/games/duke/actors/controllers.zs b/wadsrc/static/zscript/games/duke/actors/controllers.zs index 5fda448d6..2894968db 100644 --- a/wadsrc/static/zscript/games/duke/actors/controllers.zs +++ b/wadsrc/static/zscript/games/duke/actors/controllers.zs @@ -142,12 +142,13 @@ class DukeShadeCtrl : DukeActor } } -class DukeDummyCtrl : DukeActor +class DukeMinecartKiller : DukeActor { override void StaticSetup() { self.cstat |= CSTAT_SPRITE_INVISIBLE; } + // This has a CON scripted part. } class DukeSoundFX : DukeActor