mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-28 06:53:40 +00:00
- Moved the terget->velz assignment to the end of A_VileAttack to remove the
influence of vertical thrust from the radius attack, since ZDoom does explosions in three dimensions, but Doom only did it in two. - Fixed: The last three parameters to A_VileAttack had their references off by one. Most notably as a result, the blast radius was used as the thrust, so it sent you flying far faster than it should have. SVN r1745 (trunk)
This commit is contained in:
parent
1e554a1fcc
commit
8330a69212
2 changed files with 12 additions and 7 deletions
|
@ -1,4 +1,10 @@
|
||||||
August 1, 2009
|
August 1, 2009
|
||||||
|
- Moved the terget->velz assignment to the end of A_VileAttack to remove the
|
||||||
|
influence of vertical thrust from the radius attack, since ZDoom does
|
||||||
|
explosions in three dimensions, but Doom only did it in two.
|
||||||
|
- Fixed: The last three parameters to A_VileAttack had their references off
|
||||||
|
by one. Most notably as a result, the blast radius was used as the thrust,
|
||||||
|
so it sent you flying far faster than it should have.
|
||||||
- Restored the reactiontime countdown for A_SpawnFly, since some Dehacked
|
- Restored the reactiontime countdown for A_SpawnFly, since some Dehacked
|
||||||
mod could conceivable rely on it. The deadline is now kept in special2
|
mod could conceivable rely on it. The deadline is now kept in special2
|
||||||
and used in preference as long as it is non-zero.
|
and used in preference as long as it is non-zero.
|
||||||
|
|
|
@ -103,16 +103,16 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileTarget)
|
||||||
//
|
//
|
||||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
||||||
{
|
{
|
||||||
ACTION_PARAM_START(5);
|
ACTION_PARAM_START(6);
|
||||||
ACTION_PARAM_SOUND(snd,0);
|
ACTION_PARAM_SOUND(snd,0);
|
||||||
ACTION_PARAM_INT(dmg,1);
|
ACTION_PARAM_INT(dmg,1);
|
||||||
ACTION_PARAM_INT(blastdmg,2);
|
ACTION_PARAM_INT(blastdmg,2);
|
||||||
ACTION_PARAM_INT(blastrad,2);
|
ACTION_PARAM_INT(blastrad,3);
|
||||||
ACTION_PARAM_FIXED(thrust,3);
|
ACTION_PARAM_FIXED(thrust,4);
|
||||||
ACTION_PARAM_NAME(dmgtype,4);
|
ACTION_PARAM_NAME(dmgtype,5);
|
||||||
|
|
||||||
AActor *fire, *target;
|
AActor *fire, *target;
|
||||||
int an;
|
angle_t an;
|
||||||
|
|
||||||
if (NULL == (target = self->target))
|
if (NULL == (target = self->target))
|
||||||
return;
|
return;
|
||||||
|
@ -125,10 +125,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
||||||
S_Sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM);
|
||||||
P_TraceBleed (dmg, target);
|
P_TraceBleed (dmg, target);
|
||||||
P_DamageMobj (target, self, self, dmg, NAME_None);
|
P_DamageMobj (target, self, self, dmg, NAME_None);
|
||||||
target->velz = Scale(thrust, 1000, target->Mass);
|
|
||||||
|
|
||||||
an = self->angle >> ANGLETOFINESHIFT;
|
an = self->angle >> ANGLETOFINESHIFT;
|
||||||
|
|
||||||
fire = self->tracer;
|
fire = self->tracer;
|
||||||
|
|
||||||
if (fire != NULL)
|
if (fire != NULL)
|
||||||
|
@ -140,4 +138,5 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
||||||
|
|
||||||
P_RadiusAttack (fire, self, blastdmg, blastrad, dmgtype, false);
|
P_RadiusAttack (fire, self, blastdmg, blastrad, dmgtype, false);
|
||||||
}
|
}
|
||||||
|
target->velz = Scale(thrust, 1000, target->Mass);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue