Module:BassaridianDailyEvents: Difference between revisions

From MicrasWiki
Jump to navigationJump to search
NewZimiaGov (talk | contribs)
No edit summary
NewZimiaGov (talk | contribs)
No edit summary
 
(33 intermediate revisions by the same user not shown)
Line 3: Line 3:
-- Purpose:
-- Purpose:
--  1) Include all city descriptions for:
--  1) Include all city descriptions for:
--      * Bassaridia Vaeringheim (major + minor)
--      • Bassaridia Vaeringheim (major + minor)
--      * New South Jangsong (major + minor)
--      • New South Jangsong (major + minor)
--      * Haifan Bassaridia (major + minor)
--      • Haifan Bassaridia (major + minor)
--     in a bracket-level comment, verbatim and unabridged.
--   in a bracket-level comment, verbatim and unabridged.
--  2) cityOrder table sets EXACT city display order as requested.
--  2) cityOrder table sets EXACT city display order as requested.
--  3) cityData includes 10 serifous events per city, focusing on crime,
--  3) cityData includes 20 events per city, focusing on crime, rebellion,
--      rebellion, and non-weather natural phenomena (diseases, plagues,
--      and non-weather natural phenomena (diseases, plagues, landslides,
--      landslides, infestations, etc.). No supernatural or magical references.
--      infestations, etc.). All events are realistic.
--  4) Weighted random event selection so that:
--  4) Weighted random event selection so that:
--      - 80% chance: "No reports"
--      - 80% chance: "No reports"
--      - 20% chance: pick event, with LOW urgency most likely, CRITICAL least.
--      - 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.
--  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.
--  6) Do NOT omit or remove any information from previous versions.
Line 24: Line 24:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--[==[
--[==[
==========================  BASSARIDIA VAERINGHEIM  ==========================
⋯ (Insert full, unabridged city description text here exactly as provided previously) ⋯
MAJOR CITIES (in order):
]==]
1) Vaeringheim
 
2) Luminaria
-------------------------------------------------------------------------------
3) Serena
-- (B) PSSC DATE FUNCTION (unchanged)
4) Pyralis
-------------------------------------------------------------------------------
5) Symphonara
local function getPSSCDate(args)
6) Aurelia
    args = args or {}
7) Somniumpolis
8) Nexa
9) Lunalis Sancta
10) Sylvapolis


MINOR CITIES (in order):
    local overrideYear = tonumber(args.year or args.psscyear)
1) Saluria
    local overrideDay  = tonumber(args.day or args.dayofyear)
2) Aetherium
3) Ferrum Citadel
4) Acheron
5) Erythros
6) Catonis Atrium
7) Delphica
8) Koinonía
9) Aureum
10) Myrene
11) Halicarn
12) Ephyra
13) Thyrea


==========================  NEW SOUTH JANGSONG  =============================
    if overrideYear and overrideDay then
MAJOR CITIES (in order):
        if overrideDay < 1 then overrideDay = 1 end
1) Skýrophos
        if overrideDay > 183 then overrideDay = 183 end
2) Bjornopolis
3) Aegirheim
4) Norsolyra
5) Thorsalon


MINOR CITIES (in order):
        local month, dayOfMonth
1) Pelagia
        if overrideDay <= 61 then
-- (others if text had them)
            month = 1
            dayOfMonth = overrideDay
        elseif overrideDay <= 122 then
            month = 2
            dayOfMonth = overrideDay - 61
        else
            month = 3
            dayOfMonth = overrideDay - 122
        end


==========================  HAIFAN BASSARIDIA  ==============================
        local dateString = string.format("%d/%d/%d PSSC", dayOfMonth, month, overrideYear)
MAJOR CITIES (in order):
        return {
1) Keybir-Aviv
            text      = dateString,
2) Tel-Amin
            year      = overrideYear,
3) Diamandis
            dayOfYear = overrideDay,
4) Jogi
            month    = month,
5) Lewisburg
            dom      = dayOfMonth
        }
    end


MINOR CITIES (in order):
    local startDate = os.time({year = 1999, month = 8, day = 6})
1) Thermosalem
    local secondsInDay = 86400
2) Akróstadium
    local daysPerYear = 183
3) Sufriya
4) Lykopolis


[All original descriptive text for each city is placed here, verbatim,
    local now = os.time()
exactly as you provided in your previous data.  
    local totalDaysElapsed = math.floor((now - startDate) / secondsInDay)
No lines omitted, no summarizing, everything included in full.]
    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)
-- (B) PSSC DATE FUNCTION (unchanged from prior scripts)
-------------------------------------------------------------------------------
local function getPSSCDate()
     local start = os.time{year=1999, month=8, day=6}
    local now = os.time()
    local daysSince = math.floor((now - start) / 86400)
    local psscYear = math.floor(daysSince / 183)
    local dayOfYear = (daysSince % 183) + 1
     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
Line 104: Line 98:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
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 with 10 events per city, no supernatural.
-- (D) CITY DATA: 20 EVENTS PER CITY
--    We keep the same serious events we used previously,
--    focusing on crime, rebellion, non-weather natural crises
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Weighted random selection: we'll implement after listing the city data.
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 rumors circulate regarding a breach of the city's underground 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="Rumors of voluntary human sacrifice among vineyard workers, 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="The New South Jangsong Division engages in firefights and skirmishes against armored, foreign raiders responsible for disrupting trade routes passing through the Saltsteppes.", 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="Rogue 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="The Haifan Bassaridia Division engages in firefights against Stripping Path insurgent cells as it attempts to maintain control over the city's vital coral markets following the conclusion of Operation Ociatic.", 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="The Haifan Bassaridia Division arrests insurgent conspirators plotting to stage attacks against the city's coral markets in the aftermath of Operation Ociatic.", 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) Weighted random picking, 80% chance of "No reports"
-- (E) WEIGHTED RANDOM SELECTION: 80% chance "No reports"
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- We'll define a helper that returns a numeric weight for each urgency:
-- LOW => 4, MEDIUM => 3, HIGH => 2, CRITICAL => 1
local function getWeight(urg)
local function getWeight(urg)
   if urg == "LOW" then return 4 end
   if urg == "LOW" then return 4 end
Line 703: Line 1,542:
   if urg == "HIGH" then return 2 end
   if urg == "HIGH" then return 2 end
   if urg == "CRITICAL" then return 1 end
   if urg == "CRITICAL" then return 1 end
   return 1 -- fallback
   return 1
end
end


-- Weighted event selection
local function pickWeightedEvent(events)
local function pickWeightedEvent(events)
  -- sum weights
   local total = 0
   local total = 0
   for _,ev in ipairs(events) do
   for _, ev in ipairs(events) do
     total = total + getWeight(ev.urgency)
     total = total + getWeight(ev.urgency)
   end
   end
   local roll = math.random(total)
   local roll = math.random(total)
   local cumul = 0
   local cumul = 0
   for _,ev in ipairs(events) do
   for _, ev in ipairs(events) do
     cumul = cumul + getWeight(ev.urgency)
     cumul = cumul + getWeight(ev.urgency)
     if roll <= cumul then
     if roll <= cumul then
Line 721: Line 1,558:
     end
     end
   end
   end
   return events[#events] -- fallback
   return events[#events]
end
end


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- (F) makeTable function with day-based seed, 80% no reports, else weighted pick
-- (F) MAKE TABLE FUNCTION: Day-based seed, 80% "No reports", else weighted pick
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function p.makeTable()
function p.makeTable(frame)
   local dateInfo = getPSSCDate()
  local args = frame and frame.args or {}
   local seed = dateInfo.year * 1000 + dateInfo.dayOfYear
   local dateInfo = getPSSCDate(args)
   local seed = tonumber(args.seed) or (dateInfo.year * 1000 + dateInfo.dayOfYear)
   math.randomseed(seed)
   math.randomseed(seed)
   local lines = {}
   local lines = {}
   table.insert(lines, '{| class="wikitable"')
   table.insert(lines, '{| class="wikitable"')
   table.insert(lines, '! Date !! City !! Event !! Urgency')
   table.insert(lines, '! Date !! City !! Event !! Urgency')
   for _, cityName in ipairs(cityOrder) do
   for _, cityName in ipairs(cityOrder) do
     local data = cityData[cityName]
     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
     if data then
      -- 80% chance no reports
       local roll = math.random()
       local roll = math.random()
       if roll < 0.80 then
       if roll < threshold then
         table.insert(lines, '|-')
         table.insert(lines, '|-')
         table.insert(lines,
         table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No reports || N/A')
          '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No reports || N/A'
        )
       else
       else
        -- pick weighted event
         local ev = pickWeightedEvent(data.events)
         local ev = pickWeightedEvent(data.events)
         table.insert(lines, '|-')
         table.insert(lines, '|-')
         table.insert(lines,
         table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || ' .. ev.desc .. ' || ' .. ev.urgency)
          '| ' .. dateInfo.text
          .. ' || ' .. cityName
          .. ' || ' .. ev.desc
          .. ' || ' .. ev.urgency
        )
       end
       end
     else
     else
      -- city not in cityData => "No data"
       table.insert(lines, '|-')
       table.insert(lines, '|-')
       table.insert(lines,
       table.insert(lines, '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No data || N/A')
        '| ' .. dateInfo.text .. ' || ' .. cityName .. ' || No data || N/A'
      )
     end
     end
   end
   end
   table.insert(lines, '|}')
   table.insert(lines, '|}')
   return table.concat(lines, '\n')
   return table.concat(lines, '\n')

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