@@ -12,6 +12,137 @@ enum class ActorGroupBelong : uint8_t
12
12
kExtra ,
13
13
};
14
14
15
+ // Some of these entries may be different for JP and/or EU
16
+ struct AttackParams
17
+ {
18
+ const char *nameMsg;
19
+ uint16_t iconId;
20
+ uint16_t unk_0x06;
21
+ uint16_t unk_0x08;
22
+ int16_t itemId;
23
+ char *unk_0x0c;
24
+ uint8_t unk_0x10; // Always 0x64?
25
+ int8_t baseFpCost;
26
+ int8_t baseSpCost;
27
+ int8_t guardTypesAllowed; // 0 = none, 2 = both; ? = guard only
28
+ float unk_0x14;
29
+ uint32_t unk_0x18; // Possibly separate 8-bit values, or flags?
30
+
31
+ char *baseDamageFn;
32
+ // Parameters for damage function.
33
+ int32_t baseDamage1;
34
+ int32_t baseDamage2;
35
+ int32_t baseDamage3;
36
+ int32_t baseDamage4;
37
+ int32_t baseDamage5;
38
+ int32_t baseDamage6;
39
+ uint32_t unk_0x38;
40
+ uint32_t unk_0x3c;
41
+
42
+ char *baseFpDamageFn;
43
+ // Parameters for FP damage function.
44
+ int32_t baseFpDamage;
45
+ uint32_t unk_0x48;
46
+ uint32_t unk_0x4c;
47
+ uint32_t unk_0x50;
48
+ uint32_t unk_0x54;
49
+ uint32_t unk_0x58;
50
+ uint32_t unk_0x5c;
51
+ uint32_t unk_0x60;
52
+
53
+ int8_t numTargets; // 1 for single-target, 2 for multi-target
54
+ uint8_t unk_0x65;
55
+ uint8_t unk_0x66;
56
+ uint8_t unk_0x67;
57
+ uint8_t allowedTargetTypes;
58
+ uint8_t unk_0x69; // Used for enemy-knockback attacks (like Gulp)?
59
+ uint8_t unk_0x6a; // Seems to correlate with allowed targets?
60
+ uint8_t unk_0x6b; // Seems to indicate effects like flip, quake...
61
+ int8_t element;
62
+ uint8_t unk_0x6d;
63
+ uint8_t unk_0x6e; // Always 0x03?
64
+ uint8_t unk_0x6f; // Always 0x02?
65
+ const char *acMsg;
66
+ uint32_t unk_0x74_flags;
67
+ uint32_t unk_0x78_flags;
68
+ uint32_t unk_0x7c_flags; // May be flags; generally similar values.
69
+
70
+ int8_t sleepChance;
71
+ int8_t sleepTime;
72
+ int8_t stopChance;
73
+ int8_t stopTime;
74
+
75
+ int8_t dizzyChance;
76
+ int8_t dizzyTime;
77
+ int8_t poisonChance;
78
+ int8_t poisonTime;
79
+
80
+ int8_t poisonStrength;
81
+ int8_t confuseChance;
82
+ int8_t confuseTime;
83
+ int8_t electricChance;
84
+
85
+ int8_t electricTime;
86
+ int8_t dodgyChance;
87
+ int8_t dodgyTime;
88
+ int8_t burnChance;
89
+
90
+ int8_t burnTime;
91
+ int8_t freezeChance;
92
+ int8_t freezeTime;
93
+ int8_t sizeChangeChance;
94
+
95
+ int8_t sizeChangeTime;
96
+ int8_t sizeChangeStrength;
97
+ int8_t attackChangeChance;
98
+ int8_t attackChangeTime;
99
+
100
+ int8_t attackChangeStrength;
101
+ int8_t defenseChangeChance;
102
+ int8_t defenseChangeTime;
103
+ int8_t defenseChangeStrength;
104
+
105
+ int8_t allergicChance;
106
+ int8_t allergicTime;
107
+ int8_t ohkoChance;
108
+ int8_t chargeStrength;
109
+
110
+ int8_t fastChance;
111
+ int8_t fastTime;
112
+ int8_t slowChance;
113
+ int8_t slowTime;
114
+
115
+ int8_t frightChance;
116
+ int8_t galeForceChance;
117
+ int8_t paybackTime;
118
+ int8_t holdFastTime;
119
+
120
+ int8_t invisibleChance;
121
+ int8_t invisibleTime;
122
+ int8_t hpRegenTime;
123
+ int8_t hpRegenStrength;
124
+
125
+ int8_t fpRegenTime;
126
+ int8_t fpRegenStrength;
127
+ uint8_t unk_0xae;
128
+ uint8_t unk_0xaf;
129
+
130
+ char *itemScriptPtr;
131
+
132
+ int8_t backgroundA1A2FallWeight;
133
+ int8_t backgroundA1FallWeight;
134
+ int8_t backgroundA2FallWeight;
135
+ int8_t backgroundNoFallWeight;
136
+ int8_t backgroundBFallChance;
137
+ int8_t nozzleChangeDirectionChance;
138
+ int8_t nozzleFireChance;
139
+ int8_t ironFrameFallChance;
140
+ int8_t objectFallChance;
141
+ uint8_t unk_0xbd;
142
+ uint8_t unk_0xbe;
143
+ uint8_t unk_0xbf;
144
+ } __attribute__((__packed__));
145
+
15
146
extern " C" {
16
147
17
148
// BtlUnit_CheckShadowGuard
0 commit comments