mirror of
https://github.com/ZDoom/Raze.git
synced 2025-01-31 04:20:42 +00:00
- killDudeLeech
This commit is contained in:
parent
040049f83e
commit
d892efb78a
2 changed files with 17 additions and 8 deletions
|
@ -1438,7 +1438,7 @@ void removeDudeStuff(DBloodActor* actor)
|
||||||
actPostSprite(actor2, kStatFree);
|
actPostSprite(actor2, kStatFree);
|
||||||
break;
|
break;
|
||||||
case kModernThingEnemyLifeLeech:
|
case kModernThingEnemyLifeLeech:
|
||||||
killDudeLeech(pSprite2);
|
killDudeLeech(actor2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1487,16 +1487,25 @@ void removeLeech(DBloodActor* actLeech, bool delSprite)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void killDudeLeech(spritetype* pLeech) {
|
|
||||||
if (pLeech != NULL) {
|
|
||||||
actDamageSprite(&bloodActors[pLeech->owner], &bloodActors[pLeech->index], kDamageExplode, 65535);
|
|
||||||
sfxPlay3DSoundCP(pLeech, 522, -1, 0, 60000);
|
|
||||||
|
|
||||||
if (pLeech->owner >= 0 && pLeech->owner < kMaxSprites)
|
void killDudeLeech(DBloodActor* actLeech)
|
||||||
gGenDudeExtra[sprite[pLeech->owner].index].pLifeLeech = nullptr;
|
{
|
||||||
|
if (actLeech != NULL)
|
||||||
|
{
|
||||||
|
actDamageSprite(actLeech->GetOwner(), actLeech, kDamageExplode, 65535);
|
||||||
|
sfxPlay3DSoundCP(actLeech, 522, -1, 0, 60000);
|
||||||
|
|
||||||
|
if (actLeech->GetOwner() != nullptr)
|
||||||
|
actLeech->GetOwner()->genDudeExtra().pLifeLeech = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
XSPRITE* getNextIncarnation(XSPRITE* pXSprite) {
|
XSPRITE* getNextIncarnation(XSPRITE* pXSprite) {
|
||||||
for (int i = bucketHead[pXSprite->txID]; i < bucketHead[pXSprite->txID + 1]; i++) {
|
for (int i = bucketHead[pXSprite->txID]; i < bucketHead[pXSprite->txID + 1]; i++) {
|
||||||
if (rxBucket[i].type != 3 || rxBucket[i].index == pXSprite->reference)
|
if (rxBucket[i].type != 3 || rxBucket[i].index == pXSprite->reference)
|
||||||
|
|
|
@ -196,7 +196,7 @@ struct GENDUDEEXTRA
|
||||||
extern GENDUDEEXTRA gGenDudeExtra[kMaxSprites];
|
extern GENDUDEEXTRA gGenDudeExtra[kMaxSprites];
|
||||||
|
|
||||||
XSPRITE* getNextIncarnation(XSPRITE* pXSprite);
|
XSPRITE* getNextIncarnation(XSPRITE* pXSprite);
|
||||||
void killDudeLeech(spritetype* pLeech);
|
void killDudeLeech(DBloodActor* pLeech);
|
||||||
void removeLeech(DBloodActor* pLeech, bool delSprite = true);
|
void removeLeech(DBloodActor* pLeech, bool delSprite = true);
|
||||||
void removeDudeStuff(DBloodActor* pSprite);
|
void removeDudeStuff(DBloodActor* pSprite);
|
||||||
DBloodActor* leechIsDropped(DBloodActor* pSprite);
|
DBloodActor* leechIsDropped(DBloodActor* pSprite);
|
||||||
|
|
Loading…
Reference in a new issue