mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-10 06:42:08 +00:00
- Fixed: Floor and ceiling huggers' velocity was wrong when used with
P_SpawnPlayerMissile. - Fixed: When hitting a voodoo doll the real player needs to be checked for invulnerability. SVN r1885 (trunk)
This commit is contained in:
parent
c628ac48cd
commit
f2c77c5f08
3 changed files with 15 additions and 9 deletions
|
@ -1,4 +1,8 @@
|
|||
September 27, 2009 (Changes by Graf Zahl)
|
||||
- Fixed: Floor and ceiling huggers' velocity was wrong when used with
|
||||
P_SpawnPlayerMissile.
|
||||
- Fixed: When hitting a voodoo doll the real player needs to be checked for
|
||||
invulnerability.
|
||||
- Fixed: G_QueueBody was not notifying the translation that it was changed.
|
||||
- Fixed: The multitexture composition code was missing a NULL pointer check.
|
||||
- fixed: The changes for new colormap handling in FMultipatchtexture were incomplete.
|
||||
|
|
|
@ -1088,6 +1088,7 @@ void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage
|
|||
//
|
||||
if (player)
|
||||
{
|
||||
|
||||
//Added by MC: Lets bots look allround for enemies if they survive an ambush.
|
||||
if (player->isbot)
|
||||
{
|
||||
|
@ -1103,8 +1104,9 @@ void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage
|
|||
|
||||
if (!(flags & DMG_FORCED))
|
||||
{
|
||||
if (damage < TELEFRAG_DAMAGE && ((target->flags2 & MF2_INVULNERABLE) ||
|
||||
(target->player->cheats & CF_GODMODE)))
|
||||
// check the real player, not a voodoo doll here for invulnerability effects
|
||||
if (damage < TELEFRAG_DAMAGE && ((player->mo->flags2 & MF2_INVULNERABLE) ||
|
||||
(player->cheats & CF_GODMODE)))
|
||||
{ // player is invulnerable, so don't hurt him
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -5177,16 +5177,16 @@ AActor *P_SpawnPlayerMissile (AActor *source, fixed_t x, fixed_t y, fixed_t z,
|
|||
vz = -finesine[pitch>>ANGLETOFINESHIFT];
|
||||
speed = MissileActor->Speed;
|
||||
|
||||
MissileActor->velx = FixedMul (vx, speed);
|
||||
MissileActor->vely = FixedMul (vy, speed);
|
||||
FVector3 vec(vx, vy, vz);
|
||||
|
||||
if (MissileActor->flags3 & (MF3_FLOORHUGGER|MF3_CEILINGHUGGER))
|
||||
{
|
||||
MissileActor->velz = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
MissileActor->velz = FixedMul (vz, speed);
|
||||
vec.Z = 0;
|
||||
}
|
||||
vec.Resize(speed);
|
||||
MissileActor->velx = (fixed_t)vec.X;
|
||||
MissileActor->vely = (fixed_t)vec.Y;
|
||||
MissileActor->velz = (fixed_t)vec.Z;
|
||||
|
||||
if (MissileActor->flags4 & MF4_SPECTRAL)
|
||||
MissileActor->health = -1;
|
||||
|
|
Loading…
Reference in a new issue