mirror of
https://github.com/ZDoom/Raze.git
synced 2025-04-07 16:31:26 +00:00
- exported a few of Duke's decorations
This commit is contained in:
parent
551e0af58d
commit
82d04756be
7 changed files with 97 additions and 74 deletions
|
@ -135,30 +135,13 @@ void initactorflags_r()
|
|||
setflag(SFLAG_TRIGGER_IFHITSECTOR, { RTILE_EXPLOSION2, RTILE_EXPLOSION3 });
|
||||
|
||||
setflag(SFLAG_MOVEFTA_MAKESTANDABLE, {
|
||||
RTILE_RUBBERCAN,
|
||||
RTILE_EXPLODINGBARREL,
|
||||
RTILE_WOODENHORSE,
|
||||
RTILE_HORSEONSIDE,
|
||||
RTILE_CANWITHSOMETHING,
|
||||
RTILE_FIREBARREL,
|
||||
RTILE_FIREVASE,
|
||||
RTILE_NUKEBARREL,
|
||||
RTILE_NUKEBARRELDENTED,
|
||||
RTILE_NUKEBARRELLEAKED
|
||||
});
|
||||
|
||||
// non-STAT_ACTOR classes that need CON support. For compatibility this must be explicitly enabled.
|
||||
setflag(SFLAG3_FORCERUNCON, {
|
||||
RTILE_EXPLODINGBARREL,
|
||||
RTILE_WOODENHORSE,
|
||||
RTILE_HORSEONSIDE,
|
||||
RTILE_FIREBARREL,
|
||||
RTILE_FIREVASE,
|
||||
RTILE_NUKEBARREL,
|
||||
RTILE_NUKEBARRELDENTED,
|
||||
RTILE_NUKEBARRELLEAKED,
|
||||
RTILE_TOILETWATER,
|
||||
RTILE_RUBBERCAN,
|
||||
RTILE_STEAM,
|
||||
RTILE_CEILINGSTEAM,
|
||||
RTILE_SHOTSPARK1,
|
||||
|
@ -180,7 +163,6 @@ void initactorflags_r()
|
|||
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_CHECKSLEEP, { RTILE_RUBBERCAN, RTILE_EXPLODINGBARREL, RTILE_WOODENHORSE, RTILE_HORSEONSIDE, RTILE_CANWITHSOMETHING, RTILE_FIREBARREL, RTILE_NUKEBARREL, RTILE_NUKEBARRELDENTED, RTILE_NUKEBARRELLEAKED });
|
||||
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_CRANE1, RTILE_CRANE2, RTILE_BARBROKE });
|
||||
setflag(SFLAG_SE24_REMOVE, { RTILE_BLOODPOOL, RTILE_PUKE, RTILE_FOOTPRINTS, RTILE_FOOTPRINTS2, RTILE_FOOTPRINTS3 });
|
||||
|
@ -188,12 +170,12 @@ void initactorflags_r()
|
|||
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_EXPLODINGBARREL, RTILE_POWDERKEG });
|
||||
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_EXPLODINGBARREL, RTILE_POWDERKEG });
|
||||
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, RTILE_NUKEBARREL });
|
||||
setflag(SFLAG2_GREENBLOOD, { RTILE_OOZFILTER });
|
||||
setflag(SFLAG2_ALWAYSROTATE1, { RTILE_RAT, RTILE_CAMERA1, RTILE_CHAIR3 });
|
||||
setflag(SFLAG2_ALWAYSROTATE2, { RTILE_RPG });
|
||||
setflag(SFLAG2_DIENOW, { RTILE_RADIUSEXPLOSION });
|
||||
|
|
|
@ -81,9 +81,6 @@ static void cachespritenum(DDukeActor* actor)
|
|||
case RTILE_FORCERIPPLE:
|
||||
maxc = 9;
|
||||
break;
|
||||
case RTILE_RUBBERCAN:
|
||||
maxc = 2;
|
||||
break;
|
||||
case RTILE_TOILETWATER:
|
||||
maxc = 4;
|
||||
break;
|
||||
|
@ -263,12 +260,6 @@ static void cachespritenum(DDukeActor* actor)
|
|||
case RTILE_DRONE:
|
||||
maxc = 6;
|
||||
break;
|
||||
case RTILE_EXPLODINGBARREL:
|
||||
maxc = 3;
|
||||
break;
|
||||
case RTILE_NUKEBARREL:
|
||||
maxc = 5;
|
||||
break;
|
||||
case RTILE_VIXEN:
|
||||
maxc = 214;
|
||||
for (j = actor->spr.picnum; j < actor->spr.picnum + maxc; j++)
|
||||
|
|
|
@ -197,28 +197,6 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
case DTILE_CEILINGSTEAM:
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case DTILE_RUBBERCAN:
|
||||
act->spr.extra = 0;
|
||||
[[fallthrough]];
|
||||
case DTILE_EXPLODINGBARREL:
|
||||
case DTILE_HORSEONSIDE:
|
||||
case DTILE_FIREBARREL:
|
||||
case DTILE_NUKEBARREL:
|
||||
case DTILE_FIREVASE:
|
||||
case DTILE_NUKEBARRELDENTED:
|
||||
case DTILE_NUKEBARRELLEAKED:
|
||||
case DTILE_WOODENHORSE:
|
||||
|
||||
if (actj)
|
||||
act->spr.scale = DVector2(0.5, 0.5);
|
||||
act->clipdist = 18;
|
||||
makeitfall(act);
|
||||
if (actj) act->SetOwner(actj);
|
||||
else act->SetOwner(act);
|
||||
act->spr.cstat = CSTAT_SPRITE_BLOCK_ALL | randomXFlip();
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
break;
|
||||
}
|
||||
return act;
|
||||
}
|
||||
|
|
|
@ -529,27 +529,6 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
break;
|
||||
|
||||
case RTILE_RUBBERCAN:
|
||||
act->spr.extra = 0;
|
||||
[[fallthrough]];
|
||||
case RTILE_EXPLODINGBARREL:
|
||||
case RTILE_HORSEONSIDE:
|
||||
case RTILE_FIREBARREL:
|
||||
case RTILE_NUKEBARREL:
|
||||
case RTILE_FIREVASE:
|
||||
case RTILE_NUKEBARRELDENTED:
|
||||
case RTILE_NUKEBARRELLEAKED:
|
||||
case RTILE_WOODENHORSE:
|
||||
|
||||
if (actj)
|
||||
act->spr.scale = DVector2(0.5, 0.5);
|
||||
act->clipdist = 18;
|
||||
makeitfall(act);
|
||||
if (actj) act->SetOwner(actj);
|
||||
else act->SetOwner(act);
|
||||
act->spr.cstat = CSTAT_SPRITE_BLOCK_ALL | randomXFlip();
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
break;
|
||||
case RTILE_RRTILE63:
|
||||
act->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
act->spr.scale = DVector2(REPEAT_SCALE, REPEAT_SCALE);
|
||||
|
|
|
@ -296,6 +296,15 @@ spawnclasses
|
|||
603 = DukeNaked
|
||||
1294 = DukePodFemale
|
||||
1324 = DukeBloodyPole
|
||||
1238 = DukeExplodingBarrel
|
||||
1026 = DukeHorseOnSide
|
||||
1248 = DukeFireBarrel
|
||||
1227 = DukeNukeBarrel
|
||||
1390 = DukeFireVase
|
||||
1228 = DukeNukeBarrelDented
|
||||
1229 = DukeNukeBarrelLeaked
|
||||
904 = DukeWoodenHorse
|
||||
1062 = DukeRubberCan
|
||||
|
||||
|
||||
|
||||
|
@ -335,6 +344,7 @@ spawnclasses
|
|||
1880 = DukeDrone
|
||||
2420 = DukeTurret
|
||||
2360 = DukeRotateGun
|
||||
|
||||
675 = DukeEgg
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -109,6 +109,7 @@ version "4.10"
|
|||
#include "zscript/games/duke/actors/waterbubble.zs"
|
||||
#include "zscript/games/duke/actors/smallsmoke.zs"
|
||||
#include "zscript/games/duke/actors/steam.zs"
|
||||
#include "zscript/games/duke/actors/dukedecos.zs"
|
||||
|
||||
#include "zscript/games/duke/actors/dukeitems.zs"
|
||||
#include "zscript/games/duke/actors/batteryammo.zs"
|
||||
|
|
82
wadsrc/static/zscript/games/duke/actors/dukedecos.zs
Normal file
82
wadsrc/static/zscript/games/duke/actors/dukedecos.zs
Normal file
|
@ -0,0 +1,82 @@
|
|||
|
||||
class DukeExplodingBarrel : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "EXPLODINGBARREL";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
if (!self.mapSpawned)
|
||||
self.scale = (0.5, 0.5);
|
||||
self.cstat = CSTAT_SPRITE_BLOCK_ALL | randomXFlip();
|
||||
self.clipdist = 18;
|
||||
self.ChangeStat(STAT_ZOMBIEACTOR);
|
||||
}
|
||||
}
|
||||
|
||||
class DukeHorseOnSide : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HORSEONSIDE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeFireBarrel : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FIREBARREL";
|
||||
}
|
||||
}
|
||||
class DukeNukeBarrel : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "NUKEBARREL";
|
||||
}
|
||||
}
|
||||
class DukeFireVase : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FIREVASE";
|
||||
}
|
||||
}
|
||||
class DukeNukeBarrelDented : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "NUKEBARRELDENTED";
|
||||
}
|
||||
}
|
||||
class DukeNukeBarrelLeaked : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "DTILE_NUKEBARRELLEAKED";
|
||||
}
|
||||
}
|
||||
class DukeWoodenHorse : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "WOODENHORSE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeRubberCan : DukeExplodingBarrel
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "RUBBERCAN";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
super.Initialize();
|
||||
self.extra = 0;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue