Skip to content

Commit 1738078

Browse files
committed
Allow to complete Nagor-Smoke quest up until timelimit 4, ref BGforgeNet/Fallout2_Unofficial_Patch#157
1 parent ca3f857 commit 1738078

3 files changed

Lines changed: 68 additions & 40 deletions

File tree

scripts_src/arroyo/acdog.ssl

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,23 @@ procedure start begin
5252
end
5353

5454
procedure map_enter_p_proc begin
55-
if ( (global_var(GVAR_ARROYO_DOG) == QUEST_NONE) or (reached_tl_4) or (global_var(GVAR_ARROYO_DOG) == DOG_RUN_OFF) ) then begin //edit by killap - added: or (reached_tl_4) or (global_var(GVAR_ARROYO_DOG) == DOG_RUN_OFF)
56-
set_self_invisible; // invis
57-
end
58-
else begin
59-
set_self_visible; // vis
60-
end
55+
// If PC saved Smoke, by TL4 Morlis cooks it
56+
if reached_tl_4 then begin
57+
if (global_var(GVAR_ARROYO_DOG) != DOG_FINISHED_GOOD) then begin
58+
// Cross off the quest
59+
set_global_var(GVAR_ARROYO_DOG, DOG_FINISHED_BAD);
60+
end
61+
destroy_self;
62+
return;
63+
end
64+
65+
if ( (global_var(GVAR_ARROYO_DOG) == QUEST_NONE)
66+
or (global_var(GVAR_ARROYO_DOG) == DOG_RUN_OFF)
67+
) then begin // edit by killap - added: or (global_var(GVAR_ARROYO_DOG) == DOG_RUN_OFF)
68+
set_self_invisible;
69+
end else begin
70+
set_self_visible;
71+
end
6172
end
6273

6374
procedure critter_p_proc begin
@@ -101,5 +112,4 @@ procedure destroy_p_proc begin
101112
set_global_var(GVAR_ARROYO_DOG,DOG_DEAD);
102113
if (cur_map_index == MAP_ARROYO_WILDERNESS) then
103114
set_map_var(MVAR_Dog_Already_Dead,1);
104-
105115
end

scripts_src/arroyo/acnagor.ssl

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -191,34 +191,6 @@ procedure talk_p_proc begin
191191
end_dialogue;
192192
end
193193

194-
else if (reached_tl_3) then begin
195-
call Node015;
196-
end
197-
198-
else if (reached_tl_2) then begin
199-
start_gdialog(NAME,self_obj,4,-1,-1);
200-
gSay_Start;
201-
call Node014;
202-
gSay_End;
203-
end_dialogue;
204-
end
205-
206-
else if (reached_tl_1) then begin
207-
start_gdialog(NAME,self_obj,4,-1,-1);
208-
gSay_Start;
209-
call Node013;
210-
gSay_End;
211-
end_dialogue;
212-
end
213-
214-
else if (dude_iq < 4) then begin //moved here by killap
215-
start_gdialog(NAME,self_obj,4,-1,-1);
216-
gSay_Start;
217-
call Node012;
218-
gSay_End;
219-
end_dialogue;
220-
end
221-
222194
else if (global_var(GVAR_ARROYO_DOG) == DOG_RUN_OFF) then begin
223195
floater(131);
224196
end
@@ -258,6 +230,34 @@ procedure talk_p_proc begin
258230
call Node011;
259231
end
260232

233+
else if (reached_tl_3) then begin
234+
call Node015;
235+
end
236+
237+
else if (reached_tl_2) then begin
238+
start_gdialog(NAME,self_obj,4,-1,-1);
239+
gSay_Start;
240+
call Node014;
241+
gSay_End;
242+
end_dialogue;
243+
end
244+
245+
else if (reached_tl_1) then begin
246+
start_gdialog(NAME,self_obj,4,-1,-1);
247+
gSay_Start;
248+
call Node013;
249+
gSay_End;
250+
end_dialogue;
251+
end
252+
253+
else if (dude_iq < 4) then begin //moved here by killap
254+
start_gdialog(NAME,self_obj,4,-1,-1);
255+
gSay_Start;
256+
call Node012;
257+
gSay_End;
258+
end_dialogue;
259+
end
260+
261261
else if (local_var(LVAR_Herebefore) == 0) then begin
262262
set_local_var(LVAR_Herebefore,1);
263263
start_gdialog(NAME,self_obj,4,-1,-1);
@@ -465,10 +465,10 @@ procedure Node016 begin
465465
end
466466

467467
procedure Node017 begin
468-
if (dude_is_male) then
469-
NMessage(214);
468+
// PC saved Smoke, but Morlis cooks him by TL4
469+
if (global_var(GVAR_ARROYO_DOG) == DOG_FINISHED_GOOD) then
470+
NMessage(214);
470471
else
471-
NMessage(215);
472+
// Else, it dies in an unspecified way
473+
NMessage(215);
472474
end
473-
474-
//xxxxxxxxxxxxxxxxxxxx

scripts_src/headers/global.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,11 +1323,29 @@
13231323
#define SPEAR_GET_FLINT (2)
13241324
#define SPEAR_FINISHED (3)
13251325

1326+
/**
1327+
* Nagor-Smoke quest accepted
1328+
*/
13261329
#define DOG_ACCEPTED (1)
1330+
/**
1331+
* Smoke found in wilderness and has joined PC
1332+
*/
13271333
#define DOG_RETURNED (2)
1334+
/**
1335+
* PC told Nagor to go after Smoke himself
1336+
*/
13281337
#define DOG_RUN_OFF (3)
1338+
/**
1339+
* Smoke died
1340+
*/
13291341
#define DOG_DEAD (4)
1342+
/**
1343+
* Smoke returned to Nagor, quest completed
1344+
*/
13301345
#define DOG_FINISHED_GOOD (5)
1346+
/**
1347+
* Smoke is dead, PC told Nagor, quest failed
1348+
*/
13311349
#define DOG_FINISHED_BAD (6)
13321350

13331351
#define CHAD_SUSPICIOUS (1)

0 commit comments

Comments
 (0)