BGforgeNet / Fallout2_Restoration_Project

Fallout 2 Restoration Project, updated
https://forums.bgforge.net/viewforum.php?f=39
583 stars 38 forks source link

Dr. Wong does not show his "in-depth description" #165

Closed MarbledModulator closed 1 year ago

MarbledModulator commented 1 year ago

What happened

In my last playthrough, Dr. Wong Yi Tze would not show his "in-depth description" (line 101 of his fcdrwong.msg) when looking at him after learning his name.

For example, whenever I would look at Dr. Wong, the dialogue box would always say "You see a short, rotund Shi man." instead of "You see Dr. Wong Yi Tze."

If we look at it has the following code to determine what text string to output.

procedure look_at_p_proc begin
   script_overrides;
   if (local_var(LVAR_Herebefore) == 0) then
      display_msg(mstr(100));
   else
      display_msg(mstr(101));

However Dr. Wong's script doesn't ever say the following anywhere in the script set_local_var(LVAR_Herebefore, 1);

All other San Francisco scripts I looked at (Crocket, Dr. Sheng, Dr. Fung Dr. Jing Tie Gahng) had the "set_local_var(LVAR_Herebefore, 1);" statement.

I wrote down in my notes "can't see names of some scientists in San Francisco". I think the above hyperlinks include all named doctors in San Francisco but if you know I forgot a named doctor, please check that doctor's script file for a missing "set_local_var(LVAR_Herebefore, 1);"

What you expected to happen

Dr. Wong should show his "in-depth description" ("You see Dr. Wong Yi Tze.") when you look at him after meeting him.

Screenshot

I don't have a screenshot as I actually wrote this down for a playthrough I did a year ago and I don't have the save file anymore. However, I would imagine referencing the specific issue in github files should be good enough though.

Savegame

I don't have a screenshot as I actually wrote this down for a playthrough I did a year ago and I don't have the save file anymore. However, I would imagine referencing the specific issue in github files should be good enough though.

burner1024 commented 1 year ago

Makes sense, although implementing this cuts off the dialog for stupid characters early, no sure if will have any effect on quests.

MarbledModulator commented 1 year ago

Good catch about the dialog being cut off early. Looking into this further, the change as implemented prevents a stupid character from completing the decomposing body quest.

I believe lines 273-278 should be moved to between 383 and 384.

   end else if (local_var(LVAR_Herebefore) == 1 and dude_iq < 4) then begin
      start_gdialog(NAME,self_obj,4,-1,-1);
      gSay_Start;
         call Node002;
      gSay_End;
      end_dialogue;

I think that solves all problems.

burner1024 commented 1 year ago

If you refer to "missing biology corpse", I think it's normal that stupic PC doesn't get to return it. Stupid ones miss on a lot of content throughout the game.

MarbledModulator commented 1 year ago

The "missing biology corpse" quest has stupid dialogue

{240}{}{[He sniffs the air.] What is that smell? Like rotten meat. [He looks at you and raises an eyebrow.]}
{242}{}{Huh-huh! [You pull out the decomposing corpse] Stinky body! U want?}
{251}{}{No, I do not want-- Wait a second, that's the subject from the Xeno Project! My predecessor had much invested in . . . [He notices your blank stare.] Ahem. I mean, thank you for the body. Good job. Don't bring any more though. This is enough. Bye now!}
{252}{}{Bye Bye!}

and is referenced in the scripting

procedure Node001 begin
   if ((dude_item_count(PID_DECOMPOSING_BODY))) then begin
      Reply(240);
      if (map_var(MVAR_Xeno_Program_Know)) then begin
         NOption(200, Node019, 4);
      end else begin
         NOption(241, Node044, 4);
         NLowOption(242,Node044);
      end

so I believe lines 273-278 should still be moved to between lines 383 and 384.

burner1024 commented 1 year ago

OK, I moved it into a separate procedure, which I think should allow for closer match with upu source.