update some boss command notes
This commit is contained in:
+10
-9
@@ -4175,9 +4175,9 @@ struct G_DragonBossActions_6x10_6x11 {
|
||||
template <bool BE>
|
||||
struct G_DragonBossActionsT_6x12 {
|
||||
G_EntityIDHeader header;
|
||||
le_uint16_t unknown_a2 = 0;
|
||||
le_uint16_t phase = 0;
|
||||
le_uint16_t unknown_a3 = 0;
|
||||
le_uint32_t unknown_a4 = 0;
|
||||
le_uint32_t target_client_id = 0xFFFF; // 0xFFFF (not 0xFFFFFFFF) means no target
|
||||
F32T<BE> x = 0.0f;
|
||||
F32T<BE> z = 0.0f;
|
||||
} __attribute__((packed));
|
||||
@@ -4190,30 +4190,31 @@ check_struct_size(G_DragonBossActions_GC_6x12, 0x14);
|
||||
|
||||
struct G_DeRolLeBossActions_6x13 {
|
||||
G_EntityIDHeader header;
|
||||
le_uint16_t unknown_a2 = 0;
|
||||
le_uint16_t phase = 0;
|
||||
le_uint16_t unknown_a3 = 0;
|
||||
} __packed_ws__(G_DeRolLeBossActions_6x13, 8);
|
||||
|
||||
// 6x14: De Rol Le boss actions (not valid on Episode 3)
|
||||
|
||||
struct G_DeRolLeBossActions_6x14 {
|
||||
struct G_DeRolLeBossActionsWithTarget_6x14 {
|
||||
G_EntityIDHeader header;
|
||||
le_uint16_t unknown_a2 = 0;
|
||||
le_uint16_t phase = 0;
|
||||
le_uint16_t unknown_a3 = 0;
|
||||
le_uint32_t unknown_a4 = 0;
|
||||
} __packed_ws__(G_DeRolLeBossActions_6x14, 0x0C);
|
||||
le_uint32_t target_client_id = 0xFFFF; // See 6x12
|
||||
} __packed_ws__(G_DeRolLeBossActionsWithTarget_6x14, 0x0C);
|
||||
|
||||
// 6x15: Vol Opt boss actions (not valid on Episode 3)
|
||||
|
||||
struct G_VolOptBossActions_6x15 {
|
||||
G_EntityIDHeader header;
|
||||
le_uint16_t unknown_a2 = 0;
|
||||
le_uint16_t action = 0;
|
||||
le_uint16_t unknown_a3 = 0;
|
||||
le_uint16_t unknown_a4 = 0;
|
||||
le_uint16_t unknown_a5 = 0;
|
||||
} __packed_ws__(G_VolOptBossActions_6x15, 0x0C);
|
||||
|
||||
// 6x16: Vol Opt boss actions (not valid on Episode 3)
|
||||
// 6x16: Set Vol Opt entity index table (not valid on Episode 3)
|
||||
// This command is used for shuffling the pillars during the first phase.
|
||||
|
||||
struct G_VolOptBossActions_6x16 {
|
||||
G_EntityIDHeader header;
|
||||
|
||||
@@ -3674,7 +3674,7 @@ static asio::awaitable<void> on_dragon_actions_6x12(shared_ptr<Client> c, Subcom
|
||||
}
|
||||
|
||||
G_DragonBossActions_GC_6x12 sw_cmd = {{cmd.header.subcommand, cmd.header.size, cmd.header.entity_id.load()},
|
||||
cmd.unknown_a2.load(), cmd.unknown_a3.load(), cmd.unknown_a4.load(), cmd.x.load(), cmd.z.load()};
|
||||
cmd.phase.load(), cmd.unknown_a3.load(), cmd.target_client_id.load(), cmd.x.load(), cmd.z.load()};
|
||||
bool sender_is_be = is_big_endian(c->version());
|
||||
for (auto lc : l->clients) {
|
||||
if (lc && (lc != c)) {
|
||||
@@ -5471,7 +5471,7 @@ const vector<SubcommandDefinition> subcommand_definitions{
|
||||
/* 6x11 */ {0x0F, 0x0F, 0x11, forward_subcommand_with_entity_id_transcode_t<G_DragonBossActions_6x10_6x11>},
|
||||
/* 6x12 */ {0x10, 0x10, 0x12, on_dragon_actions_6x12},
|
||||
/* 6x13 */ {0x11, 0x11, 0x13, forward_subcommand_with_entity_id_transcode_t<G_DeRolLeBossActions_6x13>},
|
||||
/* 6x14 */ {0x12, 0x12, 0x14, forward_subcommand_with_entity_id_transcode_t<G_DeRolLeBossActions_6x14>},
|
||||
/* 6x14 */ {0x12, 0x12, 0x14, forward_subcommand_with_entity_id_transcode_t<G_DeRolLeBossActionsWithTarget_6x14>},
|
||||
/* 6x15 */ {0x13, 0x13, 0x15, forward_subcommand_with_entity_id_transcode_t<G_VolOptBossActions_6x15>},
|
||||
/* 6x16 */ {0x14, 0x14, 0x16, on_vol_opt_actions_t<G_VolOptBossActions_6x16>},
|
||||
/* 6x17 */ {0x15, 0x15, 0x17, on_set_entity_pos_and_angle_6x17},
|
||||
|
||||
Reference in New Issue
Block a user