├── Thumbs.db ├── locale └── en │ └── entity-names.cfg ├── graphics ├── 1x1.png ├── Thumbs.db ├── Robot-Charge-Station.png ├── roboport-chargepad.png └── Robot-Charge-Station-icon.png ├── migrations └── 0.0.4.lua ├── data.lua ├── prototypes ├── item │ └── RoboCharge.lua ├── recipe │ └── RoboCharge.lua └── entity │ └── RoboCharge.lua ├── info.json ├── .gitignore ├── README.md └── LICENSE /Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hertizch/RoboCharge/master/Thumbs.db -------------------------------------------------------------------------------- /locale/en/entity-names.cfg: -------------------------------------------------------------------------------- 1 | [entity-name] 2 | Robot-Charge-Station=Robot Charging Station -------------------------------------------------------------------------------- /graphics/1x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hertizch/RoboCharge/master/graphics/1x1.png -------------------------------------------------------------------------------- /graphics/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hertizch/RoboCharge/master/graphics/Thumbs.db -------------------------------------------------------------------------------- /graphics/Robot-Charge-Station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hertizch/RoboCharge/master/graphics/Robot-Charge-Station.png -------------------------------------------------------------------------------- /graphics/roboport-chargepad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hertizch/RoboCharge/master/graphics/roboport-chargepad.png -------------------------------------------------------------------------------- /graphics/Robot-Charge-Station-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hertizch/RoboCharge/master/graphics/Robot-Charge-Station-icon.png -------------------------------------------------------------------------------- /migrations/0.0.4.lua: -------------------------------------------------------------------------------- 1 | for _, force in pairs(game.forces) do force.reset_recipes() force.reset_technologies() if force.technologies["construction-robotics"].researched then force.recipes["Robot-Charge-Station"].enabled = true end if force.technologies["logistic-robotics"].researched then force.recipes["Robot-Charge-Station"].enabled = true end end -------------------------------------------------------------------------------- /data.lua: -------------------------------------------------------------------------------- 1 | require("prototypes.entity.RoboCharge") 2 | require("prototypes.item.RoboCharge") 3 | require("prototypes.recipe.RoboCharge") 4 | 5 | table.insert(data.raw["technology"]["construction-robotics"].effects,{type = "unlock-recipe",recipe = "Robot-Charge-Station"}) 6 | table.insert(data.raw["technology"]["logistic-robotics"].effects,{type = "unlock-recipe",recipe = "Robot-Charge-Station"}) -------------------------------------------------------------------------------- /prototypes/item/RoboCharge.lua: -------------------------------------------------------------------------------- 1 | data:extend({ 2 | 3 | { 4 | type = "item", 5 | name = "Robot-Charge-Station", 6 | icon = "__RoboCharge__/graphics/Robot-Charge-Station-icon.png", 7 | flags = {"goes-to-quickbar"}, 8 | subgroup = "logistic-network", 9 | order = "c[signal]-a[roboport]", 10 | place_result = "Robot-Charge-Station", 11 | stack_size = 16 12 | } 13 | 14 | }) -------------------------------------------------------------------------------- /prototypes/recipe/RoboCharge.lua: -------------------------------------------------------------------------------- 1 | data:extend({ 2 | 3 | { 4 | type = "recipe", 5 | name = "Robot-Charge-Station", 6 | enabled = "false", 7 | ingredients = 8 | { 9 | {"steel-plate", 10}, 10 | {"copper-cable", 15}, 11 | {"electronic-circuit", 15}, 12 | {"advanced-circuit", 15} 13 | }, 14 | result = "Robot-Charge-Station", 15 | energy_required = 12 16 | } 17 | 18 | }) -------------------------------------------------------------------------------- /info.json: -------------------------------------------------------------------------------- 1 | { 2 | "name":"RoboCharge", 3 | "version":"0.0.8", 4 | "title":"Robot Charging Station", 5 | "author":"Braddock (Graphics by Bobingabout) (Edited by Hertizch)", 6 | "contact":"", 7 | "homepage":"https://github.com/Hertizch/RoboCharge", 8 | "description":"Mod that adds a new small tower that can recharge robots, though they can't dock with it.", 9 | "factorio_version":"0.14", 10 | "dependencies":["base >= 0.13.0"] 11 | } 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Lua sources 2 | luac.out 3 | 4 | # luarocks build files 5 | *.src.rock 6 | *.zip 7 | *.tar.gz 8 | 9 | # Object files 10 | *.o 11 | *.os 12 | *.ko 13 | *.obj 14 | *.elf 15 | 16 | # Precompiled Headers 17 | *.gch 18 | *.pch 19 | 20 | # Libraries 21 | *.lib 22 | *.a 23 | *.la 24 | *.lo 25 | *.def 26 | *.exp 27 | 28 | # Shared objects (inc. Windows DLLs) 29 | *.dll 30 | *.so 31 | *.so.* 32 | *.dylib 33 | 34 | # Executables 35 | *.exe 36 | *.out 37 | *.app 38 | *.i*86 39 | *.x86_64 40 | *.hex 41 | 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RoboCharge 2 | Mod that adds a new small tower that can recharge robots, though they can't dock with it. 3 | 4 | # Credits 5 | - This mod is originally made by Factorio forum user Braddock (https://forums.factorio.com/viewtopic.php?f=87&t=3798). 6 | - Robot tower graphics courtesy of Bob's Logistics mod by user Bobingabout (https://forums.factorio.com/viewtopic.php?f=51&t=6987). 7 | 8 | # Installation 9 | - Can be installed in-game (search for robot charging station or robocharge). 10 | - Download zip file from release section and place in your mods folder. 11 | 12 | # Changelog 13 | ### 0.0.8: 14 | - Added support for Factorio 0.14. 15 | 16 | ### 0.0.7: 17 | - Added: Sound effects. 18 | - Changed: max_health from 200 to 300. 19 | - Changed: input_flow_limit to 5MW (To match normal roboport). 20 | - Changed: buffer_capacity to 100MJ (To match normal roboport). 21 | - Changed: recharge_minimum to 40MJ (To match normal roboport). 22 | - Changed: energy_usage to 50kW (To match normal roboport). 23 | - Changed: charging_energy to 1000kW (To match normal roboport). 24 | 25 | ### 0.0.6: 26 | - Initial release. 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /prototypes/entity/RoboCharge.lua: -------------------------------------------------------------------------------- 1 | data:extend({ { type = "roboport", name = "Robot-Charge-Station", icon = "__RoboCharge__/graphics/Robot-Charge-Station-icon.png", flags = {"placeable-player", "player-creation"}, minable = {hardness = 0.2, mining_time = 0.5, result = "Robot-Charge-Station"}, max_health = 300, corpse = "medium-remnants", collision_box = {{-0.7, -0.7}, {0.7, 0.7}}, selection_box = {{-1, -1}, {1, 1}}, energy_source = { type = "electric", usage_priority = "secondary-input", input_flow_limit = "5MW", buffer_capacity = "100MJ" }, recharge_minimum = "40MJ", energy_usage = "50kW", -- per one charge slot charging_energy = "1000kW", logistics_radius = 10, construction_radius = 15, charge_approach_distance = 5, robot_slots_count = 0, material_slots_count = 0, stationing_offset = {0, 0}, charging_offsets = { {0, -1.7}, }, base = { filename = "__RoboCharge__/graphics/Robot-Charge-Station.png", width = 136, height = 132, shift = {1, -0.75} }, base_patch = { filename = "__RoboCharge__/graphics/1x1.png", priority = "low", width = 0, height = 0, frame_count = 1, shift = {-0.5315, -1.9375} }, base_animation = { filename = "__RoboCharge__/graphics/roboport-chargepad.png", priority = "medium", width = 32, height = 32, frame_count = 6, shift = {0, -2.28125}, animation_speed = 0.1, }, door_animation = { filename = "__RoboCharge__/graphics/1x1.png", priority = "low", width = 0, height = 0, frame_count = 1, shift = {0, -0.6} }, door_animation_up = { filename = "__RoboCharge__/graphics/1x1.png", priority = "low", width = 0, height = 0, frame_count = 1, shift = {0, -0.6} }, door_animation_down = { filename = "__RoboCharge__/graphics/1x1.png", priority = "low", width = 0, height = 0, frame_count = 1, shift = {0, -0.6} }, recharging_animation = { filename = "__base__/graphics/entity/roboport/roboport-recharging.png", priority = "high", width = 37, height = 35, frame_count = 16, scale = 1.5, animation_speed = 0.5 }, working_sound = { sound = { filename = "__base__/sound/roboport-working.ogg", volume = 0.4 }, max_sounds_per_type = 3, audible_distance_modifier = 0.3, probability = 1 / (5 * 60) -- average pause between the sound is 5 seconds }, recharging_light = {intensity = 0.4, size = 5}, request_to_open_door_timeout = 15, spawn_and_station_height = 0.33, radius_visualisation_picture = { filename = "__base__/graphics/entity/roboport/roboport-radius-visualization.png", width = 12, height = 12 }, construction_radius_visualisation_picture = { filename = "__base__/graphics/entity/roboport/roboport-construction-radius-visualization.png", width = 12, height = 12 } } }) --------------------------------------------------------------------------------