diff options
author | Eugene Sandulenko | 2016-01-08 00:55:16 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2016-01-08 00:55:16 +0100 |
commit | 51af66371dc71e908dade3563b9792e26f0d9661 (patch) | |
tree | 5c6ee442c7544a479c6a4af03847c161894b396a /engines/wage/wage.cpp | |
parent | 87766f675351a5c1d2cf7affe40322fd845633ed (diff) | |
download | scummvm-rg350-51af66371dc71e908dade3563b9792e26f0d9661.tar.gz scummvm-rg350-51af66371dc71e908dade3563b9792e26f0d9661.tar.bz2 scummvm-rg350-51af66371dc71e908dade3563b9792e26f0d9661.zip |
WAGE: Implement WageEngine::encounter()
Diffstat (limited to 'engines/wage/wage.cpp')
-rw-r--r-- | engines/wage/wage.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/engines/wage/wage.cpp b/engines/wage/wage.cpp index 5841b470b4..d87a7c1413 100644 --- a/engines/wage/wage.cpp +++ b/engines/wage/wage.cpp @@ -360,7 +360,41 @@ void WageEngine::onMove(Designed *what, Designed *from, Designed *to) { } void WageEngine::encounter(Chr *player, Chr *chr) { - warning("STUB WageEngine::encounter()"); + Common::String msg("You encounter "); + if (!chr->_nameProperNoun) + msg += getIndefiniteArticle(chr->_name); + msg += chr->_name; + msg += "."; + appendText(msg); + + if (!chr->_initialComment.empty()) + appendText(chr->_initialComment); + + if (chr->_armor[Chr::HEAD_ARMOR] != NULL) { + msg = chr->getNameWithDefiniteArticle(true); + msg += " is wearing "; + msg += getIndefiniteArticle(chr->_armor[Chr::HEAD_ARMOR]->_name); + msg += "."; + appendText(msg); + } + if (chr->_armor[Chr::BODY_ARMOR] != NULL) { + msg = getGenderSpecificPronoun(chr->_gender, true); + msg += " is protected by "; + msg += prependGenderSpecificPronoun(chr->_gender); + msg += chr->_armor[Chr::BODY_ARMOR]->_name; + msg += "."; + appendText(msg); + } + if (chr->_armor[Chr::SHIELD_ARMOR] != NULL) { + Obj *obj = chr->_armor[Chr::SHIELD_ARMOR]; + msg = getGenderSpecificPronoun(chr->_gender, true); + msg += " carries "; + if (!obj->_namePlural) + msg += getIndefiniteArticle(obj->_name); + msg += obj->_name; + msg += "."; + appendText(msg); + } } void WageEngine::performCombatAction(Chr *npc, Chr *player) { |