From 31e6a793dd517c998d2b68394502dbade4634855 Mon Sep 17 00:00:00 2001 From: David Markowitz <39972741+EmosewaMC@users.noreply.github.com> Date: Thu, 29 Dec 2022 07:21:53 -0800 Subject: [PATCH] Add EchoStartSkill and fix Quaternion Identity (#9) --- examples/capture_parser/main.rs | 1 - src/world/gm/client/mod.rs | 22 +++++++++++ src/world/gm/client/tests/EchoStartSkill.bin | Bin 0 -> 64 bytes src/world/gm/client/tests/EchoStartSkill.rs | 37 ++++++++++++++++++ .../client/tests/NotifyPetTamingMinigame.rs | 7 +--- src/world/gm/server/tests/StartSkill.rs | 7 +--- src/world/mod.rs | 2 +- 7 files changed, 62 insertions(+), 14 deletions(-) create mode 100644 src/world/gm/client/tests/EchoStartSkill.bin create mode 100644 src/world/gm/client/tests/EchoStartSkill.rs diff --git a/examples/capture_parser/main.rs b/examples/capture_parser/main.rs index 61c6ebe..bd637a6 100644 --- a/examples/capture_parser/main.rs +++ b/examples/capture_parser/main.rs @@ -94,7 +94,6 @@ fn parse(path: &Path, cdclient: &mut Cdclient) -> Res { && !file.name().contains("[53-05-00-00]") && !file.name().contains("[53-05-00-15]") && !file.name().contains("[53-05-00-31]") - && !file.name().contains("[76-00]") && !file.name().contains("[e6-00]") && !file.name().contains("[ff-00]") && !file.name().contains("[a1-01]") diff --git a/src/world/gm/client/mod.rs b/src/world/gm/client/mod.rs index f22e44a..9f258dd 100644 --- a/src/world/gm/client/mod.rs +++ b/src/world/gm/client/mod.rs @@ -25,6 +25,7 @@ pub enum GameMessage { PreloadAnimation(PreloadAnimation) = 42, PlayAnimation(PlayAnimation) = 43, SetName(SetName) = 72, + EchoStartSkill(EchoStartSkill) = 118, AddSkill(AddSkill) = 127, RemoveSkill(RemoveSkill) = 128, SetCurrency(SetCurrency) = 133, @@ -263,6 +264,27 @@ pub struct SetName { pub name: GmWString, } +#[derive(Debug, GameMessage, PartialEq)] +pub struct EchoStartSkill { + #[default(false)] + pub used_mouse: bool, + #[default(0.0)] + pub caster_latency: f32, + #[default(0)] + pub cast_type: i32, // todo: type + #[default(Vector3::ZERO)] + pub last_clicked_posit: Vector3, + pub optional_originator_id: ObjId, + #[default(OBJID_EMPTY)] + pub optional_target_id: ObjId, + #[default(Quaternion::IDENTITY)] + pub originator_rot: Quaternion, + pub bitstream: Vec, + pub skill_id: u32, // todo: type + #[default(0)] + pub skill_handle: u32 +} + #[derive(Debug, GameMessage, PartialEq)] pub struct AddSkill { #[default(0)] diff --git a/src/world/gm/client/tests/EchoStartSkill.bin b/src/world/gm/client/tests/EchoStartSkill.bin new file mode 100644 index 0000000000000000000000000000000000000000..4efe413cd70175e030e03844400ed616b02be263 GIT binary patch literal 64 zcmXS8VEN`Cz`(-5;J;zsEC&t-h86}i;KIPb#KgeB_(px%1R$-z29#&s0~7>mVgLX` C=m