
This mod improves Starfield’s Boarding Encounter quests – specifically docking encounters (not “dropship” or “surface” encounters).
When docking to hostile enemy ships, there is a chance for a hazard to be on board, and/or the enemy crew may decide to board your ship.
In the presence of a hazard, the chance of the enemy boarding your ship is increased.
This mod was inspired by Hazardous Ship Boarding – an early mod (pre-Creation Kit) that replaced the vanilla BEScript. The aim was to simply force the existing hazard and enemy boarding logic (which was never used) to run. However after many updates to the base game, the modified script stopped working properly, and prevented some other vanilla bug fixes/features (such as critical hits) from working.
The objective of this mod is exactly the same. But this time I have ported the necessary logic to a separate set of scripts, and refactored/fixed/improved it. Now only human enemies can board (no turrets!), and they will be forced into a combat state, which prevents enemies from running back to their ship. In addition, any corpses left on your ship will be removed as soon as your ship travels to a new location – no need for a trip to the ship builder to clean the blood stains off the carpet.
As a bonus, this mod reveals some cut enemy dialogue – pirates will complement you on your ship, and assert that it now belongs to them!
Hazard and Boarding chances
The default probabilities for a “better” boarding encounter are:
– Hazard on enemy ship: 50%
– Enemy boarding: 25%
– Enemy boarding multiplier: 2.4x (this gives a 60% chance of enemies boarding when a hazard is present)
These can be changed via the following global variables:
BBE_Global_HazardChance
BBE_Global_BoardingChance
BBE_Global_BoardingChanceMult
If you use RTFP, an example RTFP patch is included so you can easily modify these values. Just un-comment the desired lines, and insert the value you want (use a value between 0 and 1 for the percentages)
Alternatively, you can set the included gameplay option to “ALWAYS” – which will apply a 100% chance for both hazard and boarding, for testing purposes.
Good to know
Better Boarding Encounters (BBE) does not modify any vanilla records or replace any vanilla scripts. It does not require any script extenders, just the base game.
It has been tested with the latest 1.15.x update, and should be compatible with (hopefully) all future updates.
It does not tread on, or break, any existing functionality – it checks certain properties on the vanilla quest (BEQuest.ShipHazard and BEQuest.ShouldBoardPlayersShip) are none/false before doing either of those things. So if you dock with a ship that was configured to actually use that original code (unlikely in the case of boarding, but I assume it’s possible in the case of hazards), then this mod will step back and let the original code do it’s thing instead.
You can disable the mod in the Gameplay options, allowing you to uninstall it safely at any time.
Known issues
A few things I’d like to iron out:
– If Vasco is on your crew, sometimes he will appear inside the ship and join in the fight
– The enemy ship captain can become a “Security Captain” when they board. They still appear as a pirate/spacer/ecliptic/whatever, just with a different name.
– Your companion may scold you for firing stray bullets inside the ship just combat comes to an end (although in my testing so far, they have never become angry with me).
I’m not very experienced with NPC stuff – if anyone has the particular knowledge required, and knows the correct way to fix these issues, please let me know!
Thoughts and future plans
Presumably, the hazard/boarding elements were cut from the base game because they didn’t feel “finished” – which I think is a fair assertion to make. And/or Bethesda decided it would be unfair to allow combat to occur inside the player’s ship, to cater for those who enjoy carefully decorating them with loose junk (which is obviously going to go flying when a bunch of pirates storm your sanctuary in the sky!).
For this mod, I wanted to focus solely on re-implementing these cut features, in a way that more or less replicates the original code (with some fixes applied).
I do have plans for a much more enhanced version, which will introduce some genuinely new game-play mechanics. Currently working on a prototype…it could be a while, but stay tuned!
In the meantime, please enjoy 🙂
Changelog:
Version 1.0.5
For some reason changes to globals were not exported in 1.0.4. This version actually applies the change.
Version 1.0.4
Allow globals to be modified by external scripts (remove Const flag)
Version 1.0.3
Prevent alarm sounds from overlapping.
Hazard will now spawn in a random module instead of the cockpit.
No further enemies can board if the ships become undocked.
100% chance of boarding if the PlayerShip is being docked to (accommodates other mods that cause enemies to initiate docking).
Slight refactor of quest startup logic.
Version 1.0.2
Fixed some rare edge cases discovered by taosecurity that could cause docking event to be missed, and improves compatibility with other plugins that modify the number of enemies spawned.
Version 1.0.1
Compact FormIDs for small master.
Boarding: Added the player’s companions to the defending crew if they are not already assigned to the ship.
Boarding: Player’s crew will now initiate combat with any newly boarded enemy if they are not already in combat with another enemy.
Boarding: Enemies will now initiate combat with the closest defending crew member (including the player), instead of just the player – this should reduce the chance of the enemy not being able to see their combat target.
Hazards: Possible hazards have been reduced to 4 “acceptable” space hazards, as per the original Hazardous Ship Boarding mod – this should fix the issue of some hazards in the previous list not functioning properly.
Hazards: Set ENV_Loc_NotSealedEnvironment keyword on the enemy ship interior location when a hazard is present – this should cause spacesuits to be visible.
Credits:
stevek1ng


