|
@ -501,12 +501,11 @@ pub struct MagAnimation { |
|
|
unknown1: u16,
|
|
|
unknown1: u16,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x63)]
|
|
|
|
|
|
//pub struct FloorItemLimitItemDeletion {
|
|
|
|
|
|
// client_id: u16,
|
|
|
|
|
|
// item_id: u8,
|
|
|
|
|
|
// amount: u8,
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x63)]
|
|
|
|
|
|
pub struct FloorItemLimitItemDeletion {
|
|
|
|
|
|
item_id: u32,
|
|
|
|
|
|
map_area: u16,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x66)]
|
|
|
#[pso_message(0x66)]
|
|
|
pub struct PlayerUsedStarAtomizer {
|
|
|
pub struct PlayerUsedStarAtomizer {
|
|
@ -948,6 +947,7 @@ pub struct DropCoordinates { |
|
|
x: f32,
|
|
|
x: f32,
|
|
|
z: f32,
|
|
|
z: f32,
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
|
|
|
amount: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0xC4)]
|
|
|
#[pso_message(0xC4)]
|
|
@ -1166,7 +1166,7 @@ pub enum GameMessage { |
|
|
ItemDrop(ItemDrop),
|
|
|
ItemDrop(ItemDrop),
|
|
|
RequestItem(RequestItem),
|
|
|
RequestItem(RequestItem),
|
|
|
MagAnimation(MagAnimation),
|
|
|
MagAnimation(MagAnimation),
|
|
|
//FloorItemLimitItemDeletion(FloorItemLimitItemDeletion),
|
|
|
|
|
|
|
|
|
FloorItemLimitItemDeletion(FloorItemLimitItemDeletion),
|
|
|
PlayerUsedStarAtomizer(PlayerUsedStarAtomizer),
|
|
|
PlayerUsedStarAtomizer(PlayerUsedStarAtomizer),
|
|
|
SpawningMonsters(SpawningMonsters),
|
|
|
SpawningMonsters(SpawningMonsters),
|
|
|
PlayerTelepipe(PlayerTelepipe),
|
|
|
PlayerTelepipe(PlayerTelepipe),
|
|
@ -1333,7 +1333,7 @@ impl PSOPacketData for GameMessage { |
|
|
ItemDrop::CMD => Ok(GameMessage::ItemDrop(ItemDrop::from_bytes(&mut cur)?)),
|
|
|
ItemDrop::CMD => Ok(GameMessage::ItemDrop(ItemDrop::from_bytes(&mut cur)?)),
|
|
|
RequestItem::CMD => Ok(GameMessage::RequestItem(RequestItem::from_bytes(&mut cur)?)),
|
|
|
RequestItem::CMD => Ok(GameMessage::RequestItem(RequestItem::from_bytes(&mut cur)?)),
|
|
|
MagAnimation::CMD => Ok(GameMessage::MagAnimation(MagAnimation::from_bytes(&mut cur)?)),
|
|
|
MagAnimation::CMD => Ok(GameMessage::MagAnimation(MagAnimation::from_bytes(&mut cur)?)),
|
|
|
//FloorItemLimitItemDeletion::CMD => Ok(GameMessage::FloorItemLimitItemDeletion(FloorItemLimitItemDeletion::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
FloorItemLimitItemDeletion::CMD => Ok(GameMessage::FloorItemLimitItemDeletion(FloorItemLimitItemDeletion::from_bytes(&mut cur)?)),
|
|
|
PlayerUsedStarAtomizer::CMD => Ok(GameMessage::PlayerUsedStarAtomizer(PlayerUsedStarAtomizer::from_bytes(&mut cur)?)),
|
|
|
PlayerUsedStarAtomizer::CMD => Ok(GameMessage::PlayerUsedStarAtomizer(PlayerUsedStarAtomizer::from_bytes(&mut cur)?)),
|
|
|
SpawningMonsters::CMD => Ok(GameMessage::SpawningMonsters(SpawningMonsters::from_bytes(&mut cur)?)),
|
|
|
SpawningMonsters::CMD => Ok(GameMessage::SpawningMonsters(SpawningMonsters::from_bytes(&mut cur)?)),
|
|
|
PlayerTelepipe::CMD => Ok(GameMessage::PlayerTelepipe(PlayerTelepipe::from_bytes(&mut cur)?)),
|
|
|
PlayerTelepipe::CMD => Ok(GameMessage::PlayerTelepipe(PlayerTelepipe::from_bytes(&mut cur)?)),
|
|
@ -1502,7 +1502,7 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::ItemDrop(data) => data.as_bytes(),
|
|
|
GameMessage::ItemDrop(data) => data.as_bytes(),
|
|
|
GameMessage::RequestItem(data) => data.as_bytes(),
|
|
|
GameMessage::RequestItem(data) => data.as_bytes(),
|
|
|
GameMessage::MagAnimation(data) => data.as_bytes(),
|
|
|
GameMessage::MagAnimation(data) => data.as_bytes(),
|
|
|
//GameMessage::FloorItemLimitItemDeletion(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::FloorItemLimitItemDeletion(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerUsedStarAtomizer(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerUsedStarAtomizer(data) => data.as_bytes(),
|
|
|
GameMessage::SpawningMonsters(data) => data.as_bytes(),
|
|
|
GameMessage::SpawningMonsters(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerTelepipe(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerTelepipe(data) => data.as_bytes(),
|
|
|