22#ifndef TITANIC_TT_NPC_SCRIPT_H
23#define TITANIC_TT_NPC_SCRIPT_H
25#include "titanic/support/simple_file.h"
26#include "titanic/true_talk/tt_script_base.h"
27#include "titanic/true_talk/script_support.h"
31#define DIALS_ARRAY_COUNT 10
42 int &operator[](
int idx) {
return _array[idx]; }
43 int *getSlot(
int idx) {
return &_array[16 + idx * 4]; }
57 const char *charName,
int v3,
int val2,
int v4,
58 int v5,
int v6,
int v7);
70 virtual int proc8()
const = 0;
82 virtual int proc11()
const = 0;
83 virtual int proc12()
const = 0;
85 int charId()
const {
return _charId; }
90 int translateByArray(
int id);
95 int _valuesPerResponse;
109 const char *_itemStringP;
110 int _dialValues[DIALS_ARRAY_COUNT];
134 static int getRoom54(
int roomId);
182 return processEntries(&_entries, _entryCount, roomScript, sentence);
199 bool fn10(
bool flag);
201 static bool sentence2C(
const TTsentence *sentence);
219 static void deinit();
221 TTnpcScript(
int charId,
const char *charClass,
int v2,
222 const char *charName,
int v3,
int val2,
int v4,
223 int v5,
int v6,
int v7);
225 void addResponse(
int id)
override;
239 int proc8()
const override;
255 int proc11()
const override;
256 int proc12()
const override;
271 uint tag1, uint tag2, uint remainder);
306 virtual int doSentenceEntry(
int val1,
const int *srcIdP,
const TTroomScript *roomScript,
const TTsentence *sentence);
351 virtual uint translateId(uint
id)
const;
Definition: game_manager.h:48
Definition: pet_control.h:45
Definition: simple_file.h:49
Definition: script_support.h:143
Definition: tt_npc_script.h:49
virtual ScriptChangedResult scriptChanged(uint id)=0
virtual int process(const TTroomScript *roomScript, const TTsentence *sentence)=0
virtual int chooseResponse(const TTroomScript *roomScript, const TTsentence *sentence, uint tag)=0
virtual ScriptChangedResult scriptChanged(const TTroomScript *roomScript, uint id)=0
Definition: tt_npc_script.h:88
virtual void resetRange(int id)
void updateCurrentDial(bool changeDial)
void loadRanges(const char *name)
virtual uint getDialsBitset() const
Definition: tt_npc_script.h:303
virtual void postResponse(int v1, const TTsentenceEntry *entry, const TTroomScript *roomScript, const TTsentence *sentence)
Definition: tt_npc_script.h:311
virtual bool handleWord(uint id) const
static CPetControl * getPetControl(CGameManager *gameManager)
ScriptChangedResult scriptChanged(const TTroomScript *roomScript, uint id) override
Definition: tt_npc_script.h:251
uint getRandomNumber(int max) const
bool getStateValue() const
virtual int preResponse(uint id)
void setResponseFromArray(int index, int id)
virtual int getDialRegion(int dialNum) const
virtual void selectResponse(int id)
virtual int getDialLevel(uint dialNum, bool randomizeFlag=true)
uint getRandomBit() const
Definition: tt_npc_script.h:149
virtual int getRangesCount() const
TTscriptRange * findRange(uint id)
virtual void setDialRegion(int dialNum, int region)
void getAssignedRoom(int *roomNum, int *floorNum, int *elevatorNum) const
void addRange(uint id, const Common::Array< uint > &values, bool isRandom, bool isSequential)
virtual int updateState(uint oldId, uint newId, int index)
void loadResponses(const char *name, int valuesPerResponse=1)
void setupDials(int dial1, int dial2, int dial3)
int processEntries(const TTsentenceEntries *entries, uint entryCount, const TTroomScript *roomScript, const TTsentence *sentence)
int process(const TTroomScript *roomScript, const TTsentence *sentence) override
virtual bool isQuoteDialled() const
Definition: tt_npc_script.h:276
virtual bool randomResponse(uint index)
uint getDialogueId(uint tagId)
bool addRandomResponse(bool flag)
int processEntries(const TTroomScript *roomScript, const TTsentence *sentence)
Definition: tt_npc_script.h:181
virtual void setDial(int dialNum, int value)
ScriptChangedResult notifyScript(TTroomScript *roomScript, int id)
Definition: tt_npc_script.h:358
ScriptChangedResult scriptChanged(uint id) override
Definition: tt_npc_script.h:244
int chooseResponse(const TTroomScript *roomScript, const TTsentence *sentence, uint tag) override
virtual uint getRangeValue(uint id)
int getValue(int testNum) const
Definition: tt_room_script.h:61
Definition: tt_script_base.h:38
Definition: script_support.h:105
Definition: script_support.h:90
Definition: tt_sentence.h:49
Definition: script_support.h:118
Definition: script_support.h:130
Definition: tt_npc_script.h:37
Definition: script_support.h:98
Definition: script_support.h:52
Definition: script_support.h:65