send better guildcard number
This commit is contained in:
parent
dfd48e1496
commit
fba46dd0d8
@ -2,6 +2,8 @@ use serde::{Serialize, Deserialize};
|
|||||||
use libpso::character::settings;
|
use libpso::character::settings;
|
||||||
use libpso::character::guildcard;
|
use libpso::character::guildcard;
|
||||||
|
|
||||||
|
const GUILDCARD_OFFSET: u32 = 2300000;
|
||||||
|
|
||||||
pub const USERFLAG_NEWCHAR: u32 = 0x00000001;
|
pub const USERFLAG_NEWCHAR: u32 = 0x00000001;
|
||||||
pub const USERFLAG_DRESSINGROOM: u32 = 0x00000002;
|
pub const USERFLAG_DRESSINGROOM: u32 = 0x00000002;
|
||||||
|
|
||||||
@ -83,6 +85,10 @@ impl UserAccountEntity {
|
|||||||
pub fn is_currently_online(&self) -> bool {
|
pub fn is_currently_online(&self) -> bool {
|
||||||
self.at_login | self.at_character | self.at_ship
|
self.at_login | self.at_character | self.at_ship
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn guildcard(&self) -> u32 {
|
||||||
|
self.id.0 + GUILDCARD_OFFSET
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ use crate::ship::items::inventory::InventoryState;
|
|||||||
pub fn player_header(tag: u32, client: &ClientState, area_client: &AreaClient) -> PlayerHeader {
|
pub fn player_header(tag: u32, client: &ClientState, area_client: &AreaClient) -> PlayerHeader {
|
||||||
PlayerHeader {
|
PlayerHeader {
|
||||||
tag,
|
tag,
|
||||||
guildcard: client.user.id.0,
|
guildcard: client.user.guildcard(),
|
||||||
_unknown1: [0; 5],
|
_unknown1: [0; 5],
|
||||||
client_id: area_client.local_client.id() as u32,
|
client_id: area_client.local_client.id() as u32,
|
||||||
name: libpso::utf8_to_utf16_array!(client.character.name, 16),
|
name: libpso::utf8_to_utf16_array!(client.character.name, 16),
|
||||||
|
@ -12,7 +12,7 @@ pub async fn player_chat(id: ClientId,
|
|||||||
clients: &Clients)
|
clients: &Clients)
|
||||||
-> Result<Vec<(ClientId, SendShipPacket)>, ShipError> {
|
-> Result<Vec<(ClientId, SendShipPacket)>, ShipError> {
|
||||||
let cmsg = clients.with(id, |client| Box::pin(async move {
|
let cmsg = clients.with(id, |client| Box::pin(async move {
|
||||||
PlayerChat::new(client.user.id.0, msg.message)
|
PlayerChat::new(client.user.guildcard(), msg.message)
|
||||||
})).await?;
|
})).await?;
|
||||||
|
|
||||||
Ok(client_location.get_all_clients_by_client(id).await.unwrap().into_iter()
|
Ok(client_location.get_all_clients_by_client(id).await.unwrap().into_iter()
|
||||||
|
@ -60,7 +60,7 @@ pub async fn guildcard_send(id: ClientId,
|
|||||||
msg: GameMessage::GuildcardRecv(GuildcardRecv {
|
msg: GameMessage::GuildcardRecv(GuildcardRecv {
|
||||||
client: guildcard_send.client,
|
client: guildcard_send.client,
|
||||||
target: guildcard_send.target,
|
target: guildcard_send.target,
|
||||||
guildcard: client.user.id.0,
|
guildcard: client.user.guildcard(),
|
||||||
name: utf8_to_utf16_array!(client.character.name, 0x18),
|
name: utf8_to_utf16_array!(client.character.name, 0x18),
|
||||||
team: [0; 0x10], // TODO: teams not yet implemented
|
team: [0; 0x10], // TODO: teams not yet implemented
|
||||||
desc: utf8_to_utf16_array!(client.character.guildcard.description, 0x58),
|
desc: utf8_to_utf16_array!(client.character.guildcard.description, 0x58),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user