SFC:OP Missions Refit



When I finally released SFC:OP Plus Refit, I decided to reward myself and play a single player campaign. I loaded up the latest mission pack from NuclearWessels and gave it a shot.

Well, I quickly found myself frustrated with the game again.

Here are some of the issues I had with the game at this point:

  1. almost everything had slow drones
  2. everything had basic fighters
  3. the new Andromedan ships weren't being loaded up right.
  4. some missions had hardcoded ships.

.. note that I also encountered some problems with my own SFC:OP Plus Refit mod, which resulted in the release of version 4.1.1:

  1. the planets were still shooting themselves with their heavy weapons
  2. many monsters encountered had 0 crew/boarding parties and were boardable. (1 BP and captured!)


Imagine loading a "Fleet Patrol" mission: destroy all enemies, or disengage if the enemy is too much for you. It's year 2285.3: you've got a L-BCHT with 4 upgraded PFs. You find yourself in-mission with 2 Klingon wingmen AI-controlled ships, and there's 3 Hydran ships in the distance.

As you close towards your enemy, both your allies and your enemy launch whatever fighters they have. Your Klingon friends launch their K-Lancer.IIIs. The Hydrans, a carrier-based race, have many many H-YellowJacket.IIIs and H-Hornet.IIs as are normally available during that year. You send out your L-PFLs in Harass, adding yet more confusion to the fray.

Your wingmen launch their drones and they are all fast speeds at that. One of the Hydran ships weasels, and its fighter-groups obliterates your destroyer-sized wingman in a single pass.

Then... from the far right... comes a M-aDMX Andromedan Dominatrix Dreadnought, friend to no one and intent on destroying everyone.

.. now that's a Patrol mission!

Making it happen..

I spent weeks trying to find work-arounds or fixes to these problems. Here's what I've found out:

Better in-mission created ship selection

  • find better way to load up Bases, FRDs, cargo ships, etc. Do NOT use hard-coded ships because these things do get refits over time.
    • use shiplist API, load shiplist from MetaAssets directory

Give the AI Upgraded fighters

  • Give AIs better fighters. We cannot determine what fighters a ship has, but we can parse and load the fighterlist and assign era-correct fighters to AI-controlled teams.
    • use ShipList API to load fighterlist, specifically from the MetaAssets directory.

Give the ships era-correct drone speeds

  • If a ship was drafted, it'll have slow drones no matter what. However, if the ship was created in-mission and not drafted, the drone speeds will be era-correct. Solution: do not created drafted ships, create in-game only ships with same shipcodes as the drafted ships.
    • Ships do NOT get cleaned up from the D2 map. The server's .gf files should be edited to turn on ship destruction and cycling to compensate.
      • see: MetaMap.gf, section [Census], MaxAIsToKillPerTurn parameter.
    • if the drafted unit is a base, the mission creates a 'BOX' unit upon destruction WITH the base's drafted ID (aka MetaID) and immediately destroys it. This will be passed back to the D2 engine, multiplayer or not, that whatever had the Base's MetaID was destroyed which may result on base's removal from the D2 map.

Don't set-up a mission with a planet that is too big

  • The planet model sizes are stored in model.siz. The idea is to set up the mission's code to load and parse model.siz, prepare a list of eligible planets that aren't too big and select one randomly from that list.
    • ie: I need a Hydran Armed World, limited size.
    • Why? Because the FRDs and Defense Platforms may be close to the planet. A large planet will make stuff collide (and thus destroyed) on mission start.

Andro tweaks

  • Auto-detect Andros in the shiplist. If they are there, give them a chance to appear instead of Monsters or Orion pirates or whatever encounters NuclearWessels had originally set up.
    • it's just a small chance.

About the difficulty

Yes.. this pack is for everyone out there who play at Admiral Level Difficulty!

  • Easy/Captain:
    • drafted ships get slow drones (turns off workaround)
    • All AI-controlled teams get stock/basic fighters.
  • Medium/Commodore:
    • drafted ships get ERA-CORRECT drone speeds.
    • All AI-controlled teams still get stock/basic fighters.
  • Hard/Admiral:
    • drafted ships get ERA-CORRECT drone speeds.
    • All AI-controlled teams fighters ARE UPGRADED.

What's included?

  • .SCR Mission scripts, of course. All updated to the specs mentionned above.
    • 30 generic missions, originally from NuclearWessels pack
    • The ISC Campaign of Pacification missions (play as ISC)
    • The Campaign against the ISC Pacification missions (play as the other empire races)
    • The Mirak Campaigns (play as Mirak vs Lyran)
    • The Mirak Campaigns (play as Klingon, Hydran or Lyran against the Mirak)
  • .MCT campaign files for all normal races
  • .MCT campaign files for pirate races
  • .GF campaign configuration files to tweak stock campaign settings to something more enjoyable.


Missions Refit 1.5

NOTE: This mission-pack works best with OP+ 4.1.1 .. at least so far. (as of 20110807) See: SFC:OP Plus Refit