/
structure.h
120 lines (87 loc) · 1.58 KB
/
structure.h
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
#pragma once
namespace pkodev
{
// Character structure
struct character
{
// Offset 0
char nop0[0x48];
// Monster world ID [0x48]
unsigned int id;
// Offset 1
char nop1[0x24];
// The X coordinate of the spawn point [0x70]
unsigned int spawn_x;
// The Y coordinate of the spawn point [0x74]
unsigned int spawn_y;
// Offset 2
char nop2[0x16C];
// Name 0x1E4
char name[0x20];
// Offset 3
char nop3[8];
// Respawn time [0x20C]
unsigned int time;
// Offset 4
char nop4[0x7C];
// Character ID [0x28C]
unsigned int cha_id;
};
// Point structure
struct point
{
// Position (x, y)
int x;
int y;
// Constructor
point() :
x(0), y(0) { }
// Constructor
point(int x_, int y_) :
x(x_), y(y_) { }
};
#pragma pack(push, 1)
// Respawn structure
struct outmap_spawn
{
// Monster world ID
unsigned int id;
// Monster ID
unsigned int cha_id;
// Position X
unsigned int pos_x;
// Position Y
unsigned int pos_y;
// Time of respawn
unsigned int revive_time;
// Time of death
unsigned int die_time;
};
#pragma pack(pop)
// Pending respawn structure
struct expected_spawn
{
// Monster ID
unsigned int cha_id;
// Control type
char ctrl;
// Angle
short int angle;
// Position X
unsigned int x;
// Position Y
unsigned int y;
// Eyeshot type
bool eyeshot;
// Monster name
char name[32];
// Target search radius
int radius;
// Time of respawn
unsigned int revive_time;
// Time of death
unsigned int die_time;
// Pointer to SubMap object
void* submap_pointer;
};
}