add game&rawdata
This commit is contained in:
parent
0133cd976c
commit
49b34b5546
45731 changed files with 709831 additions and 0 deletions
577
gamedata/scripts/xr_statistic.script
Normal file
577
gamedata/scripts/xr_statistic.script
Normal file
|
|
@ -0,0 +1,577 @@
|
|||
-- run_string log("----->"..tostring(xr_statistic.actor_statistic.best_monster).." "..tostring(xr_statistic.actor_statistic.best_monster_rank))
|
||||
actor_statistic = {
|
||||
surges = 0,
|
||||
completed_quests = 0,
|
||||
killed_monsters = 0,
|
||||
killed_stalkers = 0,
|
||||
founded_secrets = 0,
|
||||
artefacts_founded = 0,
|
||||
best_monster = nil,
|
||||
favorite_weapon_sect = nil,
|
||||
best_monster_rank = 0,
|
||||
}
|
||||
|
||||
monster_classes = {
|
||||
[clsid.bloodsucker_s] = "bloodsucker",
|
||||
[clsid.boar_s] = "boar",
|
||||
[clsid.burer_s] = "burer",
|
||||
[clsid.chimera_s] = "chimera",
|
||||
[clsid.controller_s] = "controller",
|
||||
[clsid.dog_s] = "dog",
|
||||
[clsid.flesh_s] = "flesh",
|
||||
[clsid.gigant_s] = "gigant",
|
||||
[clsid.poltergeist_s] = "poltergeist",
|
||||
[clsid.psy_dog_s] = "psy_dog",
|
||||
[clsid.pseudodog_s] = "pseudodog",
|
||||
[clsid.snork_s ] = "snork",
|
||||
[clsid.tushkano_s ] = "tushkano",
|
||||
}
|
||||
|
||||
weapons_table = {
|
||||
abakan = 0,
|
||||
ak74 = 0,
|
||||
ak74u = 0,
|
||||
beretta = 0,
|
||||
bm16 = 0,
|
||||
colt1911 = 0,
|
||||
desert = 0,
|
||||
f1 = 0,
|
||||
fn2000 = 0,
|
||||
fort = 0,
|
||||
g36 = 0,
|
||||
gauss = 0,
|
||||
groza = 0,
|
||||
hpsa = 0,
|
||||
knife = 0,
|
||||
l85 = 0,
|
||||
lr300 = 0,
|
||||
mp5 = 0,
|
||||
pb = 0,
|
||||
pkm = 0,
|
||||
pm = 0,
|
||||
protecta = 0,
|
||||
rg = 0,
|
||||
rgd5 = 0,
|
||||
rpg7 = 0,
|
||||
sig220 = 0,
|
||||
sig550 = 0,
|
||||
spas12 = 0,
|
||||
svd = 0,
|
||||
svu = 0,
|
||||
toz34 = 0,
|
||||
usp45 = 0,
|
||||
val = 0,
|
||||
vintorez = 0,
|
||||
walther = 0,
|
||||
wincheaster1300 = 0,
|
||||
}
|
||||
|
||||
artefacts_table = {
|
||||
af_cristall = false,
|
||||
af_blood = false,
|
||||
af_electra_sparkler = false,
|
||||
af_cristall_flower = false,
|
||||
af_medusa = false,
|
||||
af_fireball = false,
|
||||
af_mincer_meat = false,
|
||||
af_electra_flash = false,
|
||||
af_night_star = false,
|
||||
af_dummy_glassbeads = false,
|
||||
af_soul = false,
|
||||
af_electra_moonlight = false,
|
||||
af_dummy_battery = false,
|
||||
af_vyvert = false,
|
||||
af_fuzz_kolobok = false,
|
||||
af_gravi = false,
|
||||
af_eye = false,
|
||||
af_baloon = false,
|
||||
af_dummy_dummy = false,
|
||||
af_gold_fish = false,
|
||||
af_fire = false,
|
||||
af_glass = false,
|
||||
af_ice = false,
|
||||
}
|
||||
|
||||
taken_artefacts = {}
|
||||
|
||||
function inc_surges_counter()
|
||||
actor_statistic.surges = actor_statistic.surges + 1
|
||||
end
|
||||
function inc_completed_quests_counter()
|
||||
actor_statistic.completed_quests = actor_statistic.completed_quests + 1
|
||||
end
|
||||
function inc_killed_monsters_counter()
|
||||
actor_statistic.killed_monsters = actor_statistic.killed_monsters + 1
|
||||
end
|
||||
function inc_killed_stalkers_counter()
|
||||
actor_statistic.killed_stalkers = actor_statistic.killed_stalkers + 1
|
||||
end
|
||||
function inc_founded_artefacts_counter(art_id)
|
||||
if(taken_artefacts[art_id]==nil) then
|
||||
actor_statistic.artefacts_founded = actor_statistic.artefacts_founded + 1
|
||||
taken_artefacts[art_id] = art_id
|
||||
local s_art = alife():object(art_id)
|
||||
if(s_art and s_art:section_name()) then
|
||||
artefacts_table[s_art:section_name()] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
function inc_founded_secrets_counter()
|
||||
actor_statistic.founded_secrets = actor_statistic.founded_secrets + 1
|
||||
end
|
||||
|
||||
function set_best_monster(obj)
|
||||
if IsStalker(obj) then
|
||||
-- actor_statistic.best_monster = "stalker"
|
||||
else
|
||||
local community = monster_classes[get_clsid(obj)]
|
||||
if not(community) then
|
||||
abort("Statistic ERROR: cannot find monster class for [%s] clsid [%s]", obj:name(), tostring(get_clsid(obj)))
|
||||
end
|
||||
local s_obj = alife():object(obj:id())
|
||||
if(s_obj) then
|
||||
local rank = s_obj:rank()
|
||||
if(community=="flesh") then
|
||||
if(rank==3) then
|
||||
community = community.."_strong"
|
||||
else
|
||||
community = community.."_weak"
|
||||
end
|
||||
elseif(community=="poltergeist") then
|
||||
if(rank==12) then
|
||||
community = community.."_flame"
|
||||
else
|
||||
community = community.."_tele"
|
||||
end
|
||||
elseif(community=="boar") then
|
||||
if(rank==6) then
|
||||
community = community.."_strong"
|
||||
else
|
||||
community = community.."_weak"
|
||||
end
|
||||
elseif(community=="pseudodog" or community=="psy_dog") then
|
||||
if(rank==13) then
|
||||
community = community.."_strong"
|
||||
else
|
||||
community = community.."_weak"
|
||||
end
|
||||
elseif(community=="bloodsucker") then
|
||||
if(rank==16) then
|
||||
community = community.."_strong"
|
||||
elseif(rank==15) then
|
||||
community = community.."_normal"
|
||||
else
|
||||
community = community.."_weak"
|
||||
end
|
||||
end
|
||||
if(rank>actor_statistic.best_monster_rank) then
|
||||
actor_statistic.best_monster_rank = rank
|
||||
actor_statistic.best_monster = community
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function set_best_weapon(hit_amount)
|
||||
local active_item = db.actor:active_item()
|
||||
if(active_item) then
|
||||
local s_obj = alife():object(active_item:id())
|
||||
if(s_obj) then
|
||||
local s = s_obj:section_name()
|
||||
for w in string.gfind(s, "%w+") do
|
||||
if(weapons_table[w]~=nil) then
|
||||
weapons_table[w] = weapons_table[w] + hit_amount
|
||||
end
|
||||
end
|
||||
end
|
||||
local amount = 0
|
||||
for k,v in pairs(weapons_table) do
|
||||
if(v>amount) then
|
||||
amount = v
|
||||
if(k=="rgd5" or k=="f1") then
|
||||
actor_statistic.favorite_weapon_sect = "grenade_"..k
|
||||
else
|
||||
actor_statistic.favorite_weapon_sect = "wpn_"..k
|
||||
end
|
||||
if(k=="desert") then
|
||||
actor_statistic.favorite_weapon_sect = "wpn_desert_eagle"
|
||||
elseif(k=="rg") then
|
||||
actor_statistic.favorite_weapon_sect = "wpn_rg-6"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function save(package)
|
||||
package:w_u16(actor_statistic.surges)
|
||||
package:w_u16(actor_statistic.completed_quests)
|
||||
package:w_u32(actor_statistic.killed_monsters)
|
||||
package:w_u32(actor_statistic.killed_stalkers)
|
||||
package:w_u16(actor_statistic.founded_secrets)
|
||||
package:w_u16(actor_statistic.artefacts_founded)
|
||||
package:w_u32(actor_statistic.best_monster_rank)
|
||||
package:w_stringZ(tostring(actor_statistic.best_monster))
|
||||
package:w_stringZ(tostring(actor_statistic.favorite_weapon_sect))
|
||||
local i = 0
|
||||
for k,v in pairs(weapons_table) do
|
||||
i = i + 1
|
||||
end
|
||||
package:w_u8(i)
|
||||
for k,v in pairs(weapons_table) do
|
||||
package:w_stringZ(tostring(k))
|
||||
package:w_float(v)
|
||||
end
|
||||
i = 0
|
||||
for k,v in pairs(artefacts_table) do
|
||||
i = i + 1
|
||||
end
|
||||
package:w_u8(i)
|
||||
for k,v in pairs(artefacts_table) do
|
||||
package:w_stringZ(tostring(k))
|
||||
package:w_bool(v)
|
||||
end
|
||||
i = 0
|
||||
for k,v in pairs(taken_artefacts) do
|
||||
i = i + 1
|
||||
end
|
||||
package:w_u8(i)
|
||||
for k,v in pairs(taken_artefacts) do
|
||||
package:w_u32(k)
|
||||
end
|
||||
end
|
||||
|
||||
function load(package)
|
||||
actor_statistic = {}
|
||||
actor_statistic.surges = package:r_u16()
|
||||
actor_statistic.completed_quests = package:r_u16()
|
||||
actor_statistic.killed_monsters = package:r_u32()
|
||||
actor_statistic.killed_stalkers = package:r_u32()
|
||||
actor_statistic.founded_secrets = package:r_u16()
|
||||
actor_statistic.artefacts_founded = package:r_u16()
|
||||
actor_statistic.best_monster_rank = package:r_u32()
|
||||
local str = package:r_stringZ()
|
||||
if(str~="nil") then
|
||||
actor_statistic.best_monster = str
|
||||
end
|
||||
str = package:r_stringZ()
|
||||
if(str~="nil") then
|
||||
actor_statistic.favorite_weapon_sect = str
|
||||
end
|
||||
weapons_table = {}
|
||||
local n = package:r_u8()
|
||||
for i = 1,n do
|
||||
local k = package:r_stringZ()
|
||||
local v = package:r_float()
|
||||
weapons_table[k] = v
|
||||
end
|
||||
artefacts_table = {}
|
||||
n = package:r_u8()
|
||||
for i = 1,n do
|
||||
log("n "..tostring(n))
|
||||
local k = package:r_stringZ()
|
||||
local v = package:r_bool()
|
||||
artefacts_table[k] = v
|
||||
end
|
||||
|
||||
taken_artefacts = {}
|
||||
n = package:r_u8()
|
||||
for i = 1,n do
|
||||
local k = package:r_u32()
|
||||
taken_artefacts[k] = k
|
||||
end
|
||||
end
|
||||
|
||||
function pioneer_functor()
|
||||
if not has_alife_info("pioneer_achievement_gained") then
|
||||
if has_alife_info("zat_b14_give_item_linker")
|
||||
and has_alife_info("jup_b1_complete_end")
|
||||
and has_alife_info("jup_b206_anomalous_grove_done") then
|
||||
db.actor:give_info_portion("pioneer_achievement_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_pioneer", nil, "pioneer", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("pioneer_achievement_gained")
|
||||
end
|
||||
|
||||
function mutant_hunter_functor()
|
||||
if not has_alife_info("mutant_hunter_achievement_gained") then
|
||||
if has_alife_info("jup_b208_burers_hunt_done")
|
||||
and has_alife_info("jup_b211_scene_done")
|
||||
and has_alife_info("jup_b212_jupiter_chimera_hunt_done") then
|
||||
db.actor:give_info_portion("mutant_hunter_achievement_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_mutant_hunter", nil, "mutant_hunter", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("mutant_hunter_achievement_gained")
|
||||
end
|
||||
|
||||
function detective_functor()
|
||||
if not has_alife_info("detective_achievement_gained") then
|
||||
if has_alife_info("zat_b22_barmen_gave_reward") then
|
||||
db.actor:give_info_portion("detective_achievement_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_detective", nil, "detective", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("detective_achievement_gained")
|
||||
end
|
||||
|
||||
function one_of_the_lads_functor()
|
||||
if not has_alife_info("one_of_the_lads_gained") then
|
||||
if has_alife_info("zat_b30_sultan_loose") and has_alife_info("zat_b7_actor_help_stalkers") then
|
||||
db.actor:give_info_portion("one_of_the_lads_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_one_of_the_lads", nil, "one_of_the_lads", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("one_of_the_lads_gained")
|
||||
end
|
||||
|
||||
function kingpin_functor()
|
||||
if not has_alife_info("kingpin_gained") then
|
||||
if has_alife_info("zat_b30_barmen_under_sultan") and has_alife_info("zat_b7_actor_help_bandits") then
|
||||
db.actor:give_info_portion("kingpin_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_kingpin", nil, "kingpin", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("kingpin_gained")
|
||||
end
|
||||
|
||||
function herald_of_justice_functor()
|
||||
if not has_alife_info("herald_of_justice_achievement_gained") then
|
||||
if has_alife_info("jup_b25_flint_blame_done_to_duty")
|
||||
or has_alife_info("jup_b25_flint_blame_done_to_freedom")
|
||||
or has_alife_info("zat_b106_found_soroka_done") then
|
||||
db.actor:give_info_portion("herald_of_justice_achievement_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_herald_of_justice", nil, "herald_of_justice", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("herald_of_justice_achievement_gained")
|
||||
end
|
||||
|
||||
function seeker_functor()
|
||||
if has_alife_info("sim_bandit_attack_harder") then
|
||||
return true
|
||||
end
|
||||
for k,v in pairs(artefacts_table) do
|
||||
if not v then
|
||||
return false
|
||||
end
|
||||
end
|
||||
-- Áàíäèòû ñèìóëÿöèîííî áîëüøå ïðåñëåäóþò èãðîêà
|
||||
db.actor:give_info_portion("sim_bandit_attack_harder")
|
||||
news_manager.send_tip(db.actor, "st_ach_seeker", nil, "seeker", nil, nil)
|
||||
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", 200})
|
||||
return true
|
||||
end
|
||||
|
||||
function battle_systems_master_functor()
|
||||
if not has_alife_info("battle_systems_master_achievement_gained") then
|
||||
if has_alife_info("zat_b3_all_instruments_brought") then
|
||||
news_manager.send_tip(db.actor, "st_ach_battle_systems_master", nil, "battle_systems_master", nil, nil)
|
||||
db.actor:give_info_portion("battle_systems_master_achievement_gained")
|
||||
end
|
||||
end
|
||||
return has_alife_info("battle_systems_master_achievement_gained")
|
||||
end
|
||||
|
||||
function high_tech_master_functor()
|
||||
if not has_alife_info("high_tech_master_achievement_gained") then
|
||||
if has_alife_info("jup_b217_tech_instrument_1_brought")
|
||||
and has_alife_info("jup_b217_tech_instrument_2_brought")
|
||||
and has_alife_info("jup_b217_tech_instrument_3_brought") then
|
||||
news_manager.send_tip(db.actor, "st_ach_high_tech_master", nil, "high_tech_master", nil, nil)
|
||||
db.actor:give_info_portion("high_tech_master_achievement_gained")
|
||||
end
|
||||
end
|
||||
return has_alife_info("high_tech_master_achievement_gained")
|
||||
end
|
||||
|
||||
function skilled_stalker_functor()
|
||||
if not has_alife_info("skilled_stalker_achievement_gained") then
|
||||
if has_alife_info("actor_was_in_many_bad_places") then
|
||||
news_manager.send_tip(db.actor, "st_ach_skilled_stalker", nil, "skilled_stalker", nil, nil)
|
||||
db.actor:give_info_portion("skilled_stalker_achievement_gained")
|
||||
end
|
||||
end
|
||||
return has_alife_info("skilled_stalker_achievement_gained")
|
||||
end
|
||||
|
||||
function leader_functor()
|
||||
-- ëîãèêà áîíóñà: pri_a21_base_restrictor.ltx
|
||||
if not has_alife_info("leader_achievement_gained") then
|
||||
if has_alife_info("jup_a10_vano_agree_go_und")
|
||||
and has_alife_info("jup_b218_soldier_hired")
|
||||
and has_alife_info("jup_b218_monolith_hired") then
|
||||
news_manager.send_tip(db.actor, "st_ach_leader", nil, "leader", nil, nil)
|
||||
db.actor:give_info_portion("leader_achievement_gained")
|
||||
end
|
||||
end
|
||||
return has_alife_info("leader_achievement_gained")
|
||||
end
|
||||
|
||||
function diplomat_functor()
|
||||
if not has_alife_info("diplomat_achievement_gained") then
|
||||
if has_alife_info("jup_a12_wo_shooting")
|
||||
and (has_alife_info("jup_a10_bandit_take_all_money") or has_alife_info("jup_a10_bandit_take_money")) then
|
||||
news_manager.send_tip(db.actor, "st_ach_diplomat", nil, "diplomat", nil, nil)
|
||||
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", 200})
|
||||
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"freedom", 200})
|
||||
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"dolg", 200})
|
||||
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"bandit", 200})
|
||||
db.actor:give_info_portion("diplomat_achievement_gained")
|
||||
end
|
||||
end
|
||||
return has_alife_info("diplomat_achievement_gained")
|
||||
end
|
||||
|
||||
function research_man_functor()
|
||||
if has_alife_info("research_man_gained") then
|
||||
return true
|
||||
end
|
||||
local info_table = {
|
||||
[1] = "jup_b16_task_done",
|
||||
[2] = "jup_b1_task_done",
|
||||
[3] = "jup_b46_task_done",
|
||||
[4] = "jup_b47_task_end",
|
||||
[5] = "jup_b32_task_done",
|
||||
[6] = "jup_b6_task_done",
|
||||
[7] = "jup_b206_task_done",
|
||||
[8] = "jup_b209_task_done"
|
||||
}
|
||||
local count = 0
|
||||
for k,v in pairs (info_table) do
|
||||
if has_alife_info(v) then
|
||||
count = count + 1
|
||||
end
|
||||
if count >= 4 then
|
||||
db.actor:give_info_portion("research_man_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_research_man", nil, "research_man", nil, nil)
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function friend_of_duty_functor()
|
||||
if not has_alife_info("sim_duty_help_harder") then
|
||||
if has_alife_info("jup_b4_monolith_squad_in_duty")
|
||||
and has_alife_info("jup_b46_duty_founder_pda_to_duty")
|
||||
and has_alife_info("jup_b207_sell_dealers_pda_duty")
|
||||
and has_alife_info("jup_b25_flint_blame_done_to_duty") then
|
||||
db.actor:give_info_portion("sim_duty_help_harder")
|
||||
news_manager.send_tip(db.actor, "st_ach_friend_of_duty", nil, "friend_of_duty", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("sim_duty_help_harder")
|
||||
end
|
||||
|
||||
function friend_of_freedom_functor()
|
||||
if not has_alife_info("sim_freedom_help_harder") then
|
||||
if has_alife_info("jup_b4_monolith_squad_in_freedom")
|
||||
and has_alife_info("jup_b46_duty_founder_pda_to_freedom")
|
||||
and has_alife_info("jup_b207_sell_dealers_pda_freedom")
|
||||
and has_alife_info("jup_b25_flint_blame_done_to_freedom") then
|
||||
db.actor:give_info_portion("sim_freedom_help_harder")
|
||||
news_manager.send_tip(db.actor, "st_ach_friend_of_freedom", nil, "friend_of_freedom", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("sim_freedom_help_harder")
|
||||
end
|
||||
|
||||
function balance_advocate_functor()
|
||||
if not has_alife_info("balance_advocate_gained") then
|
||||
if has_alife_info("jup_b46_duty_founder_pda_to_stalkers")
|
||||
and has_alife_info("jup_b207_dealers_pda_sold_owl")
|
||||
and has_alife_info("zat_b106_found_soroka_done") then
|
||||
db.actor:give_info_portion("balance_advocate_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_balance_advocate", nil, "balance_advocate", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("balance_advocate_gained")
|
||||
end
|
||||
|
||||
function wealthy_functor()
|
||||
if db.actor:money() >= 100000 and not has_alife_info("actor_wealthy") then
|
||||
db.actor:give_info_portion("actor_wealthy")
|
||||
news_manager.send_tip(db.actor, "st_ach_wealthy", nil, "wealthy", nil, nil)
|
||||
end
|
||||
return has_alife_info("actor_wealthy")
|
||||
end
|
||||
|
||||
function keeper_of_secrets_functor()
|
||||
-- ëîãèêà áîíóñà: pri_b305_logic.ltx
|
||||
if not has_alife_info("keeper_of_secrets_achievement_gained") then
|
||||
if has_alife_info("pri_b305_all_strelok_notes_given") then
|
||||
db.actor:give_info_portion("keeper_of_secrets_achievement_gained")
|
||||
news_manager.send_tip(db.actor, "st_ach_keeper_of_secrets", nil, "keeper_of_secrets", nil, nil)
|
||||
end
|
||||
end
|
||||
return has_alife_info("keeper_of_secrets_achievement_gained")
|
||||
end
|
||||
|
||||
function marked_by_zone_functor()
|
||||
if has_alife_info("actor_marked_by_zone_3_times") then
|
||||
return true
|
||||
end
|
||||
local counter_name = "actor_marked_by_zone_cnt"
|
||||
local cnt_value = xr_logic.pstor_retrieve(db.actor, counter_name, 0)
|
||||
if cnt_value > 2 then
|
||||
db.actor:give_info_portion("actor_marked_by_zone_3_times")
|
||||
news_manager.send_tip(db.actor, "st_ach_marked_by_zone", nil, "marked_by_zone", nil, nil)
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
function information_dealer_functor()
|
||||
if has_alife_info("actor_information_dealer") then
|
||||
return true
|
||||
end
|
||||
|
||||
local info_table = {
|
||||
[1] = "zat_b40_pda_1_saled",
|
||||
[2] = "zat_b40_pda_2_saled",
|
||||
[3] = "jup_b46_duty_founder_pda_sold",
|
||||
[4] = "jup_b207_merc_pda_with_contract_sold",
|
||||
[5] = "jup_b207_dealers_pda_sold",
|
||||
[6] = "jup_a9_evacuation_info_sold",
|
||||
[7] = "jup_a9_meeting_info_sold",
|
||||
[8] = "jup_a9_losses_info_sold",
|
||||
[9] = "jup_a9_delivery_info_sold",
|
||||
[10] = "zat_b12_documents_sold_1",
|
||||
[11] = "zat_b12_documents_sold_2",
|
||||
[12] = "zat_b12_documents_sold_3",
|
||||
[13] = "zat_b40_notebook_saled",
|
||||
[14] = "device_flash_snag_sold",
|
||||
[15] = "device_pda_port_bandit_leader_sold",
|
||||
[16] = "jup_b10_ufo_memory_2_sold"
|
||||
}
|
||||
local count = 0
|
||||
for k,v in pairs (info_table) do
|
||||
if has_alife_info(v) then
|
||||
count = count + 1
|
||||
end
|
||||
if count >= 10 then
|
||||
news_manager.send_tip(db.actor, "st_ach_information_dealer", nil, "information_dealer", nil, nil)
|
||||
db.actor:give_info_portion("actor_information_dealer")
|
||||
return true
|
||||
end
|
||||
end
|
||||
return has_alife_info("actor_information_dealer")
|
||||
end
|
||||
|
||||
function friend_of_stalkers_functor()
|
||||
if not has_alife_info("sim_stalker_help_harder") then
|
||||
if has_alife_info("jup_b220_trapper_zaton_chimera_hunted_told")
|
||||
and has_alife_info("jup_a12_stalker_prisoner_helped")
|
||||
and has_alife_info("jup_a10_vano_give_task_end")
|
||||
and has_alife_info("zat_b5_stalker_leader_end")
|
||||
and has_alife_info("zat_b7_task_end") then
|
||||
db.actor:give_info_portion("sim_stalker_help_harder")
|
||||
news_manager.send_tip(db.actor, "st_ach_friend_of_stalkers", nil, "friend_of_stalkers", nil, nil)
|
||||
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", 100})
|
||||
end
|
||||
end
|
||||
return has_alife_info("sim_stalker_help_harder")
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue