feat: Add focus minute berry reward (#63)

This commit is contained in:
demenik
2025-12-10 14:11:02 +01:00
parent 0362620433
commit a20807ce09

View File

@@ -70,13 +70,35 @@ fn tick_timer(
mut phase_res: ResMut<CurrentPhase>,
mut finish_writer: MessageWriter<PhaseTimerFinishedMessage>,
mut savegame_messages: MessageWriter<SavegameDumpMessage>,
config: Res<GameConfig>,
mut inventory: ResMut<Inventory>,
mut commands: Commands,
mut items_query: Query<&mut ItemStack>,
mut session_tracker: ResMut<SessionTracker>,
) {
let delta = time.delta_secs();
let phase = &mut phase_res.0;
match phase {
Phase::Focus { duration } | Phase::Break { duration } => {
let old_minutes = (*duration / 60.0).floor() as i32;
*duration -= delta;
let new_minutes = (*duration / 60.0).floor() as i32;
if new_minutes < old_minutes {
println!(
"A minute of focus has been completed. Granting {} berries as a reward.",
config.berries_per_focus_minute
);
inventory.update_item_stack(
&mut commands,
&mut items_query,
ItemType::Berry,
config.berries_per_focus_minute as i32,
);
session_tracker.total_berries_earned += config.berries_per_focus_minute;
}
if *duration <= 0.0 {
finish_writer.write(PhaseTimerFinishedMessage {