From cfa18952d1ecc9960dba0328a9510eac7ad42682 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers <coelckers@users.noreply.github.com> Date: Fri, 16 Dec 2022 12:47:30 +0100 Subject: [PATCH] - deleted the native flag setter code. --- source/games/duke/src/flags_d.cpp | 205 ------------------------------ source/games/duke/src/flags_r.cpp | 182 -------------------------- 2 files changed, 387 deletions(-) diff --git a/source/games/duke/src/flags_d.cpp b/source/games/duke/src/flags_d.cpp index ea650ea32..4b4a35aef 100644 --- a/source/games/duke/src/flags_d.cpp +++ b/source/games/duke/src/flags_d.cpp @@ -49,211 +49,6 @@ void initactorflags_d() gs.actorinfo[DTILE_OCTABRAIN].falladjustz = gs.actorinfo[DTILE_COMMANDER].falladjustz = gs.actorinfo[DTILE_DRONE].falladjustz = 0; - setflag(SFLAG_INTERNAL_BADGUY | SFLAG_KILLCOUNT, { - DTILE_RECON, - DTILE_DRONE, - DTILE_LIZTROOPONTOILET, - DTILE_LIZTROOPJUSTSIT, - DTILE_LIZTROOPSTAYPUT, - DTILE_LIZTROOPSHOOT, - DTILE_LIZTROOPJETPACK, - DTILE_LIZTROOPDUCKING, - DTILE_LIZTROOPRUNNING, - DTILE_LIZTROOP, - DTILE_OCTABRAIN, - DTILE_COMMANDER, - DTILE_COMMANDERSTAYPUT, - DTILE_PIGCOP, - DTILE_EGG, - DTILE_PIGCOPSTAYPUT, - DTILE_PIGCOPDIVE, - DTILE_LIZMAN, - DTILE_LIZMANSPITTING, - DTILE_LIZMANFEEDING, - DTILE_LIZMANJUMP, - DTILE_ORGANTIC, - DTILE_BOSS1, - DTILE_BOSS2, - DTILE_BOSS3, - DTILE_BOSS4, - DTILE_GREENSLIME, - DTILE_RAT, - DTILE_ROTATEGUN }); - - // non-STAT_ACTOR classes that need CON support. For compatibility this must be explicitly enabled. - setflag(SFLAG3_FORCERUNCON, { - DTILE_EXPLODINGBARREL, - DTILE_WOODENHORSE, - DTILE_HORSEONSIDE, - DTILE_FLOORFLAME, - DTILE_FIREBARREL, - DTILE_FIREVASE, - DTILE_NUKEBARREL, - DTILE_NUKEBARRELDENTED, - DTILE_NUKEBARRELLEAKED, - DTILE_TOILETWATER, - DTILE_RUBBERCAN, - DTILE_STEAM, - DTILE_CEILINGSTEAM, - DTILE_WATERBUBBLEMAKER, - DTILE_SHOTSPARK1, - DTILE_BURNING, - DTILE_BURNING2, - DTILE_FECES, - DTILE_WATERBUBBLE, - DTILE_SMALLSMOKE, - DTILE_EXPLOSION2, - DTILE_SHRINKEREXPLOSION, - DTILE_EXPLOSION2BOT, - DTILE_BLOOD, - DTILE_LASERSITE, - DTILE_FORCERIPPLE, - DTILE_TRANSPORTERSTAR, - DTILE_TRANSPORTERBEAM - }); - // Some flags taken from RedNukem's init code. This is a good start as any to reduce the insane dependency on tile numbers for making decisions in the play code. A lot more will be added here later. - setflag(SFLAG2_NODAMAGEPUSH, { DTILE_TANK, DTILE_BOSS1, DTILE_BOSS2, DTILE_BOSS3, DTILE_BOSS4, DTILE_RECON, DTILE_ROTATEGUN }); - setflag(SFLAG_BOSS, { DTILE_BOSS1, DTILE_BOSS2, DTILE_BOSS3, DTILE_BOSS4, DTILE_BOSS4STAYPUT, DTILE_BOSS1STAYPUT }); - if (isWorldTour()) setflag(SFLAG_BOSS, { DTILE_BOSS2STAYPUT, DTILE_BOSS3STAYPUT, DTILE_BOSS5, DTILE_BOSS5STAYPUT }); - setflag(SFLAG_NOWATERDIP, { DTILE_OCTABRAIN, DTILE_COMMANDER, DTILE_DRONE }); - setflag(SFLAG_GREENSLIMEFOOD, { DTILE_LIZTROOP, DTILE_LIZMAN, DTILE_PIGCOP, DTILE_NEWBEAST }); - setflag(SFLAG_NOINTERPOLATE, { DTILE_CRANEPOLE }); - setflag(SFLAG_FLAMMABLEPOOLEFFECT, { DTILE_TIRE }); - setflag(SFLAG_FALLINGFLAMMABLE, { DTILE_BOX }); - setflag(SFLAG_INFLAME, { DTILE_RADIUSEXPLOSION, DTILE_RPG, DTILE_FIRELASER, DTILE_HYDRENT, DTILE_HEAVYHBOMB }); - setflag(SFLAG_NOFLOORFIRE, { DTILE_TREE1, DTILE_TREE2 }); - setflag(SFLAG_HITRADIUS_FLAG1, { DTILE_BOX, DTILE_TREE1, DTILE_TREE2, DTILE_TIRE, DTILE_CONE }); - setflag(SFLAG_HITRADIUS_FLAG2, { DTILE_TRIPBOMB, DTILE_QUEBALL, DTILE_STRIPEBALL, DTILE_DUKELYINGDEAD }); - setflag(SFLAG_CHECKSLEEP, { DTILE_RUBBERCAN, DTILE_EXPLODINGBARREL, DTILE_WOODENHORSE, DTILE_HORSEONSIDE, DTILE_CANWITHSOMETHING, DTILE_FIREBARREL, DTILE_NUKEBARREL, DTILE_NUKEBARRELDENTED, DTILE_NUKEBARRELLEAKED, DTILE_TRIPBOMB }); - setflag(SFLAG_NOTELEPORT, { DTILE_TRANSPORTERSTAR, DTILE_TRANSPORTERBEAM, DTILE_TRIPBOMB, DTILE_BULLETHOLE, DTILE_WATERSPLASH2, DTILE_BURNING, DTILE_BURNING2, DTILE_FIRE, DTILE_FIRE2, DTILE_TOILETWATER, DTILE_LASERLINE }); - setflag(SFLAG_SE24_NOCARRY, { DTILE_TRIPBOMB, DTILE_LASERLINE, DTILE_BOLT1, DTILE_BOLT2, DTILE_BOLT3, DTILE_BOLT4, DTILE_SIDEBOLT1, DTILE_SIDEBOLT2, DTILE_SIDEBOLT3, DTILE_SIDEBOLT4, DTILE_CRANE, DTILE_BARBROKE }); - setflag(SFLAG_SE24_REMOVE, { DTILE_BLOODPOOL, DTILE_PUKE, DTILE_FOOTPRINTS, DTILE_FOOTPRINTS2, DTILE_FOOTPRINTS3, DTILE_FOOTPRINTS4, DTILE_BULLETHOLE, DTILE_BLOODSPLAT1, DTILE_BLOODSPLAT2, DTILE_BLOODSPLAT3, DTILE_BLOODSPLAT4 }); - setflag(SFLAG_BLOCK_TRIPBOMB, { DTILE_TRIPBOMB }); // making this a flag adds the option to let other things block placing trip bombs as well. - setflag(SFLAG_NOFALLER, { DTILE_SPEAKER, DTILE_CRACK1, DTILE_CRACK2, DTILE_CRACK3, DTILE_CRACK4, DTILE_SPEAKER, DTILE_LETTER, DTILE_DUCK, DTILE_TARGET, DTILE_TRIPBOMB, DTILE_VIEWSCREEN, DTILE_VIEWSCREEN2 }); - setflag(SFLAG2_NOROTATEWITHSECTOR, { DTILE_LASERLINE }); - setflag(SFLAG2_SHOWWALLSPRITEONMAP, { DTILE_LASERLINE }); - setflag(SFLAG2_NOFLOORPAL, { - DTILE_TRIPBOMB, - DTILE_LASERLINE, - DTILE_FORCESPHERE, - DTILE_BURNING, - DTILE_BURNING2, - DTILE_ATOMICHEALTH, - DTILE_CRYSTALAMMO, - DTILE_VIEWSCREEN, - DTILE_VIEWSCREEN2, - DTILE_SHRINKSPARK, - DTILE_GROWSPARK, - DTILE_RPG, - DTILE_WATERBUBBLE, - DTILE_RECON }); - - setflag(SFLAG2_EXPLOSIVE, { DTILE_FIREEXT, DTILE_RPG, DTILE_RADIUSEXPLOSION, DTILE_SEENINE, DTILE_OOZFILTER }); - setflag(SFLAG2_BRIGHTEXPLODE, { DTILE_SEENINE, DTILE_OOZFILTER }); - setflag(SFLAG2_DOUBLEDMGTHRUST, { DTILE_RADIUSEXPLOSION, DTILE_RPG, DTILE_HYDRENT, DTILE_HEAVYHBOMB, DTILE_SEENINE, DTILE_OOZFILTER, DTILE_EXPLODINGBARREL }); - setflag(SFLAG2_BREAKMIRRORS, { DTILE_RADIUSEXPLOSION, DTILE_RPG, DTILE_HYDRENT, DTILE_HEAVYHBOMB, DTILE_SEENINE, DTILE_OOZFILTER, DTILE_EXPLODINGBARREL }); - setflag(SFLAG2_CAMERA, { DTILE_CAMERA1 }); - setflag(SFLAG2_DONTANIMATE, { DTILE_TRIPBOMB, DTILE_LASERLINE }); - //setflag(SFLAG2_INTERPOLATEANGLE, { DTILE_BEARINGPLATE }); - setflag(SFLAG2_GREENBLOOD, { DTILE_OOZFILTER, DTILE_NEWBEAST, DTILE_NUKEBARREL }); - setflag(SFLAG2_ALWAYSROTATE1, { DTILE_RAT, DTILE_CAMERA1, DTILE_CHAIR3, DTILE_PLAYERONWATER }); - setflag(SFLAG2_ALWAYSROTATE2, { DTILE_RPG }); - setflag(SFLAG2_DIENOW, { DTILE_RADIUSEXPLOSION, DTILE_KNEE }); - setflag(SFLAG2_TRANSFERPALTOJIBS, { DTILE_LIZTROOP }); - setflag(SFLAG2_NORADIUSPUSH, { DTILE_TANK, DTILE_ROTATEGUN, DTILE_RECON }); - setflag(SFLAG2_FREEZEDAMAGE | SFLAG2_REFLECTIVE, { DTILE_FREEZEBLAST }); - setflag(SFLAG2_ALWAYSROTATE2, { DTILE_RECON }); - setflag(SFLAG2_SPECIALAUTOAIM, { DTILE_RECON }); - setflag(SFLAG2_IGNOREHITOWNER, { DTILE_RECON }); - setflag(SFLAG2_NODAMAGEPUSH, { DTILE_RECON, DTILE_TANK, DTILE_ROTATEGUN }); - setflag(SFLAG2_FLOATING, { DTILE_DRONE, DTILE_SHARK, DTILE_COMMANDER }); - setflag(SFLAG2_NONSMOKYROCKET, { DTILE_BOSS2 }); // If this wasn't needed for a CON defined actor it could be handled better - setflag(SFLAG2_MIRRORREFLECT, { DTILE_SHRINKSPARK, DTILE_FIRELASER, DTILE_COOLEXPLOSION1 }); - setflag(SFLAG2_UNDERWATERSLOWDOWN, { DTILE_RPG }); - setflag(SFLAG3_BROWNBLOOD, { DTILE_FECES }); - setflag(SFLAG3_DONTDIVEALIVE, { DTILE_OCTABRAIN, DTILE_SHARK, DTILE_GREENSLIME }); - setflag(SFLAG3_LIGHTDAMAGE, { DTILE_SHOTSPARK1 }); - setflag(SFLAG3_BIGHEALTH, { DTILE_ATOMICHEALTH }); - - if (isWorldTour()) - { - setflag(SFLAG_INTERNAL_BADGUY | SFLAG_KILLCOUNT, { DTILE_FIREFLY }); - setflag(SFLAG_INTERNAL_BADGUY | SFLAG_KILLCOUNT |SFLAG_BOSS, { DTILE_BOSS5 }); - setflag(SFLAG3_FORCERUNCON, { DTILE_LAVAPOOL, DTILE_ONFIRE, DTILE_ONFIRESMOKE, DTILE_BURNEDCORPSE, DTILE_LAVAPOOLBUBBLE, DTILE_WHISPYSMOKE, DTILE_FIREFLYFLYINGEFFECT }); - } - - setflag(SFLAG_INVENTORY, { - DTILE_FIRSTAID, - DTILE_STEROIDS, - DTILE_HEATSENSOR, - DTILE_BOOTS, - DTILE_JETPACK, - DTILE_HOLODUKE, - DTILE_AIRTANK }); - - setflag(SFLAG_SHRINKAUTOAIM, { - DTILE_GREENSLIME, - }); - - setflag(SFLAG_HITRADIUSCHECK, { - DTILE_PODFEM1 , - DTILE_FEM1, - DTILE_FEM2, - DTILE_FEM3, - DTILE_FEM4, - DTILE_FEM5, - DTILE_FEM6, - DTILE_FEM7, - DTILE_FEM8, - DTILE_FEM9, - DTILE_FEM10, - DTILE_STATUE, - DTILE_STATUEFLASH, - DTILE_SPACEMARINE, - DTILE_QUEBALL, - DTILE_STRIPEBALL - }); - - setflag(SFLAG_TRIGGER_IFHITSECTOR, { DTILE_EXPLOSION2 }); - - setflag(SFLAG_MOVEFTA_MAKESTANDABLE, { - DTILE_RUBBERCAN, - DTILE_EXPLODINGBARREL, - DTILE_WOODENHORSE, - DTILE_HORSEONSIDE, - DTILE_CANWITHSOMETHING, - DTILE_CANWITHSOMETHING2, - DTILE_CANWITHSOMETHING3, - DTILE_CANWITHSOMETHING4, - DTILE_FIREBARREL, - DTILE_FIREVASE, - DTILE_NUKEBARREL, - DTILE_NUKEBARRELDENTED, - DTILE_NUKEBARRELLEAKED, - DTILE_TRIPBOMB - }); - - setflag(SFLAG2_TRIGGERRESPAWN, { - DTILE_FEM1, - DTILE_FEM2, - DTILE_FEM3, - DTILE_FEM4, - DTILE_FEM5, - DTILE_FEM6, - DTILE_FEM7, - DTILE_FEM8, - DTILE_FEM9, - DTILE_FEM10, - DTILE_PODFEM1, - DTILE_NAKED1, - DTILE_STATUE, - DTILE_TOUGHGAL - }); - - setflag(SFLAG2_FORCESECTORSHADE, { DTILE_GREENSLIME }); - setflag(SFLAG3_DONTDIVEALIVE, { DTILE_GREENSLIME, DTILE_SHARK, DTILE_OCTABRAIN }); - setflag(SFLAG3_BLOODY, { DTILE_BLOODPOOL }); - // The feature guarded by this flag does not exist in Duke, it always acts as if the flag was set. gs.actorinfo[DTILE_ORGANTIC].aimoffset = 32; diff --git a/source/games/duke/src/flags_r.cpp b/source/games/duke/src/flags_r.cpp index 8b828127c..df7be5195 100644 --- a/source/games/duke/src/flags_r.cpp +++ b/source/games/duke/src/flags_r.cpp @@ -45,188 +45,6 @@ void initactorflags_r() gs.actorinfo[RTILE_CHEERBOAT].falladjustz = gs.actorinfo[RTILE_EMPTYBOAT].falladjustz = 6; } gs.actorinfo[RTILE_DRONE].falladjustz = 0; - - - setflag(SFLAG_INTERNAL_BADGUY | SFLAG_KILLCOUNT, { - RTILE_BOULDER, - RTILE_BOULDER1, - RTILE_RAT, - RTILE_TORNADO, - RTILE_BILLYCOCK, - RTILE_BILLYRAY, - RTILE_BILLYRAYSTAYPUT, - RTILE_BRAYSNIPER, - RTILE_DOGRUN, - RTILE_LTH, - RTILE_HULKJUMP, - RTILE_BUBBASTAND, - RTILE_HULK, - RTILE_HULKSTAYPUT, - RTILE_DRONE, - RTILE_RECON, - RTILE_MINION, - RTILE_MINIONSTAYPUT, - RTILE_COOT, - RTILE_COOTSTAYPUT, - RTILE_VIXEN }); - - if (isRRRA()) setflag(SFLAG_INTERNAL_BADGUY | SFLAG_KILLCOUNT, { - RTILE_SBSWIPE, - RTILE_BIKERB, - RTILE_BIKERBV2, - RTILE_BIKER, - RTILE_MAKEOUT, - RTILE_CHEERB, - RTILE_CHEER, - RTILE_CHEERSTAYPUT, - RTILE_MINIONBOAT, - RTILE_HULKBOAT, - RTILE_CHEERBOAT, - RTILE_RABBIT, - RTILE_MAMA, - RTILE_UFO1_RRRA }); - else setflag(SFLAG_INTERNAL_BADGUY | SFLAG_KILLCOUNT, { - RTILE_SBMOVE, - RTILE_UFO1_RR, - RTILE_UFO2, - RTILE_UFO3, - RTILE_UFO4, - RTILE_UFO5 }); - - setflag(SFLAG_INTERNAL_BADGUY, { RTILE_PIG, RTILE_HEN }); - - //gs.actorinfo[RTILE_DRONE].flags |= SFLAG_NOWATERDIP; - //gs.actorinfo[RTILE_VIXEN].flags |= SFLAG_LOOKALLAROUND; - if (isRRRA()) - { - setflag(SFLAG_LOOKALLAROUND, { 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 }); - setflag(SFLAG_INTERNAL_BADGUY, { RTILE_COOTPLAY, RTILE_BILLYPLAY }); - } - - setflag(SFLAG_INVENTORY, { - RTILE_FIRSTAID, - RTILE_STEROIDS, - RTILE_HEATSENSOR, - RTILE_BOOTS, - RTILE_COWPIE, - RTILE_HOLODUKE, - RTILE_AIRTANK }); - - setflag(SFLAG_HITRADIUSCHECK, { - RTILE_STATUEFLASH, - RTILE_BOWLINGPIN, - RTILE_QUEBALL, - RTILE_STRIPEBALL - }); - - setflag(SFLAG_LOOKALLAROUND, { RTILE_VIXEN }); - if (isRRRA()) - { - setflag(SFLAG_LOOKALLAROUND, { RTILE_COOT, RTILE_COOTSTAYPUT, RTILE_BIKER, 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 }); - } - - setflag(SFLAG_TRIGGER_IFHITSECTOR, { RTILE_EXPLOSION2, RTILE_EXPLOSION3 }); - - setflag(SFLAG_MOVEFTA_MAKESTANDABLE, { - RTILE_CANWITHSOMETHING, - }); - - // non-STAT_ACTOR classes that need CON support. For compatibility this must be explicitly enabled. - setflag(SFLAG3_FORCERUNCON, { - RTILE_EXPLODINGBARREL, - RTILE_TOILETWATER, - RTILE_STEAM, - RTILE_CEILINGSTEAM, - RTILE_SHOTSPARK1, - RTILE_BURNING, - RTILE_WATERBUBBLE, - RTILE_WATERBUBBLEMAKER, - RTILE_SMALLSMOKE, - RTILE_EXPLOSION2, - RTILE_EXPLOSION3, - RTILE_BLOOD, - RTILE_FORCERIPPLE, - RTILE_TRANSPORTERSTAR, - RTILE_TRANSPORTERBEAM - }); - - setflag(SFLAG_NOINTERPOLATE, { RTILE_CRANEPOLE }); - setflag(SFLAG_FALLINGFLAMMABLE, { RTILE_BOX }); - setflag(SFLAG_INFLAME, { RTILE_RADIUSEXPLOSION, RTILE_RPG, RTILE_FIRELASER, RTILE_HYDRENT, RTILE_DYNAMITE, RTILE_POWDERKEG, RTILE_VIXENSHOT, RTILE_OWHIP, RTILE_UWHIP }); - if (isRRRA()) setflag(SFLAG_INFLAME, { RTILE_RPG2 }); - setflag(SFLAG_NOFLOORFIRE, { RTILE_TREE1, RTILE_TREE2 }); - setflag(SFLAG_HITRADIUS_FLAG1, { RTILE_BOX, RTILE_TREE1, RTILE_TREE2, RTILE_TIRE }); - setflag(SFLAG_HITRADIUS_FLAG2, { RTILE_QUEBALL, RTILE_STRIPEBALL, RTILE_BOWLINGPIN, RTILE_DUKELYINGDEAD }); - setflag(SFLAG_NOTELEPORT, { RTILE_TRANSPORTERSTAR, RTILE_TRANSPORTERBEAM, RTILE_BULLETHOLE, RTILE_WATERSPLASH2, RTILE_BURNING, RTILE_FIRE, RTILE_MUD }); - setflag(SFLAG_SE24_NOCARRY, { RTILE_BULLETHOLE, RTILE_BOLT1, RTILE_BOLT2, RTILE_BOLT3, RTILE_BOLT4, RTILE_CRANE, RTILE_BARBROKE }); - setflag(SFLAG_SE24_REMOVE, { RTILE_BLOODPOOL, RTILE_PUKE, RTILE_FOOTPRINTS, RTILE_FOOTPRINTS2, RTILE_FOOTPRINTS3 }); - setflag(SFLAG_NOFALLER, { RTILE_CRACK1, RTILE_CRACK2, RTILE_CRACK3, RTILE_CRACK4 }); - setflag(SFLAG2_EXPLOSIVE, {RTILE_RPG, RTILE_RADIUSEXPLOSION, RTILE_SEENINE, RTILE_OOZFILTER }); - if (isRRRA()) setflag(SFLAG2_EXPLOSIVE, { RTILE_RPG2 }); - setflag(SFLAG2_BRIGHTEXPLODE, { RTILE_SEENINE, RTILE_OOZFILTER }); - setflag(SFLAG2_DOUBLEDMGTHRUST, { RTILE_RADIUSEXPLOSION, RTILE_RPG, RTILE_HYDRENT, RTILE_DYNAMITE, RTILE_SEENINE, RTILE_OOZFILTER, RTILE_POWDERKEG }); - if (isRRRA()) setflag(SFLAG2_DOUBLEDMGTHRUST, { RTILE_RPG2 }); - setflag(SFLAG2_BREAKMIRRORS, { RTILE_RADIUSEXPLOSION, RTILE_RPG, RTILE_HYDRENT, RTILE_DYNAMITE, RTILE_SEENINE, RTILE_OOZFILTER, RTILE_POWDERKEG }); - if (isRRRA()) setflag(SFLAG2_BREAKMIRRORS, { RTILE_RPG2 }); - setflag(SFLAG2_CAMERA, { RTILE_CAMERA1 }); - setflag(SFLAG2_GREENBLOOD, { RTILE_OOZFILTER }); - setflag(SFLAG2_ALWAYSROTATE1, { RTILE_RAT, RTILE_CAMERA1, RTILE_CHAIR3, RTILE_PLAYERONWATER }); - setflag(SFLAG2_ALWAYSROTATE2, { RTILE_RPG }); - setflag(SFLAG2_DIENOW, { RTILE_RADIUSEXPLOSION }); - setflag(SFLAG2_NORADIUSPUSH, { RTILE_HULK }); - setflag(SFLAG2_FREEZEDAMAGE | SFLAG2_REFLECTIVE, { RTILE_FREEZEBLAST }); - setflag(SFLAG2_FLOATING, { RTILE_DRONE }); - setflag(SFLAG3_BLOODY, { RTILE_BLOODPOOL }); - setflag(SFLAG3_BIGHEALTH, { RTILE_ATOMICHEALTH }); - - setflag(SFLAG2_NOFLOORPAL, { - RTILE_RESPAWNMARKERRED, - RTILE_RESPAWNMARKERYELLOW, - RTILE_RESPAWNMARKERGREEN, - RTILE_FORCESPHERE, - RTILE_BURNING, - RTILE_ATOMICHEALTH, - RTILE_SHITBALL, - RTILE_RPG, - RTILE_RECON, - RTILE_POWDERKEG, - RTILE_WATERBUBBLE, - }); - // Animals were not supposed to have this, but due to a coding bug the logic was unconditional for everything in the game. - for (auto& ainf : gs.actorinfo) - { - //ainf.flags |= SFLAG_MOVEFTA_WAKEUPCHECK; - } - - - if (isRRRA()) - { - setflag(SFLAG_LOOKALLAROUNDWITHPAL8, { RTILE_MINION }); - setflag(SFLAG2_TRANSFERPALTOJIBS, { RTILE_MINION }); - setflag(SFLAG2_NORADIUSPUSH, { RTILE_MAMA, RTILE_BILLYPLAY, RTILE_COOTPLAY, RTILE_MAMACLOUD }); - setflag(SFLAG2_DONTDIVE, { RTILE_CHEERBOAT, RTILE_HULKBOAT, RTILE_MINIONBOAT, RTILE_UFO1_RRRA }); - setflag(SFLAG2_FLOATING, { RTILE_UFO1_RRRA }); - setflag(SFLAG2_SPAWNRABBITGUTS, { RTILE_MAMA }); - setflag(SFLAG2_ALTPROJECTILESPRITE, { RTILE_CHEER, RTILE_CHEERSTAYPUT }); - setflag(SFLAG2_UNDERWATERSLOWDOWN, { RTILE_RPG2 }); - setflag(SFLAG2_ALWAYSROTATE2, { RTILE_RPG2, RTILE_EMPTYBIKE, RTILE_EMPTYBOAT }); - setflag(SFLAG2_NOFLOORPAL, { RTILE_CHEERBOMB, RTILE_RPG2 }); - } - else - { - setflag(SFLAG2_NORADIUSPUSH, { RTILE_SBMOVE }); - setflag(SFLAG2_DONTDIVE, { RTILE_UFO1_RR, RTILE_UFO2, RTILE_UFO3, RTILE_UFO4, RTILE_UFO5 }); - setflag(SFLAG2_FLOATING, { RTILE_UFO1_RR, RTILE_UFO2, RTILE_UFO3, RTILE_UFO4, RTILE_UFO5 }); - } - - //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;