Fallout 2 mod FO2 Engine Tweaks (Sfall)

sfall 4.1.9.1 and 3.8.19.1 are released on SourceForge, along with the modders pack for 4.1.9.1. They are maintenance/hotfix releases for the previous version.

Now by default sfall-mods.ini, Awareness and Gecko Skinning perks are inherited from the player.

@NovaRain

Just a side note, as I've been experimenting with additional perks trying random numbers for Perks ID's since they're not listed anywhere. At least nowhere for 'Ol google to find it. Anyways my goal was to find Night Vision, for loosing it (got night vision from burn's fo2 tweaks) when swithching to companion, causes intense eye agony during a sunny day. I've succeed in finding Night Vision's "Perk ID", however I've noticed that not all perks get applied correctly when set to be copied from the player to controlled party npc. for example 'Bonus HtH Attacks' and 'Bonus Rate of Fire' get's applied only after opening character sheet or inventory of the controlled critter during it's turn. Only then AP cost on the interface bar change to display correctly. Not a big issue and for most not even a thing since it's sort of like cheating, but for the sake of sfall beeing issue free, or at least for the sake of reducing issues with sfall functions, I think this should be corrected.
 
I do not think that it needs to be corrected, because This was added for perks of a general nature, which are checked by scripts, not engine mechanics. You should not apply perks to controlled npc without checking the correctness of their work for npc.
 
But it does work.. only requires entering char sheet, or inventory of controlled npc during combat.
Anyways it's a very cool feature many thanks to whoever added it to sfall.
 
It would be really, really great if I could get help with the following:

1. If you trigger endgame slides, the credits will automatically follow. What I need is to only play the slides, then return to the game as if nothing else happened.
The credits can be triggered via endgame_movie again, so that's ok... I could trigger them later, once I need them.

2. Can we disable or toggle the "do you want to continue playing?"-popup? This, too, follows right after the credits.
It is possible to skip this popup with running signal_end_game directly after, but of course this will also terminate the game right away.


The best would be if we could get total control over this. Something like... I dunno, run_slideshow, run_credits, run_endgame_popup.


That's one of the last few things I need for the Fo1 in Fo2 conversion. Yes, I could probably script some workarounds, but it'll look just shit in the end. This needs to be done right. Anyone can comment on this? @burn or @Mr.Stalin or @NovaRain ?
 
Last edited:
At this point I just want it to look exactly as in Fo1.
That means:
- teleport to V13
- show ending slides
- dialog with overseer
- scripted cutscene with overseer
- play male / female "walk away" video
- show credits
- end the game or "continue playing?" depending on settings or whatever.

Yes, changing the order is a possibility, but I'd like not to do it if it can be helped.

The new order would then be:
- teleport to V13
- dialog with overseer
- scripted cutscene with overseer
- play male / female "walk away" video
- show ending slides
- show credits
- "continue playing?"

It's possible, but... I really don't want to. :x The "walk away into the sunset"-ending is a part of the games feeling. If you show that, then show the slides, etc... it'll change the pacing and just takes away a lot, imo.
 
Last edited:
- play male / female "walk away" video
- show credits
I understand these elements will be executed through the function endgame_movie ?
Can make the option change the behavior of the endgame_slideshow and endgame_movie functions.

ps show me the game ending script
 
Last edited:
I understand these elements will be executed through the function endgame_movie ?
Can make the option change the behavior of the endgame_slideshow and endgame_movie functions.

I thought about playing these movies via normal play_gmovie() right after the dialog ends. If this could be done automatically via endgame_movie that would be great.

This element can be made via a scriptpting without editing the engine. (w/o new run_endgame_popup)
Yeah, I just mentioned it for consistency (that's the "flow").

ps show me the game ending script
The script is quite confusing right now and needs serious cleanup.Right now it has three scripts involved... obj_dude, v13cave and over(seer). It's a mess.

My plan is to work on this later today once I'm back from work. Moving it all into a single script for clarity, etc. There is really no need for this mess to be split over multiple files.
 
Last edited:
Ok, so I worked on the scripts today and... It's complicated. Turns out, I won't have the time right now to rewrite it in the way I wanted. Instead I focused on decluttering it a bit, removing some stuff that wasn't required anymore, etc.

While doing this, I found out that *the only thing I really need* is "endgame_slideshow" not to show the credits and the "continue playing?"-button anymore. If we can remove these two elements, the ending scene will look like in Fo1.

The "male / female walking away-"movie I've mentioned above is simply triggered by play_gmovie() - that works perfect. There is no need to make any changes to "endgame_movie" as far as I am aware - it'll just play the credits despite the name.
 
Last edited:
Like this?
Code:
    if (fixed_param == EVENT_END_1) then begin
       kill_critter_type(PID_RAT_CAVE, 0);

       set_light_level(100);
       override_map_start(90, 96, 0, 5);

       gfade_out(1);
       write_int(0x4A4343, 0x90909090);
       write_byte(0x4A4347, 0x90);
       endgame_slideshow;

       endgame_running := 2;
       add_timer_event(self_obj, game_ticks(0), EVENT_END_2);
   end

Nothing happens - the slideshow doesn't start at all. Do I have to activate unsafe scripting (didn't change anything) or something else?
 
Last edited:
Everything works for me as you requested, the problem is on your side.
I found out that *the only thing I really need* is "endgame_slideshow" not to show the credits and the "continue playing?"-button anymore.
 
I forgot to set "Enable=1" in [Debugging] in my new ddraw.ini file, which caused the problem. With it being at "1", the script works perfect.

Thanks for your help with this. It's awesome.
 
Last edited:
Is there a way other than force_encounter() to load a map from the worldmap?
My issues with it is that it only works if the encounter chance of the zone is > none. Right now, if you are over a "none"-zone, the encounter will not trigger.
 
It can not be. The meeting with the Horrigan will be triggered in the 'none' zone, which means that the force_encounter will work.
 
Last edited:
Then maybe it is disabled over city locations? The only "none" zones I have are where you find green circles. And there the force_encounter() doesn't work.
 
Back
Top