mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-08 00:39:30 +02:00
41 lines
1.5 KiB
Lua
41 lines
1.5 KiB
Lua
local event = require 'utils.event'
|
|
local math_random = math.random
|
|
|
|
local function on_player_changed_position(event)
|
|
if not global.flame_boots then return end
|
|
local player = game.players[event.player_index]
|
|
if not player.character then return end
|
|
if player.character.driving then return end
|
|
|
|
if not global.flame_boots[player.index] then global.flame_boots[player.index] = {} end
|
|
|
|
if not global.flame_boots[player.index].fuel then return end
|
|
|
|
if global.flame_boots[player.index].fuel < 0 then
|
|
player.print("Your flame boots have worn out.", {r = 0.22, g = 0.77, b = 0.44})
|
|
global.flame_boots[player.index] = {}
|
|
return
|
|
end
|
|
|
|
if global.flame_boots[player.index].fuel % 500 == 0 then player.print("Fuel remaining: " .. global.flame_boots[player.index].fuel, {r = 0.22, g = 0.77, b = 0.44}) end
|
|
|
|
if not global.flame_boots[player.index].step_history then global.flame_boots[player.index].step_history = {} end
|
|
|
|
local elements = #global.flame_boots[player.index].step_history
|
|
|
|
global.flame_boots[player.index].step_history[elements + 1] = {x = player.position.x, y = player.position.y}
|
|
|
|
if elements < 50 then return end
|
|
|
|
player.surface.create_entity({name = "fire-flame", position = global.flame_boots[player.index].step_history[elements - 2]})
|
|
|
|
global.flame_boots[player.index].fuel = global.flame_boots[player.index].fuel - 1
|
|
end
|
|
|
|
local function on_init()
|
|
if not global.flame_boots then global.flame_boots = {} end
|
|
end
|
|
|
|
event.on_init(on_init)
|
|
event.add(defines.events.on_player_changed_position, on_player_changed_position)
|