From f5dd4f1d25a4e395609a31cc7c8755ca7e2fe518 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 6 Feb 2026 22:39:17 -0500 Subject: [PATCH] Livestock has a chance to give feathers. --- src/base_system.nvgt | 11 ++++++++++- src/constants.nvgt | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/base_system.nvgt b/src/base_system.nvgt index f213cf7..db0f0fd 100644 --- a/src/base_system.nvgt +++ b/src/base_system.nvgt @@ -209,6 +209,7 @@ void attempt_livestock_production() { int meat_produced = 0; int skins_produced = 0; + int feathers_produced = 0; for (int i = 0; i < count; i++) { if (get_storage_count(ITEM_MEAT) < BASE_STORAGE_MAX) { @@ -224,13 +225,21 @@ void attempt_livestock_production() { skins_produced++; } } + + if (get_storage_count(ITEM_FEATHERS) < BASE_STORAGE_MAX) { + if (random(1, 100) <= LIVESTOCK_FEATHER_CHANCE) { + add_storage_count(ITEM_FEATHERS, 1); + feathers_produced++; + } + } } - if ((meat_produced > 0 || skins_produced > 0) && x <= BASE_END) { + if ((meat_produced > 0 || skins_produced > 0 || feathers_produced > 0) && x <= BASE_END) { string msg = "Livestock produced "; string[] outputs; if (meat_produced > 0) outputs.insert_last(meat_produced + " meat"); if (skins_produced > 0) outputs.insert_last(skins_produced + " skins"); + if (feathers_produced > 0) outputs.insert_last(feathers_produced + " feathers"); for (uint i = 0; i < outputs.length(); i++) { if (i > 0) { diff --git a/src/constants.nvgt b/src/constants.nvgt index 24098b0..8edd27f 100644 --- a/src/constants.nvgt +++ b/src/constants.nvgt @@ -148,6 +148,7 @@ const int HORSE_SUCCESS_BONUS_PER = 2; const int HORSE_DAMAGE_BONUS_STEP = 3; const int LIVESTOCK_MEAT_CHANCE = 6; const int LIVESTOCK_SKIN_CHANCE = 3; +const int LIVESTOCK_FEATHER_CHANCE = 2; // Bandit settings const int BANDIT_HEALTH = 4;