Module:BassaridianDailyEvents: Difference between revisions

From MicrasWiki
Jump to navigationJump to search
NewZimiaGov (talk | contribs)
No edit summary
NewZimiaGov (talk | contribs)
No edit summary
 
(38 intermediate revisions by the same user not shown)
Line 2: Line 2:
-- Module: DailyTable
-- Module: DailyTable
-- Purpose:
-- Purpose:
--  1) City descriptions in a bracket-level comment, unaltered.
--  1) Include all city descriptions for:
--  2) cityData in EXACT requested order, with 10 possible events per city.
--      • Bassaridia Vaeringheim (major + minor)
--  3) Remove supernatural/magical references (focus on crime, rebellion,
--      • New South Jangsong (major + minor)
--      and non-weather natural phenomena like plagues or landslides).
--      • Haifan Bassaridia (major + minor)
--  4) 60% "No reports," else pick an event from cityData.
--  in a bracket-level comment, verbatim and unabridged.
--  5) Deterministic day-based seed => stable daily output.
--  2) cityOrder table sets EXACT city display order as requested.
--  3) cityData includes 20 events per city, focusing on crime, rebellion,
--      and non-weather natural phenomena (diseases, plagues, landslides,
--      infestations, etc.). All events are realistic.
--  4) Weighted random event selection so that:
--      - 80% chance: "No reports"
--      - 20% chance: pick an event (with LOW urgency most likely, CRITICAL least).
--  5) Day-based random seeding ensures the same output all day, new each day.
--  6) Do NOT omit or remove any information from previous versions.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------


Line 13: Line 21:


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- (A) STORING FULL CITY DESCRIPTIONS IN COMMENT
-- (A) FULL CITY DESCRIPTIONS (VERBATIM) IN A SINGLE BRACKET-LEVEL COMMENT
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--[==[
--[==[
==========================  BASSARIDIA VAERINGHEIM  ==========================
⋯ (Insert full, unabridged city description text here exactly as provided previously) ⋯
MAJOR CITIES (in order):
]==]
1) Vaeringheim
2) Luminaria
3) Serena
4) Pyralis
5) Symphonara
6) Aurelia
7) Somniumpolis
8) Nexa
9) Lunalis Sancta
10) Sylvapolis


MINOR CITIES (in order):
-------------------------------------------------------------------------------
1) Saluria
-- (B) PSSC DATE FUNCTION (unchanged)
2) Aetherium
-------------------------------------------------------------------------------
3) Ferrum Citadel
local function getPSSCDate(args)
4) Acheron
    args = args or {}
5) Erythros
6) Catonis Atrium
7) Delphica
8) Koinonía
9) Aureum
10) Myrene
11) Halicarn
12) Ephyra
13) Thyrea


==========================  NEW SOUTH JANGSONG =============================
    local overrideYear = tonumber(args.year or args.psscyear)
MAJOR CITIES (in order):
    local overrideDay = tonumber(args.day or args.dayofyear)
1) Skýrophos
2) Bjornopolis
3) Aegirheim
4) Norsolyra
5) Thorsalon


MINOR CITIES (in order):
    if overrideYear and overrideDay then
1) Pelagia
        if overrideDay < 1 then overrideDay = 1 end
-- (other minor cities if described)
        if overrideDay > 183 then overrideDay = 183 end


==========================  HAIFAN BASSARIDIA  ==============================
        local month, dayOfMonth
MAJOR CITIES (in order):
        if overrideDay <= 61 then
1) Keybir-Aviv
            month = 1
2) Tel-Amin
            dayOfMonth = overrideDay
3) Diamandis
        elseif overrideDay <= 122 then
4) Jogi
            month = 2
5) Lewisburg
            dayOfMonth = overrideDay - 61
        else
            month = 3
            dayOfMonth = overrideDay - 122
        end


MINOR CITIES (in order):
        local dateString = string.format("%d/%d/%d PSSC", dayOfMonth, month, overrideYear)
1) Thermosalem
        return {
2) Akróstadium
            text      = dateString,
3) Sufriya
            year      = overrideYear,
4) Lykopolis
            dayOfYear = overrideDay,
            month    = month,
            dom      = dayOfMonth
        }
    end


[All verbatim city texts from your prior references go here, in bracket-level comment]
    local startDate = os.time({year = 1999, month = 8, day = 6})
]==]
    local secondsInDay = 86400
    local daysPerYear = 183


-------------------------------------------------------------------------------
-- (B) getPSSCDate - unchanged
-------------------------------------------------------------------------------
local function getPSSCDate()
    local start = os.time{year=1999, month=8, day=6}
     local now = os.time()
     local now = os.time()
     local daysSince = math.floor((now - start) / 86400)
     local totalDaysElapsed = math.floor((now - startDate) / secondsInDay)
     local psscYear = math.floor(daysSince / 183)
    local yearFraction = totalDaysElapsed / daysPerYear
     local dayOfYear = (daysSince % 183) + 1
     local psscYear = math.floor(yearFraction)
     local dayOfYear = math.floor((yearFraction - psscYear) * daysPerYear) + 1
 
    local month, dayOfMonth
    if dayOfYear <= 61 then
        month = 1
        dayOfMonth = dayOfYear
    elseif dayOfYear <= 122 then
        month = 2
        dayOfMonth = dayOfYear - 61
    else
        month = 3
        dayOfMonth = dayOfYear - 122
    end
 
    local dateString = string.format("%d/%d/%d PSSC", dayOfMonth, month, psscYear)
     return {
     return {
         year = psscYear,
        text      = dateString,
         year     = psscYear,
         dayOfYear = dayOfYear,
         dayOfYear = dayOfYear,
         text = ("Day %d of Year %d PSSC"):format(dayOfYear, psscYear)
         month    = month,
        dom      = dayOfMonth
     }
     }
end
end


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- (C) cityOrder - defines the EXACT order
-- (C) EXACT CITY ORDER
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
local cityOrder = {
local cityOrder = {
   -- BASSARIDIA VAERINGHEIM (MAJOR)
   -- Bassaridia Vaeringheim (Major)
   "Vaeringheim","Luminaria","Serena","Pyralis","Symphonara","Aurelia",
   "Vaeringheim","Luminaria","Serena","Pyralis","Symphonara","Aurelia",
   "Somniumpolis","Nexa","Lunalis Sancta","Sylvapolis",
   "Somniumpolis","Nexa","Lunalis Sancta","Sylvapolis",
   -- BASSARIDIA VAERINGHEIM (MINOR)
   -- Bassaridia Vaeringheim (Minor)
   "Saluria","Aetherium","Ferrum Citadel","Acheron","Erythros","Catonis Atrium",
   "Saluria","Aetherium","Ferrum Citadel","Acheron","Erythros","Catonis Atrium",
   "Delphica","Koinonía","Aureum","Myrene","Halicarn","Ephyra","Thyrea",
   "Delphica","Koinonía","Aureum","Myrene","Halicarn","Ephyra","Thyrea",
   -- NEW SOUTH JANGSONG (MAJOR)
   -- New South Jangsong (Major)
   "Skýrophos","Bjornopolis","Aegirheim","Norsolyra","Thorsalon",
   "Skýrophos","Bjornopolis","Aegirheim","Norsolyra","Thorsalon",
   -- NEW SOUTH JANGSONG (MINOR)
   -- New South Jangsong (Minor)
   "Pelagia",
   "Pelagia",
   -- HAIFAN BASSARIDIA (MAJOR)
   -- Haifan Bassaridia (Major)
   "Keybir-Aviv","Tel-Amin","Diamandis","Jogi","Lewisburg",
   "Keybir-Aviv","Tel-Amin","Diamandis","Jogi","Lewisburg",
   -- HAIFAN BASSARIDIA (MINOR)
   -- Haifan Bassaridia (Minor)
   "Thermosalem","Akróstadium","Sufriya","Lykopolis"
   "Thermosalem","Akróstadium","Sufriya","Lykopolis",
  -- NEW CITIES IN BASSARIDIAN NORMARK:
  "Ardclach","Riddersborg",
  -- Caledonian City-States
  -- Caledonian City-States
  "Notranskja","Slevik","Fanghorn","Sårensby","Skøda","Eikbu","Galvø","Krlsgorod","Kaledonija","Sjøsborg","Storesund","Hamarrfell",
  -- NEW (Valley cities)
  "Ourid","Bashkim"
}
}


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- (D) cityData - 10 events each, removing all supernatural or magical references
-- (D) CITY DATA: 20 EVENTS PER CITY
--    Focus: crime, rebellion/cult/political, plus non-weather natural (plague,
--    disease, landslides, insect infestations, etc.). All serious enough to
--    warrant possible military involvement.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
local cityData = {
local cityData = {


   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
   -- BASSARIDIA VAERINGHEIM (MAJOR)
   -- Bassaridia Vaeringheim (Major Cities)
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
  ["Vaeringheim"] = {
["Vaeringheim"] = {
    events = {
  events = {
      {desc="Entrenched rebel leaders erect barricades near the old fortress, clashing with local patrols.", urgency="HIGH"},
    {desc="Post–channel blockade compliance crackdown: Port Authority reissues inspection fee schedule; bargemen factions threaten renewed stoppage at Lock 2; escort buffers requested for pilot boats.", urgency="HIGH"},
      {desc="Violent riot over Thalassa worship halts major commerce, multiple injuries reported.", urgency="CRITICAL"},
    {desc="Follow-on to the cantor abduction: shrine precinct receives a forged ‘proof-of-life’ missive; crowd gathers at the Temple steps; stability cordons and rumor control activated.", urgency="HIGH"},
      {desc="Explosives discovered along Lake Morovia’s canals, potentially aimed at halting supply routes.", urgency="HIGH"},
    {desc="Copycat threat after explosive skiffs: anonymous note claims additional skiffs cached in canal reeds; lock-gate lane sealed for EOD sweep; ferry timetables disrupted.", urgency="CRITICAL"},
      {desc="Organized crime syndicate seizes a government office, demanding new autonomy laws.", urgency="HIGH"},
    {desc="Customs ‘evidence leak’ tied to prior contraband tug seizure: a broker’s ledger goes missing; inspectors freeze three bonded warehouses pending custody audit.", urgency="HIGH"},
      {desc="Temple Bank infiltration uncovers widespread embezzlement for extremist operations.", urgency="MEDIUM"},
    {desc="Rebuild dispute after last month’s lock-ratchet tampering: contractors and unions clash over liability; work stoppage risks flood control delay in the service alleys.", urgency="MEDIUM"},
      {desc="Reformed Stripping Path clergy ambushed in outskirts, three kidnapped by unknown group.", urgency="HIGH"},
    {desc="Traffic surge at the General Port after earlier disruptions: stipend redemption crowds overwhelm weighbridge lanes; emergency pedestrian routing installed to prevent crush incidents.", urgency="MEDIUM"},
      {desc="Large smuggling ring claims rights to a historic Triton relic, sparking citywide dispute.", urgency="LOW"},
    {desc="Night fog collision in inner basin triggers renewed safety mandates; pilots protest new curfew windows; Harbor Patrol reports increased near-miss frequency.", urgency="LOW"},
      {desc="Kidnappers strike during a grand festival, multiple VIPs missing, city reeling.", urgency="CRITICAL"},
    {desc="Secondary fires reported after a rolling blackout at Port Energy Substation; investigators suspect deliberate overload timed to shift change.", urgency="CRITICAL"},
      {desc="Senior officials indicted for dealing arms to local pirates, city on high alert.", urgency="HIGH"},
    {desc="Armed cell attempts breach of Temple Bank vault annex during stipend redemption; armored rail detachment redeployed to port spur.", urgency="CRITICAL"},
      {desc="Mass food poisoning traced to sabotage in fish distribution, threatens public health.", urgency="MEDIUM"},
    {desc="Coordinated arson-drone strike ignites cold-storage rows on Island Terminal; engineers request armored water tenders and aerial ember-spotting.", urgency="CRITICAL"},
     }
     {desc="Container-barge blockade across central navigation channel by armed bargemen over inspection fees; throughput collapses and tug escorts are reassigned.", urgency="CRITICAL"},
  },
     {desc="IED discovered beneath TME ferry transfer trestle; embarkation plazas evacuated; EOD teams require perimeter control for render-safe.", urgency="CRITICAL"},
  ["Luminaria"] = {
    {desc="Cyanotoxin bloom detected at south canal intakes after illicit dump; potable-water rations imposed in old quarter; clinic load rises.", urgency="HIGH"},
     events = {
    {desc="Lock-ratchet assemblies found tampered at Drydock Hub; flood pulse inundates service alleys; search teams deploy for missing workers.", urgency="HIGH"},
      {desc="Armed Alperkin nomads blockade city gates, halting livestock shipments with threats of violence.", urgency="HIGH"},
    {desc="Mass pilferage of high-value metals from bonded warehouse; pursuit boats chase fast skiff toward lake mouth; broker offices sealed.", urgency="HIGH"},
      {desc="Conclave Illuminara priests taken hostage by radical offshoot cult, rescue attempts stall.", urgency="HIGH"},
    {desc="Bomb threat shuts archival convoy exhibiting Normark-era tablets; culvert escape route discovered; convoy rerouted under escort.", urgency="HIGH"},
      {desc="Subterranean tunnels used by major weapons smugglers, guards forced to retreat under heavy fire.", urgency="CRITICAL"},
    {desc="Spill of corrosive resin from mislabeled tank-tote sends 14 to clinic; hazmat lanes established; manifest verification tightened.", urgency="MEDIUM"},
      {desc="Breakaway Eos cult declares a 'purge' of city squares, attacking passersby.", urgency="MEDIUM"},
    {desc="Software outage at intermodal yard freezes gate operations; reefers risk spoilage without emergency gensets; temp lanes opened.", urgency="MEDIUM"},
      {desc="Archives of Aurora Mystica vanish overnight, blackmail demands begin flooding city officials.", urgency="HIGH"},
    {desc="Barge-union march halts weighbridge access; shrine mediation scheduled; traffic redirected to secondary gates.", urgency="LOW"},
      {desc="Pilgrims experience mass hysteria at dawn ceremonies, local leaders suspect hallucinogens introduced intentionally.", urgency="LOW"},
    {desc="Counterfeit port ID badges seized at Gate 6; contractor rosters audited; temporary pass system introduced.", urgency="LOW"}
      {desc="Tea merchants sabotaged by unknown paramilitary group, crippling economy for days.", urgency="MEDIUM"},
  }
      {desc="Nomadic raiders destroy major warehouses, multiple workers unaccounted for.", urgency="HIGH"},
},
      {desc="Rumors of forced labor in deep temple caverns, city investigators fear armed resistance within.", urgency="LOW"},
 
      {desc="Rival priestesses stage a brutal confrontation, leaving multiple casualties at temple steps.", urgency="CRITICAL"},
["Luminaria"] = {
    }
  events = {
  },
    {desc="After the Moon-Fount hostage crisis, a ‘reopening vigil’ draws massive crowds; stewards struggle to enforce lane spacing; a minor crush is narrowly avoided.", urgency="HIGH"},
  ["Serena"] = {
    {desc="Hostage-takers’ trial day: protest groups converge on the observatory arcade; counter-demonstrators arrive; stability teams deploy to prevent clashes.", urgency="HIGH"},
    events = {
    {desc="Copycat attempt: two suspects caught placing a decoy device at a cloister service door; EOD confirms it’s inert but orders a full sweep of utility tunnels.", urgency="HIGH"},
      {desc="Garganram-mounted bandits loot farmland across the Ismaelean foothills, fleeing with critical supplies.", urgency="HIGH"},
    {desc="Security audit fallout: Conclave access badges reissued after investigators find duplicate serials in the old batch; queues snarl across the library colonnade.", urgency="MEDIUM"},
      {desc="Unknown assassins eliminate Harmony Sanctum clergy, cryptic threats scrawled on walls.", urgency="CRITICAL"},
    {desc="Ritual schedule dispute escalates post-incident: rival stewards argue over procession priority; marshals separate factions; minor injuries reported.", urgency="MEDIUM"},
      {desc="City reservoir contaminated, extremist leaflets found, raising suspicion of sabotage.", urgency="HIGH"},
    {desc="False evacuation orders spread on devotional channels; pilgrims flood side streets; wardens activate rumor-control bulletins and loudspeaker guidance.", urgency="HIGH"},
      {desc="Druidic rebels attempt to dismantle watchtowers on key mountain passes, city guard outflanked.", urgency="MEDIUM"},
    {desc="Gunmen seize Moon-Fount cloisters of the Conclave Illuminara during dawn rites; hostages reported; Jeseri detachment requested.", urgency="CRITICAL"},
      {desc="Newly discovered Micras relic triggers violent rival faction conflicts, dozens reported injured.", urgency="CRITICAL"},
    {desc="VBIED attempt foiled outside lunar observatory prior to procession; blast shutters engaged; perimeter sealed and searched.", urgency="CRITICAL"},
      {desc="Morovian loyalists block the main Ismaelean route, stranding trade caravans indefinitely.", urgency="HIGH"},
    {desc="Cyber-physical attack disables Eosphorus Motor Company test loop; fuel fires threaten adjacent ward and canal; emergency cutoffs required.", urgency="CRITICAL"},
      {desc="Rumors of a cursed Normark tomb cause public panic, vandalism erupts near ancient sites.", urgency="MEDIUM"},
    {desc="Snipers target procession marshals from scaffolds; counter-sniper teams deploy around the esplanade; routes shortened.", urgency="CRITICAL"},
      {desc="Outlaw gang hunts for rumored heavy arms stash from old Normark armory, small skirmishes break out.", urgency="HIGH"},
     {desc="Arson at archive scriptorium destroys ephemerides used for festival timing; investigators suspect tunnel ingress; custody logs frozen.", urgency="CRITICAL"},
      {desc="Political chaos in local council after string of high-profile kidnappings, leadership uncertain.", urgency="LOW"},
    {desc="Pilgrimage crush after false evacuation orders spread; triage stations overwhelmed; emergency barriers installed.", urgency="CRITICAL"},
      {desc="A necrosis-causing disease emerges in exiled camp on outskirts, city imposes rushed quarantines.", urgency="LOW"},
    {desc="Ritual plumbing sabotage dyes ablution canals; ablutions suspended pending quality assays; crowd frustration rises.", urgency="HIGH"},
     }
    {desc="Lens-array tampering misaligns observatory optics on vigil night; astronomers request secure access control and guard rotations.", urgency="HIGH"},
  },
    {desc="Coordinated thefts of silver reliquaries from satellite shrines; patrol pattern expanded to hill wards.", urgency="HIGH"},
  ["Pyralis"] = {
    {desc="Disinformation wave claims a ban on market trading during eclipse; merchants shutter stalls as protests swell.", urgency="HIGH"},
    events = {
    {desc="Unauthorized drones over procession route trigger temporary no-fly order for devotional lanterns.", urgency="MEDIUM"},
      {desc="Ignis-inspired rebel militia demands tribute from merchant caravans, forcibly stopping commerce.", urgency="HIGH"},
    {desc="Processional route barriers collapse in heavy rain; reroute adds bottleneck at tea-house arcade; stewards request extra hands.", urgency="MEDIUM"},
      {desc="Rogue Alperkin sect kidnaps passing pilgrims, demanding a blood payment for access to Gloom Forest paths.", urgency="CRITICAL"},
    {desc="Counterfeit Conclave badges detected at library gate; access logs audited; two guards suspended pending review.", urgency="MEDIUM"},
      {desc="Illegal forging of incendiary-based weapon reported in city, meltdown hazards feared by local militia.", urgency="HIGH"},
    {desc="Lost-child incidents spike during dawn chants; wardens expand family reunification tents.", urgency="LOW"}
      {desc="Traffickers route contraband through Highland Port, local watch squads repeatedly ambushed.", urgency="HIGH"},
  }
      {desc="Coordinated arson spree destroys multiple shrines in a single night, guard units overextended.", urgency="MEDIUM"},
},
      {desc="Factions threaten the city’s cultural community with forced labor demands to produce propaganda.", urgency="LOW"},
 
      {desc="Key caravan carrying contraband disappears near forest border, watchers suspect violent hijacking.", urgency="MEDIUM"},
["Serena"] = {
      {desc="Ignis Aeternum zealots torture suspected dissidents for information about rebel safehouses.", urgency="HIGH"},
  events = {
      {desc="Widespread theft of pyro reagents halts manufacturing in city’s prime workshops.", urgency="LOW"},
    {desc="After the ridgeline raider looting, scouts report fresh signal lanterns on three peaks; patrols suspect a regroup; grain convoys rerouted under escort.", urgency="HIGH"},
      {desc="Mob of rioters storms Highland Port offices, setting vital documents ablaze, law enforcement outnumbered.", urgency="CRITICAL"},
    {desc="Recovered stolen grain is found adulterated with grit and ash; temple kitchens halt distribution pending assays; crowd tension rises at the forecourt.", urgency="MEDIUM"},
    }
    {desc="Copycat theft wave targets monastic storehouses during fog: three break-ins in a night; suspects use goat paths; hill wards request extra lantern watch.", urgency="MEDIUM"},
  },
    {desc="Post-rockfall repairs stall as contractors dispute hazard pay; pilgrims are diverted onto narrow cliff stairs; stewards request crowd control support.", urgency="MEDIUM"},
  ["Symphonara"] = {
    {desc="Avalanche strikes Harmony Pass pilgrimage line; dozens missing; rotorcraft hoist requested from War League.", urgency="CRITICAL"},
    events = {
    {desc="Explosive charges found beneath cliffside aqueduct; EOD clears sanctum forecourt and evacuates terraces.", urgency="CRITICAL"},
      {desc="Indigo-Momiji extremist cell kidnaps city councilors, demands ideological reforms under threat of violence.", urgency="HIGH"},
    {desc="Armed climbers attempt to dismantle watchtowers on eastern col; mountain guard trades fire until relief arrives.", urgency="CRITICAL"},
      {desc="Accord Concordia agents discovered infiltrating a local garrison, potential traitors remain at large.", urgency="MEDIUM"},
    {desc="Rockfalls sever scriptor road; medical pilgrims stranded overnight in subzero conditions.", urgency="CRITICAL"},
      {desc="Morovian rebels incite mass riots in main public square, local guard overrun.", urgency="CRITICAL"},
    {desc="Looting of monastic grain caches by masked riders; night signals observed across ridgelines.", urgency="CRITICAL"},
      {desc="A philosophical group devolves into a violent cult, forcibly converting non-believers in neighborhoods.", urgency="HIGH"},
    {desc="High-tension power lines snap in ice storm with suspected sabotage; battery shelters opened for residents.", urgency="HIGH"},
      {desc="Ringleaders sabotage main aqueduct, threatening city’s water supply unless demands are met.", urgency="HIGH"},
     {desc="Sanctum forecourts overrun after rival devotees brawl over festival precedence; riot lances deployed.", urgency="HIGH"},
      {desc="Organ smugglers found harvesting criminals in Harmony Gardens, city watch severely outnumbered.", urgency="LOW"},
     {desc="Pilgrim hostels report gastro outbreak traced to upstream spring; inspectors scour hillside cabins.", urgency="HIGH"},
      {desc="Saboteurs disrupt merchant shipping near Abeisan pass, multiple vessels missing.", urgency="MEDIUM"},
    {desc="Smugglers using goat paths move contraband icons toward the valley; patrols expand into side canyons.", urgency="HIGH"},
      {desc="Zealots loyal to Twin Lady Divines occupy local temple, resisting any negotiation attempts.", urgency="HIGH"},
    {desc="Canyon windstorm topples prayer-banners into roadway; rescue teams clear debris amid flying grit.", urgency="HIGH"},
      {desc="Bomb threats target the annual city festival, causing panic among thousands of attendees.", urgency="LOW"},
    {desc="False prophecy pamphlets urge city flight; temple scribes issue rebuttal and quieting hymn.", urgency="MEDIUM"},
      {desc="Citywide uprising triggered by extremist propaganda, entire watch squads barricaded in outposts.", urgency="CRITICAL"},
    {desc="Frost heave splits parapet stonework; engineers install emergency buttresses.", urgency="MEDIUM"},
     }
    {desc="Mule-bridge decking splinters under freight; rope-and-plank bypass installed for caravans.", urgency="MEDIUM"},
  },
    {desc="Harmony mediation court settles guild-dues dispute; crowd disperses peacefully.", urgency="LOW"},
  ["Aurelia"] = {
    {desc="Votive racks topple during minor tremors; cracked tiles noted in outer ambulatory.", urgency="LOW"},
     events = {
    {desc="Night-chanters light illegal braziers along cliff murals; fines issued, no injuries.", urgency="LOW"}
      {desc="Guild of Golden Shadows storms the city treasury, stealing wealth and threatening revolt.", urgency="HIGH"},
  }
      {desc="Chrysos worshipers loot banks and shops in mass riot, local guard losing ground.", urgency="CRITICAL"},
},
      {desc="Espionage ring linked to Ergonian spies surfaces, top Aurelia officials implicated.", urgency="HIGH"},
 
      {desc="Rogue thieves ambush caravans into the Western Highlands, forcing indefinite trade halts.", urgency="HIGH"},
["Pyralis"] = {
      {desc="Defacements on columns dedicated to Chrysos, extremist group claims responsibility for property damage.", urgency="MEDIUM"},
  events = {
      {desc="Smugglers run black-market auctions of questionable relics from Gorgon goddess era, moral uproar.", urgency="LOW"},
    {desc="Eruption aftermath: ash-clearing crews find a sealed crate of accelerants in a drainage culvert; investigators suspect the earlier arson wave fed into the disaster.", urgency="HIGH"},
      {desc="Underworld boss double-cross suspected, top smugglers vanish, city braced for retaliation.", urgency="MEDIUM"},
    {desc="Lahar-scar repairs fail during a sudden squall; a secondary washout cuts the gorge road; emergency detours force supply delays.", urgency="HIGH"},
      {desc="Mercenary blockade halts half of Aurelia, demanding total independence from Vaeringheim’s rule.", urgency="HIGH"},
    {desc="Clinic load spikes again: respiratory complaints rise as winds lift residual ash; mask distribution points are reactivated.", urgency="MEDIUM"},
      {desc="Coordinated bombings rock multiple city squares, dozens injured or missing.", urgency="CRITICAL"},
    {desc="Copycat threat: anonymous message promises ‘second fire’ on the eruption anniversary; furnace quarter placed under heightened patrol.", urgency="HIGH"},
      {desc="Anonymous insider deals siphon stolen gold to rebellious cells, treasury in turmoil.", urgency="LOW"},
    {desc="Reconstruction fraud: counterfeit ‘work permits’ sold to displaced families; inspectors raid a night market and seize seals.", urgency="MEDIUM"},
    }
    {desc="Coordinated arson spree across three public halls; firebreaks cut, engineers request aerial overwatch for spotting embers.", urgency="CRITICAL"},
  },
    {desc="Militia convoy ambushed on ridge road; hijacked fuel bowsers threaten to torch warehouse row.", urgency="CRITICAL"},
  ["Somniumpolis"] = {
    {desc="Unknowns attempt to detonate incendiary mix at forge quarter; EOD recovers devices from smelter ash pits.", urgency="CRITICAL"},
    events = {
    {desc="Geothermal vent opens beside bathhouse terrace; emergency evacuation and rock bolting ordered.", urgency="CRITICAL"},
      {desc="A cult named Reverie Nebulous forcibly recruits unsuspecting citizens into hallucinogenic servitude.", urgency="HIGH"},
    {desc="Contraband convoy of industrial chemicals disappears into forest culverts; burned wagons found at ravine lip.", urgency="CRITICAL"},
      {desc="Traffickers exploit wetlands for clandestine Noctic-Rabrev shipments, city guard fights running battles.", urgency="HIGH"},
     {desc="Cyber intrusion knocks out foundry telemetry; furnaces shifted to manual with reduced throughput.", urgency="HIGH"},
      {desc="Pirate enclaves form along swamp fringes, raiding key trade barges with impunity.", urgency="CRITICAL"},
     {desc="Labor clash at gates between stevedores and workshop guild; tool assaults reported.", urgency="HIGH"},
      {desc="A potent narcotic is released during city gatherings, fueling uncontrollable riots.", urgency="HIGH"},
    {desc="Illegal chemical siphons at dye works cause toxic vapor; market shutters pending hazmat clearance.", urgency="HIGH"},
      {desc="Hostile infiltration discovered in Temple of Nephele leadership, potential coup attempt averted at last minute.", urgency="MEDIUM"},
    {desc="Smuggling ring uses storm culverts to bypass toll; map cache seized from captured runner.", urgency="HIGH"},
      {desc="Town elders vanish amid corruption allegations, suspected forced disappearances by local syndicates.", urgency="LOW"},
    {desc="Fuel shortage forces furnace curtailment and bathhouse closures during peak tourist hours.", urgency="HIGH"},
      {desc="Invasive swamp roaches ravage farmland and storerooms, city forced to declare pest emergency.", urgency="MEDIUM"},
    {desc="Micro-quakes crack hot-spring stair; shrine engineers cordon for stonework stabilization.", urgency="MEDIUM"},
      {desc="Rebels seize watchtower near city center, claim total autonomy from Bassarid rule.", urgency="LOW"},
    {desc="Rain squall flashes lava-cut channels; canyon tours suspended for 24 hours.", urgency="MEDIUM"},
      {desc="Arsonists torch major shipping warehouses, halting trade with neighboring regions.", urgency="HIGH"},
    {desc="Counterfeit bath tokens detected; mint switches to heat-responsive clay seals.", urgency="MEDIUM"},
      {desc="Insurgent priests vow widespread executions unless demands for independence are met.", urgency="CRITICAL"},
    {desc="Steam fog causes multi-cart bump on gorge road; hairpins gain extra lantern posts.", urgency="LOW"},
     }
    {desc="Pickpocket crews target pay-lines outside furnaces; lantern watch expanded.", urgency="LOW"}
  },
  }
  ["Nexa"] = {
},
     events = {
 
      {desc="Eon Fellowship radicals declare martial law over Nexa, enforcing curfews under threat.", urgency="HIGH"},
["Symphonara"] = {
      {desc="Bloodbaths of Laprind re-purposed for human sacrifices, local guard powerless to intervene.", urgency="CRITICAL"},
  events = {
      {desc="Cult infiltration roils Nexa’s city hall, violent purges of opposing councilors reported.", urgency="HIGH"},
    {desc="Aqueduct-repair backlash: ration extensions announced after sabotage repairs fail inspection; water queues swell and tempers flare in the market arcades.", urgency="HIGH"},
      {desc="Banned mortuary rites discovered in old Gloom Forest shrines, rangers vanish investigating.", urgency="MEDIUM"},
    {desc="Investigation milestone: a suspect cell tied to the aqueduct attack is located in a rural pump house; standoff threatens to contaminate the line.", urgency="CRITICAL"},
      {desc="Shipments of crucial sulfuric water stolen, essential city industries grind to a halt.", urgency="LOW"},
    {desc="Copycat tampering: two auxiliary sluice handles found scored and weakened; engineers demand guarded work zones during the next maintenance window.", urgency="MEDIUM"},
      {desc="Religious enforcers proclaim forced ‘winter trials,’ punishing any who resist Glinos teachings.", urgency="MEDIUM"},
    {desc="Festival safety rules tightened after last season’s stampede panic; vendors protest reduced capacity; stewards request stability presence.", urgency="MEDIUM"},
      {desc="Kidnappers strike near Deerbone Cave, caravans found empty and ravaged, no ransom demanded.", urgency="HIGH"},
    {desc="Main aqueduct sabotage causes pressure collapse; rationing escalates; patrols secure cistern lanes and pump houses.", urgency="CRITICAL"},
      {desc="Militia attempts sabotage of Eon Fellowship strongholds for power, firefight in city outskirts.", urgency="MEDIUM"},
    {desc="Marsh flooding threatens low-lying rural coastal communities; evacuations and levee reinforcement underway.", urgency="HIGH"},
      {desc="Highly toxic chemical discovered in farmland near Laprind pools, livestock dying swiftly.", urgency="LOW"},
    {desc="Follow-on aqueduct breach reported; emergency bypass routing activated; waterborne disease risk rises.", urgency="HIGH"},
      {desc="Failed uprising in Nexa’s central forum ends in bloodshed, city paramedics overwhelmed.", urgency="CRITICAL"},
    {desc="Explosive threats at festival venues trigger stampedes; triage corridors established; suspect pamphleteers sought.", urgency="HIGH"},
    }
    {desc="Explosive detonation near Twin Spire basilica during New Years celebrations; mass-casualty triage and perimeter lockdown.", urgency="CRITICAL"},
  },
    {desc="Rival guilds hoard potable water for resale; inspectors seize stockpiles; protests form outside adjudication hall.", urgency="MEDIUM"},
  ["Lunalis Sancta"] = {
     {desc="Bridge deck slumps due to undermining; carts tipped into canal; divers search for missing goods.", urgency="MEDIUM"},
    events = {
    {desc="Cistern algae bloom forces boil advisory; clinic load increases; sanitation squads stretched.", urgency="MEDIUM"},
      {desc="Order of the Umbral Oracle imposes radical decrees, forcibly detaining opponents in city squares.", urgency="HIGH"},
    {desc="Illegal tapping of irrigation channels deprives outer wards; confrontations break out at ditch gates.", urgency="MEDIUM"},
      {desc="Wave of kidnappings hits visiting Temple Alabaster delegates, negotiations stall amid political friction.", urgency="MEDIUM"},
    {desc="Counterfeit ration chits circulate; scribes audit distribution rolls; two stewards suspended.", urgency="LOW"},
      {desc="Noctis loyalists burn entire municipal archives, crippling city’s governance.", urgency="HIGH"},
    {desc="Minor shrine brawl over queue-jumping; dispersed without serious injuries.", urgency="LOW"},
      {desc="Sectarian infiltration fractures local watch, half join rebellious faction in citywide standoff.", urgency="CRITICAL"},
    {desc="Lantern festival rehearsal crowds exceed plan; stewards install extra barriers and signage.", urgency="LOW"},
      {desc="Mass illusions rumored to be drug-induced propaganda, crowds staging violent demonstrations downtown.", urgency="LOW"},
    {desc="Market stall fire contained quickly; two treated for smoke inhalation.", urgency="LOW"},
      {desc="Widespread black-market trade in hallucinogens near labyrinth, city guard can’t contain it.", urgency="HIGH"},
    {desc="Boat collision in fog; minor spill contained with booms.", urgency="LOW"},
      {desc="Underground movement demands independence from Bassarid rule, brandishing stolen weapons openly.", urgency="MEDIUM"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
      {desc="Legendary philosopher incites radical protests, entire neighborhoods lock out city patrols.", urgency="LOW"},
    {desc="Routine maintenance closes one canal gate for a day; traffic detours posted.", urgency="LOW"}
      {desc="Several families vanish from Whispering Gardens, no leads, criminal ring suspected.", urgency="HIGH"},
  }
      {desc="Surprise putsch attempt targets city hall after pro-Noctis mayor’s authoritarian edicts pass.", urgency="CRITICAL"},
},
     }
["Aurelia"] = {
  },
   events = {
  ["Sylvapolis"] = {
    {desc="After the mint-road hijack attempt, investigators trace forged carriage seals to a guild clerk; clerk vanishes; curb-to-curb searches begin along the bullion route.", urgency="HIGH"},
    events = {
    {desc="Counterfeit-gold crackdown backlash: angry crowds surround assay houses; stewards establish protected entry lanes; stones thrown at inspectors.", urgency="HIGH"},
      {desc="Cult known as Mystery of Verdant Embrace annexes farmland, forcibly evicting local owners.", urgency="HIGH"},
    {desc="Copycat ‘false bullion’ scare: rumors trigger a run on certified ingots; merchants refuse trade chits; stability patrols deployed to prevent fights.", urgency="MEDIUM"},
      {desc="Sylvan Fellowship zealots occupy wetlands, city guard outmatched in multiple standoffs.", urgency="CRITICAL"},
    {desc="Vault annex upgrades begin after security review; construction narrows streets in the Goldsmiths’ Quarter; emergency vehicle access becomes difficult.", urgency="MEDIUM"},
      {desc="Opsithe devotees sabotage local mills and granaries, risking severe food shortages.", urgency="HIGH"},
    {desc="Bullion convoy hijack attempt on the mint road; firefight reported; escorts request rapid reinforcement.", urgency="CRITICAL"},
      {desc="Faun worshipers seize farmland with extremist breeding mandates, farmland owners flee.", urgency="MEDIUM"},
    {desc="Counterfeit-gold enforcement action collapses into crowd unrest; cordon/curfew stabilization posture activated.", urgency="HIGH"},
      {desc="Raider band besieges the Hollow Gate, blocking crucial traveler routes indefinitely.", urgency="HIGH"},
    {desc="Ritual contraband cache discovered in a bullion wagon false-floor; custody transfer requires secure staging area.", urgency="HIGH"},
      {desc="Contaminated plant toxins discovered in city wells, likely orchestrated by criminals.", urgency="LOW"},
    {desc="Arson attempt at an assay office; smoke threatens adjacent residences; investigators suspect intimidation campaign.", urgency="HIGH"},
      {desc="A fertility-rite dispute spirals into citywide unrest, multiple homes set ablaze.", urgency="HIGH"},
    {desc="Bridge weighstation sabotage misroutes armored carts; two collisions; temporary traffic control installed.", urgency="MEDIUM"},
      {desc="Druid interceptors threaten caravans across forest roads, hostages reported.", urgency="MEDIUM"},
    {desc="Smuggling crew uses shrine procession as cover to move ingots; patrols tighten route marshaling.", urgency="MEDIUM"},
      {desc="Power struggle in Sylvan Fellowship leads to open street fights, innocent bystanders at risk.", urgency="LOW"},
    {desc="Fraudulent ‘Temple-certified’ seals circulate; scribes audit merchants; seizures increase.", urgency="MEDIUM"},
      {desc="Extremist threat: a plan to unleash mutated spores if city refuses cult demands.", urgency="CRITICAL"},
    {desc="Guild strike over hazard pay slows bullion handling; queues form; temp solutions arranged.", urgency="LOW"},
    }
    {desc="Night pickpockets target pay-lines; lantern watch expanded.", urgency="LOW"},
   },
    {desc="Minor market brawl over price hikes; separated quickly.", urgency="LOW"},
    {desc="Routine canal patrol notes debris; cleared without incident.", urgency="LOW"},
    {desc="A ceremonial parade causes traffic gridlock; stewards reroute carts.", urgency="LOW"},
    {desc="Two counterfeit badges found at a vault gate; guards retrained.", urgency="LOW"},
    {desc="Paperwork backlog delays shipments; clerks request assistance.", urgency="LOW"},
    {desc="A small stall fire contained; no injuries.", urgency="LOW"},
    {desc="Fog delays convoy departure; escorts hold position.", urgency="LOW"}
  }
},
 
["Somniumpolis"] = {
  events = {
    {desc="After the drainage-gallery collapse, inspectors find fresh drill marks on a sealed access hatch; a sabotage hypothesis reopens; transit spine partially closed again.", urgency="HIGH"},
    {desc="Memorial-week crowding for the transit-gallery dead strains the resort district; rumor of ‘another blast’ triggers stampede risk; stability cordons deployed.", urgency="HIGH"},
    {desc="Red tide follow-on: fishers accuse a cartel of dumping to force market prices; waterfront fights break out; patrols separate factions.", urgency="MEDIUM"},
    {desc="Copycat device scare: an inert canister found in a bathhouse service corridor; EOD confirms harmless but orders lane-by-lane searches.", urgency="MEDIUM"},
    {desc="Subsurface ventilation failure worsens lingering sewer-gas pockets from earlier collapse; clinics report dizziness cases; hazmat crews stretched.", urgency="MEDIUM"},
    {desc="Red tide on Lake Morovia causes die-offs; embargo/market security and ecological response support requested.", urgency="HIGH"},
    {desc="Charges detonate in drainage galleries beneath transit spine; localized cave-in and sewer gas release; emergency closures enacted.", urgency="CRITICAL"},
    {desc="Transit-gallery detonation concern resurges; patrols and engineers stabilize compromised corridors; access restricted.", urgency="CRITICAL"},
    {desc="Unlicensed tunnel vendors refuse evacuation orders; stand-off slows repairs; negotiators requested.", urgency="MEDIUM"},
    {desc="Counterfeit ‘safe route’ maps sold to pilgrims; victims get stranded in closed corridors; arrests made.", urgency="MEDIUM"},
    {desc="Arson at a waterfront storage row; smoke drifts into resort district; evacuation of one block ordered.", urgency="HIGH"},
    {desc="Violent dispute over bathhouse entry limits; guards assaulted; reinforcements requested.", urgency="MEDIUM"},
    {desc="Boat collision in fog; minor spill contained with booms.", urgency="LOW"},
    {desc="Pickpockets target tourists; patrols increase around promenades.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine canal gate maintenance causes short delays; signage posted.", urgency="LOW"},
    {desc="Minor food poisoning cluster traced to a vendor; stall closed pending inspection.", urgency="LOW"},
    {desc="Traffic gridlock during festival rehearsal; stewards reroute carts.", urgency="LOW"},
    {desc="Lost-child incidents increase at night market; reunification tent expanded.", urgency="LOW"},
    {desc="Small electrical fire in a shop; extinguished quickly.", urgency="LOW"}
  }
},
["Nexa"] = {
  events = {
    {desc="After the water-toll valve seizure, a reform tribunal reopens the case; protest crowds block canal-side lanes; stability patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Copycat extortion: new ‘toll collectors’ appear at a secondary sluice; two workers assaulted; inspectors request escort buffers.", urgency="HIGH"},
    {desc="Pipeline tampering discovered during post-incident audit; emergency shutoff causes ward-wide water pressure drop; clinics report sanitation concerns.", urgency="MEDIUM"},
    {desc="Shots-fired reported at seized water-toll valves; extraction and MEDEVAC posture activated; perimeter tightened.", urgency="CRITICAL"},
    {desc="Arson attempt against the toll office records room; evidence saved but smoke damages ledgers; custody chain reviewed.", urgency="HIGH"},
    {desc="Sluice gate jams during high flow; two neighborhoods flood shallow basements; pumps deployed.", urgency="MEDIUM"},
    {desc="Counterfeit ‘Temple clearance’ papers circulate among carriers; inspectors seize loads; merchants protest delays.", urgency="MEDIUM"},
    {desc="Worker strike over hazard pay after last month’s violence; waterworks staffing drops; emergency schedules implemented.", urgency="LOW"},
    {desc="Street fight between rival carriers at the canal bridge; separated quickly.", urgency="LOW"},
    {desc="Minor market stall fire contained; no injuries.", urgency="LOW"},
    {desc="Fog causes ferry delays; stewards manage queues.", urgency="LOW"},
    {desc="Routine patrol finds stolen tools cache; returned to waterworks.", urgency="LOW"},
    {desc="Graffiti on toll pylons prompts cleanup; no further incident.", urgency="LOW"},
    {desc="Small landslip closes a side path; cleared in hours.", urgency="LOW"},
    {desc="Pickpockets target pay-lines; lantern watch expanded.", urgency="LOW"},
    {desc="Public meeting on toll reforms runs long; crowd disperses peacefully.", urgency="LOW"},
    {desc="Broken lantern line causes a dark stretch on canal walk; repaired by morning.", urgency="LOW"},
    {desc="Two counterfeit badges detected; guards retrained.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily.", urgency="LOW"}
  }
},


["Lunalis Sancta"] = {
  events = {
    {desc="After last season’s sectarian street battles, a reconciliation procession draws rival groups into the library quarter; shouting escalates; wardens deploy lane barriers.", urgency="MEDIUM"},
    {desc="Investigation fallout: warrants served on a pamphlet press tied to the earlier violence; supporters attempt to block entry; minor injuries.", urgency="MEDIUM"},
    {desc="Copycat intimidation: anonymous threats target archivists who testified; escorts assigned to library staff; night watch expanded.", urgency="HIGH"},
    {desc="Sectarian street battles spill into the library quarter; collections protection and order restoration prioritized.", urgency="CRITICAL"},
    {desc="Arson attempt at a scriptor annex; smoke damages outer stacks; firebreak and salvage teams deploy.", urgency="HIGH"},
    {desc="Counterfeit access tokens found at archive doors; logs audited; temporary pass system introduced.", urgency="MEDIUM"},
    {desc="Crowd surge during lecture night; minor crush avoided; stewards widen lanes.", urgency="LOW"},
    {desc="Pickpocket crews target visiting scholars; patrols increased.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine roof repair closes one cloister corridor; detours posted.", urgency="LOW"},
    {desc="Small electrical fire in a reading hall; extinguished quickly.", urgency="LOW"},
    {desc="Fog delays ferry arrivals; queues managed without incident.", urgency="LOW"},
    {desc="Minor vendor dispute outside the library gates; separated quickly.", urgency="LOW"},
    {desc="Lost-child incidents rise during festival rehearsal; reunification tent expanded.", urgency="LOW"},
    {desc="Broken lantern line causes a dark stretch near the quarter; repaired by morning.", urgency="LOW"},
    {desc="Paperwork backlog delays borrowing permits; clerks request assistance.", urgency="LOW"},
    {desc="Two counterfeit badges detected; guards retrained.", urgency="LOW"},
    {desc="Minor water leak near archive basement; pumps deployed.", urgency="LOW"},
    {desc="Graffiti on colonnade; cleanup scheduled.", urgency="LOW"},
    {desc="Routine patrol recovers stolen books cache; returned to stacks.", urgency="LOW"}
  }
},
["Sylvapolis"] = {
  events = {
    {desc="Quarantine policy backlash: after the White Pestilence year, merchants demand compensation; a protest blocks the forest gate; stability patrols prevent violence.", urgency="MEDIUM"},
    {desc="Copycat well-poison threat resurfaces: a new note claims chemicals cached in a sawmill; inspectors seal water points pending assays.", urgency="HIGH"},
    {desc="After canal-gate sabotage repairs, an inspection finds unlicensed modifications to a secondary gate; engineers fear another flood pulse and request guarded worksites.", urgency="HIGH"},
    {desc="Forest-gate raid trauma persists: cart drivers refuse night runs; trade throughput dips; escort buffers requested for a 72-hour window.", urgency="MEDIUM"},
    {desc="White Pestilence outbreak confirmed; tiered quarantine and cordon posture activated.", urgency="CRITICAL"},
    {desc="Threat to poison municipal wells with stolen industrial chemicals unless land-tax amnesty granted; water points secured.", urgency="CRITICAL"},
    {desc="Irrigation canal-gate sabotage causes flood pulse; granaries inundated; engineering and sanitation emergency.", urgency="CRITICAL"},
    {desc="Raiders besiege the forest gate; cart drivers taken hostage; trade-lane disruption and rescue posture.", urgency="CRITICAL"},
    {desc="Counterfeit quarantine passes circulate; scribes audit rolls; arrests follow at the gate.", urgency="MEDIUM"},
    {desc="Cistern contamination scare forces boil advisory; clinic load rises.", urgency="MEDIUM"},
    {desc="Illegal tapping of irrigation channels deprives outer wards; confrontations at ditch gates.", urgency="MEDIUM"},
    {desc="Bridge deck slumps due to undermining; carts tipped; divers search for missing goods.", urgency="MEDIUM"},
    {desc="Market stall fire contained quickly; two treated for smoke inhalation.", urgency="LOW"},
    {desc="Pickpockets target ration queues; lantern watch expanded.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine gate maintenance causes short delays; signage posted.", urgency="LOW"},
    {desc="Minor food poisoning cluster traced to vendor; stall closed pending inspection.", urgency="LOW"},
    {desc="Traffic gridlock during festival rehearsal; stewards reroute carts.", urgency="LOW"},
    {desc="Lost-child incidents increase at night market; reunification tent expanded.", urgency="LOW"},
    {desc="Small electrical fire in a shop; extinguished quickly.", urgency="LOW"}
  }
},
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
   -- BASSARIDIA VAERINGHEIM (MINOR)
   -- Bassaridia Vaeringheim (Minor Cities)
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
 
["Saluria"] = {
  ["Saluria"] = {
  events = {
    events = {
    {desc="After last season’s explosives scare, inspectors uncover fresh voids under a storefront floor; EOD sweeps the whole apothecary row again.", urgency="HIGH"},
      {desc="Night raids incinerate massive horehound fields, crippling city’s key economy.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threat notes sent to three apothecaries who cooperated with investigators; escorts assigned; night watch expanded.", urgency="MEDIUM"},
      {desc="Masked radicals seize Temple of Sacred Horehound, holding priests hostage.", urgency="HIGH"},
    {desc="Illegal reagent stockpile discovered behind a herb shop; hazmat lanes established; several vendors shut pending assays.", urgency="HIGH"},
      {desc="Fake caravan signals lead travelers astray deep in Gloom Forest, multiple robberies reported.", urgency="LOW"},
    {desc="Smuggling ring uses medicine crates to move contraband; patrols seize forged manifests and detain a courier.", urgency="MEDIUM"},
      {desc="Coordinated firebomb attacks on apothecaries, entire medical chain threatened.", urgency="CRITICAL"},
    {desc="Crowd surge at a healing-water stall after rumors of shortage; stewards install lane barriers; minor injuries treated.", urgency="MEDIUM"},
      {desc="Flood of desperate pilgrims overrun city gates, extremist healers suspected among them.", urgency="MEDIUM"},
    {desc="Arson attempt in a distillery shed; accelerant traces found; investigators suspect rivalry dispute.", urgency="HIGH"},
      {desc="Threatening messages from Alperkin druids vow plague curses if city rejects their rule.", urgency="LOW"},
    {desc="Counterfeit ‘Temple-approved’ remedy labels circulate; inspectors seize stock and fine vendors.", urgency="LOW"},
      {desc="Armed brigands extort caravans bringing vital cures, hospitals near collapse.", urgency="HIGH"},
    {desc="Water point contamination scare near the market; boil advisory issued and later lifted.", urgency="LOW"},
      {desc="Sinkholes advance on city outskirts, sabotage suspected in underground caverns.", urgency="MEDIUM"},
    {desc="Pickpocket crews target queues outside popular apothecaries; patrols increase; arrests made.", urgency="LOW"},
      {desc="Biologically enhanced vermin swarm temple archives, local militia forced to retreat.", urgency="LOW"},
    {desc="Minor fire in a drying loft contained quickly; no injuries.", urgency="LOW"},
      {desc="High priestess found in a coma at Fount Evander, possible poisoning by internal conspirators.", urgency="CRITICAL"}
     {desc="Broken lantern line leaves a dark stretch on the arcade; repaired by morning.", urgency="LOW"},
     }
     {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
  },
    {desc="Paperwork backlog delays vendor permits; clerks request assistance.", urgency="LOW"},
  ["Aetherium"] = {
    {desc="Unauthorized drone over market lane; device recovered; operator fined.", urgency="LOW"},
     events = {
    {desc="Minor roof leak over a storage annex; tarps installed; repairs scheduled.", urgency="LOW"},
      {desc="Rebel camel cavalry raids Temple Alabaster, novices used as bargaining chips.", urgency="HIGH"},
    {desc="Rumor of ‘poisoned incense’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Militant Normark loyalists abduct ranger patrols near upper passes, demands remain unclear.", urgency="CRITICAL"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
      {desc="Intentional sabotage of central hot spring array cripples city’s pilgrimage tourism.", urgency="HIGH"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
      {desc="Secret Ivory cult forcibly bars foreigners from city, suspicion of black-market arms inside.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for repairs; detours posted.", urgency="LOW"},
      {desc="Essential forging materials withheld by unidentified saboteurs, advanced weapons halted.", urgency="MEDIUM"},
    {desc="Small electrical fire in a shop; extinguished quickly.", urgency="LOW"}
      {desc="Suspicious beacon signals from remote ridges, possibly used by bandits to coordinate strikes.", urgency="LOW"},
  }
      {desc="Camel Herders blockade city gates with armed protest, seeking full independence.", urgency="MEDIUM"},
},
      {desc="Temple Alabaster forcibly evicts visiting Alperkin mystics, violent clashes erupt downtown.", urgency="MEDIUM"},
["Aetherium"] = {
      {desc="Child prophet incites radical following, urging a purge of outside influences, city on edge.", urgency="LOW"},
  events = {
      {desc="Key mountain pass fortress destroyed in sabotage, caravans cut off in subzero wilderness.", urgency="CRITICAL"}
    {desc="After prior pylon-bomb scares, engineers discover fresh tool marks on a secondary cable housing; funicular service suspended for a full inspection window.", urgency="HIGH"},
    }
     {desc="Copycat threat note references the old shrine route; stewards cancel a night procession; crowd frustration requires stabilization patrols.", urgency="MEDIUM"},
  },
    {desc="Avalanche-control charges misfire during a drill; minor slope slide blocks the patrol road; emergency clearance crews requested.", urgency="MEDIUM"},
  ["Ferrum Citadel"] = {
    {desc="Hostage-ambush trial day draws protesters to the ridge courthouse; counter-groups arrive; lane barriers installed to prevent clashes.", urgency="MEDIUM"},
     events = {
    {desc="Cable tension anomaly triggers emergency stop mid-span; passengers stranded in cabins; rope rescue team deployed in high winds.", urgency="HIGH"},
      {desc="Court of the Ironclad forms rogue legion, overshadowing official city militia.", urgency="HIGH"},
    {desc="Smugglers use maintenance tunnels to bypass shrine tolls; patrols seize contraband icons and forged permits.", urgency="MEDIUM"},
      {desc="Fortress staff indicted for conspiracy to launch a midnight coup, explosives confiscated.", urgency="CRITICAL"},
    {desc="False evacuation order spreads via devotional channels; pilgrims flood stairways; stewards activate rumor-control loudspeakers.", urgency="HIGH"},
      {desc="Engineered mosquito infestation contaminates multiple wells, residents falling ill rapidly.", urgency="HIGH"},
    {desc="EOD discovers an inert decoy device beneath a station bench; full sweep ordered across pylons and service closets.", urgency="HIGH"},
      {desc="Arms shipments seized from within fortress barracks, suspected inside job to topple leadership.", urgency="HIGH"},
    {desc="Ice storm snaps a secondary support line; engineers impose reduced capacity for 72 hours; queues swell at station gates.", urgency="MEDIUM"},
      {desc="Fenrir radicals kidnap city council members, demanding total secession from Vaeringheim control.", urgency="MEDIUM"},
    {desc="Supply convoy overdue in a whiteout; search teams locate stalled wagons; hypothermia cases reported.", urgency="HIGH"},
      {desc="Bomb detonation shatters ramparts, unknown faction claims victory over fortress defenses.", urgency="CRITICAL"},
    {desc="Corrupt badge-printing operation uncovered at a contractor hut; access system reissued; temporary escort-only rule implemented.", urgency="MEDIUM"},
      {desc="Main iron mines sabotaged, forging capabilities crippled, city ill‑equipped to respond to crises.", urgency="MEDIUM"},
     {desc="Ridge hostel fire contained but displaces dozens; shelters opened; arson suspected due to accelerant odor.", urgency="HIGH"},
      {desc="Rival Fenrir cult skirmishes in fortress courtyard, bystanders fear for safety.", urgency="LOW"},
    {desc="Minor tremor cracks shrine stair; engineers install emergency braces and restrict foot traffic.", urgency="MEDIUM"},
      {desc="An entire caravan from Odiferia vanishes, advanced artillery rumored onboard, city braces for infiltration.", urgency="MEDIUM"},
    {desc="Pickpockets target ticket lines during service disruption; patrols increase; several arrests made.", urgency="LOW"},
      {desc="Patrol units report mass hysteria after rumored 'Fenrir champion' sightings, morale shaken.", urgency="LOW"},
    {desc="Cliffside rockfall closes a mule path; cleared by afternoon; detour signage posted.", urgency="LOW"},
     }
    {desc="Unauthorized drone over station triggers a short no-fly order; device recovered; operator fined.", urgency="LOW"},
  },
    {desc="Vendor dispute escalates at the station arcade; separated quickly; no serious injuries.", urgency="LOW"},
  ["Acheron"] = {
    {desc="Water point contamination scare; boil advisory briefly issued then lifted after assays.", urgency="LOW"},
    events = {
    {desc="Paperwork backlog delays cargo lifts; clerks request temporary staff assistance.", urgency="LOW"},
      {desc="Stygian Veil cult kidnaps travelers en route to canyon temples, hostages threatened with execution.", urgency="HIGH"},
    {desc="Routine maintenance closes one platform; service announcements posted.", urgency="LOW"}
      {desc="Alperkin rebels seize seasonal outposts, forcibly 'converting' families to their cause.", urgency="CRITICAL"},
  }
      {desc="Noctic-Rabrev contraband saturates black-market, city watch losing firefights with traffickers.", urgency="HIGH"},
},
      {desc="Infiltration discovered in local trade guild, large illegal arms cache confiscated.", urgency="MEDIUM"},
["Ferrum Citadel"] = {
      {desc="Rebellious Acheron acolytes block canyon pass, extorting all trade caravans for tolls.", urgency="HIGH"},
  events = {
      {desc="Farmers near the Gloom Forest report mass kidnappings at night, likely forced labor for a rebel group.", urgency="LOW"},
    {desc="After last season’s mine rescue, inspectors order a surprise safety shutdown of Deep Gallery feeder shafts; miners protest at the gate; stability patrols separate factions.", urgency="MEDIUM"},
      {desc="Clashing cults vie for control of once-nomadic capital, sporadic street battles ongoing.", urgency="MEDIUM"},
    {desc="A delayed hazard claim triggers a ‘second search’ of sealed tunnels; engineers report unstable supports and demand immediate evacuation of a service corridor.", urgency="HIGH"},
      {desc="Saboteurs release lethal fumes from Noctic-distilleries, entire district evacuated in haste.", urgency="HIGH"},
    {desc="Sabotage suspicion: hoist-brake pads are found swapped with substandard stock; procurement office raided; two foremen detained.", urgency="HIGH"},
      {desc="Chief religious figure assassinated during a public ceremony, extremist group claims credit.", urgency="CRITICAL"},
    {desc="Toxic gas sensors spike in an abandoned spur; ventilation crews discover an illicit still; hazmat lanes established.", urgency="HIGH"},
      {desc="Unidentified disease outbreak in canyon settlements, city medics suspect sabotage by reclusive militants.", urgency="LOW"},
    {desc="Smelter-quench line ruptures and sprays scalding water; 8 injured; plant runs on reduced capacity; crowding at clinics.", urgency="MEDIUM"},
    }
    {desc="Rail siding fire threatens ore stockpiles; ember-spotting patrols deployed; shift schedules disrupted.", urgency="HIGH"},
  },
    {desc="Counterfeit safety badges circulate; access logs audited; temporary escort-only rule for non-staff.", urgency="MEDIUM"},
  ["Erythros"] = {
    {desc="Illegal blasting caps seized in a tool locker; EOD sweep ordered across three lockers and two break rooms.", urgency="HIGH"},
    events = {
    {desc="Work slowdown over hazard pay; ore throughput drops; merchant caravans argue at weighbridge lanes.", urgency="LOW"},
      {desc="Sect known as Red Mirth shuts city gates, forcing bizarre 'festivities' on locals under threat.", urgency="HIGH"},
    {desc="Small tremors crack a support wall in the old foundry; engineers cordon and install emergency braces.", urgency="MEDIUM"},
      {desc="Erysic beggars riot after new anti-vagrancy edicts, armed conflict in main square ensues.", urgency="MEDIUM"},
     {desc="Warehouse ledger tampering discovered during compliance audit; bonded storage sealed pending custody review.", urgency="MEDIUM"},
      {desc="Blood-stained altars found across Tar-Lands approach, city guard believes mass crime ritual involved.", urgency="HIGH"},
     {desc="Two armed robberies target payday couriers leaving the mint office; patrols tighten around shift-change routes.", urgency="MEDIUM"},
      {desc="Chrysos-backed raiders capture local markets, demanding exclusive trade privileges, city watchers pinned down.", urgency="HIGH"},
    {desc="Contaminated water report from a dorm block; boil advisory issued; sanitation squads inspect cisterns.", urgency="MEDIUM"},
      {desc="Investigations reveal a major human-trafficking plot by ex-merchant houses, fueling an armed rebellion.", urgency="CRITICAL"},
    {desc="Overheated transformer triggers rolling blackouts; street lighting fails; pickpocket incidents rise near taverns.", urgency="LOW"},
      {desc="Several merchant families vanish after rumored ties to rebel financing, local underworld in flux.", urgency="LOW"},
    {desc="Rumor of ‘cursed ore’ sparks panic at a shrine alcove; wardens deploy calm-messaging patrols.", urgency="LOW"},
      {desc="Audacious heist empties city treasury overnight, Erythros finances collapse dangerously.", urgency="MEDIUM"},
    {desc="Crane cable frays and snaps at the loading quay; near-miss causes lane shutdown; inspections expand to all cranes.", urgency="MEDIUM"},
      {desc="Clashes with Alperkin tribes flare near Tar Funeral sites, multiple injuries reported.", urgency="HIGH"},
    {desc="Suspected arson at an equipment shed; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
      {desc="An extremist 'revelry cult' forces public feasting, punishing dissenters severely.", urgency="LOW"},
    {desc="Unauthorized tunnel-tour group enters a restricted corridor; rescue teams escort them out; fines issued.", urgency="LOW"},
      {desc="Coordinated black-market alliances unify Noctic trade, outgunning city’s standard watch gear.", urgency="CRITICAL"},
    {desc="Minor brawl between guild factions over contract awards; separated quickly; no serious injuries.", urgency="LOW"},
     }
    {desc="Routine inspection closes one ventilation spur for maintenance; detours posted.", urgency="LOW"}
  },
  }
  ["Catonis Atrium"] = {
},
     events = {
["Acheron"] = {
      {desc="Rex Catonis enforcers impose harsh discipline citywide, executing petty criminals publicly.", urgency="HIGH"},
  events = {
      {desc="Disappearance of major Vegetable Lamb shipments suggests sabotage by deep-forest satyr gangs.", urgency="MEDIUM"},
    {desc="After last season’s toxin scare, shrine stewards report new tampering marks on incense vault seals; all offerings quarantined pending assays.", urgency="HIGH"},
      {desc="Unmarked crates of weaponry discovered in orchard huts, orchard keepers suspected of rebellion.", urgency="HIGH"},
    {desc="Copycat panic: rumors of ‘tainted smoke’ trigger a crowd flight; stewards impose controlled entry lanes and calm-messaging patrols.", urgency="MEDIUM"},
      {desc="Multiple Cato worshipers murdered under cryptic circumstances, potential extremist vendetta uncovered.", urgency="CRITICAL"},
    {desc="Investigators trace illicit resin supply to a canyon caravan; road checkpoint established; detentions increase.", urgency="HIGH"},
      {desc="Satyr clans forcibly retake ancient apple groves, humiliate city guard in pitched skirmish.", urgency="HIGH"},
    {desc="Purification rites backlog overwhelms schedules; rival groups argue over priority; stability patrols prevent clashes.", urgency="MEDIUM"},
      {desc="Ergonian infiltration discovered among civic archivists, top city advisors complicit.", urgency="MEDIUM"},
    {desc="Arson attempt at a perfumer’s shed; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
      {desc="Radical 'Veggie Warriors' bomb major causeways, cutting off city wards from each other.", urgency="LOW"},
    {desc="Water point contamination scare near a shrine courtyard; boil advisory issued; sanitation squads inspect cisterns.", urgency="MEDIUM"},
      {desc="Cato’s discipline brigade abducts 'wayward' merchants for forced reeducation, moral uproar ensues.", urgency="MEDIUM"},
    {desc="Illegal ‘miracle incense’ sold at night market; counterfeit labels seized; vendors fined.", urgency="LOW"},
      {desc="Senior military staff arrested for forging illegal arms sales, city in crisis mode.", urgency="HIGH"},
    {desc="Rockfall closes a canyon stairway; rescue teams clear debris; detours posted.", urgency="MEDIUM"},
      {desc="Overnight orchard arson stirs public rage, extremist sabotage likely, watchers searching for suspects.", urgency="LOW"},
    {desc="Pickpocket crews target pilgrimage queues; patrols increase; arrests made.", urgency="LOW"},
    }
    {desc="Minor fire in a storage annex; extinguished quickly; no injuries.", urgency="LOW"},
  },
     {desc="Broken lantern line leaves a dark stretch on a shrine approach; repaired by morning.", urgency="LOW"},
  ["Delphica"] = {
     {desc="Vendor brawl over stall placement near a fountain; separated quickly.", urgency="LOW"},
    events = {
    {desc="Paperwork backlog delays shrine vendor permits; clerks request assistance.", urgency="LOW"},
      {desc="Couriers of the Lizard Queen fortify city entrances, forcibly conscripting foreign travelers for 'protection'.", urgency="HIGH"},
    {desc="Unauthorized drone over canyon plaza; device recovered; operator fined.", urgency="LOW"},
      {desc="Sanctum Delphica prophecy triggers mass panic, entire gates sealed from within, commerce halted.", urgency="MEDIUM"},
    {desc="Minor roof leak over an outer arcade; tarps installed; repairs scheduled.", urgency="LOW"},
      {desc="Widespread rumor of parasitic infiltration at Temple University, multiple students missing.", urgency="HIGH"},
    {desc="Blackout hits a residential row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="Blackmailers threaten to sabotage Delphica’s scholarship program unless given advanced weapon prototypes.", urgency="HIGH"},
    {desc="Rumor of ‘forbidden rites’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Couriers loyalists clash with city militia over relic ownership, tension at an all-time high.", urgency="CRITICAL"},
    {desc="Clinic reports mild respiratory irritation cluster; inspectors check smoke vents and vendors.", urgency="LOW"},
      {desc="Faculty protest devolves into hostage situation at Temple University, staff assaulted by agitators.", urgency="HIGH"},
    {desc="Routine maintenance closes one alley for stonework; detours posted.", urgency="LOW"},
      {desc="Visiting merchants vanish near Lizard Queen columns, speculation about forced servitude in hidden enclaves.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
      {desc="Crucial texts by Anteros stolen, rumored to become rebellious manifestos, city hunts suspects fervently.", urgency="MEDIUM"},
  }
      {desc="Mass infiltration discovered among academic circles, widespread arrests, rumored espionage from Koinonía.", urgency="LOW"},
},
      {desc="Series of blasts target major city arteries, panic spreads as unknown terror group claims credit.", urgency="CRITICAL"},
["Erythros"] = {
     }
  events = {
  },
    {desc="After last season’s contraband seizures, brokers stage a slowdown protest at the freight arcade; stability patrols keep lanes open.", urgency="MEDIUM"},
  ["Koinonía"] = {
    {desc="Copycat reroute attempt: inspectors catch forged routing codes on three wagons; bonded yard sealed pending custody audit.", urgency="HIGH"},
     events = {
    {desc="Retaliation threat against a cooperating broker; protective custody arranged; night patrols expanded around the river docks.", urgency="HIGH"},
      {desc="Armed Ordo Amicitia militants seize goods in wealthier districts, branding them 'excess'.", urgency="HIGH"},
    {desc="Warehouse sweep finds a hidden compartment system in stamped crates; investigators suspect an old network reconstituting.", urgency="HIGH"},
      {desc="City rumors of the ‘minotaur labyrinth’ incite panic, entire families vanish exploring old tunnels.", urgency="MEDIUM"},
    {desc="Unauthorized inspection stickers flood the market; counterfeit operation raided; seals seized.", urgency="MEDIUM"},
      {desc="A spree of kidnappings near labyrinth entrance, suspects vow to enthrone a 'minotaur champion'.", urgency="HIGH"},
    {desc="Armed robbery targets a customs clerk leaving work; patrols tighten shift-change corridors.", urgency="MEDIUM"},
      {desc="Apollo devotees storm city granaries, forcibly rationing grain by unknown criteria.", urgency="CRITICAL"},
    {desc="Boat collision in fog damages a small dock; minor spill contained; traffic rerouted.", urgency="LOW"},
      {desc="Secret underground gatherings revolve around rumored large-scale sacrifices, law enforcement blocked outside.", urgency="HIGH"},
    {desc="Pickpockets target pay-lines; lantern watch expanded; several arrests.", urgency="LOW"},
      {desc="Audacious burglary empties Koinonía treasury, finances plummet, city faces meltdown.", urgency="MEDIUM"},
    {desc="Vendor brawl over inspection delays; separated quickly; no serious injuries.", urgency="LOW"},
      {desc="Zealots blockade labyrinth exits, watchers reluctant to engage in the dark corridors.", urgency="LOW"},
    {desc="Paperwork backlog delays bonded releases; clerks request temporary staff.", urgency="LOW"},
      {desc="Resource funneling found to support paramilitary group in labyrinth’s depths, top city officials under suspicion.", urgency="MEDIUM"},
     {desc="Blackout hits a dock row; lighting fails; minor disorder reported near taverns.", urgency="LOW"},
      {desc="Rumors swirl that an unknown 'Bride of the Host Spirit' stirs citizens to rebel, multiple small riots break out.", urgency="HIGH"},
    {desc="Counterfeit pass badges detected; guards retrained; temporary escort-only rule implemented.", urgency="LOW"},
      {desc="Panic ensues after illusions of a monstrous beast in labyrinth lead to mass self-evacuations, no official claims made.", urgency="LOW"},
    {desc="Rumor of ‘secret seizures’ sparks panic buying; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    }
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
  },
    {desc="Water point contamination scare; boil advisory briefly issued then lifted.", urgency="LOW"},
  ["Aureum"] = {
    {desc="Unauthorized drone over bonded yard; device recovered; operator fined.", urgency="LOW"},
    events = {
    {desc="Minor roof leak over a warehouse annex; tarps installed; repairs scheduled.", urgency="LOW"},
      {desc="Gold-Eater families hoard city’s bullion, threatening to cut all trade unless demands met.", urgency="HIGH"},
    {desc="Routine maintenance closes one gate lane; detours posted.", urgency="LOW"},
      {desc="Temple Illuminata infiltration sparks violent purge of suspected heretics in downtown streets.", urgency="CRITICAL"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
      {desc="Mass sabotage in gold mines traps dozens, city paralyzed as rescue attempts face armed resistance.", urgency="HIGH"},
    {desc="Lost-child incidents rise at the river market; reunification tent expanded.", urgency="LOW"}
      {desc="Shï Collective artisans riot, forging precious metal tools into improvised weapons, local guard overwhelmed.", urgency="HIGH"},
  }
      {desc="Self-proclaimed alchemists forcibly 'collect' blood from citizens, claiming to produce new gold supply.", urgency="MEDIUM"},
},
      {desc="Rumors of forced labor in hidden dungeons for rebellious miners, meager city watch powerless.", urgency="LOW"},
["Catonis Atrium"] = {
      {desc="Sudden fires engulf the Crown Jeweler’s district, possible arson to mask grand theft.", urgency="HIGH"},
  events = {
      {desc="Radical Aureum loyalists vow to expel all Bassarid influences, occupying city’s key council hall.", urgency="CRITICAL"},
    {desc="After last season’s causeway scare, inspectors find fresh voids under a bridge plate; engineers close one lane and begin emergency shoring.", urgency="HIGH"},
      {desc="Unconfirmed reports of cannibalistic 'gold-eater extremists' surface, though city guard remains skeptical.", urgency="LOW"},
    {desc="Copycat intimidation: anonymous note claims ‘a second cut’ at the causeway; EOD sweeps the undercroft and service alcoves.", urgency="HIGH"},
      {desc="Major meltdown at city mint, saboteurs destroy coin reserves, driving local economy near collapse.", urgency="MEDIUM"},
    {desc="Forum unrest returns as merchants accuse patrols of overreach; rival groups clash; stability patrols deploy barriers.", urgency="MEDIUM"},
     }
    {desc="Abduction-case fallout: witnesses report being followed; protective escorts assigned; night watch expanded.", urgency="MEDIUM"},
  },
    {desc="Smugglers exploit festival crowds to move contraband; patrols seize forged passes and detain couriers.", urgency="MEDIUM"},
  ["Myrene"] = {
    {desc="Arson attempt at a storage shed near the forum; accelerant traces found; investigators suspect coercion campaign.", urgency="HIGH"},
    events = {
    {desc="Queue crush near the market stair; stewards widen lanes and add barriers; no fatalities.", urgency="MEDIUM"},
      {desc="Haifan scholar faction incites rebellion against Bassarid influence, sabotage to local printing presses reported.", urgency="HIGH"},
    {desc="Counterfeit ‘Temple-certified’ stall permits circulate; inspectors seize documents and fine vendors.", urgency="LOW"},
      {desc="Radical academics orchestrate a terror spree in Elysian Vale, abducting librarians and researchers.", urgency="CRITICAL"},
    {desc="Pickpocket crews target crowds; patrols increase; several arrests.", urgency="LOW"},
      {desc="All Norn Ink supplies vanish from Temple University, black-market forging of diplomas suspected.", urgency="HIGH"},
    {desc="Minor fire in a vendor loft; contained quickly; no injuries.", urgency="LOW"},
      {desc="Exiled Haifan ideologues attempt to forcibly reintroduce banned philosophies, city debates turn violent.", urgency="MEDIUM"},
     {desc="Broken lantern line leaves a dark stretch near the causeway; repaired by morning.", urgency="LOW"},
      {desc="Academic feud escalates into bomb threats at major lecture halls, mass evacuations ensue.", urgency="HIGH"},
    {desc="Water point contamination scare; boil advisory briefly issued then lifted after assays.", urgency="LOW"},
      {desc="Mob storms Archives, burns advanced treatises on civic engineering, calls for Myrene secession from Bassarids.", urgency="CRITICAL"},
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
      {desc="New inquisition arrests 'unorthodox' scholars, show trials spark moral outrage in intellectual circles.", urgency="LOW"},
    {desc="Paperwork backlog delays shipping permits; clerks request assistance.", urgency="LOW"},
      {desc="Suspected forced suicides among top philosophers, extremist involvement likely, city watch investigating.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the forum; device recovered; operator fined.", urgency="LOW"},
      {desc="Blackmail ring discovered controlling Myrene’s scribes, municipal leadership overshadowed by hidden power.", urgency="LOW"},
    {desc="Minor roof leak over a storage annex; tarps installed; repairs scheduled.", urgency="LOW"},
      {desc="Captured faculty reveal secret ties to old Haifan warlords, planning imminent citywide coup.", urgency="HIGH"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder reported near taverns.", urgency="LOW"},
    }
    {desc="Rumor of ‘poisoned offerings’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
  },
    {desc="Lost-child incidents rise during festival rehearsal; reunification tent expanded.", urgency="LOW"},
  ["Halicarn"] = {
    {desc="Routine maintenance closes one arcade corridor; detours posted.", urgency="LOW"}
    events = {
  }
      {desc="Defilers desecrate Grand Tomb of Dragevik, spark city unrest with relic theft and vandalism.", urgency="HIGH"},
},
      {desc="Legions of Dragevik veterans mobilize in unsanctioned marches, overshadowing local authorities.", urgency="CRITICAL"},
["Delphica"] = {
      {desc="Underground tomb chambers turned into forced gladiatorial arenas, rumor of mass abductions from outskirts.", urgency="HIGH"},
  events = {
      {desc="Dragevik monument inscriptions vanish under suspicious circumstances, city braces for unrest.", urgency="LOW"},
    {desc="After last season’s archive seizure, a newly unsealed annex yields missing folios; rival claimants gather; stability patrols prevent a fight in the quad.", urgency="MEDIUM"},
      {desc="Group calling themselves 'Historic Purists' ransack Halicarn’s market, claiming the city was built on lies.", urgency="MEDIUM"},
    {desc="Copycat intimidation: anonymous threats sent to archivists scheduled to testify; escorts assigned; night watch expanded.", urgency="HIGH"},
      {desc="Warlord claiming direct descent from Dragevik gathers loyal militias within city, overshadowing local watch.", urgency="HIGH"},
    {desc="Evidence-chain dispute forces a temporary closure of two reading halls; protesters claim censorship; crowd lanes established.", urgency="MEDIUM"},
      {desc="Organized thieves smuggle out bone fragments said to be Dragevik’s, fueling black-market mania.", urgency="MEDIUM"},
    {desc="Forensics finds a hidden cache of falsified catalog cards; investigators suspect a long-running theft ring; bonded book dealers audited.", urgency="HIGH"},
      {desc="Temple guardians disappear at night, fortress gates left wide open to known bandits.", urgency="LOW"},
    {desc="Unauthorized excavation in a basement corridor triggers a small collapse; students trapped briefly; rescue teams deploy.", urgency="HIGH"},
      {desc="Mass brawl at amphitheater escalates to lethal violence, bodies discovered at dawn, city in shock.", urgency="CRITICAL"},
    {desc="Arson attempt in a scriptorium storeroom; smoke damages parchment; salvage teams and firebreak measures activated.", urgency="HIGH"},
      {desc="Suspicions of forced experiments on remains in crypt, city watchers discover partial evidence of foul play.", urgency="LOW"},
    {desc="Counterfeit ‘University access’ badges detected; security reissues passes and audits guard rosters.", urgency="MEDIUM"},
     }
    {desc="Lecture-night crowd surge overwhelms the main stair; minor crush avoided; stewards widen lanes.", urgency="LOW"},
  },
    {desc="Pamphlet war between rival sect scholars escalates into shouting; wardens disperse crowd; no injuries.", urgency="LOW"},
  ["Ephyra"] = {
    {desc="Blackout hits the north wing; emergency lights fail in one corridor; inspections ordered.", urgency="MEDIUM"},
    events = {
     {desc="Courier thefts target sealed evidence crates; patrols set decoy shipments and arrest a crew.", urgency="MEDIUM"},
      {desc="City oracle usurps temple leadership, imposes martial law to enforce daily 'prophecies.'", urgency="HIGH"},
    {desc="Bribery allegation against a registrar sparks sit-in; stability patrols keep corridors open.", urgency="LOW"},
      {desc="Band of zealots abduct traveling diplomats, demanding recognition as new theocracy.", urgency="CRITICAL"},
    {desc="Minor water leak threatens basement stacks; pumps deployed; drying tents set up.", urgency="LOW"},
      {desc="Temple of the Seer infiltration reveals attempt to mind-condition civic leaders, city on alert.", urgency="HIGH"},
    {desc="Pickpocketing increases during exam week; patrol presence increased.", urgency="LOW"},
      {desc="Golden Oak supply caravans vanish, possibly hijacked by radical forest guardians.", urgency="MEDIUM"},
    {desc="Rumor of ‘forbidden rite text’ triggers a panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Mass 'confession' rituals enforced, suspects tortured, violent crackdown ensues downtown.", urgency="HIGH"},
    {desc="Vendor fire in the courtyard contained quickly; smoke clears within the hour.", urgency="LOW"},
      {desc="Faculty at local academies indicted for sedition, armed city watchers forcibly remove them at night.", urgency="LOW"},
    {desc="Unauthorized drone over the quad; device recovered; operator fined.", urgency="LOW"},
      {desc="Supposedly toxic phenomenon in Vale of Delpa leaves farmland contaminated, prime suspect unknown sabotage group.", urgency="MEDIUM"},
    {desc="Two counterfeit seals found on loan documents; clerks audit recent transactions.", urgency="LOW"},
      {desc="Breakaway cult proclaims Ephyra’s secession, seizing city watch HQ in brazen assault.", urgency="HIGH"},
    {desc="Night noise complaints at dorms increase; wardens issue warnings; no incident.", urgency="LOW"},
      {desc="Rumor of city’s doom triggers panic, extremist doomsday group occupies a major plaza, fueling mass fear.", urgency="LOW"},
    {desc="Routine catalog system maintenance causes short delays; signage posted.", urgency="LOW"}
      {desc="Heavily armed faction commandeers Vygsil Springs, extorting citizens for access to healing waters.", urgency="CRITICAL"},
   }
    }
},
  },
["Koinonía"] = {
  ["Thyrea"] = {
  events = {
    events = {
    {desc="After the granary arson year, a surprise inspection finds fresh accelerant residue in a side shed; distribution pauses; crowd tension rises.", urgency="HIGH"},
      {desc="Agnis adherents forcibly banish all Thalassa icons, confrontation with pro-Thalassa locals flares up.", urgency="HIGH"},
    {desc="Copycat attempt: two suspects caught carrying ignition kits near an alms-store; EOD sweeps the lane; arrests made.", urgency="HIGH"},
      {desc="Normarkian smugglers ally with exiled Agnis worshipers, forming a heavily armed militia along Lake Kedem.", urgency="CRITICAL"},
    {desc="Fraud wave: counterfeit ration chits flood the market; scribes audit rolls; merchants protest seizures.", urgency="MEDIUM"},
      {desc="Underworld enclaves discovered enslaving outsiders for blood rites, city watch overwhelmed by scope of crime.", urgency="HIGH"},
    {desc="Labor dispute over guard rotations at granary gates; work slowdown threatens deliveries; mediation requires stability presence.", urgency="MEDIUM"},
      {desc="Shoshan Marsh caravans repeatedly assaulted, kidnappings surge, trade near standstill.", urgency="HIGH"},
    {desc="A convoy of staple grain is delayed by road sabotage; temp ration limits imposed; clinic reports stress-related incidents.", urgency="MEDIUM"},
      {desc="Unrest as city council accused of colluding with 'dark' Agnis cult, violent protests ongoing.", urgency="MEDIUM"},
    {desc="Rumor of ‘tainted flour’ sparks panic buying; calm-messaging patrols and public assays announced.", urgency="MEDIUM"},
      {desc="Agnis inquisitors detain suspected Thalassa loyalists, show trials intensify, public fear escalates.", urgency="LOW"},
    {desc="Warehouse ledger theft: custody logs vanish overnight; bonded storage sealed pending review.", urgency="MEDIUM"},
      {desc="Helaen Kyklos militias forcibly conscript local youths, families in uproar, demands for external aid.", urgency="MEDIUM"},
    {desc="Armed robbery targets pay courier outside the grain office; patrols tighten at shift change.", urgency="MEDIUM"},
      {desc="Lake Kedem fish die-off traced to possible toxic sabotage, thousands of rotting carcasses disrupt economy.", urgency="HIGH"},
    {desc="Minor fire in a milling shed contained quickly; investigators suspect negligence, not arson.", urgency="LOW"},
      {desc="Fortress rumors: forced reeducation in hidden labyrinth for political prisoners, infiltration attempts fail.", urgency="LOW"},
    {desc="Water point contamination scare near the distribution line; boil advisory issued and later lifted.", urgency="LOW"},
      {desc="Self-styled 'Necro-lord' claims link to Agnis, threatens large-scale execution if city resists demands.", urgency="CRITICAL"},
    {desc="Queue crush near a narrow alley; stewards widen lanes and add barriers; no fatalities.", urgency="MEDIUM"},
     }
    {desc="Pickpocket crews target ration lines; patrols increase; several arrests.", urgency="LOW"},
   },
    {desc="Counterfeit ‘Temple-certified’ sacks sold to merchants; inspectors seize goods and fine vendors.", urgency="LOW"},
    {desc="Vendor brawl over price spikes; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the granary; repaired by morning.", urgency="LOW"},
    {desc="Paperwork backlog delays distribution permits; clerks request assistance.", urgency="LOW"},
    {desc="Unauthorized drone over the granary lane; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor roof leak over a storage annex; tarps installed; repairs scheduled.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine maintenance closes one gate for a day; detour signage posted.", urgency="LOW"}
  }
},
["Aureum"] = {
  events = {
    {desc="After last season’s procession tragedy, memorial crowds overwhelm the main stair; stewards fear a crush; stability patrols enforce lane spacing.", urgency="HIGH"},
    {desc="Copycat threat: anonymous message promises an ‘echo act’ at the next vigil; EOD sweeps rooftops and service corridors.", urgency="HIGH"},
    {desc="Delayed arrest warrants served in a night market tied to the old case; supporters attempt to block entry; minor injuries.", urgency="MEDIUM"},
    {desc="Compensation dispute: victims’ families protest outside the council hall; counter-protesters arrive; patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Fraud scheme sells counterfeit ‘memorial tokens’ to pilgrims; inspectors seize stockpiles; rumors spike.", urgency="MEDIUM"},
    {desc="Arson attempt at a banner workshop for an upcoming parade; accelerant traces found; investigators suspect intimidation.", urgency="HIGH"},
    {desc="Rooftop access-control audit finds duplicate keys in circulation; locks replaced; escort-only rule for contractors.", urgency="MEDIUM"},
    {desc="Lantern festival rehearsal exceeds crowd plan; stewards install extra barriers and reroute traffic.", urgency="LOW"},
    {desc="Pickpocket crews target condolence queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor structural crack discovered in an overpass used for parades; engineers cordon and brace.", urgency="MEDIUM"},
    {desc="Rumor of ‘cursed offerings’ triggers panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Blackout hits a residential row; street lighting fails; minor disorder reported near taverns.", urgency="LOW"},
    {desc="Vendor fire in a side alley contained quickly; smoke clears within the hour.", urgency="LOW"},
    {desc="Water point contamination scare; boil advisory briefly issued then lifted after assays.", urgency="LOW"},
    {desc="Two counterfeit badges detected at a shrine gate; guards retrained; passes reissued.", urgency="LOW"},
    {desc="Paperwork backlog delays procession permits; clerks request temporary assistance.", urgency="LOW"},
    {desc="Unauthorized drone over the vigil route; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor brawl between guild factions over contract awards; separated quickly.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening vigil; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; signage posted.", urgency="LOW"}
  }
},
["Myrene"] = {
  events = {
    {desc="After last season’s Caspazani Madness year, clinics report a renewed symptom cluster in a wet dorm block; quarantine rooms reopened; calm-messaging patrols deployed.", urgency="HIGH"},
    {desc="Copycat panic: false ‘infection alert’ posters trigger crowd flight from a shrine hostel; lane barriers prevent a crush; investigators seize the press plates.", urgency="MEDIUM"},
    {desc="Rail trestle security fallout: inspectors discover fresh scorch marks on a side beam; trains slow to crawl; commuters protest delays.", urgency="MEDIUM"},
    {desc="Smugglers exploit storm detours to bypass checks; inspectors seize forged papers and detain couriers at the bridge approach.", urgency="MEDIUM"},
    {desc="Retaliation threat against a cooperating medic; protective escort arranged; night watch expanded around clinic housing.", urgency="MEDIUM"},
    {desc="Water point contamination scare near shelter cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over clinic lanes; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the trestle road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another outbreak’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shelter crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one corridor lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one market lane for sanitation; signage posted.", urgency="LOW"}
  }
},
["Halicarn"] = {
  events = {
    {desc="After last season’s bridge-destruction year, engineers find stress fractures in a temporary span; one lane closes; shrine district access narrows and crowds surge.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘supports will fall again’; EOD sweeps undercroft cavities; patrols guard repair crews.", urgency="HIGH"},
    {desc="Compensation dispute: shopkeepers protest prolonged detours; counter-protesters arrive; stability patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Smugglers exploit narrowed access to move contraband in supply carts; inspectors seize forged manifests; detentions rise.", urgency="MEDIUM"},
    {desc="Heavy rain undermines the riverbank near the rebuilt approach; sandbag lines formed; evacuation of a low street.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bridge worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target detour queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a vendor loft; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the detour stair; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays delivery permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another bridge blast’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shrine district crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for stonework; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one market lane for sanitation; signage posted.", urgency="LOW"}
  }
},


   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
   -- NEW SOUTH JANGSONG (MAJOR)
   -- New South Jangsong (Major Cities)
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
  ["Skýrophos"] = {
["Skýrophos"] = {
    events = {
  events = {
      {desc="Cliff blockade established by armed rebels, severing vital trade flows, city in crisis.", urgency="HIGH"},
    {desc="After last season’s flood year, levee inspectors find fresh undermining at a marsh bend; emergency reinforcement crews deploy; two villages placed on standby evacuation.", urgency="HIGH"},
      {desc="Rogue cult uses hallucinatory illusions to disorient city patrols, multiple kidnappings reported.", urgency="MEDIUM"},
    {desc="Copycat sabotage threat: anonymous note claims ‘gates will fail again’; canal-gate operators moved to guarded shifts; EOD sweeps control boxes.", urgency="HIGH"},
      {desc="Pirate warlords hijack fishing fleet full of prized pufferfish, holding cargo for ransom.", urgency="HIGH"},
    {desc="Privateer fear aftershocks: fishermen report a disguised cutter shadowing outbound boats; harbor patrol increases escort windows.", urgency="MEDIUM"},
      {desc="Saboteurs destroy Suncliff watchtower with explosives, leaving city partially blind to threats.", urgency="CRITICAL"},
    {desc="Storm drill becomes live incident: a sudden squall collapses a temporary dike; rescue teams evacuate a low street; minor injuries treated.", urgency="MEDIUM"},
      {desc="Contraband quartz bombs discovered in merchant warehouses, mass arrests underway.", urgency="LOW"},
    {desc="Smuggling ring exploits flood detours to bypass toll checks; inspectors seize forged passes and detain couriers.", urgency="MEDIUM"},
      {desc="Officials found stiff with strange marks, believed tortured by black-market interrogation squads.", urgency="HIGH"},
    {desc="Rural protest over repeated evacuations blocks a supply road; stability patrols keep lanes open and negotiate dispersal.", urgency="LOW"},
      {desc="Crucial Alterbulb shipments stolen, local economy on verge of collapse, no suspects named.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
      {desc="Militant uprising captures city outpost, declaring independence from the Bassarid state.", urgency="MEDIUM"},
    {desc="Fog collision damages a marsh pontoon; minor spill contained; ferry schedules disrupted.", urgency="LOW"},
      {desc="Seaborne raiders assault coastal guard towers at night, defenders outmatched.", urgency="LOW"},
    {desc="Unauthorized drone over dike worksites; device recovered; operator fined.", urgency="LOW"},
      {desc="Massive sinkhole in main bazaar reveals weapon cache, city braces for further insurgent moves.", urgency="CRITICAL"}
    {desc="Pickpocket crews target relief queues; patrols increase; arrests made.", urgency="LOW"},
     }
     {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
  },
     {desc="Broken lantern line leaves a dark stretch on a causeway; repaired by morning.", urgency="LOW"},
  ["Bjornopolis"] = {
    {desc="Vendor brawl over stall placement at relief market; separated quickly.", urgency="LOW"},
     events = {
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
      {desc="Smugglers occupy the floating market, armed barricades halt all commerce, city watch pinned down.", urgency="HIGH"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="Guild rivalry triggers lethal shootouts across upper terraces, multiple wounded or dead.", urgency="MEDIUM"},
    {desc="Rumor of ‘pirate landing’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Cavern collapses under city foundation, revealing rebel hideout, firefight erupts with watch squads.", urgency="HIGH"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
      {desc="Revolt claims city hall, proclaims total autonomy from New South Jangsong, local officials flee.", urgency="CRITICAL"},
    {desc="Lost-child incidents rise during evacuation staging; reunification tent expanded.", urgency="LOW"},
      {desc="Poisoned mead kills dozens, inciting riots as city hunts for antidotes or culprits.", urgency="MEDIUM"},
    {desc="Routine maintenance closes one gate lane for repairs; detours posted.", urgency="LOW"},
      {desc="Bijarian Leopards released by extremist group, attacking farmland on outskirts, watch ill‑prepared.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
      {desc="Stolen Altar of Songs relic used to galvanize anti-Bassarid sentiment, recruiting new rebels daily.", urgency="HIGH"},
  }
      {desc="Ex-soldiers blockade harbor with heavy armament, extorting high tribute from all incoming ships.", urgency="CRITICAL"},
},
      {desc="Mysterious nightly disappearances near the old canal, watchers suspect organized kidnapping ring.", urgency="HIGH"},
["Bjornopolis"] = {
      {desc="Street illusions cause mass panic, roving mobs clash with outnumbered city guards, chaos spreads.", urgency="LOW"},
  events = {
    }
    {desc="After last season’s airfield panic year, security discovers a disguised transmitter near the runway fence; flights pause while engineers sweep the perimeter.", urgency="HIGH"},
  },
    {desc="Copycat drone scare: an unidentified craft hovers over the terminal plaza; crowd surges toward exits; stewards enforce lane spacing to prevent crush.", urgency="MEDIUM"},
  ["Aegirheim"] = {
    {desc="Evidence-chain audit: missing serial numbers from confiscated drone parts trigger a search of lockers and contractor sheds.", urgency="MEDIUM"},
    events = {
    {desc="Smuggling fallout: counterfeit ‘cargo clearance’ stamps appear at the freight gate; inspectors seal two warehouses pending custody review.", urgency="MEDIUM"},
      {desc="Normarkian clans forcibly seize city’s main shipyard, stalling vital naval readiness efforts.", urgency="HIGH"},
    {desc="Runway lighting failure during fog forces emergency diversion; temp panic at arrivals hall; calm-messaging patrols deployed.", urgency="LOW"},
      {desc="Conspiracy uncovered to hijack entire Aegirheim fleet, traitorous admirals arrested mid-plan.", urgency="CRITICAL"},
    {desc="Unauthorized drone over restricted hangars; device recovered; operator fined.", urgency="LOW"},
      {desc="Rogue marines capture prime fortifications on Pythe Spine Mountains, cutting off reinforcements from city center.", urgency="HIGH"},
    {desc="Pickpocket crews target crowded ticket lines; patrols increase; arrests made.", urgency="LOW"},
      {desc="Sabotage in blacksmith shops undermines weapon integrity, city alarmed at potential invasion risk.", urgency="HIGH"},
    {desc="Water point contamination scare in a dorm block; boil advisory issued then lifted after assays.", urgency="LOW"},
      {desc="Fenrir sympathizers rumored near Leviathan’s Teeth, stirring calls for additional naval patrols.", urgency="MEDIUM"},
    {desc="Minor fire in a baggage shed; contained quickly; no injuries.", urgency="LOW"},
      {desc="Hardline agitators preach defiance of JS authority, fueling minor ship mutinies at dawn.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch on the access road; repaired by morning.", urgency="LOW"},
      {desc="Ex-pirate gang raids city’s seafaring armories, local militia forced to retreat repeatedly.", urgency="MEDIUM"},
     {desc="Vendor brawl over stall placement outside terminal; separated quickly.", urgency="LOW"},
      {desc="Smuggler rings peddle specialized crab plating for contraband armor, city demands crackdown.", urgency="MEDIUM"},
    {desc="Paperwork backlog delays cargo manifests; clerks request assistance.", urgency="LOW"},
      {desc="Influential merchant alliance calls for martial law after repeated sabotage of harbor defenses.", urgency="LOW"},
    {desc="Blackout hits a hangar row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="Armed extremist fishermen barricade all exports, threaten to sink entire fleet if demands ignored.", urgency="CRITICAL"}
    {desc="Rumor of ‘another airfield attack’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    }
    {desc="Clinic reports mild nausea cluster after long delays; inspectors check food vendor hygiene.", urgency="LOW"},
  },
    {desc="Lost-child incidents rise during arrivals crowding; reunification tent expanded.", urgency="LOW"},
  ["Norsolyra"] = {
    {desc="Routine maintenance closes one terminal corridor; detours posted.", urgency="LOW"},
     events = {
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
      {desc="Wisp cult forcibly takes over a core district, forcing hallucinogenic 'initiations' on residents.", urgency="HIGH"},
    {desc="Minor road accident at the access loop; cleared quickly; no injuries.", urgency="LOW"},
      {desc="Heavily armed raiders undermine Noctic-Rabrev harvest, risking famine or major economic damage.", urgency="HIGH"},
    {desc="Routine inspection closes one freight lane for repairs; signage posted.", urgency="LOW"}
      {desc="Entire patrol squads vanish in Tarnand Fjord, leaving behind signs of ambush, no survivors found.", urgency="LOW"},
  }
      {desc="Rival smuggler factions escalate Wisp Rice turf wars, large crossfire casualties daily.", urgency="MEDIUM"},
},
      {desc="Normark saboteurs destroy farmland levees, mass farmland displacement ensues, city tries damage control.", urgency="HIGH"},
["Aegirheim"] = {
      {desc="Widespread panic as 'dream plague' incites violent paranoia in multiple neighborhoods.", urgency="CRITICAL"},
  events = {
      {desc="Two wisp cult factions brawl for control of sacrificial altars, bystanders caught in crossfire.", urgency="MEDIUM"},
    {desc="After last season’s armory raid year, auditors discover missing parts in an inventory ledger; a hidden cache is suspected; swamp-route checkpoints activated.", urgency="HIGH"},
      {desc="Pirates disguised as pilgrims loot advanced Noctic prototypes from city arsenal, guard helpless.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threats sent to a guard who testified; protective escort assigned; night patrols expanded.", urgency="MEDIUM"},
      {desc="Corrupt officials demand increased wisp offerings from worshipers, armed standoffs break out near altars.", urgency="LOW"},
    {desc="Weapons buyback day turns tense as rival groups accuse each other of hoarding; stability patrols deploy barriers and separate crowds.", urgency="MEDIUM"},
      {desc="Maritime illusions hamper shipping lanes, local trade alliances collapse under financial losses.", urgency="MEDIUM"},
    {desc="Swamp-route ambush scare: a decoy flare line triggers panic among patrols; teams discover a staged trap and dismantle it.", urgency="HIGH"},
    }
    {desc="Smuggling ring exploits reed canals to move weapons components; inspectors seize forged papers and detain couriers.", urgency="HIGH"},
  },
    {desc="Arson attempt at a supply hut; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
  ["Thorsalon"] = {
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    events = {
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
      {desc="Blood Vineyards extremist circle demands daily human tributes, local citizens resisting forcibly.", urgency="HIGH"},
    {desc="Unauthorized drone over checkpoints; device recovered; operator fined.", urgency="LOW"},
      {desc="Normarkian raiders form alliance with contraband smugglers to monopolize blood-infused wine market.", urgency="CRITICAL"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
      {desc="Dozens abducted near Haemomantine Cliffs, ransom notes reference forced labor in hidden caverns.", urgency="HIGH"},
     {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
      {desc="Conclave of Thorsalon imposes martial rule on wine districts, forcibly dissolving competing sects.", urgency="HIGH"},
    {desc="Broken lantern line leaves a dark stretch near the canal road; repaired by morning.", urgency="LOW"},
      {desc="Rogue vineyard owners rumored to use doping agents on workers, prompting health crises in suburbs.", urgency="MEDIUM"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
      {desc="Merchants blockade city gates in protest of new blood wine levy, tensions on the brink.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
      {desc="Disturbing transformations among vineyard workers, traced to possible chemical doping, city investigating.", urgency="MEDIUM"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="Coordinated sabotage in Erythraean wine cellars, entire year’s batch destroyed, city economy threatened.", urgency="HIGH"},
    {desc="Rumor of ‘pirates returning’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Criminal ring rumored to forcibly recruit youths into unlicensed 'wine pit' labor camps, no formal leads yet.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
      {desc="A warband attempts to topple local authority, seizing watchtower over the protest of city patrols.", urgency="CRITICAL"}
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
     }
    {desc="Routine maintenance closes one checkpoint lane for repairs; detours posted.", urgency="LOW"},
   },
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
   }
},
["Norsolyra"] = {
  events = {
    {desc="After last season’s ferry-terminal bombing year, investigators reopen the evidence chain: a missing tag from an EOD kit triggers a full audit of storage lockers and guard rosters.", urgency="HIGH"},
    {desc="Copycat threat: an anonymous note claims a second device at the river pier; embarkation plazas evacuated; EOD sweeps pontoons and ticket sheds.", urgency="HIGH"},
    {desc="Dream-panic aftershocks: clinics report another surge of night terrors; wardens stabilize crowds outside shrine hostels; rumor-control bulletins issued hourly.", urgency="MEDIUM"},
    {desc="Oneira containment backlash: residents protest “sleep curfews” and lantern restrictions; counter-protesters arrive; stability patrols deploy lane barriers.", urgency="MEDIUM"},
    {desc="Piracy-looting fallout: missing arsenal inventory appears for sale at a marsh market; inspectors seize crates; suspects flee into reed canals.", urgency="HIGH"},
    {desc="Flood readiness drills stress-test the levees; a weak section slumps; emergency sandbag lines formed; traffic rerouted.", urgency="MEDIUM"},
    {desc="Fog collision in the harbor channel damages a service pontoon; minor spill contained; ferry schedules disrupted.", urgency="LOW"},
    {desc="Counterfeit ‘Temple clearance’ passes circulate after enforcement year; inspectors audit manifests; merchants complain of delays.", urgency="LOW"},
    {desc="Arson attempt at a dorm hostel tied to earlier panic cases; accelerant odor noted; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Unauthorized drone over the ferry lanes triggers brief no-fly order; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare near the pier market; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Vendor brawl over stall placement during ferry delays; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays cargo manifests; clerks request temporary staff assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the pier; repaired by morning.", urgency="LOW"},
    {desc="Rumor of ‘new bombs’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening ferry crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one boarding lane for repairs; detours posted.", urgency="LOW"}
  }
},
["Thorsalon"] = {
  events = {
    {desc="After last season’s Blood Wine unrest year, inspectors uncover a forged export ledger; a bonded broker is suspended; protest crowds gather at the quay.", urgency="MEDIUM"},
    {desc="Copycat sabotage threat: anonymous note claims ‘barrels will burn’; firebreak teams stage at bonded warehouses; night watch expanded.", urgency="MEDIUM"},
    {desc="Lighthouse-collapse aftershocks: navigation complaints surge; a near-grounding in fog prompts a temporary curfew for small craft.", urgency="LOW"},
    {desc="Reserve-release backlash: rival guilds accuse each other of hoarding; shouting match at the auction hall requires stability patrols.", urgency="MEDIUM"},
    {desc="Smuggling ring uses empty barrel convoys to move contraband; inspectors seize forged manifests and detain couriers.", urgency="MEDIUM"},
    {desc="Water point contamination scare near the quay market; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target auction queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor warehouse fire contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the quay; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays exports; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘export ban’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one gate lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"}
  }
},


   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
   -- NEW SOUTH JANGSONG (MINOR)
   -- New South Jangsong (Minor Cities)
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
  ["Pelagia"] = {
["Pelagia"] = {
    events = {
  events = {
      {desc="Heavily armored raiders sabotage Saltsteppes routes, all commerce suspended, city in crisis mode.", urgency="HIGH"},
    {desc="After last season’s water-tower sabotage year, inspectors find fresh tool marks on a secondary pressure valve; water delivery shifts to guarded cistern points.", urgency="HIGH"},
      {desc="Bassarid relic smugglers gather contraband arms in desert bunkers, vigilantes fail to stop them.", urgency="MEDIUM"},
    {desc="Copycat threat: anonymous message claims ‘tanks will run dry again’; stewards restrict high-volume draws; crowd tensions rise at spigots.", urgency="MEDIUM"},
      {desc="Cult calling itself 'Melusine's Sword' lures caravans into deadly ambushes, zero survivors reported.", urgency="LOW"},
    {desc="Raid aftermath: caravanserai owners report renewed intimidation of witnesses; escorts assigned; night watch expanded.", urgency="MEDIUM"},
      {desc="Tainted well kills traveling merchants, extremist sabotage suspected, city imposes lockdown.", urgency="HIGH"},
    {desc="Storm surge rehearsal becomes live: a microburst collapses a temporary pontoon; rescue teams pull two from the water; minor injuries.", urgency="MEDIUM"},
      {desc="Mass toxic exposure in old fortress claims multiple casualties, sabotage from within suspected.", urgency="LOW"},
    {desc="Smugglers exploit water-queue crowds to move contraband; inspectors seize forged passes and detain couriers.", urgency="MEDIUM"},
      {desc="Bandits forcibly conscript new arrivals, forging a paramilitary group on outskirts of city control.", urgency="MEDIUM"},
    {desc="Counterfeit ‘Temple-certified’ water chits circulate; scribes audit rolls; merchants protest seizures.", urgency="LOW"},
      {desc="Hatch Ministry loyalists reoccupy an abandoned outpost, kidnapping local ranchers for leverage.", urgency="HIGH"},
    {desc="Fog collision in the harbor channel damages a service dock; minor spill contained; schedules disrupted.", urgency="LOW"},
      {desc="Devouring insect swarm unleashed on farmland, rumored to be engineered as a weapon, massive damage.", urgency="CRITICAL"},
    {desc="Unauthorized drone over tower worksites; device recovered; operator fined.", urgency="LOW"},
      {desc="Camel ranchers threaten revolt unless city invests heavily in protective garrisons, tensions mount.", urgency="MEDIUM"},
    {desc="Pickpocket crews target queue lines; patrols increase; arrests made.", urgency="LOW"},
      {desc="Key supply warehouse vanishes—reports of cart convoys hauling entire stock away at night, city starves.", urgency="CRITICAL"}
    {desc="Minor stall fire at the quay market; contained quickly; no injuries.", urgency="LOW"},
     }
    {desc="Broken lantern line leaves a dark stretch near the tower road; repaired by morning.", urgency="LOW"},
   },
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays water permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘poisoned tanks’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during quay crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one cistern lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one caravanserai loading lane; signage posted.", urgency="LOW"}
  }
},
["Thyrea"] = {
  events = {
    {desc="After last season’s devotional-market fires, inspectors find fresh scorch patterns in a storage loft; suspected ‘test burn’ prompts a full sweep of alley vents.", urgency="HIGH"},
    {desc="Copycat arson threat: anonymous message promises a ‘third blaze’ at the next market night; stewards enforce early closure and guarded firebreak lines.", urgency="MEDIUM"},
    {desc="Stampede trauma aftershocks: a false oracle cry sparks a sudden crowd surge; lane barriers prevent injuries, but panic spreads across stalls.", urgency="MEDIUM"},
    {desc="Ritual access dispute returns: rival processions argue over shrine stair priority; stability patrols separate factions and reroute foot traffic.", urgency="MEDIUM"},
    {desc="Evidence-chain review: a suspect tied to last year’s fires is spotted near a fuel vendor; chase spills into tight alleys; two injured in a fall.", urgency="HIGH"},
    {desc="Fire-safety enforcement backlash: vendors protest limits on braziers and lanterns; shouting match escalates; wardens keep lanes open.", urgency="LOW"},
    {desc="Illegal accelerant stockpile discovered behind a spice shed; hazmat lanes established; several stalls closed pending assays.", urgency="HIGH"},
    {desc="Counterfeit ‘Temple-approved’ fire permits circulate; inspectors seize documents and fine vendors.", urgency="LOW"},
    {desc="Water point contamination scare near the market cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Pickpocket crews exploit crowding during safety checks; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire contained quickly; smoke clears within the hour.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near shrine stair; repaired by morning.", urgency="LOW"},
    {desc="Unauthorized drone over the market canopy; device recovered; operator fined.", urgency="LOW"},
    {desc="Paperwork backlog delays vendor permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Clinic reports mild smoke irritation cluster after a small flare-up; inspectors check ventilation and braziers.", urgency="LOW"},
    {desc="Rumor of ‘forbidden rites’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; detours posted.", urgency="LOW"}
  }
},
["Ephyra"] = {
  events = {
    {desc="After last season’s grain-silo arson year, inspectors detect fresh accelerant traces near a fuel shed; firefighters stage on-site; lane cordons established.", urgency="HIGH"},
    {desc="Copycat threat: anonymous message promises ‘second fire’ at the next delivery; convoys stagger arrival windows under escort buffers.", urgency="MEDIUM"},
    {desc="Reconstruction fraud: counterfeit ‘silo repair permits’ sold to contractors; inspectors raid a night market and seize seals.", urgency="MEDIUM"},
    {desc="Fuel depot safety audit finds tampered extinguisher units; suspects detained; workers demand hazard pay.", urgency="MEDIUM"},
    {desc="Smugglers exploit convoy crowding to move contraband; inspectors seize forged manifests and detain couriers.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over silo worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target delivery queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the depot road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays delivery permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘fuel explosion’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during market crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"}
  }
},
----------------------------------------------------------------------------
  -- Haifan Bassaridia (Major Cities)
  ----------------------------------------------------------------------------
["Keybir-Aviv"] = {
  events = {
    {desc="After last season’s mine-collapse year, inspectors discover fresh instability readings in a sealed spur; a second controlled entry is ordered; families gather at the gate.", urgency="HIGH"},
    {desc="Copycat sabotage threat: anonymous note claims charges were left in a ventilation shaft; EOD sweeps intake tunnels; work pauses.", urgency="HIGH"},
    {desc="Delayed injury claims trigger protests outside the mining office; counter-group arrives; stability patrols deploy lane barriers.", urgency="MEDIUM"},
    {desc="VBSS enforcement backlash: merchants complain of inspection drag after last year’s corridor clamp; a dockside march blocks one gate.", urgency="LOW"},
    {desc="Smuggling fallout: forged ship manifests detected; bonded yard frozen pending custody audit; two brokers suspended.", urgency="MEDIUM"},
    {desc="Arson attempt at a tool shed near the minehead; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Water point contamination scare near worker dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over minehead safety zone; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another collapse’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"}
  }
},
["Tel-Amin"] = {
  events = {
    {desc="After last season’s trade-outpost sabotage year, inspectors find fresh cut marks on a coastal signal pole; patrols establish a guarded watch rotation.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims the coffee-grove road will be hit again; convoys stagger movement windows under escort buffers.", urgency="MEDIUM"},
    {desc="Evidence-chain review: missing fragments from a damaged outpost shutter trigger a sweep of storage lockers and contractor sheds.", urgency="MEDIUM"},
    {desc="Smuggling fallout: forged ‘Alfa posture’ permits circulate; inspectors seize paperwork; merchants protest delays.", urgency="LOW"},
    {desc="Retaliation scare: witness reports being followed near the grove market; protective escort assigned; night watch expanded.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a grove cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision in the harbor channel damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the coast track; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the grove road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays shipping permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘coast raids’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Diamandis"] = {
  events = {
    {desc="After last season’s broadcast-node crisis, inspectors discover a forged maintenance order for the radio mast; security locks down access and audits contractor rosters.", urgency="HIGH"},
    {desc="Copycat propaganda attempt: counterfeit ‘urgent transmission’ leaflets trigger crowd panic; wardens seize print plates and stabilize the plaza.", urgency="MEDIUM"},
    {desc="Bridge-repair aftershocks: engineers find corrosion hidden under temporary plating; one lane closes; bullion traffic rerouted to a longer detour.", urgency="HIGH"},
    {desc="Evidence-chain dispute from prior ramp incident: missing bolt fragments prompt re-examination of storage lockers; two technicians suspended.", urgency="MEDIUM"},
    {desc="Smuggling fallout: forged bullion escort chits circulate; inspectors seize paperwork at a weighstation; merchants protest delays.", urgency="MEDIUM"},
    {desc="Arson attempt at a small relay hut; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Water point contamination scare near market cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the mast perimeter; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target detour queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the bridge detour; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another bridge blast’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one weighstation lane for audits; signage posted.", urgency="LOW"}
  }
},
["Jogi"] = {
  events = {
    {desc="After last season’s arms-shipment scandal year, auditors find a forged consignee chain on three crates; bonded warehouses are sealed pending custody review.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threats sent to a dock clerk who testified; protective escort assigned; night patrols expanded around the clerk’s block.", urgency="MEDIUM"},
    {desc="Tornado recovery fraud: counterfeit ‘relief vouchers’ sold at a market; inspectors raid a stall row and seize seals.", urgency="MEDIUM"},
    {desc="Corridor security backlash: merchants protest escort windows and inspection delays after the convoy-ambush year; stability patrols keep lanes open.", urgency="LOW"},
    {desc="Evidence-transfer day (privateering custody): protest crowd forms outside the courthouse; counter-group arrives; lane barriers installed to prevent clashes.", urgency="MEDIUM"},
    {desc="Copycat ambush scare: staged flares found near a food-convoy lane; patrols dismantle a trap and widen the exclusion zone.", urgency="HIGH"},
    {desc="Water point contamination scare near a shelter cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the yard; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the courthouse lane; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays manifests; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another storm strike’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one gate lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"}
  }
},
["Lewisburg"] = {
  events = {
    {desc="Straits enforcement spillover: inspectors intensify manifest verification after seizures in nearby ports; queues form at the bonded gate; merchants protest delays.", urgency="LOW"},
    {desc="Copycat rumor wave claims contraband devices are moving through Lewisburg; calm-messaging patrols circulate clarifications; stewards add a short-term inspection window.", urgency="LOW"},
    {desc="Counterfeit clearance stamps detected on two freight packets; clerks audit recent releases; a broker is suspended pending review.", urgency="MEDIUM"},
    {desc="Suspected intimidation of a customs witness tied to a regional case; protective escort assigned; night patrols expanded near the witness block.", urgency="MEDIUM"},
    {desc="Smuggling ring attempts reroute through coastal backroads; patrols seize forged papers and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a dock cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the quay market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays manifests; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘port closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
     {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
   }
},


   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
   -- HAIFAN BASSARIDIA (MAJOR)
   -- Haifan Bassaridia (Minor Cities)
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
  ["Keybir-Aviv"] = {
["Thermosalem"] = {
    events = {
  events = {
      {desc="Highly organized raiders ambush diamond convoys near Lake Morovia, entire guard unit lost.", urgency="HIGH"},
    {desc="After last season’s outbreak year, clinics report a small resurgence of symptoms in a dorm block; booster lines reopened; crowd control needed at the bath gates.", urgency="MEDIUM"},
      {desc="Stripping Path radicals occupy coral trade posts, local officials found dead at scene.", urgency="MEDIUM"},
    {desc="Copycat panic: false ‘infection alert’ posters trigger crowd flight from the Great Dome Baths arcade; lane barriers prevent a crush; investigators seize print plates.", urgency="MEDIUM"},
      {desc="Mass theft spree devastates city’s main trade route, halting commerce with neighboring ports.", urgency="HIGH"},
    {desc="Sanitation audit fallout: inspectors find forged hygiene certificates at three vendors; stalls closed; merchants protest enforcement.", urgency="LOW"},
      {desc="Exposed Diamond Corp conspirators attempt a small-scale takeover, employing hired muscle at city gates.", urgency="LOW"},
    {desc="Ritual capacity dispute returns: stewards argue over entry limits introduced after the outbreak year; shouting match requires stability patrols.", urgency="LOW"},
      {desc="A Hermes cult demands ritual sacrifices, terrorizing remote hamlets that rely on Keybir-Aviv’s markets.", urgency="CRITICAL"},
    {desc="Counterfeit clinic passes detected; staff audit rolls and suspend two clerks pending review.", urgency="LOW"},
      {desc="Diamond forgery ring fuels panic, mass arrests spark retaliatory violence from hidden networks.", urgency="HIGH"},
    {desc="Arson attempt at a linen drying shed near bath service corridors; accelerant traces found; investigators suspect intimidation of inspectors.", urgency="HIGH"},
      {desc="Warlords use reef creatures to raid farmland, civilians forced to flee in droves.", urgency="MEDIUM"},
    {desc="Water point contamination scare near bath cisterns; boil advisory issued then lifted after assays.", urgency="LOW"},
      {desc="Coordinated bombing flattens major warehouse district, city meltdown ensues amid chaos.", urgency="HIGH"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
      {desc="Council crackdown on extremist Path offshoot triggers pitched street battles in coral markets.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the Dome roofline; device recovered; operator fined.", urgency="LOW"},
      {desc="A solar anomaly sets doomsday prophets ablaze, inciting riots at city docks, guard overwhelmed.", urgency="LOW"}
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
     }
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
  },
     {desc="Broken lantern line leaves a dark stretch near bath arcade; repaired by morning.", urgency="LOW"},
  ["Tel-Amin"] = {
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
     events = {
     {desc="Paperwork backlog delays vendor permits; clerks request assistance.", urgency="LOW"},
      {desc="Naval blockade from rival states traps vital supply ships, city stands on edge of famine.", urgency="CRITICAL"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="Pirate king abducts top merchant heirs, demands city pay crippling ransom within days.", urgency="HIGH"},
    {desc="Rumor of ‘bath closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Hidden tomb with ancient remains discovered, multiple explorers hospitalized from unknown contamination (non-magical).", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
      {desc="Host Spirit zealots torch older Stripping Path temples, city guard fights to contain widespread fires.", urgency="MEDIUM"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
      {desc="Mass pilgrim influx from Mylecia overwhelms local defenses, infiltration suspected in massive crowds.", urgency="HIGH"},
    {desc="Routine maintenance closes one corridor for tilework; detours posted.", urgency="LOW"},
      {desc="Saboteurs destroy key trade outposts, city experiences resource shortages, morale dips severely.", urgency="CRITICAL"},
    {desc="Routine inspection closes one bath gate for audits; signage posted.", urgency="LOW"}
      {desc="Fortress gate toll revolt escalates, smugglers openly exchange fire with local garrison.", urgency="HIGH"},
  }
      {desc="Rebel roadblocks use improvised explosives to halt all commercial transport, stalemate ongoing.", urgency="MEDIUM"},
},
      {desc="Alarming prophecy triggers city panic, radical group occupies a major temple unopposed.", urgency="LOW"},
["Akróstadium"] = {
      {desc="Undersea caverns rumored to house enemy submersibles, threatening coastal shipping routes, city anxious.", urgency="MEDIUM"}
  events = {
     }
    {desc="After last season’s gatehouse attack year, engineers find fresh stress fractures in a rebuilt gate segment; one entry lane closes; crowding increases at checkpoints.", urgency="HIGH"},
  },
    {desc="Copycat threat: anonymous note claims a new vehicle strike; barriers are doubled; EOD sweeps the shift-change muster area.", urgency="HIGH"},
  ["Diamandis"] = {
    {desc="Ridge security aftershocks: false ‘incoming mortar’ report triggers a brief stampede; lane barriers prevent injuries; investigators trace the rumor source.", urgency="MEDIUM"},
     events = {
    {desc="Magazine-seizure fallout: auditors discover missing inventory tags; a hidden cache is suspected; armory annexes placed under guarded access.", urgency="HIGH"},
      {desc="Merchants of the Valley of Diamonds forcibly close major mines, heavily arming security teams.", urgency="HIGH"},
    {desc="Trial-day protests over last year’s coup faction spill into market lanes; stability patrols deploy non-lethal spacing lines.", urgency="MEDIUM"},
      {desc="Diamond trade meltdown triggers violent faction warfare among top corporations, city watch outclassed.", urgency="CRITICAL"},
     {desc="Counterfeit access badges detected at an inner checkpoint; passes reissued; contractor rosters audited.", urgency="MEDIUM"},
      {desc="Rogue excavators vanish in newly found tunnels, possibly claimed by contraband miners.", urgency="HIGH"},
    {desc="Water point contamination scare near barracks cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
      {desc="Blood-infused smuggling racket uses raw diamonds, multiple victims discovered with diamond-laced wounds.", urgency="HIGH"},
    {desc="Fog reduces visibility on outer wall road; vehicle pileup causes delays; cleared within hours.", urgency="LOW"},
      {desc="Armed rebels loot Diamandis central bank, steal gold reserves, city finances teeter on collapse.", urgency="MEDIUM"},
     {desc="Unauthorized drone over the fortress roofline; device recovered; operator fined.", urgency="LOW"},
      {desc="Explosive sabotage at Valley of Diamonds entry buries dozens of workers, panic ensues, guard cannot cope.", urgency="CRITICAL"},
    {desc="Pickpocket crews target checkpoint queues; patrols increase; arrests made.", urgency="LOW"},
      {desc="Forced labor ring alleged to enslave unsuspecting laborers in remote shafts, no official rescue attempts yet.", urgency="LOW"},
    {desc="Minor fire in a vendor loft; contained quickly; no injuries.", urgency="LOW"},
      {desc="Major smuggling operation discovered shipping weaponized diamond shards to unknown buyer offshore.", urgency="MEDIUM"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
      {desc="Riots over rumored diamond shortage, entire neighborhoods on lockdown by city guard.", urgency="HIGH"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
      {desc="Critical meltdown at diamond cutting facility, sabotage suspected, multiple casualties reported.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    }
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
  },
    {desc="Rumor of ‘another breach’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
  ["Jogi"] = {
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    events = {
    {desc="Lost-child incidents rise during crowding at inspections; reunification tent expanded.", urgency="LOW"},
      {desc="Armed caravans hijack farmland shipments, leaving Jogi’s breadbasket output in ruins.", urgency="HIGH"},
    {desc="Routine maintenance closes one stair corridor for stonework; detours posted.", urgency="LOW"},
      {desc="Mysterious sabotage devastates Ale of the Night Brewery, paramilitary group claims responsibility.", urgency="CRITICAL"},
    {desc="Routine inspection closes one checkpoint lane for audits; signage posted.", urgency="LOW"}
      {desc="Gang-backed cattle theft sparks armed shootouts, farmland watch heavily strained.", urgency="HIGH"},
  }
      {desc="Slave ring discovered capturing field workers at night, local militia outgunned in covert raids.", urgency="MEDIUM"},
},
      {desc="Nomadic warband blocks Trans-Keltian railway near Jogi, halting southern shipments indefinitely.", urgency="HIGH"},
["Sufriya"] = {
      {desc="Illicit Noctic distillery meltdown hints at terror involvement, farmland citizens desert homes.", urgency="LOW"},
  events = {
      {desc="Large orchard burnings cause near-famine conditions, city planners scramble for emergency supply lines.", urgency="HIGH"},
    {desc="After last season’s warehouse-row liberation case, inspectors reopen sealed ledgers: a missing custody stamp triggers a full audit of dockside storage and guard rosters.", urgency="HIGH"},
      {desc="Tribal Alperkin forces claim farmland ownership, forcibly expelling Jogi farmers, brutal standoffs erupt.", urgency="MEDIUM"},
    {desc="Copycat intimidation: anonymous threats sent to two rescued witnesses scheduled for hearings; protective escorts assigned; night watch expanded around safe houses.", urgency="MEDIUM"},
      {desc="Hatch Ministry infiltration rumored to fund radical movements, arrests made but leadership unknown.", urgency="LOW"},
    {desc="Port-device follow-on: fresh tool marks appear on a ro-ro ramp hinge; EOD sweeps the loading lanes and installs temporary barriers.", urgency="HIGH"},
      {desc="Coordinated raiders sabotage railway lines, region’s agrarian distribution network threatened, city on red alert.", urgency="CRITICAL"},
    {desc="Smuggling fallout: counterfeit ‘clearance’ seals circulate on manifest packets; bonded yard frozen pending verification; merchants protest delays.", urgency="MEDIUM"},
     }
    {desc="Retaliation scare: a suspected fixer is spotted near the customs arcade; chase spills into alley lanes; minor injuries from crowd surge.", urgency="MEDIUM"},
   },
    {desc="Queue crush narrowly avoided when rumor of ‘new raids’ spreads; stewards enforce lane spacing and open an overflow holding yard.", urgency="MEDIUM"},
  ["Lewisburg"] = {
    {desc="Water point contamination scare near a dock cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    events = {
    {desc="Fog collision damages a pier corner; minor spill contained; schedules disrupted.", urgency="LOW"},
      {desc="Order of Rochefort remnants raid city depots, reviving old hostilities against Stripping Path followers.", urgency="HIGH"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
      {desc="Mass sabotage cripples the Trans-Bassaridia Railway at Lewisburg station, convoys stranded for days.", urgency="CRITICAL"},
    {desc="Pickpocket crews exploit inspection queues; patrols increase; arrests made.", urgency="LOW"},
      {desc="Extremist loyalists vow restoration of Hammish rule, seize administrative buildings, watchers outnumbered.", urgency="HIGH"},
    {desc="Minor stall fire at quay market; contained quickly; no injuries.", urgency="LOW"},
      {desc="Secret black-market dealings in ex-Rochefort fortress, investigators vanish, city fears a bigger plot.", urgency="HIGH"},
    {desc="Broken lantern line leaves a dark stretch near the ramp; repaired by morning.", urgency="LOW"},
      {desc="Refugees fleeing forced labor by local militia in farmland, city attempts rescue mission amid chaos.", urgency="MEDIUM"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
      {desc="Late-night chanting around old Rochefort crypt incites panic, though no 'supernatural' sign found—guards suspect cult activity.", urgency="LOW"},
    {desc="Paperwork backlog delays releases; clerks request assistance.", urgency="LOW"},
      {desc="Corrupt officials indicted for supplying arms to rebel brigades, municipal meltdown underway.", urgency="MEDIUM"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="Armed paramilitaries sabotage local factories, crippling city’s fragile infrastructure as intimidation tactic.", urgency="HIGH"},
    {desc="Rumor of ‘new contraband bombs’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Highly infectious plague found in fortress tunnels, quarantines enforced, potential bio-sabotage suspected.", urgency="CRITICAL"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
      {desc="Unverified bomb threat empties city’s main marketplace, thousands displaced, no group claims it.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
     }
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
   },
     {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"}
   }
},
["Lykopolis"] = {
  events = {
    {desc="After last season’s chemical spill year, inspectors detect residue in a riverbank seep; a secondary containment berm is ordered; water draws restricted temporarily.", urgency="MEDIUM"},
    {desc="Copycat dumping threat: anonymous note claims ‘more tanks will leak’; hazmat teams inspect transfer points; manifests frozen for review.", urgency="MEDIUM"},
    {desc="Compensation dispute: fisher guild protests delayed payouts tied to last year’s spill; stability patrols keep lanes open at the council hall.", urgency="LOW"},
    {desc="Fraud wave: counterfeit ‘cleanup vouchers’ sold at a market; inspectors raid stalls and seize seals.", urgency="LOW"},
    {desc="Smuggling ring uses cleanup convoys to move contraband; inspectors seize forged manifests; detentions rise.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a river cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over river exclusion zone; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the river road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays shipping permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘new toxin wave’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one quay lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one transfer point for audits; signage posted.", urgency="LOW"},
     {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
   }
},


   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
   -- HAIFAN BASSARIDIA (MINOR)
   -- NEW CITIES IN BASSARIDIAN NORMARK
   ----------------------------------------------------------------------------
   ----------------------------------------------------------------------------
  ["Thermosalem"] = {
["Ardclach"] = {
    events = {
  events = {
      {desc="A group threatens to contaminate hot springs with industrial toxins if demands go unmet.", urgency="HIGH"},
    {desc="After the convoy-crisis winter, inspectors find fresh tool marks on a snow-shed hinge pin; crews suspend traffic while engineers sweep the span.", urgency="HIGH"},
      {desc="Armed pilgrims storm spa district, taking physicians as hostages for leverage.", urgency="MEDIUM"},
    {desc="Copycat robbery scare: staged flares appear on the road into town; patrols dismantle a trap and widen the exclusion zone.", urgency="MEDIUM"},
      {desc="Militant sect vows to demolish hydrotherapy complex, sabotage uncovered in drainage tunnels.", urgency="CRITICAL"},
    {desc="Delayed prosecution fallout: a witness to last year’s convoy case reports being followed; protective escort assigned; night watch expanded.", urgency="MEDIUM"},
      {desc="Multiple visitors vanish near secluded bathhouse corridors, city suspecting forced labor or kidnapping.", urgency="LOW"},
    {desc="Market stability backlash: merchants protest rolling inspection windows introduced during winter posture; stability patrols keep lanes open.", urgency="LOW"},
      {desc="Widespread doping incident at main hot spring, frenzied attackers assault bystanders, guard calls for backup.", urgency="MEDIUM"},
    {desc="Smuggling spillover: forged routing codes detected on two wagons; bonded yard frozen pending custody review.", urgency="MEDIUM"},
      {desc="Bombing at spa dome kills dozens, local law enforcement overwhelmed by unknown perpetrators.", urgency="HIGH"},
    {desc="Whiteout drill becomes live: sudden squall strands a supply line; rescue teams locate stalled wagons; hypothermia cases treated.", urgency="MEDIUM"},
      {desc="Traditional priests detain progressive healers over 'heresy' accusations, tensions rise sharply.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the ridge road; device recovered; operator fined.", urgency="LOW"},
      {desc="Strange illusions near dawn possibly caused by unknown hallucinogens, rescue attempts fail amid confusion.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
      {desc="Primary mineral well collapses, sabotage strongly suspected, city’s wellness economy in jeopardy.", urgency="HIGH"},
    {desc="Water point contamination scare at a hostel cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
      {desc="Coordinated extremist group kidnaps incoming tourists for ransom or forced labor, city has no immediate solution.", urgency="CRITICAL"}
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
     }
     {desc="Broken lantern line leaves a dark stretch near the gate road; repaired by morning.", urgency="LOW"},
  },
     {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
  ["Akróstadium"] = {
    {desc="Paperwork backlog delays transit permits; clerks request assistance.", urgency="LOW"},
     events = {
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
      {desc="High-ranking War League commanders revolt, arresting novice officers mid-training, city paralyzed.", urgency="HIGH"},
    {desc="Rumor of ‘another convoy hit’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
      {desc="Toxic agent found in monastery dorm vents, multiple trainees hospitalized, sabotage suspected.", urgency="CRITICAL"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
      {desc="Rampaging water buffalo tear down perimeter walls, stable guards pinned, city watchers outmanned.", urgency="HIGH"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
      {desc="Livestock plague rumored to be engineered, local ranchers demand city intervention, fear famine soon.", urgency="MEDIUM"},
    {desc="Routine maintenance closes one ridge lane for repairs; detours posted.", urgency="LOW"},
      {desc="A star champion assassinated mid dueling demonstration, public flees in terror, law enforcement scrambles.", urgency="HIGH"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"},
      {desc="Armed Bassarid rebels seize Temple of Kan Zen, forcibly converting novices to their cause.", urgency="MEDIUM"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
      {desc="Smuggled armaments uncovered in stables, hinting at a brewing coup or infiltration ring.", urgency="LOW"},
  }
      {desc="At midnight, conspirators in monastery crypt plan city takeover, watchers uncertain of real threat size.", urgency="CRITICAL"},
},
      {desc="Barricade set up on main roads with hidden explosives, cutting off supply caravans indefinitely.", urgency="MEDIUM"},
["Riddersborg"] = {
      {desc="Mass chanting incites violent hysteria in stadium grounds, city watch outnumbered by rioters.", urgency="LOW"}
  events = {
    }
    {desc="After the terminus-attack year, engineers discover hairline cracks in a rebuilt concourse girder; one platform closes; commuter crowding requires lane barriers.", urgency="HIGH"},
  },
    {desc="Copycat threat: anonymous note promises ‘another concourse strike’ on the anniversary week; EOD sweeps service tunnels and trash vaults.", urgency="HIGH"},
  ["Sufriya"] = {
    {desc="Evidence-chain audit finds missing seal strips from a confiscated bag; lockers searched; two contractors suspended pending review.", urgency="MEDIUM"},
    events = {
    {desc="Trial-day protests over last year’s suspects spill into station plazas; counter-groups arrive; stability patrols deploy non-lethal spacing lines.", urgency="MEDIUM"},
      {desc="Merchant coalition tightens control over Abeisan Inlet shipping, forcibly extorting passing vessels.", urgency="HIGH"},
    {desc="Smuggling fallout: forged rail passes appear in the night market; inspectors seize documents and detain couriers near the yard gate.", urgency="MEDIUM"},
      {desc="Jezeri infiltration rumored in city hall, forging secret alliances with known pirate clans.", urgency="MEDIUM"},
    {desc="Storm drill becomes live: whiteout forces a temporary station lockdown; shelters open; minor injuries from slips on the stair.", urgency="MEDIUM"},
      {desc="Hidden slave markets discovered in abandoned warehouses, local guard unprepared for large-scale rescue.", urgency="HIGH"},
    {desc="Counterfeit ‘safe-route’ maps sold to travelers; victims get stranded in restricted corridors; arrests made.", urgency="MEDIUM"},
      {desc="Abeisan Inlet privateers sabotage docking facilities, fleets trapped, trade collapses overnight.", urgency="CRITICAL"},
    {desc="Unauthorized drone over the rail yard triggers brief no-fly order; device recovered; operator fined.", urgency="LOW"},
      {desc="Opium dens bribe city watch to ignore mass kidnappings, scandal erupts in official ranks.", urgency="HIGH"},
    {desc="Pickpocket crews target ticket lines during delays; patrols increase; arrests made.", urgency="LOW"},
      {desc="Border dispute with Imperial Federation escalates, armed militias gather near Sufriya outskirts.", urgency="LOW"},
    {desc="Water point contamination scare at a shelter cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
      {desc="Elite spy ring assassinates multiple mid-level functionaries, city lacks cohesive leadership response.", urgency="MEDIUM"},
     {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
      {desc="Merchant mansions ransacked by clandestine group calling themselves Abeisan Liberators, property owners flee.", urgency="HIGH"},
     {desc="Broken lantern line leaves a dark stretch near platform stairs; repaired by morning.", urgency="LOW"},
      {desc="Shipping manifests sabotaged systematically, local economy in crisis, no suspect named yet.", urgency="LOW"},
    {desc="Vendor brawl over stall placement outside the station; separated quickly.", urgency="LOW"},
      {desc="Armed blockade halts traffic from Lake Morovia to southern strait, city council declares state of emergency.", urgency="CRITICAL"}
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
     }
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
  },
    {desc="Rumor of ‘rail closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
  ["Lykopolis"] = {
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
     events = {
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
      {desc="Priestess of Agripinilla imposes heavy-handed martial orders, forcibly enlisting entire neighborhoods.", urgency="HIGH"},
    {desc="Routine maintenance closes one corridor for repairs; detours posted.", urgency="LOW"},
      {desc="Mylecian Coal Ports infiltration unmasked conspiracy to overthrow city government from within.", urgency="MEDIUM"},
    {desc="Routine inspection closes one yard gate for audits; signage posted.", urgency="LOW"}
      {desc="Gruesome ceremonies rumored in defunct coal mines, kidnappings indicate possible forced labor or executions.", urgency="HIGH"},
  }
      {desc="Stripping Path militants sabotage excavation tunnels, burying dozens, city resources stretched thin.", urgency="CRITICAL"},
},
      {desc="Bassarid loyalists brawl with local Divinist protesters, chaos in city squares, multiple injuries.", urgency="LOW"},
 
      {desc="Fenrir sympathizers rumored near the main shrine, vantage points compromised, leadership unsettled.", urgency="HIGH"},
  -- Caledonian City-States
      {desc="Several city officials indicted for extorting coal miners, paramilitary squads deployed to quell unrest.", urgency="MEDIUM"},
["Notranskja"] = {
      {desc="Grassroots agitators push for Lykopolis independence, stashing weapons in disused mineshafts, watchers find partial evidence.", urgency="MEDIUM"},
  events = {
      {desc="Masked zealots disrupt daily worship, forcibly 'reforming' unwilling citizens, fosters high tension.", urgency="LOW"},
    -- CRITICAL (1–5)
      {desc="Major sabotage at prime coal shipping port, forging supply chain collapses, city meltdown imminent.", urgency="CRITICAL"}
    {desc="Coordinated arson–sabotage at White Ruby grain elevators sparks dust flashover; City Watch and depot foam tenders halt extension to rail sidings.", urgency="CRITICAL"},
     }
     {desc="Armed crew attempts stipend-voucher heist at Temple Bank kiosk beside agrimarket; Horjin patrol car locks the street and Tadpole VT-UAVs chase getaway van into snowfields.", urgency="CRITICAL"},
   },
    {desc="Contaminant plume detected in herb-drying barns after illicit solvent dump; mass nausea cases reported—boil-water and market-closure orders issued.", urgency="CRITICAL"},
    {desc="Blizzard shear derails two hopper wagons on Trans-Morovian spur; magnetically braked consist stabilized while hypothermia evac underway.", urgency="CRITICAL"},
    {desc="Encrypted drone swarm probes perimeter of White Ruby distribution yard; counter-UAS net and signal jammer grid force crash-landings in peat bog.", urgency="CRITICAL"},
 
    -- HIGH (6–10)
    {desc="Voucher registry latency stalls redemption at farmers’ hall; mobile counters deployed, Temple Bank auditors verify batch integrity.", urgency="HIGH"},
    {desc="Cold-chain failure in meat packing sheds after substation trip; backup gensets spin up and inspectors cull compromised lots.", urgency="HIGH"},
    {desc="Smuggling ring swaps investor scrip for counterfeit receipts; market syndics seize stall and freeze accounts pending arbitration.", urgency="HIGH"},
    {desc="Wolfpack sightings along northern haul road spook haulage teams; dusk curfew and armed outriders added to convoy SOP.", urgency="HIGH"},
    {desc="Silo scaffold icing causes panel shed; safety cordon and rope teams clear catwalks before dawn opening.", urgency="HIGH"},
 
    -- MEDIUM (11–15)
    {desc="Frost fog closes aerostat pad; postal drops diverted to rail until visibility improves.", urgency="MEDIUM"},
    {desc="Herb-auction backlog clogs quay sheds awaiting lake ferry slots; investor brokers stagger lot releases by ward.", urgency="MEDIUM"},
    {desc="Unauthorized burners spotted near peat reserve; wardens extinguish and cite three for fuel theft.", urgency="MEDIUM"},
    {desc="Farm-to-port convoy backed up by jackknifed lorry at timber bridge; pulley team resets trailer and reopens one-way flow.", urgency="MEDIUM"},
    {desc="Market scales audit finds tampered weights at two stalls; licenses suspended and restitution ordered.", urgency="MEDIUM"},
 
    -- LOW (16–20)
    {desc="Community grain-mill marathon draws crowds; steward lanes mark emergency egress.", urgency="LOW"},
    {desc="Voucher literacy clinic oversubscribed; extra session scheduled at cooper hall.", urgency="LOW"},
    {desc="Lantern-sled parade overruns market crescent; barriers extended for next cycle.", urgency="LOW"},
    {desc="Ice fog etches rail signal lenses; maintenance crews polish and reseal housings.", urgency="LOW"},
    {desc="Stray dogs trail butcher carts; animal control sets humane pens off main lane.", urgency="LOW"}
  }
},
["Slevik"] = {
   events = {
    {desc="After last season’s weighbridge scare, inspectors discover a counterfeit maintenance tag on the scanner housing; operations pause while engineers audit the unit.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘a second device’ in the rail yard; EOD sweeps ballast pits and service closets; one gate closes.", urgency="HIGH"},
    {desc="Express hardening backlash: merchants protest tightened routing windows; stability patrols keep lanes open at the yard entrance.", urgency="LOW"},
    {desc="Manifest fraud wave: forged transit stamps detected on three consignments; bonded storage frozen pending custody review.", urgency="MEDIUM"},
    {desc="Storm drill becomes live: sea spray and ice jam a switch; trains delayed; shelters open for stranded passengers.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the yard; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target ticket lines during delays; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare near a dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the weighbridge; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays releases; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘rail shutdown’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"}
  }
},
["Fanghorn"] = {
  events = {
    {desc="After last season’s flood-and-slope year, inspectors detect fresh undermining at a river bend; emergency reinforcement crews deploy; two hamlets placed on standby evacuation.", urgency="HIGH"},
    {desc="Copycat sabotage threat: anonymous note claims ‘the river will rise again’; water-gate operators moved to guarded shifts; EOD sweeps control boxes.", urgency="MEDIUM"},
    {desc="Storm drill becomes live: sudden squall triggers a small slide; rescue teams evacuate a low street; minor injuries treated.", urgency="MEDIUM"},
    {desc="Relief fraud wave: counterfeit ‘rebuild vouchers’ sold at a market; inspectors raid stalls and seize seals.", urgency="LOW"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Unauthorized drone over levee worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target relief queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the river road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement at relief market; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another flood wave’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evacuation staging; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one causeway lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one relief gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"},
    {desc="Minor road accident on a detour loop; cleared quickly; no injuries.", urgency="LOW"}
  }
},
["Sårensby"] = {
  events = {
    -- CRITICAL (1–5)
    {desc="Attempted breach at Sårensby Arsenal pattern-shop; guard platoon secures toolroom while Keltia Command investigators sweep for insider aid.", urgency="CRITICAL"},
    {desc="Sabotage on Trans-Keltian Express munitions consist—bridge sensors flag tamper bolts; convoy halted and Horjin CV56(N) escorts establish perimeter.", urgency="CRITICAL"},
    {desc="Explosive UAV dives at Sårensby Depot roof; counter-UAS lasers disable over fjord—debris recovery boat launched.", urgency="CRITICAL"},
    {desc="Cyberattack on stipend kiosks in dockyard quarter causes payout outages; offline issuance activated and forensics isolate malware node.", urgency="CRITICAL"},
    {desc="Container feeder scrapes channel marker in crosswind and loses steerage; tug triad pins bow and averts collision with ferry.", urgency="CRITICAL"},
 
    -- HIGH (6–10)
    {desc="Rolling blackout after busbar fault in depot substation; priority feeds to drydocks and arsenal lines restored within the watch.", urgency="HIGH"},
    {desc="Counterfeit port IDs detected at turnstiles; contractor audit and badge re-issuance ordered across three yards.", urgency="HIGH"},
    {desc="Hazmat leak from paint shed near slipway; foam units deploy and storm drains plugged.", urgency="HIGH"},
    {desc="Union picket slows shift change at crane row; arbitration tabled for second watch.", urgency="HIGH"},
    {desc="Sudden squall topples yard stacks; reach-stackers restack under wind-limit rules.", urgency="HIGH"},
 
    -- MEDIUM (11–15)
    {desc="Harbor pilotage backlog after fog; arrival slots resequenced and ferry timetable trimmed.", urgency="MEDIUM"},
    {desc="Depot gate congestion during stipend redemption hour; stewards convert two lanes to pedestrian flow.", urgency="MEDIUM"},
    {desc="UXO dredged from old quay; cordon set until EOD scuttles offshore.", urgency="MEDIUM"},
    {desc="Tadpole VT-UAV detects unauthorized night swimmers near drydock caissons; patrol boats warn off and cite trespassers.", urgency="MEDIUM"},
    {desc="Road salt shortage pinches hill wards; convoy fetches supply from inland depot.", urgency="MEDIUM"},
 
    -- LOW (16–20)
    {desc="Lantern regatta signup booth crowds footbridge; marshals extend queue maze.", urgency="LOW"},
    {desc="Festival buskers block stipend hall steps; moved to arcade niche.", urgency="LOW"},
    {desc="Routine mussel scraping slows ferry cycle; revised departure board posted.", urgency="LOW"},
    {desc="Quay gulls foul nav cams; fresh-water sprayers added to housings.", urgency="LOW"},
    {desc="Volunteer drill at siren towers draws onlookers; information desk set beside gate.", urgency="LOW"}
  }
},
 
["Skøda"] = {
  events = {
    -- LOW (1–5)
    {desc="Frost-heave tilts milepost stones on the high trail; survey crew resets markers before dusk.", urgency="LOW"},
    {desc="Goatherds trespass in monastery herb plots; hands fined and stock returned.", urgency="LOW"},
    {desc="Scree-clearing crews briefly close the pilgrim traverse; detour posted via lower notch.", urgency="LOW"},
    {desc="Festival permit mix-up over rope course slots; stewards spread spectators along ridge.", urgency="LOW"},
    {desc="Climber queue congestion at Iron Rungs; marshals open an overflow staging ledge.", urgency="LOW"},
 
    -- MEDIUM (6–11)
    {desc="Rockfall blocks mule path below Glacier Gate; rope team drills and clears chockstones.", urgency="MEDIUM"},
    {desc="Unauthorized rare-earth dig near moraine wall collapses trench; two treated for fractures.", urgency="MEDIUM"},
    {desc="Cableway cabin stalls at mid-span after sensor fault; crews haul to nearest tower.", urgency="MEDIUM"},
    {desc="Outbreak of camp gastro traced to unboiled meltwater at Shelters 3–4; sanitation sweep enacted.", urgency="MEDIUM"},
    {desc="Timber bridge at Pastor's Cut found rotten; closure while trestle is re-decked.", urgency="MEDIUM"},
    {desc="Poacher pair snare chamois on sanctuary slopes; rangers seize quads and issue fines.", urgency="MEDIUM"},
 
    -- HIGH (12–16)
    {desc="Illegal blasting undermines lateral moraine; tarn levee slumps and downstream trail evacuated.", urgency="HIGH"},
    {desc="Funicular brake glazing detected on descent; line suspended pending full inspection.", urgency="HIGH"},
    {desc="Bandits ambush salt convoy at Cloud Bench; escorts trade fire, two wounded.", urgency="HIGH"},
    {desc="Leachate from clandestine ore heap enters creek; boil-water order for two hamlets.", urgency="HIGH"},
    {desc="Cornice-control shot misfires and triggers partial slab release; search teams sweep runout.", urgency="HIGH"},
 
    -- CRITICAL (17–20)
    {desc="Avalanche buries High Pass road-cut after cornice failure; multiple missing; mass SAR alert.", urgency="CRITICAL"},
    {desc="Explosive charges discovered on Cable Tower 3 baseplates; EOD disrupts; ridge cordon maintained.", urgency="CRITICAL"},
    {desc="Rock-glacier surge shears the valley pipeline; upstream hamlets isolated; emergency tanks deployed.", urgency="CRITICAL"},
    {desc="Gunmen seize tollhouse at Saddle Gate to extort caravans; War League requested for clearance.", urgency="CRITICAL"}
  }
},
 
["Eikbu"] = {
  events = {
    {desc="After last season’s snow-shed sabotage year, engineers find counterfeit bolts in a maintenance crate; traffic pauses while crews audit all spare parts.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘another pylon is rigged’; EOD sweeps service alcoves; one mountain lane closes.", urgency="HIGH"},
    {desc="Whiteout drill becomes live: sudden squall strands a supply line; rescue teams locate stalled wagons; hypothermia cases treated.", urgency="MEDIUM"},
    {desc="Smuggling spillover: forged routing codes detected on two wagons; checkpoint detains couriers and freezes cargo pending review.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the shed line; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues during closures; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare at a hostel cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the pass road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement at shelter market; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘pass collapse’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shelter crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one checkpoint for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"},
    {desc="Minor road accident on a detour loop; cleared quickly; no injuries.", urgency="LOW"}
  }
},
 
["Galvø"] = {
  events = {
    {desc="After last season’s outburst-flood year, inspectors detect seepage at the repaired berm; emergency reinforcement crews deploy; a low lane is closed.", urgency="MEDIUM"},
    {desc="Copycat rumor wave claims ‘another dam breach’ is imminent; calm-messaging patrols circulate clarifications; shelter readiness is briefly elevated.", urgency="LOW"},
    {desc="Relief fraud: counterfeit cleanup vouchers sold at market; inspectors seize seals and detain a seller.", urgency="LOW"},
    {desc="Smuggling ring exploits flood detours to bypass checks; inspectors seize forged papers and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over berm worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target relief queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the quay; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shelter crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one causeway lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one relief gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"},
    {desc="Minor road accident on a detour loop; cleared quickly; no injuries.", urgency="LOW"}
  }
},
 
["Krlsgorod"] = {
  events = {
    -- LOW (1–5)
    {desc="Ferry slip ladders replaced after ice scouring; brief schedule delay.", urgency="LOW"},
    {desc="Smelt-run festival crowds jam quay; extra railings put in place.", urgency="LOW"},
    {desc="Marsh boardwalk maintenance closes two loops; detours posted.", urgency="LOW"},
    {desc="Dune grass volunteers plant new plots along windward spit.", urgency="LOW"},
    {desc="Minor fuel sheen at co-op berth; booms deployed and recovered.", urgency="LOW"},
 
    -- MEDIUM (6–11)
    {desc="Black-market fish processing ring raided; refrigerated van seized at depot gate.", urgency="MEDIUM"},
    {desc="Ice-road speed-trap blitz nets 22 violators; one rollover, no serious injuries.", urgency="MEDIUM"},
    {desc="Hatchery contamination traced to unauthorized antibiotic; cull ordered for two tanks.", urgency="MEDIUM"},
    {desc="Illicit sand harvesters caught cutting dune face at night; loaders impounded.", urgency="MEDIUM"},
    {desc="Customs datalink outage forces manual stamping; cargo backlog grows.", urgency="MEDIUM"},
    {desc="Sewer lift-station blockage spills into back-alley; disinfection and sampling underway.", urgency="MEDIUM"},
 
    -- HIGH (12–16)
    {desc="Ice-jam packs the river outlet and backs water into low wards; voluntary evacuations begin.", urgency="HIGH"},
    {desc="Cyanobacteria bloom causes mass fish kill along lee shore; intake throttled pending assays.", urgency="HIGH"},
    {desc="Smuggler convoy crosses lake ice using blackout lights; shots fired; one arrest.", urgency="HIGH"},
    {desc="Quay crane slew-ring failure drops container; four injured; labor walkout looms.", urgency="HIGH"},
    {desc="Sabotage attempt on fuel farm caught by patrol; detonators and timers recovered.", urgency="HIGH"},
 
    -- CRITICAL (17–20)
    {desc="Lake-ice shove drives pressure ridges through inner quay; two cranes topple; mass-casualty triage active.", urgency="CRITICAL"},
    {desc="VBIED detonates beside customs weighbridge during shift change; War League EOD requested.", urgency="CRITICAL"},
    {desc="Water-intake poisoning with industrial solvent floods clinics; city issues do-not-use order.", urgency="CRITICAL"},
    {desc="Armed flotilla attempts to blockade channel off the dunes; naval intercept requested.", urgency="CRITICAL"}
  }
},
 
["Kaledonija"] = {
  events = {
    {desc="Express hardening spillover: inspectors tighten routing windows after last season’s corridor work; long queues form; merchants protest delays.", urgency="LOW"},
    {desc="Copycat rumor wave claims contraband devices are moving through the rail depot; calm-messaging patrols circulate clarifications; a short-term inspection window added.", urgency="LOW"},
    {desc="Counterfeit transit stamps detected on two freight packets; clerks audit recent releases; a broker suspended pending review.", urgency="MEDIUM"},
    {desc="Witness intimidation tied to a regional corridor case: protective escort assigned; night patrols expanded near the witness block.", urgency="MEDIUM"},
    {desc="Smuggling ring attempts reroute through coastal backroads; patrols seize forged papers and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a depot cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the depot; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the depot gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘depot closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one depot lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Sjøsborg"] = {
  events = {
    {desc="After last season’s bonded-warehouse arson year, inspectors find fresh accelerant traces near a loading loft; firebreak teams stage on-site; night watch expanded.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘rows will burn again’; EOD sweeps service corridors and installs temporary barriers.", urgency="MEDIUM"},
    {desc="Insurance and liability dispute sparks protest outside the bonded board; counter-protesters arrive; stability patrols keep lanes open.", urgency="LOW"},
    {desc="Manifest fraud wave: forged warehouse-release seals detected; bonded storage frozen pending custody review; a broker suspended.", urgency="MEDIUM"},
    {desc="Smuggling ring uses rebuild convoys to move contraband; inspectors seize forged papers and detain couriers.", urgency="MEDIUM"},
    {desc="Water point contamination scare near dock cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at quay market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays releases; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘warehouse closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
 
["Storesund"] = {
  events = {
    -- CRITICAL (1–5)
    {desc="Sabotage at river-fuel farm ignites a manifold; foam cannons and levee pumps deployed as delta wind drives smoke over sheds 2–4; evacuation of flats ordered.", urgency="CRITICAL"},
    {desc="Coordinated smuggler convoy uses distributaries to bypass customs; shots fired near Lighthouse Reach; three boats seized and two fugitives at large.", urgency="CRITICAL"},
    {desc="VBIED detonates beside customs weighbridge during shift change; harbor sealed, casualty triage established at parish clinic.", urgency="CRITICAL"},
    {desc="Illicit dredger collapses a quay segment; two cranes at risk; cordon set and stabilization cribbing rushed from inland yards.", urgency="CRITICAL"},
    {desc="Intentional contaminant release at municipal ice plant triggers mass gastro cases; water carts dispatched while labs trace source.", urgency="CRITICAL"},
 
    -- HIGH (6–10)
    {desc="Delta extortion crew demands ‘channel insurance’ from co-op skippers; undercover sting scheduled for slack tide.", urgency="HIGH"},
    {desc="Customs datalink outage blacks out bonded shed registers; paper fallback initiated; porters instructed to post visual lot marks.", urgency="HIGH"},
    {desc="Fishery enforcement raid uncovers illegal eel pots in protected distributary; scuffles on the bank; gear confiscated.", urgency="HIGH"},
    {desc="Quay crane slew bearing seizes during lift; berth idled; load transferred by mobile shear-leg barge.", urgency="HIGH"},
    {desc="Counterfeit port ID badges discovered among seasonal laborers; contractor rosters purged and retraining ordered.", urgency="HIGH"},
 
    -- MEDIUM (11–15)
    {desc="Barge strikes uncharted deadman in a back-channel; minor hull damage; channel soundings extended for the night.", urgency="MEDIUM"},
    {desc="Cold-store compressor trips under brownout; perishables prioritized for transfer; generator hours extended.", urgency="MEDIUM"},
    {desc="Auction floor dispute over lot provenance halts bidding; mediators reconcile ledger stamps and restart sale.", urgency="MEDIUM"},
    {desc="Unauthorized scrap crews cutting rail at derelict siding; police disperse and mark site for fencing.", urgency="MEDIUM"},
    {desc="Silt surge forces temporary relocation of lightering station; pilots post revised approach plates.", urgency="MEDIUM"},
 
    -- LOW (16–20)
    {desc="Reed-cutter skiffs crowd a ferry landing during midday; wardens establish staggered mooring times.", urgency="LOW"},
    {desc="Minor ammonia leak alarm at ice works proves sensor fault; maintenance recalibrates and clears line.", urgency="LOW"},
    {desc="Market day overflow onto levee path; stewards extend rope barriers and open west gate.", urgency="LOW"},
    {desc="Loose dogs disturb fish-drying racks; animal control corrals and fines owners.", urgency="LOW"},
    {desc="Harbor notice misprints two berth numbers on the rota; corrected sheets posted by next bell.", urgency="LOW"}
  }
},
 
["Hamarrfell"] = {
  events = {
    -- LOW (1–5)
    {desc="Pilgrim queue backs up at Iron Chapel switchbacks; stewards open an overflow ledge trail.", urgency="LOW"},
    {desc="Goat bell lines tangle across the market steps; herders unwind and clear within the watch.", urgency="LOW"},
    {desc="Climbing hut stove smoke trips a false alarm; wardens air out the dormitory.", urgency="LOW"},
    {desc="Wayfinding cairns repainted above Hammer Notch; short rolling closures announced.", urgency="LOW"},
    {desc="Seasonal timber inspection replaces three footbridge planks; brief traffic hold.", urgency="LOW"},
 
    -- MEDIUM (6–11)
    {desc="Scree slide blocks mule path below Black Gate; shovel teams reopen by dusk.", urgency="MEDIUM"},
    {desc="Unlicensed guides selling counterfeit summit passes; badges seized, fines issued.", urgency="MEDIUM"},
    {desc="Hydro station icing forces brownouts; clinics moved to generator priority list.", urgency="MEDIUM"},
    {desc="Poachers cut fence into caprine preserve; rangers recover two carcasses and snares.", urgency="MEDIUM"},
    {desc="Karst sink opens across the ridge track; detour posted along the old quarry lane.", urgency="MEDIUM"},
    {desc="Monastery infirmary reports gastro cluster traced to unboiled meltwater; boil order issued.", urgency="MEDIUM"},
 
    -- HIGH (12–16)
    {desc="Bandits ambush salt convoy at Hammer Shelf; escorts return fire; two injured.", urgency="HIGH"},
    {desc="Cornice-control shot misfires near Avalanche Gallery; stabilization crews deployed.", urgency="HIGH"},
    {desc="Sabotage suspected in funicular brake glazing; line closed pending magnetic inspection.", urgency="HIGH"},
    {desc="Clandestine adit collapses under the east buttress; rescue shaft started at first light.", urgency="HIGH"},
    {desc="Leachate from illegal ore heap discolors stream; intake throttled while assays run.", urgency="HIGH"},
 
    -- CRITICAL (17–20)
    {desc="Slab avalanche rips across the High Traverse after cornice failure; multiple missing; mass SAR declared.", urgency="CRITICAL"},
    {desc="Explosive charges found on Cable Tower 2 anchor plates; EOD disrupts; cordon remains overnight.", urgency="CRITICAL"},
    {desc="Armed faction seizes tollhouse at Hammer Gate to extort caravans; War League assistance requested.", urgency="CRITICAL"},
    {desc="Rock-glacier surge shears penstock to upper hydro; hamlets isolated; emergency water convoys roll.", urgency="CRITICAL"}
  }
},
 
 
 
  -- NEW (Valley cities appended here, formatted like the Normark block)
["Ourid"] = {
  events = {
    {desc="After last season’s landslide year, slope sensors detect renewed creep above the Northern Pass; one lane closes; engineers stage for emergency shoring.", urgency="HIGH"},
    {desc="Copycat sabotage rumor claims explosives remain in processional stonework; EOD sweeps alcoves; pilgrims rerouted to wider stairs.", urgency="MEDIUM"},
    {desc="Archive relocation fallout: a sealed crate goes missing during an audit; custody review freezes two storehouses; crowd agitation grows.", urgency="MEDIUM"},
    {desc="Flash-flood aftershocks: sluice operators report a jam during a squall; emergency diversion channels opened; low street evacuated.", urgency="MEDIUM"},
    {desc="Smuggling ring exploits rerouted pilgrim traffic to move contraband; inspectors seize forged passes; detentions rise at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over shrine lanes; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target pilgrim queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage annex; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the detour stair; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another slide’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for stonework; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one checkpoint lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Bashkim"] = {
  events = {
    {desc="After last season’s rail-raids year, inspectors detect fresh tampering marks on a signal box; trains slow to crawl; commuters protest delays at the platform lane.", urgency="MEDIUM"},
    {desc="Copycat ambush scare: staged flares appear along a supply road; patrols dismantle a trap and widen the exclusion zone.", urgency="MEDIUM"},
    {desc="Reintegration spillover: protest crowd forms over tightened travel screening rules; stability patrols keep lanes open at the permit office.", urgency="LOW"},
    {desc="Smuggling ring attempts to exploit screened lanes with forged papers; inspectors seize documents and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Evidence-chain audit finds duplicate permit stamps in circulation; passes reissued; contractor rosters reviewed.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over rail worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the station road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘raid return’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Tonar"] = {
  events = {
    {desc="Reintegration aftermath: a permit office is overwhelmed as screened movement rules tighten; protest crowd blocks the lane; stability patrols keep access open.", urgency="LOW"},
    {desc="Copycat raid scare: staged flares found near a signal hut; patrols dismantle a trap and widen the exclusion zone.", urgency="MEDIUM"},
    {desc="Archive custody fallout: a sealed evidence crate goes missing during transfer; storage depots frozen pending audit; rumors spike.", urgency="MEDIUM"},
    {desc="Smuggling ring attempts to exploit screened lanes with forged papers; inspectors seize documents and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="False excavation permit scheme uncovered; counterfeit seals sold to contractors; inspectors raid a stall row and seize plates.", urgency="LOW"},
    {desc="Water point contamination scare near a dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog reduces visibility on outer road; multi-cart bump causes delays; cleared within hours.", urgency="LOW"},
    {desc="Unauthorized drone over a checkpoint; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘quarantine return’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one office lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
}
}


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- (E) makeTable function: day-based seed, 60% "No reports," then pick event
-- (E) WEIGHTED RANDOM SELECTION: 80% chance "No reports"
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function p.makeTable()
local function getWeight(urg)
    local dateInfo = getPSSCDate()
  if urg == "LOW" then return 4 end
    local seed = dateInfo.year * 1000 + dateInfo.dayOfYear
  if urg == "MEDIUM" then return 3 end
    math.randomseed(seed)
  if urg == "HIGH" then return 2 end
  if urg == "CRITICAL" then return 1 end
  return 1
end


    local lines = {}
local function pickWeightedEvent(events)
     table.insert(lines, '{| class="wikitable"')
  local total = 0
     table.insert(lines, '! Date !! City !! Event !! Urgency')
  for _, ev in ipairs(events) do
     total = total + getWeight(ev.urgency)
  end
  local roll = math.random(total)
  local cumul = 0
  for _, ev in ipairs(events) do
     cumul = cumul + getWeight(ev.urgency)
    if roll <= cumul then
      return ev
    end
  end
  return events[#events]
end


    for _, cityName in ipairs(cityOrder) do
-------------------------------------------------------------------------------
        local data = cityData[cityName]
-- (F) MAKE TABLE FUNCTION: Day-based seed, 80% "No reports", else weighted pick
        if data then
-------------------------------------------------------------------------------
            local roll = math.random()
function p.makeTable(frame)
            if roll < 0.60 then
  local args = frame and frame.args or {}
                table.insert(lines, '|-')
  local dateInfo = getPSSCDate(args)
                table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No reports || N/A')
  local seed = tonumber(args.seed) or (dateInfo.year * 1000 + dateInfo.dayOfYear)
            else
  math.randomseed(seed)
                local pick = math.random(#data.events)
  local lines = {}
                local e = data.events[pick]
  table.insert(lines, '{| class="wikitable"')
                table.insert(lines, '|-')
  table.insert(lines, '! Date !! City !! Event !! Urgency')
                table.insert(lines,
  for _, cityName in ipairs(cityOrder) do
                    '| ' .. dateInfo.text
    local data = cityData[cityName]
                    .. ' || ' .. cityName
    -- Set the "no reports" threshold. Default is 0.80 (20% event chance)
                    .. ' || ' .. e.desc
    -- For Pelagia, lower the threshold to 0.60 (40% event chance, which is 2x as likely)
                    .. ' || ' .. e.urgency
    local threshold = (cityName == "Pelagia") and 0.60 or 0.80
                )
    if data then
            end
      local roll = math.random()
        else
      if roll < threshold then
            table.insert(lines, '|-')
        table.insert(lines, '|-')
            table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No data || N/A')
        table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No reports || N/A')
        end
      else
        local ev = pickWeightedEvent(data.events)
        table.insert(lines, '|-')
        table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || ' .. ev.desc .. ' || ' .. ev.urgency)
      end
    else
      table.insert(lines, '|-')
      table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No data || N/A')
     end
     end
 
  end
    table.insert(lines, '|}')
  table.insert(lines, '|}')
    return table.concat(lines, '\n')
  return table.concat(lines, '\n')
end
end


return p
return p

Latest revision as of 16:45, 26 April 2026

Documentation for this module may be created at Module:BassaridianDailyEvents/doc

-------------------------------------------------------------------------------
-- Module: DailyTable
-- Purpose:
--   1) Include all city descriptions for:
--      • Bassaridia Vaeringheim (major + minor)
--      • New South Jangsong (major + minor)
--      • Haifan Bassaridia (major + minor)
--   in a bracket-level comment, verbatim and unabridged.
--   2) cityOrder table sets EXACT city display order as requested.
--   3) cityData includes 20 events per city, focusing on crime, rebellion,
--      and non-weather natural phenomena (diseases, plagues, landslides,
--      infestations, etc.). All events are realistic.
--   4) Weighted random event selection so that:
--      - 80% chance: "No reports"
--      - 20% chance: pick an event (with LOW urgency most likely, CRITICAL least).
--   5) Day-based random seeding ensures the same output all day, new each day.
--   6) Do NOT omit or remove any information from previous versions.
-------------------------------------------------------------------------------

local p = {}

-------------------------------------------------------------------------------
-- (A) FULL CITY DESCRIPTIONS (VERBATIM) IN A SINGLE BRACKET-LEVEL COMMENT
-------------------------------------------------------------------------------
--[==[
⋯ (Insert full, unabridged city description text here exactly as provided previously) ⋯
]==]

-------------------------------------------------------------------------------
-- (B) PSSC DATE FUNCTION (unchanged)
-------------------------------------------------------------------------------
local function getPSSCDate(args)
    args = args or {}

    local overrideYear = tonumber(args.year or args.psscyear)
    local overrideDay  = tonumber(args.day or args.dayofyear)

    if overrideYear and overrideDay then
        if overrideDay < 1 then overrideDay = 1 end
        if overrideDay > 183 then overrideDay = 183 end

        local month, dayOfMonth
        if overrideDay <= 61 then
            month = 1
            dayOfMonth = overrideDay
        elseif overrideDay <= 122 then
            month = 2
            dayOfMonth = overrideDay - 61
        else
            month = 3
            dayOfMonth = overrideDay - 122
        end

        local dateString = string.format("%d/%d/%d PSSC", dayOfMonth, month, overrideYear)
        return {
            text      = dateString,
            year      = overrideYear,
            dayOfYear = overrideDay,
            month     = month,
            dom       = dayOfMonth
        }
    end

    local startDate = os.time({year = 1999, month = 8, day = 6})
    local secondsInDay = 86400
    local daysPerYear = 183

    local now = os.time()
    local totalDaysElapsed = math.floor((now - startDate) / secondsInDay)
    local yearFraction = totalDaysElapsed / daysPerYear
    local psscYear = math.floor(yearFraction)
    local dayOfYear = math.floor((yearFraction - psscYear) * daysPerYear) + 1

    local month, dayOfMonth
    if dayOfYear <= 61 then
        month = 1
        dayOfMonth = dayOfYear
    elseif dayOfYear <= 122 then
        month = 2
        dayOfMonth = dayOfYear - 61
    else
        month = 3
        dayOfMonth = dayOfYear - 122
    end

    local dateString = string.format("%d/%d/%d PSSC", dayOfMonth, month, psscYear)
    return {
        text      = dateString,
        year      = psscYear,
        dayOfYear = dayOfYear,
        month     = month,
        dom       = dayOfMonth
    }
end

-------------------------------------------------------------------------------
-- (C) EXACT CITY ORDER
-------------------------------------------------------------------------------
local cityOrder = {
  -- Bassaridia Vaeringheim (Major)
  "Vaeringheim","Luminaria","Serena","Pyralis","Symphonara","Aurelia",
  "Somniumpolis","Nexa","Lunalis Sancta","Sylvapolis",
  -- Bassaridia Vaeringheim (Minor)
  "Saluria","Aetherium","Ferrum Citadel","Acheron","Erythros","Catonis Atrium",
  "Delphica","Koinonía","Aureum","Myrene","Halicarn","Ephyra","Thyrea",
  -- New South Jangsong (Major)
  "Skýrophos","Bjornopolis","Aegirheim","Norsolyra","Thorsalon",
  -- New South Jangsong (Minor)
  "Pelagia",
  -- Haifan Bassaridia (Major)
  "Keybir-Aviv","Tel-Amin","Diamandis","Jogi","Lewisburg",
  -- Haifan Bassaridia (Minor)
  "Thermosalem","Akróstadium","Sufriya","Lykopolis",
  -- NEW CITIES IN BASSARIDIAN NORMARK:
  "Ardclach","Riddersborg",
  -- Caledonian City-States
  -- Caledonian City-States
  "Notranskja","Slevik","Fanghorn","Sårensby","Skøda","Eikbu","Galvø","Krlsgorod","Kaledonija","Sjøsborg","Storesund","Hamarrfell",
  -- NEW (Valley cities)
  "Ourid","Bashkim"
}

-------------------------------------------------------------------------------
-- (D) CITY DATA: 20 EVENTS PER CITY
-------------------------------------------------------------------------------
local cityData = {

  ----------------------------------------------------------------------------
  -- Bassaridia Vaeringheim (Major Cities)
  ----------------------------------------------------------------------------
["Vaeringheim"] = {
  events = {
    {desc="Post–channel blockade compliance crackdown: Port Authority reissues inspection fee schedule; bargemen factions threaten renewed stoppage at Lock 2; escort buffers requested for pilot boats.", urgency="HIGH"},
    {desc="Follow-on to the cantor abduction: shrine precinct receives a forged ‘proof-of-life’ missive; crowd gathers at the Temple steps; stability cordons and rumor control activated.", urgency="HIGH"},
    {desc="Copycat threat after explosive skiffs: anonymous note claims additional skiffs cached in canal reeds; lock-gate lane sealed for EOD sweep; ferry timetables disrupted.", urgency="CRITICAL"},
    {desc="Customs ‘evidence leak’ tied to prior contraband tug seizure: a broker’s ledger goes missing; inspectors freeze three bonded warehouses pending custody audit.", urgency="HIGH"},
    {desc="Rebuild dispute after last month’s lock-ratchet tampering: contractors and unions clash over liability; work stoppage risks flood control delay in the service alleys.", urgency="MEDIUM"},
    {desc="Traffic surge at the General Port after earlier disruptions: stipend redemption crowds overwhelm weighbridge lanes; emergency pedestrian routing installed to prevent crush incidents.", urgency="MEDIUM"},
    {desc="Night fog collision in inner basin triggers renewed safety mandates; pilots protest new curfew windows; Harbor Patrol reports increased near-miss frequency.", urgency="LOW"},
    {desc="Secondary fires reported after a rolling blackout at Port Energy Substation; investigators suspect deliberate overload timed to shift change.", urgency="CRITICAL"},
    {desc="Armed cell attempts breach of Temple Bank vault annex during stipend redemption; armored rail detachment redeployed to port spur.", urgency="CRITICAL"},
    {desc="Coordinated arson-drone strike ignites cold-storage rows on Island Terminal; engineers request armored water tenders and aerial ember-spotting.", urgency="CRITICAL"},
    {desc="Container-barge blockade across central navigation channel by armed bargemen over inspection fees; throughput collapses and tug escorts are reassigned.", urgency="CRITICAL"},
    {desc="IED discovered beneath TME ferry transfer trestle; embarkation plazas evacuated; EOD teams require perimeter control for render-safe.", urgency="CRITICAL"},
    {desc="Cyanotoxin bloom detected at south canal intakes after illicit dump; potable-water rations imposed in old quarter; clinic load rises.", urgency="HIGH"},
    {desc="Lock-ratchet assemblies found tampered at Drydock Hub; flood pulse inundates service alleys; search teams deploy for missing workers.", urgency="HIGH"},
    {desc="Mass pilferage of high-value metals from bonded warehouse; pursuit boats chase fast skiff toward lake mouth; broker offices sealed.", urgency="HIGH"},
    {desc="Bomb threat shuts archival convoy exhibiting Normark-era tablets; culvert escape route discovered; convoy rerouted under escort.", urgency="HIGH"},
    {desc="Spill of corrosive resin from mislabeled tank-tote sends 14 to clinic; hazmat lanes established; manifest verification tightened.", urgency="MEDIUM"},
    {desc="Software outage at intermodal yard freezes gate operations; reefers risk spoilage without emergency gensets; temp lanes opened.", urgency="MEDIUM"},
    {desc="Barge-union march halts weighbridge access; shrine mediation scheduled; traffic redirected to secondary gates.", urgency="LOW"},
    {desc="Counterfeit port ID badges seized at Gate 6; contractor rosters audited; temporary pass system introduced.", urgency="LOW"}
  }
},

["Luminaria"] = {
  events = {
    {desc="After the Moon-Fount hostage crisis, a ‘reopening vigil’ draws massive crowds; stewards struggle to enforce lane spacing; a minor crush is narrowly avoided.", urgency="HIGH"},
    {desc="Hostage-takers’ trial day: protest groups converge on the observatory arcade; counter-demonstrators arrive; stability teams deploy to prevent clashes.", urgency="HIGH"},
    {desc="Copycat attempt: two suspects caught placing a decoy device at a cloister service door; EOD confirms it’s inert but orders a full sweep of utility tunnels.", urgency="HIGH"},
    {desc="Security audit fallout: Conclave access badges reissued after investigators find duplicate serials in the old batch; queues snarl across the library colonnade.", urgency="MEDIUM"},
    {desc="Ritual schedule dispute escalates post-incident: rival stewards argue over procession priority; marshals separate factions; minor injuries reported.", urgency="MEDIUM"},
    {desc="False evacuation orders spread on devotional channels; pilgrims flood side streets; wardens activate rumor-control bulletins and loudspeaker guidance.", urgency="HIGH"},
    {desc="Gunmen seize Moon-Fount cloisters of the Conclave Illuminara during dawn rites; hostages reported; Jeseri detachment requested.", urgency="CRITICAL"},
    {desc="VBIED attempt foiled outside lunar observatory prior to procession; blast shutters engaged; perimeter sealed and searched.", urgency="CRITICAL"},
    {desc="Cyber-physical attack disables Eosphorus Motor Company test loop; fuel fires threaten adjacent ward and canal; emergency cutoffs required.", urgency="CRITICAL"},
    {desc="Snipers target procession marshals from scaffolds; counter-sniper teams deploy around the esplanade; routes shortened.", urgency="CRITICAL"},
    {desc="Arson at archive scriptorium destroys ephemerides used for festival timing; investigators suspect tunnel ingress; custody logs frozen.", urgency="CRITICAL"},
    {desc="Pilgrimage crush after false evacuation orders spread; triage stations overwhelmed; emergency barriers installed.", urgency="CRITICAL"},
    {desc="Ritual plumbing sabotage dyes ablution canals; ablutions suspended pending quality assays; crowd frustration rises.", urgency="HIGH"},
    {desc="Lens-array tampering misaligns observatory optics on vigil night; astronomers request secure access control and guard rotations.", urgency="HIGH"},
    {desc="Coordinated thefts of silver reliquaries from satellite shrines; patrol pattern expanded to hill wards.", urgency="HIGH"},
    {desc="Disinformation wave claims a ban on market trading during eclipse; merchants shutter stalls as protests swell.", urgency="HIGH"},
    {desc="Unauthorized drones over procession route trigger temporary no-fly order for devotional lanterns.", urgency="MEDIUM"},
    {desc="Processional route barriers collapse in heavy rain; reroute adds bottleneck at tea-house arcade; stewards request extra hands.", urgency="MEDIUM"},
    {desc="Counterfeit Conclave badges detected at library gate; access logs audited; two guards suspended pending review.", urgency="MEDIUM"},
    {desc="Lost-child incidents spike during dawn chants; wardens expand family reunification tents.", urgency="LOW"}
  }
},

["Serena"] = {
  events = {
    {desc="After the ridgeline raider looting, scouts report fresh signal lanterns on three peaks; patrols suspect a regroup; grain convoys rerouted under escort.", urgency="HIGH"},
    {desc="Recovered stolen grain is found adulterated with grit and ash; temple kitchens halt distribution pending assays; crowd tension rises at the forecourt.", urgency="MEDIUM"},
    {desc="Copycat theft wave targets monastic storehouses during fog: three break-ins in a night; suspects use goat paths; hill wards request extra lantern watch.", urgency="MEDIUM"},
    {desc="Post-rockfall repairs stall as contractors dispute hazard pay; pilgrims are diverted onto narrow cliff stairs; stewards request crowd control support.", urgency="MEDIUM"},
    {desc="Avalanche strikes Harmony Pass pilgrimage line; dozens missing; rotorcraft hoist requested from War League.", urgency="CRITICAL"},
    {desc="Explosive charges found beneath cliffside aqueduct; EOD clears sanctum forecourt and evacuates terraces.", urgency="CRITICAL"},
    {desc="Armed climbers attempt to dismantle watchtowers on eastern col; mountain guard trades fire until relief arrives.", urgency="CRITICAL"},
    {desc="Rockfalls sever scriptor road; medical pilgrims stranded overnight in subzero conditions.", urgency="CRITICAL"},
    {desc="Looting of monastic grain caches by masked riders; night signals observed across ridgelines.", urgency="CRITICAL"},
    {desc="High-tension power lines snap in ice storm with suspected sabotage; battery shelters opened for residents.", urgency="HIGH"},
    {desc="Sanctum forecourts overrun after rival devotees brawl over festival precedence; riot lances deployed.", urgency="HIGH"},
    {desc="Pilgrim hostels report gastro outbreak traced to upstream spring; inspectors scour hillside cabins.", urgency="HIGH"},
    {desc="Smugglers using goat paths move contraband icons toward the valley; patrols expand into side canyons.", urgency="HIGH"},
    {desc="Canyon windstorm topples prayer-banners into roadway; rescue teams clear debris amid flying grit.", urgency="HIGH"},
    {desc="False prophecy pamphlets urge city flight; temple scribes issue rebuttal and quieting hymn.", urgency="MEDIUM"},
    {desc="Frost heave splits parapet stonework; engineers install emergency buttresses.", urgency="MEDIUM"},
    {desc="Mule-bridge decking splinters under freight; rope-and-plank bypass installed for caravans.", urgency="MEDIUM"},
    {desc="Harmony mediation court settles guild-dues dispute; crowd disperses peacefully.", urgency="LOW"},
    {desc="Votive racks topple during minor tremors; cracked tiles noted in outer ambulatory.", urgency="LOW"},
    {desc="Night-chanters light illegal braziers along cliff murals; fines issued, no injuries.", urgency="LOW"}
  }
},

["Pyralis"] = {
  events = {
    {desc="Eruption aftermath: ash-clearing crews find a sealed crate of accelerants in a drainage culvert; investigators suspect the earlier arson wave fed into the disaster.", urgency="HIGH"},
    {desc="Lahar-scar repairs fail during a sudden squall; a secondary washout cuts the gorge road; emergency detours force supply delays.", urgency="HIGH"},
    {desc="Clinic load spikes again: respiratory complaints rise as winds lift residual ash; mask distribution points are reactivated.", urgency="MEDIUM"},
    {desc="Copycat threat: anonymous message promises ‘second fire’ on the eruption anniversary; furnace quarter placed under heightened patrol.", urgency="HIGH"},
    {desc="Reconstruction fraud: counterfeit ‘work permits’ sold to displaced families; inspectors raid a night market and seize seals.", urgency="MEDIUM"},
    {desc="Coordinated arson spree across three public halls; firebreaks cut, engineers request aerial overwatch for spotting embers.", urgency="CRITICAL"},
    {desc="Militia convoy ambushed on ridge road; hijacked fuel bowsers threaten to torch warehouse row.", urgency="CRITICAL"},
    {desc="Unknowns attempt to detonate incendiary mix at forge quarter; EOD recovers devices from smelter ash pits.", urgency="CRITICAL"},
    {desc="Geothermal vent opens beside bathhouse terrace; emergency evacuation and rock bolting ordered.", urgency="CRITICAL"},
    {desc="Contraband convoy of industrial chemicals disappears into forest culverts; burned wagons found at ravine lip.", urgency="CRITICAL"},
    {desc="Cyber intrusion knocks out foundry telemetry; furnaces shifted to manual with reduced throughput.", urgency="HIGH"},
    {desc="Labor clash at gates between stevedores and workshop guild; tool assaults reported.", urgency="HIGH"},
    {desc="Illegal chemical siphons at dye works cause toxic vapor; market shutters pending hazmat clearance.", urgency="HIGH"},
    {desc="Smuggling ring uses storm culverts to bypass toll; map cache seized from captured runner.", urgency="HIGH"},
    {desc="Fuel shortage forces furnace curtailment and bathhouse closures during peak tourist hours.", urgency="HIGH"},
    {desc="Micro-quakes crack hot-spring stair; shrine engineers cordon for stonework stabilization.", urgency="MEDIUM"},
    {desc="Rain squall flashes lava-cut channels; canyon tours suspended for 24 hours.", urgency="MEDIUM"},
    {desc="Counterfeit bath tokens detected; mint switches to heat-responsive clay seals.", urgency="MEDIUM"},
    {desc="Steam fog causes multi-cart bump on gorge road; hairpins gain extra lantern posts.", urgency="LOW"},
    {desc="Pickpocket crews target pay-lines outside furnaces; lantern watch expanded.", urgency="LOW"}
  }
},

["Symphonara"] = {
  events = {
    {desc="Aqueduct-repair backlash: ration extensions announced after sabotage repairs fail inspection; water queues swell and tempers flare in the market arcades.", urgency="HIGH"},
    {desc="Investigation milestone: a suspect cell tied to the aqueduct attack is located in a rural pump house; standoff threatens to contaminate the line.", urgency="CRITICAL"},
    {desc="Copycat tampering: two auxiliary sluice handles found scored and weakened; engineers demand guarded work zones during the next maintenance window.", urgency="MEDIUM"},
    {desc="Festival safety rules tightened after last season’s stampede panic; vendors protest reduced capacity; stewards request stability presence.", urgency="MEDIUM"},
    {desc="Main aqueduct sabotage causes pressure collapse; rationing escalates; patrols secure cistern lanes and pump houses.", urgency="CRITICAL"},
    {desc="Marsh flooding threatens low-lying rural coastal communities; evacuations and levee reinforcement underway.", urgency="HIGH"},
    {desc="Follow-on aqueduct breach reported; emergency bypass routing activated; waterborne disease risk rises.", urgency="HIGH"},
    {desc="Explosive threats at festival venues trigger stampedes; triage corridors established; suspect pamphleteers sought.", urgency="HIGH"},
    {desc="Explosive detonation near Twin Spire basilica during New Years celebrations; mass-casualty triage and perimeter lockdown.", urgency="CRITICAL"},
    {desc="Rival guilds hoard potable water for resale; inspectors seize stockpiles; protests form outside adjudication hall.", urgency="MEDIUM"},
    {desc="Bridge deck slumps due to undermining; carts tipped into canal; divers search for missing goods.", urgency="MEDIUM"},
    {desc="Cistern algae bloom forces boil advisory; clinic load increases; sanitation squads stretched.", urgency="MEDIUM"},
    {desc="Illegal tapping of irrigation channels deprives outer wards; confrontations break out at ditch gates.", urgency="MEDIUM"},
    {desc="Counterfeit ration chits circulate; scribes audit distribution rolls; two stewards suspended.", urgency="LOW"},
    {desc="Minor shrine brawl over queue-jumping; dispersed without serious injuries.", urgency="LOW"},
    {desc="Lantern festival rehearsal crowds exceed plan; stewards install extra barriers and signage.", urgency="LOW"},
    {desc="Market stall fire contained quickly; two treated for smoke inhalation.", urgency="LOW"},
    {desc="Boat collision in fog; minor spill contained with booms.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine maintenance closes one canal gate for a day; traffic detours posted.", urgency="LOW"}
  }
},
["Aurelia"] = {
  events = {
    {desc="After the mint-road hijack attempt, investigators trace forged carriage seals to a guild clerk; clerk vanishes; curb-to-curb searches begin along the bullion route.", urgency="HIGH"},
    {desc="Counterfeit-gold crackdown backlash: angry crowds surround assay houses; stewards establish protected entry lanes; stones thrown at inspectors.", urgency="HIGH"},
    {desc="Copycat ‘false bullion’ scare: rumors trigger a run on certified ingots; merchants refuse trade chits; stability patrols deployed to prevent fights.", urgency="MEDIUM"},
    {desc="Vault annex upgrades begin after security review; construction narrows streets in the Goldsmiths’ Quarter; emergency vehicle access becomes difficult.", urgency="MEDIUM"},
    {desc="Bullion convoy hijack attempt on the mint road; firefight reported; escorts request rapid reinforcement.", urgency="CRITICAL"},
    {desc="Counterfeit-gold enforcement action collapses into crowd unrest; cordon/curfew stabilization posture activated.", urgency="HIGH"},
    {desc="Ritual contraband cache discovered in a bullion wagon false-floor; custody transfer requires secure staging area.", urgency="HIGH"},
    {desc="Arson attempt at an assay office; smoke threatens adjacent residences; investigators suspect intimidation campaign.", urgency="HIGH"},
    {desc="Bridge weighstation sabotage misroutes armored carts; two collisions; temporary traffic control installed.", urgency="MEDIUM"},
    {desc="Smuggling crew uses shrine procession as cover to move ingots; patrols tighten route marshaling.", urgency="MEDIUM"},
    {desc="Fraudulent ‘Temple-certified’ seals circulate; scribes audit merchants; seizures increase.", urgency="MEDIUM"},
    {desc="Guild strike over hazard pay slows bullion handling; queues form; temp solutions arranged.", urgency="LOW"},
    {desc="Night pickpockets target pay-lines; lantern watch expanded.", urgency="LOW"},
    {desc="Minor market brawl over price hikes; separated quickly.", urgency="LOW"},
    {desc="Routine canal patrol notes debris; cleared without incident.", urgency="LOW"},
    {desc="A ceremonial parade causes traffic gridlock; stewards reroute carts.", urgency="LOW"},
    {desc="Two counterfeit badges found at a vault gate; guards retrained.", urgency="LOW"},
    {desc="Paperwork backlog delays shipments; clerks request assistance.", urgency="LOW"},
    {desc="A small stall fire contained; no injuries.", urgency="LOW"},
    {desc="Fog delays convoy departure; escorts hold position.", urgency="LOW"}
  }
},

["Somniumpolis"] = {
  events = {
    {desc="After the drainage-gallery collapse, inspectors find fresh drill marks on a sealed access hatch; a sabotage hypothesis reopens; transit spine partially closed again.", urgency="HIGH"},
    {desc="Memorial-week crowding for the transit-gallery dead strains the resort district; rumor of ‘another blast’ triggers stampede risk; stability cordons deployed.", urgency="HIGH"},
    {desc="Red tide follow-on: fishers accuse a cartel of dumping to force market prices; waterfront fights break out; patrols separate factions.", urgency="MEDIUM"},
    {desc="Copycat device scare: an inert canister found in a bathhouse service corridor; EOD confirms harmless but orders lane-by-lane searches.", urgency="MEDIUM"},
    {desc="Subsurface ventilation failure worsens lingering sewer-gas pockets from earlier collapse; clinics report dizziness cases; hazmat crews stretched.", urgency="MEDIUM"},
    {desc="Red tide on Lake Morovia causes die-offs; embargo/market security and ecological response support requested.", urgency="HIGH"},
    {desc="Charges detonate in drainage galleries beneath transit spine; localized cave-in and sewer gas release; emergency closures enacted.", urgency="CRITICAL"},
    {desc="Transit-gallery detonation concern resurges; patrols and engineers stabilize compromised corridors; access restricted.", urgency="CRITICAL"},
    {desc="Unlicensed tunnel vendors refuse evacuation orders; stand-off slows repairs; negotiators requested.", urgency="MEDIUM"},
    {desc="Counterfeit ‘safe route’ maps sold to pilgrims; victims get stranded in closed corridors; arrests made.", urgency="MEDIUM"},
    {desc="Arson at a waterfront storage row; smoke drifts into resort district; evacuation of one block ordered.", urgency="HIGH"},
    {desc="Violent dispute over bathhouse entry limits; guards assaulted; reinforcements requested.", urgency="MEDIUM"},
    {desc="Boat collision in fog; minor spill contained with booms.", urgency="LOW"},
    {desc="Pickpockets target tourists; patrols increase around promenades.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine canal gate maintenance causes short delays; signage posted.", urgency="LOW"},
    {desc="Minor food poisoning cluster traced to a vendor; stall closed pending inspection.", urgency="LOW"},
    {desc="Traffic gridlock during festival rehearsal; stewards reroute carts.", urgency="LOW"},
    {desc="Lost-child incidents increase at night market; reunification tent expanded.", urgency="LOW"},
    {desc="Small electrical fire in a shop; extinguished quickly.", urgency="LOW"}
  }
},
["Nexa"] = {
  events = {
    {desc="After the water-toll valve seizure, a reform tribunal reopens the case; protest crowds block canal-side lanes; stability patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Copycat extortion: new ‘toll collectors’ appear at a secondary sluice; two workers assaulted; inspectors request escort buffers.", urgency="HIGH"},
    {desc="Pipeline tampering discovered during post-incident audit; emergency shutoff causes ward-wide water pressure drop; clinics report sanitation concerns.", urgency="MEDIUM"},
    {desc="Shots-fired reported at seized water-toll valves; extraction and MEDEVAC posture activated; perimeter tightened.", urgency="CRITICAL"},
    {desc="Arson attempt against the toll office records room; evidence saved but smoke damages ledgers; custody chain reviewed.", urgency="HIGH"},
    {desc="Sluice gate jams during high flow; two neighborhoods flood shallow basements; pumps deployed.", urgency="MEDIUM"},
    {desc="Counterfeit ‘Temple clearance’ papers circulate among carriers; inspectors seize loads; merchants protest delays.", urgency="MEDIUM"},
    {desc="Worker strike over hazard pay after last month’s violence; waterworks staffing drops; emergency schedules implemented.", urgency="LOW"},
    {desc="Street fight between rival carriers at the canal bridge; separated quickly.", urgency="LOW"},
    {desc="Minor market stall fire contained; no injuries.", urgency="LOW"},
    {desc="Fog causes ferry delays; stewards manage queues.", urgency="LOW"},
    {desc="Routine patrol finds stolen tools cache; returned to waterworks.", urgency="LOW"},
    {desc="Graffiti on toll pylons prompts cleanup; no further incident.", urgency="LOW"},
    {desc="Small landslip closes a side path; cleared in hours.", urgency="LOW"},
    {desc="Pickpockets target pay-lines; lantern watch expanded.", urgency="LOW"},
    {desc="Public meeting on toll reforms runs long; crowd disperses peacefully.", urgency="LOW"},
    {desc="Broken lantern line causes a dark stretch on canal walk; repaired by morning.", urgency="LOW"},
    {desc="Two counterfeit badges detected; guards retrained.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily.", urgency="LOW"}
  }
},

["Lunalis Sancta"] = {
  events = {
    {desc="After last season’s sectarian street battles, a reconciliation procession draws rival groups into the library quarter; shouting escalates; wardens deploy lane barriers.", urgency="MEDIUM"},
    {desc="Investigation fallout: warrants served on a pamphlet press tied to the earlier violence; supporters attempt to block entry; minor injuries.", urgency="MEDIUM"},
    {desc="Copycat intimidation: anonymous threats target archivists who testified; escorts assigned to library staff; night watch expanded.", urgency="HIGH"},
    {desc="Sectarian street battles spill into the library quarter; collections protection and order restoration prioritized.", urgency="CRITICAL"},
    {desc="Arson attempt at a scriptor annex; smoke damages outer stacks; firebreak and salvage teams deploy.", urgency="HIGH"},
    {desc="Counterfeit access tokens found at archive doors; logs audited; temporary pass system introduced.", urgency="MEDIUM"},
    {desc="Crowd surge during lecture night; minor crush avoided; stewards widen lanes.", urgency="LOW"},
    {desc="Pickpocket crews target visiting scholars; patrols increased.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine roof repair closes one cloister corridor; detours posted.", urgency="LOW"},
    {desc="Small electrical fire in a reading hall; extinguished quickly.", urgency="LOW"},
    {desc="Fog delays ferry arrivals; queues managed without incident.", urgency="LOW"},
    {desc="Minor vendor dispute outside the library gates; separated quickly.", urgency="LOW"},
    {desc="Lost-child incidents rise during festival rehearsal; reunification tent expanded.", urgency="LOW"},
    {desc="Broken lantern line causes a dark stretch near the quarter; repaired by morning.", urgency="LOW"},
    {desc="Paperwork backlog delays borrowing permits; clerks request assistance.", urgency="LOW"},
    {desc="Two counterfeit badges detected; guards retrained.", urgency="LOW"},
    {desc="Minor water leak near archive basement; pumps deployed.", urgency="LOW"},
    {desc="Graffiti on colonnade; cleanup scheduled.", urgency="LOW"},
    {desc="Routine patrol recovers stolen books cache; returned to stacks.", urgency="LOW"}
  }
},
["Sylvapolis"] = {
  events = {
    {desc="Quarantine policy backlash: after the White Pestilence year, merchants demand compensation; a protest blocks the forest gate; stability patrols prevent violence.", urgency="MEDIUM"},
    {desc="Copycat well-poison threat resurfaces: a new note claims chemicals cached in a sawmill; inspectors seal water points pending assays.", urgency="HIGH"},
    {desc="After canal-gate sabotage repairs, an inspection finds unlicensed modifications to a secondary gate; engineers fear another flood pulse and request guarded worksites.", urgency="HIGH"},
    {desc="Forest-gate raid trauma persists: cart drivers refuse night runs; trade throughput dips; escort buffers requested for a 72-hour window.", urgency="MEDIUM"},
    {desc="White Pestilence outbreak confirmed; tiered quarantine and cordon posture activated.", urgency="CRITICAL"},
    {desc="Threat to poison municipal wells with stolen industrial chemicals unless land-tax amnesty granted; water points secured.", urgency="CRITICAL"},
    {desc="Irrigation canal-gate sabotage causes flood pulse; granaries inundated; engineering and sanitation emergency.", urgency="CRITICAL"},
    {desc="Raiders besiege the forest gate; cart drivers taken hostage; trade-lane disruption and rescue posture.", urgency="CRITICAL"},
    {desc="Counterfeit quarantine passes circulate; scribes audit rolls; arrests follow at the gate.", urgency="MEDIUM"},
    {desc="Cistern contamination scare forces boil advisory; clinic load rises.", urgency="MEDIUM"},
    {desc="Illegal tapping of irrigation channels deprives outer wards; confrontations at ditch gates.", urgency="MEDIUM"},
    {desc="Bridge deck slumps due to undermining; carts tipped; divers search for missing goods.", urgency="MEDIUM"},
    {desc="Market stall fire contained quickly; two treated for smoke inhalation.", urgency="LOW"},
    {desc="Pickpockets target ration queues; lantern watch expanded.", urgency="LOW"},
    {desc="Street preaching sparks shouting match; no injuries; wardens monitor.", urgency="LOW"},
    {desc="Routine gate maintenance causes short delays; signage posted.", urgency="LOW"},
    {desc="Minor food poisoning cluster traced to vendor; stall closed pending inspection.", urgency="LOW"},
    {desc="Traffic gridlock during festival rehearsal; stewards reroute carts.", urgency="LOW"},
    {desc="Lost-child incidents increase at night market; reunification tent expanded.", urgency="LOW"},
    {desc="Small electrical fire in a shop; extinguished quickly.", urgency="LOW"}
  }
},
  ----------------------------------------------------------------------------
  -- Bassaridia Vaeringheim (Minor Cities)
  ----------------------------------------------------------------------------
["Saluria"] = {
  events = {
    {desc="After last season’s explosives scare, inspectors uncover fresh voids under a storefront floor; EOD sweeps the whole apothecary row again.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threat notes sent to three apothecaries who cooperated with investigators; escorts assigned; night watch expanded.", urgency="MEDIUM"},
    {desc="Illegal reagent stockpile discovered behind a herb shop; hazmat lanes established; several vendors shut pending assays.", urgency="HIGH"},
    {desc="Smuggling ring uses medicine crates to move contraband; patrols seize forged manifests and detain a courier.", urgency="MEDIUM"},
    {desc="Crowd surge at a healing-water stall after rumors of shortage; stewards install lane barriers; minor injuries treated.", urgency="MEDIUM"},
    {desc="Arson attempt in a distillery shed; accelerant traces found; investigators suspect rivalry dispute.", urgency="HIGH"},
    {desc="Counterfeit ‘Temple-approved’ remedy labels circulate; inspectors seize stock and fine vendors.", urgency="LOW"},
    {desc="Water point contamination scare near the market; boil advisory issued and later lifted.", urgency="LOW"},
    {desc="Pickpocket crews target queues outside popular apothecaries; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a drying loft contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch on the arcade; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays vendor permits; clerks request assistance.", urgency="LOW"},
    {desc="Unauthorized drone over market lane; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor roof leak over a storage annex; tarps installed; repairs scheduled.", urgency="LOW"},
    {desc="Rumor of ‘poisoned incense’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for repairs; detours posted.", urgency="LOW"},
    {desc="Small electrical fire in a shop; extinguished quickly.", urgency="LOW"}
  }
},
["Aetherium"] = {
  events = {
    {desc="After prior pylon-bomb scares, engineers discover fresh tool marks on a secondary cable housing; funicular service suspended for a full inspection window.", urgency="HIGH"},
    {desc="Copycat threat note references the old shrine route; stewards cancel a night procession; crowd frustration requires stabilization patrols.", urgency="MEDIUM"},
    {desc="Avalanche-control charges misfire during a drill; minor slope slide blocks the patrol road; emergency clearance crews requested.", urgency="MEDIUM"},
    {desc="Hostage-ambush trial day draws protesters to the ridge courthouse; counter-groups arrive; lane barriers installed to prevent clashes.", urgency="MEDIUM"},
    {desc="Cable tension anomaly triggers emergency stop mid-span; passengers stranded in cabins; rope rescue team deployed in high winds.", urgency="HIGH"},
    {desc="Smugglers use maintenance tunnels to bypass shrine tolls; patrols seize contraband icons and forged permits.", urgency="MEDIUM"},
    {desc="False evacuation order spreads via devotional channels; pilgrims flood stairways; stewards activate rumor-control loudspeakers.", urgency="HIGH"},
    {desc="EOD discovers an inert decoy device beneath a station bench; full sweep ordered across pylons and service closets.", urgency="HIGH"},
    {desc="Ice storm snaps a secondary support line; engineers impose reduced capacity for 72 hours; queues swell at station gates.", urgency="MEDIUM"},
    {desc="Supply convoy overdue in a whiteout; search teams locate stalled wagons; hypothermia cases reported.", urgency="HIGH"},
    {desc="Corrupt badge-printing operation uncovered at a contractor hut; access system reissued; temporary escort-only rule implemented.", urgency="MEDIUM"},
    {desc="Ridge hostel fire contained but displaces dozens; shelters opened; arson suspected due to accelerant odor.", urgency="HIGH"},
    {desc="Minor tremor cracks shrine stair; engineers install emergency braces and restrict foot traffic.", urgency="MEDIUM"},
    {desc="Pickpockets target ticket lines during service disruption; patrols increase; several arrests made.", urgency="LOW"},
    {desc="Cliffside rockfall closes a mule path; cleared by afternoon; detour signage posted.", urgency="LOW"},
    {desc="Unauthorized drone over station triggers a short no-fly order; device recovered; operator fined.", urgency="LOW"},
    {desc="Vendor dispute escalates at the station arcade; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Water point contamination scare; boil advisory briefly issued then lifted after assays.", urgency="LOW"},
    {desc="Paperwork backlog delays cargo lifts; clerks request temporary staff assistance.", urgency="LOW"},
    {desc="Routine maintenance closes one platform; service announcements posted.", urgency="LOW"}
  }
},
["Ferrum Citadel"] = {
  events = {
    {desc="After last season’s mine rescue, inspectors order a surprise safety shutdown of Deep Gallery feeder shafts; miners protest at the gate; stability patrols separate factions.", urgency="MEDIUM"},
    {desc="A delayed hazard claim triggers a ‘second search’ of sealed tunnels; engineers report unstable supports and demand immediate evacuation of a service corridor.", urgency="HIGH"},
    {desc="Sabotage suspicion: hoist-brake pads are found swapped with substandard stock; procurement office raided; two foremen detained.", urgency="HIGH"},
    {desc="Toxic gas sensors spike in an abandoned spur; ventilation crews discover an illicit still; hazmat lanes established.", urgency="HIGH"},
    {desc="Smelter-quench line ruptures and sprays scalding water; 8 injured; plant runs on reduced capacity; crowding at clinics.", urgency="MEDIUM"},
    {desc="Rail siding fire threatens ore stockpiles; ember-spotting patrols deployed; shift schedules disrupted.", urgency="HIGH"},
    {desc="Counterfeit safety badges circulate; access logs audited; temporary escort-only rule for non-staff.", urgency="MEDIUM"},
    {desc="Illegal blasting caps seized in a tool locker; EOD sweep ordered across three lockers and two break rooms.", urgency="HIGH"},
    {desc="Work slowdown over hazard pay; ore throughput drops; merchant caravans argue at weighbridge lanes.", urgency="LOW"},
    {desc="Small tremors crack a support wall in the old foundry; engineers cordon and install emergency braces.", urgency="MEDIUM"},
    {desc="Warehouse ledger tampering discovered during compliance audit; bonded storage sealed pending custody review.", urgency="MEDIUM"},
    {desc="Two armed robberies target payday couriers leaving the mint office; patrols tighten around shift-change routes.", urgency="MEDIUM"},
    {desc="Contaminated water report from a dorm block; boil advisory issued; sanitation squads inspect cisterns.", urgency="MEDIUM"},
    {desc="Overheated transformer triggers rolling blackouts; street lighting fails; pickpocket incidents rise near taverns.", urgency="LOW"},
    {desc="Rumor of ‘cursed ore’ sparks panic at a shrine alcove; wardens deploy calm-messaging patrols.", urgency="LOW"},
    {desc="Crane cable frays and snaps at the loading quay; near-miss causes lane shutdown; inspections expand to all cranes.", urgency="MEDIUM"},
    {desc="Suspected arson at an equipment shed; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Unauthorized tunnel-tour group enters a restricted corridor; rescue teams escort them out; fines issued.", urgency="LOW"},
    {desc="Minor brawl between guild factions over contract awards; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Routine inspection closes one ventilation spur for maintenance; detours posted.", urgency="LOW"}
  }
},
["Acheron"] = {
  events = {
    {desc="After last season’s toxin scare, shrine stewards report new tampering marks on incense vault seals; all offerings quarantined pending assays.", urgency="HIGH"},
    {desc="Copycat panic: rumors of ‘tainted smoke’ trigger a crowd flight; stewards impose controlled entry lanes and calm-messaging patrols.", urgency="MEDIUM"},
    {desc="Investigators trace illicit resin supply to a canyon caravan; road checkpoint established; detentions increase.", urgency="HIGH"},
    {desc="Purification rites backlog overwhelms schedules; rival groups argue over priority; stability patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Arson attempt at a perfumer’s shed; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Water point contamination scare near a shrine courtyard; boil advisory issued; sanitation squads inspect cisterns.", urgency="MEDIUM"},
    {desc="Illegal ‘miracle incense’ sold at night market; counterfeit labels seized; vendors fined.", urgency="LOW"},
    {desc="Rockfall closes a canyon stairway; rescue teams clear debris; detours posted.", urgency="MEDIUM"},
    {desc="Pickpocket crews target pilgrimage queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage annex; extinguished quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch on a shrine approach; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement near a fountain; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays shrine vendor permits; clerks request assistance.", urgency="LOW"},
    {desc="Unauthorized drone over canyon plaza; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor roof leak over an outer arcade; tarps installed; repairs scheduled.", urgency="LOW"},
    {desc="Blackout hits a residential row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘forbidden rites’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild respiratory irritation cluster; inspectors check smoke vents and vendors.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for stonework; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Erythros"] = {
  events = {
    {desc="After last season’s contraband seizures, brokers stage a slowdown protest at the freight arcade; stability patrols keep lanes open.", urgency="MEDIUM"},
    {desc="Copycat reroute attempt: inspectors catch forged routing codes on three wagons; bonded yard sealed pending custody audit.", urgency="HIGH"},
    {desc="Retaliation threat against a cooperating broker; protective custody arranged; night patrols expanded around the river docks.", urgency="HIGH"},
    {desc="Warehouse sweep finds a hidden compartment system in stamped crates; investigators suspect an old network reconstituting.", urgency="HIGH"},
    {desc="Unauthorized inspection stickers flood the market; counterfeit operation raided; seals seized.", urgency="MEDIUM"},
    {desc="Armed robbery targets a customs clerk leaving work; patrols tighten shift-change corridors.", urgency="MEDIUM"},
    {desc="Boat collision in fog damages a small dock; minor spill contained; traffic rerouted.", urgency="LOW"},
    {desc="Pickpockets target pay-lines; lantern watch expanded; several arrests.", urgency="LOW"},
    {desc="Vendor brawl over inspection delays; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays bonded releases; clerks request temporary staff.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder reported near taverns.", urgency="LOW"},
    {desc="Counterfeit pass badges detected; guards retrained; temporary escort-only rule implemented.", urgency="LOW"},
    {desc="Rumor of ‘secret seizures’ sparks panic buying; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Water point contamination scare; boil advisory briefly issued then lifted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded yard; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor roof leak over a warehouse annex; tarps installed; repairs scheduled.", urgency="LOW"},
    {desc="Routine maintenance closes one gate lane; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Lost-child incidents rise at the river market; reunification tent expanded.", urgency="LOW"}
  }
},
["Catonis Atrium"] = {
  events = {
    {desc="After last season’s causeway scare, inspectors find fresh voids under a bridge plate; engineers close one lane and begin emergency shoring.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous note claims ‘a second cut’ at the causeway; EOD sweeps the undercroft and service alcoves.", urgency="HIGH"},
    {desc="Forum unrest returns as merchants accuse patrols of overreach; rival groups clash; stability patrols deploy barriers.", urgency="MEDIUM"},
    {desc="Abduction-case fallout: witnesses report being followed; protective escorts assigned; night watch expanded.", urgency="MEDIUM"},
    {desc="Smugglers exploit festival crowds to move contraband; patrols seize forged passes and detain couriers.", urgency="MEDIUM"},
    {desc="Arson attempt at a storage shed near the forum; accelerant traces found; investigators suspect coercion campaign.", urgency="HIGH"},
    {desc="Queue crush near the market stair; stewards widen lanes and add barriers; no fatalities.", urgency="MEDIUM"},
    {desc="Counterfeit ‘Temple-certified’ stall permits circulate; inspectors seize documents and fine vendors.", urgency="LOW"},
    {desc="Pickpocket crews target crowds; patrols increase; several arrests.", urgency="LOW"},
    {desc="Minor fire in a vendor loft; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the causeway; repaired by morning.", urgency="LOW"},
    {desc="Water point contamination scare; boil advisory briefly issued then lifted after assays.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays shipping permits; clerks request assistance.", urgency="LOW"},
    {desc="Unauthorized drone over the forum; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor roof leak over a storage annex; tarps installed; repairs scheduled.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder reported near taverns.", urgency="LOW"},
    {desc="Rumor of ‘poisoned offerings’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Lost-child incidents rise during festival rehearsal; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; detours posted.", urgency="LOW"}
  }
},
["Delphica"] = {
  events = {
    {desc="After last season’s archive seizure, a newly unsealed annex yields missing folios; rival claimants gather; stability patrols prevent a fight in the quad.", urgency="MEDIUM"},
    {desc="Copycat intimidation: anonymous threats sent to archivists scheduled to testify; escorts assigned; night watch expanded.", urgency="HIGH"},
    {desc="Evidence-chain dispute forces a temporary closure of two reading halls; protesters claim censorship; crowd lanes established.", urgency="MEDIUM"},
    {desc="Forensics finds a hidden cache of falsified catalog cards; investigators suspect a long-running theft ring; bonded book dealers audited.", urgency="HIGH"},
    {desc="Unauthorized excavation in a basement corridor triggers a small collapse; students trapped briefly; rescue teams deploy.", urgency="HIGH"},
    {desc="Arson attempt in a scriptorium storeroom; smoke damages parchment; salvage teams and firebreak measures activated.", urgency="HIGH"},
    {desc="Counterfeit ‘University access’ badges detected; security reissues passes and audits guard rosters.", urgency="MEDIUM"},
    {desc="Lecture-night crowd surge overwhelms the main stair; minor crush avoided; stewards widen lanes.", urgency="LOW"},
    {desc="Pamphlet war between rival sect scholars escalates into shouting; wardens disperse crowd; no injuries.", urgency="LOW"},
    {desc="Blackout hits the north wing; emergency lights fail in one corridor; inspections ordered.", urgency="MEDIUM"},
    {desc="Courier thefts target sealed evidence crates; patrols set decoy shipments and arrest a crew.", urgency="MEDIUM"},
    {desc="Bribery allegation against a registrar sparks sit-in; stability patrols keep corridors open.", urgency="LOW"},
    {desc="Minor water leak threatens basement stacks; pumps deployed; drying tents set up.", urgency="LOW"},
    {desc="Pickpocketing increases during exam week; patrol presence increased.", urgency="LOW"},
    {desc="Rumor of ‘forbidden rite text’ triggers a panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Vendor fire in the courtyard contained quickly; smoke clears within the hour.", urgency="LOW"},
    {desc="Unauthorized drone over the quad; device recovered; operator fined.", urgency="LOW"},
    {desc="Two counterfeit seals found on loan documents; clerks audit recent transactions.", urgency="LOW"},
    {desc="Night noise complaints at dorms increase; wardens issue warnings; no incident.", urgency="LOW"},
    {desc="Routine catalog system maintenance causes short delays; signage posted.", urgency="LOW"}
  }
},
["Koinonía"] = {
  events = {
    {desc="After the granary arson year, a surprise inspection finds fresh accelerant residue in a side shed; distribution pauses; crowd tension rises.", urgency="HIGH"},
    {desc="Copycat attempt: two suspects caught carrying ignition kits near an alms-store; EOD sweeps the lane; arrests made.", urgency="HIGH"},
    {desc="Fraud wave: counterfeit ration chits flood the market; scribes audit rolls; merchants protest seizures.", urgency="MEDIUM"},
    {desc="Labor dispute over guard rotations at granary gates; work slowdown threatens deliveries; mediation requires stability presence.", urgency="MEDIUM"},
    {desc="A convoy of staple grain is delayed by road sabotage; temp ration limits imposed; clinic reports stress-related incidents.", urgency="MEDIUM"},
    {desc="Rumor of ‘tainted flour’ sparks panic buying; calm-messaging patrols and public assays announced.", urgency="MEDIUM"},
    {desc="Warehouse ledger theft: custody logs vanish overnight; bonded storage sealed pending review.", urgency="MEDIUM"},
    {desc="Armed robbery targets pay courier outside the grain office; patrols tighten at shift change.", urgency="MEDIUM"},
    {desc="Minor fire in a milling shed contained quickly; investigators suspect negligence, not arson.", urgency="LOW"},
    {desc="Water point contamination scare near the distribution line; boil advisory issued and later lifted.", urgency="LOW"},
    {desc="Queue crush near a narrow alley; stewards widen lanes and add barriers; no fatalities.", urgency="MEDIUM"},
    {desc="Pickpocket crews target ration lines; patrols increase; several arrests.", urgency="LOW"},
    {desc="Counterfeit ‘Temple-certified’ sacks sold to merchants; inspectors seize goods and fine vendors.", urgency="LOW"},
    {desc="Vendor brawl over price spikes; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the granary; repaired by morning.", urgency="LOW"},
    {desc="Paperwork backlog delays distribution permits; clerks request assistance.", urgency="LOW"},
    {desc="Unauthorized drone over the granary lane; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor roof leak over a storage annex; tarps installed; repairs scheduled.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine maintenance closes one gate for a day; detour signage posted.", urgency="LOW"}
  }
},
["Aureum"] = {
  events = {
    {desc="After last season’s procession tragedy, memorial crowds overwhelm the main stair; stewards fear a crush; stability patrols enforce lane spacing.", urgency="HIGH"},
    {desc="Copycat threat: anonymous message promises an ‘echo act’ at the next vigil; EOD sweeps rooftops and service corridors.", urgency="HIGH"},
    {desc="Delayed arrest warrants served in a night market tied to the old case; supporters attempt to block entry; minor injuries.", urgency="MEDIUM"},
    {desc="Compensation dispute: victims’ families protest outside the council hall; counter-protesters arrive; patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Fraud scheme sells counterfeit ‘memorial tokens’ to pilgrims; inspectors seize stockpiles; rumors spike.", urgency="MEDIUM"},
    {desc="Arson attempt at a banner workshop for an upcoming parade; accelerant traces found; investigators suspect intimidation.", urgency="HIGH"},
    {desc="Rooftop access-control audit finds duplicate keys in circulation; locks replaced; escort-only rule for contractors.", urgency="MEDIUM"},
    {desc="Lantern festival rehearsal exceeds crowd plan; stewards install extra barriers and reroute traffic.", urgency="LOW"},
    {desc="Pickpocket crews target condolence queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor structural crack discovered in an overpass used for parades; engineers cordon and brace.", urgency="MEDIUM"},
    {desc="Rumor of ‘cursed offerings’ triggers panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Blackout hits a residential row; street lighting fails; minor disorder reported near taverns.", urgency="LOW"},
    {desc="Vendor fire in a side alley contained quickly; smoke clears within the hour.", urgency="LOW"},
    {desc="Water point contamination scare; boil advisory briefly issued then lifted after assays.", urgency="LOW"},
    {desc="Two counterfeit badges detected at a shrine gate; guards retrained; passes reissued.", urgency="LOW"},
    {desc="Paperwork backlog delays procession permits; clerks request temporary assistance.", urgency="LOW"},
    {desc="Unauthorized drone over the vigil route; device recovered; operator fined.", urgency="LOW"},
    {desc="Minor brawl between guild factions over contract awards; separated quickly.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening vigil; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; signage posted.", urgency="LOW"}
  }
},
["Myrene"] = {
  events = {
    {desc="After last season’s Caspazani Madness year, clinics report a renewed symptom cluster in a wet dorm block; quarantine rooms reopened; calm-messaging patrols deployed.", urgency="HIGH"},
    {desc="Copycat panic: false ‘infection alert’ posters trigger crowd flight from a shrine hostel; lane barriers prevent a crush; investigators seize the press plates.", urgency="MEDIUM"},
    {desc="Rail trestle security fallout: inspectors discover fresh scorch marks on a side beam; trains slow to crawl; commuters protest delays.", urgency="MEDIUM"},
    {desc="Smugglers exploit storm detours to bypass checks; inspectors seize forged papers and detain couriers at the bridge approach.", urgency="MEDIUM"},
    {desc="Retaliation threat against a cooperating medic; protective escort arranged; night watch expanded around clinic housing.", urgency="MEDIUM"},
    {desc="Water point contamination scare near shelter cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over clinic lanes; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the trestle road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another outbreak’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shelter crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one corridor lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one market lane for sanitation; signage posted.", urgency="LOW"}
  }
},
["Halicarn"] = {
  events = {
    {desc="After last season’s bridge-destruction year, engineers find stress fractures in a temporary span; one lane closes; shrine district access narrows and crowds surge.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘supports will fall again’; EOD sweeps undercroft cavities; patrols guard repair crews.", urgency="HIGH"},
    {desc="Compensation dispute: shopkeepers protest prolonged detours; counter-protesters arrive; stability patrols prevent clashes.", urgency="MEDIUM"},
    {desc="Smugglers exploit narrowed access to move contraband in supply carts; inspectors seize forged manifests; detentions rise.", urgency="MEDIUM"},
    {desc="Heavy rain undermines the riverbank near the rebuilt approach; sandbag lines formed; evacuation of a low street.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bridge worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target detour queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a vendor loft; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the detour stair; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays delivery permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another bridge blast’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shrine district crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for stonework; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one market lane for sanitation; signage posted.", urgency="LOW"}
  }
},

  ----------------------------------------------------------------------------
  -- New South Jangsong (Major Cities)
  ----------------------------------------------------------------------------
["Skýrophos"] = {
  events = {
    {desc="After last season’s flood year, levee inspectors find fresh undermining at a marsh bend; emergency reinforcement crews deploy; two villages placed on standby evacuation.", urgency="HIGH"},
    {desc="Copycat sabotage threat: anonymous note claims ‘gates will fail again’; canal-gate operators moved to guarded shifts; EOD sweeps control boxes.", urgency="HIGH"},
    {desc="Privateer fear aftershocks: fishermen report a disguised cutter shadowing outbound boats; harbor patrol increases escort windows.", urgency="MEDIUM"},
    {desc="Storm drill becomes live incident: a sudden squall collapses a temporary dike; rescue teams evacuate a low street; minor injuries treated.", urgency="MEDIUM"},
    {desc="Smuggling ring exploits flood detours to bypass toll checks; inspectors seize forged passes and detain couriers.", urgency="MEDIUM"},
    {desc="Rural protest over repeated evacuations blocks a supply road; stability patrols keep lanes open and negotiate dispersal.", urgency="LOW"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a marsh pontoon; minor spill contained; ferry schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over dike worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target relief queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch on a causeway; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement at relief market; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘pirate landing’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evacuation staging; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one gate lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Bjornopolis"] = {
  events = {
    {desc="After last season’s airfield panic year, security discovers a disguised transmitter near the runway fence; flights pause while engineers sweep the perimeter.", urgency="HIGH"},
    {desc="Copycat drone scare: an unidentified craft hovers over the terminal plaza; crowd surges toward exits; stewards enforce lane spacing to prevent crush.", urgency="MEDIUM"},
    {desc="Evidence-chain audit: missing serial numbers from confiscated drone parts trigger a search of lockers and contractor sheds.", urgency="MEDIUM"},
    {desc="Smuggling fallout: counterfeit ‘cargo clearance’ stamps appear at the freight gate; inspectors seal two warehouses pending custody review.", urgency="MEDIUM"},
    {desc="Runway lighting failure during fog forces emergency diversion; temp panic at arrivals hall; calm-messaging patrols deployed.", urgency="LOW"},
    {desc="Unauthorized drone over restricted hangars; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target crowded ticket lines; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare in a dorm block; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a baggage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch on the access road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement outside terminal; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays cargo manifests; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a hangar row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another airfield attack’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild nausea cluster after long delays; inspectors check food vendor hygiene.", urgency="LOW"},
    {desc="Lost-child incidents rise during arrivals crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one terminal corridor; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Minor road accident at the access loop; cleared quickly; no injuries.", urgency="LOW"},
    {desc="Routine inspection closes one freight lane for repairs; signage posted.", urgency="LOW"}
  }
},
["Aegirheim"] = {
  events = {
    {desc="After last season’s armory raid year, auditors discover missing parts in an inventory ledger; a hidden cache is suspected; swamp-route checkpoints activated.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threats sent to a guard who testified; protective escort assigned; night patrols expanded.", urgency="MEDIUM"},
    {desc="Weapons buyback day turns tense as rival groups accuse each other of hoarding; stability patrols deploy barriers and separate crowds.", urgency="MEDIUM"},
    {desc="Swamp-route ambush scare: a decoy flare line triggers panic among patrols; teams discover a staged trap and dismantle it.", urgency="HIGH"},
    {desc="Smuggling ring exploits reed canals to move weapons components; inspectors seize forged papers and detain couriers.", urgency="HIGH"},
    {desc="Arson attempt at a supply hut; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over checkpoints; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the canal road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘pirates returning’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Norsolyra"] = {
  events = {
    {desc="After last season’s ferry-terminal bombing year, investigators reopen the evidence chain: a missing tag from an EOD kit triggers a full audit of storage lockers and guard rosters.", urgency="HIGH"},
    {desc="Copycat threat: an anonymous note claims a second device at the river pier; embarkation plazas evacuated; EOD sweeps pontoons and ticket sheds.", urgency="HIGH"},
    {desc="Dream-panic aftershocks: clinics report another surge of night terrors; wardens stabilize crowds outside shrine hostels; rumor-control bulletins issued hourly.", urgency="MEDIUM"},
    {desc="Oneira containment backlash: residents protest “sleep curfews” and lantern restrictions; counter-protesters arrive; stability patrols deploy lane barriers.", urgency="MEDIUM"},
    {desc="Piracy-looting fallout: missing arsenal inventory appears for sale at a marsh market; inspectors seize crates; suspects flee into reed canals.", urgency="HIGH"},
    {desc="Flood readiness drills stress-test the levees; a weak section slumps; emergency sandbag lines formed; traffic rerouted.", urgency="MEDIUM"},
    {desc="Fog collision in the harbor channel damages a service pontoon; minor spill contained; ferry schedules disrupted.", urgency="LOW"},
    {desc="Counterfeit ‘Temple clearance’ passes circulate after enforcement year; inspectors audit manifests; merchants complain of delays.", urgency="LOW"},
    {desc="Arson attempt at a dorm hostel tied to earlier panic cases; accelerant odor noted; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Unauthorized drone over the ferry lanes triggers brief no-fly order; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare near the pier market; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Vendor brawl over stall placement during ferry delays; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays cargo manifests; clerks request temporary staff assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the pier; repaired by morning.", urgency="LOW"},
    {desc="Rumor of ‘new bombs’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening ferry crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one boarding lane for repairs; detours posted.", urgency="LOW"}
  }
},
["Thorsalon"] = {
  events = {
    {desc="After last season’s Blood Wine unrest year, inspectors uncover a forged export ledger; a bonded broker is suspended; protest crowds gather at the quay.", urgency="MEDIUM"},
    {desc="Copycat sabotage threat: anonymous note claims ‘barrels will burn’; firebreak teams stage at bonded warehouses; night watch expanded.", urgency="MEDIUM"},
    {desc="Lighthouse-collapse aftershocks: navigation complaints surge; a near-grounding in fog prompts a temporary curfew for small craft.", urgency="LOW"},
    {desc="Reserve-release backlash: rival guilds accuse each other of hoarding; shouting match at the auction hall requires stability patrols.", urgency="MEDIUM"},
    {desc="Smuggling ring uses empty barrel convoys to move contraband; inspectors seize forged manifests and detain couriers.", urgency="MEDIUM"},
    {desc="Water point contamination scare near the quay market; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target auction queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor warehouse fire contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the quay; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays exports; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘export ban’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one gate lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"}
  }
},

  ----------------------------------------------------------------------------
  -- New South Jangsong (Minor Cities)
  ----------------------------------------------------------------------------
["Pelagia"] = {
  events = {
    {desc="After last season’s water-tower sabotage year, inspectors find fresh tool marks on a secondary pressure valve; water delivery shifts to guarded cistern points.", urgency="HIGH"},
    {desc="Copycat threat: anonymous message claims ‘tanks will run dry again’; stewards restrict high-volume draws; crowd tensions rise at spigots.", urgency="MEDIUM"},
    {desc="Raid aftermath: caravanserai owners report renewed intimidation of witnesses; escorts assigned; night watch expanded.", urgency="MEDIUM"},
    {desc="Storm surge rehearsal becomes live: a microburst collapses a temporary pontoon; rescue teams pull two from the water; minor injuries.", urgency="MEDIUM"},
    {desc="Smugglers exploit water-queue crowds to move contraband; inspectors seize forged passes and detain couriers.", urgency="MEDIUM"},
    {desc="Counterfeit ‘Temple-certified’ water chits circulate; scribes audit rolls; merchants protest seizures.", urgency="LOW"},
    {desc="Fog collision in the harbor channel damages a service dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over tower worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target queue lines; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the quay market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the tower road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Paperwork backlog delays water permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘poisoned tanks’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during quay crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one cistern lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine inspection closes one caravanserai loading lane; signage posted.", urgency="LOW"}
  }
},
["Thyrea"] = {
  events = {
    {desc="After last season’s devotional-market fires, inspectors find fresh scorch patterns in a storage loft; suspected ‘test burn’ prompts a full sweep of alley vents.", urgency="HIGH"},
    {desc="Copycat arson threat: anonymous message promises a ‘third blaze’ at the next market night; stewards enforce early closure and guarded firebreak lines.", urgency="MEDIUM"},
    {desc="Stampede trauma aftershocks: a false oracle cry sparks a sudden crowd surge; lane barriers prevent injuries, but panic spreads across stalls.", urgency="MEDIUM"},
    {desc="Ritual access dispute returns: rival processions argue over shrine stair priority; stability patrols separate factions and reroute foot traffic.", urgency="MEDIUM"},
    {desc="Evidence-chain review: a suspect tied to last year’s fires is spotted near a fuel vendor; chase spills into tight alleys; two injured in a fall.", urgency="HIGH"},
    {desc="Fire-safety enforcement backlash: vendors protest limits on braziers and lanterns; shouting match escalates; wardens keep lanes open.", urgency="LOW"},
    {desc="Illegal accelerant stockpile discovered behind a spice shed; hazmat lanes established; several stalls closed pending assays.", urgency="HIGH"},
    {desc="Counterfeit ‘Temple-approved’ fire permits circulate; inspectors seize documents and fine vendors.", urgency="LOW"},
    {desc="Water point contamination scare near the market cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Pickpocket crews exploit crowding during safety checks; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire contained quickly; smoke clears within the hour.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near shrine stair; repaired by morning.", urgency="LOW"},
    {desc="Unauthorized drone over the market canopy; device recovered; operator fined.", urgency="LOW"},
    {desc="Paperwork backlog delays vendor permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly; no serious injuries.", urgency="LOW"},
    {desc="Clinic reports mild smoke irritation cluster after a small flare-up; inspectors check ventilation and braziers.", urgency="LOW"},
    {desc="Rumor of ‘forbidden rites’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; detours posted.", urgency="LOW"}
  }
},
["Ephyra"] = {
  events = {
    {desc="After last season’s grain-silo arson year, inspectors detect fresh accelerant traces near a fuel shed; firefighters stage on-site; lane cordons established.", urgency="HIGH"},
    {desc="Copycat threat: anonymous message promises ‘second fire’ at the next delivery; convoys stagger arrival windows under escort buffers.", urgency="MEDIUM"},
    {desc="Reconstruction fraud: counterfeit ‘silo repair permits’ sold to contractors; inspectors raid a night market and seize seals.", urgency="MEDIUM"},
    {desc="Fuel depot safety audit finds tampered extinguisher units; suspects detained; workers demand hazard pay.", urgency="MEDIUM"},
    {desc="Smugglers exploit convoy crowding to move contraband; inspectors seize forged manifests and detain couriers.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over silo worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target delivery queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the depot road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays delivery permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘fuel explosion’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during market crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one lane for repairs; detours posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"}
  }
},
 ----------------------------------------------------------------------------
  -- Haifan Bassaridia (Major Cities)
  ----------------------------------------------------------------------------
["Keybir-Aviv"] = {
  events = {
    {desc="After last season’s mine-collapse year, inspectors discover fresh instability readings in a sealed spur; a second controlled entry is ordered; families gather at the gate.", urgency="HIGH"},
    {desc="Copycat sabotage threat: anonymous note claims charges were left in a ventilation shaft; EOD sweeps intake tunnels; work pauses.", urgency="HIGH"},
    {desc="Delayed injury claims trigger protests outside the mining office; counter-group arrives; stability patrols deploy lane barriers.", urgency="MEDIUM"},
    {desc="VBSS enforcement backlash: merchants complain of inspection drag after last year’s corridor clamp; a dockside march blocks one gate.", urgency="LOW"},
    {desc="Smuggling fallout: forged ship manifests detected; bonded yard frozen pending custody audit; two brokers suspended.", urgency="MEDIUM"},
    {desc="Arson attempt at a tool shed near the minehead; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Water point contamination scare near worker dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over minehead safety zone; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another collapse’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"}
  }
},
["Tel-Amin"] = {
  events = {
    {desc="After last season’s trade-outpost sabotage year, inspectors find fresh cut marks on a coastal signal pole; patrols establish a guarded watch rotation.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims the coffee-grove road will be hit again; convoys stagger movement windows under escort buffers.", urgency="MEDIUM"},
    {desc="Evidence-chain review: missing fragments from a damaged outpost shutter trigger a sweep of storage lockers and contractor sheds.", urgency="MEDIUM"},
    {desc="Smuggling fallout: forged ‘Alfa posture’ permits circulate; inspectors seize paperwork; merchants protest delays.", urgency="LOW"},
    {desc="Retaliation scare: witness reports being followed near the grove market; protective escort assigned; night watch expanded.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a grove cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision in the harbor channel damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the coast track; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the grove road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays shipping permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘coast raids’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Diamandis"] = {
  events = {
    {desc="After last season’s broadcast-node crisis, inspectors discover a forged maintenance order for the radio mast; security locks down access and audits contractor rosters.", urgency="HIGH"},
    {desc="Copycat propaganda attempt: counterfeit ‘urgent transmission’ leaflets trigger crowd panic; wardens seize print plates and stabilize the plaza.", urgency="MEDIUM"},
    {desc="Bridge-repair aftershocks: engineers find corrosion hidden under temporary plating; one lane closes; bullion traffic rerouted to a longer detour.", urgency="HIGH"},
    {desc="Evidence-chain dispute from prior ramp incident: missing bolt fragments prompt re-examination of storage lockers; two technicians suspended.", urgency="MEDIUM"},
    {desc="Smuggling fallout: forged bullion escort chits circulate; inspectors seize paperwork at a weighstation; merchants protest delays.", urgency="MEDIUM"},
    {desc="Arson attempt at a small relay hut; accelerant traces found; investigators suspect intimidation of witnesses.", urgency="HIGH"},
    {desc="Water point contamination scare near market cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the mast perimeter; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target detour queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the bridge detour; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another bridge blast’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one arcade corridor; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one weighstation lane for audits; signage posted.", urgency="LOW"}
  }
},
["Jogi"] = {
  events = {
    {desc="After last season’s arms-shipment scandal year, auditors find a forged consignee chain on three crates; bonded warehouses are sealed pending custody review.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threats sent to a dock clerk who testified; protective escort assigned; night patrols expanded around the clerk’s block.", urgency="MEDIUM"},
    {desc="Tornado recovery fraud: counterfeit ‘relief vouchers’ sold at a market; inspectors raid a stall row and seize seals.", urgency="MEDIUM"},
    {desc="Corridor security backlash: merchants protest escort windows and inspection delays after the convoy-ambush year; stability patrols keep lanes open.", urgency="LOW"},
    {desc="Evidence-transfer day (privateering custody): protest crowd forms outside the courthouse; counter-group arrives; lane barriers installed to prevent clashes.", urgency="MEDIUM"},
    {desc="Copycat ambush scare: staged flares found near a food-convoy lane; patrols dismantle a trap and widen the exclusion zone.", urgency="HIGH"},
    {desc="Water point contamination scare near a shelter cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the yard; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the courthouse lane; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays manifests; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another storm strike’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening market crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one gate lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"}
  }
},
["Lewisburg"] = {
  events = {
    {desc="Straits enforcement spillover: inspectors intensify manifest verification after seizures in nearby ports; queues form at the bonded gate; merchants protest delays.", urgency="LOW"},
    {desc="Copycat rumor wave claims contraband devices are moving through Lewisburg; calm-messaging patrols circulate clarifications; stewards add a short-term inspection window.", urgency="LOW"},
    {desc="Counterfeit clearance stamps detected on two freight packets; clerks audit recent releases; a broker is suspended pending review.", urgency="MEDIUM"},
    {desc="Suspected intimidation of a customs witness tied to a regional case; protective escort assigned; night patrols expanded near the witness block.", urgency="MEDIUM"},
    {desc="Smuggling ring attempts reroute through coastal backroads; patrols seize forged papers and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a dock cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the quay market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays manifests; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘port closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},

  ----------------------------------------------------------------------------
  -- Haifan Bassaridia (Minor Cities)
  ----------------------------------------------------------------------------
["Thermosalem"] = {
  events = {
    {desc="After last season’s outbreak year, clinics report a small resurgence of symptoms in a dorm block; booster lines reopened; crowd control needed at the bath gates.", urgency="MEDIUM"},
    {desc="Copycat panic: false ‘infection alert’ posters trigger crowd flight from the Great Dome Baths arcade; lane barriers prevent a crush; investigators seize print plates.", urgency="MEDIUM"},
    {desc="Sanitation audit fallout: inspectors find forged hygiene certificates at three vendors; stalls closed; merchants protest enforcement.", urgency="LOW"},
    {desc="Ritual capacity dispute returns: stewards argue over entry limits introduced after the outbreak year; shouting match requires stability patrols.", urgency="LOW"},
    {desc="Counterfeit clinic passes detected; staff audit rolls and suspend two clerks pending review.", urgency="LOW"},
    {desc="Arson attempt at a linen drying shed near bath service corridors; accelerant traces found; investigators suspect intimidation of inspectors.", urgency="HIGH"},
    {desc="Water point contamination scare near bath cisterns; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the Dome roofline; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target clinic queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near bath arcade; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays vendor permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘bath closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one corridor for tilework; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bath gate for audits; signage posted.", urgency="LOW"}
  }
},
["Akróstadium"] = {
  events = {
    {desc="After last season’s gatehouse attack year, engineers find fresh stress fractures in a rebuilt gate segment; one entry lane closes; crowding increases at checkpoints.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims a new vehicle strike; barriers are doubled; EOD sweeps the shift-change muster area.", urgency="HIGH"},
    {desc="Ridge security aftershocks: false ‘incoming mortar’ report triggers a brief stampede; lane barriers prevent injuries; investigators trace the rumor source.", urgency="MEDIUM"},
    {desc="Magazine-seizure fallout: auditors discover missing inventory tags; a hidden cache is suspected; armory annexes placed under guarded access.", urgency="HIGH"},
    {desc="Trial-day protests over last year’s coup faction spill into market lanes; stability patrols deploy non-lethal spacing lines.", urgency="MEDIUM"},
    {desc="Counterfeit access badges detected at an inner checkpoint; passes reissued; contractor rosters audited.", urgency="MEDIUM"},
    {desc="Water point contamination scare near barracks cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog reduces visibility on outer wall road; vehicle pileup causes delays; cleared within hours.", urgency="LOW"},
    {desc="Unauthorized drone over the fortress roofline; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target checkpoint queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a vendor loft; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another breach’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during crowding at inspections; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one stair corridor for stonework; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one checkpoint lane for audits; signage posted.", urgency="LOW"}
  }
},
["Sufriya"] = {
  events = {
    {desc="After last season’s warehouse-row liberation case, inspectors reopen sealed ledgers: a missing custody stamp triggers a full audit of dockside storage and guard rosters.", urgency="HIGH"},
    {desc="Copycat intimidation: anonymous threats sent to two rescued witnesses scheduled for hearings; protective escorts assigned; night watch expanded around safe houses.", urgency="MEDIUM"},
    {desc="Port-device follow-on: fresh tool marks appear on a ro-ro ramp hinge; EOD sweeps the loading lanes and installs temporary barriers.", urgency="HIGH"},
    {desc="Smuggling fallout: counterfeit ‘clearance’ seals circulate on manifest packets; bonded yard frozen pending verification; merchants protest delays.", urgency="MEDIUM"},
    {desc="Retaliation scare: a suspected fixer is spotted near the customs arcade; chase spills into alley lanes; minor injuries from crowd surge.", urgency="MEDIUM"},
    {desc="Queue crush narrowly avoided when rumor of ‘new raids’ spreads; stewards enforce lane spacing and open an overflow holding yard.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a dock cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier corner; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews exploit inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at quay market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the ramp; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays releases; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘new contraband bombs’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"}
  }
},
["Lykopolis"] = {
  events = {
    {desc="After last season’s chemical spill year, inspectors detect residue in a riverbank seep; a secondary containment berm is ordered; water draws restricted temporarily.", urgency="MEDIUM"},
    {desc="Copycat dumping threat: anonymous note claims ‘more tanks will leak’; hazmat teams inspect transfer points; manifests frozen for review.", urgency="MEDIUM"},
    {desc="Compensation dispute: fisher guild protests delayed payouts tied to last year’s spill; stability patrols keep lanes open at the council hall.", urgency="LOW"},
    {desc="Fraud wave: counterfeit ‘cleanup vouchers’ sold at a market; inspectors raid stalls and seize seals.", urgency="LOW"},
    {desc="Smuggling ring uses cleanup convoys to move contraband; inspectors seize forged manifests; detentions rise.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a river cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over river exclusion zone; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the river road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays shipping permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘new toxin wave’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one quay lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one transfer point for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},

  ----------------------------------------------------------------------------
  -- NEW CITIES IN BASSARIDIAN NORMARK
  ----------------------------------------------------------------------------
["Ardclach"] = {
  events = {
    {desc="After the convoy-crisis winter, inspectors find fresh tool marks on a snow-shed hinge pin; crews suspend traffic while engineers sweep the span.", urgency="HIGH"},
    {desc="Copycat robbery scare: staged flares appear on the road into town; patrols dismantle a trap and widen the exclusion zone.", urgency="MEDIUM"},
    {desc="Delayed prosecution fallout: a witness to last year’s convoy case reports being followed; protective escort assigned; night watch expanded.", urgency="MEDIUM"},
    {desc="Market stability backlash: merchants protest rolling inspection windows introduced during winter posture; stability patrols keep lanes open.", urgency="LOW"},
    {desc="Smuggling spillover: forged routing codes detected on two wagons; bonded yard frozen pending custody review.", urgency="MEDIUM"},
    {desc="Whiteout drill becomes live: sudden squall strands a supply line; rescue teams locate stalled wagons; hypothermia cases treated.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the ridge road; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare at a hostel cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays transit permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another convoy hit’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one ridge lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Riddersborg"] = {
  events = {
    {desc="After the terminus-attack year, engineers discover hairline cracks in a rebuilt concourse girder; one platform closes; commuter crowding requires lane barriers.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note promises ‘another concourse strike’ on the anniversary week; EOD sweeps service tunnels and trash vaults.", urgency="HIGH"},
    {desc="Evidence-chain audit finds missing seal strips from a confiscated bag; lockers searched; two contractors suspended pending review.", urgency="MEDIUM"},
    {desc="Trial-day protests over last year’s suspects spill into station plazas; counter-groups arrive; stability patrols deploy non-lethal spacing lines.", urgency="MEDIUM"},
    {desc="Smuggling fallout: forged rail passes appear in the night market; inspectors seize documents and detain couriers near the yard gate.", urgency="MEDIUM"},
    {desc="Storm drill becomes live: whiteout forces a temporary station lockdown; shelters open; minor injuries from slips on the stair.", urgency="MEDIUM"},
    {desc="Counterfeit ‘safe-route’ maps sold to travelers; victims get stranded in restricted corridors; arrests made.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the rail yard triggers brief no-fly order; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target ticket lines during delays; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare at a shelter cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near platform stairs; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement outside the station; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘rail closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one corridor for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one yard gate for audits; signage posted.", urgency="LOW"}
  }
},

  -- Caledonian City-States
["Notranskja"] = {
  events = {
    -- CRITICAL (1–5)
    {desc="Coordinated arson–sabotage at White Ruby grain elevators sparks dust flashover; City Watch and depot foam tenders halt extension to rail sidings.", urgency="CRITICAL"},
    {desc="Armed crew attempts stipend-voucher heist at Temple Bank kiosk beside agrimarket; Horjin patrol car locks the street and Tadpole VT-UAVs chase getaway van into snowfields.", urgency="CRITICAL"},
    {desc="Contaminant plume detected in herb-drying barns after illicit solvent dump; mass nausea cases reported—boil-water and market-closure orders issued.", urgency="CRITICAL"},
    {desc="Blizzard shear derails two hopper wagons on Trans-Morovian spur; magnetically braked consist stabilized while hypothermia evac underway.", urgency="CRITICAL"},
    {desc="Encrypted drone swarm probes perimeter of White Ruby distribution yard; counter-UAS net and signal jammer grid force crash-landings in peat bog.", urgency="CRITICAL"},

    -- HIGH (6–10)
    {desc="Voucher registry latency stalls redemption at farmers’ hall; mobile counters deployed, Temple Bank auditors verify batch integrity.", urgency="HIGH"},
    {desc="Cold-chain failure in meat packing sheds after substation trip; backup gensets spin up and inspectors cull compromised lots.", urgency="HIGH"},
    {desc="Smuggling ring swaps investor scrip for counterfeit receipts; market syndics seize stall and freeze accounts pending arbitration.", urgency="HIGH"},
    {desc="Wolfpack sightings along northern haul road spook haulage teams; dusk curfew and armed outriders added to convoy SOP.", urgency="HIGH"},
    {desc="Silo scaffold icing causes panel shed; safety cordon and rope teams clear catwalks before dawn opening.", urgency="HIGH"},

    -- MEDIUM (11–15)
    {desc="Frost fog closes aerostat pad; postal drops diverted to rail until visibility improves.", urgency="MEDIUM"},
    {desc="Herb-auction backlog clogs quay sheds awaiting lake ferry slots; investor brokers stagger lot releases by ward.", urgency="MEDIUM"},
    {desc="Unauthorized burners spotted near peat reserve; wardens extinguish and cite three for fuel theft.", urgency="MEDIUM"},
    {desc="Farm-to-port convoy backed up by jackknifed lorry at timber bridge; pulley team resets trailer and reopens one-way flow.", urgency="MEDIUM"},
    {desc="Market scales audit finds tampered weights at two stalls; licenses suspended and restitution ordered.", urgency="MEDIUM"},

    -- LOW (16–20)
    {desc="Community grain-mill marathon draws crowds; steward lanes mark emergency egress.", urgency="LOW"},
    {desc="Voucher literacy clinic oversubscribed; extra session scheduled at cooper hall.", urgency="LOW"},
    {desc="Lantern-sled parade overruns market crescent; barriers extended for next cycle.", urgency="LOW"},
    {desc="Ice fog etches rail signal lenses; maintenance crews polish and reseal housings.", urgency="LOW"},
    {desc="Stray dogs trail butcher carts; animal control sets humane pens off main lane.", urgency="LOW"}
  }
},
["Slevik"] = {
  events = {
    {desc="After last season’s weighbridge scare, inspectors discover a counterfeit maintenance tag on the scanner housing; operations pause while engineers audit the unit.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘a second device’ in the rail yard; EOD sweeps ballast pits and service closets; one gate closes.", urgency="HIGH"},
    {desc="Express hardening backlash: merchants protest tightened routing windows; stability patrols keep lanes open at the yard entrance.", urgency="LOW"},
    {desc="Manifest fraud wave: forged transit stamps detected on three consignments; bonded storage frozen pending custody review.", urgency="MEDIUM"},
    {desc="Storm drill becomes live: sea spray and ice jam a switch; trains delayed; shelters open for stranded passengers.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the yard; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target ticket lines during delays; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare near a dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the weighbridge; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays releases; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘rail shutdown’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"}
  }
},
["Fanghorn"] = {
  events = {
    {desc="After last season’s flood-and-slope year, inspectors detect fresh undermining at a river bend; emergency reinforcement crews deploy; two hamlets placed on standby evacuation.", urgency="HIGH"},
    {desc="Copycat sabotage threat: anonymous note claims ‘the river will rise again’; water-gate operators moved to guarded shifts; EOD sweeps control boxes.", urgency="MEDIUM"},
    {desc="Storm drill becomes live: sudden squall triggers a small slide; rescue teams evacuate a low street; minor injuries treated.", urgency="MEDIUM"},
    {desc="Relief fraud wave: counterfeit ‘rebuild vouchers’ sold at a market; inspectors raid stalls and seize seals.", urgency="LOW"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Unauthorized drone over levee worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target relief queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the river road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement at relief market; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another flood wave’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evacuation staging; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one causeway lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one relief gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"},
    {desc="Minor road accident on a detour loop; cleared quickly; no injuries.", urgency="LOW"}
  }
},
["Sårensby"] = {
  events = {
    -- CRITICAL (1–5)
    {desc="Attempted breach at Sårensby Arsenal pattern-shop; guard platoon secures toolroom while Keltia Command investigators sweep for insider aid.", urgency="CRITICAL"},
    {desc="Sabotage on Trans-Keltian Express munitions consist—bridge sensors flag tamper bolts; convoy halted and Horjin CV56(N) escorts establish perimeter.", urgency="CRITICAL"},
    {desc="Explosive UAV dives at Sårensby Depot roof; counter-UAS lasers disable over fjord—debris recovery boat launched.", urgency="CRITICAL"},
    {desc="Cyberattack on stipend kiosks in dockyard quarter causes payout outages; offline issuance activated and forensics isolate malware node.", urgency="CRITICAL"},
    {desc="Container feeder scrapes channel marker in crosswind and loses steerage; tug triad pins bow and averts collision with ferry.", urgency="CRITICAL"},

    -- HIGH (6–10)
    {desc="Rolling blackout after busbar fault in depot substation; priority feeds to drydocks and arsenal lines restored within the watch.", urgency="HIGH"},
    {desc="Counterfeit port IDs detected at turnstiles; contractor audit and badge re-issuance ordered across three yards.", urgency="HIGH"},
    {desc="Hazmat leak from paint shed near slipway; foam units deploy and storm drains plugged.", urgency="HIGH"},
    {desc="Union picket slows shift change at crane row; arbitration tabled for second watch.", urgency="HIGH"},
    {desc="Sudden squall topples yard stacks; reach-stackers restack under wind-limit rules.", urgency="HIGH"},

    -- MEDIUM (11–15)
    {desc="Harbor pilotage backlog after fog; arrival slots resequenced and ferry timetable trimmed.", urgency="MEDIUM"},
    {desc="Depot gate congestion during stipend redemption hour; stewards convert two lanes to pedestrian flow.", urgency="MEDIUM"},
    {desc="UXO dredged from old quay; cordon set until EOD scuttles offshore.", urgency="MEDIUM"},
    {desc="Tadpole VT-UAV detects unauthorized night swimmers near drydock caissons; patrol boats warn off and cite trespassers.", urgency="MEDIUM"},
    {desc="Road salt shortage pinches hill wards; convoy fetches supply from inland depot.", urgency="MEDIUM"},

    -- LOW (16–20)
    {desc="Lantern regatta signup booth crowds footbridge; marshals extend queue maze.", urgency="LOW"},
    {desc="Festival buskers block stipend hall steps; moved to arcade niche.", urgency="LOW"},
    {desc="Routine mussel scraping slows ferry cycle; revised departure board posted.", urgency="LOW"},
    {desc="Quay gulls foul nav cams; fresh-water sprayers added to housings.", urgency="LOW"},
    {desc="Volunteer drill at siren towers draws onlookers; information desk set beside gate.", urgency="LOW"}
  }
},

["Skøda"] = {
  events = {
    -- LOW (1–5)
    {desc="Frost-heave tilts milepost stones on the high trail; survey crew resets markers before dusk.", urgency="LOW"},
    {desc="Goatherds trespass in monastery herb plots; hands fined and stock returned.", urgency="LOW"},
    {desc="Scree-clearing crews briefly close the pilgrim traverse; detour posted via lower notch.", urgency="LOW"},
    {desc="Festival permit mix-up over rope course slots; stewards spread spectators along ridge.", urgency="LOW"},
    {desc="Climber queue congestion at Iron Rungs; marshals open an overflow staging ledge.", urgency="LOW"},

    -- MEDIUM (6–11)
    {desc="Rockfall blocks mule path below Glacier Gate; rope team drills and clears chockstones.", urgency="MEDIUM"},
    {desc="Unauthorized rare-earth dig near moraine wall collapses trench; two treated for fractures.", urgency="MEDIUM"},
    {desc="Cableway cabin stalls at mid-span after sensor fault; crews haul to nearest tower.", urgency="MEDIUM"},
    {desc="Outbreak of camp gastro traced to unboiled meltwater at Shelters 3–4; sanitation sweep enacted.", urgency="MEDIUM"},
    {desc="Timber bridge at Pastor's Cut found rotten; closure while trestle is re-decked.", urgency="MEDIUM"},
    {desc="Poacher pair snare chamois on sanctuary slopes; rangers seize quads and issue fines.", urgency="MEDIUM"},

    -- HIGH (12–16)
    {desc="Illegal blasting undermines lateral moraine; tarn levee slumps and downstream trail evacuated.", urgency="HIGH"},
    {desc="Funicular brake glazing detected on descent; line suspended pending full inspection.", urgency="HIGH"},
    {desc="Bandits ambush salt convoy at Cloud Bench; escorts trade fire, two wounded.", urgency="HIGH"},
    {desc="Leachate from clandestine ore heap enters creek; boil-water order for two hamlets.", urgency="HIGH"},
    {desc="Cornice-control shot misfires and triggers partial slab release; search teams sweep runout.", urgency="HIGH"},

    -- CRITICAL (17–20)
    {desc="Avalanche buries High Pass road-cut after cornice failure; multiple missing; mass SAR alert.", urgency="CRITICAL"},
    {desc="Explosive charges discovered on Cable Tower 3 baseplates; EOD disrupts; ridge cordon maintained.", urgency="CRITICAL"},
    {desc="Rock-glacier surge shears the valley pipeline; upstream hamlets isolated; emergency tanks deployed.", urgency="CRITICAL"},
    {desc="Gunmen seize tollhouse at Saddle Gate to extort caravans; War League requested for clearance.", urgency="CRITICAL"}
  }
},

["Eikbu"] = {
  events = {
    {desc="After last season’s snow-shed sabotage year, engineers find counterfeit bolts in a maintenance crate; traffic pauses while crews audit all spare parts.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘another pylon is rigged’; EOD sweeps service alcoves; one mountain lane closes.", urgency="HIGH"},
    {desc="Whiteout drill becomes live: sudden squall strands a supply line; rescue teams locate stalled wagons; hypothermia cases treated.", urgency="MEDIUM"},
    {desc="Smuggling spillover: forged routing codes detected on two wagons; checkpoint detains couriers and freezes cargo pending review.", urgency="MEDIUM"},
    {desc="Unauthorized drone over the shed line; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues during closures; patrols increase; arrests made.", urgency="LOW"},
    {desc="Water point contamination scare at a hostel cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the pass road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement at shelter market; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘pass collapse’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shelter crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one checkpoint for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"},
    {desc="Minor road accident on a detour loop; cleared quickly; no injuries.", urgency="LOW"}
  }
},

["Galvø"] = {
  events = {
    {desc="After last season’s outburst-flood year, inspectors detect seepage at the repaired berm; emergency reinforcement crews deploy; a low lane is closed.", urgency="MEDIUM"},
    {desc="Copycat rumor wave claims ‘another dam breach’ is imminent; calm-messaging patrols circulate clarifications; shelter readiness is briefly elevated.", urgency="LOW"},
    {desc="Relief fraud: counterfeit cleanup vouchers sold at market; inspectors seize seals and detain a seller.", urgency="LOW"},
    {desc="Smuggling ring exploits flood detours to bypass checks; inspectors seize forged papers and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over berm worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target relief queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the quay; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster at a shelter; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during shelter crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one causeway lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one relief gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"},
    {desc="Routine sanitation inspection closes one vendor temporarily; signage posted.", urgency="LOW"},
    {desc="Minor road accident on a detour loop; cleared quickly; no injuries.", urgency="LOW"}
  }
},

["Krlsgorod"] = {
  events = {
    -- LOW (1–5)
    {desc="Ferry slip ladders replaced after ice scouring; brief schedule delay.", urgency="LOW"},
    {desc="Smelt-run festival crowds jam quay; extra railings put in place.", urgency="LOW"},
    {desc="Marsh boardwalk maintenance closes two loops; detours posted.", urgency="LOW"},
    {desc="Dune grass volunteers plant new plots along windward spit.", urgency="LOW"},
    {desc="Minor fuel sheen at co-op berth; booms deployed and recovered.", urgency="LOW"},

    -- MEDIUM (6–11)
    {desc="Black-market fish processing ring raided; refrigerated van seized at depot gate.", urgency="MEDIUM"},
    {desc="Ice-road speed-trap blitz nets 22 violators; one rollover, no serious injuries.", urgency="MEDIUM"},
    {desc="Hatchery contamination traced to unauthorized antibiotic; cull ordered for two tanks.", urgency="MEDIUM"},
    {desc="Illicit sand harvesters caught cutting dune face at night; loaders impounded.", urgency="MEDIUM"},
    {desc="Customs datalink outage forces manual stamping; cargo backlog grows.", urgency="MEDIUM"},
    {desc="Sewer lift-station blockage spills into back-alley; disinfection and sampling underway.", urgency="MEDIUM"},

    -- HIGH (12–16)
    {desc="Ice-jam packs the river outlet and backs water into low wards; voluntary evacuations begin.", urgency="HIGH"},
    {desc="Cyanobacteria bloom causes mass fish kill along lee shore; intake throttled pending assays.", urgency="HIGH"},
    {desc="Smuggler convoy crosses lake ice using blackout lights; shots fired; one arrest.", urgency="HIGH"},
    {desc="Quay crane slew-ring failure drops container; four injured; labor walkout looms.", urgency="HIGH"},
    {desc="Sabotage attempt on fuel farm caught by patrol; detonators and timers recovered.", urgency="HIGH"},

    -- CRITICAL (17–20)
    {desc="Lake-ice shove drives pressure ridges through inner quay; two cranes topple; mass-casualty triage active.", urgency="CRITICAL"},
    {desc="VBIED detonates beside customs weighbridge during shift change; War League EOD requested.", urgency="CRITICAL"},
    {desc="Water-intake poisoning with industrial solvent floods clinics; city issues do-not-use order.", urgency="CRITICAL"},
    {desc="Armed flotilla attempts to blockade channel off the dunes; naval intercept requested.", urgency="CRITICAL"}
  }
},

["Kaledonija"] = {
  events = {
    {desc="Express hardening spillover: inspectors tighten routing windows after last season’s corridor work; long queues form; merchants protest delays.", urgency="LOW"},
    {desc="Copycat rumor wave claims contraband devices are moving through the rail depot; calm-messaging patrols circulate clarifications; a short-term inspection window added.", urgency="LOW"},
    {desc="Counterfeit transit stamps detected on two freight packets; clerks audit recent releases; a broker suspended pending review.", urgency="MEDIUM"},
    {desc="Witness intimidation tied to a regional corridor case: protective escort assigned; night patrols expanded near the witness block.", urgency="MEDIUM"},
    {desc="Smuggling ring attempts reroute through coastal backroads; patrols seize forged papers and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a depot cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over the depot; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at the market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the depot gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘depot closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one depot lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Sjøsborg"] = {
  events = {
    {desc="After last season’s bonded-warehouse arson year, inspectors find fresh accelerant traces near a loading loft; firebreak teams stage on-site; night watch expanded.", urgency="HIGH"},
    {desc="Copycat threat: anonymous note claims ‘rows will burn again’; EOD sweeps service corridors and installs temporary barriers.", urgency="MEDIUM"},
    {desc="Insurance and liability dispute sparks protest outside the bonded board; counter-protesters arrive; stability patrols keep lanes open.", urgency="LOW"},
    {desc="Manifest fraud wave: forged warehouse-release seals detected; bonded storage frozen pending custody review; a broker suspended.", urgency="MEDIUM"},
    {desc="Smuggling ring uses rebuild convoys to move contraband; inspectors seize forged papers and detain couriers.", urgency="MEDIUM"},
    {desc="Water point contamination scare near dock cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a pier; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over bonded rows; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target inspection queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor stall fire at quay market; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays releases; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a dock row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘warehouse closure’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowding; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one loading lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded gate for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},

["Storesund"] = {
  events = {
    -- CRITICAL (1–5)
    {desc="Sabotage at river-fuel farm ignites a manifold; foam cannons and levee pumps deployed as delta wind drives smoke over sheds 2–4; evacuation of flats ordered.", urgency="CRITICAL"},
    {desc="Coordinated smuggler convoy uses distributaries to bypass customs; shots fired near Lighthouse Reach; three boats seized and two fugitives at large.", urgency="CRITICAL"},
    {desc="VBIED detonates beside customs weighbridge during shift change; harbor sealed, casualty triage established at parish clinic.", urgency="CRITICAL"},
    {desc="Illicit dredger collapses a quay segment; two cranes at risk; cordon set and stabilization cribbing rushed from inland yards.", urgency="CRITICAL"},
    {desc="Intentional contaminant release at municipal ice plant triggers mass gastro cases; water carts dispatched while labs trace source.", urgency="CRITICAL"},

    -- HIGH (6–10)
    {desc="Delta extortion crew demands ‘channel insurance’ from co-op skippers; undercover sting scheduled for slack tide.", urgency="HIGH"},
    {desc="Customs datalink outage blacks out bonded shed registers; paper fallback initiated; porters instructed to post visual lot marks.", urgency="HIGH"},
    {desc="Fishery enforcement raid uncovers illegal eel pots in protected distributary; scuffles on the bank; gear confiscated.", urgency="HIGH"},
    {desc="Quay crane slew bearing seizes during lift; berth idled; load transferred by mobile shear-leg barge.", urgency="HIGH"},
    {desc="Counterfeit port ID badges discovered among seasonal laborers; contractor rosters purged and retraining ordered.", urgency="HIGH"},

    -- MEDIUM (11–15)
    {desc="Barge strikes uncharted deadman in a back-channel; minor hull damage; channel soundings extended for the night.", urgency="MEDIUM"},
    {desc="Cold-store compressor trips under brownout; perishables prioritized for transfer; generator hours extended.", urgency="MEDIUM"},
    {desc="Auction floor dispute over lot provenance halts bidding; mediators reconcile ledger stamps and restart sale.", urgency="MEDIUM"},
    {desc="Unauthorized scrap crews cutting rail at derelict siding; police disperse and mark site for fencing.", urgency="MEDIUM"},
    {desc="Silt surge forces temporary relocation of lightering station; pilots post revised approach plates.", urgency="MEDIUM"},

    -- LOW (16–20)
    {desc="Reed-cutter skiffs crowd a ferry landing during midday; wardens establish staggered mooring times.", urgency="LOW"},
    {desc="Minor ammonia leak alarm at ice works proves sensor fault; maintenance recalibrates and clears line.", urgency="LOW"},
    {desc="Market day overflow onto levee path; stewards extend rope barriers and open west gate.", urgency="LOW"},
    {desc="Loose dogs disturb fish-drying racks; animal control corrals and fines owners.", urgency="LOW"},
    {desc="Harbor notice misprints two berth numbers on the rota; corrected sheets posted by next bell.", urgency="LOW"}
  }
},

["Hamarrfell"] = {
  events = {
    -- LOW (1–5)
    {desc="Pilgrim queue backs up at Iron Chapel switchbacks; stewards open an overflow ledge trail.", urgency="LOW"},
    {desc="Goat bell lines tangle across the market steps; herders unwind and clear within the watch.", urgency="LOW"},
    {desc="Climbing hut stove smoke trips a false alarm; wardens air out the dormitory.", urgency="LOW"},
    {desc="Wayfinding cairns repainted above Hammer Notch; short rolling closures announced.", urgency="LOW"},
    {desc="Seasonal timber inspection replaces three footbridge planks; brief traffic hold.", urgency="LOW"},

    -- MEDIUM (6–11)
    {desc="Scree slide blocks mule path below Black Gate; shovel teams reopen by dusk.", urgency="MEDIUM"},
    {desc="Unlicensed guides selling counterfeit summit passes; badges seized, fines issued.", urgency="MEDIUM"},
    {desc="Hydro station icing forces brownouts; clinics moved to generator priority list.", urgency="MEDIUM"},
    {desc="Poachers cut fence into caprine preserve; rangers recover two carcasses and snares.", urgency="MEDIUM"},
    {desc="Karst sink opens across the ridge track; detour posted along the old quarry lane.", urgency="MEDIUM"},
    {desc="Monastery infirmary reports gastro cluster traced to unboiled meltwater; boil order issued.", urgency="MEDIUM"},

    -- HIGH (12–16)
    {desc="Bandits ambush salt convoy at Hammer Shelf; escorts return fire; two injured.", urgency="HIGH"},
    {desc="Cornice-control shot misfires near Avalanche Gallery; stabilization crews deployed.", urgency="HIGH"},
    {desc="Sabotage suspected in funicular brake glazing; line closed pending magnetic inspection.", urgency="HIGH"},
    {desc="Clandestine adit collapses under the east buttress; rescue shaft started at first light.", urgency="HIGH"},
    {desc="Leachate from illegal ore heap discolors stream; intake throttled while assays run.", urgency="HIGH"},

    -- CRITICAL (17–20)
    {desc="Slab avalanche rips across the High Traverse after cornice failure; multiple missing; mass SAR declared.", urgency="CRITICAL"},
    {desc="Explosive charges found on Cable Tower 2 anchor plates; EOD disrupts; cordon remains overnight.", urgency="CRITICAL"},
    {desc="Armed faction seizes tollhouse at Hammer Gate to extort caravans; War League assistance requested.", urgency="CRITICAL"},
    {desc="Rock-glacier surge shears penstock to upper hydro; hamlets isolated; emergency water convoys roll.", urgency="CRITICAL"}
  }
},



  -- NEW (Valley cities appended here, formatted like the Normark block)
["Ourid"] = {
  events = {
    {desc="After last season’s landslide year, slope sensors detect renewed creep above the Northern Pass; one lane closes; engineers stage for emergency shoring.", urgency="HIGH"},
    {desc="Copycat sabotage rumor claims explosives remain in processional stonework; EOD sweeps alcoves; pilgrims rerouted to wider stairs.", urgency="MEDIUM"},
    {desc="Archive relocation fallout: a sealed crate goes missing during an audit; custody review freezes two storehouses; crowd agitation grows.", urgency="MEDIUM"},
    {desc="Flash-flood aftershocks: sluice operators report a jam during a squall; emergency diversion channels opened; low street evacuated.", urgency="MEDIUM"},
    {desc="Smuggling ring exploits rerouted pilgrim traffic to move contraband; inspectors seize forged passes; detentions rise at a checkpoint.", urgency="MEDIUM"},
    {desc="Water point contamination scare after runoff; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over shrine lanes; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target pilgrim queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage annex; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the detour stair; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘another slide’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one alley for stonework; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one checkpoint lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Bashkim"] = {
  events = {
    {desc="After last season’s rail-raids year, inspectors detect fresh tampering marks on a signal box; trains slow to crawl; commuters protest delays at the platform lane.", urgency="MEDIUM"},
    {desc="Copycat ambush scare: staged flares appear along a supply road; patrols dismantle a trap and widen the exclusion zone.", urgency="MEDIUM"},
    {desc="Reintegration spillover: protest crowd forms over tightened travel screening rules; stability patrols keep lanes open at the permit office.", urgency="LOW"},
    {desc="Smuggling ring attempts to exploit screened lanes with forged papers; inspectors seize documents and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="Evidence-chain audit finds duplicate permit stamps in circulation; passes reissued; contractor rosters reviewed.", urgency="MEDIUM"},
    {desc="Water point contamination scare near a dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog collision damages a small dock; minor spill contained; schedules disrupted.", urgency="LOW"},
    {desc="Unauthorized drone over rail worksites; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage shed; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the station road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘raid return’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane for repairs; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one bonded lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
["Tonar"] = {
  events = {
    {desc="Reintegration aftermath: a permit office is overwhelmed as screened movement rules tighten; protest crowd blocks the lane; stability patrols keep access open.", urgency="LOW"},
    {desc="Copycat raid scare: staged flares found near a signal hut; patrols dismantle a trap and widen the exclusion zone.", urgency="MEDIUM"},
    {desc="Archive custody fallout: a sealed evidence crate goes missing during transfer; storage depots frozen pending audit; rumors spike.", urgency="MEDIUM"},
    {desc="Smuggling ring attempts to exploit screened lanes with forged papers; inspectors seize documents and detain couriers at a checkpoint.", urgency="MEDIUM"},
    {desc="False excavation permit scheme uncovered; counterfeit seals sold to contractors; inspectors raid a stall row and seize plates.", urgency="LOW"},
    {desc="Water point contamination scare near a dorm cistern; boil advisory issued then lifted after assays.", urgency="LOW"},
    {desc="Fog reduces visibility on outer road; multi-cart bump causes delays; cleared within hours.", urgency="LOW"},
    {desc="Unauthorized drone over a checkpoint; device recovered; operator fined.", urgency="LOW"},
    {desc="Pickpocket crews target permit queues; patrols increase; arrests made.", urgency="LOW"},
    {desc="Minor fire in a storage hut; contained quickly; no injuries.", urgency="LOW"},
    {desc="Broken lantern line leaves a dark stretch near the gate road; repaired by morning.", urgency="LOW"},
    {desc="Vendor brawl over stall placement; separated quickly.", urgency="LOW"},
    {desc="Paperwork backlog delays travel permits; clerks request assistance.", urgency="LOW"},
    {desc="Blackout hits a shop row; lighting fails; minor disorder near taverns.", urgency="LOW"},
    {desc="Rumor of ‘quarantine return’ causes brief panic; calm-messaging patrols circulate clarifications.", urgency="LOW"},
    {desc="Clinic reports mild stomach illness cluster; inspectors trace to one vendor and close it temporarily.", urgency="LOW"},
    {desc="Lost-child incidents rise during evening crowds; reunification tent expanded.", urgency="LOW"},
    {desc="Routine maintenance closes one checkpoint lane; detours posted.", urgency="LOW"},
    {desc="Routine inspection closes one office lane for audits; signage posted.", urgency="LOW"},
    {desc="Street preaching draws a loud crowd; wardens monitor; disperses peacefully.", urgency="LOW"}
  }
},
}

-------------------------------------------------------------------------------
-- (E) WEIGHTED RANDOM SELECTION: 80% chance "No reports"
-------------------------------------------------------------------------------
local function getWeight(urg)
  if urg == "LOW" then return 4 end
  if urg == "MEDIUM" then return 3 end
  if urg == "HIGH" then return 2 end
  if urg == "CRITICAL" then return 1 end
  return 1
end

local function pickWeightedEvent(events)
  local total = 0
  for _, ev in ipairs(events) do
    total = total + getWeight(ev.urgency)
  end
  local roll = math.random(total)
  local cumul = 0
  for _, ev in ipairs(events) do
    cumul = cumul + getWeight(ev.urgency)
    if roll <= cumul then
      return ev
    end
  end
  return events[#events]
end

-------------------------------------------------------------------------------
-- (F) MAKE TABLE FUNCTION: Day-based seed, 80% "No reports", else weighted pick
-------------------------------------------------------------------------------
function p.makeTable(frame)
  local args = frame and frame.args or {}
  local dateInfo = getPSSCDate(args)
  local seed = tonumber(args.seed) or (dateInfo.year * 1000 + dateInfo.dayOfYear)
  math.randomseed(seed)
  local lines = {}
  table.insert(lines, '{| class="wikitable"')
  table.insert(lines, '! Date !! City !! Event !! Urgency')
  for _, cityName in ipairs(cityOrder) do
    local data = cityData[cityName]
    -- Set the "no reports" threshold. Default is 0.80 (20% event chance)
    -- For Pelagia, lower the threshold to 0.60 (40% event chance, which is 2x as likely)
    local threshold = (cityName == "Pelagia") and 0.60 or 0.80
    if data then
      local roll = math.random()
      if roll < threshold then
        table.insert(lines, '|-')
        table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No reports || N/A')
      else
        local ev = pickWeightedEvent(data.events)
        table.insert(lines, '|-')
        table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || ' .. ev.desc .. ' || ' .. ev.urgency)
      end
    else
      table.insert(lines, '|-')
      table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No data || N/A')
    end
  end
  table.insert(lines, '|}')
  return table.concat(lines, '\n')
end

return p