This commit is contained in:
Christoph Oelckers 2013-08-10 10:21:00 +02:00
commit c88bf3108c
6 changed files with 126 additions and 101 deletions

View file

@ -331,6 +331,8 @@ enum
MF6_DOHARMSPECIES = 0x08000000, // Do hurt one's own species with projectiles. MF6_DOHARMSPECIES = 0x08000000, // Do hurt one's own species with projectiles.
MF6_INTRYMOVE = 0x10000000, // Executing P_TryMove MF6_INTRYMOVE = 0x10000000, // Executing P_TryMove
MF6_NOTAUTOAIMED = 0x20000000, // Do not subject actor to player autoaim. MF6_NOTAUTOAIMED = 0x20000000, // Do not subject actor to player autoaim.
MF6_NOTONAUTOMAP = 0x40000000, // will not be shown on automap with the 'scanner' powerup.
MF6_RELATIVETOFLOOR = 0x80000000, // [RC] Make flying actors be affected by lifts.
// --- mobj.renderflags --- // --- mobj.renderflags ---

View file

@ -2615,6 +2615,8 @@ void AM_drawThings ()
{ {
t = sectors[i].thinglist; t = sectors[i].thinglist;
while (t) while (t)
{
if (am_cheat > 0 || !(t->flags6 & MF6_NOTONAUTOMAP))
{ {
p.x = t->x >> FRACTOMAPBITS; p.x = t->x >> FRACTOMAPBITS;
p.y = t->y >> FRACTOMAPBITS; p.y = t->y >> FRACTOMAPBITS;
@ -2723,7 +2725,7 @@ void AM_drawThings ()
AM_drawLineCharacter (box, 4, t->radius >> FRACTOMAPBITS, angle - t->angle, color, p.x, p.y); AM_drawLineCharacter (box, 4, t->radius >> FRACTOMAPBITS, angle - t->angle, color, p.x, p.y);
} }
} }
}
t = t->snext; t = t->snext;
} }
} }

View file

@ -1697,7 +1697,7 @@ void APowerRegeneration::DoEffect()
{ {
if (Owner != NULL && Owner->health > 0 && (level.time & 31) == 0) if (Owner != NULL && Owner->health > 0 && (level.time & 31) == 0)
{ {
if (P_GiveBody(Owner, 5)) if (P_GiveBody(Owner, Strength))
{ {
S_Sound(Owner, CHAN_ITEM, "*regenerate", 1, ATTN_NORM ); S_Sound(Owner, CHAN_ITEM, "*regenerate", 1, ATTN_NORM );
} }

View file

@ -5047,6 +5047,15 @@ void PIT_FloorDrop (AActor *thing, FChangePosition *cpos)
P_CheckFakeFloorTriggers (thing, oldz); P_CheckFakeFloorTriggers (thing, oldz);
} }
} }
else if ((thing->z != oldfloorz && !(thing->flags & MF_NOLIFTDROP)))
{
fixed_t oldz = thing->z;
if ((thing->flags & MF_NOGRAVITY) && (thing->flags6 & MF6_RELATIVETOFLOOR))
{
thing->z = thing->z - oldfloorz + thing->floorz;
P_CheckFakeFloorTriggers (thing, oldz);
}
}
} }
//============================================================================= //=============================================================================
@ -5058,6 +5067,7 @@ void PIT_FloorDrop (AActor *thing, FChangePosition *cpos)
void PIT_FloorRaise (AActor *thing, FChangePosition *cpos) void PIT_FloorRaise (AActor *thing, FChangePosition *cpos)
{ {
fixed_t oldfloorz = thing->floorz; fixed_t oldfloorz = thing->floorz;
fixed_t oldz = thing->z;
P_AdjustFloorCeil (thing, cpos); P_AdjustFloorCeil (thing, cpos);
@ -5072,8 +5082,17 @@ void PIT_FloorRaise (AActor *thing, FChangePosition *cpos)
return; // do not move bridge things return; // do not move bridge things
} }
intersectors.Clear (); intersectors.Clear ();
fixed_t oldz = thing->z;
thing->z = thing->floorz; thing->z = thing->floorz;
}
else
{
if((thing->flags & MF_NOGRAVITY) && (thing->flags6 & MF6_RELATIVETOFLOOR))
{
intersectors.Clear ();
thing->z = thing->z - oldfloorz + thing->floorz;
}
else return;
}
switch (P_PushUp (thing, cpos)) switch (P_PushUp (thing, cpos))
{ {
default: default:
@ -5088,7 +5107,6 @@ void PIT_FloorRaise (AActor *thing, FChangePosition *cpos)
thing->z = oldz; thing->z = oldz;
break; break;
} }
}
} }
//============================================================================= //=============================================================================

View file

@ -234,6 +234,8 @@ static FFlagDef ActorFlags[]=
DEFINE_FLAG(MF6, DOHARMSPECIES, AActor, flags6), DEFINE_FLAG(MF6, DOHARMSPECIES, AActor, flags6),
DEFINE_FLAG(MF6, POISONALWAYS, AActor, flags6), DEFINE_FLAG(MF6, POISONALWAYS, AActor, flags6),
DEFINE_FLAG(MF6, NOTAUTOAIMED, AActor, flags6), DEFINE_FLAG(MF6, NOTAUTOAIMED, AActor, flags6),
DEFINE_FLAG(MF6, NOTONAUTOMAP, AActor, flags6),
DEFINE_FLAG(MF6, RELATIVETOFLOOR, AActor, flags6),
// Effect flags // Effect flags
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects), DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),

View file

@ -300,6 +300,7 @@ ACTOR PowerDrain : Powerup native
ACTOR PowerRegeneration : Powerup native ACTOR PowerRegeneration : Powerup native
{ {
Powerup.Duration -120 Powerup.Duration -120
Powerup.Strength 5
} }
ACTOR PowerHighJump : Powerup native {} ACTOR PowerHighJump : Powerup native {}