- Fixed critical security vulnerabilities in shop targeting system - Fixed admin authentication bypass issues - Fixed auto-rearm feature config path (duck_spawning.rearm_on_duck_shot) - Updated duck spawn timing to 20-60 minutes for better game balance - Enhanced inventory display formatting with proper spacing - Added comprehensive admin security documentation
90 lines
5.8 KiB
JSON
90 lines
5.8 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 {gold}golden duck{reset} 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_friendly_fire_penalty": "{nick} > *BANG* You missed and hit {victim}! [GUN CONFISCATED] [LOST {xp_lost} XP]",
|
||
"bang_friendly_fire_insured": "{nick} > *BANG* You missed and hit {victim}! [INSURANCE PROTECTED - No penalties]",
|
||
"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} > Your gun has been confiscated. Buy it back from the shop.",
|
||
"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 ammo!",
|
||
"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 | !topduck - View leaderboards | !use - Use inventory items",
|
||
"help_help_command": "!duckhelp - Show this help",
|
||
"help_admin_commands": "Admin: !rearm <player> | !disarm <player> | !ignore <player> | !unignore <player> | !ducklaunch [duck_type] (all support /msg)",
|
||
"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.",
|
||
"use_insurance": "{nick} > You activated Hunter's Insurance! Protected from friendly fire penalties for {duration} hours.",
|
||
"use_buy_gun_back": "{nick} > Your gun has been returned with {ammo_restored} bullets and {magazines_restored} magazines.",
|
||
"use_buy_gun_back_not_needed": "{nick} > Your gun is not confiscated.",
|
||
"bang_wet_clothes": "{nick} > *SPLASH* Your clothes are soaked! You can't shoot until you dry off or buy new clothes.",
|
||
"use_splash_water": "{nick} > *SPLASH* You soaked {target_nick} with water! They can't shoot for {duration} minutes.",
|
||
"use_dry_clothes": "{nick} > You changed into dry clothes! Ready to hunt again.",
|
||
"use_dry_clothes_not_needed": "{nick} > You weren't wet - no need for new clothes.",
|
||
"gift_ammo": "{nick} > Gave {amount} bullet(s) to {target_nick}! What a generous hunter.",
|
||
"gift_magazine": "{nick} > Gave 1 magazine to {target_nick}! Sharing the ammo love.",
|
||
"gift_gun_brush": "{nick} > Gave a gun brush to {target_nick} - keeping their weapon clean!",
|
||
"gift_insurance": "{nick} > Gave Hunter's Insurance to {target_nick} - protecting them from friendly fire!",
|
||
"gift_dry_clothes": "{nick} > Gave dry clothes to {target_nick} - now they can stay dry!",
|
||
"gift_buy_gun_back": "{nick} > Gave a gun license to {target_nick} - helping them get their gun back!",
|
||
|
||
"colours": {
|
||
"white": "\u00030",
|
||
"black": "\u00031",
|
||
"blue": "\u00032",
|
||
"green": "\u00033",
|
||
"red": "\u00034",
|
||
"brown": "\u00035",
|
||
"purple": "\u00036",
|
||
"orange": "\u00037",
|
||
"yellow": "\u00038",
|
||
"gold": "\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"
|
||
}
|
||
} |