- replaced changespritestat with ChangeActorStat in newstatus.

Like before, just one search / replace for all of this.
This commit is contained in:
Christoph Oelckers 2021-11-13 20:46:08 +01:00
parent a789fe97af
commit c62dff2606
2 changed files with 113 additions and 108 deletions

View file

@ -192,5 +192,9 @@ inline FSerializer& Serialize(FSerializer& arc, const char* keyname, DWHActor*&
return arc; return arc;
} }
inline void ChangeActorStat(DWHActor* actor, int newstat)
{
changespritestat(actor->GetSpriteIndex(), newstat);
}
END_SW_NS END_SW_NS

View file

@ -136,32 +136,33 @@ void processobjs(PLAYER& plr) {
} }
void newstatus(short sn, const int seq) { void newstatus(short sn, const int seq) {
auto& spr = sprite[sn]; auto actor = &whActors[sn];
auto& spr = actor->s();
switch (seq) { switch (seq) {
case AMBUSH: case AMBUSH:
changespritestat(sn, AMBUSH); ChangeActorStat(actor, AMBUSH);
break; break;
case LAND: case LAND:
changespritestat(sn, LAND); ChangeActorStat(actor, LAND);
break; break;
case EVILSPIRIT: case EVILSPIRIT:
changespritestat(sn, EVILSPIRIT); ChangeActorStat(actor, EVILSPIRIT);
spr.lotag = (short) (120 + (krand() & 64)); spr.lotag = (short) (120 + (krand() & 64));
break; break;
case PATROL: case PATROL:
changespritestat(sn, PATROL); ChangeActorStat(actor, PATROL);
break; break;
case WARPFX: case WARPFX:
changespritestat(sn, WARPFX); ChangeActorStat(actor, WARPFX);
spr.lotag = 12; spr.lotag = 12;
break; break;
case NUKED: case NUKED:
changespritestat(sn, NUKED); ChangeActorStat(actor, NUKED);
if (!isWh2()) if (!isWh2())
spr.lotag = 24; spr.lotag = 24;
break; break;
case BROKENVASE: case BROKENVASE:
changespritestat(sn, BROKENVASE); ChangeActorStat(actor, BROKENVASE);
switch (spr.picnum) { switch (spr.picnum) {
case VASEA: case VASEA:
spritesound(S_GLASSBREAK1 + (krand() % 3), &spr); spritesound(S_GLASSBREAK1 + (krand() % 3), &spr);
@ -197,47 +198,47 @@ void newstatus(short sn, const int seq) {
spr.cstat &= ~3; spr.cstat &= ~3;
break; break;
case DRAIN: case DRAIN:
changespritestat(sn, DRAIN); ChangeActorStat(actor, DRAIN);
spr.lotag = 24; spr.lotag = 24;
spr.pal = 7; spr.pal = 7;
break; break;
case ANIMLEVERDN: case ANIMLEVERDN:
spritesound(S_PULLCHAIN1, &spr); spritesound(S_PULLCHAIN1, &spr);
spr.picnum = LEVERUP; spr.picnum = LEVERUP;
changespritestat(sn, ANIMLEVERDN); ChangeActorStat(actor, ANIMLEVERDN);
spr.lotag = 24; spr.lotag = 24;
break; break;
case ANIMLEVERUP: case ANIMLEVERUP:
spritesound(S_PULLCHAIN1, &spr); spritesound(S_PULLCHAIN1, &spr);
spr.picnum = LEVERDOWN; spr.picnum = LEVERDOWN;
changespritestat(sn, ANIMLEVERUP); ChangeActorStat(actor, ANIMLEVERUP);
spr.lotag = 24; spr.lotag = 24;
break; break;
case SKULLPULLCHAIN1: case SKULLPULLCHAIN1:
case PULLTHECHAIN: case PULLTHECHAIN:
spritesound(S_PULLCHAIN1, &spr); spritesound(S_PULLCHAIN1, &spr);
changespritestat(sn, PULLTHECHAIN); ChangeActorStat(actor, PULLTHECHAIN);
SND_Sound(S_CHAIN1); SND_Sound(S_CHAIN1);
spr.lotag = 24; spr.lotag = 24;
break; break;
case FROZEN: case FROZEN:
// JSA_NEW // JSA_NEW
spritesound(S_FREEZE, &spr); spritesound(S_FREEZE, &spr);
changespritestat(sn, FROZEN); ChangeActorStat(actor, FROZEN);
spr.lotag = 3600; spr.lotag = 3600;
break; break;
case DEVILFIRE: case DEVILFIRE:
changespritestat(sn, DEVILFIRE); ChangeActorStat(actor, DEVILFIRE);
spr.lotag = (short) (krand() & 120 + 360); spr.lotag = (short) (krand() & 120 + 360);
break; break;
case DRIP: case DRIP:
changespritestat(sn, DRIP); ChangeActorStat(actor, DRIP);
break; break;
case BLOOD: case BLOOD:
changespritestat(sn, BLOOD); ChangeActorStat(actor, BLOOD);
break; break;
case WAR: case WAR:
changespritestat(sn, WAR); ChangeActorStat(actor, WAR);
break; break;
case PAIN: case PAIN:
spr.lotag = 36; spr.lotag = 36;
@ -246,19 +247,19 @@ void newstatus(short sn, const int seq) {
spr.lotag = 24; spr.lotag = 24;
spritesound(S_GUARDIANPAIN1 + (krand() % 2), &spr); spritesound(S_GUARDIANPAIN1 + (krand() % 2), &spr);
spr.picnum = DEMON - 1; spr.picnum = DEMON - 1;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case NEWGUYTYPE: case NEWGUYTYPE:
spr.lotag = 24; spr.lotag = 24;
spr.picnum = NEWGUYPAIN; spr.picnum = NEWGUYPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
spritesound(S_AGM_PAIN1, &spr); spritesound(S_AGM_PAIN1, &spr);
break; break;
case KURTTYPE: case KURTTYPE:
spr.lotag = 24; spr.lotag = 24;
spr.picnum = GONZOCSWPAIN; spr.picnum = GONZOCSWPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
spritesound(S_GRONPAINA + (krand() % 3), &spr); spritesound(S_GRONPAINA + (krand() % 3), &spr);
break; break;
@ -289,29 +290,29 @@ void newstatus(short sn, const int seq) {
spritesound(S_GRONPAINA, &spr); spritesound(S_GRONPAINA, &spr);
break; break;
default: default:
changespritestat(sn, FLEE); ChangeActorStat(actor, FLEE);
break; break;
} }
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case KATIETYPE: case KATIETYPE:
spr.picnum = KATIEPAIN; spr.picnum = KATIEPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case JUDYTYPE: case JUDYTYPE:
spr.lotag = 24; spr.lotag = 24;
spr.picnum = JUDY; spr.picnum = JUDY;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case FATWITCHTYPE: case FATWITCHTYPE:
spr.lotag = 24; spr.lotag = 24;
spr.picnum = FATWITCHDIE; spr.picnum = FATWITCHDIE;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case SKULLYTYPE: case SKULLYTYPE:
spr.lotag = 24; spr.lotag = 24;
spr.picnum = SKULLYDIE; spr.picnum = SKULLYDIE;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case GUARDIANTYPE: case GUARDIANTYPE:
spr.lotag = 24; spr.lotag = 24;
@ -320,11 +321,11 @@ void newstatus(short sn, const int seq) {
if(isWh2()) spr.picnum = GUARDIAN; if(isWh2()) spr.picnum = GUARDIAN;
else spr.picnum = GUARDIANCHAR; else spr.picnum = GUARDIANCHAR;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case GRONTYPE: case GRONTYPE:
spr.lotag = 24; spr.lotag = 24;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
spritesound(S_GRONPAINA + krand() % 3, &spr); spritesound(S_GRONPAINA + krand() % 3, &spr);
if(spr.picnum == GRONHAL || spr.picnum == GRONHALATTACK) if(spr.picnum == GRONHAL || spr.picnum == GRONHALATTACK)
@ -336,17 +337,17 @@ void newstatus(short sn, const int seq) {
break; break;
case KOBOLDTYPE: case KOBOLDTYPE:
spr.picnum = KOBOLDDIE; spr.picnum = KOBOLDDIE;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
spritesound(S_KPAIN1 + (krand() % 2), &spr); spritesound(S_KPAIN1 + (krand() % 2), &spr);
break; break;
case DEVILTYPE: case DEVILTYPE:
spritesound(S_MPAIN1, &spr); spritesound(S_MPAIN1, &spr);
spr.picnum = DEVILPAIN; spr.picnum = DEVILPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
break; break;
case FREDTYPE: case FREDTYPE:
spr.picnum = FREDPAIN; spr.picnum = FREDPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
// EG: Sounds for Fred (currently copied from ogre) // EG: Sounds for Fred (currently copied from ogre)
spritesound(S_KPAIN1 + (rand() % 2), &spr); spritesound(S_KPAIN1 + (rand() % 2), &spr);
break; break;
@ -355,57 +356,57 @@ void newstatus(short sn, const int seq) {
if (isWh2() && (spr.picnum == IMP || spr.picnum == IMPATTACK)) { if (isWh2() && (spr.picnum == IMP || spr.picnum == IMPATTACK)) {
spr.lotag = 24; spr.lotag = 24;
spr.picnum = IMPPAIN; spr.picnum = IMPPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
} else { } else {
spr.picnum = GOBLINPAIN; spr.picnum = GOBLINPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
spritesound(S_GOBPAIN1 + (krand() % 2), &spr); spritesound(S_GOBPAIN1 + (krand() % 2), &spr);
} }
break; break;
case MINOTAURTYPE: case MINOTAURTYPE:
spr.picnum = MINOTAURPAIN; spr.picnum = MINOTAURPAIN;
changespritestat(sn, PAIN); ChangeActorStat(actor, PAIN);
spritesound(S_MPAIN1, &spr); spritesound(S_MPAIN1, &spr);
break; break;
default: default:
changespritestat(sn, FLEE); ChangeActorStat(actor, FLEE);
break; break;
} }
break; break;
case FLOCKSPAWN: case FLOCKSPAWN:
spr.lotag = 36; spr.lotag = 36;
spr.extra = 10; spr.extra = 10;
changespritestat(sn, FLOCKSPAWN); ChangeActorStat(actor, FLOCKSPAWN);
break; break;
case FLOCK: case FLOCK:
spr.lotag = 128; spr.lotag = 128;
spr.extra = 0; spr.extra = 0;
spr.pal = 0; spr.pal = 0;
changespritestat(sn, FLOCK); ChangeActorStat(actor, FLOCK);
break; break;
case FINDME: case FINDME:
spr.lotag = 360; spr.lotag = 360;
if (spr.picnum == RAT) { if (spr.picnum == RAT) {
spr.ang = (short) (((krand() & 512 - 256) + spr.ang + 1024) & 2047); // NEW spr.ang = (short) (((krand() & 512 - 256) + spr.ang + 1024) & 2047); // NEW
changespritestat(sn, FLEE); ChangeActorStat(actor, FLEE);
} else } else
changespritestat(sn, FINDME); ChangeActorStat(actor, FINDME);
break; break;
case SKIRMISH: case SKIRMISH:
spr.lotag = 60; spr.lotag = 60;
if (spr.picnum == RAT) { if (spr.picnum == RAT) {
spr.ang = (short) (((krand() & 512 - 256) + spr.ang + 1024) & 2047); // NEW spr.ang = (short) (((krand() & 512 - 256) + spr.ang + 1024) & 2047); // NEW
changespritestat(sn, FLEE); ChangeActorStat(actor, FLEE);
} else } else
changespritestat(sn, SKIRMISH); ChangeActorStat(actor, SKIRMISH);
break; break;
case CHILL: case CHILL:
spr.lotag = 60; spr.lotag = 60;
changespritestat(sn, CHILL); ChangeActorStat(actor, CHILL);
break; break;
case WITCHSIT: case WITCHSIT:
spr.lotag = 12; spr.lotag = 12;
changespritestat(sn, WITCHSIT); ChangeActorStat(actor, WITCHSIT);
break; break;
case DORMANT: case DORMANT:
spr.lotag = (short) (krand() & 2047 + 2047); spr.lotag = (short) (krand() & 2047 + 2047);
@ -470,35 +471,35 @@ void newstatus(short sn, const int seq) {
break; break;
} }
changespritestat(sn, FLEE); ChangeActorStat(actor, FLEE);
if (!isWh2() && spr.picnum == DEVILATTACK && spr.picnum == DEVIL) if (!isWh2() && spr.picnum == DEVILATTACK && spr.picnum == DEVIL)
spr.lotag = (short) (120 + (krand() & 360)); spr.lotag = (short) (120 + (krand() & 360));
else else
spr.lotag = 60; spr.lotag = 60;
break; break;
case BOB: case BOB:
changespritestat(sn, BOB); ChangeActorStat(actor, BOB);
break; break;
case LIFTUP: case LIFTUP:
if (soundEngine->GetSoundPlayingInfo(SOURCE_Any, nullptr, -1, CHAN_CART) == 0) { if (soundEngine->GetSoundPlayingInfo(SOURCE_Any, nullptr, -1, CHAN_CART) == 0) {
spritesound(S_CLUNK, &spr); spritesound(S_CLUNK, &spr);
spritesound(S_CHAIN1, &spr, 5, CHAN_CART); spritesound(S_CHAIN1, &spr, 5, CHAN_CART);
} }
changespritestat(sn, LIFTUP); ChangeActorStat(actor, LIFTUP);
break; break;
case LIFTDN: case LIFTDN:
if (soundEngine->GetSoundPlayingInfo(SOURCE_Any, nullptr, -1, CHAN_CART) == 0) { if (soundEngine->GetSoundPlayingInfo(SOURCE_Any, nullptr, -1, CHAN_CART) == 0) {
spritesound(S_CLUNK, &spr); spritesound(S_CLUNK, &spr);
spritesound(S_CHAIN1, &spr, 5, CHAN_CART); spritesound(S_CHAIN1, &spr, 5, CHAN_CART);
} }
changespritestat(sn, LIFTDN); ChangeActorStat(actor, LIFTDN);
break; break;
case SHOVE: case SHOVE:
spr.lotag = 128; spr.lotag = 128;
changespritestat(sn, SHOVE); ChangeActorStat(actor, SHOVE);
break; break;
case SHATTER: case SHATTER:
changespritestat(sn, SHATTER); ChangeActorStat(actor, SHATTER);
switch (spr.picnum) { switch (spr.picnum) {
case FBARRELFALL: case FBARRELFALL:
spr.picnum = FSHATTERBARREL; spr.picnum = FSHATTERBARREL;
@ -506,20 +507,20 @@ void newstatus(short sn, const int seq) {
} }
break; break;
case YELL: case YELL:
changespritestat(sn, YELL); ChangeActorStat(actor, YELL);
spr.lotag = 12; spr.lotag = 12;
break; break;
case ATTACK2: //WH1 case ATTACK2: //WH1
if(isWh2()) break; if(isWh2()) break;
spr.lotag = 40; spr.lotag = 40;
spr.cstat |= 1; spr.cstat |= 1;
changespritestat(sn, ATTACK2); ChangeActorStat(actor, ATTACK2);
spr.picnum = DRAGONATTACK2; spr.picnum = DRAGONATTACK2;
spritesound(S_DRAGON1 + (krand() % 3), &spr); spritesound(S_DRAGON1 + (krand() % 3), &spr);
case ATTACK: case ATTACK:
spr.lotag = 64; spr.lotag = 64;
spr.cstat |= 1; spr.cstat |= 1;
changespritestat(sn, ATTACK); ChangeActorStat(actor, ATTACK);
switch (spr.detail) { switch (spr.detail) {
case NEWGUYTYPE: case NEWGUYTYPE:
if (spr.extra > 20) { if (spr.extra > 20) {
@ -643,17 +644,17 @@ void newstatus(short sn, const int seq) {
} }
break; break;
case FACE: case FACE:
changespritestat(sn, FACE); ChangeActorStat(actor, FACE);
break; break;
case STAND: case STAND:
changespritestat(sn, FACE); ChangeActorStat(actor, FACE);
spr.lotag = 0; spr.lotag = 0;
break; break;
case CHASE: case CHASE:
if (spr.picnum == RAT) if (spr.picnum == RAT)
changespritestat(sn, FLEE); ChangeActorStat(actor, FLEE);
else else
changespritestat(sn, CHASE); ChangeActorStat(actor, CHASE);
spr.lotag = 256; spr.lotag = 256;
switch (spr.detail) { switch (spr.detail) {
case NEWGUYTYPE: case NEWGUYTYPE:
@ -754,10 +755,10 @@ void newstatus(short sn, const int seq) {
} }
break; break;
case MISSILE: case MISSILE:
changespritestat(sn, MISSILE); ChangeActorStat(actor, MISSILE);
break; break;
case CAST: case CAST:
changespritestat(sn, CAST); ChangeActorStat(actor, CAST);
spr.lotag = 12; spr.lotag = 12;
if(spr.picnum == GRONHALATTACK if(spr.picnum == GRONHALATTACK
@ -768,7 +769,7 @@ void newstatus(short sn, const int seq) {
spr.lotag = 36; spr.lotag = 36;
break; break;
case FX: case FX:
changespritestat(sn, FX); ChangeActorStat(actor, FX);
break; break;
case DIE: case DIE:
if(spr.statnum == DIE || spr.statnum == DEAD) //already dying if(spr.statnum == DIE || spr.statnum == DEAD) //already dying
@ -942,7 +943,7 @@ void newstatus(short sn, const int seq) {
spr.picnum = WILLOWEXPLO; spr.picnum = WILLOWEXPLO;
break; break;
} }
changespritestat(sn, DIE); ChangeActorStat(actor, DIE);
break; break;
case RESURECT: case RESURECT:
@ -950,37 +951,37 @@ void newstatus(short sn, const int seq) {
switch (spr.picnum) { switch (spr.picnum) {
case GONZOBSHDEAD: case GONZOBSHDEAD:
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 85); addscore(aiGetPlayerTarget(sn), 85);
spr.detail = GONZOTYPE; spr.detail = GONZOTYPE;
break; break;
case NEWGUYDEAD: case NEWGUYDEAD:
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 55); addscore(aiGetPlayerTarget(sn), 55);
spr.detail = NEWGUYTYPE; spr.detail = NEWGUYTYPE;
break; break;
case GONZOCSWDEAD: case GONZOCSWDEAD:
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 55); addscore(aiGetPlayerTarget(sn), 55);
spr.detail = GONZOTYPE; spr.detail = GONZOTYPE;
break; break;
case GONZOGSWDEAD: case GONZOGSWDEAD:
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 105); addscore(aiGetPlayerTarget(sn), 105);
spr.detail = GONZOTYPE; spr.detail = GONZOTYPE;
break; break;
case GONZOGHMDEAD: case GONZOGHMDEAD:
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 100); addscore(aiGetPlayerTarget(sn), 100);
spr.detail = GONZOTYPE; spr.detail = GONZOTYPE;
break; break;
case GONZOGSHDEAD: case GONZOGSHDEAD:
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 110); addscore(aiGetPlayerTarget(sn), 110);
spr.detail = GONZOTYPE; spr.detail = GONZOTYPE;
break; break;
@ -988,7 +989,7 @@ void newstatus(short sn, const int seq) {
trailingsmoke(sn, true); trailingsmoke(sn, true);
spr.picnum = KATIEDEAD; spr.picnum = KATIEDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
spawnhornskull(sn); spawnhornskull(sn);
addscore(aiGetPlayerTarget(sn), 5000); addscore(aiGetPlayerTarget(sn), 5000);
spr.detail = KATIETYPE; spr.detail = KATIETYPE;
@ -997,21 +998,21 @@ void newstatus(short sn, const int seq) {
trailingsmoke(sn, true); trailingsmoke(sn, true);
spr.picnum = DEVILDEAD; spr.picnum = DEVILDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 70); addscore(aiGetPlayerTarget(sn), 70);
spr.detail = DEVILTYPE; spr.detail = DEVILTYPE;
break; break;
case IMPDEAD: case IMPDEAD:
spr.picnum = IMPDEAD; spr.picnum = IMPDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 115); addscore(aiGetPlayerTarget(sn), 115);
spr.detail = IMPTYPE; spr.detail = IMPTYPE;
break; break;
case KOBOLDDEAD: case KOBOLDDEAD:
spr.picnum = KOBOLDDEAD; spr.picnum = KOBOLDDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
spr.detail = KOBOLDTYPE; spr.detail = KOBOLDTYPE;
if(isWh2()) { if(isWh2()) {
switch (spr.pal) { switch (spr.pal) {
@ -1032,56 +1033,56 @@ void newstatus(short sn, const int seq) {
case DRAGONDEAD: case DRAGONDEAD:
spr.picnum = DRAGONDEAD; spr.picnum = DRAGONDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 4000); addscore(aiGetPlayerTarget(sn), 4000);
spr.detail = DRAGONTYPE; spr.detail = DRAGONTYPE;
break; break;
case FREDDEAD: case FREDDEAD:
spr.picnum = FREDDEAD; spr.picnum = FREDDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 40); addscore(aiGetPlayerTarget(sn), 40);
spr.detail = FREDTYPE; spr.detail = FREDTYPE;
break; break;
case GOBLINDEAD: case GOBLINDEAD:
spr.picnum = GOBLINDEAD; spr.picnum = GOBLINDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 25); addscore(aiGetPlayerTarget(sn), 25);
spr.detail = GOBLINTYPE; spr.detail = GOBLINTYPE;
break; break;
case MINOTAURDEAD: case MINOTAURDEAD:
spr.picnum = MINOTAURDEAD; spr.picnum = MINOTAURDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), isWh2() ? 95 : 170); addscore(aiGetPlayerTarget(sn), isWh2() ? 95 : 170);
spr.detail = MINOTAURTYPE; spr.detail = MINOTAURTYPE;
break; break;
case SPIDERDEAD: case SPIDERDEAD:
spr.picnum = SPIDERDEAD; spr.picnum = SPIDERDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 5); addscore(aiGetPlayerTarget(sn), 5);
spr.detail = SPIDERTYPE; spr.detail = SPIDERTYPE;
break; break;
case SKULLYDEAD: case SKULLYDEAD:
spr.picnum = SKULLYDEAD; spr.picnum = SKULLYDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 1000); addscore(aiGetPlayerTarget(sn), 1000);
spr.detail = SKULLYTYPE; spr.detail = SKULLYTYPE;
break; break;
case FATWITCHDEAD: case FATWITCHDEAD:
spr.picnum = FATWITCHDEAD; spr.picnum = FATWITCHDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 900); addscore(aiGetPlayerTarget(sn), 900);
spr.detail = FATWITCHTYPE; spr.detail = FATWITCHTYPE;
break; break;
case JUDYDEAD: case JUDYDEAD:
spr.picnum = JUDYDEAD; spr.picnum = JUDYDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
addscore(aiGetPlayerTarget(sn), 7000); addscore(aiGetPlayerTarget(sn), 7000);
spr.detail = JUDYTYPE; spr.detail = JUDYTYPE;
break; break;
@ -1089,7 +1090,7 @@ void newstatus(short sn, const int seq) {
if(spr.picnum == SKELETONDEAD) { if(spr.picnum == SKELETONDEAD) {
spr.picnum = SKELETONDEAD; spr.picnum = SKELETONDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
spr.detail = SKELETONTYPE; spr.detail = SKELETONTYPE;
addscore(aiGetPlayerTarget(sn), isWh2() ? 20 : 10); addscore(aiGetPlayerTarget(sn), isWh2() ? 20 : 10);
} else if(spr.picnum == GRONDEAD) { } else if(spr.picnum == GRONDEAD) {
@ -1097,7 +1098,7 @@ void newstatus(short sn, const int seq) {
spr.cstat &= ~3; spr.cstat &= ~3;
spr.extra = 3; spr.extra = 3;
spr.detail = GRONTYPE; spr.detail = GRONTYPE;
changespritestat(sn, RESURECT); ChangeActorStat(actor, RESURECT);
if(isWh2()) { if(isWh2()) {
switch (spr.pal) { switch (spr.pal) {
case 0: case 0:
@ -1124,19 +1125,19 @@ void newstatus(short sn, const int seq) {
if(spr.picnum == SKELETONDEAD) { if(spr.picnum == SKELETONDEAD) {
spr.picnum = SKELETONDEAD; spr.picnum = SKELETONDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
if(isWh2()) { if(isWh2()) {
addscore(aiGetPlayerTarget(sn), 70); addscore(aiGetPlayerTarget(sn), 70);
monsterweapon(sn); monsterweapon(sn);
} }
} else if(spr.picnum == FISH || spr.picnum == RAT) { } else if(spr.picnum == FISH || spr.picnum == RAT) {
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 5); addscore(aiGetPlayerTarget(sn), 5);
} else if(spr.picnum == GRONDEAD) { } else if(spr.picnum == GRONDEAD) {
spr.picnum = GRONDEAD; spr.picnum = GRONDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
if(isWh2()) { if(isWh2()) {
switch (spr.pal) { switch (spr.pal) {
case 0: case 0:
@ -1164,12 +1165,12 @@ void newstatus(short sn, const int seq) {
} }
spr.picnum = GONZOBSHDEAD; spr.picnum = GONZOBSHDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
if (spr.pal == 4) { if (spr.pal == 4) {
changespritestat(sn, SHADE); ChangeActorStat(actor, SHADE);
deaddude(sn); deaddude(sn);
} else { } else {
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
if (spr.shade < 25) if (spr.shade < 25)
monsterweapon(sn); monsterweapon(sn);
} }
@ -1182,10 +1183,10 @@ void newstatus(short sn, const int seq) {
spr.picnum = GONZOCSWDEAD; spr.picnum = GONZOCSWDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
if (spr.pal == 4) { if (spr.pal == 4) {
changespritestat(sn, SHADE); ChangeActorStat(actor, SHADE);
deaddude(sn); deaddude(sn);
} else { } else {
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
monsterweapon(sn); monsterweapon(sn);
} }
addscore(aiGetPlayerTarget(sn), 55); addscore(aiGetPlayerTarget(sn), 55);
@ -1197,10 +1198,10 @@ void newstatus(short sn, const int seq) {
spr.picnum = GONZOGSWDEAD; spr.picnum = GONZOGSWDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
if (spr.pal == 4) { if (spr.pal == 4) {
changespritestat(sn, SHADE); ChangeActorStat(actor, SHADE);
deaddude(sn); deaddude(sn);
} else { } else {
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
monsterweapon(sn); monsterweapon(sn);
} }
addscore(aiGetPlayerTarget(sn), 105); addscore(aiGetPlayerTarget(sn), 105);
@ -1212,10 +1213,10 @@ void newstatus(short sn, const int seq) {
spr.picnum = GONZOGHMDEAD; spr.picnum = GONZOGHMDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
if (spr.pal == 4) { if (spr.pal == 4) {
changespritestat(sn, SHADE); ChangeActorStat(actor, SHADE);
deaddude(sn); deaddude(sn);
} else { } else {
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
monsterweapon(sn); monsterweapon(sn);
} }
addscore(aiGetPlayerTarget(sn), 100); addscore(aiGetPlayerTarget(sn), 100);
@ -1226,7 +1227,7 @@ void newstatus(short sn, const int seq) {
} }
spr.picnum = NEWGUYDEAD; spr.picnum = NEWGUYDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
monsterweapon(sn); monsterweapon(sn);
addscore(aiGetPlayerTarget(sn), 50); addscore(aiGetPlayerTarget(sn), 50);
break; break;
@ -1239,10 +1240,10 @@ void newstatus(short sn, const int seq) {
spr.cstat &= ~3; spr.cstat &= ~3;
else spr.cstat &= ~1; else spr.cstat &= ~1;
if (spr.pal == 4) { if (spr.pal == 4) {
changespritestat(sn, SHADE); ChangeActorStat(actor, SHADE);
deaddude(sn); deaddude(sn);
} else { } else {
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
monsterweapon(sn); monsterweapon(sn);
} }
addscore(aiGetPlayerTarget(sn), 110); addscore(aiGetPlayerTarget(sn), 110);
@ -1254,7 +1255,7 @@ void newstatus(short sn, const int seq) {
trailingsmoke(sn, true); trailingsmoke(sn, true);
spr.picnum = DEVILDEAD; spr.picnum = DEVILDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
spawnhornskull(sn); spawnhornskull(sn);
addscore(aiGetPlayerTarget(sn), 500); addscore(aiGetPlayerTarget(sn), 500);
break; break;
@ -1263,27 +1264,27 @@ void newstatus(short sn, const int seq) {
break; break;
spr.picnum = IMPDEAD; spr.picnum = IMPDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 115); addscore(aiGetPlayerTarget(sn), 115);
monsterweapon(sn); monsterweapon(sn);
break; break;
case KOBOLDDEAD: case KOBOLDDEAD:
spr.picnum = KOBOLDDEAD; spr.picnum = KOBOLDDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 10); addscore(aiGetPlayerTarget(sn), 10);
break; break;
case DRAGONDEAD: case DRAGONDEAD:
spr.picnum = DRAGONDEAD; spr.picnum = DRAGONDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 4000); addscore(aiGetPlayerTarget(sn), 4000);
break; break;
case DEVILDEAD: case DEVILDEAD:
trailingsmoke(sn, true); trailingsmoke(sn, true);
spr.picnum = DEVILDEAD; spr.picnum = DEVILDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), isWh2() ? 70 : 50); addscore(aiGetPlayerTarget(sn), isWh2() ? 70 : 50);
if(isWh2()) if(isWh2())
monsterweapon(sn); monsterweapon(sn);
@ -1291,13 +1292,13 @@ void newstatus(short sn, const int seq) {
case FREDDEAD: case FREDDEAD:
spr.picnum = FREDDEAD; spr.picnum = FREDDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 40); addscore(aiGetPlayerTarget(sn), 40);
break; break;
case GOBLINDEAD: case GOBLINDEAD:
spr.picnum = GOBLINDEAD; spr.picnum = GOBLINDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 25); addscore(aiGetPlayerTarget(sn), 25);
if ((rand() % 100) > 60) if ((rand() % 100) > 60)
monsterweapon(sn); monsterweapon(sn);
@ -1305,7 +1306,7 @@ void newstatus(short sn, const int seq) {
case MINOTAURDEAD: case MINOTAURDEAD:
spr.picnum = MINOTAURDEAD; spr.picnum = MINOTAURDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), isWh2() ? 95 : 70); addscore(aiGetPlayerTarget(sn), isWh2() ? 95 : 70);
if ((rand() % 100) > 60) if ((rand() % 100) > 60)
monsterweapon(sn); monsterweapon(sn);
@ -1313,32 +1314,32 @@ void newstatus(short sn, const int seq) {
case SPIDERDEAD: case SPIDERDEAD:
spr.picnum = SPIDERDEAD; spr.picnum = SPIDERDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 5); addscore(aiGetPlayerTarget(sn), 5);
break; break;
case SKULLYDEAD: case SKULLYDEAD:
spr.picnum = SKULLYDEAD; spr.picnum = SKULLYDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 100); addscore(aiGetPlayerTarget(sn), 100);
break; break;
case FATWITCHDEAD: case FATWITCHDEAD:
spr.picnum = FATWITCHDEAD; spr.picnum = FATWITCHDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
addscore(aiGetPlayerTarget(sn), 900); addscore(aiGetPlayerTarget(sn), 900);
break; break;
case JUDYDEAD: case JUDYDEAD:
spr.picnum = JUDYDEAD; spr.picnum = JUDYDEAD;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, DEAD); ChangeActorStat(actor, DEAD);
spawnapentagram(sn); spawnapentagram(sn);
addscore(aiGetPlayerTarget(sn), 7000); addscore(aiGetPlayerTarget(sn), 7000);
break; break;
case WILLOWEXPLO + 2: case WILLOWEXPLO + 2:
spr.pal = 0; spr.pal = 0;
spr.cstat &= ~3; spr.cstat &= ~3;
changespritestat(sn, (short) 0); ChangeActorStat(actor, (short) 0);
deletesprite(sn); deletesprite(sn);
addscore(aiGetPlayerTarget(sn), isWh2() ? 15 : 150); addscore(aiGetPlayerTarget(sn), isWh2() ? 15 : 150);
return; return;