summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2Maru_Reggae.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/T2DLL/T2Maru_Reggae.h')
-rw-r--r--src/T2DLL/T2Maru_Reggae.h78
1 files changed, 60 insertions, 18 deletions
diff --git a/src/T2DLL/T2Maru_Reggae.h b/src/T2DLL/T2Maru_Reggae.h
index 502b042..4184c9a 100644
--- a/src/T2DLL/T2Maru_Reggae.h
+++ b/src/T2DLL/T2Maru_Reggae.h
@@ -1,27 +1,69 @@
#pragma once
#include "common.h"
+#include "T2EventItem.h"
-class T2Maru_Reggae {
+class T2Guardman;
+
+enum {
+ kMaruReggaeStatus0 = 0,
+ kMaruReggaeStatus1 = 1,
+ kMaruReggaeStatus2 = 2,
+ kMaruReggaeStatus3 = 3,
+ kMaruReggaeStatus4 = 4,
+ kMaruReggaeStatus5 = 5,
+ kMaruReggaeStatus6 = 6,
+ kMaruReggaeStatus7 = 7,
+ kMaruReggaeStatus8 = 8,
+ kMaruReggaeStatus9 = 9,
+ kMaruReggaeStatus10 = 10,
+ kMaruReggaeStatus11 = 11,
+};
+
+class AFX_EXT_CLASS T2Maru_Reggae : public T2EventItem {
public:
- T2Maru_Reggae(T2TowerEvent*, CResFile*, int);
+ T2Maru_Reggae(T2TowerEvent* inTowerEvent, CResFile* inResFile, int inSubID);
virtual ~T2Maru_Reggae();
- virtual int Start(T2TowerDoc*);
- virtual int Exec(T2TowerDoc*);
-private:
- int DoReception(T2TowerDoc*);
- void MaruReception(T2TowerDoc*, T2People*);
- void ReggaeReception(T2TowerDoc*, T2People*);
- void MakeClaimMessage(T2TowerDoc*, T2Tenant*, CString&);
- T2Tenant* FindTargetTenant(T2TowerDoc*);
- unsigned int FindNextTenant(T2TowerDoc*);
-public:
+ virtual DWORD GetID() { return 'MaEv'; }
+ virtual BOOL Start(T2TowerDoc* inDoc);
+ virtual int Exec(T2TowerDoc* inDoc);
+ virtual void Write(T2Archive& inArchive);
+ virtual void Read(T2Archive& inArchive);
T2People* GetReggaeMan();
T2Tenant* GetVisitTenant();
- virtual void Write(T2Archive&);
- virtual void Read(T2Archive&);
- virtual unsigned long GetID() {}
- int IsReggae() {}
- T2Maru_Reggae(const T2Maru_Reggae&) {}
- T2Maru_Reggae& operator=(const T2Maru_Reggae&) {}
+ BOOL IsReggae() { return mIsReggae; }
+
+private:
+ BOOL DoReception(T2TowerDoc* inDoc);
+ void MaruReception(T2TowerDoc* inDoc, T2People* inPeople);
+ void ReggaeReception(T2TowerDoc* inDoc, T2People* inPeople);
+ void MakeClaimMessage(T2TowerDoc* inDoc, T2Tenant* inTenant, CString& outStr);
+ T2Tenant* FindTargetTenant(T2TowerDoc* inDoc);
+ unsigned int FindNextTenant(T2TowerDoc* inDoc);
+
+ int mAnimResID;
+ int mSilhouetteType;
+ int mTargetTenantCategory;
+ int m3C;
+ CString mReggaeName;
+ unsigned int mReggaeManID;
+ unsigned int mVisitTenantID;
+ int mLastStatus;
+ unsigned int mLastMinutes;
+ unsigned int mCounter;
+ BOOL mDidSetSilhouetteDef;
+ BOOL mDidChangeDirection;
+ BOOL mIsReggae;
+ T2Guardman *mGuardman;
+};
+
+class T2Guardman {
+public:
+ T2Guardman(T2Maru_Reggae *inOwner, T2TowerDoc *inDoc, T2Tenant *inTenant);
+ ~T2Guardman();
+ BOOL DoReception(T2TowerDoc *inDoc);
+ void GoHome();
+
+ T2Maru_Reggae *mOwner;
+ T2People *mPeople;
};