mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-03-17 20:58:13 +02:00
Merge branch 'develop' of https://github.com/Piratux/ComfyFactorio-Pirates into develop
This commit is contained in:
commit
96f1463adb
locale
maps/pirates
ai.luaapi_events.luaapi_on_tick.luabalance.luaboat_upgrades.luacommands.luacommon.luacoredata.luacrew.luacustom_events.luaeffects.lua
gui
highscore.lualocally_maintained_comfy_forks
loot.luamain.luamath.luamemory.luanoise_pregen
ores.luaoverworld.luaparrot.luaplayer_colors.luaprogression.luaquest.luaraffle.luareference
roles
shop
structures
surfaces
cabin.lua
utils_local.luachannel
common.luacrowsnest.luadock.luahold.luaislands
common.lua
lobby.luafirst
horseshoe
hunt.luaislands.luamaze
radioactive
red_desert
standard
standard_variant
swamp
walkways
sea
surfaces.lua@ -13,13 +13,13 @@ softmod_info_new_players_1=For New Players
|
||||
softmod_info_new_players_2=Mine coal and other resources and bring them to the ship to keep things going, or try asking the captain for more specific tasks.
|
||||
|
||||
softmod_info_tips_1=Features of the game that are hard to work out alone
|
||||
softmod_info_tips_2=• The captain can steer the boat from the crow's nest by placing 100 rail signals in one of the blue boxes.\n• Resources granted to the ship appear in the captain's cabin.\n• Charging a silo drains power from everything else on its network.\n• The quantity of ore available on an island is independent of the order in which you break rocks.\n• Passive pollution ramps up over time on each island.\n• The strength of attacks is proportional to the number of remaining nests. (The time-based rate of evolution is proportional to nests too, but destroying a nest will immediately jump evolution by most of the amount it 'would have' made had it survived.)\n• Lab productivity increases with each league.\n• Logged-out players keep their items with them for a while — except 'important' items that are returned to the crew immediately.\n• item-on-ground entities on the deck are moved to the cabin when the boat moves, for performance reasons.\n• Commands: /ccolor gives you a fun color. /classinfo {classname} gives the description of the named class. To manage your class, use /take {classname} or /giveup. Captains also have /tax, /undock, /officer, /plank.
|
||||
softmod_info_tips_2=• The captain can steer the boat from the crow's nest by placing 100 rail signals in one of the blue boxes.\n• Resources granted to the ship appear in the captain's cabin.\n• Charging a silo drains power from everything else on its network.\n• The quantity of ore available on an island is independent of the order in which you break rocks.\n• Passive pollution ramps up over time on each island.\n• The strength of attacks is proportional to the number of remaining nests. (The time-based rate of evolution is proportional to nests too, but destroying a nest will immediately jump evolution by most of the amount it 'would have' made had it survived.)\n• Lab productivity increases with each league.\n• item-on-ground entities on the deck are moved to the cabin when the boat moves, for performance reasons.\n• Commands: /ccolor gives you a fun color. /classinfo {classname} gives the description of the named class. To manage your class, use /take {classname} or /giveup.
|
||||
|
||||
softmod_info_updates_1=Recent changes
|
||||
softmod_info_updates_2=v1.2.8\n• Poison damage against players buffed\n• Maze treasure buffed\n• Biter waves slightly more concentrated into groups\n\nv1.2.4-v1.2.7\n• String-related hotfixes.\n\nv1.2.3\n• Rework of 'quest buildings' that appear on islands.\n• Fixed stutter when loading certain maps, such as swamp.\n• Various new player-friendly visual renderings.\n• Mod prepared for translation into other languages.\n• Expanded Gourmet's sense of taste.\n\nv1.2\n• Mod portal release.\n• Some rebalancing of Nightmare difficulty.
|
||||
softmod_info_updates_2=v1.2.11\n• Unlimited time can now be spent at sea between each destination.\n\nv1.2.8\n• Poison damage against players buffed\n• Maze treasure buffed\n• Biter waves slightly more concentrated into groups\n\nv1.2.3\n• Rework of 'quest buildings' that appear on islands.\n• Fixed stutter when loading certain maps, such as swamp.\n• Various new player-friendly visual renderings.\n• Mod prepared for translation into other languages.\n• Expanded Gourmet's sense of taste.\n\nv1.2\n• Mod portal release.\n• Some rebalancing of Nightmare difficulty.
|
||||
|
||||
softmod_info_credits_1=Credits
|
||||
softmod_info_credits_2=Pirate Ship designed and coded by thesixthroc. Comfy codebase and help from Gerkiz, Hanakocz and Mew @ Comfy Industries (https://getcomfy.eu). Some island structure blueprints contributed by Mattisso.\n\nthesixthroc is looking for translators and coders to help with this mod. Come chat with us: https://getcomfy.eu/discord\n\n"Those white gloves. I'll never forget them 'till the day I die." - Dr. John
|
||||
softmod_info_credits_2=Pirate Ship designed and coded by thesixthroc. Comfy codebase and help from Gerkiz, Hanakocz and Mew @ Comfy Industries (https://getcomfy.eu). Some island structure blueprints contributed by Mattisso.\n\nCome chat with us: https://getcomfy.eu/discord\n\n"Those white gloves. I'll never forget them 'till the day I die." - Dr. John
|
||||
softmod_info_credits_2_old=Softmod designed and written by thesixthroc. Comfy codebase help from Gerkiz, Hanakocz and Mew @ Comfy Industries (https://getcomfy.eu). Some island structure blueprints were contributed by Mattisso. Gold sprite by Clint Bellanger. Parrot sprites by @pixelthen.\n\n"Those white gloves. I'll never forget them 'till the day I die." - Dr. John
|
||||
|
||||
softmod_info_body_promote=by thesixthroc
|
||||
@ -28,9 +28,141 @@ softmod_info_body_promote_old2=patreon.com/thesixthroc
|
||||
softmod_info_body_clicky=Click to dismiss.
|
||||
|
||||
|
||||
|
||||
separator_1=,
|
||||
separator_2= and
|
||||
|
||||
notify_whisper=[Whisper]
|
||||
notify_parrot=Parrot:
|
||||
|
||||
|
||||
|
||||
|
||||
location_displayname_first_1=Fledgling Vale
|
||||
location_displayname_horseshoe_1=Shark Keys
|
||||
location_displayname_horseshoe_2=Little Keys
|
||||
location_displayname_horseshoe_3=Little Keys
|
||||
location_displayname_maze_1=Bewildering Maze
|
||||
location_displayname_radioactive_1=Abandoned Labs
|
||||
location_displayname_red_desert_1=Sandworm Caldera
|
||||
location_displayname_standard_1=Isle of Buried Treasure
|
||||
location_displayname_standard_variant_1=Secluded Dells
|
||||
location_displayname_swamp_1=Poisonous Fen
|
||||
location_displayname_walkways_1=Frozen Pools
|
||||
location_displayname_sea_1=
|
||||
location_displayname_dock_1=Dock
|
||||
location_displayname_lobby_1=Starting Dock
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
parrot_set_sail_advice=Ready to sail to the next island? Click up top!
|
||||
parrot_hard_praise=Steel chests for steel players! Squawk!
|
||||
parrot_normal_praise=Iron chests for iron players! Squawk!
|
||||
parrot_fuel_warning=Fuel is low!
|
||||
parrot_silo_warning=The silo is attracting biters...
|
||||
parrot_0=We can wait here for as long as we like.
|
||||
parrot_night_warning=Did you know that biters deal more damage at night?
|
||||
parrot_boats_warning=200 leagues? I think we're being chased...
|
||||
parrot_kraken_warning=400 leagues coming up? What are those pink things I spy...
|
||||
parrot_radioactive_tip_1=We'll need uranium-235 to push away from this island...
|
||||
parrot_radioactive_tip_2=The biters don't care if we pollute here, but they evolve fast.
|
||||
parrot_maze_tip_1=Something seems wrong with our minimap.
|
||||
parrot_captain_first_time_in_cabin_hint=The captain can buy items in the cabin, such as rail signals to steer the ship.
|
||||
|
||||
|
||||
|
||||
|
||||
difficulty_easy=Easy
|
||||
difficulty_normal=Normal
|
||||
difficutly_hard=Hard
|
||||
difficulty_nightmare=Nightmare
|
||||
|
||||
notify_difficulty_vote=__1__ voted [color=__2__,__3__,__4__]for difficulty __5__[/color]
|
||||
notify_difficulty_change=Difficulty [color=__1__,__2__,__3__]changed to __4__[/color]
|
||||
|
||||
|
||||
daynightcycle_static=Static
|
||||
daynightcycle_slowcyclic=Slow Cyclic
|
||||
daynightcycle_cyclic=Cyclic
|
||||
daynightcycle_fastcyclic=Fast Cyclic
|
||||
daynightcycle_rapidcyclic=Rapid Cyclic
|
||||
|
||||
|
||||
|
||||
ship_undocked_1=[font=heading-1]Ship undocked[/font] by captain.
|
||||
ship_undocked_2=[font=heading-1]Ship auto-undocked[/font]. Return to ship.
|
||||
ship_undocked_3=[font=heading-1]Ship auto-undocked[/font].
|
||||
|
||||
ship_set_off_to_next_island=[font=heading-1]Ship set sail[/font] for the next destination.
|
||||
|
||||
plank=__1__ planked __2__!
|
||||
plank_error_invalid_player=Command error: Player is not a crewmember.
|
||||
plank_error_self=Command error: Can't plank yourself.
|
||||
|
||||
tax=The captain taxed __1__.
|
||||
tax_error_nothing=Tax error: No coins or game-critical items found in crewmates' inventories or cursor stacks.
|
||||
|
||||
respawn_speed_bonus_removed=Respawn speed bonus removed.
|
||||
respawn_speed_bonus_applied=Respawn speed bonus applied.
|
||||
|
||||
find_map=__1__ found a map. Treasure location revealed.
|
||||
find_ghost=__1__ found a ghost.
|
||||
|
||||
silo_destroyed=The silo was destroyed.
|
||||
|
||||
research_notification=__1__ researched.
|
||||
|
||||
destroyed_all_nests=All biter bases destroyed — escape cost removed.
|
||||
|
||||
recover_offline_player_items=Offline player's items recovered to cabin.
|
||||
|
||||
death_froze=__1__ froze to death.
|
||||
death_pushed_into_water_by_cannon=__1__ was pushed into water by a cannon.
|
||||
|
||||
granted_1=Granted: __1__.
|
||||
granted_2=Granted: __1__, __2__.
|
||||
granted_3=Granted: __1__, __2__, __3__.
|
||||
|
||||
approaching_destination=Approaching destination __1__, __2__.
|
||||
loading_destination=Loading destination __1__, __2__.
|
||||
|
||||
steer_left=Steering portside...
|
||||
steer_right=Steering starboard...
|
||||
|
||||
|
||||
|
||||
|
||||
error_undock_too_early=Undock error: Can't undock in the first 10 seconds.
|
||||
error_undock_insufficient_resources=Undock error: Not enough resources stored in the captain's cabin.
|
||||
|
||||
error_cabin_full=Sadly, there wasn't space in the cabin for all of your reward.
|
||||
|
||||
error_build_undergrounds_on_boat=Build error: Undergrounds can't be built on the boat, due to conflicts with the boat movement code.
|
||||
error_cant_carry_barrels=Recipe error: Barrels are too heavy to carry back to the ship. Try another way.
|
||||
error_disembark=Now is no time to disembark.
|
||||
|
||||
|
||||
|
||||
|
||||
quest_structure_market_1=Requires __1__x
|
||||
quest_structure_market_2=(item components will be
|
||||
quest_structure_market_3=refunded upon completion)
|
||||
|
||||
quest_structure_furnace_1=Requires
|
||||
quest_structure_furnace_2=(the furnace breaks
|
||||
quest_structure_furnace_3=delivered items down
|
||||
quest_structure_furnace_4=into components)
|
||||
|
||||
|
||||
|
||||
market_description_upgrade_power=Upgrade the ship's passive power generators.
|
||||
market_description_upgrade_hold=Purchase an extra hold.
|
||||
market_description_upgrade_merchants=Unlock merchant ships on future islands.
|
||||
market_description_upgrade_rockets=Unlock the sale of rockets at island markets.
|
||||
market_description_purchase_class=Purchase the class __1__.
|
||||
market_description_extra_time_at_sea=Relax at sea: Increase the next destination's loading time by 60 seconds.
|
||||
|
||||
|
||||
market_event_sell=__1__ sold __2__ for __3__.
|
||||
@ -44,89 +176,27 @@ market_error_not_captain_or_officer=Purchase error: You need to be a captain or
|
||||
market_error_maximum_loading_time=Purchase error: Reached the maximum allowed loading time.
|
||||
|
||||
repaired_cannons=[font=heading-1]__1__ repaired the ship's cannons.[/font]
|
||||
|
||||
|
||||
proposal_displayform=__1__ — __2__
|
||||
run_displayform= __2__
|
||||
crewmember_displayform=[color=__2__,__3__,__4__]__5__[/color] [color=1,1,1]__6__[/color]
|
||||
capacity_tooltip=Capacity. Sets the maximum number of crewmembers allowed.
|
||||
difficulty_tooltip=Difficulty.\n\nHigher difficulties have higher pollution and evo, higher biter damage, lower gold loot, but higher chest loot, along with small effects on the time per island, quest requirements, and silo position.\n\nDifficulty also determines the material the ship is made out of.
|
||||
mode_tooltip=Mode.
|
||||
|
||||
auto_undock_tooltip=The maximum time to stay at this location.\n\nOnce this time is reached, the boat undocks automatically. The captain can choose to leave earlier by pressing this button.
|
||||
atsea_loading_tooltip=The next destination is loading.
|
||||
leave_anytime_tooltip=The captain chooses when to undock the ship.\n\nThey can undock by pressing this button.
|
||||
|
||||
resources_needed_tooltip_0=At the next destination, these resources will be needed in order to undock.
|
||||
resources_needed_tooltip_1=At the next destination, these resources will be needed in order to undock early.\n\nFewer resources will be needed the longer you stay, eventually dropping to zero.
|
||||
resources_needed_tooltip_2=The captain can undock early by clicking this button, but only if enough resources have been stored in the captain's cabin.\n\nCost on arrival: __1__\nLeaving now will spend: __2__
|
||||
resources_needed_tooltip_3=The captain can undock by clicking this button, but only if enough resources are stored in the captain's cabin.
|
||||
|
||||
resources_needed_tooltip_0_rocketvariant=At the next destination, these resources will be needed in order to undock.\n\nThe silo represents a rocket launch rather than a resource.
|
||||
resources_needed_tooltip_1_rocketvariant=At the next destination, these resources will be needed in order to undock early.\n\nFewer resources will be needed the longer you stay, eventually dropping to zero.\n\nThe silo represents a rocket launch rather than a resource.
|
||||
resources_needed_tooltip_2_rocketvariant=The captain can undock early by clicking this button, but only if enough resources have been stored in the captain's cabin.\n\nThe silo represents a rocket launch rather than a resource.\n\nnCost on arrival: __1__\nLeaving now will spend: __2__
|
||||
resources_needed_tooltip_3_rocketvariant=The captain can undock by clicking this button, but only if enough resources are stored in the captain's cabin.\n\nThe silo represents a rocket launch rather than a resource.
|
||||
fuel_tooltip=Stored fuel: __1__.\n\nTo store more, send it to the captain's cabin. If the ship runs out of fuel, the crew loses.
|
||||
|
||||
loading_new_game=Loading new game...
|
||||
|
||||
choose_chat_color=__1__ chose the color __2__
|
||||
randomize_chat_color=__1__'s color randomized to __2__
|
||||
notify_whisper=[Whisper]
|
||||
notify_parrot=Parrot:
|
||||
|
||||
silo_destroyed=The silo was destroyed.
|
||||
|
||||
granted_1=Granted: __1__.
|
||||
granted_2=Granted: __1__, __2__.
|
||||
granted_3=Granted: __1__, __2__, __3__.
|
||||
|
||||
death_froze=__1__ froze to death.
|
||||
death_pushed_into_water_by_cannon=__1__ was pushed into water by a cannon.
|
||||
|
||||
approaching_destination=Approaching destination __1__, __2__.
|
||||
loading_destination=Loading destination __1__, __2__.
|
||||
|
||||
goto_oldest_crew_with_large_capacity=There are multiple crews on this server. You have been placed in the oldest crew with large capacity.
|
||||
goto_oldest_crew=There are multiple crews on this server. You have been placed in the oldest.
|
||||
|
||||
research_notification=__1__ researched.
|
||||
|
||||
victory=Victory, on v__1__, __2__, capacity __3__. Playtime: [font=default-large-semibold]__4__[/font] since 1st island. Crewmembers: __5__.
|
||||
|
||||
loss_cannon_destroyed=Game over — cannon destroyed.
|
||||
loss_out_of_fuel=Game over — out of fuel.
|
||||
loss_silo_destroyed=Game over — silo destroyed.
|
||||
loss_silo_destroyed_before_necessary_launch=Game over — silo destroyed before a necessary launch.
|
||||
loss_rest_of_message_long=Playtime: __1__ since 1st island. Crewmembers: __2__
|
||||
loss_rest_of_message_short=Playtime: __1__ since 1st island.
|
||||
|
||||
error_build_undergrounds_on_boat=Build error: Undergrounds can't be built on the boat, due to conflicts with the boat movement code.
|
||||
error_cant_carry_barrels=Recipe error: Barrels are too heavy to carry back to the ship. Try another way.
|
||||
error_disembark=Now is no time to disembark.
|
||||
|
||||
destroyed_all_nests=All biter bases destroyed — escape cost removed.
|
||||
|
||||
recover_offline_player_items=Offline player's items recovered to cabin.
|
||||
|
||||
warn_nearly_afk_captain=Note: If you go idle as captain for too long, the role passes to another crewmember.
|
||||
|
||||
respawn_speed_bonus_removed=Respawn speed bonus removed.
|
||||
respawn_speed_bonus_applied=Respawn speed bonus applied.
|
||||
|
||||
find_map=__1__ found a map. Treasure location revealed.
|
||||
find_ghost=__1__ found a ghost.
|
||||
|
||||
steer_left=Steering portside...
|
||||
steer_right=Steering starboard...
|
||||
|
||||
upgrade_hold=[font=heading-1]__1__ upgraded the ship's hold.[/font]
|
||||
upgrade_power=[font=heading-1]__1__ upgraded the ship's power.[/font]
|
||||
upgrade_merchants=[font=heading-1]__1__ unlocked merchant ships at future islands.[/font]
|
||||
upgrade_rockets=[font=heading-1]__1__ unlocked the sale of rockets at future quest markets.[/font]
|
||||
|
||||
notify_difficulty_vote=__1__ voted [color=__2__,__3__,__4__]for difficulty __5__[/color]
|
||||
notify_difficulty_change=Difficulty [color=__1__,__2__,__3__]changed to __4__[/color]
|
||||
upgrade_hold_crowsnest_form=Extra Hold
|
||||
upgrade_power_crowsnest_form=Power
|
||||
upgrade_merchants_crowsnest_form=Unlock Merchants
|
||||
upgrade_rockets_crowsnest_form=Unlock Rockets
|
||||
|
||||
|
||||
|
||||
hold_connections_label_inactive=inactive
|
||||
hold_connections_label_to=to -__1__
|
||||
hold_connections_label_from=from -__1__
|
||||
|
||||
surface_label_cabin=Captain's Cabin
|
||||
surface_label_crowsnest=Crow's Nest
|
||||
surface_label_hold_nth=Ship's Hold: -__1__
|
||||
surface_label_hold=Ship's Hold
|
||||
|
||||
|
||||
|
||||
role_officer=Officer
|
||||
@ -134,20 +204,6 @@ role_officer_description=Assigned by the captain, officers can use the Captain's
|
||||
role_captain=Captain
|
||||
role_captain_description=Has executive power to undock the ship, purchase items, and various other special actions. When the game assigns a captain, it gives priority to those who have been playing the longest as a non-captain.
|
||||
|
||||
|
||||
parrot_hard_praise=Steel chests for steel players! Squawk!
|
||||
parrot_normal_praise=Iron chests for iron players! Squawk!
|
||||
parrot_fuel_warning=Fuel is low!
|
||||
parrot_silo_warning=The silo is attracting biters...
|
||||
parrot_0=We can wait here for as long as we like.
|
||||
parrot_night_warning=Did you know that biters deal more damage at night?
|
||||
parrot_boats_warning=200 leagues? I think we're being chased...
|
||||
parrot_kraken_warning=400 leagues coming up? What are those pink things I spy...
|
||||
parrot_radioactive_tip_1=We'll need uranium-235 to push away from this island...
|
||||
parrot_radioactive_tip_2=The biters don't care if we pollute here, but they evolve fast.
|
||||
parrot_maze_tip_1=Something seems wrong with our minimap.
|
||||
parrot_captain_first_time_in_cabin_hint=The captain can buy items in the cabin, such as rail signals to steer the ship.
|
||||
|
||||
class_deckhand=Deckhand
|
||||
class_deckhand_explanation=They move faster and generate ore for the cabin whilst onboard above deck.
|
||||
class_deckhand_explanation_advanced=Their move __1__x times faster and generate iron/copper ore(with current crew size +__2__ roughly every __3__ seconds) for the cabin whilst onboard above deck.
|
||||
@ -187,49 +243,13 @@ class_smoldering_explanation=They periodically convert wood into coal, if they h
|
||||
class_gourmet=Gourmet
|
||||
class_gourmet_explanation=They generate ore for the cabin by eating fish in fancy locations.
|
||||
|
||||
|
||||
class_explanation=__1__: __2__
|
||||
class_explanation_upgraded_class=__1__: An upgrade of __2__. __3__
|
||||
|
||||
class_purchase=__1__ bought the class __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
class_upgrade=__1__ upgraded their class from __2__ to __3__ ([font=scenario-message-dialog]__4__[/font]).
|
||||
|
||||
crew_to_spectator=__1__ left the crew to become a spectator.
|
||||
lobby_to_spectator=__1__ joined as a spectator.
|
||||
lobby_to_spectator_2=__1__ left the lobby to spectate __2__.
|
||||
spectator_to_lobby=__1__ stopped spectating and returned to the lobby.
|
||||
lobby_to_crew=__1__ joined the crew.
|
||||
lobby_to_crew_2=__1__ left the lobby to join __2__.
|
||||
crew_leave=__1__ left the crew.
|
||||
|
||||
|
||||
crew_launch=[__1__] Launched.
|
||||
crew_disband=[__1__] Disbanded after __2__.
|
||||
proposal_propose=__1__ proposed the run __2__ [Capacity __3__].
|
||||
proposal_retracted=Proposal __1__ retracted.
|
||||
proposal_abandoned=Proposal __1__ abandoned.
|
||||
|
||||
crew_summon=Crew summoned.
|
||||
crew_continue_on_freeplay=The run now continues on 'Freeplay'.
|
||||
crew_disbanded=__1__ disbanded __2__ after __3__.
|
||||
|
||||
ship_undocked_1=[font=heading-1]Ship undocked[/font] by captain.
|
||||
ship_undocked_2=[font=heading-1]Ship auto-undocked[/font]. Return to ship.
|
||||
ship_undocked_3=[font=heading-1]Ship auto-undocked[/font].
|
||||
|
||||
error_undock_too_early=Undock error: Can't undock in the first 10 seconds.
|
||||
error_undock_insufficient_resources=Undock error: Not enough resources stored in the captain's cabin.
|
||||
|
||||
error_cabin_full=Sadly, there wasn't space in the cabin for all of your reward.
|
||||
|
||||
plank=__1__ planked __2__!
|
||||
plank_error_invalid_player=Command error: Player is not a crewmember.
|
||||
plank_error_self=Command error: Can't plank yourself.
|
||||
|
||||
personal_join_string_1=You have joined the crew '__1__' [Capacity __2__].
|
||||
personal_join_string_2=You have joined the crew '__1__' [Capacity __2__, Difficulty [color=__3__,__4__,__5__] __6__[/color]].
|
||||
|
||||
error_class_assign_redundant=Class error: You're already a __1__.
|
||||
error_class_assign_unavailable_class=Class error: No spare class of that type is available.
|
||||
|
||||
class_take_spare=__1__ took the spare class __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
class_give_spare=A spare __1__ class with given to __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
@ -260,19 +280,98 @@ roles_unmake_officer_error_2=Command error: Player isn't a crewmember.
|
||||
roles_resign_officer=__1__ resigned from officer status.
|
||||
roles_notify_looking_for_captain=Looking for a suitable captain...
|
||||
|
||||
tax=The captain taxed __1__.
|
||||
tax_error_nothing=No coins or game-critical found in crewmates' inventories or cursor stacks.
|
||||
warn_nearly_afk_captain=Note: If you go idle as captain for too long, the role passes to another crewmember.
|
||||
|
||||
error_class_assign_redundant=Class error: You're already a __1__.
|
||||
error_class_assign_unavailable_class=Class error: No spare class of that type is available.
|
||||
|
||||
|
||||
market_description_upgrade_power=Upgrade the ship's passive power generators.
|
||||
market_description_upgrade_hold=Purchase an extra hold.
|
||||
market_description_upgrade_merchants=Unlock merchant ships on future islands.
|
||||
market_description_upgrade_rockets=Unlock the sale of rockets at island markets.
|
||||
market_description_purchase_class=Purchase the class __1__.
|
||||
market_description_extra_time_at_sea=Relax at sea for an extra minute: Increase the next destination's loading time by 60 seconds.
|
||||
|
||||
|
||||
|
||||
personal_join_string_1=You have joined the crew '__1__' [Capacity __2__].
|
||||
personal_join_string_2=You have joined the crew '__1__' [Capacity __2__, Difficulty [color=__3__,__4__,__5__] __6__[/color]].
|
||||
|
||||
goto_oldest_crew_with_large_capacity=There are multiple crews on this server. You have been placed in the oldest crew with large capacity.
|
||||
goto_oldest_crew=There are multiple crews on this server. You have been placed in the oldest.
|
||||
|
||||
|
||||
choose_chat_color=__1__ chose the color __2__
|
||||
randomize_chat_color=__1__'s color randomized to __2__
|
||||
|
||||
|
||||
crew_to_spectator=__1__ left the crew to become a spectator.
|
||||
lobby_to_spectator=__1__ joined as a spectator.
|
||||
lobby_to_spectator_2=__1__ left the lobby to spectate __2__.
|
||||
spectator_to_lobby=__1__ stopped spectating and returned to the lobby.
|
||||
lobby_to_crew=__1__ joined the crew.
|
||||
lobby_to_crew_2=__1__ left the lobby to join __2__.
|
||||
crew_leave=__1__ left the crew.
|
||||
|
||||
crew_launch=[__1__] Launched.
|
||||
crew_disband=[__1__] Disbanded after __2__.
|
||||
proposal_propose=__1__ proposed the run __2__ [Capacity __3__].
|
||||
proposal_retracted=Proposal __1__ retracted.
|
||||
proposal_abandoned=Proposal __1__ abandoned.
|
||||
|
||||
default_crew_name=NoName
|
||||
|
||||
loading_new_game=Loading new game...
|
||||
|
||||
crew_summon=Crew summoned.
|
||||
crew_continue_on_freeplay=The run now continues on 'Freeplay'.
|
||||
crew_disbanded=__1__ disbanded __2__ after __3__.
|
||||
|
||||
|
||||
victory=Victory, on v__1__, __2__, capacity __3__. Playtime: [font=default-large-semibold]__4__[/font] since 1st island. Crewmembers: __5__.
|
||||
|
||||
loss_cannon_destroyed=Game over — cannon destroyed.
|
||||
loss_out_of_fuel=Game over — out of fuel.
|
||||
loss_silo_destroyed=Game over — silo destroyed.
|
||||
loss_silo_destroyed_before_necessary_launch=Game over — silo destroyed before a necessary launch.
|
||||
loss_rest_of_message_long=Playtime: __1__ since 1st island. Crewmembers: __2__
|
||||
loss_rest_of_message_short=Playtime: __1__ since 1st island.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
highscore_heading_crew=Crew
|
||||
highscore_heading_captain=Captain
|
||||
highscore_heading_captain_tooltip=The player who spent the longest as captain between leagues 0 and 1000 (exclusive).
|
||||
highscore_heading_completion=Completion
|
||||
highscore_heading_leagues=Leagues
|
||||
highscore_heading_version=Version
|
||||
highscore_heading_difficulty=Difficulty
|
||||
highscore_heading_peak_players=PeakPlayers
|
||||
|
||||
|
||||
proposal_displayform=__1__ — __2__
|
||||
run_displayform= __2__
|
||||
crewmember_displayform=[color=__2__,__3__,__4__]__5__[/color] [color=1,1,1]__6__[/color]
|
||||
capacity_tooltip=Capacity. Sets the maximum number of crewmembers allowed.
|
||||
difficulty_tooltip=Difficulty.\n\nHigher difficulties have higher pollution and evo, higher biter damage, lower gold loot, but higher chest loot, along with small effects on the time per island, quest requirements, and silo position.\n\nDifficulty also determines the material the ship is made out of.
|
||||
mode_tooltip=Mode.
|
||||
|
||||
auto_undock_tooltip=The maximum time to stay at this location.\n\nOnce this time is reached, the boat undocks automatically. The captain can choose to leave earlier by pressing this button (or typing /undock).
|
||||
atsea_loading_tooltip=The next destination is loading.
|
||||
leave_anytime_tooltip=The captain chooses when to undock the ship.\n\nThey can undock by pressing this button.
|
||||
atsea_waiting_tooltip=The ship pauses after each destination. When the captain is ready, they can click this button to proceed.
|
||||
|
||||
resources_needed_tooltip_0=At the next destination, these resources will be needed in order to undock.
|
||||
resources_needed_tooltip_1=At the next destination, these resources will be needed in order to undock early.\n\nFewer resources will be needed the longer you stay, eventually dropping to zero.
|
||||
resources_needed_tooltip_2=The captain can undock early by clicking this button, but only if enough resources have been stored in the captain's cabin.\n\nCost on arrival: __1__\nLeaving now will spend: __2__
|
||||
resources_needed_tooltip_3=The captain can undock by clicking this button, but only if enough resources are stored in the captain's cabin.
|
||||
|
||||
resources_needed_tooltip_0_rocketvariant=At the next destination, these resources will be needed in order to undock.\n\nThe silo represents a rocket launch rather than a resource.
|
||||
resources_needed_tooltip_1_rocketvariant=At the next destination, these resources will be needed in order to undock early.\n\nFewer resources will be needed the longer you stay, eventually dropping to zero.\n\nThe silo represents a rocket launch rather than a resource.
|
||||
resources_needed_tooltip_2_rocketvariant=The captain can undock early by clicking this button, but only if enough resources have been stored in the captain's cabin.\n\nThe silo represents a rocket launch rather than a resource.\n\nnCost on arrival: __1__\nLeaving now will spend: __2__
|
||||
resources_needed_tooltip_3_rocketvariant=The captain can undock by clicking this button, but only if enough resources are stored in the captain's cabin.\n\nThe silo represents a rocket launch rather than a resource.
|
||||
fuel_tooltip=Stored fuel: __1__.\n\nTo store more, send it to the captain's cabin. If the ship runs out of fuel, the crew loses.
|
||||
|
||||
|
||||
gui_crew_window_buttons_quit_crew=Quit Crew
|
||||
gui_crew_window_buttons_quit_crew_tooltip=Return to the lobby.
|
||||
gui_crew_window_buttons_quit_spectators=Return to Lobby
|
||||
@ -311,7 +410,7 @@ gui_crew_window_captains_actions_revoke_class_tooltip=Put this player's class ba
|
||||
gui_crew_window_captains_actions_summon_crew=Summon Crew to Ship
|
||||
gui_crew_window_captains_actions_summon_crew_tooltip=Teleport crewmembers to the ship.
|
||||
gui_crew_window_captains_actions_tax=Tax Crew
|
||||
gui_crew_window_captains_actions_tax_tooltip=For each non-officer in your crew, take a quarter of their doubloons (and other game-critical items). (or use /tax)
|
||||
gui_crew_window_captains_actions_tax_tooltip=For each non-officer in your crew, take __1__% of their doubloons (and their other game-critical items). (or use /tax)
|
||||
gui_crew_window_captains_actions_undock_tip=To undock, use the top toolbar.
|
||||
|
||||
gui_crew_window_crew_age=Age: __1__
|
||||
@ -331,6 +430,8 @@ gui_info_updates=Updates
|
||||
gui_info_tips=Tips
|
||||
gui_info_credits=Credits
|
||||
|
||||
gui_fuel_1=Fuel:
|
||||
|
||||
gui_minimap_tooltip=LMB: Zoom in.\nRMB: Zoom out.\nMMB: Scale window.
|
||||
gui_minimap_outside_view=Outside View
|
||||
gui_minimap_switch_left=Auto Show Map — On
|
||||
@ -361,7 +462,7 @@ gui_runs_proposal_maker_propose=Propose
|
||||
gui_runs_proposal_maker_no_limit=No limit
|
||||
|
||||
gui_runs_launch=Launch run
|
||||
gui_runs_launch_error_1=Gather support from more pirates.
|
||||
gui_runs_launch_error_1=Gather endorsements from more pirates.
|
||||
gui_runs_launch_error_2=The number of concurrent runs on the server has reached the cap set by the admins.
|
||||
gui_runs_launch_error_3=Can't launch; at least one run needs high player capacity.
|
||||
gui_runs_launch_error_4=No sloops available. Join an existing run instead.
|
||||
@ -379,6 +480,7 @@ gui_etaframe_board_warning=RETURN TO SHIP
|
||||
gui_etaframe_board_warning_tooltip=Probably time to board...
|
||||
gui_etaframe_autoundock=Auto-undock:
|
||||
gui_etaframe_arriving_in=Arriving in
|
||||
gui_etaframe_atsea_waiting=Captain — Click here to Sail
|
||||
gui_etaframe_undock=Undock:
|
||||
gui_etaframe_anytime=Anytime
|
||||
gui_etaframe_nest_escape_cost=Next escape cost:
|
||||
@ -406,40 +508,4 @@ gui_questframe_nodamage=Island Quest: No Damage\n\nLaunch a rocket without the s
|
||||
gui_crew_tooltip_1=Your Crew\n\nPerform crew actions, such as selecting a class if any are available.
|
||||
gui_crew_tooltip_2=Your Crew\n\nYou're a free agent, so there's nothing to do here.
|
||||
|
||||
gui_progress_tooltip=Progress: __1__ leagues.\n\nTravel __2__ leagues to win the game.
|
||||
|
||||
|
||||
location_displayname_first_1=Fledgling Vale
|
||||
location_displayname_horseshoe_1=Shark Keys
|
||||
location_displayname_horseshoe_2=Little Keys
|
||||
location_displayname_horseshoe_3=Little Keys
|
||||
location_displayname_maze_1=Bewildering Maze
|
||||
location_displayname_radioactive_1=Abandoned Labs
|
||||
location_displayname_red_desert_1=Sandworm Caldera
|
||||
location_displayname_standard_1=Isle of Buried Treasure
|
||||
location_displayname_standard_variant_1=Secluded Dells
|
||||
location_displayname_swamp_1=Poisonous Fen
|
||||
location_displayname_walkways_1=Frozen Pools
|
||||
location_displayname_sea_1=
|
||||
location_displayname_dock_1=Dock
|
||||
location_displayname_lobby_1=Starting Dock
|
||||
|
||||
|
||||
quest_structure_market_1=Requires __1__x
|
||||
quest_structure_market_2=(item components will be
|
||||
quest_structure_market_3=refunded upon completion)
|
||||
|
||||
quest_structure_furnace_1=Requires
|
||||
quest_structure_furnace_2=(the furnace breaks
|
||||
quest_structure_furnace_3=delivered items down
|
||||
quest_structure_furnace_4=into components)
|
||||
|
||||
|
||||
highscore_heading_crew=Crew
|
||||
highscore_heading_captain=Captain
|
||||
highscore_heading_captain_tooltip=The player who spent the longest as captain between leagues 0 and 1000 (exclusive).
|
||||
highscore_heading_completion=Completion
|
||||
highscore_heading_leagues=Leagues
|
||||
highscore_heading_version=Version
|
||||
highscore_heading_difficulty=Difficulty
|
||||
highscore_heading_peak_players=PeakPlayers
|
||||
gui_progress_tooltip=Progress: __1__ leagues.\n\nTravel __2__ leagues to win the game.
|
@ -1,266 +1,158 @@
|
||||
[pirates]
|
||||
softmod_info_header_before_version_number==== 海盗船 v
|
||||
softmod_info_header_after_version_number= ===
|
||||
softmod_info_body_1=新闻和聊天: getcomfy.eu/discord
|
||||
softmod_info_body_1=最新消息和聊天: getcomfy.eu/discord
|
||||
|
||||
softmod_info_game_description_1=游戏介绍
|
||||
softmod_info_game_description_2=在这个多人游戏场景中启航。收集资源并为船添加燃料,以便尽可能航行更多的里格(距离单位,约为三海里)。 船使用代码魔法移动。每个团队都有一名船长,他执行诸如决定船何时离开等行动。达布隆(货币)可以在整个游戏中不同的市场上花费。\n\n团队越小,游戏进程越慢。\n\n[font=default-bold]获胜条件:[/font] 航行1000里格。\n[font=default-bold]失败条件:[/font] 船耗尽燃料或重炮被摧毁。
|
||||
softmod_info_game_description_2=在这个多人游戏场景中启航。收集资源并为船添加燃料,以便尽可能航行更多的里格(距离单位,约为三海里)。 船使用代码魔法移动。每个团队都有一名船长,他执行诸如决定船何时出坞等行动。达布隆(通用货币)可以在整个游戏中不同的市场上花费。\n\n团队人数越少,游戏进程越慢。\n\n[font=default-bold]获胜条件:[/font] 航行1000里格。\n[font=default-bold]失败条件:[/font] 船耗尽燃料或重炮被摧毁。
|
||||
|
||||
# softmod_info_bugs_1=已知问题
|
||||
# softmod_info_bugs_2=•
|
||||
|
||||
softmod_info_new_players_1=对于新手
|
||||
softmod_info_new_players_2=开采煤炭和其他资源并将它们带到船上以继续进行,或者尝试向船长询问更具体的任务。
|
||||
softmod_info_new_players_1=对于新手的建议
|
||||
softmod_info_new_players_2=开采煤炭和其他资源并将它们带到船上以继续航行,或者尝试向船长询问更具体的任务。
|
||||
|
||||
softmod_info_tips_1=这个游戏模式单人难以完成
|
||||
softmod_info_tips_2=• 船长可以通过在其中一个蓝色盒子中放置 100 个轨道信号来驾驶船离开乌鸦巢。\n• 授予船的资源会出现在船长的船舱中。\n• 为发射井充电会消耗所在电网中的所有电力。\n• 岛上可用的矿石数量与你打碎岩石的顺序无关。\n• 每个岛上的被动污染随着时间的推移而增加。\n• 攻击的强度与剩余虫巢数成正比。 (基于时间的进化速度也与虫巢成正比,但破坏虫巢会立即使进化值跳跃,比让虫巢活着“本应”产生的要多。)\n• 实验室生产力随着航行里格数增加而提高。\n• 离线的玩家可以将他们的物品随身携带一段时间——除了需要立即归还给团队的“重要”物品。\n• 当船移动时,甲板上的地面实体会被移至船舱,为了更好的性能表现。\n• 命令: /ccolor 选择你的个性化颜色。 /classinfo {classname} 给出了命名类的描述。想要管理你的类,使用 /take {classname} or /giveup. 船长还有以下命令:/tax(课税), /undock(启航), /officer(军官), /plank(跳甲板).
|
||||
softmod_info_tips_1=这个模式单人难以完成
|
||||
softmod_info_tips_2=• 船长可以通过在瞭望台的其中一个蓝色箱子中放置 100 个轨道信号来驾驶船舶向左或向右。\n• 授予船的资源会出现在船长室中。\n• 为发射井充电会消耗所在电网中的所有电力。\n• 岛上可用的矿石数量与你打碎岩石的顺序无关。\n• 每个岛上的被动污染随着时间的推移而增加。\n• 攻击的强度与剩余虫巢数成正比。 (基于时间的进化速度也与虫巢成正比,但破坏虫巢会立即使进化值跳跃,比让虫巢活着“本应”产生的还要多。)\n• 实验室产能随着航行里格数增加而提高。\n• 离线的玩家可以将他们的物品随身携带一段时间——除了那些需要立即归还给团队的“重要”物品。\n• 当船移动时,甲板上的落地物品会被移至船舱,为了更好的性能表现。\n• 命令: /ccolor 随意一个有趣的颜色。 /classinfo {classname} 给出指定职业的描述(注意职业名称必须使用中文,例如/classinfo deckhand)。想要管理你的职业,请使用 /take {classname} 成为指定职业或 /giveup放弃当前职业。船长还有以下命令:/tax(向船员征收25%的税), /undock(启航,提前出坞), /officer(任命军官), /plank(让某人跳甲板,离开你的团队)。
|
||||
|
||||
softmod_info_updates_1=近期更新
|
||||
softmod_info_updates_2=v1.2.3\n• 重做岛屿上出现的“任务建筑”。\n• 修复了加载某些地图时出现的卡顿问题,例如沼泽。\n• 各种新的适合玩家的视觉渲染。\n• Mod准备翻译成其他语言。\n• 扩展了美食家的味觉。\n\nv1.2.2\n• 修复了 1.2.1 中引入的崩溃问题。\n• 增加了海妖击杀奖励。\n\nv1.2\n• 模组传送门发布。\n• 梦魇难度的一些重新平衡。
|
||||
softmod_info_updates_2=v1.2.3\n• 重做岛屿上出现的“任务建筑”。\n• 修复了加载某些地图时出现的卡顿问题,例如沼泽。\n• 各种新的适合玩家的视觉渲染。\n• 翻译成其他语言的Mod准备。\n• 扩展了美食家的味觉。\n\nv1.2.2\n• 修复了 1.2.1 中引入的崩溃问题。\n• 增加了海妖击杀奖励。\n\nv1.2\n• 模组传送门发布。\n• 噩梦难度的一些重新平衡。
|
||||
|
||||
softmod_info_credits_1=工作人员
|
||||
softmod_info_credits_2=海盗船由 thesixthroc 设计和编码。 Comfy 代码基础和帮助来自 Gerkiz, Hanakocz 和 Mew @ Comfy Industries (https://getcomfy.eu)。一些由 Mattisso 提供的岛屿结构蓝图。\n\nthesixthroc 正在寻找翻译和编码人员来帮助完成这个 mod。汉化:dwightkung 来和我们聊天: https://getcomfy.eu/discord\n\n"那些白手套。我永远不会忘记它们,直到我死去的那一天。" - Dr. John
|
||||
softmod_info_credits_2=海盗船由 thesixthroc 设计和编码。 Comfy 代码基础和帮助来自 Gerkiz, Hanakocz 和 Mew @ Comfy Industries (https://getcomfy.eu)。一些由 Mattisso 提供的岛屿结构蓝图。\n\nthesixthroc 正在寻找翻译和编码人员来帮助完成这个 mod。汉化:dwightkung\n\n 欢迎来和我们聊天: https://getcomfy.eu/discord\n\n"那些白手套。我永远不会忘记它们,直到我死去的那一天。" - Dr. John
|
||||
softmod_info_credits_2_old=Softmod designed and written by thesixthroc. Comfy codebase help from Gerkiz, Hanakocz and Mew @ Comfy Industries (https://getcomfy.eu). Some island structure blueprints were contributed by Mattisso. Gold sprite by Clint Bellanger. Parrot sprites by @pixelthen.\n\n"Those white gloves. I'll never forget them 'till the day I die." - Dr. John
|
||||
|
||||
softmod_info_body_promote=by thesixthroc
|
||||
softmod_info_body_promote=由 thesixthroc 制作
|
||||
softmod_info_body_promote_old2=patreon.com/thesixthroc
|
||||
|
||||
softmod_info_body_clicky=点击关闭。
|
||||
|
||||
|
||||
|
||||
separator_1=,
|
||||
separator_2= 和
|
||||
|
||||
|
||||
|
||||
market_event_sell=__1__ 以 __2__ 的价格售出 __3__.
|
||||
market_event_trade=__1__ 用 __2__ 换取 __3__.
|
||||
market_event_buy=__1__ 以 __2__ 的价格购买 __3__.
|
||||
|
||||
extra_time_at_sea=海上加时
|
||||
|
||||
market_error_not_captain=购买错误:您需要成为船长或军官才能购买。
|
||||
market_error_not_captain_or_officer=购买错误:您需要成为船长或军官才能购买。
|
||||
market_error_maximum_loading_time=P购买错误:已达到最大允许加载时间。
|
||||
|
||||
repaired_cannons=[font=heading-1]__1__ 修复了船上的大炮。[/font]
|
||||
|
||||
|
||||
proposal_displayform=__1__ — __2__
|
||||
run_displayform= __2__
|
||||
crewmember_displayform=[color=__2__,__3__,__4__]__5__[/color] [color=1,1,1]__6__[/color]
|
||||
capacity_tooltip=容量。设置允许的最大乘员人数。
|
||||
difficulty_tooltip=难度。\n\n更高的难度有更高的污染和进化,更多的虫子,更少的金币战利品,但更高的宝箱战利品,并且对每个岛屿的时间、任务要求和发射井位置有些许影响。\n\n难度还决定了造船的材料。
|
||||
mode_tooltip=模式.
|
||||
|
||||
auto_undock_tooltip=在这个位置停留的最长时间。\n\n一旦达到这个时间,船就会自动离岸。船长可以通过按此按钮选择提前离开。
|
||||
atsea_loading_tooltip=下一个目的地正在加载。
|
||||
leave_anytime_tooltip=船长选择何时启航。\n\n他们可以通过按此按钮离开船坞。
|
||||
|
||||
resources_needed_tooltip_0=在下一个目的地,需要这些资源才能出坞。
|
||||
resources_needed_tooltip_1=在下一个目的地,需要这些资源才能提前出坞。\n\n您停留的时间越长,所需的资源就越少,最终降至零。
|
||||
resources_needed_tooltip_2=船长可以通过单击此按钮提前撤离,但前提是船长舱内储存了足够的资源。\n\n到达成本: __1__\n现在离开将花费: __2__
|
||||
resources_needed_tooltip_3=船长可以通过单击此按钮来提前出坞,但前提是船长舱内储存了足够的资源。
|
||||
|
||||
resources_needed_tooltip_0_rocketvariant=下一个目的地,需要这些资源才能出坞。\n\n发射井代表火箭发射而不是资源。
|
||||
resources_needed_tooltip_1_rocketvariant=在下一个目的地,将需要这些资源以便提前撤离。\n\n您停留的时间越长,所需的资源就越少,最终降至零。\n\n发射井代表火箭发射而不是资源。
|
||||
resources_needed_tooltip_2_rocketvariant=船长可以通过单击此按钮提前撤离,但前提是船长舱内已储存了足够的资源。\n\n发射井代表火箭发射而不是资源。\n\nn到达成本: __1__\n现在离开将花费: __2__
|
||||
resources_needed_tooltip_3_rocketvariant=T船长可以通过单击此按钮提前撤离,但前提是船长舱内已储存了足够的资源。\n\n发射井代表火箭发射而不是资源。
|
||||
fuel_tooltip=储存的燃料: __1__.\n\n要储存更多,请将其送到船长舱。如果船用完燃料,团队就会失败。
|
||||
|
||||
loading_new_game=正在加载新游戏...
|
||||
|
||||
choose_chat_color=__1__ 选择了颜色 __2__
|
||||
randomize_chat_color=__1__的颜色随机成了 __2__
|
||||
notify_whisper=[私信]
|
||||
notify_parrot=鹦鹉:
|
||||
|
||||
silo_destroyed=发射井被摧毁。
|
||||
|
||||
|
||||
|
||||
location_displayname_first_1=羽翼未丰的山谷
|
||||
location_displayname_horseshoe_1=鲨鱼钥匙
|
||||
location_displayname_horseshoe_2=小钥匙
|
||||
location_displayname_horseshoe_3=小钥匙
|
||||
location_displayname_maze_1=迷惑迷宫
|
||||
location_displayname_radioactive_1=废弃实验室
|
||||
location_displayname_red_desert_1=沙虫火山口
|
||||
location_displayname_standard_1=埋藏宝藏岛
|
||||
location_displayname_standard_variant_1=僻静的山谷
|
||||
location_displayname_swamp_1=剧毒沼泽
|
||||
location_displayname_walkways_1=冰冻水池
|
||||
location_displayname_sea_1=
|
||||
location_displayname_dock_1=码头
|
||||
location_displayname_lobby_1=初始码头
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
parrot_hard_praise=钢铁的玩家才配得上钢箱子!嘎嘎!
|
||||
parrot_normal_praise=铁打的玩家才配得上铁箱子!嘎嘎!
|
||||
parrot_fuel_warning=燃料不足!
|
||||
parrot_silo_warning=发射井正在吸引虫群...
|
||||
parrot_0=我们可以在这里待到天荒地老。
|
||||
parrot_night_warning=你知道吗?虫子在晚上造成的伤害更大
|
||||
parrot_boats_warning=唔!200 里格?我想我们正在被虫群追赶...
|
||||
parrot_kraken_warning=400 里格即将到来?那些粉红色的东西是什么,我发现...
|
||||
parrot_radioactive_tip_1=我们需要 铀-235 才能离开这个岛...
|
||||
parrot_radioactive_tip_2=虫子不在乎我们是否污染这里,但污染使它们进化得很快。
|
||||
parrot_maze_tip_1=我们的小地图似乎有问题。
|
||||
parrot_captain_first_time_in_cabin_hint=船长可以在船长舱内购买物品,例如用于驾驶船只的铁路信号灯。
|
||||
|
||||
|
||||
|
||||
|
||||
difficulty_easy=简单
|
||||
difficulty_normal=正常
|
||||
difficutly_hard=困难
|
||||
difficulty_nightmare=噩梦
|
||||
|
||||
notify_difficulty_vote=__1__ 投了 [color=__2__,__3__,__4__] __5__难度[/color]
|
||||
notify_difficulty_change=难度 [color=__1__,__2__,__3__]更改为 __4__[/color]
|
||||
|
||||
|
||||
daynightcycle_static=静态
|
||||
daynightcycle_slowcyclic=缓慢循环
|
||||
daynightcycle_cyclic=正常循环
|
||||
daynightcycle_fastcyclic=快速循环
|
||||
daynightcycle_rapidcyclic=极速循环
|
||||
|
||||
|
||||
|
||||
ship_undocked_1=英明的船长决定[font=heading-1]船舶提前出坞[/font]
|
||||
ship_undocked_2=[font=heading-1]船舶自动出坞[/font]。速回。
|
||||
ship_undocked_3=[font=heading-1]船舶自动出坞[/font]。
|
||||
|
||||
plank=跳甲板 (放逐为观众)
|
||||
plank_error_invalid_player=命令错误:玩家不是船员。
|
||||
plank_error_self=命令错误:不能让自己跳甲板。
|
||||
|
||||
tax=征税
|
||||
tax_error_nothing=在队友的物品栏或光标堆栈中找不到硬币或游戏关键物品。
|
||||
|
||||
respawn_speed_bonus_removed=重生速度加成失效。
|
||||
respawn_speed_bonus_applied=重生速度加成生效。
|
||||
|
||||
find_map=__1__ 找到了一张地图。宝藏位置已揭晓!
|
||||
find_ghost=__1__ 发现了一个幽灵!
|
||||
|
||||
silo_destroyed=游戏结束 — 发射井被摧毁
|
||||
|
||||
research_notification=__1__ 研究完成。
|
||||
|
||||
destroyed_all_nests=所有的虫巢被摧毁——逃生费用已移除。
|
||||
|
||||
recover_offline_player_items=离线玩家的物品已被回收到船舱。
|
||||
|
||||
death_froze=__1__ 被冻死了。
|
||||
death_pushed_into_water_by_cannon=__1__ 被重炮推入了水中。
|
||||
|
||||
granted_1=赠予: __1__.
|
||||
granted_2=赠予: __1__, __2__.
|
||||
granted_3=赠予: __1__, __2__, __3__.
|
||||
|
||||
death_froze=__1__ 被冻死了。
|
||||
death_pushed_into_water_by_cannon=__1__ 被重炮推入了水中。
|
||||
|
||||
approaching_destination=接近目的地 __1__, __2__.
|
||||
loading_destination=加载目的地 __1__, __2__.
|
||||
|
||||
goto_oldest_crew_with_large_capacity=这台服务器上有多个团队。您已被安置在容量最大,创建最早的团队中。
|
||||
goto_oldest_crew=这台服务器上有多个团队。您已被安置在创建最早的团队中。
|
||||
|
||||
research_notification=__1__ 研究完成。
|
||||
|
||||
victory=胜利, 在 v__1__, __2__, 容量 __3__. 游戏时间: [font=default-large-semibold]__4__[/font] 从第一个岛开始。 船员: __5__.
|
||||
|
||||
loss_cannon_destroyed=游戏结束 — 重炮被摧毁。
|
||||
loss_out_of_fuel=游戏结束 — 燃料耗尽
|
||||
loss_silo_destroyed=游戏结束 — 发射井被摧毁
|
||||
loss_silo_destroyed_before_necessary_launch=游戏结束 — 发射井在必要的发射前被摧毁。
|
||||
loss_rest_of_message_long=游戏时间: __1__ 自从第一个岛开始。船员: __2__
|
||||
loss_rest_of_message_short=游戏时间: __1__ 自从第一个岛开始。
|
||||
|
||||
error_build_undergrounds_on_boat=建造错误:由于与船移动代码冲突,无法在船上建造地下。
|
||||
error_cant_carry_barrels=配方错误:桶太重,无法运回船上。尝试另一种方式。
|
||||
error_disembark=现在不是下船的时间。
|
||||
|
||||
destroyed_all_nests=所有的虫巢被摧毁——逃生费用被移除。
|
||||
|
||||
recover_offline_player_items=离线玩家的物品被回收到机舱。
|
||||
|
||||
warn_nearly_afk_captain=注意:如果您作为船长闲置的时间过长,该职业会转移给其他船员。
|
||||
|
||||
respawn_speed_bonus_removed=重生速度加成结束。
|
||||
respawn_speed_bonus_applied=重生速度加成生效。
|
||||
|
||||
find_map=__1__ 找到了一张地图。宝藏位置已揭晓。
|
||||
find_ghost=__1__ 发现了一个幽灵。
|
||||
|
||||
steer_left=左舷转向...
|
||||
steer_right=转向右舷...
|
||||
|
||||
upgrade_hold=[font=heading-1]__1__ 升级了船舱.[/font]
|
||||
upgrade_power=[font=heading-1]__1__ 升级了船的动力。[/font]
|
||||
upgrade_merchants=[font=heading-1]__1__ 解锁未来岛屿上的商船。[/font]
|
||||
upgrade_rockets=[font=heading-1]__1__ 解锁了未来任务市场的火箭销售。[/font]
|
||||
|
||||
notify_difficulty_vote=__1__ 投了 [color=__2__,__3__,__4__]难度 __5__[/color]
|
||||
notify_difficulty_change=难度 [color=__1__,__2__,__3__]更改为 __4__[/color]
|
||||
steer_right=右舷转向...
|
||||
|
||||
|
||||
role_officer=军官
|
||||
role_officer_description=由船长任命,军官可以使用船长的商店并访问特权宝箱。
|
||||
role_captain=船长
|
||||
role_captain_description=拥有驶出船坞、购买物品和其他各种特殊行动的执行权。游戏在指定队长时,会优先考虑那些作为非队长出场时间最长的人。
|
||||
|
||||
|
||||
parrot_hard_praise=钢铁玩家的钢铁箱子!嘎嘎!
|
||||
parrot_normal_praise=铁玩家的铁箱子!嘎嘎!
|
||||
parrot_fuel_warning=燃料不足!
|
||||
parrot_silo_warning=发射井正在吸引虫群...
|
||||
parrot_0=我们可以在这里待到天荒地老。
|
||||
parrot_night_warning=你知道虫子在晚上造成的伤害更大吗?
|
||||
parrot_boats_warning=200 里格?我想我们正在被追赶...
|
||||
parrot_kraken_warning=400 里格即将到来?那些粉红色的东西是什么我发现...
|
||||
parrot_radioactive_tip_1=我们需要 铀-235 才能离开这个岛...
|
||||
parrot_radioactive_tip_2=虫子不在乎我们是否污染这里,但污染使它们进化得很快。
|
||||
parrot_maze_tip_1=我们的小地图似乎有问题。
|
||||
parrot_captain_first_time_in_cabin_hint=船长可以在船舱内购买物品,例如用于驾驶船只的铁路信号灯。
|
||||
|
||||
class_deckhand=水手
|
||||
class_deckhand_explanation=他们在甲板上的时候移动得更快并且为船舱生成矿石。
|
||||
class_fisherman=渔夫
|
||||
class_fisherman_explanation=他们钓鱼的距离更远。
|
||||
class_scout=侦察兵
|
||||
class_scout_explanation=它们速度更快,但脆弱且造成的伤害更小。
|
||||
class_samurai=武士
|
||||
class_samurai_explanation=他们很强壮,而且*没有装备武器*在近战中打得很好,但在其他方面表现不佳。
|
||||
class_merchant=商人
|
||||
class_merchant_explanation=他们每个里格产生 50 达布隆。
|
||||
class_shoresman=海岸人
|
||||
class_shoresman_explanation=它们移动得稍微快一些,并且不在船时为船舱生成矿石。
|
||||
class_boatswain=水手长
|
||||
class_boatswain_explanation=它们在甲板下时移动更快并为船舱生成矿石。
|
||||
class_prospector=勘探者
|
||||
class_prospector_explanation=他们在手工开采时会发现更多资源。
|
||||
class_lumberjack=伐木工人
|
||||
class_lumberjack_explanation=他们在砍树时会找到更多的资源。
|
||||
class_master_angler=钓鱼大师
|
||||
class_master_angler_explanation=他们钓鱼的距离更远,捕获的也更多。
|
||||
class_wood_lord=森林之王
|
||||
class_wood_lord_explanation=他们在砍树时会发现更多的资源。
|
||||
class_chief_excavator=首席挖掘机
|
||||
class_chief_excavator_explanation=他们在手工开采时发现了更多的资源。
|
||||
class_hatamoto=旗本
|
||||
class_hatamoto_explanation=他们非常强悍,而且*没有装备武器*近战打得很好,但其他方面就很差。
|
||||
class_iron_leg=铁腿
|
||||
class_iron_leg_explanation=它们在携带 3000 铁矿石时非常强韧。
|
||||
class_quartermaster=军需官
|
||||
class_quartermaster_explanation=附近的船员获得+10%的物理攻击加成并为船舱生成矿石。
|
||||
class_dredger=挖泥手
|
||||
class_dredger_explanation=他们在钓鱼时会发现令人惊奇的物品。
|
||||
class_smoldering=闷烧
|
||||
class_smoldering_explanation=如果他们的煤炭少于 50,他们会定期将木材转化为煤炭。
|
||||
class_gourmet=美食家
|
||||
class_gourmet_explanation=他们通过在奇特的地方吃鱼来为小屋生成矿石。
|
||||
|
||||
|
||||
class_explanation=__1__: __2__
|
||||
class_explanation_upgraded_class=__1__: 的升级 __2__. __3__
|
||||
|
||||
class_purchase=__1__ 购买了职业 __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
class_upgrade=__1__ 将他们的职业从 __2__ 升级到了 __3__ ([font=scenario-message-dialog]__4__[/font]).
|
||||
|
||||
crew_to_spectator=__1__ 离开团队成为观众。
|
||||
lobby_to_spectator=__1__ 作为旁观者加入。
|
||||
lobby_to_spectator_2=__1__ 离开了大厅观看 __2__.
|
||||
spectator_to_lobby=__1__ 停止观看并返回大厅。
|
||||
lobby_to_crew=__1__ 加入团队
|
||||
lobby_to_crew_2=__1__ 离开大厅加入 __2__.
|
||||
crew_leave=__1__离开了团队。
|
||||
|
||||
|
||||
crew_launch=[__1__] 发射
|
||||
crew_disband=[__1__] 在 __2__后解散。
|
||||
proposal_propose=__1__ 提议运行 __2__ [Capacity __3__]。
|
||||
proposal_retracted=提案 __1__ 撤回
|
||||
proposal_abandoned=提案 __1__ 废除
|
||||
|
||||
crew_summon=船员召唤。
|
||||
crew_continue_on_freeplay=现在继续在“Freeplay”上运行。
|
||||
crew_disbanded=__1__ 在 __3__ 后解散 __2__ 。
|
||||
|
||||
ship_undocked_1=[font=heading-1]船舶出坞[/font] 由船长决定
|
||||
ship_undocked_2=[font=heading-1]船舶自动出坞[/font]。速回。
|
||||
ship_undocked_3=[font=heading-1]船舶自动出坞[/font]。
|
||||
|
||||
error_undock_too_early=出坞错误:前 10 秒内无法出坞。
|
||||
error_undock_insufficient_resources=出坞错误: 船长舱没有足够的资源存储。
|
||||
|
||||
error_cabin_full=很遗憾,机舱内没有空间来盛放您所有的奖励。
|
||||
error_cabin_full=很遗憾,船长舱内没有空间来盛放您所有的奖励。
|
||||
|
||||
plank=__1__ 命令 __2__跳甲板!
|
||||
plank_error_invalid_player=命令错误:玩家不是船员。
|
||||
plank_error_self=命令错误:不能让自己跳甲板。
|
||||
error_build_undergrounds_on_boat=建造错误:由于与船移动代码冲突,无法在船上建造地下建筑。
|
||||
error_cant_carry_barrels=配方错误:桶太重,无法运回船上。请尝试另一种方式。
|
||||
error_disembark=现在不是下船的时候。
|
||||
|
||||
personal_join_string_1=你已加入团队 '__1__' [容量 __2__].
|
||||
personal_join_string_2=你已加入团队 '__1__' [容量 __2__, 难度 [color=__3__,__4__,__5__] __6__[/color]].
|
||||
|
||||
error_class_assign_redundant=职业错误: 你已经是 __1__了。
|
||||
error_class_assign_unavailable_class=职业错误:没有空闲职位
|
||||
|
||||
class_take_spare=__1__ 获得了空闲职业 __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
class_give_spare=一个空闲的 __1__ 职业授予 __2__。 ([font=scenario-message-dialog]__3__[/font])
|
||||
class_give_up=__1__ 放弃了 __2__。
|
||||
class_becomes_spare=一个 __1__ 职业 现在空闲。
|
||||
class_give_up_error_no_class=职业错误:你没有任何职业可以放弃。
|
||||
class_revoke=__1__ 撤销了 __2__ 从 __3__.
|
||||
class_purchase_error_prerequisite_class=职业购买错误: 你需要成为 __1__ 才能购买。
|
||||
|
||||
roles_confirm_captain=__1__ 接受了船长的职业。
|
||||
roles_confirm_captain_error_1=命令错误:您不是船长。
|
||||
roles_confirm_captain_error_2=命令错误:你不是临时的,所以你不需要接受。
|
||||
roles_renounce_captain=__1__ 放弃他们的船长头衔。
|
||||
roles_renounce_captain_error_1=命令错误:但你是唯一的船员......
|
||||
roles_pass_captainhood=__1__ 已将他们的船长头衔授予 __2__.
|
||||
roles_lose_captainhood_by_afk=__1__ 由于挂机被取消了队长身份。
|
||||
roles_ask_player_about_captainhood_variant_1=__1__, 你想成为船长吗?如果接受就说/ok
|
||||
roles_ask_player_about_captainhood_variant_2=__1__, 船长?如果是就说/ok
|
||||
roles_ask_player_about_captainhood_variant_3=__1__,轮到你当队长了?如果接受就说/ok
|
||||
quest_structure_market_1=需要__1__x
|
||||
quest_structure_market_2=(物品将在
|
||||
quest_structure_market_3=完成后返还)
|
||||
|
||||
roles_make_officer=__1__ 任命 __2__ 为军官
|
||||
roles_make_officer_error_1=命令错误:玩家无效。
|
||||
roles_make_officer_error_2=命令错误:不能将自己任命为军官。
|
||||
roles_make_officer_error_3=命令错误:玩家不是船员。
|
||||
roles_unmake_officer=__1__ 取消了 __2__ 的军官身份。
|
||||
roles_unmake_officer_error_1=命令错误:玩家不是军官。
|
||||
roles_unmake_officer_error_2=命令错误:玩家不是船员。
|
||||
roles_resign_officer=__1__ 辞去了军官。
|
||||
roles_notify_looking_for_captain=正在寻找合适的船长...
|
||||
quest_structure_furnace_1=需要
|
||||
quest_structure_furnace_2=(熔炉可以将
|
||||
quest_structure_furnace_3=已交付的物品
|
||||
quest_structure_furnace_4=拆分成原始材料)
|
||||
|
||||
tax=船长征税 __1__。
|
||||
tax_error_nothing=在队友的物品栏或光标堆栈中找不到硬币或游戏关键。
|
||||
|
||||
|
||||
market_description_upgrade_power=升级船舶的被动发电机。
|
||||
@ -271,52 +163,251 @@ market_description_purchase_class=购买职业 __1__。
|
||||
market_description_extra_time_at_sea=在海上多放松一分钟:将下一个目的地的加载时间增加 60 秒。
|
||||
|
||||
|
||||
market_event_sell=__1__ 以 __3__ 的价格售出 __2__.
|
||||
market_event_trade=__1__ 用 __2__ 换取 __3__.
|
||||
market_event_buy=__1__ 以 __3__ 的价格购买 __2__.
|
||||
|
||||
extra_time_at_sea=在海上多放松一分钟:将下一个目的地的加载时间增加 60 秒。
|
||||
|
||||
market_error_not_captain=购买错误:您需要成为船长或军官才能购买。
|
||||
market_error_not_captain_or_officer=购买错误:您需要成为船长或军官才能购买。
|
||||
market_error_maximum_loading_time=P购买错误:已达到最大允许加载时间。
|
||||
|
||||
repaired_cannons=[font=heading-1]__1__ 修复了船上的大炮。[/font]
|
||||
upgrade_hold=购买额外的船舱。
|
||||
upgrade_power=升级船舶的被动发电机。
|
||||
upgrade_merchants=解锁未来岛屿上的商船。
|
||||
upgrade_rockets=在岛屿市场解锁火箭销售。
|
||||
|
||||
|
||||
|
||||
|
||||
hold_connections_label_inactive=未激活
|
||||
hold_connections_label_to=到 -__1__
|
||||
hold_connections_label_from=从 -__1__
|
||||
|
||||
surface_label_cabin=船长舱
|
||||
surface_label_crowsnest=瞭望台
|
||||
surface_label_hold_nth=下层船舱: -__1__
|
||||
surface_label_hold=下层船舱
|
||||
|
||||
|
||||
|
||||
|
||||
role_officer=军官
|
||||
role_officer_description=由船长任命,军官可以使用船长的商店并访问特权宝箱。
|
||||
role_captain=船长
|
||||
role_captain_description=拥有提前驶出船坞、购买物品和其他各种特殊行动的执行权。游戏在指定队长时,会优先考虑那些作为非队长出场时间最长的人。
|
||||
|
||||
class_deckhand=水手
|
||||
class_deckhand_explanation=Deckhand,在甲板上的时候移动得较快并且为船舱生成矿石。
|
||||
class_fisherman=渔夫
|
||||
class_fisherman_explanation=Fisherman,捕鱼的距离较远。
|
||||
class_scout=侦察兵
|
||||
class_scout_explanation=Scout,速度较快,但身体脆弱且伤害低。
|
||||
class_samurai=武士
|
||||
class_samurai_explanation=Samurai,比较强壮,而且*没有装备武器*在近战中打得很好,但在其他方面表现不佳。
|
||||
class_merchant=商人
|
||||
class_merchant_explanation=Merchant,每个里格产生 50 达布隆。
|
||||
class_shoresman=海岸人
|
||||
class_shoresman_explanation=Shoresman,移动得稍微快一些,并且不在船上时为船舱生成矿石。
|
||||
class_boatswain=水手长
|
||||
class_boatswain_explanation=Boatswain,在甲板下面时移动较快并为船舱生成矿石。
|
||||
class_prospector=勘探者
|
||||
class_prospector_explanation=Prospector,在手工开采时会发现较多资源。
|
||||
class_lumberjack=伐木工人
|
||||
class_lumberjack_explanation=Lumberjack,在砍树时会找到较多的资源。
|
||||
class_master_angler=钓鱼大师
|
||||
class_master_angler_explanation=Master Angler,钓鱼的距离非常远,捕获的量也非常多。
|
||||
class_wood_lord=森林之王
|
||||
class_wood_lord_explanation=Lord of the Woods,在砍树时会发现非常多的资源。
|
||||
class_chief_excavator=首席挖掘手
|
||||
class_chief_excavator_explanation=Chief Excavator,在手工开采时发现了非常多的资源。
|
||||
class_hatamoto=旗本武士
|
||||
class_hatamoto_explanation=Hatamoto,非常强悍,而且*没有装备武器*近战打得很好,但其他方面就很差。
|
||||
class_iron_leg=铁腿
|
||||
class_iron_leg_explanation=Iron Leg,在携带 3000 铁矿石时非常强韧。
|
||||
class_quartermaster=军需官
|
||||
class_quartermaster_explanation=Quartermaster,为附近的船员提供+10%的物理攻击加成并为船舱生成矿石。
|
||||
class_dredger=挖泥手
|
||||
class_dredger_explanation=Dredger,在钓鱼时会发现令人惊奇的物品。
|
||||
class_smoldering=闷烧师
|
||||
class_smoldering_explanation=Smoldering,煤炭少于50时,会定期将木材转化为煤炭。
|
||||
class_gourmet=美食家
|
||||
class_gourmet_explanation=Gourmet,通过在奇特的地方吃鱼来为小屋生成矿石。
|
||||
|
||||
|
||||
class_explanation=__1__: __2__
|
||||
class_explanation_upgraded_class=__1__: __2__的升级。 __3__
|
||||
|
||||
class_purchase=__1__ 购买了职业 __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
class_upgrade=__1__ 将他们的职业从 __2__ 升级到了 __3__ ([font=scenario-message-dialog]__4__[/font]).
|
||||
|
||||
|
||||
class_take_spare=__1__ 选择了空闲职业 __2__. ([font=scenario-message-dialog]__3__[/font])
|
||||
class_give_spare=一个空闲的 __1__ 职业被授予 __2__。 ([font=scenario-message-dialog]__3__[/font])
|
||||
class_give_up=__1__ 放弃了 __2__。
|
||||
class_becomes_spare=一个 __1__ 职业 现在空闲。
|
||||
class_give_up_error_no_class=职业错误:你没有任何职业可以放弃。
|
||||
class_revoke=__1__ 从 __3__ 撤销了 __2__ 。
|
||||
class_purchase_error_prerequisite_class=职业购买错误: 你需要成为 __1__ 才能购买。
|
||||
|
||||
roles_confirm_captain=__1__ 接受了船长的角色。
|
||||
roles_confirm_captain_error_1=命令错误:你不是船长。
|
||||
roles_confirm_captain_error_2=命令错误:你不是临时的,所以你不需要接受。
|
||||
roles_renounce_captain=__1__ 放弃了船长头衔。
|
||||
roles_renounce_captain_error_1=命令错误:但你是唯一的船员......
|
||||
roles_pass_captainhood=__1__ 已将船长头衔授予 __2__.
|
||||
roles_lose_captainhood_by_afk=__1__ 由于挂机被取消了船长身份。
|
||||
roles_ask_player_about_captainhood_variant_1=__1__, 你想成为船长吗?如果接受请说/ok
|
||||
roles_ask_player_about_captainhood_variant_2=__1__, 船长?船长便宜卖了 如果接受请说/ok
|
||||
roles_ask_player_about_captainhood_variant_3=__1__,轮到你当船长了 如果接受请说/ok
|
||||
|
||||
roles_make_officer=__1__ 任命 __2__ 为军官
|
||||
roles_make_officer_error_1=命令错误:玩家无效。
|
||||
roles_make_officer_error_2=命令错误:不能将自己任命为军官。
|
||||
roles_make_officer_error_3=命令错误:玩家不是船员。
|
||||
roles_unmake_officer=__1__ 取消了 __2__ 的军官身份。
|
||||
roles_unmake_officer_error_1=命令错误:玩家不是军官。
|
||||
roles_unmake_officer_error_2=命令错误:玩家不是船员。
|
||||
roles_resign_officer=__1__ 辞去了军官职务。
|
||||
roles_notify_looking_for_captain=正在物色合适的船长...
|
||||
|
||||
warn_nearly_afk_captain=注意:如果您作为船长闲置的时间过长,该职业会传递给其他船员。
|
||||
|
||||
error_class_assign_redundant=职业错误: 你已经是 __1__了。
|
||||
error_class_assign_unavailable_class=职业错误:没有空闲职业
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
personal_join_string_1=你已加入团队 '__1__' [容量 __2__].
|
||||
personal_join_string_2=你已加入团队 '__1__' [容量 __2__, 难度 [color=__3__,__4__,__5__] __6__[/color]].
|
||||
|
||||
goto_oldest_crew_with_large_capacity=这台服务器上有多个团队。您已被安置在容量最大,创建最早的团队中。
|
||||
goto_oldest_crew=这台服务器上有多个团队。您已被安置在创建最早的团队中。
|
||||
|
||||
|
||||
choose_chat_color=__1__ 选择了颜色 __2__
|
||||
randomize_chat_color=__1__的颜色随机成了 __2__
|
||||
|
||||
|
||||
crew_to_spectator=__1__ 离开团队成为观众。
|
||||
lobby_to_spectator=__1__ 作为观众加入。
|
||||
lobby_to_spectator_2=__1__ 离开了大厅去观战 __2__.
|
||||
spectator_to_lobby=__1__ 停止观战并返回大厅。
|
||||
lobby_to_crew=__1__ 加入团队
|
||||
lobby_to_crew_2=__1__ 离开大厅加入 __2__.
|
||||
crew_leave=__1__离开了团队。
|
||||
|
||||
crew_launch=[__1__] 发射
|
||||
crew_disband=[__1__] 在 __2__后解散。
|
||||
proposal_propose=__1__ 提议建立 __2__ [Capacity __3__]。
|
||||
proposal_retracted=提案 __1__ 已撤回
|
||||
proposal_abandoned=提案 __1__ 已废除
|
||||
|
||||
loading_new_game=正在加载新游戏...
|
||||
|
||||
crew_summon=召唤船员。
|
||||
crew_continue_on_freeplay=现在继续在“标准模式”上运行。
|
||||
crew_disbanded=__1__ 在 __3__ 后解散 __2__ 。
|
||||
|
||||
|
||||
victory=胜利, 在 v__1__, __2__, 容量 __3__. 游戏时间: [font=default-large-semibold]__4__[/font] 从第一个岛开始。 船员: __5__.
|
||||
|
||||
loss_cannon_destroyed=游戏结束 — 重炮被摧毁。
|
||||
loss_out_of_fuel=游戏结束 — 燃料耗尽
|
||||
loss_silo_destroyed=游戏结束 — 发射井被摧毁
|
||||
loss_silo_destroyed_before_necessary_launch=游戏结束 — 发射井在必要的发射前被摧毁。
|
||||
loss_rest_of_message_long=游戏时间: __1__ 自从第一个岛开始。船员: __2__
|
||||
loss_rest_of_message_short=游戏时间: __1__ 自从第一个岛开始。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
highscore_heading_crew=团队
|
||||
highscore_heading_captain=船长
|
||||
highscore_heading_captain_tooltip=在 0 到 1000 里格(不包括)之间担任船长时间最长的玩家。
|
||||
highscore_heading_completion=完成
|
||||
highscore_heading_leagues=里格数
|
||||
highscore_heading_version=版本
|
||||
highscore_heading_difficulty=难度
|
||||
highscore_heading_peak_players=巅峰玩家
|
||||
|
||||
|
||||
proposal_displayform=__1__ — __2__
|
||||
run_displayform= __2__
|
||||
crewmember_displayform=[color=__2__,__3__,__4__]__5__[/color] [color=1,1,1]__6__[/color]
|
||||
capacity_tooltip=容量。设置允许的最大乘员人数。
|
||||
difficulty_tooltip=难度。\n\n更高的难度有更高的污染和进化,更多的虫子,更少的金币战利品,但更高的宝箱战利品,并且对每个岛屿的时间、任务要求和发射井位置有些许影响。\n\n难度还决定了造船所用的材料。
|
||||
mode_tooltip=模式.
|
||||
|
||||
auto_undock_tooltip=在这个位置停留的最长时间。\n\n一旦达到这个时间,船就会自动离岸。船长也可以通过按此按钮选择提前出坞。
|
||||
atsea_loading_tooltip=下一个目的地正在加载。
|
||||
leave_anytime_tooltip=船长选择何时启航。\n\n可以通过按此按钮离开船坞。
|
||||
|
||||
resources_needed_tooltip_0=在下一个目的地,需要这些资源才能出坞。
|
||||
resources_needed_tooltip_1=在下一个目的地,需要这些资源才能提前出坞。\n\n您停留的时间越长,所需的资源就越少,最终降至零。
|
||||
resources_needed_tooltip_2=船长可以通过单击此按钮提前撤离,但前提是船长舱内储存了足够的资源。\n\n到达成本: __1__\n现在离开将花费: __2__
|
||||
resources_needed_tooltip_3=船长可以通过单击此按钮来提前撤离,但前提是船长舱内储存了足够的资源。
|
||||
|
||||
resources_needed_tooltip_0_rocketvariant=下一个目的地,需要这些资源才能出坞。\n\n发射井代表火箭发射而不是资源。
|
||||
resources_needed_tooltip_1_rocketvariant=在下一个目的地,将需要这些资源才能提前撤离。\n\n您停留的时间越长,所需的资源就越少,最终降至零。\n\n发射井代表火箭发射而不是资源。
|
||||
resources_needed_tooltip_2_rocketvariant=船长可以通过单击此按钮提前撤离,但前提是船长舱内已储存了足够的资源。\n\n发射井代表火箭发射而不是资源。\n\nn到达成本: __1__\n现在离开将花费: __2__
|
||||
resources_needed_tooltip_3_rocketvariant=T船长可以通过单击此按钮提前撤离,但前提是船长舱内已储存了足够的资源。\n\n发射井代表火箭发射而不是资源。
|
||||
fuel_tooltip=储存的燃料: __1__.\n\n要储存更多,请将其送到船长舱。如果船用完燃料,团队就会失败。
|
||||
|
||||
|
||||
gui_crew_window_buttons_quit_crew=退出团队
|
||||
gui_crew_window_buttons_quit_crew_tooltip=回到大厅
|
||||
gui_crew_window_buttons_quit_crew_tooltip=回到那个大厅
|
||||
gui_crew_window_buttons_quit_spectators=回到大厅
|
||||
gui_crew_window_buttons_join_crew=加入团队
|
||||
gui_crew_window_buttons_join_spectators=观战
|
||||
gui_crew_window_buttons_join_spectators_tooltip=您在执行此操作后的短时间内将无法重新加入船员。
|
||||
gui_crew_window_crewmembers=船员
|
||||
gui_crew_window_crewmembers=船员们
|
||||
gui_crew_window_crewmembers_give_up_class=放弃职业
|
||||
gui_crew_window_crewmembers_give_up_class_tooltip=放弃职业
|
||||
gui_crew_window_crewmembers_resign_as_officer=辞去军官职务
|
||||
gui_crew_window_crewmembers_resign_as_officer_tooltip=放弃军官职位
|
||||
gui_crew_window_crewmembers_resign_as_officer_tooltip=放弃军官职务
|
||||
gui_crew_window_spectators=观众
|
||||
gui_crew_window_vote_for_difficulty=难度投票
|
||||
gui_crew_window_spare_classes=空闲职业
|
||||
gui_crew_window_assign_class_button=授予职业: __1__
|
||||
gui_crew_window_assign_class_button_tooltip=为 __1__.\n\n 职业描述: __2__
|
||||
gui_crew_window_selfassign_class_button=成为职业: __1__
|
||||
gui_crew_window_selfassign_class_button_tooltip=授予自己空闲职业 __1__.\n\n 职业描述: __2__
|
||||
gui_crew_window_assign_class_button_tooltip=任命此玩家为 __1__。\n\n 职业描述: __2__
|
||||
gui_crew_window_selfassign_class_button=选择职业: __1__
|
||||
gui_crew_window_selfassign_class_button_tooltip=授予自己空闲的职业 __1__.\n\n 职业描述: __2__
|
||||
gui_crew_window_captains_actions=船长的行动
|
||||
gui_crew_window_captains_actions_disband_crew=解散团队
|
||||
gui_crew_window_captains_actions_disband_crew_tooltip=结束本次航行。点击后会再次提示。
|
||||
gui_crew_window_captains_actions_disband_crew_check=你确定?
|
||||
gui_crew_window_captains_actions_disband_crew_check_tooltip=再次点击解散团队
|
||||
gui_crew_window_captains_actions_renounce_title=放弃船长身份
|
||||
gui_crew_window_captains_actions_renounce_title=放弃船长头衔
|
||||
gui_crew_window_captains_actions_renounce_title_tooltip=你将不再是船长,这个角色将被传递,直到有船员接任。
|
||||
gui_crew_window_captains_actions_pass_title=将船长传给
|
||||
gui_crew_window_captains_actions_pass_title_tooltip=让选中的船员成为船长。
|
||||
gui_crew_window_captains_actions_pass_title_tooltip=让此船员成为船长。
|
||||
gui_crew_window_captains_actions_plank=跳甲板 (放逐为观众)
|
||||
gui_crew_window_captains_actions_plank_tooltip=玩家将被送回大厅,暂时不能加入你的队伍。 (或使用 /plank {player})
|
||||
gui_crew_window_captains_actions_plank_tooltip=玩家将被送回大厅,暂时不能加入你的队伍。 (或使用 /plank {玩家的名字})
|
||||
gui_crew_window_captains_actions_make_officer=任命军官
|
||||
gui_crew_window_captains_actions_make_officer_tooltip=任命此玩家为军官 (或使用/officer {player})
|
||||
gui_crew_window_captains_actions_make_officer_tooltip=任命此玩家为军官 (或使用/officer {玩家的名字})
|
||||
gui_crew_window_captains_actions_unmake_officer=解除军官
|
||||
gui_crew_window_captains_actions_unmake_officer_tooltip=解除此玩家军官职务 或使用 /officer {player})
|
||||
gui_crew_window_captains_actions_unmake_officer_tooltip=解除此玩家军官职务 或使用 /officer {玩家的名字})
|
||||
gui_crew_window_captains_actions_revoke_class=撤销职业
|
||||
gui_crew_window_captains_actions_revoke_class_tooltip=将此玩家的职业放回备用池中。
|
||||
gui_crew_window_captains_actions_summon_crew=召唤船员上船
|
||||
gui_crew_window_captains_actions_summon_crew_tooltip=召唤船员上船
|
||||
gui_crew_window_captains_actions_summon_crew_tooltip=将船员传送回船上
|
||||
gui_crew_window_captains_actions_tax=征税
|
||||
gui_crew_window_captains_actions_tax_tooltip=对于您船员中的每个非军官,拿走四分之一的达布隆(和其他游戏关键物品)。 (或使用 /tax)
|
||||
gui_crew_window_captains_actions_undock_tip=要提前出坞,请使用顶部工具栏。
|
||||
gui_crew_window_captains_actions_tax_tooltip=对于团队中的每个非军官,征收四分之一的达布隆(和其他游戏关键物品)。 (或使用 /tax)
|
||||
gui_crew_window_captains_actions_undock_tip=想要提前出坞,请使用顶部工具栏。
|
||||
|
||||
gui_crew_window_crew_age=寿命: __1__
|
||||
gui_crew_window_crew_age=时长: __1__
|
||||
gui_crew_window_crew_capacity_and_difficulty=__1__, 容量 __2__.
|
||||
gui_crew_window_crew_count=船员 (__1__)
|
||||
|
||||
gui_evo_tooltip_1=本地进化值: __1__
|
||||
gui_evo_tooltip_1=本地虫族进化值: __1__
|
||||
gui_evo_tooltip_2=里格数: __1__
|
||||
gui_evo_tooltip_3=海妖: __1__
|
||||
gui_evo_tooltip_4=时间: __1__
|
||||
@ -324,7 +415,7 @@ gui_evo_tooltip_5=发射井: __1__
|
||||
gui_evo_tooltip_6=虫巢: __1__
|
||||
gui_evo_tooltip_7=沙虫: __1__
|
||||
|
||||
gui_info_info=信息
|
||||
gui_info_info=简介
|
||||
gui_info_updates=更新
|
||||
gui_info_tips=提示
|
||||
gui_info_credits=工作人员
|
||||
@ -335,32 +426,33 @@ gui_minimap_switch_left=自动显示地图 — 开启
|
||||
gui_minimap_switch_right=关闭
|
||||
|
||||
gui_progress=进度
|
||||
gui_progress_distance_travelled=航行里程:
|
||||
gui_progress_distance_travelled=已航行里程:
|
||||
gui_progress_leagues=__1__ 里格
|
||||
gui_progress_current_location=当前位置: __1__
|
||||
gui_progress_time_of_day=一天中的时间: __1__
|
||||
gui_progress_time_of_day=时刻: __1__
|
||||
|
||||
gui_runs_play=开始游戏
|
||||
gui_runs_ongoing_runs=正在进行的队伍
|
||||
gui_runs_ongoing_runs_helpful_tip=想要加入一个团队,首先在下表选择它
|
||||
gui_runs_ongoing_runs_spectate=观战
|
||||
gui_runs_ongoing_runs_join_crew=加入团队
|
||||
gui_runs_ongoing_runs_return_to_lobby=返回大厅
|
||||
gui_runs_ongoing_runs_hop_on_board=跳上船。
|
||||
gui_runs_proposals=提案
|
||||
gui_runs_proposals_endorse_proposal=批准提案
|
||||
gui_runs_proposals_retract_endorsement=撤回代言
|
||||
gui_runs_proposals_retract_endorsement=撤回支持
|
||||
gui_runs_proposals_abandon_proposal=放弃提案
|
||||
gui_runs_proposal_maker_run_name=队伍名称
|
||||
gui_runs_proposal_maker_run_name=团队名称
|
||||
gui_runs_proposal_maker_run_name_2=名称
|
||||
gui_runs_proposal_maker_capacity=容量
|
||||
gui_runs_proposal_maker_capacity_disabled=此容量设置目前不可用。
|
||||
gui_runs_proposal_maker_propose=提议
|
||||
gui_runs_proposal_maker_propose=提交
|
||||
gui_runs_proposal_maker_no_limit=无限制
|
||||
|
||||
gui_runs_launch=启航
|
||||
gui_runs_launch_error_1=聚集更多的海盗。
|
||||
gui_runs_launch_error_2=服务器上的并发运行数已达到管理员设置的上限。
|
||||
gui_runs_launch_error_3=无法启动;至少一个队伍需要更高的容量。
|
||||
gui_runs_launch_error_3=无法启动;至少要有一个队伍需要高容量。
|
||||
gui_runs_launch_error_4=没有可用的单桅帆船。改为加入现有的队伍。
|
||||
|
||||
gui_runs_wait_to_join=等待加入... __1__
|
||||
@ -368,7 +460,7 @@ gui_runs_wait_to_join=等待加入... __1__
|
||||
|
||||
gui_info_main_tooltip=关于海盗船的提示与更新
|
||||
gui_crews=团队
|
||||
gui_crews_main_tooltip=查看正在进行的团队,或创建自己的队伍
|
||||
gui_crews_main_tooltip=查看正在进行的团队,或创建自己的团队
|
||||
gui_minimap_main_tooltip=查看外部世界。
|
||||
|
||||
|
||||
@ -382,61 +474,25 @@ gui_etaframe_nest_escape_cost=下一个逃生成本:
|
||||
gui_etaframe_to_escape_store=想要逃跑,存储
|
||||
gui_etaframe_or_store=或存储
|
||||
gui_etaframe_rocket_requirement_tooltip=发射火箭
|
||||
gui_etaframe_undock_are_you_sure=出坞 — 你确定吗?
|
||||
gui_etaframe_undock_are_you_sure=出坞—你确定吗?
|
||||
gui_etaframe_launched=发射:
|
||||
gui_etaframe_launched_tooltip=这个岛的火箭发射了,这里是奖励。
|
||||
gui_etaframe_launching=火箭正在发射...
|
||||
gui_etaframe_charge=充电:
|
||||
gui_etaframe_charge_tooltip=火箭发射井充电: __1__/__2__ GJ\n\n充满电以发射火箭,获得达布隆和燃料。
|
||||
gui_etaframe_charge_tooltip=火箭发射井充电: __1__/__2__ GJ\n\n充满电以发射火箭,同时获得达布隆和燃料。
|
||||
|
||||
gui_questframe=岛屿任务:
|
||||
gui_questframe_fail=失败
|
||||
gui_questframe_ok=OK
|
||||
gui_questframe_complete_tooltip=这个岛的任务完成了,这里是奖励。
|
||||
gui_questframe_time=岛屿任务:时间\n\n在倒计时完成之前发射火箭以获得奖励。
|
||||
gui_questframe_worms=海岛任务:沙虫\n\n杀死足够多的蠕虫以获得奖励。
|
||||
gui_questframe_find=海岛任务:蠕虫\n\n杀死足够多的蠕虫以获得奖励。
|
||||
gui_questframe_resourceflow=海岛任务:资源流\n\n达到特定物品的生产率以获得奖励。
|
||||
gui_questframe_time=岛屿任务:限时\n\n在倒计时完成之前发射火箭以获得奖励。
|
||||
gui_questframe_worms=海岛任务:沙虫\n\n杀死足够多的沙虫以获得奖励。
|
||||
gui_questframe_find=海岛任务:幽灵\n\n找到幽灵以获得奖励。
|
||||
gui_questframe_resourceflow=海岛任务:资源滚滚\n\n达到特定物品的生产率以获得奖励。
|
||||
gui_questframe_resourcecount=海岛任务:物品生产\n\n只需在地图上的任何地方完成这些物品的生产即可获得奖励。
|
||||
gui_questframe_nodamage=岛屿任务:无伤\n\n发射火箭,发射井不受到任何伤害。
|
||||
gui_questframe_nodamage=岛屿任务:无伤\n\n发射火箭,并且发射井不受到任何伤害。
|
||||
|
||||
gui_crew_tooltip_1=你的船员\n\n执行船员操作,例如选择可用的职业。
|
||||
gui_crew_tooltip_2=你的船员\n\n你是自由人,所以这里没什么可做的。
|
||||
gui_crew_tooltip_1=你的团队\n\n执行船员操作,例如选择可用的职业。
|
||||
gui_crew_tooltip_2=你的团队\n\n你是自由人,所以什么也做不了。
|
||||
|
||||
gui_progress_tooltip=进度: __1__ 里格\n\n航行 __2__ 里格取得胜利
|
||||
|
||||
|
||||
location_displayname_first_1=羽翼未丰的山谷
|
||||
location_displayname_horseshoe_1=鲨鱼钥匙
|
||||
location_displayname_horseshoe_2=小钥匙
|
||||
location_displayname_horseshoe_3=小钥匙
|
||||
location_displayname_maze_1=迷惑迷宫
|
||||
location_displayname_radioactive_1=废弃实验室
|
||||
location_displayname_red_desert_1=沙虫火山口
|
||||
location_displayname_standard_1=埋藏宝藏岛
|
||||
location_displayname_standard_variant_1=僻静的戴尔
|
||||
location_displayname_swamp_1=毒沼泽
|
||||
location_displayname_walkways_1=冰冻水池
|
||||
location_displayname_sea_1=
|
||||
location_displayname_dock_1=码头
|
||||
location_displayname_lobby_1=初始码头
|
||||
|
||||
|
||||
quest_structure_market_1=需要__1__x
|
||||
quest_structure_market_2=(物品组件将是
|
||||
quest_structure_market_3=完成后退款)
|
||||
|
||||
quest_structure_furnace_1=需要
|
||||
quest_structure_furnace_2=(熔炉可以将
|
||||
quest_structure_furnace_3=已交付物品
|
||||
quest_structure_furnace_4=拆分成组件)
|
||||
|
||||
|
||||
highscore_heading_crew=团队
|
||||
highscore_heading_captain=船长
|
||||
highscore_heading_captain_tooltip=在 0 到 1000 里格(不包括)之间担任船长时间最长的玩家。
|
||||
highscore_heading_completion=完成
|
||||
highscore_heading_leagues=里格数
|
||||
highscore_heading_version=版本
|
||||
highscore_heading_difficulty=难度
|
||||
highscore_heading_peak_players=巅峰玩家
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Balance = require 'maps.pirates.balance'
|
||||
@ -125,10 +127,14 @@ function Public.eat_up_fraction_of_all_pollution(surface, fraction_of_global_pol
|
||||
end
|
||||
|
||||
function Public.wave_size_rng() -- random variance in attack sizes
|
||||
local memory = Memory.get_crew_memory()
|
||||
|
||||
local wave_percentage_chance = Math.clamp(0, 70, 20 + 10 * memory.floating_pollution/1400) --trying this out
|
||||
|
||||
local wave_size_multiplier = 1
|
||||
local memory = Memory.get_crew_memory()
|
||||
local rng1 = Math.random(100)
|
||||
if rng1 <= 68 then
|
||||
if rng1 > wave_percentage_chance then
|
||||
wave_size_multiplier = 0
|
||||
elseif memory.overworldx > 0 then
|
||||
local rng2 = Math.random(1000)
|
||||
@ -295,7 +301,7 @@ function Public.create_mail_delivery_biters() --these travel cross-map between b
|
||||
|
||||
local spawners = surface.find_entities_filtered{name = 'biter-spawner', force = enemy_force_name}
|
||||
|
||||
local try_how_many_groups = Math.min(Math.max(0, (#spawners - 8) / 100), 4)
|
||||
local try_how_many_groups = Math.clamp(0, 4, (#spawners - 8) / 100)
|
||||
|
||||
for i = 1, try_how_many_groups do
|
||||
if Math.random(2) == 1 then
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Balance = require 'maps.pirates.balance'
|
||||
@ -287,9 +289,9 @@ local function damage_to_players_changes(event)
|
||||
-- damage_multiplier = damage_multiplier * 1.10
|
||||
elseif class and class == Classes.enum.SAMURAI then
|
||||
damage_multiplier = damage_multiplier * (1 - Balance.samurai_resistance)
|
||||
elseif class and class == Classes.enum.HATAMOTO then --lethal damage needs to be unaffected
|
||||
elseif class and class == Classes.enum.HATAMOTO then
|
||||
damage_multiplier = damage_multiplier * (1 - Balance.hatamoto_resistance)
|
||||
elseif class and class == Classes.enum.IRON_LEG then --lethal damage needs to be unaffected
|
||||
elseif class and class == Classes.enum.IRON_LEG then
|
||||
if memory.class_auxiliary_data[player_index] and memory.class_auxiliary_data[player_index].iron_leg_active then
|
||||
damage_multiplier = damage_multiplier * (1 - Balance.iron_leg_resistance)
|
||||
end
|
||||
@ -664,9 +666,9 @@ end
|
||||
|
||||
local function event_pre_player_mined_item(event)
|
||||
-- figure out which crew this is about:
|
||||
local crew_id = nil
|
||||
if event.player_index and game.players[event.player_index].valid then crew_id = tonumber(string.sub(game.players[event.player_index].force.name, -3, -1)) or nil end
|
||||
Memory.set_working_id(crew_id)
|
||||
-- local crew_id = nil
|
||||
-- if event.player_index and game.players[event.player_index].valid then crew_id = tonumber(string.sub(game.players[event.player_index].force.name, -3, -1)) or nil end
|
||||
-- Memory.set_working_id(crew_id)
|
||||
-- local memory = Memory.get_crew_memory()
|
||||
|
||||
-- if memory.planet[1].type.id == 11 then --rocky planet
|
||||
@ -678,6 +680,10 @@ local function event_pre_player_mined_item(event)
|
||||
-- end
|
||||
end
|
||||
|
||||
|
||||
Public.every_nth_tree_gives_coins = 6
|
||||
|
||||
|
||||
local function event_on_player_mined_entity(event)
|
||||
if not event.player_index then return end
|
||||
local player = game.players[event.player_index]
|
||||
@ -695,8 +701,6 @@ local function event_on_player_mined_entity(event)
|
||||
return
|
||||
end
|
||||
|
||||
local every_nth_tree_gives_coins = 6
|
||||
|
||||
if entity.type == 'tree' then
|
||||
if not event.buffer then return end
|
||||
local available = destination.dynamic_data.wood_remaining
|
||||
@ -713,22 +717,18 @@ local function event_on_player_mined_entity(event)
|
||||
local give = {}
|
||||
if memory.classes_table and memory.classes_table[event.player_index] then
|
||||
if memory.classes_table[event.player_index] == Classes.enum.LUMBERJACK then
|
||||
give[#give + 1] = {name = 'wood', count = 4}
|
||||
if Math.random(every_nth_tree_gives_coins) == 1 then
|
||||
local a = 20
|
||||
give[#give + 1] = {name = 'coin', count = a}
|
||||
memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
end
|
||||
elseif memory.classes_table[event.player_index] == Classes.enum.WOOD_LORD then
|
||||
give[#give + 1] = {name = 'wood', count = 1}
|
||||
give[#give + 1] = {name = 'iron-ore', count = 1}
|
||||
give[#give + 1] = {name = 'copper-ore', count = 1}
|
||||
give[#give + 1] = {name = 'coal', count = 1}
|
||||
if Math.random(every_nth_tree_gives_coins) == 1 then
|
||||
local a = 12
|
||||
give[#give + 1] = {name = 'coin', count = a}
|
||||
memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
end
|
||||
Classes.lumberjack_bonus_items(give)
|
||||
-- elseif memory.classes_table[event.player_index] == Classes.enum.WOOD_LORD then
|
||||
-- give[#give + 1] = {name = 'wood', count = 1}
|
||||
-- give[#give + 1] = {name = 'iron-ore', count = 1}
|
||||
-- give[#give + 1] = {name = 'copper-ore', count = 1}
|
||||
-- give[#give + 1] = {name = 'coal', count = 1}
|
||||
-- if Math.random(every_nth_tree_gives_coins) == 1 then
|
||||
-- local a = 12
|
||||
-- give[#give + 1] = {name = 'coin', count = a}
|
||||
-- memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
-- end
|
||||
end
|
||||
end
|
||||
|
||||
@ -740,29 +740,26 @@ local function event_on_player_mined_entity(event)
|
||||
|
||||
local baseamount = 4
|
||||
--minimum 1 wood
|
||||
local amount = Math.max(Math.ceil(Math.min(available, baseamount * available/starting)),1)
|
||||
local amount = Math.clamp(1, Math.ceil(available), Math.ceil(baseamount * available/starting))
|
||||
|
||||
destination.dynamic_data.wood_remaining = destination.dynamic_data.wood_remaining - amount
|
||||
|
||||
if memory.classes_table and memory.classes_table[event.player_index] and memory.classes_table[event.player_index] == Classes.enum.LUMBERJACK then
|
||||
give[#give + 1] = {name = 'wood', count = amount + 3}
|
||||
if Math.random(every_nth_tree_gives_coins) == 1 then
|
||||
local a = 12
|
||||
give[#give + 1] = {name = 'coin', count = a}
|
||||
memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
end
|
||||
elseif memory.classes_table and memory.classes_table[event.player_index] and memory.classes_table[event.player_index] == Classes.enum.WOOD_LORD then
|
||||
give[#give + 1] = {name = 'wood', count = amount + 3}
|
||||
give[#give + 1] = {name = 'iron-ore', count = 1}
|
||||
give[#give + 1] = {name = 'copper-ore', count = 1}
|
||||
give[#give + 1] = {name = 'coal', count = 1}
|
||||
if Math.random(every_nth_tree_gives_coins) == 1 then
|
||||
local a = 12
|
||||
give[#give + 1] = {name = 'coin', count = a}
|
||||
memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
end
|
||||
give[#give + 1] = {name = 'wood', count = amount}
|
||||
Classes.lumberjack_bonus_items(give)
|
||||
-- elseif memory.classes_table and memory.classes_table[event.player_index] and memory.classes_table[event.player_index] == Classes.enum.WOOD_LORD then
|
||||
-- give[#give + 1] = {name = 'wood', count = amount + 3}
|
||||
-- give[#give + 1] = {name = 'iron-ore', count = 1}
|
||||
-- give[#give + 1] = {name = 'copper-ore', count = 1}
|
||||
-- give[#give + 1] = {name = 'coal', count = 1}
|
||||
-- if Math.random(every_nth_tree_gives_coins) == 1 then
|
||||
-- local a = 12
|
||||
-- give[#give + 1] = {name = 'coin', count = a}
|
||||
-- memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
-- end
|
||||
else
|
||||
give[#give + 1] = {name = 'wood', count = amount}
|
||||
if Math.random(every_nth_tree_gives_coins) == 1 then --tuned
|
||||
if Math.random(Public.every_nth_tree_gives_coins) == 1 then --tuned
|
||||
local a = 5
|
||||
give[#give + 1] = {name = 'coin', count = a}
|
||||
memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
@ -795,7 +792,7 @@ local function event_on_player_mined_entity(event)
|
||||
|
||||
local give = {}
|
||||
|
||||
if memory.overworldx > 0 then
|
||||
if memory.overworldx > 0 then --no coins on first map, else the optimal strategy is to handmine everything there
|
||||
if memory.classes_table and memory.classes_table[event.player_index] and memory.classes_table[event.player_index] == Classes.enum.PROSPECTOR then
|
||||
local a = 3
|
||||
give[#give + 1] = {name = 'coin', count = a}
|
||||
@ -913,11 +910,11 @@ local function base_kill_rewards(event)
|
||||
|
||||
if entity_name == 'small-worm-turret' then
|
||||
iron_amount = 5
|
||||
coin_amount = 60
|
||||
coin_amount = 50
|
||||
memory.playtesting_stats.coins_gained_by_nests_and_worms = memory.playtesting_stats.coins_gained_by_nests_and_worms + coin_amount
|
||||
elseif entity_name == 'medium-worm-turret' then
|
||||
iron_amount = 20
|
||||
coin_amount = 100
|
||||
coin_amount = 90
|
||||
memory.playtesting_stats.coins_gained_by_nests_and_worms = memory.playtesting_stats.coins_gained_by_nests_and_worms + coin_amount
|
||||
elseif entity_name == 'biter-spawner' or entity_name == 'spitter-spawner' then
|
||||
iron_amount = 30
|
||||
@ -925,11 +922,11 @@ local function base_kill_rewards(event)
|
||||
memory.playtesting_stats.coins_gained_by_nests_and_worms = memory.playtesting_stats.coins_gained_by_nests_and_worms + coin_amount
|
||||
elseif entity_name == 'big-worm-turret' then
|
||||
iron_amount = 30
|
||||
coin_amount = 160
|
||||
coin_amount = 140
|
||||
memory.playtesting_stats.coins_gained_by_nests_and_worms = memory.playtesting_stats.coins_gained_by_nests_and_worms + coin_amount
|
||||
elseif entity_name == 'behemoth-worm-turret' then
|
||||
iron_amount = 50
|
||||
coin_amount = 280
|
||||
coin_amount = 260
|
||||
memory.playtesting_stats.coins_gained_by_nests_and_worms = memory.playtesting_stats.coins_gained_by_nests_and_worms + coin_amount
|
||||
elseif memory.overworldx > 0 then --avoid coin farming on first island
|
||||
if entity_name == 'small-biter' then
|
||||
@ -1203,6 +1200,10 @@ local function event_on_player_joined_game(event)
|
||||
player.print('Support Pirate Ship scenario design at ko-fi.com/thesixthroc', {r=1, g=0.4, b=0.9})
|
||||
end
|
||||
|
||||
if _DEBUG then
|
||||
game.print('Debug mode on. Use /go to get started, /1 /4 /32 etc to change game speed.')
|
||||
end
|
||||
|
||||
local crew_to_put_back_in = nil
|
||||
for _, mem in pairs(global_memory.crew_memories) do
|
||||
if mem.id and mem.crewstatus and mem.crewstatus == Crew.enum.ADVENTURING and mem.temporarily_logged_off_characters[player.index] then
|
||||
@ -1633,7 +1634,6 @@ local function event_on_rocket_launched(event)
|
||||
local a = Balance.rocket_launch_coin_reward
|
||||
Common.give_items_to_crew({{name = 'coin', count = a}})
|
||||
memory.playtesting_stats.coins_gained_by_rocket_launches = memory.playtesting_stats.coins_gained_by_rocket_launches + a
|
||||
|
||||
end
|
||||
|
||||
local force = memory.force
|
||||
@ -1649,6 +1649,11 @@ local function event_on_rocket_launched(event)
|
||||
destination.dynamic_data.quest_progress = destination.dynamic_data.rocketsilohp
|
||||
Quest.try_resolve_quest()
|
||||
end
|
||||
|
||||
if destination.dynamic_data.rocketsilos and destination.dynamic_data.rocketsilos[1] and destination.dynamic_data.rocketsilos[1].valid then
|
||||
destination.dynamic_data.rocketsilos[1].die()
|
||||
destination.dynamic_data.rocketsilos = nil
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -1790,7 +1795,7 @@ local function event_on_player_respawned(event)
|
||||
local boat = memory.boat
|
||||
|
||||
if player.surface == game.surfaces[Common.current_destination().surface_name] then
|
||||
if boat and boat.state == Boats.enum_state.ATSEA_SAILING then
|
||||
if boat and boat.state == Boats.enum_state.ATSEA_SAILING or boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL or boat.state == Boats.enum_state.ATSEA_LOADING_MAP then
|
||||
-- assuming sea is always default:
|
||||
local seasurface = game.surfaces[memory.sea_name]
|
||||
player.teleport(memory.spawnpoint, seasurface)
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
--luacheck: ignore
|
||||
--luacheck ignores because tickinterval arguments are a code templating choice...
|
||||
|
||||
@ -1024,7 +1026,7 @@ function Public.silo_update(tickinterval)
|
||||
|
||||
if memory.overworldx >= 0 and dynamic_data.rocketsiloenergyconsumed >= 0.25 * dynamic_data.rocketsiloenergyneeded and (not dynamic_data.parrot_silo_warned) then
|
||||
dynamic_data.parrot_silo_warned = true
|
||||
local spawnerscount = Common.spawner_count(surface)
|
||||
local spawnerscount = Common.spawner_count(game.surfaces[destination.surface_name])
|
||||
if spawnerscount > 0 then
|
||||
Common.parrot_speak(memory.force, {'pirates.parrot_silo_warning'})
|
||||
end
|
||||
@ -1133,7 +1135,7 @@ end
|
||||
-- Delay.move_tasks_to_buffer()
|
||||
-- end
|
||||
|
||||
function Public.Kraken_Destroyed_Backup_check(tickinterval) -- a server became bugged when the kraken spawner entity disappeared but the kraken_die had not fired, and I'm not sure why, so this is a backup checker for that case
|
||||
function Public.Kraken_Destroyed_Backup_check(tickinterval) -- a server became stuck when the kraken spawner entity disappeared but the kraken_die had not fired, and I'm not sure why, so this is a backup checker for that case
|
||||
local memory = Memory.get_crew_memory()
|
||||
local boat = memory.boat
|
||||
|
||||
@ -1160,7 +1162,6 @@ function Public.Kraken_Destroyed_Backup_check(tickinterval) -- a server became b
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -41,7 +43,7 @@ function Public.cost_to_leave_multiplier()
|
||||
return Math.sloped(Common.difficulty_scale(), 8/10)
|
||||
end
|
||||
|
||||
Public.rocket_launch_coin_reward = 6000
|
||||
Public.rocket_launch_coin_reward = 5000
|
||||
|
||||
function Public.crew_scale()
|
||||
local ret = Common.activecrewcount()/10
|
||||
@ -359,8 +361,12 @@ function Public.apply_crew_buffs_per_x(force)
|
||||
force.laboratory_productivity_bonus = Math.max(0, 7/100 * (Common.overworldx()/40) - (10*(Common.difficulty_scale()) - 5)) --difficulty causes lab productivity boosts to start later
|
||||
end
|
||||
|
||||
function Public.class_cost()
|
||||
return 10000
|
||||
function Public.class_cost(at_dock)
|
||||
if at_dock then
|
||||
return 10000
|
||||
else
|
||||
return 6000
|
||||
end
|
||||
-- return Math.ceil(10000 / (Public.crew_scale()*10/4)^(1/6))
|
||||
end
|
||||
|
||||
@ -391,7 +397,7 @@ function Public.sandworm_evo_increase_per_spawn()
|
||||
end
|
||||
|
||||
function Public.kraken_kill_reward_items()
|
||||
return {{name = 'sulfuric-acid-barrel', count = 5}, {name = 'coin', count = 1000}}
|
||||
return {{name = 'sulfuric-acid-barrel', count = 5}, {name = 'coin', count = 800}}
|
||||
end
|
||||
function Public.kraken_kill_reward_fuel()
|
||||
return 200
|
||||
@ -529,7 +535,7 @@ function Public.starting_items_crew_upstairs()
|
||||
{['grenade'] = 3},
|
||||
{['shotgun'] = 2, ['shotgun-shell'] = 36},
|
||||
-- {['raw-fish'] = 5},
|
||||
{['coin'] = 2000},
|
||||
{['coin'] = 1000},
|
||||
}
|
||||
end
|
||||
|
||||
@ -541,7 +547,7 @@ function Public.starting_items_crew_downstairs()
|
||||
{['inserter'] = Math.random(120,140)},
|
||||
{['storage-tank'] = 2},
|
||||
{['medium-electric-pole'] = Math.random(15,21)},
|
||||
{['coin'] = 2000},
|
||||
{['coin'] = 1000},
|
||||
{['solar-panel'] = 3},
|
||||
}
|
||||
end
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
@ -38,10 +40,10 @@ Public.List = {
|
||||
}
|
||||
|
||||
Public.crowsnest_display_form = {
|
||||
[enum.EXTRA_HOLD] = 'Extra Hold',
|
||||
[enum.MORE_POWER] = 'Power',
|
||||
[enum.UNLOCK_MERCHANTS] = 'Unlock Merchants',
|
||||
[enum.ROCKETS_FOR_SALE] = 'Unlock Rockets',
|
||||
[enum.EXTRA_HOLD] = {'pirates.upgrade_hold_crowsnest_form'},
|
||||
[enum.MORE_POWER] = {'pirates.upgrade_power_crowsnest_form'},
|
||||
[enum.UNLOCK_MERCHANTS] = {'pirates.upgrade_merchants_crowsnest_form'},
|
||||
[enum.ROCKETS_FOR_SALE] = {'pirates.upgrade_rockets_crowsnest_form'},
|
||||
}
|
||||
|
||||
-- WARNING: The dock market pulls from these values, but the Crowsnest caption pulls data from main_shop_data_1. So don't change one without the other
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
--luacheck: ignore
|
||||
--luacheck ignores because mass requires is a code templating choice...
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Math = require 'maps.pirates.math'
|
||||
local Raffle = require 'maps.pirates.raffle'
|
||||
@ -15,7 +17,6 @@ local _inspect = require 'utils.inspect'.inspect
|
||||
|
||||
local Public = {}
|
||||
|
||||
--@TODO: decide on snakecase vs camelcase
|
||||
-- Public.active_crews_cap = 1
|
||||
Public.activeCrewsCap = 2
|
||||
Public.minimumCapacitySliderValue = 1
|
||||
@ -38,6 +39,8 @@ Public.structure_ensure_chunk_radius = 2
|
||||
|
||||
Public.allow_barreling_off_ship = true
|
||||
|
||||
Public.coin_tax_percentage = 10
|
||||
|
||||
Public.fraction_of_map_loaded_at_sea = 1
|
||||
Public.map_loading_ticks_atsea = 68 * 60
|
||||
Public.map_loading_ticks_atsea_maze = 80 * 60
|
||||
@ -88,7 +91,7 @@ function Public.capacity() return Memory.get_crew_memory().capacity end
|
||||
-- function Public.mode() return Memory.get_crew_memory().mode end
|
||||
function Public.overworldx() return Memory.get_crew_memory().overworldx end
|
||||
function Public.game_completion_progress() return Public.overworldx()/CoreData.victory_x end
|
||||
function Public.game_completion_progress_capped() return Math.min(Public.overworldx()/CoreData.victory_x, 1) end
|
||||
function Public.game_completion_progress_capped() return Math.clamp(0, 1, Public.overworldx()/CoreData.victory_x) end
|
||||
function Public.capacity_scale()
|
||||
local capacity = Public.capacity()
|
||||
if not capacity then --e.g. for EE wattage on boats not owned by a crew
|
||||
@ -146,11 +149,13 @@ end
|
||||
function Public.notify_force_error(force, message, color_override)
|
||||
color_override = color_override or CoreData.colors.notify_error
|
||||
force.print({"", '>> ', message}, color_override)
|
||||
force.play_sound{path = "utility/cannot_build"}
|
||||
end
|
||||
|
||||
function Public.notify_player_error(player, message, color_override)
|
||||
color_override = color_override or CoreData.colors.notify_error
|
||||
player.print({"", '## ', {'pirates.notify_whisper'}, ' ', message}, color_override)
|
||||
player.play_sound{path = "utility/cannot_build"}
|
||||
end
|
||||
|
||||
function Public.notify_player_expected(player, message, color_override)
|
||||
@ -166,7 +171,8 @@ end
|
||||
function Public.parrot_speak(force, message)
|
||||
force.print({"", {'pirates.notify_parrot'}, ' ', message}, CoreData.colors.parrot)
|
||||
|
||||
Server.to_discord_embed_raw({"", {'pirates.notify_parrot'}, ' ', message}, true)
|
||||
local memory = Memory.get_crew_memory()
|
||||
Server.to_discord_embed_raw({"", '[' .. memory.name .. ']', {'pirates.notify_parrot'}, ' ', message}, true)
|
||||
end
|
||||
|
||||
|
||||
@ -219,6 +225,9 @@ end
|
||||
-- {20, 0, 1, false, 'flying-robot-frame', 20, 35},
|
||||
-- }
|
||||
|
||||
|
||||
|
||||
--@TODO: Replace this old function with the newer code in raffle.lua
|
||||
function Public.raffle_from_processed_loot_data(processed_loot_data, how_many, game_completion_progress)
|
||||
local ret = {}
|
||||
|
||||
@ -405,6 +414,7 @@ end
|
||||
-- -- return Math.floor(surplus_evo*3*1000)/1000
|
||||
-- end
|
||||
|
||||
|
||||
function Public.set_biter_surplus_evo_modifiers()
|
||||
local memory = Memory.get_crew_memory()
|
||||
local enemy_force = memory.enemy_force
|
||||
@ -787,8 +797,7 @@ function Public.spawner_count(surface)
|
||||
local memory = Memory.get_crew_memory()
|
||||
|
||||
local spawners = surface.find_entities_filtered({type = 'unit-spawner', force = memory.enemy_force_name})
|
||||
local spawnerscount = #spawners or 0
|
||||
return spawnerscount
|
||||
return #spawners or 0
|
||||
end
|
||||
|
||||
|
||||
@ -988,7 +997,7 @@ function Public.add_tiles_from_blueprint(tilesTable, bp_string, tile_name, offse
|
||||
end
|
||||
|
||||
function Public.tile_positions_from_blueprint(bp_string, offset)
|
||||
-- May '22 change: There seems to be a base game bug(?) which causes the tiles to be offset. We now correct for that.
|
||||
-- May '22 change: There seems to be a base game bug(?) which causes the tiles to be offset. We now correct for that (with ` - (max_x - min_x)/2` and ` - (max_y - min_y)/2`).
|
||||
|
||||
local bp_entity = game.surfaces['nauvis'].create_entity{name = 'item-on-ground', position = {x = 158.5, y = 158.5}, stack = 'blueprint'}
|
||||
bp_entity.stack.import_stack(bp_string)
|
||||
@ -1033,6 +1042,7 @@ function Public.tile_positions_from_blueprint(bp_string, offset)
|
||||
end
|
||||
|
||||
function Public.tile_positions_from_blueprint_arrayform(bp_string, offset)
|
||||
-- does not include the above May '22 fix yet, so may give different results
|
||||
|
||||
local bp_entity = game.surfaces['nauvis'].create_entity{name = 'item-on-ground', position = {x = 158.5, y = 158.5}, stack = 'blueprint'}
|
||||
bp_entity.stack.import_stack(bp_string)
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Math = require 'maps.pirates.math'
|
||||
local _inspect = require 'utils.inspect'.inspect
|
||||
@ -5,7 +7,7 @@ local _inspect = require 'utils.inspect'.inspect
|
||||
local Public = {}
|
||||
|
||||
Public.scenario_id_name = 'pirates'
|
||||
Public.version_string = '1.2.8' --will now try to stick to major.minor.patch versioning, to match factorio mod portal
|
||||
Public.version_string = '1.2.11' --major.minor.patch versioning, to match factorio mod portal
|
||||
|
||||
Public.blueprint_library_allowed = true
|
||||
Public.blueprint_importing_allowed = true
|
||||
@ -107,25 +109,41 @@ Public.capacity_options = {
|
||||
{value = 999, icon = 'virtual-signal/signal-white', text = 'Inf.', text2 = '', text3 = 'Inf'},
|
||||
-- {value = 64, icon = 'item/storage-tank', text = '64'},
|
||||
}
|
||||
|
||||
Public.difficulty_options = {
|
||||
-- The difficulty values we currently offer
|
||||
|
||||
--For the value of Easy difficulty, we are pulled in two directions: We wish to make the game comfy to play for those who haven't played it, but we also wish to represent the game mechanics faithfully so that Normal is not a crazy distance away.
|
||||
{value = 0.6, icon = 'item/firearm-magazine', text = 'Easy', associated_color = {r = 50, g = 255, b = 50}},
|
||||
{value = 1.0, icon = 'item/piercing-rounds-magazine', text = 'Normal', associated_color = {r = 255, g = 255, b = 50}},
|
||||
{value = 1.4, icon = 'item/uranium-rounds-magazine', text = 'Hard', associated_color = {r = 255, g = 50, b = 50}},
|
||||
{value = 2.1, icon = 'item/atomic-bomb', text = 'Nightmare', associated_color = {r = 120, g = 35, b = 35}},
|
||||
{value = 0.6, icon = 'item/firearm-magazine', text = {'pirates.difficulty_easy'}, associated_color = {r = 50, g = 255, b = 50}},
|
||||
|
||||
{value = 1.0, icon = 'item/piercing-rounds-magazine', text = {'pirates.difficulty_normal'}, associated_color = {r = 255, g = 255, b = 50}},
|
||||
|
||||
{value = 1.4, icon = 'item/uranium-rounds-magazine', text = {'pirates.difficutly_hard'}, associated_color = {r = 255, g = 50, b = 50}},
|
||||
|
||||
{value = 2.1, icon = 'item/atomic-bomb', text = {'pirates.difficulty_nightmare'}, associated_color = {r = 170, g = 60, b = 60}},
|
||||
}
|
||||
function Public.get_difficulty_name_from_value(difficulty_value)
|
||||
-- Functions will reference this when given a difficulty value and want to present a difficulty name to the player; just make it consistent with the above
|
||||
if difficulty_value <= 0.7 then
|
||||
return 'Easy'
|
||||
function Public.get_difficulty_option_from_value(difficulty_value)
|
||||
-- given a difficulty value, key in to the closesy entry in the above table. (organising things this way allows us to make changes to the 'value' keys in the above table without disrupting e.g. past highscores data)
|
||||
if difficulty_value <= 0.8 then
|
||||
return 1
|
||||
elseif difficulty_value < 1.2 then
|
||||
return 'Normal'
|
||||
elseif difficulty_value <= 2 then
|
||||
return 'Hard'
|
||||
return 2
|
||||
elseif difficulty_value <= 1.75 then
|
||||
return 3
|
||||
else
|
||||
return 'Nightmare'
|
||||
return 4
|
||||
end
|
||||
end
|
||||
function Public.get_difficulty_option_informal_name_from_value(difficulty_value)
|
||||
-- given a difficulty value, provide a simple named description of the difficulty. for internal use
|
||||
if difficulty_value <= 0.8 then
|
||||
return 'easy'
|
||||
elseif difficulty_value < 1.2 then
|
||||
return 'normal'
|
||||
elseif difficulty_value <= 1.75 then
|
||||
return 'hard'
|
||||
else
|
||||
return 'nightmare'
|
||||
end
|
||||
end
|
||||
|
||||
@ -135,11 +153,11 @@ end
|
||||
-- }
|
||||
|
||||
Public.daynightcycle_types = {
|
||||
{displayname = 'Static', 0},
|
||||
{displayname = 'Slow Cyclic', ticksperday = 100000},
|
||||
{displayname = 'Cyclic', ticksperday = 80000},
|
||||
{displayname = 'Fast Cyclic', ticksperday = 60000},
|
||||
{displayname = 'Rapid Cyclic', ticksperday = 40000},
|
||||
{displayname = {'pirates.daynightcycle_static'}, 0},
|
||||
{displayname = {'pirates.daynightcycle_slowcyclic'}, ticksperday = 100000},
|
||||
{displayname = {'pirates.daynightcycle_cyclic'}, ticksperday = 80000},
|
||||
{displayname = {'pirates.daynightcycle_fastcyclic'}, ticksperday = 60000},
|
||||
{displayname = {'pirates.daynightcycle_rapidcyclic'}, ticksperday = 40000},
|
||||
}
|
||||
|
||||
Public.ore_types = {
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Balance = require 'maps.pirates.balance'
|
||||
local _inspect = require 'utils.inspect'.inspect
|
||||
@ -32,13 +34,16 @@ Public.enum = enum
|
||||
function Public.difficulty_vote(player_index, difficulty_id)
|
||||
local memory = Memory.get_crew_memory()
|
||||
|
||||
|
||||
if not (memory.difficulty_votes) then memory.difficulty_votes = {} end
|
||||
local player = game.players[player_index]
|
||||
if not (player and player.valid) then return end
|
||||
|
||||
|
||||
if memory.difficulty_votes[player_index] and memory.difficulty_votes[player_index] == difficulty_id then
|
||||
return nil
|
||||
else
|
||||
log(_inspect(CoreData.difficulty_options))
|
||||
local option = CoreData.difficulty_options[difficulty_id]
|
||||
if not option then return end
|
||||
|
||||
@ -77,10 +82,11 @@ function Public.update_difficulty()
|
||||
local color = CoreData.difficulty_options[modal_id].associated_color
|
||||
|
||||
local message1 = {'pirates.notify_difficulty_change', color.r, color.g, color.b, CoreData.difficulty_options[modal_id].text}
|
||||
|
||||
Common.notify_force(memory.force, message1)
|
||||
|
||||
local message2 = 'Difficulty changed to ' .. CoreData.difficulty_options[modal_id].text .. '.'
|
||||
Server.to_discord_embed_raw(CoreData.comfy_emojis.kewl .. '[' .. memory.name .. '] ' .. message2)
|
||||
-- local message2 = 'Difficulty changed to ' .. CoreData.difficulty_options[modal_id].text .. '.'
|
||||
Server.to_discord_embed_raw({'', CoreData.comfy_emojis.kewl .. '[' .. memory.name .. '] ', message1}, true)
|
||||
|
||||
memory.difficulty_option = modal_id
|
||||
memory.difficulty = CoreData.difficulty_options[modal_id].value
|
||||
@ -151,7 +157,7 @@ function Public.try_win()
|
||||
memory.game_won = true
|
||||
-- memory.crew_disband_tick = game.tick + 1200
|
||||
|
||||
Server.to_discord_embed_raw(CoreData.comfy_emojis.goldenobese .. '[' .. memory.name .. '] Victory, on v' .. CoreData.version_string .. ', ' .. CoreData.difficulty_options[memory.difficulty_option].text .. ', capacity ' .. CoreData.capacity_options[memory.capacity_option].text3 .. '. Playtime: ' .. speedrun_time_str .. ' since 1st island. Crewmembers: ' .. Public.get_crewmembers_printable_string())
|
||||
Server.to_discord_embed_raw({'', CoreData.comfy_emojis.goldenobese .. '[' .. memory.name .. '] Victory, on v' .. CoreData.version_string .. ', ', CoreData.difficulty_options[memory.difficulty_option].text, ', capacity ' .. CoreData.capacity_options[memory.capacity_option].text3 .. '. Playtime: ' .. speedrun_time_str .. ' since 1st island. Crewmembers: ' .. Public.get_crewmembers_printable_string()}, true)
|
||||
|
||||
Common.notify_game({'','[' .. memory.name .. '] ',{'pirates.victory',CoreData.version_string, CoreData.difficulty_options[memory.difficulty_option].text, CoreData.capacity_options[memory.capacity_option].text3, speedrun_time_str, Public.get_crewmembers_printable_string()}}, CoreData.colors.notify_victory)
|
||||
|
||||
@ -875,7 +881,7 @@ function Public.reset_crew_and_enemy_force(id)
|
||||
|
||||
crew_force.technologies['automobilism'].enabled = false
|
||||
|
||||
crew_force.technologies['toolbelt'].enabled = false --trying this. we don't actually want players to carry things manually, and in fact in a resource-tight scenario that's problematic
|
||||
crew_force.technologies['toolbelt'].enabled = false --trying this. we don't actually want players to carry too many things manually, and in fact in a resource-tight scenario that's problematic
|
||||
|
||||
-- note: many of these recipes are overwritten after tech researched!!!!!!! like pistol. check elsewhere in code
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Event = require 'utils.event'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Math = require 'maps.pirates.math'
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Common = require 'maps.pirates.common'
|
||||
@ -68,7 +70,7 @@ function Public.new_window(player, name)
|
||||
flow.style.maximal_width = 270
|
||||
flow.style.minimal_height = 80
|
||||
flow.style.natural_height = 80
|
||||
flow.style.maximal_height = 700
|
||||
flow.style.maximal_height = 760
|
||||
flow.style.padding = 10
|
||||
|
||||
return flow
|
||||
@ -405,7 +407,7 @@ function Public.player_and_crew_state_bools(player)
|
||||
local destination = Common.current_destination()
|
||||
local dynamic_data = destination.dynamic_data --assumes this always exists
|
||||
|
||||
local in_crowsnest_bool, in_hold_bool, in_cabin_bool, onmap_bool, eta_bool, approaching_bool, retreating_bool, atsea_sailing_bool, landed_bool, quest_bool, silo_bool, charged_bool, launched_bool, captain_bool, atsea_loading_bool, character_on_deck_bool, on_deck_standing_near_loco_bool, on_deck_standing_near_cabin_bool, on_deck_standing_near_crowsnest_bool, cost_bool, cost_includes_rocket_launch_bool, approaching_dock_bool, leaving_dock_bool, leave_anytime_bool
|
||||
local in_crowsnest_bool, in_hold_bool, in_cabin_bool, onmap_bool, eta_bool, approaching_bool, retreating_bool, atsea_sailing_bool, landed_bool, quest_bool, silo_bool, charged_bool, launched_bool, captain_bool, atsea_loading_bool, atsea_waiting_bool, character_on_deck_bool, on_deck_standing_near_loco_bool, on_deck_standing_near_cabin_bool, on_deck_standing_near_crowsnest_bool, cost_bool, cost_includes_rocket_launch_bool, approaching_dock_bool, leaving_dock_bool, leave_anytime_bool
|
||||
|
||||
captain_bool = Common.is_captain(player)
|
||||
|
||||
@ -423,13 +425,14 @@ function Public.player_and_crew_state_bools(player)
|
||||
retreating_bool = memory.boat and memory.boat.state == Boats.enum_state.RETREATING and onmap_bool
|
||||
-- approaching_bool = memory.boat and memory.boat.state == Boats.enum_state.APPROACHING
|
||||
atsea_sailing_bool = memory.boat and memory.boat.state == Boats.enum_state.ATSEA_SAILING
|
||||
atsea_waiting_bool = memory.boat and memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL
|
||||
landed_bool = memory.boat and memory.boat.state == Boats.enum_state.LANDED
|
||||
quest_bool = (dynamic_data.quest_type ~= nil) and onmap_bool
|
||||
charged_bool = dynamic_data.silocharged
|
||||
silo_bool = dynamic_data.rocketsilos and onmap_bool and ((dynamic_data.rocketsilos[1] and dynamic_data.rocketsilos[1].valid) or charged_bool)
|
||||
launched_bool = dynamic_data.rocketlaunched
|
||||
|
||||
cost_bool = destination.static_params.base_cost_to_undock and (not atsea_sailing_bool) and (not retreating_bool)
|
||||
cost_bool = destination.static_params.base_cost_to_undock and (not atsea_sailing_bool) and (not atsea_waiting_bool) and (not retreating_bool)
|
||||
cost_includes_rocket_launch_bool = cost_bool and destination.static_params.base_cost_to_undock['launch_rocket']
|
||||
|
||||
leave_anytime_bool = (landed_bool and not (eta_bool or cost_bool))
|
||||
@ -463,6 +466,7 @@ function Public.player_and_crew_state_bools(player)
|
||||
approaching_bool = approaching_bool,
|
||||
retreating_bool = retreating_bool,
|
||||
atsea_sailing_bool = atsea_sailing_bool,
|
||||
atsea_waiting_bool = atsea_waiting_bool,
|
||||
-- landed_bool = landed_bool,
|
||||
quest_bool = quest_bool,
|
||||
silo_bool = silo_bool,
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Common = require 'maps.pirates.common'
|
||||
@ -336,7 +338,7 @@ function Public.toggle_window(player)
|
||||
flow3.style.minimal_width = 95
|
||||
flow3.style.font = 'default-bold'
|
||||
flow3.style.font_color = {r=0.10, g=0.10, b=0.10}
|
||||
flow3.tooltip = {'pirates.gui_crew_window_captains_actions_tax_tooltip'}
|
||||
flow3.tooltip = {'pirates.gui_crew_window_captains_actions_tax_tooltip', Common.coin_tax_percentage}
|
||||
|
||||
|
||||
flow2 = flow.add({
|
||||
@ -574,7 +576,7 @@ function Public.click(event)
|
||||
end
|
||||
|
||||
if string.sub(eventname, 1, 18) and string.sub(eventname, 1, 18) == 'difficulty_option_' then
|
||||
Crew.difficulty_vote(player.index, string.sub(eventname, 19, -1))
|
||||
Crew.difficulty_vote(player.index, tonumber(string.sub(eventname, 19, -1)))
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Common = require 'maps.pirates.common'
|
||||
local Balance = require 'maps.pirates.balance'
|
||||
@ -79,7 +81,7 @@ function Public.full_update(player)
|
||||
|
||||
local types = {'leagues', 'kraken', 'time', 'silo', 'nests', 'sandwurms'}
|
||||
|
||||
if memory.boat and memory.boat.state and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
if memory.boat and memory.boat.state and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
evolution_leagues = evo - (memory.kraken_evo or 0)
|
||||
local krakens = false
|
||||
if memory.active_sea_enemies and memory.active_sea_enemies.krakens then
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -154,7 +155,7 @@ local function create_gui(player)
|
||||
})
|
||||
flow3.style.font = 'default-large-semibold'
|
||||
flow3.style.font_color = GuiCommon.bold_font_color
|
||||
flow3.caption = 'Fuel:'
|
||||
flow3.caption = {'pirates.gui_fuel_1'}
|
||||
|
||||
flow3 = flow2.add({
|
||||
name = 'fuel_label_1',
|
||||
@ -516,7 +517,7 @@ function Public.process_etaframe_update(player, flow1, bools)
|
||||
|
||||
local flow2
|
||||
|
||||
if bools.cost_bool or bools.atsea_loading_bool or bools.eta_bool or bools.retreating_bool or bools.leave_anytime_bool then
|
||||
if bools.cost_bool or bools.atsea_loading_bool or bools.atsea_waiting_bool or bools.eta_bool or bools.retreating_bool or bools.leave_anytime_bool then
|
||||
flow1.visible = true
|
||||
local tooltip = ''
|
||||
|
||||
@ -563,6 +564,15 @@ function Public.process_etaframe_update(player, flow1, bools)
|
||||
|
||||
flow2.etaframe_label_1.caption = {'pirates.gui_etaframe_arriving_in'}
|
||||
flow2.etaframe_label_2.caption = Utils.standard_string_form_of_time_in_seconds(eta_ticks / 60)
|
||||
|
||||
elseif bools.atsea_waiting_bool then
|
||||
flow2.etaframe_label_1.visible = true
|
||||
flow2.etaframe_label_2.visible = false
|
||||
|
||||
tooltip = {'pirates.atsea_waiting_tooltip'}
|
||||
|
||||
flow2.etaframe_label_1.caption = {'pirates.gui_etaframe_atsea_waiting'}
|
||||
|
||||
elseif bools.leave_anytime_bool then
|
||||
flow2.etaframe_label_1.visible = true
|
||||
flow2.etaframe_label_2.visible = true
|
||||
@ -658,7 +668,7 @@ function Public.process_etaframe_update(player, flow1, bools)
|
||||
flow1.etaframe_piratebutton.tooltip = tooltip
|
||||
flow2.tooltip = tooltip
|
||||
|
||||
if bools.captain_bool and (not bools.retreating_bool) and (bools.leave_anytime_bool or bools.eta_bool or (bools.cost_bool and (not bools.atsea_loading_bool))) then
|
||||
if bools.captain_bool and (not bools.retreating_bool) and (bools.leave_anytime_bool or bools.atsea_waiting_bool or bools.eta_bool or (bools.cost_bool and (not bools.atsea_loading_bool))) then
|
||||
flow1.etaframe_piratebutton.mouse_button_filter = {'left'}
|
||||
if memory.undock_shortcut_are_you_sure_data and memory.undock_shortcut_are_you_sure_data[player.index] and memory.undock_shortcut_are_you_sure_data[player.index] > game.tick - 60 * 4 then
|
||||
flow2.etaframe_label_1.visible = true
|
||||
@ -937,7 +947,7 @@ function Public.update_gui(player)
|
||||
|
||||
flow2.fuel_label_1.caption = Utils.bignumber_abbrevform(memory.stored_fuel or 0) .. '[item=coal]'
|
||||
flow2.fuel_label_2.caption = Utils.negative_rate_abbrevform(memory.fuel_depletion_rate_memoized or 0)
|
||||
local color_scale = Math.max(Math.min((- (memory.fuel_depletion_rate_memoized or 0))/30, 1),0)
|
||||
local color_scale = Math.clamp(0, 1, (- (memory.fuel_depletion_rate_memoized or 0))/30)
|
||||
flow2.fuel_label_2.style.font_color = {
|
||||
r = GuiCommon.fuel_color_1.r * (1-color_scale) + GuiCommon.fuel_color_2.r * color_scale,
|
||||
g = GuiCommon.fuel_color_1.g * (1-color_scale) + GuiCommon.fuel_color_2.g * color_scale,
|
||||
@ -1069,7 +1079,7 @@ function Public.update_gui(player)
|
||||
|
||||
if flow1 then
|
||||
-- if not bools.eta_bool and not bools.retreating_bool and not bools.quest_bool and not bools.silo_bool and not bools.atsea_loading_bool and not bools.leave_anytime_bool and not bools.cost_bool and not bools.approaching_dock_bool and not bools.leaving_dock_bool then
|
||||
if not bools.eta_bool and not bools.retreating_bool and not bools.quest_bool and not bools.silo_bool and not bools.atsea_loading_bool and not bools.leave_anytime_bool and not bools.cost_bool and not bools.approaching_dock_bool and not bools.leaving_dock_bool and not bools.atsea_sailing_bool then
|
||||
if not (bools.eta_bool or bools.retreating_bool or bools.quest_bool or bools.silo_bool or bools.atsea_loading_bool or bools.leave_anytime_bool or bools.cost_bool or bools.approaching_dock_bool or bools.leaving_dock_bool or bools.atsea_sailing_bool or bools.atsea_waiting_bool) then
|
||||
flow1.visible = true
|
||||
else
|
||||
flow1.visible = false
|
||||
@ -1080,7 +1090,7 @@ function Public.update_gui(player)
|
||||
flow1 = pirates_flow.minimap_piratebutton_frame
|
||||
|
||||
if flow1 then
|
||||
if bools.in_hold_bool then
|
||||
if bools.in_hold_bool or bools.in_cabin_bool then
|
||||
flow1.visible = true
|
||||
else
|
||||
flow1.visible = false
|
||||
@ -1127,7 +1137,7 @@ function Public.update_gui(player)
|
||||
flow1.style.minimal_height = 384
|
||||
flow1.style.minimal_width = 384
|
||||
flow1.position = {x=memory.overworldx,y=memory.overworldy}
|
||||
elseif bools.in_cabin_bool or bools.in_crowsnest_bool then
|
||||
elseif bools.in_crowsnest_bool then
|
||||
flow1.visible = true
|
||||
flow1.surface_index = game.surfaces[memory.boat.surface_name].index
|
||||
flow1.zoom = 0.09
|
||||
@ -1158,19 +1168,27 @@ local function on_gui_click(event)
|
||||
Memory.set_working_id(crew_id)
|
||||
local memory = Memory.get_crew_memory()
|
||||
|
||||
if event.element.name and event.element.name == 'etaframe_piratebutton' and (memory.boat.state == Boats.enum_state.DOCKED or memory.boat.state == Boats.enum_state.LANDED) then
|
||||
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
|
||||
if (not memory.undock_shortcut_are_you_sure_data) then memory.undock_shortcut_are_you_sure_data = {} end
|
||||
if memory.undock_shortcut_are_you_sure_data[player.index] and memory.undock_shortcut_are_you_sure_data[player.index] > game.tick - 60 * 4 then
|
||||
if memory.boat.state == Boats.enum_state.DOCKED then
|
||||
Progression.undock_from_dock(true)
|
||||
elseif memory.boat.state == Boats.enum_state.LANDED then
|
||||
Progression.try_retreat_from_island(player, true)
|
||||
if event.element.name and event.element.name == 'etaframe_piratebutton' then
|
||||
if (memory.boat.state == Boats.enum_state.DOCKED or memory.boat.state == Boats.enum_state.LANDED) then
|
||||
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
|
||||
if (not memory.undock_shortcut_are_you_sure_data) then memory.undock_shortcut_are_you_sure_data = {} end
|
||||
if memory.undock_shortcut_are_you_sure_data[player.index] and memory.undock_shortcut_are_you_sure_data[player.index] > game.tick - 60 * 4 then
|
||||
if memory.boat.state == Boats.enum_state.DOCKED then
|
||||
Progression.undock_from_dock(true)
|
||||
elseif memory.boat.state == Boats.enum_state.LANDED then
|
||||
Progression.try_retreat_from_island(player, true)
|
||||
end
|
||||
else
|
||||
memory.undock_shortcut_are_you_sure_data[player.index] = game.tick
|
||||
end
|
||||
else
|
||||
memory.undock_shortcut_are_you_sure_data[player.index] = game.tick
|
||||
end
|
||||
|
||||
elseif memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL then
|
||||
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
|
||||
Progression.at_sea_begin_to_set_sail()
|
||||
end
|
||||
end
|
||||
|
||||
elseif string.sub(event.element.name, -13, -1) and string.sub(event.element.name, -13, -1) == '_piratebutton' then
|
||||
local name = string.sub(event.element.name, 1, -14)
|
||||
if Public[name] then
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
@ -226,7 +228,7 @@ function Public.full_update(player)
|
||||
elseif flow2.selected_tab_index == 2 then
|
||||
flow2.style.height = 520
|
||||
elseif flow2.selected_tab_index == 3 then
|
||||
flow2.style.height = 620
|
||||
flow2.style.height = 580
|
||||
elseif flow2.selected_tab_index == 4 then
|
||||
flow2.style.height = 360
|
||||
end
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Common = require 'maps.pirates.common'
|
||||
@ -201,8 +203,8 @@ function Public.click(event)
|
||||
elseif size == 440 then
|
||||
size = 560
|
||||
elseif size == 560 then
|
||||
size = 700
|
||||
elseif size == 700 then
|
||||
size = 660
|
||||
elseif size == 660 then
|
||||
size = 280
|
||||
else
|
||||
size = 340
|
||||
@ -227,14 +229,14 @@ local function on_player_changed_surface(event)
|
||||
|
||||
local window = player.gui.screen[window_name .. '_piratewindow']
|
||||
|
||||
local from_hold_bool = string.sub(game.surfaces[event.surface_index].name, 9, 12) == 'Hold'
|
||||
local to_hold_bool = string.sub(player.surface.name, 9, 12) == 'Hold'
|
||||
local from_hold_or_cabin_bool = string.sub(game.surfaces[event.surface_index].name, 9, 12) == 'Hold' or string.sub(game.surfaces[event.surface_index].name, 9, 13) == 'Cabin'
|
||||
local to_hold_or_cabin_bool = string.sub(player.surface.name, 9, 12) == 'Hold' or string.sub(player.surface.name, 9, 13) == 'Cabin'
|
||||
|
||||
if from_hold_bool and (not to_hold_bool) then
|
||||
if from_hold_or_cabin_bool and (not to_hold_or_cabin_bool) then
|
||||
if window then
|
||||
Public.toggle_window(player)
|
||||
end
|
||||
elseif to_hold_bool and (not from_hold_bool) then
|
||||
elseif to_hold_or_cabin_bool and (not from_hold_or_cabin_bool) then
|
||||
local global_memory = Memory.get_global_memory()
|
||||
local gui_memory = global_memory.player_gui_memories[player.index]
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Common = require 'maps.pirates.common'
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Common = require 'maps.pirates.common'
|
||||
@ -499,7 +500,7 @@ function Public.full_update(player)
|
||||
elseif mem.crewplayerindices then
|
||||
count = #mem.crewplayerindices
|
||||
end
|
||||
wrappedmemories[#wrappedmemories + 1] = {'pirates.run_displayform', mem.id, mem.name .. ', ' .. CoreData.difficulty_options[mem.difficulty_option].text .. ', [item=light-armor]' .. count .. CoreData.capacity_options[mem.capacity_option].text2 .. ', [item=rail] ' .. (mem.overworldx or 0)}
|
||||
wrappedmemories[#wrappedmemories + 1] = {'pirates.run_displayform', mem.id, {'', mem.name .. ', ', CoreData.difficulty_options[mem.difficulty_option].text, ', [item=light-armor]' .. count .. CoreData.capacity_options[mem.capacity_option].text2 .. ', [item=rail] ' .. (mem.overworldx or 0)}}
|
||||
-- wrappedmemories[#wrappedmemories + 1] = {'pirates.run_displayform', mem.id, mem.name, Utils.spritepath_to_richtext(CoreData.difficulty_options[mem.difficulty_option].icon), count, CoreData.capacity_options[mem.capacity_option].text2, ' [item=rail] ', mem.overworldx or 0}
|
||||
end
|
||||
GuiCommon.update_listbox(flow.ongoing_runs.body.ongoing_runs_listbox, wrappedmemories)
|
||||
@ -586,7 +587,7 @@ function Public.click(event)
|
||||
-- local difficulty_option = flow.proposals.body.proposal_maker.body.options.difficulty.difficulty.slider.slider_value
|
||||
-- local mode_option = flow.proposals.body.proposal_maker.body.options.mode.mode.switch.switch_state
|
||||
|
||||
if (not proposal_name) or (proposal_name == '') then proposal_name = 'NoName' end
|
||||
if (not proposal_name) or (proposal_name == '') then proposal_name = {'pirates.default_crew_name'} end
|
||||
|
||||
-- make name unique
|
||||
-- local unique, changed = true, false
|
||||
|
@ -1,4 +1,7 @@
|
||||
-- Adapted from mountain_fortress_v3 highscores.lua
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- == This code is mostly a fork of the file from Mountain Fortress
|
||||
|
||||
local Event = require 'utils.event'
|
||||
local Global = require 'utils.global'
|
||||
@ -22,8 +25,6 @@ local score_key_debug = 'pirate_ship_scores_debug'
|
||||
local score_key_modded = 'pirate_ship_scores_modded'
|
||||
|
||||
|
||||
-- == This code is mostly a fork of the file from Mountain Fortress
|
||||
|
||||
|
||||
local Public = {}
|
||||
local insert = table.insert
|
||||
@ -496,7 +497,7 @@ local function score_gui(data)
|
||||
local n = entry.completion_time > 0 and Utils.time_mediumform(entry.completion_time or 0) or 'N/A'
|
||||
local l = entry.leagues_travelled > 0 and entry.leagues_travelled or '?'
|
||||
local v = entry.version and entry.version or '?'
|
||||
local d = entry.difficulty > 0 and CoreData.get_difficulty_name_from_value(entry.difficulty) or '?'
|
||||
local d = entry.difficulty > 0 and CoreData.difficulty_options[CoreData.get_difficulty_option_from_value(entry.difficulty)].text or '?'
|
||||
local c = entry.max_players > 0 and entry.max_players or '?'
|
||||
local line = {
|
||||
{caption = entry.name, color = special_color},
|
||||
@ -504,7 +505,7 @@ local function score_gui(data)
|
||||
{caption = tostring(n)},
|
||||
{caption = tostring(l)},
|
||||
{caption = tostring(v)},
|
||||
{caption = tostring(d)},
|
||||
{caption = d},
|
||||
{caption = tostring(c)},
|
||||
}
|
||||
local default_color = {r = 0.9, g = 0.9, b = 0.9}
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
-- by mewmew
|
||||
-- modified by Gerkiz
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Math = require 'maps.pirates.math'
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
@ -212,7 +214,7 @@ function Public.wooden_chest_loot()
|
||||
local num = 1
|
||||
|
||||
return Public.chest_loot(num,
|
||||
Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * Common.game_completion_progress())) --enforce 0 to 1
|
||||
Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * Common.game_completion_progress())
|
||||
)
|
||||
end
|
||||
|
||||
@ -220,7 +222,7 @@ function Public.iron_chest_loot()
|
||||
local num = 2
|
||||
|
||||
local loot = Public.chest_loot(num,
|
||||
Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * (5/100 + Common.game_completion_progress())) ) --enforce 0 to 1
|
||||
Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * (5/100 + Common.game_completion_progress()))
|
||||
) --reward higher difficulties with better loot
|
||||
loot[#loot + 1] = {name = 'coin', count = Math.random(500,1500)}
|
||||
|
||||
@ -231,7 +233,7 @@ function Public.covered_wooden_chest_loot()
|
||||
local num = 2
|
||||
|
||||
local loot = Public.chest_loot(num,
|
||||
Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * (18/100 + Common.game_completion_progress()) )) --enforce 0 to 1
|
||||
Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * (18/100 + Common.game_completion_progress()))
|
||||
) --reward higher difficulties with better loot
|
||||
|
||||
return loot
|
||||
@ -248,7 +250,7 @@ end
|
||||
function Public.covered_wooden_chest_loot_2()
|
||||
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.chest_loot_data_raw), 2,
|
||||
Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * (10/100 + Common.game_completion_progress()))))
|
||||
Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * (10/100 + Common.game_completion_progress())))
|
||||
end
|
||||
|
||||
function Public.stone_furnace_loot()
|
||||
@ -263,7 +265,7 @@ function Public.storage_tank_fluid_loot(force_type)
|
||||
ret = {name = 'crude-oil', amount = Math.random(3000, 12500)}
|
||||
elseif force_type == 'petroleum-gas' then
|
||||
ret = {name = 'petroleum-gas', amount = Math.random(1500, 7500)}
|
||||
elseif rng < 6 then
|
||||
elseif rng <= 6 then
|
||||
ret = {name = 'crude-oil', amount = Math.random(1500, 4500)}
|
||||
elseif rng == 7 then
|
||||
ret = {name = 'light-oil', amount = Math.random(1500, 3500)}
|
||||
@ -321,7 +323,7 @@ function Public.maze_camp_loot()
|
||||
if Math.random(10) <= 7 then
|
||||
return {Public.random_plates()}
|
||||
else
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.chest_loot_data_raw), 1, Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * (15/100 + Common.game_completion_progress()))))
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.chest_loot_data_raw), 1, Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * (15/100 + Common.game_completion_progress())))
|
||||
end
|
||||
end
|
||||
|
||||
@ -337,7 +339,7 @@ Public.maze_lab_loot_data_raw = {
|
||||
}
|
||||
|
||||
function Public.maze_lab_loot()
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.maze_lab_loot_data_raw), 1, Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * (Common.game_completion_progress()))))
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.maze_lab_loot_data_raw), 1, Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * (Common.game_completion_progress())))
|
||||
end
|
||||
|
||||
Public.maze_treasure_data_raw = {
|
||||
@ -407,7 +409,7 @@ function Public.maze_treasure_loot()
|
||||
if Math.random(5) == 1 then
|
||||
return {Public.random_plates(8)}
|
||||
else
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.maze_treasure_data_raw), 1, Math.max(0,Math.min(1, Math.sloped(Common.difficulty_scale(),1/2) * (Common.game_completion_progress()))))
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.maze_treasure_data_raw), 1, Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * (Common.game_completion_progress())))
|
||||
end
|
||||
end
|
||||
|
||||
@ -456,7 +458,7 @@ Public.dredger_loot_raw = {
|
||||
}
|
||||
|
||||
function Public.dredger_loot()
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.dredger_loot_raw), 1, Math.max(0,Math.min(1, Common.game_completion_progress())))
|
||||
return Common.raffle_from_processed_loot_data(Common.processed_loot_data(Public.dredger_loot_raw), 1, Math.clamp(0, 1, Common.game_completion_progress()))
|
||||
end
|
||||
|
||||
return Public
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
--[[
|
||||
Pirate Ship is maintained by thesixthroc and hosted by Comfy.
|
||||
@ -129,10 +130,6 @@ local function on_init()
|
||||
-- Delay.global_add(Delay.global_enum.PLACE_LOBBY_JETTY_AND_BOATS)
|
||||
Task.set_timeout_in_ticks(2, jetty_delayed, {})
|
||||
|
||||
if _DEBUG then
|
||||
game.print('Debug mode on. Use /go to get started (sometimes crashes)')
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local event = require 'utils.event'
|
||||
@ -147,55 +144,114 @@ local function crew_tick()
|
||||
local destination = Common.current_destination()
|
||||
local tick = game.tick
|
||||
|
||||
PiratesApiOnTick.boat_movement_tick(5) --arguments are tick intervals
|
||||
-- PiratesApiOnTick.parrot_tick(5)
|
||||
|
||||
if tick % 10 == 0 then
|
||||
PiratesApiOnTick.prevent_disembark(10)
|
||||
PiratesApiOnTick.prevent_unbarreling_off_ship(10)
|
||||
end
|
||||
|
||||
if memory.age and memory.overworldx and memory.overworldx > 0 then
|
||||
memory.age = memory.age + 5
|
||||
end
|
||||
if memory.real_age then
|
||||
memory.real_age = memory.real_age + 5
|
||||
end
|
||||
if tick % 60 == 0 then
|
||||
PiratesApiOnTick.captain_warn_afk(60)
|
||||
end
|
||||
|
||||
if tick % Common.loading_interval == 0 then
|
||||
PiratesApiOnTick.loading_update(Common.loading_interval)
|
||||
end
|
||||
PiratesApiOnTick.boat_movement_tick(5) --arguments are tick intervals
|
||||
-- PiratesApiOnTick.parrot_tick(5)
|
||||
|
||||
if tick % 5 == 0 then
|
||||
PiratesApiOnTick.quest_progress_tick(5)
|
||||
end
|
||||
|
||||
if tick % 5 == 0 then
|
||||
PiratesApiOnTick.strobe_player_colors(5)
|
||||
end
|
||||
PiratesApiOnTick.quest_progress_tick(5)
|
||||
PiratesApiOnTick.strobe_player_colors(5)
|
||||
|
||||
if tick % 10 == 0 then
|
||||
PiratesApiOnTick.prevent_disembark(10)
|
||||
PiratesApiOnTick.prevent_unbarreling_off_ship(10)
|
||||
PiratesApiOnTick.shop_ratelimit_tick(10)
|
||||
end
|
||||
|
||||
if tick % 30 == 0 then
|
||||
PiratesApiOnTick.silo_update(30)
|
||||
end
|
||||
|
||||
if tick % 60 == 0 then
|
||||
PiratesApiOnTick.ship_deplete_fuel(60)
|
||||
end
|
||||
|
||||
if tick % 10 == 0 then
|
||||
PiratesApiOnTick.pick_up_tick(10)
|
||||
end
|
||||
QuestStructures.tick_quest_structure_entry_price_check(10)
|
||||
PiratesApiOnTick.update_boat_stored_resources(10)
|
||||
|
||||
if tick % 60 == 0 then
|
||||
if memory.boat and memory.boat.state == Structures.Boats.enum_state.ATSEA_SAILING then
|
||||
PiratesApiOnTick.crowsnest_natural_move(120)
|
||||
if tick % 30 == 0 then
|
||||
PiratesApiOnTick.silo_update(30)
|
||||
PiratesApiOnTick.buried_treasure_check(30)
|
||||
ClassPiratesApiOnTick.update_character_properties(30)
|
||||
ClassPiratesApiOnTick.class_update_auxiliary_data(30)
|
||||
ClassPiratesApiOnTick.class_renderings(30)
|
||||
|
||||
if tick % 60 == 0 then
|
||||
PiratesApiOnTick.captain_warn_afk(60)
|
||||
PiratesApiOnTick.ship_deplete_fuel(60)
|
||||
if memory.boat and memory.boat.state == Structures.Boats.enum_state.ATSEA_SAILING then
|
||||
PiratesApiOnTick.crowsnest_natural_move(60)
|
||||
end
|
||||
PiratesApiOnTick.slower_boat_tick(60)
|
||||
PiratesApiOnTick.raft_raids(60)
|
||||
PiratesApiOnTick.place_cached_structures(60)
|
||||
|
||||
|
||||
if destination.dynamic_data.timer then
|
||||
destination.dynamic_data.timer = destination.dynamic_data.timer + 1
|
||||
end
|
||||
|
||||
if memory.captain_acceptance_timer then
|
||||
memory.captain_acceptance_timer = memory.captain_acceptance_timer - 1
|
||||
if memory.captain_acceptance_timer == 0 then
|
||||
Roles.assign_captain_based_on_priorities()
|
||||
end
|
||||
end
|
||||
|
||||
if memory.captain_accrued_time_data and memory.playerindex_captain and memory.overworldx and memory.overworldx > 0 and memory.overworldx < CoreData.victory_x then --only count time in the 'main game'
|
||||
local player = game.players[memory.playerindex_captain]
|
||||
if player and player.name then
|
||||
if (not memory.captain_accrued_time_data[player.name]) then memory.captain_accrued_time_data[player.name] = 0 end
|
||||
memory.captain_accrued_time_data[player.name] = memory.captain_accrued_time_data[player.name] + 1
|
||||
end
|
||||
end
|
||||
|
||||
if destination.dynamic_data.time_remaining and destination.dynamic_data.time_remaining > 0 then
|
||||
destination.dynamic_data.time_remaining = destination.dynamic_data.time_remaining - 1
|
||||
|
||||
if destination.dynamic_data.time_remaining == 0 then
|
||||
if memory.boat and memory.boat.surface_name then
|
||||
local surface_name_decoded = Surfaces.SurfacesCommon.decode_surface_name(memory.boat.surface_name)
|
||||
local type = surface_name_decoded.type
|
||||
if type == Surfaces.enum.ISLAND then
|
||||
Progression.retreat_from_island(false)
|
||||
elseif type == Surfaces.enum.DOCK then
|
||||
Progression.undock_from_dock(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if tick % 120 == 0 then
|
||||
Ai.Tick_actions(120)
|
||||
|
||||
if tick % 240 == 0 then
|
||||
PiratesApiOnTick.check_all_spawners_dead(240)
|
||||
if memory.max_players_recorded then
|
||||
local count_now = #Common.crew_get_crew_members()
|
||||
if count_now and count_now > memory.max_players_recorded then
|
||||
memory.max_players_recorded = count_now
|
||||
end
|
||||
end
|
||||
PiratesApiOnTick.Kraken_Destroyed_Backup_check(240)
|
||||
PiratesApiOnTick.LOS_tick(240)
|
||||
end
|
||||
end
|
||||
|
||||
if tick % 300 == 0 then
|
||||
PiratesApiOnTick.periodic_free_resources(300)
|
||||
PiratesApiOnTick.update_recentcrewmember_list(300)
|
||||
|
||||
if tick % 1800 == 0 then
|
||||
PiratesApiOnTick.transfer_pollution(1800)
|
||||
|
||||
if tick % 3600 == 0 then
|
||||
PiratesApiOnTick.prune_offline_characters_list(3600)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if tick % 420 == 0 then
|
||||
ClassPiratesApiOnTick.class_rewards_tick(420)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -211,123 +267,10 @@ local function crew_tick()
|
||||
end
|
||||
end
|
||||
|
||||
if tick % 60 == 0 then
|
||||
PiratesApiOnTick.slower_boat_tick(60)
|
||||
if tick % Common.loading_interval == 0 then
|
||||
PiratesApiOnTick.loading_update(Common.loading_interval)
|
||||
end
|
||||
|
||||
if tick % 10 == 0 then
|
||||
PiratesApiOnTick.update_boat_stored_resources(10)
|
||||
end
|
||||
|
||||
if tick % 10 == 0 then
|
||||
QuestStructures.tick_quest_structure_entry_price_check(10)
|
||||
end
|
||||
|
||||
if tick % 30 == 0 then
|
||||
PiratesApiOnTick.buried_treasure_check(30)
|
||||
end
|
||||
|
||||
if tick % 60 == 0 then
|
||||
PiratesApiOnTick.raft_raids(60)
|
||||
end
|
||||
|
||||
if tick % 60 == 0 then
|
||||
PiratesApiOnTick.place_cached_structures(60)
|
||||
end
|
||||
|
||||
if tick % 240 == 0 then
|
||||
PiratesApiOnTick.check_all_spawners_dead(240)
|
||||
end
|
||||
|
||||
if tick % 60 == 0 then
|
||||
|
||||
if destination.dynamic_data.timer then
|
||||
destination.dynamic_data.timer = destination.dynamic_data.timer + 1
|
||||
end
|
||||
|
||||
if memory.captain_acceptance_timer then
|
||||
memory.captain_acceptance_timer = memory.captain_acceptance_timer - 1
|
||||
if memory.captain_acceptance_timer == 0 then
|
||||
Roles.assign_captain_based_on_priorities()
|
||||
end
|
||||
end
|
||||
|
||||
if memory.captain_accrued_time_data and memory.playerindex_captain and memory.overworldx and memory.overworldx > 0 and memory.overworldx < CoreData.victory_x then --only count time in the 'main game'
|
||||
local player = game.players[memory.playerindex_captain]
|
||||
if player and player.name then
|
||||
if (not memory.captain_accrued_time_data[player.name]) then memory.captain_accrued_time_data[player.name] = 0 end
|
||||
memory.captain_accrued_time_data[player.name] = memory.captain_accrued_time_data[player.name] + 1
|
||||
end
|
||||
end
|
||||
|
||||
if destination.dynamic_data.time_remaining and destination.dynamic_data.time_remaining > 0 then
|
||||
destination.dynamic_data.time_remaining = destination.dynamic_data.time_remaining - 1
|
||||
|
||||
if destination.dynamic_data.time_remaining == 0 then
|
||||
if memory.boat and memory.boat.surface_name then
|
||||
local surface_name_decoded = Surfaces.SurfacesCommon.decode_surface_name(memory.boat.surface_name)
|
||||
local type = surface_name_decoded.type
|
||||
if type == Surfaces.enum.ISLAND then
|
||||
Progression.retreat_from_island(false)
|
||||
elseif type == Surfaces.enum.DOCK then
|
||||
Progression.undock_from_dock(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if tick % 240 == 0 then
|
||||
if memory.max_players_recorded then
|
||||
local count_now = #Common.crew_get_crew_members()
|
||||
if count_now and count_now > memory.max_players_recorded then
|
||||
memory.max_players_recorded = count_now
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if tick % 240 == 0 then
|
||||
PiratesApiOnTick.Kraken_Destroyed_Backup_check(240)
|
||||
end
|
||||
|
||||
if tick % 300 == 0 then
|
||||
PiratesApiOnTick.periodic_free_resources(300)
|
||||
end
|
||||
|
||||
if tick % 30 == 0 then
|
||||
ClassPiratesApiOnTick.update_character_properties(30)
|
||||
ClassPiratesApiOnTick.class_update_auxiliary_data(30)
|
||||
ClassPiratesApiOnTick.class_renderings(30)
|
||||
end
|
||||
|
||||
if tick % 120 == 0 then
|
||||
Ai.Tick_actions(120)
|
||||
end
|
||||
|
||||
if tick % 240 == 0 then
|
||||
PiratesApiOnTick.LOS_tick(240)
|
||||
end
|
||||
|
||||
if tick % (60 * Balance.class_reward_tick_rate_in_seconds) == 0 then
|
||||
ClassPiratesApiOnTick.class_rewards_tick(60 * Balance.class_reward_tick_rate_in_seconds)
|
||||
end
|
||||
|
||||
if tick % 300 == 0 then
|
||||
PiratesApiOnTick.update_recentcrewmember_list(300)
|
||||
end
|
||||
|
||||
if tick % 1800 == 0 then
|
||||
PiratesApiOnTick.transfer_pollution(1800)
|
||||
end
|
||||
|
||||
if tick % 3600 == 0 then
|
||||
PiratesApiOnTick.prune_offline_characters_list(3600)
|
||||
end
|
||||
|
||||
-- if tick % (60*60*60) == 0 then
|
||||
-- Parrot.parrot_say_tip()
|
||||
-- end
|
||||
|
||||
if memory.crew_disband_tick then
|
||||
if memory.crew_disband_tick < tick then
|
||||
memory.crew_disband_tick = nil
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
@ -20,7 +22,6 @@ Public.round = math.round
|
||||
|
||||
|
||||
|
||||
|
||||
--- SCALING CURVES ---
|
||||
|
||||
function Public.sloped(x, slope)
|
||||
@ -39,6 +40,12 @@ end
|
||||
-- exponent -1.2 -> {5.28, 2.30, 1.41, 1.00, 0.61, 0.27, 0.14}
|
||||
|
||||
|
||||
|
||||
|
||||
function Public.clamp(min, max, number)
|
||||
return Public.min(max, Public.max(min, number))
|
||||
end
|
||||
|
||||
function Public.sgn(number)
|
||||
return number > 0 and 1 or (number == 0 and 0 or -1)
|
||||
end
|
||||
@ -48,9 +55,9 @@ function Public.length(vec)
|
||||
end
|
||||
|
||||
function Public.slopefromto(x, from, to)
|
||||
return Public.max(0,Public.min(1,
|
||||
(x - from) / (to - from)
|
||||
))
|
||||
return Public.clamp(0, 1,
|
||||
(x - from) / (to - from)
|
||||
)
|
||||
end
|
||||
|
||||
function Public.distance(vec1, vec2)
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Global = require 'utils.global'
|
||||
-- local CoreData = require 'maps.pirates.coredata'
|
||||
|
@ -1,6 +1,7 @@
|
||||
|
||||
local Public = {}
|
||||
|
||||
-- no longer using the below code
|
||||
Public.encoding = [[!#$%&'()*+'-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ/^_`abcdefghijklmnopqrstuvwxyz{}|~]]
|
||||
Public.encoding_length = 91
|
||||
Public.enc = {}
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
-- local Balance = require 'maps.pirates.balance'
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Public = {}
|
||||
|
||||
@ -423,14 +424,14 @@ function Public.generate_overworld_destination(p)
|
||||
local x = Crowsnest.platformrightmostedge + dest.overworld_position.x
|
||||
local y = dest.overworld_position.y
|
||||
if dest.static_params.upgrade_for_sale then
|
||||
local display_form = Upgrades.crowsnest_display_form[dest.static_params.upgrade_for_sale]
|
||||
local display_form = {'', Upgrades.crowsnest_display_form[dest.static_params.upgrade_for_sale], ':'}
|
||||
|
||||
if not dest.dynamic_data.crowsnest_renderings then
|
||||
dest.dynamic_data.crowsnest_renderings = {}
|
||||
end
|
||||
|
||||
dest.dynamic_data.crowsnest_renderings.base_text_rendering = rendering.draw_text{
|
||||
text = display_form .. ':',
|
||||
text = display_form,
|
||||
surface = surface,
|
||||
target = {x = x + 5.5, y = y + 2.5},
|
||||
color = CoreData.colors.renderingtext_green,
|
||||
@ -538,7 +539,7 @@ function Public.ensure_lane_generated_up_to(lane_yvalue, x)
|
||||
for _, dest in pairs(memory.destinations) do
|
||||
if dest.static_params.upgrade_for_sale and dest.dynamic_data.crowsnest_renderings then
|
||||
if rendering.is_valid(dest.dynamic_data.crowsnest_renderings.base_text_rendering) then
|
||||
rendering.set_text(dest.dynamic_data.crowsnest_renderings.base_text_rendering, Upgrades.crowsnest_display_form[dest.static_params.upgrade_for_sale] .. ':')
|
||||
rendering.set_text(dest.dynamic_data.crowsnest_renderings.base_text_rendering, {'', Upgrades.crowsnest_display_form[dest.static_params.upgrade_for_sale], ':'})
|
||||
end
|
||||
for rendering_name, r in pairs(dest.dynamic_data.crowsnest_renderings) do
|
||||
if type(r) == 'table' and r.text_rendering and rendering.is_valid(r.text_rendering) then
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Math = require 'maps.pirates.math'
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
@ -519,6 +521,43 @@ function Public.undock_from_dock(manual)
|
||||
end
|
||||
|
||||
|
||||
function Public.at_sea_begin_to_set_sail()
|
||||
local memory = Memory.get_crew_memory()
|
||||
local boat = memory.boat
|
||||
|
||||
boat.state = Boats.enum_state.ATSEA_SAILING
|
||||
|
||||
script.raise_event(CustomEvents.enum['update_crew_fuel_gui'], {})
|
||||
|
||||
Crew.summon_crew()
|
||||
|
||||
local force = memory.force
|
||||
if not (force and force.valid) then return end
|
||||
Common.notify_force(force, {'pirates.ship_set_off_to_next_island'})
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
local parrot_set_sail_advice =
|
||||
Token.register(
|
||||
function(data)
|
||||
local crew_id = data.crew_id
|
||||
Memory.set_working_id(crew_id)
|
||||
|
||||
local memory = Memory.get_crew_memory()
|
||||
if not (memory.id and memory.id > 0) then return end --check if crew disbanded
|
||||
if memory.game_lost then return end
|
||||
|
||||
if memory.boat and memory.boat.state and memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL then
|
||||
Common.parrot_speak(memory.force, {'pirates.parrot_set_sail_advice'})
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function Public.go_from_currentdestination_to_sea()
|
||||
local memory = Memory.get_crew_memory()
|
||||
@ -538,23 +577,25 @@ function Public.go_from_currentdestination_to_sea()
|
||||
|
||||
if memory.overworldx == 0 and memory.boat then
|
||||
|
||||
local difficulty_name = CoreData.get_difficulty_name_from_value(memory.difficulty)
|
||||
if difficulty_name == CoreData.difficulty_options[#CoreData.difficulty_options].text then
|
||||
local difficulty_name = CoreData.get_difficulty_option_informal_name_from_value(memory.difficulty)
|
||||
if difficulty_name == 'nightmare' then
|
||||
Boats.upgrade_chests(boat, 'steel-chest')
|
||||
Hold.upgrade_chests(1, 'steel-chest')
|
||||
Crowsnest.upgrade_chests('steel-chest')
|
||||
|
||||
Common.parrot_speak(memory.force, {'pirates.parrot_hard_praise'})
|
||||
elseif difficulty_name ~= CoreData.difficulty_options[1].text then
|
||||
elseif difficulty_name ~= 'easy' then
|
||||
Boats.upgrade_chests(boat, 'iron-chest')
|
||||
Hold.upgrade_chests(1, 'iron-chest')
|
||||
Crowsnest.upgrade_chests('iron-chest')
|
||||
|
||||
Common.parrot_speak(memory.force, {'pirates.parrot_normal_praise'})
|
||||
|
||||
Task.set_timeout_in_ticks(60 * 10, parrot_set_sail_advice, {crew_id = memory.id})
|
||||
end
|
||||
end
|
||||
|
||||
memory.boat.state = Boats.enum_state.ATSEA_SAILING
|
||||
memory.boat.state = Boats.enum_state.ATSEA_WAITING_TO_SAIL
|
||||
memory.boat.speed = 0
|
||||
memory.boat.position = new_boatposition
|
||||
memory.boat.surface_name = seaname
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
@ -210,10 +211,10 @@ function Public.initialise_worms_quest()
|
||||
if Common.difficulty_scale() < 1 then needed = Math.max(1, needed - 3) end
|
||||
if Common.difficulty_scale() > 1 then needed = Math.max(1, needed + 2) end
|
||||
|
||||
local difficulty_name = CoreData.get_difficulty_name_from_value(Common.difficulty_scale())
|
||||
if difficulty_name == CoreData.difficulty_options[1].text then
|
||||
local difficulty_name = CoreData.get_difficulty_option_informal_name_from_value(Common.difficulty_scale())
|
||||
if difficulty_name == 'easy' then
|
||||
needed = Math.max(1, needed - 3)
|
||||
elseif difficulty_name ~= CoreData.difficulty_options[2].text then
|
||||
elseif difficulty_name ~= 'normal' then
|
||||
needed = Math.max(1, needed + 2)
|
||||
end
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
||||
local Public = {}
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
-- data:extend(
|
||||
-- {
|
||||
-- {
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Balance = require 'maps.pirates.balance'
|
||||
local _inspect = require 'utils.inspect'.inspect
|
||||
@ -92,8 +94,8 @@ Public.class_unlocks = {
|
||||
|
||||
Public.class_purchase_requirement = {
|
||||
[enum.MASTER_ANGLER] = enum.FISHERMAN,
|
||||
-- [enum.WOOD_LORD] = enum.LUMBERJACK,
|
||||
-- [enum.CHIEF_EXCAVATOR] = enum.PROSPECTOR,
|
||||
[enum.WOOD_LORD] = enum.LUMBERJACK,
|
||||
[enum.CHIEF_EXCAVATOR] = enum.PROSPECTOR,
|
||||
[enum.HATAMOTO] = enum.SAMURAI,
|
||||
[enum.DREDGER] = enum.MASTER_ANGLER,
|
||||
}
|
||||
@ -110,10 +112,10 @@ function Public.initial_class_pool()
|
||||
enum.SAMURAI,
|
||||
-- enum.MERCHANT, --not interesting, breaks coin economy
|
||||
enum.BOATSWAIN,
|
||||
enum.PROSPECTOR,
|
||||
-- enum.PROSPECTOR, --lumberjack is just more fun
|
||||
enum.LUMBERJACK,
|
||||
enum.IRON_LEG,
|
||||
-- enum.SMOLDERING,
|
||||
-- enum.SMOLDERING, --tedious
|
||||
enum.GOURMET,
|
||||
}
|
||||
end
|
||||
@ -262,7 +264,7 @@ local function class_on_player_used_capsule(event)
|
||||
if multiplier > 0 then
|
||||
local timescale = 60*30 * Math.max((Balance.game_slowness_scale())^(2/3),0.8)
|
||||
if memory.gourmet_recency_tick then
|
||||
multiplier = multiplier * Math.max(0.2, Math.min(5, (1/5)^((memory.gourmet_recency_tick - game.tick)/(60*300))))
|
||||
multiplier = multiplier *Math.clamp(0.2, 5, (1/5)^((memory.gourmet_recency_tick - game.tick)/(60*300)))
|
||||
memory.gourmet_recency_tick = Math.max(memory.gourmet_recency_tick, game.tick - timescale*10) + timescale
|
||||
else
|
||||
multiplier = multiplier * 5
|
||||
@ -274,6 +276,24 @@ local function class_on_player_used_capsule(event)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function Public.lumberjack_bonus_items(give_table)
|
||||
local memory = Memory.get_crew_memory()
|
||||
|
||||
if Math.random(Public.every_nth_tree_gives_coins) == 1 then
|
||||
local a = 12
|
||||
give_table[#give_table + 1] = {name = 'coin', count = a}
|
||||
memory.playtesting_stats.coins_gained_by_trees_and_rocks = memory.playtesting_stats.coins_gained_by_trees_and_rocks + a
|
||||
elseif Math.random(2) == 1 then
|
||||
if Math.random(5) == 1 then
|
||||
give_table[#give_table + 1] = {name = 'copper-ore', count = 1}
|
||||
else
|
||||
give_table[#give_table + 1] = {name = 'iron-ore', count = 1}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local event = require 'utils.event'
|
||||
event.add(defines.events.on_player_used_capsule, class_on_player_used_capsule)
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Session = require 'utils.datastore.session_data'
|
||||
local Antigrief = require 'utils.antigrief'
|
||||
@ -421,7 +422,7 @@ function Public.captain_tax(captain_index)
|
||||
if inv and inv.valid then
|
||||
for _, i in pairs(items_to_req) do
|
||||
local amount = inv.get_item_count(i)
|
||||
if i == 'coin' then amount = Math.floor(amount/10) end
|
||||
if i == 'coin' then amount = Math.floor(amount/100*Common.coin_tax_percentage) end
|
||||
if amount and amount > 0 then
|
||||
inv.remove{name=i, count=amount}
|
||||
captain_inv.insert{name=i, count=amount}
|
||||
|
@ -36,7 +36,7 @@ function Public.class_update_auxiliary_data(tickinterval)
|
||||
local inv = player.character.get_inventory(defines.inventory.character_main)
|
||||
if inv and inv.valid then
|
||||
local count = inv.get_item_count('iron-ore')
|
||||
if count and count >= 3000 then
|
||||
if count and count >= Balance.iron_leg_iron_ore_required then
|
||||
check = true
|
||||
end
|
||||
end
|
||||
@ -208,7 +208,7 @@ function Public.update_character_properties(tickinterval)
|
||||
|
||||
local speed_boost = Balance.base_extra_character_speed
|
||||
if memory.speed_boost_characters and memory.speed_boost_characters[player_index] then
|
||||
speed_boost = speed_boost + 0.85
|
||||
speed_boost = speed_boost + Balance.respawn_speed_boost
|
||||
else
|
||||
if memory.classes_table and memory.classes_table[player_index] then
|
||||
local class = memory.classes_table[player_index]
|
||||
@ -282,11 +282,11 @@ function Public.class_rewards_tick(tickinterval)
|
||||
local hold_bool = surfacedata.type == Surfaces.enum.HOLD
|
||||
|
||||
if class == Classes.enum.DECKHAND and on_ship_bool and (not hold_bool) then
|
||||
Classes.class_ore_grant(player, 2)
|
||||
Classes.class_ore_grant(player, Balance.deckhand_ore_grant_multiplier)
|
||||
elseif class == Classes.enum.BOATSWAIN and hold_bool then
|
||||
Classes.class_ore_grant(player, 4)
|
||||
Classes.class_ore_grant(player, Balance.boatswain_ore_grant_multiplier)
|
||||
elseif class == Classes.enum.SHORESMAN and (not on_ship_bool) then
|
||||
Classes.class_ore_grant(player, 2)
|
||||
Classes.class_ore_grant(player, Balance.shoresman_ore_grant_multiplier)
|
||||
elseif class == Classes.enum.QUARTERMASTER then
|
||||
local nearby_players = #player.surface.find_entities_filtered{position = player.position, radius = Balance.quartermaster_range, name = 'character'}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
@ -46,11 +48,13 @@ Public.offers_default = {
|
||||
{price = {{'coin', 720}}, offer = {type = 'give-item', item = 'gate', count = 10}},
|
||||
{price = {{'coin', 120}}, offer = {type = 'give-item', item = 'storage-tank', count = 4}},
|
||||
{price = {{'coin', 240}}, offer = {type = 'give-item', item = 'big-electric-pole', count = 8}},
|
||||
{price = {{'coin', 240}}, offer = {type = 'give-item', item = 'steel-furnace', count = 4}},
|
||||
{price = {{'coin', 360}}, offer = {type = 'give-item', item = 'stack-inserter', count = 3}},
|
||||
{price = {{'coin', 900}}, offer = {type = 'give-item', item = 'piercing-shotgun-shell', count = 9}},
|
||||
{price = {{'coin', 960}}, offer = {type = 'give-item', item = 'flamethrower', count = 1}},
|
||||
{price = {{'coin', 1800}}, offer = {type = 'give-item', item = 'flamethrower-ammo', count = 5}},
|
||||
{price = {{'coin', 960}}, offer = {type = 'give-item', item = 'flamethrower', count = 1}},
|
||||
{price = {{'coin', 1800}}, offer = {type = 'give-item', item = 'flamethrower-ammo', count = 6}},
|
||||
{price = {{'coin', 1800}}, offer = {type = 'give-item', item = 'flamethrower-ammo', count = 6}},
|
||||
{price = {{'coin', 1800}}, offer = {type = 'give-item', item = 'flamethrower-ammo', count = 6}},
|
||||
{price = {{'coin', 1800}}, offer = {type = 'give-item', item = 'flying-robot-frame', count = 1}},
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
@ -183,7 +185,7 @@ function Public.create_dock_markets(surface, p)
|
||||
|
||||
-- new class offerings:
|
||||
if destination.static_params.class_for_sale then
|
||||
e.add_market_item{price={{'coin', Balance.class_cost()}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}}
|
||||
e.add_market_item{price={{'coin', Balance.class_cost(true)}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}}
|
||||
|
||||
-- destination.dynamic_data.market_class_offer_rendering = rendering.draw_text{
|
||||
-- text = 'Class available: ' .. Classes.display_form(destination.static_params.class_for_sale),
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Roles = require 'maps.pirates.roles.roles'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -25,12 +27,13 @@ Public[enum.RAFTLARGE] = require 'maps.pirates.structures.boats.raft_large.raft_
|
||||
Public[enum.MERCHANT] = require 'maps.pirates.structures.boats.merchant_1.merchant_1'
|
||||
Public.enum = enum
|
||||
local enum_state = {
|
||||
ATSEA_SAILING = 'at_sea',
|
||||
APPROACHING = 'approaching',
|
||||
LANDED = 'landed',
|
||||
RETREATING = 'retreating',
|
||||
LEAVING_DOCK = 'leaving',
|
||||
ATSEA_SAILING = 'at_sea',
|
||||
ATSEA_LOADING_MAP = 'waiting_for_load',
|
||||
ATSEA_WAITING_TO_SAIL = 'waiting_for_sail',
|
||||
DOCKED = 'docked',
|
||||
}
|
||||
Public.enum_state = enum_state
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Data = require 'maps.pirates.structures.boats.merchant_1.data'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Data = require 'maps.pirates.structures.boats.raft.data'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Data = require 'maps.pirates.structures.boats.raft_large.data'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Data = require 'maps.pirates.structures.boats.sloop.data'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
-- local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Data = require 'maps.pirates.structures.island_structures.mattisso.data'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Public = {}
|
||||
local CoreData = require 'maps.pirates.coredata'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Data = require 'maps.pirates.structures.island_structures.roc.data'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Public = {}
|
||||
|
||||
Public.step1 = {
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -93,7 +95,7 @@ function Public.create_step2_entities()
|
||||
end
|
||||
|
||||
if destination.static_params.class_for_sale then
|
||||
quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost()}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}}
|
||||
quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost(false)}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}}
|
||||
|
||||
-- destination.dynamic_data.market_class_offer_rendering = rendering.draw_text{
|
||||
-- text = 'Class available: ' .. Classes.display_form(destination.static_params.class_for_sale),
|
||||
@ -259,7 +261,7 @@ Public.entry_price_data_raw = {-- choose things which make interesting minifacto
|
||||
}
|
||||
|
||||
function Public.entry_price()
|
||||
local lambda = Math.max(Math.min(Math.sloped(Common.difficulty_scale(),1/2) * Common.game_completion_progress(), 1), 0)
|
||||
local lambda = Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * Common.game_completion_progress())
|
||||
|
||||
local item = Raffle.LambdaRaffle(Public.entry_price_data_raw, lambda)
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Public = {}
|
||||
|
||||
Public.step1 = {
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -83,7 +85,7 @@ function Public.create_step2_entities()
|
||||
end
|
||||
|
||||
if destination.static_params.class_for_sale then
|
||||
quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost()}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}}
|
||||
quest_structure_data.market.add_market_item{price={{'coin', Balance.class_cost(false)}}, offer={type="nothing", effect_description = {'pirates.market_description_purchase_class', Classes.display_form(destination.static_params.class_for_sale)}}}
|
||||
|
||||
-- destination.dynamic_data.market_class_offer_rendering = rendering.draw_text{
|
||||
-- text = 'Class available: ' .. Classes.display_form(destination.static_params.class_for_sale),
|
||||
@ -221,7 +223,7 @@ Public.entry_price_data_raw = {
|
||||
maxLambda = 1,
|
||||
shape = false,
|
||||
base_amount = 250,
|
||||
raw_materials = {}
|
||||
raw_materials = {{name = 'stone', count = 1250}}
|
||||
},
|
||||
['advanced-circuit'] = {
|
||||
overallWeight = 1,
|
||||
@ -258,7 +260,7 @@ Public.entry_price_data_raw = {
|
||||
}
|
||||
|
||||
function Public.entry_price()
|
||||
local lambda = Math.max(Math.min(Math.sloped(Common.difficulty_scale(),1/2) * Common.game_completion_progress(), 1), 0)
|
||||
local lambda = Math.clamp(0, 1, Math.sloped(Common.difficulty_scale(),1/2) * Common.game_completion_progress())
|
||||
|
||||
local item = Raffle.LambdaRaffle(Public.entry_price_data_raw, lambda)
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Public = {}
|
||||
|
||||
Public.covered1 = {
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -7,6 +9,7 @@ local Loot = require 'maps.pirates.loot'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
local _inspect = require 'utils.inspect'.inspect
|
||||
|
||||
--@add stuff from new quest structures to this file?
|
||||
local Public = {}
|
||||
local enum = {
|
||||
BOATS = 'Boats',
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Math = require 'maps.pirates.math'
|
||||
@ -97,7 +99,7 @@ Public.Data.surfacename_rendering_pos = {x = -0.5, y = -15}
|
||||
|
||||
Public.cabin_shop_data = {
|
||||
{
|
||||
price = {{'coin', 400}, {'coal', 20}},
|
||||
price = {{'coin', 400}, {'coal', 20}, {'iron-plate', 10}},--should be inefficient on resources to merely buy arty to shoot nests
|
||||
offer = {type='give-item', item = 'artillery-shell', count = 5},
|
||||
},
|
||||
{
|
||||
@ -108,10 +110,11 @@ Public.cabin_shop_data = {
|
||||
price = {{'coin', 2000}, {'stone-brick', 30}},
|
||||
offer = {type='give-item', item = 'uranium-238', count = 10},
|
||||
},
|
||||
{
|
||||
price = {{'coin', 25}},
|
||||
offer = {type='nothing', effect_description={'pirates.market_description_extra_time_at_sea'}},
|
||||
},
|
||||
--disabled now that we can wait after any destination:
|
||||
-- {
|
||||
-- price = {{'coin', 25}},
|
||||
-- offer = {type='nothing', effect_description={'pirates.market_description_extra_time_at_sea'}},
|
||||
-- },
|
||||
}
|
||||
|
||||
function Public.get_cabin_surface_name()
|
||||
@ -264,7 +267,7 @@ function Public.create_cabin_surface()
|
||||
end
|
||||
|
||||
rendering.draw_text{
|
||||
text = 'Captain\'s Cabin',
|
||||
text = {'pirates.surface_label_cabin'},
|
||||
surface = surface,
|
||||
target = Public.Data.surfacename_rendering_pos,
|
||||
color = CoreData.colors.renderingtext_yellow,
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
-- local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
-- local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Balance = require 'maps.pirates.balance'
|
||||
@ -250,7 +252,7 @@ function Public.create_crowsnest_surface()
|
||||
-- end
|
||||
|
||||
memory.crowsnest_surfacename_rendering = rendering.draw_text{
|
||||
text = 'Crow\'s Nest',
|
||||
text = {'pirates.surface_label_crowsnest'},
|
||||
surface = surface,
|
||||
target = Public.Data.surfacename_rendering_pos,
|
||||
color = CoreData.colors.renderingtext_yellow,
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
-- local Math = require 'maps.pirates.math'
|
||||
@ -171,7 +173,7 @@ function Public.create_hold_surface(nth)
|
||||
scale = 1,
|
||||
font = 'default-game',
|
||||
alignment = alignment,
|
||||
text = 'inactive',
|
||||
text = {'pirates.hold_connections_label_inactive'},
|
||||
}
|
||||
end
|
||||
|
||||
@ -209,10 +211,10 @@ function Public.create_hold_surface(nth)
|
||||
end
|
||||
|
||||
if subtype == enum.SECONDARY then
|
||||
local difficulty_name = CoreData.get_difficulty_name_from_value(memory.difficulty)
|
||||
if difficulty_name == CoreData.difficulty_options[#CoreData.difficulty_options].text then
|
||||
local difficulty_name = CoreData.get_difficulty_option_informal_name_from_value(memory.difficulty)
|
||||
if difficulty_name == 'nightmare' then
|
||||
Public.upgrade_chests(nth, 'steel-chest')
|
||||
elseif difficulty_name ~= CoreData.difficulty_options[1].text then
|
||||
elseif difficulty_name ~= 'easy' then
|
||||
Public.upgrade_chests(nth, 'iron-chest')
|
||||
end
|
||||
|
||||
@ -221,7 +223,7 @@ function Public.create_hold_surface(nth)
|
||||
|
||||
if nth==1 then
|
||||
memory.shiphold_rendering_1 = rendering.draw_text{
|
||||
text = 'Ship\'s Hold',
|
||||
text = {'pirates.surface_label_hold'},
|
||||
surface = surface,
|
||||
target = Public.Data.surfacename_rendering_pos,
|
||||
color = CoreData.colors.renderingtext_yellow,
|
||||
@ -232,11 +234,11 @@ function Public.create_hold_surface(nth)
|
||||
else
|
||||
if nth==2 then
|
||||
if memory.shiphold_rendering_1 then
|
||||
rendering.set_text(memory.shiphold_rendering_1, 'Ship\'s Hold: -1')
|
||||
rendering.set_text(memory.shiphold_rendering_1, {'pirates.surface_label_hold_nth', -1})
|
||||
end
|
||||
end
|
||||
rendering.draw_text{
|
||||
text = 'Ship\'s Hold: -' .. nth,
|
||||
text = {'pirates.surface_label_hold_nth', nth},
|
||||
surface = surface,
|
||||
target = Public.Data.surfacename_rendering_pos,
|
||||
color = CoreData.colors.renderingtext_yellow,
|
||||
@ -339,10 +341,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar
|
||||
b1.connect_linked_belts(b2)
|
||||
end
|
||||
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][3], 'from -' .. nth-1)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][3], 'to -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][4], 'from -' .. nth-1)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][4], 'to -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][3], {'pirates.hold_connections_label_from', nth-1})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][3], {'pirates.hold_connections_label_to', nth})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][4], {'pirates.hold_connections_label_from', nth-1})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][4], {'pirates.hold_connections_label_to', nth})
|
||||
else
|
||||
connections = {
|
||||
{5,5},
|
||||
@ -356,10 +358,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar
|
||||
b1.connect_linked_belts(b2)
|
||||
end
|
||||
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][3], 'from -' .. nth-1)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][3], 'to -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][4], 'from -' .. nth-1)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][4], 'to -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][3], {'pirates.hold_connections_label_from', nth-1})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][3], {'pirates.hold_connections_label_to', nth})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][4], {'pirates.hold_connections_label_from', nth-1})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][4], {'pirates.hold_connections_label_to', nth})
|
||||
end
|
||||
connections = {
|
||||
{1,9},
|
||||
@ -373,10 +375,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar
|
||||
b1.connect_linked_belts(b2)
|
||||
end
|
||||
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][1], 'to -' .. 1)
|
||||
rendering.set_text(boat.hold_helper_renderings[1][1], 'from -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][2], 'to -' .. 1)
|
||||
rendering.set_text(boat.hold_helper_renderings[1][2], 'from -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][1], {'pirates.hold_connections_label_to', 1})
|
||||
rendering.set_text(boat.hold_helper_renderings[1][1], {'pirates.hold_connections_label_from', nth})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][2], {'pirates.hold_connections_label_to', 1})
|
||||
rendering.set_text(boat.hold_helper_renderings[1][2], {'pirates.hold_connections_label_from', nth})
|
||||
else
|
||||
connections = {
|
||||
{1,1},
|
||||
@ -390,10 +392,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar
|
||||
b1.connect_linked_belts(b2)
|
||||
end
|
||||
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][1], 'from -' .. nth-1)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][1], 'to -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][2], 'from -' .. nth-1)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][2], 'to -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][1], {'pirates.hold_connections_label_from', nth-1})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][1], {'pirates.hold_connections_label_to', nth})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][2], {'pirates.hold_connections_label_from', nth-1})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth-1][2], {'pirates.hold_connections_label_to', nth})
|
||||
|
||||
connections = {
|
||||
{5,9},
|
||||
@ -407,10 +409,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar
|
||||
b1.connect_linked_belts(b2)
|
||||
end
|
||||
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][3], 'to -' .. 1)
|
||||
rendering.set_text(boat.hold_helper_renderings[1][1], 'from -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][4], 'to -' .. 1)
|
||||
rendering.set_text(boat.hold_helper_renderings[1][2], 'from -' .. nth)
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][3], {'pirates.hold_connections_label_to', 1})
|
||||
rendering.set_text(boat.hold_helper_renderings[1][1], {'pirates.hold_connections_label_from', nth})
|
||||
rendering.set_text(boat.hold_helper_renderings[nth][4], {'pirates.hold_connections_label_to', 1})
|
||||
rendering.set_text(boat.hold_helper_renderings[1][2], {'pirates.hold_connections_label_from', nth})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -143,7 +145,9 @@ function Public.spawn_quest_structure(destination, points_to_avoid)
|
||||
for i = 1, 1 do
|
||||
p = Hunt.mid_farness_position_1(args, points_to_avoid)
|
||||
|
||||
QuestStructures.initialise_cached_quest_structure(p, QuestStructures.choose_quest_structure_type())
|
||||
if p then
|
||||
QuestStructures.initialise_cached_quest_structure(p, QuestStructures.choose_quest_structure_type())
|
||||
end
|
||||
end
|
||||
|
||||
return p
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
local CoreData = require 'maps.pirates.coredata'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
-- local Common = require 'maps.pirates.common'
|
||||
-- local Utils = require 'maps.pirates.utils_local'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Memory = require 'maps.pirates.memory'
|
||||
local Math = require 'maps.pirates.math'
|
||||
@ -169,14 +171,14 @@ function Public.destination_on_collide(destination)
|
||||
local playercount = Common.activecrewcount()
|
||||
local max_evo
|
||||
|
||||
local difficulty_name = CoreData.get_difficulty_name_from_value(Common.difficulty_scale())
|
||||
if difficulty_name == CoreData.difficulty_options[1].text then
|
||||
local difficulty_name = CoreData.get_difficulty_option_informal_name_from_value(Common.difficulty_scale())
|
||||
if difficulty_name == 'easy' then
|
||||
if memory.overworldx/40 < 20 then
|
||||
max_evo = 0.9 - (20 - memory.overworldx/40) * 1/100
|
||||
else
|
||||
max_evo = 0.91 + (memory.overworldx/40 - 20) * 0.25/100
|
||||
end
|
||||
elseif difficulty_name == CoreData.difficulty_options[2].text then
|
||||
elseif difficulty_name == 'normal' then
|
||||
if memory.overworldx/40 < 15 then
|
||||
max_evo = 0.9 - (15 - memory.overworldx/40) * 0.5/100
|
||||
else
|
||||
@ -346,7 +348,9 @@ function Public.destination_on_arrival(destination)
|
||||
destination.static_params.class_for_sale = class_for_sale
|
||||
|
||||
local covered = Islands.spawn_quest_structure(destination, points_to_avoid)
|
||||
points_to_avoid[#points_to_avoid + 1] = {x = covered.x, y = covered.y, r = 25}
|
||||
if covered then
|
||||
points_to_avoid[#points_to_avoid + 1] = {x = covered.x, y = covered.y, r = 25}
|
||||
end
|
||||
end
|
||||
|
||||
Islands.spawn_treasure_maps(destination, points_to_avoid)
|
||||
@ -779,7 +783,7 @@ function Public.player_exit_crows_nest(player, player_relative_pos)
|
||||
local memory = Memory.get_crew_memory()
|
||||
local surface
|
||||
|
||||
if memory.boat and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
if memory.boat and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
surface = game.surfaces[SurfacesCommon.encode_surface_name(memory.id, 0, Public.enum.SEA, Public.Sea.enum.DEFAULT)]
|
||||
else
|
||||
surface = game.surfaces[Common.current_destination().surface_name]
|
||||
@ -818,7 +822,7 @@ function Public.player_exit_hold(player, relative_pos)
|
||||
local memory = Memory.get_crew_memory()
|
||||
local surface
|
||||
|
||||
if memory.boat and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
if memory.boat and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
surface = game.surfaces[SurfacesCommon.encode_surface_name(memory.id, 0, Public.enum.SEA, Public.Sea.enum.DEFAULT)]
|
||||
else
|
||||
surface = game.surfaces[Common.current_destination().surface_name]
|
||||
@ -856,7 +860,7 @@ function Public.player_exit_cabin(player, relative_pos)
|
||||
local memory = Memory.get_crew_memory()
|
||||
local surface
|
||||
|
||||
if memory.boat and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
if memory.boat and (memory.boat.state == Boats.enum_state.ATSEA_SAILING or memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL or memory.boat.state == Boats.enum_state.ATSEA_LOADING_MAP) then
|
||||
surface = game.surfaces[SurfacesCommon.encode_surface_name(memory.id, 0, Public.enum.SEA, Public.Sea.enum.DEFAULT)]
|
||||
else
|
||||
surface = game.surfaces[Common.current_destination().surface_name]
|
||||
|
@ -1,3 +1,5 @@
|
||||
-- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/danielmartin0/ComfyFactorio-Pirates.
|
||||
|
||||
|
||||
local Math = require 'maps.pirates.math'
|
||||
-- local _inspect = require 'utils.inspect'.inspect
|
||||
|
Loading…
x
Reference in New Issue
Block a user