Fallout 2 Restoration Project 2.1.2b (Unofficial Expansion)

Discussion in 'Fallout General Modding' started by killap, Sep 18, 2010.

Thread Status:
Not open for further replies.
  1. teukros

    teukros It Wandered In From the Wastes

    Sep 5, 2010
    I'm now well into my second playthrough of the RP, and having a great time. Many thanks!

    I have a request for the upcoming release of the RP (or possibly of SFALL):

    Is it possible to force the "loading" screen to be displayed for six - eight seconds or until user input e.g. a left mouse click?

    Some of the "loading" pics are very nice and the way things are now, they are not much more than blipverts....
  2. Hkelukka

    Hkelukka First time out of the vault

    Jan 16, 2011
    And I'm back here. I reported the bugs to the wikia now that it finally accepted me and didn't crash near constantly. Both savegames are up. One under Klamath and one under Ghost Farm.
  3. Ddrenai

    Ddrenai First time out of the vault

    Apr 28, 2011
    I couldn't resist, so after downloading 2.1.2b patch i reinstalled Fallout 2...
    Thank you Killap for your hard work, and thanks to all those who have given their contribution with mods/patchs for the Fallout universe =)
  4. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    in primitive tribe, when i already have the broc flower and xander root when i get the quest from shaman, and im immediately give him, mission simply dont appear on my pip boy status bar

    that: Get medicinal plants for the shaman.
    wonder if it is bug or no
  5. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    maybe this problem is not RP related but i dunno, it happened to me 10 years ago in 1.0:
    I delivered the slag message to Jo in Modoc, discovered the fake bodies, but he says i have to find karl or he attacks in 31 day..
    well i actually listened karl's story in Den, i usually do this and i dont need to travel back later. But now, before the story, i bought him drink, and talked a bit more with him.
    now i returned to den and that scum just cries like "ghosts won't be able to find me.. [sob]" and im unable to talk with him
    I thought these many patches fixed the "impossible to solve ghost farm problem if u ever bought karl a drink" thing

    so i wonder if i failed the whole modoc thing cause of a drink?
  6. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    Ok, I dont wanna blog here, i just solved my problem and i think i have to share it with you all
    I tried to search old topics when same problem occoured but got no answer

    It wasn't so simple for me (im not modding / programming guy)
    i downloaded vad's universal savegame editor which fits well to RP


    i ran save editor and opened my save file. the problem is karl's current dialog state, which i found: maps tab / denbus2.sav -> edit -> local variables / mckarl.int[critter]

    there are more L variables, most of them are equal 0
    the key is the LVAR_4
    if i dont talk at all with karl yet, LVAR_4=0
    after i only picked the last dialog (about tell his story), LVAR_4=16385, with this phase, i can tell Jo i found karl and everybody is happy
    in my case (i asked karl a lot, gave him drink, and even had sex with him with a fem char) LVAR_4=25601, which Jo didnt recognize, and ofc i couldnt talk any more with karl so it ruined the quest

    after learned this i simply edited it to 0, spoke with karl again and could continue my story

    I think making the LVAR 25601 understandable for Jo would be decent fix in the next patch, and i dont know if there any more LVAR values which are bugged related to this task

    i hope killap found this useful

    ps: sorry for my bad grammar
  7. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    well, karl's LVAR_4 not exactly the cause of the problem but it has affect on something else. if i vary it 16385 it has no affect on Jo, however if i set it 0 and then speak him again, every result (both 16385 and 2601) will be success.
    it should be Jo's trigger, which aint toggled somehow when i listened karl's story at first try
  8. killap

    killap Bear Dude Moderator Modder

    May 16, 2005
    Now correct me if I'm wrong, but isn't this a common misreported issue? I thought if you wait a few days Karl no longer gives his "sob" line and you can talk normally with him again.

    I'd have to look at the script again to be certain, but maybe some can comment before I do this.
  9. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    The common issue was when ur available to speak with karl, but the "tell your story" line is missing because you bought him a drink
    It can be easily solved by asking him about geck, then he fell asleep, waiting few hours and you have his "story" line again
    But in my case, I already listened his story, so it should end the whole karl situation (thats why he sob and complaining about ghosts), and i can wait months, he still says that and i cant talk him again.
    My problem was with Jo, whom I couldnt tell I found karl. :O
    I dunno why. It happened me only two times. About 10 years ago with 1.0, and yesterday with RP.

    If you dont find anything what caused this, would be nice solution if somebody could listen his story again and again after few days passing.

    Anyway, did you guys removed the bag in Modoc toilet? I can't find it.
  10. Darek

    Darek is currently unavailable

    Jan 7, 2008
    Once you have gotten Karl to tell you his story, you won't be able to get any dialog from him again until you have talked to Jo about him, that is the way it should be.

    Ryuzaki, you misunderstood the way local variabels works. L_vars only work inside a script, so only Karl can see it not Jo.
    What does happen though when you reset L_var 4 was that you were able to get Karl to tell you his story again. When he does that he also sets Global variable 119 to 1, that is what Jo is looking for (well, anything higer than zero).
    If you have any unedited savegame left it would be interesting to know what that was set to. The savegame editor has the G_vars mislabeled in the beginning of the list (but corrects itself later on in the list). So although G_var 119 says it's 'Modoc_slaughter_Bess_time', it really is 'Karl_state'.

    Also please tell me, did you by any chance sell Bess to Grisham?
  11. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    here is the save (just before delivering the slag letter to Jo):
    you can travel back den to check he is sobbing
    thanks for the explanation of global/local variables anyway

    i haven't touch bess yet
  12. nightfish

    nightfish First time out of the vault

    Apr 26, 2011
    Having finished my playthrough of the RP, I noticed a few odd things in the ending. As far as I can tell, I've done everything I can for Vault City and Gecko and yet their endings were as follows:

    - Vault City couldn't expand and was absorbed in the NCR
    - Gecko's optimised Powerplant helped Vault City expand and they live in peace and harmony

    Those two don't really add up for me...

    Another thing is that I read that there was a positive ending for the deathclaws with the RP if you kill Doc Schreber within 2 weeks of entering vault 13. I've actually gone and killed him before I found vault 13 and yet the DCs don't get mentioned in the ending at all. (I probably don't have to say that I didn't slaughter them)

    Is no ending as positive as it gets for these lovable critters?

    (on a sidenote as I see it's being discussed: Karl worked fine for me. No hickups with his quest)
  13. Darek

    Darek is currently unavailable

    Jan 7, 2008
    So Ryuzaki, it was indeed global_var(119) that was not set to 1 in your savegame.
    Whether it didn't get set in the first place or it somehow disappeared later I can't tell (there is no script that resets it as far as I could find). I didn't find anything wrong with the scripts either and I couldn't reproduce it in-game, so I would put it down to a freak accident somehow. Maybe killap can find something I might have missed or misunderstood. :shrug:

    Anyway killap, I have some stuff for you to take a look at.
    Seeing as the caravans haven't gotten as much love as other areas, I thought it was about time.
    These are mainly vanilla issues but some are not so I chose to put it in here.

    Caravan bugs:



    In procedure start, procedure map_enter_p_proc and procedure map_update_p_proc you have added the following code:

    	if (metarule(46, 0) == 6) then begin
    		Chad_Ptr := self_obj;
    Why and what does it do?
    It is interfering with Chad's normal behavior and should be removed or changed somehow.
    The problem is that while he's on a caravan run, that code makes it so that his script won't run until the second time you enter a map (if it's in procedure start, otherwise it's just the relevant procedure affected). So the first time he's on the caravan map you don't get his proper description, and he won't tell you the coast is clear. If you get no encounters at all and are moved to Vault City straight away, he will not show up until you exit and then return to the map again.

    Well, if Chad dies you don't get any more caravan runs either, why should this be any different? In fact it's the same with all caravan masters. Then again, the devs did at some point have plans to replace Chad if he died/got arrested, as can be seen in the leftover files hcencha, hcenchb and the bhrndmtn map and script. $500 a run with an option to go back again within the same day. That's way better than what Chad has to offer.


    So Stanwell got replaced by Hal (Cattle run from Duppo) It's caused by a bug with G_var 338 in Rcstanwl.ssl, more on that below. But in short, because of that bug the caravan setup in bhrnddst.ssl can't start Stanwells caravan and goes through the list of possible caravans until it finds one it can do. Normally that would be the 'Default caravan' that many have reported, but not in this case. Anyway it happens if you have done a cattle run with Hal, since G_var 266 don't get reset afterward. Don't think anything needs to be done about this unless it causes problems to Hal himself.


    Stanwell, the Redding - NCR caravan master:

    This happens when the caravan g_var is set to finished (or wrong value) before the caravan encounters g_var is set to 0. In this case it's a problem with G_var 338 in Rcstanwl.ssl. As far as I've seen it only happens when you talk to him while on map 94, G_var 338 gets set to 5, 6, 7 or 8, while it should remain at 4 (or 7 after the last encounter, or Stanwell won't show up back in Redding).
    Simple solution...
    procedure talk_p_proc
    	if ((global_var(338) != 0) and (global_var(338) != 3) and (global_var(338) != 9)) then begin
    // should be changed to:
    	if ((global_var(338) != 0) and (global_var(338) != 3) and (global_var(338) != 9) and (not(cur_map_index == 94))) then begin
    Also, his 'Coast is clear' float in map update procedure keeps spamming and blocking the normal 5 lines he should be able to say when talked to. Can something be done about that? Maybe shutting of the float in the talk procedure and then turn it back on it after a little while?

    Oh, and it would be nice if there was a check to not use that float while in combat as it looks ridiculous when you are still fighting (critters that are non hostile from the beginning, like caravans etc).


    Nording, the stand in clerk for Stanwell:

    He is a bit messed up. You added a float for when you talk to him again after already being paid.
    Well you got a misplaced parenthesis in the talk procedure that causes the float to come up before you've gotten paid (you never get paid).
    if (global_var(516 != 1)) then begin
    should be...
    if (global_var(516) != 1) then begin
    In node008a all the < and > are reversed and should be changed to the opposite of what they currently are (as it is now it is rewarding failure and punishing success).
    Also, I find it odd that Nording pays so little. First Stanwell promises you $2000 (- $1500 to + $500 bonus), and Nording says he'll settle the debt. You get a measly $100 (± $50 bonus) and you don't complain. Makes no sense.
    I believe the caravan profits where increased at a later state in development and they simply forgot about the replacement guys.
    Perhaps that is also why you get so little from Chad, but what do I know?

    I'm not all to thrilled about Nordings placement on NCR1.map Could maybe place him a bit lower down in the NCR1 map script, so he don't stand deep inside the exit grid. I'll include a pic...


    Savinelli, Redding-New Reno Caravan Master:

    Exactly the same issue as with Stanwell, but this time it's G_var 340. So just add the same check for not being on map 94.
    Also has map 94 floats that are blocked by the 'Coast is clear...' message.


    Velani, stand in for Savinelli:

    Exactly the same issues as Nording has in his script.

    There are also a couple of problems in newr1.ssl. First of all you can only meet Velani in New Reno if it's the first time you enter that map, because of some slave_guild_ guy code (whatever that is) blocking it otherwise. The Velani code looks misplaced to me.
    Second of all, the script that gets attached to him is for Nording and not his own.

     Maybe this part in map_enter_p_proc...
    		if (((global_var(495) bwand 131072) != 0) == 0) then begin
    			set_global_var(495, global_var(495) bwor 131072);
    			if ((global_var(518) == 0) and (global_var(383) == 1)) then begin
    				LVar0 := create_object_sid(16777252, 0, 0, 811);
    				critter_attempt_placement(LVar0, 27507, 0);
    Should look like this...
    		if (((global_var(495) bwand 131072) != 0) == 0) then begin       // and yeah, still don't know what the hell this is...
    			set_global_var(495, global_var(495) bwor 131072);        // I couldn't find it's purpose.		
    		if ((global_var(518) == 0) and (global_var(383) == 1) and (global_var(340) > 0)) then begin
    			LVar0 := create_object_sid(16777254, 0, 0, 812);
    			critter_attempt_placement(LVar0, 27507, 0);

    Wade, Redding-Vault City Caravan Master:

    Same problem as Stanwell, this time G_var 339. And the floats...

    No they aren't. Or wait, I suppose you can say that. It's the casualty calculations that have been mixed up.

    		if ((global_var(273) < (global_var(279) / 2)) or (global_var(276) < (global_var(281) * 6 / 10))) then begin
    			set_global_var(339, 5);
    		else begin
    			if ((global_var(273) < (global_var(279) / 4)) or (global_var(276) < (global_var(281) * 4 / 10))) then begin
    				set_global_var(339, 6);
    			else begin
    should be...
    		if ((global_var(273) < (global_var(279) / 4)) or (global_var(276) < (global_var(281) * 4 / 10))) then begin
    			set_global_var(339, 5);
    		else begin
    			if ((global_var(273) < (global_var(279) / 2)) or (global_var(276) < (global_var(281) * 6 / 10))) then begin
    				set_global_var(339, 6);
    			else begin
    Damn, it's the same for all three Redding caravan masters and their temps too.

    Got an empty encounter, and it happens every time on that save. The caravan is proper, just no other encounters. It's the second and last encounter (when you have only two scheduled encounters), going from Redding to VC. After a little testing I found out it's a problem with the world map y position. After checking the encounter tables in bhrnddst.ssl and doing some testing I realized it don't work quite as I expected.

    Simplified it works something like this:

    First encounter section:
    1. Enter a map.
    2. Set a world map location for the map.
    3. check your position against an encounter table to determine what critters to put against you.

    Second encounter section:
    1. Enter another map (well, same map again really).
    2. Set a new world map location.
    3. Check your position against a different encounter table to determine what critters to put against you.

    ...and so on. This is all pretty clear. What isn't though is that when it is checking your world map position it does not get your newest map location (the one you just entered) but instead gets the old one (the map you just left).
    I don't know if this was intentional, a bug , engine limitations or whatever, but I hope and think it was accounted for, or there would be a lot more trouble. Wouldn't it?
    So yeah, anyway. To see if the second encounters table is correct you need to check it against the map position set in the first encounter. If it isn't you get a blank encounter, like the one I got.

    In bhrnddst.ssl / Red_VC_Encounters procedure:
    		if (global_var(283) == 2) then begin
    			if (LVar0 == 0) then begin
    				wm_area_set_pos(44, 475 + random(-25, 25), 300 + random(-25, 25));
    the last part should be changed to:
    				wm_area_set_pos(44, 475 + random(-25, 25), 325 + random(-25, 25));
    Or perhaps you can adjust the table under the 'if (LVar0 == 1)' section instead. Either way, as it is now there's a 50% chance of an empty encounter here.

    There is also a 98% chance of an empty second encounter when you are scheduled for four of them.
    				if (global_var(283) == 4) then begin
    					if (LVar0 == 0) then begin
    						wm_area_set_pos(44, 475 + random(-25, 25), 575 + random(-25, 25));
    last line could probably be... 
    						wm_area_set_pos(44, 475 + random(-25, 25), 525 + random(-25, 25));
    Or change the table under 'if (LVar0 == 1)', I think it's meant to be the Redding_DNRV_Encounter.

    Note that I haven't gone through all the other encounter tables, and I won't be doing it either. So there might be more bugs than these two.

    EDIT: OK, so I did go through them all and this was the last I found. On the second map out of two you have a 97% probability to run into an empty encounter.


          if (global_var(283) == 2) then begin
             if (LVar0 == 0) then begin
                wm_area_set_pos(44, 975 + random(-25, 25), 175 + random(-25, 25));
    the last part should probably be changed to:
                wm_area_set_pos(44, 975 + random(-25, 25), 225 + random(-25, 25)); 

    Ferndown, substitute for Wade:

    Exactly the same issues as Nording has in his script.


    Hal's Cattle drive:

    There's a 50% chance of an empty second encounter out of 2 due to wrong x position:
    In bhrnddst.ssl / NCR_Red_Encounters procedure:
    		if (global_var(283) == 2) then begin
    			if (LVar0 == 0) then begin
    				wm_area_set_pos(44, 800 + random(-25, 25), 1200 + random(-25, 25));
    the last part should be changed to:
    				wm_area_set_pos(44, 775 + random(-25, 25), 325 + random(-25, 25));
    Or adjust the table under the 'if (LVar0 == 1)' section instead. It's the Redding_NRNR_Encounter it should be.
    Since 'NCR_Red_Encounters' is shared with Stanwell's NCR - Redding trip, this should fix it for him as well.

    Since Hal is the only cattle driver without a "coast is clear" float, would you consider giving him one?
    Something like this:
    procedure map_update_p_proc
    		if (cur_map_index == 94) then begin
    			if (map_var(1) <= 0) then begin
    				float_msg(self_obj, message_str(14, 450), 8);
    I don't think it's the same person who wrote Hal's script that wrote the the other caravans, and the float is in generic.msg.
    So I consider it an oversight.


    It comes from saving your game while on the caravan map (it's fine loading one though). When you leave the map and have encounters left, you are returned to the same map you just left (it will be in the state it was when you saved it, so if the critters where dead, they'll still be, otherwise they'll be alive). Revisiting the map like that does not effect the encounter count though, so it's more of an annoyance (also, tends to crash when loading or quitting a game from a revisited map).

    I don't know if anything can be done with the engine, but if not the best solution is to have a second identical map and switch between the two for every encounter. It works. I had problems with the world map position not being accepted for the second map (turns out the new map needed it's own 'Area' in city.txt, can't share 'Area 44' with the original).
    What I did was to use bhrnddst.ssl as the map script for the new map as well. Just edited it a bit to swap exit grids and
    set the correct 'wm_area_set_pos' depending on which map was currently being used. There was also a few checks for map 94 in Chad's script that needed to be changed to also include the new map (I just tested with Chad, the other caravan masters would need to be fixed as well). And sadly the same must be done for every critter that is in the caravan encounters, to keep track of the kill count. Also, when a game is saved on the new map it gets a label with error error, I believe something needs to be added to worldmap.msg or something, but didn't look into it.

    If that's too boring for you, then maybe saving can be disabled via sfall?


    - Check why robbers disarm after/on first turn.

    Remember that old robber cave fix? I failed to realize that script was used for a lot of other places as well.
    procedure combat_p_proc
    	if (do_once == 0) then begin
    		do_once := 1;
    		if ((wep_pid != 21) and (wep_pid != 293) and (wep_pid != 235) and (wep_pid != 407)) then begin
    			metarule(43, self_obj);
    Maybe you could add in a map check. something like...

    if ((cur_map_index == 70) or (cur_map_index == 71) or (cur_map_index == 72) or (cur_map_index == 73) or (cur_map_index == 80)) then begin

    And maybe even check that it's only for the second elevation (inside the cave) if possible?


    Brahmins that belong to other caravans you might meet on your run have two problems.

    1. They belong to your team, so if anyone outside of your team accidentally hits them they will pull you into the fight.

    2. If they are killed they are counted as your caravan losses and will decrease your salary.


    Copy everything from the ECCRTBRA script into a new one and then edit the team given to TEAM_CARAVAN or something (I believe that's the correct one). Also edit out the stuff in 'destroy_p_proc' procedure. After that you just have to edit the 'Build_Grey_Caravan' procedure in Bhrnddst.ssl and set it to use your new script instead of ECCRTBRA.


    If you get an encounter where two other teams are fighting, you can't rest on that map until both are gone (in those cases where the one left is not hostile). Probably engine related and not a big problem, so I haven't bothered looking into it.


    It looks to me like the car was meant to come with you for the caravan runs. But for whatever reason it was edited it out from bhrnddst.ssl with this comment; "// need to fix this querry".
    Was there a problem or is it something that could be reimplemented?


    Stealing from caravan not implemented. How was it supposed to be? Steal from master and guards and get caught (now set to hostile)?
    Or maybe containers somewhere, perhaps the carts?


    - What is default caravan with Grand Master trader?

    Do you have any idea what the purpose with her was supposed to have been? I couldn't really find anything specific.

  14. Josan12

    Josan12 Vault Senior Citizen

    Oct 15, 2007
    You're awesome Darek.

    I play Ironman so run the caravans alot as it significantly increases your survival rate with a bunch of 'extra life' caravan guards around so you can put them between you and that SMG armed robber ;)

    I can confirm all of the bugs Darek listed about the 'stand in' caravan masters that appear when the original dies.
    Also the errors that reduce your chance of getting encounters to almost 0. IN fact, all too often on NCR - redding or reno runs i get 0 encounters.

    Good work Darek :ok:
  15. Glovz

    Glovz Vault Dweller

    Sep 16, 2005
    I also think Darek is awesome! :notworthy:

    I have added Darek's last post to the bug wiki below the Misc. bugs section, titled Caravan bugs.

    Great work should not get lost in the many pages of this thread. ;)
  16. Ryuzaki

    Ryuzaki First time out of the vault

    Apr 24, 2011
    My automaps simply stopped logging, i have only 4 town in my pip boy. I think some weird bug screwed up my gameplay a bit, that should cause the karl bug also. Can i get back the automaps logging somehow? Editing something gvar?
  17. vorob

    vorob First time out of the vault

    Jul 5, 2008
    Since last update was on September 2010, is this project complete? Can i play it now without bugs or fear that after i played some time there will be new release?)

    btw, is there anything similar but for fallout 1?

    "• New playable character type - Bald Dude!"

    Is it just idea of killap or this character was in game resources and killap just re-enabled him?
  18. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Long hair and bald head dude have been created by various folks from the forum in months of work.
  19. Hkelukka

    Hkelukka First time out of the vault

    Jan 16, 2011
    I kid you not, I am literally itching with anticipation to play the fallout 2 "as it was meant to be" bugfree....
  20. tiagop

    tiagop First time out of the vault

    May 24, 2006
    Then you can start playing with Restoration Project :P, I just finished the whole game and didn't find any major bugs (lucky me?)
    Waiting for the new version of RP to replay Fallout 2 again
Thread Status:
Not open for further replies.