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

14 Commits

Author SHA1 Message Date
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
54 changed files with 1002 additions and 691 deletions
+2
View File
@@ -0,0 +1,2 @@
*.zip
+14 -10
View File
@@ -1,14 +1,18 @@
# 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 Metals, Chemicals and Intermediates](https://mods.factorio.com/mod/bobplates) - more turrets (MK2-MK5)
+ [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
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 Informatron 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).
+33 -3
View File
@@ -1,12 +1,42 @@
---------------------------------------------------------------------------------------------------
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:
+4
View File
@@ -0,0 +1,4 @@
--control.lua
require("integrations.info.informatron.control")
require("integrations.info.wiki.control")
+12
View File
@@ -4,3 +4,15 @@ 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.bobplates.data")
require("integrations.info.informatron.data")
require("integrations.info.wiki.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: 22 KiB

+7 -4
View File
@@ -1,11 +1,14 @@
{
"name": "Rocket_Turrets",
"version": "0.18.0",
"version": "0.18.4",
"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"],
"dependencies": [
"base >= 0.18.0",
"? bobplates >= 0.18.1",
"? informatron >= 0.1.5",
"? wiki >= 0.18.01"
],
"description": "Adds rocket turrets"
}
+52
View File
@@ -0,0 +1,52 @@
require("integrations.bobplates.prototypes.entity")
require("integrations.bobplates.prototypes.item")
require("integrations.bobplates.prototypes.recipe")
require("integrations.bobplates.prototypes.technology")
if mods["bobplates"] then
-- if bobplates enabled, modify mk1 turret
data.raw["ammo-turret"]["rocket-turret"].folded_animation.layers[1].filename = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].folded_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].folding_animation.layers[1].filename = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].folding_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].prepared_animation.layers[1].filename = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].prepared_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].preparing_animation.layers[1].filename = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].preparing_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/hr-rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].attacking_animation.layers[1].filename = "__Rocket_Turrets__/integrations/bobplates/graphics/entity/rocket-mk1-sheet.png"
data.raw["ammo-turret"]["rocket-turret"].attacking_animation.layers[1].hr_version["filename"] = "__Rocket_Turrets__/integrations/bobplates/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__/integrations/bobplates/graphics/icon/turret-rocket-mk1-icon.png"
data.raw["technology"]["rocket-turret"].icon = "__Rocket_Turrets__/integrations/bobplates/graphics/technology/rocket-turret-mk1.png"
-- if bobplates 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,
-- recipe below
rocket_mk5_tech
})
if data.raw.item["advanced-processing-unit"] then
data:extend({rocket_mk5_recipe2})
else
data:extend({rocket_mk5_recipe1})
end
end

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Before

Width:  |  Height:  |  Size: 380 KiB

After

Width:  |  Height:  |  Size: 380 KiB

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 373 KiB

Before

Width:  |  Height:  |  Size: 372 KiB

After

Width:  |  Height:  |  Size: 372 KiB

Before

Width:  |  Height:  |  Size: 381 KiB

After

Width:  |  Height:  |  Size: 381 KiB

Before

Width:  |  Height:  |  Size: 376 KiB

After

Width:  |  Height:  |  Size: 376 KiB

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

@@ -0,0 +1,392 @@
-- Sheet definition
function rocket_mk2_sheet(inputs)
return
{
layers =
{
{
filename = "__Rocket_Turrets__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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__/integrations/bobplates/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,82 @@
--recipe
rocket_mk2_recipe = {
type = "recipe",
name = "rocket-turret-mk2",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret", 1},
{"steel-gear-wheel", 10},
{"steel-plate", 20},
{"battery", 5},
{"electronic-circuit", 5},
},
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},
{"steel-bearing", 10},
{"invar-alloy", 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},
{"titanium-gear-wheel", 10},
{"titanium-plate", 20},
{"processing-unit", 20},
},
result = "rocket-turret-mk4",
order = "c-a"
}
rocket_mk5_recipe1 = {
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",
order = "c-a"
}
rocket_mk5_recipe2 = {
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"
}
@@ -0,0 +1,126 @@
rocket_mk2_tech = {
type = "technology",
name = "rocket-turret-mk2",
icon = "__Rocket_Turrets__/integrations/bobplates/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__/integrations/bobplates/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"
}
rocket_mk4_tech = {
type = "technology",
name = "rocket-turret-mk4",
icon = "__Rocket_Turrets__/integrations/bobplates/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"
}
rocket_mk5_tech = {
type = "technology",
name = "rocket-turret-mk5",
icon = "__Rocket_Turrets__/integrations/bobplates/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"
}
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

+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["bobplates"] then
element.add{type="button", name="image_cover", style="rocketturrets_cover_bob"}
element.add{type="label", name="text_intro", caption={"rocketturrets.text_intro"}}
element.add{type="label", name="heading_turrets", caption={"rocketturrets.heading_turrets"}, style="heading_1_label"}
element.add{type="button", name="image_turrets", style="rocketturrets_turrets_bob"}
element.add{type="label", name="text_turrets", caption={"rocketturrets.text_turrets_bob"}}
else
element.add{type="button", name="image_cover", style="rocketturrets_cover"}
element.add{type="label", name="text_intro", caption={"rocketturrets.text_intro"}}
element.add{type="label", name="heading_turrets", caption={"rocketturrets.heading_turrets"}, style="heading_1_label"}
element.add{type="button", name="image_turrets", style="rocketturrets_turrets"}
element.add{type="label", name="text_turrets", caption={"rocketturrets.text_turrets"}}
end
-- the following is the same with and without bobplates
element.add{type="label", name="heading_ammo", caption={"rocketturrets.heading_ammo"}, style="heading_1_label"}
element.add{type="button", name="image_ammo", style="rocketturrets_ammo"}
element.add{type="label", name="text_ammo", caption={"rocketturrets.text_ammo"}}
end
end
+7
View File
@@ -0,0 +1,7 @@
if mods["informatron"] then
informatron_make_image("rocketturrets_cover", "__Rocket_Turrets__/integrations/info/graphics/cover.png", 380, 264)
informatron_make_image("rocketturrets_cover_bob", "__Rocket_Turrets__/integrations/info/graphics/cover_bob.png", 380, 264)
informatron_make_image("rocketturrets_turrets", "__Rocket_Turrets__/integrations/info/graphics/turrets.png", 154, 154)
informatron_make_image("rocketturrets_turrets_bob", "__Rocket_Turrets__/integrations/info/graphics/turrets_bob.png", 698, 154)
informatron_make_image("rocketturrets_ammo", "__Rocket_Turrets__/integrations/info/graphics/ammo.png", 104, 64)
end
Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

+17
View File
@@ -0,0 +1,17 @@
require("integrations.info.wiki.wiki")
if script.active_mods["wiki"] then
local initialize_wiki
if script.active_mods["bobplates"] 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(function() initialize_wiki() end)
script.on_load(function() initialize_wiki() end)
end
+9
View File
@@ -0,0 +1,9 @@
require("integrations.info.wiki.wiki")
if mods["wiki"] then
if mods["bobplates"] 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__/integrations/info/graphics/cover.png", width = 380, height = 264, scale = 0.95},
{type = "text", text = {"rocketturrets.text_intro"} },
{type = "line"},
{type = "title", title = {"rocketturrets.heading_turrets"} },
{type = "image", name = "image_turrets", filepath = "__Rocket_Turrets__/integrations/info/graphics/turrets.png", width = 154, height = 154, scale = 0.516},
{type = "text", text = {"rocketturrets.text_turrets"} },
{type = "line"},
{type = "title", title = {"rocketturrets.heading_ammo"} },
{type = "image", name = "image_ammo", filepath = "__Rocket_Turrets__/integrations/info/graphics/ammo.png", width = 104, height = 64, scale = 1},
{type = "text", text = {"rocketturrets.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__/integrations/info/graphics/cover_bob.png", width = 380, height = 264, scale = 0.95},
{type = "text", text = {"rocketturrets.text_intro"} },
{type = "line"},
{type = "title", title = {"rocketturrets.heading_turrets"} },
{type = "image", name = "image_turrets", filepath = "__Rocket_Turrets__/integrations/info/graphics/turrets_bob.png", width = 698, height = 154, scale = 0.516},
{type = "text", text = {"rocketturrets.text_turrets_bob"} },
{type = "line"},
{type = "title", title = {"rocketturrets.heading_ammo"} },
{type = "image", name = "image_ammo", filepath = "__Rocket_Turrets__/integrations/info/graphics/ammo.png", width = 104, height = 64, scale = 1},
{type = "text", text = {"rocketturrets.text_ammo"} },
}
}
}
+17 -4
View File
@@ -1,20 +1,33 @@
[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
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.
+17 -4
View File
@@ -1,20 +1,33 @@
[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
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.
+17 -4
View File
@@ -1,20 +1,33 @@
[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
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,
},
})
}
+7 -73
View File
@@ -1,8 +1,8 @@
--recipe
data:extend({
{
rocket_recipe = {
type = "recipe",
name = "rocket-turret-mk1",
name = "rocket-turret",
enabled = false,
energy_required = 10,
ingredients =
@@ -10,74 +10,8 @@ data:extend({
{"rocket-launcher", 10},
{"iron-gear-wheel", 5},
{"steel-plate", 20},
{"electronic-circuit", 15},
{"advanced-circuit", 15},
},
result = "rocket-turret-mk1",
},
{
type = "recipe",
name = "rocket-turret-mk2",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk1", 1},
{"steel-gear-wheel", 10},
{"steel-plate", 20},
{"battery", 5},
{"electronic-circuit", 5},
},
result = "rocket-turret-mk2",
},
{
type = "recipe",
name = "rocket-turret-mk3",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk2", 1},
{"steel-bearing", 10},
{"invar-alloy", 20},
{"advanced-circuit", 20},
},
result = "rocket-turret-mk3",
},
{
type = "recipe",
name = "rocket-turret-mk4",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk3", 1},
{"titanium-gear-wheel", 10},
{"titanium-plate", 20},
{"processing-unit", 20},
},
result = "rocket-turret-mk4",
},
{
type = "recipe",
name = "rocket-turret-mk5",
enabled = false,
energy_required = 10,
ingredients =
{
{"rocket-turret-mk4", 1},
{"nitinol-gear-wheel", 10},
{"nitinol-alloy", 20},
{"processing-unit", 20},
},
result = "rocket-turret-mk5",
},
})
if data.raw.item["advanced-processing-unit"] then
data.raw.recipe["rocket-turret-mk5"].ingredients = {
{"rocket-turret-mk4", 1},
{"nitinol-gear-wheel", 10},
{"nitinol-alloy", 20},
{"advanced-processing-unit", 20},
}
end
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",
"turrets",
"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"
}