- 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
74 lines
4.2 KiB
JSON
74 lines
4.2 KiB
JSON
{
|
||
"duck_spawn": [
|
||
"・゜゜・。。・゜゜\\_O< QUACK!",
|
||
"・゜゜・。。・゜゜\\_o< quack~",
|
||
"・゜゜・。。・゜゜\\_O> *flap flap*"
|
||
],
|
||
"duck_flies_away": "The duck flies away. ·°'`'°-.,¸¸.·°'`",
|
||
"fast_duck_flies_away": "The fast duck quickly flies away! ·°'`'°-.,¸¸.·°'`",
|
||
"golden_duck_flies_away": "The golden duck flies away majestically. ·°'`'°-.,¸¸.·°'`",
|
||
"bang_hit": "{nick} > *BANG* You shot the duck! [+{xp_gained} xp] [Total ducks: {ducks_shot}]",
|
||
"bang_hit_golden": "{nick} > *BANG* You shot a GOLDEN DUCK! [{hp_remaining} HP remaining] [+{xp_gained} xp]",
|
||
"bang_hit_golden_killed": "{nick} > *BANG* You killed the GOLDEN DUCK! [+{xp_gained} xp] [Total ducks: {ducks_shot}]",
|
||
"bang_hit_fast": "{nick} > *BANG* You shot a FAST DUCK! [+{xp_gained} xp] [Total ducks: {ducks_shot}]",
|
||
"bang_miss": "{nick} > *BANG* You missed the duck!",
|
||
"bang_no_duck": "{nick} > *BANG* What did you shoot at? There is no duck in the area... [GUN CONFISCATED]",
|
||
"bang_no_ammo": "{nick} > *click* You're out of ammo! Use !reload",
|
||
"bang_gun_jammed": "{nick} > *click* Your gun jammed! [AMMO WASTED]",
|
||
"bang_not_armed": "{nick} > You are not armed.",
|
||
"bef_success": "{nick} > *befriend* You befriended the duck! [+{xp_gained} xp] [Ducks befriended: {ducks_befriended}]",
|
||
"bef_failed": "{nick} > *gentle approach* The duck doesn't trust you and flies away...",
|
||
"bef_no_duck": "{nick} > *gentle approach* There is no duck to befriend in the area...",
|
||
"bef_duck_shot": "{nick} > *gentle approach* The duck is already dead! You can't befriend it now...",
|
||
"reload_success": "{nick} > *click* New magazine loaded! [Ammo: {ammo}/{max_ammo}] [Spare magazines: {chargers}]",
|
||
"reload_already_loaded": "{nick} > Your gun is already loaded!",
|
||
"reload_no_chargers": "{nick} > You're out of spare magazines!",
|
||
"reload_not_armed": "{nick} > You are not armed.",
|
||
"shop_display": "DuckHunt Shop: {items} | You have {xp} XP",
|
||
"shop_item_format": "({id}) {name} - {price} XP",
|
||
"help_header": "DuckHunt Commands:",
|
||
"help_user_commands": "!bang - Shoot at ducks | !bef - Befriend ducks | !reload - Reload your gun | !shop - View/buy from shop | !duckstats - View your stats and items | !use - Use inventory items",
|
||
"help_help_command": "!duckhelp - Show this help",
|
||
"help_admin_commands": "Admin: !rearm <player> | !disarm <player> | !ignore <player> | !unignore <player> | !ducklaunch",
|
||
"admin_rearm_player": "[ADMIN] {target} has been rearmed by {admin}",
|
||
"admin_rearm_all": "[ADMIN] All players have been rearmed by {admin}",
|
||
"admin_rearm_self": "[ADMIN] {admin} has rearmed themselves",
|
||
"admin_disarm": "[ADMIN] {target} has been disarmed by {admin}",
|
||
"admin_ignore": "[ADMIN] {target} is now ignored by {admin}",
|
||
"admin_unignore": "[ADMIN] {target} is no longer ignored by {admin}",
|
||
"admin_ducklaunch": "[ADMIN] A duck has been launched by {admin}",
|
||
"admin_ducklaunch_not_enabled": "[ADMIN] This channel is not enabled for duckhunt",
|
||
"usage_rearm": "Usage: !rearm <player>",
|
||
"usage_disarm": "Usage: !disarm <player>",
|
||
"usage_ignore": "Usage: !ignore <player>",
|
||
"usage_unignore": "Usage: !unignore <player>",
|
||
"shop_buy_success": "{nick} > You bought {item_name}! [-{price} XP] [Remaining: {remaining_xp} XP]",
|
||
"shop_buy_insufficient_xp": "{nick} > You don't have enough XP to buy {item_name}. Need {price} XP, you have {current_xp} XP.",
|
||
"shop_buy_invalid_id": "{nick} > Invalid item ID. Use !shop to see available items.",
|
||
"shop_buy_usage": "Usage: !shop buy <item_id>",
|
||
"use_attract_ducks": "{nick} > You scattered bread around the pond! Ducks will spawn {spawn_multiplier}x faster for {duration} minutes.",
|
||
|
||
"colours": {
|
||
"white": "\u00030",
|
||
"black": "\u00031",
|
||
"blue": "\u00032",
|
||
"green": "\u00033",
|
||
"red": "\u00034",
|
||
"brown": "\u00035",
|
||
"purple": "\u00036",
|
||
"orange": "\u00037",
|
||
"yellow": "\u00038",
|
||
"light_green": "\u00039",
|
||
"cyan": "\u000310",
|
||
"light_cyan": "\u000311",
|
||
"light_blue": "\u000312",
|
||
"pink": "\u000313",
|
||
"grey": "\u000314",
|
||
"light_grey": "\u000315",
|
||
"bold": "\u0002",
|
||
"underline": "\u001f",
|
||
"italic": "\u001d",
|
||
"strikethrough": "\u001e",
|
||
"reset": "\u000f"
|
||
}
|
||
} |