Removed Unnecessary Mod Files; Updated Mods
This commit is contained in:
-49
@@ -1,49 +0,0 @@
|
||||
[smart_terrain]
|
||||
squad_id = 1
|
||||
max_population = 3
|
||||
respawn_params = respawn@katacomb_smart_terrain
|
||||
respawn_idle = 43200
|
||||
|
||||
[respawn@katacomb_smart_terrain] ;-- Type: faction {greh} = faction base
|
||||
spawn_greh@veteran
|
||||
spawn_greh@advanced
|
||||
spawn_greh@novice
|
||||
spawn_heli_strong
|
||||
spawn_heli_weak
|
||||
|
||||
|
||||
[spawn_greh@novice]
|
||||
spawn_squads = greh_sim_squad_novice, greh_sim_squad_novice
|
||||
spawn_num = {+mortal_sin -kat_greh_sabaoth_mortal_sin} 3, 0
|
||||
|
||||
[spawn_greh@advanced]
|
||||
spawn_squads = greh_sim_squad_advanced, greh_sim_squad_veteran
|
||||
spawn_num = {+mortal_sin -kat_greh_sabaoth_mortal_sin} 3, 0
|
||||
|
||||
[spawn_greh@veteran]
|
||||
spawn_squads = greh_sim_squad_advanced, greh_sim_squad_veteran
|
||||
spawn_num = {+mortal_sin -kat_greh_sabaoth_mortal_sin} 2, 0
|
||||
|
||||
[spawn_heli_strong]
|
||||
spawn_helicopter = simulation_monolith_helicopter_strong
|
||||
spawn_num = {!down_to_earth_functor !heli_exist_on_level} 1, 0
|
||||
|
||||
[spawn_heli_weak]
|
||||
spawn_helicopter = simulation_monolith_helicopter_weak
|
||||
spawn_num = {=down_to_earth_functor !heli_exist_on_level} 1, 0
|
||||
|
||||
|
||||
[exclusive]
|
||||
kat_greh_sabaoth = katacomb_hospital\kat_greh_sabaoth.ltx
|
||||
kat_greh_tech = katacomb_hospital\kat_greh_tech.ltx
|
||||
kat_greh_trader = katacomb_hospital\kat_greh_trader.ltx
|
||||
kat_greh_guide = katacomb_hospital\kat_greh_guide.ltx
|
||||
|
||||
kat_hosp_z1_minigunner_excl = katacomb_hospital\katacomb_smart_terrain_logic.ltx
|
||||
kat_hosp_z3_minigunner_excl = katacomb_hospital\katacomb_smart_terrain_logic.ltx
|
||||
kat_greh_squad_guard_mlr_1 = katacomb_hospital\kat_greh_mlr_characters_logic.ltx
|
||||
kat_greh_squad_guard_mlr_2 = katacomb_hospital\kat_greh_mlr_characters_logic.ltx
|
||||
kat_greh_squad_guard_mlr_3 = katacomb_hospital\kat_greh_mlr_characters_logic.ltx
|
||||
kat_greh_squad_guard_mlr_4 = katacomb_hospital\kat_greh_mlr_characters_logic.ltx
|
||||
kat_greh_squad_guard_mlr_5 = katacomb_hospital\kat_greh_mlr_characters_logic.ltx
|
||||
kat_greh_squad_guard_mlr_6 = katacomb_hospital\kat_greh_mlr_characters_logic.ltx
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
[smart_terrain]
|
||||
squad_id = 10
|
||||
max_population = 3
|
||||
respawn_params = respawn@lim_smart_terrain_9
|
||||
respawn_idle = 345600
|
||||
|
||||
[respawn@lim_smart_terrain_9] ;-- Type: faction {monolith} = stronghold
|
||||
spawn_heli_strong
|
||||
spawn_heli_weak
|
||||
|
||||
|
||||
[spawn_heli_strong]
|
||||
spawn_helicopter = simulation_monolith_helicopter_strong
|
||||
spawn_num = {!down_to_earth_functor !heli_exist_on_level} 1, 0
|
||||
|
||||
[spawn_heli_weak]
|
||||
spawn_helicopter = simulation_monolith_helicopter_weak
|
||||
spawn_num = {=down_to_earth_functor !heli_exist_on_level} 1, 0
|
||||
|
||||
|
||||
;[exclusive]
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
;Determines the spawn percentage per each anomaly and max number of them
|
||||
[spawn_properties]
|
||||
spawn_percent = 0.2
|
||||
anomaly_max_number = 2
|
||||
anomaly_max_active = 38 ; Unused
|
||||
|
||||
;Determines the range of anomaly radius
|
||||
[radius_properties]
|
||||
min_radius = 1
|
||||
max_radius = 1
|
||||
|
||||
;Determines the list of anomalies that can be spawned
|
||||
[anomaly_types]
|
||||
;zone_mine_zharka
|
||||
zone_mine_point
|
||||
zone_mine_umbra
|
||||
zone_mine_cdf
|
||||
zone_mine_blast
|
||||
zone_mine_vortex
|
||||
zone_mine_gold
|
||||
zone_mine_thorn
|
||||
;zone_field_radioactive_weak
|
||||
;zone_field_radioactive_average
|
||||
;zone_field_radioactive_strong
|
||||
;zone_radioactive_weak
|
||||
;zone_radioactive_average
|
||||
;zone_radioactive_strong
|
||||
zone_mine_acidic_weak
|
||||
;zone_mine_acidic_average
|
||||
;zone_mine_acidic_strong
|
||||
zone_mine_electric_weak
|
||||
;zone_mine_electric_average
|
||||
;zone_mine_electric_strong
|
||||
zone_mine_thermal_weak
|
||||
;zone_mine_thermal_average
|
||||
;zone_mine_thermal_strong
|
||||
zone_mine_gravitational_weak
|
||||
zone_mine_gravitational_average
|
||||
|
||||
;Determines the smarts around which anomalies will be created
|
||||
[available_smarts]
|
||||
katacomb_smart_terrain
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
;Determines the spawn percentage per each anomaly and max number of them
|
||||
[spawn_properties]
|
||||
spawn_percent = 0.2
|
||||
anomaly_max_number = 2
|
||||
anomaly_max_active = 38 ; Unused
|
||||
|
||||
;Determines the range of anomaly radius
|
||||
[radius_properties]
|
||||
min_radius = 1
|
||||
max_radius = 1
|
||||
|
||||
;Determines the list of anomalies that can be spawned
|
||||
[anomaly_types]
|
||||
;zone_mine_zharka
|
||||
zone_mine_point
|
||||
zone_mine_darkness
|
||||
zone_mine_radar
|
||||
zone_mine_blast
|
||||
zone_mine_vortex
|
||||
zone_mine_gold
|
||||
;zone_field_radioactive_weak
|
||||
;zone_field_radioactive_average
|
||||
;zone_field_radioactive_strong
|
||||
;zone_radioactive_weak
|
||||
;zone_radioactive_average
|
||||
;zone_radioactive_strong
|
||||
zone_mine_acidic_weak
|
||||
;zone_mine_acidic_average
|
||||
;zone_mine_acidic_strong
|
||||
zone_mine_electric_weak
|
||||
;zone_mine_electric_average
|
||||
;zone_mine_electric_strong
|
||||
zone_mine_thermal_weak
|
||||
;zone_mine_thermal_average
|
||||
;zone_mine_thermal_strong
|
||||
zone_mine_gravitational_weak
|
||||
zone_mine_gravitational_average
|
||||
|
||||
;Determines the smarts around which anomalies will be created
|
||||
[available_smarts]
|
||||
katacomb_smart_terrain
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
;Determines the spawn percentage per each anomaly and max number of them
|
||||
[spawn_properties]
|
||||
spawn_percent = 0.2
|
||||
anomaly_max_number = 2
|
||||
anomaly_max_active = 38 ; Unused
|
||||
|
||||
;Determines the range of anomaly radius
|
||||
[radius_properties]
|
||||
min_radius = 1
|
||||
max_radius = 1
|
||||
|
||||
;Determines the list of anomalies that can be spawned
|
||||
[anomaly_types]
|
||||
;zone_mine_zharka
|
||||
zone_mine_point
|
||||
zone_mine_umbra
|
||||
zone_mine_cdf
|
||||
zone_mine_blast
|
||||
zone_mine_vortex
|
||||
zone_mine_gold
|
||||
zone_mine_thorn
|
||||
;zone_field_radioactive_weak
|
||||
;zone_field_radioactive_average
|
||||
;zone_field_radioactive_strong
|
||||
;zone_radioactive_weak
|
||||
;zone_radioactive_average
|
||||
;zone_radioactive_strong
|
||||
zone_mine_acidic_weak
|
||||
;zone_mine_acidic_average
|
||||
;zone_mine_acidic_strong
|
||||
zone_mine_electric_weak
|
||||
;zone_mine_electric_average
|
||||
;zone_mine_electric_strong
|
||||
zone_mine_thermal_weak
|
||||
;zone_mine_thermal_average
|
||||
;zone_mine_thermal_strong
|
||||
zone_mine_gravitational_weak
|
||||
zone_mine_gravitational_average
|
||||
|
||||
;Determines the smarts around which anomalies will be created
|
||||
[available_smarts]
|
||||
katacomb_smart_terrain
|
||||
-468
@@ -1,468 +0,0 @@
|
||||
|
||||
ENABLE_DYNAMIC_RADIATION_ZONES = true
|
||||
ENABLE_DYNAMIC_RADIATION_ZONES_NPP = true
|
||||
|
||||
local blacklisted_smarts = {
|
||||
l01_escape = {
|
||||
esc_smart_terrain_3_16 = true,
|
||||
esc_smart_terrain_2_12 = true,
|
||||
esc_smart_terrain_5_7 = true,
|
||||
esc_smart_terrain_4_9 = true
|
||||
},
|
||||
y04_pole = {
|
||||
},
|
||||
k00_marsh = {
|
||||
mar_smart_terrain_base = true,
|
||||
mar_smart_terrain_5_8 = true,
|
||||
mar_smart_terrain_doc_2 = true
|
||||
},
|
||||
k01_darkscape = {
|
||||
ds2_domik_st = true
|
||||
},
|
||||
l02_garbage = {
|
||||
gar_smart_terrain_3_5 = true,
|
||||
gar_smart_terrain_6_3 = true
|
||||
},
|
||||
l04_darkvalley = {
|
||||
val_smart_terrain_7_3 = true,
|
||||
val_smart_terrain_7_4 = true,
|
||||
val_smart_terrain_7_5 = true,
|
||||
val_smart_terrain_8_6 = true,
|
||||
val_smart_terrain_7_8 = true, --Smart Z position is too low
|
||||
val_smart_terrain_8_9 = true --Smart Z position is too low
|
||||
},
|
||||
l03_agroprom = {
|
||||
agr_smart_terrain_1_6 = true,
|
||||
agr_smart_terrain_1_6_near_1 = true,
|
||||
agr_smart_terrain_1_6_near_2 = true
|
||||
},
|
||||
l08_yantar = {
|
||||
yan_smart_terrain_3_6 = true,
|
||||
yan_smart_terrain_6_4 = true,
|
||||
},
|
||||
l06_rostok = {
|
||||
},
|
||||
l05_bar = {
|
||||
bar_dolg_bunker = true,
|
||||
bar_dolg_general = true,
|
||||
bar_visitors = true,
|
||||
bar_zastava = true,
|
||||
bar_zastava_2 = true,
|
||||
},
|
||||
k02_trucks_cemetery = {
|
||||
trc_sim_20 = true
|
||||
},
|
||||
l09_deadcity = {
|
||||
cit_killers = true,
|
||||
},
|
||||
l07_military = {
|
||||
mil_smart_terrain_7_10 = true,
|
||||
mil_smart_terrain_7_8 = true,
|
||||
mil_smart_terrain_7_7 = true,
|
||||
mil_smart_terrain_7_12 = true
|
||||
},
|
||||
l10_red_forest = {
|
||||
red_smart_terrain_3_2 = true
|
||||
},
|
||||
l10_radar = {
|
||||
},
|
||||
l10_limansk = {
|
||||
},
|
||||
jupiter = {
|
||||
jup_a6 = true,
|
||||
jup_b41 = true
|
||||
},
|
||||
l11_pripyat = {
|
||||
mlr_terrain = true,
|
||||
pri_monolith = true,
|
||||
},
|
||||
pripyat = {
|
||||
pri_a18_smart_terrain = true,
|
||||
kbo_terrain = true,
|
||||
pri_b306 = true,
|
||||
pri_a16 = true,
|
||||
pri_a16_mlr_copy = true,
|
||||
pri_a28_base = true,
|
||||
pri_b36_smart_terrain = true
|
||||
},
|
||||
l11_hospital = {
|
||||
},
|
||||
zaton = {
|
||||
zat_b40_smart_terrain = true,
|
||||
zat_b18 = true,
|
||||
zat_stalker_base_smart = true,
|
||||
zat_sim_27 = true
|
||||
},
|
||||
l12_stancia = {
|
||||
},
|
||||
l12_stancia_2 = {
|
||||
},
|
||||
l13_generators = {
|
||||
},
|
||||
l12u_sarcofag = {
|
||||
sar_monolith_general = true
|
||||
}
|
||||
}
|
||||
|
||||
local radiation_field_level_settings = {
|
||||
l01_escape = {
|
||||
Name = "l01_escape",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
y04_pole = {
|
||||
Name = "y04_pole",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
k00_marsh = {
|
||||
Name = "k00_marsh",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
k01_darkscape = {
|
||||
Name = "k01_darkscape",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
l02_garbage = {
|
||||
Name = "l02_garbage",
|
||||
Radiation_field = "zone_radioactive_weak",
|
||||
Chance_to_spawn = 30,
|
||||
Radius = 16
|
||||
},
|
||||
l04_darkvalley = {
|
||||
Name = "l04_darkvalley",
|
||||
Radiation_field = "zone_radioactive_weak",
|
||||
Chance_to_spawn = 30,
|
||||
Radius = 16
|
||||
},
|
||||
l03_agroprom = {
|
||||
Name = "l03_agroprom",
|
||||
Radiation_field = "zone_radioactive_weak",
|
||||
Chance_to_spawn = 30,
|
||||
Radius = 16
|
||||
},
|
||||
l08_yantar = {
|
||||
Name = "l08_yantar",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 16
|
||||
},
|
||||
l06_rostok = {
|
||||
Name = "l06_rostok",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 16
|
||||
},
|
||||
l05_bar = {
|
||||
Name = "l05_bar",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 10
|
||||
},
|
||||
k02_trucks_cemetery = {
|
||||
Name = "k02_trucks_cemetery",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 18
|
||||
},
|
||||
l09_deadcity = {
|
||||
Name = "l09_deadcity",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 15
|
||||
},
|
||||
l07_military = {
|
||||
Name = "l07_military",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 18
|
||||
},
|
||||
l10_red_forest = {
|
||||
Name = "l10_red_forest",
|
||||
Radiation_field = "zone_radioactive_average",
|
||||
Chance_to_spawn = 40,
|
||||
Radius = 12
|
||||
},
|
||||
l10_radar = {
|
||||
Name = "l10_radar",
|
||||
Radiation_field = "zone_radioactive_average",
|
||||
Chance_to_spawn = 40,
|
||||
Radius = 24
|
||||
},
|
||||
l10_limansk = {
|
||||
Name = "l10_limansk",
|
||||
Radiation_field = "zone_radioactive_average",
|
||||
Chance_to_spawn = 40,
|
||||
Radius = 24
|
||||
},
|
||||
jupiter = {
|
||||
Name = "jupiter",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 45,
|
||||
Radius = 22
|
||||
},
|
||||
l11_pripyat = {
|
||||
Name = "l11_pripyat",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 0,
|
||||
Radius = 24
|
||||
},
|
||||
pripyat = {
|
||||
Name = "pripyat",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 45,
|
||||
Radius = 24
|
||||
},
|
||||
l11_hospital = {
|
||||
Name = "l11_hospital",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 0,
|
||||
Radius = 1
|
||||
},
|
||||
zaton = {
|
||||
Name = "zaton",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 45,
|
||||
Radius = 22
|
||||
},
|
||||
l12_stancia = {
|
||||
Name = "l12_stancia",
|
||||
Radiation_field = "zone_radioactive_strong",
|
||||
Chance_to_spawn = 50,
|
||||
Radius = 28
|
||||
},
|
||||
l12_stancia_2 = {
|
||||
Name = "l12_stancia_2",
|
||||
Radiation_field = "zone_radioactive_strong",
|
||||
Chance_to_spawn = 50,
|
||||
Radius = 28
|
||||
},
|
||||
l13_generators = {
|
||||
Name = "l13_generators",
|
||||
Radiation_field = "zone_radioactive_strong",
|
||||
Chance_to_spawn = 50,
|
||||
Radius = 28
|
||||
}
|
||||
}
|
||||
|
||||
--Some anomlies will affect new game start point, like scientist bunker in Yantar. They should be capped.
|
||||
local blacklisted_static_radiation_anomalies = {
|
||||
-- l01_escape
|
||||
esc_zone_field_radioactive_weak_0000 = 80,
|
||||
esc_zone_field_radioactive_weak_0011 = 75,
|
||||
esc_zone_field_radioactive_weak_0012 = 75,
|
||||
esc_zone_field_radioactive_weak_0013 = 75,
|
||||
|
||||
--k00_marsh
|
||||
mar_zone_field_radioactive_weak_0007 = 80,
|
||||
|
||||
--pripyat
|
||||
pripyat_zone_field_radioactive_weak_0001 = 5,
|
||||
|
||||
--l04_darkvalley
|
||||
val_zone_field_radioactive_weak_baza_freedom_0016 = 3,
|
||||
val_zone_field_radioactive_weak_baza_freedom_0018 = 3,
|
||||
val_zone_field_radioactive_weak_baza_freedom_0019 = 3,
|
||||
|
||||
--l03_agroprom
|
||||
agr_zone_field_radioactive_average_000 = 20,
|
||||
|
||||
--l07_military
|
||||
mil_zone_field_radioactive_strong = 25,
|
||||
mil_zone_field_radioactive_strong_3 = 50,
|
||||
|
||||
--zaton
|
||||
zaton_zone_field_radioactive_average_0007 = 20,
|
||||
zaton_zone_field_radioactive_average_0008 = 20,
|
||||
zaton_zone_field_radioactive_average_0013 = 20,
|
||||
|
||||
--Name of level: l02_garbage
|
||||
gar_zone_field_radioactive_weak_0001 = 50,
|
||||
gar_zone_field_radioactive_weak_0002 = 40
|
||||
}
|
||||
|
||||
--Underground maps should not be affected by dynamic radiations and wind behaviour
|
||||
local underground_maps = {
|
||||
l03u_agr_underground = true,
|
||||
l08u_brainlab = true,
|
||||
l10u_bunker = true,
|
||||
jupiter_underground = true,
|
||||
l04u_labx18 = true,
|
||||
labx8 = true,
|
||||
l12u_sarcofag = true,
|
||||
l12u_control_monolith = true,
|
||||
l13u_warlab = true
|
||||
}
|
||||
|
||||
|
||||
--Radiation zones the player is in
|
||||
local radiation_zones = {}
|
||||
|
||||
--Table for state management
|
||||
local radiation_table = {}
|
||||
|
||||
--Hack for a wonderful bug in the LUA interpreter itself possibly. IT IS CURSED!
|
||||
environmental_radiation = 0
|
||||
|
||||
--Hack for icon removal
|
||||
local ico_n_removed = false
|
||||
local ico_p_removed = false
|
||||
|
||||
function spawn_radiation_fields_at_new_game()
|
||||
printf("spawn_radiation_fields_at_new_game()")
|
||||
|
||||
for k, v in pairs (radiation_field_level_settings) do
|
||||
run_script = 1
|
||||
spawn_radiation_fields_for_level(v)
|
||||
end
|
||||
|
||||
run_script = 0
|
||||
end
|
||||
|
||||
--Creates new radiation fields for the current level
|
||||
function spawn_radiation_fields_for_level(current_level_settings)
|
||||
if run_script ~= 1 then
|
||||
return
|
||||
end
|
||||
--printf("spawn_radiation_fields_for_level: "..current_level_settings.Name.." ************************************************")
|
||||
|
||||
--printf("get_smart_terrains_of_level: "..current_level_settings.Name)
|
||||
local smarts_of_level = get_smart_terrains_of_level(current_level_settings.Name)
|
||||
|
||||
printf("get blacklisted smarts")
|
||||
local blacklisted_smarts_for_level = blacklisted_smarts[current_level_settings.Name]
|
||||
|
||||
printf("Iterate through smarts")
|
||||
for ksmart, smart in pairs (smarts_of_level) do
|
||||
|
||||
local name_of_smart = smart:name()
|
||||
if (not blacklisted_smarts_for_level[name_of_smart]) then
|
||||
|
||||
if (math.random(1, 100) <= current_level_settings.Chance_to_spawn) then
|
||||
printf("Spawn default radiation zone for smart: "..name_of_smart)
|
||||
|
||||
create_radiation_field(
|
||||
current_level_settings.Radiation_field,
|
||||
smart.position,
|
||||
smart.m_game_vertex_id,
|
||||
level.vertex_id(smart.position),
|
||||
current_level_settings.Radius)
|
||||
end
|
||||
|
||||
else
|
||||
printf("Smart: "..name_of_smart.." is black listed, skip")
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--Creates a new radiation field
|
||||
function create_radiation_field(anomaly_type, position, game_vertex_id, level_vertex_id, radius)
|
||||
printf("create_radiation_field: "..anomaly_type.." Radius: "..radius.. " *****************")
|
||||
|
||||
printf("spawn anomaly")
|
||||
local se_obj = alife( ):create(anomaly_type, position, level_vertex_id, game_vertex_id)
|
||||
|
||||
if (not se_obj) then
|
||||
printf("NO ANOMALY WERE SPAWNED")
|
||||
return
|
||||
end
|
||||
|
||||
local data = utils_stpk.get_anom_zone_data( se_obj )
|
||||
if (not data) then
|
||||
printf( "Error: Unable to set dynamic anomaly properties" )
|
||||
return
|
||||
end
|
||||
|
||||
data.shapes[1] = {}
|
||||
data.shapes[1].shtype = 0
|
||||
data.shapes[1].offset = vector( ):set( 0, 0, 0 ) -- Leave for compatibility with CoC 1.4.22, delete later
|
||||
data.shapes[1].center = vector( ):set( 0, 0, 0 )
|
||||
data.shapes[1].radius = radius
|
||||
utils_stpk.set_anom_zone_data(data, se_obj)
|
||||
|
||||
printf(se_obj.id)
|
||||
printf("Radiation field was spawned succesfully")
|
||||
end
|
||||
|
||||
--Get smart terrains if the level
|
||||
function get_smart_terrains_of_level(level_name)
|
||||
printf("get_smart_terrains_of_level("..level_name..")")
|
||||
smarts_of_level = {}
|
||||
|
||||
for id,smart in pairs(db.smart_terrain_by_id) do
|
||||
cvertex = smart and game_graph():vertex(smart.m_game_vertex_id)
|
||||
|
||||
if (cvertex and alife():level_name(cvertex:level_id()) == level_name) then
|
||||
table.insert(smarts_of_level, smart)
|
||||
end
|
||||
end
|
||||
|
||||
return smarts_of_level
|
||||
end
|
||||
|
||||
|
||||
function initialize_radiation_table()
|
||||
if (not radiation_table.dosimeter_volume) then
|
||||
radiation_table.dosimeter_volume = 1
|
||||
printf("INITIALIZE - dosimeter_volume")
|
||||
end
|
||||
|
||||
if (not radiation_table.wind_alert_state) then
|
||||
--radiation_table.wind_alert_state = WIND_ALERT_STATES.NoAlert
|
||||
--printf("INITIALIZE - wind_alert_state")
|
||||
end
|
||||
end
|
||||
|
||||
function on_game_load()
|
||||
--Initialize radiation_table of not initialized
|
||||
initialize_radiation_table()
|
||||
|
||||
if (ENABLE_DYNAMIC_RADIATION_ZONES) then
|
||||
if (not radiation_table.dynamic_radiation_zones_generated) then
|
||||
--spawn dynamic radiation fields
|
||||
spawn_radiation_fields_at_new_game()
|
||||
radiation_table.dynamic_radiation_zones_generated = true
|
||||
end
|
||||
end
|
||||
|
||||
if (not radiation_table.static_radiation_fields_resized) then
|
||||
--Resize both original and new radiation fields
|
||||
--resize_radiation_fields()
|
||||
radiation_table.static_radiation_fields_resized = true
|
||||
end
|
||||
|
||||
if (ENABLE_DYNAMIC_RADIATION_ZONES_NPP) then
|
||||
if (not radiation_table.dynamic_radiation_zones_generated_npp) then
|
||||
--Spawn special radiation fields for NPP interrior
|
||||
spawn_radiation_fields_for_level(special_spawn_l12u_sarcofag)
|
||||
radiation_table.dynamic_radiation_zones_generated_npp = true
|
||||
end
|
||||
end
|
||||
|
||||
--Reset icon removal flags
|
||||
ico_n_removed = false
|
||||
ico_p_removed = false
|
||||
end
|
||||
|
||||
|
||||
function save_state(m_data)
|
||||
m_data.radiation_table = radiation_table
|
||||
end
|
||||
|
||||
function load_state(m_data)
|
||||
radiation_table = m_data.radiation_table or {}
|
||||
end
|
||||
|
||||
|
||||
function on_game_start()
|
||||
RegisterScriptCallback("on_game_load", on_game_load)
|
||||
RegisterScriptCallback("save_state", save_state)
|
||||
RegisterScriptCallback("load_state", load_state)
|
||||
end
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
;Determines the spawn percentage per each anomaly and max number of them
|
||||
[spawn_properties]
|
||||
spawn_percent = 0.2
|
||||
anomaly_max_number = 2
|
||||
anomaly_max_active = 38 ; Unused
|
||||
|
||||
;Determines the range of anomaly radius
|
||||
[radius_properties]
|
||||
min_radius = 1
|
||||
max_radius = 1
|
||||
|
||||
;Determines the list of anomalies that can be spawned
|
||||
[anomaly_types]
|
||||
;zone_mine_zharka
|
||||
zone_mine_point
|
||||
zone_mine_darkness
|
||||
zone_mine_radar
|
||||
zone_mine_blast
|
||||
zone_mine_vortex
|
||||
zone_mine_gold
|
||||
;zone_field_radioactive_weak
|
||||
;zone_field_radioactive_average
|
||||
;zone_field_radioactive_strong
|
||||
;zone_radioactive_weak
|
||||
;zone_radioactive_average
|
||||
;zone_radioactive_strong
|
||||
zone_mine_acidic_weak
|
||||
;zone_mine_acidic_average
|
||||
;zone_mine_acidic_strong
|
||||
zone_mine_electric_weak
|
||||
;zone_mine_electric_average
|
||||
;zone_mine_electric_strong
|
||||
zone_mine_thermal_weak
|
||||
;zone_mine_thermal_average
|
||||
;zone_mine_thermal_strong
|
||||
zone_mine_gravitational_weak
|
||||
zone_mine_gravitational_average
|
||||
|
||||
;Determines the smarts around which anomalies will be created
|
||||
[available_smarts]
|
||||
katacomb_smart_terrain
|
||||
-468
@@ -1,468 +0,0 @@
|
||||
|
||||
ENABLE_DYNAMIC_RADIATION_ZONES = true
|
||||
ENABLE_DYNAMIC_RADIATION_ZONES_NPP = true
|
||||
|
||||
local blacklisted_smarts = {
|
||||
l01_escape = {
|
||||
esc_smart_terrain_3_16 = true,
|
||||
esc_smart_terrain_2_12 = true,
|
||||
esc_smart_terrain_5_7 = true,
|
||||
esc_smart_terrain_4_9 = true
|
||||
},
|
||||
y04_pole = {
|
||||
},
|
||||
k00_marsh = {
|
||||
mar_smart_terrain_base = true,
|
||||
mar_smart_terrain_5_8 = true,
|
||||
mar_smart_terrain_doc_2 = true
|
||||
},
|
||||
k01_darkscape = {
|
||||
ds2_domik_st = true
|
||||
},
|
||||
l02_garbage = {
|
||||
gar_smart_terrain_3_5 = true,
|
||||
gar_smart_terrain_6_3 = true
|
||||
},
|
||||
l04_darkvalley = {
|
||||
val_smart_terrain_7_3 = true,
|
||||
val_smart_terrain_7_4 = true,
|
||||
val_smart_terrain_7_5 = true,
|
||||
val_smart_terrain_8_6 = true,
|
||||
val_smart_terrain_7_8 = true, --Smart Z position is too low
|
||||
val_smart_terrain_8_9 = true --Smart Z position is too low
|
||||
},
|
||||
l03_agroprom = {
|
||||
agr_smart_terrain_1_6 = true,
|
||||
agr_smart_terrain_1_6_near_1 = true,
|
||||
agr_smart_terrain_1_6_near_2 = true
|
||||
},
|
||||
l08_yantar = {
|
||||
yan_smart_terrain_3_6 = true,
|
||||
yan_smart_terrain_6_4 = true,
|
||||
},
|
||||
l06_rostok = {
|
||||
},
|
||||
l05_bar = {
|
||||
bar_dolg_bunker = true,
|
||||
bar_dolg_general = true,
|
||||
bar_visitors = true,
|
||||
bar_zastava = true,
|
||||
bar_zastava_2 = true,
|
||||
},
|
||||
k02_trucks_cemetery = {
|
||||
trc_sim_20 = true
|
||||
},
|
||||
l09_deadcity = {
|
||||
cit_killers = true,
|
||||
},
|
||||
l07_military = {
|
||||
mil_smart_terrain_7_10 = true,
|
||||
mil_smart_terrain_7_8 = true,
|
||||
mil_smart_terrain_7_7 = true,
|
||||
mil_smart_terrain_7_12 = true
|
||||
},
|
||||
l10_red_forest = {
|
||||
red_smart_terrain_3_2 = true
|
||||
},
|
||||
l10_radar = {
|
||||
},
|
||||
l10_limansk = {
|
||||
},
|
||||
jupiter = {
|
||||
jup_a6 = true,
|
||||
jup_b41 = true
|
||||
},
|
||||
l11_pripyat = {
|
||||
mlr_terrain = true,
|
||||
pri_monolith = true,
|
||||
},
|
||||
pripyat = {
|
||||
pri_a18_smart_terrain = true,
|
||||
kbo_terrain = true,
|
||||
pri_b306 = true,
|
||||
pri_a16 = true,
|
||||
pri_a16_mlr_copy = true,
|
||||
pri_a28_base = true,
|
||||
pri_b36_smart_terrain = true
|
||||
},
|
||||
l11_hospital = {
|
||||
},
|
||||
zaton = {
|
||||
zat_b40_smart_terrain = true,
|
||||
zat_b18 = true,
|
||||
zat_stalker_base_smart = true,
|
||||
zat_sim_27 = true
|
||||
},
|
||||
l12_stancia = {
|
||||
},
|
||||
l12_stancia_2 = {
|
||||
},
|
||||
l13_generators = {
|
||||
},
|
||||
l12u_sarcofag = {
|
||||
sar_monolith_general = true
|
||||
}
|
||||
}
|
||||
|
||||
local radiation_field_level_settings = {
|
||||
l01_escape = {
|
||||
Name = "l01_escape",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
y04_pole = {
|
||||
Name = "y04_pole",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
k00_marsh = {
|
||||
Name = "k00_marsh",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
k01_darkscape = {
|
||||
Name = "k01_darkscape",
|
||||
Radiation_field = "zone_radioactive_very_weak",
|
||||
Chance_to_spawn = 25,
|
||||
Radius = 15
|
||||
},
|
||||
l02_garbage = {
|
||||
Name = "l02_garbage",
|
||||
Radiation_field = "zone_radioactive_weak",
|
||||
Chance_to_spawn = 30,
|
||||
Radius = 16
|
||||
},
|
||||
l04_darkvalley = {
|
||||
Name = "l04_darkvalley",
|
||||
Radiation_field = "zone_radioactive_weak",
|
||||
Chance_to_spawn = 30,
|
||||
Radius = 16
|
||||
},
|
||||
l03_agroprom = {
|
||||
Name = "l03_agroprom",
|
||||
Radiation_field = "zone_radioactive_weak",
|
||||
Chance_to_spawn = 30,
|
||||
Radius = 16
|
||||
},
|
||||
l08_yantar = {
|
||||
Name = "l08_yantar",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 16
|
||||
},
|
||||
l06_rostok = {
|
||||
Name = "l06_rostok",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 16
|
||||
},
|
||||
l05_bar = {
|
||||
Name = "l05_bar",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 10
|
||||
},
|
||||
k02_trucks_cemetery = {
|
||||
Name = "k02_trucks_cemetery",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 18
|
||||
},
|
||||
l09_deadcity = {
|
||||
Name = "l09_deadcity",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 15
|
||||
},
|
||||
l07_military = {
|
||||
Name = "l07_military",
|
||||
Radiation_field = "zone_radioactive_below_average",
|
||||
Chance_to_spawn = 35,
|
||||
Radius = 18
|
||||
},
|
||||
l10_red_forest = {
|
||||
Name = "l10_red_forest",
|
||||
Radiation_field = "zone_radioactive_average",
|
||||
Chance_to_spawn = 40,
|
||||
Radius = 12
|
||||
},
|
||||
l10_radar = {
|
||||
Name = "l10_radar",
|
||||
Radiation_field = "zone_radioactive_average",
|
||||
Chance_to_spawn = 40,
|
||||
Radius = 24
|
||||
},
|
||||
l10_limansk = {
|
||||
Name = "l10_limansk",
|
||||
Radiation_field = "zone_radioactive_average",
|
||||
Chance_to_spawn = 40,
|
||||
Radius = 24
|
||||
},
|
||||
jupiter = {
|
||||
Name = "jupiter",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 45,
|
||||
Radius = 22
|
||||
},
|
||||
l11_pripyat = {
|
||||
Name = "l11_pripyat",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 0,
|
||||
Radius = 24
|
||||
},
|
||||
pripyat = {
|
||||
Name = "pripyat",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 45,
|
||||
Radius = 24
|
||||
},
|
||||
l11_hospital = {
|
||||
Name = "l11_hospital",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 0,
|
||||
Radius = 1
|
||||
},
|
||||
zaton = {
|
||||
Name = "zaton",
|
||||
Radiation_field = "zone_radioactive_above_average",
|
||||
Chance_to_spawn = 45,
|
||||
Radius = 22
|
||||
},
|
||||
l12_stancia = {
|
||||
Name = "l12_stancia",
|
||||
Radiation_field = "zone_radioactive_strong",
|
||||
Chance_to_spawn = 50,
|
||||
Radius = 28
|
||||
},
|
||||
l12_stancia_2 = {
|
||||
Name = "l12_stancia_2",
|
||||
Radiation_field = "zone_radioactive_strong",
|
||||
Chance_to_spawn = 50,
|
||||
Radius = 28
|
||||
},
|
||||
l13_generators = {
|
||||
Name = "l13_generators",
|
||||
Radiation_field = "zone_radioactive_strong",
|
||||
Chance_to_spawn = 50,
|
||||
Radius = 28
|
||||
}
|
||||
}
|
||||
|
||||
--Some anomlies will affect new game start point, like scientist bunker in Yantar. They should be capped.
|
||||
local blacklisted_static_radiation_anomalies = {
|
||||
-- l01_escape
|
||||
esc_zone_field_radioactive_weak_0000 = 80,
|
||||
esc_zone_field_radioactive_weak_0011 = 75,
|
||||
esc_zone_field_radioactive_weak_0012 = 75,
|
||||
esc_zone_field_radioactive_weak_0013 = 75,
|
||||
|
||||
--k00_marsh
|
||||
mar_zone_field_radioactive_weak_0007 = 80,
|
||||
|
||||
--pripyat
|
||||
pripyat_zone_field_radioactive_weak_0001 = 5,
|
||||
|
||||
--l04_darkvalley
|
||||
val_zone_field_radioactive_weak_baza_freedom_0016 = 3,
|
||||
val_zone_field_radioactive_weak_baza_freedom_0018 = 3,
|
||||
val_zone_field_radioactive_weak_baza_freedom_0019 = 3,
|
||||
|
||||
--l03_agroprom
|
||||
agr_zone_field_radioactive_average_000 = 20,
|
||||
|
||||
--l07_military
|
||||
mil_zone_field_radioactive_strong = 25,
|
||||
mil_zone_field_radioactive_strong_3 = 50,
|
||||
|
||||
--zaton
|
||||
zaton_zone_field_radioactive_average_0007 = 20,
|
||||
zaton_zone_field_radioactive_average_0008 = 20,
|
||||
zaton_zone_field_radioactive_average_0013 = 20,
|
||||
|
||||
--Name of level: l02_garbage
|
||||
gar_zone_field_radioactive_weak_0001 = 50,
|
||||
gar_zone_field_radioactive_weak_0002 = 40
|
||||
}
|
||||
|
||||
--Underground maps should not be affected by dynamic radiations and wind behaviour
|
||||
local underground_maps = {
|
||||
l03u_agr_underground = true,
|
||||
l08u_brainlab = true,
|
||||
l10u_bunker = true,
|
||||
jupiter_underground = true,
|
||||
l04u_labx18 = true,
|
||||
labx8 = true,
|
||||
l12u_sarcofag = true,
|
||||
l12u_control_monolith = true,
|
||||
l13u_warlab = true
|
||||
}
|
||||
|
||||
|
||||
--Radiation zones the player is in
|
||||
local radiation_zones = {}
|
||||
|
||||
--Table for state management
|
||||
local radiation_table = {}
|
||||
|
||||
--Hack for a wonderful bug in the LUA interpreter itself possibly. IT IS CURSED!
|
||||
environmental_radiation = 0
|
||||
|
||||
--Hack for icon removal
|
||||
local ico_n_removed = false
|
||||
local ico_p_removed = false
|
||||
|
||||
function spawn_radiation_fields_at_new_game()
|
||||
printf("spawn_radiation_fields_at_new_game()")
|
||||
|
||||
for k, v in pairs (radiation_field_level_settings) do
|
||||
run_script = 1
|
||||
spawn_radiation_fields_for_level(v)
|
||||
end
|
||||
|
||||
run_script = 0
|
||||
end
|
||||
|
||||
--Creates new radiation fields for the current level
|
||||
function spawn_radiation_fields_for_level(current_level_settings)
|
||||
if run_script ~= 1 then
|
||||
return
|
||||
end
|
||||
--printf("spawn_radiation_fields_for_level: "..current_level_settings.Name.." ************************************************")
|
||||
|
||||
--printf("get_smart_terrains_of_level: "..current_level_settings.Name)
|
||||
local smarts_of_level = get_smart_terrains_of_level(current_level_settings.Name)
|
||||
|
||||
printf("get blacklisted smarts")
|
||||
local blacklisted_smarts_for_level = blacklisted_smarts[current_level_settings.Name]
|
||||
|
||||
printf("Iterate through smarts")
|
||||
for ksmart, smart in pairs (smarts_of_level) do
|
||||
|
||||
local name_of_smart = smart:name()
|
||||
if (not blacklisted_smarts_for_level[name_of_smart]) then
|
||||
|
||||
if (math.random(1, 100) <= current_level_settings.Chance_to_spawn) then
|
||||
printf("Spawn default radiation zone for smart: "..name_of_smart)
|
||||
|
||||
create_radiation_field(
|
||||
current_level_settings.Radiation_field,
|
||||
smart.position,
|
||||
smart.m_game_vertex_id,
|
||||
level.vertex_id(smart.position),
|
||||
current_level_settings.Radius)
|
||||
end
|
||||
|
||||
else
|
||||
printf("Smart: "..name_of_smart.." is black listed, skip")
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--Creates a new radiation field
|
||||
function create_radiation_field(anomaly_type, position, game_vertex_id, level_vertex_id, radius)
|
||||
printf("create_radiation_field: "..anomaly_type.." Radius: "..radius.. " *****************")
|
||||
|
||||
printf("spawn anomaly")
|
||||
local se_obj = alife( ):create(anomaly_type, position, level_vertex_id, game_vertex_id)
|
||||
|
||||
if (not se_obj) then
|
||||
printf("NO ANOMALY WERE SPAWNED")
|
||||
return
|
||||
end
|
||||
|
||||
local data = utils_stpk.get_anom_zone_data( se_obj )
|
||||
if (not data) then
|
||||
printf( "Error: Unable to set dynamic anomaly properties" )
|
||||
return
|
||||
end
|
||||
|
||||
data.shapes[1] = {}
|
||||
data.shapes[1].shtype = 0
|
||||
data.shapes[1].offset = vector( ):set( 0, 0, 0 ) -- Leave for compatibility with CoC 1.4.22, delete later
|
||||
data.shapes[1].center = vector( ):set( 0, 0, 0 )
|
||||
data.shapes[1].radius = radius
|
||||
utils_stpk.set_anom_zone_data(data, se_obj)
|
||||
|
||||
printf(se_obj.id)
|
||||
printf("Radiation field was spawned succesfully")
|
||||
end
|
||||
|
||||
--Get smart terrains if the level
|
||||
function get_smart_terrains_of_level(level_name)
|
||||
printf("get_smart_terrains_of_level("..level_name..")")
|
||||
smarts_of_level = {}
|
||||
|
||||
for id,smart in pairs(db.smart_terrain_by_id) do
|
||||
cvertex = smart and game_graph():vertex(smart.m_game_vertex_id)
|
||||
|
||||
if (cvertex and alife():level_name(cvertex:level_id()) == level_name) then
|
||||
table.insert(smarts_of_level, smart)
|
||||
end
|
||||
end
|
||||
|
||||
return smarts_of_level
|
||||
end
|
||||
|
||||
|
||||
function initialize_radiation_table()
|
||||
if (not radiation_table.dosimeter_volume) then
|
||||
radiation_table.dosimeter_volume = 1
|
||||
printf("INITIALIZE - dosimeter_volume")
|
||||
end
|
||||
|
||||
if (not radiation_table.wind_alert_state) then
|
||||
--radiation_table.wind_alert_state = WIND_ALERT_STATES.NoAlert
|
||||
--printf("INITIALIZE - wind_alert_state")
|
||||
end
|
||||
end
|
||||
|
||||
function on_game_load()
|
||||
--Initialize radiation_table of not initialized
|
||||
initialize_radiation_table()
|
||||
|
||||
if (ENABLE_DYNAMIC_RADIATION_ZONES) then
|
||||
if (not radiation_table.dynamic_radiation_zones_generated) then
|
||||
--spawn dynamic radiation fields
|
||||
spawn_radiation_fields_at_new_game()
|
||||
radiation_table.dynamic_radiation_zones_generated = true
|
||||
end
|
||||
end
|
||||
|
||||
if (not radiation_table.static_radiation_fields_resized) then
|
||||
--Resize both original and new radiation fields
|
||||
--resize_radiation_fields()
|
||||
radiation_table.static_radiation_fields_resized = true
|
||||
end
|
||||
|
||||
if (ENABLE_DYNAMIC_RADIATION_ZONES_NPP) then
|
||||
if (not radiation_table.dynamic_radiation_zones_generated_npp) then
|
||||
--Spawn special radiation fields for NPP interrior
|
||||
spawn_radiation_fields_for_level(special_spawn_l12u_sarcofag)
|
||||
radiation_table.dynamic_radiation_zones_generated_npp = true
|
||||
end
|
||||
end
|
||||
|
||||
--Reset icon removal flags
|
||||
ico_n_removed = false
|
||||
ico_p_removed = false
|
||||
end
|
||||
|
||||
|
||||
function save_state(m_data)
|
||||
m_data.radiation_table = radiation_table
|
||||
end
|
||||
|
||||
function load_state(m_data)
|
||||
radiation_table = m_data.radiation_table or {}
|
||||
end
|
||||
|
||||
|
||||
function on_game_start()
|
||||
RegisterScriptCallback("on_game_load", on_game_load)
|
||||
RegisterScriptCallback("save_state", save_state)
|
||||
RegisterScriptCallback("load_state", load_state)
|
||||
end
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
Credits go to the author CS Eden who made and these Optionals.
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
Install the required optional matching your installation:
|
||||
Arrival - Semitone
|
||||
Dynamic Anomalies Overhaul - MrDemonized
|
||||
Do NOT use both at the same time since they would overlap each other and are not the exact same. Load it after Arrival/DAO so the patch overwrites the default file.
|
||||
|
||||
Patch to hopefully prevent any dynamic anomalies spawned by these two addons from hindering the player while trying to speak to the Sin NPCs in the Hospital.
|
||||
|
||||
In case this still doesn't work, open the l11_hospital.ltx file using any sort of notepad, and change the following values
|
||||
|
||||
spawn_percent = 0.2 ---> spawn_percent = 0.0
|
||||
anomaly_max_number = 2 ---> anomaly_max_number = 0
|
||||
min_radius = 1 ---> min_radius = 0
|
||||
max_radius = 1 ---> max_radius = 0
|
||||
|
||||
This will deactivate the anomalies spawn for this map and this map only. This solution is a failsafe for people who still want to enjoy Arrival OR DAO
|
||||
while having the Re:Done Hospital addon active.
|
||||
@@ -1,2 +0,0 @@
|
||||
To install: Open Optional folder and move over gamedata to install folder.
|
||||
|
||||
@@ -3,7 +3,7 @@ gameName=stalkeranomaly
|
||||
modid=0
|
||||
version=d2024.2.13.0
|
||||
newestVersion=
|
||||
category="16,"
|
||||
category="15,"
|
||||
nexusFileStatus=1
|
||||
installationFile=E:/Modding/Modlists/Divergent/downloads/Redone_Limansk_Hospital_0.9.1.2.zip
|
||||
repository=Nexus
|
||||
|
||||
Reference in New Issue
Block a user