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 (content_id, actor_id);
|
||||
{
|
||||
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,
|
||||
&mut game_data,
|
||||
);
|
||||
}
|
||||
|
||||
let (content_id, actor_id) = connection.database.create_player_data(
|
||||
*service_account_id,
|
||||
name,
|
||||
chara_make_json,
|
||||
city_state,
|
||||
determine_initial_starting_zone(city_state),
|
||||
inventory,
|
||||
);
|
||||
(content_id, actor_id) = connection.database.create_player_data(
|
||||
*service_account_id,
|
||||
name,
|
||||
chara_make_json,
|
||||
city_state,
|
||||
determine_initial_starting_zone(city_state),
|
||||
inventory,
|
||||
&mut game_data,
|
||||
);
|
||||
}
|
||||
|
||||
tracing::info!("Created new player: {content_id} {actor_id}");
|
||||
|
||||
|
|
|
@ -179,6 +179,7 @@ impl WorldDatabase {
|
|||
character.city_state.value as u8,
|
||||
132,
|
||||
Inventory::default(),
|
||||
game_data,
|
||||
);
|
||||
|
||||
let mut player_data = self.find_player_data(actor_id);
|
||||
|
@ -483,6 +484,7 @@ impl WorldDatabase {
|
|||
city_state: u8,
|
||||
zone_id: u16,
|
||||
inventory: Inventory,
|
||||
game_data: &mut GameData,
|
||||
) -> (u64, u32) {
|
||||
let content_id = Self::generate_content_id();
|
||||
let actor_id = Self::generate_actor_id();
|
||||
|
@ -492,7 +494,14 @@ impl WorldDatabase {
|
|||
// fill out the initial classjob
|
||||
let chara_make = CharaMake::from_json(chara_make_str);
|
||||
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];
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue