Restructure config.json with nested hierarchy and dot notation access

- Reorganized config.json into logical sections: connection, duck_spawning, duck_types, player_defaults, gameplay, features, limits
- Enhanced get_config() method to support dot notation (e.g., 'duck_types.normal.xp')
- Added comprehensive configurable parameters for all game mechanics
- Updated player creation to use configurable starting values
- Added individual timeout settings per duck type
- Made XP rewards, accuracy mechanics, and game limits fully configurable
- Fixed syntax errors in duck_spawn_loop function
This commit is contained in:
2025-09-24 20:26:49 +01:00
parent 6ca624bd2f
commit 74f3afdf4b
18 changed files with 306 additions and 189 deletions

View File

@@ -8,8 +8,9 @@
"name": "Duck Novice",
"min_xp": 0,
"max_xp": 49,
"befriend_success_rate": 85,
"accuracy_modifier": 5,
"befriend_success_rate": 95,
"accuracy_modifier": 25,
"jam_chance": 0,
"duck_spawn_speed_modifier": 1.0,
"magazines": 3,
"bullets_per_magazine": 6,
@@ -19,8 +20,9 @@
"name": "Pond Visitor",
"min_xp": 50,
"max_xp": 149,
"befriend_success_rate": 80,
"accuracy_modifier": 0,
"befriend_success_rate": 85,
"accuracy_modifier": 15,
"jam_chance": 1,
"duck_spawn_speed_modifier": 1.0,
"magazines": 3,
"bullets_per_magazine": 6,
@@ -30,10 +32,11 @@
"name": "Duck Hunter",
"min_xp": 150,
"max_xp": 299,
"befriend_success_rate": 75,
"accuracy_modifier": -5,
"befriend_success_rate": 80,
"accuracy_modifier": 5,
"jam_chance": 2,
"duck_spawn_speed_modifier": 0.9,
"magazines": 2,
"magazines": 3,
"bullets_per_magazine": 6,
"description": "Your reputation precedes you, ducks are more cautious"
},
@@ -41,8 +44,9 @@
"name": "Wetland Stalker",
"min_xp": 300,
"max_xp": 599,
"befriend_success_rate": 70,
"accuracy_modifier": -10,
"befriend_success_rate": 75,
"accuracy_modifier": -5,
"jam_chance": 3,
"duck_spawn_speed_modifier": 0.8,
"magazines": 2,
"bullets_per_magazine": 6,
@@ -52,8 +56,9 @@
"name": "Apex Predator",
"min_xp": 600,
"max_xp": 999,
"befriend_success_rate": 65,
"befriend_success_rate": 70,
"accuracy_modifier": -15,
"jam_chance": 4,
"duck_spawn_speed_modifier": 0.7,
"magazines": 2,
"bullets_per_magazine": 6,
@@ -63,8 +68,9 @@
"name": "Duck Whisperer",
"min_xp": 1000,
"max_xp": 1999,
"befriend_success_rate": 60,
"befriend_success_rate": 65,
"accuracy_modifier": -20,
"jam_chance": 5,
"duck_spawn_speed_modifier": 0.6,
"magazines": 1,
"bullets_per_magazine": 6,
@@ -74,8 +80,9 @@
"name": "Legendary Hunter",
"min_xp": 2000,
"max_xp": 4999,
"befriend_success_rate": 55,
"befriend_success_rate": 60,
"accuracy_modifier": -25,
"jam_chance": 6,
"duck_spawn_speed_modifier": 0.5,
"magazines": 1,
"bullets_per_magazine": 6,
@@ -85,8 +92,9 @@
"name": "Duck Deity",
"min_xp": 5000,
"max_xp": 999999,
"befriend_success_rate": 50,
"befriend_success_rate": 55,
"accuracy_modifier": -30,
"jam_chance": 8,
"duck_spawn_speed_modifier": 0.4,
"magazines": 1,
"bullets_per_magazine": 6,