- fixed a few oversights.

This commit is contained in:
Christoph Oelckers 2021-08-29 09:44:08 +02:00
parent c2f6084988
commit ca131f2dcf
4 changed files with 14 additions and 14 deletions

View file

@ -3690,7 +3690,7 @@ static int actDamageDude(DBloodActor* source, DBloodActor* actor, int damage, DA
if (!nDamageFactor) return 0;
else if (nDamageFactor != 256) damage = MulScale(damage, nDamageFactor, 8);
if (!IsPlayerSprite(pSprite))
if (!actor->IsPlayerActor())
{
if (pXSprite->health <= 0) return 0;
damage = aiDamageSprite(source, actor, damageType, damage);
@ -4259,7 +4259,7 @@ static void checkCeilHit(DBloodActor* actor)
#ifdef NOONE_EXTENSIONS
// add size shroom abilities
if ((actor->IsPlayerActor() && isShrinked(pSprite)) || (IsPlayerSprite(pSprite2) && isGrown(pSprite2))) {
if ((actor->IsPlayerActor() && isShrinked(pSprite)) || (actor2->IsPlayerActor() && isGrown(pSprite2))) {
int mass1 = getDudeInfo(pSprite2->type)->mass;
int mass2 = getDudeInfo(pSprite->type)->mass;
@ -5088,7 +5088,7 @@ void MoveDude(DBloodActor* actor)
}
#ifdef NOONE_EXTENSIONS
if (IsDudeSprite(pSprite) && pXSprite->health > 0 && aiInPatrolState(nAiStateType))
if (actor->IsDudeActor() && pXSprite->health > 0 && aiInPatrolState(nAiStateType))
aiPatrolState(pSprite, kAiStatePatrolMoveL); // continue patrol when going from water
#endif
}
@ -5191,7 +5191,7 @@ void MoveDude(DBloodActor* actor)
}
// continue patrol when fall into water
if (IsDudeSprite(pSprite) && pXSprite->health > 0 && aiInPatrolState(nAiStateType))
if (actor->IsDudeActor() && pXSprite->health > 0 && aiInPatrolState(nAiStateType))
aiPatrolState(pSprite, kAiStatePatrolMoveW);
}

View file

@ -267,7 +267,7 @@ void genDudeAttack1(int, DBloodActor* actor)
spritetype* pSpawned = &spawned->s();
pSpawned->owner = pSprite->index;
if (xspriRangeIsFine(pSpawned->extra))
if (spawned->hasX())
{
spawned->SetTarget(actor->GetTarget());
if (spawned->GetTarget() != nullptr)

View file

@ -251,7 +251,8 @@ void Respawn(DBloodActor* actor, int) // 9
pXSprite->respawnPending = 0;
pXSprite->burnTime = 0;
pXSprite->isTriggered = 0;
if (IsDudeSprite(pSprite)) {
if (actor->IsDudeActor())
{
int nType = pSprite->type-kDudeBase;
pSprite->x = actor->basePoint().x;
pSprite->y = actor->basePoint().y;

View file

@ -448,7 +448,7 @@ bool nnExtEraseModernStuff(DBloodActor* actor)
//---------------------------------------------------------------------------
//
// todo later. This depends on condSerialize.
//
//---------------------------------------------------------------------------
@ -2970,12 +2970,11 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, int objIndex, D
}
// search for dudes in this sector and change their underwater status
int nSprite;
SectIterator it(objIndex);
while ((nSprite = it.NextIndex()) >= 0)
BloodSectIterator it(objIndex);
while (auto iactor = it.Next())
{
spritetype* pSpr = &sprite[nSprite];
if (pSpr->statnum != kStatDude || !IsDudeSprite(pSpr) || !xspriRangeIsFine(pSpr->extra))
spritetype* pSpr = &iactor->s();
if (pSpr->statnum != kStatDude || !iactor->IsDudeActor() || ! iactor->hasX())
continue;
PLAYER* pPlayer = getPlayerById(pSpr->type);
@ -4445,7 +4444,7 @@ bool condCheckSprite(XSPRITE* pXCond, int cmpOp, bool PUSH) {
if ((pPlayer = getPlayerById(pSpr->type)) != NULL)
var = HitScan(pSpr, pPlayer->zWeapon, pPlayer->aim.dx, pPlayer->aim.dy, pPlayer->aim.dz, arg1, arg3 << 1);
else if (IsDudeSprite(pSpr))
var = HitScan(pSpr, pSpr->z, bcos(pSpr->ang), bsin(pSpr->ang), (!xspriRangeIsFine(pSpr->extra)) ? 0 : spractor->dudeSlope, arg1, arg3 << 1);
var = HitScan(pSpr, pSpr->z, bcos(pSpr->ang), bsin(pSpr->ang), (!spractor->hasX()) ? 0 : spractor->dudeSlope, arg1, arg3 << 1);
else if ((var2 & CSTAT_SPRITE_ALIGNMENT_MASK) == CSTAT_SPRITE_ALIGNMENT_FLOOR) {
var3 = (var2 & 0x0008) ? 0x10000 << 1 : -(0x10000 << 1);
@ -5476,7 +5475,7 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT event)
}
if (pSprite->statnum == kStatDude && IsDudeSprite(pSprite))
if (pSprite->statnum == kStatDude && actor->IsDudeActor())
{
switch (event.cmd)
{