- fix ironlich whirlwind blaming the victim for its damage

This commit is contained in:
Rachael Alexanderson 2025-05-23 14:44:32 -04:00
commit d357b7956f
No known key found for this signature in database
GPG key ID: 26A8ACCE97115EE0

View file

@ -299,29 +299,29 @@ class Whirlwind : Actor
Stop;
}
override int DoSpecialDamage (Actor target, int damage, Name damagetype)
override int DoSpecialDamage (Actor victim, int damage, Name damagetype)
{
int randVal;
if (!target.bDontThrust)
{
target.angle += Random2[WhirlwindDamage]() * (360 / 4096.);
target.Vel.X += Random2[WhirlwindDamage]() / 64.;
target.Vel.Y += Random2[WhirlwindDamage]() / 64.;
victim.angle += Random2[WhirlwindDamage]() * (360 / 4096.);
victim.Vel.X += Random2[WhirlwindDamage]() / 64.;
victim.Vel.Y += Random2[WhirlwindDamage]() / 64.;
}
if ((Level.maptime & 16) && !target.bBoss && !target.bDontThrust)
if ((Level.maptime & 16) && !victim.bBoss && !victim.bDontThrust)
{
randVal = min(160, random[WhirlwindSeek]());
target.Vel.Z += randVal / 32.;
if (target.Vel.Z > 12)
victim.Vel.Z += randVal / 32.;
if (victim.Vel.Z > 12)
{
target.Vel.Z = 12;
victim.Vel.Z = 12;
}
}
if (!(Level.maptime & 7))
{
target.DamageMobj (null, target, 3, 'Melee');
target.DamageMobj (null, victim, 3, 'Melee');
}
return -1;
}