Fallout Wiki
Advertisement
Fallout Wiki
Details
Type Decompiled script
SCRIPTS.LST comment Map Script for Glow (levels 1-3)
MSG file N/A
Transcript

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

Advertisement