- New `factionGateLocked` pure rule in JumpTravel.js: a gate from a neutral system into a faction-controlled one is locked while the player's combat level is below `minLevel`; gates from faction space and neutral→neutral hops are never locked - Config section `gates.jump.factionLock` (enabled switch, minLevel 5, panel message) in data/gates.json - Gate comm window shows the lock message in place of the LINK line and grays out REQUEST JUMP; case widens to fit the two-line message - `jumpThroughGate` adds a flat denial toast on top as defense in depth - Tests cover the rule's branches (neutral/faction/unknown dest, missing level, enabled switch, custom minLevel) and assert the shipped galaxy has locked gates at level 0 that all open at level 5 |
||
|---|---|---|
| .. | ||
| shop | ||
| ActionBar.js | ||
| BuildWindow.js | ||
| CombatBar.js | ||
| CommsBox.js | ||
| CommsPanel.js | ||
| ConfirmOverlay.js | ||
| CreditsHud.js | ||
| CyberShape.js | ||
| DiscoveryCompass.js | ||
| ExploreBar.js | ||
| GalaxyView.js | ||
| GlitchText.js | ||
| JobBoardWindow.js | ||
| LevelUpMarquee.js | ||
| MapWindow.js | ||
| MenuButton.js | ||
| MenuSubBar.js | ||
| MineralHud.js | ||
| MiningPopup.js | ||
| PerimeterShimmer.js | ||
| QuestTrackerHud.js | ||
| QuestWindow.js | ||
| ResearchWindow.js | ||
| SavePanel.js | ||
| ShimmerCue.js | ||
| ShipWindow.js | ||
| SignalCompass.js | ||
| SlotCard.js | ||
| Toast.js | ||
| VignetteWindow.js | ||