BGforgeNet/Fallout2_Restoration_Project

When Cody (the child in front of the Cat's Paw in New Reno) runs away and the Player leaves the map, Cody never returns to his default state

Closed this issue · 1 comments

LNx2 commented

What happened

When Cody (the child in front of the Cat's Paw in New Reno) runs away and the Player leaves the map, Cody never returns to his default state.

What you expected to happen

When the player re-enters the map, Cody should return to his initial place and be open to more dialog.

Possible reason

Unfortunately I can't test this at the moment, but I suspect, that the reason for this behavior is in the "map_enter_p_proc" of Cody's script file "../scripts_src/newreno/nccody.ssl"

Currently it looks like this:

procedure map_enter_p_proc

procedure map_enter_p_proc begin
   if (is_loading_game == false) then begin
      check_set_obj_visiblility(self_obj, false);
      if (map_first_run) then begin
         set_local_var(LVAR_Home_Tile, self_tile);
         set_local_var(LVAR_Home_Rotation, self_cur_rot);
         set_self_team(TEAM_NEW_RENO_CODY);
         set_self_ai(AI_CHILD);
      end else if (cody_fingered_jules) then begin
         move_cody_home;
         if ((jules_warned == false) and (jules_dead == false)) then begin
            set_jules_killed_cody;
            kill_critter(self_obj, random(ANIM_fall_back_blood_sf, ANIM_fall_front_blood_sf));
         end
      end else move_cody_home;
   end
end

And I suspect it should look more like this:

procedure map_enter_p_proc

procedure map_enter_p_proc begin
   if (is_loading_game == false) then begin
      check_set_obj_visiblility(self_obj, false);
      if (map_first_run) then begin
         set_local_var(LVAR_Home_Tile, self_tile);
         set_local_var(LVAR_Home_Rotation, self_cur_rot);
         set_self_team(TEAM_NEW_RENO_CODY);
         set_self_ai(AI_CHILD);
      end else if (cody_fingered_jules) then begin
         move_cody_home;
         if ((jules_warned == false) and (jules_dead == false)) then begin
            set_jules_killed_cody;
            kill_critter(self_obj, random(ANIM_fall_back_blood_sf, ANIM_fall_front_blood_sf));
         end
      end else begin
         move_cody_home;
      end
   end
end

This bug is already mentioned in "The Nearly Ultimate Fallout 2 Guide" so it's probably also present in the unofficial patch.

Savegame

In this savegame Cody is perpetually running away:
SLOT108.zip

I agree, this is an inconsistency.