- fix arti teleport and arti teleother not respecting useplayerstartz mapflag

This commit is contained in:
Rachael Alexanderson 2022-08-26 04:09:54 -04:00
parent 8c0ad50db3
commit 8468f712e0
4 changed files with 7 additions and 3 deletions

View file

@ -2732,6 +2732,7 @@ DEFINE_FIELD_BIT(FLevelLocals, flags, noinventorybar, LEVEL_NOINVENTORYBAR)
DEFINE_FIELD_BIT(FLevelLocals, flags, monsterstelefrag, LEVEL_MONSTERSTELEFRAG) DEFINE_FIELD_BIT(FLevelLocals, flags, monsterstelefrag, LEVEL_MONSTERSTELEFRAG)
DEFINE_FIELD_BIT(FLevelLocals, flags, actownspecial, LEVEL_ACTOWNSPECIAL) DEFINE_FIELD_BIT(FLevelLocals, flags, actownspecial, LEVEL_ACTOWNSPECIAL)
DEFINE_FIELD_BIT(FLevelLocals, flags, sndseqtotalctrl, LEVEL_SNDSEQTOTALCTRL) DEFINE_FIELD_BIT(FLevelLocals, flags, sndseqtotalctrl, LEVEL_SNDSEQTOTALCTRL)
DEFINE_FIELD_BIT(FLevelLocals, flags, useplayerstartz, LEVEL_USEPLAYERSTARTZ)
DEFINE_FIELD_BIT(FLevelLocals, flags2, allmap, LEVEL2_ALLMAP) DEFINE_FIELD_BIT(FLevelLocals, flags2, allmap, LEVEL2_ALLMAP)
DEFINE_FIELD_BIT(FLevelLocals, flags2, missilesactivateimpact, LEVEL2_MISSILESACTIVATEIMPACT) DEFINE_FIELD_BIT(FLevelLocals, flags2, missilesactivateimpact, LEVEL2_MISSILESACTIVATEIMPACT)
DEFINE_FIELD_BIT(FLevelLocals, flags2, monsterfallingdamage, LEVEL2_MONSTERFALLINGDAMAGE) DEFINE_FIELD_BIT(FLevelLocals, flags2, monsterfallingdamage, LEVEL2_MONSTERFALLINGDAMAGE)

View file

@ -163,8 +163,9 @@ class TelOtherFX1 : Actor
double destAngle; double destAngle;
[dest, destAngle] = level.PickPlayerStart(0, PPS_FORCERANDOM | PPS_NOBLOCKINGCHECK); [dest, destAngle] = level.PickPlayerStart(0, PPS_FORCERANDOM | PPS_NOBLOCKINGCHECK);
if (!level.useplayerstartz)
dest.Z = ONFLOORZ; dest.Z = ONFLOORZ;
victim.Teleport ((dest.xy, ONFLOORZ), destangle, TELF_SOURCEFOG | TELF_DESTFOG); victim.Teleport (dest, destangle, TELF_SOURCEFOG | TELF_DESTFOG);
} }
//=========================================================================== //===========================================================================

View file

@ -36,6 +36,7 @@ class ArtiTeleport : Inventory
{ {
[dest, destAngle] = level.PickPlayerStart(Owner.PlayerNumber()); [dest, destAngle] = level.PickPlayerStart(Owner.PlayerNumber());
} }
if (!level.useplayerstartz)
dest.Z = ONFLOORZ; dest.Z = ONFLOORZ;
Owner.Teleport (dest, destAngle, TELF_SOURCEFOG | TELF_DESTFOG); Owner.Teleport (dest, destAngle, TELF_SOURCEFOG | TELF_DESTFOG);
bool canlaugh = true; bool canlaugh = true;

View file

@ -437,6 +437,7 @@ struct LevelLocals native
native readonly bool no_dlg_freeze; native readonly bool no_dlg_freeze;
native readonly bool keepfullinventory; native readonly bool keepfullinventory;
native readonly bool removeitems; native readonly bool removeitems;
native readonly bool useplayerstartz;
native readonly int fogdensity; native readonly int fogdensity;
native readonly int outsidefogdensity; native readonly int outsidefogdensity;
native readonly int skyfog; native readonly int skyfog;