{
  "npcs": [
    {
      "id": "job_master",
      "name": "Captain Garrett",
      "kind": "job",
      "job": "swordman",
      "pos": [
        -46,
        -8.5
      ],
      "face": 0,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#303030",
        "shirt": "#707888",
        "pants": "#6a2a2a"
      },
      "intro": "So you wish to walk the path of the sword?",
      "tip": "Keep training. Bash hard, and learn Blazing Burst once Bash reaches level 5."
    },
    {
      "id": "tool_dealer",
      "name": "Tool Dealer Mina",
      "kind": "shop",
      "pos": [
        -51,
        7
      ],
      "face": 150,
      "colors": {
        "skin": "#ffe0c8",
        "hair": "#c04040",
        "shirt": "#e8b040",
        "pants": "#604020"
      },
      "sells": [
        "tester_greatblade",
        "tester_crit_helm",
        "tester_crit_plate",
        "tester_crit_cape",
        "tester_crit_boots",
        "tester_crit_ring",
        "tester_aegis_blade",
        "tester_aegis_shield",
        "tester_staff",
        "tester_bow",
        "tester_harp",
        "tester_katar",
        "tester_blade",
        "storm_aurum_skin",
        "concentration_potion",
        "awakening_potion",
        "berserk_potion",
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "dagger",
        "cutter",
        "rod",
        "bow",
        "mace",
        "axe",
        "iron_blade",
        "cotton_shirt",
        "leather_vest",
        "hood",
        "bandana",
        "sandals",
        "clip",
        "snare_kit",
        "azure_shard",
        "crimson_shard",
        "blessed_water",
        "guard_buckler",
        "kite_shield",
        "bastion_tower_shield",
        "wooden_flute",
        "traveler_lute",
        "silver_harp",
        "iron_katana",
        "crimson_katana",
        "moonlit_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "starlit_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "dragonbreath_cannon",
        "kindling_tome",
        "ember_grimoire",
        "phoenix_rod",
        "tester_katana",
        "tester_flying_sword",
        "tester_flame_gun",
        "tester_fire_tome"
      ]
    },
    {
      "id": "healer",
      "name": "Sister Lina",
      "kind": "heal",
      "pos": [
        -43,
        7
      ],
      "face": 210,
      "colors": {
        "skin": "#ffe0c8",
        "hair": "#f0e0a0",
        "shirt": "#f0f0ff",
        "pants": "#d0d0e8"
      }
    },
    {
      "id": "keeper",
      "name": "Save Keeper Pim",
      "kind": "save",
      "pos": [
        -55,
        -3
      ],
      "face": 90,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4020",
        "shirt": "#c05080",
        "pants": "#402030"
      }
    },
    {
      "id": "guide",
      "name": "Guide Toto",
      "kind": "talk",
      "pos": [
        -33,
        3
      ],
      "face": 270,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#2a6040",
        "shirt": "#40a060",
        "pants": "#304030"
      },
      "lines": [
        "Welcome to Aldoria! Left-click the ground to walk, left-click a monster to attack.",
        "Pudding Slimes and Carrot Bunnies live just east of town. Great for beginners!",
        "Reach Job Level 10, then visit the guild masters north of the fountain to choose a job.",
        "Swordsman, Mage, Archer, Acolyte, Thief or Merchant - each master gives you a starter weapon.",
        "Keys: I = Items, E = Equipment, A = Status, K = Skills. F1-F9 or 1-9 use your hotbar.",
        "Skills that need a target: press the key, then click a monster (or the ground for area skills).",
        "Carrying too much? Over 50% weight you stop regenerating, over 90% you cannot fight.",
        "Buzzflies (north-east) attack on sight. The Pudding King rules the far east meadow...",
        "Sit with Insert to recover HP twice as fast. Hold right mouse to rotate the camera.",
        "Press Q to see your quests, Tab to enlarge the minimap. Warden Hale (east gate) has hunting jobs."
      ]
    },
    {
      "id": "mage_master",
      "name": "Magister Elowen",
      "kind": "job",
      "job": "mage",
      "pos": [
        -59,
        -7
      ],
      "face": 20,
      "colors": {
        "skin": "#ffe0c8",
        "hair": "#e8e8f0",
        "shirt": "#6a4fb0",
        "pants": "#3a2a60"
      },
      "intro": "The arcane arts call to you? Magic never misses, but you must stand still to cast.",
      "tip": "INT raises your MATK, DEX shortens your cast time. Getting hit while casting interrupts the spell."
    },
    {
      "id": "archer_master",
      "name": "Ranger Fenn",
      "kind": "job",
      "job": "archer",
      "pos": [
        -54.5,
        -8
      ],
      "face": 10,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#5a3a1a",
        "shirt": "#3f8a4a",
        "pants": "#6a5030"
      },
      "intro": "You have a steady eye. Want to learn the way of the bow?",
      "tip": "Every shot uses an arrow - Mina sells them. DEX is your damage. Keep your distance!"
    },
    {
      "id": "acolyte_master",
      "name": "Father Aldric",
      "kind": "job",
      "job": "acolyte",
      "pos": [
        -50.5,
        -8.5
      ],
      "face": 0,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#a0a0a0",
        "shirt": "#f4ecd0",
        "pants": "#b04050"
      },
      "intro": "The goddess watches over those who protect others. Will you serve as an Acolyte?",
      "tip": "Heal hurts the Undead. Blessing and Swiftness make any hunt easier."
    },
    {
      "id": "thief_master",
      "name": "Shade Kira",
      "kind": "job",
      "job": "thief",
      "pos": [
        -41.5,
        -8.5
      ],
      "face": 350,
      "colors": {
        "skin": "#e8c0a0",
        "hair": "#202028",
        "shirt": "#3a3f5a",
        "pants": "#26262e"
      },
      "intro": "Quick hands, quicker feet. Looking for work in the shadows?",
      "tip": "Daggers let Double Attack shine. Steal once from every monster - free loot!"
    },
    {
      "id": "refiner",
      "name": "Refiner Doran",
      "kind": "refine",
      "pos": [
        -47.5,
        10.5
      ],
      "face": 180,
      "colors": {
        "skin": "#d8a880",
        "hair": "#503020",
        "shirt": "#8a6a4a",
        "pants": "#3a2a20"
      },
      "sells": [
        "phracite",
        "emverite"
      ],
      "lines": [
        "Hammer and ore, that's all you need. And a little luck past the safe limit."
      ]
    },
    {
      "id": "warden",
      "name": "Warden Hale",
      "kind": "talk",
      "pos": [
        -35.5,
        -4
      ],
      "face": 250,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#7a5a30",
        "shirt": "#4a6a3a",
        "pants": "#3a3020"
      },
      "lines": [
        "I keep watch over the fields around Aldoria. Come back when you want work.",
        "Buzzflies attack on sight. If you are under level 8, stay in the meadow.",
        "Cards drop very rarely. Insert them into equipment with a free slot from your Items window.",
        "See the blue swirl at the east edge of the Fiddler Fields? Step in and it warps you to the Whisperwood Forest.",
        "Beyond the Whisperwood lie the Sunscorch Dunes. A Return Wing brings you home from anywhere."
      ]
    },
    {
      "id": "comfort_porter",
      "name": "Quartermaster Brunn",
      "kind": "talk",
      "pos": [-63.5, 6.5],
      "face": 90,
      "colors": {"skin": "#e8b890", "hair": "#5a4030", "shirt": "#8a6a3a", "pants": "#4a3a2a"},
      "lines": [
        "A good pack is a hunter's best friend. Mine are the best - and the dearest.",
        "Straps, frames, runes. Each one lets you haul more loot home. None of them come cheap.",
        "The materials I need are bound to whoever hunts them. No buying them off a friend, I'm afraid."
      ]
    },
    {
      "id": "comfort_bounty",
      "name": "Bountymaster Ysolde",
      "kind": "talk",
      "pos": [-63.5, -6.5],
      "face": 90,
      "colors": {"skin": "#f0c8a0", "hair": "#b03a2a", "shirt": "#3a4a5a", "pants": "#2a2a30"},
      "lines": [
        "The board is full of work nobody else will take. Long hunts, big guardians, rare trophies.",
        "Mini-bosses come back after a while. Patience wins bounties.",
        "Bring me proof and I pay in gold, Moonsilver and Starsteel."
      ]
    },
    {
      "id": "sanctum_keeper",
      "name": "Keeper Orrin",
      "kind": "talk",
      "pos": [-33, -9.5],
      "face": 300,
      "colors": {"skin": "#e0b890", "hair": "#d8d8e8", "shirt": "#3a3a78", "pants": "#2a2a48"},
      "lines": [
        "Beyond the gate lies a quiet glade under the stars. Only those who hold a Starlit Key may enter.",
        "The key is forged from embers of the great field guardians. It is not a small thing to ask.",
        "Inside, my old friends will bless you whenever you wish."
      ]
    },
    {
      "id": "sanctum_gate_aldoria",
      "name": "Starlit Gatewarden",
      "kind": "heal",
      "pos": [-31.5, -12.5],
      "face": 300,
      "colors": {"skin": "#d8d0f0", "hair": "#f0f0ff", "shirt": "#5a5ab0", "pants": "#3a3a70"},
      "intro": "Rest a moment, traveller. If you hold a Starlit Key, I will open the way to your sanctum.",
      "unlock_quest": "sanctum_key",
      "locked_text": "The gate stays shut: you hold no Starlit Key. Keeper Orrin can tell you how to forge one.",
      "gate": {"map": "starlit_sanctum", "at": [0, 5], "text": "The Starlit Gatewarden opens the way to your sanctum."}
    },
    {
      "id": "sanctum_amberlyn",
      "name": "Sister Amberlyn",
      "kind": "heal",
      "map": "starlit_sanctum",
      "pos": [-4.5, -2],
      "face": 30,
      "colors": {"skin": "#f0d0b0", "hair": "#f0d070", "shirt": "#f0f0f0", "pants": "#c0a060"},
      "intro": "Welcome back to the glade. Hold still - a blessing, swift feet and a guardian's ward, as often as you like.",
      "unlock_quest": "sanctum_key",
      "buffs": [["blessing", 900, 10], ["increase_agi", 900, 10], ["angelus", 900, 10]],
      "buff_text": "Blessing, Swiftness and Guardian settle on you"
    },
    {
      "id": "sanctum_tiko",
      "name": "Brewmaster Tiko",
      "kind": "heal",
      "map": "starlit_sanctum",
      "pos": [4.5, -2],
      "face": 330,
      "colors": {"skin": "#d8a878", "hair": "#402818", "shirt": "#a05030", "pants": "#503020"},
      "intro": "One Vigor brew, on the house. Your arms will thank me in the next fight.",
      "unlock_quest": "sanctum_key",
      "buffs": [["aspd_potion", 1800, 15]],
      "buff_text": "a Vigor brew warms your arms (attack speed +15%)"
    },
    {
      "id": "sanctum_sable",
      "name": "Huntress Sable",
      "kind": "heal",
      "map": "starlit_sanctum",
      "pos": [0, -5.5],
      "face": 0,
      "colors": {"skin": "#c89870", "hair": "#202830", "shirt": "#3a6040", "pants": "#2a3a2a"},
      "intro": "Breathe in, look far. Let me sharpen your eyes before you go out again.",
      "unlock_quest": "sanctum_key",
      "buffs": [["improve_concentration", 900, 10]],
      "buff_text": "Focus sharpens your eyes and feet (AGI / DEX up)"
    },
    {
      "id": "sanctum_gate_home",
      "name": "Starlit Gatewarden",
      "kind": "heal",
      "map": "starlit_sanctum",
      "pos": [0, 9.5],
      "face": 180,
      "colors": {"skin": "#d8d0f0", "hair": "#f0f0ff", "shirt": "#5a5ab0", "pants": "#3a3a70"},
      "intro": "Ready to go back? The gate opens onto Aldoria, beside Keeper Orrin.",
      "gate": {"map": "aldoria_meadows", "at": [-34.5, -12.5], "text": "The gate hums, and Aldoria's plaza opens before you."}
    },
    {
      "id": "merchant_master",
      "name": "Trader Bram",
      "kind": "job",
      "job": "merchant",
      "pos": [
        -37,
        -7.5
      ],
      "face": 340,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#8a5a20",
        "shirt": "#d8a050",
        "pants": "#6a4a2a"
      },
      "intro": "Gold makes the world go round! Ready to become a Merchant?",
      "tip": "Discount and Shrewd Seller pay for themselves. Coin Strike turns gold into damage."
    },
    {
      "id": "miner",
      "name": "Miner Dorvik",
      "kind": "talk",
      "map": "hollowroot_caverns",
      "pos": [
        -51,
        -4.5
      ],
      "face": 200,
      "colors": {
        "skin": "#e8b890",
        "hair": "#503020",
        "shirt": "#a07040",
        "pants": "#404048"
      },
      "lines": [
        "Welcome to Hollowroot Caverns. Mind your head - and your back. The dead don't stay put down here.",
        "Rattlebones, Drowsy Ghouls, Bone Guards... all Undead. Holy magic and a Heal spell hurt them badly.",
        "Flitterfangs are Shadow element. Bone Archers shoot from far away - close the gap fast.",
        "The Wailing Shade haunts the Weeping Sanctum in the far south-east. It's a Ghost: plain weapons barely touch it.",
        "The torches mark the old tunnels. If you get lost, the blue warp by this camp leads back to the Whisperwood."
      ]
    },
    {
      "id": "knight_master",
      "name": "Commander Roderic",
      "kind": "job",
      "job": "knight",
      "pos": [
        -56.0,
        -1.5
      ],
      "face": 90,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#4a3020",
        "shirt": "#5d6a86",
        "pants": "#3a2a50"
      },
      "intro": "A Swordsman who has seen real battle? The order needs riders of steel. Serve as a Knight?",
      "tip": "Greatblade Frenzy needs a two-handed sword; the lance arts need a spear. Riposte Stance turns their blows against them."
    },
    {
      "id": "wizard_master",
      "name": "Archmage Seraphine",
      "kind": "job",
      "job": "wizard",
      "pos": [
        -56.0,
        1.8
      ],
      "face": 90,
      "colors": {
        "skin": "#ffe0c8",
        "hair": "#f0f0ff",
        "shirt": "#4a2f8a",
        "pants": "#2a1f50"
      },
      "intro": "Bolts and walls are a beginning. Storms, meteors and frozen fields are the rest. Will you become a Wizard?",
      "tip": "Big spells take long to cast: let a friend hold them, or strike from far away. Glacier Gale freezes, Mire Pool slows."
    },
    {
      "id": "hunter_master",
      "name": "Huntmaster Tove",
      "kind": "job",
      "job": "hunter",
      "pos": [
        -40.0,
        1.8
      ],
      "face": 270,
      "colors": {
        "skin": "#e8c0a0",
        "hair": "#6a4020",
        "shirt": "#4f7a3a",
        "pants": "#5a4028"
      },
      "intro": "Arrows are only half of the hunt. Traps and a falcon are the other half. Ready to be a Hunter?",
      "tip": "Mina sells Snare Kits. Lay traps where monsters walk; learn Falcon Bond and your falcon strikes on its own when you are lucky."
    },
    {
      "id": "priest_master",
      "name": "High Priestess Maren",
      "kind": "job",
      "job": "priest",
      "pos": [
        -40.0,
        -1.5
      ],
      "face": 270,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#d8c8a0",
        "shirt": "#f4eee0",
        "pants": "#7a2a3a"
      },
      "intro": "You have served well, Acolyte. The chapel would ordain you as a Priest. Do you accept?",
      "tip": "Aegis of Mercy shields, Hallowed Ground heals everyone in it, and Sacred Lattice burns the dead. Azure Shards are at Mina's."
    },
    {
      "id": "assassin_master",
      "name": "Vesk the Quiet",
      "kind": "job",
      "job": "assassin",
      "pos": [
        -53.0,
        4.8
      ],
      "face": 135,
      "colors": {
        "skin": "#e0b898",
        "hair": "#18181e",
        "shirt": "#3a2a3a",
        "pants": "#6a1a2a"
      },
      "intro": "...You move well. The guild could use someone like you. Become an Assassin?",
      "tip": "Katars double your critical chance and add an extra cut on every swing. Veil Step, then Shadow Spikes from the dark."
    },
    {
      "id": "blacksmith_master",
      "name": "Forgemaster Halvard",
      "kind": "job",
      "job": "blacksmith",
      "pos": [
        -43.0,
        4.8
      ],
      "face": 225,
      "colors": {
        "skin": "#d8a880",
        "hair": "#8a3a1a",
        "shirt": "#7a5a3a",
        "pants": "#3a3030"
      },
      "intro": "A merchant with strong arms and an eye for steel. The forge guild wants you. Take up the hammer as a Blacksmith?",
      "tip": "Battle Fervor needs an axe or a mace. Mighty Swing and True Edge help your whole party. Full Force ends by itself after a while - switch it on for a big fight."
    },
    {
      "id": "warper_aldoria",
      "name": "Warper Lulu",
      "kind": "warp",
      "pos": [
        -34.5,
        8
      ],
      "face": 220,
      "colors": {
        "skin": "#ffe0c8",
        "hair": "#f0a0c0",
        "shirt": "#5a8ad0",
        "pants": "#2a3a60"
      },
      "intro": "Lulu's Warp Circle! Bamboo, rice balls and quiet mornings - Hanamura is just one hop away.",
      "warps": [
        {
          "map": "hanamura",
          "at": [
            -27.5,
            -1.0
          ],
          "fee": 800,
          "name": "Hanamura"
        },
        {"map": "sugarplum", "at": [-4, -1], "fee": 500, "name": "Sugarplum"},
        {"map": "brightwater", "at": [-4, -22], "fee": 500, "name": "Brightwater"},
        {"map": "snowbell", "at": [-4, -2.5], "fee": 700, "name": "Snowbell"},
        {"map": "toyholm", "at": [-27, -2], "fee": 900, "name": "Toyholm"},
        {"map": "crownhaven", "at": [-23, 2], "fee": 400, "name": "Crownhaven (Capital)"}
      ]
    },
    {
      "id": "warper_hanamura",
      "name": "Warper Suzu",
      "kind": "warp",
      "map": "hanamura",
      "pos": [
        -30,
        -5.5
      ],
      "face": 20,
      "colors": {
        "skin": "#ffe6c8",
        "hair": "#2a2030",
        "shirt": "#c84a3a",
        "pants": "#3a2a40"
      },
      "intro": "Hanamura Warp Service! Step onto my circle and you're in Aldoria before you can sneeze. No refunds for dizziness.",
      "warps": [
        {
          "map": "aldoria_meadows",
          "at": [
            -36,
            6
          ],
          "fee": 800,
          "name": "Aldoria"
        },
        {"map": "sugarplum", "at": [-4, -1], "fee": 500, "name": "Sugarplum"},
        {"map": "brightwater", "at": [-4, -22], "fee": 500, "name": "Brightwater"},
        {"map": "snowbell", "at": [-4, -2.5], "fee": 700, "name": "Snowbell"},
        {"map": "toyholm", "at": [-27, -2], "fee": 900, "name": "Toyholm"},
        {"map": "crownhaven", "at": [-23, 2], "fee": 400, "name": "Crownhaven (Capital)"}
      ]
    },
    {
      "id": "hanamura_guide",
      "name": "Guide Momo",
      "kind": "talk",
      "map": "hanamura",
      "pos": [
        -42,
        5
      ],
      "face": 220,
      "colors": {
        "skin": "#f8dcc0",
        "hair": "#6a3a2a",
        "shirt": "#6aa84a",
        "pants": "#3a4a2a"
      },
      "lines": [
        "Welcome to Hanamura, traveller! Our village grew up among the bamboo - mind the stalks, they don't move for anyone.",
        "Tomo's stall on the main street has the usual supplies, plus rice balls you won't find in Aldoria.",
        "Talk to Save Keeper Hiro in the square to make Hanamura your home. Return Wings will bring you back here.",
        "Warper Suzu by the gate can send you to Aldoria in a blink - for a small fee, of course.",
        "The Outskirts start past the west gate: Leafcoils and wolves by Viper Grove, Knobble Imps at the crossing.",
        "Totem Chiefs never take a single step, but their clubs reach far. Keep away from Totem Ridge until you're about level 35.",
        "They say a fox with nine tails naps by the little shrine in the east of the Outskirts. Please don't wake it.",
        "The old mine tunnel in the north-east of the Outskirts leads down into the Hollowroot Caverns.",
        "Ranger Kaede by the blossom tree always needs a hand keeping the trails safe."
      ]
    },
    {
      "id": "hanamura_tool",
      "name": "Tool Dealer Tomo",
      "kind": "shop",
      "map": "hanamura",
      "pos": [
        -17,
        -5.8
      ],
      "face": 0,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#1a1a22",
        "shirt": "#d09040",
        "pants": "#4a3020"
      },
      "sells": [
        "tester_greatblade",
        "tester_crit_helm",
        "tester_crit_plate",
        "tester_crit_cape",
        "tester_crit_boots",
        "tester_crit_ring",
        "tester_aegis_blade",
        "tester_aegis_shield",
        "tester_staff",
        "tester_bow",
        "tester_harp",
        "tester_katar",
        "tester_blade",
        "storm_aurum_skin",
        "concentration_potion",
        "awakening_potion",
        "berserk_potion",
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "dagger",
        "cutter",
        "rod",
        "bow",
        "mace",
        "axe",
        "iron_blade",
        "cotton_shirt",
        "leather_vest",
        "hood",
        "bandana",
        "sandals",
        "clip",
        "snare_kit",
        "azure_shard",
        "crimson_shard",
        "blessed_water",
        "rice_ball",
        "bamboo_bow",
        "guard_buckler",
        "kite_shield",
        "bastion_tower_shield",
        "wooden_flute",
        "traveler_lute",
        "silver_harp",
        "iron_katana",
        "crimson_katana",
        "moonlit_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "starlit_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "dragonbreath_cannon",
        "kindling_tome",
        "ember_grimoire",
        "phoenix_rod",
        "tester_katana",
        "tester_flying_sword",
        "tester_flame_gun",
        "tester_fire_tome"
      ]
    },
    {
      "id": "hanamura_healer",
      "name": "Healer Ayame",
      "kind": "heal",
      "map": "hanamura",
      "pos": [
        7,
        5.6
      ],
      "face": 180,
      "colors": {
        "skin": "#ffe6d0",
        "hair": "#20202a",
        "shirt": "#f4f0f8",
        "pants": "#c84a50"
      }
    },
    {
      "id": "hanamura_keeper",
      "name": "Save Keeper Hiro",
      "kind": "save",
      "map": "hanamura",
      "pos": [
        -5,
        -5.6
      ],
      "face": 0,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#4a3020",
        "shirt": "#4a7a9a",
        "pants": "#2a3040"
      }
    },
    {
      "id": "hanamura_refiner",
      "name": "Refiner Gen",
      "kind": "refine",
      "map": "hanamura",
      "pos": [
        9.5,
        -5.4
      ],
      "face": 330,
      "colors": {
        "skin": "#d8a880",
        "hair": "#c8c8c8",
        "shirt": "#6a5040",
        "pants": "#302820"
      },
      "sells": [
        "phracite",
        "emverite"
      ],
      "lines": [
        "Bamboo bends, steel should not. Bring me your gear and a little courage past the safe limit."
      ]
    },
    {
      "id": "ranger_kaede",
      "name": "Ranger Kaede",
      "kind": "talk",
      "map": "hanamura",
      "pos": [
        -8,
        6.4
      ],
      "face": 180,
      "colors": {
        "skin": "#f8d8b8",
        "hair": "#3a2418",
        "shirt": "#3f7a4a",
        "pants": "#5a4030"
      },
      "lines": [
        "The Outskirts trails used to be quiet. Now imps pinch our lanterns and the totems grumble all night.",
        "I keep the paths between here and the Whisperwood open. Adventurers who help get paid in rice and ore."
      ]
    },
    {
      "id": "blossom_ranger",
      "name": "Ranger Pell",
      "kind": "talk",
      "map": "blossom_meadows",
      "pos": [5, -71],
      "face": 200,
      "colors": {"skin": "#f0c8a0", "hair": "#e8a0c0", "shirt": "#6a9a4a", "pants": "#4a3a2a"},
      "lines": [
        "Welcome to the Blossom Meadows. Pretty, isn't it? Don't let it fool you - everything here bites.",
        "Every creature in these fields attacks on sight. Bring plenty of potions and a Return Wing.",
        "The Thornbloom Matron sleeps in the garden at the far north. Wake her only if you're ready."
      ]
    },
    {
      "id": "frost_trapper",
      "name": "Trapper Olin",
      "kind": "talk",
      "map": "frostveil_tundra",
      "pos": [-71, 6],
      "face": 110,
      "colors": {"skin": "#e8c0a0", "hair": "#f0f0f0", "shirt": "#4a6a8a", "pants": "#3a3a48"},
      "lines": [
        "Cold enough for you? Keep moving, or the frost gets into your boots.",
        "The ice on the lakes holds - walk on it if you like. The Stalkers on the ridge hunt anything that moves.",
        "North of here the Frostveil Hollow cuts into the glacier. Something big snores in there."
      ]
    },
    {
      "id": "tusk_scout",
      "name": "Scout Brenna",
      "kind": "talk",
      "map": "tuskhollow_wilds",
      "pos": [
        -67,
        6
      ],
      "face": 110,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4a30",
        "shirt": "#90b060",
        "pants": "#3a3028"
      },
      "lines": [
        "Tuskers hunt in bands here. Keep your back to a tree.",
        "The Coalvein Pit opens in the north ridge - the old miners never came back."
      ]
    },
    {
      "id": "marsh_warden",
      "name": "Warden Isolde",
      "kind": "talk",
      "map": "mirelight_marsh",
      "pos": [
        -67,
        6
      ],
      "face": 110,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4a30",
        "shirt": "#70b080",
        "pants": "#3a3028"
      },
      "lines": [
        "Mind the water - the Webmothers nest under the roots.",
        "The Hexspire Tower rose out of the bog one night. Nobody built it."
      ]
    },
    {
      "id": "dune_guide",
      "name": "Guide Harun",
      "kind": "talk",
      "map": "sandglass_expanse",
      "pos": [
        -67,
        6
      ],
      "face": 110,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4a30",
        "shirt": "#c07040",
        "pants": "#3a3028"
      },
      "lines": [
        "Drink before you are thirsty, and never chase a Dune Blade into the dunes.",
        "The Tomb of the Sun King lies under the northern cliff. Its priest still keeps watch."
      ]
    },
    {
      "id": "heights_keeper",
      "name": "Keeper Aldous",
      "kind": "talk",
      "map": "clockwind_heights",
      "pos": [
        -67,
        6
      ],
      "face": 110,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4a30",
        "shirt": "#3080c0",
        "pants": "#3a3028"
      },
      "lines": [
        "The wind up here never stops. The Rustwing Drakes love it.",
        "Below the old chapel lies the Grimhallow Crypt. The dead there march in step."
      ]
    },
    {
      "id": "cliff_hermit",
      "name": "Hermit Solveig",
      "kind": "talk",
      "map": "stormreach_cliffs",
      "pos": [
        -67,
        6
      ],
      "face": 110,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4a30",
        "shirt": "#a08040",
        "pants": "#3a3028"
      },
      "lines": [
        "Storms break on these cliffs every hour. The drakes ride them.",
        "Down the stair by the lighthouse ruins is the Tidecall Grotto. The sea sings in there."
      ]
    },
    {
      "id": "scar_watcher",
      "name": "Watcher Ivo",
      "kind": "talk",
      "map": "twilight_scar",
      "pos": [
        -67,
        6
      ],
      "face": 110,
      "colors": {
        "skin": "#f0c8a0",
        "hair": "#6a4a30",
        "shirt": "#604890",
        "pants": "#3a3028"
      },
      "lines": [
        "Nothing grows in the Scar. Nothing good walks it either.",
        "The Hall of the Fallen is where the old champions ended. They still fight in there."
      ]
    },
    {
      "id": "reef_diver",
      "name": "Diver Maelis",
      "kind": "talk",
      "map": "sunken_reef",
      "pos": [-71, 6],
      "face": 110,
      "colors": {"skin": "#e8c0a0", "hair": "#2a6a70", "shirt": "#2a8a90", "pants": "#1a3a48"},
      "lines": [
        "Breathe slow, move slow. Down here everything drifts - except the things that bite.",
        "The old wreck to the east still has its hold sealed. The crew never left it.",
        "Mind the Reef Serpents in the deep water to the east. They strike from the kelp."
      ]
    },
    {
      "id": "caldera_warden",
      "name": "Ash Warden Tovi",
      "kind": "talk",
      "map": "cinder_caldera",
      "pos": [6, 71],
      "face": 200,
      "colors": {"skin": "#d8a078", "hair": "#303030", "shirt": "#8a3a20", "pants": "#302420"},
      "lines": [
        "Don't step in the glowing stuff. It eats through boots, then feet, then you.",
        "The river has a gap in the middle - cross there, or run fast and pray.",
        "Something with horns bigger than a house lives down in the Magma Core. We hear it bellow at night."
      ]
    },
    {
      "id": "necro_keeper",
      "name": "Gravekeeper Ysolde",
      "kind": "talk",
      "map": "hollowspire_necropolis",
      "pos": [-68, -6],
      "face": 90,
      "colors": {"skin": "#e8d0c0", "hair": "#d8d8e8", "shirt": "#504868", "pants": "#282430"},
      "lines": [
        "Stay near the golden fires. The dead hate that light - it burns them, though never quite to ash.",
        "Lead them into a ring and let the flame soften them. Then finish the work yourself.",
        "Priests do well here. Blessed Water on a blade does even better."
      ]
    },
    {
      "id": "sugarplum_warp",
      "name": "Warper Taffy",
      "kind": "warp",
      "map": "sugarplum",
      "pos": [-7, -4],
      "face": 90,
      "colors": {"skin": "#ffe6d8", "hair": "#ff90c0", "shirt": "#80d0c0", "pants": "#5a4a8a"},
      "intro": "Sugarplum Sky Hops! One sprinkle of stardust and off you go. Where to, sweetie?",
      "warps": [
        {"map": "aldoria_meadows", "at": [-36, 6], "fee": 600, "name": "Aldoria"},
        {"map": "hanamura", "at": [-27.5, -1.0], "fee": 800, "name": "Hanamura"},
        {"map": "snowbell", "at": [-4, -2.5], "fee": 700, "name": "Snowbell"},
        {"map": "toyholm", "at": [-27, -2], "fee": 900, "name": "Toyholm"},
        {"map": "brightwater", "at": [-4, -22], "fee": 500, "name": "Brightwater"},
        {"map": "crownhaven", "at": [-23, 2], "fee": 400, "name": "Crownhaven (Capital)"}
      ]
    },
    {
      "id": "sugarplum_tool",
      "name": "Tool Dealer Bonbon",
      "kind": "shop",
      "map": "sugarplum",
      "pos": [7, -4.5],
      "face": 270,
      "colors": {"skin": "#ffe0cc", "hair": "#6a3a2a", "shirt": "#ff9ec8", "pants": "#6a4a3a"},
      "sells": [
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "concentration_potion",
        "awakening_potion",
        "sugar_cookie"
      ]
    },
    {
      "id": "sugarplum_equip",
      "name": "Outfitter Praline",
      "kind": "shop",
      "map": "sugarplum",
      "pos": [7, 5],
      "face": 270,
      "colors": {"skin": "#f0c8a0", "hair": "#2a1a1a", "shirt": "#c89050", "pants": "#4a3020"},
      "sells": [
        "iron_blade",
        "guard_buckler",
        "kite_shield",
        "rod",
        "bow",
        "mace",
        "wooden_flute",
        "traveler_lute",
        "cutter",
        "iron_katana",
        "crimson_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "kindling_tome",
        "ember_grimoire",
        "cotton_shirt",
        "leather_vest",
        "explorer_suit",
        "hood",
        "bandana",
        "sandals",
        "sturdy_shoes",
        "ribbon",
        "sun_hat",
        "gumdrop_beret"
      ],
      "lines": [
        "Everything a young adventurer needs. Try the local hat - it's our town's pride."
      ]
    },
    {
      "id": "sugarplum_inn",
      "name": "Innkeeper Meringue",
      "kind": "heal",
      "map": "sugarplum",
      "pos": [-7, 5],
      "face": 90,
      "colors": {"skin": "#ffe6d0", "hair": "#fff0d0", "shirt": "#fff8f0", "pants": "#e07090"},
      "intro": "A slice of cake and a nap on a marshmallow bed. You're all patched up!"
    },
    {
      "id": "sugarplum_save",
      "name": "Save Keeper Fondant",
      "kind": "save",
      "map": "sugarplum",
      "pos": [-3, -8],
      "face": 20,
      "colors": {"skin": "#f8dcc0", "hair": "#b06a3a", "shirt": "#a0d8f0", "pants": "#4a4a6a"}
    },
    {
      "id": "sugarplum_guide",
      "name": "Guide Nougat",
      "kind": "talk",
      "map": "sugarplum",
      "pos": [4, 30],
      "face": 180,
      "colors": {"skin": "#f8d8c0", "hair": "#e0a040", "shirt": "#f0e070", "pants": "#6a5a3a"},
      "lines": [
        "Welcome to Sugarplum! Please don't lick the houses. We have to ask.",
        "Bonbon's stall sells Sugar Cookies - cheap, sweet, and they heal a little.",
        "Talk to Fondant by the cake fountain to make Sugarplum your home.",
        "Gumdrop Glade lies south, on the road back to Aldoria. Candyfloss Flutters and Cocoa Bunnies are harmless.",
        "Lollipop Snappers never move, but they bite anything that walks too close.",
        "Somebody sings every night at the Caramel Stage in the south-east. Beautifully. Loudly. Painfully."
      ]
    },
    {
      "id": "sugarplum_quest",
      "name": "Baker Crumble",
      "kind": "talk",
      "map": "sugarplum",
      "pos": [3.5, -8],
      "face": 340,
      "colors": {"skin": "#f4d4b8", "hair": "#8a5a3a", "shirt": "#fff4e8", "pants": "#c07040"},
      "lines": [
        "My marshmallow supply has gone feral. They bounce away when I try to collect them!",
        "Help me out and I'll bake you something nice."
      ]
    },
    {
      "id": "brightwater_warp",
      "name": "Warper Marisa",
      "kind": "warp",
      "map": "brightwater",
      "pos": [-7, -19],
      "face": 60,
      "colors": {"skin": "#ffe6d8", "hair": "#40b0c0", "shirt": "#f4f8ff", "pants": "#2a4a80"},
      "intro": "Brightwater Ferry of the Skies! No boat needed. Where shall the current take you?",
      "warps": [
        {"map": "aldoria_meadows", "at": [-36, 6], "fee": 600, "name": "Aldoria"},
        {"map": "hanamura", "at": [-27.5, -1.0], "fee": 800, "name": "Hanamura"},
        {"map": "snowbell", "at": [-4, -2.5], "fee": 700, "name": "Snowbell"},
        {"map": "sugarplum", "at": [-4, -1], "fee": 500, "name": "Sugarplum"},
        {"map": "toyholm", "at": [-27, -2], "fee": 900, "name": "Toyholm"},
        {"map": "crownhaven", "at": [-23, 2], "fee": 400, "name": "Crownhaven (Capital)"}
      ]
    },
    {
      "id": "brightwater_tool",
      "name": "Tool Dealer Coral",
      "kind": "shop",
      "map": "brightwater",
      "pos": [-8, -9],
      "face": 90,
      "colors": {"skin": "#ffe0cc", "hair": "#e06040", "shirt": "#40a0d0", "pants": "#3a3a50"},
      "sells": [
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "concentration_potion",
        "awakening_potion",
        "river_trout"
      ]
    },
    {
      "id": "brightwater_equip",
      "name": "Outfitter Anchor",
      "kind": "shop",
      "map": "brightwater",
      "pos": [8, -9],
      "face": 270,
      "colors": {"skin": "#e8b890", "hair": "#2a2a30", "shirt": "#2a4a80", "pants": "#303038"},
      "sells": [
        "iron_blade",
        "guard_buckler",
        "kite_shield",
        "rod",
        "bow",
        "mace",
        "wooden_flute",
        "traveler_lute",
        "cutter",
        "iron_katana",
        "crimson_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "kindling_tome",
        "ember_grimoire",
        "cotton_shirt",
        "leather_vest",
        "explorer_suit",
        "hood",
        "bandana",
        "sandals",
        "sturdy_shoes",
        "ribbon",
        "sun_hat",
        "sailor_cap"
      ],
      "lines": [
        "Everything a young adventurer needs. Try the local hat - it's our town's pride."
      ]
    },
    {
      "id": "brightwater_inn",
      "name": "Innkeeper Lagoon",
      "kind": "heal",
      "map": "brightwater",
      "pos": [7, -19],
      "face": 300,
      "colors": {"skin": "#ffe6d0", "hair": "#6a4a2a", "shirt": "#f0e8d0", "pants": "#2a7a8a"},
      "intro": "Fresh sheets and the sound of the canals. Rested and restored!"
    },
    {
      "id": "brightwater_save",
      "name": "Save Keeper Wren",
      "kind": "save",
      "map": "brightwater",
      "pos": [-3, -5],
      "face": 0,
      "colors": {"skin": "#f8dcc0", "hair": "#3a2a20", "shirt": "#e0c060", "pants": "#3a4a6a"}
    },
    {
      "id": "brightwater_guide",
      "name": "Guide Oarsby",
      "kind": "talk",
      "map": "brightwater",
      "pos": [4, -38],
      "face": 180,
      "colors": {"skin": "#f8d8c0", "hair": "#8a6a4a", "shirt": "#e0e8f0", "pants": "#2a4a6a"},
      "lines": [
        "Welcome to Brightwater! Mind the canals - the bridges are the only dry way across.",
        "Coral sells Grilled River Trout by the fountain. Best in the kingdom, she says.",
        "Talk to Wren by the fountain to make Brightwater your home.",
        "Reedwater Banks lies north, toward Aldoria. Croakers by the ponds, crawdads further south.",
        "Tidepool Tendrils never move, but step inside their reach and they sting.",
        "A frog in a crown bosses the eastern landing. He calls himself the Bargelord."
      ]
    },
    {
      "id": "brightwater_quest",
      "name": "Harbormaster Neri",
      "kind": "talk",
      "map": "brightwater",
      "pos": [3.5, -5],
      "face": 0,
      "colors": {"skin": "#e8b890", "hair": "#c8c8d0", "shirt": "#2a5a8a", "pants": "#303038"},
      "lines": [
        "The crawdads have been snipping mooring ropes all week. Boats are drifting everywhere!",
        "Lend a hand and the harbor will make it worth your while."
      ]
    },
    {
      "id": "snowbell_warp",
      "name": "Warper Pip",
      "kind": "warp",
      "map": "snowbell",
      "pos": [-4, -5.5],
      "face": 0,
      "colors": {"skin": "#ffe6d8", "hair": "#f4f4ff", "shirt": "#4a7ad0", "pants": "#2a3a60"},
      "intro": "Brr! Snowbell Warp Service. Pick a town - I promise the other end is warmer.",
      "warps": [
        {"map": "aldoria_meadows", "at": [-36, 6], "fee": 600, "name": "Aldoria"},
        {"map": "hanamura", "at": [-27.5, -1.0], "fee": 800, "name": "Hanamura"},
        {"map": "sugarplum", "at": [-4, -1], "fee": 500, "name": "Sugarplum"},
        {"map": "toyholm", "at": [-27, -2], "fee": 900, "name": "Toyholm"},
        {"map": "brightwater", "at": [-4, -22], "fee": 500, "name": "Brightwater"},
        {"map": "crownhaven", "at": [-23, 2], "fee": 400, "name": "Crownhaven (Capital)"}
      ]
    },
    {
      "id": "snowbell_tool",
      "name": "Tool Dealer Brinna",
      "kind": "shop",
      "map": "snowbell",
      "pos": [12, -5.8],
      "face": 0,
      "colors": {"skin": "#ffe0cc", "hair": "#a0522d", "shirt": "#c84040", "pants": "#503030"},
      "sells": [
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "concentration_potion",
        "awakening_potion",
        "hot_cocoa"
      ]
    },
    {
      "id": "snowbell_equip",
      "name": "Outfitter Holt",
      "kind": "shop",
      "map": "snowbell",
      "pos": [22, 5.8],
      "face": 180,
      "colors": {"skin": "#f0c8a0", "hair": "#3a2a20", "shirt": "#5a7a5a", "pants": "#3a3028"},
      "sells": [
        "iron_blade",
        "guard_buckler",
        "kite_shield",
        "rod",
        "bow",
        "mace",
        "wooden_flute",
        "traveler_lute",
        "cutter",
        "iron_katana",
        "crimson_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "kindling_tome",
        "ember_grimoire",
        "cotton_shirt",
        "leather_vest",
        "explorer_suit",
        "hood",
        "bandana",
        "sandals",
        "sturdy_shoes",
        "ribbon",
        "sun_hat",
        "bobble_hat"
      ],
      "lines": [
        "Everything a young adventurer needs. Try the local hat - it's our town's pride."
      ]
    },
    {
      "id": "snowbell_inn",
      "name": "Innkeeper Marta",
      "kind": "heal",
      "map": "snowbell",
      "pos": [-12, 6],
      "face": 180,
      "colors": {"skin": "#ffe6d0", "hair": "#d8d0c8", "shirt": "#e8d8b0", "pants": "#8a4a3a"},
      "intro": "Warm your toes by the stove, dear. There - good as new."
    },
    {
      "id": "snowbell_save",
      "name": "Bellkeeper Rune",
      "kind": "save",
      "map": "snowbell",
      "pos": [-12, -6],
      "face": 0,
      "colors": {"skin": "#f8dcc0", "hair": "#6a4a2a", "shirt": "#3a5a8a", "pants": "#2a2a3a"}
    },
    {
      "id": "snowbell_guide",
      "name": "Guide Sven",
      "kind": "talk",
      "map": "snowbell",
      "pos": [40, 5],
      "face": 270,
      "colors": {"skin": "#f8d8c0", "hair": "#e0c070", "shirt": "#2a6aa0", "pants": "#3a3a4a"},
      "lines": [
        "Welcome to Snowbell! Our bell rings at noon so the whole valley knows lunch is ready.",
        "Brinna's stall sells Hot Cocoa. Trust me, you want Hot Cocoa.",
        "Ring the Bellkeeper to make Snowbell your home - Return Wings will bring you back here.",
        "The Snowbell Slopes lie east, on the way back to Aldoria. Moths and pups near the road, goblins to the north.",
        "Mitten Yetis wander the southern ridge. Leave them alone until you're about level 28.",
        "A stag with antlers of ice roams the far north-west glen. Hunters come back... slower."
      ]
    },
    {
      "id": "snowbell_quest",
      "name": "Ranger Ilka",
      "kind": "talk",
      "map": "snowbell",
      "pos": [2, 6],
      "face": 180,
      "colors": {"skin": "#f4d4b8", "hair": "#c04030", "shirt": "#6a8a4a", "pants": "#4a3a2a"},
      "lines": [
        "The goblins stole every mitten in Snowbell. Every. Single. One.",
        "Keep the slopes safe and I'll keep your pockets full."
      ]
    },
    {
      "id": "toyholm_warp",
      "name": "Warper Tick",
      "kind": "warp",
      "map": "toyholm",
      "pos": [-30, -5.5],
      "face": 0,
      "colors": {"skin": "#ffe6d8", "hair": "#303040", "shirt": "#e04040", "pants": "#3050a0"},
      "intro": "Tick-tock, Toyholm Warp Clock! Wind the key, pick a town, and whoosh.",
      "warps": [
        {"map": "aldoria_meadows", "at": [-36, 6], "fee": 600, "name": "Aldoria"},
        {"map": "hanamura", "at": [-27.5, -1.0], "fee": 800, "name": "Hanamura"},
        {"map": "snowbell", "at": [-4, -2.5], "fee": 700, "name": "Snowbell"},
        {"map": "sugarplum", "at": [-4, -1], "fee": 500, "name": "Sugarplum"},
        {"map": "brightwater", "at": [-4, -22], "fee": 500, "name": "Brightwater"},
        {"map": "crownhaven", "at": [-23, 2], "fee": 400, "name": "Crownhaven (Capital)"}
      ]
    },
    {
      "id": "toyholm_tool",
      "name": "Tool Dealer Spindle",
      "kind": "shop",
      "map": "toyholm",
      "pos": [-17, -5.8],
      "face": 0,
      "colors": {"skin": "#ffe0cc", "hair": "#e08030", "shirt": "#f0c030", "pants": "#3050a0"},
      "sells": [
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "concentration_potion",
        "awakening_potion",
        "butter_toffee"
      ]
    },
    {
      "id": "toyholm_equip",
      "name": "Outfitter Cogsworth",
      "kind": "shop",
      "map": "toyholm",
      "pos": [-3, 5.8],
      "face": 180,
      "colors": {"skin": "#f0c8a0", "hair": "#c8c8c8", "shirt": "#3a6ac0", "pants": "#303040"},
      "sells": [
        "iron_blade",
        "guard_buckler",
        "kite_shield",
        "rod",
        "bow",
        "mace",
        "wooden_flute",
        "traveler_lute",
        "cutter",
        "iron_katana",
        "crimson_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "kindling_tome",
        "ember_grimoire",
        "cotton_shirt",
        "leather_vest",
        "explorer_suit",
        "hood",
        "bandana",
        "sandals",
        "sturdy_shoes",
        "ribbon",
        "sun_hat",
        "paper_crown"
      ],
      "lines": [
        "Everything a young adventurer needs. Try the local hat - it's our town's pride."
      ]
    },
    {
      "id": "toyholm_inn",
      "name": "Innkeeper Dolly",
      "kind": "heal",
      "map": "toyholm",
      "pos": [9, -6],
      "face": 0,
      "colors": {"skin": "#ffe6d0", "hair": "#f0d060", "shirt": "#ff90b0", "pants": "#6a3a5a"},
      "intro": "Lie down on the big pillow fort. There you go - wound up and ready to roll!"
    },
    {
      "id": "toyholm_save",
      "name": "Save Keeper Ratchet",
      "kind": "save",
      "map": "toyholm",
      "pos": [9, 6],
      "face": 180,
      "colors": {"skin": "#f8dcc0", "hair": "#4a3020", "shirt": "#40a060", "pants": "#303030"}
    },
    {
      "id": "toyholm_guide",
      "name": "Guide Pinwheel",
      "kind": "talk",
      "map": "toyholm",
      "pos": [-42, 5],
      "face": 270,
      "colors": {"skin": "#f8d8c0", "hair": "#3a2a20", "shirt": "#40b0e0", "pants": "#e04040"},
      "lines": [
        "Welcome to Toyholm, where every toy gets a second chance!",
        "Spindle's stall sells Tins of Toffee - they heal and they rattle nicely.",
        "Ratchet by the Toybox Tower can make Toyholm your home.",
        "Windup Meadow lies west, toward the Sunscorch Dunes. Mice and ponies near the road.",
        "Tin Robos on the south-east range shoot springs from far away. Close in fast.",
        "A jester lives in a giant box in the far south-east. Do not turn the crank."
      ]
    },
    {
      "id": "toyholm_quest",
      "name": "Toymaker Gepp",
      "kind": "talk",
      "map": "toyholm",
      "pos": [-17, 6],
      "face": 180,
      "colors": {"skin": "#f4d4b8", "hair": "#e8e8e8", "shirt": "#8a5a3a", "pants": "#3a2a2a"},
      "lines": [
        "My runaway toys! They wound themselves up and marched off into the meadow.",
        "Bring them back - well, bring back their parts - and I'll pay you well."
      ]
    },
    {
      "id": "crownhaven_warp",
      "name": "Grand Warper Celestine",
      "kind": "warp",
      "map": "crownhaven",
      "pos": [-27, -5],
      "face": 90,
      "colors": {"skin": "#ffe6d8", "hair": "#f0d070", "shirt": "#3a5ab8", "pants": "#2a2a50"},
      "warps": [
        {"map": "aldoria_meadows", "at": [-36, 6], "fee": 600, "name": "Aldoria"},
        {"map": "hanamura", "at": [-27.5, -1.0], "fee": 800, "name": "Hanamura"},
        {"map": "snowbell", "at": [-4, -2.5], "fee": 700, "name": "Snowbell"},
        {"map": "sugarplum", "at": [-4, -1], "fee": 500, "name": "Sugarplum"},
        {"map": "toyholm", "at": [-27, -2], "fee": 900, "name": "Toyholm"},
        {"map": "brightwater", "at": [-4, -22], "fee": 500, "name": "Brightwater"}
      ],
      "intro": "Welcome to the Crownhaven Warp Hub! Every town of the realm is one step away. Where shall the crystals send you?"
    },
    {
      "id": "crownhaven_save",
      "name": "Save Keeper Rowan",
      "kind": "save",
      "map": "crownhaven",
      "pos": [-27, 5],
      "face": 90,
      "colors": {"skin": "#f8dcc0", "hair": "#4a3020", "shirt": "#c8a040", "pants": "#303a5a"}
    },
    {
      "id": "crownhaven_bank",
      "name": "Banker Aurelio",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [-12, -26],
      "face": 90,
      "colors": {"skin": "#f0c8a0", "hair": "#c8c8c8", "shirt": "#2a4a80", "pants": "#302a28"},
      "life": "helper",
      "helper_tab": "store",
      "lines": [
        "The Grand Bank keeps your goods safe - shared by all your heroes.",
        "Deposit, withdraw, and mind the gold."
      ]
    },
    {
      "id": "crownhaven_guild",
      "name": "Guildmaster Brannoc",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [4, -31],
      "face": 0,
      "colors": {"skin": "#e8b890", "hair": "#6a3a2a", "shirt": "#8a2a30", "pants": "#3a2a2a"},
      "lines": [
        "The Guild Hall of Crownhaven. Adventurers' guilds will register here - the charters are being drawn up.",
        "Gather your friends at the Party Square to the south and seek glory together!",
        "Every famous party started with a handshake on this plaza."
      ]
    },
    {
      "id": "crownhaven_herald",
      "name": "Herald Maren",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [10.5, 8.5],
      "face": 225,
      "colors": {"skin": "#ffe0cc", "hair": "#a0522d", "shirt": "#f0e8d0", "pants": "#3a5ab8"},
      "lines": [
        "Hear ye! The notice board has work for willing hands.",
        "News from every town comes to Crownhaven first."
      ]
    },
    {
      "id": "crownhaven_guide",
      "name": "Guide Elodie",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [7, -12],
      "face": 330,
      "colors": {"skin": "#f8d8c0", "hair": "#e0c070", "shirt": "#3a8a6a", "pants": "#3a3a4a"},
      "lines": [
        "Welcome to Crownhaven, heart of the realm! The Crown Star fountain marks the centre of the world.",
        "Market Row runs east: tools, gear, a travelling merchant, a refiner and plenty of stalls.",
        "The Warp Hub is west - the crystals reach every town. Save Keeper Rowan waits beside it.",
        "The Grand Bank on the north avenue keeps your goods safe for all your heroes.",
        "The Guild Hall stands at the end of the north avenue; the Party Square is south, by the pink gazebo.",
        "The Merchant Plots in the south-east are kept free for the shops of adventurers - soon!"
      ]
    },
    {
      "id": "crownhaven_tool",
      "name": "Tool Dealer Fennick",
      "kind": "shop",
      "map": "crownhaven",
      "pos": [21, -5.5],
      "face": 0,
      "colors": {"skin": "#ffe0cc", "hair": "#303030", "shirt": "#d09040", "pants": "#4a3020"},
      "sells": [
        "red_tonic",
        "orange_tonic",
        "white_tonic",
        "fly_wing",
        "return_wing",
        "arrow",
        "concentration_potion",
        "awakening_potion",
        "rice_ball"
      ]
    },
    {
      "id": "crownhaven_equip",
      "name": "Outfitter Delphine",
      "kind": "shop",
      "map": "crownhaven",
      "pos": [28, 5.5],
      "face": 180,
      "colors": {"skin": "#f0c8a0", "hair": "#2a1a1a", "shirt": "#5a7ac0", "pants": "#303038"},
      "sells": [
        "iron_blade",
        "guard_buckler",
        "kite_shield",
        "rod",
        "bow",
        "mace",
        "wooden_flute",
        "traveler_lute",
        "cutter",
        "iron_katana",
        "crimson_katana",
        "spirit_blade_charm",
        "jade_flying_sword",
        "tinder_flame_gun",
        "brass_flamethrower",
        "kindling_tome",
        "ember_grimoire",
        "cotton_shirt",
        "leather_vest",
        "explorer_suit",
        "hood",
        "bandana",
        "sandals",
        "sturdy_shoes",
        "ribbon",
        "sun_hat",
        "bastion_tower_shield",
        "silver_harp",
        "moonlit_katana",
        "starlit_flying_sword",
        "dragonbreath_cannon",
        "phoenix_rod"
      ]
    },
    {
      "id": "crownhaven_merchant",
      "name": "Travelling Merchant Zafir",
      "kind": "shop",
      "map": "crownhaven",
      "pos": [35, 5.5],
      "face": 180,
      "colors": {"skin": "#d8a880", "hair": "#1a1a22", "shirt": "#8a4ab0", "pants": "#3a2a40"},
      "sells": [
        "sugar_cookie",
        "river_trout",
        "hot_cocoa",
        "butter_toffee",
        "gumdrop_beret",
        "sailor_cap",
        "bobble_hat",
        "paper_crown",
        "rice_ball",
        "bamboo_bow"
      ],
      "lines": [
        "Goods from all four corners - cookies, cocoa, toffee, trout, and the finest hats!"
      ]
    },
    {
      "id": "crownhaven_refiner",
      "name": "Refiner Magnus",
      "kind": "refine",
      "map": "crownhaven",
      "pos": [42, -5.5],
      "face": 0,
      "colors": {"skin": "#d8a880", "hair": "#c8c8c8", "shirt": "#6a5040", "pants": "#302820"},
      "sells": [
        "phracite",
        "emverite"
      ],
      "lines": [
        "The capital's forge. Bring your gear and your nerve."
      ]
    },
    {
      "id": "crownhaven_inn",
      "name": "Innkeeper Rosalind",
      "kind": "heal",
      "map": "crownhaven",
      "pos": [9.5, 12.5],
      "face": 180,
      "colors": {"skin": "#ffe6d0", "hair": "#b04040", "shirt": "#f4f0e0", "pants": "#6a3a4a"},
      "intro": "The Crown and Kettle Inn. A soft bed, a warm meal - you are fully rested!"
    },
    {
      "id": "crownhaven_party",
      "name": "Party Crier Jory",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [-6, 33],
      "face": 180,
      "colors": {"skin": "#f8dcc0", "hair": "#e08030", "shirt": "#f0c030", "pants": "#3050a0"},
      "lines": [
        "Party Square! Looking for friends? Meet here, shout your level, go hunting together!",
        "Parties share EXP from kills. Invite each other and head out as one."
      ]
    },
    {
      "id": "crownhaven_plots",
      "name": "Plot Clerk Tamsin",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [18, 21],
      "face": 0,
      "colors": {"skin": "#ffe0cc", "hair": "#5a3a2a", "shirt": "#4a8a5a", "pants": "#3a3028"},
      "lines": [
        "These are the Merchant Plots - reserved for adventurers' own shops. The licences open soon!",
        "Four plots, well placed on the market's doorstep. Come back when the merchants' guild says so."
      ]
    },
    {
      "id": "crownhaven_fruit",
      "name": "Fruit Seller Pim",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [14, -5.5],
      "face": 0,
      "colors": {"skin": "#ffe0cc", "hair": "#6a3a2a", "shirt": "#e05a3a", "pants": "#4a4a2a"},
      "lines": [
        "Apples, oranges, sweet pears! Fresh from the Aldoria orchards!"
      ]
    },
    {
      "id": "crownhaven_gems",
      "name": "Gem Trader Opal",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [35, -5.5],
      "face": 0,
      "colors": {"skin": "#f0c8a0", "hair": "#f0f0f0", "shirt": "#6a4ab0", "pants": "#2a2a40"},
      "lines": [
        "Crystals from the Warp Hub quarry. Pretty, are they not? Not for sale - yet."
      ]
    },
    {
      "id": "crownhaven_baker",
      "name": "Baker Crustin",
      "kind": "talk",
      "map": "crownhaven",
      "pos": [14, 5.5],
      "face": 180,
      "colors": {"skin": "#ffe6d0", "hair": "#d0a060", "shirt": "#f4f0e8", "pants": "#8a5a3a"},
      "lines": [
        "Crown loaves, fresh from the oven! Smell that? That is the smell of the capital."
      ]
    },
    {"id": "life_angler", "name": "Angler Marlo", "kind": "talk", "life": "fish", "pos": [-31.5, -38.5], "face": 230, "colors": {"skin": "#e8b890", "hair": "#6a4a30", "shirt": "#3a7a9a", "pants": "#5a5040"}, "sells": ["rod_willow", "rod_oakheart", "rod_silverline", "rod_starcaster", "bait_worm", "bait_glowlure"], "lines": ["Every pond has its own fish. Walk up to the water and press Fish (F).", "When the float dips, hook it! Then hold REEL to keep the fish inside the green zone.", "A better rod makes rare fish bite more often - and they fight less."]},
    {"id": "life_chef", "name": "Chef Pomelo", "kind": "talk", "life": "cook", "pos": [-32.8, 17.4], "face": 250, "colors": {"skin": "#f0c8a0", "hair": "#f0f0f0", "shirt": "#f4f4f0", "pants": "#404050"}, "sells": ["book_riverside", "book_fire", "book_festival"], "lines": ["Use the stove beside me whenever you like. A good meal beats any potion!", "Only one meal works at a time - eat something new and it replaces the old one.", "Fish from the ponds, carrots from the bunnies, greens from your own garden."]},
    {"id": "life_stove_aldoria", "name": "Cooking Stove", "kind": "talk", "life": "stove", "prop": "stove", "pos": [-31.2, 15.2], "face": 270, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "life_clerk", "name": "Clerk Hollis", "kind": "talk", "life": "home", "pos": [-30.5, 11.5], "face": 250, "colors": {"skin": "#d8a880", "hair": "#8a3a2a", "shirt": "#6a8a4a", "pants": "#4a3a2a"}, "sells": ["hearthbell_staff", "timber_plank", "linen_cloth", "clay_brick", "glass_pane", "brass_fittings", "seed_sweetleaf", "seed_wheat", "seed_tomato", "seed_potato", "seed_pepper", "seed_berry", "bp_cozy_sofa", "bp_bookshelf", "bp_wardrobe", "bp_round_rug", "bp_tea_table", "bp_stone_lantern", "bp_picket_fence", "bp_rocking_chair", "bp_birdbath", "bp_potted_tree", "furn_oak_bed", "furn_pine_table", "furn_wood_chair", "furn_floor_lamp", "furn_round_rug", "furn_potted_fern"], "lines": ["A home of your own: a house, a garden and a pond. Ask me about the deed.", "Comfortable homes make stronger adventurers - every piece of furniture adds comfort.", "Seeds grow in real time, even while you are away."]},
    {"id": "life_home_door", "name": "Hearthvale Gate", "name_th": "ประตูหมู่บ้านฮาร์ธเวล", "kind": "talk", "life": "house_door", "prop": "door", "pos": [-27.0, 13.8], "face": 250, "colors": {"skin": "#e8c8a0", "hair": "#c09050", "shirt": "#a06a3a", "pants": "#5a4030"}, "lines": ["The gate to Hearthvale, where every adventurer can have a house of their own."]},
    {"id": "life_home_exit", "name": "Door Keeper Pip", "kind": "heal", "life": "door", "map": "homestead", "pos": [3.5, 1.5], "face": 200, "colors": {"skin": "#f0d0b0", "hair": "#a06030", "shirt": "#c89050", "pants": "#6a5040"}, "intro": "Off on an adventure? The door back to Aldoria is right here.", "gate": {"map": "aldoria_meadows", "at": [-27.6, 16.4], "text": "You head back to Aldoria."}},
    {"id": "life_stove_home", "name": "Kitchen Stove", "kind": "talk", "life": "stove", "prop": "stove", "map": "homestead", "pos": [-7.0, -14.3], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "life_helper_home", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "homestead", "pos": [-4.0, 1.6], "face": 160, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome home! Travel, blessings, your storage and a little shop - just ask.", "Ring the Hearthbell anywhere outside the dungeons and I will pop over."]},
    {"id": "hv_tilly_1", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_1", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_1", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_1", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_1", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_1", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_1", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_1", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_1", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_1", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_1", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_1", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_1", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_1", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_2", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_2", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_2", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_2", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_2", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_2", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_2", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_2", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_2", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_2", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_2", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_2", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_2", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_2", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_3", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_3", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_3", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_3", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_3", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_3", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_3", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_3", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_3", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_3", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_3", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_3", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_3", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_3", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_4", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_4", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_4", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_4", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_4", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_4", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_4", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_4", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_4", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_4", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_4", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_4", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_4", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_4", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_5", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_5", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_5", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_5", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_5", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_5", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_5", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_5", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_5", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_5", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_5", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_5", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_5", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_5", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_6", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_6", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_6", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_6", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_6", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_6", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_6", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_6", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_6", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_6", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_6", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_6", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_6", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_6", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_7", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_7", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_7", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_7", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_7", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_7", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_7", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_7", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_7", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_7", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_7", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_7", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_7", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_7", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_8", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_8", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_8", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_8", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_8", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_8", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_8", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_8", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_8", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_8", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_8", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_8", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_8", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_8", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_9", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_9", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_9", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_9", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_9", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_9", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_9", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_9", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_9", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_9", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_9", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_9", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_9", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_9", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_10", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_10", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_10", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_10", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_10", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_10", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_10", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_10", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_10", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_10", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_10", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_10", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_10", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_10", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_11", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_11", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_11", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_11", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_11", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_11", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_11", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_11", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_11", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_11", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_11", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_11", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_11", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_11", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]},
    {"id": "hv_tilly_12", "name": "Tilly the Hearth Sprite", "name_th": "ทิลลี่ ภูตประจำบ้าน", "kind": "talk", "life": "helper", "map": "hearthvale_12", "pos": [-6.0, 6.0], "face": 200, "colors": {"skin": "#fde0c8", "hair": "#f6a8c0", "shirt": "#7ac0a0", "pants": "#f0e0b0"}, "lines": ["Welcome to Hearthvale! Travel, blessings, your storage and a little shop - just ask.", "Your house number is on the mailbox by your gate. Neighbours love a tidy garden!"]},
    {"id": "hv_stove_12", "name": "Community Stove", "name_th": "เตาส่วนกลาง", "kind": "talk", "life": "stove", "prop": "stove", "map": "hearthvale_12", "pos": [6.0, 7.5], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The stove is warm."]},
    {"id": "hv_bench_12", "name": "Community Workbench", "name_th": "โต๊ะช่างส่วนกลาง", "kind": "talk", "life": "workbench", "prop": "workbench", "map": "hearthvale_12", "pos": [-6.5, -8.0], "face": 0, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["Sawdust and the smell of fresh pine."]},
    {"id": "hv_florist_12", "name": "Florist Posy", "name_th": "แม่ค้าดอกไม้โพซี่", "kind": "talk", "life": "market", "map": "hearthvale_12", "pos": [11.5, -3.5], "face": 250, "colors": {"skin": "#fde4cc", "hair": "#e07a5a", "shirt": "#f4c0d0", "pants": "#6a9a5a"}, "sells": ["seed_rose_red", "seed_rose_yellow", "seed_rose_white", "seed_tulip_red", "seed_tulip_yellow", "seed_tulip_white", "seed_daisy_red", "seed_daisy_yellow", "seed_daisy_white"], "lines": ["Fresh flowers, fair prices! They change every morning - buy low, sell high.", "Plant two colours side by side and water them... you never know what blooms."]},
    {"id": "hv_board_12", "name": "Community Board", "name_th": "บอร์ดชุมชน", "kind": "talk", "life": "board", "prop": "notice_board", "map": "hearthvale_12", "pos": [-8.0, -12.0], "face": 180, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["This week's lane tasks, visitors and friends' houses."]},
    {"id": "hv_lantern_12", "name": "Wishing Lantern", "name_th": "โคมอธิษฐาน", "kind": "talk", "life": "lantern", "prop": "wish_lantern", "map": "hearthvale_12", "pos": [-11.5, -4.0], "face": 90, "colors": {"skin": "#808080", "hair": "#808080", "shirt": "#808080", "pants": "#808080"}, "lines": ["The lantern glows softly. Make a wish..."]},
    {"id": "hv_keeper_12", "name": "Lane Keeper Wren", "name_th": "ผู้ดูแลซอยเรน", "kind": "talk", "life": "lane", "map": "hearthvale_12", "pos": [-78.0, 4.0], "face": 90, "colors": {"skin": "#f0d0b0", "hair": "#5a3a2a", "shirt": "#5a8ac0", "pants": "#4a4040"}, "lines": ["Pick an address, plant a garden, make friends with the neighbours. Hearthvale is a good place to live.", "Every lane has twenty plots. When one fills up, the next lane opens."]}
  ]
}