Fallout 2 mod Fallout 1 Demo in Fallout 2

If you are not using BIS header files then it's not a problem at all.

I am using them, but I'm not using the reaction macros and stuff that uses Sex Appeal, since the demo didn't use reaction anyway. Well, each NPC script actually had some reaction procedures but they were not used for anything.
Hell, reaction is barely used in Fallout 2 as far as I could see.

And, well, there is one, since you are using SFall. Just add the following code into the Perk.ini:

Yeah, figured that one eventually after Lexx mentioned Perks.ini
So if I make a new version I'll do that.
However, it seems you can't do Night Person with Perks.ini alone. There doesn't seem to be any way to use conditions... as in -1 to something during the day and +1 to that during the night?

Precisely. Short story: the only thing you should do is to add +1 modifier to PE an IN if(night) and -1 modifier if(day). Everything else does the game engine. day and night are defined in the command.h.

It's slightly more complex actually since you set modifier only and not the value itself. And you should handle situations when Night Person is being fired up or weard off by the Mutate perk as well. I don't really remember if it's feasible in the demo, though.

So, in the version that is uploaded here I'm modifying it with by using the set_pc_extra_stat function. That's essentially like getting stat increases or decreases from drugs, alcohol etc. So increasing intelligence like this it does not affect skill points. So I had to script the skill points increase/decrease.
However, now I'm working on a way to do it with set_pc_base_stat. The scripting is more complex with this one but I think I've got it figured out and the skill points will be adjusted automatically and correctly.
It should also work with Mutate. Current version does too.
If it works, then the only problem will be that the effects won't be visible immediately when selecting it at character creation or through Mutate.

Which bring me to:

Try to set_global_script_type(3) and set_global_script_repeat() with some reasonable value. Implement
procedure on_global_repeat and place all the code which should be ran periodically there.
Something like that:

Thanks for this, will definitely give it a try.
Can you explain what this does, though:

Code:
   if (metarule(22, 0)) then begin
      return 0;
   end

Thanks a lot!
 
However, it seems you can't do Night Person with Perks.ini alone.
That is correct. You still have to use scripting for the conditional behavior.

now I'm working on a way to do it with set_pc_base_stat. The scripting is more complex with this one but I think I've got it figured out and the skill points will be adjusted automatically and correctly.
Well, I don't remeber set_pc_base_stat amoung the standart calls. Is it SFall-specific stuff?
Just checked my old code from dude_obj.ssl, it was using the standart set_critter_stat. So, if you take that old code and inject it into the global script result would look as follows:
Code:
procedure check_trait_nightperson
begin
   variable np_adj;
   variable np_flags;


        np_flags := get_sfall_global_int(SVAR_NP_MOD);

   if (has_trait(2, dude_obj, 13)) then begin // TRAIT_TRAIT, dude_obj, TRAIT_night_person

       if (NP_night) then begin

           if ((np_flags bwand FLAG_NP_MOD_NIGHT) == 0) then begin

               if (np_flags bwand FLAG_NP_MOD_DAY != 0) then
                   np_adj := 2;
               else
                   np_adj := 1;

               set_critter_stat(dude_obj, STAT_pe, np_adj);
               set_critter_stat(dude_obj, STAT_iq, np_adj);
               set_sfall_global(SVAR_NP_MOD, (np_flags bwor FLAG_NP_MOD_NIGHT) bwand (bit_ALL bwxor FLAG_NP_MOD_DAY));

               DEBUG_MSG("Night; np_adj = (" + np_adj + ")")

           end
       end
       else if (NP_day) then begin

           if ((np_flags bwand FLAG_NP_MOD_DAY) == 0) then begin

               if (np_flags bwand FLAG_NP_MOD_NIGHT != 0) then
                   np_adj := -2;
               else
                   np_adj := -1;

               set_critter_stat(dude_obj, STAT_pe, np_adj);
               set_critter_stat(dude_obj, STAT_iq, np_adj);
               set_sfall_global(SVAR_NP_MOD, (np_flags bwor FLAG_NP_MOD_DAY) bwand (bit_ALL bwxor FLAG_NP_MOD_NIGHT));

               DEBUG_MSG("Day; np_adj = (" + np_adj + ")")
           end
       end

   end
   else begin

       if (np_flags bwand FLAG_NP_MOD_NIGHT != 0) then begin
           np_adj := -1;
           set_critter_stat(dude_obj, STAT_pe, np_adj);
           set_critter_stat(dude_obj, STAT_iq, np_adj);
           set_sfall_global(SVAR_NP_MOD, (np_flags bwand (bit_ALL bwxor FLAG_NP_MOD_NIGHT)));

           DEBUG_MSG("Wear off night; np_adj = (" + np_adj + ")")
       end

       if (np_flags bwand FLAG_NP_MOD_DAY != 0) then begin
           np_adj := 1;
           set_critter_stat(dude_obj, STAT_pe, np_adj);
           set_critter_stat(dude_obj, STAT_iq, np_adj);
           set_sfall_global(SVAR_NP_MOD, (np_flags bwand (bit_ALL bwxor FLAG_NP_MOD_DAY)));


           DEBUG_MSG("Wear off day; np_adj = (" + np_adj + ")")
       end
   end

end
May be this will help you. Testing is needed for the Mutate compliance though.


Can you explain what this does, though:
"If script has been called in the middle of the saved game loading -- do nothing."

--- Update ---
P.S. BTW Mutants Rising team had own implementation of the Night Person trait, AFAIR. You may want to see their code as an example as well.
 
Last edited:
Wasn't the Demo included in the MIB megamod as well? Recall playing the demo in F2 already. Sorry if it has been mentioned before.
 
I almost done with polishing the french version and i was wondering if i could upload it somewhere or if you were still planning to make updates.

About the Scrapyard map in Megamod, it is a map in a bigger gameworld, that you can reach at any stage, at any level and with any gear, while the plot is meant to be played with a fresh character.

Beside, FeelTheRads version is much closer from the original than Megamod version.

In megamod version i've noticed the following changes.
- They didn't keep the music (or rather, the soundtrack)
- They changed the skin of some critters (plot relevant guys like Lex)
- They changed one of the gangs names. (i think they replaced Crypts by Blades)
- They changed some of the dialogs to fit with the Fo2 plot, while the demo had references to the first game plot. For instance, the protagonist is looking for the geck instead of the waterchip, the owner of the dog was killed by Metzger men instead of Gizmo's men, etc... Although, they didn't remove one mention of Necropolis.
- They included some randomized gear.
- There are also a couple of gameplay changes related to the Megamod itself, like different looting system.
- There might be a couple of gameplay changes that i didn't noticed. But i rather keep testing FeeltheRads version, than the Megamod version.
 
I almost done with polishing the french version and i was wondering if i could upload it somewhere or if you were still planning to make updates.

Not sure. I was thinking I'd do one if there are any bug reports. As it is I'd only like to update the Night Person script. This shouldn't affect the translation.

Wasn't the Demo included in the MIB megamod as well? Recall playing the demo in F2 already. Sorry if it has been mentioned before.

Well, yeah, as I said, I did it to learn how to mod not for a specific purpose.
 
I uploaded the french translation on the french community website. I didn't know how would you want to call it. I am also wondering : Would you want it uploaded on NMA and\or Drobovik's database ?

http://fallout-generation.com/files/file/207-mod-fallout2-demo-fallout1-fr-eng103-par-feeltherads/

Also noticed a very small glitch. If you play a female character, Rock's first sentence is *error* (doesn't change the rest of his dialogs). If you are male, he refers to you as *son*. So i guess the sentence changes depending on your gender, while, at the same time, no sentence was planned for female, as they weren't playable.
 
You can upload it if you want I guess. Fallout 1 Demo for/in Fallout 2 or something... doesn't really matter.

That error shouldn't happen. It's when you talk to him while having a weapon equipped, right? I tried it and for me it works fine. I did add a separate line for female characters that simply removes the word "son".
 
Maybe i made a mistake with the translation. I will check again.

PS: It was indeed a translation mistake. I didn't include lines 136 and 137 for Rock. Now it is fixed.
 
Last edited:
If you didn't already you should check the other dialogue files for similar stuff. I can't remember now exactly all the files I modified, but the one for Baka has quite a few modifications. It was a mess in the demo, with the lines out of order and even two lines with the same number. Plus I think I added 1 or 2 lines for female characters in that one too.
 
I really like this update/restoration of the demo, kind of solidifying it as part of the canon games.

However, it does not work with a non-English version (i.e. mine).

This is what I did to fix it:

Unzip the game files as usual into your main Fallout 2 folder. Then open the fallout2.cfg in the F1D folder, and change language=english to your language. This will allow to run the demo, but the dialogue is still messed up (non-existent actually). Normally it is enough to rename all folders called “english” to your language, but the demo has none. All the dialogue is in the demo.dat.
To change this you'll need to get a .dat extractor (like fade0.91a: it's called F2 Data Extractor on (http://teamx.ru/site_arc/utils/index.html) open demo.dat in F1D and then extract all .msg files under text/english into respective folders. That's cuts (1 file), dialog (20 files) and game (8 files). You now should have a folder set up of: text/english and in there 3 folders called cuts (1 file), dialog (20 files) and game (8 files).
You can check C:...Fallout2/data/text/English on how it's supposed to look.
Now you only have to unzip all those files (7-zip works), and copy the whole thing into C:...F1D/data. After that rename the folder English to your language.
Here is the folder-tree I put together: (http://www.filedropper.com/text_3), but you can make your own. Note that I was not able to extract trait.msg (so the folder “game” has only 7 files). I thought about replacing it with a copy from 1.2.1 or Fixt, but didn't as the demo uses Night-person from FO1, but Skilled from FO2, which means it's not a fix either way. As a result, Night-person will probably be called Sex Appeal when you use this. However, other than that it seems to work fine.

Perhaps the demo could be updated to including that folder-tree (even though it's unnecessary for the demo itself) but it would make it more user friendly (i.e. people wouldn't have to extract the demo.dat). It may also add a readme explaining the installation and how to fix for it for non-english users.

Hope this helps anyone who had similar issues.

EDIT: Here's an updated folder: http://www.filedropper.com/data_2, just remove the part after data. I took trait.msg from the “FalloutDemo-LocalizationFriendly” as pointed at by naossano. And I added “addict & drugrest” (both can be found in 1.2.1 or Fixt), two elements often cut from certain versions.
 
Last edited:
I uploaded a Localization friendly version of the Fallout demo, that would seem to specifically cater to your needs, but i can't seem to find it there right now on NMA download section. Remind me to upload it again next week when i will have more than five minutes of free time.

Fount it
http://www.nma-fallout.com/resources/fallout-1-demo-localization-friendly.106/

Please, telll me ASAP if there is something wrong with it so we can fix it.
(FeelTheRads also had to change a couple of script because not all texts were recognized by the demo)
 
Last edited:
No, that Localization friendly version is fine, well except that my PC struggles with it and slows down dramatically, but that appears to be the original Demo (i.e. the one which can also be installed through Fixt), as far as I can tell.

The version in the first post is the Demo transported over to FO2, with the option to select a different character, allows to save and has hi-res and sfall already included etc.

That's the one I can't run easily (needs a .dat extractor) with my version of FO2. But once set up it works fine, too.
 
Oh man, this is great! Nice work everyone.

I've always loved the playable demo; played through it probably 20 times over the years.

I do find it a little amusing how much work is going into restoring Night Person, since I don't think anyone genuinely uses it. :lol:

As for the sticky note in PIP-Boy and whatnot for Fallout 1 -> Fallout 2 conversion, yeah we never figured out a graceful solution for that unfortunately. Unless there's been updates to Sfall since I last checked.
 
Last edited:
As for the sticky note in PIP-Boy and whatnot for Fallout 1 -> Fallout 2 conversion, yeah we never figured out a graceful solution for that unfortunately. Unless there's been updates to Sfall since I last checked.

The best I could do to make it show up is to make it a separate "window", but it would disappear if you pressed on anything (and then come back up). Basically the PipBoy "window" moves on top of it if you click anywhere. I'm not sure that it's possible with the way windows work in scripting.

It would need a way to always be on top, I guess. Or somehow be able to change the graphic of the PipBoy through scripting, so when the note is on you can replace the whole graphic and again when you need to remove the note.
But as far as I can tell Fallout 1 just sticks it on top of the PipBoy, so probably sfall could implement it somehow.

Didn't even go into the timer itself. :)
 
Last edited:
Back
Top