Added New Mods
Added - MRAA + Blindside Military Animation Pack - Dynamic Zone Transitions - Corpse Twitching - Artifact Inspection - Animated Lead Box
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<string_table>
|
||||
<string id="st_inspect">
|
||||
<text>inspect</text>
|
||||
</string>
|
||||
</string_table>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<string_table>
|
||||
<string id="st_inspect">
|
||||
<text>îãëÿíóòè</text>
|
||||
</string>
|
||||
</string_table>
|
||||
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,188 @@
|
||||
af_anim_item = nil
|
||||
active_slot = nil
|
||||
particle = nil
|
||||
pos = nil
|
||||
fov = nil
|
||||
|
||||
containers = {
|
||||
"af_aac",
|
||||
"af_aam",
|
||||
"af_iam",
|
||||
"lead_box"
|
||||
}
|
||||
|
||||
function inspect(itm)
|
||||
if zzz_ea_addon_backpack then
|
||||
zzz_ea_addon_backpack.actor_on_item_use(itm)
|
||||
end
|
||||
|
||||
local function contains_container(item_section)
|
||||
for _, container in ipairs(containers) do
|
||||
if string.find(item_section, container) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
if contains_container(itm:section()) then
|
||||
if system_ini():line_exist(itm:section(), "1icon_layer") then
|
||||
local art = system_ini():r_string_ex(itm:section(), "1icon_layer", "")
|
||||
af_anim_item = art .. "_hud"
|
||||
end
|
||||
else
|
||||
af_anim_item = itm:section() .. "_hud"
|
||||
end
|
||||
|
||||
-- Patch for FDDA Backpack Animations
|
||||
if zzz_ea_addon_backpack and zzz_ea_addon_backpack.anim_enabled then
|
||||
zzz_ea_addon_backpack.det_active = nil
|
||||
active_slot = zzz_ea_addon_backpack.active_slot
|
||||
else
|
||||
active_slot = db.actor:active_slot()
|
||||
end
|
||||
----------------------------------------
|
||||
|
||||
get_hud():HideActorMenu()
|
||||
level.disable_input()
|
||||
fov = get_console():get_float("hud_fov")
|
||||
particle = particles_object("artefact\\effects\\af_idle_dist")
|
||||
|
||||
give_object_to_actor(af_anim_item)
|
||||
level.add_call( function () return db.actor:object(af_anim_item) end, function ()
|
||||
db.actor:activate_slot(14)
|
||||
end)
|
||||
|
||||
level.add_call( function () return db.actor:active_slot() == 14 end, function ()
|
||||
get_console():execute("hud_fov 0.55")
|
||||
particle:play_at_pos(get_play_pos())
|
||||
level.enable_input()
|
||||
local r, g, b = get_light_rgb(af_anim_item)
|
||||
light_on(r,g,b,1,50,0.2,0.3)
|
||||
end)
|
||||
end
|
||||
|
||||
function get_light_rgb(af_anim_item)
|
||||
local not_hud_itm = string.gsub(af_anim_item, "_hud$", "")
|
||||
if system_ini():line_exist(not_hud_itm, "trail_light_color") then
|
||||
local rgb = system_ini():r_string_ex(not_hud_itm,"trail_light_color","")
|
||||
local r, g, b = rgb:match("([^,]+),([^,]+),([^,]+)")
|
||||
r = tonumber(r)
|
||||
g = tonumber(g)
|
||||
b = tonumber(b)
|
||||
return r, g, b
|
||||
end
|
||||
end
|
||||
|
||||
function get_play_pos()
|
||||
pos = db.actor:bone_position("jaw_1"):add(device().cam_dir:mul(0.3))
|
||||
pos.y = pos.y - 0.1
|
||||
return pos
|
||||
end
|
||||
|
||||
function release_af()
|
||||
level.disable_input()
|
||||
db.actor:activate_slot(active_slot)
|
||||
|
||||
level.add_call( function () return db.actor:active_slot() == active_slot end, function ()
|
||||
alife():release(alife():object(db.actor:object(af_anim_item):id()), true)
|
||||
af_anim_item = nil
|
||||
active_slot = nil
|
||||
particle:stop()
|
||||
light_off()
|
||||
get_console():execute("hud_fov".." "..fov)
|
||||
level.enable_input()
|
||||
end)
|
||||
end
|
||||
|
||||
function light_on(r,g,b,range,bright,y_pos,dirmult)
|
||||
light = script_light()
|
||||
light.type = 1
|
||||
light.range = range
|
||||
light_bright = bright
|
||||
light_range = range
|
||||
light.lanim = "koster_01_electra"
|
||||
light.lanim_brightness = 1
|
||||
light.hud_mode = false
|
||||
light.shadow = false
|
||||
light.volumetric = false
|
||||
light.enabled = true
|
||||
light.color = fcolor():set(r,g,b,bright)
|
||||
local dir = device().cam_dir
|
||||
local pos = device().cam_pos
|
||||
pos = pos:add(dir:mul(dirmult))
|
||||
pos.y = pos.y - y_pos
|
||||
light:set_position(pos)
|
||||
light:set_direction(dir)
|
||||
light:update()
|
||||
CreateTimeEvent("l_move", "l_move", 0, light_move,r,g,b,y_pos,dirmult)
|
||||
light_flag = true
|
||||
return true
|
||||
end
|
||||
|
||||
function light_move(r,g,b,y_pos,dirmult)
|
||||
light_bright = light_bright
|
||||
light_range = light_range
|
||||
light.range = light_range
|
||||
light.color = fcolor():set(r,g,b,light_bright)
|
||||
local dir = device().cam_dir
|
||||
local pos = device().cam_pos
|
||||
pos = pos:add(dir:mul(dirmult))
|
||||
pos.y = pos.y - y_pos
|
||||
light:set_position(pos)
|
||||
light:set_direction(dir)
|
||||
light:update()
|
||||
if light_flag then
|
||||
return false
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
function light_off()
|
||||
if not light then return end
|
||||
|
||||
light.enabled = false
|
||||
light:update()
|
||||
light_flag = false
|
||||
return true
|
||||
end
|
||||
|
||||
function on_key_press()
|
||||
if af_anim_item == nil then return end
|
||||
|
||||
release_af()
|
||||
end
|
||||
|
||||
function actor_on_update()
|
||||
if af_anim_item then
|
||||
particle:move_to(get_play_pos(),device().cam_dir)
|
||||
end
|
||||
end
|
||||
|
||||
function actor_on_first_update()
|
||||
local active_item = db.actor:active_item()
|
||||
if active_item and (string.find(active_item:section(), "af_") or active_item:section() == "monolith_shard_hud") then
|
||||
alife():release(alife():object(db.actor:object(active_item:section()):id()), true)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function st_inspect(itm)
|
||||
local containersSet = {}
|
||||
for _, itm in ipairs(containers) do
|
||||
containersSet[itm] = true
|
||||
end
|
||||
|
||||
if containersSet[itm:section()] then
|
||||
return
|
||||
end
|
||||
|
||||
return game.translate_string("st_inspect")
|
||||
end
|
||||
|
||||
function on_game_start()
|
||||
RegisterScriptCallback("on_key_press",on_key_press)
|
||||
RegisterScriptCallback("actor_on_update",actor_on_update)
|
||||
RegisterScriptCallback("actor_on_first_update",actor_on_first_update)
|
||||
end
|
||||
@@ -0,0 +1,9 @@
|
||||
function normal (shader, t_base, t_second, t_detail)
|
||||
shader:begin ("model_distort4ghost","base_lplanes")
|
||||
: fog (true)
|
||||
: zb (false,false)
|
||||
: blend (true,blend.srcalpha,blend.invsrcalpha)
|
||||
: aref (true,0)
|
||||
: sorting (3,true)
|
||||
shader:sampler ("s_base") :texture (t_base)
|
||||
end
|
||||
@@ -0,0 +1,9 @@
|
||||
function normal (shader, t_base, t_second, t_detail)
|
||||
shader:begin ("model_distort4ghost","base_lplanes")
|
||||
: fog (true)
|
||||
: zb (false,false)
|
||||
: blend (true,blend.srcalpha,blend.invsrcalpha)
|
||||
: aref (true,0)
|
||||
: sorting (3,true)
|
||||
shader:sampler ("s_base") :texture (t_base)
|
||||
end
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
function normal (shader, t_base, t_second, t_detail)
|
||||
shader:begin ("model_distort4ghost","base_lplanes")
|
||||
: fog (true)
|
||||
: zb (false,false)
|
||||
: blend (true,blend.srcalpha,blend.invsrcalpha)
|
||||
: aref (true,0)
|
||||
: sorting (3,true)
|
||||
shader: dx10texture ("s_base", t_base)
|
||||
shader: dx10sampler ("smp_base")
|
||||
shader: dx10sampler ("smp_rtlinear")
|
||||
end
|
||||
Binary file not shown.
@@ -0,0 +1,28 @@
|
||||
[General]
|
||||
gameName=stalkeranomaly
|
||||
modid=0
|
||||
version=d2025.1.15.0
|
||||
newestVersion=
|
||||
category="-1,"
|
||||
nexusFileStatus=1
|
||||
installationFile=ArtifactsInspectionv1.8.zip
|
||||
repository=Nexus
|
||||
ignoredVersion=
|
||||
comments=
|
||||
notes=
|
||||
nexusDescription=
|
||||
url=
|
||||
hasCustomURL=true
|
||||
lastNexusQuery=
|
||||
lastNexusUpdate=
|
||||
nexusLastModified=2025-01-15T22:31:49Z
|
||||
nexusCategory=0
|
||||
converted=false
|
||||
validated=false
|
||||
color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
|
||||
tracked=0
|
||||
|
||||
[installedFiles]
|
||||
1\modid=0
|
||||
1\fileid=0
|
||||
size=1
|
||||
Reference in New Issue
Block a user