- Allow teleport fogs to set the teleporting actors as their targets, so modders can create interactions between the two.
- Fixed: P_MoveThing had source and destination fog spawning backwards. - Fixed a case where the NOTELEPORT flag would be ignored on A_Teleport. - Added pointer selection to A_Teleport. Defaults to AAPTR_DEFAULT (calling actor). State jumps will only be done by the calling actor.
This commit is contained in:
parent
c5a4221b58
commit
1799ae91c9
4 changed files with 60 additions and 34 deletions
|
|
@ -94,7 +94,7 @@ bool P_Thing_Spawn (int tid, AActor *source, int type, angle_t angle, bool fog,
|
|||
mobj->angle = (angle != ANGLE_MAX ? angle : spot->angle);
|
||||
if (fog)
|
||||
{
|
||||
P_SpawnTeleportFog(mobj, spot->x, spot->y, spot->z + TELEFOGHEIGHT, false);
|
||||
P_SpawnTeleportFog(mobj, spot->x, spot->y, spot->z + TELEFOGHEIGHT, false, true);
|
||||
}
|
||||
if (mobj->flags & MF_SPECIAL)
|
||||
mobj->flags |= MF_DROPPED; // Don't respawn
|
||||
|
|
@ -132,8 +132,8 @@ bool P_MoveThing(AActor *source, fixed_t x, fixed_t y, fixed_t z, bool fog)
|
|||
{
|
||||
if (fog)
|
||||
{
|
||||
P_SpawnTeleportFog(source, x, y, z);
|
||||
P_SpawnTeleportFog(source, oldx, oldy, oldz, false);
|
||||
P_SpawnTeleportFog(source, x, y, z, false, true);
|
||||
P_SpawnTeleportFog(source, oldx, oldy, oldz, true, true);
|
||||
}
|
||||
source->PrevX = x;
|
||||
source->PrevY = y;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue