aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/rooms.h
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer2017-08-11 22:00:42 +0200
committerThierry Crozat2018-01-23 01:33:01 +0000
commit1797b174c7d349380d65744c143af3392b1b918f (patch)
tree03b643186280277caebc5706c960568d860721b9 /engines/supernova/rooms.h
parent8a766b5b48dd82f426dd443d6ec5f8589bd13ec4 (diff)
downloadscummvm-rg350-1797b174c7d349380d65744c143af3392b1b918f.tar.gz
scummvm-rg350-1797b174c7d349380d65744c143af3392b1b918f.tar.bz2
scummvm-rg350-1797b174c7d349380d65744c143af3392b1b918f.zip
SUPERNOVA: Implements the remaining room definitions
While it compiles, it is still WIP. Also there has been some confusion about the numbering of the AxacussCorridor classes among other things that need to be done.
Diffstat (limited to 'engines/supernova/rooms.h')
-rw-r--r--engines/supernova/rooms.h100
1 files changed, 99 insertions, 1 deletions
diff --git a/engines/supernova/rooms.h b/engines/supernova/rooms.h
index 48bee74531..8661edb306 100644
--- a/engines/supernova/rooms.h
+++ b/engines/supernova/rooms.h
@@ -613,6 +613,10 @@ public:
virtual void onEntrance();
virtual void animation();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ byte sign;
+ byte beacon;
};
class ArsanoEntrance : public Room {
public:
@@ -641,10 +645,33 @@ public:
_objectState[15] = Object("Ausgang",Object::defaultDescription,MEETUP_EXIT,EXIT,255,255,0,MEETUP,22);
_objectState[16] = Object("Münzen","Es sind seltsame|Köpfe darauf abgebildet.",COINS,TAKE|COMBINABLE,255,255,0);
_objectState[17] = Object("Tablettenhülle","Darauf steht:\"Wenn Sie diese|Schrift jetzt lesen können,|hat die Tablette gewirkt.\"",PILL_HULL,TAKE,255,255,0);
+
+ dialog1[0] = "Wieso das denn nicht?";
+ dialog1[1] = "Wo bin ich hier?";
+ dialog1[2] = "Wo soll ich die Schuhe ablegen?";
+ dialog1[3] = "Schwachsinn! Ich gehe jetzt nach oben!";
+ dialog1[4] = "|";
+
+ dialog2[0] = "Wo bin ich hier?";
+ dialog2[1] = "Sch”nes Wetter heute, nicht wahr?";
+ dialog2[2] = "Wrden Sie mich bitte durchlassen.";
+ dialog2[3] = "Hey Alter, laá mich durch!";
+ dialog2[4] = "|";
+
+ dialog3[0] = "Was haben Sie gesagt?";
+ dialog3[1] = "Sprechen Sie bitte etwas deutlicher!";
+
+ eyewitness = 5;
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
virtual void animation();
+
+private:
+ Common::String dialog1[5];
+ Common::String dialog2[5];
+ Common::String dialog3[5];
+ byte eyewitness;
};
class ArsanoRemaining : public Room {
public:
@@ -658,9 +685,15 @@ public:
_objectState[0] = Object("Treppe",Object::defaultDescription,NULLOBJECT,EXIT,0,0,0,ENTRANCE,17);
_objectState[1] = Object("Stuhl",Object::defaultDescription,NULLOBJECT,EXIT,1,1,0,ROGER,2);
_objectState[2] = Object("Schuhe","Wie ist der denn mit|Schuhen hier reingekommen?",NULLOBJECT,NULLTYPE,2,2,0);
+
+ chewing = true;
}
virtual void animation();
+
+private:
+ bool chewing;
+ int i;
};
class ArsanoRoger : public Room {
public:
@@ -680,11 +713,23 @@ public:
_objectState[6] = Object("Schachspiel",Object::defaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
_objectState[7] = Object("10-Buckazoid-Schein","Nicht gerade sehr viel Geld.",NULLOBJECT,TAKE|COMBINABLE,255,255,0);
_objectState[8] = Object("Keycard von Roger",Object::defaultDescription,KEYCARD_R,TAKE|COMBINABLE,255,255,0);
+
+ dialog1[0] = "K”nnten Sie mir ein Gericht empfehlen?";
+ dialog1[1] = "Wie lange dauert es denn noch bis zur Supernova?";
+ dialog1[2] = "Sie kommen mir irgendwie bekannt vor.";
+ dialog1[3] = "|";
+
+ eyewitness = 5;
}
virtual void animation();
virtual void onEntrance();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ Common::String dialog1[4];
+ byte eyewitness;
+ byte hands;
};
class ArsanoGlider : public Room {
public:
@@ -709,7 +754,10 @@ public:
}
virtual void animation();
- virtual void onEntrance();
+ virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ byte sinus;
};
class ArsanoMeetup2 : public Room {
public:
@@ -723,10 +771,30 @@ public:
_objectState[0] = Object("Roger W.",Object::defaultDescription,ROGER_W,TALK,255,255,0);
_objectState[1] = Object("Raumschiff",Object::defaultDescription,SPACESHIP,COMBINABLE,255,255,0);
_objectState[2] = Object("Höhle",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
+
+ dialog1[0] = "Ach, Ihnen geh”rt die. Ich habe sie eben im Sand gefunden.";
+ dialog1[1] = "Nein, tut mir leid.";
+ dialog2[0] = "Nein, danke. Ich bleibe lieber hier.";
+ dialog2[1] = "Ja, das w„re gut.";
+ dialog3[0] = "Zur Erde.";
+ dialog3[1] = "Zum Pr„sident der Galaxis.";
+ dialog3[2] = "Nach Xenon.";
+ dialog3[3] = "Mir egal, setzen Sie mich irgendwo ab!";
+ dialog4[0] = "Ich habe gerade Ihre Brieftasche gefunden!";
+ dialog4[1] = "Sie lag da drben hinter einem Felsen.";
+ dialog4[2] = "Ich wollte nur wissen, ob Sie die Brieftasche wiederhaben.";
}
virtual void onEntrance();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ Common::String dialog1[2];
+ Common::String dialog2[2];
+ Common::String dialog3[4];
+ Common::String dialog4[3];
+ bool found;
+ bool flug;
};
class ArsanoMeetup3 : public Room {
public:
@@ -740,9 +808,20 @@ public:
_objectState[0] = Object("Ufo","Der Eingang scheint offen zu sein.",UFO,EXIT,0,0,0,NULLROOM,3);
_objectState[1] = Object("Stern",Object::defaultDescription,STAR,NULLTYPE,1,1,0);
_objectState[2] = Object("Höhle",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
+
+ dialog2[0] = "Wo bin ich hier?";
+ dialog2[1] = "Was wollen Sie von mir?";
+ dialog2[2] = "Hilfe!!";
+ dialog2[3] = "Warum sprechen Sie meine Sprache?";
+ dialog3[0] = "Ja, ich bin einverstanden.";
+ dialog3[1] = "Nein, lieber bleibe ich hier, als mit Ihnen zu fliegen.";
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ Common::String dialog2[4];
+ Common::String dialog3[2];
};
// Axacuss
@@ -1002,10 +1081,24 @@ public:
_objectState[0] = Object("Ausgang",Object::defaultDescription,DOOR,EXIT,2,2,0,NULLROOM,2);
_objectState[1] = Object("Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR6,22);
+
+ _dialog1[0] = "Žh ... nein, mein Name ist Mller.";
+ _dialog1[1] = "Oh, ich habe mich im Gang vertan.";
+ _dialog2[0] = "Wrden Sie mich bitte zum Fahrstuhl lassen?";
+ _dialog2[1] = "Ich gehe wieder.";
+ _dialog3[0] = "Dann gehe ich eben wieder.";
+ _dialog3[1] = "Ach, halten Sie's Maul, ich gehe trotzdem!";
+ _dialog3[2] = "Wenn Sie mich durchlassen gebe ich Ihnen ";
+ _dialog3[3] = "Wenn Sie mich durchlassen gebe ich Ihnen ";
}
virtual void onEntrance();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ Common::String _dialog1[2];
+ Common::String _dialog2[2];
+ Common::String _dialog3[4];
};
class AxacussCorridor6 : public Room {
public:
@@ -1197,10 +1290,15 @@ public:
_objectState[5] = Object("Tür","Auf einem Schild an der Tür steht \"Saval Lun\".",DOOR2,EXIT|OPENABLE|CLOSED|OCCUPIED,1,1,2,OFFICE_L2,16);
_objectState[6] = Object("Tür","Auf einem Schild an der Tür steht \"Prof. Dr. Ugnul Tschabb\".",DOOR3,EXIT|OPENABLE|OPENED,2,2,3,OFFICE_R1,8);
_objectState[7] = Object("Tür","Auf einem Schild an der Tür steht \"Alga Hurz Li\".",DOOR4,EXIT|OPENABLE|CLOSED|OCCUPIED,3,3,4,OFFICE_R2,18);
+
+ dontEnter = "Diese Tr wrde ich lieber|nicht ”ffnen. Nach dem Schild zu|urteilen, ist jemand in dem Raum.";
}
virtual void onEntrance();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ Common::String dontEnter;
};
class AxacussIntersection : public Room {
public: