Implement currency, shops, and enhanced NPC interaction system

This commit is contained in:
AI Agent
2026-03-17 13:31:33 -06:00
parent 2e1794b799
commit 0722a2f1d7
9 changed files with 353 additions and 22 deletions

View File

@@ -76,17 +76,24 @@ pub fn resolve_combat_tick(
}
npc_died = true;
xp_gained = npc_combat.xp_reward;
let gold_gained = npc_template.gold;
let silver_gained = npc_template.silver;
let copper_gained = npc_template.copper;
out.push_str(&format!(
" {} {} collapses! You gain {} XP.\r\n",
" {} {} collapses! You gain {} XP and {}g {}s {}c.\r\n",
ansi::color(ansi::GREEN, "**"),
ansi::color(ansi::RED, &npc_template.name),
ansi::bold(&xp_gained.to_string()),
gold_gained, silver_gained, copper_gained
));
if let Some(conn) = state.players.get_mut(&player_id) {
conn.combat = None;
conn.player.stats.xp += xp_gained;
conn.player.gold += gold_gained;
conn.player.silver += silver_gained;
conn.player.copper += copper_gained;
}
} else {
if let Some(inst) = state.npc_instances.get_mut(&npc_id) {