ScummVM API documentation
succubus.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef TITANIC_SUCCUBUS_H
23#define TITANIC_SUCCUBUS_H
24
25#include "titanic/npcs/true_talk_npc.h"
26#include "titanic/messages/pet_messages.h"
27
28namespace Titanic {
29
30enum SuccUBusAction { SA_SENT = 0, SA_FEATHERS = 1, SA_EATEN = 2,
31 SA_BILGE_FEATHERS = 3, SA_BILGE_SENT = 4, SA_BILGE_EATEN = 5 };
32
33class CSuccUBus : public CTrueTalkNPC {
34 DECLARE_MESSAGE_MAP;
35 bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
36 bool SubAcceptCCarryMsg(CSubAcceptCCarryMsg *msg);
37 bool EnterViewMsg(CEnterViewMsg *msg);
38 bool LeaveViewMsg(CLeaveViewMsg *msg);
39 bool PETDeliverMsg(CPETDeliverMsg *msg);
40 bool PETReceiveMsg(CPETReceiveMsg *msg);
41 bool MovieEndMsg(CMovieEndMsg *msg);
42 bool TrueTalkGetStateValueMsg(CTrueTalkGetStateValueMsg *msg);
43 bool SignalObject(CSignalObject *msg);
44 bool TurnOn(CTurnOn *msg);
45 bool TurnOff(CTurnOff *msg);
46 bool SUBTransition(CSUBTransition *msg);
47 bool SetChevRoomBits(CSetChevRoomBits *msg);
48 bool ActMsg(CActMsg *msg);
49 bool MouseDragStartMsg(CMouseDragStartMsg *msg);
50protected:
51 static bool _isOn;
52 static bool _motherBlocked;
53 static bool _fuseboxOn;
54protected:
55 int _initialStartFrame;
56 int _initialEndFrame;
57 int _endingStartFrame;
58 int _endingEndFrame;
59 int _sendStartFrame;
60 int _sendEndFrame;
61 int _receiveStartFrame;
62 int _receiveEndFrame;
63 int _onStartFrame;
64 int _onEndFrame;
65 int _offStartFrame;
66 int _offEndFrame;
67 int _okStartFrame;
68 int _okEndFrame;
69 RoomFlagsComparison _flagsComparison;
70 CGameObject *_mailP;
71 int _afterReceiveStartFrame;
72 int _afterReceiveEndFrame;
73 int _trayOutStartFrame;
74 int _trayOutEndFrame;
75 SuccUBusAction _sendAction;
76 bool _signalFlag;
77 CString _signalTarget;
78 int _startFrame1;
79 int _endFrame1;
80 Rect _rect1;
81 int _field184;
82 bool _mailPresent;
83 Rect _rect2;
84 bool _sendLost;
85 int _soundHandle;
86 bool _isChicken;
87 bool _isFeathers;
88 int _priorRandomVal1;
89 int _priorRandomVal2;
90 int _emptyStartFrame;
91 int _emptyEndFrame;
92 int _smokeStartFrame;
93 int _smokeEndFrame;
94 int _hoseStartFrame;
95 int _hoseEndFrame;
96 int _pumpingStartFrame;
97 int _pumpingEndFrame;
98 uint _destRoomFlags;
99 bool _inProgress;
100public:
101 CLASSDEF;
102 CSuccUBus();
103
107 void save(SimpleFile *file, int indent) override;
108
112 void load(SimpleFile *file) override;
113};
114
115} // End of namespace Titanic
116
117#endif /* TITANIC_SUCCUBUS_H */
Definition: messages.h:256
Definition: messages.h:291
Definition: game_object.h:79
Definition: messages.h:312
Definition: mouse_messages.h:71
Definition: mouse_messages.h:150
Definition: messages.h:321
Definition: messages.h:383
Definition: messages.h:369
Definition: messages.h:375
Definition: string.h:40
Definition: messages.h:380
Definition: succubus.h:33
void save(SimpleFile *file, int indent) override
void load(SimpleFile *file) override
Definition: messages.h:399
Definition: true_talk_npc.h:43
Definition: messages.h:405
Definition: messages.h:406
Definition: rect.h:35
Definition: simple_file.h:49