1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2024-12-28 23:06:38 +02:00

Update adjustments

Update adjustments:
- Shaman biters despawn after 2 mins from 5.
- In protected crew captain role transfers to officers (if there are any).
- Elite biters have 6% chance to spawn up from 3%.
This commit is contained in:
Piratux 2023-02-07 14:58:48 +02:00
parent a0417645c7
commit 2c93dc079e
4 changed files with 20 additions and 7 deletions

View File

@ -540,7 +540,7 @@ gui_runs_proposal_maker_capacity_disabled=This capacity setting isn't available
gui_runs_proposal_maker_propose=Propose
gui_runs_proposal_maker_no_limit=No limit
gui_runs_proposal_maker_protected=Protected
gui_runs_proposal_maker_protected_tooltip=Enables captain protection, which locks captain role when captain leaves or becomes afk instead of distributing the role to random crew member.\nCaptain protection expires if the crew is empty or inactive for __1__ hours.
gui_runs_proposal_maker_protected_tooltip=Enables captain protection, which locks captain role when captain leaves or becomes afk (unless there are officers) instead of distributing the role to random crew member.\nCaptain protection expires if the crew is empty or inactive for __1__ hours.
gui_runs_proposal_maker_private=Private
gui_runs_proposal_maker_private_tooltip=Sets your run to private, which protects the run by password.\nOnce the run has launched, only people who know password will be able to join the crew.\nPrivate run becomes public if the crew is empty or inactive for __1__ hours.
gui_runs_proposal_maker_password=Password
@ -549,7 +549,7 @@ gui_runs_proposal_maker_error_protected_run_limit=All protected run slots are oc
gui_runs_proposal_maker_error_private_run_limit=All private run slots are occupied. Wait until private run slots free up to create your own.
gui_runs_proposal_maker_error_private_run_password_no_match=Passwords do not match.
gui_runs_proposal_maker_error_private_run_password_empty=Passwords can't be empty.
gui_join_protected_run_info=This run is protected.\nThis means when captain leaves the game, other members won't get the captain role.\nCaptain protection expires in __1__:__2__:__3__
gui_join_protected_run_info=This run is protected.\nThis means when captain leaves the game, other members won't get the captain role (unless there are officers).\nCaptain protection expires in __1__:__2__:__3__
gui_join_private_run_info=This run is private.\nPlease enter a password to join the crew.\nThis run will become public in __1__:__2__:__3__
gui_join_private_run_error_wrong_password=The password you've entered is incorrect.

View File

@ -81,7 +81,7 @@ Public.doctor_heal_radius = 20
Public.doctor_heal_percentage_amount = 0.15
Public.shaman_energy_required_per_summon = 1000000
Public.shaman_max_charge = 30000000
Public.shaman_summoned_biter_time_to_live = 60 * 5 -- in seconds
Public.shaman_summoned_biter_time_to_live = 60 * 2 -- in seconds
Public.class_cycle_count = 5 -- How many classes should be purchased to have a chance to buy the same class again

View File

@ -909,6 +909,19 @@ function Public.crew_get_nonafk_crew_members()
return playerlist
end
function Public.crew_get_officers()
local officers = {}
local members = Public.crew_get_crew_members()
for _, player in pairs(members) do
if Public.is_officer(player.index) then
officers[#officers + 1] = player
end
end
return officers
end
function Public.destroy_decoratives_in_area(surface, area, offset)
local area2 = {{area[1][1] + offset.x, area[1][2] + offset.y}, {area[2][1] + offset.x, area[2][2] + offset.y}}
@ -1809,10 +1822,10 @@ function Public.try_make_biter_elite(entity, spawner)
local make_biter_elite = false
if from_elite_spawner then
if Math.random(1, 16) == 1 then
if Math.random(1, 8) == 1 then
make_biter_elite = true
end
elseif Math.random(1, 32) == 1 then
elseif Math.random(1, 16) == 1 then
make_biter_elite = true
end

View File

@ -213,7 +213,7 @@ function Public.player_left_so_redestribute_roles(player)
local memory = Memory.get_crew_memory()
if Common.is_captain(player) then
if memory.run_is_protected then
if memory.run_is_protected and #Common.crew_get_officers() == 0 then
if memory.crewplayerindices and #memory.crewplayerindices > 0 then
Common.parrot_speak(memory.force, {'pirates.parrot_captain_left_protected_run'})
Common.parrot_speak(memory.force, {'pirates.parrot_create_new_crew_tip'})
@ -339,7 +339,7 @@ function Public.afk_player_tick(player)
local non_afk_members = Common.crew_get_nonafk_crew_members()
if Common.is_captain(player) and (not memory.run_is_protected) and #non_afk_members >= 1 then
if Common.is_captain(player) and #non_afk_members >= 1 and ((not memory.run_is_protected) or #Common.crew_get_officers() > 0) then
if #non_afk_members == 1 then --don't need to bounce it around
Public.make_captain(non_afk_members[1])
else