diff --git a/README.md b/README.md index 659674a..4c79f8d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ # Rocket_Turrets - [Factorio Mod] This mod adds 5 tier rocket turrets to make rockets more important in game, 0.18 style. +![mod thumbnail](https://raw.githubusercontent.com/Wyrrrd/Rocket_Turrets/master/thumbnail.png) + +(Please note: This is a quick and dirty port to 0.18. As soon as the original is ported to 0.18, this will be removed.) + +Description +- This mod adds rocket turrets to make rockets more important in game. Mod is designed to work only with Bobmod's because on materials and 5 tiers. +- Please think a moment before you load atomic rockets... because you wont end well... + +Planned Features +- Merge Bob version (this one) with [vanilla version](https://mods.factorio.com/mod/RocketTurretsNonBob) to make one + +Credit: +- Thanks to [Kamsta99](https://mods.factorio.com/user/Kamsta99) for the [original mod](https://mods.factorio.com/mod/RocketTurrets). \ No newline at end of file diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..0bda332 --- /dev/null +++ b/changelog.txt @@ -0,0 +1,29 @@ +--------------------------------------------------------------------------------------------------- +Version: 0.18.0 +Date: 18. 2. 2020 + Changes: + - Ported to 0.18 + - Added german locale + - Added changelog file + - Renamed mod + - Matched versioning to Factorio versions +--------------------------------------------------------------------------------------------------- +Version: 0.0.5 + Changes: + - Factorio 0.17 update, with HR rework of entites. Have fun ! +--------------------------------------------------------------------------------------------------- +Version: 0.0.4 + Changes: + - Added variable in reciples, should fix recipe error. Should use now base game electronic which will be replaced when using Bob Electronic. In theory ... xD +--------------------------------------------------------------------------------------------------- +Version: 0.0.3 + Changes: + - Updated dependencies +--------------------------------------------------------------------------------------------------- +Version: 0.0.2 + Changes: + - Balance for tech req and balance for attack speed +--------------------------------------------------------------------------------------------------- +Version: 0.0.1 + Info: + - Release \ No newline at end of file diff --git a/data.lua b/data.lua new file mode 100644 index 0000000..05f8b9d --- /dev/null +++ b/data.lua @@ -0,0 +1,6 @@ +--data.lua + +require("prototypes.entity") +require("prototypes.item") +require("prototypes.recipe") +require("prototypes.technology") diff --git a/graphics/entity/hr-rocket-mk1-sheet.png b/graphics/entity/hr-rocket-mk1-sheet.png new file mode 100644 index 0000000..5f5e119 Binary files /dev/null and b/graphics/entity/hr-rocket-mk1-sheet.png differ diff --git a/graphics/entity/hr-rocket-mk2-sheet.png b/graphics/entity/hr-rocket-mk2-sheet.png new file mode 100644 index 0000000..7c5b96a Binary files /dev/null and b/graphics/entity/hr-rocket-mk2-sheet.png differ diff --git a/graphics/entity/hr-rocket-mk3-sheet.png b/graphics/entity/hr-rocket-mk3-sheet.png new file mode 100644 index 0000000..2873418 Binary files /dev/null and b/graphics/entity/hr-rocket-mk3-sheet.png differ diff --git a/graphics/entity/hr-rocket-mk4-sheet.png b/graphics/entity/hr-rocket-mk4-sheet.png new file mode 100644 index 0000000..ebe9e46 Binary files /dev/null and b/graphics/entity/hr-rocket-mk4-sheet.png differ diff --git a/graphics/entity/hr-rocket-mk5-sheet.png b/graphics/entity/hr-rocket-mk5-sheet.png new file mode 100644 index 0000000..9cedba4 Binary files /dev/null and b/graphics/entity/hr-rocket-mk5-sheet.png differ diff --git a/graphics/entity/rocket-mk1-sheet.png b/graphics/entity/rocket-mk1-sheet.png new file mode 100644 index 0000000..d150ce2 Binary files /dev/null and b/graphics/entity/rocket-mk1-sheet.png differ diff --git a/graphics/entity/rocket-mk2-sheet.png b/graphics/entity/rocket-mk2-sheet.png new file mode 100644 index 0000000..6490138 Binary files /dev/null and b/graphics/entity/rocket-mk2-sheet.png differ diff --git a/graphics/entity/rocket-mk3-sheet.png b/graphics/entity/rocket-mk3-sheet.png new file mode 100644 index 0000000..deab4e2 Binary files /dev/null and b/graphics/entity/rocket-mk3-sheet.png differ diff --git a/graphics/entity/rocket-mk4-sheet.png b/graphics/entity/rocket-mk4-sheet.png new file mode 100644 index 0000000..083b0b4 Binary files /dev/null and b/graphics/entity/rocket-mk4-sheet.png differ diff --git a/graphics/entity/rocket-mk5-sheet.png b/graphics/entity/rocket-mk5-sheet.png new file mode 100644 index 0000000..df3675b Binary files /dev/null and b/graphics/entity/rocket-mk5-sheet.png differ diff --git a/graphics/icon/turret-rocket-mk1-icon.png b/graphics/icon/turret-rocket-mk1-icon.png new file mode 100644 index 0000000..1abd26a Binary files /dev/null and b/graphics/icon/turret-rocket-mk1-icon.png differ diff --git a/graphics/icon/turret-rocket-mk2-icon.png b/graphics/icon/turret-rocket-mk2-icon.png new file mode 100644 index 0000000..f66d07f Binary files /dev/null and b/graphics/icon/turret-rocket-mk2-icon.png differ diff --git a/graphics/icon/turret-rocket-mk3-icon.png b/graphics/icon/turret-rocket-mk3-icon.png new file mode 100644 index 0000000..62cbfa2 Binary files /dev/null and b/graphics/icon/turret-rocket-mk3-icon.png differ diff --git a/graphics/icon/turret-rocket-mk4-icon.png b/graphics/icon/turret-rocket-mk4-icon.png new file mode 100644 index 0000000..321e614 Binary files /dev/null and b/graphics/icon/turret-rocket-mk4-icon.png differ diff --git a/graphics/icon/turret-rocket-mk5-icon.png b/graphics/icon/turret-rocket-mk5-icon.png new file mode 100644 index 0000000..4a329ed Binary files /dev/null and b/graphics/icon/turret-rocket-mk5-icon.png differ diff --git a/graphics/technology/rocket-turret-mk1.png b/graphics/technology/rocket-turret-mk1.png new file mode 100644 index 0000000..d3783c1 Binary files /dev/null and b/graphics/technology/rocket-turret-mk1.png differ diff --git a/graphics/technology/rocket-turret-mk2.png b/graphics/technology/rocket-turret-mk2.png new file mode 100644 index 0000000..226cc8c Binary files /dev/null and b/graphics/technology/rocket-turret-mk2.png differ diff --git a/graphics/technology/rocket-turret-mk3.png b/graphics/technology/rocket-turret-mk3.png new file mode 100644 index 0000000..f87a33f Binary files /dev/null and b/graphics/technology/rocket-turret-mk3.png differ diff --git a/graphics/technology/rocket-turret-mk4.png b/graphics/technology/rocket-turret-mk4.png new file mode 100644 index 0000000..ca4fd24 Binary files /dev/null and b/graphics/technology/rocket-turret-mk4.png differ diff --git a/graphics/technology/rocket-turret-mk5.png b/graphics/technology/rocket-turret-mk5.png new file mode 100644 index 0000000..0ab4130 Binary files /dev/null and b/graphics/technology/rocket-turret-mk5.png differ diff --git a/info.json b/info.json new file mode 100644 index 0000000..99b946a --- /dev/null +++ b/info.json @@ -0,0 +1,11 @@ +{ + "name": "Rocket_Turrets", + "version": "0.18.0", + "title": "RocketTurrets", + "author": "Wyrrrd", + "contact": "", + "homepage": "", + "factorio_version": "0.18", + "dependencies": ["base >= 0.18.0", "boblibrary >= 0.18.0", "bobplates >= 0.18.0", "bobelectronics >= 0.18.0"], + "description": "Adds rocket turrets" +} \ No newline at end of file diff --git a/locale/de/locale.cfg b/locale/de/locale.cfg new file mode 100644 index 0000000..3b8247f --- /dev/null +++ b/locale/de/locale.cfg @@ -0,0 +1,20 @@ +[item-name] +rocket-turret-mk1=Raketen-Geschützturm MK1 +rocket-turret-mk2=Raketen-Geschützturm MK2 +rocket-turret-mk3=Raketen-Geschützturm MK3 +rocket-turret-mk4=Raketen-Geschützturm MK4 +rocket-turret-mk5=Raketen-Geschützturm MK5 + +[entity-name] +rocket-turret-mk1=Raketen-Geschützturm MK1 +rocket-turret-mk2=Raketen-Geschützturm MK2 +rocket-turret-mk3=Raketen-Geschützturm MK3 +rocket-turret-mk4=Raketen-Geschützturm MK4 +rocket-turret-mk5=Raketen-Geschützturm MK5 + +[technology-name] +rocket-turret-mk1=Raketen-Geschützturm MK1 +rocket-turret-mk2=Raketen-Geschützturm MK2 +rocket-turret-mk3=Raketen-Geschützturm MK3 +rocket-turret-mk4=Raketen-Geschützturm MK4 +rocket-turret-mk5=Raketen-Geschützturm MK5 \ No newline at end of file diff --git a/locale/en/locale.cfg b/locale/en/locale.cfg new file mode 100644 index 0000000..e0ef8c0 --- /dev/null +++ b/locale/en/locale.cfg @@ -0,0 +1,20 @@ +[item-name] +rocket-turret-mk1=Rocket turret MK1 +rocket-turret-mk2=Rocket turret MK2 +rocket-turret-mk3=Rocket turret MK3 +rocket-turret-mk4=Rocket turret MK4 +rocket-turret-mk5=Rocket turret MK5 + +[entity-name] +rocket-turret-mk1=Rocket turret MK1 +rocket-turret-mk2=Rocket turret MK2 +rocket-turret-mk3=Rocket turret MK3 +rocket-turret-mk4=Rocket turret MK4 +rocket-turret-mk5=Rocket turret MK5 + +[technology-name] +rocket-turret-mk1=Rocket turret MK1 +rocket-turret-mk2=Rocket turret MK2 +rocket-turret-mk3=Rocket turret MK3 +rocket-turret-mk4=Rocket turret MK4 +rocket-turret-mk5=Rocket turret MK5 \ No newline at end of file diff --git a/locale/pl/locale.cfg b/locale/pl/locale.cfg new file mode 100644 index 0000000..1d0e9e7 --- /dev/null +++ b/locale/pl/locale.cfg @@ -0,0 +1,20 @@ +[item-name] +rocket-turret-mk1=Działko rakietowe MK1 +rocket-turret-mk2=Działko rakietowe MK2 +rocket-turret-mk3=Działko rakietowe MK3 +rocket-turret-mk4=Działko rakietowe MK4 +rocket-turret-mk5=Działko rakietowe MK5 + +[entity-name] +rocket-turret-mk1=Działko rakietowe MK1 +rocket-turret-mk2=Działko rakietowe MK2 +rocket-turret-mk3=Działko rakietowe MK3 +rocket-turret-mk4=Działko rakietowe MK4 +rocket-turret-mk5=Działko rakietowe MK5 + +[technology-name] +rocket-turret-mk1=Działko rakietowe MK1 +rocket-turret-mk2=Działko rakietowe MK2 +rocket-turret-mk3=Działko rakietowe MK3 +rocket-turret-mk4=Działko rakietowe MK4 +rocket-turret-mk5=Działko rakietowe MK5 \ No newline at end of file diff --git a/prototypes/entity.lua b/prototypes/entity.lua new file mode 100644 index 0000000..a6aacf5 --- /dev/null +++ b/prototypes/entity.lua @@ -0,0 +1,478 @@ + +function rocket_mk1_sheet(inputs) +return +{ + layers = + { + { + filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png", + priority = "medium", + scale = 1, + width = 72, + height = 80, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + hr_version = + { + filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png", + priority = "medium", + scale = 0.5, + width = 144, + height = 160, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + } + } + } +} +end + +function rocket_mk2_sheet(inputs) +return +{ + layers = + { + { + filename = "__Rocket_Turrets__/graphics/entity/rocket-mk2-sheet.png", + priority = "medium", + scale = 1, + width = 72, + height = 80, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + hr_version = + { + filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk2-sheet.png", + priority = "medium", + scale = 0.5, + width = 144, + height = 160, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + } + } + } +} +end + +function rocket_mk3_sheet(inputs) +return +{ + layers = + { + { + filename = "__Rocket_Turrets__/graphics/entity/rocket-mk3-sheet.png", + priority = "medium", + scale = 1, + width = 72, + height = 80, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + hr_version = + { + filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk3-sheet.png", + priority = "medium", + scale = 0.5, + width = 144, + height = 160, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + } + } + } +} +end + +function rocket_mk4_sheet(inputs) +return +{ + layers = + { + { + filename = "__Rocket_Turrets__/graphics/entity/rocket-mk4-sheet.png", + priority = "medium", + scale = 1, + width = 72, + height = 80, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + hr_version = + { + filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk4-sheet.png", + priority = "medium", + scale = 0.5, + width = 144, + height = 160, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + } + } + } +} +end + +function rocket_mk5_sheet(inputs) +return +{ + layers = + { + { + filename = "__Rocket_Turrets__/graphics/entity/rocket-mk5-sheet.png", + priority = "medium", + scale = 1, + width = 72, + height = 80, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + hr_version = + { + filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk5-sheet.png", + priority = "medium", + scale = 0.5, + width = 144, + height = 160, + direction_count = inputs.direction_count and inputs.direction_count or 64, + frame_count = 1, + line_length = inputs.line_length and inputs.line_length or 16, + axially_symmetrical = false, + run_mode = inputs.run_mode and inputs.run_mode or "forward", + shift = { 0.25, -0.5 }, + } + } + } +} +end + +data:extend({ +{ + type = "ammo-turret", + name = "rocket-turret-mk1", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk1-icon.png", + icon_size = 32, + flags = {"placeable-player", "player-creation"}, + minable = {mining_time = 0.7, result = "rocket-turret-mk1"}, + max_health = 400, + corpse = "small-remnants", + collision_box = {{-0.7, -0.7 }, {0.7, 0.7}}, + selection_box = {{-1, -1 }, {1, 1}}, + rotation_speed = 0.008, + preparing_speed = 0.04, + folding_speed = 0.04, + dying_explosion = "medium-explosion", + inventory_size = 1, + automated_ammo_count = 10, + attacking_speed = 0.08, + + folded_animation = rocket_mk1_sheet{direction_count = 4, line_length = 1}, + preparing_animation = rocket_mk1_sheet{direction_count = 4, line_length = 1}, + prepared_animation = rocket_mk1_sheet{}, + attacking_animation = rocket_mk1_sheet{}, + folding_animation = rocket_mk1_sheet{direction_count = 4, line_length = 1, run_mode = "backward"}, + + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + + attack_parameters = + { + type = "projectile", + ammo_category = "rocket", + cooldown = 75, + projectile_creation_distance = 1.2, + projectile_center = {-0.15625, -0.07812}, + damage_modifier = 1, + shell_particle = + { + name = "shell-particle", + direction_deviation = 0.1, + speed = 0.1, + speed_deviation = 0.03, + center = {0, 0}, + creation_distance = -1.925, + starting_frame_speed = 0.2, + starting_frame_speed_deviation = 0.1 + }, + range = 32, + min_range = 15, + sound = + { + { + filename = "__base__/sound/fight/rocket-launcher.ogg", + volume = 0.8 + } + }, + }, + + call_for_help_radius = 40 +}, +{ + type = "ammo-turret", + name = "rocket-turret-mk2", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk2-icon.png", + icon_size = 32, + flags = {"placeable-player", "player-creation"}, + minable = {mining_time = 0.7, result = "rocket-turret-mk2"}, + max_health = 500, + corpse = "small-remnants", + collision_box = {{-0.7, -0.7 }, {0.7, 0.7}}, + selection_box = {{-1, -1 }, {1, 1}}, + rotation_speed = 0.008, + preparing_speed = 0.04, + folding_speed = 0.04, + dying_explosion = "medium-explosion", + inventory_size = 1, + automated_ammo_count = 10, + attacking_speed = 0.085, + + folded_animation = rocket_mk2_sheet{direction_count = 4, line_length = 1}, + preparing_animation = rocket_mk2_sheet{direction_count = 4, line_length = 1}, + prepared_animation = rocket_mk2_sheet{}, + attacking_animation = rocket_mk2_sheet{}, + folding_animation = rocket_mk2_sheet{direction_count = 4, line_length = 1, run_mode = "backward"}, + + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + + attack_parameters = + { + type = "projectile", + ammo_category = "rocket", + cooldown = 75, + projectile_creation_distance = 1.2, + projectile_center = {-0.15625, -0.07812}, + damage_modifier = 1.25, + shell_particle = + { + name = "shell-particle", + direction_deviation = 0.1, + speed = 0.1, + speed_deviation = 0.03, + center = {0, 0}, + creation_distance = -1.925, + starting_frame_speed = 0.2, + starting_frame_speed_deviation = 0.1 + }, + range = 34, + min_range = 15, + sound = + { + { + filename = "__base__/sound/fight/rocket-launcher.ogg", + volume = 0.8 + } + }, + }, + + call_for_help_radius = 40 +}, +{ + type = "ammo-turret", + name = "rocket-turret-mk3", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk3-icon.png", + icon_size = 32, + flags = {"placeable-player", "player-creation"}, + minable = {mining_time = 0.7, result = "rocket-turret-mk3"}, + max_health = 600, + corpse = "small-remnants", + collision_box = {{-0.7, -0.7 }, {0.7, 0.7}}, + selection_box = {{-1, -1 }, {1, 1}}, + rotation_speed = 0.008, + preparing_speed = 0.04, + folding_speed = 0.04, + dying_explosion = "medium-explosion", + inventory_size = 1, + automated_ammo_count = 10, + attacking_speed = 0.09, + + folded_animation = rocket_mk3_sheet{direction_count = 4, line_length = 1}, + preparing_animation = rocket_mk3_sheet{direction_count = 4, line_length = 1}, + prepared_animation = rocket_mk3_sheet{}, + attacking_animation = rocket_mk3_sheet{}, + folding_animation = rocket_mk3_sheet{direction_count = 4, line_length = 1, run_mode = "backward"}, + + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + + attack_parameters = + { + type = "projectile", + ammo_category = "rocket", + cooldown = 75, + projectile_creation_distance = 1.2, + projectile_center = {-0.15625, -0.07812}, + damage_modifier = 1.5, + shell_particle = + { + name = "shell-particle", + direction_deviation = 0.1, + speed = 0.1, + speed_deviation = 0.03, + center = {0, 0}, + creation_distance = -1.925, + starting_frame_speed = 0.2, + starting_frame_speed_deviation = 0.1 + }, + range = 36, + min_range = 15, + sound = + { + { + filename = "__base__/sound/fight/rocket-launcher.ogg", + volume = 0.8 + } + }, + }, + + call_for_help_radius = 40 +}, +{ + type = "ammo-turret", + name = "rocket-turret-mk4", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk4-icon.png", + icon_size = 32, + flags = {"placeable-player", "player-creation"}, + minable = {mining_time = 0.7, result = "rocket-turret-mk4"}, + max_health = 700, + corpse = "small-remnants", + collision_box = {{-0.7, -0.7 }, {0.7, 0.7}}, + selection_box = {{-1, -1 }, {1, 1}}, + rotation_speed = 0.008, + preparing_speed = 0.04, + folding_speed = 0.04, + dying_explosion = "medium-explosion", + inventory_size = 2, + automated_ammo_count = 10, + attacking_speed = 0.95, + + folded_animation = rocket_mk4_sheet{direction_count = 4, line_length = 1}, + preparing_animation = rocket_mk4_sheet{direction_count = 4, line_length = 1}, + prepared_animation = rocket_mk4_sheet{}, + attacking_animation = rocket_mk4_sheet{}, + folding_animation = rocket_mk4_sheet{direction_count = 4, line_length = 1, run_mode = "backward"}, + + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + + attack_parameters = + { + type = "projectile", + ammo_category = "rocket", + cooldown = 75, + projectile_creation_distance = 1.2, + projectile_center = {-0.15625, -0.07812}, + damage_modifier = 1.75, + shell_particle = + { + name = "shell-particle", + direction_deviation = 0.1, + speed = 0.1, + speed_deviation = 0.03, + center = {0, 0}, + creation_distance = -1.925, + starting_frame_speed = 0.2, + starting_frame_speed_deviation = 0.1 + }, + range = 38, + min_range = 15, + sound = + { + { + filename = "__base__/sound/fight/rocket-launcher.ogg", + volume = 0.8 + } + }, + }, + + call_for_help_radius = 40 +}, +{ + type = "ammo-turret", + name = "rocket-turret-mk5", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk5-icon.png", + icon_size = 32, + flags = {"placeable-player", "player-creation"}, + minable = {mining_time = 0.7, result = "rocket-turret-mk5"}, + max_health = 800, + corpse = "small-remnants", + collision_box = {{-0.7, -0.7 }, {0.7, 0.7}}, + selection_box = {{-1, -1 }, {1, 1}}, + rotation_speed = 0.008, + preparing_speed = 0.04, + folding_speed = 0.04, + dying_explosion = "medium-explosion", + inventory_size = 3, + automated_ammo_count = 10, + attacking_speed = 0.1, + + folded_animation = rocket_mk5_sheet{direction_count = 4, line_length = 1}, + preparing_animation = rocket_mk5_sheet{direction_count = 4, line_length = 1}, + prepared_animation = rocket_mk5_sheet{}, + attacking_animation = rocket_mk5_sheet{}, + folding_animation = rocket_mk5_sheet{direction_count = 4, line_length = 1, run_mode = "backward"}, + + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + + attack_parameters = + { + type = "projectile", + ammo_category = "rocket", + cooldown = 75, + projectile_creation_distance = 1.2, + projectile_center = {-0.15625, -0.07812}, + damage_modifier = 2, + shell_particle = + { + name = "shell-particle", + direction_deviation = 0.1, + speed = 0.1, + speed_deviation = 0.03, + center = {0, 0}, + creation_distance = -1.925, + starting_frame_speed = 0.2, + starting_frame_speed_deviation = 0.1 + }, + range = 40, + min_range = 15, + sound = + { + { + filename = "__base__/sound/fight/rocket-launcher.ogg", + volume = 0.8 + } + }, + }, + + call_for_help_radius = 40 +}, +}) \ No newline at end of file diff --git a/prototypes/item.lua b/prototypes/item.lua new file mode 100644 index 0000000..145c601 --- /dev/null +++ b/prototypes/item.lua @@ -0,0 +1,53 @@ +--item +data:extend({ +{ + type = "item", + name = "rocket-turret-mk1", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk1-icon.png", + icon_size = 32, + subgroup = "defensive-structure", + order = "b[turret]-c[base]-d[rocket-mk1]", + place_result = "rocket-turret-mk1", + stack_size = 50, +}, +{ + type = "item", + name = "rocket-turret-mk2", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk2-icon.png", + icon_size = 32, + subgroup = "defensive-structure", + order = "b[turret]-c[base]-d[rocket-mk2]", + place_result = "rocket-turret-mk2", + stack_size = 50, +}, +{ + type = "item", + name = "rocket-turret-mk3", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk3-icon.png", + icon_size = 32, + subgroup = "defensive-structure", + order = "b[turret]-c[base]-d[rocket-mk3]", + place_result = "rocket-turret-mk3", + stack_size = 50, +}, +{ + type = "item", + name = "rocket-turret-mk4", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk4-icon.png", + icon_size = 32, + subgroup = "defensive-structure", + order = "b[turret]-c[base]-d[rocket-mk4]", + place_result = "rocket-turret-mk4", + stack_size = 50, +}, +{ + type = "item", + name = "rocket-turret-mk5", + icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk5-icon.png", + icon_size = 32, + subgroup = "defensive-structure", + order = "b[turret]-c[base]-d[rocket-mk5]", + place_result = "rocket-turret-mk5", + stack_size = 50, +}, +}) diff --git a/prototypes/recipe.lua b/prototypes/recipe.lua new file mode 100644 index 0000000..dfa0786 --- /dev/null +++ b/prototypes/recipe.lua @@ -0,0 +1,83 @@ +--recipe +data:extend({ +{ + type = "recipe", + name = "rocket-turret-mk1", + enabled = false, + energy_required = 10, + ingredients = + { + {"rocket-launcher", 10}, + {"iron-gear-wheel", 5}, + {"steel-plate", 20}, + {"electronic-circuit", 15}, + }, + result = "rocket-turret-mk1", +}, +{ + type = "recipe", + name = "rocket-turret-mk2", + enabled = false, + energy_required = 10, + ingredients = + { + {"rocket-turret-mk1", 1}, + {"steel-gear-wheel", 10}, + {"steel-plate", 20}, + {"battery", 5}, + {"electronic-circuit", 5}, + }, + result = "rocket-turret-mk2", +}, +{ + type = "recipe", + name = "rocket-turret-mk3", + enabled = false, + energy_required = 10, + ingredients = + { + {"rocket-turret-mk2", 1}, + {"steel-bearing", 10}, + {"invar-alloy", 20}, + {"advanced-circuit", 20}, + }, + result = "rocket-turret-mk3", +}, +{ + type = "recipe", + name = "rocket-turret-mk4", + enabled = false, + energy_required = 10, + ingredients = + { + {"rocket-turret-mk3", 1}, + {"titanium-gear-wheel", 10}, + {"titanium-plate", 20}, + {"processing-unit", 20}, + }, + result = "rocket-turret-mk4", +}, +{ + type = "recipe", + name = "rocket-turret-mk5", + enabled = false, + energy_required = 10, + ingredients = + { + {"rocket-turret-mk4", 1}, + {"nitinol-gear-wheel", 10}, + {"nitinol-alloy", 20}, + {"processing-unit", 20}, + }, + result = "rocket-turret-mk5", +}, +}) + +if data.raw.item["advanced-processing-unit"] then + data.raw.recipe["rocket-turret-mk5"].ingredients = { + {"rocket-turret-mk4", 1}, + {"nitinol-gear-wheel", 10}, + {"nitinol-alloy", 20}, + {"advanced-processing-unit", 20}, +} +end \ No newline at end of file diff --git a/prototypes/technology.lua b/prototypes/technology.lua new file mode 100644 index 0000000..d644777 --- /dev/null +++ b/prototypes/technology.lua @@ -0,0 +1,157 @@ +data:extend( +{ + { + type = "technology", + name = "rocket-turret-mk1", + icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk1.png", + icon_size = 128, + effects = + { + { + type = "unlock-recipe", + recipe = "rocket-turret-mk1", + }, + }, + prerequisites = + { + "rocketry", + "turrets", + "steel-processing", + }, + unit = + { + count = 75, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"military-science-pack", 1}, + }, + time = 20 + }, + order = "c-a" + }, + { + type = "technology", + name = "rocket-turret-mk2", + icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk2.png", + icon_size = 128, + effects = + { + { + type = "unlock-recipe", + recipe = "rocket-turret-mk2", + }, + }, + prerequisites = + { + "rocket-turret-mk1", + }, + unit = + { + count = 75, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"military-science-pack", 1}, + }, + time = 20 + }, + order = "c-a" + }, + { + type = "technology", + name = "rocket-turret-mk3", + icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk3.png", + icon_size = 128, + effects = + { + { + type = "unlock-recipe", + recipe = "rocket-turret-mk3", + }, + }, + prerequisites = + { + "rocket-turret-mk2", + "invar-processing", + }, + unit = + { + count = 100, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"production-science-pack", 1} + }, + time = 30 + }, + order = "c-a" + }, + { + type = "technology", + name = "rocket-turret-mk4", + icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk4.png", + icon_size = 128, + effects = + { + { + type = "unlock-recipe", + recipe = "rocket-turret-mk4", + }, + }, + prerequisites = + { + "rocket-turret-mk3", + "titanium-processing", + }, + unit = + { + count = 100, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"production-science-pack", 1} + }, + time = 30 + }, + order = "c-a" + }, + { + type = "technology", + name = "rocket-turret-mk5", + icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk5.png", + icon_size = 128, + effects = + { + { + type = "unlock-recipe", + recipe = "rocket-turret-mk5", + }, + }, + prerequisites = + { + "rocket-turret-mk4", + "nitinol-processing", + }, + unit = + { + count = 125, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"production-science-pack", 1}, + }, + time = 30 + }, + order = "c-a" + }, +}) diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000..ffdeb12 Binary files /dev/null and b/thumbnail.png differ