- renaming things in StompSeqCallback

This commit is contained in:
Christoph Oelckers 2022-09-27 09:55:21 +02:00
parent 0ed4b8b01a
commit e9fc0d09a9

View file

@ -82,16 +82,15 @@ void SlashSeqCallback(int, DBloodActor* actor)
void StompSeqCallback(int, DBloodActor* actor) void StompSeqCallback(int, DBloodActor* actor)
{ {
int angx = bcos(actor->int_ang());
int angy = bsin(actor->int_ang());
auto pos = actor->spr.pos; auto pos = actor->spr.pos;
const int vc = 400; const int nDist = 400;
auto pSector = actor->sector(); auto pSector = actor->sector();
int v1c = 5 + 2 * gGameOptions.nDifficulty; int nBaseDamage = 5 + 2 * gGameOptions.nDifficulty;
int v10 = 25 + 30 * gGameOptions.nDifficulty; int nBaseDamage2 = 25 + 30 * gGameOptions.nDifficulty;
const bool newSectCheckMethod = !cl_bloodvanillaenemies && !VanillaMode(); // use new sector checking logic const bool newSectCheckMethod = !cl_bloodvanillaenemies && !VanillaMode(); // use new sector checking logic
auto sectorMap = GetClosestSpriteSectors(pSector, actor->spr.pos.XY(), vc, nullptr, newSectCheckMethod); auto sectorMap = GetClosestSpriteSectors(pSector, actor->spr.pos.XY(), nDist, nullptr, newSectCheckMethod);
int hit = HitScan(actor, actor->spr.pos.Z, angx, angy, 0, CLIPMASK1, 0); int hit = HitScan(actor, actor->spr.pos.Z, DVector3(actor->spr.angle.ToVector() * 1024, 0), CLIPMASK1, 0);
DBloodActor* actorh = nullptr; DBloodActor* actorh = nullptr;
actHitcodeToData(hit, &gHitInfo, &actorh); actHitcodeToData(hit, &gHitInfo, &actorh);
@ -106,20 +105,20 @@ void StompSeqCallback(int, DBloodActor* actor)
continue; continue;
if (actor2->spr.flags & 32) if (actor2->spr.flags & 32)
continue; continue;
if (CheckSector(sectorMap, actor2) && CheckProximity(actor2, pos, pSector, vc << 4)) if (CheckSector(sectorMap, actor2) && CheckProximity(actor2, pos, pSector, nDist << 4))
{ {
double top, bottom; double top, bottom;
GetActorExtents(actor, &top, &bottom); GetActorExtents(actor, &top, &bottom);
if (abs(bottom - pSector->floorz) == 0) if (abs(bottom - pSector->floorz) == 0)
{ {
double nDist2 = (actor->spr.pos.XY() - actor2->spr.pos.XY()).Length(); double nDist2 = (actor->spr.pos.XY() - actor2->spr.pos.XY()).Length();
if (nDist2 <= vc) if (nDist2 <= nDist)
{ {
int nDamage; int nDamage;
if (nDist2 <= 0) if (nDist2 <= 0)
nDamage = v1c + v10; nDamage = nBaseDamage + nBaseDamage2;
else else
nDamage = v1c + v10 * ((vc - nDist2) / vc); nDamage = nBaseDamage + nBaseDamage2 * ((nDist - nDist2) / nDist);
if (actor2->IsPlayerActor()) if (actor2->IsPlayerActor())
gPlayer[actor2->spr.type - kDudePlayer1].quakeEffect += nDamage * 4; gPlayer[actor2->spr.type - kDudePlayer1].quakeEffect += nDamage * 4;
actDamageSprite(actor, actor2, kDamageFall, nDamage << 4); actDamageSprite(actor, actor2, kDamageFall, nDamage << 4);
@ -134,19 +133,19 @@ void StompSeqCallback(int, DBloodActor* actor)
{ {
if (actor2->spr.flags & 32) if (actor2->spr.flags & 32)
continue; continue;
if (CheckSector(sectorMap, actor2) && CheckProximity(actor2, pos, pSector, vc << 4)) if (CheckSector(sectorMap, actor2) && CheckProximity(actor2, pos, pSector, nDist << 4))
{ {
if (actor2->xspr.locked) if (actor2->xspr.locked)
continue; continue;
double nDist2 = (actor->spr.pos.XY() - actor2->spr.pos.XY()).Length(); double nDist2 = (actor->spr.pos.XY() - actor2->spr.pos.XY()).Length();
if (nDist2 <= vc) if (nDist2 <= nDist)
{ {
int nDamage; int nDamage;
if (nDist2 <= 0) if (nDist2 <= 0)
nDamage = v1c + v10; nDamage = nBaseDamage + nBaseDamage2;
else else
nDamage = v1c + v10 * ((vc - nDist2) / vc); nDamage = nBaseDamage + nBaseDamage2 * ((nDist - nDist2) / nDist);
if (actor2->IsPlayerActor()) if (actor2->IsPlayerActor())
gPlayer[actor2->spr.type - kDudePlayer1].quakeEffect += nDamage * 4; gPlayer[actor2->spr.type - kDudePlayer1].quakeEffect += nDamage * 4;