diff --git a/locale/en/mtn_fortress_v3.cfg b/locale/en/mtn_fortress_v3.cfg index bdf6a061..3da4f99a 100644 --- a/locale/en/mtn_fortress_v3.cfg +++ b/locale/en/mtn_fortress_v3.cfg @@ -1,7 +1,7 @@ [mountain_fortress_v3] map_info_main_caption=M O U N T A I N F O R T R E S S V3 map_info_sub_caption= ~~ diggy diggy choo choo ~~ -map_info_text=[color=red]READ THIS!\nIf there are any code bugs or desyncs. Please report asap to @Gerkiz!\nIf there are any game breaking bugs then this map might be shutdown to hot-fix the issue.[/color]\n\nThe biters have caught the scent of fish in the cargo wagon.\nGuide the choo into the mountain and protect it as long as possible!\nThis however will not be an easy task,\nsince their strength and numbers increase over time.\n\nIn additon, the southern grounds collapse over time.\n\nDelve deep for greater treasures, but also face increased dangers.\nMining productivity research will overhaul your mining equipment, increasing the size of your backpack.\n\nAs you dig, you will encounter impassable dark chasms or rivers.\nArtillery will try to shoot you down! Dig fast, dig north!\n\nSome explosives may cause rocks to fall down the mountain, filling the void, creating new ways.\nAll they need is a container and a well aimed shot.\n\nEnter the cargo wagon to reveal the wagon surface!\n\nRandom buildings that generate resources can be found throughout the world.\n\nPlacing steel-chests near cargo-wagons enables you to quickly move content.\n\nStaying inside the locomotive aura prevents biters from spawning when mining entities.\n\nRadars do not generate new areas.\n\nRPG GUI is disabled inside the locomotive.\n\nDisconnecting wagons is disabled.\nYou can't cancel crafting when standing inside the locomotive aura.\n\nDon't try to run north with your Spidertron if the train is not near you.\nYou have been warned.\n\nMining drills have great mining-bonus which also is increased after each research, use them when you can!\n\nThe mystical chest in the locomotive offers some rewards.\nOne must feed the chest to receive such rewards.\n\nGood luck on your journey! +map_info_text=[color=red]READ THIS!\nIf there are any code bugs or desyncs. Please report asap to @Gerkiz!\nIf there are any game breaking bugs then this map might be shutdown to hot-fix the issue.[/color]\n\nThe biters have caught the scent of fish in the cargo wagon.\nGuide the choo into the mountain and protect it as long as possible!\nThis however will not be an easy task,\nsince their strength and numbers increase over time.\n\nIn additon, the southern grounds collapse over time.\n\nDelve deep for greater treasures, but also face increased dangers.\nMining productivity research will overhaul your mining equipment, increasing the size of your backpack.\n\nAs you dig, you will encounter impassable dark chasms or rivers.\nArtillery will try to shoot you down! Dig fast, dig north!\n\nSome explosives may cause rocks to fall down the mountain, filling the void, creating new ways.\nAll they need is a container and a well aimed shot.\n\nEnter the cargo wagon to reveal the wagon surface!\n\nRandom buildings that generate resources can be found throughout the world.\n\nPlacing steel-chests near cargo-wagons enables you to quickly move content.\n\nStaying inside the locomotive aura prevents biters from spawning when mining entities.\n\nRadars cannot be built near each other.\n\nRPG GUI is disabled inside the locomotive.\n\nDisconnecting wagons is disabled.\nYou can't cancel crafting when standing inside the locomotive aura.\n\nDon't try to run north with your Spidertron if the train is not near you.\nYou have been warned.\n\nMining drills have great mining-bonus which also is increased after each research, use them when you can!\n\nThe mystical chest in the locomotive offers some rewards.\nOne must feed the chest to receive such rewards.\n\nGood luck on your journey! [breached_wall] collapse_start=[color=blue]Mapkeeper:[/color]\nWarning, Collapse has begun! @@ -31,6 +31,7 @@ notify_shutdown=Soft-reset is disabled! Server will shutdown. Most likely becaus train_taking_damage=[color=blue]Comfylatron:[/color]\nTrain is taking heavy damage.\nDeploying defense mechanisms. entity_limit_reached=__1__ limit reached. Purchase more slots at the market! found_car=__1__ has found a car underneath the rumble! +radar_limit=Another radar is found nearby! [gui] diff --git a/maps/mountain_fortress_v3/entities.lua b/maps/mountain_fortress_v3/entities.lua index e44c830a..b373ce66 100644 --- a/maps/mountain_fortress_v3/entities.lua +++ b/maps/mountain_fortress_v3/entities.lua @@ -717,7 +717,7 @@ local mining_events = { local function on_player_mined_entity(event) local entity = event.entity - local player = game.players[event.player_index] + local player = game.get_player(event.player_index) if not player.valid then return end @@ -946,7 +946,7 @@ local function on_player_repaired_entity(event) local carriages_numbers = WPT.get('carriages_numbers') if carriages_numbers[entity.unit_number] then - local player = game.players[event.player_index] + local player = game.get_player(event.player_index) local repair_speed = RPG.get_magicka(player) if repair_speed <= 0 then set_train_final_health(-1, true) @@ -1393,6 +1393,26 @@ local function on_built_entity(event) return end + local position = entity.position + local player = game.get_player(event.player_index) + + if entity.name == 'radar' then + if entity.surface.count_entities_filtered({type = 'radar', position = position, radius = 64}) > 1 then + player.surface.create_entity( + { + name = 'flying-text', + position = entity.position, + text = ({'entity.radar_limit'}), + color = {255, 0, 0} + } + ) + + player.surface.spill_item_stack(position, {name = entity.name, count = 1, true}) + entity.destroy() + return + end + end + local valid_drills = { ['burner-mining-drill'] = true, ['electric-mining-drill'] = true @@ -1452,7 +1472,6 @@ local function on_built_entity(event) upgrades.showed_text = true end - local player = game.players[event.player_index] player.insert({name = entity.name, count = 1}) entity.destroy() end @@ -1471,6 +1490,25 @@ local function on_robot_built_entity(event) return end + local position = entity.position + + if entity.name == 'radar' then + if entity.surface.count_entities_filtered({type = 'radar', position = position, radius = 64}) > 1 then + entity.surface.create_entity( + { + name = 'flying-text', + position = entity.position, + text = ({'entity.radar_limit'}), + color = {255, 0, 0} + } + ) + + entity.surface.spill_item_stack(position, {name = entity.name, count = 1, true}) + entity.destroy() + return + end + end + local valid_drills = { ['burner-mining-drill'] = true, ['electric-mining-drill'] = true diff --git a/maps/mountain_fortress_v3/main.lua b/maps/mountain_fortress_v3/main.lua index 3d986ad1..10d85aaa 100644 --- a/maps/mountain_fortress_v3/main.lua +++ b/maps/mountain_fortress_v3/main.lua @@ -540,24 +540,5 @@ end Event.on_nth_tick(10, on_tick) Event.on_init(on_init) Event.add(WPT.events.reset_map, Public.reset_map) -Event.add( - defines.events.on_sector_scanned, - function(event) - local radar = event.radar - if not radar or not radar.valid then - return - end - - local radars_reveal_new_chunks = WPT.get('radars_reveal_new_chunks') - if radars_reveal_new_chunks then - return - end - - local pos = event.chunk_position - - radar.force.cancel_charting(radar.surface.index) - radar.force.unchart_chunk(pos, radar.surface.index) - end -) return Public diff --git a/utils/chatbot.lua b/utils/chatbot.lua index 8d966fd7..71eed77a 100644 --- a/utils/chatbot.lua +++ b/utils/chatbot.lua @@ -3,9 +3,7 @@ local Server = require 'utils.server' local Color = require 'utils.color_presets' local font_color = Color.warning -local font_welcome = {r = 150, g = 100, b = 255, a = 255} -local font = 'default-game' - +local font = 'heading-1' local brain = { [1] = {'Our Discord server is at: https://getcomfy.eu/discord'}, @@ -42,6 +40,8 @@ local links = { ['stealing'] = brain[2], ['stole'] = brain[2], ['troll'] = brain[2], + ['stutter'] = brain[4], + ['freeze'] = brain[4], ['lag'] = brain[4], ['lagging'] = brain[4], ['trust'] = brain[5], @@ -50,12 +50,18 @@ local links = { } local function on_player_created(event) - local player = game.players[event.player_index] - player.print('[font=' .. font .. ']' .. 'Join the comfy discord >> getcomfy.eu/discord' .. '[/font]', font_welcome) + local player = game.get_player(event.player_index) + player.print( + '[font=' .. + font .. + ']' .. + '[color=#E99696]J[/color][color=#E9A296]o[/color][color=#E9AF96]i[/color][color=#E9BB96]n[/color] [color=#E9C896]t[/color][color=#E9D496]h[/color][color=#E9E096]e[/color] ☕[color=#E5E996]c[/color][color=#D8E996]o[/color][color=#CCE996]m[/color][color=#BFE996]f[/color][color=#B3E996]y[/color] [color=#A6E996]d[/color][color=#9AE996]i[/color][color=#96E99E]s[/color][color=#96E9AB]c[/color][color=#96E9B7]o[/color][color=#96E9C3]r[/color][color=#96E9D0]d[/color] [color=#96E9DC]>[/color][color=#96E9E9]>[/color] [color=#96DCE9]g[/color][color=#96D0E9]e[/color][color=#96C3E9]t[/color][color=#96B7E9]c[/color][color=#96ABE9]o[/color][color=#969EE9]m[/color][color=#9A96E9]f[/color][color=#A696E9]y[/color][color=#B396E9].[/color][color=#BF96E9]e[/color][color=#CC96E9]u[/color][color=#D896E9]/[/color][color=#E596E9]d[/color][color=#E996E0]i[/color][color=#E996D4]s[/color][color=#E996C8]c[/color][color=#E996BB]o[/color][color=#E996AF]r[/color][color=#E996A2]d[/color]' .. + '[/font]' + ) end local function process_bot_answers(event) - local player = game.players[event.player_index] + local player = game.get_player(event.player_index) if player.admin then return end @@ -82,7 +88,5 @@ local function on_console_chat(event) process_bot_answers(event) end - - Event.add(defines.events.on_player_created, on_player_created) Event.add(defines.events.on_console_chat, on_console_chat)