mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-08 00:39:30 +02:00
2944a907aa
Changes: - Changed requirements for placing structures on islands: instead of trying to squeeze in-between trees, now it needs a single corner to be on land (it still can't spawn in ocean). In result, islands with more dense forests should see special structures more often and more scattered around the island, rather than them spawning mostly on beaches (because they had no trees) - When area in which structure is going to be placed contains water, it's replaced with landfill - New structure: friendly small-cliff-base with cliffs, gun turrets and car - Captain's cabin now contains cliff-explosives that can be placed in hold's chests to remove them - Moved repeating code snippets into seperate functions
1047 lines
28 KiB
Lua
1047 lines
28 KiB
Lua
-- 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...
|
|
|
|
local Color = require 'utils.color_presets'
|
|
local Server = require 'utils.server'
|
|
|
|
local Math = require 'maps.pirates.math'
|
|
local Ai = require 'maps.pirates.ai'
|
|
local Memory = require 'maps.pirates.memory'
|
|
local Gui = require 'maps.pirates.gui.gui'
|
|
local Common = require 'maps.pirates.common'
|
|
local CoreData = require 'maps.pirates.coredata'
|
|
local PlayerColors = require 'maps.pirates.player_colors'
|
|
local Utils = require 'maps.pirates.utils_local'
|
|
|
|
local Balance = require 'maps.pirates.balance'
|
|
local Crew = require 'maps.pirates.crew'
|
|
local Roles = require 'maps.pirates.roles.roles'
|
|
local Structures = require 'maps.pirates.structures.structures'
|
|
local Boats = require 'maps.pirates.structures.boats.boats'
|
|
local Surfaces = require 'maps.pirates.surfaces.surfaces'
|
|
local Overworld = require 'maps.pirates.overworld'
|
|
local Islands = require 'maps.pirates.surfaces.islands.islands'
|
|
local Progression = require 'maps.pirates.progression'
|
|
local Crowsnest = require 'maps.pirates.surfaces.crowsnest'
|
|
local Hold = require 'maps.pirates.surfaces.hold'
|
|
local PiratesApiEvents = require 'maps.pirates.api_events'
|
|
local Upgrades = require 'maps.pirates.boat_upgrades'
|
|
local Effects = require 'maps.pirates.effects'
|
|
local Kraken = require 'maps.pirates.surfaces.sea.kraken'
|
|
local _inspect = require 'utils.inspect'.inspect
|
|
local simplex_noise = require 'utils.simplex_noise'.d2
|
|
local Token = require 'utils.token'
|
|
local Task = require 'utils.task'
|
|
local Highscore = require 'maps.pirates.highscore'
|
|
local CustomEvents = require 'maps.pirates.custom_events'
|
|
local Classes = require 'maps.pirates.roles.classes'
|
|
|
|
local GUIcolor = require 'maps.pirates.gui.color'
|
|
|
|
|
|
|
|
local function cmd_set_memory(cmd)
|
|
local player = game.players[cmd.player_index]
|
|
local crew_id = Common.get_id_from_force_name(player.force.name)
|
|
Memory.set_working_id(crew_id)
|
|
end
|
|
|
|
|
|
local function check_admin(cmd)
|
|
local Session = require 'utils.datastore.session_data'
|
|
local player = game.players[cmd.player_index]
|
|
--local trusted = Session.get_trusted_table()
|
|
local p
|
|
if player then
|
|
if player ~= nil then
|
|
p = player.print
|
|
if not player.admin then
|
|
p({'pirates.cmd_error_not_admin'}, Color.fail)
|
|
return false
|
|
end
|
|
else
|
|
p = log
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
|
|
|
|
local function check_captain(cmd)
|
|
local player = game.players[cmd.player_index]
|
|
local p
|
|
if player then
|
|
if player ~= nil then
|
|
p = player.print
|
|
if not Common.validate_player(player) then return end
|
|
if not (Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN) then
|
|
p({'pirates.cmd_error_not_captain'}, Color.fail)
|
|
return false
|
|
end
|
|
else
|
|
p = log
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
|
|
|
|
local function check_captain_or_admin(cmd)
|
|
local player = game.players[cmd.player_index]
|
|
local p
|
|
if player then
|
|
if player ~= nil then
|
|
p = player.print
|
|
if not Common.validate_player(player) then return end
|
|
if not (player.admin or Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN) then
|
|
p({'pirates.cmd_error_not_captain'}, Color.fail)
|
|
return false
|
|
end
|
|
else
|
|
p = log
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
|
|
local function check_trusted(cmd)
|
|
local Session = require 'utils.datastore.session_data'
|
|
local player = game.players[cmd.player_index]
|
|
local trusted = Session.get_trusted_table()
|
|
local p
|
|
if player then
|
|
if player ~= nil then
|
|
p = player.print
|
|
if not (trusted[player.name] or player.admin) then
|
|
p('[ERROR] Only admins and trusted weebs are allowed to run this command!', Color.fail)
|
|
return false
|
|
end
|
|
else
|
|
p = log
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
|
|
|
|
commands.add_command(
|
|
'set_max_crews',
|
|
{'pirates.cmd_explain_set_max_crews'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local global_memory = Memory.get_global_memory()
|
|
|
|
if tonumber(param) then
|
|
global_memory.active_crews_cap = tonumber(param)
|
|
Common.notify_player_expected(player, {'pirates.cmd_notify_set_max_crews', param})
|
|
end
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'sail',
|
|
{'pirates.cmd_explain_sail'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
--local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
--local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
Crew.summon_crew()
|
|
if memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL then
|
|
Progression.at_sea_begin_to_set_sail()
|
|
end
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'setcaptain',
|
|
{'pirates.cmd_explain_setcaptain'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
if param and game.players[param] and game.players[param].index then
|
|
Roles.make_captain(game.players[param])
|
|
else
|
|
Common.notify_player_error(player, {'pirates.cmd_error_invalid_player_name', param})
|
|
end
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'summoncrew',
|
|
{'pirates.cmd_explain_summoncrew'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
--local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
Crew.summon_crew()
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ok',
|
|
{'pirates.cmd_explain_ok'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
|
|
--local memory = Memory.get_crew_memory()
|
|
Roles.player_confirm_captainhood(player)
|
|
end)
|
|
|
|
-- Disabled for information-flow reasons:
|
|
-- commands.add_command(
|
|
-- 'classes',
|
|
-- 'Prints the available classes in the game.',
|
|
-- function(cmd)
|
|
-- local player = game.players[cmd.player_index]
|
|
-- if not Common.validate_player(player) then return end
|
|
-- player.print('[color=gray]' .. Roles.get_classes_print_string() .. '[/color]')
|
|
-- end)
|
|
|
|
commands.add_command(
|
|
'classinfo',
|
|
{'pirates.cmd_explain_classinfo'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
|
|
if param and param ~= 'nil' then
|
|
local string = Roles.get_class_print_string(param, false)
|
|
if string then
|
|
Common.notify_player_expected(player, {'', {'pirates.class_definition_for'}, ' ', string})
|
|
else
|
|
Common.notify_player_error(player, {'pirates.cmd_error_invalid_class_name', param})
|
|
end
|
|
else
|
|
--Common.notify_player_expected(player, '/classinfo {classname} returns the definition of the named class.')
|
|
Common.notify_player_expected(player, {'', '/classinfo ', {'pirates.cmd_explain_classinfo'}})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'classinfofull',
|
|
{'pirates.cmd_explain_classinfofull'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
|
|
if param and param ~= 'nil' then
|
|
local string = Roles.get_class_print_string(param, true)
|
|
if string then
|
|
Common.notify_player_expected(player, {'', {'pirates.class_definition_for'}, ' ', string})
|
|
else
|
|
Common.notify_player_error(player, {'pirates.cmd_error_invalid_class_name', param})
|
|
end
|
|
else
|
|
Common.notify_player_expected(player, {'', '/classinfofull ', {'pirates.cmd_explain_classinfofull'}})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'take',
|
|
{'pirates.cmd_explain_take'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
|
|
if param and param ~= 'nil' then
|
|
for _, class in pairs(Classes.enum) do
|
|
if Classes.eng_form[class]:lower() == param:lower() then
|
|
Classes.assign_class(player.index, class, true)
|
|
return true
|
|
end
|
|
end
|
|
--fallthrough:
|
|
Common.notify_player_error(player, {'pirates.cmd_error_invalid_class_name', param})
|
|
return false
|
|
else
|
|
Common.notify_player_expected(player, {'', '/take ', {'pirates.cmd_explain_take'}})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'giveup',
|
|
{'pirates.cmd_explain_giveup'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
--local param = tostring(cmd.parameter)
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
|
|
Classes.try_renounce_class(player, true)
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ccolor',
|
|
{'pirates.cmd_explain_ccolor'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
local player_index = cmd.player_index
|
|
if player_index then
|
|
local player = game.players[player_index]
|
|
if player and player.valid then
|
|
if cmd.parameter then
|
|
if PlayerColors.colors[param] then
|
|
local rgb = PlayerColors.colors[param]
|
|
player.color = rgb
|
|
player.chat_color = rgb
|
|
local message = {'', '[color=' .. rgb.r .. ',' .. rgb.g .. ',' .. rgb.b .. ']',{'pirates.choose_chat_color', player.name, param}, '[/color] (via /ccolor).'}
|
|
-- local message = '[color=' .. rgb.r .. ',' .. rgb.g .. ',' .. rgb.b .. ']' .. player.name .. ' chose the color ' .. param .. '[/color] (via /ccolor).'
|
|
Common.notify_game(message)
|
|
else
|
|
Common.notify_player_error(player, {'pirates.cmd_error_color_not_found', param})
|
|
end
|
|
else
|
|
local color = PlayerColors.bright_color_names[Math.random(#PlayerColors.bright_color_names)]
|
|
local rgb = PlayerColors.colors[color]
|
|
if not rgb then return end
|
|
player.color = rgb
|
|
player.chat_color = rgb
|
|
local message = {'', '[color=' .. rgb.r .. ',' .. rgb.g .. ',' .. rgb.b .. ']', {'pirates.randomize_chat_color', player.name, color}, '[/color] (via /ccolor).'} --'randomly became' was amusing, but let's not
|
|
-- local message = '[color=' .. rgb.r .. ',' .. rgb.g .. ',' .. rgb.b .. ']' .. player.name .. '\'s color randomized to ' .. color .. '[/color] (via /ccolor).' --'randomly became' was amusing, but let's not
|
|
Common.notify_game(message)
|
|
-- disabled due to lag:
|
|
-- GUIcolor.toggle_window(player)
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
|
|
|
|
|
|
local go_2 = Token.register(
|
|
function(data)
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
|
|
memory.mapbeingloadeddestination_index = 1
|
|
memory.loadingticks = 0
|
|
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
-- surface.request_to_generate_chunks({x = 0, y = 0}, 10)
|
|
-- surface.force_generate_chunk_requests()
|
|
Progression.go_from_starting_dock_to_first_destination()
|
|
end
|
|
)
|
|
local go_1 = Token.register(
|
|
function(data)
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Overworld.ensure_lane_generated_up_to(0, Crowsnest.Data.visibilitywidth/2)
|
|
Overworld.ensure_lane_generated_up_to(24, Crowsnest.Data.visibilitywidth/2)
|
|
Overworld.ensure_lane_generated_up_to(-24, Crowsnest.Data.visibilitywidth/2)
|
|
memory.currentdestination_index = 1
|
|
script.raise_event(CustomEvents.enum['update_crew_progress_gui'], {})
|
|
Surfaces.create_surface(Common.current_destination())
|
|
Task.set_timeout_in_ticks(60, go_2, {})
|
|
end
|
|
)
|
|
|
|
|
|
|
|
commands.add_command(
|
|
'plank',
|
|
{'pirates.cmd_explain_plank'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local player = game.players[cmd.player_index]
|
|
local param = tostring(cmd.parameter)
|
|
if check_captain_or_admin(cmd) then
|
|
if param and game.players[param] and game.players[param].index then
|
|
Crew.plank(player, game.players[param])
|
|
else
|
|
Common.notify_player_error(player, {'pirates.cmd_error_invalid_player_name', param})
|
|
end
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'officer',
|
|
{'pirates.cmd_explain_officer'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local player = game.players[cmd.player_index]
|
|
local param = tostring(cmd.parameter)
|
|
if check_captain_or_admin(cmd) then
|
|
local memory = Memory.get_crew_memory()
|
|
if param and game.players[param] and game.players[param].index then
|
|
if memory.officers_table and memory.officers_table[game.players[param].index] then
|
|
Roles.unmake_officer(player, game.players[param])
|
|
else
|
|
Roles.make_officer(player, game.players[param])
|
|
end
|
|
else
|
|
Common.notify_player_error(player, {'pirates.cmd_error_invalid_player_name', param})
|
|
end
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'undock',
|
|
{'pirates.cmd_explain_undock'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
--local param = tostring(cmd.parameter)
|
|
if check_captain_or_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
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
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'tax',
|
|
{'pirates.cmd_explain_tax'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
--local param = tostring(cmd.parameter)
|
|
if check_captain(cmd) then
|
|
--local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
Roles.captain_tax(memory.playerindex_captain)
|
|
end --@TODO: else
|
|
end)
|
|
|
|
commands.add_command(
|
|
'dump_highscores',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
Highscore.dump_highscores()
|
|
player.print('Highscores dumped.')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'setclass',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
if not Common.validate_player(player) then return end
|
|
if not memory.classes_table then memory.classes_table = {} end
|
|
memory.classes_table[player.index] = param
|
|
player.print('Set own class to ' .. param .. '.')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'setevo',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Common.set_evo(tonumber(param))
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'modi',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
local entities = surface.find_entities_filtered{position = player.position, radius = 500}
|
|
for _, e in pairs(entities) do
|
|
if e and e.valid then
|
|
-- e.force = memory.force
|
|
e.minable = true
|
|
e.destructible = true
|
|
e.rotatable = true
|
|
end
|
|
end
|
|
player.print('nearby entities made modifiable')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ret',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Progression.retreat_from_island(true)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'jump',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Overworld.try_overworld_move_v2({x = 40, y = 0})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'advu',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Overworld.try_overworld_move_v2{x = 0, y = -24}
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'advd',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Overworld.try_overworld_move_v2{x = 0, y = 24}
|
|
end
|
|
end)
|
|
|
|
|
|
commands.add_command(
|
|
'overwrite_scores_specific',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
if not Common.validate_player(player) then return end
|
|
local memory = Memory.get_crew_memory()
|
|
if Highscore.overwrite_scores_specific() then player.print('Highscores overwritten.') end
|
|
end
|
|
end)
|
|
|
|
|
|
if _DEBUG then
|
|
|
|
commands.add_command(
|
|
'go',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
|
|
local proposal = {
|
|
capacity_option = 3,
|
|
difficulty_option = 2,
|
|
-- mode_option = 'left',
|
|
endorserindices = { 1 },
|
|
name = "AdminRun"
|
|
}
|
|
|
|
Memory.set_working_id(1)
|
|
|
|
Crew.initialise_crew(proposal)
|
|
Crew.initialise_crowsnest() --contains a Task
|
|
|
|
local memory = Memory.get_crew_memory()
|
|
local boat = Utils.deepcopy(Surfaces.Lobby.StartingBoats[memory.id])
|
|
|
|
for _, p in pairs(game.connected_players) do
|
|
p.teleport({x = -30, y = boat.position.y}, game.surfaces[boat.surface_name])
|
|
end
|
|
|
|
Progression.set_off_from_starting_dock()
|
|
|
|
-- local memory = Memory.get_crew_memory()
|
|
-- local boat = Utils.deepcopy(Surfaces.Lobby.StartingBoats[memory.id])
|
|
-- memory.boat = boat
|
|
-- boat.dockedposition = boat.position
|
|
-- boat.decksteeringchests = {}
|
|
-- boat.crowsneststeeringchests = {}
|
|
|
|
Task.set_timeout_in_ticks(120, go_1, {})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'chnk',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
|
|
for i = 0, 13 do
|
|
for j = 0, 13 do
|
|
PiratesApiEvents.event_on_chunk_generated({surface = player.surface, area = {left_top = {x = -7 * 32 + i * 32, y = -7 * 32 + j * 32}}})
|
|
end
|
|
end
|
|
game.print('chunks generated')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'spd',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
memory.boat.speed = 60
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'stp',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
memory.boat.speed = 0
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'rms',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local rms = 0
|
|
local n = 100000
|
|
local seed = Math.random(n^2)
|
|
for i = 1,n do
|
|
local noise = simplex_noise(i, 7.11, seed)
|
|
rms = rms + noise^2
|
|
end
|
|
rms = rms/n
|
|
game.print(rms)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'pro',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local global_memory = Memory.get_global_memory()
|
|
|
|
local proposal = {
|
|
capacity_option = 3,
|
|
difficulty_option = 2,
|
|
-- mode_option = 'left',
|
|
endorserindices = { 2 },
|
|
name = "TestRun"
|
|
}
|
|
|
|
global_memory.crewproposals[#global_memory.crewproposals + 1] = proposal
|
|
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'lev',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Progression.go_from_currentdestination_to_sea()
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'hld',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Upgrades.execute_upgade(Upgrades.enum.EXTRA_HOLD)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'pwr',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Upgrades.execute_upgade(Upgrades.enum.MORE_POWER)
|
|
end
|
|
end)
|
|
|
|
|
|
commands.add_command(
|
|
'score',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
|
|
game.print('faking a highscore...')
|
|
Highscore.write_score(memory.secs_id, 'fakers', 0, 40, CoreData.version_string, 1, 1)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'scrget',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.print('running Highscore.load_in_scores()')
|
|
Highscore.load_in_scores()
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'tim',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Common.current_destination().dynamic_data.timer = 88
|
|
game.print('time set to 88 seconds')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'gld',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
memory.stored_fuel = memory.stored_fuel + 20000
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'bld',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
memory.classes_table = {[1] = 1}
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'rad',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Islands.spawn_enemy_boat(Boats.enum.RAFT)
|
|
local boat = memory.enemyboats[1]
|
|
Ai.spawn_boat_biters(boat, 0.89, Boats.get_scope(boat).Data.capacity, Boats.get_scope(boat).Data.width)
|
|
game.print('enemy boat spawned')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'rad2',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Islands.spawn_enemy_boat(Boats.enum.RAFTLARGE)
|
|
local boat = memory.enemyboats[1]
|
|
Ai.spawn_boat_biters(boat, 0.89, Boats.get_scope(boat).Data.capacity, Boats.get_scope(boat).Data.width)
|
|
game.print('large enemy boat spawned')
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'krk',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Memory.set_working_id(1)
|
|
local memory = Memory.get_crew_memory()
|
|
Kraken.try_spawn_kraken()
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'1/4',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 0.5
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'1/2',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 0.5
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'1',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 1
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'2',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 2
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'4',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 4
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'8',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 8
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'16',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 16
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'32',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 32
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'64',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
game.speed = 64
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ef1',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
Effects.worm_movement_effect(surface, {x = -45, y = 0}, false, true)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ef2',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
Effects.worm_movement_effect(surface, {x = -45, y = 0}, false, false)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ef3',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
Effects.worm_movement_effect(surface, {x = -45, y = 0}, true, false)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ef4',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
Effects.worm_emerge_effect(surface, {x = -45, y = 0})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'ef5',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
cmd_set_memory(cmd)
|
|
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
local memory = Memory.get_crew_memory()
|
|
local surface = game.surfaces[Common.current_destination().surface_name]
|
|
Effects.biters_emerge(surface, {x = -30, y = 0})
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'emoji',
|
|
{'pirates.cmd_explain_dev'},
|
|
function(cmd)
|
|
local param = tostring(cmd.parameter)
|
|
if check_admin(cmd) then
|
|
local player = game.players[cmd.player_index]
|
|
Server.to_discord_embed_raw(CoreData.comfy_emojis.monkas)
|
|
end
|
|
end)
|
|
|
|
commands.add_command(
|
|
'piratux_test',
|
|
'is a dev command of piratux.',
|
|
function(cmd)
|
|
|
|
end)
|
|
end |