diff options
author | Eugene Sandulenko | 2016-01-25 19:49:41 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2016-02-14 17:12:53 +0100 |
commit | b5d55fdf2b171ef6ff8f56d49b9f350283fde242 (patch) | |
tree | 3c565ff1ab851668a396821a97f9c5498c13e5d4 /engines/wage/combat.cpp | |
parent | adc5b87cb6e52f7fa22d8395020121249718e5e4 (diff) | |
download | scummvm-rg350-b5d55fdf2b171ef6ff8f56d49b9f350283fde242.tar.gz scummvm-rg350-b5d55fdf2b171ef6ff8f56d49b9f350283fde242.tar.bz2 scummvm-rg350-b5d55fdf2b171ef6ff8f56d49b9f350283fde242.zip |
WAGE: Implement decrementUses()
Diffstat (limited to 'engines/wage/combat.cpp')
-rw-r--r-- | engines/wage/combat.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/wage/combat.cpp b/engines/wage/combat.cpp index 2f87119fe3..4a043311b8 100644 --- a/engines/wage/combat.cpp +++ b/engines/wage/combat.cpp @@ -232,7 +232,23 @@ void WageEngine::performAttack(Chr *attacker, Chr *victim, Obj *weapon) { } void WageEngine::decrementUses(Obj *obj) { - warning("STUB: decrementUses()"); + int numberOfUses = obj->_numberOfUses; + if (numberOfUses != -1) { + numberOfUses--; + if (numberOfUses > 0) { + obj->_numberOfUses = numberOfUses; + } else { + if (!obj->_failureMessage.empty()) { + appendText(obj->_failureMessage.c_str()); + } + if (obj->_returnToRandomScene) { + _world->move(obj, _world->getRandomScene()); + } else { + _world->move(obj, _world->_storageScene); + } + obj->resetState(obj->_currentOwner, obj->_currentScene); + } + } } bool WageEngine::attackHit(Chr *attacker, Chr *victim, Obj *weapon, int targetIndex) { |