Files
duckhunt/config.json.example
2026-01-01 10:45:59 -06:00

172 lines
4.0 KiB
JSON

{
"connection": {
"server": "irc.example.net",
"port": 6697,
"nick": "Quackbot",
"channels": [
"#duckhunt"
],
"ssl": true,
"password": "",
"max_retries": 3,
"retry_delay": 5,
"timeout": 30,
"auto_rejoin": {
"enabled": true,
"retry_interval": 20,
"max_rejoin_attempts": 100
}
},
"sasl": {
"enabled": false,
"username": "",
"password": ""
},
"admins": [
"yourNickHere"
],
"duck_spawning": {
"spawn_min": 1200,
"spawn_max": 3600,
"timeout": 60,
"rearm_on_duck_shot": true
},
"duck_types": {
"normal": {
"xp": 10,
"timeout": 60,
"drop_chance": 0.15
},
"golden": {
"chance": 0.15,
"min_hp": 3,
"max_hp": 5,
"xp": 15,
"timeout": 60,
"drop_chance": 0.5
},
"fast": {
"chance": 0.25,
"timeout": 20,
"xp": 12,
"drop_chance": 0.25
},
"concrete": {
"chance": 0.08,
"hp": 3,
"xp": 3,
"timeout": 90,
"drop_chance": 0.15
},
"holy_grail": {
"chance": 0.03,
"hp": 8,
"xp": 10,
"timeout": 120,
"drop_chance": 0.35
},
"diamond": {
"chance": 0.01,
"hp": 10,
"xp": 15,
"timeout": 150,
"drop_chance": 0.5
},
"explosive": {
"chance": 0.02,
"hp": 1,
"xp": 20,
"timeout": 60,
"drop_chance": 0.25
},
"poisonous": {
"chance": 0.02,
"hp": 1,
"xp": 8,
"timeout": 60,
"drop_chance": 0.25
},
"radioactive": {
"chance": 0.005,
"hp": 1,
"xp": 15,
"timeout": 60,
"drop_chance": 0.35
},
"couple": {
"chance": 0.03,
"timeout": 60
},
"family": {
"chance": 0.015,
"timeout": 60
}
},
"item_drops": {
"normal_duck_drops": [
{"item_id": 1, "weight": 40},
{"item_id": 2, "weight": 25},
{"item_id": 4, "weight": 20},
{"item_id": 3, "weight": 15}
],
"fast_duck_drops": [
{"item_id": 1, "weight": 30},
{"item_id": 2, "weight": 25},
{"item_id": 4, "weight": 20},
{"item_id": 8, "weight": 15},
{"item_id": 3, "weight": 10}
],
"golden_duck_drops": [
{"item_id": 5, "weight": 25},
{"item_id": 6, "weight": 20},
{"item_id": 7, "weight": 20},
{"item_id": 2, "weight": 15},
{"item_id": 9, "weight": 10},
{"item_id": 1, "weight": 10}
]
},
"player_defaults": {
"accuracy": 75,
"magazines": 3,
"bullets_per_magazine": 6,
"jam_chance": 15,
"xp": 0
},
"gameplay": {
"befriend_success_rate": 75,
"befriend_xp": 5,
"accuracy_gain_on_hit": 1,
"accuracy_loss_on_miss": 2,
"min_accuracy": 10,
"max_accuracy": 100,
"min_befriend_success_rate": 5,
"max_befriend_success_rate": 95,
"wet_clothes_duration": 300
},
"features": {
"shop_enabled": true,
"inventory_enabled": true,
"auto_rearm_enabled": true
},
"limits": {
"max_inventory_items": 20,
"max_temp_effects": 20
},
"debug": {
"_comment_enabled": "Whether debug logging is enabled at all (true=debug mode, false=minimal logging)",
"enabled": true,
"_comment_log_level": "Overall logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
"log_level": "DEBUG",
"_comment_console_level": "Console output level - what shows in terminal (DEBUG, INFO, WARNING, ERROR)",
"console_log_level": "INFO",
"_comment_file_level": "File logging level - what gets written to log files (DEBUG, INFO, WARNING, ERROR)",
"file_log_level": "DEBUG",
"_comment_log_everything": "If true, logs ALL events. If false, logs only important events",
"log_everything": true,
"_comment_log_performance": "Whether to enable performance/metrics logging to performance.log",
"log_performance": true,
"_comment_unified_format": "If true, console and file logs use same format. If false, console has colors, file is plain",
"unified_format": true
}
}