diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml index e49d3ffe716..61718205a5c 100644 --- a/devtools/create_mm/files/mm1/strings_en.yml +++ b/devtools/create_mm/files/mm1/strings_en.yml @@ -365,6 +365,7 @@ dialogs: party_plus: "PARTY +" monster_plus: "MONSTER +" and_goes_down: "AND GOES DOWN!!!" + goes_down: "GOES DOWN!!!" dies: "DIES!" defeating1: "! FOR DEFEATING THE MONSTERS !" defeating2: "! EACH SURVIVOR RECEIVES !" diff --git a/engines/mm/mm1/data/monsters.cpp b/engines/mm/mm1/data/monsters.cpp index 82919bcf996..e46489d5379 100644 --- a/engines/mm/mm1/data/monsters.cpp +++ b/engines/mm/mm1/data/monsters.cpp @@ -38,8 +38,10 @@ bool Monsters::load() { assert(line.size() > 20 && line[0] == '"' && line[16] == '"'); mon._name = Common::String(line.c_str() + 1, line.c_str() + 15); - line = Common::String(line.c_str() + 17); + while (mon._name.hasSuffix(" ")) + mon._name.deleteLastChar(); + line = Common::String(line.c_str() + 17); mon._count = getNextValue(line); mon._fleeThreshold = getNextValue(line); mon._defaultHP = getNextValue(line); diff --git a/engines/mm/mm1/game/combat.cpp b/engines/mm/mm1/game/combat.cpp index 4479e8d09d9..5d16e4dc8b3 100644 --- a/engines/mm/mm1/game/combat.cpp +++ b/engines/mm/mm1/game/combat.cpp @@ -889,7 +889,7 @@ void Combat::updateMonsterStatus() { if (val <= 0) { enc._monsterList[_monsterIndex]._hp = 0; enc._monsterList[_monsterIndex]._status = MONFLAG_DEAD; - warning("TODO: message that monster goes down"); + } else { enc._monsterList[_monsterIndex]._hp = val; enc._monsterList[_monsterIndex]._status &= ~(MONFLAG_ASLEEP | MONFLAG_HELD); diff --git a/engines/mm/mm1/views/combat.cpp b/engines/mm/mm1/views/combat.cpp index 8a828ac6ebd..93a5697dff3 100644 --- a/engines/mm/mm1/views/combat.cpp +++ b/engines/mm/mm1/views/combat.cpp @@ -768,6 +768,12 @@ void Combat::writeCharAttackDamage() { _isShooting = false; writeString(0, 21, getAttackString()); + + if (_monsterP->_status == MONFLAG_DEAD) { + writeString(0, 22, Common::String::format("%s %s", + _monsterP->_name.c_str(), + STRING["dialogs.combat.goes_down"].c_str())); + } } void Combat::writeCharAttackNoEffect() {