Removed Unnecessary Mod Files; Updated Mods

This commit is contained in:
Rage 2024-03-20 06:40:41 -04:00
parent 7f0caa168b
commit 290378b961
185 changed files with 14333 additions and 8374 deletions

View File

@ -3,7 +3,7 @@ gameName=stalkeranomaly
modid=0 modid=0
version=d2024.3.19.0 version=d2024.3.19.0
newestVersion= newestVersion=
category="-1," category="15,"
nexusFileStatus=1 nexusFileStatus=1
installationFile=Alternate_Fake_Start.rar installationFile=Alternate_Fake_Start.rar
repository=Nexus repository=Nexus

View File

@ -1,524 +0,0 @@
--[[
- Remade by Tronex
- 2019/4/23
Edit Log:
2020/5/29 - Vintar - added Warfare compatibility
- Global functions for assault tasks, with support for pre-info before accepting
Parameters for precondition
P[1] = (string) task_id
P[2] = (num) scan mode (1 to 5)
1 = same level
2 = same or nearby levels
3 = neaby levels only
4 = far levels
5 = all levels
P[3] = (num) minimum squad members size
P[4] = (num) minumum stay time for squad
P[5] = (bool) if true, scan will includes scripted squads
P[6] = (bool) if true, the factions declared in "status_functor_params" are enemy factions to traget, otherwise script assume they are natural and will search for matual enemies to them. If first faction is "monster" it will be a mutant squad hunt
P[7] = (string) specific smart to target
Example of usage in configs:
precondition = validate_assault_task( mil_smart_terrain_7_7_freedom_leader_stalker_task_2 : 2 : 1 : nil : false : true : nil )
target_functor = assault_task_target_functor
status_functor = assault_task_status_functor
status_functor_params = dolg
on_job_descr = %=setup_assault_task( mil_smart_terrain_7_7_freedom_leader_stalker_task_2 )%
--]]
-- Cache
local cache_assault = {}
local cache_assault_func = {}
local sfind = string.find
local factions_list = { -- List of allowed factions
["stalker"] = true,
["dolg"] = true,
["freedom"] = true,
["csky"] = true,
["ecolog"] = true,
["killer"] = true,
["army"] = true,
["bandit"] = true,
["monolith"] = true,
}
local blacklisted_maps = { -- List of maps to skip in scans
-- North
["l13_generators"] = true,
["l12_stancia_2"] = true,
["l12_stancia"] = true,
["l11_pripyat"] = true,
["l10_radar"] = true,
["l11_hospital"] = true,
-- Underground
["jupiter_underground"] = true,
["labx8"] = true,
["l03u_agr_underground"] = true,
["l04u_labx18"] = true,
["l08u_brainlab"] = true,
["l10u_bunker"] = true,
["l12u_control_monolith"] = true,
["l12u_sarcofag"] = true,
["l13u_warlab"] = true,
["fake_start"] = true
}
---------------------------< Utility >---------------------------
function is_legit_mutant_squad(squad)
local section = squad and squad:section_name()
return squad and (not sfind(section,"tushkano")) and (not sfind(section,"rat")) and true or false
end
function evaluate_smarts_squads(task_id, tbl, smart, squad_def, faction_def)
if (not smart) then
return
end
local smrt_id = smart.id
local smrt_name = smart:name()
if (simulation_objects.base_smarts[smrt_name] == true) then
return
end
local smrt = smrt_id and SIMBOARD.smarts[smrt_id]
if (not smrt) then
return
end
--printf("~ %s | scanning smart: %s", task_id, smrt_name)
for sq_id,_ in pairs(smrt.squads) do
--printf("# %s | found squad (%s) in smart: %s", task_id, sq_id, smrt_name)
-- if warfare, override checks on stay time, default squad stuff
-- if smart's squad is on its level + they are targeting it
local squad = alife_object(sq_id)
if squad and simulation_objects.is_on_the_same_level(squad, smart)
and squad.current_target_id and (squad.current_target_id == smrt_id)
and (squad.current_action == 1)
and (((squad:npc_count() >= squad_def.num)
and squad.stay_time
and ((not squad_def.stay_time) or (squad_def.stay_time and (game.get_game_time():diffSec(squad.stay_time) <= tonumber(squad_def.stay_time))))
and (squad_def.scripted or (not squad:get_script_target())))
or (_G.WARFARE and not squad:get_script_target()))
then
--printf("# %s | smart (%s) [%s] w/ squad (%s) [%s] = Checking", task_id, smrt_id, smrt_name, sq_id, squad.player_id)
for fac,_ in pairs(faction_def) do
-- if squad is from enemies table
if (is_legit_mutant_squad(squad) and squad.player_id == fac) then
--squad.stay_time = game.get_game_time()
tbl[sq_id] = smrt_id
--printf("- %s | smart (%s) [%s] w/ squad (%s) [%s] = Added", task_id, smrt_id, smrt_name, sq_id, squad.player_id)
end
end
end
end
end
function evaluate_squads_smarts(task_id, var, squad, smart)
if squad and simulation_objects.is_on_the_same_level(squad, smart) then
if not ( squad.first_update ) then
--printf("~ %s | not all squads are loaded yet!", task_id)
return true
end
if (var.scripted or (not squad:get_script_target()))
and (squad.current_target_id and squad.current_target_id == smart.id and squad.current_action == 1)
then
--printf("- %s | squad (%s) [%s] is targeting smart (%s)", task_id, squad.id, squad.player_id, smart.id)
for i = 1, #cache_assault_func[task_id] do
local fac = cache_assault_func[task_id][i]
if (is_legit_mutant_squad(squad) and squad.player_id == fac) then
-- updating data
var.squad_id = squad.id
save_var( db.actor, task_id, var )
-- reset gametime so they don't leave
if not _G.WARFARE then
squad.stay_time = game.get_game_time()
end
squad.force_online = true
--printf("- %s | squad (%s) [%s] is saved", task_id, squad.id, squad.player_id)
return true
end
end
end
end
return false
end
function postpone_for_next_frame(task_id, squad_id)
local is_hostage_task = (task_manager.task_ini:r_string_ex(task_id, "status_functor") == "hostage_task") and true or false
local squad = alife_object(squad_id)
if (squad) then
-- Location
local location = alife():level_name(game_graph():vertex(squad.m_game_vertex_id):level_id())
for k in squad:squad_members() do
local se_obj = k.object or alife_object(k.id)
if se_obj then
location = dynamic_news_helper.GetPointDescription(se_obj)
break
end
end
local str_location = game.translate_string("st_location") .. " " .. location
-- Community
local str_comm = ""
local community = squad.player_id
if is_squad_monster[community] then
str_comm = game.translate_string("st_sq_type") .. " " .. game.translate_string(community)
else
str_comm = game.translate_string("st_mm_new_game_faction_2") .. " " .. game.translate_string(community)
end
-- Build News
local news_caption = game.translate_string(task_manager.task_ini:r_string_ex(task_id, "title")) or "error"
local news_text, news_ico
if is_hostage_task then
news_text = str_location
news_ico = task_manager.task_ini:r_string_ex(task_id, "icon")
else
news_text = str_comm .. "\\n " .. str_location
news_ico = news_manager.tips_icons[squad.player_id]
end
if (not news_ico) then
news_ico = task_manager.task_ini:r_string_ex(task_id, "icon") or "ui_iconsTotal_mutant"
end
db.actor:give_talk_message2(news_caption, news_text, news_ico, "iconed_answer_item")
end
return true
end
---------------------------< Target functor >---------------------------
task_functor.assault_task_target_functor = function (task_id,field,p,tsk)
if (field == "target") then
if (tsk and tsk.stage == 1 and tsk.task_giver_id) then
return tsk.task_giver_id
end
local actor = db.actor
local var = actor and load_var(actor, task_id)
if (not var) then
printe("! %s | assault_task_target_functor - var is nil", task_id)
return
end
local smart = var.smart_id and alife_object(var.smart_id)
if (not smart) then
printe("! %s | assault_task_target_functor - smart is nil", task_id)
return
end
local squad = var.squad_id and alife_object(var.squad_id)
-- If enemies are more then 50m from target location, then show red (?) near their location
if (squad) then
if (smart.position:distance_to_sqr(squad.position) > 2500) then
if (squad:clsid() == clsid.online_offline_group_s) then
if (squad.id and level.map_has_object_spot(squad.id,"red_location") == 0) then
level.map_add_object_spot(squad.id, "red_location", "st_ui_pda_task_unknown_enemy")
end
end
else
if (squad:clsid() == clsid.online_offline_group_s) then
if (squad.id and level.map_has_object_spot(squad.id,"red_location") == 1) then
level.map_remove_object_spot(squad.id, "red_location")
end
end
end
end
return var.smart_id
end
end
---------------------------< Status functor >---------------------------
task_status_functor.assault_task_status_functor = function (tsk,task_id)
if not (db.actor and tsk) then return end
if (tsk.stage == 1) then return end -- already completed
local var = load_var(db.actor, task_id) -- check saved data
if (not var) then return "fail" end
local smart_id = var.smart_id -- check smart id
if (not smart_id) then return "fail" end
local smrt = SIMBOARD.smarts[smart_id] -- check smart object (special defines)
if (not smrt) then return "fail" end
local smart = smrt.smrt -- check smart server object
if (not smart) then return "fail" end
-- in case sim_avail is set true during the player's tsk. with simulation_objects.available_by_id[smart.id] nil means unprocess, false is absolutely not avail
if (simulation_objects.available_by_id[smart.id] == nil) then
return
elseif (simulation_objects.available_by_id[smart.id] == false) then
printe("! %s | task failed because smart no longer available", task_id)
return "fail"
end
-- Store factions parameters for the first time to re-use it
if (not cache_assault_func[task_id]) then
cache_assault_func[task_id] = {}
local params = parse_list(task_manager.task_ini,task_id,"status_functor_params")
if var.is_enemy then
for i=1,#params do
if is_squad_monster[params[i]] or factions_list[params[i]] then
cache_assault_func[task_id][i] = params[i]
printf("/ %s | Faction [%s] is re-added to cache_assault_func table", task_id, params[i])
end
end
elseif (not is_squad_monster[params[1]]) then
for fac,_ in pairs(factions_list) do
local cnt = 0
local is_enemy_to_actor = true --game_relations.is_factions_enemies(fac, get_actor_true_community())
for i=1,#params do
if (fac ~= params[i]) and is_enemy_to_actor and game_relations.is_factions_enemies(fac, params[i]) then
cnt = cnt + 1
end
end
if (cnt == #params) then
local idx = #cache_assault_func[task_id] + 1
cache_assault_func[task_id][idx] = fac
printf("/ %s | Faction [%s] is re-added to cache_assault_func table", task_id, fac)
end
end
end
if (#cache_assault_func[task_id] == 0) then
printe("! %s | no enemy factions found",task_id)
return "fail"
end
end
-- Timer for less pressure
local tg = time_global()
if (tsk.__check_smart_time and tg < tsk.__check_smart_time) then
return
end
tsk.__check_smart_time = tg+3000
-- cleaning data for re-assign next
local squad_id = var.squad_id
var.squad_id = nil
save_var(db.actor, task_id, var)
-- Scan saved squad
local squad = squad_id and alife_object(squad_id)
if squad then
local pass_this = evaluate_squads_smarts(task_id, var, squad, smart)
if pass_this then
return
end
end
-- Scan all squads
for id,v in pairs( SIMBOARD.squads ) do
local squad = alife_object(id)
if squad then
local pass_this = evaluate_squads_smarts(task_id, var, squad, smart)
if pass_this then
return
end
end
end
-- And who to shoot?
if (smart.position:distance_to(db.actor:position()) > 15) then
return
end
-- If smart is controllable by factions, player dominate it
if (smart.faction_controlled) then
local comm = character_community(db.actor):sub(7)
smart.faction = factions_list[comm] and comm or smart.faction
end
-- Assuming no squads means that target smart got cleared
tsk.stage = 1
end
---------------------------< Precondition >---------------------------
xr_conditions.validate_assault_task = function(actor, npc, p)
if not (p and #p >= 1) then
return false
end
local task_id = p[1]
if (#p < 7) then
printe("! %s | not enough parameters", task_id)
return false
end
--// Return true if a squad is picked already
if cache_assault[task_id] then
local c_squad_id = cache_assault[task_id].squad_id
local c_smart_id = cache_assault[task_id].smart_id
local c_squad = c_squad_id and alife_object(c_squad_id)
local c_smart = c_smart_id and alife_object(c_smart_id)
if c_squad and c_smart and (c_squad.current_target_id == c_smart_id) then
return true
end
end
--// Utilities
local sim = alife()
local gg = game_graph()
local actor_comm = sim:actor():community()
local actor_level = level.name()
local is_avail = simulation_objects.available_by_id
local p_status = parse_list(task_manager.task_ini,task_id,"status_functor_params")
local enemy_faction_list = {}
if (not p_status[1]) then
printe("! %s | status functor parameters are mising!", task_id)
return false
end
--// Defines
local def = {}
def.scan = tonumber(p[2]) or 1
def.num = tonumber(p[3]) or 1
def.stay_time = (p[4] ~= "nil") and tonumber(p[4])
def.scripted = (p[5] == "true") and true or false
def.is_enemy = (p[6] == "true") and true or false
def.smart = (p[7] ~= "nil") and p_status[1]
--// Collect enemy factions
if def.is_enemy then -- if faction parameters are enemies
for i=1,#p_status do
if is_squad_monster[p_status[i]] or factions_list[p_status[i]] then
--printf("/ %s | Faction [%s] is added to enemy_faction_list table", task_id, p_status[i])
enemy_faction_list[p_status[i]] = true
end
end
elseif (not is_squad_monster[p_status[1]]) then -- if faction parameters are matutal factions
for fac,_ in pairs(factions_list) do
local cnt = 0
local is_enemy_to_actor = true --game_relations.is_factions_enemies(fac, get_actor_true_community())
for i=1,#p_status do
if (fac ~= p_status[i]) and is_enemy_to_actor and game_relations.is_factions_enemies(fac, p_status[i]) then
cnt = cnt + 1
end
end
if (cnt == #p_status) then
enemy_faction_list[fac] = true
--printf("/ %s | Faction [%s] is added to enemy_faction_list table", task_id, fac)
end
end
end
if is_empty(enemy_faction_list) then
printe("! %s | no enemy factions found", task_id)
return false
end
--// Search all smarts
local targets = {} -- target[squad_id] = smart_id
if def.smart then -- search in specific smart
local smart = SIMBOARD.smarts_by_names[def.smart]
if smart then
evaluate_smarts_squads(task_id, targets, smart, def, enemy_faction_list)
end
else -- search all smarts
for name,v in pairs(SIMBOARD.smarts_by_names) do
-- if smart is available
if (is_avail[v.id] == true) then
-- if smart is not in blacklisted location
local smart_level = sim:level_name(gg:vertex(v.m_game_vertex_id):level_id())
if (not blacklisted_maps[smart_level]) then
-- if smart location is proper to the parameter
local is_online = v.online
local is_nearby = sfind(simulation_objects.config:r_value(actor_level, "target_maps", 0, ""), smart_level)
if ((def.scan == 1) and is_online) -- same level
or ((def.scan == 2) and (is_online or is_nearby)) -- same + nearby level
or ((def.scan == 3) and is_nearby) -- nearby levels only
or ((def.scan == 4) and (not (is_online or is_nearby))) -- far levels only
or (def.scan == 5) -- anywhere
then
evaluate_smarts_squads(task_id, targets, v, def, enemy_faction_list)
end
end
end
end
end
--// Cache results
if is_not_empty(targets) then
local target_squad = random_key_table(targets)
local target_smart = targets[target_squad]
-- local x = alife_object(target_smart)
-- printf('target %s',x and x:name())
cache_assault[task_id] = {
squad_id = target_squad,
smart_id = target_smart,
is_enemy = def.is_enemy,
scripted = def.scripted
}
--printf("- %s | Found %s targets so far", task_id, size_table(targets))
return true
end
--printf("! %s | no targets found", task_id)
return false
end
---------------------------< Effects >---------------------------
xr_effects.setup_assault_task = function(actor, npc, p)
if not (p and p[1]) then
return false
end
local task_id = p[1]
--// Read cache
if cache_assault[task_id] then
local squad_id = cache_assault[task_id].squad_id
local smart_id = cache_assault[task_id].smart_id
local squad = squad_id and alife_object(squad_id)
local smart = smart_id and alife_object(smart_id)
if squad and smart then
squad.stay_time = game.get_game_time()
sim_offline_combat.task_squads[squad_id] = true
local tbl = {
smart_id = smart_id,
squad_id = squad_id,
is_enemy = cache_assault[task_id].is_enemy,
scripted = cache_assault[task_id].scripted,
}
save_var(db.actor, task_id, tbl)
printdbg("- %s | Cached result = squad_id (%s) [%s] - smart_id(%s) - is_enemy: %s - scripted: %s", task_id, squad_id, squad.player_id, smart_id, tbl.is_enemy, tbl.scripted)
CreateTimeEvent(0,"setup_assault_task",0,postpone_for_next_frame,task_id, squad_id)
end
end
end

View File

@ -1,44 +0,0 @@
This addon gives speed bonuses and penalties to various outfits.
There are three parts to this addon.
1. Outfit Speed
Light armors like jackets, Sunrise suits and LC suits receive anywhere from a 5-10% increase in movement speed.
Exoskeletons, exosuits and some heavy armors get anywhere from a 5-13% decrease in movement speed.
Other armors like SEVA, SSP, SKAT are untouched (they are balanced compared to exos by carryweight, but I can tweak this if desired).
This is completely configurable using outfit_speeds.ltx.
The speed modifier is displayed in outfit stats.
2. Active item affects speed (Toggleable)
Having a knife, axe, or handgun out confers an 8% sprint speed bonus.
Having a submachinegun out confers a 4% bonus.
Other weapons or items will either confer no bonus or slow the player down depending on weight, up to -8%.
3. Encumbrance affects speed (Toggleable)
The actor's total encumbrance (carried weight / max possible weight) affects their movespeed, like in Dark Souls.
Under 25% total weight, the actor moves 8% faster.
Above 70% weight, the actor moves 8% slower.
Above 100% weight, the actor moves 16% slower.
These bonuses and penalties are halved with exoskeletons.
V1.2.1
- Adjusted the formula for encumbrance.
V1.2
- Mainlined encumbrance as MCM option. Reworked formula for weapon speed (now gives penalty based on weapon weight).
V1.1.7
- Nerfed exosuit sprint speed (it's heavy after all). Added encumbrance addon as an optional goodie.
V1.1.6
- Some internal cleanup. Buffed base speed of Nosorog to match that of exoskeletons. Nerfed exo sprint speed by 10%, 20 for Nosorogs.
V1.1.5
- Monkey patched out dependency on utils_ui. Fixed bugs in speed.script, clamped minimum movement speed to be walking speed.
V1.1.4
- Small fix for crash on holster.
V1.1.3
- Refactor to be more modular. Update for 1.5.1.
V1.1.2
- Fix crash when removing outfits. Added speed reduction to exosuits.
V1.1.1
- Refactor to remove dependency on modifying outfit.ltx files. Compatibility with speed modification in my Powered Exos addon.
V1.1
- Pistol and knife make you sprint 10% faster. Patch for exos updated to reflect 1.3.1 changes.

View File

@ -3,7 +3,7 @@ gameName=stalkeranomaly
modid=0 modid=0
version=4.0.0.0 version=4.0.0.0
newestVersion= newestVersion=
category="-1," category="16,"
nexusFileStatus=1 nexusFileStatus=1
installationFile=Aydins_Grass_Tweaks_4.0.7z installationFile=Aydins_Grass_Tweaks_4.0.7z
repository=Nexus repository=Nexus

View File

@ -3,7 +3,7 @@ gameName=stalkeranomaly
modid=0 modid=0
version=1.0.0.0 version=1.0.0.0
newestVersion= newestVersion=
category="-1," category="16,"
nexusFileStatus=1 nexusFileStatus=1
installationFile=Aydins_Grass_Tweaks_SSS_Terrain_LOD_compatiblity.rar installationFile=Aydins_Grass_Tweaks_SSS_Terrain_LOD_compatiblity.rar
repository=Nexus repository=Nexus

View File

@ -1,198 +0,0 @@
; UNUSED -- it works the same as wpn_binoc_inv and all traders sell that one, so this cannot be obtained normally
; since most properties are defined here i'd say in 1.6 to delete the _inv version and keep and use this one instead
[wpn_binoc]:identity_immunities,weapon_probability,default_weapon_params,wpn_binoc_sounds
GroupControlSection = spawn_group
discovery_dependency =
$npc = on
$prefetch = 8
$spawn = "weapons\binocular"
scheduled = off
cform = skeleton
class = WP_BINOC
slot = 4
animation_slot = 13
ef_main_weapon_type = 5
ef_weapon_type = 0
hand_dependence = 2
single_handed = 0
default_to_ruck = true
sprint_allowed = true
show_ammo = false
show_condition = false
inv_grid_height = 1
inv_grid_width = 2
inv_grid_x = 14
inv_grid_y = 9
inv_name = st_binocular_name
inv_name_short = st_binocular_name
description = st_binocular_descr
highlight_equipped = true
anim_item = true
kind = w_misc
inv_weight = 1.0
cost = 1580
repair_type = lens
hud = wpn_binoc_hud
visual = dynamics\devices\dev_binoculars\dev_binoculars.ogf
normal = 0, 1, 0
position = -0.08, -0.05, 0.05
orientation = 0, -90, 70
direction = 0, 0, 1
fire_point = 0.0, 0.133, 0.161
ph_mass = 1
attach_bone_name = bip01_r_hand
attach_position_offset = 0.080000, 0.021273, 0.100000
attach_angle_offset = 3.080506, -1.493053, -1.202040
auto_attach = false
catch_snd = none
found_snd = none
vis_frame_color = 0.0, 0.0, 0.0, 0.0
vis_frame_speed = 0
vision_present = true
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
light_color = 0.6, 0.5, 0.3
light_range = 3.0
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_binoc, up_gr_seconab_binoc, up_gr_thirdab_binoc
installed_upgrades =
upgrade_scheme = upgrade_scheme_binoculars
upgr_icon_x = 300
upgr_icon_y = 1950
upgr_icon_width = 150
upgr_icon_height = 100
upgr_icon_path = ui\ui_actor_weapons
ammo_class = ammo_binoc
ammo_current = 0
ammo_elapsed = 0
ammo_limit = 0
ammo_mag_size = 0
scope_status = 1
scope_texture = wpn_crosshair_bino
scope_zoom_factor = 20
silencer_status = 0
grenade_launcher_status = 0
hit_impulse = 0
hit_power = 0
hit_type = fire_wound
fire_distance = 0
bullet_speed = 0
rpm = 0
rpm_empty_click = 0
zoom_enabled = true
reload_dof = 0.0, 0.5, 5, 1.7
control_inertion_factor = 1.1
fire_dispersion_base = 1
fire_dispersion_condition_factor = 0
misfire_start_condition = 0
misfire_start_prob = 0.003
misfire_end_condition = 0
misfire_end_prob = 0.02
condition_queue_shot_dec = 0
condition_shot_dec = 0
cam_return = 0
cam_relax_speed = 7
cam_dispersion = 1.9
cam_dispersion_frac = 1.1
cam_dispersion_inc = 1.9
cam_max_angle = 10.0
cam_max_angle_horz = 10.0
cam_step_angle_horz = 1.2
PDM_disp_accel_factor = 1.1
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.1
disp_crouch_factor = 0
disp_jump_factor = 0
disp_vel_factor = 0
cam_relax_speed_ai = 360
min_radius = 0
max_radius = 500
snd_close = weapons\generic_close
snd_on_take = other
can_be_lowered = false
[wpn_binoc_hud]:hud_base
item_visual = dynamics\devices\dev_binoculars\dev_binoculars_hud
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = 0.00064, 0.022937, 0.125213
hands_position_16x9 = 0.00064, 0.022937, 0.125213
hands_orientation = 0, 0, 0
hands_orientation_16x9 = 0, 0, 0
aim_hud_offset_pos = 0.00428, -0.223465, -0.180631
aim_hud_offset_pos_16x9 = 0.00428, -0.223465, -0.180631
aim_hud_offset_rot = -0.8013, -0.02704, 0.001071
aim_hud_offset_rot_16x9 = -0.8013, -0.02704, 0.001071
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = binoc_holster, idle
anm_idle = binoc_idle, idle
anm_idle_aim = binoc_idle, idle
anm_idle_moving = binoc_walk, idle
anm_idle_moving_crouch = binoc_walk, idle, 0.75
anm_idle_sprint = binoc_sprint, idle, 1.2
anm_show = binoc_draw, idle
anm_bore = binoc_bore, idle
freelook_z_offset_mul = 0.75
;------------------------------------------------------------------------------------------------
[wpn_binoc_inv]:identity_immunities,weapon_probability,default_weapon_params,wpn_binoc
animation_slot = 2
hand_dependence = 1
hud = wpn_binoculars_hud
ph_mass = 3
scope_dynamic_zoom = off
control_inertion_factor = 1.28
fire_dispersion_base = 1
holder_fov_modifier = 0.7
holder_range_modifier = 2.0
anim_item = false
[wpn_binoculars_hud]:wpn_binoc_hud
attach_place_idx = 0

View File

@ -1,243 +0,0 @@
I always disliked how BHS worked. Where medkits give temporary hp and most random items heal certain parts.
This mod is my attempt at making BHS fun and immersive instead of just "use a if b, use c if d".
The github link: <https://github.com/Mirrowel/Mirrowels-BHS-Edits>
Currently in active development to balance the items and the system.
MORE UP-TO-DATE Description on Moddb page <https://www.moddb.com/mods/stalker-anomaly/addons/bhs-realistic-overhaul>
**MOD IS CONSTANTLY BEING DEVELOPED SO EXPECT CHANGES TO HAPPEN FREQUENTLY.**
# NOW INCLUDES AN EXPERIMENTL TARKOV-LIKE HP SYSTEM. READ 0.8 CHANGELOG FOR MORE INFO
**An overview of the mod and plans below.**
# General points:
## The goals of the mod:
- Make healing limbs take considerably longer.
- Remove temporary HP.
- Add painkillers and painkilling properties. Think of tarkov.
- Make medkits the main source of healing, like they should be.
- Make the system highly configurable.
## **Stuff that this mod already has:**
- No temp hp System. Replaced by painkillers instead. Exactly the same purpose as tarkov basically. Allow you to use the destroyed limbs and remove the nasty effects.
- To complement painkiller system weapon sway mod is integrated. Painkillers reduce weapon sway like if the limb is healed by that amount.
- Medkits either heal all parts at once OR they heal set amount of HP, going one HP at a time for the lowest HP limb(potentially more efficient, which makes a lot of sense).
- Broken limb system. If HP of the limb reaches 0 you need to use a surgical kit, then splint with a splint(all configurable and can turn off).
- Reworked sleep healing to heal more logically(you heal lowest limbs first). Can disable that.
- Health multiplier to enable more gradual healing. Limb HP by default is 11 torso, head; 5 for the rest - kinda low. - Experimental. Realistically would do nothing but increase the number of HP steps so it looks smoother but makes it hard to see real HP -- UNSUPPORTED - TOO MANY PROBLEMS
- Weapon sway depending on arms damage and painkiller effect
- Slower medkit usage and healing rate.
- Campfire heal for limbs(adapting script)
- Artefact healing for limbs(same thing)
## **Stuff i will add:**
- More effects on limb damage. Instead of instadeath increase received damage, stuff like that - need ideas
- Heal limbs one-by-one only like in EFT(maybe)
All new items are sold by medics. Some new items also added to flea market and butcher's shop.
As well as a lot of different traders that don't have medics nearby.
Keep in mind that in the more-or-less finished version **everything will be optional modules**. While in development i wont split it into modules so my workload is more sane.
Suggestions and ideas related to BHS are appreciated, as i myself am trying to figure out how to balance things out.
# Balancing for meds:
- All medkits heal twice as slow. Overall they heal exactly the same amount, just slower. New time is 66.8 seconds.
- Survival kit modified using same logic as medkits, but with radiation and healing boosted to match heal speed of basic medkit. New time is 90 seconds.
- Rebirth modded to last twice as long. Same idea as medkits. New time is 14 seconds.
- Bandages apply their effect instantly instead of over time.
## As for limb damage:
Keep in mind these values: Legs and Arms have 10HP per limb. Torso and Head have 22HP per limb.
That is double of what basic BHS has to make 1HP matter less in the system making balancing easier.
No, boosting HP does not make limbs survive more damage. Everything is scaled.
---
- ### Heal One System(Healing one HP at a time for one limb):
- Basic medkit: 21 HP total over the duration. Can heal two arms/legs to full or torso/head once
- Army and Cheese: 42 HP total over the duration. Can heal all arms/legs to full or both torso and head to full.
- Stimpacks: Mirror what medkits heal over their duration, but faster.
- Survival kit: 63 HP total over 90 seconds.
- Coagulant(Vinca/Barvinok): Heals 11 HP over 438 seconds. Cant heal over your HP level. (If you are at 50% then it can only heal limbs to 50%)
- Rebirth: 63 HP total over 17 seconds. Cant heal over your HP level. (If you are at 50% then it can only heal limbs to 50%)
- Propital: 30 HP total over 180 seconds. Cant heal over your HP level.
---
- ### Heal All System(Healing one HP at a time for all limbs) - LEGACY:
- Basic medkit: Head/Torso - 11 HP, Legs/Arms - 5 HP total over the duration. Can heal two arms/legs to full or torso/head once
- Army and Cheese: Head/Torso - 16 HP, Legs/Arms - 7 HP total over the duration. Can heal all arms/legs to full or both torso and head to full.
- Stimpacks: Mirror what medkits heal over their duration, but faster.
- Rebirth: Head/Torso - 22 HP, Legs/Arms - 10 HP over 17 seconds. Cant heal over your HP level. (If you are at 50% then it can only heal limbs to 50%)
---
- ### Surgery system and kits(In order to restore a limb to 1 HP surgical tools are required):
- Surgical tools: Slow use, restores one limb to be splinted in 10 seconds. One use and needs a bandage. Will cause damage on use.
- CMS: Slow use, 5 charges. Restores one limb to be splinted in 10 seconds. Can be configured to restore a limb without a splint required. More weight-efficient
---
- ### Splints:
- Splint: Slow use, restores a limb to full 1HP in 10 seconds. One charge.
- Aluminium splint: Slow use, restores a limb to full 1HP in 10 seconds. Three charges. More weight-efficient
---
- ### Painkillers(**Keep in mind that painkiller system doubles the painkiller power for torso and head because they have double the HP over legs and arms**)
- Morphine: 9 painkiller power for 305 seconds.
- Rebirth: 9 painkiller power for 305 seconds.
- Salicidic acid: 7 painkiller power for 180 seconds.
- Fentanyl: 4 painkiller power for 202 seconds.
- Analgetic(Diclofenac Sodium): 5 painkiller power for 305 seconds.
- SJ6 stimulator: 7 painkiller power for 600 seconds.
- SJ1 stimulator: 4 painkiller power for 600 seconds.
- Analgin painkiller: 2 painkiller power for 180 seconds.
- Ibuprofen: 4 painkiller power for 290 seconds.
- Yadulin: 4 painkiller power for 505 seconds.
- Adrenalin(Epinephrine): 2 painkiller power for 2184 seconds.
- Army Medkit: 4 painkiller power for 128 seconds.
- Cheese Medkit: 3 painkiller power for 128 seconds.
- Stimpack: 2 painkiller power for 128 seconds.
- Army Stimpack: 4 painkiller power for 128 seconds.
- Sci Stimpack: 3 painkiller power for 128 seconds.
- Cocaine: 2 painkiller power for 1644 seconds.
- Joint: 1 painkiller power for 420 seconds.
- Marijuana: 1 painkiller power for 652 seconds.
- Bottled vodkas: 1 painkiller power for 300 seconds.
- Quality vodka: 2 painkiller power for 300 seconds.
- Zone vodka(bottle_metal): 2 painkiller power for 300 seconds.
---
**Credits:**
- bvcx for detailed description mod.
- ilrathCXV for campfire and artefact healing scripts.
- DokBrok for BHS Evolution mod that inspired this one.
- TheParaziT - for base injector animation. Extended them to all injectors.
- Uknown person who ported all the animations from gunslinger
---
# Latest changelog:
## 0.86E Update
- Actor damage balancer update to match gamma 0.91
## 0.86D Update
- Reduced weapon out delay for bandages(Mirror of Enhanced anims - medical)
## 0.86C Update
- Skinning without a knife out is done with a hunting knife, always. Fix for gamma tomahawk.
## 0.86B Update
- Crafting recipes added
## 0.86A Update
- Fomod made to better convey information
## 0.86 Update
- New default BHS hud - thanks to chilichocolate
- Fix for painkiller effect not being recalculated after healing
- Dynamic damage threshold adjustement based on damagescale(no visible effect)
- Small fix for torso surgery display
- Fomod installer. Yes, it has finally happened, folks.
## 0.85A Hotfix
- Fix for leftover variable (gamma users)
## 0.85 Hotfix
- Rewritten all mechanics on healing, splinting and surgery to match the quality of the latest additions.
- Removed some hard to maintain features.
## 0.81B(C) Hotfix
- Fix for missing model crash after removing the mod(nowscript will remove akvatabs and other vanilla changed items too)
- Fix for forgotten sounds
## 0.81 Hotfix
- Included forgotten .ppe file for latest ADB version.
- Updated included FDDA Enhanced Animations mod
## 0.8 Beta:
### Additions and rebalancing:
- **New Experimental BHS mode. Tarkov-like limb system. Vanilla HP only acts as a wellness indicator and cannot be healed with medkits. Only vinca and the usual ways of resting, artefacts,etc. Enables below feature automatically.**
- Above can be buggy when the system prevents a death, as a callback fires but is cancelled by the script. Depends on installed mods. An alternative way can be used if this proves too buggy.
- **Combined with the above change - damage bleedthrugh from destroyed limbs to every other limb. If you take damage in the destroyed limb the damage is split between all the other limbs. Can be turned on/off**
- Limb damage multiplier added to MCM menu.
- Small-ish balancing changes to painkillers that are too much to list.
- Added bone breaking sound effect and feedback to notify the player when their limb(s) reach 0 HP.
- Update/reworked the damage system. Changes should not be noticeable unless you go into code.
- Fall damage multiplier added to mcm. Fall damage should be goddamn scary.
- Explosives are **VERY** scary and do damage to all limbs. You really dont want to experience it.
- Update hit detection to more accurately tell what limb was hit.
- Removed legacy features.
- Grok's Actor Damage Balancer and Progressive Rad Damages compatibility patches.(Gamma requires both)
- Non-medical enhanced animations separated into a sister mod. FDDA enhanced animations.
### Fixes:
- Fixed FDDA anims crash. Mod is fully DLTX now.
- Fixed arm/legs minimal hp settings to correctly apply.
- General bugfixing of everything not touched by changes, which is not much.
## 0.63 Beta:
- Dynamic item spawns,item rewards,new game loadouts DLTX item injection
- Safe deletion utility to safely delete all new items
- Loot injection for new items. Now they can be looted from bodies.
## Hotfix 0.6A:
- Fixed mutant harvest animation
- Added FDDA MCM unlocker for gamma users
## 0.6 Beta:
### Additions and rebalancing:
- Bandages and tourniquets now work instantly instead of over time.
- Vodka's are now painkillers of different power.
- To be able to sprint with broken legs you now need painkiller power 3 and above. Vodkas provide up to 2.
- Psy mechanics for SJ stims. Now they lower your max psy health but increase resistance and regeneration the lower your psy health is. (EXPERIMENTAL)
- A lot more traders sell new items now, and old ones should be fixed, hopefully.
- Compatibility patch for Coffee if the zone to use better anims.
- Damage to limbs increased by 25%. Hopefully losing limbs will be more frequent.
### Fixes:
- Painkillers active time is now tracked a lot better, so level transitions wont extend their duration. Nor saving/loading will extend/decrease it. Deviation will be very small % wise.
- Detailed description compatibility now has fixed encoding for dot symbols
- Default detailed description script fixes(included by default, not compat)
- Artefact healing now wont work if you dont have PBA mod installed. Meaning if you want to use it in base anomaly you need to patch it. I would do that if i had vanilla classnames and values for them - it is not hard at all.
- General bugfixing for main script
- DLTX bugfixing to make sure included mods are not overwritten by standalone versions of same mods.
- Animation files bugfixing to change as little as possible compared to base FDDA + asnen's. Now should be 100% compatible as no old anims are overwritten or deleted.
- Damage threshold lowered back to 3% like default. Now consumable items are tracked and wont deal damage to limbs
- Renamed Enchaned UI compat to "Enhanced GUI". Got confused about names

View File

@ -1,36 +0,0 @@
A collection of medical item animations, models and textures for FDDA. Sister mod to FDDA Enhanced Animations - Food and drinks.
As many items as possible were converted to fancier gunslinger animations.
Some items had their use sounds replaced/enhanced.
There werent many gunslinger medical animations, but this has injector, bandage and exo anims.
Originally made/adapted for BHS realistic overhaul by me, but separated out into a separate mod. Fully DLTX.
Goes hand in hand with BHS Realistic Overhaul. This mod was originally a part of it.
List:
Medkits are untouched.
Bandage replaced.
All the injector animations use the gunslinger injector one.
Exo animations added.
That is it. There really arent that many of them.
REQUIRES FDDA(this is an extension to it).
Like the original mod, Possibly requires THAP
Credits:
Uknown person who ported all the animations from gunslinger
## Update 1.1B
- Added the MCM unlocker by default to fix the skinning problem. It has everything disabled by default to not mess with gamma and other modpacks.
## Hotfix to 1.1A
- Removed mistakenly included missing animation for a tourniquet
## Update 1.1
- Reduced the time between bandage animation finish and weapon pull out
## Update 13.09.2023
- Fixed a leftover file i forgot to remove and a scientific medkit in exo had a typo in the config.

View File

@ -1,19 +0,0 @@
<?xml version='1.0' encoding="windows-1251"?>
<xml>
#include "gameplay\character_desc_general_*.xml"
;#include "gameplay\character_desc_general_actor.xml"
;#include "gameplay\character_desc_general_army.xml"
;#include "gameplay\character_desc_general_bandit.xml"
;#include "gameplay\character_desc_general_csky.xml"
;#include "gameplay\character_desc_general_dolg.xml"
;#include "gameplay\character_desc_general_ecolog.xml"
;#include "gameplay\character_desc_general_freedom.xml"
;#include "gameplay\character_desc_general_greh.xml"
;#include "gameplay\character_desc_general_isg.xml"
;#include "gameplay\character_desc_general_killer.xml"
;#include "gameplay\character_desc_general_monolith.xml"
;#include "gameplay\character_desc_general_renegade.xml"
;#include "gameplay\character_desc_general_stalker.xml"
;#include "gameplay\character_desc_general_zombied.xml"
</xml>

View File

@ -1,41 +0,0 @@
<specific_character id="sim_default_freedom_0_default_15" team_default = "1">
#include "gameplay\profiles\character_desc_freedom_0.xml"
<icon>ui_inGame2_Freedom_1</icon>
<snd_config>characters_voice\human\freedom_1\</snd_config>
<visual>actors\stalker_freedom\stalker_freedom_1a</visual>
</specific_character>
<specific_character id="sim_default_freedom_0_default_16" team_default = "1">
#include "gameplay\profiles\character_desc_freedom_0.xml"
<icon>ui_inGame2_Freedom_1</icon>
<snd_config>characters_voice\human\freedom_1\</snd_config>
<visual>actors\stalker_freedom\stalker_freedom_1a_backpack</visual>
</specific_character>
<specific_character id="sim_default_freedom_0_default_17" team_default = "1">
#include "gameplay\profiles\character_desc_freedom_0.xml"
<icon>ui_inGame2_Freedom_1</icon>
<snd_config>characters_voice\human\freedom_3\</snd_config>
<visual>actors\stalker_freedom\stalker_freedom_1a_mask</visual>
</specific_character>
<specific_character id="sim_default_freedom_0_default_18" team_default = "1">
#include "gameplay\profiles\character_desc_freedom_0.xml"
<icon>ui_inGame2_Freedom_1</icon>
<snd_config>characters_voice\human\freedom_1\</snd_config>
<visual>actors\stalker_freedom\stalker_freedom_1b</visual>
</specific_character>
<specific_character id="sim_default_freedom_0_default_19" team_default = "1">
#include "gameplay\profiles\character_desc_freedom_0.xml"
<icon>ui_inGame2_Freedom_1</icon>
<snd_config>characters_voice\human\freedom_1\</snd_config>
<visual>actors\stalker_freedom\stalker_freedom_1b_backpack</visual>
</specific_character>
<specific_character id="sim_default_freedom_0_default_20" team_default = "1">
#include "gameplay\profiles\character_desc_freedom_0.xml"
<icon>ui_inGame2_Freedom_1</icon>
<snd_config>characters_voice\human\freedom_3\</snd_config>
<visual>actors\stalker_freedom\stalker_freedom_1b_mask</visual>
</specific_character>

View File

@ -1,35 +0,0 @@
This is a small guide in case you want to modify some things for Glowsticks by yourself, such as to change the color.
______________________________________________________________________________________________________________________________________________________________________________________________________
HOW TO CHANGE THE COLOR.
______________________________________________________________________________________________________________________________________________________________________________________________________
1. Go to gamedata/configs/items/items and open up "items_glowstick.xml"
2. You will find various configs that start with "[glowstick_definition]" and a color, the one without any color in the name is the default green.
From here onwards, change the "color" and "color_r2" to whichever you like, the formula is simply a percentage from 0.0 to 1.0.
NOTE: Higher numbers are allowed, but these only add a white tint to the color.
______________________________________________________________________________________________________________________________________________________________________________________________________
HOW TO MAKE THE GLOWSTICKS EMIT SHADOWS.
______________________________________________________________________________________________________________________________________________________________________________________________________
1. Go to gamedata/scripts and open up "zz_glowstick_mcm.script"
2. Scroll down from there until you find "data.light_flags", which is roughly line 110.
Change the number 45 to 47.
______________________________________________________________________________________________________________________________________________________________________________________________________
NOTE TO ADDON AUTHORS REGARDING DEVICES AND DETECTORS
______________________________________________________________________________________________________________________________________________________________________________________________________
1. Open your device model in Blender, AXR Tools or OGF Data Changer.
2. Make sure the emissive part of your model uses the shader "models\selflight_det"
3. Save or re-export your model.
This way the device's screen won't emit any light once the batteries run out.
______________________________________________________________________________________________________________________________________________________________________________________________________
HOW TO CHANGE MOD SETTINGS WITHOUT MCM.
______________________________________________________________________________________________________________________________________________________________________________________________________
1. Go to gamedata/scripts and open up "zz_glowstick_mcm.script"
2. Change the settings at the top of the file to your liking.

View File

@ -1,96 +0,0 @@
___________
DESCRIPTION
___________
This is a collaboration made by Lucy (r3zy) & Blackgrowl.
As the name should imply, this adds glowsticks into Anomaly. Some of the assets are taken from Dead Air, so all credits to them in that regard.
It's more than just glowsticks though; many changes have been made to make the Glowsticks more versatile and interesting.
How? Well, first of all, there's more than just one variety.
They will appear as a "Device", you can use them on hand or drop them. Should be perfect to light up areas that don't have a campfire near, as well.
Check out "DETAILS" for more information.
Also take a gander at the "MODDING GUIDE" if there is something you want to modify yourself from this mod, like the Glowstick color or how to enable the shadows.
___________
INSTALLATION
___________
Recommended to use Mod Organizer 2 for the FOMOD installer.
Otherwise simply extract the "gamedata" to your main Anomaly folder or install with JSGME. And install optional files from the "addons" folder.
Remember to clear the shader cache (checkbox in the launcher or delete the anomaly/appdata/shaders_cache folder).
NOTE: You cannot safely uninstall this mod, since it adds new item sections that remain in the savefile.
___________
PATCHES/ADDONS INFORMATION
___________
- Cr3pis' Icons. Changes the gritty icons into high-quality model-shaded ones.
- Briggs' Glowstick mesh. Replacer for the Dead Air models.
- Enhanced Shaders (and Color Grading) patch. Fixes glowsticks and screens turning dark if you don't have a device/pda equipped. Overwrite the base files.
- Pack of New Devices patch. Makes the device meshes use the correct screen shader.
___________
DETAILS
___________
VARIANTS:
- GREEN. The default variant, it has a range of 12 and is good all around.
- ORANGE. While offering just a slightly weaker range, about 10 metres, it provides a much more "natural" light.
- RED. While offering the weakest illumination, it also has the best range, more than 24 metres. Perfect for the underground or very dark places with no natural light.
- CYAN. While having a small range of 6, it offers the best illumination. Best used in the Underground to get surprised, can even be used in daytime to find hard-to-see objects and the like.
IMPORTANT INFO:
- You can press and HOLD the Use key (default "F") to throw the glowstick. (Can be changed to the grenade launcher key in AMCM or by editing the script)
- Glowsticks have their own "lifetime", each variants also have their own lasting time.
- You can still use a glowstick while aiming a pistol.
- CAREFUL! Glowsticks on the ground can be destroyed, in which case you can't use them anymore.
ACQUISITION:
- At new game start (If you have AMCM installed).
- From traders.
- May be found in some dead STALKERs.
- In stashes.
BONUS:
- If you have AMCM, you can make it so the flashlights flicker heavily when you're inside the Brain Scorcher or Miracle Machine while they are still active.
This makes Glowsticks a must, just for lore fun.
- Broken flashlight draw animation is fixed by this mod.
- Screens turning dark if you don't have a device/pda equipped is fixed by this mod.
___________
KNOWN ISSUES
___________
* Animations are a bit "wonky". If any animator wishes to re-animate this, you can go right ahead, you have our full support already.
* Glowsticks only wear down when dropped on the ground or equipped in your hand.
___________
COMPATIBILITY
___________
Mods that replace detectors/devices can safely overwrite this mod's meshes.
Shader fix won't work though unless the new devices use the "models\selflight_det" shader for their display/light.
There's a patch for Pack of New Devices included, otherwise check out the "MODDING GUIDE".
___________
COPYRIGHT/LICENSE
___________
There is none.
This is a mod taken from Dead Air, ported to Anomaly, only license that counts is the license Dead Air uses and especially GSCs.
(In short; do whatever you want, but don't go selling it anywhere or claiming it is your own creation)
The only thing requested is that you acknowledge (credit) the work Blackgrowl and Lucy did to port this into Anomaly.
___________
CREDITS
___________
Dead Air Team for the Glowstick.
Lucy for the script and stuff.
Blackgrowl for the asset help, including making new assets and art.
Thundervision for the Russian translation.
Cr3pis for the icons.
PYP for fixing smoothing issues on the glowstick mesh.
Briggs for the new optional glowstick model.
Arti for the trader autoinjeect script.
RavenAscendant for the monkey patch tutorial.

View File

@ -1,310 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
icons_texture = ui\mp7_icons
inv_grid_x = 0
inv_grid_y = 0
inv_grid_height = 2
inv_grid_width = 2
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 8
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.072000, -0.172, 0.165500
hands_position_16x9 = -0.072000, -0.172, 0.165500
hands_orientation = 0.55, 2.39, 0.1499993
hands_orientation_16x9 = 0.55, 2.39, 0.1499993
aim_hud_offset_pos = -0.0795, 0.0745, -0.265
aim_hud_offset_pos_16x9 = -0.0795, 0.0745, -0.265
aim_hud_offset_rot = 0.0339, 0.0088, -0.0045
aim_hud_offset_rot_16x9 = 0.0339, 0.0088, -0.0045
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_aim_moving = lancew_mp7_moving, idle_2, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle_2, 0.7
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 2
inv_grid_y = 2
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.07895, 0.06025, -0.265
aim_hud_offset_pos_16x9 = -0.07895, 0.06025, -0.265
aim_hud_offset_rot = 0.038, 0.0075, -0.0018
aim_hud_offset_rot_16x9 = 0.038, 0.0075, -0.0018
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 4
inv_grid_y = 0
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.08025, 0.0565, -0.235
aim_hud_offset_pos_16x9 = -0.08025, 0.0565, -0.235
aim_hud_offset_rot = 0.0485, 0.01, -0.004
aim_hud_offset_rot_16x9 = 0.0485, 0.01, -0.004
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 0
inv_grid_y = 2
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.081, 0.0634, -0.265
aim_hud_offset_pos_16x9 = -0.081, 0.0634, -0.265
aim_hud_offset_rot = 0.0455, 0.0111, 0.0
aim_hud_offset_rot_16x9 = 0.0455, 0.0111, 0.0
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 2
inv_grid_y = 0
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.07925, 0.0525, -0.265
aim_hud_offset_pos_16x9 = -0.07925, 0.0525, -0.265
aim_hud_offset_rot = 0.048, 0.008, -0.004
aim_hud_offset_rot_16x9 = 0.048, 0.008, -0.004

View File

@ -1,303 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
inv_grid_height = 2
inv_grid_width = 2
inv_grid_x = 48
inv_grid_y = 61
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 7
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.072000, -0.172, 0.165500
hands_position_16x9 = -0.072000, -0.172, 0.165500
hands_orientation = 0.55, 2.39, 0.1499993
hands_orientation_16x9 = 0.55, 2.39, 0.1499993
aim_hud_offset_pos = -0.0795, 0.0745, -0.265
aim_hud_offset_pos_16x9 = -0.0795, 0.0745, -0.265
aim_hud_offset_rot = 0.0339, 0.0088, -0.0045
aim_hud_offset_rot_16x9 = 0.0339, 0.0088, -0.0045
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_aim_moving = lancew_mp7_moving, idle_2, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle_2, 0.7
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
1icon_layer = ac10632
1icon_layer_x = 16
1icon_layer_y = -10
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.07895, 0.06025, -0.265
aim_hud_offset_pos_16x9 = -0.07895, 0.06025, -0.265
aim_hud_offset_rot = 0.038, 0.0075, -0.0018
aim_hud_offset_rot_16x9 = 0.038, 0.0075, -0.0018
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
1icon_layer = acog
1icon_layer_x = 10
1icon_layer_y = -9
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.08025, 0.0565, -0.235
aim_hud_offset_pos_16x9 = -0.08025, 0.0565, -0.235
aim_hud_offset_rot = 0.0485, 0.01, -0.004
aim_hud_offset_rot_16x9 = 0.0485, 0.01, -0.004
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
1icon_layer = c-more
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.081, 0.0634, -0.265
aim_hud_offset_pos_16x9 = -0.081, 0.0634, -0.265
aim_hud_offset_rot = 0.0455, 0.0111, 0.0
aim_hud_offset_rot_16x9 = 0.0455, 0.0111, 0.0
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
1icon_layer = eot
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.07925, 0.0525, -0.265
aim_hud_offset_pos_16x9 = -0.07925, 0.0525, -0.265
aim_hud_offset_rot = 0.048, 0.008, -0.004
aim_hud_offset_rot_16x9 = 0.048, 0.008, -0.004

View File

@ -1,306 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
inv_grid_height = 2
inv_grid_width = 2
inv_grid_x = 48
inv_grid_y = 61
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 7
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
hud_fov = 0.70
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.082, -0.14, -0.11
hands_position_16x9 = -0.082, -0.14, -0.11
hands_orientation = 0.0, 0.0, -2
hands_orientation_16x9 = 0.0, 0.0, -2
aim_hud_offset_pos = -0.06335,0.0345,-0.05
aim_hud_offset_pos_16x9 = -0.06335,0.0345,-0.05
aim_hud_offset_rot = -0.0072,-0.0007,-0.0404
aim_hud_offset_rot_16x9 = -0.0072,-0.0007,-0.0404
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_aim_moving = lancew_mp7_moving, idle_2, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle_2, 0.7
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
1icon_layer = ac10632
1icon_layer_x = 16
1icon_layer_y = -10
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.0630,0.025,-0.06
aim_hud_offset_pos_16x9 = -0.0630,0.025,-0.06
aim_hud_offset_rot = 0.019,-0.0016,-0.040
aim_hud_offset_rot_16x9 = 0.019,-0.0016,-0.040
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
1icon_layer = acog
1icon_layer_x = 10
1icon_layer_y = -9
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
scope_texture = wpn_crosshair_acog
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.0635,0.0125,-0.05
aim_hud_offset_pos_16x9 = -0.0635,0.0125,-0.05
aim_hud_offset_rot = 0.007,0.0002,-0.0404
aim_hud_offset_rot_16x9 = 0.007,0.0002,-0.0404
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
1icon_layer = c-more
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.0633,0.0225,-0.06
aim_hud_offset_pos_16x9 = -0.0633,0.0225,-0.06
aim_hud_offset_rot = 0.0120,0.0,-0.0404
aim_hud_offset_rot_16x9 = 0.0120,0.0,-0.0404
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
1icon_layer = eot
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.06335,0.008,-0.06
aim_hud_offset_pos_16x9 = -0.06335,0.008,-0.06
aim_hud_offset_rot = 0.005,0.0,-0.0425
aim_hud_offset_rot_16x9 = 0.005,0.0,-0.0425

View File

@ -1,4 +0,0 @@
this is a patch if you are using
https://www.moddb.com/mods/stalker-anomaly/addons/position-and-view-v21-release
copy and paste over gamedata after position and view

View File

@ -1,313 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
icons_texture = ui\mp7_icons
inv_grid_x = 0
inv_grid_y = 0
inv_grid_height = 2
inv_grid_width = 2
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 8
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
hud_fov = 0.70
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.082, -0.14, -0.11
hands_position_16x9 = -0.082, -0.14, -0.11
hands_orientation = 0.0, 0.0, -2
hands_orientation_16x9 = 0.0, 0.0, -2
aim_hud_offset_pos = -0.06335,0.0345,-0.05
aim_hud_offset_pos_16x9 = -0.06335,0.0345,-0.05
aim_hud_offset_rot = -0.0072,-0.0007,-0.0404
aim_hud_offset_rot_16x9 = -0.0072,-0.0007,-0.0404
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_aim_moving = lancew_mp7_moving, idle_2, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle_2, 0.7
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 2
inv_grid_y = 2
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.0630,0.025,-0.06
aim_hud_offset_pos_16x9 = -0.0630,0.025,-0.06
aim_hud_offset_rot = 0.019,-0.0016,-0.040
aim_hud_offset_rot_16x9 = 0.019,-0.0016,-0.040
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 4
inv_grid_y = 0
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
scope_texture = wpn_crosshair_acog
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.0635,0.0125,-0.05
aim_hud_offset_pos_16x9 = -0.0635,0.0125,-0.05
aim_hud_offset_rot = 0.007,0.0002,-0.0404
aim_hud_offset_rot_16x9 = 0.007,0.0002,-0.0404
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 0
inv_grid_y = 2
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.0633,0.0225,-0.06
aim_hud_offset_pos_16x9 = -0.0633,0.0225,-0.06
aim_hud_offset_rot = 0.0120,0.0,-0.0404
aim_hud_offset_rot_16x9 = 0.0120,0.0,-0.0404
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 2
inv_grid_y = 0
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.06335,0.008,-0.06
aim_hud_offset_pos_16x9 = -0.06335,0.008,-0.06
aim_hud_offset_rot = 0.005,0.0,-0.0425
aim_hud_offset_rot_16x9 = 0.005,0.0,-0.0425

View File

@ -1,322 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
inv_grid_height = 2
inv_grid_width = 2
inv_grid_x = 48
inv_grid_y = 61
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 7
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.072000, -0.172, 0.165500
hands_position_16x9 = -0.072000, -0.172, 0.165500
hands_orientation = 0.55, 2.39, 0.1499993
hands_orientation_16x9 = 0.55, 2.39, 0.1499993
aim_hud_offset_pos = -0.0795, 0.0745, -0.265
aim_hud_offset_pos_16x9 = -0.0795, 0.0745, -0.265
aim_hud_offset_rot = 0.0339, 0.0088, -0.0045
aim_hud_offset_rot_16x9 = 0.0339, 0.0088, -0.0045
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster
anm_idle = lancew_mp7_idle
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_idle_aim_moving = lancew_mp7_moving, idle, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle, 0.7
anm_idle_moving = lancew_mp7_moving
anm_idle_sprint = lancew_mp7_sprint
anm_reload = lancew_mp7_reload, reload
anm_shots = lancew_mp7_shoot, shoot
anm_show = lancew_mp7_draw
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
1icon_layer = ac10632
1icon_layer_x = 16
1icon_layer_y = -10
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.07895, 0.06025, -0.265
aim_hud_offset_pos_16x9 = -0.07895, 0.06025, -0.265
aim_hud_offset_rot = 0.038, 0.0075, -0.0018
aim_hud_offset_rot_16x9 = 0.038, 0.0075, -0.0018
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
1icon_layer = acog
1icon_layer_x = 10
1icon_layer_y = -9
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.08025, 0.0565, -0.235
aim_hud_offset_pos_16x9 = -0.08025, 0.0565, -0.235
aim_hud_offset_rot = 0.0485, 0.01, -0.004
aim_hud_offset_rot_16x9 = 0.0485, 0.01, -0.004
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
1icon_layer = c-more
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.081, 0.0634, -0.265
aim_hud_offset_pos_16x9 = -0.081, 0.0634, -0.265
aim_hud_offset_rot = 0.0455, 0.0111, 0.0
aim_hud_offset_rot_16x9 = 0.0455, 0.0111, 0.0
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
1icon_layer = eot
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.07925, 0.0525, -0.265
aim_hud_offset_pos_16x9 = -0.07925, 0.0525, -0.265
aim_hud_offset_rot = 0.048, 0.008, -0.004
aim_hud_offset_rot_16x9 = 0.048, 0.008, -0.004
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot

View File

@ -1,325 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
inv_grid_height = 2
inv_grid_width = 2
inv_grid_x = 48
inv_grid_y = 61
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 7
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
hud_fov = 0.70
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.082, -0.14, -0.11
hands_position_16x9 = -0.082, -0.14, -0.11
hands_orientation = 0.0, 0.0, -2
hands_orientation_16x9 = 0.0, 0.0, -2
aim_hud_offset_pos = -0.06335,0.0345,-0.05
aim_hud_offset_pos_16x9 = -0.06335,0.0345,-0.05
aim_hud_offset_rot = -0.0072,-0.0007,-0.0404
aim_hud_offset_rot_16x9 = -0.0072,-0.0007,-0.0404
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster
anm_idle = lancew_mp7_idle
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_idle_aim_moving = lancew_mp7_moving, idle, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle, 0.7
anm_idle_moving = lancew_mp7_moving
anm_idle_sprint = lancew_mp7_sprint
anm_reload = lancew_mp7_reload, reload
anm_shots = lancew_mp7_shoot, shoot
anm_show = lancew_mp7_draw
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
1icon_layer = ac10632
1icon_layer_x = 16
1icon_layer_y = -10
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.0630,0.025,-0.06
aim_hud_offset_pos_16x9 = -0.0630,0.025,-0.06
aim_hud_offset_rot = 0.019,-0.0016,-0.040
aim_hud_offset_rot_16x9 = 0.019,-0.0016,-0.040
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
1icon_layer = acog
1icon_layer_x = 10
1icon_layer_y = -9
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
scope_texture = wpn_crosshair_acog
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.0635,0.0125,-0.05
aim_hud_offset_pos_16x9 = -0.0635,0.0125,-0.05
aim_hud_offset_rot = 0.007,0.0002,-0.0404
aim_hud_offset_rot_16x9 = 0.007,0.0002,-0.0404
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
1icon_layer = c-more
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.0633,0.0225,-0.06
aim_hud_offset_pos_16x9 = -0.0633,0.0225,-0.06
aim_hud_offset_rot = 0.0120,0.0,-0.0404
aim_hud_offset_rot_16x9 = 0.0120,0.0,-0.0404
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
1icon_layer = eot
1icon_layer_x = 16
1icon_layer_y = -6
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.06335,0.008,-0.06
aim_hud_offset_pos_16x9 = -0.06335,0.008,-0.06
aim_hud_offset_rot = 0.005,0.0,-0.0425
aim_hud_offset_rot_16x9 = 0.005,0.0,-0.0425
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot

View File

@ -1,4 +0,0 @@
this is a patch if you are using
https://www.moddb.com/mods/stalker-anomaly/addons/position-and-view-v21-release
copy and paste over gamedata after position and view

View File

@ -1,332 +0,0 @@
;------------------------------------------------------------------------------------------------
[wpn_mp7]:identity_immunities,weapon_probability,default_weapon_params,wpn_mp7_sounds
GroupControlSection = spawn_group
$npc = on
$prefetch = 8
$spawn = "weapons\mp5"
scheduled = off
cform = skeleton
parent_section = wpn_mp7
class = WP_LR300
slot = 2
animation_slot = 8
ef_main_weapon_type = 2
ef_weapon_type = 6
hand_dependence = 1
single_handed = 0
default_to_ruck = false
sprint_allowed = true
icons_texture = ui\mp7_icons
inv_grid_x = 0
inv_grid_y = 0
inv_grid_height = 2
inv_grid_width = 2
inv_name = st_wpn_mp7
inv_name_short = st_wpn_mp7
description = st_wpn_mp7_descr
kind = w_smg ;w_pistol
inv_weight = 2.1
cost = 23300
repair_type = pistol
weapon_class = assault_rifle
hud = wpn_mp7_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7.ogf
position = -0.015, -0.120, -0.010
orientation = 3, -6, -1
fire_point = 0.0, 0.155, 0.225
fire_point2 = 0.0, 0.188, 0.392
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1
strap_position = -0.16, -0.36, 0.15
strap_orientation = -10, -5, 10
ph_mass = 3
flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01
shell_point = 0.0, 0.125, -0.050
shell_dir = 0.0, 1.0, 0.0
shell_particles = weapons\9x19
light_disabled = false
light_color = 0.6, 0.5, 0.3
light_range = 5
light_time = 0.2
light_var_color = 0.05
light_var_range = 0.5
upgrades = up_gr_firstab_mp5, up_gr_seconab_mp5, up_gr_thirdab_mp5, up_gr_fourtab_mp5, up_gr_fifthab_mp5
installed_upgrades =
upgrade_scheme = upgrade_scheme_mp5_nimble
upgr_icon_x = 1900
upgr_icon_y = 1350
upgr_icon_width = 150
upgr_icon_height = 100
fire_modes = 1, -1
ammo_class = ammo_9x19_fmj, ammo_9x19_fmj_bad, ammo_9x19_fmj_verybad, ammo_9x19_pbp, ammo_9x19_pbp_bad, ammo_9x19_pbp_verybad, ammo_9x19_ap, ammo_9x19_ap_bad, ammo_9x19_ap_verybad
ammo_elapsed = 40
ammo_mag_size = 40
startup_ammo = 90
scopes = acog, eot, ac10632, c-more
scope_status = 0
scope_zoom_factor = 0
silencer_name = wpn_sil_9mm
silencer_status = 2
silencer_x = 85
silencer_y = 8
silencer_light_color = 0.6, 0.5, 0.3
silencer_light_range = 0.01
silencer_light_time = 0.2
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_smoke_particles = weapons\generic_shoot_00
grenade_class = ammo_vog-25, ammo_vog-25_bad, ammo_vog-25_verybad
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_status = 0
grenade_launcher_x = 126
grenade_launcher_y = 24
launch_speed = 0
hit_impulse = 50
hit_power = 0.47, 0.47, 0.47, 0.47
hit_type = fire_wound
fire_distance = 400
bullet_speed = 400
rpm = 950
rpm_empty_click = 200
ap_modifier = 1.1
use_aim_bullet = false
time_to_aim = 0.0 ; 3.0
zoom_dof = 0.5, 1.0, 180
zoom_enabled = true
zoom_rotate_time = 0.25
reload_dof = 0.0, 0.5, 5, 2
control_inertion_factor = 1.0f
crosshair_inertion = 4.35
fire_dispersion_base = 0.24
fire_dispersion_condition_factor = 0.001
inertion_origin_aim_offset = -0.03
inertion_origin_offset = -0.05
inertion_tendto_aim_speed = 8
inertion_tendto_speed = 5
misfire_probability = 0.005
misfire_start_condition = 0.7 ; 0.8
misfire_start_prob = 0.005
misfire_end_condition = 0.1
misfire_end_prob = 0.09
condition_queue_shot_dec = 0.0014
condition_shot_dec = 0.0012
cam_return = 0
cam_relax_speed = 5
cam_dispersion = 0.8
cam_dispersion_frac = 1.0
cam_dispersion_inc = 0.0475
cam_max_angle = 50.0
cam_max_angle_horz = 50.0
cam_step_angle_horz = 1.5
zoom_cam_relax_speed = 10
zoom_cam_dispersion = 0.55
zoom_cam_dispersion_frac = 1.0
zoom_cam_dispersion_inc = 0.0375
zoom_cam_max_angle = 50.0
zoom_cam_max_angle_horz = 50.0
zoom_cam_step_angle_horz = 1.5
PDM_disp_accel_factor = 1.5
PDM_disp_base = 0.5
PDM_disp_crouch = 1.0
PDM_disp_crouch_no_acc = 1.0
PDM_disp_vel_factor = 1.5
cam_relax_speed_ai = 120.75
zoom_cam_relax_speed_ai = 120.75
holder_fov_modifier = 1.0
holder_range_modifier = 1.0
min_radius = 0
max_radius = 500
hit_probability_gd_novice = 1.00
hit_probability_gd_stalker = 1.00
hit_probability_gd_veteran = 1.00
hit_probability_gd_master = 1.00
kill_msg_x = 72
kill_msg_y = 82
kill_msg_width = 56
kill_msg_height = 23
hud_fov = 0.70
[wpn_mp7_hud]:hud_base
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_hud.ogf
attach_place_idx = 0
zoom_hide_crosshair = true
item_position = 0, 0, 0
item_orientation = 0, 0, 0
hands_position = -0.082, -0.14, -0.11
hands_position_16x9 = -0.082, -0.14, -0.11
hands_orientation = 0.0, 0.0, -2
hands_orientation_16x9 = 0.0, 0.0, -2
aim_hud_offset_pos = -0.06335,0.0345,-0.05
aim_hud_offset_pos_16x9 = -0.06335,0.0345,-0.05
aim_hud_offset_rot = -0.0072,-0.0007,-0.0404
aim_hud_offset_rot_16x9 = -0.0072,-0.0007,-0.0404
gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0
lean_hud_offset_pos = 0, 0, 0
lean_hud_offset_rot = 0, 0, 0
anm_hide = lancew_mp7_holster
anm_idle = lancew_mp7_idle
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_idle_aim_moving = lancew_mp7_moving, idle, 0.75
anm_idle_aim_moving_crouch = lancew_mp7_moving, idle, 0.7
anm_idle_moving = lancew_mp7_moving
anm_idle_sprint = lancew_mp7_sprint
anm_reload = lancew_mp7_reload, reload
anm_shots = lancew_mp7_shoot, shoot
anm_show = lancew_mp7_draw
shell_bone = wpn_body
shell_dir = 0.0, 1.0, 0.0
shell_point = 0.02, 0.06, -0.019
fire_bone = wpn_body
fire_bone2 = wpn_body
fire_point = 0, 0.037504, 0.269238
fire_point2 = 0.0, -0.029, 0.525
freelook_z_offset_mul = 0.3
;------------------------------------------------------------------------------------------------
[wpn_mp7_ac10632]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 2
inv_grid_y = 2
inv_weight = 2.215
hud = wpn_mp7_ac10632_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_ac10632
[wpn_mp7_ac10632_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_ac10632_hud.ogf
aim_hud_offset_pos = -0.0630,0.025,-0.06
aim_hud_offset_pos_16x9 = -0.0630,0.025,-0.06
aim_hud_offset_rot = 0.019,-0.0016,-0.040
aim_hud_offset_rot_16x9 = 0.019,-0.0016,-0.040
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot
;------------------------------------------------------------------------------------------------
[wpn_mp7_acog]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 4
inv_grid_y = 0
inv_weight = 2.45
hud = wpn_mp7_acog_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_acog
scope_status = 0
scope_zoom_factor = 20
scope_texture = wpn_crosshair_acog
zoom_rotate_time = 0.25
[wpn_mp7_acog_hud]:wpn_mp7_hud,hud_low_interia
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_acog_hud.ogf
aim_hud_offset_pos = -0.0635,0.0125,-0.05
aim_hud_offset_pos_16x9 = -0.0635,0.0125,-0.05
aim_hud_offset_rot = 0.007,0.0002,-0.0404
aim_hud_offset_rot_16x9 = 0.007,0.0002,-0.0404
anm_hide = lancew_mp7_holster, idle_2
anm_idle = lancew_mp7_idle, idle_2
anm_idle_aim = lancew_mp7_idle_aim, idle_aim_2
anm_idle_moving = lancew_mp7_moving, idle_2
anm_idle_sprint = lancew_mp7_sprint, idle_2
anm_reload = lancew_mp7_reload, reload_2
anm_shots = lancew_mp7_shoot, shoot_2
anm_show = lancew_mp7_draw, idle_2
;------------------------------------------------------------------------------------------------
[wpn_mp7_c-more]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 0
inv_grid_y = 2
inv_weight = 2.4
hud = wpn_mp7_c-more_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_c-more
[wpn_mp7_c-more_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_c-more_hud.ogf
aim_hud_offset_pos = -0.0633,0.0225,-0.06
aim_hud_offset_pos_16x9 = -0.0633,0.0225,-0.06
aim_hud_offset_rot = 0.0120,0.0,-0.0404
aim_hud_offset_rot_16x9 = 0.0120,0.0,-0.0404
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot
;------------------------------------------------------------------------------------------------
[wpn_mp7_eot]:wpn_mp7
icons_texture = ui\mp7_icons
inv_grid_x = 2
inv_grid_y = 0
inv_weight = 2.4
hud = wpn_mp7_eot_hud
visual = dynamics\weapons\wpn_mp7\wpn_mp7_eotech
[wpn_mp7_eot_hud]:wpn_mp7_hud
item_visual = anomaly_weapons\wpn_mp7\wpn_mp7_eotech_hud.ogf
aim_hud_offset_pos = -0.06335,0.008,-0.06
aim_hud_offset_pos_16x9 = -0.06335,0.008,-0.06
aim_hud_offset_rot = 0.005,0.0,-0.0425
aim_hud_offset_rot_16x9 = 0.005,0.0,-0.0425
anm_idle_aim = lancew_mp7_idle_aim, idle_aim
anm_shots = lancew_mp7_shoot, shoot

View File

@ -1,451 +0,0 @@
local AlwaysDetectDistance, StateWalk, StateRun, MonsterLootCommunities
function xr_corpse_detection.evaluator_corpse:evaluate()
if not (self.object:alive()) then
return false
end
if (xr_danger.has_danger(self.object)) then
return false
end
if (xr_conditions.surge_started() == true) then
return false
end
local npc = self.object
if (IsWounded(npc) or npc:best_enemy())then
return false
end
local st = db.storage[npc:id()]
if (st) and ((st.active_scheme == "camper") or (st.help_wounded and st.help_wounded.selected_id ~= nil) or (st.gather_items and st.gather_items.selected_id ~= nil)) then
return false
end
self.a.analse_mode = xr_logic.pick_section_from_condlist(db.actor, self.object, self.a.mutant_corpse_analysis)
self.a.enabled = xr_logic.pick_section_from_condlist(db.actor, self.object, self.a.corpse_detection_enabled)
if (self.a.analse_mode == "false" and self.a.enabled == "false") then
return false
end
if (self:find_valid_target()) then
return true
end
return false
end
local rank_coeffs_table = {
novice = 20,
trainee = 20,
experienced = 25,
professional = 35,
veteran = 40,
expert = 50,
master = 55,
legend = 60
}
function xr_corpse_detection.get_all_from_corpse(npc)
if not (db.actor) then
return
end
local id = npc:id()
local st = db.storage[id] and db.storage[id].corpse_detection
-- sanity check, this should never happen
if not (st) then
return
end
local corpse_npc_id = st.selected_corpse_id
local corpse_npc = corpse_npc_id and db.storage[corpse_npc_id] and db.storage[corpse_npc_id].object or corpse_npc_id and level.object_by_id(corpse_npc_id)
-- reset all scheme dependent variables
if (st.selected_corpse_id) then
if (db.storage[st.selected_corpse_id]) then
db.storage[st.selected_corpse_id].corpse_already_selected = nil
end
end
st.__stimer = nil
st.mutant_analysed = nil
st.vertex_id = nil
st.vertex_position = nil
st.selected_corpse_id = nil
st.state = nil
st.index = 1
st.nearest_corpse_dist = nil
st.nearest_corpse_vertex = nil
st.nearest_corpse_position = nil
st.nearest_id = nil
if (corpse_npc == nil or corpse_npc:alive() == true) then
return
end
if not(IsStalker(corpse_npc)) then
if (get_story_object("yan_ecolog_semenov")) then
local need = load_var(db.actor,"yan_ecolog_semenov_task_1_tissue_need") or 0
if (need > 0) then
local count = load_var(db.actor,"yan_ecolog_semenov_task_1_tissue_count") or 0
save_var(db.actor,"yan_ecolog_semenov_task_1_tissue_count",count + 1)
end
end
local looted = se_load_var(corpse_npc:id(),corpse_npc:name(),"looted") == "true"
if (not looted) and ui_mutant_loot then
local loot = {}
ui_mutant_loot.loot_mutant(corpse_npc:section(),corpse_npc:clsid(),loot,npc,nil,corpse_npc)
local is_there_loot
for sec,t in pairs(loot) do
is_there_loot = true
break
end
if (is_there_loot) then
xr_sound.set_sound_play(id,"corpse_loot_good")
else
xr_sound.set_sound_play(id,"corpse_loot_bad")
end
se_save_var(corpse_npc:id(),corpse_npc:name(),"looted","true")
game_statistics.increment_npc_statistic(npc,"field_dressings")
end
return
end
local item_value = 0
local npc_rank = ranks.get_obj_rank_name(npc)
local inv_weight = npc:get_total_weight()
local max_weight = rank_coeffs_table[npc_rank] / 1.5
local function get_item(corpse,item)
if (xr_corpse_detection.lootable_table[item:section()] ~= nil) then
if (IsItem("money", item:section())) then
alife_release(item)
else
item_value = item:cost() * item:condition() / (rank_coeffs_table[npc_rank] * (item:weight() + 0.1))
if (inv_weight + item:weight() > max_weight) then
if (not IsArtefact(item)) then
item_value = item_value / inv_weight
end
end
if (item_value > 99 or math.random(item_value) > 5) then
corpse:transfer_item(item,npc)
inv_weight = inv_weight + item:weight()
SendScriptCallback("npc_on_get_all_from_corpse",npc,corpse_npc,item,xr_corpse_detection.lootable_table[item:section()])
end
end
end
end
corpse_npc:iterate_inventory(get_item,corpse_npc)
if item_money then
item_money.npc_on_loot_money(npc, corpse_npc)
end
if (item_value > rank_coeffs_table[npc_rank] * 10) then
xr_sound.set_sound_play(id,"corpse_loot_good")
elseif (math.random(1,100)/100 < 0.5) then
xr_sound.set_sound_play(id,"corpse_loot_bad")
end
local count = load_var(npc,"s_loot_count") or 0
if (count >= 255) then
count = 254
end
save_var(npc,"s_loot_count",count+1)
game_statistics.increment_npc_statistic(npc,"corpse_looted")
se_save_var(corpse_npc:id(),corpse_npc:name(),npc:id(),"true")
end
function xr_corpse_detection.evaluator_corpse:find_valid_target()
if (self.a.cstackprevent) then
printf("C Stack Overflow Prevention: warning xr_corpse_detection scheme making repeated calls without return; save now and reload!")
return false
end
if (self.a.selected_corpse_id) then -- looting process
local corpse = db.storage[self.a.selected_corpse_id] and db.storage[self.a.selected_corpse_id].object or level.object_by_id(self.a.selected_corpse_id)
local state = state_mgr.get_state(self.object)
-- Code demonized - add check for looting state so the npc wont stop looting if actor is near a corpse
if corpse and (state == "search_corpse" or state == "field_dress" or state == "scaner_crouch" or not xr_corpse_detection.near_actor(corpse)) then
return true
elseif (db.storage[self.a.selected_corpse_id]) then
db.storage[self.a.selected_corpse_id].corpse_already_selected = nil
end
-- code end
end
local tg = time_global()
self.a.__dtimer = not self.a.__dtimer and tg + 250 or self.a.__dtimer
if (tg < self.a.__dtimer) then
return false
end
self.a.__dtimer = nil
if not (self.a.index) then
self.a.index = 1
end
if not (self.a.memory) then
self.a.memory = {}
end
local npc = self.object
local size = #self.a.memory
if (size == 0) then
self.a.cstackprevent = true
for o in npc:memory_visible_objects() do
local obj = o and o:object()
if (obj and (IsStalker(obj) or IsMonster(obj)) and obj:alive() ~= true and not xr_corpse_detection.near_actor(obj)) then
size = size + 1
self.a.memory[size] = obj:id()
end
end
self.a.cstackprevent = nil
end
if (size == 0 or self.a.index > size) then
if (self.a.nearest_id and db.storage[self.a.nearest_id] and db.storage[self.a.nearest_id].corpse_already_selected == nil) then
if (self.a.selected_corpse_id and db.storage[self.a.selected_corpse_id]) then
db.storage[self.a.selected_corpse_id].corpse_already_selected = nil
end
self.a.vertex_id = self.a.nearest_corpse_vertex
self.a.vertex_position = self.a.nearest_corpse_position
self.a.selected_corpse_id = self.a.nearest_id
self.a.state = self.a.nearest_state
db.storage[self.a.selected_corpse_id].corpse_already_selected = npc:id() -- current looter
self.a.index = 1
self.a.nearest_corpse_dist = nil
self.a.nearest_corpse_vertex = nil
self.a.nearest_corpse_position = nil
self.a.nearest_id = nil
return true
end
self.a.index = 1
self.a.nearest_corpse_dist = nil
self.a.nearest_corpse_vertex = nil
self.a.nearest_corpse_position = nil
self.a.nearest_id = nil
empty_table(self.a.memory)
return false
end
local id = self.a.memory[self.a.index]
local corpse_npc = id and db.storage[id] and db.storage[id].object
if (corpse_npc and corpse_npc:alive() ~= true and db.storage[id] and not db.storage[self.a.selected_corpse_id] and not se_load_var(corpse_npc:id(),corpse_npc:name(),npc:id())) then
if (db.storage[id].corpse_already_selected == nil) then
local is_stalker = IsStalker(corpse_npc)
local can_loot_mutants = not is_stalker and not se_load_var(corpse_npc:id(),corpse_npc:name(),"looted") and (self.a.analse_mode == "true" or self.a.enabled == "true" and MonsterLootCommunities[character_community(npc)])
if (self.a.enabled == "true" and is_stalker or can_loot_mutants) then
local corpse_pos = utils_obj.safe_bone_pos(corpse_npc,"bip01_spine")
local dist = npc:position():distance_to_sqr(corpse_pos)
if (dist < AlwaysDetectDistance) and (self.a.nearest_corpse_dist == nil or dist <= self.a.nearest_corpse_dist) then
local corpse_vertex = level.vertex_id(corpse_pos)
if level.vertex_position(corpse_vertex):distance_to_sqr(corpse_pos) > 16 then
corpse_vertex = corpse_npc:level_vertex_id()
end
if (npc:accessible(corpse_vertex) and level.vertex_position(corpse_vertex):distance_to_sqr(corpse_pos) <= 15) then
self.a.nearest_corpse_dist = dist
self.a.nearest_corpse_vertex = corpse_vertex
self.a.nearest_corpse_position = corpse_pos
self.a.nearest_id = id
self.a.nearest_state = dist < math.random(5,30) and StateWalk or StateRun
end
end
end
elseif math.random(4) > 1 then
se_save_var(corpse_npc:id(),corpse_npc:name(),npc:id(),"true")
end
end
self.a.index = self.a.index + 1
return false
end
function xr_corpse_detection.on_game_start()
local ini = ini_file("ai_tweaks\\xr_corpse_detection.ltx")
AlwaysDetectDistance = 1500
StateWalk = ini:r_string_ex("settings","state_walk") or "walk_noweap"
StateRun = ini:r_string_ex("settings","state_run") or "rush"
MonsterLootCommunities = utils_data.collect_section(ini,"loot_mutant_communities",true)
xr_corpse_detection.lootable_table = xr_corpse_detection.get_loot_table(ini)
end
-- not used
function xr_corpse_detection.has_valuable_loot() end
function xr_corpse_detection.set_valuable_loot() end
----------------------------------------------------------------------
local Items = {}
function xr_gather_items.eva_gather_itm:find_valid_item()
if (self.st.cstackprevent) then
printf("C Stack Overflow Prevention: warning xr_gather_items scheme making repeated calls without return; save now and reload!")
return false
end
if (self.st.selected_id) then
local se_itm = self.st.selected_id ~= 0 and self.st.selected_id ~= 65535 and alife_object(self.st.selected_id)
if (se_itm and se_itm.parent_id == 65535) then
local itm = level.object_by_id(se_itm.id)
if (itm) then
return true
end
end
Items[self.st.selected_id] = nil
self.st.selected_id = nil
end
local tg = time_global()
self.st.__dtimer = not self.st.__dtimer and tg + 250 or self.st.__dtimer
if (tg < self.st.__dtimer) then
return false
end
self.st.__dtimer = nil
local loot_table = xr_corpse_detection.lootable_table or utils_data.collect_section(ini,"lootable",true)
if not (loot_table) then
return false
end
if not (self.st.index) then
self.st.index = 1
end
if not (self.st.memory) then
self.st.memory = {}
end
local npc = self.object
local size = #self.st.memory
if (size == 0) then
local obj_id
self.st.cstackprevent = true
for o in npc:memory_visible_objects() do
local obj = o and o:object()
if (obj) then
obj_id = obj:id()
if (loot_table[obj:section()] ~= nil) then
size = size + 1
table.insert(self.st.memory,obj_id)
end
end
end
self.st.cstackprevent = nil
if (size == 0) then
return false
end
end
if (size == 0 or self.st.index > size) then
if (self.st.nearest_id and Items[self.st.nearest_id] == nil and (not game_setup.is_world_item(self.st.nearest_id))) then
if (self.st.selected_id and Items[self.st.selected_id]) then
Items[self.st.selected_id] = nil
end
self.st.selected_id = self.st.nearest_id
self.st.vid = self.st.nearest_vid
self.st.vid_pos = self.st.nearest_pos
Items[self.st.selected_id] = npc:id()
self.st.stage = 1
self.st.nearest_dist = nil
self.st.nearest_vid = nil
self.st.nearest_pos = nil
self.st.nearest_id = nil
self.st.index = 1
local be = npc:best_enemy()
local dist = npc:position():distance_to(self.st.vid_pos)
if (be or dist < 3) then
self.st.state = "patrol"
else
self.st.state = "rush"
end
return true
end
self.st.index = 1
self.st.nearest_dist = nil
self.st.nearest_vid = nil
self.st.nearest_pos = nil
self.st.nearest_id = nil
empty_table(self.st.memory)
return false
end
local itm_id = self.st.memory[self.st.index]
self.st.index = self.st.index + 1
local itm = itm_id and itm_id ~= 0 and itm_id ~= 65535 and level.object_by_id(itm_id)
local se_itm = itm and loot_table[itm:section()] and Items[itm_id] == nil and alife_object(itm_id)
if not (se_itm and se_itm.parent_id == 65535) then
return false
end
if (get_object_story_id(itm_id)) then
return false
end
if (IsArtefact(nil,se_itm:clsid())) then
if (xr_logic.pick_section_from_condlist(db.actor, npc, self.st.gather_artefact_items_enabled) == "false") then
return false
end
else
if not (npc:see(itm)) then
return false
end
end
if (npc:best_enemy()) then
if not (IsWeapon(itm)) then
return false
end
if (IsWeapon(npc:active_item())) then
return false
end
else
if (itm:condition() < 0.44) then
return false
end
end
local itm_pos = itm:position()
local dist = npc:position():distance_to_sqr(itm_pos)
if (self.st.nearest_dist == nil or dist < self.st.nearest_dist) and (dist < 1225) then -- 1225 is MaxDetectDistance
local vid = level.vertex_id(itm_pos)
if (level.vertex_position(vid):distance_to_sqr(itm_pos) > 16) then
vid = itm:level_vertex_id()
end
if (npc:accessible(vid) and level.vertex_position(vid):distance_to_sqr(itm_pos) <= 15) then
self.st.nearest_dist = dist
self.st.nearest_vid = vid
self.st.nearest_pos = itm_pos
self.st.nearest_id = itm_id
end
end
return false
end

View File

@ -172,12 +172,15 @@ function xr_corpse_detection.evaluator_corpse:find_valid_target()
if (self.a.selected_corpse_id) then -- looting process if (self.a.selected_corpse_id) then -- looting process
local corpse = db.storage[self.a.selected_corpse_id] and db.storage[self.a.selected_corpse_id].object or level.object_by_id(self.a.selected_corpse_id) local corpse = db.storage[self.a.selected_corpse_id] and db.storage[self.a.selected_corpse_id].object or level.object_by_id(self.a.selected_corpse_id)
local state = state_mgr.get_state(self.object)
if corpse and not xr_corpse_detection.near_actor(corpse) then -- Code demonized - add check for looting state so the npc wont stop looting if actor is near a corpse
if corpse and (state == "search_corpse" or state == "field_dress" or state == "scaner_crouch" or not xr_corpse_detection.near_actor(corpse)) then
return true return true
elseif (db.storage[self.a.selected_corpse_id]) then elseif (db.storage[self.a.selected_corpse_id]) then
db.storage[self.a.selected_corpse_id].corpse_already_selected = nil db.storage[self.a.selected_corpse_id].corpse_already_selected = nil
end end
-- code end
end end
local tg = time_global() local tg = time_global()

View File

@ -6,7 +6,7 @@ newestVersion=
category="7," category="7,"
nexusFileStatus=1 nexusFileStatus=1
installationFile=NPC_Looting_Fix_1.5.rar installationFile=NPC_Looting_Fix_1.5.rar
repository=Nexus repository=
ignoredVersion= ignoredVersion=
comments= comments=
notes= notes=

View File

@ -26,4 +26,5 @@ bwhr_warn
bwhr_rad bwhr_rad
bwhr_bio bwhr_bio
bwhr_info bwhr_info
bwhr_magn bwhr_magn
bwhr_stash

View File

@ -27,4 +27,6 @@ bwhr_magn
diamond_friendly diamond_friendly
redround32 redround32
stalker stalker
stash_green stash_green
stash_backpack
bwhr_stash

View File

@ -1,6 +1,6 @@
[iconset_npcs] [iconset_npcs]
name = ui_mcm_lst_pawsys_pg_npcs name = ui_mcm_lst_pawsys_pg_npcs
default = diamond_friendly default = bwhr_tag
[npcs_icons] [npcs_icons]
; It's best to leave the default groups ; It's best to leave the default groups
@ -34,3 +34,4 @@ npc_medic
sleep_zone sleep_zone
obj_briefcase obj_briefcase
obj_lock obj_lock
bwhr_tag

Some files were not shown because too many files have changed in this diff Show More