mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-20 18:42:26 +00:00
- fixed a few oversights.
This commit is contained in:
parent
c2f6084988
commit
ca131f2dcf
4 changed files with 14 additions and 14 deletions
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue