aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/wage/script.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/engines/wage/script.cpp b/engines/wage/script.cpp
index 51fb40eaa9..6ca3ecbbe3 100644
--- a/engines/wage/script.cpp
+++ b/engines/wage/script.cpp
@@ -1206,7 +1206,22 @@ void Script::handleWearCommand(const char *t) {
}
void Script::wearObj(Obj *o, int pos) {
- warning("STUB: wearObj()");
+ Chr *player = _world->_player;
+ char buf[512];
+
+ if (player->_armor[pos] == o) {
+ snprintf(buf, 512, "You are already wearing the %s.", o->_name.c_str());
+ appendText(buf);
+ } else {
+ if (player->_armor[pos] != NULL) {
+ snprintf(buf, 512, "You are no longer wearing the %s.", player->_armor[pos]->_name.c_str());
+ appendText(buf);
+ }
+
+ player->_armor[pos] = o;
+ snprintf(buf, 512, "You are now wearing the %s.", o->_name.c_str());
+ appendText(buf);
+ }
}