Weather system added, mostly decoration. Some tweaks to residents. Moved altar to its own menu, s for sacrifice. You can no longer burn incense outside the base.

This commit is contained in:
Storm Dragon
2026-01-20 12:30:26 -05:00
parent 9b7fbc8266
commit 4caa5caefb
28 changed files with 1973 additions and 72 deletions

View File

@@ -30,7 +30,22 @@ const int SPEAR_DAMAGE = 3;
const int AXE_DAMAGE = 4;
const int SLING_DAMAGE_MIN = 5;
const int SLING_DAMAGE_MAX = 8;
const int SLING_RANGE = 7;
const int SLING_RANGE = 8;
// Bow settings (for future implementation)
// Option 1: Longer range, similar damage
// const int BOW_DAMAGE_MIN = 6;
// const int BOW_DAMAGE_MAX = 9;
// const int BOW_RANGE = 12; // 50% more range than sling
//
// Option 2: Much longer range, slightly more damage
// const int BOW_DAMAGE_MIN = 7;
// const int BOW_DAMAGE_MAX = 10;
// const int BOW_RANGE = 15; // Nearly double sling range
//
// Recommendation: Bows should have BOTH more range AND more damage than slings
// to justify the likely higher resource cost and complexity to craft.
// Suggested balance: BOW_RANGE = 12, damage 6-9 (average 7.5 vs sling's 6.5)
// Zombie settings
const int ZOMBIE_HEALTH = 12;
@@ -68,6 +83,11 @@ const int STABLE_STONE_COST = 15;
const int STABLE_VINE_COST = 10;
const int ALTAR_STONE_COST = 9;
const int ALTAR_STICK_COST = 3;
const int INCENSE_STICK_COST = 6;
const int INCENSE_VINE_COST = 2;
const int INCENSE_REED_COST = 1;
const int INCENSE_HOURS_PER_STICK = 4;
const double INCENSE_FAVOR_PER_HOUR = 0.3;
// Bandit settings
const int BANDIT_HEALTH = 4;
@@ -99,7 +119,7 @@ const float SNARE_SOUND_PAN_STEP = 4.0; // Stronger pan for direction
const int SNARE_COLLECT_RANGE = 1;
const int FIRE_SOUND_RANGE = 3;
const float FIRE_SOUND_VOLUME_STEP = 5.0; // 30 dB over 6 tiles
const float FIRE_SOUND_VOLUME_STEP = 5.0; // 15 dB over 3 tiles (FIRE_SOUND_RANGE)
const int FIREPIT_SOUND_RANGE = 5;
const float FIREPIT_SOUND_VOLUME_STEP = 6.0; // 30 dB over 5 tiles
@@ -108,6 +128,12 @@ const int STREAM_SOUND_RANGE = 7;
const float STREAM_SOUND_VOLUME_STEP = 4.3; // 30 dB over 7 tiles
const float TREE_SOUND_VOLUME_STEP = 4.0; // Similar to snares for good audibility
const int TREE_SOUND_RANGE = 4;
const float RESIDENT_DEFENSE_VOLUME_STEP = 3.0; // Default volume for resident counter-attacks
const float PLAYER_WEAPON_SOUND_VOLUME_STEP = 3.0;
const int FLYING_CREATURE_FADE_OUT_DURATION = 1500; // ms
const float FLYING_CREATURE_FADE_OUT_MIN_VOLUME = -40.0; // dB
// Mountain configuration
const int MOUNTAIN_SIZE = 60;
@@ -126,8 +152,25 @@ const int QUEST_STONE_SCORE = 6;
const int QUEST_LOG_SCORE = 10;
const int QUEST_SKIN_SCORE = 14;
// Resident defense settings
// Resident settings
const int MAX_RESIDENTS = 4; // Max residents per base (+ player = 5 total)
const int RESIDENT_WEAPON_BREAK_CHANCE = 10;
const int RESIDENT_SPEAR_DAMAGE = 2;
const int RESIDENT_SLING_DAMAGE_MIN = 3;
const int RESIDENT_SLING_DAMAGE_MAX = 5;
// Goose settings
const int GOOSE_HEALTH = 1;
const int GOOSE_MOVE_INTERVAL_MIN = 800; // Faster movement
const int GOOSE_MOVE_INTERVAL_MAX = 2000;
const int GOOSE_FLYING_HEIGHT_MIN = 10;
const int GOOSE_FLYING_HEIGHT_MAX = 30;
const float GOOSE_SOUND_VOLUME_STEP = 3.0;
const int GOOSE_FLIGHT_SOUND_DELAY_MIN = 2000; // Honk more often
const int GOOSE_FLIGHT_SOUND_DELAY_MAX = 5000;
const int GOOSE_FALL_SPEED = 100; // ms per foot
const int GOOSE_FLY_AWAY_CHANCE = 0; // Chance out of 1000 per tick to fly away
const int GOOSE_MAX_DIST_FROM_WATER = 4; // How far they can wander from water
const int GOOSE_MAX_COUNT = 3;
const int GOOSE_HOURLY_SPAWN_CHANCE = 35; // Percent chance per hour to spawn a goose
const int GOOSE_SIGHT_RANGE = 0;