[Scummvm-git-logs] scummvm master -> 3cf7a2fe3d5cee2b0ee42d89a3fb3d439533cfdf
dreammaster
noreply at scummvm.org
Fri Feb 3 05:18:14 UTC 2023
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
2c919436e2 MM: MM1: Move to next char/monster after a monster flees
3cf7a2fe3d MM: MM1: Fix defeated monsters display at end of combat
Commit: 2c919436e2ffa1826ee331c9945676f1e9ece253
https://github.com/scummvm/scummvm/commit/2c919436e2ffa1826ee331c9945676f1e9ece253
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-02-02T21:18:05-08:00
Commit Message:
MM: MM1: Move to next char/monster after a monster flees
Changed paths:
engines/mm/mm1/views/combat.cpp
diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp
index f8dc7bfd1ba..fb4ad2800a5 100644
--- a/engines/mm/mm1/views/combat.cpp
+++ b/engines/mm/mm1/views/combat.cpp
@@ -190,12 +190,9 @@ void Combat::timeout() {
case MONSTERS_AFFECTED:
case CHAR_ATTACKS:
case NO_EFFECT:
- removeDeadMonsters();
- combatLoop();
- break;
case MONSTER_FLEES:
removeDeadMonsters();
- checkMonsterSpells();
+ combatLoop();
break;
case MONSTER_WANDERS:
case INFILTRATION:
Commit: 3cf7a2fe3d5cee2b0ee42d89a3fb3d439533cfdf
https://github.com/scummvm/scummvm/commit/3cf7a2fe3d5cee2b0ee42d89a3fb3d439533cfdf
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-02-02T21:18:05-08:00
Commit Message:
MM: MM1: Fix defeated monsters display at end of combat
Changed paths:
engines/mm/mm1/game/combat.cpp
engines/mm/mm1/views/combat.cpp
diff --git a/engines/mm/mm1/game/combat.cpp b/engines/mm/mm1/game/combat.cpp
index b2f63e9a4d2..9195e7c55fa 100644
--- a/engines/mm/mm1/game/combat.cpp
+++ b/engines/mm/mm1/game/combat.cpp
@@ -346,10 +346,7 @@ void Combat::defeatedMonsters() {
g_globals->_combatParty[i]->_exp += _totalExperience;
}
- // Update the party's characters
- g_globals->_party.combatDone();
-
- combatDone();
+ setMode(DEFEATED_MONSTERS);
}
void Combat::setTreasure() {
@@ -632,7 +629,7 @@ void Combat::monsterAction() {
bool Combat::checkMonsterSpells() {
Encounter &enc = g_globals->_encounters;
if (_remainingMonsters.empty()) {
- setMode(DEFEATED_MONSTERS);
+ defeatedMonsters();
return true;
}
@@ -1615,6 +1612,9 @@ void Combat::combatDone() {
g_globals->_activeSpells._s.shield = 0;
g_globals->_activeSpells._s.power_shield = 0;
+ // Update the party's characters
+ g_globals->_party.combatDone();
+
// Rearrange the party to match the combat order
g_globals->_party.rearrange(g_globals->_combatParty);
}
diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp
index fb4ad2800a5..fd7cf956fe3 100644
--- a/engines/mm/mm1/views/combat.cpp
+++ b/engines/mm/mm1/views/combat.cpp
@@ -139,6 +139,11 @@ void Combat::draw() {
writeCharAttackNoEffect();
delaySeconds(3);
return;
+ case DEFEATED_MONSTERS:
+ writeDefeat();
+ Sound::sound2(SOUND_3);
+ delaySeconds(3);
+ return;
default:
break;
}
@@ -156,12 +161,6 @@ void Combat::draw() {
writeOptions();
break;
- case DEFEATED_MONSTERS:
- writeDefeat();
- Sound::sound2(SOUND_3);
- delaySeconds(5);
- break;
-
case SPELL_RESULT:
writeSpellResult();
if (_spellResult._delaySeconds)
@@ -207,17 +206,9 @@ void Combat::timeout() {
case WAITS_FOR_OPENING:
combatLoop(true);
break;
- case DEFEATED_MONSTERS: {
- auto &spells = g_globals->_activeSpells;
- spells._s.bless = 0;
- spells._s.invisbility = 0;
- spells._s.shield = 0;
- spells._s.power_shield = 0;
-
- close();
- g_events->send("Game", GameMessage("UPDATE"));
+ case DEFEATED_MONSTERS:
+ combatDone();
break;
- }
case SPELL_RESULT:
if (_spellResult._timeoutCallback)
_spellResult._timeoutCallback();
@@ -583,13 +574,10 @@ void Combat::clearPartyArea() {
}
void Combat::writeDefeat() {
- resetBottom();
- writeString(10, 0, "+----------------------------+");
- for (int y = 1; y < 8; ++y) {
- writeChar(10, y, '!');
- writeChar(37, y, '!');
- }
writeString(10, 0, "+----------------------------+");
+ for (int y = 1; y < 8; ++y)
+ writeString(10, y, "! !");
+ writeString(10, 8, "+----------------------------+");
writeString(10, 2, STRING["dialogs.combat.defeating1"]);
writeString(10, 4, STRING["dialogs.combat.defeating2"]);
@@ -872,7 +860,9 @@ void Combat::displaySpellResult(const InfoMessage &msg) {
void Combat::combatDone() {
Game::Combat::combatDone();
+
close();
+ g_events->send("Game", GameMessage("UPDATE"));
}
} // namespace Views
More information about the Scummvm-git-logs
mailing list