1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-04-09 07:03:53 +02:00

module and tool folder path changes

This commit is contained in:
MewMew 2019-03-13 17:09:06 +01:00
parent 2de2da45d1
commit bc15efc87d
78 changed files with 379 additions and 243 deletions

View File

@ -19,27 +19,28 @@ require "score"
require "on_tick_schedule"
---- enable modules here ----
--require "maps.tools.cheat_mode"
--require "maps.modules.hunger"
--require "maps.modules.area_unlocked_on_rotated_entity"
--require "maps.modules.fish_respawner"
--require "maps.modules.rocket_launch_always_yields_science"
--require "maps.modules.launch_fish_to_win"
--require "maps.modules.satellite_score"
--require "maps.modules.restrictive_fluid_mining"
--require "maps.modules.fluids_are_explosive"
--require "maps.modules.explosives_are_explosive"
--require "maps.modules.explosive_biters"
--require "maps.modules.railgun_enhancer"
--require "maps.modules.dynamic_landfill"
--require "maps.modules.players_trample_paths"
--require "maps.modules.hunger_games"
--require "maps.modules.explosive_player_respawn"
--require "maps.modules.burden"
require "maps.modules.team_teleport"
--require "tools.cheat_mode"
--require "modules.hunger"
--require "modules.area_unlocked_on_rotated_entity"
--require "modules.fish_respawner"
--require "modules.rocket_launch_always_yields_science"
--require "modules.launch_fish_to_win"
--require "modules.satellite_score"
--require "modules.restrictive_fluid_mining"
--require "modules.fluids_are_explosive"
--require "modules.explosives_are_explosive"
--require "modules.explosive_biters"
--require "modules.railgun_enhancer"
--require "modules.dynamic_landfill"
--require "modules.players_trample_paths"
--require "modules.hunger_games"
--require "modules.explosive_player_respawn"
--require "modules.burden"
require "modules.team_teleport"
-----------------------------
---- enable maps here ----
require "maps.biter_battles_v2.biter_battles_v2"
--require "maps.biter_battles"
--require "maps.cave_miner"
--require "maps.labyrinth"

View File

@ -1,15 +1,15 @@
--anarchy mode map -- by mewmew --
require "maps.hunger_games_map_intro"
require "maps.modules.hunger_games"
require "maps.modules.dynamic_player_spawn"
require "modules.hunger_games"
require "modules.dynamic_player_spawn"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local function on_player_joined_game(event)
local player = game.players[event.player_index]

View File

@ -1,17 +1,17 @@
--atoll-- mewmew made this --
require "maps.modules.dynamic_landfill"
require "maps.modules.satellite_score"
require "maps.modules.spawners_contain_biters"
require "maps.modules.splice_double"
require "maps.modules.biters_double_damage"
require "modules.dynamic_landfill"
require "modules.satellite_score"
require "modules.spawners_contain_biters"
require "modules.splice_double"
require "modules.biters_double_damage"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local function get_noise(name, pos)
local seed = game.surfaces[1].map_gen_settings.seed

View File

@ -1,12 +1,9 @@
-- Biter Battles -- mewmew made this --
require "maps.modules.splice_double"
require "maps.modules.spitters_spit_biters"
require "maps.modules.biters_double_hp"
--require "maps.modules.biters_double_damage"
require "maps.modules.explosive_biters"
require "maps.modules.spawners_contain_biters"
require "maps.modules.custom_death_messages"
require "modules.splice_double"
require "modules.explosive_biters"
require "modules.spawners_contain_biters"
require "modules.custom_death_messages"
local biter_battles_terrain = require 'biter_battles_terrain'
local event = require 'utils.event'
@ -565,7 +562,7 @@ local function on_player_joined_game(event)
global.biter_battles_init_done = true
end
if global.game_lobby_active then
if #game.connected_players > 1 then global.game_lobby_timeout = game.tick + 9000 end
if #game.connected_players > 1 then global.game_lobby_timeout = game.tick + 7200 end
end
if player.online_time < 5 and game.surfaces["surface"].is_chunk_generated({0,0}) then

View File

@ -1,5 +1,5 @@
local simplex_noise = require 'map_gen.shared.simplex_noise'
local simplex_noise = require 'tools.simplex_noise'
local Event = require 'utils.event'
biter_battles_terrain = {}

View File

@ -0,0 +1,34 @@
-- Biter Battles v2 -- by MewMew
require "maps.biter_battles_v2.mirror_terrain"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "tools.map_functions"
local function init_surface(event)
if game.surfaces["biter_battles"] then return end
local map_gen_settings = {}
map_gen_settings.water = "none"
map_gen_settings.starting_area = "5"
map_gen_settings.cliff_settings = {cliff_elevation_interval = 12, cliff_elevation_0 = 32}
map_gen_settings.autoplace_controls = {
["coal"] = {frequency = "0.8", size = "1", richness = "0.3"},
["stone"] = {frequency = "0.8", size = "1", richness = "0.3"},
["copper-ore"] = {frequency = "0.8", size = "2", richness = "0.3"},
["iron-ore"] = {frequency = "0.8", size = "2", richness = "0.3"},
["crude-oil"] = {frequency = "0.8", size = "2", richness = "0.4"},
["trees"] = {frequency = "0.8", size = "0.5", richness = "0.3"},
["enemy-base"] = {frequency = "0.8", size = "1", richness = "0.4"}
}
game.create_surface("biter_battles", map_gen_settings)
end
local function on_player_joined_game(event)
--init_surface(event)
end
event.add(defines.events.on_player_joined_game, on_player_joined_game)

View File

@ -0,0 +1,110 @@
-- Mirrored Terrain for Biter Battles -- by MewMew
local event = require 'utils.event'
local direction_translation = {
[0] = 4,
[1] = 5,
[2] = 6,
[3] = 7,
[4] = 0,
[5] = 1,
[6] = 2,
[7] = 3
}
local cliff_orientation_translation = {
["west_to_east"] = "east_to_west",
["north_to_south"] = "south_to_north",
["east_to_west"] = "west_to_east",
["south_to_north"] = "north_to_south",
["west_to_north"] = "east_to_south",
["north_to_east"] = "south_to_west",
["east_to_south"] = "west_to_north",
["south_to_west"] = "north_to_east",
["west_to_south"] = "east_to_north",
["north_to_west"] = "south_to_east",
["east_to_north"] = "west_to_south",
["south_to_east"] = "north_to_west",
["west_to_none"] = "none_to_east",
["none_to_east"] = "west_to_none",
["north_to_none"] = "none_to_south",
["none_to_south"] = "north_to_none",
["east_to_none"] = "none_to_west",
["none_to_west"] = "east_to_none",
["south_to_none"] = "none_to_north",
["none_to_north"] = "south_to_none"
}
local function get_chunk_position(position)
local chunk_position = {}
position.x = math.floor(position.x)
position.y = math.floor(position.y)
for x = 0, 31, 1 do
if (position.x - x) % 32 == 0 then chunk_position.x = (position.x - x) / 32 end
end
for y = 0, 31, 1 do
if (position.y - y) % 32 == 0 then chunk_position.y = (position.y - y) / 32 end
end
return chunk_position
end
local function process_entity(surface, entity)
local new_pos = {x = entity.position.x * -1, y = entity.position.y * -1}
if entity.type == "cliff" then
surface.create_entity({name = entity.name, position = new_pos, cliff_orientation = cliff_orientation_translation[entity.cliff_orientation]})
return
end
if entity.type == "resource" then
surface.create_entity({name = entity.name, position = new_pos, amount = entity.amount})
return
end
if entity.name == "player" then
return
end
surface.create_entity({name = entity.name, position = new_pos, direction = direction_translation[entity.direction], force = entity.force.name})
end
local function mirror_chunk(surface, chunk_area, chunk_position)
if not surface then return end
if not chunk_area then return end
if not chunk_position then return end
if not surface.is_chunk_generated(chunk_position) then
surface.request_to_generate_chunks({x = chunk_area.left_top.x - 16, y = chunk_area.left_top.y - 16}, 1)
surface.force_generate_chunk_requests()
end
for _, tile in pairs(surface.find_tiles_filtered({area = chunk_area})) do
surface.set_tiles({{name = tile.name, position = {x = tile.position.x * -1, y = tile.position.y * -1}}}, true)
end
for _, entity in pairs(surface.find_entities_filtered({area = chunk_area})) do
process_entity(surface, entity)
end
end
local function on_chunk_generated(event)
if event.area.left_top.y < 0 then return end
local surface = event.surface
if event.area.left_top.y > 32 or event.area.left_top.x > 32 or event.area.left_top.x < -32 then
for _, e in pairs(surface.find_entities_filtered({area = event.area})) do
e.destroy()
end
else
for _, e in pairs(surface.find_entities_filtered({area = event.area})) do
if e.name ~= "player" then
e.destroy()
end
end
end
local x = ((event.area.left_top.x + 16) * -1) - 16
local y = ((event.area.left_top.y + 16) * -1) - 16
local mirror_chunk_area = {left_top = {x = x, y = y}, right_bottom = {x = x + 32, y = y + 32}}
if not global.on_tick_schedule[game.tick + 1] then global.on_tick_schedule[game.tick + 1] = {} end
global.on_tick_schedule[game.tick + 1][#global.on_tick_schedule[game.tick + 1] + 1] = {
func = mirror_chunk,
args = {surface, mirror_chunk_area, get_chunk_position({x = x, y = y})}
}
end
event.add(defines.events.on_chunk_generated, on_chunk_generated)

View File

@ -1,15 +1,14 @@
-- Cave Miner -- mewmew made this --
--Use /c spaghetti() to play without bots.
require "maps.modules.rocks_broken_paint_tiles"
require "modules.rocks_broken_paint_tiles"
require "maps.cave_miner_kaboomsticks"
require "maps.modules.satellite_score"
--require "maps.modules.explosive_biters"
require "maps.modules.spawners_contain_biters"
require "maps.modules.teleporting_worms"
--require "maps.modules.splice_double"
--require "maps.modules.spitters_spit_biters"
--require "maps.modules.biters_double_damage"
require "modules.satellite_score"
--require "modules.explosive_biters"
require "modules.spawners_contain_biters"
require "modules.teleporting_worms"
--require "modules.splice_double"
--require "modules.biters_double_damage"
local enable_fishbank_terminal = false
local simplex_noise = require 'utils.simplex_noise'

View File

@ -1,8 +1,8 @@
--choppy-- mewmew made this --
require "maps.modules.dynamic_landfill"
require "maps.modules.satellite_score"
require "maps.modules.spawners_contain_biters"
require "modules.dynamic_landfill"
require "modules.satellite_score"
require "modules.spawners_contain_biters"
require "maps.choppy_map_intro"
local unearthing_worm = require "functions.unearthing_worm"
@ -16,7 +16,7 @@ simplex_noise = simplex_noise.d2
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local disabled_for_deconstruction = {
["fish"] = true,

View File

@ -3,7 +3,7 @@
local event = require 'utils.event'
local math_random = math.random
local insert = table.insert
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
local simplex_noise = simplex_noise.d2

View File

@ -1,17 +1,17 @@
--deep jungle-- mewmew made this --
require "maps.modules.railgun_enhancer"
require "maps.modules.dynamic_landfill"
require "maps.modules.spawners_contain_biters"
require "maps.modules.biters_yield_coins"
require "maps.modules.rocks_yield_coins"
require "maps.modules.flashlight_toggle_button"
require "maps.modules.splice_double"
require "maps.modules.spitters_spit_biters"
require "maps.modules.biters_double_hp"
require "maps.modules.rocks_broken_paint_tiles"
require "maps.modules.rocks_yield_ore"
require "modules.railgun_enhancer"
require "modules.dynamic_landfill"
require "modules.spawners_contain_biters"
require "modules.biters_yield_coins"
require "modules.rocks_yield_coins"
require "modules.flashlight_toggle_button"
require "modules.splice_double"
require "modules.spitters_spit_biters"
require "modules.biters_double_hp"
require "modules.rocks_broken_paint_tiles"
require "modules.rocks_yield_ore"
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'

View File

@ -1,5 +1,5 @@
--deep jungle-- mewmew made this --
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'

View File

@ -1,6 +1,6 @@
-- just an empty map for testing thingies
local event = require 'utils.event'
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
function dump_boom_layout()
local surface = game.surfaces["empty_map"]

View File

@ -1,19 +1,19 @@
-- fish defender -- by mewmew --
require "maps.fish_defender_map_intro"
require "maps.modules.rocket_launch_always_yields_science"
require "maps.modules.launch_fish_to_win"
require "maps.modules.biters_yield_coins"
require "maps.modules.railgun_enhancer"
require "maps.modules.dynamic_landfill"
require "maps.modules.teleporting_worms"
require "maps.modules.custom_death_messages"
require "maps.modules.splice_double"
--require "maps.modules.spitters_spit_biters"
--require "maps.modules.biters_double_hp"
require "modules.rocket_launch_always_yields_science"
require "modules.launch_fish_to_win"
require "modules.biters_yield_coins"
require "modules.railgun_enhancer"
require "modules.dynamic_landfill"
require "modules.teleporting_worms"
require "modules.custom_death_messages"
require "modules.splice_double"
--require "modules.spitters_spit_biters"
--require "modules.biters_double_hp"
local event = require 'utils.event'
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local math_random = math.random
local insert = table.insert
local enable_start_grace_period = true

View File

@ -2,16 +2,14 @@
local event = require 'utils.event'
require "maps.fish_defender_map_intro"
require "maps.modules.rocket_launch_always_yields_science"
require "maps.modules.launch_fish_to_win"
require "modules.rocket_launch_always_yields_science"
require "modules.launch_fish_to_win"
require "modules.explosives_are_explosive"
require "modules.biters_yield_coins"
require "modules.railgun_enhancer"
require "modules.dynamic_landfill"
require "maps.modules.explosives_are_explosive"
require "maps.modules.biters_yield_coins"
require "maps.modules.railgun_enhancer"
require "maps.modules.dynamic_landfill"
--require "maps.modules.teleporting_worms"
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local math_random = math.random
local insert = table.insert
local enable_start_grace_period = true

View File

@ -1,14 +1,14 @@
--junkyard-- mewmew made this --
require "maps.modules.dynamic_landfill"
require "maps.modules.satellite_score"
require "maps.modules.mineable_wreckage_yields_scrap"
require "maps.modules.rocks_heal_over_time"
require "maps.modules.spawners_contain_biters"
require "maps.modules.biters_yield_coins"
require "modules.dynamic_landfill"
require "modules.satellite_score"
require "modules.mineable_wreckage_yields_scrap"
require "modules.rocks_heal_over_time"
require "modules.spawners_contain_biters"
require "modules.biters_yield_coins"
--require "maps.modules.fluids_are_explosive"
--require "maps.modules.explosives_are_explosive"
require "maps.modules.dangerous_nights"
require "modules.dangerous_nights"
require "maps.junkyard_map_intro"
@ -23,7 +23,7 @@ simplex_noise = simplex_noise.d2
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local disabled_for_deconstruction = {
["fish"] = true,

View File

@ -1,8 +1,8 @@
--labyrinth-- mewmew made this --
require "maps.labyrinth_map_intro"
require "maps.tools.teleporters"
require "maps.modules.satellite_score"
require "maps.modules.landfill_reveals_nauvis"
require "modules.teleporters"
require "modules.satellite_score"
require "modules.landfill_reveals_nauvis"
local map_functions = require "maps.tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'

View File

@ -2,9 +2,8 @@
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local math_random = math.random
require "maps.tools.map_pregen"
local function shipwreck(position, surface)
local wrecks = {"big-ship-wreck-1", "big-ship-wreck-2", "big-ship-wreck-3"}

View File

@ -1,25 +1,25 @@
-- mountain digger fortress -- by mewmew --
require "maps.modules.backpack_research"
require "maps.modules.biters_double_damage"
require "maps.modules.biters_avoid_damage"
require "maps.modules.biters_yield_coins"
require "maps.modules.dynamic_landfill"
--require "maps.modules.dynamic_player_spawn"
require "maps.modules.explosive_biters"
require "maps.modules.rocks_broken_paint_tiles"
require "maps.modules.rocks_heal_over_time"
require "maps.modules.rocks_yield_ore_veins"
require "maps.modules.rocks_yield_ore"
require "maps.modules.satellite_score"
require "maps.modules.spawners_contain_biters"
require "maps.modules.spitters_spit_biters"
require "maps.modules.splice_double"
require "modules.backpack_research"
require "modules.biters_double_damage"
require "modules.biters_avoid_damage"
require "modules.biters_yield_coins"
require "modules.dynamic_landfill"
--require "modules.dynamic_player_spawn"
require "modules.explosive_biters"
require "modules.rocks_broken_paint_tiles"
require "modules.rocks_heal_over_time"
require "modules.rocks_yield_ore_veins"
require "modules.rocks_yield_ore"
require "modules.satellite_score"
require "modules.spawners_contain_biters"
require "modules.spitters_spit_biters"
require "modules.splice_double"
local event = require 'utils.event'
local math_random = math.random
local insert = table.insert
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
local simplex_noise = simplex_noise.d2

View File

@ -3,19 +3,18 @@
local event = require 'utils.event'
local math_random = math.random
local insert = table.insert
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
local simplex_noise = simplex_noise.d2
require "maps.nightfall_map_intro"
require "maps.modules.splice_double"
require "maps.modules.spitters_spit_biters"
require "maps.modules.biters_double_hp"
require "maps.modules.biters_double_damage"
require "maps.modules.explosive_biters"
require "maps.modules.spawners_contain_biters"
require "maps.modules.railgun_enhancer"
require "maps.modules.dynamic_landfill"
require "maps.modules.satellite_score"
require "modules.splice_double"
require "modules.spitters_spit_biters"
require "modules.biters_double_damage"
require "modules.explosive_biters"
require "modules.spawners_contain_biters"
require "modules.railgun_enhancer"
require "modules.dynamic_landfill"
require "modules.satellite_score"
local spawn_turret_amount = 8

View File

@ -3,7 +3,6 @@
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local event = require 'utils.event'
require "maps.tools.map_pregen"
local function disable_recipes()
game.forces.player.recipes["splitter"].enabled = false

View File

@ -1,11 +1,11 @@
--spiral troopers-- mewmew wrote this -- inspired from kyte
local event = require 'utils.event'
require "maps.modules.dynamic_landfill"
require "maps.modules.spawners_contain_biters"
require "maps.modules.satellite_score"
require "modules.dynamic_landfill"
require "modules.spawners_contain_biters"
require "modules.satellite_score"
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
--require "rewards"
local function shuffle(tbl)

View File

@ -1,24 +1,24 @@
-- spooky forest -- by mewmew --
require "maps.modules.hunger"
require "maps.modules.fish_respawner"
require "modules.hunger"
require "modules.fish_respawner"
global.fish_respawner_water_tiles_per_fish = 16
require "maps.modules.satellite_score"
require "maps.modules.explosives_are_explosive"
require "maps.modules.explosive_biters"
require "maps.modules.dynamic_landfill"
require "maps.modules.teleporting_worms"
require "maps.modules.splice_double"
require "maps.modules.biters_double_hp"
require "maps.modules.biters_double_damage"
require "maps.modules.spawners_contain_biters"
require "maps.modules.rocks_broken_paint_tiles"
require "maps.modules.rocks_yield_ore"
require "modules.satellite_score"
require "modules.explosives_are_explosive"
require "modules.explosive_biters"
require "modules.dynamic_landfill"
require "modules.teleporting_worms"
require "modules.splice_double"
require "modules.biters_double_hp"
require "modules.biters_double_damage"
require "modules.spawners_contain_biters"
require "modules.rocks_broken_paint_tiles"
require "modules.rocks_yield_ore"
local shapes = require "maps.tools.shapes"
local shapes = require "tools.shapes"
local event = require 'utils.event'
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2

View File

@ -1,25 +1,25 @@
-- digging thingie -- by mewmew --
require "maps.modules.satellite_score"
require "maps.modules.dynamic_landfill"
require "maps.modules.backpack_research"
require "maps.modules.rocks_broken_paint_tiles"
require "maps.modules.rocks_heal_over_time"
require "maps.modules.rocks_yield_ore_veins"
require "maps.modules.rocks_yield_ore"
require "maps.modules.biters_yield_coins"
require "maps.modules.explosive_biters"
require "maps.modules.spawners_contain_biters"
require "maps.modules.splice_double"
require "maps.modules.spitters_spit_biters"
require "maps.modules.biters_double_hp"
require "maps.modules.biters_avoid_damage"
require "maps.modules.flashlight_toggle_button"
require "modules.satellite_score"
require "modules.dynamic_landfill"
require "modules.backpack_research"
require "modules.rocks_broken_paint_tiles"
require "modules.rocks_heal_over_time"
require "modules.rocks_yield_ore_veins"
require "modules.rocks_yield_ore"
require "modules.biters_yield_coins"
require "modules.explosive_biters"
require "modules.spawners_contain_biters"
require "modules.splice_double"
require "modules.spitters_spit_biters"
require "modules.biters_double_hp"
require "modules.biters_avoid_damage"
require "modules.flashlight_toggle_button"
local event = require 'utils.event'
local math_random = math.random
local insert = table.insert
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
local simplex_noise = simplex_noise.d2

View File

@ -3,7 +3,7 @@
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local simplex_noise = require 'utils.simplex_noise'
simplex_noise = simplex_noise.d2
local arena_size = 160

View File

@ -3,7 +3,7 @@
local event = require 'utils.event'
local table_insert = table.insert
local math_random = math.random
local map_functions = require "maps.tools.map_functions"
local map_functions = require "tools.map_functions"
local arena_size = 160
local function shuffle(tbl)

View File

@ -1,36 +1,36 @@
local event = require 'utils.event'
local function compute_fullness(player)
local inv = player.get_inventory(defines.inventory.player_main)
local max_stacks = #inv
local num_stacks = 0
local contents = inv.get_contents()
for item, count in pairs(contents) do
local stack_size = 1
if game.item_prototypes[item].stackable then
stack_size = game.item_prototypes[item].stack_size
end
num_stacks = num_stacks + count / stack_size
end
return num_stacks / max_stacks
end
local function check_burden(event)
local player = game.players[event.player_index]
local fullness = compute_fullness(player)
player.character_running_speed_modifier = 0.5 - fullness
end
local function on_init(event)
script.on_event(defines.events.on_player_main_inventory_changed, check_burden)
end
local function on_load(event)
script.on_event(defines.events.on_player_main_inventory_changed, check_burden)
end
event.on_init(on_init)
event.on_load(on_load)
local event = require 'utils.event'
local function compute_fullness(player)
local inv = player.get_inventory(defines.inventory.player_main)
local max_stacks = #inv
local num_stacks = 0
local contents = inv.get_contents()
for item, count in pairs(contents) do
local stack_size = 1
if game.item_prototypes[item].stackable then
stack_size = game.item_prototypes[item].stack_size
end
num_stacks = num_stacks + count / stack_size
end
return num_stacks / max_stacks
end
local function check_burden(event)
local player = game.players[event.player_index]
local fullness = compute_fullness(player)
player.character_running_speed_modifier = 0.5 - fullness
end
local function on_init(event)
script.on_event(defines.events.on_player_main_inventory_changed, check_burden)
end
local function on_load(event)
script.on_event(defines.events.on_player_main_inventory_changed, check_burden)
end
event.on_init(on_init)
event.on_load(on_load)

View File

@ -23,8 +23,8 @@ end
local function get_chunk_position(position)
local chunk_position = {}
position.x = math.floor(position.x, 0)
position.y = math.floor(position.y, 0)
position.x = math.floor(position.x)
position.y = math.floor(position.y)
for x = 0, 31, 1 do
if (position.x - x) % 32 == 0 then chunk_position.x = (position.x - x) / 32 end
end

View File

@ -1,41 +1,41 @@
local event = require 'utils.event'
DIVERSITY_QUOTA = 0.20
EXEMPT_AREA = 200 --This is the radius of the starting area that can't be affected.
STONE_BYPRODUCT = false --Delete patches of stone. Stone only appears as a byproduct.
STONE_BYPRODUCT_RATIO = 0.25 --If math.random() is between DIVERSITY_QUOTA and this, it's stone.
--Build a table of potential ores to pick from. Uranium is exempt from popping up randomly.
local function init()
global.diverse_ores = {}
for k,v in pairs(game.entity_prototypes) do
if v.type == "resource" and v.resource_category == "basic-solid" and v.mineable_properties.required_fluid == nil then
table.insert(global.diverse_ores, v.name)
end
end
end
local function scramble(event)
local ores = event.surface.find_entities_filtered{type="resource", area=event.area}
for k,v in pairs(ores) do
if math.abs(v.position.x) > EXEMPT_AREA or math.abs(v.position.y) > EXEMPT_AREA then
if v.prototype.resource_category == "basic-solid" then
local random = math.random()
if v.name == "stone" and STONE_BYPRODUCT then
v.destroy()
elseif random < DIVERSITY_QUOTA then --Replace!
local refugee = global.diverse_ores[math.random(#global.diverse_ores)]
event.surface.create_entity{name=refugee, position=v.position, amount=v.amount}
v.destroy()
elseif STONE_BYPRODUCT and random < STONE_BYPRODUCT_RATIO then --Replace with stone!
event.surface.create_entity{name="stone", position=v.position, amount=v.amount}
v.destroy()
end
end
end
end
end
event.on_init(init)
event.add(defines.events.on_chunk_generated, scramble)
local event = require 'utils.event'
DIVERSITY_QUOTA = 0.20
EXEMPT_AREA = 200 --This is the radius of the starting area that can't be affected.
STONE_BYPRODUCT = false --Delete patches of stone. Stone only appears as a byproduct.
STONE_BYPRODUCT_RATIO = 0.25 --If math.random() is between DIVERSITY_QUOTA and this, it's stone.
--Build a table of potential ores to pick from. Uranium is exempt from popping up randomly.
local function init()
global.diverse_ores = {}
for k,v in pairs(game.entity_prototypes) do
if v.type == "resource" and v.resource_category == "basic-solid" and v.mineable_properties.required_fluid == nil then
table.insert(global.diverse_ores, v.name)
end
end
end
local function scramble(event)
local ores = event.surface.find_entities_filtered{type="resource", area=event.area}
for k,v in pairs(ores) do
if math.abs(v.position.x) > EXEMPT_AREA or math.abs(v.position.y) > EXEMPT_AREA then
if v.prototype.resource_category == "basic-solid" then
local random = math.random()
if v.name == "stone" and STONE_BYPRODUCT then
v.destroy()
elseif random < DIVERSITY_QUOTA then --Replace!
local refugee = global.diverse_ores[math.random(#global.diverse_ores)]
event.surface.create_entity{name=refugee, position=v.position, amount=v.amount}
v.destroy()
elseif STONE_BYPRODUCT and random < STONE_BYPRODUCT_RATIO then --Replace with stone!
event.surface.create_entity{name="stone", position=v.position, amount=v.amount}
v.destroy()
end
end
end
end
end
event.on_init(init)
event.add(defines.events.on_chunk_generated, scramble)

View File

@ -14,7 +14,7 @@ local function teleport_player(surface, source_player, position)
surface.create_entity({name = "character-corpse", position = source_player.position, force = source_player.force.name})
source_player.teleport(position, surface)
if source_player.character.health < 25 then source_player.character.health = 250 end
global.team_teleport_delay[source_player.name] = game.tick + 1800
global.team_teleport_delay[source_player.name] = game.tick + 18000
end
local function fix_player_position(source_player, original_position)
@ -28,7 +28,7 @@ local function teleport_effects(surface, position)
surface.create_entity({
name = "railgun-beam",
position = {x = position.x, y = position.y},
target = {x = x, y = position.y - math.random(7,14)}
target = {x = x, y = position.y - math.random(6,13)}
})
for y = 0, 1, 1 do
surface.create_entity({
@ -36,7 +36,7 @@ local function teleport_effects(surface, position)
position = {x = position.x, y = position.y + y},
})
end
if math.random(1,16) == 1 then surface.create_entity({name = "explosion", position = {x = position.x + (3 - (math.random(1,60) * 0.1)), y = position.y + (3 - (math.random(1,60) * 0.1))}}) end
if math.random(1,64) == 1 then surface.create_entity({name = "explosion", position = {x = position.x + (3 - (math.random(1,60) * 0.1)), y = position.y + (3 - (math.random(1,60) * 0.1))}}) end
if math.random(1,32) == 1 then surface.create_entity({name = "blood-explosion-huge", position = position}) end
if math.random(1,16) == 1 then surface.create_entity({name = "blood-explosion-big", position = position}) end
if math.random(1,8) == 1 then surface.create_entity({name = "blood-explosion-small", position = position}) end
@ -57,7 +57,7 @@ end
local function teleport(source_player, target_player)
source_player.teleport({x = math.floor(source_player.position.x), y = math.floor(source_player.position.y)})
local target_position = target_player.surface.find_non_colliding_position("player", target_player.position, 128, 2)
local target_position = target_player.surface.find_non_colliding_position("player", target_player.position, 128, 1)
if not target_position then target_position = {x = target_player.position.x, y = target_player.position.y} end
local materializing_character = target_player.surface.create_entity({name = "player", position = target_position, force = "neutral", direction = source_player.character.direction})
materializing_character.destructible = false