Compare commits
20 Commits
dbfb396643
...
cd2af79091
Author | SHA1 | Date | |
---|---|---|---|
cd2af79091 | |||
43b37e985c | |||
69ddebdc45 | |||
505ec2188d | |||
6e6c7c494f | |||
3f0f4886cb | |||
e2c54986f7 | |||
2debc015b7 | |||
e959fc3094 | |||
e698ad993c | |||
65532db884 | |||
799a9e6880 | |||
ef69b2064d | |||
77f657dbc0 | |||
cb219d807d | |||
2c00b5999a | |||
68080eff4b | |||
a58191833f | |||
e02e3dff29 | |||
a2ecb14d82 |
@ -551,7 +551,7 @@ mod test {
|
|||||||
#[pso_message(0x23)]
|
#[pso_message(0x23)]
|
||||||
struct Test {
|
struct Test {
|
||||||
b: [u32; 100],
|
b: [u32; 100],
|
||||||
};
|
}
|
||||||
|
|
||||||
let test = Test {
|
let test = Test {
|
||||||
client: 1,
|
client: 1,
|
||||||
|
@ -135,7 +135,8 @@ pub struct TellOtherPlayerMyLocation {
|
|||||||
x: f32,
|
x: f32,
|
||||||
y: f32,
|
y: f32,
|
||||||
z: f32,
|
z: f32,
|
||||||
unknown2: u32,
|
rotation: u16,
|
||||||
|
unknown2: u16,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x21)]
|
#[pso_message(0x21)]
|
||||||
@ -255,15 +256,19 @@ pub struct PlayerUsedMoonAtomizer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x36)]
|
#[pso_message(0x37)]
|
||||||
pub struct PlayerPBDonation {
|
pub struct PlayerPBUsed {
|
||||||
|
energy: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x37)]
|
#[pso_message(0x38)]
|
||||||
pub struct PlayerInitiatedPB {
|
pub struct PlayerDonatedPB {
|
||||||
pb_amount: u8,
|
recipient: u32,
|
||||||
unknown1: u32,
|
}
|
||||||
|
|
||||||
|
#[pso_message(0x39)]
|
||||||
|
pub struct PlayerPBReady {
|
||||||
|
player: u16,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x3A)]
|
#[pso_message(0x3A)]
|
||||||
@ -278,7 +283,8 @@ pub struct PlayerSpawnedIntoArea {
|
|||||||
|
|
||||||
#[pso_message(0x3E)]
|
#[pso_message(0x3E)]
|
||||||
pub struct PlayerStopped {
|
pub struct PlayerStopped {
|
||||||
unknown1: u32,
|
unknown1: [u8; 2],
|
||||||
|
rotation: u16,
|
||||||
area: u16,
|
area: u16,
|
||||||
room: u16,
|
room: u16,
|
||||||
x: f32,
|
x: f32,
|
||||||
@ -288,8 +294,10 @@ pub struct PlayerStopped {
|
|||||||
|
|
||||||
#[pso_message(0x3F)]
|
#[pso_message(0x3F)]
|
||||||
pub struct PlayerLoadedIn {
|
pub struct PlayerLoadedIn {
|
||||||
unknown1: u32,
|
unknown1: [u8; 2],
|
||||||
unknown2: u32,
|
rotation: u16,
|
||||||
|
area: u16,
|
||||||
|
room: u16,
|
||||||
x: f32,
|
x: f32,
|
||||||
y: f32,
|
y: f32,
|
||||||
z: f32,
|
z: f32,
|
||||||
@ -299,7 +307,7 @@ pub struct PlayerLoadedIn {
|
|||||||
pub struct PlayerWalking {
|
pub struct PlayerWalking {
|
||||||
x: f32,
|
x: f32,
|
||||||
z: f32,
|
z: f32,
|
||||||
unknown: f32,
|
stance: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x42)]
|
#[pso_message(0x42)]
|
||||||
@ -310,46 +318,53 @@ pub struct PlayerRunning {
|
|||||||
|
|
||||||
#[pso_message(0x43)]
|
#[pso_message(0x43)]
|
||||||
pub struct ComboStep1 {
|
pub struct ComboStep1 {
|
||||||
data: [u8; 4],
|
rotation: u16,
|
||||||
|
attack: u16,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x44)]
|
#[pso_message(0x44)]
|
||||||
pub struct ComboStep2 {
|
pub struct ComboStep2 {
|
||||||
data: [u8; 4],
|
rotation: u16,
|
||||||
|
attack: u16,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x45)]
|
#[pso_message(0x45)]
|
||||||
pub struct ComboStep3 {
|
pub struct ComboStep3 {
|
||||||
data: [u8; 4],
|
rotation: u16,
|
||||||
|
attack: u16,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x46)]
|
#[pso_message(0x46)]
|
||||||
pub struct ComboStepDone {
|
pub struct TargetsHit {
|
||||||
data: [u8; 4],
|
num_of_targets: [u8; 4], // thats a lot of targets?
|
||||||
|
client2: u8, // TODO: what even is this?
|
||||||
|
target2: u8, // TODO: what even is this?
|
||||||
|
unknown2: [u8; 2],
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x47)]
|
#[pso_message(0x47)]
|
||||||
pub struct PlayerTechCast {
|
pub struct PlayerTechCast { // this packet and packet 0x8D (PlayerTechStart) are both sent at the same time as soon as the player presses a tech button, regardless if the tech is ACTUALLY casted (it not cancelled due to player blocking) or not.
|
||||||
technique: u8,
|
technique: u8,
|
||||||
unknown1: u8,
|
unknown1: u8,
|
||||||
unknown2: u8,
|
tech_level: u8,
|
||||||
|
#[length_of(targets)]
|
||||||
num_of_targets: u8,
|
num_of_targets: u8,
|
||||||
|
#[length_is(num_of_targets)]
|
||||||
|
targets: Vec<u32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x48)]
|
#[pso_message(0x48)]
|
||||||
pub struct PlayerTechDone {
|
pub struct PlayerTechDone { // this packet gets sent once the tech is actually casted (ie: barta actually shoots out from your feet)
|
||||||
technique: u8,
|
technique: u8,
|
||||||
unknown1: u8,
|
unknown1: u8,
|
||||||
level: u8,
|
tech_level: u8, // level - 1
|
||||||
unknown2: u8,
|
unknown2: u8,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x49)]
|
#[pso_message(0x49)]
|
||||||
pub struct PlayerPBUsed {
|
pub struct PlayerInitiatedPB {
|
||||||
pb: u8,
|
pb: u32,
|
||||||
unknown1: u32,
|
energy: u32,
|
||||||
amount: u8,
|
|
||||||
unknown2: u32,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x4A)]
|
#[pso_message(0x4A)]
|
||||||
@ -504,7 +519,15 @@ pub struct SpawningMonsters {
|
|||||||
|
|
||||||
#[pso_message(0x68)]
|
#[pso_message(0x68)]
|
||||||
pub struct PlayerTelepipe {
|
pub struct PlayerTelepipe {
|
||||||
|
caster: u16, // room client #
|
||||||
|
area: u16,
|
||||||
|
room: u16,
|
||||||
|
unknown1: u16,
|
||||||
|
x: f32,
|
||||||
|
y: f32,
|
||||||
|
z: f32,
|
||||||
|
rotation: u16,
|
||||||
|
unknown2: [u8; 2],
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pso_message(0x69)]
|
#[pso_message(0x69)]
|
||||||
@ -597,10 +620,10 @@ pub struct PlayerKilledByMonster {
|
|||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//#[pso_message(0x8D)]
|
#[pso_message(0x8D)]
|
||||||
//pub struct PlayerTechStart {
|
pub struct PlayerTechStart { // this packet and packet 0x47 (PlayerTechCast) are both sent at the same time (PlayerTechStart then PlayerTechCast) as soon as the player presses a tech button, regardless if the tech is ACTUALLY casted (it not cancelled due to player blocking) or not.
|
||||||
|
data: [u8; 4], // always 0'd?
|
||||||
//}
|
}
|
||||||
|
|
||||||
#[pso_message(0x94)]
|
#[pso_message(0x94)]
|
||||||
pub struct PlayerWarped2 {
|
pub struct PlayerWarped2 {
|
||||||
@ -661,10 +684,12 @@ pub struct BoxDropRequest {
|
|||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//#[pso_message(0xA6)]
|
#[pso_message(0xA6)]
|
||||||
//pub struct TradeRequest {
|
pub struct TradeRequest {
|
||||||
|
unknown1: u32,
|
||||||
//}
|
unknown2: u32,
|
||||||
|
unknown3: u32,
|
||||||
|
}
|
||||||
|
|
||||||
//#[pso_message(0xA8)]
|
//#[pso_message(0xA8)]
|
||||||
//pub struct BossInteractionGolDragon {
|
//pub struct BossInteractionGolDragon {
|
||||||
@ -787,12 +812,12 @@ pub struct GiveCharacterExp {
|
|||||||
exp: u32,
|
exp: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
//#[pso_message(0xC0)]
|
#[pso_message(0xC0)]
|
||||||
//pub struct PlayerSoldItem {
|
pub struct PlayerSoldItem {
|
||||||
// client_id: u16,
|
item_id: u32,
|
||||||
// item_id: u8,
|
amount: u8,
|
||||||
// amount: u8,
|
// TODO: other data?
|
||||||
//}
|
}
|
||||||
|
|
||||||
//#[pso_message(0xC1)]
|
//#[pso_message(0xC1)]
|
||||||
//pub struct TeamInvite {
|
//pub struct TeamInvite {
|
||||||
@ -992,7 +1017,7 @@ pub enum GameMessage {
|
|||||||
PlayerResurrected(PlayerResurrected),
|
PlayerResurrected(PlayerResurrected),
|
||||||
PlayerResurrectedMedicalCenter(PlayerResurrectedMedicalCenter),
|
PlayerResurrectedMedicalCenter(PlayerResurrectedMedicalCenter),
|
||||||
PlayerUsedMoonAtomizer(PlayerUsedMoonAtomizer),
|
PlayerUsedMoonAtomizer(PlayerUsedMoonAtomizer),
|
||||||
PlayerPBDonation(PlayerPBDonation),
|
// PlayerPBDonation(PlayerPBDonation),
|
||||||
PlayerInitiatedPB(PlayerInitiatedPB),
|
PlayerInitiatedPB(PlayerInitiatedPB),
|
||||||
PlayerLeftArea(PlayerLeftArea),
|
PlayerLeftArea(PlayerLeftArea),
|
||||||
PlayerSpawnedIntoArea(PlayerSpawnedIntoArea),
|
PlayerSpawnedIntoArea(PlayerSpawnedIntoArea),
|
||||||
@ -1003,10 +1028,12 @@ pub enum GameMessage {
|
|||||||
ComboStep1(ComboStep1),
|
ComboStep1(ComboStep1),
|
||||||
ComboStep2(ComboStep2),
|
ComboStep2(ComboStep2),
|
||||||
ComboStep3(ComboStep3),
|
ComboStep3(ComboStep3),
|
||||||
ComboStepDone(ComboStepDone),
|
TargetsHit(TargetsHit),
|
||||||
PlayerTechCast(PlayerTechCast),
|
PlayerTechCast(PlayerTechCast),
|
||||||
PlayerTechDone(PlayerTechDone),
|
PlayerTechDone(PlayerTechDone),
|
||||||
PlayerPBUsed(PlayerPBUsed),
|
PlayerPBUsed(PlayerPBUsed),
|
||||||
|
PlayerDonatedPB(PlayerDonatedPB),
|
||||||
|
PlayerPBReady(PlayerPBReady),
|
||||||
PlayerBlockedDamage(PlayerBlockedDamage),
|
PlayerBlockedDamage(PlayerBlockedDamage),
|
||||||
PlayerReceivedDamage(PlayerReceivedDamage),
|
PlayerReceivedDamage(PlayerReceivedDamage),
|
||||||
PlayerReceivedDamage2(PlayerReceivedDamage2),
|
PlayerReceivedDamage2(PlayerReceivedDamage2),
|
||||||
@ -1047,7 +1074,7 @@ pub enum GameMessage {
|
|||||||
//PlayerUnshrink(PlayerUnshrink),
|
//PlayerUnshrink(PlayerUnshrink),
|
||||||
PlayerKilledByMonster(PlayerKilledByMonster),
|
PlayerKilledByMonster(PlayerKilledByMonster),
|
||||||
//CmodeStatistics(CmodeStatistics),
|
//CmodeStatistics(CmodeStatistics),
|
||||||
//PlayerTechStart(PlayerTechStart),
|
PlayerTechStart(PlayerTechStart),
|
||||||
PlayerWarped2(PlayerWarped2),
|
PlayerWarped2(PlayerWarped2),
|
||||||
//CmodeTryAgain(CmodeTryAgain),
|
//CmodeTryAgain(CmodeTryAgain),
|
||||||
ModifyPlayerStats(ModifyPlayerStats),
|
ModifyPlayerStats(ModifyPlayerStats),
|
||||||
@ -1058,7 +1085,7 @@ pub enum GameMessage {
|
|||||||
//BossInteractionOlgaFlow(BossInteractionOlgaFlow),
|
//BossInteractionOlgaFlow(BossInteractionOlgaFlow),
|
||||||
//BossInteractionOlgaFlow2(BossInteractionOlgaFlow2),
|
//BossInteractionOlgaFlow2(BossInteractionOlgaFlow2),
|
||||||
//BossInteractionOlgaFlow3(BossInteractionOlgaFlow3),
|
//BossInteractionOlgaFlow3(BossInteractionOlgaFlow3),
|
||||||
//TradeRequest(TradeRequest),
|
TradeRequest(TradeRequest),
|
||||||
//BossInteractionGolDragon(BossInteractionGolDragon),
|
//BossInteractionGolDragon(BossInteractionGolDragon),
|
||||||
//BossInteractionBarbaRay(BossInteractionBarbaRay),
|
//BossInteractionBarbaRay(BossInteractionBarbaRay),
|
||||||
//BossInteractionBarbaRay2(BossInteractionBarbaRay2),
|
//BossInteractionBarbaRay2(BossInteractionBarbaRay2),
|
||||||
@ -1075,7 +1102,7 @@ pub enum GameMessage {
|
|||||||
TekAccept(TekAccept),
|
TekAccept(TekAccept),
|
||||||
BankRequest(BankRequest),
|
BankRequest(BankRequest),
|
||||||
BankInteraction(BankInteraction),
|
BankInteraction(BankInteraction),
|
||||||
//PlayerSoldItem(PlayerSoldItem),
|
PlayerSoldItem(PlayerSoldItem),
|
||||||
//TeamInvite(TeamInvite),
|
//TeamInvite(TeamInvite),
|
||||||
//AcceptTeamInvite(AcceptTeamInvite),
|
//AcceptTeamInvite(AcceptTeamInvite),
|
||||||
CreateItem(CreateItem),
|
CreateItem(CreateItem),
|
||||||
@ -1157,7 +1184,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
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)?)),
|
PlayerLeftArea::CMD => Ok(GameMessage::PlayerLeftArea(PlayerLeftArea::from_bytes(&mut cur)?)),
|
||||||
PlayerSpawnedIntoArea::CMD => Ok(GameMessage::PlayerSpawnedIntoArea(PlayerSpawnedIntoArea::from_bytes(&mut cur)?)),
|
PlayerSpawnedIntoArea::CMD => Ok(GameMessage::PlayerSpawnedIntoArea(PlayerSpawnedIntoArea::from_bytes(&mut cur)?)),
|
||||||
@ -1168,10 +1195,12 @@ impl PSOPacketData for GameMessage {
|
|||||||
ComboStep1::CMD => Ok(GameMessage::ComboStep1(ComboStep1::from_bytes(&mut cur)?)),
|
ComboStep1::CMD => Ok(GameMessage::ComboStep1(ComboStep1::from_bytes(&mut cur)?)),
|
||||||
ComboStep2::CMD => Ok(GameMessage::ComboStep2(ComboStep2::from_bytes(&mut cur)?)),
|
ComboStep2::CMD => Ok(GameMessage::ComboStep2(ComboStep2::from_bytes(&mut cur)?)),
|
||||||
ComboStep3::CMD => Ok(GameMessage::ComboStep3(ComboStep3::from_bytes(&mut cur)?)),
|
ComboStep3::CMD => Ok(GameMessage::ComboStep3(ComboStep3::from_bytes(&mut cur)?)),
|
||||||
ComboStepDone::CMD => Ok(GameMessage::ComboStepDone(ComboStepDone::from_bytes(&mut cur)?)),
|
TargetsHit::CMD => Ok(GameMessage::TargetsHit(TargetsHit::from_bytes(&mut cur)?)),
|
||||||
PlayerTechCast::CMD => Ok(GameMessage::PlayerTechCast(PlayerTechCast::from_bytes(&mut cur)?)),
|
PlayerTechCast::CMD => Ok(GameMessage::PlayerTechCast(PlayerTechCast::from_bytes(&mut cur)?)),
|
||||||
PlayerTechDone::CMD => Ok(GameMessage::PlayerTechDone(PlayerTechDone::from_bytes(&mut cur)?)),
|
PlayerTechDone::CMD => Ok(GameMessage::PlayerTechDone(PlayerTechDone::from_bytes(&mut cur)?)),
|
||||||
PlayerPBUsed::CMD => Ok(GameMessage::PlayerPBUsed(PlayerPBUsed::from_bytes(&mut cur)?)),
|
PlayerPBUsed::CMD => Ok(GameMessage::PlayerPBUsed(PlayerPBUsed::from_bytes(&mut cur)?)),
|
||||||
|
PlayerDonatedPB::CMD => Ok(GameMessage::PlayerDonatedPB(PlayerDonatedPB::from_bytes(&mut cur)?)),
|
||||||
|
PlayerPBReady::CMD => Ok(GameMessage::PlayerPBReady(PlayerPBReady::from_bytes(&mut cur)?)),
|
||||||
PlayerBlockedDamage::CMD => Ok(GameMessage::PlayerBlockedDamage(PlayerBlockedDamage::from_bytes(&mut cur)?)),
|
PlayerBlockedDamage::CMD => Ok(GameMessage::PlayerBlockedDamage(PlayerBlockedDamage::from_bytes(&mut cur)?)),
|
||||||
PlayerReceivedDamage::CMD => Ok(GameMessage::PlayerReceivedDamage(PlayerReceivedDamage::from_bytes(&mut cur)?)),
|
PlayerReceivedDamage::CMD => Ok(GameMessage::PlayerReceivedDamage(PlayerReceivedDamage::from_bytes(&mut cur)?)),
|
||||||
PlayerReceivedDamage2::CMD => Ok(GameMessage::PlayerReceivedDamage2(PlayerReceivedDamage2::from_bytes(&mut cur)?)),
|
PlayerReceivedDamage2::CMD => Ok(GameMessage::PlayerReceivedDamage2(PlayerReceivedDamage2::from_bytes(&mut cur)?)),
|
||||||
@ -1212,7 +1241,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
//PlayerUnshrink::CMD => Ok(GameMessage::PlayerUnshrink(PlayerUnshrink::from_bytes(&mut cur)?)),
|
//PlayerUnshrink::CMD => Ok(GameMessage::PlayerUnshrink(PlayerUnshrink::from_bytes(&mut cur)?)),
|
||||||
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)?)),
|
||||||
@ -1223,7 +1252,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
//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)?)),
|
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)?)),
|
||||||
@ -1240,7 +1269,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
TekAccept::CMD => Ok(GameMessage::TekAccept(TekAccept::from_bytes(&mut cur)?)),
|
TekAccept::CMD => Ok(GameMessage::TekAccept(TekAccept::from_bytes(&mut cur)?)),
|
||||||
BankRequest::CMD => Ok(GameMessage::BankRequest(BankRequest::from_bytes(&mut cur)?)),
|
BankRequest::CMD => Ok(GameMessage::BankRequest(BankRequest::from_bytes(&mut cur)?)),
|
||||||
BankInteraction::CMD => Ok(GameMessage::BankInteraction(BankInteraction::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)?)),
|
//TeamInvite::CMD => Ok(GameMessage::TeamInvite(TeamInvite::from_bytes(&mut cur)?)),
|
||||||
//AcceptTeamInvite::CMD => Ok(GameMessage::AcceptTeamInvite(AcceptTeamInvite::from_bytes(&mut cur)?)),
|
//AcceptTeamInvite::CMD => Ok(GameMessage::AcceptTeamInvite(AcceptTeamInvite::from_bytes(&mut cur)?)),
|
||||||
CreateItem::CMD => Ok(GameMessage::CreateItem(CreateItem::from_bytes(&mut cur)?)),
|
CreateItem::CMD => Ok(GameMessage::CreateItem(CreateItem::from_bytes(&mut cur)?)),
|
||||||
@ -1324,7 +1353,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
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::PlayerLeftArea(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerSpawnedIntoArea(data) => data.as_bytes(),
|
GameMessage::PlayerSpawnedIntoArea(data) => data.as_bytes(),
|
||||||
@ -1335,10 +1364,12 @@ impl PSOPacketData for GameMessage {
|
|||||||
GameMessage::ComboStep1(data) => data.as_bytes(),
|
GameMessage::ComboStep1(data) => data.as_bytes(),
|
||||||
GameMessage::ComboStep2(data) => data.as_bytes(),
|
GameMessage::ComboStep2(data) => data.as_bytes(),
|
||||||
GameMessage::ComboStep3(data) => data.as_bytes(),
|
GameMessage::ComboStep3(data) => data.as_bytes(),
|
||||||
GameMessage::ComboStepDone(data) => data.as_bytes(),
|
GameMessage::TargetsHit(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerTechCast(data) => data.as_bytes(),
|
GameMessage::PlayerTechCast(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerTechDone(data) => data.as_bytes(),
|
GameMessage::PlayerTechDone(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerPBUsed(data) => data.as_bytes(),
|
GameMessage::PlayerPBUsed(data) => data.as_bytes(),
|
||||||
|
GameMessage::PlayerDonatedPB(data) => data.as_bytes(),
|
||||||
|
GameMessage::PlayerPBReady(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerBlockedDamage(data) => data.as_bytes(),
|
GameMessage::PlayerBlockedDamage(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerReceivedDamage(data) => data.as_bytes(),
|
GameMessage::PlayerReceivedDamage(data) => data.as_bytes(),
|
||||||
GameMessage::PlayerReceivedDamage2(data) => data.as_bytes(),
|
GameMessage::PlayerReceivedDamage2(data) => data.as_bytes(),
|
||||||
@ -1379,7 +1410,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
//GameMessage::PlayerUnshrink(data) => data.as_bytes(),
|
//GameMessage::PlayerUnshrink(data) => data.as_bytes(),
|
||||||
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(),
|
||||||
@ -1390,7 +1421,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
//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::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(),
|
||||||
@ -1407,7 +1438,7 @@ impl PSOPacketData for GameMessage {
|
|||||||
GameMessage::TekAccept(data) => data.as_bytes(),
|
GameMessage::TekAccept(data) => data.as_bytes(),
|
||||||
GameMessage::BankRequest(data) => data.as_bytes(),
|
GameMessage::BankRequest(data) => data.as_bytes(),
|
||||||
GameMessage::BankInteraction(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::TeamInvite(data) => data.as_bytes(),
|
||||||
//GameMessage::AcceptTeamInvite(data) => data.as_bytes(),
|
//GameMessage::AcceptTeamInvite(data) => data.as_bytes(),
|
||||||
GameMessage::CreateItem(data) => data.as_bytes(),
|
GameMessage::CreateItem(data) => data.as_bytes(),
|
||||||
|
@ -400,6 +400,11 @@ pub struct UpdateConfig{
|
|||||||
pub struct ViewInfoboardRequest {
|
pub struct ViewInfoboardRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[pso_packet(0xDE)]
|
||||||
|
pub struct RareMonsterList{
|
||||||
|
pub ids: [u16; 16],
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(PSOPacketData, Clone)]
|
#[derive(PSOPacketData, Clone)]
|
||||||
pub struct InfoboardResponse {
|
pub struct InfoboardResponse {
|
||||||
pub name: [u16; 16],
|
pub name: [u16; 16],
|
||||||
@ -582,4 +587,34 @@ pub struct FullCharacterData {
|
|||||||
#[pso_packet(0x1ED)]
|
#[pso_packet(0x1ED)]
|
||||||
pub struct SaveOptions {
|
pub struct SaveOptions {
|
||||||
pub options: u32,
|
pub options: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[derive(PSOPacketData, Clone, Copy, Default)]
|
||||||
|
pub struct TradeItem {
|
||||||
|
pub item_data: [u8; 12],
|
||||||
|
pub item_id: u32,
|
||||||
|
pub item_data2: [u8; 4],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[pso_packet(0xD0)]
|
||||||
|
pub struct ItemsToTrade {
|
||||||
|
pub trade_target: u8,
|
||||||
|
pub unknown2: u8,
|
||||||
|
pub count: u16,
|
||||||
|
pub items: [TradeItem; 32],
|
||||||
|
}
|
||||||
|
|
||||||
|
#[pso_packet(0xD1)]
|
||||||
|
pub struct AcknowledgeTrade {
|
||||||
|
}
|
||||||
|
|
||||||
|
#[pso_packet(0xD2)]
|
||||||
|
pub struct TradeConfirmed {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[pso_packet(0xD4)]
|
||||||
|
pub struct CancelTrade {
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user