diff --git a/scripts_src/epa/epai17.ssl b/scripts_src/epa/epai17.ssl index 8c112b6a55..6265c65a01 100644 --- a/scripts_src/epa/epai17.ssl +++ b/scripts_src/epa/epai17.ssl @@ -16,6 +16,10 @@ #define LVAR_Herebefore (4) #define LVAR_Problem (5) #define LVAR_Personal_Enemy (6) +/** + * Minimal Repair skill level to fix the terminal + */ +#define MIN_REPAIR_LEVEL 41 procedure start; procedure use_skill_on_p_proc; @@ -34,31 +38,45 @@ procedure start begin end -procedure use_skill_on_p_proc -begin - if (action_being_used == SKILL_REPAIR) then - begin - if (has_skill(source_obj, SKILL_REPAIR) > 40) then - begin - if (local_var(LVAR_Problem) == 1) then - begin - script_overrides; +/** + * Fixes the terminal if `skill_level >= MIN_REPAIR_LEVEL` + */ +procedure repair_self(variable skill_level) begin + if (skill_level >= MIN_REPAIR_LEVEL) then begin + if (local_var(LVAR_Problem) == 1) then begin set_global_var(GVAR_MAGNETIC_FIELD, 1); set_local_var(LVAR_Problem, 2); float_msg(source_obj, mstr(108), FLOAT_MSG_YELLOW); display_msg(mstr(109)); give_xp(100); end else if (local_var(LVAR_Problem) == 2) then begin - script_overrides; display_msg(message_str(SCRIPT_EPAI2, 115)); end end else begin - script_overrides; display_msg(message_str(SCRIPT_EPAI2, 108)); end - end end + +procedure use_skill_on_p_proc begin + if (action_being_used == SKILL_REPAIR) then begin + call repair_self(has_skill(source_obj, SKILL_REPAIR)); + end +end + +procedure use_obj_on_p_proc begin + variable tool = obj_pid(obj_being_used_with); + if (tool == PID_MULTI_TOOL) or (tool == PID_SUPER_TOOL_KIT) then begin + variable skill = has_skill(source_obj, SKILL_REPAIR); + variable bonus = 0; + if (tool == PID_MULTI_TOOL) then bonus = 20; + if (tool == PID_SUPER_TOOL_KIT) then bonus = 40; + script_overrides; + call repair_self(skill + bonus); + end +end + + procedure look_at_p_proc begin script_overrides; diff --git a/translations/french/art/intrface/hr_iface_800.frm b/translations/french/art/intrface/hr_iface_800.frm new file mode 100644 index 0000000000..5b4ec13ee6 Binary files /dev/null and b/translations/french/art/intrface/hr_iface_800.frm differ diff --git a/translations/french/art/intrface/iface.frm b/translations/french/art/intrface/iface.frm index 1b886771fb..ee85c14bc7 100644 Binary files a/translations/french/art/intrface/iface.frm and b/translations/french/art/intrface/iface.frm differ diff --git a/translations/french/art/intrface/invbutdn.frm b/translations/french/art/intrface/invbutdn.frm new file mode 100644 index 0000000000..f349313c38 Binary files /dev/null and b/translations/french/art/intrface/invbutdn.frm differ diff --git a/translations/french/art/intrface/invbutup.frm b/translations/french/art/intrface/invbutup.frm new file mode 100644 index 0000000000..7242d9aa00 Binary files /dev/null and b/translations/french/art/intrface/invbutup.frm differ diff --git a/translations/french/art/intrface/optidn.frm b/translations/french/art/intrface/optidn.frm new file mode 100644 index 0000000000..5bb957375b Binary files /dev/null and b/translations/french/art/intrface/optidn.frm differ diff --git a/translations/french/art/intrface/optiup.frm b/translations/french/art/intrface/optiup.frm new file mode 100644 index 0000000000..a77bff24da Binary files /dev/null and b/translations/french/art/intrface/optiup.frm differ diff --git a/translations/german/art/intrface/chadn.frm b/translations/german/art/intrface/chadn.frm new file mode 100644 index 0000000000..abc122a2ab Binary files /dev/null and b/translations/german/art/intrface/chadn.frm differ diff --git a/translations/german/art/intrface/chaup.frm b/translations/german/art/intrface/chaup.frm new file mode 100644 index 0000000000..6f0a3d129c Binary files /dev/null and b/translations/german/art/intrface/chaup.frm differ diff --git a/translations/german/art/intrface/mapdn.frm b/translations/german/art/intrface/mapdn.frm new file mode 100644 index 0000000000..87f5dda963 Binary files /dev/null and b/translations/german/art/intrface/mapdn.frm differ diff --git a/translations/german/art/intrface/mapup.frm b/translations/german/art/intrface/mapup.frm new file mode 100644 index 0000000000..543409b8c6 Binary files /dev/null and b/translations/german/art/intrface/mapup.frm differ