mirror of
https://github.com/ZDoom/Raze.git
synced 2025-06-02 18:21:06 +00:00
- handle all hu = itActor.u();
This commit is contained in:
parent
86704b264e
commit
91a355a82e
3 changed files with 16 additions and 35 deletions
|
@ -589,10 +589,8 @@ int DoPhosphorus(DSWActor* actor)
|
||||||
case kHitSprite:
|
case kHitSprite:
|
||||||
{
|
{
|
||||||
short wall_ang;
|
short wall_ang;
|
||||||
USERp hu;
|
|
||||||
|
|
||||||
auto hitActor = u->coll.actor();
|
auto hitActor = u->coll.actor();
|
||||||
hu = hitActor->u();
|
|
||||||
|
|
||||||
if (TEST(hitActor->spr.cstat, CSTAT_SPRITE_ALIGNMENT_WALL))
|
if (TEST(hitActor->spr.cstat, CSTAT_SPRITE_ALIGNMENT_WALL))
|
||||||
{
|
{
|
||||||
|
@ -604,10 +602,10 @@ int DoPhosphorus(DSWActor* actor)
|
||||||
{
|
{
|
||||||
if (TEST(hitActor->spr.extra, SPRX_BURNABLE))
|
if (TEST(hitActor->spr.extra, SPRX_BURNABLE))
|
||||||
{
|
{
|
||||||
if (!hu)
|
if (!hitActor->hasU())
|
||||||
hu = SpawnUser(hitActor, hitActor->spr.picnum, nullptr);
|
SpawnUser(hitActor, hitActor->spr.picnum, nullptr);
|
||||||
SpawnFireballExp(actor);
|
SpawnFireballExp(actor);
|
||||||
if (hu)
|
if (hitActor->hasU())
|
||||||
SpawnFireballFlames(actor, hitActor);
|
SpawnFireballFlames(actor, hitActor);
|
||||||
DoFlamesDamageTest(actor);
|
DoFlamesDamageTest(actor);
|
||||||
}
|
}
|
||||||
|
@ -1455,7 +1453,6 @@ int PlayerInitFlashBomb(PLAYERp pp)
|
||||||
int dist, tx, ty, tmin;
|
int dist, tx, ty, tmin;
|
||||||
short damage;
|
short damage;
|
||||||
DSWActor* actor = pp->actor;
|
DSWActor* actor = pp->actor;
|
||||||
USERp hu;
|
|
||||||
|
|
||||||
PlaySound(DIGI_GASPOP, pp, v3df_dontpan | v3df_doppler);
|
PlaySound(DIGI_GASPOP, pp, v3df_dontpan | v3df_doppler);
|
||||||
|
|
||||||
|
@ -1467,8 +1464,6 @@ int PlayerInitFlashBomb(PLAYERp pp)
|
||||||
SWStatIterator it(StatDamageList[stat]);
|
SWStatIterator it(StatDamageList[stat]);
|
||||||
while (auto itActor = it.Next())
|
while (auto itActor = it.Next())
|
||||||
{
|
{
|
||||||
hu = itActor->u();
|
|
||||||
|
|
||||||
if (itActor == pp->Actor())
|
if (itActor == pp->Actor())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1484,16 +1479,16 @@ int PlayerInitFlashBomb(PLAYERp pp)
|
||||||
|
|
||||||
damage = GetDamage(itActor, pp->Actor(), DMG_FLASHBOMB);
|
damage = GetDamage(itActor, pp->Actor(), DMG_FLASHBOMB);
|
||||||
|
|
||||||
if (hu->sop_parent)
|
if (itActor->user.sop_parent)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (hu->PlayerP)
|
else if (itActor->user.PlayerP)
|
||||||
{
|
{
|
||||||
// if(hu->PlayerP->NightVision)
|
// if(itActor->user.PlayerP->NightVision)
|
||||||
// {
|
// {
|
||||||
// SetFadeAmt(hu->PlayerP, -200, 1); // Got him with night vision on!
|
// SetFadeAmt(itActor->user.PlayerP, -200, 1); // Got him with night vision on!
|
||||||
// PlayerUpdateHealth(hu->PlayerP, -15); // Hurt eyes
|
// PlayerUpdateHealth(itActor->user.PlayerP, -15); // Hurt eyes
|
||||||
// }else
|
// }else
|
||||||
if (damage < -70)
|
if (damage < -70)
|
||||||
{
|
{
|
||||||
|
@ -1503,7 +1498,7 @@ int PlayerInitFlashBomb(PLAYERp pp)
|
||||||
|
|
||||||
PlayerSound(PlayerLowHealthPainVocs[choosesnd],v3df_dontpan|v3df_doppler|v3df_follow,pp);
|
PlayerSound(PlayerLowHealthPainVocs[choosesnd],v3df_dontpan|v3df_doppler|v3df_follow,pp);
|
||||||
}
|
}
|
||||||
SetFadeAmt(hu->PlayerP, damage, 1); // White flash
|
SetFadeAmt(itActor->user.PlayerP, damage, 1); // White flash
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1522,7 +1517,6 @@ int InitFlashBomb(DSWActor* actor)
|
||||||
unsigned int stat;
|
unsigned int stat;
|
||||||
int dist, tx, ty, tmin;
|
int dist, tx, ty, tmin;
|
||||||
short damage;
|
short damage;
|
||||||
USERp hu;
|
|
||||||
PLAYERp pp = Player + screenpeek;
|
PLAYERp pp = Player + screenpeek;
|
||||||
|
|
||||||
PlaySound(DIGI_GASPOP, actor, v3df_dontpan | v3df_doppler);
|
PlaySound(DIGI_GASPOP, actor, v3df_dontpan | v3df_doppler);
|
||||||
|
@ -1532,8 +1526,6 @@ int InitFlashBomb(DSWActor* actor)
|
||||||
SWStatIterator it(StatDamageList[stat]);
|
SWStatIterator it(StatDamageList[stat]);
|
||||||
while (auto itActor = it.Next())
|
while (auto itActor = it.Next())
|
||||||
{
|
{
|
||||||
hu = itActor->u();
|
|
||||||
|
|
||||||
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, tx, ty, tmin);
|
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, tx, ty, tmin);
|
||||||
if (dist > 16384) // Flash radius
|
if (dist > 16384) // Flash radius
|
||||||
continue;
|
continue;
|
||||||
|
@ -1546,11 +1538,11 @@ int InitFlashBomb(DSWActor* actor)
|
||||||
|
|
||||||
damage = GetDamage(itActor, actor, DMG_FLASHBOMB);
|
damage = GetDamage(itActor, actor, DMG_FLASHBOMB);
|
||||||
|
|
||||||
if (hu->sop_parent)
|
if (itActor->user.sop_parent)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (hu->PlayerP)
|
else if (itActor->user.PlayerP)
|
||||||
{
|
{
|
||||||
if (damage < -70)
|
if (damage < -70)
|
||||||
{
|
{
|
||||||
|
@ -1560,7 +1552,7 @@ int InitFlashBomb(DSWActor* actor)
|
||||||
|
|
||||||
PlayerSound(PlayerLowHealthPainVocs[choosesnd],v3df_dontpan|v3df_doppler|v3df_follow,pp);
|
PlayerSound(PlayerLowHealthPainVocs[choosesnd],v3df_dontpan|v3df_doppler|v3df_follow,pp);
|
||||||
}
|
}
|
||||||
SetFadeAmt(hu->PlayerP, damage, 1); // White flash
|
SetFadeAmt(itActor->user.PlayerP, damage, 1); // White flash
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -5861,8 +5861,6 @@ void DoPlayerDeathCheckKick(PLAYERp pp)
|
||||||
SWStatIterator it(StatDamageList[stat]);
|
SWStatIterator it(StatDamageList[stat]);
|
||||||
while (auto itActor = it.Next())
|
while (auto itActor = it.Next())
|
||||||
{
|
{
|
||||||
auto hu = itActor->u();
|
|
||||||
|
|
||||||
if (itActor == pp->Actor())
|
if (itActor == pp->Actor())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -5872,7 +5870,7 @@ void DoPlayerDeathCheckKick(PLAYERp pp)
|
||||||
|
|
||||||
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, a, b, c);
|
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, a, b, c);
|
||||||
|
|
||||||
if (unsigned(dist) < hu->Radius + 100)
|
if (unsigned(dist) < itActor->user.Radius + 100)
|
||||||
{
|
{
|
||||||
pp->KillerActor = itActor;
|
pp->KillerActor = itActor;
|
||||||
|
|
||||||
|
|
|
@ -10899,15 +10899,12 @@ int DoFireball(DSWActor* actor)
|
||||||
{
|
{
|
||||||
case kHitSprite:
|
case kHitSprite:
|
||||||
{
|
{
|
||||||
USERp hu;
|
|
||||||
|
|
||||||
auto hitActor = u->coll.actor();
|
auto hitActor = u->coll.actor();
|
||||||
hu = hitActor->u();
|
|
||||||
|
|
||||||
if (TEST(hitActor->spr.extra, SPRX_BURNABLE))
|
if (TEST(hitActor->spr.extra, SPRX_BURNABLE))
|
||||||
{
|
{
|
||||||
if (!hitActor->hasU())
|
if (!hitActor->hasU())
|
||||||
hu = SpawnUser(hitActor, hitActor->spr.picnum, nullptr);
|
SpawnUser(hitActor, hitActor->spr.picnum, nullptr);
|
||||||
SpawnFireballFlames(actor, hitActor);
|
SpawnFireballFlames(actor, hitActor);
|
||||||
hit_burn = true;
|
hit_burn = true;
|
||||||
}
|
}
|
||||||
|
@ -14203,7 +14200,6 @@ int InitMicro(PLAYERp pp)
|
||||||
int InitRipperSlash(DSWActor* actor)
|
int InitRipperSlash(DSWActor* actor)
|
||||||
{
|
{
|
||||||
USER* u = actor->u();
|
USER* u = actor->u();
|
||||||
USERp hu;
|
|
||||||
int i;
|
int i;
|
||||||
unsigned stat;
|
unsigned stat;
|
||||||
int dist, a, b, c;
|
int dist, a, b, c;
|
||||||
|
@ -14215,12 +14211,10 @@ int InitRipperSlash(DSWActor* actor)
|
||||||
SWStatIterator it(StatDamageList[stat]);
|
SWStatIterator it(StatDamageList[stat]);
|
||||||
while (auto itActor = it.Next())
|
while (auto itActor = it.Next())
|
||||||
{
|
{
|
||||||
hu = itActor->u();
|
|
||||||
|
|
||||||
if (itActor == actor)
|
if (itActor == actor)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if ((unsigned)FindDistance3D(actor->spr.pos.X - itActor->spr.pos.X, actor->spr.pos.Y - itActor->spr.pos.Y, actor->spr.pos.Z - itActor->spr.pos.Z) > hu->Radius + u->Radius)
|
if ((unsigned)FindDistance3D(actor->spr.pos.X - itActor->spr.pos.X, actor->spr.pos.Y - itActor->spr.pos.Y, actor->spr.pos.Z - itActor->spr.pos.Z) > itActor->user.Radius + u->Radius)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, a, b, c);
|
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, a, b, c);
|
||||||
|
@ -15219,7 +15213,6 @@ int GenerateDrips(DSWActor* actor)
|
||||||
int InitEelFire(DSWActor* actor)
|
int InitEelFire(DSWActor* actor)
|
||||||
{
|
{
|
||||||
USER* u = actor->u();
|
USER* u = actor->u();
|
||||||
USERp hu;
|
|
||||||
unsigned stat;
|
unsigned stat;
|
||||||
int dist, a, b, c;
|
int dist, a, b, c;
|
||||||
|
|
||||||
|
@ -15228,15 +15221,13 @@ int InitEelFire(DSWActor* actor)
|
||||||
SWStatIterator it(StatDamageList[stat]);
|
SWStatIterator it(StatDamageList[stat]);
|
||||||
while (auto itActor = it.Next())
|
while (auto itActor = it.Next())
|
||||||
{
|
{
|
||||||
hu = itActor->u();
|
|
||||||
|
|
||||||
if (itActor == actor)
|
if (itActor == actor)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (itActor != u->targetActor)
|
if (itActor != u->targetActor)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((unsigned)FindDistance3D(actor->spr.pos.X - itActor->spr.pos.X, actor->spr.pos.Y - itActor->spr.pos.Y, actor->spr.pos.Z - itActor->spr.pos.Z) > hu->Radius + u->Radius)
|
if ((unsigned)FindDistance3D(actor->spr.pos.X - itActor->spr.pos.X, actor->spr.pos.Y - itActor->spr.pos.Y, actor->spr.pos.Z - itActor->spr.pos.Z) > itActor->user.Radius + u->Radius)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, a, b, c);
|
DISTANCE(itActor->spr.pos.X, itActor->spr.pos.Y, actor->spr.pos.X, actor->spr.pos.Y, dist, a, b, c);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue