procedure start;
procedure combat_p_proc;
procedure Lighting;
procedure Tandi_Move;
procedure add_party;
procedure update_party;
procedure remove_party;
variable party_elevation;
variable dude_start_hex;
export variable Ian_ptr;
export variable Dog_ptr;
export variable Tycho_ptr;
export variable Katja_ptr;
export variable Tandi_ptr;
procedure Darkness;
procedure Invasion;
procedure start
begin
if (script_action == 15) then begin
set_global_var(568, 1);
set_global_var(567, 1);
if ((game_time / (10 * 60 * 60 * 24)) >= global_var(153)) then begin
set_global_var(12, 1);
end
call Lighting;
if (global_var(32) == 3) then begin
override_map_start(76, 85, 0, 1);
end
else begin
if (global_var(32) == 2) then begin
override_map_start(104, 93, 0, 1);
end
else begin
override_map_start(104, 93, 0, 1);
end
end
call add_party;
end
else begin
if (script_action == 23) then begin
call Lighting;
end
else begin
if (script_action == 16) then begin
call remove_party;
end
else begin
if (script_action == 13) then begin
call combat_p_proc;
end
end
end
end
end
procedure combat_p_proc
begin
script_overrides;
gfade_out(600);
load_map(26, 1);
game_time_advance(game_ticks(1800));
gfade_in(600);
end
procedure Lighting
begin
variable LVar0 := 0;
LVar0 := game_time_hour;
if ((LVar0 >= 600) and (LVar0 < 700)) then begin
set_light_level(LVar0 - 600 + 40);
end
else begin
if ((LVar0 >= 700) and (LVar0 < 1800)) then begin
set_light_level(100);
end
else begin
if ((LVar0 >= 1800) and (LVar0 < 1900)) then begin
set_light_level(100 - (LVar0 - 1800));
end
else begin
set_light_level(40);
end
end
end
end
procedure Tandi_Move
begin
variable LVar0 := 0;
LVar0 := game_time_hour;
if (LVar0 == 615) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 13565, 0);
end
else begin
if ((LVar0 > 615) and (LVar0 <= 645)) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 18492, 0);
end
else begin
if ((LVar0 > 645) and (LVar0 <= 650)) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 13565, 0);
end
else begin
if (LVar0 == 1305) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 13565, 0);
end
else begin
if ((LVar0 > 1305) and (LVar0 <= 1600)) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 23701, 0);
end
else begin
if ((LVar0 > 1600) and (LVar0 <= 1900)) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 17279, 0);
end
else begin
if ((LVar0 > 1900) and (LVar0 <= 1905)) then begin
Tandi_ptr := create_object_sid(16777256, 0, 0, 57);
move_to(Tandi_ptr, 13565, 0);
end
end
end
end
end
end
end
end
procedure add_party
begin
variable LVar0 := 0;
variable LVar1 := 0;
party_elevation := elevation(dude_obj);
if (global_var(26) == 5) then begin
if (Tandi_ptr == 0) then begin
end
critter_add_trait(Tandi_ptr, 1, 6, 0);
end
end
procedure update_party
begin
variable LVar0 := 0;
variable LVar1 := 0;
if (elevation(dude_obj) != party_elevation) then begin
party_elevation := elevation(dude_obj);
if (global_var(118) == 2) then begin
if (Ian_ptr == 0) then begin
end
else begin
move_to(Ian_ptr, tile_num_in_direction(tile_num(dude_obj), 1, 2), elevation(dude_obj));
end
end
if (global_var(5)) then begin
if (Dog_ptr == 0) then begin
end
else begin
move_to(Dog_ptr, tile_num_in_direction(tile_num(dude_obj), 2, 1), elevation(dude_obj));
end
end
if (global_var(121) == 2) then begin
if (Tycho_ptr == 0) then begin
end
else begin
move_to(Tycho_ptr, tile_num_in_direction(tile_num(dude_obj), 3, 2), elevation(dude_obj));
end
end
if (global_var(244) == 2) then begin
if (Katja_ptr == 0) then begin
end
else begin
move_to(Katja_ptr, tile_num_in_direction(tile_num(dude_obj), 4, 2), elevation(dude_obj));
end
end
if (global_var(26) == 5) then begin
if (Tandi_ptr == 0) then begin
end
else begin
move_to(Tandi_ptr, tile_num_in_direction(tile_num(dude_obj), 4, 4), elevation(dude_obj));
end
end
end
end
procedure remove_party
begin
if (global_var(118) == 2) then begin
set_global_var(118, 2);
end
if (global_var(5)) then begin
set_global_var(5, 1);
end
if (global_var(121) == 2) then begin
set_global_var(121, 2);
end
if (global_var(244) == 2) then begin
set_global_var(244, 2);
end
if (global_var(26) == 5) then begin
end
end
procedure Darkness
begin
set_light_level(40);
end
procedure Invasion
begin
if (not(global_var(18) == 2)) then begin
if (global_var(149) > (game_time / (10 * 60 * 60 * 24))) then begin
set_global_var(13, 1);
end
if (global_var(150) > (game_time / (10 * 60 * 60 * 24))) then begin
set_global_var(14, 1);
end
if (global_var(151) > (game_time / (10 * 60 * 60 * 24))) then begin
set_global_var(16, 1);
end
if (global_var(152) > (game_time / (10 * 60 * 60 * 24))) then begin
set_global_var(15, 1);
end
if (global_var(153) > (game_time / (10 * 60 * 60 * 24))) then begin
set_global_var(12, 1);
end
if (global_var(154) <= 0) then begin
set_global_var(11, 1);
end
if (global_var(148) > (game_time / (10 * 60 * 60 * 24))) then begin
set_global_var(7, 1);
end
end
end