-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathCrywolfAltar.h
More file actions
113 lines (87 loc) · 2.5 KB
/
CrywolfAltar.h
File metadata and controls
113 lines (87 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// CrywolfAltar.h: interface for the CCrywolfAltar class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CRYWOLFALTAR_H__4D5C2361_CB6E_4B57_8509_CB4BD40525D7__INCLUDED_)
#define AFX_CRYWOLFALTAR_H__4D5C2361_CB6E_4B57_8509_CB4BD40525D7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#if (GS_CASTLE==1)
#define MAX_CRYWOLF_ALTAR 5
#define MAX_ALTAR_CONTRACTS 2
#define CRYWOLF_ALTAR_CLASS_RANGE(x) ( ((x)< 205 )?FALSE:((x) > 209 )?FALSE:TRUE )
#define MIN_ELF_LEVEL_ALTAR 260
class CCrywolfAltarInfo
{
public:
CCrywolfAltarInfo()
{
this->Reset();
}
void Reset()
{
this->m_iAltarState = 0;
this->m_iUserIndex = -1;
this->m_iAltarIndex = -1;
this->m_iContractCount = 0;
this->m_dwAppliedContractTime =0 ;
this->m_dwValidContractTime =0 ;
this->m_dwLastValidContractTime =0 ;
}
int GetRemainContractCount()
{
int iRemainCount = MAX_ALTAR_CONTRACTS - this->m_iContractCount;
return (iRemainCount<0)?0:iRemainCount;
}
void SetAltarState(int iState)
{
this->m_iAltarState = iState;
}
int GetAltarState()
{
return this->m_iAltarState;
}
void SetAltarIndex(int iAltarIndex)
{
this->m_iAltarIndex = iAltarIndex;
}
//int __thiscall GetAltarIndex();
//int __thiscall GetAltarUserIndex();
public:
BYTE m_iAltarState; // 0
short m_iAltarIndex; // 4
short m_iUserIndex; // 8
BYTE m_iContractCount; // C
int m_dwAppliedContractTime; // 10
int m_dwValidContractTime; // 14
int m_dwLastValidContractTime; // 18
};
class CCrywolfAltar
{
public:
CCrywolfAltar();
virtual ~CCrywolfAltar();
void CrywolfAltarAct(int iIndex);
void SetAltarObjIndex(int iClass, int iObjIndex);
void SetAllAltarObjectIndex();
int GetAlatarNumber(int iClass);
void SetAltarValidContract(int iAltarObjIndex, int iClass);
BOOL CheckAltarValidContract(int iClass);
int GetAltarState(int iClass);
int GetAltarRemainContractCount(int iClass);
BOOL SetAltarUserIndex(int iAltarObjIndex, int iClass, int iUserIndex);
void ResetAltarUserIndex(int iAltarObjIndex, int iClass);
int GetAltarUserIndex(int iClass);
int GetContractedAltarCount();
int GetPriestHPSum();
int GetPriestMaxHPSum();
void ResetAllAltar();
void ResetAltar(int iClass);
void SetAllAltarViewState(int iAltarState);
void SetAltarViewState(int iClass, int iAltarState);
private:
CCrywolfAltarInfo m_AltarInfo[MAX_CRYWOLF_ALTAR]; // 4
};
extern CCrywolfAltar g_CrywolfNPC_Altar;
#endif
#endif // !defined(AFX_CRYWOLFALTAR_H__4D5C2361_CB6E_4B57_8509_CB4BD40525D7__INCLUDED_)