aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/minigames/geisha/oko.cpp
diff options
context:
space:
mode:
authorSven Hesse2012-01-28 19:45:02 +0100
committerSven Hesse2012-01-28 19:45:02 +0100
commit0eeae6e59e49dbcd72a646a1be0d77aa962e7959 (patch)
tree27f483e44c6dbfd57e526266ac61da2cd1d96c3e /engines/gob/minigames/geisha/oko.cpp
parent60306c40ac8ec733fb7ec45ea61f91de245ab02e (diff)
downloadscummvm-rg350-0eeae6e59e49dbcd72a646a1be0d77aa962e7959.tar.gz
scummvm-rg350-0eeae6e59e49dbcd72a646a1be0d77aa962e7959.tar.bz2
scummvm-rg350-0eeae6e59e49dbcd72a646a1be0d77aa962e7959.zip
GOB: Oko gets hurt by fish and dies if health == 0
Diffstat (limited to 'engines/gob/minigames/geisha/oko.cpp')
-rw-r--r--engines/gob/minigames/geisha/oko.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/gob/minigames/geisha/oko.cpp b/engines/gob/minigames/geisha/oko.cpp
index c9d4d1f43f..1e90b1f8bf 100644
--- a/engines/gob/minigames/geisha/oko.cpp
+++ b/engines/gob/minigames/geisha/oko.cpp
@@ -35,6 +35,7 @@ enum kOkoAnimation {
kOkoAnimationRaise = 7,
kOkoAnimationBreathe = 2,
kOkoAnimationPick = 3,
+ kOkoAnimationHurt = 4,
kOkoAnimationDie0 = 17,
kOkoAnimationDie1 = 18,
kOkoAnimationDie2 = 19
@@ -80,6 +81,7 @@ void Oko::advance() {
_sound->blasterPlay(_breathe, 1, 0);
case kStateSink:
case kStateRaise:
+ case kStateHurt:
if (wasLastFrame) {
setAnimation(kOkoAnimationSwim);
setPosition(kOkoPositionX, kLevelPositionX[_level]);
@@ -135,6 +137,14 @@ void Oko::raise() {
_level--;
}
+void Oko::hurt() {
+ if (_state != kStateSwim)
+ return;
+
+ setAnimation(kOkoAnimationHurt);
+ _state = kStateHurt;
+}
+
void Oko::die() {
if (_state != kStateSwim)
return;