mirror of
https://github.com/ZDoom/Raze.git
synced 2025-04-08 00:40:57 +00:00
- exported RR's enemies
This commit is contained in:
parent
779026162d
commit
aae2c2dc3c
6 changed files with 425 additions and 228 deletions
|
@ -57,15 +57,12 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
}
|
||||
auto sectp = act->sector();
|
||||
|
||||
switch (act->spr.picnum)
|
||||
if (!act->isPlayer())
|
||||
{
|
||||
default:
|
||||
default_case:
|
||||
if (!badguy(act) || commonEnemySetup(act, actj))
|
||||
CallInitialize(act);
|
||||
break;
|
||||
|
||||
case RTILE_APLAYER:
|
||||
}
|
||||
else
|
||||
{
|
||||
act->spr.scale = DVector2(0, 0);
|
||||
int j = ud.coop;
|
||||
|
@ -75,222 +72,6 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
ChangeActorStat(act, STAT_MISC);
|
||||
else
|
||||
ChangeActorStat(act, STAT_PLAYER);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/* animate
|
||||
case RTILE_SBMOVE:
|
||||
if (!isRRRA())
|
||||
t->shade = -127;
|
||||
break;
|
||||
|
||||
*/
|
||||
// this is not really nice...
|
||||
case RTILE_BIKERB:
|
||||
case RTILE_BIKERBV2:
|
||||
case RTILE_BIKER:
|
||||
case RTILE_MAKEOUT:
|
||||
case RTILE_CHEERB:
|
||||
case RTILE_CHEER:
|
||||
case RTILE_COOTPLAY:
|
||||
case RTILE_BILLYPLAY:
|
||||
case RTILE_MINIONBOAT:
|
||||
case RTILE_HULKBOAT:
|
||||
case RTILE_CHEERBOAT:
|
||||
case RTILE_ROCK:
|
||||
case RTILE_ROCK2:
|
||||
case RTILE_MAMACLOUD:
|
||||
case RTILE_MAMA:
|
||||
if (isRRRA()) goto rrra_badguy2;
|
||||
else goto default_case;
|
||||
|
||||
case RTILE_SBSWIPE:
|
||||
case RTILE_CHEERSTAYPUT:
|
||||
if (isRRRA()) goto rrra_stayput;
|
||||
else goto default_case;
|
||||
case RTILE_SBMOVE:
|
||||
if (isRRRA()) goto default_case;
|
||||
[[fallthrough]];
|
||||
|
||||
case RTILE_BUBBASTAND:
|
||||
case RTILE_HULKSTAYPUT:
|
||||
rrra_stayput:
|
||||
act->actorstayput = act->sector();
|
||||
[[fallthrough]];
|
||||
case RTILE_BOULDER:
|
||||
case RTILE_BOULDER1:
|
||||
case RTILE_TORNADO:
|
||||
case RTILE_DOGRUN:
|
||||
case RTILE_LTH:
|
||||
case RTILE_HULK:
|
||||
case RTILE_DRONE:
|
||||
case RTILE_VIXEN:
|
||||
rrra_badguy2:
|
||||
act->spr.scale = DVector2(0.625, 0.625);
|
||||
// Note: All inappropriate tiles have already been weeded out by the outer switch block so this does not need game type checks anymore.
|
||||
switch (act->spr.picnum)
|
||||
{
|
||||
case RTILE_VIXEN:
|
||||
if (act->spr.pal == 34)
|
||||
{
|
||||
act->spr.scale = DVector2(0.34375, 0.328125);
|
||||
}
|
||||
else
|
||||
{
|
||||
act->spr.scale = DVector2(0.34375, 0.3125);
|
||||
}
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_HULKHANG:
|
||||
case RTILE_HULKHANGDEAD:
|
||||
case RTILE_HULKJUMP:
|
||||
case RTILE_HULK:
|
||||
case RTILE_HULKSTAYPUT:
|
||||
act->spr.scale = DVector2(0.5, 0.5);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_COOTPLAY:
|
||||
act->spr.scale = DVector2(0.375, 0.28125);
|
||||
act->setClipDistFromTile();
|
||||
act->clipdist *= 4;
|
||||
break;
|
||||
case RTILE_DRONE:
|
||||
act->spr.scale = DVector2(0.21875, 0.109375);
|
||||
act->clipdist = 32;
|
||||
break;
|
||||
case RTILE_SBSWIPE:
|
||||
case RTILE_BILLYPLAY:
|
||||
case RTILE_BUBBASTAND:
|
||||
act->spr.scale = DVector2(0.390625, 0.328125);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_DOGRUN:
|
||||
act->spr.scale = DVector2(0.25, 0.25);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_MAMACLOUD:
|
||||
act->spr.scale = DVector2(1, 1);
|
||||
act->spr.cstat = CSTAT_SPRITE_TRANSLUCENT;
|
||||
act->spr.cstat |= CSTAT_SPRITE_TRANS_FLIP;
|
||||
act->spr.pos.X += krandf(128) - 64;
|
||||
act->spr.pos.Y += krandf(128) - 64;
|
||||
act->spr.pos.Z += krandf(8) - 4;
|
||||
break;
|
||||
case RTILE_MAMA:
|
||||
if (actj && isrespawncontroller(actj))
|
||||
act->spr.pal = actj->spr.pal;
|
||||
|
||||
if (act->spr.pal == 30)
|
||||
{
|
||||
act->spr.scale = DVector2(0.40625, 0.40625);
|
||||
act->clipdist = 18.75;
|
||||
}
|
||||
else if (act->spr.pal == 31)
|
||||
{
|
||||
act->spr.scale = DVector2(0.5625, 0.5625);
|
||||
act->clipdist = 25;
|
||||
}
|
||||
else if (act->spr.pal == 32)
|
||||
{
|
||||
act->spr.scale = DVector2(0.78125, 0.78125);
|
||||
act->clipdist = 25;
|
||||
}
|
||||
else
|
||||
{
|
||||
act->spr.scale = DVector2(0.78125, 0.78125);
|
||||
act->clipdist = 25;
|
||||
}
|
||||
break;
|
||||
case RTILE_BIKERB:
|
||||
act->spr.scale = DVector2(0.4375, 0.34375);
|
||||
act->clipdist = 18;
|
||||
break;
|
||||
case RTILE_BIKERBV2:
|
||||
act->spr.scale = DVector2(0.4375, 0.34375);
|
||||
act->clipdist = 18;
|
||||
break;
|
||||
case RTILE_BIKER:
|
||||
act->spr.scale = DVector2(0.4375, 0.34375);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_CHEERB:
|
||||
act->spr.scale = DVector2(0.4375, 0.34375);
|
||||
act->clipdist = 18;
|
||||
break;
|
||||
case RTILE_CHEER:
|
||||
case RTILE_CHEERSTAYPUT:
|
||||
act->spr.scale = DVector2(0.34375, 0.3125);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_MAKEOUT:
|
||||
act->spr.scale = DVector2(0.40625, 0.40625);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_MINIONBOAT:
|
||||
act->spr.scale = DVector2(0.25, 0.25);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_HULKBOAT:
|
||||
act->spr.scale = DVector2(0.75, 0.75);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_CHEERBOAT:
|
||||
act->spr.scale = DVector2(0.5, 0.5);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
|
||||
case RTILE_TORNADO:
|
||||
act->spr.scale = DVector2(1, 2);
|
||||
act->setClipDistFromTile();
|
||||
act->clipdist *= 0.25;
|
||||
act->spr.cstat = CSTAT_SPRITE_TRANSLUCENT;
|
||||
break;
|
||||
case RTILE_LTH:
|
||||
act->spr.scale = DVector2(0.375, 0.34375);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
case RTILE_ROCK:
|
||||
case RTILE_ROCK2:
|
||||
act->spr.scale = DVector2(1, 1);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
|
||||
case RTILE_SBMOVE:
|
||||
act->spr.scale = DVector2(0.75, 0.75);
|
||||
act->setClipDistFromTile();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (actj) act->spr.lotag = 0;
|
||||
|
||||
if ((act->spr.lotag > ud.player_skill) || ud.monsters_off == 1)
|
||||
{
|
||||
act->spr.scale = DVector2(0, 0);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
makeitfall(act);
|
||||
|
||||
act->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
||||
if (actj)
|
||||
{
|
||||
act->timetosleep = 0;
|
||||
CallPlayFTASound(act);
|
||||
ChangeActorStat(act, STAT_ACTOR);
|
||||
act->spr.shade = actj->spr.shade;
|
||||
}
|
||||
else ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
return act;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
spawnclasses
|
||||
{
|
||||
5260 = "RedneckUfo1"
|
||||
5274 = "RedneckUfo2"
|
||||
5278 = "RedneckUfo3"
|
||||
5282 = "RedneckUfo4"
|
||||
5286 = "RedneckUfo5"
|
||||
{
|
||||
5015 = RedneckShitBoss
|
||||
5260 = RedneckUfo1
|
||||
5274 = RedneckUfo2
|
||||
5278 = RedneckUfo3
|
||||
5282 = RedneckUfo4
|
||||
5286 = RedneckUfo5
|
||||
2654 = DukeGenericDestructible, "*RRTILE2654", "", "GLASS_BREAKING", spawnglass
|
||||
2656 = DukeGenericDestructible, "*RRTILE2656", "", "GLASS_BREAKING", spawnglass
|
||||
3172 = DukeGenericDestructible, "*RRTILE3172", "", "GLASS_BREAKING", spawnglass
|
||||
|
|
|
@ -167,6 +167,24 @@ spawnclasses
|
|||
// stuff below uses CON
|
||||
|
||||
7280 = RedneckRabbit
|
||||
5890 = RedneckBikerB
|
||||
5891 = RedneckBikerBV2
|
||||
6225 = RedneckMakeout
|
||||
6401 = RedneckCheerleaderB
|
||||
6658 = RedneckCheerleader
|
||||
7030 = RedneckCootplay
|
||||
7035 = RedneckBillyPlay
|
||||
7192 = RedneckMinionBoat
|
||||
7199 = RedneckHulkBoat
|
||||
7206 = RedneckCheerBoat
|
||||
8035 = RedneckRock
|
||||
8036 = RedneckRock2
|
||||
8663 = RedneckMamaCloud
|
||||
8705 = RedneckMama
|
||||
4770 = RedneckSBSwipe
|
||||
6659 = RedneckCheerStayput
|
||||
|
||||
|
||||
|
||||
78 = RedneckMotoAmmo
|
||||
8460 = RedneckBoatAmmo
|
||||
|
|
|
@ -342,5 +342,16 @@ spawnclasses
|
|||
4249 = RedneckBillyRaySniper
|
||||
5120 = RedneckMinion
|
||||
5121 = RedneckMinionStayput
|
||||
4504 = RedneckBubbaStand
|
||||
4649 = RedneckHulk
|
||||
4650 = RedneckHulkStayput
|
||||
256 = RedneckBoulder
|
||||
264 = RedneckBoulder1
|
||||
1930 = RedneckTornado
|
||||
4260 = RedneckDog
|
||||
4352 = RedneckSheriff
|
||||
4916 = RedneckMosquito
|
||||
5635 = RedneckVixen
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -136,6 +136,7 @@ version "4.10"
|
|||
#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/emptybike.zs"
|
||||
#include "zscript/games/duke/actors/rrteleport.zs"
|
||||
#include "zscript/games/duke/actors/bowling.zs"
|
||||
|
|
385
wadsrc/static/zscript/games/duke/actors/redneckenemies.zs
Normal file
385
wadsrc/static/zscript/games/duke/actors/redneckenemies.zs
Normal file
|
@ -0,0 +1,385 @@
|
|||
|
||||
class RedneckBikerBV2 : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BIKERBV2";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.4375, 0.34375);
|
||||
self.clipdist = 18;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckBikerB : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BIKERB";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.4375, 0.34375);
|
||||
self.clipdist = 18;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckBiker : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BIKER";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.4375, 0.34375);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckMakeout : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "MAKEOUT";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.40625, 0.40625);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckCheerleaderB : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "CHEERB";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.4375, 0.34375);
|
||||
self.clipdist = 18;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckCheerleader : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "CHEER";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.34375, 0.3125);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckCootplay : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "COOTPLAY";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.375, 0.28128);
|
||||
self.setClipDistFromTile();
|
||||
self.clipdist *= 4;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckBillyPlay : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BILLYPLAY";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.390625, 0.328125);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckMinionBoat : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "MINIONBOAT";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.25, 0.25);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckHulkBoat : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HULKBOAT";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.75, 0.75);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckCheerBoat : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "CHEERBOAT";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.5, 0.5);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckRock : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "ROCK";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (1, 1);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckRock2 : RedneckRock
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "ROCK2";
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckMamaCloud : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "MAMACLOUD";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (1, 1);
|
||||
self.cstat = CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_TRANS_FLIP;
|
||||
self.pos.X += frandom(-64, 64);
|
||||
self.pos.Y += frandom(-64, 64);
|
||||
self.pos.Z += frandom(-4, 4);
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckMama : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "MAMA";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
if (self.pal == 30)
|
||||
{
|
||||
self.scale = (0.40625, 0.40625);
|
||||
self.clipdist = 18.75;
|
||||
}
|
||||
else if (self.pal == 31)
|
||||
{
|
||||
self.scale = (0.5625, 0.5625);
|
||||
self.clipdist = 25;
|
||||
}
|
||||
else if (self.pal == 32)
|
||||
{
|
||||
self.scale = (0.78125, 0.78125);
|
||||
self.clipdist = 25;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.scale = (0.78125, 0.78125);
|
||||
self.clipdist = 25;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class RedneckSBSwipe : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SBSWIPE";
|
||||
}
|
||||
|
||||
override void initialize()
|
||||
{
|
||||
self.actorstayput = self.sector; // make this a flag once everything has been exported.
|
||||
self.scale = (0.390625, 0.328125);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckCheerStayput : RedneckCheerleader
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "CHEERSTAYPUT";
|
||||
}
|
||||
|
||||
override void initialize()
|
||||
{
|
||||
super.initialize();
|
||||
self.actorstayput = self.sector; // make this a flag once everything has been exported.
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckShitBoss : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SBMOVE";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.75, 0.75);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
|
||||
override bool animate(tspritetype t)
|
||||
{
|
||||
t.shade = -127;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckBubbaStand : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BUBBASTAND";
|
||||
}
|
||||
|
||||
override void initialize()
|
||||
{
|
||||
self.actorstayput = self.sector; // make this a flag once everything has been exported.
|
||||
self.scale = (0.390625, 0.328125);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class RedneckHulk : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HULK";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.5, 0.5);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckHulkStayput : RedneckHulk
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HULKSTAYPUT";
|
||||
}
|
||||
|
||||
override void initialize()
|
||||
{
|
||||
super.initialize();
|
||||
self.actorstayput = self.sector; // make this a flag once everything has been exported.
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckBoulder : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BOULDER";
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckBoulder1 : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BOULDER1";
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckTornado : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "TORNADO";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (1, 2);
|
||||
self.setClipDistFromTile();
|
||||
self.clipdist *= 0.25;
|
||||
self.cstat = CSTAT_SPRITE_TRANSLUCENT;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckDog : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "DOGRUN";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.25, 0.25);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckSheriff : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "LTH";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.375, 0.34375);
|
||||
self.setClipDistFromTile();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckMosquito : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "DRONE";
|
||||
}
|
||||
override void Initialize()
|
||||
{
|
||||
self.scale = (0.21875, 0.109375);
|
||||
self.clipdist = 32;
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckVixen : DukeActor
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "VIXEN";
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue