mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 14:52:01 +00:00
- add some hackery to deal with WT's bosses.
This was the result of some gross change to the spawning code which suddenly changed the rules about minibosses. To reduce the impact, it is only enabled for the "Alien World Order" maps.
This commit is contained in:
parent
2e9732ce79
commit
db21313c96
5 changed files with 47 additions and 3 deletions
|
@ -634,6 +634,7 @@ MapFlagHandlers[] =
|
|||
{ "clearinventory", MITYPE_SETFLAG, LEVEL_CLEARINVENTORY, 0, -1 },
|
||||
{ "clearweapons", MITYPE_SETFLAG, LEVEL_CLEARWEAPONS, 0, -1 },
|
||||
{ "forcenoeog", MITYPE_SETFLAG, LEVEL_FORCENOEOG, 0, -1 },
|
||||
{ "wt_bossspawn", MITYPE_SETFLAG, LEVEL_WT_BOSSSPAWN, 0, -1 },
|
||||
{ "rrra_hulkspawn", MITYPE_SETFLAGG,LEVEL_RR_HULKSPAWN, 0, GAMEFLAG_RRRA },
|
||||
{ "rr_clearmoonshine", MITYPE_SETFLAGG,LEVEL_RR_CLEARMOONSHINE, 0, GAMEFLAG_RR },
|
||||
{ "ex_training", MITYPE_SETFLAGG,LEVEL_EX_TRAINING, 0, GAMEFLAG_PSEXHUMED },
|
||||
|
|
|
@ -52,6 +52,8 @@ enum EMapGameFlags
|
|||
LEVEL_SW_DEATHEXIT_SUMO = 2048,
|
||||
LEVEL_SW_DEATHEXIT_ZILLA = 4096,
|
||||
|
||||
LEVEL_WT_BOSSSPAWN = 8192,
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -89,7 +89,8 @@ void initactorflags_d()
|
|||
|
||||
// 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(SFLAG_NODAMAGEPUSH, { TANK, BOSS1, BOSS2, BOSS3, BOSS4, RECON, ROTATEGUN });
|
||||
setflag(SFLAG_BOSS, { BOSS1, BOSS2, BOSS3, BOSS4 });
|
||||
setflag(SFLAG_BOSS, { BOSS1, BOSS2, BOSS3, BOSS4, BOSS4STAYPUT, BOSS1STAYPUT });
|
||||
if (isWorldTour()) setflag(SFLAG_BOSS, { BOSS2STAYPUT, BOSS3STAYPUT, BOSS5, BOSS5STAYPUT });
|
||||
setflag(SFLAG_NOWATERDIP, { OCTABRAIN, COMMANDER, DRONE });
|
||||
setflag(SFLAG_GREENSLIMEFOOD, { LIZTROOP, LIZMAN, PIGCOP, NEWBEAST });
|
||||
|
||||
|
|
|
@ -818,11 +818,11 @@ int spawn_d(int j, int pn)
|
|||
}
|
||||
}
|
||||
|
||||
if( sp->picnum == BOSS4STAYPUT || sp->picnum == BOSS1 || sp->picnum == BOSS2 || sp->picnum == BOSS1STAYPUT || sp->picnum == BOSS3 || sp->picnum == BOSS4 )
|
||||
if (bossguy(sp))
|
||||
{
|
||||
if(j >= 0 && spj->picnum == RESPAWN)
|
||||
sp->pal = spj->pal;
|
||||
if(sp->pal)
|
||||
if (sp->pal && (!isWorldTour() || !(currentLevel->flags & LEVEL_WT_BOSSSPAWN) || sp->pal != 22))
|
||||
{
|
||||
sp->clipdist = 80;
|
||||
sp->xrepeat = 40;
|
||||
|
|
|
@ -49,6 +49,46 @@ map { 4, 1 }
|
|||
}
|
||||
}
|
||||
|
||||
map { 5, 1 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 2 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 3 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 4 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 5 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 6 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 7 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
map { 5, 8 }
|
||||
{
|
||||
wt_bossspawn
|
||||
}
|
||||
|
||||
cutscenes
|
||||
{
|
||||
intro
|
||||
|
|
Loading…
Reference in a new issue