aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/supernova2/ms2_def.h4
-rw-r--r--engines/supernova2/rooms.cpp19
2 files changed, 19 insertions, 4 deletions
diff --git a/engines/supernova2/ms2_def.h b/engines/supernova2/ms2_def.h
index 6e0fc98135..46747a9fed 100644
--- a/engines/supernova2/ms2_def.h
+++ b/engines/supernova2/ms2_def.h
@@ -155,8 +155,8 @@ kString125, kString126, kString127, kString128, kString129,
kString130, kString131, kStringDirection1, kStringDirection2, kStringDirection3,
kStringDirection4, kStringRope, kStringSign, kStringSignDescription, kStringEntrance1Description,
kStringPyramid, kStringPyramidDescription, kStringSun, kStringSunDescription, kStringSign5Description,
-kStringRight, kStringLeft, kStringButton, kStringInscription, kString149,
-kString150, kString151, kString152, kString153, kString154,
+kStringRight, kStringLeft, kStringButton, kStringInscription, kStringTomato,
+kStringFunnyDescription, kStringKnife1, kStringKnife1Description, kString153, kString154,
kString155, kString156, kString157, kString158, kString159,
kString160, kString161, kString162, kStringSlot, kString164,
kString165, kString166, kString167, kString168, kStringExit,
diff --git a/engines/supernova2/rooms.cpp b/engines/supernova2/rooms.cpp
index ef0150e6e7..d7a0042b3f 100644
--- a/engines/supernova2/rooms.cpp
+++ b/engines/supernova2/rooms.cpp
@@ -2984,7 +2984,7 @@ TomatoF::TomatoF(Supernova2Engine *vm, GameManager *gm) {
_objectState[0] = Object(_id, kStringRight, kStringDefaultDescription, G_RIGHT, EXIT, 12, 12, 0, PYR_ENTRANCE, 14);
_objectState[1] = Object(_id, kStringLeft, kStringDefaultDescription, G_LEFT, EXIT, 11, 11, 0, PYR_ENTRANCE, 10);
- _objectState[2] = Object(_id, kStringTomato, kStringFunny, CORRIDOR, EXIT, 3, 3, 0, PYR_ENTRANCE, 2);
+ _objectState[2] = Object(_id, kStringTomato, kStringFunnyDescription, CORRIDOR, EXIT, 3, 3, 0, PYR_ENTRANCE, 2);
}
void TomatoF::onEntrance() {
@@ -3007,9 +3007,16 @@ TomatoN::TomatoN(Supernova2Engine *vm, GameManager *gm) {
_vm = vm;
_gm = gm;
- _fileNumber = 6;
+ _fileNumber = 13;
_id = TOMATO_N;
_shown[0] = kShownTrue;
+ _shown[7] = kShownTrue;
+ _shown[8] = kShownTrue;
+
+ _objectState[0] = Object(_id, kStringRight, kStringDefaultDescription, G_RIGHT, EXIT, 8, 8, 0, PYR_ENTRANCE, 14);
+ _objectState[1] = Object(_id, kStringLeft, kStringDefaultDescription, G_LEFT, EXIT, 7, 7, 0, PYR_ENTRANCE, 10);
+ _objectState[2] = Object(_id, kStringKnife1, kStringKnife1Description, TKNIFE, TAKE | COMBINABLE, 5, 5, 7);
+ _objectState[3] = Object(_id, kStringTomato, kStringFunnyDescription, NULLOBJECT, UNNECESSARY, 4, 4, 0);
}
void TomatoN::onEntrance() {
@@ -3020,6 +3027,14 @@ void TomatoN::animation() {
}
bool TomatoN::interact(Action verb, Object &obj1, Object &obj2) {
+ if (_gm->move(verb, obj1)) {
+ _gm->passageConstruction();
+ _gm->_newRoom = true;
+ } else if (verb == ACTION_TAKE && obj1._id == TKNIFE) {
+ _gm->takeObject(obj1);
+ setSectionVisible(8, kShownFalse);
+ } else
+ return false;
return true;
}