diff --git a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Armors no integrated helmet/gamedata/configs/items/settings/mod_death_generic_g_a_m_m_a_no_integrated_helmets_in_armors.ltx b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Armors no integrated helmet/gamedata/configs/items/settings/mod_death_generic_g_a_m_m_a_no_integrated_helmets_in_armors.ltx index 427a2a3ca1..a8457180aa 100644 --- a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Armors no integrated helmet/gamedata/configs/items/settings/mod_death_generic_g_a_m_m_a_no_integrated_helmets_in_armors.ltx +++ b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Armors no integrated helmet/gamedata/configs/items/settings/mod_death_generic_g_a_m_m_a_no_integrated_helmets_in_armors.ltx @@ -697,7 +697,7 @@ stalker_neutral2e_ghillie = ghillie_outfit,helm_respirator stalker_neutral2g_goggles_ghillieponcho = ghillie_outfit,helm_respirator stalker_neutral2g_gp10 = stalker_outfit,helm_ranger stalker_neutral3a_backpacker_w_misc = stalker_outfit,helm_resp -stalker_neutral3a_w_m150 = stalker_outfit,helm_m50 +stalker_neutral3a_w_m150 = exolight_outfit,helm_m50 stalker_neutral3_with_gear = exo_wood_outfit,helm_ranger stalker_neutral3_with_gear_2 = exo_wood_outfit,helm_ranger stalker_neutral3_with_gear_3 = exo_wood_outfit,helm_ppm88 @@ -2376,7 +2376,7 @@ stalker_renegade_sun_kingpin_2 = renegademerc_outfit,helm_ach7ex stalker_renegade_sun_kingpin_3 = renegademerc_outfit,helm_ach7ex stalker_renegade_sun_kingpin_4 = renegademerc_outfit,helm_ach7ex stalker_renegade_sun_kingpin_5 = renegademerc_outfit,helm_ach7ex -stalker_renegade_sun_proto_exo_1 = helm_m40 ;renegade_exo_outfit,helm_m40 ; there's no renegade protoexo, exo drop seems too much - just drop helmet +stalker_renegade_sun_proto_exo_1 = renegademerc_outfit,helm_m40 ;renegade_exo_outfit,helm_m40 ; there's no renegade protoexo, exo drop seems too much stalker_renegade_tac_1 = trenchcoat_outfit stalker_renegade_tac_2 = trenchcoat_outfit stalker_renegade_tac_3 = trenchcoat_outfit,helm_respirator diff --git a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/mod_system_weapons_fixes_GAMMA.ltx b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/mod_system_weapons_fixes_GAMMA.ltx index 01bb6ece1d..c33e7320de 100644 --- a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/mod_system_weapons_fixes_GAMMA.ltx +++ b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/mod_system_weapons_fixes_GAMMA.ltx @@ -350,6 +350,9 @@ silencer_status = 2 ![wpn_m98b] silencer_status = 2 +![wpn_k98] +silencer_status = 2 + ; ![wpn_winchester1873] ; silencer_status = 2 ; silencer_name = wpn_sil_nato diff --git a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/unlocalizers/unlocalizer_arti_jamming_gamma.ltx b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/unlocalizers/unlocalizer_arti_jamming_gamma.ltx new file mode 100644 index 0000000000..1ab4be7aa0 --- /dev/null +++ b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/configs/unlocalizers/unlocalizer_arti_jamming_gamma.ltx @@ -0,0 +1,2 @@ +[arti_jamming] +jammed_guns diff --git a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/a_arti_jamming_get_jam_status.script b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/a_arti_jamming_get_jam_status.script new file mode 100644 index 0000000000..79523c660b --- /dev/null +++ b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/a_arti_jamming_get_jam_status.script @@ -0,0 +1,27 @@ +-- oleh5230 +-- get_jam_status placeholder +function arti_jamming.get_jam_status(id) + return arti_jamming.jammed_guns[id] == 3 and JamType.DoubleFeed or arti_jamming.jammed_guns[id] == 2 and arti_jamming.JamType.FailureToEject or nil +end + +arti_jamming.JamType = {} +arti_jamming.JamType.OK = { + anim = check_anim, + no_anim = check_simple +} +arti_jamming.JamType.Misfire = { + anim = unjam_anim, + no_anim = unjam_simple +} +arti_jamming.JamType.FailureToEject = { + anim = unjam_anim, + no_anim = unjam_simple +} +arti_jamming.JamType.DoubleFeed = { + anim = unjam_super_anim, + no_anim = unjam_super_simple +} +arti_jamming.JamType.Classic = { + anim = unjam_replace_anim, + no_anim = unjam_replace_simple +} \ No newline at end of file diff --git a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/aol_anim_transitions.script b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/aol_anim_transitions.script index 0dc2a890bf..7224e7bba2 100644 --- a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/aol_anim_transitions.script +++ b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/aol_anim_transitions.script @@ -101,8 +101,9 @@ function set_strict_transition(anm_table, hud_section) -- Ignore sprint transitions if weapon is lower-sprint valid -- hud section names are arbitrary, but this should cover all affected weapons in gamma local section = string.gsub(hud_section, "_hud", "") - if lower_weapon_sprint and not lower_weapon_sprint.blacklist_table[section] - and (string.find(start_anm, "sprint") or string.find(end_anm, "sprint")) then + if ini_sys:section_exist(section) + and lower_weapon_sprint and lower_weapon_sprint.blacklist_table and not lower_weapon_sprint.blacklist_table[section] + and (string.find(start_anm, "sprint") or string.find(end_anm, "sprint")) then --printf("[aol_anim_transitions] lower sprint valid, omitting transition animation") return false end @@ -142,7 +143,8 @@ function set_pattern_transition(anm_table, hud_section) -- Ignore sprint transitions if weapon is lower-sprint valid -- hud section names are arbitrary, but this should cover all affected weapons in gamma local section = string.gsub(hud_section, "_hud", "") - if lower_weapon_sprint and not lower_weapon_sprint.blacklist_table[section] + if ini_sys:section_exist(section) + and lower_weapon_sprint and lower_weapon_sprint.blacklist_table and not lower_weapon_sprint.blacklist_table[section] and (string.find(start_anm, "sprint") or string.find(end_anm, "sprint")) then --printf("[aol_anim_transitions] lower sprint valid, omitting transition animation") return false diff --git a/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/z_unjam_motion_mark_gamma.script b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/z_unjam_motion_mark_gamma.script new file mode 100644 index 0000000000..17f317b86b --- /dev/null +++ b/G.A.M.M.A/modpack_addons/G.A.M.M.A. Weapon Pack/gamedata/scripts/z_unjam_motion_mark_gamma.script @@ -0,0 +1,19 @@ +-- overwrite for outdated script version that causes crashes - oleh5230 + +-- Clear jam mid animation with motion marks +---@param state number +---@param mark string +---@param hud_item game_object +---@param owner game_object +function unjam_motion_mark.actor_on_hud_animation_mark(state, mark, hud_item, owner) + if mark == "clear_jam" then + if not hud_item or not owner then return end + + local wpn = hud_item:cast_Weapon() + if not wpn then return end + + if owner:id() ~= AC_ID then return end + + wpn:SetMisfire(false) + end +end diff --git a/G.A.M.M.A/modpack_addons/Oleh's Tasks Crash Fixes/gamedata/scripts/tasks_measure.script b/G.A.M.M.A/modpack_addons/Oleh's Tasks Crash Fixes/gamedata/scripts/tasks_measure.script index d9c6ec5c94..6cf7f3c3c4 100644 --- a/G.A.M.M.A/modpack_addons/Oleh's Tasks Crash Fixes/gamedata/scripts/tasks_measure.script +++ b/G.A.M.M.A/modpack_addons/Oleh's Tasks Crash Fixes/gamedata/scripts/tasks_measure.script @@ -488,13 +488,14 @@ task_status_functor.measure_task = function(tsk,task_id) end -- spawn mutant squad - if var.monster and (not flag_2) then - local mutants = parse_list(task_manager.task_ini,task_id,"task_measure_mutants") - if (#mutants > 0) then - spawn_squad_dynamic(mutants[math.random(#mutants)], 50, 200) - end - db.actor:give_info_portion(task_id .. "_measurment_enemy") - end + -- allegedly can spawn mutants inside safe zones + -- if var.monster and (not flag_2) then + -- local mutants = parse_list(task_manager.task_ini,task_id,"task_measure_mutants") + -- if (#mutants > 0) then + -- spawn_squad_dynamic(mutants[math.random(#mutants)], 50, 200) + -- end + -- db.actor:give_info_portion(task_id .. "_measurment_enemy") + -- end -- start measurement local active_detector = db.actor:active_detector()