diff --git a/src/alien.cpp b/src/alien.cpp index 57a7d93..8698e98 100644 --- a/src/alien.cpp +++ b/src/alien.cpp @@ -1642,7 +1642,7 @@ void alien_move(object *alien) { if (alien->classDef == CD_ASTEROID) { - if (!engine.cheatShield) + if ((!engine.cheatShield) && (engine.missionCompleteTimer == 0)) player.shield -= alien->shield; alien->shield = 0; audio_playSound(SFX_EXPLOSION, alien->x); @@ -1652,7 +1652,7 @@ void alien_move(object *alien) if (alien->classDef == CD_ASTEROID2) { - if (!engine.cheatShield) + if ((!engine.cheatShield) && (engine.missionCompleteTimer == 0)) player.shield -= alien->shield; alien->shield = 0; audio_playSound(SFX_EXPLOSION, alien->x); @@ -1662,7 +1662,7 @@ void alien_move(object *alien) if (alien->classDef == CD_BARRIER) { - if (!engine.cheatShield) + if ((!engine.cheatShield) && (engine.missionCompleteTimer == 0)) player.shield--; player.hit = 5; audio_playSound(SFX_HIT, player.x); diff --git a/src/game.cpp b/src/game.cpp index 6384ec5..4d3f00b 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -678,7 +678,7 @@ static void game_doBullets() { old_shield = player.shield; - if ((!engine.cheatShield) || (engine.missionCompleteTimer != 0)) + if ((!engine.cheatShield) && (engine.missionCompleteTimer == 0)) { if ((player.shield > engine.lowShield) && (player.shield - bullet->damage <= engine.lowShield)) diff --git a/src/ship.cpp b/src/ship.cpp index a43b240..3470979 100644 --- a/src/ship.cpp +++ b/src/ship.cpp @@ -164,8 +164,8 @@ void ship_fireRay(object *ship) if (player.shield > 0) { if (game_collision(player.x, player.y, player.image[0]->w, - player.image[0]->h, ray.x, ray.y, ray.w, ray.h) && - (!engine.cheatShield)) + player.image[0]->h, ray.x, ray.y, ray.w, ray.h) && + (!engine.cheatShield) && (engine.missionCompleteTimer == 0)) { if (player.shield > engine.lowShield) {