mirror of
https://github.com/redstrate/Kawari.git
synced 2025-07-13 17:07:45 +00:00
Fix the wrong classjob being set when creating a character
This commit is contained in:
parent
c86a5f70a6
commit
fac241ce7b
2 changed files with 21 additions and 10 deletions
|
@ -34,6 +34,7 @@ pub async fn handle_custom_ipc(connection: &mut ZoneConnection, data: &CustomIpc
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut inventory = Inventory::default();
|
let mut inventory = Inventory::default();
|
||||||
|
let (content_id, actor_id);
|
||||||
{
|
{
|
||||||
let mut game_data = connection.gamedata.lock().unwrap();
|
let mut game_data = connection.gamedata.lock().unwrap();
|
||||||
|
|
||||||
|
@ -45,16 +46,17 @@ pub async fn handle_custom_ipc(connection: &mut ZoneConnection, data: &CustomIpc
|
||||||
chara_make.customize.gender,
|
chara_make.customize.gender,
|
||||||
&mut game_data,
|
&mut game_data,
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
let (content_id, actor_id) = connection.database.create_player_data(
|
(content_id, actor_id) = connection.database.create_player_data(
|
||||||
*service_account_id,
|
*service_account_id,
|
||||||
name,
|
name,
|
||||||
chara_make_json,
|
chara_make_json,
|
||||||
city_state,
|
city_state,
|
||||||
determine_initial_starting_zone(city_state),
|
determine_initial_starting_zone(city_state),
|
||||||
inventory,
|
inventory,
|
||||||
);
|
&mut game_data,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
tracing::info!("Created new player: {content_id} {actor_id}");
|
tracing::info!("Created new player: {content_id} {actor_id}");
|
||||||
|
|
||||||
|
|
|
@ -179,6 +179,7 @@ impl WorldDatabase {
|
||||||
character.city_state.value as u8,
|
character.city_state.value as u8,
|
||||||
132,
|
132,
|
||||||
Inventory::default(),
|
Inventory::default(),
|
||||||
|
game_data,
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut player_data = self.find_player_data(actor_id);
|
let mut player_data = self.find_player_data(actor_id);
|
||||||
|
@ -483,6 +484,7 @@ impl WorldDatabase {
|
||||||
city_state: u8,
|
city_state: u8,
|
||||||
zone_id: u16,
|
zone_id: u16,
|
||||||
inventory: Inventory,
|
inventory: Inventory,
|
||||||
|
game_data: &mut GameData,
|
||||||
) -> (u64, u32) {
|
) -> (u64, u32) {
|
||||||
let content_id = Self::generate_content_id();
|
let content_id = Self::generate_content_id();
|
||||||
let actor_id = Self::generate_actor_id();
|
let actor_id = Self::generate_actor_id();
|
||||||
|
@ -492,7 +494,14 @@ impl WorldDatabase {
|
||||||
// fill out the initial classjob
|
// fill out the initial classjob
|
||||||
let chara_make = CharaMake::from_json(chara_make_str);
|
let chara_make = CharaMake::from_json(chara_make_str);
|
||||||
let mut classjob_levels = [0i32; CLASSJOB_ARRAY_SIZE];
|
let mut classjob_levels = [0i32; CLASSJOB_ARRAY_SIZE];
|
||||||
classjob_levels[chara_make.classjob_id as usize] = 1; // inital level
|
|
||||||
|
{
|
||||||
|
let index = game_data
|
||||||
|
.get_exp_array_index(chara_make.classjob_id as u16)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
classjob_levels[index as usize] = 1; // inital level
|
||||||
|
}
|
||||||
|
|
||||||
let classjob_exp = [0u32; CLASSJOB_ARRAY_SIZE];
|
let classjob_exp = [0u32; CLASSJOB_ARRAY_SIZE];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue