Igao-BossGate icon

BossGate

Control your server's boss progression: unlock bosses by game day, force the boss order, let ores and metals through portals after their boss dies. World or per-player progress. Server-synced, live-editable, 15 languages.

CHANGELOG

Changelog

1.1.1 — Boss progression, portal items and personal progress

  • New optional setting RequirePreviousBossDefeated (section 3 - Progression, default false): a boss can only be summoned after all the bosses before it in the progression order (Eikthyr, The Elder, Bonemass, Moder, Yagluth, The Queen, Fader, Kall Fimbulbringer) have been defeated in the world. Example: Kall cannot be summoned while any of the other seven is alive; The Queen cannot be summoned while Eikthyr, The Elder, Bonemass, Moder or Yagluth is alive. Eikthyr is never affected.
  • It works together with the unlock days: the boss must be unlocked by the day and the previous bosses must be dead (also when the boss has no unlock day). The Queen's Sealbreaker door and hive seat follow the rule too. LockAllBosses still wins over everything.
  • Uses the same boss-kill records as the portal rule (world global keys, already synced by the game to every client).
  • New on-screen message "Defeat the previous bosses first." (center of the screen); the offering is not consumed. New translation key msg_previous_boss in the 15 languages.
  • New optional setting PortalItemsRequireBossKill (section 4 - Portals, default false): ores, metals and other items the game blocks from portals can go through once the boss of their biome has been defeated in the world (The Elder: copper/tin/bronze, Bonemass: iron, Moder: silver and dragon eggs, Yagluth: black metal, The Queen: mechanical spring and Dvergr extractor, Fader: flametal and charred cogwheel, Kall Fimbulbringer: gold). Hildir's quest chests are released once the miniboss that guards the chest and the boss of its biome have been defeated (Brass: Brenna + The Elder, Silver: Geirrhafa + Moder, Bronze: Zil & Thungr + Yagluth). The full table is in the README.
  • With the setting off nothing changes: portals behave exactly like vanilla.
  • The rule only releases items the game already blocks and that are on the list; every other item keeps the vanilla behaviour, and one still-blocked item keeps the whole inventory from teleporting.
  • Items the game never lets through any portal (not even with the world setting that allows every item) stay blocked: the rule never overrides that.
  • The inventory follows the rule: the "cannot teleport" mark is hidden on items the player can already take through a portal.
  • New optional setting PerPlayerProgress (section 3 - Progression, default false): personal progress. When true, a boss only counts for the players who took part in killing it in this world (hit it, or were within 40 m when it died); kills in other worlds never count. Applies to the progression rule, the portal items and Hildir's chests. Kills are recorded even while the setting is off. New Harmony patches on Character.OnDeath, Game.Start and InventoryGrid.UpdateGui, each applied on its own.
  • Kall Fimbulbringer counts as defeated only when the whole fight is won (defeated_frozenking_p3).
  • Server-controlled and synced like the other settings (tagged scm:live, so it can be changed in-game with Ultimate Server Configuration Manager). The new values (portal rule, progression rule, personal progress) are appended to the existing sync message with the same protocol number, so 1.0.0 and 1.1.x clients and servers keep working together (an older side treats the new rules as off).
  • New Harmony patch on Inventory.IsTeleportable, applied on its own like the others: if it fails, only a warning is logged and the rest of the mod keeps working. Errors in the rule keep the vanilla portal behaviour.
  • Settings saved by earlier 1.1 test builds under another section are moved to their new section automatically (the value is kept).
  • The config is grouped by topic: 1 - General and 2 - Boss Unlock Day are unchanged from 1.0.0 (existing values are kept), the new settings are in 3 - Progression and 4 - Portals.
  • README: new Boss progression, Portal items and Personal progress sections, new settings in the tables and new known limitations.
  • Small optimizations: boss/item name hints are prepared once at startup instead of on every check, the Sealbreaker check no longer searches the boss list on every door, and the dungeon-entrance diagnostic log (and its Harmony patch on Teleport) was removed.

1.0.0 — First release

  • Per-boss unlock day (0 = disabled, up to 9999), entries numbered in progression order (1 - Eikthyr ... 8 - Kall Fimbulbringer), for Eikthyr, The Elder, Bonemass, Moder, Yagluth, The Queen, Fader and Kall Fimbulbringer (Deep North final boss).
  • Master lock LockAllBosses (default false) that blocks every boss on every day.
  • Translated on-screen message (center of the screen, not the text chat) when an offering is blocked, in 15 languages. The master-lock message is generic ("Boss summoning is not possible right now."). The offering is not consumed.
  • Config defined by the server: clients ignore their own .cfg and use the server's values. The server sends them when a player joins and again whenever a setting changes while the server is running.
  • Optional KickClientsWithoutMod (off by default).
  • Settings are tagged scm:live, so Ultimate Server Configuration Manager shows them as LIVE: an admin can change them in-game and every connected player gets the new rule instantly, without relogging or restarting the server.
  • Known limitations are listed in the README (client-side check, .cfg edited by hand is not watched, recognition by altar names).
  • No external dependencies.
  • The Queen: the Infested Citadel's Sealbreaker door and the hive seat offering (3 Seeker soldier trophies) follow her unlock day. Fader: bells can be placed, activating the altar is blocked.
  • Each Harmony patch is applied on its own; a failing patch only logs a warning.