1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-01-04 00:15:45 +02:00
ComfyFactorio/control.lua
Piratux 564428661a Fixes and quest balanacing
Changes:
- Fixed an issue, where crew would lose when ship auto undock timer reached 0, but crew hadn't escaped from island by then, causing it to lose (in cases where resources are a must to escape from island).
- Fixed an issue, where boat wouldn't auto undock in radioactive island when auto undock timer reached 0.
- Adjusted some dock market prices (for converting one item to another).
- Decreased the amount of items needed for a gui island crafting quest for harder difficulties and decreased the scaling of item requirement. This should make these quests completable even in late game.
- Slightly decreased the reward for gui island crafting quest to accommodate the change above.
- Reduced amount of items needed for island market quests.
2023-02-13 22:41:00 +02:00

282 lines
8.8 KiB
Lua

require 'utils.data_stages'
_LIFECYCLE = _STAGE.control -- Control stage
_DEBUG = false
_DUMP_ENV = false
require 'utils.server'
require 'utils.server_commands'
require 'utils.command_handler'
require 'utils.utils'
require 'utils.pause_game'
require 'utils.table'
require 'utils.datastore.server_ups_data'
require 'utils.datastore.current_time_data'
require 'utils.datastore.color_data'
require 'utils.datastore.session_data'
require 'utils.datastore.jail_data'
require 'utils.datastore.quickbar_data'
require 'utils.datastore.message_on_join_data'
require 'utils.datastore.player_tag_data'
require 'utils.datastore.supporters'
require 'utils.datastore.banhandler'
require 'utils.chatbot'
require 'utils.commands'
require 'utils.antigrief'
require 'utils.debug.command'
require 'modules.corpse_markers'
require 'modules.floaty_chat'
require 'modules.show_inventory'
require 'modules.inserter_drops_pickup'
require 'modules.autostash'
require 'modules.blueprint_requesting'
require 'utils.gui'
require 'utils.gui.player_list'
require 'utils.gui.admin'
require 'utils.gui.group'
require 'utils.gui.score'
require 'utils.gui.config'
require 'utils.gui.poll'
require 'utils.gui.server_select'
require 'utils.freeplay'
---------------- !ENABLE MODULES HERE ----------------
--require 'modules.admins_operate_biters'
--require 'modules.the_floor_is_lava'
--require 'modules.biters_landfill_on_death'
--require 'modules.autodecon_when_depleted'
--require 'modules.biter_noms_you'
--require 'modules.biters_avoid_damage'
--require 'modules.biters_double_damage'
--require 'modules.burden'
--require 'modules.comfylatron'
--require 'modules.dangerous_goods'
--require 'modules.explosive_biters'
--require 'modules.explosive_player_respawn'
--require 'modules.explosives_are_explosive'
--require 'modules.fish_respawner'
--require 'modules.fluids_are_explosive'
--require 'modules.hunger'
--require 'modules.hunger_games'
--require 'modules.pistol_buffs'
--require 'modules.players_trample_paths'
--require 'modules.railgun_enhancer'
--require 'modules.restrictive_fluid_mining'
--require 'modules.satellite_score'
--require 'modules.show_health'
--require 'modules.splice_double'
--require 'modules.ores_are_mixed'
--require 'modules.team_teleport'
--require 'modules.surrounded_by_worms'
--require 'modules.no_blueprint_library'
--require 'modules.explosives'
--require 'modules.biter_pets'
--require 'modules.no_solar'
--require 'modules.biter_reanimator'
--require 'modules.force_health_booster'
--require 'modules.immersive_cargo_wagons.main'
--require 'modules.wave_defense.main'
--require 'modules.fjei.main'
--require 'modules.charging_station'
--require 'modules.landmine_effects'
--require 'modules.crawl_into_pipes'
--require 'modules.no_acid_puddles'
--require 'modules.simple_tags'
--require 'modules.turret_filler'
---------------------------------------------------------------
---------------- ENABLE MAPS HERE ----------------
--!Make sure only one map is enabled at a time.
--!Remove the "--" in front of the line to enable.
--!All lines with the "require" keyword are different maps.
--![[North VS South Survival PVP, feed the opposing team's biters with science flasks. Disable Autostash, Group and Poll modules.]]--
--require 'maps.biter_battles_v2.main'
--require 'maps.biter_battles.biter_battles'
--![[A map that imitating MF, defending rocket silos instead of trains]]--
--require 'maps.amap.main'
--![[Guide a Train through rough terrain, while defending it from the biters]]--
--require 'maps.mountain_fortress_v3.main'
--require 'maps.mountain_fortress_v2.main'
--require 'maps.mountain_fortress'
--![[Tower defense system]]--
--require 'maps.tower_defense.main'
--![[Defend the market against waves of biters]]--
--require 'maps.pidgeotto.main'
--require 'maps.fish_defender_v2.main'
--require 'maps.crab_defender.main'
--require 'maps.fish_defender_v1.fish_defender'
--require 'maps.fish_defender.main'
--![[Comfylatron has seized the Fish Train and turned it into a time machine]]--
--require 'maps.chronosphere.main'
--![[Adventure as a crew of pirates]]--
-- require 'maps.pirates.main'
--![[Launch rockets in increasingly harder getting worlds.]]--
--require 'maps.journey.main'
--![[East VS West Survival PVP, where you breed biters with science flasks]]--
--require 'maps.biter_hatchery.main'
--![[Fight in a world where everyone are prisoners]]
--require 'maps.planet_prison'
--![[Chop trees to gain resources]]--
--require 'maps.choppy'
--require 'maps.choppy_dx'
--![[Minesweeper?]]--
--require 'maps.minesweeper.main'
--![[Infinite random dungeon with RPG]]--
--require 'maps.dungeons.main'
--require 'maps.dungeons.tiered_dungeon'
--![[Randomly generating Islands that have to be beaten in levels to gain credits]]--
--require 'maps.island_troopers.main'
--![[Infinitely expanding mazes]]--
--require 'maps.stone_maze.main'
--require 'maps.labyrinth'
--![[Extreme survival mode with thirst and limited building room]]--
--require 'maps.desert_oasis'
--![[The trees are your enemy here]]--
--require 'maps.overgrowth'
--![[Wave Defense Map split in 4 Quarters]]--
--require 'maps.quarters'
--![[Flee from the collapsing map with portable base inside train]]--
--require 'maps.railway_troopers_v2.main'
--![[Another simliar version without collapsing terrain]]--
--require 'maps.railway_troopers.main'
--![[Territorial Control - reveal the map as you walk through the mist]]--
--require 'maps.territorial_control'
--![[Deep Jungle - dangerous map]]--
--require 'maps.deep_jungle.main'
--![[You fell in a dark cave, will you survive?]]--
--require 'maps.cave_choppy.main'
--require 'maps.cave_miner'
--require 'maps.cave_miner_v2.main'
--![[Hungry boxes eat your items, but reward you with new territory to build.]]--
--require 'maps.expanse.main'
--![[Crashlanding on Junk Planet]]--
--require 'maps.junkyard'
--require 'maps.junkyard_pvp.main'
--![[A green maze]]--
--require 'maps.hedge_maze'
--![[Dangerous forest with unique map revealing]]--
--require 'maps.spooky_forest'
--![[Defeat the biters and unlock new areas]]--
--require 'maps.spiral_troopers'
--![[Railworld style terrains]]--
--require 'maps.mixed_railworld'
--require 'maps.scrap_railworld'
--![[It's tetris!]]--
--require 'maps.tetris.main'
--![[4 Team Lane Surival]]--
--require 'maps.wave_of_death.WoD'
--![[PVP Battles with Tanks]]--
--require 'maps.tank_conquest.tank_conquest'
--require 'maps.tank_battles'
--![[Terrain with lots of Rocks]]--
--require 'maps.rocky_waste'
--![[Landfill is reveals the map, set resources to high when rolling the map]]--
--require 'maps.lost'
--![[A terrain layout with many rivers]]--
--require 'maps.rivers'
--![[Islands Theme]]--
--require 'maps.atoll'
--![[Placed buildings can hardly be removed]]--
--require 'maps.refactor-io'
--![[Prebuilt buildings on the map that can not be removed, you will hate this map]]--
--require 'maps.spaghettorio'
--![[Misc / WIP]]--
--require 'maps.rainbow_road'
--require 'maps.cratewood_forest'
--require 'maps.maze_challenge'
--require 'maps.lost_desert'
--require 'maps.stoneblock'
--require 'maps.wave_defense'
--require 'maps.crossing'
--require 'maps.anarchy'
--require 'maps.blue_beach'
--require 'maps.nightfall'
--require 'maps.pitch_black.main'
--require 'maps.cube'
--require 'maps.mountain_race.main'
--require 'maps.native_war.main'
--require 'maps.scrap_towny_ffa.main'
---------------------------------------------------------------
---------------- MORE MODULES HERE ----------------
--require 'modules.hidden_dimension.main'
--require 'modules.towny.main'
--require 'modules.rpg.main'
--require 'modules.rpg'
--require 'modules.trees_grow'
--require 'modules.trees_randomly_die'
---------------------------------------------------------------
---------------- MOSTLY TERRAIN LAYOUTS HERE ----------------
--require 'terrain_layouts.winter'
--require 'terrain_layouts.caves'
--require 'terrain_layouts.cone_to_east'
--require 'terrain_layouts.biters_and_resources_east'
--require 'terrain_layouts.scrap_01'
--require 'terrain_layouts.scrap_02'
--require 'terrain_layouts.watery_world'
--require 'terrain_layouts.tree_01'
---------------------------------------------------------------
--- this file exists only for the panel to sync and start from within the panel
-- it does nothing if it's not synced from within the panel
require 'map_loader'
if _DUMP_ENV then
require 'utils.dump_env'
require 'utils.profiler'
end
local function on_player_created(event)
local player = game.players[event.player_index]
player.gui.top.style = 'slot_table_spacing_horizontal_flow'
player.gui.left.style = 'slot_table_spacing_vertical_flow'
end
local loaded = _G.package.loaded
function require(path)
return loaded[path] or error('Can only require files at runtime that have been required in the control stage.', 2)
end
local Event = require 'utils.event'
Event.add(defines.events.on_player_created, on_player_created)