|
@ -10,10 +10,10 @@ pub trait PSOMessage { |
|
|
fn as_bytes(&self) -> Vec<u8>;
|
|
|
fn as_bytes(&self) -> Vec<u8>;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x05)]
|
|
|
|
|
|
//pub struct PlayerActivatedSwitch {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x05)]
|
|
|
|
|
|
pub struct PlayerActivatedSwitch {
|
|
|
|
|
|
data: u16,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x06)]
|
|
|
#[pso_message(0x06)]
|
|
|
pub struct GuildcardSend {
|
|
|
pub struct GuildcardSend {
|
|
@ -132,20 +132,22 @@ pub struct TellOtherPlayerMyLocation { |
|
|
z: f32,
|
|
|
z: f32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x21)]
|
|
|
|
|
|
//pub struct PlayerWarpingToFloor {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x21)]
|
|
|
|
|
|
pub struct PlayerWarpingToFloor {
|
|
|
|
|
|
area: u8,
|
|
|
|
|
|
data: u16,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x22)]
|
|
|
|
|
|
//pub struct PlayerWarping {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x22)]
|
|
|
|
|
|
pub struct PlayerWarping {
|
|
|
|
|
|
|
|
|
//#[pso_message(0x23)]
|
|
|
|
|
|
//pub struct PlayerDoneChangingMap {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#[pso_message(0x23)]
|
|
|
|
|
|
pub struct PlayerDoneChangingMap {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x24)]
|
|
|
#[pso_message(0x24)]
|
|
|
pub struct PlayerTeleported {
|
|
|
pub struct PlayerTeleported {
|
|
@ -157,8 +159,8 @@ pub struct PlayerTeleported { |
|
|
#[pso_message(0x25)]
|
|
|
#[pso_message(0x25)]
|
|
|
pub struct PlayerEquipItem {
|
|
|
pub struct PlayerEquipItem {
|
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
variety: [u8; 0x04],
|
|
|
|
|
|
unknown1: u32,
|
|
|
|
|
|
|
|
|
variety: u8,
|
|
|
|
|
|
unknown1: u16,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x26)]
|
|
|
#[pso_message(0x26)]
|
|
@ -186,7 +188,12 @@ pub struct PlayerDropItem { |
|
|
|
|
|
|
|
|
#[pso_message(0x2A)]
|
|
|
#[pso_message(0x2A)]
|
|
|
pub struct PlayerDropItem2 {
|
|
|
pub struct PlayerDropItem2 {
|
|
|
data: [u8; 20],
|
|
|
|
|
|
|
|
|
unknown1: u16,
|
|
|
|
|
|
area: u16,
|
|
|
|
|
|
item_id: u32,
|
|
|
|
|
|
x: f32,
|
|
|
|
|
|
y: f32,
|
|
|
|
|
|
z: f32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x2B)]
|
|
|
#[pso_message(0x2B)]
|
|
@ -199,44 +206,54 @@ pub struct AddItemToInventory { |
|
|
unknown1: u32,
|
|
|
unknown1: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x2C)]
|
|
|
|
|
|
//pub struct InitializeSpeechNpc {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x2C)]
|
|
|
|
|
|
pub struct InitializeSpeechNpc {
|
|
|
|
|
|
unknown1: u16,
|
|
|
|
|
|
unknown2: u16,
|
|
|
|
|
|
location: u32,
|
|
|
|
|
|
location2: u32,
|
|
|
|
|
|
unknown3: u32,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x2D)]
|
|
|
|
|
|
//pub struct FinishSpeechNpc {
|
|
|
|
|
|
|
|
|
#[pso_message(0x2D)]
|
|
|
|
|
|
pub struct FinishSpeechNpc {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x2F)]
|
|
|
|
|
|
//pub struct FinishSpeechNpcBPD {
|
|
|
|
|
|
|
|
|
#[pso_message(0x2F)]
|
|
|
|
|
|
pub struct FinishSpeechNpcBPD {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x30)]
|
|
|
|
|
|
//pub struct PlayerLevelUp {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x30)]
|
|
|
|
|
|
pub struct PlayerLevelUp {
|
|
|
|
|
|
atp: u16,
|
|
|
|
|
|
mst: u16,
|
|
|
|
|
|
evp: u16,
|
|
|
|
|
|
hp: u16,
|
|
|
|
|
|
dfp: u16,
|
|
|
|
|
|
ata: u16,
|
|
|
|
|
|
lvl: u32,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x31)]
|
|
|
#[pso_message(0x31)]
|
|
|
pub struct PlayerResurrected {
|
|
|
pub struct PlayerResurrected {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x32)]
|
|
|
#[pso_message(0x32)]
|
|
|
pub struct PlayerResurrectedMedicalCenter {
|
|
|
pub struct PlayerResurrectedMedicalCenter {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x33)]
|
|
|
#[pso_message(0x33)]
|
|
|
pub struct PlayerUsedMoonAtomizer {
|
|
|
pub struct PlayerUsedMoonAtomizer {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x36)]
|
|
|
#[pso_message(0x36)]
|
|
|
pub struct PlayerPBDonation {
|
|
|
pub struct PlayerPBDonation {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x37)]
|
|
|
#[pso_message(0x37)]
|
|
@ -245,15 +262,15 @@ pub struct PlayerInitiatedPB { |
|
|
unknown1: u32,
|
|
|
unknown1: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x3A)]
|
|
|
|
|
|
//pub struct PlayerLeftArea {
|
|
|
|
|
|
|
|
|
#[pso_message(0x3A)]
|
|
|
|
|
|
pub struct PlayerLeftArea {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x3B)]
|
|
|
|
|
|
//pub struct PlayerSpawnedIntoArea {
|
|
|
|
|
|
|
|
|
#[pso_message(0x3B)]
|
|
|
|
|
|
pub struct PlayerSpawnedIntoArea {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x3E)]
|
|
|
#[pso_message(0x3E)]
|
|
|
pub struct PlayerStopped {
|
|
|
pub struct PlayerStopped {
|
|
@ -303,7 +320,7 @@ pub struct ComboStep3 { |
|
|
|
|
|
|
|
|
#[pso_message(0x46)]
|
|
|
#[pso_message(0x46)]
|
|
|
pub struct ComboStepDone {
|
|
|
pub struct ComboStepDone {
|
|
|
data: [u8; 8],
|
|
|
|
|
|
|
|
|
data: [u8; 4],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x47)]
|
|
|
#[pso_message(0x47)]
|
|
@ -332,38 +349,43 @@ pub struct PlayerPBUsed { |
|
|
|
|
|
|
|
|
#[pso_message(0x4A)]
|
|
|
#[pso_message(0x4A)]
|
|
|
pub struct PlayerBlockedDamage {
|
|
|
pub struct PlayerBlockedDamage {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x4B)]
|
|
|
#[pso_message(0x4B)]
|
|
|
pub struct PlayerReceivedDamage {
|
|
|
pub struct PlayerReceivedDamage {
|
|
|
data: [u8; 12],
|
|
|
|
|
|
|
|
|
unknown1: u16,
|
|
|
|
|
|
hp: u16,
|
|
|
|
|
|
unknown2: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x4C)]
|
|
|
#[pso_message(0x4C)]
|
|
|
pub struct PlayerReceivedDamage2 {
|
|
|
pub struct PlayerReceivedDamage2 {
|
|
|
data: [u8; 12],
|
|
|
|
|
|
|
|
|
unknown1: u16,
|
|
|
|
|
|
hp: u16,
|
|
|
|
|
|
unknown2: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x4D)]
|
|
|
#[pso_message(0x4D)]
|
|
|
pub struct PlayerDeath {
|
|
|
pub struct PlayerDeath {
|
|
|
data: [u8; 4],
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x4E)]
|
|
|
#[pso_message(0x4E)]
|
|
|
pub struct PlayerPostDeathAnimation {
|
|
|
pub struct PlayerPostDeathAnimation {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x4F)]
|
|
|
#[pso_message(0x4F)]
|
|
|
pub struct PlayerScapedollResurrection {
|
|
|
pub struct PlayerScapedollResurrection {
|
|
|
data: [u8; 4],
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x50)]
|
|
|
|
|
|
//pub struct PlayerActivatedSwitch2 {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x50)]
|
|
|
|
|
|
pub struct PlayerActivatedSwitch2 {
|
|
|
|
|
|
data: u16,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x52)]
|
|
|
#[pso_message(0x52)]
|
|
|
pub struct TalkToNpc {
|
|
|
pub struct TalkToNpc {
|
|
@ -394,15 +416,27 @@ pub struct PickupItem { |
|
|
item_id: u32,
|
|
|
item_id: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#[pso_message(0x5A)]
|
|
|
|
|
|
pub struct PickupItem2 {
|
|
|
|
|
|
item_id: u32,
|
|
|
|
|
|
area: u8,
|
|
|
|
|
|
unknown1: u32,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x5D)]
|
|
|
//#[pso_message(0x5D)]
|
|
|
//pub struct SplittingStack {
|
|
|
//pub struct SplittingStack {
|
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x5F)]
|
|
|
|
|
|
//pub struct BoxDrops {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x5F)]
|
|
|
|
|
|
pub struct BoxDrops {
|
|
|
|
|
|
area: u8,
|
|
|
|
|
|
variety: u8,
|
|
|
|
|
|
id: u16,
|
|
|
|
|
|
x: f32,
|
|
|
|
|
|
y: f32,
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x60)]
|
|
|
#[pso_message(0x60)]
|
|
|
pub struct RequestItem {
|
|
|
pub struct RequestItem {
|
|
@ -427,26 +461,36 @@ pub struct FloorItemLimitItemDeletion { |
|
|
unknown1: u32,
|
|
|
unknown1: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x66)]
|
|
|
|
|
|
//pub struct PlayerUsedStarAtomizer {
|
|
|
|
|
|
|
|
|
#[pso_message(0x66)]
|
|
|
|
|
|
pub struct PlayerUsedStarAtomizer {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x67)]
|
|
|
#[pso_message(0x67)]
|
|
|
pub struct SpawningMonsters {
|
|
|
pub struct SpawningMonsters {
|
|
|
data: [u8; 12],
|
|
|
data: [u8; 12],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x68)]
|
|
|
|
|
|
//pub struct PlayerTelepipe {
|
|
|
|
|
|
|
|
|
#[pso_message(0x68)]
|
|
|
|
|
|
pub struct PlayerTelepipe {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0x69)]
|
|
|
#[pso_message(0x69)]
|
|
|
pub struct NpcSpawn {
|
|
|
pub struct NpcSpawn {
|
|
|
data: [u8; 8],
|
|
|
data: [u8; 8],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0x6F)]
|
|
|
|
|
|
//pub struct PlayerJoiningGame {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0x71)]
|
|
|
|
|
|
//pub struct PlayerJoiningGame2 {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0x74)]
|
|
|
#[pso_message(0x74)]
|
|
|
pub struct WordSelect {
|
|
|
pub struct WordSelect {
|
|
|
data: [u8; 28],
|
|
|
data: [u8; 28],
|
|
@ -523,12 +567,12 @@ pub struct PlayerKilledByMonster { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x94)]
|
|
|
|
|
|
//pub struct PlayerWarped2 {
|
|
|
|
|
|
|
|
|
#[pso_message(0x94)]
|
|
|
|
|
|
pub struct PlayerWarped2 {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x94)]
|
|
|
|
|
|
|
|
|
//#[pso_message(0x97)]
|
|
|
//pub struct CmodeTryAgain {
|
|
|
//pub struct CmodeTryAgain {
|
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
@ -556,6 +600,11 @@ pub struct ModifyPlayerStats { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xA2)]
|
|
|
|
|
|
//pub struct BoxDropRequest {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xA3)]
|
|
|
//#[pso_message(0xA3)]
|
|
|
//pub struct BossInteractionOlgaFlow {
|
|
|
//pub struct BossInteractionOlgaFlow {
|
|
|
|
|
|
|
|
@ -571,6 +620,11 @@ pub struct ModifyPlayerStats { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xA6)]
|
|
|
|
|
|
//pub struct TradeRequest {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xA8)]
|
|
|
//#[pso_message(0xA8)]
|
|
|
//pub struct BossInteractionGolDragon {
|
|
|
//pub struct BossInteractionGolDragon {
|
|
|
|
|
|
|
|
@ -613,11 +667,51 @@ pub struct PhotonChairMove { |
|
|
unknown1: u32,
|
|
|
unknown1: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xB5)]
|
|
|
|
|
|
//pub struct ShopRequest {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xB7)]
|
|
|
|
|
|
//pub struct BuyItem {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xB8)]
|
|
|
|
|
|
//pub struct TechItem {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xBA)]
|
|
|
|
|
|
//pub struct TechWeaponAccept {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xBB)]
|
|
|
|
|
|
//pub struct BankRequest {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xBD)]
|
|
|
|
|
|
//pub struct BankInteraction {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xC0)]
|
|
|
//#[pso_message(0xC0)]
|
|
|
//pub struct PlayerSoldItem {
|
|
|
//pub struct PlayerSoldItem {
|
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xC1)]
|
|
|
|
|
|
//pub struct TeamInvite {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xC2)]
|
|
|
|
|
|
//pub struct AcceptTeamInvite {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[pso_message(0xC3)]
|
|
|
#[pso_message(0xC3)]
|
|
|
pub struct DropCoordinates {
|
|
|
pub struct DropCoordinates {
|
|
|
drop_area: u32,
|
|
|
drop_area: u32,
|
|
@ -631,10 +725,10 @@ pub struct DropCoordinates { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xC5)]
|
|
|
|
|
|
//pub struct PlayerUsedMedicalCenter {
|
|
|
|
|
|
|
|
|
#[pso_message(0xC5)]
|
|
|
|
|
|
pub struct PlayerUsedMedicalCenter {
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xC6)]
|
|
|
//#[pso_message(0xC6)]
|
|
|
//pub struct ExperienceSteal {
|
|
|
//pub struct ExperienceSteal {
|
|
@ -654,6 +748,16 @@ pub struct RequestExp { |
|
|
last_hitter: u32,
|
|
|
last_hitter: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xC9)]
|
|
|
|
|
|
//pub struct QuestRewardMeseta {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xCA)]
|
|
|
|
|
|
//pub struct QuestRewardItem {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xCB)]
|
|
|
//#[pso_message(0xCB)]
|
|
|
//pub struct TransferItemRequest {
|
|
|
//pub struct TransferItemRequest {
|
|
|
|
|
|
|
|
@ -664,11 +768,31 @@ pub struct RequestExp { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xCD)]
|
|
|
|
|
|
//pub struct MasterTransfer {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xCE)]
|
|
|
|
|
|
//pub struct AcceptMasterTransfer {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xCF)]
|
|
|
//#[pso_message(0xCF)]
|
|
|
//pub struct RestartBattle {
|
|
|
//pub struct RestartBattle {
|
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xD0)]
|
|
|
|
|
|
//pub struct BmodeLevelUp {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xD1)]
|
|
|
|
|
|
//pub struct CmodeGrave {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xD2)]
|
|
|
//#[pso_message(0xD2)]
|
|
|
//pub struct WriteQuestFlag {
|
|
|
//pub struct WriteQuestFlag {
|
|
|
|
|
|
|
|
@ -679,6 +803,11 @@ pub struct RequestExp { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xD6)]
|
|
|
|
|
|
//pub struct WrapItem {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xD7)]
|
|
|
//#[pso_message(0xD7)]
|
|
|
//pub struct PaganiniPDExchange {
|
|
|
//pub struct PaganiniPDExchange {
|
|
|
|
|
|
|
|
@ -709,14 +838,29 @@ pub struct RequestExp { |
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xDF)]
|
|
|
|
|
|
//pub struct BPDPhotonCrystalExchange {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xE0)]
|
|
|
|
|
|
//pub struct BPDRewards {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
//#[pso_message(0xE1)]
|
|
|
//#[pso_message(0xE1)]
|
|
|
//pub struct GallonsPlanQuest {
|
|
|
//pub struct GallonsPlanQuest {
|
|
|
|
|
|
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0xE2)]
|
|
|
|
|
|
//pub struct Coren {
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
|
#[derive(Debug, Clone, PartialEq)]
|
|
|
pub enum GameMessage {
|
|
|
pub enum GameMessage {
|
|
|
//PlayerActivatedSwitch(PlayerActivatedSwitch),
|
|
|
|
|
|
|
|
|
PlayerActivatedSwitch(PlayerActivatedSwitch),
|
|
|
GuildcardSend(GuildcardSend),
|
|
|
GuildcardSend(GuildcardSend),
|
|
|
GuildcardRecv(GuildcardRecv),
|
|
|
GuildcardRecv(GuildcardRecv),
|
|
|
//SymbolChat(SymbolChat),
|
|
|
//SymbolChat(SymbolChat),
|
|
@ -737,9 +881,9 @@ pub enum GameMessage { |
|
|
PlayerChangedMap(PlayerChangedMap),
|
|
|
PlayerChangedMap(PlayerChangedMap),
|
|
|
PlayerChangedMap2(PlayerChangedMap2),
|
|
|
PlayerChangedMap2(PlayerChangedMap2),
|
|
|
TellOtherPlayerMyLocation(TellOtherPlayerMyLocation),
|
|
|
TellOtherPlayerMyLocation(TellOtherPlayerMyLocation),
|
|
|
//PlayerWarpingToFloor(PlayerWarpingToFloor),
|
|
|
|
|
|
//PlayerWarping(PlayerWarping),
|
|
|
|
|
|
//PlayerDoneChangingMap(PlayerDoneChangingMap),
|
|
|
|
|
|
|
|
|
PlayerWarpingToFloor(PlayerWarpingToFloor),
|
|
|
|
|
|
PlayerWarping(PlayerWarping),
|
|
|
|
|
|
PlayerDoneChangingMap(PlayerDoneChangingMap),
|
|
|
PlayerTeleported(PlayerTeleported),
|
|
|
PlayerTeleported(PlayerTeleported),
|
|
|
PlayerEquipItem(PlayerEquipItem),
|
|
|
PlayerEquipItem(PlayerEquipItem),
|
|
|
PlayerUnequipItem(PlayerUnequipItem),
|
|
|
PlayerUnequipItem(PlayerUnequipItem),
|
|
@ -748,17 +892,17 @@ pub enum GameMessage { |
|
|
PlayerDropItem(PlayerDropItem),
|
|
|
PlayerDropItem(PlayerDropItem),
|
|
|
PlayerDropItem2(PlayerDropItem2),
|
|
|
PlayerDropItem2(PlayerDropItem2),
|
|
|
AddItemToInventory(AddItemToInventory),
|
|
|
AddItemToInventory(AddItemToInventory),
|
|
|
//InitializeSpeechNpc(InitializeSpeechNpc),
|
|
|
|
|
|
//FinishSpeechNpc(FinishSpeechNpc),
|
|
|
|
|
|
//FinishSpeechNpcBPD(FinishSpeechNpcBPD),
|
|
|
|
|
|
//PlayerLevelUp(PlayerLevelUp),
|
|
|
|
|
|
|
|
|
InitializeSpeechNpc(InitializeSpeechNpc),
|
|
|
|
|
|
FinishSpeechNpc(FinishSpeechNpc),
|
|
|
|
|
|
FinishSpeechNpcBPD(FinishSpeechNpcBPD),
|
|
|
|
|
|
PlayerLevelUp(PlayerLevelUp),
|
|
|
PlayerResurrected(PlayerResurrected),
|
|
|
PlayerResurrected(PlayerResurrected),
|
|
|
PlayerResurrectedMedicalCenter(PlayerResurrectedMedicalCenter),
|
|
|
PlayerResurrectedMedicalCenter(PlayerResurrectedMedicalCenter),
|
|
|
PlayerUsedMoonAtomizer(PlayerUsedMoonAtomizer),
|
|
|
PlayerUsedMoonAtomizer(PlayerUsedMoonAtomizer),
|
|
|
PlayerPBDonation(PlayerPBDonation),
|
|
|
PlayerPBDonation(PlayerPBDonation),
|
|
|
PlayerInitiatedPB(PlayerInitiatedPB),
|
|
|
PlayerInitiatedPB(PlayerInitiatedPB),
|
|
|
//PlayerLeftArea(PlayerLeftArea),
|
|
|
|
|
|
//PlayerSpawnedIntoArea(PlayerSpawnedIntoArea),
|
|
|
|
|
|
|
|
|
PlayerLeftArea(PlayerLeftArea),
|
|
|
|
|
|
PlayerSpawnedIntoArea(PlayerSpawnedIntoArea),
|
|
|
PlayerStopped(PlayerStopped),
|
|
|
PlayerStopped(PlayerStopped),
|
|
|
PlayerLoadedIn(PlayerLoadedIn),
|
|
|
PlayerLoadedIn(PlayerLoadedIn),
|
|
|
PlayerWalking(PlayerWalking),
|
|
|
PlayerWalking(PlayerWalking),
|
|
@ -776,21 +920,24 @@ pub enum GameMessage { |
|
|
PlayerDeath(PlayerDeath),
|
|
|
PlayerDeath(PlayerDeath),
|
|
|
PlayerPostDeathAnimation(PlayerPostDeathAnimation),
|
|
|
PlayerPostDeathAnimation(PlayerPostDeathAnimation),
|
|
|
PlayerScapedollResurrection(PlayerScapedollResurrection),
|
|
|
PlayerScapedollResurrection(PlayerScapedollResurrection),
|
|
|
//PlayerActivatedSwitch2(PlayerActivatedSwitch2),
|
|
|
|
|
|
|
|
|
PlayerActivatedSwitch2(PlayerActivatedSwitch2),
|
|
|
TalkToNpc(TalkToNpc),
|
|
|
TalkToNpc(TalkToNpc),
|
|
|
//Unknown53(Unknown53),
|
|
|
//Unknown53(Unknown53),
|
|
|
PlayerWarped(PlayerWarped),
|
|
|
PlayerWarped(PlayerWarped),
|
|
|
LobbyEmote(LobbyEmote),
|
|
|
LobbyEmote(LobbyEmote),
|
|
|
PickupItem(PickupItem),
|
|
|
PickupItem(PickupItem),
|
|
|
|
|
|
PickupItem2(PickupItem2),
|
|
|
//SplittingStack(SplittingStack),
|
|
|
//SplittingStack(SplittingStack),
|
|
|
//BoxDrops(BoxDrops),
|
|
|
|
|
|
|
|
|
BoxDrops(BoxDrops),
|
|
|
RequestItem(RequestItem),
|
|
|
RequestItem(RequestItem),
|
|
|
PlayerPBParticle(PlayerPBParticle),
|
|
|
PlayerPBParticle(PlayerPBParticle),
|
|
|
FloorItemLimitItemDeletion(FloorItemLimitItemDeletion),
|
|
|
FloorItemLimitItemDeletion(FloorItemLimitItemDeletion),
|
|
|
//PlayerUsedStarAtomizer(PlayerUsedStarAtomizer),
|
|
|
|
|
|
|
|
|
PlayerUsedStarAtomizer(PlayerUsedStarAtomizer),
|
|
|
SpawningMonsters(SpawningMonsters),
|
|
|
SpawningMonsters(SpawningMonsters),
|
|
|
//PlayerTelepipe(PlayerTelepipe),
|
|
|
|
|
|
|
|
|
PlayerTelepipe(PlayerTelepipe),
|
|
|
NpcSpawn(NpcSpawn),
|
|
|
NpcSpawn(NpcSpawn),
|
|
|
|
|
|
//PlayerJoiningGame(PlayerJoiningGame),
|
|
|
|
|
|
//PlayerJoiningGame2(PlayerJoiningGame2),
|
|
|
WordSelect(WordSelect),
|
|
|
WordSelect(WordSelect),
|
|
|
PlayerChangedFloor(PlayerChangedFloor),
|
|
|
PlayerChangedFloor(PlayerChangedFloor),
|
|
|
KillMonster(KillMonster),
|
|
|
KillMonster(KillMonster),
|
|
@ -806,15 +953,17 @@ pub enum GameMessage { |
|
|
PlayerKilledByMonster(PlayerKilledByMonster),
|
|
|
PlayerKilledByMonster(PlayerKilledByMonster),
|
|
|
//CmodeStatistics(CmodeStatistics),
|
|
|
//CmodeStatistics(CmodeStatistics),
|
|
|
//PlayerTechStart(PlayerTechStart),
|
|
|
//PlayerTechStart(PlayerTechStart),
|
|
|
//PlayerWarped2(PlayerWarped2),
|
|
|
|
|
|
|
|
|
PlayerWarped2(PlayerWarped2),
|
|
|
//CmodeTryAgain(CmodeTryAgain),
|
|
|
//CmodeTryAgain(CmodeTryAgain),
|
|
|
ModifyPlayerStats(ModifyPlayerStats),
|
|
|
ModifyPlayerStats(ModifyPlayerStats),
|
|
|
//CmodePartyWipe(CmodePartyWipe),
|
|
|
//CmodePartyWipe(CmodePartyWipe),
|
|
|
//BossInteractionGalGryphon(BossInteractionGalGryphon),
|
|
|
//BossInteractionGalGryphon(BossInteractionGalGryphon),
|
|
|
//PlayerMoonAtomizerResurrection(PlayerMoonAtomizerResurrection),
|
|
|
//PlayerMoonAtomizerResurrection(PlayerMoonAtomizerResurrection),
|
|
|
|
|
|
//BoxDropRequest(BoxDropRequest),
|
|
|
//BossInteractionOlgaFlow(BossInteractionOlgaFlow),
|
|
|
//BossInteractionOlgaFlow(BossInteractionOlgaFlow),
|
|
|
//BossInteractionOlgaFlow2(BossInteractionOlgaFlow2),
|
|
|
//BossInteractionOlgaFlow2(BossInteractionOlgaFlow2),
|
|
|
//BossInteractionOlgaFlow3(BossInteractionOlgaFlow3),
|
|
|
//BossInteractionOlgaFlow3(BossInteractionOlgaFlow3),
|
|
|
|
|
|
//TradeRequest(TradeRequest),
|
|
|
//BossInteractionGolDragon(BossInteractionGolDragon),
|
|
|
//BossInteractionGolDragon(BossInteractionGolDragon),
|
|
|
//BossInteractionBarbaRay(BossInteractionBarbaRay),
|
|
|
//BossInteractionBarbaRay(BossInteractionBarbaRay),
|
|
|
//BossInteractionBarbaRay2(BossInteractionBarbaRay2),
|
|
|
//BossInteractionBarbaRay2(BossInteractionBarbaRay2),
|
|
@ -823,25 +972,43 @@ pub enum GameMessage { |
|
|
UnknownAE(UnknownAE),
|
|
|
UnknownAE(UnknownAE),
|
|
|
PhotonChairTurn(PhotonChairTurn),
|
|
|
PhotonChairTurn(PhotonChairTurn),
|
|
|
PhotonChairMove(PhotonChairMove),
|
|
|
PhotonChairMove(PhotonChairMove),
|
|
|
|
|
|
//ShopRequest(ShopRequest),
|
|
|
|
|
|
//BuyItem(BuyItem),
|
|
|
|
|
|
//TechItem(TechItem),
|
|
|
|
|
|
//TechWeaponAccept(TechWeaponAccept),
|
|
|
|
|
|
//BankRequest(BankRequest),
|
|
|
|
|
|
//BankInteraction(BankInteraction),
|
|
|
//PlayerSoldItem(PlayerSoldItem),
|
|
|
//PlayerSoldItem(PlayerSoldItem),
|
|
|
|
|
|
//TeamInvite(TeamInvite),
|
|
|
|
|
|
//AcceptTeamInvite(AcceptTeamInvite),
|
|
|
DropCoordinates(DropCoordinates),
|
|
|
DropCoordinates(DropCoordinates),
|
|
|
//SortItems(SortItems),
|
|
|
//SortItems(SortItems),
|
|
|
//PlayerUsedMedicalCenter(PlayerUsedMedicalCenter),
|
|
|
|
|
|
|
|
|
PlayerUsedMedicalCenter(PlayerUsedMedicalCenter),
|
|
|
//ExperienceSteal(ExperienceSteal),
|
|
|
//ExperienceSteal(ExperienceSteal),
|
|
|
//ChargeAttack(ChargeAttack),
|
|
|
//ChargeAttack(ChargeAttack),
|
|
|
RequestExp(RequestExp),
|
|
|
RequestExp(RequestExp),
|
|
|
|
|
|
//QuestRewardMeseta(QuestRewardMeseta),
|
|
|
|
|
|
//QuestRewardItem(QuestRewardItem),
|
|
|
//TransferItemRequest(TransferItemRequest),
|
|
|
//TransferItemRequest(TransferItemRequest),
|
|
|
//ExchangeItemForTeampoints(ExchangeItemForTeampoints),
|
|
|
//ExchangeItemForTeampoints(ExchangeItemForTeampoints),
|
|
|
|
|
|
//MasterTransfer(MasterTransfer),
|
|
|
|
|
|
//AcceptMasterTransfer(AcceptMasterTransfer),
|
|
|
//RestartBattle(RestartBattle),
|
|
|
//RestartBattle(RestartBattle),
|
|
|
|
|
|
//BmodeLevelUp(BmodeLevelUp),
|
|
|
|
|
|
//CmodeGrave(CmodeGrave),
|
|
|
//WriteQuestFlag(WriteQuestFlag),
|
|
|
//WriteQuestFlag(WriteQuestFlag),
|
|
|
//QuestItemExchange(QuestItemExchange),
|
|
|
//QuestItemExchange(QuestItemExchange),
|
|
|
|
|
|
//WrapItem(WrapItem),
|
|
|
//PaganiniPDExchange(PaganiniPDExchange),
|
|
|
//PaganiniPDExchange(PaganiniPDExchange),
|
|
|
//SrankSpecialModification(SrankSpecialModification),
|
|
|
//SrankSpecialModification(SrankSpecialModification),
|
|
|
//MomokaItemShop(MomokaItemShop),
|
|
|
//MomokaItemShop(MomokaItemShop),
|
|
|
//WeaponAttributeEnhancement(WeaponAttributeEnhancement),
|
|
|
//WeaponAttributeEnhancement(WeaponAttributeEnhancement),
|
|
|
//BossInteractionSaintMillion(BossInteractionSaintMillion),
|
|
|
//BossInteractionSaintMillion(BossInteractionSaintMillion),
|
|
|
//GoodLuckQuest(GoodLuckQuest),
|
|
|
//GoodLuckQuest(GoodLuckQuest),
|
|
|
|
|
|
//BPDPhotonCrystalExchange(BPDPhotonCrystalExchange),
|
|
|
|
|
|
//BPDRewards(BPDRewards),
|
|
|
//GallonsPlanQuest(GallonsPlanQuest),
|
|
|
//GallonsPlanQuest(GallonsPlanQuest),
|
|
|
|
|
|
//Coren(Coren),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
impl PSOPacketData for GameMessage {
|
|
|
impl PSOPacketData for GameMessage {
|
|
@ -852,7 +1019,7 @@ impl PSOPacketData for GameMessage { |
|
|
cur.read(&mut len);
|
|
|
cur.read(&mut len);
|
|
|
cur.seek(SeekFrom::Current(-2)); // Cursor doesn't implement Peek?
|
|
|
cur.seek(SeekFrom::Current(-2)); // Cursor doesn't implement Peek?
|
|
|
match byte[0] {
|
|
|
match byte[0] {
|
|
|
//PlayerActivatedSwitch::CMD => Ok(GameMessage::PlayerActivatedSwitch(PlayerActivatedSwitch::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
PlayerActivatedSwitch::CMD => Ok(GameMessage::PlayerActivatedSwitch(PlayerActivatedSwitch::from_bytes(&mut cur)?)),
|
|
|
GuildcardSend::CMD => Ok(GameMessage::GuildcardSend(GuildcardSend::from_bytes(&mut cur)?)),
|
|
|
GuildcardSend::CMD => Ok(GameMessage::GuildcardSend(GuildcardSend::from_bytes(&mut cur)?)),
|
|
|
GuildcardRecv::CMD => Ok(GameMessage::GuildcardRecv(GuildcardRecv::from_bytes(&mut cur)?)),
|
|
|
GuildcardRecv::CMD => Ok(GameMessage::GuildcardRecv(GuildcardRecv::from_bytes(&mut cur)?)),
|
|
|
//SymbolChat::CMD => Ok(GameMessage::SymbolChat(SymbolChat::from_bytes(&mut cur)?)),
|
|
|
//SymbolChat::CMD => Ok(GameMessage::SymbolChat(SymbolChat::from_bytes(&mut cur)?)),
|
|
@ -873,9 +1040,9 @@ impl PSOPacketData for GameMessage { |
|
|
PlayerChangedMap::CMD if len[0] == 6 => Ok(GameMessage::PlayerChangedMap(PlayerChangedMap::from_bytes(&mut cur)?)),
|
|
|
PlayerChangedMap::CMD if len[0] == 6 => Ok(GameMessage::PlayerChangedMap(PlayerChangedMap::from_bytes(&mut cur)?)),
|
|
|
PlayerChangedMap2::CMD if len[0] == 2 => Ok(GameMessage::PlayerChangedMap2(PlayerChangedMap2::from_bytes(&mut cur)?)),
|
|
|
PlayerChangedMap2::CMD if len[0] == 2 => Ok(GameMessage::PlayerChangedMap2(PlayerChangedMap2::from_bytes(&mut cur)?)),
|
|
|
TellOtherPlayerMyLocation::CMD => Ok(GameMessage::TellOtherPlayerMyLocation(TellOtherPlayerMyLocation::from_bytes(&mut cur)?)),
|
|
|
TellOtherPlayerMyLocation::CMD => Ok(GameMessage::TellOtherPlayerMyLocation(TellOtherPlayerMyLocation::from_bytes(&mut cur)?)),
|
|
|
//PlayerWarpingToFloor::CMD => Ok(GameMessage::PlayerWarpingToFloor(PlayerWarpingToFloor::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//PlayerWarping::CMD => Ok(GameMessage::PlayerWarping(PlayerWarping::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//PlayerDoneChangingMap::CMD => Ok(GameMessage::PlayerDoneChangingMap(PlayerDoneChangingMap::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
PlayerWarpingToFloor::CMD => Ok(GameMessage::PlayerWarpingToFloor(PlayerWarpingToFloor::from_bytes(&mut cur)?)),
|
|
|
|
|
|
PlayerWarping::CMD => Ok(GameMessage::PlayerWarping(PlayerWarping::from_bytes(&mut cur)?)),
|
|
|
|
|
|
PlayerDoneChangingMap::CMD => Ok(GameMessage::PlayerDoneChangingMap(PlayerDoneChangingMap::from_bytes(&mut cur)?)),
|
|
|
PlayerTeleported::CMD => Ok(GameMessage::PlayerTeleported(PlayerTeleported::from_bytes(&mut cur)?)),
|
|
|
PlayerTeleported::CMD => Ok(GameMessage::PlayerTeleported(PlayerTeleported::from_bytes(&mut cur)?)),
|
|
|
PlayerEquipItem::CMD => Ok(GameMessage::PlayerEquipItem(PlayerEquipItem::from_bytes(&mut cur)?)),
|
|
|
PlayerEquipItem::CMD => Ok(GameMessage::PlayerEquipItem(PlayerEquipItem::from_bytes(&mut cur)?)),
|
|
|
PlayerUnequipItem::CMD => Ok(GameMessage::PlayerUnequipItem(PlayerUnequipItem::from_bytes(&mut cur)?)),
|
|
|
PlayerUnequipItem::CMD => Ok(GameMessage::PlayerUnequipItem(PlayerUnequipItem::from_bytes(&mut cur)?)),
|
|
@ -884,17 +1051,17 @@ impl PSOPacketData for GameMessage { |
|
|
PlayerDropItem::CMD => Ok(GameMessage::PlayerDropItem(PlayerDropItem::from_bytes(&mut cur)?)),
|
|
|
PlayerDropItem::CMD => Ok(GameMessage::PlayerDropItem(PlayerDropItem::from_bytes(&mut cur)?)),
|
|
|
PlayerDropItem2::CMD => Ok(GameMessage::PlayerDropItem2(PlayerDropItem2::from_bytes(&mut cur)?)),
|
|
|
PlayerDropItem2::CMD => Ok(GameMessage::PlayerDropItem2(PlayerDropItem2::from_bytes(&mut cur)?)),
|
|
|
AddItemToInventory::CMD => Ok(GameMessage::AddItemToInventory(AddItemToInventory::from_bytes(&mut cur)?)),
|
|
|
AddItemToInventory::CMD => Ok(GameMessage::AddItemToInventory(AddItemToInventory::from_bytes(&mut cur)?)),
|
|
|
//InitializeSpeechNpc::CMD => Ok(GameMessage::InitializeSpeechNpc(InitializeSpeechNpc::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//FinishSpeechNpc::CMD => Ok(GameMessage::FinishSpeechNpc(FinishSpeechNpc::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//FinishSpeechNpcBPD::CMD => Ok(GameMessage::FinishSpeechNpcBPD(FinishSpeechNpcBPD::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//PlayerLevelUp::CMD => Ok(GameMessage::PlayerLevelUp(PlayerLevelUp::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
InitializeSpeechNpc::CMD => Ok(GameMessage::InitializeSpeechNpc(InitializeSpeechNpc::from_bytes(&mut cur)?)),
|
|
|
|
|
|
FinishSpeechNpc::CMD => Ok(GameMessage::FinishSpeechNpc(FinishSpeechNpc::from_bytes(&mut cur)?)),
|
|
|
|
|
|
FinishSpeechNpcBPD::CMD => Ok(GameMessage::FinishSpeechNpcBPD(FinishSpeechNpcBPD::from_bytes(&mut cur)?)),
|
|
|
|
|
|
PlayerLevelUp::CMD => Ok(GameMessage::PlayerLevelUp(PlayerLevelUp::from_bytes(&mut cur)?)),
|
|
|
PlayerResurrected::CMD => Ok(GameMessage::PlayerResurrected(PlayerResurrected::from_bytes(&mut cur)?)),
|
|
|
PlayerResurrected::CMD => Ok(GameMessage::PlayerResurrected(PlayerResurrected::from_bytes(&mut cur)?)),
|
|
|
PlayerResurrectedMedicalCenter::CMD => Ok(GameMessage::PlayerResurrectedMedicalCenter(PlayerResurrectedMedicalCenter::from_bytes(&mut cur)?)),
|
|
|
PlayerResurrectedMedicalCenter::CMD => Ok(GameMessage::PlayerResurrectedMedicalCenter(PlayerResurrectedMedicalCenter::from_bytes(&mut cur)?)),
|
|
|
PlayerUsedMoonAtomizer::CMD => Ok(GameMessage::PlayerUsedMoonAtomizer(PlayerUsedMoonAtomizer::from_bytes(&mut cur)?)),
|
|
|
PlayerUsedMoonAtomizer::CMD => Ok(GameMessage::PlayerUsedMoonAtomizer(PlayerUsedMoonAtomizer::from_bytes(&mut cur)?)),
|
|
|
PlayerPBDonation::CMD => Ok(GameMessage::PlayerPBDonation(PlayerPBDonation::from_bytes(&mut cur)?)),
|
|
|
PlayerPBDonation::CMD => Ok(GameMessage::PlayerPBDonation(PlayerPBDonation::from_bytes(&mut cur)?)),
|
|
|
PlayerInitiatedPB::CMD => Ok(GameMessage::PlayerInitiatedPB(PlayerInitiatedPB::from_bytes(&mut cur)?)),
|
|
|
PlayerInitiatedPB::CMD => Ok(GameMessage::PlayerInitiatedPB(PlayerInitiatedPB::from_bytes(&mut cur)?)),
|
|
|
//PlayerLeftArea::CMD => Ok(GameMessage::PlayerLeftArea(PlayerLeftArea::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//PlayerSpawnedIntoArea::CMD => Ok(GameMessage::PlayerSpawnedIntoArea(PlayerSpawnedIntoArea::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
PlayerLeftArea::CMD => Ok(GameMessage::PlayerLeftArea(PlayerLeftArea::from_bytes(&mut cur)?)),
|
|
|
|
|
|
PlayerSpawnedIntoArea::CMD => Ok(GameMessage::PlayerSpawnedIntoArea(PlayerSpawnedIntoArea::from_bytes(&mut cur)?)),
|
|
|
PlayerStopped::CMD => Ok(GameMessage::PlayerStopped(PlayerStopped::from_bytes(&mut cur)?)),
|
|
|
PlayerStopped::CMD => Ok(GameMessage::PlayerStopped(PlayerStopped::from_bytes(&mut cur)?)),
|
|
|
PlayerLoadedIn::CMD => Ok(GameMessage::PlayerLoadedIn(PlayerLoadedIn::from_bytes(&mut cur)?)),
|
|
|
PlayerLoadedIn::CMD => Ok(GameMessage::PlayerLoadedIn(PlayerLoadedIn::from_bytes(&mut cur)?)),
|
|
|
PlayerWalking::CMD => Ok(GameMessage::PlayerWalking(PlayerWalking::from_bytes(&mut cur)?)),
|
|
|
PlayerWalking::CMD => Ok(GameMessage::PlayerWalking(PlayerWalking::from_bytes(&mut cur)?)),
|
|
@ -912,21 +1079,24 @@ impl PSOPacketData for GameMessage { |
|
|
PlayerDeath::CMD => Ok(GameMessage::PlayerDeath(PlayerDeath::from_bytes(&mut cur)?)),
|
|
|
PlayerDeath::CMD => Ok(GameMessage::PlayerDeath(PlayerDeath::from_bytes(&mut cur)?)),
|
|
|
PlayerPostDeathAnimation::CMD => Ok(GameMessage::PlayerPostDeathAnimation(PlayerPostDeathAnimation::from_bytes(&mut cur)?)),
|
|
|
PlayerPostDeathAnimation::CMD => Ok(GameMessage::PlayerPostDeathAnimation(PlayerPostDeathAnimation::from_bytes(&mut cur)?)),
|
|
|
PlayerScapedollResurrection::CMD => Ok(GameMessage::PlayerScapedollResurrection(PlayerScapedollResurrection::from_bytes(&mut cur)?)),
|
|
|
PlayerScapedollResurrection::CMD => Ok(GameMessage::PlayerScapedollResurrection(PlayerScapedollResurrection::from_bytes(&mut cur)?)),
|
|
|
//PlayerActivatedSwitch2::CMD => Ok(GameMessage::PlayerActivatedSwitch2(PlayerActivatedSwitch2::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
PlayerActivatedSwitch2::CMD => Ok(GameMessage::PlayerActivatedSwitch2(PlayerActivatedSwitch2::from_bytes(&mut cur)?)),
|
|
|
TalkToNpc::CMD => Ok(GameMessage::TalkToNpc(TalkToNpc::from_bytes(&mut cur)?)),
|
|
|
TalkToNpc::CMD => Ok(GameMessage::TalkToNpc(TalkToNpc::from_bytes(&mut cur)?)),
|
|
|
//Unknown53::CMD => Ok(GameMessage::Unknown53(Unknown53::from_bytes(&mut cur)?)),
|
|
|
//Unknown53::CMD => Ok(GameMessage::Unknown53(Unknown53::from_bytes(&mut cur)?)),
|
|
|
PlayerWarped::CMD => Ok(GameMessage::PlayerWarped(PlayerWarped::from_bytes(&mut cur)?)),
|
|
|
PlayerWarped::CMD => Ok(GameMessage::PlayerWarped(PlayerWarped::from_bytes(&mut cur)?)),
|
|
|
LobbyEmote::CMD => Ok(GameMessage::LobbyEmote(LobbyEmote::from_bytes(&mut cur)?)),
|
|
|
LobbyEmote::CMD => Ok(GameMessage::LobbyEmote(LobbyEmote::from_bytes(&mut cur)?)),
|
|
|
PickupItem::CMD => Ok(GameMessage::PickupItem(PickupItem::from_bytes(&mut cur)?)),
|
|
|
PickupItem::CMD => Ok(GameMessage::PickupItem(PickupItem::from_bytes(&mut cur)?)),
|
|
|
|
|
|
PickupItem2::CMD => Ok(GameMessage::PickupItem2(PickupItem2::from_bytes(&mut cur)?)),
|
|
|
//SplittingStack::CMD => Ok(GameMessage::SplittingStack(SplittingStack::from_bytes(&mut cur)?)),
|
|
|
//SplittingStack::CMD => Ok(GameMessage::SplittingStack(SplittingStack::from_bytes(&mut cur)?)),
|
|
|
//BoxDrops::CMD => Ok(GameMessage::BoxDrops(BoxDrops::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
BoxDrops::CMD => Ok(GameMessage::BoxDrops(BoxDrops::from_bytes(&mut cur)?)),
|
|
|
RequestItem::CMD => Ok(GameMessage::RequestItem(RequestItem::from_bytes(&mut cur)?)),
|
|
|
RequestItem::CMD => Ok(GameMessage::RequestItem(RequestItem::from_bytes(&mut cur)?)),
|
|
|
PlayerPBParticle::CMD => Ok(GameMessage::PlayerPBParticle(PlayerPBParticle::from_bytes(&mut cur)?)),
|
|
|
PlayerPBParticle::CMD => Ok(GameMessage::PlayerPBParticle(PlayerPBParticle::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)?)),
|
|
|
NpcSpawn::CMD => Ok(GameMessage::NpcSpawn(NpcSpawn::from_bytes(&mut cur)?)),
|
|
|
NpcSpawn::CMD => Ok(GameMessage::NpcSpawn(NpcSpawn::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//PlayerJoiningGame::CMD => Ok(GameMessage::PlayerJoiningGame(PlayerJoiningGame::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//PlayerJoiningGame2::CMD => Ok(GameMessage::PlayerJoiningGame2(PlayerJoiningGame2::from_bytes(&mut cur)?)),
|
|
|
WordSelect::CMD => Ok(GameMessage::WordSelect(WordSelect::from_bytes(&mut cur)?)),
|
|
|
WordSelect::CMD => Ok(GameMessage::WordSelect(WordSelect::from_bytes(&mut cur)?)),
|
|
|
PlayerChangedFloor::CMD => Ok(GameMessage::PlayerChangedFloor(PlayerChangedFloor::from_bytes(&mut cur)?)),
|
|
|
PlayerChangedFloor::CMD => Ok(GameMessage::PlayerChangedFloor(PlayerChangedFloor::from_bytes(&mut cur)?)),
|
|
|
KillMonster::CMD => Ok(GameMessage::KillMonster(KillMonster::from_bytes(&mut cur)?)),
|
|
|
KillMonster::CMD => Ok(GameMessage::KillMonster(KillMonster::from_bytes(&mut cur)?)),
|
|
@ -942,15 +1112,17 @@ impl PSOPacketData for GameMessage { |
|
|
PlayerKilledByMonster::CMD => Ok(GameMessage::PlayerKilledByMonster(PlayerKilledByMonster::from_bytes(&mut cur)?)),
|
|
|
PlayerKilledByMonster::CMD => Ok(GameMessage::PlayerKilledByMonster(PlayerKilledByMonster::from_bytes(&mut cur)?)),
|
|
|
//CmodeStatistics::CMD => Ok(GameMessage::CmodeStatistics(CmodeStatistics::from_bytes(&mut cur)?)),
|
|
|
//CmodeStatistics::CMD => Ok(GameMessage::CmodeStatistics(CmodeStatistics::from_bytes(&mut cur)?)),
|
|
|
//PlayerTechStart::CMD => Ok(GameMessage::PlayerTechStart(PlayerTechStart::from_bytes(&mut cur)?)),
|
|
|
//PlayerTechStart::CMD => Ok(GameMessage::PlayerTechStart(PlayerTechStart::from_bytes(&mut cur)?)),
|
|
|
//PlayerWarped2::CMD => Ok(GameMessage::PlayerWarped2(PlayerWarped2::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
PlayerWarped2::CMD => Ok(GameMessage::PlayerWarped2(PlayerWarped2::from_bytes(&mut cur)?)),
|
|
|
//CmodeTryAgain::CMD => Ok(GameMessage::CmodeTryAgain(CmodeTryAgain::from_bytes(&mut cur)?)),
|
|
|
//CmodeTryAgain::CMD => Ok(GameMessage::CmodeTryAgain(CmodeTryAgain::from_bytes(&mut cur)?)),
|
|
|
ModifyPlayerStats::CMD => Ok(GameMessage::ModifyPlayerStats(ModifyPlayerStats::from_bytes(&mut cur)?)),
|
|
|
ModifyPlayerStats::CMD => Ok(GameMessage::ModifyPlayerStats(ModifyPlayerStats::from_bytes(&mut cur)?)),
|
|
|
//CmodePartyWipe::CMD => Ok(GameMessage::CmodePartyWipe(CmodePartyWipe::from_bytes(&mut cur)?)),
|
|
|
//CmodePartyWipe::CMD => Ok(GameMessage::CmodePartyWipe(CmodePartyWipe::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionGalGryphon::CMD => Ok(GameMessage::BossInteractionGalGryphon(BossInteractionGalGryphon::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionGalGryphon::CMD => Ok(GameMessage::BossInteractionGalGryphon(BossInteractionGalGryphon::from_bytes(&mut cur)?)),
|
|
|
//PlayerMoonAtomizerResurrection::CMD => Ok(GameMessage::PlayerMoonAtomizerResurrection(PlayerMoonAtomizerResurrection::from_bytes(&mut cur)?)),
|
|
|
//PlayerMoonAtomizerResurrection::CMD => Ok(GameMessage::PlayerMoonAtomizerResurrection(PlayerMoonAtomizerResurrection::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BoxDropRequest::CMD => Ok(GameMessage::BoxDropRequest(BoxDropRequest::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionOlgaFlow::CMD => Ok(GameMessage::BossInteractionOlgaFlow(BossInteractionOlgaFlow::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionOlgaFlow::CMD => Ok(GameMessage::BossInteractionOlgaFlow(BossInteractionOlgaFlow::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionOlgaFlow2::CMD => Ok(GameMessage::BossInteractionOlgaFlow2(BossInteractionOlgaFlow2::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionOlgaFlow2::CMD => Ok(GameMessage::BossInteractionOlgaFlow2(BossInteractionOlgaFlow2::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionOlgaFlow3::CMD => Ok(GameMessage::BossInteractionOlgaFlow3(BossInteractionOlgaFlow3::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionOlgaFlow3::CMD => Ok(GameMessage::BossInteractionOlgaFlow3(BossInteractionOlgaFlow3::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//TradeRequest::CMD => Ok(GameMessage::TradeRequest(TradeRequest::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionGolDragon::CMD => Ok(GameMessage::BossInteractionGolDragon(BossInteractionGolDragon::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionGolDragon::CMD => Ok(GameMessage::BossInteractionGolDragon(BossInteractionGolDragon::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionBarbaRay::CMD => Ok(GameMessage::BossInteractionBarbaRay(BossInteractionBarbaRay::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionBarbaRay::CMD => Ok(GameMessage::BossInteractionBarbaRay(BossInteractionBarbaRay::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionBarbaRay2::CMD => Ok(GameMessage::BossInteractionBarbaRay2(BossInteractionBarbaRay2::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionBarbaRay2::CMD => Ok(GameMessage::BossInteractionBarbaRay2(BossInteractionBarbaRay2::from_bytes(&mut cur)?)),
|
|
@ -959,25 +1131,43 @@ impl PSOPacketData for GameMessage { |
|
|
UnknownAE::CMD => Ok(GameMessage::UnknownAE(UnknownAE::from_bytes(&mut cur)?)),
|
|
|
UnknownAE::CMD => Ok(GameMessage::UnknownAE(UnknownAE::from_bytes(&mut cur)?)),
|
|
|
PhotonChairTurn::CMD => Ok(GameMessage::PhotonChairTurn(PhotonChairTurn::from_bytes(&mut cur)?)),
|
|
|
PhotonChairTurn::CMD => Ok(GameMessage::PhotonChairTurn(PhotonChairTurn::from_bytes(&mut cur)?)),
|
|
|
PhotonChairMove::CMD => Ok(GameMessage::PhotonChairMove(PhotonChairMove::from_bytes(&mut cur)?)),
|
|
|
PhotonChairMove::CMD => Ok(GameMessage::PhotonChairMove(PhotonChairMove::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//ShopRequest::CMD => Ok(GameMessage::ShopRequest(ShopRequest::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BuyItem::CMD => Ok(GameMessage::BuyItem(BuyItem::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//TechItem::CMD => Ok(GameMessage::TechItem(TechItem::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//TechWeaponAccept::CMD => Ok(GameMessage::TechWeaponAccept(TechWeaponAccept::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BankRequest::CMD => Ok(GameMessage::BankRequest(BankRequest::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BankInteraction::CMD => Ok(GameMessage::BankInteraction(BankInteraction::from_bytes(&mut cur)?)),
|
|
|
//PlayerSoldItem::CMD => Ok(GameMessage::PlayerSoldItem(PlayerSoldItem::from_bytes(&mut cur)?)),
|
|
|
//PlayerSoldItem::CMD => Ok(GameMessage::PlayerSoldItem(PlayerSoldItem::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//TeamInvite::CMD => Ok(GameMessage::TeamInvite(TeamInvite::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//AcceptTeamInvite::CMD => Ok(GameMessage::AcceptTeamInvite(AcceptTeamInvite::from_bytes(&mut cur)?)),
|
|
|
DropCoordinates::CMD => Ok(GameMessage::DropCoordinates(DropCoordinates::from_bytes(&mut cur)?)),
|
|
|
DropCoordinates::CMD => Ok(GameMessage::DropCoordinates(DropCoordinates::from_bytes(&mut cur)?)),
|
|
|
//SortItems::CMD => Ok(GameMessage::SortItems(SortItems::from_bytes(&mut cur)?)),
|
|
|
//SortItems::CMD => Ok(GameMessage::SortItems(SortItems::from_bytes(&mut cur)?)),
|
|
|
//PlayerUsedMedicalCenter::CMD => Ok(GameMessage::PlayerUsedMedicalCenter(PlayerUsedMedicalCenter::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
PlayerUsedMedicalCenter::CMD => Ok(GameMessage::PlayerUsedMedicalCenter(PlayerUsedMedicalCenter::from_bytes(&mut cur)?)),
|
|
|
//ExperienceSteal::CMD => Ok(GameMessage::ExperienceSteal(ExperienceSteal::from_bytes(&mut cur)?)),
|
|
|
//ExperienceSteal::CMD => Ok(GameMessage::ExperienceSteal(ExperienceSteal::from_bytes(&mut cur)?)),
|
|
|
//ChargeAttack::CMD => Ok(GameMessage::ChargeAttack(ChargeAttack::from_bytes(&mut cur)?)),
|
|
|
//ChargeAttack::CMD => Ok(GameMessage::ChargeAttack(ChargeAttack::from_bytes(&mut cur)?)),
|
|
|
RequestExp::CMD => Ok(GameMessage::RequestExp(RequestExp::from_bytes(&mut cur)?)),
|
|
|
RequestExp::CMD => Ok(GameMessage::RequestExp(RequestExp::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//QuestRewardMeseta::CMD => Ok(GameMessage::QuestRewardMeseta(QuestRewardMeseta::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//QuestRewardItem::CMD => Ok(GameMessage::QuestRewardItem(QuestRewardItem::from_bytes(&mut cur)?)),
|
|
|
//TransferItemRequest::CMD => Ok(GameMessage::TransferItemRequest(TransferItemRequest::from_bytes(&mut cur)?)),
|
|
|
//TransferItemRequest::CMD => Ok(GameMessage::TransferItemRequest(TransferItemRequest::from_bytes(&mut cur)?)),
|
|
|
//ExchangeItemForTeampoints::CMD => Ok(GameMessage::ExchangeItemForTeampoints(ExchangeItemForTeampoints::from_bytes(&mut cur)?)),
|
|
|
//ExchangeItemForTeampoints::CMD => Ok(GameMessage::ExchangeItemForTeampoints(ExchangeItemForTeampoints::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//MasterTransfer::CMD => Ok(GameMessage::MasterTransfer(MasterTransfer::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//AcceptMasterTransfer::CMD => Ok(GameMessage::AcceptMasterTransfer(AcceptMasterTransfer::from_bytes(&mut cur)?)),
|
|
|
//RestartBattle::CMD => Ok(GameMessage::RestartBattle(RestartBattle::from_bytes(&mut cur)?)),
|
|
|
//RestartBattle::CMD => Ok(GameMessage::RestartBattle(RestartBattle::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BmodeLevelUp::CMD => Ok(GameMessage::BmodeLevelUp(BmodeLevelUp::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//CmodeGrave::CMD => Ok(GameMessage::CmodeGrave(CmodeGrave::from_bytes(&mut cur)?)),
|
|
|
//WriteQuestFlag::CMD => Ok(GameMessage::WriteQuestFlag(WriteQuestFlag::from_bytes(&mut cur)?)),
|
|
|
//WriteQuestFlag::CMD => Ok(GameMessage::WriteQuestFlag(WriteQuestFlag::from_bytes(&mut cur)?)),
|
|
|
//QuestItemExchange::CMD => Ok(GameMessage::QuestItemExchange(QuestItemExchange::from_bytes(&mut cur)?)),
|
|
|
//QuestItemExchange::CMD => Ok(GameMessage::QuestItemExchange(QuestItemExchange::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//WrapItem::CMD => Ok(GameMessage::WrapItem(WrapItem::from_bytes(&mut cur)?)),
|
|
|
//PaganiniPDExchange::CMD => Ok(GameMessage::PaganiniPDExchange(PaganiniPDExchange::from_bytes(&mut cur)?)),
|
|
|
//PaganiniPDExchange::CMD => Ok(GameMessage::PaganiniPDExchange(PaganiniPDExchange::from_bytes(&mut cur)?)),
|
|
|
//SrankSpecialModification::CMD => Ok(GameMessage::SrankSpecialModification(SrankSpecialModification::from_bytes(&mut cur)?)),
|
|
|
//SrankSpecialModification::CMD => Ok(GameMessage::SrankSpecialModification(SrankSpecialModification::from_bytes(&mut cur)?)),
|
|
|
//MomokaItemShop::CMD => Ok(GameMessage::MomokaItemShop(MomokaItemShop::from_bytes(&mut cur)?)),
|
|
|
//MomokaItemShop::CMD => Ok(GameMessage::MomokaItemShop(MomokaItemShop::from_bytes(&mut cur)?)),
|
|
|
//WeaponAttributeEnhancement::CMD => Ok(GameMessage::WeaponAttributeEnhancement(WeaponAttributeEnhancement::from_bytes(&mut cur)?)),
|
|
|
//WeaponAttributeEnhancement::CMD => Ok(GameMessage::WeaponAttributeEnhancement(WeaponAttributeEnhancement::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionSaintMillion::CMD => Ok(GameMessage::BossInteractionSaintMillion(BossInteractionSaintMillion::from_bytes(&mut cur)?)),
|
|
|
//BossInteractionSaintMillion::CMD => Ok(GameMessage::BossInteractionSaintMillion(BossInteractionSaintMillion::from_bytes(&mut cur)?)),
|
|
|
//GoodLuckQuest::CMD => Ok(GameMessage::GoodLuckQuest(GoodLuckQuest::from_bytes(&mut cur)?)),
|
|
|
//GoodLuckQuest::CMD => Ok(GameMessage::GoodLuckQuest(GoodLuckQuest::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BPDPhotonCrystalExchange::CMD => Ok(GameMessage::BPDPhotonCrystalExchange(BPDPhotonCrystalExchange::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//BPDRewards::CMD => Ok(GameMessage::BPDRewards(BPDRewards::from_bytes(&mut cur)?)),
|
|
|
//GallonsPlanQuest::CMD => Ok(GameMessage::GallonsPlanQuest(GallonsPlanQuest::from_bytes(&mut cur)?)),
|
|
|
//GallonsPlanQuest::CMD => Ok(GameMessage::GallonsPlanQuest(GallonsPlanQuest::from_bytes(&mut cur)?)),
|
|
|
|
|
|
//Coren::CMD => Ok(GameMessage::Coren(Coren::from_bytes(&mut cur)?)),
|
|
|
_ => Err(PacketParseError::UnknownMessage(byte[0],
|
|
|
_ => Err(PacketParseError::UnknownMessage(byte[0],
|
|
|
{
|
|
|
{
|
|
|
let mut b = vec![0; len[0] as usize * 4];
|
|
|
let mut b = vec![0; len[0] as usize * 4];
|
|
@ -990,7 +1180,7 @@ impl PSOPacketData for GameMessage { |
|
|
|
|
|
|
|
|
fn as_bytes(&self) -> Vec<u8> {
|
|
|
fn as_bytes(&self) -> Vec<u8> {
|
|
|
match self {
|
|
|
match self {
|
|
|
//GameMessage::PlayerActivatedSwitch(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::PlayerActivatedSwitch(data) => data.as_bytes(),
|
|
|
GameMessage::GuildcardSend(data) => data.as_bytes(),
|
|
|
GameMessage::GuildcardSend(data) => data.as_bytes(),
|
|
|
GameMessage::GuildcardRecv(data) => data.as_bytes(),
|
|
|
GameMessage::GuildcardRecv(data) => data.as_bytes(),
|
|
|
//GameMessage::SymbolChat(data) => data.as_bytes(),
|
|
|
//GameMessage::SymbolChat(data) => data.as_bytes(),
|
|
@ -1011,9 +1201,9 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::PlayerChangedMap(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerChangedMap(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerChangedMap2(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerChangedMap2(data) => data.as_bytes(),
|
|
|
GameMessage::TellOtherPlayerMyLocation(data) => data.as_bytes(),
|
|
|
GameMessage::TellOtherPlayerMyLocation(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerWarpingToFloor(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::PlayerWarping(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::PlayerDoneChangingMap(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::PlayerWarpingToFloor(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::PlayerWarping(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::PlayerDoneChangingMap(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerTeleported(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerTeleported(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerEquipItem(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerEquipItem(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerUnequipItem(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerUnequipItem(data) => data.as_bytes(),
|
|
@ -1022,17 +1212,17 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::PlayerDropItem(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerDropItem(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerDropItem2(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerDropItem2(data) => data.as_bytes(),
|
|
|
GameMessage::AddItemToInventory(data) => data.as_bytes(),
|
|
|
GameMessage::AddItemToInventory(data) => data.as_bytes(),
|
|
|
//GameMessage::InitializeSpeechNpc(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::FinishSpeechNpc(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::FinishSpeechNpcBPD(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::PlayerLevelUp(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::InitializeSpeechNpc(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::FinishSpeechNpc(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::FinishSpeechNpcBPD(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::PlayerLevelUp(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerResurrected(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerResurrected(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerResurrectedMedicalCenter(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerResurrectedMedicalCenter(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerUsedMoonAtomizer(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerUsedMoonAtomizer(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerPBDonation(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerPBDonation(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerInitiatedPB(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerInitiatedPB(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerLeftArea(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::PlayerSpawnedIntoArea(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::PlayerLeftArea(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::PlayerSpawnedIntoArea(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerStopped(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerStopped(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerLoadedIn(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerLoadedIn(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerWalking(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerWalking(data) => data.as_bytes(),
|
|
@ -1050,21 +1240,24 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::PlayerDeath(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerDeath(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerPostDeathAnimation(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerPostDeathAnimation(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerScapedollResurrection(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerScapedollResurrection(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerActivatedSwitch2(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::PlayerActivatedSwitch2(data) => data.as_bytes(),
|
|
|
GameMessage::TalkToNpc(data) => data.as_bytes(),
|
|
|
GameMessage::TalkToNpc(data) => data.as_bytes(),
|
|
|
//GameMessage::Unknown53(data) => data.as_bytes(),
|
|
|
//GameMessage::Unknown53(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerWarped(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerWarped(data) => data.as_bytes(),
|
|
|
GameMessage::LobbyEmote(data) => data.as_bytes(),
|
|
|
GameMessage::LobbyEmote(data) => data.as_bytes(),
|
|
|
GameMessage::PickupItem(data) => data.as_bytes(),
|
|
|
GameMessage::PickupItem(data) => data.as_bytes(),
|
|
|
|
|
|
GameMessage::PickupItem2(data) => data.as_bytes(),
|
|
|
//GameMessage::SplittingStack(data) => data.as_bytes(),
|
|
|
//GameMessage::SplittingStack(data) => data.as_bytes(),
|
|
|
//GameMessage::BoxDrops(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::BoxDrops(data) => data.as_bytes(),
|
|
|
GameMessage::RequestItem(data) => data.as_bytes(),
|
|
|
GameMessage::RequestItem(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerPBParticle(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerPBParticle(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(),
|
|
|
GameMessage::NpcSpawn(data) => data.as_bytes(),
|
|
|
GameMessage::NpcSpawn(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::PlayerJoiningGame(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::PlayerJoiningGame2(data) => data.as_bytes(),
|
|
|
GameMessage::WordSelect(data) => data.as_bytes(),
|
|
|
GameMessage::WordSelect(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerChangedFloor(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerChangedFloor(data) => data.as_bytes(),
|
|
|
GameMessage::KillMonster(data) => data.as_bytes(),
|
|
|
GameMessage::KillMonster(data) => data.as_bytes(),
|
|
@ -1080,15 +1273,17 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::PlayerKilledByMonster(data) => data.as_bytes(),
|
|
|
GameMessage::PlayerKilledByMonster(data) => data.as_bytes(),
|
|
|
//GameMessage::CmodeStatistics(data) => data.as_bytes(),
|
|
|
//GameMessage::CmodeStatistics(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerTechStart(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerTechStart(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerWarped2(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::PlayerWarped2(data) => data.as_bytes(),
|
|
|
//GameMessage::CmodeTryAgain(data) => data.as_bytes(),
|
|
|
//GameMessage::CmodeTryAgain(data) => data.as_bytes(),
|
|
|
GameMessage::ModifyPlayerStats(data) => data.as_bytes(),
|
|
|
GameMessage::ModifyPlayerStats(data) => data.as_bytes(),
|
|
|
//GameMessage::CmodePartyWipe(data) => data.as_bytes(),
|
|
|
//GameMessage::CmodePartyWipe(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionGalGryphon(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionGalGryphon(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerMoonAtomizerResurrection(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerMoonAtomizerResurrection(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BoxDropRequest(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionOlgaFlow(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionOlgaFlow(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionOlgaFlow2(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionOlgaFlow2(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionOlgaFlow3(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionOlgaFlow3(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::TradeRequest(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionGolDragon(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionGolDragon(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionBarbaRay(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionBarbaRay(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionBarbaRay2(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionBarbaRay2(data) => data.as_bytes(),
|
|
@ -1097,25 +1292,43 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::UnknownAE(data) => data.as_bytes(),
|
|
|
GameMessage::UnknownAE(data) => data.as_bytes(),
|
|
|
GameMessage::PhotonChairTurn(data) => data.as_bytes(),
|
|
|
GameMessage::PhotonChairTurn(data) => data.as_bytes(),
|
|
|
GameMessage::PhotonChairMove(data) => data.as_bytes(),
|
|
|
GameMessage::PhotonChairMove(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::ShopRequest(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BuyItem(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::TechItem(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::TechWeaponAccept(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BankRequest(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BankInteraction(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerSoldItem(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerSoldItem(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::TeamInvite(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::AcceptTeamInvite(data) => data.as_bytes(),
|
|
|
GameMessage::DropCoordinates(data) => data.as_bytes(),
|
|
|
GameMessage::DropCoordinates(data) => data.as_bytes(),
|
|
|
//GameMessage::SortItems(data) => data.as_bytes(),
|
|
|
//GameMessage::SortItems(data) => data.as_bytes(),
|
|
|
//GameMessage::PlayerUsedMedicalCenter(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::PlayerUsedMedicalCenter(data) => data.as_bytes(),
|
|
|
//GameMessage::ExperienceSteal(data) => data.as_bytes(),
|
|
|
//GameMessage::ExperienceSteal(data) => data.as_bytes(),
|
|
|
//GameMessage::ChargeAttack(data) => data.as_bytes(),
|
|
|
//GameMessage::ChargeAttack(data) => data.as_bytes(),
|
|
|
GameMessage::RequestExp(data) => data.as_bytes(),
|
|
|
GameMessage::RequestExp(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::QuestRewardMeseta(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::QuestRewardItem(data) => data.as_bytes(),
|
|
|
//GameMessage::TransferItemRequest(data) => data.as_bytes(),
|
|
|
//GameMessage::TransferItemRequest(data) => data.as_bytes(),
|
|
|
//GameMessage::ExchangeItemForTeampoints(data) => data.as_bytes(),
|
|
|
//GameMessage::ExchangeItemForTeampoints(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::MasterTransfer(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::AcceptMasterTransfer(data) => data.as_bytes(),
|
|
|
//GameMessage::RestartBattle(data) => data.as_bytes(),
|
|
|
//GameMessage::RestartBattle(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BmodeLevelUp(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::CmodeGrave(data) => data.as_bytes(),
|
|
|
//GameMessage::WriteQuestFlag(data) => data.as_bytes(),
|
|
|
//GameMessage::WriteQuestFlag(data) => data.as_bytes(),
|
|
|
//GameMessage::QuestItemExchange(data) => data.as_bytes(),
|
|
|
//GameMessage::QuestItemExchange(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::WrapItem(data) => data.as_bytes(),
|
|
|
//GameMessage::PaganiniPDExchange(data) => data.as_bytes(),
|
|
|
//GameMessage::PaganiniPDExchange(data) => data.as_bytes(),
|
|
|
//GameMessage::SrankSpecialModification(data) => data.as_bytes(),
|
|
|
//GameMessage::SrankSpecialModification(data) => data.as_bytes(),
|
|
|
//GameMessage::MomokaItemShop(data) => data.as_bytes(),
|
|
|
//GameMessage::MomokaItemShop(data) => data.as_bytes(),
|
|
|
//GameMessage::WeaponAttributeEnhancement(data) => data.as_bytes(),
|
|
|
//GameMessage::WeaponAttributeEnhancement(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionSaintMillion(data) => data.as_bytes(),
|
|
|
//GameMessage::BossInteractionSaintMillion(data) => data.as_bytes(),
|
|
|
//GameMessage::GoodLuckQuest(data) => data.as_bytes(),
|
|
|
//GameMessage::GoodLuckQuest(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BPDPhotonCrystalExchange(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::BPDRewards(data) => data.as_bytes(),
|
|
|
//GameMessage::GallonsPlanQuest(data) => data.as_bytes(),
|
|
|
//GameMessage::GallonsPlanQuest(data) => data.as_bytes(),
|
|
|
|
|
|
//GameMessage::Coren(data) => data.as_bytes(),
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|