procedure start;
procedure Darkness;
variable First_Time;
variable Next_Time;
variable Rads;
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 Lighting;
procedure Invasion;
procedure start
begin
if (script_action == 15) then begin
set_global_var(593, 1);
First_Time := game_time / 10;
if (global_var(224) == 2) then begin
set_light_level(100);
end
else begin
if (global_var(224) == 1) then begin
call Darkness;
end
else begin
set_light_level(1);
end
end
if (global_var(32) == 1) then begin
override_map_start(117, 69, 0, 2);
end
else begin
override_map_start(117, 69, 0, 2);
end
call add_party;
end
else begin
if (script_action == 23) then begin
call update_party;
Next_Time := game_time / 10;
if ((Next_Time - First_Time) > 30) then begin
Rads := (Next_Time - First_Time) / 30 * 10;
radiation_inc(dude_obj, Rads);
First_Time := game_time / 10;
Rads := 0;
end
else begin
radiation_inc(dude_obj, 10);
end
if (global_var(224) == 2) then begin
set_light_level(100);
end
else begin
if (global_var(224) == 1) then begin
call Darkness;
end
else begin
set_light_level(1);
end
end
end
else begin
if (script_action == 16) then begin
call remove_party;
end
end
end
end
procedure Darkness
begin
set_light_level(40);
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 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 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