blob: b5db3c35d10ca792bee9926d288a03641fbb8fbf (
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
|
#ifndef TIBIA_CRCOMBAT_HH_
#define TIBIA_CRCOMBAT_HH_ 1
struct TCreature;
struct TCombatEntry{
uint32 ID;
uint32 Damage;
uint32 TimeStamp;
};
struct TCombat{
// REGULAR FUNCTIONS
// =========================================================================
TCombat(void);
void GetWeapon(void);
void GetAmmo(void);
void CheckCombatValues(void);
void GetAttackValue(int *Value, int *SkillNr);
void GetDefendValue(int *Value, int *SkillNr);
int GetAttackDamage(void);
int GetDefendDamage(void);
int GetArmorStrength(void);
int GetDistance(void);
void ActivateLearning(void);
void SetAttackMode(uint8 AttackMode);
void SetChaseMode(uint8 ChaseMode);
void SetSecureMode(uint8 SecureMode);
void SetAttackDest(uint32 TargetID, bool Follow);
void CanToDoAttack(void);
void StopAttack(int Delay);
void DelayAttack(int Milliseconds);
void Attack(void);
void CloseAttack(TCreature *Target);
void DistanceAttack(TCreature *Target);
void WandAttack(TCreature *Target);
void AddDamageToCombatList(uint32 Attacker, uint32 Damage);
uint32 GetDamageByCreature(uint32 CreatureID);
uint32 GetMostDangerousAttacker(void);
void DistributeExperiencePoints(uint32 Exp);
// DATA
// =========================================================================
TCreature *Master;
uint32 EarliestAttackTime;
uint32 EarliestDefendTime;
uint32 LastDefendTime;
uint32 LatestAttackTime;
uint8 AttackMode;
uint8 ChaseMode;
uint8 SecureMode;
uint32 AttackDest;
bool Following;
Object Shield;
Object Close;
Object Missile;
Object Throw;
Object Wand;
Object Ammo;
bool Fist;
uint32 CombatDamage;
int ActCombatEntry;
TCombatEntry CombatList[20];
int LearningPoints;
};
#endif //TIBIA_CRCOMBAT_HH_
|