I spend a lot of time modding Fallout 2, using killap's Fallout 2 Restoration Project as a base for my own game. I've got loads of material I'll release eventually (whenever it's done), but I recently considered whether I have any stand-alone material which could benefit everyone in the meantime. I looked through my materials, using the following criteria:
--Must be easy for end-users to utilize
--No map changes, no changes to global or map variables, no changes to ai packets or protos, no scripts with additional local vars, no changes to any other major game files that would break existing save-games or cause confusion and mayhem
--No entanglement with my major mods (in progress) requiring hours for me to sort out
and under these criteria I found the following scripts on my initial perusal. Some are quite trivial modifications, but hopefully everyone will find something useful and someone will find everything useful.
Script Pack 1: Files available here.
All these scripts contain modifications of various kinds, so don't bother the RP team with them. The RP crew has done more than enough for all of us already, and we can't expect them to start sifting through all kinds of crazy mods to investigate what's a bug fix versus what's a modification. I don't keep detailed notes in the way others do, so the comments below reflect the highlights I could recall from memory but should not be considered a complete description of all changes in each script. The only thing I can say for sure is-- where my scripts differ from RP scripts, the changes were deliberate in every detail.
All these scripts will work fine with any version of the RP greater than 2.3, and will probably work with any RP version greater than 2.1.2. I highly doubt they'll work as-is with anything else (Fallout 1.02d, Megamod, etc). In particular, unless you are a veteran scripter DO NOT attempt to use fsface.int, oscomptr.int, or fsempter.int with the Megamod-- disasters will be the only result.
Any time scripts are changed, the best policy is to restart from a saved game prior to loading for the first time the map where the script is used. However, problems should be minimal for just dropping these into any game in progress, even if your character has previously interacted with the object attached to the script.
Installation Instructions
1) Backup any files in your Fallout 2 Restoration Project installation that have the same name as any file in the download zip. This way, if you don't like a modification, you can change back later to what you had originally.
2) Put all int script files in the folder Fallout2\data\scripts\ where ever you have the RP installed, overwriting same-named files there.
3) Put all msg dialogue files in the folder Fallout2\data\text\english\game\ where ever you have the RP installed, overwriting same-named files there.
4) ssl files are my decompiled scripts in Noid's/Ruby format if you'd like to look at them, but are not necessary to play the game.
Some of these scripts utilize the "use science skill on" functionality offered by sfall. In order to make that work, you'll need to modify your ddraw.ini file (found in your Fallout 2 RP folder) so the following line looks like this:
;Set to 1 to allow science and repair to be used on the player, or 2 for all critters. (Rather than only brahmin/robots)
ScienceOnCritters=2
If you don't change ddraw.ini, you'll just continue to see "You fail to learn anything" as usual when using Science.
List of included scripts and changes:
*acklint.int
--A little preliminary chit-chat with everyone's favorite game greeter (excepting Jerry from JA2: UB, of course).
*acompu.int
--Improved rock-paper-scissors game
--Added e-books to read; some improve skills, some are just for fun, others are related to mods I'm working on but will hopefully be interesting as-is.
*acwarior.int
--Arroyo warriors offer rumors about the wasteland. These all have to do with other mods I haven't released yet, but even so they hopefully work fine as idle rumors to stimulate one's imagination.
*atribal.int
--Chosen One can have a few conversations with this fellow at the Abbey.
*broken2.int
--Many party members were not included in the poison gas check. Note the continuing exclusion of Pariah Dog is intentional.
--Fixed gas mask usage for party members who have hands with opposable thumbs.
*cck9.int
--Added some dialogue.
--Added some item usage.
*dcsmitty.int
--Since almost all the munchkins moved on years ago, at this point I think every reasonable person still playing FO2 understands that a) the game is way too easy, and b) one of the main reasons the game is too easy is: there is too much money floating around. In this version the car costs $10,000 ($7500 with high barter skill). Ride a few caravans and you'll have the money in no time (though if you're like me, you'll realize caravans are much more fun than fiddling around with the car in the first place and forget about the whole thing).
*direbbok.int
--Chosen One gets different results out of the book based on stats.
*door.int
--Just about every door and container in the game is badly broken. Modders, please do everyone a favor and use my flexible template instead (ssl now updated with documentation compared to the version I posted here months ago).
*eckaga1.int, eckagpal.int
--If the Chosen One has high diplomacy skills, peace can be made with Kaga at the first meeting. I really thought something like this used to be in the RP at one time, but who knows at this point.
*ecvltpat.int
--If the Chosen One is a citizen of Vault City, patrols are friendly.
*epac11.int, epac12.int
--Added destroy_p_proc, damage, no floats during party no follow. I didn't forget Dex; it's just that my version has too much other added code to extricate.
*fsbrodor.int
--Works much better now.
*fsempter.int
--Now offers full access to biology station. No wonder I was never able to find out about Sheng before!
*fsface.int
--Fixed RP/UP bug where Blue Memory Module adds 2 Charisma instead of one. Tested and verified both for armor implants or no armor implants.
*gcbrain.int
--Added dialogue about "Renewal."
--Some bugs fixed, but I don't remember anymore what they were.
*gcfestus.int
--Can now ask Festus for a Parts Requisition Form after finishing up with the reactor. A related change I made locking Harold's desk and turning Harold hostile if the desk is tampered with involves map changes, so it can't be part of this "simple and easy" fileset-- but I'll make it all available eventually.
*gclenny.int
--Added some float texts, though much more remains to be done on that count. Any volunteers?
--Added "use science on" Lenny.
--Added some item usage.
--Restored some party dialogues from Lenny's msg that were eliminated due to "standardization through generic dialogue."
*hcfranci.int
--Widened requirements to arm-wrestle Francis; losing the first time now increases Endurance by one since the Chosen One survived being widened themselves in that case.
*hcmarcus.int
--Many, many bugs fixed in relation to Broken Hills quests and other matters.
--Added "use science on"
Off topic, after looking at numerous Broken Hills scripts I'm certain there was originally supposed to be some sort of subplot where the Chosen One could, after testing Dr. Henry's mutagenic serum, somehow obtain more and give it to Jacob in Broken Hills as an alternative way to eliminate the mutants of Broken Hills. Relevant gvars are 237 and 301.
If anyone is interested tackling this project, the remaining work to be done would consist of:
a) Write dialogue with Dr. Henry, asking him to do further mass testing or expressing a desire for large quantities of serum. This would probably result in him giving some sort of quest related to obtaining the necessary ingredients, or if he gives the necessary ingredients the quest would involve manufacturing the serum in large quantities. Either way, this could probably be done at Vault City, EPA, or San Francisco. Lynette in particular might be eager participate in such a plot.
b) Write dialogue with Jacob explaining the plot. Script the functionality implementing the plot (existing gvar 301 already has everything necessary to track the status of such a plot).
c) Modify Broken Hills map scripts to kill all mutants if the plot is carried out, presumably by Jacob and Aileen. All the mutants I've examined are already set to vanish if gvar 301 = 6 (quest completed).
d) Modify the game endings for Broken Hills. Presumably, this storyline would result in an ending where the humans are in control of Broken Hills, and the town grows prosperous because the mine is still operational.
e) Telling Marcus about the plot in this scenario would result in the arrest of Jacob and Aileen, same as all the other conspiracy plots.
If anyone is interested tackling this project, the remaining work to be done would consist of:
a) Write dialogue with Dr. Henry, asking him to do further mass testing or expressing a desire for large quantities of serum. This would probably result in him giving some sort of quest related to obtaining the necessary ingredients, or if he gives the necessary ingredients the quest would involve manufacturing the serum in large quantities. Either way, this could probably be done at Vault City, EPA, or San Francisco. Lynette in particular might be eager participate in such a plot.
b) Write dialogue with Jacob explaining the plot. Script the functionality implementing the plot (existing gvar 301 already has everything necessary to track the status of such a plot).
c) Modify Broken Hills map scripts to kill all mutants if the plot is carried out, presumably by Jacob and Aileen. All the mutants I've examined are already set to vanish if gvar 301 = 6 (quest completed).
d) Modify the game endings for Broken Hills. Presumably, this storyline would result in an ending where the humans are in control of Broken Hills, and the town grows prosperous because the mine is still operational.
e) Telling Marcus about the plot in this scenario would result in the arrest of Jacob and Aileen, same as all the other conspiracy plots.
*hcphil.int
--Added Eric getting power and Francis leaving to "news."
*hcsteve.int
--Updated dialogue to reflect fixing the mine.
--Fixed check for armed Chosen One and pals.
*hcsuper.int
--Chosen One can refine uranium ore whenever they want (ore is available from random caravans around NCR). Part of a larger mod I'm working on, but hopefully this detail can be fun on its own as well.
--Since, except for one uranium found in Chuck Stodgers' chest, all uranium in the game comes from random traders, one can easily modify the unrefined uranium proto to make it cost something instead of zero dollars and then simply replace the contents of Stodgers' chest with the updated proto. In other words, there aren't any hassles with formation of invalid subprotos to fix a related 1.02d bug on your own. The only reason I didn't include this with the present fileset was my criteria "no map or proto changes."
*mcbrahmn.int
--Brahmin are on the player's team. No more utter stupidity where Vic accidently shoots a brahmin, and then all the Chosen One's teammates exclusively focus on slaughtering the brahmin while completely ignoring the dogs.
*nc3monte.int
--No more cheesy exploit of "bartering" with Monte to manipulate his inventory.
*ncchrwri.int
--Added conversation to rationalize eternal complaint "Why can't I buy booze here?"
*nceldrid.int
--Added dialogue to rationalize eternal question "Why won't he accept laser rifles?"
*ocariel.int, ocsandy.int
--Changed blatantly wrong descriptions (blue velvet dress? Uh, no.)
*ocgordon.int
--Chosen One can pray at ancestor's shrine.
--Chosen One can update Gordon regarding Vault Dweller.
*ocgoris.int
--Added dialogue
--Added "use science on"
--More bugs than ever squashed
--Added more reaction scoring
--Added some item usage
*ocgrutha.int
--Added a bit of dialogue after fixing the computer.
*octhearn.int
--Added a smidge of consequence for insulting Thearn (hey, there's not much to work with there).
*oscomptr.int
--Chosen One can install voice recognition module immediately if one is in inventory.
--Changed skill checks (now harder) to access history logs.
*sccop.int
--Fixed check for armed Chosen One and pals.
*scfergus.int, scgunthr.int, sckarl.int, scsherif.int, shtandi.int, bczeke.int
--Fixed bug related to gvar 169. Since the quest is complete when giving Tandi the V15 parts, by a happy coincidence changing quests.txt is not necessary in this case.
*sggcap.int, sigcaobj.int
--No more tampering with her lockers.
--Fixed check for armed Chosen One and pals.
The bookcase is a problem-- bookcases aren't openables or lockables. In my game, I got rid of the bookcase and replaced it with a non-interactive shelf scenery item. I recommend everyone else do this as well, but since it involves a map change I'm not including it with these files. In any case, the script should still work fine with the lockers.
*scgtegrd.int
--Fixed check for armed Chosen One and pals.
--Got rid of the truly nutty idea that extremely wicked characters cannot pass the gate of NCR without turning all the guards hostile. If evil characters weren't supposed to enter NCR, then there shouldn't be so many wicked quests there (Westin, Carlson, gambling, etc).
*ssgundor..int, scgunthr.int
--Fixed door so Gunther is now the gatekeeper, as intended. A nice effect for such a minor matter.
*tribei2.int, tribemer.int
--Better skill checks to determine if the stimpacks are fake, including allowing Myron to check them.
*tribec4.int
--If the Chosen One is a hero among the Umbra, the Shaman will combine broc and xander (instead of shutting off his dialogue).
*vcdarrow.int
--Extra dialogue to enhance her natural charm.
*vcmclure.int
--Fixed bug regarding peacefully saving Vault Village by talking to Brain, if Chosen One didn't happen to run back and forth between McClure and Brain several times.
*vcgatgrd.int
--No more silly "smuggle contraband by giving it to party members" antics for non-citizens.
*vivltdor.int
--Using oil can (from Tin Woodsman) reduces required strength to open door by one.
*wcbrnbot.int
--A major revision of Skynet, with lots of credit due to MIB88 whose float texts (from the Megamod) add many new dimensions to the character. Includes additional new dialogue written by me, item usage, "use science on," and numerous bugs squashed.
--Before you ask, no, this does not include using a security bot for Robo, as in the Megamod. That would mean map changes, and the files I'm presenting at this time are meant to be simple script change mods.
*wsterm4b.int
--Numerous fixes as discussed in the recent Brain Extractor discussion.
FAQ:
Q: Why did you delete [procedure/variable/all those lines]?
A: They're orphan code, mostly from blanket header inclusion. They do absolutely nothing whatsoever except provide opportunites for random errors and crashes. In my opinion at least some random game crashes that can't be duplicated are attributable to this extraneous code, particularly the numerous unused "permanent temporary variables" found in all scripts ("protoofitemgiven := 0" etc). If a variable isn't referenced in any procedure, it's not used in the script and should be ruthlessly eradicated.
The nature of detailed work like this done by one person probably means I forgot something somewhere, so please report any problems here.
Enjoy.
Last edited: