blob: a0ae9e15808696ff5b99681bd0cf0fe4b9e5e67d (
plain) (
blame)
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#ifndef TIBIA_PLAYER_HH_
#define TIBIA_PLAYER_HH_ 1
#include "common.hh"
#include "containers.hh"
#include "creature.hh"
struct TPlayerData {
uint32 CharacterID;
pid_t Locked;
int Sticky;
bool Dirty;
int Race;
TOutfit OriginalOutfit;
TOutfit CurrentOutfit;
time_t LastLoginTime;
time_t LastLogoutTime;
int startx;
int starty;
int startz;
int posx;
int posy;
int posz;
int Profession;
int PlayerkillerEnd;
int Actual[25];
int Maximum[25];
int Minimum[25];
int DeltaAct[25];
int MagicDeltaAct[25];
int Cycle[25];
int MaxCycle[25];
int Count[25];
int MaxCount[25];
int AddLevel[25];
int Experience[25];
int FactorPercent[25];
int NextLevel[25];
int Delta[25];
uint8 SpellList[256];
int QuestValues[500];
int MurderTimestamps[20];
uint8 *Inventory;
int InventorySize;
uint8 *Depot[9];
int DepotSize[9];
uint32 AccountID;
int Sex;
char Name[30];
uint8 Rights[12];
char Guild[31];
char Rank[31];
char Title[31];
int Buddies;
uint32 Buddy[100];
char BuddyName[100][30];
uint32 EarliestYellRound;
uint32 EarliestTradeChannelRound;
uint32 EarliestSpellTime;
uint32 EarliestMultiuseTime;
uint32 TalkBufferFullTime;
uint32 MutingEndRound;
uint32 Addressees[20];
uint32 AddresseesTimes[20];
int NumberOfMutings;
};
struct TPlayer: TCreature {
// REGULAR FUNCTIONS
// =========================================================================
uint8 GetRealProfession(void);
uint8 GetEffectiveProfession(void);
uint8 GetActiveProfession(void);
bool GetActivePromotion(void);
uint32 GetPartyLeader(bool CheckFormer);
bool SpellKnown(int SpellNr);
bool IsAttackJustified(uint32 Victim);
void RecordAttack(uint32 Victim);
void RecordMurder(uint32 Victim);
void CheckState(void);
// VIRTUAL FUNCTIONS
// =========================================================================
// TODO
// DATA
// =========================================================================
//TCreature super_TCreature; // IMPLICIT
uint32 AccountID;
char Guild[31];
char Rank[31];
char Title[31];
char IPAddress[16];
uint8 Rights[12];
Object Depot;
int DepotNr;
int DepotSpace;
RESULT ConstructError;
TPlayerData *PlayerData;
Object TradeObject;
uint32 TradePartner;
bool TradeAccepted;
int OldState;
uint32 Request;
int RequestTimestamp;
uint32 RequestProcessingGamemaster;
int TutorActivities;
uint8 SpellList[256];
int QuestValues[500];
Object OpenContainer[16];
vector<uint32> AttackedPlayers;
int NumberOfAttackedPlayers;
bool Aggressor;
vector<uint32> FormerAttackedPlayers;
int NumberOfFormerAttackedPlayers;
bool FormerAggressor;
uint32 FormerLogoutRound;
uint32 PartyLeader;
uint32 PartyLeavingRound;
uint32 TalkBufferFullTime;
uint32 MutingEndRound;
int NumberOfMutings;
uint32 Addressees[20];
uint32 AddresseesTimes[20];
};
#endif //TIBIA_PLAYER_HH_
|