mirror of
https://github.com/lcdr/lu_packets.git
synced 2026-01-10 16:28:08 -06:00
Add StartSkill game message
This commit is contained in:
@@ -49,7 +49,6 @@ fn parse(path: &Path) -> Res<usize> {
|
||||
&& !file.name().contains("[53-04-00-16]")
|
||||
&& !file.name().contains("[53-04-00-17]")
|
||||
&& !file.name().contains("[30-00]")
|
||||
&& !file.name().contains("[77-00]")
|
||||
&& !file.name().contains("[e6-00]")
|
||||
&& !file.name().contains("[6b-03]")
|
||||
&& !file.name().contains("[16-04]")
|
||||
@@ -57,7 +56,6 @@ fn parse(path: &Path) -> Res<usize> {
|
||||
&& !file.name().contains("[ad-04]")
|
||||
&& !file.name().contains("[1c-05]")
|
||||
&& !file.name().contains("[48]")
|
||||
&& !file.name().contains("[119]")
|
||||
&& !file.name().contains("[230]")
|
||||
&& !file.name().contains("[875]")
|
||||
&& !file.name().contains("[1046]")
|
||||
|
||||
@@ -75,6 +75,13 @@ fn gen_test_case(type_name: &Ident, test_params: &Option<Punctuated<NestedMeta,
|
||||
let mut out = vec![];
|
||||
::endio::LEWrite::write(&mut out, &parsed).unwrap();
|
||||
assert_eq!(out, input);
|
||||
/*
|
||||
if out != input {
|
||||
// bless output
|
||||
let mut out = std::fs::File::create().unwrap();
|
||||
::endio::LEWrite::write(&mut out, &parsed).unwrap();
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ pub struct SubjectGameMessage {
|
||||
pub enum GameMessage {
|
||||
RequestDie(RequestDie) = 38,
|
||||
PlayEmote(PlayEmote) = 41,
|
||||
StartSkill(StartSkill) = 119,
|
||||
CasterDead(CasterDead) = 120,
|
||||
VerifyAck(VerifyAck) = 121,
|
||||
SelectSkill(SelectSkill) = 124,
|
||||
@@ -151,6 +152,29 @@ pub struct PlayEmote {
|
||||
pub target_id: ObjId,
|
||||
}
|
||||
|
||||
#[derive(Debug, GameMessage, PartialEq)]
|
||||
pub struct StartSkill {
|
||||
#[default(false)]
|
||||
pub used_mouse: bool,
|
||||
#[default(OBJID_EMPTY)]
|
||||
pub consumable_item_id: ObjId,
|
||||
#[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<u8>,
|
||||
pub skill_id: u32, // todo: type
|
||||
#[default(0)]
|
||||
pub skill_handle: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, GameMessage, PartialEq)]
|
||||
pub struct CasterDead {
|
||||
#[default(OBJID_EMPTY)]
|
||||
|
||||
BIN
src/world/gm/server/tests/StartSkill.bin
Normal file
BIN
src/world/gm/server/tests/StartSkill.bin
Normal file
Binary file not shown.
22
src/world/gm/server/tests/StartSkill.rs
Normal file
22
src/world/gm/server/tests/StartSkill.rs
Normal file
@@ -0,0 +1,22 @@
|
||||
GameMessage::StartSkill(
|
||||
StartSkill {
|
||||
used_mouse: false,
|
||||
consumable_item_id: 0,
|
||||
caster_latency: 0.0,
|
||||
cast_type: 0,
|
||||
last_clicked_posit: Vector3::ZERO,
|
||||
optional_originator_id: 0,
|
||||
optional_target_id: 0,
|
||||
originator_rot: Quaternion {
|
||||
x: 0.0,
|
||||
y: 0.0,
|
||||
z: 0.0,
|
||||
w: 0.0,
|
||||
},
|
||||
bitstream: vec![
|
||||
1, 0, 0, 0, 1, 0, 0, 0, 128, 128, 0, 0, 50, 138, 129, 0, 0, 32, 0, 2, 61, 0, 0, 0, 0,
|
||||
],
|
||||
skill_id: 1140,
|
||||
skill_handle: 121,
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user