Skip to content

Commit 2027989

Browse files
committed
Set ability points after switching class
1 parent 5327906 commit 2027989

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

bl3_save_edit_core/src/bl3_save/character_data.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,8 +367,6 @@ impl CharacterData {
367367
}
368368

369369
pub fn set_player_class(&mut self, player_class: PlayerClass) -> Result<()> {
370-
self.player_class = player_class;
371-
372370
let player_class_data = self
373371
.character
374372
.player_class_data
@@ -377,6 +375,18 @@ impl CharacterData {
377375

378376
player_class_data.player_class_path = player_class.get_serializations()[0].to_string();
379377

378+
let ability_data = self
379+
.character
380+
.ability_data
381+
.as_mut()
382+
.context("failed to read Player ability data")?;
383+
384+
if self.player_level > 2 {
385+
ability_data.ability_points = self.player_level - 2;
386+
}
387+
388+
self.player_class = player_class;
389+
380390
Ok(())
381391
}
382392

bl3_save_edit_ui/src/state_mappers/manage_save/character.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,18 +164,18 @@ pub fn map_character_state_to_save(
164164
.name_input
165165
.clone();
166166

167-
save.character_data.set_player_class(
167+
save.character_data.set_player_level(
168168
manage_save_state
169169
.save_view_state
170170
.character_state
171-
.player_class_selected_class,
171+
.experience_points_input,
172172
)?;
173173

174-
save.character_data.set_player_level(
174+
save.character_data.set_player_class(
175175
manage_save_state
176176
.save_view_state
177177
.character_state
178-
.experience_points_input,
178+
.player_class_selected_class,
179179
)?;
180180

181181
save.character_data.set_head_skin_selected(

0 commit comments

Comments
 (0)