aboutsummaryrefslogtreecommitdiff
path: root/engines/wage/wage.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-01-08 00:55:16 +0100
committerEugene Sandulenko2016-01-08 00:55:16 +0100
commit51af66371dc71e908dade3563b9792e26f0d9661 (patch)
tree5c6ee442c7544a479c6a4af03847c161894b396a /engines/wage/wage.cpp
parent87766f675351a5c1d2cf7affe40322fd845633ed (diff)
downloadscummvm-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.cpp36
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) {