mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-08 00:39:30 +02:00
junkyard > dangerous_nights module
This commit is contained in:
parent
ff191e94fb
commit
412035e4c1
@ -55,16 +55,16 @@ local function unearthing_biters(surface, position, amount)
|
|||||||
if evolution_index < 1 then evolution_index = 1 end
|
if evolution_index < 1 then evolution_index = 1 end
|
||||||
|
|
||||||
local ticks = amount * 30
|
local ticks = amount * 30
|
||||||
ticks = ticks + 120
|
ticks = ticks + 90
|
||||||
for t = 1, ticks, 1 do
|
for t = 1, ticks, 1 do
|
||||||
if not global.on_tick_schedule[game.tick + t] then global.on_tick_schedule[game.tick + t] = {} end
|
if not global.on_tick_schedule[game.tick + t] then global.on_tick_schedule[game.tick + t] = {} end
|
||||||
|
|
||||||
global.on_tick_schedule[game.tick + t][#global.on_tick_schedule[game.tick + t] + 1] = {
|
global.on_tick_schedule[game.tick + t][#global.on_tick_schedule[game.tick + t] + 1] = {
|
||||||
func = create_particles,
|
func = create_particles,
|
||||||
args = {surface, {x = position.x, y = position.y}, 5}
|
args = {surface, {x = position.x, y = position.y}, 4}
|
||||||
}
|
}
|
||||||
|
|
||||||
if t > 120 then
|
if t > 90 then
|
||||||
if t % 30 == 29 then
|
if t % 30 == 29 then
|
||||||
global.on_tick_schedule[game.tick + t][#global.on_tick_schedule[game.tick + t] + 1] = {
|
global.on_tick_schedule[game.tick + t][#global.on_tick_schedule[game.tick + t] + 1] = {
|
||||||
func = spawn_biter,
|
func = spawn_biter,
|
||||||
|
@ -47,7 +47,7 @@ local function unearthing_worm(surface, position)
|
|||||||
|
|
||||||
global.on_tick_schedule[game.tick + t][#global.on_tick_schedule[game.tick + t] + 1] = {
|
global.on_tick_schedule[game.tick + t][#global.on_tick_schedule[game.tick + t] + 1] = {
|
||||||
func = create_particles,
|
func = create_particles,
|
||||||
args = {surface, {x = position.x, y = position.y}, math.ceil(t * 0.07)}
|
args = {surface, {x = position.x, y = position.y}, math.ceil(t * 0.05)}
|
||||||
}
|
}
|
||||||
|
|
||||||
if t == 330 then
|
if t == 330 then
|
||||||
|
@ -7,6 +7,7 @@ require "maps.modules.spawners_contain_biters"
|
|||||||
require "maps.modules.biters_yield_coins"
|
require "maps.modules.biters_yield_coins"
|
||||||
require "maps.modules.fluids_are_explosive"
|
require "maps.modules.fluids_are_explosive"
|
||||||
require "maps.modules.explosives_are_explosive"
|
require "maps.modules.explosives_are_explosive"
|
||||||
|
require "maps.modules.dangerous_nights"
|
||||||
|
|
||||||
local unearthing_worm = require "functions.unearthing_worm"
|
local unearthing_worm = require "functions.unearthing_worm"
|
||||||
local unearthing_biters = require "functions.unearthing_biters"
|
local unearthing_biters = require "functions.unearthing_biters"
|
||||||
@ -406,7 +407,10 @@ local function on_player_joined_game(event)
|
|||||||
player.insert({name = "firearm-magazine", count = 16})
|
player.insert({name = "firearm-magazine", count = 16})
|
||||||
end
|
end
|
||||||
|
|
||||||
if global.map_init_done then return end
|
if global.map_init_done then return end
|
||||||
|
|
||||||
|
game.forces["player"].technologies["optics"].researched = true
|
||||||
|
|
||||||
game.surfaces["nauvis"].ticks_per_day = game.surfaces["nauvis"].ticks_per_day * 2
|
game.surfaces["nauvis"].ticks_per_day = game.surfaces["nauvis"].ticks_per_day * 2
|
||||||
|
|
||||||
game.create_force("scrap")
|
game.create_force("scrap")
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
-- nighttime is dangerous, stay near your lamps -- by mewmew
|
||||||
|
|
||||||
|
local event = require 'utils.event'
|
||||||
|
|
||||||
|
local unearthing_worm = require "functions.unearthing_worm"
|
||||||
|
local unearthing_biters = require "functions.unearthing_biters"
|
||||||
|
|
||||||
|
local function on_player_changed_position(event)
|
||||||
|
local player = game.players[event.player_index]
|
||||||
|
if player.character.driving == true then return end
|
||||||
|
if player.surface.daytime < 0.33 then return end
|
||||||
|
if player.surface.daytime > 0.66 then return end
|
||||||
|
if math.random(1,32) ~= 1 then return end
|
||||||
|
|
||||||
|
for _, lamp in pairs(player.surface.find_entities_filtered({area={{player.position.x - 18, player.position.y - 18},{player.position.x + 18, player.position.y + 18}}, name="small-lamp"})) do
|
||||||
|
local circuit = lamp.get_or_create_control_behavior()
|
||||||
|
if circuit then
|
||||||
|
if lamp.energy > 40 and circuit.disabled == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if lamp.energy > 40 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local positions = {}
|
||||||
|
local r = 8
|
||||||
|
for x = r * -1, r, 1 do
|
||||||
|
for y = r * -1, r, 1 do
|
||||||
|
local distance_to_center = math.sqrt(x^2 + x^2)
|
||||||
|
if distance_to_center > 2 and distance_to_center < 7 then
|
||||||
|
if player.surface.can_place_entity({name = "stone-furnace", position = {x = player.position.x + x, y = player.position.y + y}}) then
|
||||||
|
positions[#positions + 1] = {x = player.position.x + x, y = player.position.y + y}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if math.random(1,3) == 1 then
|
||||||
|
unearthing_biters(player.surface, positions[math.random(1, #positions)], math.random(3,9))
|
||||||
|
else
|
||||||
|
unearthing_worm(player.surface, positions[math.random(1, #positions)])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
event.add(defines.events.on_player_changed_position, on_player_changed_position)
|
@ -22,9 +22,9 @@ function cheat_mode()
|
|||||||
game.forces.player.character_reach_distance_bonus = 1000
|
game.forces.player.character_reach_distance_bonus = 1000
|
||||||
game.speed = 1.5
|
game.speed = 1.5
|
||||||
surface.daytime = 1
|
surface.daytime = 1
|
||||||
surface.freeze_daytime = 1
|
--surface.freeze_daytime = 1
|
||||||
game.player.force.research_all_technologies()
|
game.player.force.research_all_technologies()
|
||||||
game.forces["enemy"].evolution_factor = 0.9
|
game.forces["enemy"].evolution_factor = 0.1
|
||||||
local chart = 200
|
local chart = 200
|
||||||
game.forces["player"].chart(surface, {lefttop = {x = chart*-1, y = chart*-1}, rightbottom = {x = chart, y = chart}})
|
game.forces["player"].chart(surface, {lefttop = {x = chart*-1, y = chart*-1}, rightbottom = {x = chart, y = chart}})
|
||||||
end
|
end
|
Loading…
Reference in New Issue
Block a user