- added Xaser's submission for no impact damage from blasting.

SVN r3693 (trunk)
This commit is contained in:
Christoph Oelckers 2012-06-16 09:01:05 +00:00
commit 37d9519673
5 changed files with 23 additions and 8 deletions

View file

@ -776,6 +776,12 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Explode)
}
}
enum
{
RTF_AFFECTSOURCE = 1,
RTF_NOIMPACTDAMAGE = 2,
};
//==========================================================================
//
// A_RadiusThrust
@ -787,9 +793,12 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_RadiusThrust)
ACTION_PARAM_START(3);
ACTION_PARAM_INT(force, 0);
ACTION_PARAM_INT(distance, 1);
ACTION_PARAM_BOOL(affectSource, 2);
ACTION_PARAM_INT(thrustFlags, 2);
ACTION_PARAM_INT(fullthrustdistance, 3);
bool affectSource = !!(thrustFlags & RTF_AFFECTSOURCE);
bool noimpactdamage = !!(thrustFlags & RTF_NOIMPACTDAMAGE);
bool sourcenothrust = false;
if (force <= 0) force = 128;
@ -803,7 +812,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_RadiusThrust)
}
int sourceflags2 = self->target != NULL ? self->target->flags2 : 0;
P_RadiusAttack (self, self->target, force, distance, self->DamageType, affectSource, false, fullthrustdistance);
P_RadiusAttack (self, self->target, force, distance, self->DamageType, affectSource, false, fullthrustdistance, noimpactdamage);
P_CheckSplash(self, distance << FRACBITS);
if (sourcenothrust)