procedure start;
procedure critter_p_proc;
procedure destroy_p_proc;
procedure look_at_p_proc;
procedure talk_p_proc;
procedure Amber0;
procedure Amber1;
procedure Amber2;
procedure Amber3;
procedure Amber3a;
procedure Amber4;
procedure Amber5;
procedure Amber6;
procedure Amber7;
procedure Amber8;
procedure Amber9;
procedure Amber10;
procedure Amber11;
procedure Amber12;
procedure Amber13;
procedure Amber14;
procedure Amber15;
procedure Amber16;
procedure Amber17;
procedure Amber18;
procedure AmberEnd;
variable initialized;
procedure start
begin
if (not(initialized)) then begin
critter_add_trait(self_obj, 1, 6, 46);
initialized := 1;
end
else begin
if (script_action == 12) then begin
call critter_p_proc;
end
else begin
if (script_action == 18) then begin
call destroy_p_proc;
end
else begin
if (script_action == 21) then begin
call look_at_p_proc;
end
else begin
if (script_action == 11) then begin
call talk_p_proc;
end
end
end
end
end
end
procedure critter_p_proc
begin
if (global_var(129) == 2) then begin
kill_critter(self_obj, 59);
end
end
procedure destroy_p_proc
begin
if (source_obj == dude_obj) then begin
if (((global_var(160) + global_var(159)) >= 25) and ((global_var(159) > (2 * global_var(160))) or (global_var(156) == 1))) then begin
set_global_var(156, 1);
set_global_var(157, 0);
end
if (((global_var(160) + global_var(159)) >= 25) and ((global_var(160) > (3 * global_var(159))) or (global_var(157) == 1))) then begin
set_global_var(157, 1);
set_global_var(156, 0);
end
set_global_var(159, global_var(159) + 1);
if ((global_var(159) % 2) == 0) then begin
set_global_var(155, global_var(155) - 1);
end
end
end
procedure look_at_p_proc
begin
script_overrides;
display_msg(message_str(272, 100));
end
procedure talk_p_proc
begin
script_overrides;
if (global_var(132) == 1) then begin
call Amber18;
end
else begin
if ((game_time_hour >= 700) and (game_time_hour < 1800)) then begin
call Amber0;
end
else begin
set_local_var(0, local_var(0) + 1);
start_gdialog(272, self_obj, 4, -1, -1);
gsay_start;
call Amber1;
gsay_end;
end_dialogue;
end
end
end
procedure Amber0
begin
float_msg(self_obj, message_str(272, 101), 0);
end
procedure Amber1
begin
gsay_reply(272, 102);
giq_option(4, 272, 103, Amber2, 50);
giq_option(4, 272, 104, Amber3, 50);
giq_option(7, 272, 105, Amber17, 50);
end
procedure Amber2
begin
gsay_message(272, 106, 50);
end
procedure Amber3
begin
gsay_reply(272, 107);
if (not(local_var(1))) then begin
giq_option(4, 272, 108, Amber4, 50);
end
giq_option(4, 272, 109, AmberEnd, 50);
if (local_var(2) == 0) then begin
giq_option(4, 272, 110, Amber3a, 50);
end
giq_option(5, 272, 111, Amber16, 50);
end
procedure Amber3a
begin
if (local_var(0) < 6) then begin
call Amber9;
end
else begin
if (local_var(0) == 6) then begin
call Amber10;
end
else begin
call Amber15;
end
end
end
procedure Amber4
begin
gsay_reply(272, 112);
giq_option(4, 272, 113, Amber5, 50);
giq_option(4, 272, 114, Amber8, 50);
giq_option(5, 272, 115, AmberEnd, 50);
end
procedure Amber5
begin
gsay_reply(272, 116);
giq_option(4, 272, 117, Amber6, 50);
giq_option(4, 272, 118, Amber7, 50);
end
procedure Amber6
begin
variable LVar0 := 0;
set_local_var(1, local_var(1) + 1);
gsay_message(272, 119, 50);
gfade_out(800);
gfade_in(800);
LVar0 := 3600 * 9;
game_time_advance(game_ticks(LVar0));
critter_mod_skill(dude_obj, 17, 15);
gsay_message(272, 120, 50);
end
procedure Amber7
begin
gsay_message(272, 121, 50);
end
procedure Amber8
begin
variable LVar0 := 0;
set_local_var(1, local_var(1) + 1);
gsay_message(272, 122, 50);
gfade_out(800);
gfade_in(800);
LVar0 := 3600 * 7;
game_time_advance(game_ticks(LVar0));
critter_mod_skill(dude_obj, 17, 15);
gsay_message(272, 123, 50);
end
procedure Amber9
begin
gsay_message(272, 124, 50);
end
procedure Amber10
begin
set_local_var(2, local_var(2) + 1);
gsay_reply(272, 125);
giq_option(4, 272, 126, Amber11, 50);
giq_option(4, 272, 127, Amber12, 50);
giq_option(4, 272, 128, Amber13, 50);
giq_option(4, 272, 129, Amber14, 50);
end
procedure Amber11
begin
variable LVar0 := 0;
gsay_message(272, 130, 50);
LVar0 := 3600 * 10;
gfade_out(800);
gfade_in(800);
game_time_advance(game_ticks(LVar0));
critter_mod_skill(dude_obj, 8, 12);
critter_mod_skill(dude_obj, 9, 10);
critter_mod_skill(dude_obj, 10, 8);
critter_mod_skill(dude_obj, 11, 8);
gsay_message(272, 131, 50);
end
procedure Amber12
begin
variable LVar0 := 0;
gsay_message(272, 132, 50);
LVar0 := 3600 * 10;
gfade_out(800);
gfade_in(800);
game_time_advance(game_ticks(LVar0));
critter_mod_skill(dude_obj, 3, 10);
critter_mod_skill(dude_obj, 0, 8);
critter_mod_skill(dude_obj, 5, 8);
critter_mod_skill(dude_obj, 4, 6);
gsay_message(272, 133, 50);
end
procedure Amber13
begin
variable LVar0 := 0;
gsay_message(272, 134, 50);
LVar0 := 3600 * 10;
gfade_out(800);
gfade_in(800);
game_time_advance(game_ticks(LVar0));
critter_mod_skill(dude_obj, 17, 10);
critter_mod_skill(dude_obj, 8, 8);
critter_mod_skill(dude_obj, 5, 8);
critter_mod_skill(dude_obj, 11, 6);
gsay_message(272, 135, 50);
end
procedure Amber14
begin
variable LVar0 := 0;
gsay_message(272, 136, 50);
LVar0 := 3600 * 10;
gfade_out(800);
gfade_in(800);
game_time_advance(game_ticks(LVar0));
critter_mod_skill(dude_obj, 15, 10);
critter_mod_skill(dude_obj, 14, 8);
critter_mod_skill(dude_obj, 16, 8);
critter_mod_skill(dude_obj, 4, 6);
gsay_message(272, 137, 50);
end
procedure Amber15
begin
gsay_message(272, 138, 50);
end
procedure Amber16
begin
gsay_message(272, 139, 50);
end
procedure Amber17
begin
gsay_reply(272, 140);
if (local_var(2) == 0) then begin
giq_option(7, 272, 141, Amber10, 50);
end
giq_option(7, 272, 142, AmberEnd, 50);
if (not(local_var(1))) then begin
giq_option(6, 272, 143, Amber4, 50);
end
end
procedure Amber18
begin
float_msg(self_obj, message_str(272, 144), 0);
end
procedure AmberEnd
begin
end