Restored behavior of attachments for Classic difficulty.

This commit is contained in:
Julie Marchant 2019-05-22 22:19:34 -04:00
parent f1b86909b7
commit f552b66c10
2 changed files with 9 additions and 5 deletions

View File

@ -68,10 +68,6 @@ the changes to graphics, sound, and dialog:
The practical effect of this is that Sid Wilson's shield is indicated The practical effect of this is that Sid Wilson's shield is indicated
in this mission, whereas it wasn't in version 1.1. in this mission, whereas it wasn't in version 1.1.
* Attachments to "boss"-like enemies have damage inflicted on them
immediately applied to the boss itself. Version 1.1 did not do this
until the attachment was completely destroyed.
* In the Venus mission, Kline starts some distance away directly to the * In the Venus mission, Kline starts some distance away directly to the
right and immediately begins combat. In contrast, version 1.1 spawned right and immediately begins combat. In contrast, version 1.1 spawned
Kline much closer to the player (to the point where his ship was Kline much closer to the player (to the point where his ship was

View File

@ -1878,6 +1878,13 @@ void alien_destroy(Object *alien, Object *attacker)
audio_playSound(SFX_EXPLOSION, alien->x, alien->y); audio_playSound(SFX_EXPLOSION, alien->x, alien->y);
// Chain reaction damage if needed (Classic Difficulty version)
if ((game.difficulty == DIFFICULTY_ORIGINAL) &&
(alien->owner != alien) && (alien->flags & FL_DAMAGEOWNER))
{
alien_hurt(alien->owner, attacker, alien->maxShield, 0);
}
if (alien->flags & FL_FRIEND) if (alien->flags & FL_FRIEND)
{ {
if (alien->classDef == CD_PHOEBE) if (alien->classDef == CD_PHOEBE)
@ -1998,7 +2005,8 @@ void alien_hurt(Object *alien, Object *attacker, int damage, int ion)
alien->shield -= damage; alien->shield -= damage;
// Chain reaction damage if needed // Chain reaction damage if needed
if ((alien->owner != alien) && (alien->flags & FL_DAMAGEOWNER)) if ((game.difficulty != DIFFICULTY_ORIGINAL) &&
(alien->owner != alien) && (alien->flags & FL_DAMAGEOWNER))
{ {
alien_hurt(alien->owner, attacker, damage, ion); alien_hurt(alien->owner, attacker, damage, ion);
} }