Skip to content

Commit

Permalink
WAGE: Implement performOffer()
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Jan 9, 2016
1 parent 047a660 commit 1650661
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 12 deletions.
18 changes: 15 additions & 3 deletions engines/wage/combat.cpp
Expand Up @@ -77,7 +77,8 @@ void WageEngine::encounter(Chr *player, Chr *chr) {
appendText(chr->_initialComment);

if (chr->_armor[Chr::HEAD_ARMOR] != NULL) {
msg = chr->getNameWithDefiniteArticle(true);
msg = chr->getDefiniteArticle(true);
msg += chr->_name;
msg += " is wearing ";
msg += getIndefiniteArticle(chr->_armor[Chr::HEAD_ARMOR]->_name);
msg += ".";
Expand Down Expand Up @@ -195,14 +196,25 @@ void WageEngine::performMove(Chr *chr, int validMoves) {
}

void WageEngine::performOffer(Chr *attacker, Chr *victim) {
warning("STUB: performOffer()");
/* TODO: choose in a smarter way? */
Obj *obj = attacker->_inventory[0];
Common::String msg(attacker->getDefiniteArticle(true));
msg += attacker->_name;
msg += " offers ";
msg += obj->_namePlural ? "some " : getIndefiniteArticle(obj->_name);
msg += obj->_name;
msg += ".";

_offer = obj;
}

void WageEngine::performTake(Chr *npc, Obj *obj) {
Common::String msg(npc->getNameWithDefiniteArticle(true));
Common::String msg(npc->getDefiniteArticle(true));
msg += npc->_name;
msg += " picks up the ";
msg += getIndefiniteArticle(obj->_name);
msg += obj->_name;
msg += ".";

_world->move(obj, npc);
}
Expand Down
9 changes: 3 additions & 6 deletions engines/wage/entities.cpp
Expand Up @@ -432,14 +432,11 @@ int Chr::wearObjIfPossible(Obj *obj) {
return -1;
}

String &Chr::getNameWithDefiniteArticle(bool capitalize) {
Common::String *res = new Common::String;

const char *Chr::getDefiniteArticle(bool capitalize) {
if (!_nameProperNoun)
*res += capitalize ? "The " : "the ";
*res += _name;
return capitalize ? "The " : "the ";

return *res;
return "";
}


Expand Down
2 changes: 1 addition & 1 deletion engines/wage/entities.h
Expand Up @@ -221,7 +221,7 @@ class Chr : public Designed {

WeaponArray *getWeapons(bool includeMagic);
ObjArray *getMagicalObjects();
String &getNameWithDefiniteArticle(bool capitalize);
const char *getDefiniteArticle(bool capitalize);

public:
bool hasNativeWeapon1() {
Expand Down
6 changes: 4 additions & 2 deletions engines/wage/wage.cpp
Expand Up @@ -433,13 +433,15 @@ void WageEngine::processTurn(Common::String *textInput, Designed *clickInput) {
Common::String msg;

if (followed) {
msg = prevMonster->getNameWithDefiniteArticle(true);
msg = prevMonster->getDefiniteArticle(true);
msg += prevMonster->_name;
msg += " follows you.";
appendText(msg);
_world->move(prevMonster, playerScene);
} else {
msg = "You escape ";
msg += prevMonster->getNameWithDefiniteArticle(false);
msg += prevMonster->getDefiniteArticle(false);
msg += prevMonster->_name;
msg += ".";
appendText(msg);
}
Expand Down

0 comments on commit 1650661

Please sign in to comment.