1
0
mirror of https://github.com/Wyrrrd/Rocket_Turrets.git synced 2026-07-10 22:46:49 +02:00

23 Commits

Author SHA1 Message Date
Wyrrrd 8e6278688d Forgot credits 2021-09-06 23:45:16 +02:00
Wyrrrd cc7c2bc189 New release bump 2021-09-06 23:40:56 +02:00
Wyrrrd f9888a295c Merge pull request #1 from d0ob/master
fr trans
2021-09-06 21:37:15 +00:00
Friendch 2d698f6788 Correction
Indeed, my bad... Should have definitely re-re-read.
I saw the [rocketturrets] wasn't translated in other files so I didn't either.

For the name thought, Rocket_turret's local files don't seem to be called string.cfg but locale.cfg
2021-09-06 19:48:30 +02:00
Friendch cf36f8ad55 Merge pull request #1 from d0ob/d0ob-patch-1
FR transl
2021-09-06 15:15:43 +02:00
Friendch 7636d5a7ba FR transl
I only see auto filter remaining, it will not be done today, much more talkative ! 
And since I don't use it myself, I vant to play abit with it to be sure I don't missunderstood anything !
2021-08-08 19:59:35 +02:00
Wyrrrd 940b793e5d Fix changelog date 2020-11-19 20:57:22 +01:00
Wyrrrd 00716fd7c6 Updated for 1.1
- Integrated 1.1 base game technology rename for gun turrets
2020-11-19 20:56:25 +01:00
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
Wyrrrd 067066ae57 Added cosmetics
- HR textures for vanilla turret
- mod name translations
2020-02-25 22:29:27 +01:00
Wyrrrd 3b92d05476 Complementary file(s) format improvements 2020-02-22 12:13:47 +01:00
Wyrrrd d92ad6746d Update README.md
Removed merge plan, since done
2020-02-21 00:03:23 +01:00
Wyrrrd 2ac4f17e30 Merged vanilla version
Reworked loading logic of entities, items, recipes and tech
2020-02-20 23:59:58 +01:00
Wyrrrd 15114a7394 Update README.md
Replaced name with title
2020-02-20 16:46:02 +00:00
39 changed files with 1222 additions and 693 deletions
+2
View File
@@ -0,0 +1,2 @@
*.zip
+17 -10
View File
@@ -1,14 +1,21 @@
# Rocket_Turrets
![mod thumbnail](https://raw.githubusercontent.com/Wyrrrd/Rocket_Turrets/master/thumbnail.png)
# Rocket Turrets
<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 only with Bob's because of crafting ingredients.
- 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:
Planned Features:
- Merge Bob version (this one) with [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
Credit:
- Thanks to [Kamsta99](https://mods.factorio.com/user/kamsta99) for the [original mod](https://mods.factorio.com/mod/RocketTurrets).
### 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).
- Thanks to [Friendch](https://mods.factorio.com/user/Friendch) for the french translation.
+50 -3
View File
@@ -1,12 +1,59 @@
---------------------------------------------------------------------------------------------------
Version: 1.1.1
Date: 2021-09-06
Locale:
- Added french locale (thanks to Friendch)
---------------------------------------------------------------------------------------------------
Version: 1.1.0
Date: 2020-11-19
Changes:
- Integrated 1.1 base game technology rename for gun turrets
---------------------------------------------------------------------------------------------------
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: 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: 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 german locale
- Added changelog file
- Renamed mod
- Renamed mod for upload in mod portal
- Matched versioning to Factorio versions
Locale:
- Added german locale
---------------------------------------------------------------------------------------------------
Version: 0.0.5
Changes:
+5
View File
@@ -0,0 +1,5 @@
--control.lua
require("integrations.informatron.control")
require("integrations.wiki.control")
require("integrations.Booktorio.control")
+14
View File
@@ -4,3 +4,17 @@ require("prototypes.entity")
require("prototypes.item")
require("prototypes.recipe")
require("prototypes.technology")
data:extend({
rocket_entity,
rocket_item,
rocket_recipe,
rocket_tech
})
-- 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: 920 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

+10 -5
View File
@@ -1,11 +1,16 @@
{
"name": "Rocket_Turrets",
"version": "0.18.0",
"version": "1.1.1",
"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"],
"factorio_version": "1.1",
"dependencies": [
"base >= 1.1.0",
"? 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"} },
}
}
}
+19 -4
View File
@@ -1,20 +1,35 @@
[mod-description]
Rocket_Turrets=Fügt Raketen-Geschütztürme hinzu
[item-name]
rocket-turret-mk1=Raketen-Geschützturm MK1
rocket-turret=Raketen-Geschützturm
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=Raketen-Geschützturm
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=Raketen-Geschützturm
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.
+19 -4
View File
@@ -1,20 +1,35 @@
[mod-description]
Rocket_Turrets=Adds rocket turrets
[item-name]
rocket-turret-mk1=Rocket turret MK1
rocket-turret=Rocket turret
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=Rocket turret
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=Rocket turret
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.
+35
View File
@@ -0,0 +1,35 @@
[mod-description]
Rocket_Turrets=Ajoute des tourelles lance-missiles
[item-name]
rocket-turret=Tourelle lance-missiles
rocket-turret-mk2=Tourelle lance-missiles MK2
rocket-turret-mk3=Tourelle lance-missiles MK3
rocket-turret-mk4=Tourelle lance-missiles MK4
rocket-turret-mk5=Tourelle lance-missiles MK5
[entity-name]
rocket-turret=Tourelle lance-missiles
rocket-turret-mk2=Tourelle lance-missiles MK2
rocket-turret-mk3=Tourelle lance-missiles MK3
rocket-turret-mk4=Tourelle lance-missiles MK4
rocket-turret-mk5=Tourelle lance-missiles MK5
[technology-name]
rocket-turret=Tourelle lance-missiles
rocket-turret-mk2=Tourelle lance-missiles MK2
rocket-turret-mk3=Tourelle lance-missiles MK3
rocket-turret-mk4=Tourelle lance-missiles MK4
rocket-turret-mk5=Tourelle lance-missiles MK5
[rocketturrets]
menu_rocketturrets=Rocket Turrets
title_rocketturrets=Rocket Turrets
[info]
text_intro=Les missiles ont toujours été le vilain petit canard, la cinquième roue du carrosse quant à la défense dans Factorio. En artillerie légère d'autres méthodes sont plus efficaces, et en lourde ça n'existait simplement pas... Mais voilà, maintenant vous pouvez visser votre Bazooka sur une tourelle et faire pleuvoir l'enfer sur vos ennemis !
heading_turrets=Nouvelles tourelles
text_turrets=Vous avez développé vos nouvelles tourelles, elles sont certes un peu moroses, sans couleur, mais au moins elles font le boulot !
text_turrets_bob=Vous avez développé vos nouvelles tourelles, et celles-ci brillent dans (presque) toutes les couleurs de l'arc-en-ciel. La jaune fait les dégâts habituels, les versions supérieures (MK2-5) les augmentent de 25% chacune, ainsi que la portée par 2. Les améliorations MK4 et 5 peuvent aussi recevoir un stock de munitions supplémentaires.
heading_ammo=Munitions
text_ammo=Les tourelles peuvent accueillir tout type de missiles. Pour éviter qu'elles ne se détruisent elles-mêmes, elles ne pourront pas tirer sur les ennemis qui lui sont trop proches. (Dans un rayon de 15 autour d'elles.) Une attention particulière est requise pour l'utilisation de bombes atomiques, elles sont assez dévastatrices pour détruire vos défenses par la même occasion...
+19 -4
View File
@@ -1,20 +1,35 @@
[mod-description]
Rocket_Turrets=Dodaje działkom rakietowe
[item-name]
rocket-turret-mk1=Działko rakietowe MK1
rocket-turret=Działko rakietowe
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=Działko rakietowe
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=Działko rakietowe
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"]
]
}
+15 -394
View File
@@ -1,11 +1,12 @@
-- Sheet definition
function rocket_mk1_sheet(inputs)
function rocket_sheet(inputs)
return
{
layers =
{
{
filename = "__Rocket_Turrets__/graphics/entity/rocket-mk1-sheet.png",
filename = "__Rocket_Turrets__/graphics/entity/rocket-sheet.png",
priority = "medium",
scale = 1,
width = 72,
@@ -18,7 +19,7 @@ return
shift = { 0.25, -0.5 },
hr_version =
{
filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-mk1-sheet.png",
filename = "__Rocket_Turrets__/graphics/entity/hr-rocket-sheet.png",
priority = "medium",
scale = 0.5,
width = 144,
@@ -35,158 +36,15 @@ return
}
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
-- Entity definition
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({
{
rocket_entity = {
type = "ammo-turret",
name = "rocket-turret-mk1",
icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk1-icon.png",
name = "rocket-turret",
icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-icon.png",
icon_size = 32,
flags = {"placeable-player", "player-creation"},
minable = {mining_time = 0.7, result = "rocket-turret-mk1"},
minable = {mining_time = 0.7, result = "rocket-turret"},
max_health = 400,
corpse = "small-remnants",
collision_box = {{-0.7, -0.7 }, {0.7, 0.7}},
@@ -199,11 +57,11 @@ data:extend({
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"},
folded_animation = rocket_sheet{direction_count = 4, line_length = 1},
preparing_animation = rocket_sheet{direction_count = 4, line_length = 1},
prepared_animation = rocket_sheet{},
attacking_animation = rocket_sheet{},
folding_animation = rocket_sheet{direction_count = 4, line_length = 1, run_mode = "backward"},
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
@@ -238,241 +96,4 @@ data:extend({
},
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
},
})
}
+7 -48
View File
@@ -1,53 +1,12 @@
--item
data:extend({
{
rocket_item = {
type = "item",
name = "rocket-turret-mk1",
icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-mk1-icon.png",
name = "rocket-turret",
icon = "__Rocket_Turrets__/graphics/icon/turret-rocket-icon.png",
icon_size = 32,
subgroup = "defensive-structure",
order = "b[turret]-c[base]-d[rocket-mk1]",
place_result = "rocket-turret-mk1",
order = "b[turret]-c[base]-d[rocket]",
place_result = "rocket-turret",
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,
},
})
}
+8 -74
View File
@@ -1,83 +1,17 @@
--recipe
data:extend({
{
rocket_recipe = {
type = "recipe",
name = "rocket-turret-mk1",
name = "rocket-turret",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-launcher", 10},
{"iron-gear-wheel", 5},
{"iron-gear-wheel", 10},
{"steel-plate", 20},
{"electronic-circuit", 15},
{"electronic-circuit", 20},
},
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
result = "rocket-turret",
order = "c-a"
}
+23 -147
View File
@@ -1,157 +1,33 @@
data:extend(
{
-- technology
rocket_tech = {
type = "technology",
name = "rocket-turret",
icon = "__Rocket_Turrets__/graphics/technology/rocket-turret.png",
icon_size = 128,
effects =
{
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",
},
type = "unlock-recipe",
recipe = "rocket-turret",
},
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"
},
prerequisites =
{
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"
"rocketry",
"gun-turret",
"steel-processing",
},
unit =
{
type = "technology",
name = "rocket-turret-mk3",
icon = "__Rocket_Turrets__/graphics/technology/rocket-turret-mk3.png",
icon_size = 128,
effects =
count = 75,
ingredients =
{
{
type = "unlock-recipe",
recipe = "rocket-turret-mk3",
},
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"military-science-pack", 1},
},
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"
time = 20
},
{
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"
},
})
order = "c-a"
}