Fallout Wiki
Advertisement
Fallout Wiki
Details
Type Decompiled script
SCRIPTS.LST comment Glowing Ones that are caged by Set.
MSG file GLOWONE.MSG
Transcript

procedure start;
procedure do_dialogue;
variable Hostile;
variable init_teams;
variable rndx;
procedure start
begin
        variable LVar0 := 0;
        if (not(init_teams)) then begin
                critter_add_trait(self_obj, 1, 6, 31);
                critter_add_trait(self_obj, 1, 5, 93);
                init_teams := 1;
        end
        if (script_action == 11) then begin
                script_overrides;
                call do_dialogue;
        end
        else begin
                if ((script_action == 21) or (script_action == 3)) then begin
                        script_overrides;
                        display_msg(message_str(76, 100));
                end
                else begin
                        if (script_action == 4) then begin
                                Hostile := 1;
                        end
                        else begin
                                if (script_action == 13) then begin
                                        if (fixed_param == 2) then begin
                                                rndx := random(1, 6) - 5;
                                                if (rndx < 0) then begin
                                                        rndx := 0;
                                                end
                                                if (rndx > 0) then begin
                                                        radiation_inc(target_obj, rndx);
                                                end
                                        end
                                end
                                else begin
                                        if (script_action == 12) then begin
                                                if (Hostile) then begin
                                                        Hostile := 0;
                                                        attack_complex(dude_obj, 0, 1, 0, 0, 30000, 0, 0);
                                                end
                                        end
                                        else begin
                                                if (script_action == 18) then 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
                                        end
                                end
                        end
                end
        end
end
procedure do_dialogue
begin
        rndx := random(1, 4);
        if (rndx == 1) then begin
                float_msg(self_obj, message_str(76, 101), 2);
        end
        if (rndx == 2) then begin
                float_msg(self_obj, message_str(76, 102), 2);
        end
        if (rndx == 3) then begin
                display_msg(message_str(76, 103));
        end
        if (rndx == 4) then begin
                display_msg(message_str(76, 104));
        end
end

Advertisement