1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2024-12-14 10:13:13 +02:00
RedMew/features/free_item_logging.lua
SimonFlapse 4258568c90
Catching up (#2) (#3)
* Add creep spread mechanic

* Added bot ore islands, use bool flag to turn on.

* Added a noise based chest spawning system for artefacts

* Added coin loot from biters and mining

* Track artefacts launched into space

* Add Creepy map preset

* Update donators.lua

* Add scenario info for crashsite (#291)

* Split colors resources from colors code & catchup on donators (#288)

* Split colors resources from colors code

* Switch back to colors

* Added jail button

Moved parts of the jail command to report.lua

Made jailing possible from a users report.

closes #215

* Added sound for new reports

Admins now get a sound when a new report is created. Useful for admins that doesn't have Factorio as active window.

Currently set the sound_path as utility/tutorial_notice

* Split chat triggers from control

* Move cheat tracking outside of control.lua

* Remove player-specific code

* Split donator/on_join messages out of control

* Move features into features folder

* Indentation fix

I aimed to fix the troublesome indentation.

* Added a single indent

* Make sure biter modifiers are accessible for mods

* Consistency change regarding table access

* Added NightTime.lua

Split the time assignment into a new file NightTime.lua allowing for it to be disabled. (Restore normal day/night cycle)

Also added a popup when a player places a solar panel informing that they are purely cosmetic

Removed the recipe for portable solar panels because they are useless, but the technology is needed.

* Fixed debug print grid value to show non-rounded value

* added support for hidden tiles

* Add newline to eof

* Fixed no newline, indentation and scope of research

* crash_site outposts set hidden tile to 'grass-1'

* Log items spawned by crafting in cheat mode

* Newline to eof

* Put responses into table

* Use trigger as table key

* Change name of lattice to diagonal lattice (#297)

* Add Diagonal Ribbon to map presets (#294)

* Reorganize control (#312)

* Check for config before disabling fish market (#311)

* Force diggy biters to spawn, even if there's no space (#308)

* Fixed some small things from feedback and issues (#313)

* Update fractal_balls.lua

* Add ALo's message and color (#314)

* Add join message for ALo

* Add ALo's color

* Typo in donators.lua

* fixed tile corruption issus closes #310 (#317)

* Update player_list.lua

* Update diagonal_ribbon.lua (#322)

* Regulars: remove duplicates and sort alphabetically (#320)
2018-11-12 20:23:25 +01:00

65 lines
1.8 KiB
Lua

local Utils = require 'utils.utils'
local Event = require 'utils.event'
local Game = require 'utils.game'
Event.add(
defines.events.on_console_command,
function(event)
local command = event.command
if command == 'c' or command == 'command' or command == 'silent-command' or command == 'hax' then
local p_index = event.player_index
local name
if p_index then
name = Game.get_player_by_index(event.player_index).name
else
name = '<server>'
end
local s = table.concat {'[Command] ', name, ' /', command, ' ', event.parameters}
log(s)
end
end
)
global.cheated_items = {}
global.cheated_items_by_timestamp = {}
Event.add(
defines.events.on_player_crafted_item,
function(event)
local pi = event.player_index
local p = Game.get_player_by_index(pi)
if not p or not p.valid or not p.cheat_mode then
return
end
local cheat_items = global.cheated_items
local data = cheat_items[pi]
if not data then
data = {}
cheat_items[pi] = data
end
local stack = event.item_stack
local name = stack.name
local user_item_record = data[name] or {count = 0}
local count = user_item_record.count
local time = user_item_record['time'] or Utils.format_time(game.tick)
data[name] = {count = stack.count + count, time = time}
local s = table.concat {'[Cheated item] ', p.name, ' - ', stack.count, ' x ', name}
log(s)
end
)
function print_cheated_items()
local res = {}
local players = game.players
for pi, data in pairs(global.cheated_items) do
res[players[pi].name] = data
end
game.player.print(serpent.block(res))
end