Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of HaldorBounties v0.0.5
HaldorBounties.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using Newtonsoft.Json; using Splatform; using TMPro; using TraderOverhaul; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("0.0.0.0")] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace HaldorBounties { public class BountyEntry { public string Id = ""; public string Title = ""; public string Description = ""; public string Type = "Kill"; public string Target = ""; public int Amount = 1; public int Reward = 50; public string RequiredBoss = ""; public int SpawnLevel; public string Tier = "Easy"; public int Gender; } internal class ConfigWrapper { public int Version; public List<BountyEntry> Bounties; } public static class BountyConfig { private struct KillDef { public string Id; public string Title; public string Desc; public string Target; public int Amount; public int Reward; } private struct MinibossDef { public string Id; public string Title; public string Desc; public int Reward; public int Gender; } private struct RaidDef { public string Id; public string Title; public string Desc; public int Amount; public int Reward; } private const int CurrentConfigVersion = 2; private static string _configPath; public static List<BountyEntry> Bounties { get; private set; } = new List<BountyEntry>(); public static void Initialize(string configPath) { _configPath = configPath; if (File.Exists(_configPath)) { try { ConfigWrapper configWrapper = JsonConvert.DeserializeObject<ConfigWrapper>(File.ReadAllText(_configPath)); if (configWrapper != null && configWrapper.Version >= 2 && configWrapper.Bounties != null && configWrapper.Bounties.Count > 0) { Bounties = configWrapper.Bounties; ValidateEntries(); HaldorBounties.Log.LogInfo((object)$"[BountyConfig] Loaded {Bounties.Count} bounties (v{configWrapper.Version})."); return; } int num = configWrapper?.Version ?? 0; HaldorBounties.Log.LogInfo((object)$"[BountyConfig] Config version {num} < {2}, regenerating."); } catch (Exception ex) { HaldorBounties.Log.LogWarning((object)("[BountyConfig] Failed to load config: " + ex.Message + ". Using defaults.")); } } Bounties = BuildDefaultBounties(); ValidateEntries(); SaveToFile(); HaldorBounties.Log.LogInfo((object)$"[BountyConfig] Generated {Bounties.Count} default bounties (v{2})."); } private static void ValidateEntries() { foreach (BountyEntry bounty in Bounties) { if ((bounty.Tier == "Miniboss" || bounty.Tier == "Raid") && bounty.SpawnLevel < 1) { HaldorBounties.Log.LogWarning((object)$"[BountyConfig] Entry '{bounty.Id}' is {bounty.Tier} but SpawnLevel={bounty.SpawnLevel}, fixing to 1."); bounty.SpawnLevel = 1; } } } private static void SaveToFile() { try { string contents = JsonConvert.SerializeObject((object)new ConfigWrapper { Version = 2, Bounties = Bounties }, (Formatting)1); string directoryName = Path.GetDirectoryName(_configPath); if (!string.IsNullOrEmpty(directoryName) && !Directory.Exists(directoryName)) { Directory.CreateDirectory(directoryName); } File.WriteAllText(_configPath, contents); } catch (Exception ex) { HaldorBounties.Log.LogWarning((object)("[BountyConfig] Failed to save config: " + ex.Message)); } } private static List<BountyEntry> BuildDefaultBounties() { List<BountyEntry> list = new List<BountyEntry>(); AddKillBounties(list, "", "Easy", K("m_greyling_1", "Skogvættr's Brood", "The grey ones crawl from the earth like maggots from a wound. Haldor's caravans cannot pass.", "Greyling", 5, 25), K("m_greyling_2", "Scourge of the Glade", "Greylings swarm the meadow in numbers unseen. The roads must be cleared by steel.", "Greyling", 12, 50), K("m_neck_1", "Serpents of the Shallows", "Necks snap at wading travelers along every shore. Make the riverbanks safe again.", "Neck", 5, 30), K("m_neck_2", "Fang-Water", "Every stream and pond teems with Necks grown bold on easy prey.", "Neck", 12, 60), K("m_boar_1", "Tusks of the Wildwood", "Feral boars gore anyone who strays from the paths. Cull them before they breed further.", "Boar", 8, 40), K("m_boar_2", "Razorback Rampage", "The boars have gone berserk — tusks bloody, eyes wild. Something in the meadow drives them mad.", "Boar", 15, 75), K("m_deer_1", "Eikthyr's Offering", "Haldor craves fresh venison for his stores. Track the swiftest deer and bring them down.", "Deer", 5, 30), K("m_deer_2", "The Great Hunt", "A proper hunt worthy of song — enough deer to feast a warband.", "Deer", 12, 60), K("m_greyling_3", "Grey Tide Rising", "An enormous colony festers beneath the meadow roots. Burn them out.", "Greyling", 20, 80), K("m_neck_3", "Jaws of the Runoff", "The Neck swarms have grown beyond all reckoning. The waterways belong to them now — take them back.", "Neck", 20, 90)); AddMinibossBounties(list, "", "HB_BountyNpc_T1", MB("mb_m_m1", "The Oath-Breaker", "A disgraced warrior haunts the crossroads, challenging travelers to holmgang they cannot refuse.", 200, 1), MB("mb_m_f1", "Grelka the Scavenger", "A scarred deserter raids supply caches by moonlight, leaving only bones and ash.", 220, 2), MB("mb_m_m2", "Bjolf Stone-Fist", "A hulking brute blocks the meadow crossing, demanding tribute in blood.", 210, 1), MB("mb_m_f2", "Runa Thorn-Heart", "An exile who fights like the wild creatures she lives among — without mercy.", 230, 2), MB("mb_m_m3", "The Nithing", "An outlaw branded with the mark of shame. He has nothing left to lose.", 200, 1), MB("mb_m_f3", "Ylva Grass-Viper", "She strikes from the tall grass and vanishes before the blood dries.", 240, 2), MB("mb_m_m4", "Vagn the Wanderer", "A drifting sellsword who cuts down anyone foolish enough to draw steel.", 210, 1), MB("mb_m_f4", "Sigrid Dawn-Stalker", "She hunts at first light when travelers are bleary-eyed and careless.", 250, 2), MB("mb_m_m5", "Keld Flint-Fang", "Armed with crude but wicked weapons shaped from the meadow's stones.", 200, 1), MB("mb_m_f5", "Inga Way-Finder", "A former merchant who knows every road — and the best places to ambush them.", 230, 2)); AddRaidBounties(list, "", "HB_BountyNpc_T1", RD("rd_m_1", "Oath-Breakers' Warband", "A pack of disgraced warriors roam the meadow seeking plunder and redemption through blood.", 3, 350), RD("rd_m_2", "Outlaws of the Glade", "Desperate exiles have sworn a blood-oath and banded together. They answer to no jarl.", 4, 500), RD("rd_m_3", "Road-Wolves", "Bandits who prey on lone travelers, picking the roads clean like carrion birds.", 3, 400), RD("rd_m_4", "Camp-Burners", "Firebrands who torch camps and steal every scrap. Smoke marks their passing.", 4, 550), RD("rd_m_5", "Meadow Reavers", "A gang of marauders terrorizes the open fields, emboldened by their easy prey.", 3, 380), RD("rd_m_6", "The Landless", "Exiled warriors stripped of name and land, fighting with the fury of those who have nothing.", 4, 480), RD("rd_m_7", "Grey-Herders", "Outlaws who drive Greylings before them as scouts and distractions.", 3, 420), RD("rd_m_8", "Crossroad Kinsmen", "They control every crossroad in the meadows, demanding toll in steel.", 4, 520), RD("rd_m_9", "Dusk-Prowlers", "They strike at twilight when the shadows grow long and eyes grow dim.", 3, 400), RD("rd_m_10", "The Hunger-Sworn", "Starving raiders who have sworn to take what they need or die fighting.", 4, 500)); AddKillBounties(list, "defeated_eikthyr", "Easy", K("bf_greydwarf_1", "Eyes in the Undergrowth", "Greydwarf scouts watch every road through the forest with hollow, hateful eyes.", "Greydwarf", 8, 50), K("bf_greydwarf_2", "Root and Ruin", "A Greydwarf horde gathers beneath the ancient roots. If left unchecked, the forest will be lost.", "Greydwarf", 20, 120), K("bf_brute_1", "The Trunk-Breakers", "Greydwarf Brutes have blockaded the crossings, smashing carts and travelers alike.", "Greydwarf_Elite", 3, 90), K("bf_brute_2", "Timber Crushers", "Packs of Brutes lumber through the forest, toppling trees and crushing all who flee.", "Greydwarf_Elite", 6, 160), K("bf_shaman_1", "Menders of the Dark", "Shamans knit wounds with foul sap-magic, making the hordes near-unkillable.", "Greydwarf_Shaman", 3, 80), K("bf_shaman_2", "Curse-Weavers", "Their poison magic sustains entire warbands. Cut down the shamans and the rest will follow.", "Greydwarf_Shaman", 6, 140), K("bf_skeleton_1", "The Restless Dead", "Skeletons wander far beyond their burial mounds, rattling through the darkened woods.", "Skeleton", 8, 60), K("bf_skeleton_2", "Crypt-Purge", "The burial chambers overflow with the risen dead. Someone must seal them back in.", "Skeleton", 15, 110), K("bf_troll_1", "Bridge-Breaker", "A Troll has claimed a vital forest bridge. Travelers detour for half a day to avoid it.", "Troll", 1, 90), K("bf_ghost_1", "The Barrow-Haunts", "Spirits of the ancient dead drift through the old burial sites, hungering for warmth.", "Ghost", 5, 120)); AddMinibossBounties(list, "defeated_eikthyr", "HB_BountyNpc_T2", MB("mb_bf_m1", "Grimjaw the Brigand", "A cunning forest brigand who preys on miners hauling ore from the deep woods.", 500, 1), MB("mb_bf_f1", "Hild Iron-Maiden", "A shieldmaiden turned bandit queen. She takes what she wants and burns the rest.", 550, 2), MB("mb_bf_m2", "Torolf Deepwood-Warden", "He demands blood-tribute from anyone who sets foot in his claimed territory.", 580, 1), MB("mb_bf_f2", "Bodil Root-Witch", "Clad in living root-armor, she fights with a ferocity that is not entirely human.", 600, 2), MB("mb_bf_m3", "Ketill Copper-King", "A miner who found it easier to kill for ore than to dig for it.", 520, 1), MB("mb_bf_f3", "Alva Shadow-Fern", "She vanishes into the undergrowth after every kill. No tracker has found her camp.", 560, 2), MB("mb_bf_m4", "Ulf Troll-Tamer", "He fights alongside trained Greydwarves and knows every hollow in the forest.", 620, 1), MB("mb_bf_f4", "Svala Dark-Bark", "Covered in bark and moss, she has become one with the black forest.", 640, 2), MB("mb_bf_m5", "Hreidar Stone-Breaker", "A massive warrior who shatters shields with a single blow of his bronze mace.", 580, 1), MB("mb_bf_f5", "Jorunn Night-Shade", "She tips her blades in poison brewed from forest fungi. Death comes slowly.", 650, 2)); AddRaidBounties(list, "defeated_eikthyr", "HB_BountyNpc_T2", RD("rd_bf_1", "The Iron Ambush", "Brigands with iron weapons lie in wait along the forest road, hungry for blood and bronze.", 3, 750), RD("rd_bf_2", "Root-Clad War Party", "A war party in root armor has fortified a ruin in the heart of the forest.", 4, 1000), RD("rd_bf_3", "Troll-Hide Gang", "Outlaws clad in troll leather who strike without warning and vanish into the trees.", 3, 850), RD("rd_bf_4", "Crypt-Plunderers", "Grave-robbers who kill any witness. They've grown rich — and dangerous.", 4, 950), RD("rd_bf_5", "Forest Kinslayers", "Reavers who know every path through the black wood and use them to deadly effect.", 3, 780), RD("rd_bf_6", "The Bronze Brotherhood", "Deserters bound by oath and bronze, they answer challenges with axe and shield.", 4, 900), RD("rd_bf_7", "Timber-Wolves", "They ambush loggers and steal their haul. The forest roads are theirs.", 3, 800), RD("rd_bf_8", "Flame-Sworn Cult", "Outlaws who worship the Surtling flame and carry cores as holy relics.", 4, 1050), RD("rd_bf_9", "The Undergrowth", "They hide in the brush and strike from below. You'll never see the blade that kills you.", 3, 820), RD("rd_bf_10", "Darkwood Huskarls", "A warband of hardened killers who take no prisoners and leave no survivors.", 4, 1100)); AddKillBounties(list, "defeated_gdking", "Medium", K("sw_draugr_1", "The Walking Dead", "Draugr shuffle near the borders, testing the living with dead hands and rusty steel.", "Draugr", 8, 120), K("sw_draugr_2", "Dead Tide", "The swamp crawls with Draugr rising in numbers not seen since the old wars.", "Draugr", 18, 250), K("sw_elite_1", "Grave-Knights", "Draugr Elites clad in ancient iron lead raiding parties out of the sunken crypts.", "Draugr_Elite", 3, 180), K("sw_elite_2", "Wight Purge", "Draugr Elites have risen in alarming numbers. The dead outnumber the living.", "Draugr_Elite", 6, 320), K("sw_blob_1", "Bile-Cleansing", "Poisonous Blobs ooze through the bog, leaving trails of rot that kill the very earth.", "Blob", 8, 120), K("sw_wraith_1", "Fog-Wraiths", "Wraiths materialize from the mire-fog, their wailing a death-knell for the unwary.", "Wraith", 3, 220), K("sw_leech_1", "Blood-Drinkers", "Giant Leeches infest every body of stagnant water. Wading is a death sentence.", "Leech", 10, 130), K("sw_surtling_1", "Geyser-Flames", "Surtlings blaze near the fire geysers, scorching anyone who seeks their cores.", "Surtling", 8, 130), K("sw_abom_1", "Root-Horror", "An Abomination has torn itself free of the muck. The ground shakes with its fury.", "Abomination", 1, 180), K("sw_abom_2", "The Great Uprooting", "Multiple Abominations tear through the swamp. The land itself has turned hostile.", "Abomination", 3, 420)); AddMinibossBounties(list, "defeated_gdking", "HB_BountyNpc_T3", MB("mb_sw_m1", "Halvard Bog-Stalker", "Born in the mire, he fights with ruthless cunning. The Draugr fear his iron.", 1000, 1), MB("mb_sw_f1", "Groa the Drowned Queen", "Even the walking dead give this one a wide berth. She rules the sunken places.", 1100, 2), MB("mb_sw_m2", "Vidar Crypt-Breaker", "His silver blade drips with undead ichor — he has slain many, and will slay you next.", 1200, 1), MB("mb_sw_f2", "Thora Mire-Witch", "She commands the swamp-fog itself as a weapon, blinding her prey before the kill.", 1150, 2), MB("mb_sw_m3", "Eindride Rot-Walker", "He wades through poison without flinching, armored in leather cured with grave-wax.", 1050, 1), MB("mb_sw_f3", "Hervor Iron-Widow", "She lost every shield-brother to the swamp. Now she seeks vengeance on all who live.", 1250, 2), MB("mb_sw_m4", "Gorm the Undertaker", "He buries his victims in the mud where they rise again to serve him.", 1100, 1), MB("mb_sw_f4", "Solveig Mire-Singer", "Her voice carries through the fog, luring travelers into the drowning-deeps.", 1300, 2), MB("mb_sw_m5", "Bjarke Leech-Lord", "The bloodsuckers seem to obey his whispered commands. He is more swamp than man.", 1150, 1), MB("mb_sw_f5", "Vigdis Guck-Weaver", "She crafts traps from swamp-filth that would make a Draugr recoil.", 1200, 2)); AddRaidBounties(list, "defeated_gdking", "HB_BountyNpc_T3", RD("rd_sw_1", "Silver Marauders", "Silver-clad raiders stalk the mist-shrouded bogs, hunting for worthy prey.", 3, 1500), RD("rd_sw_2", "The Drowned Company", "Battle-hardened and half-mad from the swamp. They fight as if already dead.", 4, 2000), RD("rd_sw_3", "Mire-Reavers", "They use the fog like a war-cloak, striking from the murk and melting away.", 3, 1800), RD("rd_sw_4", "Crypt-Raiders", "Tomb raiders armed with grave-plunder. They kill any witness to their sacrilege.", 4, 1900), RD("rd_sw_5", "The Rotting Hand", "Warriors who have embraced the swamp's decay and wear it like battle-paint.", 3, 1600), RD("rd_sw_6", "Bog-Runners", "Fast and lethal, they vault across the muck while their prey sinks and drowns.", 4, 2100), RD("rd_sw_7", "The Iron Tide", "An iron-clad warband pushing through the swamp, crushing all in their path.", 3, 1700), RD("rd_sw_8", "The Sunken Ones", "They emerge from black water where no man should survive. No one knows how.", 4, 2200), RD("rd_sw_9", "Wraith-Pact Warriors", "Warriors who have sworn oaths to the swamp spirits. They do not die easily.", 3, 1650), RD("rd_sw_10", "Mire-Wolves", "A wolfpack of fighters who hunt in formation through the sucking bog.", 4, 2300)); AddKillBounties(list, "defeated_bonemass", "Medium", K("mt_wolf_1", "Fenrir's Get", "A wolf pack descends on climbers with fangs bared and frost on their breath.", "Wolf", 5, 150), K("mt_wolf_2", "Blood on the Snow", "The mountain is overrun — wolves howl from every ridge and ravine.", "Wolf", 15, 350), K("mt_drake_1", "Ice-Wyrm Hunters", "Frost Drakes rain shards of ice on anyone below. The skies are not safe.", "Hatchling", 5, 190), K("mt_drake_2", "Storm of Wings", "The skies are thick with Drakes. They must be thinned before passage is possible.", "Hatchling", 10, 340), K("mt_golem_1", "Stone-Breaker", "A Stone Golem blocks the mountain pass, grinding boulders in its fists.", "StoneGolem", 1, 200), K("mt_golem_2", "Walking Avalanche", "Multiple Golems descend the slopes, crushing everything in their grinding path.", "StoneGolem", 3, 420), K("mt_fenring_1", "Moon-Hunters", "Fenrings emerge under the cold stars, their howls echoing off the peaks.", "Fenring", 3, 340), K("mt_ulv_1", "Ghost-Wolves", "Ulvs haunt the mountain caves, spectral and savage in equal measure.", "Ulv", 5, 280), K("mt_bat_1", "The Shrieking Dark", "Swarms of bats pour from mountain caves, blotting out the light.", "Bat", 10, 150), K("mt_wolf_3", "Howling Peaks", "Wolf packs grow dangerously large on the heights. The mountain belongs to them.", "Wolf", 10, 260)); AddMinibossBounties(list, "defeated_bonemass", "HB_BountyNpc_T4", MB("mb_mt_m1", "Skallagrim Frost-Bitten", "His silver weapons have claimed lives beyond counting. The cold has made him merciless.", 2000, 1), MB("mb_mt_f1", "Astrid Summit-Huntress", "She commands the wolves of the peaks and hunts alongside them.", 2200, 2), MB("mb_mt_m2", "Thorvald Blizzard-Born", "He walks through storms that would bury other men, blade in hand.", 2100, 1), MB("mb_mt_f2", "Brynhild the Avalanche", "She has crushed more challengers than any golem on the mountain.", 2400, 2), MB("mb_mt_m3", "Egil Frost-Warden", "Self-proclaimed guardian of the high passes. He lets no one through alive.", 2050, 1), MB("mb_mt_f3", "Eira Ice-Whisper", "She moves silently through the snow. Her victims never hear the killing blow.", 2300, 2), MB("mb_mt_m4", "Hallbjorn Peak-Breaker", "He breaks through shield-walls with the force of a mountain gale.", 2500, 1), MB("mb_mt_f4", "Dagny Crystal-Edge", "Her crystal-tipped weapons cut through armor as if it were cloth.", 2600, 2), MB("mb_mt_m5", "Arne the Cold One", "He feels nothing — not frost, not pain, not mercy.", 2150, 1), MB("mb_mt_f5", "Sif Storm-Caller", "She fights hardest when the blizzard howls, as if the storm answers her will.", 2350, 2)); AddRaidBounties(list, "defeated_bonemass", "HB_BountyNpc_T4", RD("rd_mt_1", "Frost-Reavers", "Black metal glints in the cold air. These warriors have slain dragons for their steel.", 3, 3000), RD("rd_mt_2", "Summit Warhost", "They hold the highest peaks and challenge any fool who dares ascend.", 4, 4200), RD("rd_mt_3", "Blizzard Fangs", "They attack only during storms, invisible until the killing blow.", 3, 3500), RD("rd_mt_4", "The Summit-Guard", "Elite warriors sworn to hold the peaks against all comers. They have never broken.", 4, 4000), RD("rd_mt_5", "Silver Brotherhood", "Bound by silver and blood-oaths, they fight as one terrible weapon.", 3, 3200), RD("rd_mt_6", "Ulfhednar", "Berserkers who don wolf-skins and fight with the frenzy of Fenrir's children.", 4, 4500), RD("rd_mt_7", "The Frozen Ones", "Warriors who endure any cold, any wound. They do not stop.", 3, 3300), RD("rd_mt_8", "Crystal-Guard", "Armed with obsidian-edged weapons that sing in the frozen air.", 4, 4100), RD("rd_mt_9", "Hrimthursar's Kin", "Frost-touched warriors as unyielding as the mountain itself.", 3, 3400), RD("rd_mt_10", "The High King's Hird", "The finest warriors of the peaks, forged in ice and sworn to death.", 4, 4800)); AddKillBounties(list, "defeated_dragon", "Hard", K("pl_fuling_1", "Goblin Outriders", "Fuling scouts probe the plains' edges, their crude spears gleaming with malice.", "Goblin", 8, 250), K("pl_fuling_2", "The Great Horde", "A Fuling invasion force marches across the golden fields. The earth trembles.", "Goblin", 25, 600), K("pl_brute_1", "Skull-Crushers", "Fuling Berserkers crush armor like parchment and bone like kindling.", "GoblinBrute", 2, 380), K("pl_brute_2", "The Wrecking Tide", "Multiple Berserkers on a rampage — nothing stands before them.", "GoblinBrute", 4, 650), K("pl_shaman_1", "Flame-Snuffers", "Fuling Shamans channel dark fire-magic that chars flesh and warps iron.", "GoblinShaman", 3, 300), K("pl_squito_1", "Needle-Storm", "Deathsquitos punch through armor with barbed stingers. Death by a thousand needles.", "Deathsquito", 10, 270), K("pl_squito_2", "Plague of Needles", "An overwhelming swarm descends. The buzzing alone drives warriors to madness.", "Deathsquito", 20, 500), K("pl_lox_1", "Beast-Feller", "Lox trample everything beneath their thundering hooves. Even the Fulings flee.", "Lox", 2, 320), K("pl_lox_2", "Thunder Hooves", "A herd of enraged Lox stampedes across the plains, crushing all in their wake.", "Lox", 5, 620), K("pl_tar_1", "Tar-Blight", "Tar Growths spread black corruption from bubbling pits. The land itself sickens.", "BlobTar", 5, 320)); AddMinibossBounties(list, "defeated_dragon", "HB_BountyNpc_T5", MB("mb_pl_m1", "Ragnar Golden-Bane", "Carapace armor gleams on his shoulders. Even Fuling war-chiefs flee at his approach.", 3200, 1), MB("mb_pl_f1", "Freydis the Conqueress", "Her blade has carved a path through villages and war-camps alike.", 3600, 2), MB("mb_pl_m2", "Styrbjorn Dusk-Reaper", "He strikes at twilight when the golden light blinds. None have seen his face and lived.", 3800, 1), MB("mb_pl_f2", "Gudrun Shield-Maiden", "She fights as if Odin himself watches — because she believes he does.", 4000, 2), MB("mb_pl_m3", "Hakon Sand-Viper", "He strikes from the tall barley like a serpent, silent and lethal.", 3400, 1), MB("mb_pl_f3", "Alfhild Barley-Queen", "She controls the farmlands through fear and fire. The harvest is hers.", 3700, 2), MB("mb_pl_m4", "Bjorn Lox-Breaker", "He charges on foot but hits like a rampaging beast.", 4200, 1), MB("mb_pl_f4", "Ranveig Needle-Dancer", "She weaves through combat like a Deathsquito — impossible to pin down.", 3900, 2), MB("mb_pl_m5", "Jarl Skuli the Bloody", "A self-proclaimed jarl of terrible reputation. His saga is written in blood.", 4500, 1), MB("mb_pl_f5", "Sigrun Golden-Fury", "Fury incarnate on the golden fields. She fights until the plains run red.", 4100, 2)); AddRaidBounties(list, "defeated_dragon", "HB_BountyNpc_T5", RD("rd_pl_1", "Carapace Raiders", "Clad in chitin-plate with exotic weapons and deadly coordination.", 4, 6000), RD("rd_pl_2", "The Conqueror's Hird", "The deadliest warband in the realm. Songs are sung of those brave enough to face them.", 5, 8500), RD("rd_pl_3", "Dusk-Riders", "They sweep the plains at sunset, silhouettes against the dying light.", 4, 7000), RD("rd_pl_4", "The Golden Host", "An army ablaze on the golden fields. Odin watches this battle.", 5, 9000), RD("rd_pl_5", "Fuling-Slayers", "They hunt Fulings for sport and wear their trophies as war-paint.", 4, 6500), RD("rd_pl_6", "Vanguard of the Fallen", "First into the shield-wall, last to retreat. They know no fear.", 5, 8000), RD("rd_pl_7", "Plains-Wolves", "Fast and lethal across open ground, they run down prey like a wolf pack.", 4, 7500), RD("rd_pl_8", "The Iron Harvest", "They reap what others have sown, and their scythes are sharpened steel.", 5, 9500), RD("rd_pl_9", "Blood-Drenched Veterans", "Survivors of a hundred battles. They fight without hesitation or mercy.", 4, 7200), RD("rd_pl_10", "Sand-Storm Berserkers", "They charge like wind across the plains, howling war-cries to Tyr.", 5, 10000)); AddKillBounties(list, "defeated_goblinking", "Hard", K("ml_seeker_1", "Hive-Purge", "Seekers strike from the eternal twilight, their mandibles slick with venom.", "Seeker", 8, 420), K("ml_seeker_2", "The Infestation", "Seeker hives spread through every ruin and hollow. The mist breeds them endlessly.", "Seeker", 15, 680), K("ml_brute_1", "Chitin-Cracker", "Seeker Brutes guard the deepest hives, armored in plates that turn steel.", "SeekerBrute", 2, 500), K("ml_brute_2", "Chitin Siege", "Seeker Brutes blockade all passage through the mist. Exploration has ceased.", "SeekerBrute", 4, 880), K("ml_tick_1", "Bloodtick Purge", "Ticks drop from the canopy without warning, draining the life from armored warriors.", "Tick", 10, 360), K("ml_tick_2", "Canopy Scourge", "A plague of Ticks overwhelms even the strongest. The treetops writhe with them.", "Tick", 20, 620), K("ml_gjall_1", "Sky-Terror", "A Gjall rains explosive bile from above, cratering the earth below.", "Gjall", 1, 460), K("ml_gjall_2", "Bombardment", "Multiple Gjall turn the landscape into a cratered wasteland of fire and chitin.", "Gjall", 3, 920), K("ml_dvergr_1", "Rogue Dvergr", "Some Dvergr have turned hostile, wielding arcane weapons of terrible power.", "Dverger", 5, 540), K("ml_seeker_3", "The Deep Hive", "The largest hive pulses beneath the mist. It must be destroyed before it hatches.", "Seeker", 20, 800)); AddMinibossBounties(list, "defeated_goblinking", "HB_BountyNpc_T6", MB("mb_ml_m1", "Arnbjorn Mist-Phantom", "Even the Seekers recoil from his approach. He is more wraith than warrior.", 5000, 1), MB("mb_ml_f1", "Aslaug the Ash-Born", "The most dangerous bounty ever nailed to Haldor's board. Approach with caution.", 5500, 2), MB("mb_ml_m2", "Fenrir Eitr-Walker", "His weapons hum with raw eitr. One cut festers into something worse than death.", 5800, 1), MB("mb_ml_f2", "Gunnhild Void-Walker", "She wears armor no living smith has ever forged. It moves with her like skin.", 6200, 2), MB("mb_ml_m3", "Snorri Mist-Reaver", "He strikes from the fog and vanishes, leaving only corpses and silence.", 5200, 1), MB("mb_ml_f3", "Torhild Seeker-Queen", "She moves like a Seeker but thinks like a war-chief. The worst of both worlds.", 6000, 2), MB("mb_ml_m4", "Floki the Dvergr-Touched", "Trained by the Dvergr in arts no human should know. His weapons defy nature.", 5600, 1), MB("mb_ml_f4", "Hallveig Chitin-Empress", "Carapace armor fused with eitr-magic. She is the mist made flesh.", 6500, 2), MB("mb_ml_m5", "Hrolf Shadow-Blade", "His blade drinks the light itself. You will not see the edge that ends you.", 5400, 1), MB("mb_ml_f5", "Sigrid Mist-Walker", "She has walked deeper into the mist than any living soul — and returned changed.", 6800, 2)); AddRaidBounties(list, "defeated_goblinking", "HB_BountyNpc_T6", RD("rd_ml_1", "Flametal Brotherhood", "Their weapons blaze with flametal fire. Their coordinated assaults are devastating.", 4, 8500), RD("rd_ml_2", "Ashlands Vanguard", "An army unto themselves, forged in realms beyond the mist.", 5, 12000), RD("rd_ml_3", "The Void-Pact", "They fight in eerie silence, communicating without words. Unnerving and lethal.", 4, 9500), RD("rd_ml_4", "The Last Legion", "Flametal from helm to heel. The final obstacle between you and legend.", 5, 14000), RD("rd_ml_5", "Mist-Walkers", "They emerge from the fog as one, a wall of steel and eitr-glow.", 4, 9000), RD("rd_ml_6", "Eitr-Guard", "Their weapons crackle with eitr energy that burns through any defense.", 5, 13000), RD("rd_ml_7", "Chitin-Sworn", "Warriors bound in Seeker chitin who have surrendered their humanity.", 4, 10000), RD("rd_ml_8", "The Forgotten", "No saga remembers their names. Few who face them survive to sing one.", 5, 15000), RD("rd_ml_9", "Deep Patrol", "They patrol the deepest, darkest reaches of the mist where no light penetrates.", 4, 9800), RD("rd_ml_10", "Ragnarok's Herald", "The final challenge for any Viking who would earn a seat in Valhalla.", 5, 16000)); return list; } private static KillDef K(string id, string title, string desc, string target, int amount, int reward) { KillDef result = default(KillDef); result.Id = id; result.Title = title; result.Desc = desc; result.Target = target; result.Amount = amount; result.Reward = reward; return result; } private static MinibossDef MB(string id, string title, string desc, int reward, int gender) { MinibossDef result = default(MinibossDef); result.Id = id; result.Title = title; result.Desc = desc; result.Reward = reward; result.Gender = gender; return result; } private static RaidDef RD(string id, string title, string desc, int amount, int reward) { RaidDef result = default(RaidDef); result.Id = id; result.Title = title; result.Desc = desc; result.Amount = amount; result.Reward = reward; return result; } private static void AddKillBounties(List<BountyEntry> list, string boss, string tier, params KillDef[] defs) { for (int i = 0; i < defs.Length; i++) { KillDef killDef = defs[i]; list.Add(new BountyEntry { Id = killDef.Id, Title = killDef.Title, Description = killDef.Desc, Type = "Kill", Target = killDef.Target, Amount = killDef.Amount, Reward = killDef.Reward, RequiredBoss = boss, Tier = tier }); } } private static void AddMinibossBounties(List<BountyEntry> list, string boss, string target, params MinibossDef[] defs) { for (int i = 0; i < defs.Length; i++) { MinibossDef minibossDef = defs[i]; list.Add(new BountyEntry { Id = minibossDef.Id, Title = minibossDef.Title, Description = minibossDef.Desc, Type = "Kill", Target = target, Amount = 1, Reward = minibossDef.Reward, RequiredBoss = boss, SpawnLevel = 1, Tier = "Miniboss", Gender = minibossDef.Gender }); } } private static void AddRaidBounties(List<BountyEntry> list, string boss, string target, params RaidDef[] defs) { for (int i = 0; i < defs.Length; i++) { RaidDef raidDef = defs[i]; list.Add(new BountyEntry { Id = raidDef.Id, Title = raidDef.Title, Description = raidDef.Desc, Type = "Kill", Target = target, Amount = raidDef.Amount, Reward = raidDef.Reward, RequiredBoss = boss, SpawnLevel = 1, Tier = "Raid" }); } } } [BepInPlugin("com.haldor.bounties", "Haldor Bounties", "0.0.5")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class HaldorBounties : BaseUnityPlugin { public const string PluginGUID = "com.haldor.bounties"; public const string PluginName = "Haldor Bounties"; public const string PluginVersion = "0.0.5"; private static Harmony _harmony; internal static ManualLogSource Log; private bool _wasInAttack; private void Awake() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown Log = ((BaseUnityPlugin)this).Logger; Log.LogInfo((object)"Haldor Bounties v0.0.5 loading..."); BountyConfig.Initialize(Path.Combine(Paths.ConfigPath, "HaldorBounties.bounties.json")); BountyManager.Initialize(); TreasureMapManager.Initialize(); _harmony = new Harmony("com.haldor.bounties"); try { _harmony.PatchAll(Assembly.GetExecutingAssembly()); } catch (Exception arg) { Log.LogError((object)$"[HaldorBounties] Harmony PatchAll failed: {arg}"); } int num = 0; foreach (MethodBase patchedMethod in _harmony.GetPatchedMethods()) { _ = patchedMethod; num++; } Log.LogInfo((object)string.Format("{0} loaded successfully! ({1} methods patched)", "Haldor Bounties", num)); } private void Update() { //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Invalid comparison between Unknown and I4 BountyManager.Instance?.UpdateBountyPins(); BountyManager.Instance?.UpdateBossHudRange(); TreasureMapManager.Instance?.Tick(); Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer != (Object)null)) { return; } bool flag = ((Character)localPlayer).InAttack(); if (flag && !_wasInAttack) { ItemData currentWeapon = ((Humanoid)localPlayer).GetCurrentWeapon(); if (currentWeapon != null && (int)(currentWeapon.m_shared?.m_skillType).GetValueOrDefault() == 12) { TreasureMapManager.Instance?.OnPlayerAttack(); } } _wasInAttack = flag; } private void OnDestroy() { Harmony harmony = _harmony; if (harmony != null) { harmony.UnpatchSelf(); } ManualLogSource log = Log; if (log != null) { log.LogInfo((object)"Haldor Bounties unloaded."); } } } public static class Translations { private static Dictionary<string, Dictionary<string, string>> _data; private static Dictionary<string, string> _gameTranslations; public static string Get(string key) { Localization instance = Localization.instance; return ((instance != null) ? instance.Localize("$" + key) : null) ?? key; } public static string Get(string key, object a0) { return string.Format(Get(key), a0); } public static string Get(string key, object a0, object a1) { return string.Format(Get(key), a0, a1); } public static string Get(string key, object a0, object a1, object a2) { return string.Format(Get(key), a0, a1, a2); } public static void RegisterAll(Localization loc) { if (loc == null) { return; } if (_data == null) { Init(); } if (typeof(Localization).GetField("m_translations", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(loc) is Dictionary<string, string> gameTranslations) { _gameTranslations = gameTranslations; string selectedLanguage = loc.GetSelectedLanguage(); Apply("English"); if (selectedLanguage != "English") { Apply(selectedLanguage); } } } private static void Apply(string lang) { if (_gameTranslations == null || !_data.TryGetValue(lang, out var value)) { return; } foreach (KeyValuePair<string, string> item in value) { _gameTranslations[item.Key] = item.Value; } } private static void L(string lang, params string[] pairs) { if (!_data.ContainsKey(lang)) { _data[lang] = new Dictionary<string, string>(); } Dictionary<string, string> dictionary = _data[lang]; for (int i = 0; i < pairs.Length - 1; i += 2) { dictionary[pairs[i]] = pairs[i + 1]; } } private static void Init() { _data = new Dictionary<string, Dictionary<string, string>>(); L("English", "hb_available", "Available", "hb_active", "Active", "hb_completed", "Completed", "hb_bounties", "Bounties", "hb_select_bounty", "Select a bounty", "hb_accept", "Accept", "hb_abandon", "Abandon", "hb_reward_options", "Reward Options:", "hb_choose_reward", "Choose your reward:", "hb_diff_easy", "Difficulty: Easy", "hb_diff_medium", "Difficulty: Medium", "hb_diff_hard", "Difficulty: Hard", "hb_miniboss_bounty", "Miniboss Bounty", "hb_raid_bounty", "Raid Bounty", "hb_treasure_title", "Daily Treasure Map", "hb_treasure_claimed_title", "Treasure Claimed!", "hb_treasure_region_tbd", "Region: determined on acceptance", "hb_treasure_desc_avail", "A weathered map marks a buried treasure somewhere in the wilds. Accept the map to reveal the dig site on your minimap.", "hb_treasure_desc_active", "Follow the golden marker on your minimap to the dig site. Swing your pickaxe to dig — after enough hits, the search area narrows until the treasure is unearthed.", "hb_treasure_desc_claimed", "You've claimed today's treasure. A new map will be available after the daily reset.", "hb_treasure_goal_avail", "Accept the map to begin", "hb_treasure_goal_active", "Find and open the buried treasure", "hb_treasure_goal_claimed", "Treasure claimed!", "hb_treasure_chest_reward", "Rewards inside the chest", "hb_accept_map", "Accept Map", "hb_map_active", "Map Active", "hb_claimed", "Claimed", "hb_msg_already_active", "You already have an active treasure map.", "hb_msg_no_dig_site", "No valid dig site found. Try again in a different area.", "hb_msg_map_accepted", "Treasure map accepted! Follow the minimap pin to the dig site.", "hb_msg_chest_nearby", "Your buried chest is nearby — open it!", "hb_msg_area_narrowed", "Getting closer! Search area narrowed to {0}m.", "hb_msg_digging", "Digging... ({0} more hits to narrow)", "hb_msg_claimed_tomorrow", "Treasure claimed! A new map will be available tomorrow.", "hb_msg_dig_swing", "Dig site! Swing to dig. ({0} hits to narrow)", "hb_msg_nearby", "Treasure nearby! ({0}m away)", "hb_msg_unearthed", "Treasure unearthed! Open the chest to claim your reward.", "hb_day_reset", "Day {0} Resets in {1}:{2}", "hb_dist_away", "{0}m away", "hb_new_in", "New in {0}:{1}", "hb_progress_fmt", "Progress: {0} / {1}", "hb_completed_status", "COMPLETED", "hb_dig_site", "Dig Site", "hb_dist_to_dig", "{0}m to dig site", "hb_region_fmt", "Region: {0}", "hb_msg_boss_appeared", "{0} has appeared in the wild!", "hb_msg_bounty_complete", "Bounty Complete: {0}!", "hb_msg_deposited", "Deposited {0} coins into your bank!", "hb_bounty_reset", "All bounties have been reset!"); L("Bulgarian", "hb_available", "Налични", "hb_active", "Активни", "hb_completed", "Завършени", "hb_bounties", "Награди", "hb_select_bounty", "Изберете награда", "hb_accept", "Приеми", "hb_abandon", "Откажи се", "hb_reward_options", "Опции за награда:", "hb_choose_reward", "Изберете наградата си:", "hb_diff_easy", "Трудност: Лесно", "hb_diff_medium", "Трудност: Средно", "hb_diff_hard", "Трудност: Трудно", "hb_miniboss_bounty", "Награда за минибос", "hb_raid_bounty", "Награда за набег", "hb_treasure_title", "Дневна карта на съкровището", "hb_treasure_claimed_title", "Съкровището е взето!", "hb_treasure_region_tbd", "Регион: определя се при приемане", "hb_treasure_desc_avail", "Износена карта отбелязва заровено съкровище някъде в пустошта. Приемете картата, за да разкриете мястото за копане на миникартата.", "hb_treasure_desc_active", "Следвайте златния маркер на миникартата до мястото за копане. Ударяйте с кирката — след достатъчно удари зоната за търсене се стеснява, докато съкровището бъде разкрито.", "hb_treasure_desc_claimed", "Взехте днешното съкровище. Нова карта ще бъде налична след дневното нулиране.", "hb_treasure_goal_avail", "Приемете картата, за да започнете", "hb_treasure_goal_active", "Намерете и отворете заровеното съкровище", "hb_treasure_goal_claimed", "Съкровището е взето!", "hb_treasure_chest_reward", "Награди в съндъка", "hb_accept_map", "Приеми карта", "hb_map_active", "Картата е активна", "hb_claimed", "Взето", "hb_msg_already_active", "Вече имате активна карта на съкровището.", "hb_msg_no_dig_site", "Не е намерено валидно място за копане. Опитайте отново в друг район.", "hb_msg_map_accepted", "Картата е приета! Следвайте маркера на миникартата до мястото за копане.", "hb_msg_chest_nearby", "Вашият заровен съндък е наблизо — отворете го!", "hb_msg_area_narrowed", "Наближавате се! Зоната за търсене се стесни до {0}м.", "hb_msg_digging", "Копаете... (още {0} удара до стесняване)", "hb_msg_claimed_tomorrow", "Съкровището е взето! Нова карта ще бъде налична утре.", "hb_msg_dig_swing", "Място за копане! Ударяйте, за да копаете. ({0} удара до стесняване)", "hb_msg_nearby", "Съкровище наблизо! ({0}м)", "hb_msg_unearthed", "Съкровището е разкрито! Отворете съндъка, за да вземете наградата си.", "hb_day_reset", "Ден {0} Нулиране след {1}:{2}", "hb_dist_away", "{0}м", "hb_new_in", "Нова след {0}:{1}", "hb_progress_fmt", "Прогрес: {0} / {1}", "hb_completed_status", "ЗАВЪРШЕНО", "hb_dig_site", "Място за копане", "hb_dist_to_dig", "{0}м до мястото за копане", "hb_region_fmt", "Регион: {0}", "hb_msg_boss_appeared", "{0} се появи в пустошта!", "hb_msg_bounty_complete", "Награда завършена: {0}!", "hb_msg_deposited", "Внесени {0} монети в банката ви!", "hb_bounty_reset", "Всички награди бяха нулирани!"); L("Chinese", "hb_available", "可接取", "hb_active", "进行中", "hb_completed", "已完成", "hb_bounties", "赏金任务", "hb_select_bounty", "选择一个赏金任务", "hb_accept", "接受", "hb_abandon", "放弃", "hb_reward_options", "奖励选项:", "hb_choose_reward", "选择你的奖励:", "hb_diff_easy", "难度:简单", "hb_diff_medium", "难度:中等", "hb_diff_hard", "难度:困难", "hb_miniboss_bounty", "小Boss赏金", "hb_raid_bounty", "突袭赏金", "hb_treasure_title", "每日藏宝图", "hb_treasure_claimed_title", "宝藏已领取!", "hb_treasure_region_tbd", "地区:接受后确定", "hb_treasure_desc_avail", "一张破旧的地图标记着埋藏在荒野中某处的宝藏。接受地图以在小地图上显示挖掘地点。", "hb_treasure_desc_active", "跟随小地图上的金色标记前往挖掘地点。挥动你的镐——经过足够的击打后,搜索区域会缩小,直到宝藏被挖出。", "hb_treasure_desc_claimed", "你已领取了今天的宝藏。每日重置后将有新的地图可用。", "hb_treasure_goal_avail", "接受地图以开始", "hb_treasure_goal_active", "找到并打开埋藏的宝藏", "hb_treasure_goal_claimed", "宝藏已领取!", "hb_treasure_chest_reward", "宝箱内的奖励", "hb_accept_map", "接受地图", "hb_map_active", "地图激活中", "hb_claimed", "已领取", "hb_msg_already_active", "你已经有一张激活的藏宝图了。", "hb_msg_no_dig_site", "未找到有效的挖掘地点。请在其他区域重试。", "hb_msg_map_accepted", "藏宝图已接受!跟随小地图标记前往挖掘地点。", "hb_msg_chest_nearby", "你的宝箱就在附近——打开它!", "hb_msg_area_narrowed", "越来越近了!搜索区域缩小至{0}m。", "hb_msg_digging", "挖掘中...(再击打{0}次可缩小范围)", "hb_msg_claimed_tomorrow", "宝藏已领取!明天将有新的地图可用。", "hb_msg_dig_swing", "挖掘地点!挥动工具来挖掘。({0}次击打可缩小范围)", "hb_msg_nearby", "宝藏就在附近!({0}m远)", "hb_msg_unearthed", "宝藏出土了!打开宝箱领取你的奖励。", "hb_day_reset", "第{0}天 {1}:{2}后重置", "hb_dist_away", "{0}m远", "hb_new_in", "{0}:{1}后刷新", "hb_progress_fmt", "进度:{0} / {1}", "hb_completed_status", "已完成", "hb_dig_site", "挖掘地点", "hb_dist_to_dig", "距挖掘地点{0}m", "hb_region_fmt", "地区:{0}", "hb_msg_boss_appeared", "{0}出现在了荒野中!", "hb_msg_bounty_complete", "赏金完成:{0}!", "hb_msg_deposited", "已存入{0}金币到你的银行!", "hb_bounty_reset", "所有赏金任务已重置!"); L("Chinese_Trad", "hb_available", "可接取", "hb_active", "進行中", "hb_completed", "已完成", "hb_bounties", "懸賞任務", "hb_select_bounty", "選擇一個懸賞任務", "hb_accept", "接受", "hb_abandon", "放棄", "hb_reward_options", "獎勵選項:", "hb_choose_reward", "選擇你的獎勵:", "hb_diff_easy", "難度:簡單", "hb_diff_medium", "難度:中等", "hb_diff_hard", "難度:困難", "hb_miniboss_bounty", "小Boss懸賞", "hb_raid_bounty", "突襲懸賞", "hb_treasure_title", "每日藏寶圖", "hb_treasure_claimed_title", "寶藏已領取!", "hb_treasure_region_tbd", "地區:接受後確定", "hb_treasure_desc_avail", "一張破舊的地圖標記著埋藏在荒野中某處的寶藏。接受地圖以在小地圖上顯示挖掘地點。", "hb_treasure_desc_active", "跟隨小地圖上的金色標記前往挖掘地點。揮動你的鑐——經過足夠的擊打後,搜索區域會縮小,直到寶藏被挖出。", "hb_treasure_desc_claimed", "你已領取了今天的寶藏。每日重置後將有新的地圖可用。", "hb_treasure_goal_avail", "接受地圖以開始", "hb_treasure_goal_active", "找到並打開埋藏的寶藏", "hb_treasure_goal_claimed", "寶藏已領取!", "hb_treasure_chest_reward", "寶箱內的獎勵", "hb_accept_map", "接受地圖", "hb_map_active", "地圖激活中", "hb_claimed", "已領取", "hb_msg_already_active", "你已經有一張激活的藏寶圖了。", "hb_msg_no_dig_site", "未找到有效的挖掘地點。請在其他區域重試。", "hb_msg_map_accepted", "藏寶圖已接受!跟隨小地圖標記前往挖掘地點。", "hb_msg_chest_nearby", "你的寶箱就在附近——打開它!", "hb_msg_area_narrowed", "越來越近了!搜索區域縮小至{0}m。", "hb_msg_digging", "挖掘中...(再擊打{0}次可縮小範圍)", "hb_msg_claimed_tomorrow", "寶藏已領取!明天將有新的地圖可用。", "hb_msg_dig_swing", "挖掘地點!揮動工具來挖掘。({0}次擊打可縮小範圍)", "hb_msg_nearby", "寶藏就在附近!({0}m遠)", "hb_msg_unearthed", "寶藏出土了!打開寶箱領取你的獎勵。", "hb_day_reset", "第{0}天 {1}:{2}後重置", "hb_dist_away", "{0}m遠", "hb_new_in", "{0}:{1}後刷新", "hb_progress_fmt", "進度:{0} / {1}", "hb_completed_status", "已完成", "hb_dig_site", "挖掘地點", "hb_dist_to_dig", "距挖掘地點{0}m", "hb_region_fmt", "地區:{0}", "hb_msg_boss_appeared", "{0}出現在了荒野中!", "hb_msg_bounty_complete", "懸賞完成:{0}!", "hb_msg_deposited", "已存入{0}金幣到你的銀行!", "hb_bounty_reset", "所有懸賞任務已重置!"); L("Croatian", "hb_available", "Dostupno", "hb_active", "Aktivno", "hb_completed", "Završeno", "hb_bounties", "Nagrade", "hb_select_bounty", "Odaberite nagradu", "hb_accept", "Prihvati", "hb_abandon", "Odustani", "hb_reward_options", "Opcije nagrade:", "hb_choose_reward", "Odaberite svoju nagradu:", "hb_diff_easy", "Težina: Lako", "hb_diff_medium", "Težina: Srednje", "hb_diff_hard", "Težina: Teško", "hb_miniboss_bounty", "Nagrada za minibossa", "hb_raid_bounty", "Nagrada za napad", "hb_treasure_title", "Dnevna karta blaga", "hb_treasure_claimed_title", "Blago preuzeto!", "hb_treasure_region_tbd", "Regija: određuje se pri prihvaćanju", "hb_treasure_desc_avail", "Istrošena karta označava zakopano blago negdje u divljini. Prihvatite kartu da biste otkrili mjesto kopanja na minikarti.", "hb_treasure_desc_active", "Slijedite zlatni marker na minikarti do mjesta kopanja. Zamahnite pijukom — nakon dovoljno udaraca, područje pretraživanja se sužava dok se blago ne otkrije.", "hb_treasure_desc_claimed", "Preuzeli ste današnje blago. Nova karta bit će dostupna nakon dnevnog resetiranja.", "hb_treasure_goal_avail", "Prihvatite kartu za početak", "hb_treasure_goal_active", "Pronađite i otvorite zakopano blago", "hb_treasure_goal_claimed", "Blago preuzeto!", "hb_treasure_chest_reward", "Nagrade u škrinji", "hb_accept_map", "Prihvati kartu", "hb_map_active", "Karta aktivna", "hb_claimed", "Preuzeto", "hb_msg_already_active", "Već imate aktivnu kartu blaga.", "hb_msg_no_dig_site", "Nije pronađeno valjano mjesto za kopanje. Pokušajte ponovno u drugom području.", "hb_msg_map_accepted", "Karta blaga prihvaćena! Slijedite oznaku na minikarti do mjesta kopanja.", "hb_msg_chest_nearby", "Vaša zakopana škrinja je u blizini — otvorite je!", "hb_msg_area_narrowed", "Bliže ste! Područje pretraživanja suženo na {0}m.", "hb_msg_digging", "Kopanje... (još {0} udaraca do suženja)", "hb_msg_claimed_tomorrow", "Blago preuzeto! Nova karta bit će dostupna sutra.", "hb_msg_dig_swing", "Mjesto kopanja! Zamahnite za kopanje. ({0} udaraca do suženja)", "hb_msg_nearby", "Blago u blizini! ({0}m daleko)", "hb_msg_unearthed", "Blago otkriveno! Otvorite škrinju da preuzmete nagradu.", "hb_day_reset", "Dan {0} Resetiranje za {1}:{2}", "hb_dist_away", "{0}m daleko", "hb_new_in", "Nova za {0}:{1}", "hb_progress_fmt", "Napredak: {0} / {1}", "hb_completed_status", "ZAVRŠENO", "hb_dig_site", "Mjesto kopanja", "hb_dist_to_dig", "{0}m do mjesta kopanja", "hb_region_fmt", "Regija: {0}", "hb_msg_boss_appeared", "{0} se pojavio u divljini!", "hb_msg_bounty_complete", "Nagrada završena: {0}!", "hb_msg_deposited", "Položeno {0} novčića u vašu banku!", "hb_bounty_reset", "Sve nagrade su resetirane!"); L("Czech", "hb_available", "Dostupné", "hb_active", "Aktivní", "hb_completed", "Dokončeno", "hb_bounties", "Odměny", "hb_select_bounty", "Vyberte odměnu", "hb_accept", "Přijmout", "hb_abandon", "Opustit", "hb_reward_options", "Možnosti odměny:", "hb_choose_reward", "Vyberte si odměnu:", "hb_diff_easy", "Obtížnost: Snadná", "hb_diff_medium", "Obtížnost: Střední", "hb_diff_hard", "Obtížnost: Těžká", "hb_miniboss_bounty", "Odměna za minibossa", "hb_raid_bounty", "Odměna za nájezd", "hb_treasure_title", "Denní mapa pokladu", "hb_treasure_claimed_title", "Poklad získán!", "hb_treasure_region_tbd", "Oblast: určí se při přijetí", "hb_treasure_desc_avail", "Zvětralá mapa označuje zahrabaný poklad někde v divé krajině. Přijměte mapu pro zobrazení místa kopání na minimapě.", "hb_treasure_desc_active", "Sledujte zlatý značku na minimapě k místu kopání. Mávněte krumpáčem — po dostatečném počtu úderů se prohledávaná oblast zúží, dokud nebude poklad odhalen.", "hb_treasure_desc_claimed", "Získali jste dnešní poklad. Nová mapa bude dostupná po denním resetu.", "hb_treasure_goal_avail", "Přijměte mapu pro zahájení", "hb_treasure_goal_active", "Najděte a otevřete zahrabaný poklad", "hb_treasure_goal_claimed", "Poklad získán!", "hb_treasure_chest_reward", "Odměny v truhle", "hb_accept_map", "Přijmout mapu", "hb_map_active", "Mapa aktivní", "hb_claimed", "Získáno", "hb_msg_already_active", "Již máte aktivní mapu pokladu.", "hb_msg_no_dig_site", "Nebylo nalezeno platné místo pro kopání. Zkuste to znovu v jiné oblasti.", "hb_msg_map_accepted", "Mapa pokladu přijata! Sledujte značku na minimapě k místu kopání.", "hb_msg_chest_nearby", "Vaše zahrabaná truhla je poblíž — otevřete ji!", "hb_msg_area_narrowed", "Blížíte se! Oblast prohledávání zúžena na {0}m.", "hb_msg_digging", "Kopání... (ještě {0} úderů do zúžení)", "hb_msg_claimed_tomorrow", "Poklad získán! Nová mapa bude dostupná zítra.", "hb_msg_dig_swing", "Místo kopání! Mávněte pro kopání. ({0} úderů do zúžení)", "hb_msg_nearby", "Poklad nablízku! ({0}m daleko)", "hb_msg_unearthed", "Poklad odhalen! Otevřete truhlu pro získání odměny.", "hb_day_reset", "Den {0} Reset za {1}:{2}", "hb_dist_away", "{0}m daleko", "hb_new_in", "Nová za {0}:{1}", "hb_progress_fmt", "Postůp: {0} / {1}", "hb_completed_status", "DOKONČENO", "hb_dig_site", "Místo kopání", "hb_dist_to_dig", "{0}m k místu kopání", "hb_region_fmt", "Oblast: {0}", "hb_msg_boss_appeared", "{0} se objevil v divé krajině!", "hb_msg_bounty_complete", "Odměna dokončena: {0}!", "hb_msg_deposited", "Uloženo {0} mincí do vaší banky!", "hb_bounty_reset", "Všechny odměny byly resetovány!"); L("Danish", "hb_available", "Tilgængelig", "hb_active", "Aktiv", "hb_completed", "Fuldført", "hb_bounties", "Dusører", "hb_select_bounty", "Vælg en dusør", "hb_accept", "Accepter", "hb_abandon", "Opgiv", "hb_reward_options", "Belønningsmuligheder:", "hb_choose_reward", "Vælg din belønning:", "hb_diff_easy", "Sværhedsgrad: Let", "hb_diff_medium", "Sværhedsgrad: Middel", "hb_diff_hard", "Sværhedsgrad: Svær", "hb_miniboss_bounty", "Miniboss-dusør", "hb_raid_bounty", "Raid-dusør", "hb_treasure_title", "Dagligt skattekort", "hb_treasure_claimed_title", "Skat fundet!", "hb_treasure_region_tbd", "Region: bestemmes ved accept", "hb_treasure_desc_avail", "Et sliddt kort markerer en begravet skat et sted i vildmarken. Accepter kortet for at afsløre gravstedet på dit minikort.", "hb_treasure_desc_active", "Følg den gyldne markør på dit minikort til gravstedet. Sving din hakke — efter nok slag indsnævres søgeområdet, indtil skatten er afdækket.", "hb_treasure_desc_claimed", "Du har hentet dagens skat. Et nyt kort vil være tilgængeligt efter den daglige nulstilling.", "hb_treasure_goal_avail", "Accepter kortet for at begynde", "hb_treasure_goal_active", "Find og åbn den begravede skat", "hb_treasure_goal_claimed", "Skat fundet!", "hb_treasure_chest_reward", "Belønninger i kisten", "hb_accept_map", "Accepter kort", "hb_map_active", "Kort aktivt", "hb_claimed", "Hentet", "hb_msg_already_active", "Du har allerede et aktivt skattekort.", "hb_msg_no_dig_site", "Intet gyldigt gravsted fundet. Prøv igen i et andet område.", "hb_msg_map_accepted", "Skattekort accepteret! Følg minikortets markør til gravstedet.", "hb_msg_chest_nearby", "Din begravede kiste er tæt på — åbn den!", "hb_msg_area_narrowed", "Tættere på! Søgeområdet indsnævret til {0}m.", "hb_msg_digging", "Graver... ({0} slag til indsnævring)", "hb_msg_claimed_tomorrow", "Skat fundet! Et nyt kort vil være tilgængeligt i morgen.", "hb_msg_dig_swing", "Gravsted! Sving for at grave. ({0} slag til indsnævring)", "hb_msg_nearby", "Skat i nærheden! ({0}m væk)", "hb_msg_unearthed", "Skat afdækket! Åbn kisten for at hente din belønning.", "hb_day_reset", "Dag {0} Nulstilles om {1}:{2}", "hb_dist_away", "{0}m væk", "hb_new_in", "Nyt om {0}:{1}", "hb_progress_fmt", "Fremskridt: {0} / {1}", "hb_completed_status", "FULDFØRT", "hb_dig_site", "Gravsted", "hb_dist_to_dig", "{0}m til gravsted", "hb_region_fmt", "Region: {0}", "hb_msg_boss_appeared", "{0} er dukket op i vildmarken!", "hb_msg_bounty_complete", "Dusør fuldført: {0}!", "hb_msg_deposited", "Indbetalt {0} mønter til din bank!", "hb_bounty_reset", "Alle dusører er nulstillet!"); InitEuropean(); InitAsian(); InitRemainder(); } private static void InitEuropean() { L("Dutch", "hb_available", "Beschikbaar", "hb_active", "Actief", "hb_completed", "Voltooid", "hb_bounties", "Premies", "hb_select_bounty", "Selecteer een premie", "hb_accept", "Accepteren", "hb_abandon", "Opgeven", "hb_reward_options", "Beloningsopties:", "hb_choose_reward", "Kies je beloning:", "hb_diff_easy", "Moeilijkheid: Makkelijk", "hb_diff_medium", "Moeilijkheid: Gemiddeld", "hb_diff_hard", "Moeilijkheid: Moeilijk", "hb_miniboss_bounty", "Miniboss-premie", "hb_raid_bounty", "Overval-premie", "hb_treasure_title", "Dagelijkse schatkaart", "hb_treasure_claimed_title", "Schat gevonden!", "hb_treasure_region_tbd", "Regio: bepaald bij acceptatie", "hb_treasure_desc_avail", "Een verweerde kaart markeert een begraven schat ergens in de wildernis. Accepteer de kaart om de graafplaats op je minikaart te onthullen.", "hb_treasure_desc_active", "Volg de gouden markering op je minikaart naar de graafplaats. Zwaai met je houweel — na genoeg slagen wordt het zoekgebied kleiner totdat de schat is blootgelegd.", "hb_treasure_desc_claimed", "Je hebt de schat van vandaag opgehaald. Een nieuwe kaart is beschikbaar na de dagelijkse reset.", "hb_treasure_goal_avail", "Accepteer de kaart om te beginnen", "hb_treasure_goal_active", "Vind en open de begraven schat", "hb_treasure_goal_claimed", "Schat gevonden!", "hb_treasure_chest_reward", "Beloningen in de kist", "hb_accept_map", "Accepteer kaart", "hb_map_active", "Kaart actief", "hb_claimed", "Opgehaald", "hb_msg_already_active", "Je hebt al een actieve schatkaart.", "hb_msg_no_dig_site", "Geen geldige graafplaats gevonden. Probeer het opnieuw in een ander gebied.", "hb_msg_map_accepted", "Schatkaart geaccepteerd! Volg de markering op de minikaart naar de graafplaats.", "hb_msg_chest_nearby", "Je begraven kist is dichtbij — open hem!", "hb_msg_area_narrowed", "Dichterbij! Zoekgebied verkleind tot {0}m.", "hb_msg_digging", "Graven... (nog {0} slagen tot verkleining)", "hb_msg_claimed_tomorrow", "Schat gevonden! Een nieuwe kaart is morgen beschikbaar.", "hb_msg_dig_swing", "Graafplaats! Zwaai om te graven. ({0} slagen tot verkleining)", "hb_msg_nearby", "Schat dichtbij! ({0}m verderop)", "hb_msg_unearthed", "Schat blootgelegd! Open de kist om je beloning op te halen.", "hb_day_reset", "Dag {0} Reset over {1}:{2}", "hb_dist_away", "{0}m verderop", "hb_new_in", "Nieuw over {0}:{1}", "hb_progress_fmt", "Voortgang: {0} / {1}", "hb_completed_status", "VOLTOOID", "hb_dig_site", "Graafplaats", "hb_dist_to_dig", "{0}m tot graafplaats", "hb_region_fmt", "Regio: {0}", "hb_msg_boss_appeared", "{0} is verschenen in de wildernis!", "hb_msg_bounty_complete", "Premie voltooid: {0}!", "hb_msg_deposited", "{0} munten gestort op je bank!", "hb_bounty_reset", "Alle premies zijn gereset!"); L("Finnish", "hb_available", "Saatavilla", "hb_active", "Aktiivinen", "hb_completed", "Valmis", "hb_bounties", "Palkkiot", "hb_select_bounty", "Valitse palkkio", "hb_accept", "Hyväksy", "hb_abandon", "Hylkää", "hb_reward_options", "Palkkiovaihtoehdot:", "hb_choose_reward", "Valitse palkkiosi:", "hb_diff_easy", "Vaikeus: Helppo", "hb_diff_medium", "Vaikeus: Keskivaikea", "hb_diff_hard", "Vaikeus: Vaikea", "hb_miniboss_bounty", "Minibossin palkkio", "hb_raid_bounty", "Hyökkäyspalkkio", "hb_treasure_title", "Päivittäinen aarrekartta", "hb_treasure_claimed_title", "Aarre löydetty!", "hb_treasure_region_tbd", "Alue: määritetään hyväksymisen yhteydessä", "hb_treasure_desc_avail", "Kulunut kartta merkitsee haudatun aarteen jonnekin erämaahan. Hyväksy kartta paljastaaksesi kaivuupaikan minikartallasi.", "hb_treasure_desc_active", "Seuraa kultaista merkkiä minikartallasi kaivuupaikalle. Heiluta hakkulasi — riittävän monen iskun jälkeen hakualue pienenee kunnes aarre paljastuu.", "hb_treasure_desc_claimed", "Olet hakenut päivän aarteen. Uusi kartta on saatavilla päivittäisen nollauksen jälkeen.", "hb_treasure_goal_avail", "Hyväksy kartta aloittaaksesi", "hb_treasure_goal_active", "Etsi ja avaa haudattu aarre", "hb_treasure_goal_claimed", "Aarre löydetty!", "hb_treasure_chest_reward", "Palkinnot arkussa", "hb_accept_map", "Hyväksy kartta", "hb_map_active", "Kartta aktiivinen", "hb_claimed", "Haettu", "hb_msg_already_active", "Sinulla on jo aktiivinen aarrekartta.", "hb_msg_no_dig_site", "Kelvollista kaivuupaikkaa ei löytynyt. Yritä uudelleen toisella alueella.", "hb_msg_map_accepted", "Aarrekartta hyväksytty! Seuraa minikartan merkkiä kaivuupaikalle.", "hb_msg_chest_nearby", "Haudattu arkkusi on lähellä — avaa se!", "hb_msg_area_narrowed", "Lähempänä! Hakualue pieneni {0}m:iin.", "hb_msg_digging", "Kaivetaan... ({0} iskua pienennykseen)", "hb_msg_claimed_tomorrow", "Aarre löydetty! Uusi kartta on saatavilla huomenna.", "hb_msg_dig_swing", "Kaivuupaikka! Heiluta kaivaaksesi. ({0} iskua pienennykseen)", "hb_msg_nearby", "Aarre lähellä! ({0}m päässä)", "hb_msg_unearthed", "Aarre paljastettu! Avaa arkku hakeaksesi palkkiosi.", "hb_day_reset", "Päivä {0} Nollaus {1}:{2}", "hb_dist_away", "{0}m päässä", "hb_new_in", "Uusi {0}:{1}", "hb_progress_fmt", "Edistyminen: {0} / {1}", "hb_completed_status", "VALMIS", "hb_dig_site", "Kaivuupaikka", "hb_dist_to_dig", "{0}m kaivuupaikalle", "hb_region_fmt", "Alue: {0}", "hb_msg_boss_appeared", "{0} on ilmestynyt erämaahan!", "hb_msg_bounty_complete", "Palkkio valmis: {0}!", "hb_msg_deposited", "{0} kolikkoa talletettu pankkiisi!", "hb_bounty_reset", "Kaikki palkkiot on nollattu!"); L("French", "hb_available", "Disponible", "hb_active", "Actif", "hb_completed", "Terminé", "hb_bounties", "Primes", "hb_select_bounty", "Sélectionner une prime", "hb_accept", "Accepter", "hb_abandon", "Abandonner", "hb_reward_options", "Options de récompense :", "hb_choose_reward", "Choisissez votre récompense :", "hb_diff_easy", "Difficulté : Facile", "hb_diff_medium", "Difficulté : Moyen", "hb_diff_hard", "Difficulté : Difficile", "hb_miniboss_bounty", "Prime de miniboss", "hb_raid_bounty", "Prime de raid", "hb_treasure_title", "Carte au trésor quotidienne", "hb_treasure_claimed_title", "Trésor récupéré !", "hb_treasure_region_tbd", "Région : déterminée à l'acceptation", "hb_treasure_desc_avail", "Une carte usée indique un trésor enfoui quelque part dans les terres sauvages. Acceptez la carte pour révéler le site de fouille sur votre minicarte.", "hb_treasure_desc_active", "Suivez le marqueur doré sur votre minicarte jusqu'au site de fouille. Frappez avec votre pioche — après suffisamment de coups, la zone de recherche se réduit jusqu'à ce que le trésor soit déterré.", "hb_treasure_desc_claimed", "Vous avez récupéré le trésor du jour. Une nouvelle carte sera disponible après la réinitialisation quotidienne.", "hb_treasure_goal_avail", "Acceptez la carte pour commencer", "hb_treasure_goal_active", "Trouvez et ouvrez le trésor enfoui", "hb_treasure_goal_claimed", "Trésor récupéré !", "hb_treasure_chest_reward", "Récompenses dans le coffre", "hb_accept_map", "Accepter la carte", "hb_map_active", "Carte active", "hb_claimed", "Récupéré", "hb_msg_already_active", "Vous avez déjà une carte au trésor active.", "hb_msg_no_dig_site", "Aucun site de fouille valide trouvé. Réessayez dans une autre zone.", "hb_msg_map_accepted", "Carte au trésor acceptée ! Suivez le repère sur la minicarte jusqu'au site de fouille.", "hb_msg_chest_nearby", "Votre coffre enfoui est à proximité — ouvrez-le !", "hb_msg_area_narrowed", "Vous approchez ! Zone de recherche réduite à {0}m.", "hb_msg_digging", "Fouille en cours... ({0} coups avant réduction)", "hb_msg_claimed_tomorrow", "Trésor récupéré ! Une nouvelle carte sera disponible demain.", "hb_msg_dig_swing", "Site de fouille ! Frappez pour creuser. ({0} coups avant réduction)", "hb_msg_nearby", "Trésor à proximité ! ({0}m)", "hb_msg_unearthed", "Trésor déterré ! Ouvrez le coffre pour récupérer votre récompense.", "hb_day_reset", "Jour {0} Réinitialisation dans {1}:{2}", "hb_dist_away", "à {0}m", "hb_new_in", "Nouveau dans {0}:{1}", "hb_progress_fmt", "Progression : {0} / {1}", "hb_completed_status", "TERMINÉ", "hb_dig_site", "Site de fouille", "hb_dist_to_dig", "{0}m du site de fouille", "hb_region_fmt", "Région : {0}", "hb_msg_boss_appeared", "{0} est apparu dans la nature !", "hb_msg_bounty_complete", "Prime terminée : {0} !", "hb_msg_deposited", "{0} pièces déposées dans votre banque !", "hb_bounty_reset", "Toutes les primes ont été réinitialisées !"); L("German", "hb_available", "Verfügbar", "hb_active", "Aktiv", "hb_completed", "Abgeschlossen", "hb_bounties", "Kopfgelder", "hb_select_bounty", "Wähle ein Kopfgeld", "hb_accept", "Annehmen", "hb_abandon", "Aufgeben", "hb_reward_options", "Belohnungsoptionen:", "hb_choose_reward", "Wähle deine Belohnung:", "hb_diff_easy", "Schwierigkeit: Leicht", "hb_diff_medium", "Schwierigkeit: Mittel", "hb_diff_hard", "Schwierigkeit: Schwer", "hb_miniboss_bounty", "Miniboss-Kopfgeld", "hb_raid_bounty", "Überfall-Kopfgeld", "hb_treasure_title", "Tägliche Schatzkarte", "hb_treasure_claimed_title", "Schatz eingefordert!", "hb_treasure_region_tbd", "Region: wird bei Annahme bestimmt", "hb_treasure_desc_avail", "Eine verwitterte Karte markiert einen vergrabenen Schatz irgendwo in der Wildnis. Nimm die Karte an, um die Grabungsstelle auf deiner Minikarte anzuzeigen.", "hb_treasure_desc_active", "Folge der goldenen Markierung auf deiner Minikarte zur Grabungsstelle. Schwinge deine Spitzhacke — nach genügend Schlägen verengt sich das Suchgebiet, bis der Schatz freigelegt wird.", "hb_treasure_desc_claimed", "Du hast den heutigen Schatz eingefordert. Eine neue Karte wird nach dem täglichen Reset verfügbar sein.", "hb_treasure_goal_avail", "Nimm die Karte an, um zu beginnen", "hb_treasure_goal_active", "Finde und öffne den vergrabenen Schatz", "hb_treasure_goal_claimed", "Schatz eingefordert!", "hb_treasure_chest_reward", "Belohnungen in der Truhe", "hb_accept_map", "Karte annehmen", "hb_map_active", "Karte aktiv", "hb_claimed", "Eingefordert", "hb_msg_already_active", "Du hast bereits eine aktive Schatzkarte.", "hb_msg_no_dig_site", "Keine gültige Grabungsstelle gefunden. Versuche es in einem anderen Gebiet.", "hb_msg_map_accepted", "Schatzkarte angenommen! Folge der Minikarten-Markierung zur Grabungsstelle.", "hb_msg_chest_nearby", "Deine vergrabene Truhe ist in der Nähe — öffne sie!", "hb_msg_area_narrowed", "Du kommst näher! Suchgebiet auf {0}m eingeengt.", "hb_msg_digging", "Graben... ({0} Schläge bis zur Einengung)", "hb_msg_claimed_tomorrow", "Schatz eingefordert! Eine neue Karte wird morgen verfügbar sein.", "hb_msg_dig_swing", "Grabungsstelle! Schwinge zum Graben. ({0} Schläge bis zur Einengung)", "hb_msg_nearby", "Schatz in der Nähe! ({0}m entfernt)", "hb_msg_unearthed", "Schatz ausgegraben! Öffne die Truhe, um deine Belohnung einzufordern.", "hb_day_reset", "Tag {0} Reset in {1}:{2}", "hb_dist_away", "{0}m entfernt", "hb_new_in", "Neu in {0}:{1}", "hb_progress_fmt", "Fortschritt: {0} / {1}", "hb_completed_status", "ABGESCHLOSSEN", "hb_dig_site", "Grabungsstelle", "hb_dist_to_dig", "{0}m zur Grabungsstelle", "hb_region_fmt", "Region: {0}", "hb_msg_boss_appeared", "{0} ist in der Wildnis erschienen!", "hb_msg_bounty_complete", "Kopfgeld abgeschlossen: {0}!", "hb_msg_deposited", "{0} Münzen auf deine Bank eingezahlt!", "hb_bounty_reset", "Alle Kopfgelder wurden zurückgesetzt!"); L("Hungarian", "hb_available", "Elérhető", "hb_active", "Aktív", "hb_completed", "Befejezve", "hb_bounties", "Fejvadászat", "hb_select_bounty", "Válassz fejvadászatot", "hb_accept", "Elfogad", "hb_abandon", "Felad", "hb_reward_options", "Jutalom opciók:", "hb_choose_reward", "Válaszd ki a jutalmadat:", "hb_diff_easy", "Nehézség: Könnyű", "hb_diff_medium", "Nehézség: Közepes", "hb_diff_hard", "Nehézség: Nehéz", "hb_miniboss_bounty", "Miniboss fejvadászat", "hb_raid_bounty", "Rajtazútés fejvadászat", "hb_treasure_title", "Napi kincstérkép", "hb_treasure_claimed_title", "Kincs megszerezve!", "hb_treasure_region_tbd", "Régió: elfogadáskor határozódik meg", "hb_treasure_desc_avail", "Egy kopott térkép jelöl egy elrejtett kincset valahol a vadonban. Fogadd el a térképet, hogy felfedje az ásási helyet a minikartádon.", "hb_treasure_desc_active", "Kövesd az arany jelölőt a minikartádon az ásási helyig. Lendítsd a csákányodat — elég ütés után a keresési terület szűkül, amíg a kincs előkerül.", "hb_treasure_desc_claimed", "Megszerezted a mai kincset. Új térkép lesz elérhető a napi visszaállítás után.", "hb_treasure_goal_avail", "Fogadd el a térképet a kezdéshez", "hb_treasure_goal_active", "Találd meg és nyisd ki az elrejtett kincset", "hb_treasure_goal_claimed", "Kincs megszerezve!", "hb_treasure_chest_reward", "Jutalmak a ládában", "hb_accept_map", "Térkép elfogadása", "hb_map_active", "Térkép aktív", "hb_claimed", "Megszerezve", "hb_msg_already_active", "Már van aktív kincstérképed.", "hb_msg_no_dig_site", "Nem található érvényes ásási hely. Próbáld újra más területen.", "hb_msg_map_accepted", "Kincstérkép elfogadva! Kövesd a minikarta jelölőjét az ásási helyig.", "hb_msg_chest_nearby", "Az elrejtett ládád a közelben van — nyisd ki!", "hb_msg_area_narrowed", "Közelebb! Keresési terület {0}m-re szűkült.", "hb_msg_digging", "Ásás... (még {0} ütés a szűkítésig)", "hb_msg_claimed_tomorrow", "Kincs megszerezve! Holnap új térkép lesz elérhető.", "hb_msg_dig_swing", "Ásási hely! Üss, hogy áss. ({0} ütés a szűkítésig)", "hb_msg_nearby", "Kincs a közelben! ({0}m)", "hb_msg_unearthed", "Kincs előkerült! Nyisd ki a ládát a jutalmadért.", "hb_day_reset", "Nap {0} Visszaállítás {1}:{2} múlva", "hb_dist_away", "{0}m", "hb_new_in", "Új {0}:{1} múlva", "hb_progress_fmt", "Haladás: {0} / {1}", "hb_completed_status", "BEFEJEZVE", "hb_dig_site", "Ásási hely", "hb_dist_to_dig", "{0}m az ásási helyig", "hb_region_fmt", "Régió: {0}", "hb_msg_boss_appeared", "{0} megjelent a vadonban!", "hb_msg_bounty_complete", "Fejvadászat teljesítve: {0}!", "hb_msg_deposited", "{0} érme befizetve a bankodba!", "hb_bounty_reset", "Minden fejvadászat visszaállítva!"); L("Icelandic", "hb_available", "Tiltækt", "hb_active", "Virkt", "hb_completed", "Lokið", "hb_bounties", "Höfuðverð", "hb_select_bounty", "Veldu höfuðverð", "hb_accept", "Samþykkja", "hb_abandon", "Gefast upp", "hb_reward_options", "Verðlaunavalkostir:", "hb_choose_reward", "Veldu verðlaun þín:", "hb_diff_easy", "Erfið: Auðvelt", "hb_diff_medium", "Erfið: Miðlungs", "hb_diff_hard", "Erfið: Erfitt", "hb_miniboss_bounty", "Miniboss-höfuðverð", "hb_raid_bounty", "Árásar-höfuðverð", "hb_treasure_title", "Daglegur fjársjóðskort", "hb_treasure_claimed_title", "Fjársjóður fundinn!", "hb_treasure_region_tbd", "Svæði: ákveðið við samþykki", "hb_treasure_desc_avail", "Veðurbit kort merkir grafið fjársjóð einhvers staðar í óbyggjunum. Samþykktu kortinu til að birta grafstaðinn á smákortinu þínu.", "hb_treasure_desc_active", "Fylgdu gullna merkinu á smákortinu að grafstaðnum. Sveiflaðu hakkánu — eftir nóg mörg högg minnkar leitsvæðið þar til fjársjóðurinn birtist.", "hb_treasure_desc_claimed", "Þú hefur sótt fjársjóð dagsins. Nýtt kort verður tiltækt eftir daglega endurstöðu.", "hb_treasure_goal_avail", "Samþykktu kortinu til að byrja", "hb_treasure_goal_active", "Finndu og opnaðu grafiða fjársjóðinn", "hb_treasure_goal_claimed", "Fjársjóður fundinn!", "hb_treasure_chest_reward", "Verðlaun í kistunni", "hb_accept_map", "Samþykkja kort", "hb_map_active", "Kort virkt", "hb_claimed", "Sótt", "hb_msg_already_active", "Þú ert nú þegar með virkt fjársjóðskort.", "hb_msg_no_dig_site", "Enginn gildur grafstaður fannst. Reyndu aftur á öðru svæði.", "hb_msg_map_accepted", "Fjársjóðskort samþykkt! Fylgdu merkinu á smákortinu að grafstaðnum.", "hb_msg_chest_nearby", "Grafið kistan þín er nálægt — opnaðu hana!", "hb_msg_area_narrowed", "Nær! Leitsvæði minnkað í {0}m.", "hb_msg_digging", "Greft... ({0} högg eftir til minnkunar)", "hb_msg_claimed_tomorrow", "Fjársjóður fundinn! Nýtt kort verður tiltækt á morgun.", "hb_msg_dig_swing", "Grafstaður! Sveiflaðu til að grafa. ({0} högg til minnkunar)", "hb_msg_nearby", "Fjársjóður nálægt! ({0}m í burtu)", "hb_msg_unearthed", "Fjársjóður grafinn upp! Opnaðu kistuna til að sækja verðlaunin.", "hb_day_reset", "Dagur {0} Endurst. eftir {1}:{2}", "hb_dist_away", "{0}m í burtu", "hb_new_in", "Nýtt eftir {0}:{1}", "hb_progress_fmt", "Framvinda: {0} / {1}", "hb_completed_status", "LOKIÐ", "hb_dig_site", "Grafstaður", "hb_dist_to_dig", "{0}m að grafstað", "hb_region_fmt", "Svæði: {0}", "hb_msg_boss_appeared", "{0} hefur birst í óbyggjunum!", "hb_msg_bounty_complete", "Höfuðverð lokið: {0}!", "hb_msg_deposited", "{0} mynt lagt inn í bankann þinn!", "hb_bounty_reset", "Öll höfuðverð hafa verið endurstöð!"); L("Italian", "hb_available", "Disponibile", "hb_active", "Attivo", "hb_completed", "Completato", "hb_bounties", "Taglie", "hb_select_bounty", "Seleziona una taglia", "hb_accept", "Accetta", "hb_abandon", "Abbandona", "hb_reward_options", "Opzioni ricompensa:", "hb_choose_reward", "Scegli la tua ricompensa:", "hb_diff_easy", "Difficoltà: Facile", "hb_diff_medium", "Difficoltà: Medio", "hb_diff_hard", "Difficoltà: Difficile", "hb_miniboss_bounty", "Taglia miniboss", "hb_raid_bounty", "Taglia raid", "hb_treasure_title", "Mappa del tesoro giornaliera", "hb_treasure_claimed_title", "Tesoro riscosso!", "hb_treasure_region_tbd", "Regione: determinata all'accettazione", "hb_treasure_desc_avail", "Una mappa consumata indica un tesoro sepolto da qualche parte nelle terre selvagge. Accetta la mappa per rivelare il sito di scavo sulla minimappa.", "hb_treasure_desc_active", "Segui il marcatore dorato sulla minimappa fino al sito di scavo. Colpisci con il piccone — dopo abbastanza colpi, l'area di ricerca si restringe fino a portare alla luce il tesoro.", "hb_treasure_desc_claimed", "Hai riscosso il tesoro di oggi. Una nuova mappa sarà disponibile dopo il reset giornaliero.", "hb_treasure_goal_avail", "Accetta la mappa per iniziare", "hb_treasure_goal_active", "Trova e apri il tesoro sepolto", "hb_treasure_goal_claimed", "Tesoro riscosso!", "hb_treasure_chest_reward", "Ricompense nel forziere", "hb_accept_map", "Accetta mappa", "hb_map_active", "Mappa attiva", "hb_claimed", "Riscosso", "hb_msg_already_active", "Hai già una mappa del tesoro attiva.", "hb_msg_no_dig_site", "Nessun sito di scavo valido trovato. Riprova in un'altra zona.", "hb_msg_map_accepted", "Mappa del tesoro accettata! Segui il marcatore sulla minimappa fino al sito di scavo.", "hb_msg_chest_nearby", "Il tuo forziere sepolto è vicino — aprilo!", "hb_msg_area_narrowed", "Più vicino! Area di ricerca ridotta a {0}m.", "hb_msg_digging", "Scavo... ({0} colpi alla riduzione)", "hb_msg_claimed_tomorrow", "Tesoro riscosso! Una nuova mappa sarà disponibile domani.", "hb_msg_dig_swing", "Sito di scavo! Colpisci per scavare. ({0} colpi alla riduzione)", "hb_msg_nearby", "Tesoro vicino! ({0}m)", "hb_msg_unearthed", "Tesoro portato alla luce! Apri il forziere per riscuotere la ricompensa.", "hb_day_reset", "Giorno {0} Reset tra {1}:{2}", "hb_dist_away", "{0}m", "hb_new_in", "Nuovo tra {0}:{1}", "hb_progress_fmt", "Progresso: {0} / {1}", "hb_completed_status", "COMPLETATO", "hb_dig_site", "Sito di scavo", "hb_dist_to_dig", "{0}m al sito di scavo", "hb_region_fmt", "Regione: {0}", "hb_msg_boss_appeared", "{0} è apparso nelle terre selvagge!", "hb_msg_bounty_complete", "Taglia completata: {0}!", "hb_msg_deposited", "{0} monete depositate nella tua banca!", "hb_bounty_reset", "Tutte le taglie sono state resettate!"); L("Lithuanian", "hb_available", "Prieinami", "hb_active", "Aktyvūs", "hb_completed", "Atlikta", "hb_bounties", "Atlygiai", "hb_select_bounty", "Pasirinkite atlygį", "hb_accept", "Priimti", "hb_abandon", "Atsisakyti", "hb_reward_options", "Atlygio pasirinkimai:", "hb_choose_reward", "Pasirinkite savo atlygį:", "hb_diff_easy", "Sunkumas: Lengvas", "hb_diff_medium", "Sunkumas: Vidutinis", "hb_diff_hard", "Sunkumas: Sunkus", "hb_miniboss_bounty", "Miniboso atlygis", "hb_raid_bounty", "Antpuolio atlygis", "hb_treasure_title", "Dienos lobio žemėlapis", "hb_treasure_claimed_title", "Lobis gautas!", "hb_treasure_region_tbd", "Regionas: nustatomas priėmus", "hb_treasure_desc_avail", "Apdėvėtas žemėlapis rodo palaidotą lobį kažkur laukiniuose. Priimkite žemėlapį, kad atskleistumėte kasimo vietą minimapėje.", "hb_treasure_desc_active", "Sekite auksinį žymeklį minimapėje iki kasimo vietos. Mojuokite kastuvu — po pakankamai smūgių paieškos zona siaurėja, kol lobis atsiranda.", "hb_treasure_desc_claimed", "Gavėte šiandienos lobį. Naujas žemėlapis bus prieinamas po dienos atstatymo.", "hb_treasure_goal_avail", "Priimkite žemėlapį, kad pradėtumėte", "hb_treasure_goal_active", "Raskite ir atidarykite palaidotą lobį", "hb_treasure_goal_claimed", "Lobis gautas!", "hb_treasure_chest_reward", "Atlygiai skrynioje", "hb_accept_map", "Priimti žemėlapį", "hb_map_active", "Žemėlapis aktyvus", "hb_claimed", "Gautas", "hb_msg_already_active", "Jau turite aktyvų lobio žemėlapį.", "hb_msg_no_dig_site", "Nerasta tinkama kasimo vieta. Bandykite dar kartą kitoje vietovėje.", "hb_msg_map_accepted", "Lobio žemėlapis priimtas! Sekite minimapės žymeklį iki kasimo vietos.", "hb_msg_chest_nearby", "Jūsų palaidota skrynia yra netoliese — atidarykite ją!", "hb_msg_area_narrowed", "Artėjate! Paieškos zona sumažinta iki {0}m.", "hb_msg_digging", "Kasimas... (dar {0} smūgių iki sumažinimo)", "hb_msg_claimed_tomorrow", "Lobis gautas! Naujas žemėlapis bus prieinamas rytoj.", "hb_msg_dig_swing", "Kasimo vieta! Mojuokite, kad kastųmėte. ({0} smūgių iki sumažinimo)", "hb_msg_nearby", "Lobis netoliese! ({0}m)", "hb_msg_unearthed", "Lobis rastas! Atidarykite skrynią, kad gautumėte atlygį.", "hb_day_reset", "Diena {0} Atstatymas po {1}:{2}", "hb_dist_away", "{0}m", "hb_new_in", "Naujas po {0}:{1}", "hb_progress_fmt", "Pažanga: {0} / {1}", "hb_completed_status", "ATLIKTA", "hb_dig_site", "Kasimo vieta", "hb_dist_to_dig", "{0}m iki kasimo vietos", "hb_region_fmt", "Regionas: {0}", "hb_msg_boss_appeared", "{0} pasirodė laukiniuose!", "hb_msg_bounty_complete", "Atlygis atliktas: {0}!", "hb_msg_deposited", "Įnešta {0} monetų į jūsų banką!", "hb_bounty_reset", "Visi atlygiai buvo atstatyti!"); L("Norwegian", "hb_available", "Tilgjengelig", "hb_active", "Aktiv", "hb_completed", "Fullført", "hb_bounties", "Dusører", "hb_select_bounty", "Velg en dusør", "hb_accept", "Godta", "hb_abandon", "Gi opp", "hb_reward_options", "Belønningsmuligheter:", "hb_choose_reward", "Velg belønningen din:", "hb_diff_easy", "Vanskelighetsgrad: Lett", "hb_diff_medium", "Vanskelighetsgrad: Middels", "hb_diff_hard", "Vanskelighetsgrad: Vanskelig", "hb_miniboss_bounty", "Miniboss-dusør", "hb_raid_bounty", "Raid-dusør", "hb_treasure_title", "Daglig skattekart", "hb_treasure_claimed_title", "Skatt funnet!", "hb_treasure_region_tbd", "Region: bestemmes ved godtakelse", "hb_treasure_desc_avail", "Et slitt kart markerer en begravd skatt et sted i villmarken. Godta kartet for å avsløre gravstedet på minikartet.", "hb_treasure_desc_active", "Følg den gylne markøren på minikartet til gravstedet. Sving hakken din — etter nok slag krymper søkeområdet til skatten er avdekket.", "hb_treasure_desc_claimed", "Du har hentet dagens skatt. Et nytt kart vil være tilgjengelig etter den daglige nullstillingen.", "hb_treasure_goal_avail", "Godta kartet for å begynne", "hb_treasure_goal_active", "Finn og åpne den begravde skatten", "hb_treasure_goal_claimed", "Skatt funnet!", "hb_treasure_chest_reward", "Belønninger i kisten", "hb_accept_map", "Godta kart", "hb_map_active", "Kart aktivt", "hb_claimed", "Hentet", "hb_msg_already_active", "Du har allerede et aktivt skattekart.", "hb_msg_no_dig_site", "Ingen gyldig gravplass funnet. Prøv igjen i et annet område.", "hb_msg_map_accepted", "Skattekart godtatt! Følg minikartet til gravstedet.", "hb_msg_chest_nearby", "Din begravde kiste er i nærheten — åpne den!", "hb_msg_area_narrowed", "Nærmere! Søkeområdet krympet til {0}m.", "hb_msg_digging", "Graver... ({0} slag til krymping)", "hb_msg_claimed_tomorrow", "Skatt funnet! Et nytt kart vil være tilgjengelig i morgen.", "hb_msg_dig_swing", "Gravsted! Sving for å grave. ({0} slag til krymping)", "hb_msg_nearby", "Skatt i nærheten! ({0}m unna)", "hb_msg_unearthed", "Skatt avdekket! Åpne kisten for å hente belønningen.", "hb_day_reset", "Dag {0} Nullstilles om {1}:{2}", "hb_dist_away", "{0}m unna", "hb_new_in", "Nytt om {0}:{1}", "hb_progress_fmt", "Fremgang: {0} / {1}", "hb_completed_status", "FULLFØRT", "hb_dig_site", "Gravsted", "hb_dist_to_dig", "{0}m til gravsted", "hb_region_fmt", "Region: {0}", "hb_msg_boss_appeared", "{0} har dukket opp i villmarken!", "hb_msg_bounty_complete", "Dusør fullført: {0}!", "hb_msg_deposited", "{0} mynter satt inn i banken din!", "hb_bounty_reset", "Alle dusører er nullstilt!"); L("Polish", "hb_available", "Dostępne", "hb_active", "Aktywne", "hb_completed", "Ukończone", "hb_bounties", "Zlecenia", "hb_select_bounty", "Wybierz zlecenie", "hb_accept", "Akceptuj", "hb_abandon", "Porzuć", "hb_reward_options", "Opcje nagrody:", "hb_choose_reward", "Wybierz nagrodę:", "hb_diff_easy", "Trudność: Łatwa", "hb_diff_medium", "Trudność: Średnia", "hb_diff_hard", "Trudność: Trudna", "hb_miniboss_bounty", "Zlecenie na minibossa", "hb_raid_bounty", "Zlecenie na rajd", "hb_treasure_title", "Codzienna mapa skarbu", "hb_treasure_claimed_title", "Skarb zdobyty!", "hb_treasure_region_tbd", "Region: określany przy akceptacji", "hb_treasure_desc_avail", "Zniszczona mapa wskazuje na zakopany skarb gdzieś na pustkowiach. Zaakceptuj mapę, aby odkryć miejsce kopania na minimapie.", "hb_treasure_desc_active", "Śledź złoty znacznik na minimapie do miejsca kopania. Machaj kilofem — po wystarczającej liczbie uderzeń obszar poszukiwań się zwęża, aż skarb zostanie odkryty.", "hb_treasure_desc_claimed", "Zdobyłeś dzisiejszy skarb. Nowa mapa będzie dostępna po codziennym resecie.", "hb_treasure_goal_avail", "Zaakceptuj mapę, aby zacząć", "hb_treasure_goal_active", "Znajdź i otwórz zakopany skarb", "hb_treasure_goal_claimed", "Skarb zdobyty!", "hb_treasure_chest_reward", "Nagrody w skrzyni", "hb_accept_map", "Akceptuj mapę", "hb_map_active", "Mapa aktywna", "hb_claimed", "Zdobyto", "hb_msg_already_active", "Masz już aktywną mapę skarbu.", "hb_msg_no_dig_site", "Nie znaleziono odpowiedniego miejsca do kopania. Spróbuj ponownie w innym rejonie.", "hb_msg_map_accepted", "Mapa skarbu zaakceptowana! Śledź znacznik na minimapie do miejsca kopania.", "hb_msg_chest_nearby", "Twoja zakopana skrzynia jest w pobliżu — otwórz ją!", "hb_msg_area_narrowed", "Bliżej! Obszar poszukiwań zwężony do {0}m.", "hb_msg_digging", "Kopanie... (jeszcze {0} uderzeń do zwężenia)", "hb_msg_claimed_tomorrow", "Skarb zdobyty! Nowa mapa będzie dostępna jutro.", "hb_msg_dig_swing", "Miejsce kopania! Machaj, żeby kopać. ({0} uderzeń do zwężenia)", "hb_msg_nearby", "Skarb w pobliżu! ({0}m)", "hb_msg_unearthed", "Skarb odkryty! Otwórz skrzynię, aby odebrać nagrodę.", "hb_day_reset", "Dzień {0} Reset za {1}:{2}", "hb_dist_away", "{0}m", "hb_new_in", "Nowa za {0}:{1}", "hb_progress_fmt", "Postęp: {0} / {1}", "hb_completed_status", "UKOŃCZONE", "hb_dig_site", "Miejsce kopania", "hb_dist_to_dig", "{0}m do miejsca kopania", "hb_region_fmt", "Region: {0}", "hb_msg_boss_appeared", "{0} pojawił się na pustkowiu!", "hb_msg_bounty_complete", "Zlecenie ukończone: {0}!", "hb_msg_deposited", "Wpłacono {0} monet do twojego banku!", "hb_bounty_reset", "Wszystkie zlecenia zostały zresetowane!"); L("Romanian", "hb_available", "Disponibil", "hb_active", "Activ", "hb_completed", "Finalizat", "hb_bounties", "Recompense", "hb_select_bounty", "Selectează o recompensă", "hb_accept", "Acceptă", "hb_abandon", "Abandonează", "hb_reward_options", "Opţiuni de recompensă:", "hb_choose_reward", "Alege recompensa ta:", "hb_diff_easy", "Dificultate: Uşoară", "hb_diff_medium", "Dificultate: Medie", "hb_diff_hard", "Dificultate: Grea", "hb_miniboss_bounty", "Recompensă miniboss", "hb_raid_bounty", "Recompensă raid", "hb_treasure_title", "Harta zilnică a comorii", "hb_treasure_claimed_title", "Comoara revendicată!", "hb_treasure_region_tbd", "Regiune: determinată la acceptare", "hb_treasure_desc_avail", "O hartă uzată marchează o comoară îngropată undeva în sălbăticie. Acceptă harta pentru a dezvălui locul de săpat pe minimapa ta.", "hb_treasure_desc_active", "Urmează marcajul auriu de pe minimapa ta până la locul de săpat. Loveşte cu târnăcopul — după suficiente lovituri, zona de căutare se îngustează până când comoara este dezgropată.", "hb_treasure_desc_claimed", "Ai revendicat comoara de astăzi. O nouă hartă va fi disponibilă după resetarea zilnică.", "hb_treasure_goal_avail", "Acceptă harta pentru a începe", "hb_treasure_goal_active", "Găseşte şi deschide comoara îngropată", "hb_treasure_goal_claimed", "Comoara revendicată!", "hb_treasure_chest_reward", "Recompense în cufăr", "hb_accept_map", "Acceptă harta", "hb_map_active", "Hartă activă", "hb_claimed", "Revendicat", "hb_msg_already_active", "Ai deja o hartă a comorii activă.", "hb_msg_no_dig_site", "Niciun loc de săpat valid găsit. Încearcă din nou într-o altă zonă.", "hb_msg_map_accepted", "Harta comorii acceptată! Urmează marcajul pe minimapă până la locul de săpat.", "hb_msg_chest_nearby", "Cufărul tău îngropat este în apropiere — deschide-l!", "hb_msg_area_narrowed", "Mai aproape! Zona de căutare redusă la {0}m.", "hb_msg_digging", "Săpat... (încă {0} lovituri până la reducere)", "hb_msg_claimed_tomorrow", "Comoara revendicată! O nouă hartă va fi disponibilă mâine.", "hb_msg_dig_swing", "Loc de săpat! Loveşte pentru a săpa. ({0} lovituri până la reducere)", "hb_msg_nearby", "Comoară în apropiere! ({0}m)", "hb_msg_unearthed", "Comoara dezgropată! Deschide cufărul pentru a revendica recompensa.", "hb_day_reset", "Ziua {0} Resetare în {1}:{2}", "hb_dist_away", "{0}m", "hb_new_in", "Nouă în {0}:{1}", "hb_progress_fmt", "Progres: {0} / {1}", "hb_completed_status", "FINALIZAT", "hb_dig_site", "Loc de săpat", "hb_dist_to_dig", "{0}m până la locul de săpat", "hb_region_fmt", "Regiune: {0}", "hb_msg_boss_appeared", "{0} a apărut în sălbăticie!", "hb_msg_bounty_complete", "Recompensă finalizată: {0}!", "hb_msg_deposited", "{0} monede depuse în banca ta!", "hb_bounty_reset", "Toate recompensele au fost resetate!"); L("Slovak", "hb_available", "Dostupné", "hb_active", "Aktívne", "hb_completed", "Dokončené", "hb_bounties", "Odmeny", "hb_select_bounty", "Vyberte odmenu", "hb_accept", "Prijať", "hb_abandon", "Vzdať sa", "hb_reward_options", "Možnosti odmeny:", "hb_choose_reward", "Vyberte si odmenu:", "hb_diff_easy", "Obtiažnosť: Ľahká", "hb_diff_medium", "Obtiažnosť: Stredná", "hb_diff_hard", "Obtiažnosť: Ťažká", "hb_miniboss_bounty", "Odmena za minibossa", "hb_raid_bounty", "Odmena za nájazd", "hb_treasure_title", "Denná mapa pokladu", "hb_treasure_claimed_title", "Poklad získaný!", "hb_treasure_region_tbd", "Oblasť: určí sa pri prijatí", "hb_treasure_desc_avail", "Opoťrebovaná mapa označuje zahrabaný poklad niekde v divokej krajine. Prijmite mapu, aby ste odhalili miesto kopania na minimape.", "hb_treasure_desc_active", "Sledujte zlatú značku na minimape k miestu kopania. Mávajte krampáčom — po dostatočnom počte úderov sa oblasť hľadania zúži, kým sa poklad neodhalí.", "hb_treasure_desc_claimed", "Získali ste dnešný poklad. Nová mapa bude dostupná po dennom resete.", "hb_treasure_goal_avail", "Prijmite mapu, aby ste začali", "hb_treasure_goal_active", "Nájdite a otvorte zahrabaný poklad", "hb_treasure_goal_claimed", "Poklad získaný!", "hb_treasure_chest_reward", "Odmeny v truhle", "hb_accept_map", "Prijať mapu", "hb_map_active", "Mapa aktívna", "hb_claimed", "Získané", "hb_msg_already_active", "Už máte aktívnu mapu pokladu.", "hb_msg_no_dig_site", "Nebolo nájdené platné miesto na kopanie. Skúste to znova v inej oblasti.", "hb_msg_map_accepted", "Mapa pokladu prijatá! Sledujte značku na minimape k miestu kopania.", "hb_msg_chest_nearby", "Vaša zahrabaná truhla je nablízku — otvorte ju!", "hb_msg_area_narrowed", "Bližšie! Oblasť hľadania zúžená na {0}m.", "hb_msg_digging", "Kopanie... (ešte {0} úderov do zúženia)", "hb_msg_claimed_tomorrow", "Poklad získaný! Nová mapa bude dostupná zajtra.", "hb_msg_dig_swing", "Miesto kopania! Mávajte, aby ste kopali. ({0} úderov do zúženia)", "hb_msg_nearby", "Poklad nablízku! ({0}m)", "hb_msg_unearthed", "Poklad odhalený! Otvorte truhlu, aby ste získali odmenu.", "hb_day_reset", "Deň {0} Reset za {1}:{2}", "hb_dist_away", "{0}m", "hb_new_in", "Nová za {0}:{1}", "hb_progress_fmt", "Postup: {0} / {1}", "hb_completed_status", "DOKONČENÉ", "hb_dig_site", "Miesto kopania", "hb_dist_to_dig", "{0}m k miestu kopania", "hb_region_fmt", "Oblasť: {0}", "hb_msg_boss_appeared", "{0} sa objavil v divokej krajine!", "hb_msg_bounty_complete", "Odmena dokončená: {0}!", "hb_msg_deposited", "{0} mincí uložených do vašej banky!", "hb_bounty_reset", "Všetky odmeny boli resetované!"); L("Spanish", "hb_available", "Disponible", "hb_active", "Activo", "hb_completed", "Completado", "hb_bounties", "Recompensas", "hb_select_bounty", "Selecciona una recompensa", "hb_accept", "Aceptar", "hb_abandon", "Abandonar", "hb_reward_options", "Opciones de recompensa:", "hb_choose_reward", "Elige tu recompensa:", "hb_diff_easy", "Dificultad: Fácil", "hb_diff_medium", "Dificultad: Medio", "hb_diff_hard", "Dificultad: Difícil", "hb_miniboss_bounty", "Recompensa de miniboss", "hb_raid_bounty", "Recompensa de incursión", "hb_treasure_title", "Mapa del tesoro diario", "hb_treasure_claimed_title", "¡Tesoro reclamado!", "hb_treasure_region_tbd", "Región: determinada al aceptar", "hb_treasure_desc_avail", "Un mapa desgastado marca un tesoro enterrado en algún lugar de las tierras salvajes. Acepta el mapa para revelar el sitio de excavación en tu minimapa.", "hb_treasure_desc_active", "Sigue el marcador dorado en tu minimapa hasta el sitio de excavación. Golpea con tu pico — tras suficientes golpes, el área de búsqueda se reduce hasta desenterrar el tesoro.", "hb_treasure_desc_claimed", "Has reclamado el tesoro de hoy. Un nuevo mapa estará disponible tras el reinicio diario.", "hb_treasure_goal_avail", "Acepta el mapa para comenzar", "hb_treasure_goal_active", "Encuentra y abre el tesoro enterrado", "hb_treasure_goal_claimed", "¡Tesoro reclamado!", "hb_treasure_chest_reward", "Recompensas en el cofre", "hb_accept_map", "Aceptar mapa", "hb_map_active", "Mapa activo", "hb_claimed", "Reclamado", "hb_msg_already_active", "Ya tienes un mapa del tesoro activo.", "hb_msg_no_dig_site", "No se encontró un sitio de excavación válido. Inténtalo en otra zona.", "hb_msg_map_accepted", "¡Mapa del tesoro aceptado! Sigue la marca del minimapa hasta el sitio de excavación.", "hb_msg_chest_nearby", "¡Tu cofre enterrado está cerca — ábrelo!", "hb_msg_area_narrowed", "¡Te acercas! Área de búsqueda reducida a {0}m.", "hb_msg_digging", "Excavando... ({0} golpes para reducir)", "hb_msg_claimed_tomorrow", "¡Tesoro reclamado! Un nuevo mapa estará disponible mañana.", "hb_msg_dig_swing", "¡Sitio de excavación! Golpea para cavar. ({0} golpes para reducir)", "hb_msg_nearby", "¡Tesoro cerca! ({0}m)", "hb_msg_unearthed", "¡Tesoro desenterrado! Abre el cofre para reclamar tu recompensa.", "hb_day_reset", "Día {0} Reinicio en {1}:{2}", "hb_dist_away", "a {0}m", "hb_new_in", "Nuevo en {0}:{1}", "hb_progress_fmt", "Progreso: {0} / {1}", "hb_completed_status", "COMPLETADO", "hb_dig_site", "Sitio de excavación", "hb_dist_to_dig", "{0}m al sitio de excavación", "hb_region_fmt", "Región: {0}", "hb_msg_boss_appeared", "¡{0} ha aparecido en la naturaleza!", "hb_msg_bounty_complete", "¡Recompensa completada: {0}!", "hb_msg_deposited", "¡{0} monedas depositadas en tu banco!", "hb_bounty_reset", "¡Todas las recompensas han sido reiniciadas!"); L("Swedish", "hb_available", "Tillgängliga", "hb_active", "Aktiva", "hb_completed", "Slutförda", "hb_bounties", "Uppdrag", "hb_select_bounty", "Välj ett uppdrag", "hb_accept", "Acceptera", "hb_abandon", "Överge", "hb_reward_options", "Belöningsalternativ:", "hb_choose_reward", "Välj din belöning:", "hb_diff_easy", "Svårighet: Lätt", "hb_diff_medium", "Svårighet: Medel", "hb_diff_hard", "Svårighet: Svår", "hb_miniboss_bounty", "Minibossuppdrag", "hb_raid_bounty", "Räduppdrag", "hb_treasure_title", "Daglig skattkarta", "hb_treasure_claimed_title", "Skatt hämtad!", "hb_treasure_region_tbd", "Region: bestäms vid accept", "hb_treasure_desc_avail", "En sliten karta markerar en begravd skatt någonstans i vildmarken. Acceptera kartan för att visa grävplatsen på din minikarta.", "hb_treasure_desc_active", "Följ den gyllene markören på din minikarta till grävplatsen. Svinga din hacka — efter tillräckligt många slag krymper sökområdet tills skatten grävs fram.", "hb_treasure_desc_claimed", "Du har hämtat dagens skatt. En ny karta blir tillgänglig efter den dagliga återställningen.", "hb_treasure_goal_avail", "Acceptera kartan för att börja", "hb_treasure_goal_active", "Hitta och öppna den begravda skatten", "hb_treasure_goal_claimed", "Skatt hämtad!", "hb_treasure_chest_reward", "Belöningar i kistan", "hb_accept_map", "Acceptera karta", "hb_map_active", "Karta aktiv", "hb_claimed", "Hämtad", "hb_msg_already_active", "Du har redan en aktiv skattkarta.", "hb_msg_no_dig_site", "Ingen giltig grävplats hittades. Försök igen i ett annat område.", "hb_msg_map_accepted", "Skattkarta accepterad! Följ minikartans markering till grävplatsen.", "hb_msg_chest_nearby", "Din begravda kista är nära — öppna den!", "hb_msg_area_narrowed", "Du närmar dig! Sökområdet krympte till {0}m.", "hb_msg_digging", "Gräver... ({0} slag kvar till krympning)", "hb_msg_claimed_tomorrow", "Skatt hämtad! En ny karta blir tillgänglig imorgon.", "hb_msg_dig_swing", "Grävplats! Svinga för att gräva. ({0} slag till krympning)", "hb_msg_nearby", "Skatt i närheten! ({0}m bort)", "hb_msg_unearthed", "Skatt framgrävd! Öppna kistan för att hämta din belöning.", "hb_day_reset", "Dag {0} Återställs om {1}:{2}", "hb_dist_away", "{0}m bort", "hb_new_in", "Ny om {0}:{1}", "hb_progress_fmt", "Framsteg: {0} / {1}", "hb_completed_status", "SLUTFÖRD", "hb_dig_site", "Grävplats", "hb_dist_to_dig", "{0}m till grävplatsen", "hb_region_fmt", "Region: {0}", "hb_msg_boss_appeared", "{0} har dykt upp i det vilda!", "hb_msg_bounty_complete", "Uppdrag slutfört: {0}!", "hb_msg_deposited", "{0} mynt insatta på din bank!", "hb_bounty_reset", "Alla uppdrag har återställts!"); L("Turkish", "hb_available", "Mevcut", "hb_active", "Aktif", "hb_completed", "Tamamlandı", "hb_bounties", "Ödüller", "hb_select_bounty", "Bir ödül seçin", "hb_accept", "Kabul et", "hb_abandon", "Vazgeç", "hb_reward_options", "Ödül seçenekleri:", "hb_choose_reward", "Ödülünüzü seçin:", "hb_diff_easy", "Zorluk: Kolay", "hb_diff_medium", "Zorluk: Orta", "hb_diff_hard", "Zorluk: Zor", "hb_miniboss_bounty", "Miniboss ödülü", "hb_raid_bounty", "Baskın ödülü", "hb_treasure_title", "Günlük hazine haritası", "hb_treasure_claimed_title", "Hazine bulundu!", "hb_treasure_region_tbd", "Bölge: kabul edildiğinde belirlenir", "hb_treasure_desc_avail", "Yıpranmış bir harita, vahşi doğada bir yere gömülmüş bir hazineyi işaretliyor. Kazı yerini mini haritanızda göstermek için haritayı kabul edin.", "hb_treasure_desc_active", "Mini haritadaki altın işareti takip ederek kazı yerine gidin. Kazmayı sallıyın — yeterli darbe sonrası arama alanı daralır ve hazine ortaya çıkar.", "hb_treasure_desc_claimed", "Bugünün hazinesini aldınız. Günlük sıfırlamadan sonra yeni bir harita kullanılabilir olacak.", "hb_treasure_goal_avail", "Başlamak için haritayı kabul edin", "hb_treasure_goal_active", "Gömülmüş hazineyi bulun ve açın", "hb_treasure_goal_claimed", "Hazine bulundu!", "hb_treasure_chest_reward", "Sandıktaki ödüller", "hb_accept_map", "Haritayı kabul et", "hb_map_active", "Harita aktif", "hb_claimed", "Alındı", "hb_msg_already_active", "Zaten aktif bir hazine haritanız var.", "hb_msg_no_dig_site", "Geçerli bir kazı yeri bulunamadı. Başka bir bölgede tekrar deneyin.", "hb_msg_map_accepted", "Hazine haritası kabul edildi! Mini haritadaki işareti takip ederek kazı yerine gidin.", "hb_msg_chest_nearby", "Gömülmüş sandığınız yakınınızda — açın!", "hb_msg_area_narrowed", "Yaklaşıyorsunuz! Arama alanı {0}m'ye daraltıldı.", "hb_msg_digging", "Kazılıyor... (daralmaya {0} darbe kaldı)", "hb_msg_claimed_tomorrow", "Hazine bulundu! Yarın yeni bir harita kullanılabilir olacak.", "hb_msg_dig_swing", "Kazı yeri! Kazmak için sallıyın. (daralmaya {0} darbe)", "hb_msg_nearby", "Hazine yakınınızda! ({0}m uzakta)", "hb_msg_unearthed", "Hazine bulundu! Ödülünüzü almak için sandığı açın.", "hb_day_reset", "Gün {0} Sıfırlama {1}:{2}", "hb_dist_away", "{0}m uzakta", "hb_new_in", "Yeni {0}:{1}", "hb_progress_fmt", "İlerleme: {0} / {1}", "hb_completed_status", "TAMAMLANDI", "hb_dig_site", "Kazı yeri", "hb_dist_to_dig", "Kazı yerine {0}m", "hb_region_fmt", "Bölge: {0}", "hb_msg_boss_appeared", "{0} vahşi doğada belirdi!", "hb_msg_bounty_complete", "Ödül tamamlandı: {0}!", "hb_msg_deposited", "{0} jeton bankanıza yatırıldı!", "hb_bounty_reset", "Tüm ödüller sıfırlandı!"); } private static void InitAsian() { L("Japanese", "hb_available", "利用可能", "hb_active", "進行中", "hb_completed", "完了", "hb_bounties", "賞金首", "hb_select_bounty", "賞金首を選択", "hb_accept", "受諾", "hb_abandon", "放棄", "hb_reward_options", "報酬オプション:", "hb_choose_reward", "報酬を選んでください:", "hb_diff_easy", "難易度:簡単", "hb_diff_medium", "難易度:普通", "hb_diff_hard", "難易度:難しい", "hb_miniboss_bounty", "ミニボス賞金首", "hb_raid_bounty", "襲撃賞金首", "hb_treasure_title", "デイリー宝の地図", "hb_treasure_claimed_title", "宝が獲得されました!", "hb_treasure_region_tbd", "地域:受諾時に決定", "hb_treasure_desc_avail", "古びた地図が荒野のどこかに埋められた宝を示しています。地図を受け取るとミニマップに発掘地点が表示されます。", "hb_treasure_desc_active", "ミニマップの金色のマーカーをたどって発掘地点へ。つるはしを振って——十分な打撃後、探索範囲が狭まり宝が探り当てられます。", "hb_treasure_desc_claimed", "今日の宝を獲得しました。新しい地図はデイリーリセット後に利用可能です。", "hb_treasure_goal_avail", "地図を受け取って開始", "hb_treasure_goal_active", "埋もれた宝を見つけて開ける", "hb_treasure_goal_claimed", "宝が獲得されました!", "hb_treasure_chest_reward", "宝箱の中の報酬", "hb_accept_map", "地図を受諾", "hb_map_active", "地図有効", "hb_claimed", "獲得済み", "hb_msg_already_active", "すでに有効な宝の地図があります。", "hb_msg_no_dig_site", "有効な発掘地点が見つかりません。別のエリアで再試行してください。", "hb_msg_map_accepted", "宝の地図を受諾しました!ミニマップのピンをたどって発掘地点へ。", "hb_msg_chest_nearby", "埋められた宝箱が近くに——開けてください!", "hb_msg_area_narrowed", "近づいています!探索範囲が{0}mに縮小。", "hb_msg_digging", "発掘中...(あと{0}回で範囲縮小)", "hb_msg_claimed_tomorrow", "宝を獲得!新しい地図は明日利用可能です。", "hb_msg_dig_swing", "発掘地点!振って掘りましょう。({0}回で範囲縮小)", "hb_msg_nearby", "宝が近くに!({0}m先)", "hb_msg_unearthed", "宝が発掘されました!宝箱を開けて報酬を受け取りましょう。", "hb_day_reset", "{0}日目 {1}:{2}後にリセット", "hb_dist_away", "{0}m先", "hb_new_in", "{0}:{1}後に更新", "hb_progress_fmt", "進捗:{0} / {1}", "hb_completed_status", "完了", "hb_dig_site", "発掘地点", "hb_dist_to_dig", "発掘地点まで{0}m", "hb_region_fmt", "地域:{0}", "hb_msg_boss_appeared", "{0}が荒野に現れました!", "hb_msg_bounty_complete", "賞金首完了:{0}!", "hb_msg_deposited", "{0}コインを銀行に預けました!", "hb_bounty_reset", "すべての賞金首がリセットされました!"); L("Korean", "hb_available", "사용 가능", "hb_active", "진행 중", "hb_completed", "완료", "hb_bounties", "현상금", "hb_select_bounty", "현상금을 선택하세요", "hb_accept", "수락", "hb_abandon", "포기", "hb_reward_options", "보상 옵션:", "hb_choose_reward", "보상을 선택하세요:", "hb_diff_easy", "난이도: 쉬움", "hb_diff_medium", "난이도: 보통", "hb_diff_hard", "난이도: 어려움", "hb_miniboss_bounty", "미니보스 현상금", "hb_raid_bounty", "습격 현상금", "hb_treasure_title", "일일 보물 지도", "hb_treasure_claimed_title", "보물 획득!", "hb_treasure_region_tbd", "지역: 수락 시 결정", "hb_treasure_desc_avail", "낡은 지도가 황야 어딘가에 묻힌 보물을 표시하고 있습니다. 지도를 수락하면 미니맵에 발굴 지점이 표시됩니다.", "hb_treasure_desc_active", "미니맵의 금색 표시를 따라 발굴 지점으로 가세요. 곡괭이를 휠두르세요 — 충분한 타격 후 탐색 범위가 좁혀져 보물이 발굴됩니다.", "hb_treasure_desc_claimed", "오늘의 보물을 획득했습니다. 일일 초기화 후 새 지도