67418a52b1ab2

Post Reply

Your name:
Subject:
Message Icon:

Verification:
This box must be left blank:

How can you challenge a perfect, immortal ____? (Fill in the missing word):

Shortcuts: Alt+s to submit/post; Alt+p to preview


Topic Summary

Posted by: ZylonBane
« on: 28. June 2024, 18:35:24 »

Finally got around to trying an idea I've had since forever-- implementing an equivalent in SS2 of SS1's Mission: 0 setting. This setting removes all plot-related elements from the game, allowing you to essentially march straight from the beginning to the end.

This wasn't as time-consuming as I was afraid it would be, since Squirrel can be used to mass-delete all emails, logs, ID cards, etc. and mass-unlock all the doors. So most of the effort went into locking down all the quest-related stuff you can interact with and setting the world state so you can progress, e.g. the Engineering radiation tunnels, etc. Some of the GOG/Steam patch fuckery made this... challenging. Essentially I had to test the entire game three times-- true vanilla, patched, and SCP. I'm still not 100% sure I've caught everything.

Aside from missed things, the one big thing I consider incomplete in this is its handling of cybermodules. Even with the removal of objectives, players still have to fight their way through, so I don't want this mod to remove all the quest-awarded CMs. So at the beginning of each level it counts all the CMs that would have been awarded by Experience Trap scripts. It currently just gives them to the player, but I'm trying to think of something less blatant, like randomly adding them to bodies and containers in the level, or distributing them to already-existing cybermod objects. The more automated the solution, the better. I really don't want to track down all the dozens of CM award events and add physically collectible equivalents where appropriate (which is exactly what would be required by the proposed Lonely Shock mod).

For those interested in the technical side, this was done entirely with Squirrel. A lot of it could have been done with DMLs, but not all of it, like sending messages to various entities to get them in the correct state. Since I had to get Squirrel involved anyway, I decided it was simplest to just go 100% Squirrel. The entire mod is a single script that's attached to the player. On BeginScript, it checks a qvar to see if it's already processed the current map, and if not, it first performs some generic mass-deletion and mass-unlocking operations. It then drops into a switch/case block for each map to perform various map-specific tweaks.

[attachment removed]
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
67418a52b2fd1