diff --git a/source/games/blood/src/aiunicult.cpp b/source/games/blood/src/aiunicult.cpp index 57a1f971653..581d2aa52af 100644 --- a/source/games/blood/src/aiunicult.cpp +++ b/source/games/blood/src/aiunicult.cpp @@ -1531,11 +1531,12 @@ bool dudeIsMelee(DBloodActor* actor) // //--------------------------------------------------------------------------- -void scaleDamage(XSPRITE* pXSprite) { - - short curWeapon = gGenDudeExtra[sprite[pXSprite->reference].index].curWeapon; - short weaponType = gGenDudeExtra[sprite[pXSprite->reference].index].weaponType; - signed short* curScale = gGenDudeExtra[sprite[pXSprite->reference].index].dmgControl; +static void scaleDamage(DBloodActor* actor) +{ + auto const pXSprite = &actor->x(); + short curWeapon = actor->genDudeExtra().curWeapon; + short weaponType = actor->genDudeExtra().weaponType; + signed short* curScale = actor->genDudeExtra().dmgControl; for (int i = 0; i < kDmgMax; i++) curScale[i] = getDudeInfo(kDudeModernCustom)->startDamage[i]; @@ -2315,7 +2316,7 @@ bool genDudePrepare(spritetype* pSprite, int propId) { } case kGenDudePropertyDmgScale: - scaleDamage(pXSprite); + scaleDamage(actor); if (propId) break; [[fallthrough]]; diff --git a/source/games/blood/src/aiunicult.h b/source/games/blood/src/aiunicult.h index 4c8d0912c33..cd550c06123 100644 --- a/source/games/blood/src/aiunicult.h +++ b/source/games/blood/src/aiunicult.h @@ -228,7 +228,6 @@ short inDuck(AISTATE* aiState); int genDudeSeqStartId(XSPRITE* pXSprite); int getRangeAttackDist(spritetype* pSprite, int minDist = 3000, int maxDist = 80000); int getDispersionModifier(spritetype* pSprite, int minDisp, int maxDisp); -void scaleDamage(XSPRITE* pXSprite); bool genDudePrepare(spritetype* pSprite, int propId); void genDudeUpdate(DBloodActor* pSprite); void genDudePostDeath(spritetype* pSprite, DAMAGE_TYPE damageType, int damage);