183 lines
6.3 KiB
Plaintext
183 lines
6.3 KiB
Plaintext
local function rescuer_initial_msg_factory()
|
|
local messages = {
|
|
"st_soulslike_rescuer_initial_1",
|
|
"st_soulslike_rescuer_initial_2",
|
|
"st_soulslike_rescuer_initial_3",
|
|
"st_soulslike_rescuer_initial_4",
|
|
"st_soulslike_rescuer_initial_5",
|
|
}
|
|
|
|
return game.translate_string(messages[math.random(#messages)])
|
|
end
|
|
|
|
local function rescuer_eat_drink_msg_factory()
|
|
local messages = {
|
|
"st_soulslike_rescuer_food_1",
|
|
"st_soulslike_rescuer_food_2",
|
|
"st_soulslike_rescuer_food_3",
|
|
"st_soulslike_rescuer_food_4",
|
|
"st_soulslike_rescuer_food_5",
|
|
}
|
|
|
|
return game.translate_string(messages[math.random(#messages)])
|
|
end
|
|
|
|
local function rescuer_pda_marker_msg_factory()
|
|
local messages = {
|
|
"st_soulslike_rescuer_pda_1",
|
|
"st_soulslike_rescuer_pda_2",
|
|
"st_soulslike_rescuer_pda_3",
|
|
"st_soulslike_rescuer_pda_4",
|
|
"st_soulslike_rescuer_pda_5",
|
|
}
|
|
|
|
return game.translate_string(messages[math.random(#messages)])
|
|
end
|
|
|
|
local function rescuer_used_items_msg_factory()
|
|
local messages = {
|
|
"st_soulslike_rescuer_used_items_1",
|
|
"st_soulslike_rescuer_used_items_2",
|
|
"st_soulslike_rescuer_used_items_3",
|
|
"st_soulslike_rescuer_used_items_4",
|
|
"st_soulslike_rescuer_used_items_5",
|
|
}
|
|
|
|
return game.translate_string(messages[math.random(#messages)])
|
|
end
|
|
|
|
local function rescuer_stay_safe_msg_factory()
|
|
local messages = {
|
|
"st_soulslike_rescuer_stay_safe_1",
|
|
"st_soulslike_rescuer_stay_safe_2",
|
|
"st_soulslike_rescuer_stay_safe_3",
|
|
"st_soulslike_rescuer_stay_safe_4",
|
|
"st_soulslike_rescuer_stay_safe_5",
|
|
}
|
|
|
|
return game.translate_string(messages[math.random(#messages)])
|
|
end
|
|
|
|
local function rescuer_moster_looter_msg_factory(enemy_name, enemy_comm)
|
|
local messages = {
|
|
"st_soulslike_rescuer_monster_looter_1",
|
|
"st_soulslike_rescuer_monster_looter_2",
|
|
"st_soulslike_rescuer_monster_looter_3",
|
|
"st_soulslike_rescuer_monster_looter_4",
|
|
"st_soulslike_rescuer_monster_looter_5",
|
|
}
|
|
|
|
return game.translate_string(messages[math.random(#messages)])
|
|
end
|
|
|
|
local function rescuer_enemy_looter_msg_factory(enemy_name, enemy_comm)
|
|
local messages = {
|
|
"st_soulslike_rescuer_enemy_looter_1",
|
|
"st_soulslike_rescuer_enemy_looter_2",
|
|
"st_soulslike_rescuer_enemy_looter_3",
|
|
"st_soulslike_rescuer_enemy_looter_4",
|
|
"st_soulslike_rescuer_enemy_looter_5",
|
|
}
|
|
|
|
return strformat(game.translate_string(messages[math.random(#messages)]), enemy_comm, enemy_name)
|
|
end
|
|
|
|
local function rescuer_enemy_looter_tarkov_looter_msg_factory(enemy_name, enemy_comm)
|
|
local messages = {
|
|
"st_soulslike_rescuer_enemy_tarkov_looter_1",
|
|
"st_soulslike_rescuer_enemy_tarkov_looter_2",
|
|
"st_soulslike_rescuer_enemy_tarkov_looter_3",
|
|
"st_soulslike_rescuer_enemy_tarkov_looter_4",
|
|
"st_soulslike_rescuer_enemy_tarkov_looter_5",
|
|
}
|
|
|
|
return strformat(game.translate_string(messages[math.random(#messages)]), enemy_comm, enemy_name)
|
|
end
|
|
|
|
local function rescuer_enemy_radio_freq_msg_factory(freq)
|
|
local messages = {
|
|
"st_soulslike_rescuer_radio_freq_1",
|
|
"st_soulslike_rescuer_radio_freq_2",
|
|
"st_soulslike_rescuer_radio_freq_3",
|
|
"st_soulslike_rescuer_radio_freq_4",
|
|
"st_soulslike_rescuer_radio_freq_5",
|
|
}
|
|
|
|
return strformat(game.translate_string(messages[math.random(#messages)]), freq)
|
|
end
|
|
|
|
local function rescuer_hidden_stash_msg_factory(freq)
|
|
local messages = {
|
|
"st_soulslike_hidden_stash_1",
|
|
"st_soulslike_hidden_stash_2",
|
|
"st_soulslike_hidden_stash_3",
|
|
"st_soulslike_hidden_stash_4",
|
|
"st_soulslike_hidden_stash_5",
|
|
}
|
|
|
|
return strformat(game.translate_string(messages[math.random(#messages)]), freq)
|
|
end
|
|
|
|
local function recuer_indoor_msg_factory(level_name)
|
|
local messages = {
|
|
"st_soulslike_rescuer_indoor_1",
|
|
"st_soulslike_rescuer_indoor_2",
|
|
"st_soulslike_rescuer_indoor_3",
|
|
"st_soulslike_rescuer_indoor_4",
|
|
"st_soulslike_rescuer_indoor_5",
|
|
}
|
|
|
|
return strformat(game.translate_string(messages[math.random(#messages)]), level_name)
|
|
end
|
|
|
|
function create(rescuer, params)
|
|
if rescuer then
|
|
local msg = params.player_died_indoor
|
|
and recuer_indoor_msg_factory(params.level_name)
|
|
or rescuer_initial_msg_factory()
|
|
|
|
local looter = params.enemy
|
|
|
|
if params.gave_food_or_water then
|
|
msg = msg.." "..rescuer_eat_drink_msg_factory()
|
|
end
|
|
if looter then
|
|
if looter.tarkov_experience then
|
|
--TODO: Make message factory for this
|
|
msg = msg.." "..rescuer_enemy_looter_tarkov_looter_msg_factory(looter.name, looter.community)
|
|
else
|
|
msg = msg.." "..rescuer_enemy_looter_msg_factory(looter.name, looter.community)
|
|
end
|
|
end
|
|
if params.has_pda_marker then
|
|
msg = msg.." "..rescuer_pda_marker_msg_factory()
|
|
end
|
|
if params.has_stash_pda_marker then
|
|
msg = msg.." "..rescuer_hidden_stash_msg_factory()
|
|
end
|
|
if params.radio_freq then
|
|
msg = msg.." "..rescuer_enemy_radio_freq_msg_factory(params.radio_freq)
|
|
end
|
|
if params.items_were_lost then
|
|
if params.looter_type == soulslike.entity_type.Monster then
|
|
msg = msg.." "..rescuer_moster_looter_msg_factory()
|
|
else
|
|
msg = msg.." "..rescuer_used_items_msg_factory()
|
|
end
|
|
end
|
|
msg = msg.." "..rescuer_stay_safe_msg_factory()
|
|
return msg
|
|
else
|
|
local msg = game.translate_string("st_soulslike_rescuer_initial_generic")
|
|
if params.gave_food_or_water then
|
|
msg = msg.." "..game.translate_string("st_soulslike_rescuer_food_generic")
|
|
end
|
|
if params.has_pda_marker or params.has_stash_pda_marker or params.has_multi_stash_pda_marker then
|
|
msg = msg.." " ..game.translate_string("st_soulslike_rescuer_pda_generic")
|
|
end
|
|
if params.radio_freq then
|
|
msg = msg.." "..game.translate_string(strformat("st_soulslike_rescuer_radio_generic", params.radio_freq))
|
|
end
|
|
return msg
|
|
end
|
|
end |