1
0
mirror of https://github.com/Wyrrrd/Rocket_Turrets.git synced 2026-07-10 14:36:50 +02:00

10 Commits

Author SHA1 Message Date
Wyrrrd b0278680c0 Integration work
- Reworked integration with Bob's
- Added Booktorio integration
- Moved some files around
2020-04-03 10:40:44 +02:00
Wyrrrd 8f4dcf4491 Added wiki integration
Also moved graphics to be used by both info integrations
2020-03-29 14:46:31 +02:00
Wyrrrd e8620f14aa typos 2020-03-27 13:26:32 +01:00
Wyrrrd 7ac9ae254d Added informatron sample image 2020-03-27 13:23:15 +01:00
Wyrrrd 7ccdfc6592 Added informatron support 2020-03-16 14:15:23 +01:00
Wyrrrd e6bf131d29 Moved graphics
The turret mk1-5 graphics belong into the bobplates integration folder
2020-03-16 12:30:18 +01:00
Wyrrrd 416bc2892c Update README.md
Fixed typo
2020-03-16 00:17:10 +01:00
Wyrrrd 2ba82873b9 Various fixes
- Fixed some things still referring to rocket-turret-mk1
- Fixed recipe order
- Improved readability
2020-03-16 00:13:12 +01:00
Wyrrrd 0c0de13bd0 Reorganizing
- Moved integrations to separate directory
- Simplified check for bobplates
- Merged MK1 turret with vanilla turret
2020-03-11 21:26:03 +01:00
Wyrrrd 170056d8f7 Update README.md
Changed thumbnail size
2020-02-27 11:36:13 +01:00
34 changed files with 1094 additions and 845 deletions
+2
View File
@@ -0,0 +1,2 @@
*.zip
+16 -8
View File
@@ -1,12 +1,20 @@
# Rocket Turrets
![mod thumbnail](https://raw.githubusercontent.com/Wyrrrd/Rocket_Turrets/master/thumbnail.png)
<img src=https://raw.githubusercontent.com/Wyrrrd/Rocket_Turrets/master/thumbnail.png width="128" height="128">
(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.)
### Features
This mod adds a rocket turret to make rockets great again™. Sadly you would only get one single, boring, depressingly gray type of turret, unless you also play with Bob's Mods. Please think a moment before you load atomic rockets... because it probably won't end well...
Description:
- This mod adds rocket turrets to make rockets great again™.
- The mod is designed to work with Bob's, but you can also use it without. Sadly you would only get one single, boring, depressingly gray type of turret.
- Please think a moment before you load atomic rockets... because it probably won't end well...
### Compatibility
This mod should just work, but I specifically added compatibility for the following mods:
Credit:
- Thanks to [Kamsta99](https://mods.factorio.com/user/kamsta99) for the [original mod](https://mods.factorio.com/mod/RocketTurrets) and the [vanilla version](https://mods.factorio.com/mod/RocketTurretsNonBob).
+ [Bob's Warfare](https://mods.factorio.com/mod/bobplates) - more turrets (MK2-MK5)
+ [Bob's Metals, Chemicals and Intermediates](https://mods.factorio.com/mod/bobplates) - replace recipe ingredients similar to how Bob's Warfare depends on it
+ [Informatron](https://mods.factorio.com/mod/informatron) - informational page to explain functions and dangers
+ [Factorio Wiki Mod](https://mods.factorio.com/mod/wiki) - informational topic to explain functions and dangers
+ [Booktorio](https://mods.factorio.com/mod/Booktorio) - informational thread to explain functions and dangers
### Locale
If you want to contribute by translating this mod, you can view the existing translations [here](https://github.com/Wyrrrd/Rocket_Turrets/tree/master/locale). I'd be happy to add your language and credits to the next release. Especially the polish translation is in need of a proper informational page.
### Credit
- Thanks to [Kamsta99](https://mods.factorio.com/user/kamsta99) for the [original mod](https://mods.factorio.com/mod/RocketTurrets) and the [vanilla version](https://mods.factorio.com/mod/RocketTurretsNonBob).
+24 -6
View File
@@ -1,29 +1,47 @@
---------------------------------------------------------------------------------------------------
Version: 0.18.5
Date: 2020-04-02
Changes:
- Reworked integration with Bob's, now bobwarfare adds tiered turrets and bobplates replaces recipe ingredients (to be more in line with Bob's)
- Added Booktorio integration and dynamic informational page (also depending on bobwarfare)
- Moved some files around
---------------------------------------------------------------------------------------------------
Version: 0.18.4
Date: 2020-03-29
Features:
- Added Factorio Wiki Mod integration and dynamic informational page (also depending on bobplates)
---------------------------------------------------------------------------------------------------
Version: 0.18.3
Date: 2020-03-16
Features:
- Added Informatron integration and dynamic informational page (also depending on bobplates)
Changes:
- Moved integrations into separate directory
- Simplified check for bobplates
- Merged MK1 turret with vanilla turret (except for colour, fixes losing all turrets on adding bobplates)
---------------------------------------------------------------------------------------------------
Version: 0.18.2
Date: 25. 2. 2020
Date: 2020-02-25
Changes:
- Matched changelog file format to what Factorio expects
Graphics:
- Added HR textures for vanilla rocket turret entity (now also in lame gray)
Locale:
- Added translated mod description
---------------------------------------------------------------------------------------------------
Version: 0.18.1
Date: 21. 2. 2020
Date: 2020-02-21
Features:
- Added vanilla turret from Rocket Turrets Vanilla Version
- Added check for used items and technology from Bob's Metals, Chemicals and Intermediates to determine if tiered or vanilla turrets should be loaded
---------------------------------------------------------------------------------------------------
Version: 0.18.0
Date: 18. 2. 2020
Date: 2020-02-18
Changes:
- Ported to 0.18
- Added changelog file
- Renamed mod for upload in mod portal
- Matched versioning to Factorio versions
Locale:
- Added german locale
---------------------------------------------------------------------------------------------------
+5
View File
@@ -0,0 +1,5 @@
--control.lua
require("integrations.informatron.control")
require("integrations.wiki.control")
require("integrations.Booktorio.control")
+12 -22
View File
@@ -5,26 +5,16 @@ require("prototypes.item")
require("prototypes.recipe")
require("prototypes.technology")
local bob_flag = data.raw.item["steel-gear-wheel"] and data.raw.item["steel-bearing"] and data.raw.item["invar-alloy"] and data.raw.item["titanium-plate"] and data.raw.item["titanium-gear-wheel"] and data.raw.item["nitinol-alloy"] and data.raw.item["nitinol-gear-wheel"] and data.raw.technology["invar-processing"] and data.raw.technology["titanium-processing"] and data.raw.technology["nitinol-processing"]
local adv_flag = data.raw.item["advanced-processing-unit"]
data:extend({
rocket_entity,
rocket_item,
rocket_recipe,
rocket_tech
})
if bob_flag then
-- if bobplates enabled, load tiered turrets
data:extend({
entity1,item1,recipe1,tech1,
entity2,item2,recipe2,tech2,
entity3,item3,recipe3,tech3,
entity4,item4,recipe4,tech4,
entity5,item5,tech5
})
if adv_flag then
data:extend({recipe5_2})
else
data:extend({recipe5_1})
end
else
-- if not, load single boring gray turret
data:extend({
entity0,item0,recipe0,tech0
})
end
-- integrations
require("integrations.bobwarfare.data")
require("integrations.bobplates.data")
require("integrations.informatron.data")
require("integrations.wiki.data")
require("integrations.Booktorio.data")
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

+6 -2
View File
@@ -1,12 +1,16 @@
{
"name": "Rocket_Turrets",
"version": "0.18.2",
"version": "0.18.5",
"title": "RocketTurrets",
"author": "Wyrrrd",
"factorio_version": "0.18",
"dependencies": [
"base >= 0.18.0",
"? bobplates >= 0.18.1"
"? bobplates >= 0.18.1",
"? bobwarfare >= 0.18.3",
"? Booktorio >= 1.0.0",
"? informatron >= 0.1.5",
"? wiki >= 0.18.01"
],
"description": "Adds rocket turrets"
}
+79
View File
@@ -0,0 +1,79 @@
local rocketturrets_thread =
{
name = {"rocketturrets.menu_rocketturrets"},
specified_version = 0,
topics =
{
{
name = {"rocketturrets.title_rocketturrets"},
topic =
{
{type = "image", spritename = "booktorio-cover"},
{type = "text", text = "info.text_intro"}
}
},
{
name = {"info.heading_turrets"},
topic =
{
{type = "title", title = {"info.heading_turrets"}},
{type = "image", spritename = "booktorio-turrets"},
{type = "text", text = "info.text_turrets"}
}
},
{
name = {"info.heading_ammo"},
topic =
{
{type = "title", title = {"info.heading_ammo"}},
{type = "image", spritename = "booktorio-ammo"},
{type = "text", text = "info.text_ammo"}
}
}
}
}
local rocketturrets_bob_thread =
{
name = {"rocketturrets.menu_rocketturrets"},
specified_version = 0,
topics =
{
{
name = {"rocketturrets.title_rocketturrets"},
topic =
{
{type = "image", spritename = "booktorio-cover-bob"},
{type = "text", text = "info.text_intro"}
}
},
{
name = {"info.heading_turrets"},
topic =
{
{type = "image", spritename = "booktorio-turrets-bob"},
{type = "text", text = "info.text_turrets_bob"}
}
},
{
name = {"info.heading_ammo"},
topic =
{
{type = "image", spritename = "booktorio-ammo"},
{type = "text", text = "info.text_ammo"}
}
}
}
}
local function registerThread()
if remote.interfaces["Booktorio"] then
remote.call("Booktorio", "add_thread", rocketturrets_thread)
if script.active_mods["bobwarfare"] then
remote.call("Booktorio", "override_thread", rocketturrets_bob_thread)
end
end
end
script.on_init(registerThread)
script.on_configuration_changed(registerThread)
+45
View File
@@ -0,0 +1,45 @@
if mods["Booktorio"] then
data:extend(
{
{
type = "sprite",
name = "booktorio-ammo",
filename = "__Rocket_Turrets__/graphics/info/ammo.png",
width = 104,
height = 64,
scale = 1
},
{
type = "sprite",
name = "booktorio-cover",
filename = "__Rocket_Turrets__/graphics/info/cover.png",
width = 360,
height = 264,
scale = 1
},
{
type = "sprite",
name = "booktorio-cover-bob",
filename = "__Rocket_Turrets__/graphics/info/cover_bob.png",
width = 360,
height = 264,
scale = 1
},
{
type = "sprite",
name = "booktorio-turrets",
filename = "__Rocket_Turrets__/graphics/info/turrets.png",
width = 154,
height = 154,
scale = 1
},
{
type = "sprite",
name = "booktorio-turrets-bob",
filename = "__Rocket_Turrets__/graphics/info/turrets_bob.png",
width = 698,
height = 154,
scale = 1
}
})
end
+22
View File
@@ -0,0 +1,22 @@
require("integrations.bobplates.ingredients")
local add_prerequisite = function (tech, prereq)
table.insert(data.raw.technology[tech].prerequisites,prereq)
end
if mods["bobplates"] and mods["bobwarfare"] then
-- if bobplates enabled, change tiered turret recipes and tech (if existing)
data.raw.recipe["rocket-turret-mk2"].ingredients = rocket_mk2_ingred
data.raw.recipe["rocket-turret-mk3"].ingredients = rocket_mk3_ingred
table.insert(data.raw.technology["rocket-turret-mk3"].prerequisites,"zinc-processing")
table.insert(data.raw.technology["rocket-turret-mk3"].prerequisites,"invar-processing")
data.raw.recipe["rocket-turret-mk4"].ingredients = rocket_mk4_ingred
table.insert(data.raw.technology["rocket-turret-mk4"].prerequisites,"titanium-processing")
data.raw.recipe["rocket-turret-mk5"].ingredients = rocket_mk5_ingred
table.insert(data.raw.technology["rocket-turret-mk5"].prerequisites,"nitinol-processing")
end
+32
View File
@@ -0,0 +1,32 @@
--ingredients
rocket_mk2_ingred = {
{"rocket-turret", 1},
{"steel-gear-wheel", 10},
{"steel-plate", 20},
{"advanced-circuit", 20},
}
rocket_mk3_ingred = {
{"rocket-turret-mk2", 1},
{"brass-gear-wheel", 10},
{"invar-alloy", 20},
{"steel-bearing",10},
{"advanced-circuit", 20},
}
rocket_mk4_ingred = {
{"rocket-turret-mk3", 1},
{"titanium-gear-wheel", 10},
{"titanium-plate", 20},
{"titanium-bearing",10},
{"processing-unit", 20},
}
rocket_mk5_ingred = {
{"rocket-turret-mk4", 1},
{"nitinol-gear-wheel", 10},
{"nitinol-alloy", 20},
{"nitinol-bearing", 10},
{"advanced-processing-unit", 20},
}
+46
View File
@@ -0,0 +1,46 @@
require("integrations.bobwarfare.prototypes.entity")
require("integrations.bobwarfare.prototypes.item")
require("integrations.bobwarfare.prototypes.recipe")
require("integrations.bobwarfare.prototypes.technology")
if mods["bobwarfare"] then
-- if bobwarfare enabled, modify vanilla turret to be mk1 turret
data.raw["ammo-turret"]["rocket-turret"].folded_animation.layers[1].filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].folded_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].folding_animation.layers[1].filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].folding_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].prepared_animation.layers[1].filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].prepared_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].preparing_animation.layers[1].filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].preparing_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].attacking_animation.layers[1].filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].attacking_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].fast_replaceable_group = "turret"
data.raw["item"]["rocket-turret"].icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk1-icon.png"
data.raw["technology"]["rocket-turret"].icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk1.png"
-- if bobwarfare enabled, load tiered turrets
data:extend({
rocket_mk2_entity,
rocket_mk2_item,
rocket_mk2_recipe,
rocket_mk2_tech,
rocket_mk3_entity,
rocket_mk3_item,
rocket_mk3_recipe,
rocket_mk3_tech,
rocket_mk4_entity,
rocket_mk4_item,
rocket_mk4_recipe,
rocket_mk4_tech,
rocket_mk5_entity,
rocket_mk5_item,
rocket_mk5_recipe,
rocket_mk5_tech,
})
end
@@ -0,0 +1,392 @@
-- Sheet definition
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
-- Entity definition
rocket_mk2_entity = {
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 },
fast_replaceable_group = "turret",
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
}
rocket_mk3_entity = {
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 },
fast_replaceable_group = "turret",
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
}
rocket_mk4_entity = {
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 },
fast_replaceable_group = "turret",
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
}
rocket_mk5_entity = {
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 },
fast_replaceable_group = "turret",
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
}
@@ -0,0 +1,45 @@
--item
rocket_mk2_item = {
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,
}
rocket_mk3_item = {
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,
}
rocket_mk4_item = {
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,
}
rocket_mk5_item = {
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,
}
@@ -0,0 +1,65 @@
--recipe
rocket_mk2_recipe = {
type = "recipe",
name = "rocket-turret-mk2",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret", 1},
{"iron-gear-wheel", 10},
{"steel-plate", 20},
{"advanced-circuit", 20},
},
result = "rocket-turret-mk2",
order = "c-a"
}
rocket_mk3_recipe = {
type = "recipe",
name = "rocket-turret-mk3",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk2", 1},
{"iron-gear-wheel", 10},
{"steel-plate", 20},
{"advanced-circuit", 20},
},
result = "rocket-turret-mk3",
order = "c-a"
}
rocket_mk4_recipe = {
type = "recipe",
name = "rocket-turret-mk4",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk3", 1},
{"iron-gear-wheel", 10},
{"steel-plate", 20},
{"processing-unit", 20},
},
result = "rocket-turret-mk4",
order = "c-a"
}
rocket_mk5_recipe = {
type = "recipe",
name = "rocket-turret-mk5",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk4", 1},
{"iron-gear-wheel", 10},
{"steel-plate", 20},
{"processing-unit", 20},
},
result = "rocket-turret-mk5",
order = "c-a"
}
@@ -0,0 +1,123 @@
rocket_mk2_tech = {
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",
},
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"
}
rocket_mk3_tech = {
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",
},
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"
}
rocket_mk4_tech = {
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",
},
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"
}
rocket_mk5_tech = {
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",
},
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"
}
+36
View File
@@ -0,0 +1,36 @@
if script.active_mods["informatron"] then
remote.add_interface("rocketturrets", {
informatron_menu = function(data)
return rocketturrets_menu(data.player_index)
end,
informatron_page_content = function(data)
return rocketturrets_page_content(data.page_name, data.player_index, data.element)
end
})
end
function rocketturrets_menu(player_index)
return {}
end
function rocketturrets_page_content(page_name, player_index, element)
if page_name == "rocketturrets" then
if script.active_mods["bobwarfare"] then
element.add{type="button", name="image_cover", style="informatron-cover-bob"}
element.add{type="label", name="text_intro", caption={"info.text_intro"}}
element.add{type="label", name="heading_turrets", caption={"info.heading_turrets"}, style="heading_1_label"}
element.add{type="button", name="image_turrets", style="informatron-turrets-bob"}
element.add{type="label", name="text_turrets", caption={"info.text_turrets_bob"}}
else
element.add{type="button", name="image_cover", style="informatron-cover"}
element.add{type="label", name="text_intro", caption={"info.text_intro"}}
element.add{type="label", name="heading_turrets", caption={"info.heading_turrets"}, style="heading_1_label"}
element.add{type="button", name="image_turrets", style="informatron-turrets"}
element.add{type="label", name="text_turrets", caption={"info.text_turrets"}}
end
-- the following is the same with and without bobplates
element.add{type="label", name="heading_ammo", caption={"info.heading_ammo"}, style="heading_1_label"}
element.add{type="button", name="image_ammo", style="informatron-ammo"}
element.add{type="label", name="text_ammo", caption={"info.text_ammo"}}
end
end
+7
View File
@@ -0,0 +1,7 @@
if mods["informatron"] then
informatron_make_image("informatron-cover", "__Rocket_Turrets__/graphics/info/cover.png", 380, 264)
informatron_make_image("informatron-cover-bob", "__Rocket_Turrets__/graphics/info/cover_bob.png", 380, 264)
informatron_make_image("informatron-turrets", "__Rocket_Turrets__/graphics/info/turrets.png", 154, 154)
informatron_make_image("informatron-turrets-bob", "__Rocket_Turrets__/graphics/info/turrets_bob.png", 698, 154)
informatron_make_image("informatron-ammo", "__Rocket_Turrets__/graphics/info/ammo.png", 104, 64)
end
Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

+17
View File
@@ -0,0 +1,17 @@
require("integrations.wiki.wiki")
if script.active_mods["wiki"] then
local initialize_wiki
if script.active_mods["bobwarfare"] then
initialize_wiki = function()
remote.call("wiki","register_mod_wiki",rocketturrets_bob_wiki)
end
else
initialize_wiki = function()
remote.call("wiki","register_mod_wiki",rocketturrets_wiki)
end
end
script.on_init(initialize_wiki)
script.on_load(initialize_wiki)
end
+9
View File
@@ -0,0 +1,9 @@
require("integrations.wiki.wiki")
if mods["wiki"] then
if mods["bobwarfare"] then
wiki_register_mod_wiki(rocketturrets_bob_wiki)
else
wiki_register_mod_wiki(rocketturrets_wiki)
end
end
+43
View File
@@ -0,0 +1,43 @@
rocketturrets_wiki =
{
name = "Rocket_Turrets",
title = {"rocketturrets.menu_rocketturrets"},
mod_path = "__Rocket_Turrets__",
{
name = {"rocketturrets.title_rocketturrets"},
topic = {
{type = "image", name = "image_cover", filepath = "__Rocket_Turrets__/graphics/info/cover.png", width = 380, height = 264, scale = 0.95},
{type = "text", text = {"info.text_intro"} },
{type = "line"},
{type = "title", title = {"info.heading_turrets"} },
{type = "image", name = "image_turrets", filepath = "__Rocket_Turrets__/graphics/info/turrets.png", width = 154, height = 154, scale = 0.516},
{type = "text", text = {"info.text_turrets"} },
{type = "line"},
{type = "title", title = {"info.heading_ammo"} },
{type = "image", name = "image_ammo", filepath = "__Rocket_Turrets__/graphics/info/ammo.png", width = 104, height = 64, scale = 1},
{type = "text", text = {"info.text_ammo"} },
}
}
}
rocketturrets_bob_wiki =
{
name = "Rocket_Turrets",
title = {"rocketturrets.menu_rocketturrets"},
mod_path = "__Rocket_Turrets__",
{
name = {"rocketturrets.title_rocketturrets"},
topic = {
{type = "image", name = "image_cover", filepath = "__Rocket_Turrets__/graphics/info/cover_bob.png", width = 380, height = 264, scale = 0.95},
{type = "text", text = {"info.text_intro"} },
{type = "line"},
{type = "title", title = {"info.heading_turrets"} },
{type = "image", name = "image_turrets", filepath = "__Rocket_Turrets__/graphics/info/turrets_bob.png", width = 698, height = 154, scale = 0.516},
{type = "text", text = {"info.text_turrets_bob"} },
{type = "line"},
{type = "title", title = {"info.heading_ammo"} },
{type = "image", name = "image_ammo", filepath = "__Rocket_Turrets__/graphics/info/ammo.png", width = 104, height = 64, scale = 1},
{type = "text", text = {"info.text_ammo"} },
}
}
}
+13 -4
View File
@@ -3,7 +3,6 @@ Rocket_Turrets=Fügt Raketen-Geschütztürme hinzu
[item-name]
rocket-turret=Raketen-Geschützturm
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
@@ -11,7 +10,6 @@ rocket-turret-mk5=Raketen-Geschützturm MK5
[entity-name]
rocket-turret=Raketen-Geschützturm
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
@@ -19,8 +17,19 @@ rocket-turret-mk5=Raketen-Geschützturm MK5
[technology-name]
rocket-turret=Raketen-Geschützturm
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
rocket-turret-mk5=Raketen-Geschützturm MK5
[rocketturrets]
menu_rocketturrets=Rocket Turrets
title_rocketturrets=Rocket Turrets
[info]
text_intro=Raketen waren in Factorio schon immer das hässliche Entlein, das dritte Rad am Wagen der Basisverteidigung. Für manuellen Beschuss eignen sich andere Methoden besser, und automatischer Beschuss war lange nicht möglich. Doch nun hast du deine Badonkadonks in einen Geschützturm geschraubt, um Chaos und Explosionen auf Beißer und Speier regnen zu lassen.
heading_turrets=Neue Geschütztürme
text_turrets=Du hast neue Geschützturm entwickelt. Leider hattest du nur noch diese Farbe auf Lager. Jetzt sehen die Geschütztürme zwar etwas trist aus, aber sie verschießen Raketen, die ihren üblichen Schaden anrichten.
text_turrets_bob=Du hast neue Geschütztürme entwickelt, die in (fast) allen Regenbogenfarben strahlen. Der gelbe Raketen-Geschützturm fügt den üblichen Raketenschaden zu. Jede Weiterentwicklung (MK2-5) erhöht den Schaden um 25% und die Reichweite um 2 zum Vorgänger. Zusätzlich können die Geschütztürme MK4-5 je einen weiteren Stapel Munition aufnehmen.
heading_ammo=Munition
text_ammo=Alle Raketen lassen sich in die Raketen-Geschütztürme laden. Damit sie sich nicht selbst zerstören, können Raketen-Geschütztürme keine Feinde innerhalb eines Radius von 15 angreifen. Besondere Vorsicht ist bei dem Einsatz von Atombomben geboten, da die Explosion einen höheren Radius hat und somit Chaos über deine eigenen Verteidigungsanlagen bringen könnte.
+13 -4
View File
@@ -3,7 +3,6 @@ Rocket_Turrets=Adds rocket turrets
[item-name]
rocket-turret=Rocket turret
rocket-turret-mk1=Rocket turret MK1
rocket-turret-mk2=Rocket turret MK2
rocket-turret-mk3=Rocket turret MK3
rocket-turret-mk4=Rocket turret MK4
@@ -11,7 +10,6 @@ rocket-turret-mk5=Rocket turret MK5
[entity-name]
rocket-turret=Rocket turret
rocket-turret-mk1=Rocket turret MK1
rocket-turret-mk2=Rocket turret MK2
rocket-turret-mk3=Rocket turret MK3
rocket-turret-mk4=Rocket turret MK4
@@ -19,8 +17,19 @@ rocket-turret-mk5=Rocket turret MK5
[technology-name]
rocket-turret=Rocket turret
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
rocket-turret-mk5=Rocket turret MK5
[rocketturrets]
menu_rocketturrets=Rocket Turrets
title_rocketturrets=Rocket Turrets
[info]
text_intro=Rockets have always been the lame duck, the third wheel of base defense in Factorio. For manual fire, other methods are more effective, and automatic fire was not possible for a long time. But now, you screwed your badonkadonks on a turret socket to make mayhem and explosions rain on biters and spitters.
heading_turrets=New Turrets
text_turrets=You developed new turrets. Sadly, you only had one colour available to paint them. Now the turrets look a bit depressing, but they launch rockets dealing their usual damage.
text_turrets_bob=You developed new turrets, which are glistening in (almost) every colours of the rainbow. The yellow rocket turret deals the rocket's usual damage. Every improvement (MK2-5) increases damage by 25% and range by 2. The turrets MK4-5 can each handle an additional stack of ammunition, too.
heading_ammo=Ammunition
text_ammo=All rockets can be loaded into the rocket turrets. To prevent them from self-destroying, rocket turrets cannot attack enemies inside a radius of 15 around them. Additional care should be taken when using atomic bombs, since the explosion has a far greater radius than that and may therefore cause mayhem over your very own base defenses.
+13 -4
View File
@@ -3,7 +3,6 @@ Rocket_Turrets=Dodaje działkom rakietowe
[item-name]
rocket-turret=Działko rakietowe
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
@@ -11,7 +10,6 @@ rocket-turret-mk5=Działko rakietowe MK5
[entity-name]
rocket-turret=Działko rakietowe
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
@@ -19,8 +17,19 @@ rocket-turret-mk5=Działko rakietowe MK5
[technology-name]
rocket-turret=Działko rakietowe
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
rocket-turret-mk5=Działko rakietowe MK5
[rocketturrets]
menu_rocketturrets=Rocket Turrets
title_rocketturrets=Rocket Turrets
[info]
text_intro=Rockets have always been the lame duck, the third wheel of base defense in Factorio. For manual fire, other methods are more effective, and automatic fire was not possible for a long time. But now, you screwed your badonkadonks on a turret socket to make mayhem and explosions rain on biters and spitters.
heading_turrets=New Turrets
text_turrets=You developed new turrets. Sadly, you only had one colour available to paint them. Now the turrets look a bit depressing, but they launch rockets dealing their usual damage.
text_turrets_bob=You developed new turrets, which are glistening in (almost) every colours of the rainbow. The yellow rocket turret deals the rocket's usual damage. Every improvement (MK2-5) increases damage by 25% and range by 2. The turrets MK4-5 can each handle an additional stack of ammunition, too.
heading_ammo=Ammunition
text_ammo=All rockets can be loaded into the rocket turrets. To prevent them from self-destroying, rocket turrets cannot attack enemies inside a radius of 15 around them. Additional care should be taken when using atom bombs, since the explosion has a far greater radius than that and may therefore cause mayhem over your very own base defenses.
+18
View File
@@ -0,0 +1,18 @@
{
"entity":
[
["rocket-turret-mk1", "rocket-turret"]
],
"item":
[
["rocket-turret-mk1", "rocket-turret"]
],
"recipe":
[
["rocket-turret-mk1", "rocket-turret"]
],
"technology":
[
["rocket-turret-mk1", "rocket-turret"]
]
}
+2 -484
View File
@@ -1,4 +1,3 @@
-- Sheet definition
function rocket_sheet(inputs)
@@ -37,190 +36,9 @@ return
}
end
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
-- Entity definition
entity0 = {
rocket_entity = {
type = "ammo-turret",
name = "rocket-turret",
icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-icon.png",
@@ -237,7 +55,7 @@ entity0 = {
dying_explosion = "medium-explosion",
inventory_size = 1,
automated_ammo_count = 10,
attacking_speed = 0.09,
attacking_speed = 0.08,
folded_animation = rocket_sheet{direction_count = 4, line_length = 1},
preparing_animation = rocket_sheet{direction_count = 4, line_length = 1},
@@ -247,66 +65,6 @@ entity0 = {
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 = 35,
min_range = 15,
sound =
{
{
filename = "__base__/sound/fight/rocket-launcher.ogg",
volume = 0.8
}
},
},
call_for_help_radius = 40
}
entity1 = {
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",
@@ -337,245 +95,5 @@ entity1 = {
},
},
call_for_help_radius = 40
}
entity2 = {
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
}
entity3 = {
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
}
entity4 = {
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
}
entity5 = {
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
}
+2 -57
View File
@@ -1,6 +1,6 @@
--item
item0 = {
rocket_item = {
type = "item",
name = "rocket-turret",
icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-icon.png",
@@ -9,59 +9,4 @@ item0 = {
order = "b[turret]-c[base]-d[rocket]",
place_result = "rocket-turret",
stack_size = 50,
}
item1 = {
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,
}
item2 = {
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,
}
item3 = {
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,
}
item4 = {
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,
}
item5 = {
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,
}
}
+4 -94
View File
@@ -1,6 +1,6 @@
--recipe
recipe0 = {
rocket_recipe = {
type = "recipe",
name = "rocket-turret",
enabled = false,
@@ -8,100 +8,10 @@ recipe0 = {
ingredients =
{
{"rocket-launcher", 10},
{"iron-gear-wheel", 5},
{"iron-gear-wheel", 10},
{"steel-plate", 20},
{"advanced-circuit", 15},
{"electronic-circuit", 20},
},
result = "rocket-turret",
}
recipe1 = {
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",
}
recipe2 = {
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",
}
recipe3 = {
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",
}
recipe4 = {
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",
}
recipe5_1 = {
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",
}
recipe5_2 = {
type = "recipe",
name = "rocket-turret-mk5",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk4", 1},
{"nitinol-gear-wheel", 10},
{"nitinol-alloy", 20},
{"advanced-processing-unit", 20},
},
result = "rocket-turret-mk5",
order = "c-a"
}
+3 -160
View File
@@ -1,4 +1,6 @@
tech0 = {
-- technology
rocket_tech = {
type = "technology",
name = "rocket-turret",
icon = "__Rocket_Turrets__/graphics/technology/rocket-turret.png",
@@ -28,163 +30,4 @@ tech0 = {
time = 20
},
order = "c-a"
}
tech1 = {
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"
}
tech2 = {
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"
}
tech3 = {
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"
}
tech4 = {
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"
}
tech5 = {
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"
}