Silvanoshei said:
Bugs I've found when going through 1.05 patch.
--------------------------------------------------------------
...
Vault City
2. McClure doesn't look at the disk given to you buy the ghoul near skeeter after you fix the reactor.
...
I've just been chasing down the cause of the Gecko ending bugs myself and it looks like this was intentional (read the dialog). A design bug, IMO. At the very worst, there should have been some dialog to refuse it: "To my utter shame, Gecko's fate is sealed..."
Since I'm far past that point in my current session, I hacked mcclure's script to give me the option to present the disk to him. In
VCMCLURE.SSL add the following at the end of
Node054:
Code:
if( global_var(GVAR_GECKO_ECON_DISK) == ECON_DISK_RECEIVED ) then
NOption(324, Node055a, 004);
*********************
I'm not sure what fixes Celestial used, but I found three other bugs with that quest. This analysis is based on the scripts shipped with the Mapper as I can't get the decompiler to work . (Unable to init Jet/DAO engine).
Logic bug in QCFRANK.SSL
The Best and Enslavement endings share a condition (reactor optimized). The Best ending requires that McClure was given the econ data in addition. Unfortunately, the Enslavement conditions are evaluated first so it "wins". The fix is to reverse the order of these evaluations.
Search for the 'Gecko Endgame' comment.
Reverse the order of endings 3 & 4 sot that it looks something like this:
Code:
else if ((global_var(GVAR_VAULT_GECKO_PLANT) == PLANT_OPTIMIZED) and (global_var(GVAR_GECKO_ECON_DISK) == ECON_DISK_GIVEN)) then
set_global_var(GVAR_ENDGAME_MOVIE_GECKO,4);
else if (global_var(GVAR_VAULT_GECKO_PLANT) == PLANT_OPTIMIZED) then
set_global_var(GVAR_ENDGAME_MOVIE_GECKO,3);
Incorrect state change in GCGORDON.SSL
There are two ways to get the econ data from Gordon. If you get it via the "Greed is Good" path, it _correctly_ sets the state to
ECON_DISK_RECEIVED. OTOH, if you got the econ data from the "Ankh" path, it incorrectly sets the state to
ECON_DISK_GIVEN, which solves that quest.
In
Node936, Change the value assigned to
GVAR_GECKO_ECON_DISK from
GIVEN to
RECEIVED.
Missing state change in VCMCLURE.SSL
The only script that changes the value of
GVAR_GECKO_ECON_DISK to
GIVEN is Gordon's. That's wrong unless the intention was to have him ack the quest, but that's silly: McClure's script hands out the experience. IMO, that's where the state change belongs.
In
Node057, right before the "Give EXP to player." comment, I added the following:
Code:
// set the econ data quest state to GIVEN
set_global_var(GVAR_GECKO_ECON_DISK, ECON_DISK_GIVEN);
pj