Fallout Wiki
Fallout Wiki
Details
Type Decompiled script
SCRIPTS.LST comment Door to Jake's shop in the Hub
MSG file N/A

procedure start;
procedure look_at_p_proc;
procedure use_obj_on_p_proc;
procedure map_update_p_proc;
procedure damage_p_proc;
procedure use_skill_on_p_proc;
import variable jake_door_ptr;
variable OnceOnly := 1;
procedure start
begin
        if (OnceOnly) then begin
                OnceOnly := 0;
                jake_door_ptr := self_obj;
                call map_update_p_proc;
        end
        if ((script_action == 21) or (script_action == 3)) then begin
                call look_at_p_proc;
        end
        else begin
                if (script_action == 7) then begin
                        call use_obj_on_p_proc;
                end
                else begin
                        if (script_action == 8) then begin
                                call use_skill_on_p_proc;
                        end
                        else begin
                                if (script_action == 23) then begin
                                        call map_update_p_proc;
                                end
                                else begin
                                        if (script_action == 14) then begin
                                                call damage_p_proc;
                                        end
                                end
                        end
                end
        end
end
procedure look_at_p_proc
begin
        if (local_var(0) == 0) then begin
                script_overrides;
                display_msg(message_str(589, 203));
        end
end
procedure use_obj_on_p_proc
begin
        variable LVar0 := 0;
        variable LVar1 := 0;
        LVar0 := obj_being_used_with;
        LVar1 := roll_vs_skill(dude_obj, 9, -20);
        if (obj_pid(LVar0) == 84) then begin
                script_overrides;
                if (is_success(LVar1)) then begin
                        set_local_var(0, 1);
                        display_msg(message_str(589, 204));
                end
                else begin
                        if (is_critical(LVar1)) then begin
                                rm_obj_from_inven(dude_obj, LVar0);
                                destroy_object(LVar0);
                                display_msg(message_str(589, 207));
                        end
                        else begin
                                display_msg(message_str(589, 205));
                        end
                end
        end
end
procedure map_update_p_proc
begin
        if (not((game_time_hour >= 1900) or (game_time_hour < 600))) then begin
                set_local_var(0, 1);
        end
        if (local_var(0) == 0) then begin
                obj_lock(self_obj);
        end
        else begin
                obj_unlock(self_obj);
        end
        set_map_var(7, 0);
        if (map_var(6) == 0) then begin
                if (obj_is_open(self_obj) == 1) then begin
                        set_map_var(7, 1);
                end
        end
        if (obj_is_locked(self_obj) == 1) then begin
                set_local_var(0, 1);
        end
        else begin
                set_local_var(0, 0);
        end
end
procedure damage_p_proc
begin
        set_obj_visibility(self_obj, 1);
        set_local_var(1, 1);
        set_map_var(6, 1);
end
procedure use_skill_on_p_proc
begin
        variable LVar0 := 0;
        if (local_var(0) == 0) then begin
                if (action_being_used == 9) then begin
                        script_overrides;
                        LVar0 := roll_vs_skill(dude_obj, 9, -40);
                        if (is_success(LVar0)) then begin
                                set_local_var(0, 1);
                                display_msg(message_str(589, 204));
                        end
                        else begin
                                display_msg(message_str(589, 205));
                        end
                end
        end
        else begin
                display_msg(message_str(589, 206));
        end
end