Skip to content

Commit

Permalink
Bobmining2.0 (#214)
Browse files Browse the repository at this point in the history
* Add mining drill color masks

* Add new mining drill icons

* Update water-miner.lua

Replace animation with graphics_set, update fluid boxes, pollution, and circuit connections, add next_upgrade, remove old vehicle_impact_sound,

* Update steam-drills.lua

Update fluid boxes and pollution, remove references to hr_version

* Update pumpjacks.lua

Update fluid boxes, pollution, and circuit connections. Remove lowres graphics. Add next_upgrade. Remove old vehicle_impact_sound.

* Change "true" to true

* Update drills.lua

Update pollution, add new icons, add next_upgrade, add new tint.

* Update areadrills.lua

Update pollution, add new icons, add next_upgrade, add new tint.

Pollution also adjusted to match regular mining drills of the same tier.

* Update drill-functions.lua

Added color mask functions, added ability to customize icon and next_upgrade

* Replace vanilla electric mining drill icon

* Add new item sounds

* Add new item sounds

* Add new item sounds

* Add new item sounds

* Add new item sounds
  • Loading branch information
Qatavin authored Nov 26, 2024
1 parent ed5ba8f commit ac15fa6
Show file tree
Hide file tree
Showing 35 changed files with 572 additions and 371 deletions.
3 changes: 3 additions & 0 deletions bobmining/data-updates.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@ require("prototypes.drill-updates")
require("prototypes.areadrill-updates")
require("prototypes.pumpjack-updates")
require("prototypes.water-miner-updates")

data.raw.item["electric-mining-drill"].icon = "__bobmining__/graphics/icons/electric-mining-drill-1.png"
data.raw["mining-drill"]["electric-mining-drill"].icon = "__bobmining__/graphics/icons/electric-mining-drill-1.png"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
87 changes: 71 additions & 16 deletions bobmining/prototypes/areadrills.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,90 @@ if settings.startup["bobmods-mining-areadrills"].value == true then
{
type = "item",
name = "bob-area-mining-drill-1",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-2a.png",
icon_size = 64,
subgroup = "extraction-machine",
order = "a[items]-b-b[mining-drill-1]",
place_result = "bob-area-mining-drill-1",
stack_size = 50,
drop_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
inventory_move_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
pick_sound = {
filename = "__base__/sound/item/drill-inventory-pickup.ogg",
volume = 0.8
},
},
{
type = "item",
name = "bob-area-mining-drill-2",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-3a.png",
icon_size = 64,
subgroup = "extraction-machine",
order = "a[items]-b-b[mining-drill-2]",
place_result = "bob-area-mining-drill-2",
stack_size = 50,
drop_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
inventory_move_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
pick_sound = {
filename = "__base__/sound/item/drill-inventory-pickup.ogg",
volume = 0.8
},
},
{
type = "item",
name = "bob-area-mining-drill-3",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-4a.png",
icon_size = 64,
subgroup = "extraction-machine",
order = "a[items]-b-b[mining-drill-3]",
place_result = "bob-area-mining-drill-3",
stack_size = 50,
drop_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
inventory_move_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
pick_sound = {
filename = "__base__/sound/item/drill-inventory-pickup.ogg",
volume = 0.8
},
},
{
type = "item",
name = "bob-area-mining-drill-4",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-5a.png",
icon_size = 64,
subgroup = "extraction-machine",
order = "a[items]-b-b[mining-drill-4]",
place_result = "bob-area-mining-drill-4",
stack_size = 50,
drop_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
inventory_move_sound = {
filename = "__base__/sound/item/drill-inventory-move.ogg",
volume = 0.8
},
pick_sound = {
filename = "__base__/sound/item/drill-inventory-pickup.ogg",
volume = 0.8
},
},
})

Expand Down Expand Up @@ -100,58 +148,65 @@ if settings.startup["bobmods-mining-areadrills"].value == true then
data:extend({
bobmods.mining.electric_mining_drill({
name = "bob-area-mining-drill-1",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-2a.png",
max_health = 450,
animation_speed = 0.75,
energy_usage = "170kW",
mining_speed = 0.75,
resource_searching_radius = 3.49,
module_slots = 3,
tint = { r = 0.1, g = 0.5, b = 0.7 },
tint = { r = 0.7, g = 0.2, b = 0.1, a = 1 },
circuit_wire_max_distance = 10,
emissions_per_minute = 10,
emissions_per_minute = { pollution = 8 },
next_upgrade = "bob-area-mining-drill-2",
large_area = true
}),

bobmods.mining.electric_mining_drill({
name = "bob-area-mining-drill-2",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-3a.png",
max_health = 600,
animation_speed = 1.25,
energy_usage = "270kW",
mining_speed = 1.25,
resource_searching_radius = 5.49,
module_slots = 4,
tint = { r = 0.5, g = 0.1, b = 0.7 },
tint = { r = 0.2, g = 0.35, b = 0.5, a = 1 },
circuit_wire_max_distance = 12.5,
emissions_per_minute = 10,
emissions_per_minute = { pollution = 6 },
next_upgrade = "bob-area-mining-drill-3",
large_area = true
}),

bobmods.mining.electric_mining_drill({
name = "bob-area-mining-drill-3",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-4a.png",
max_health = 750,
animation_speed = 2,
energy_usage = "380kW",
mining_speed = 2,
resource_searching_radius = 6.49,
module_slots = 4,
tint = { r = 0.7, g = 0.2, b = 0.1 },
tint = { r = 0.7, g = 0.25, b = 0.7, a = 1 },
circuit_wire_max_distance = 15,
emissions_per_minute = 10,
emissions_per_minute = { pollution = 4 },
next_upgrade = "bob-area-mining-drill-4",
large_area = true
}),

bobmods.mining.electric_mining_drill({
name = "bob-area-mining-drill-4",
icon = "__base__/graphics/icons/electric-mining-drill.png",
icon = "__bobmining__/graphics/icons/electric-mining-drill-5a.png",
max_health = 900,
animation_speed = 3.25,
energy_usage = "500kW",
mining_speed = 3.25,
resource_searching_radius = 8.49,
module_slots = 5,
tint = { r = 0.1, g = 0.7, b = 0.1 },
tint = { r = 0.25, g = 0.5, b = 0.25, a = 1 },
circuit_wire_max_distance = 17.5,
emissions_per_minute = 10,
emissions_per_minute = { pollution = 2 },
large_area = true
}),
})

Expand Down
12 changes: 6 additions & 6 deletions bobmining/prototypes/axes.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
if settings.startup["bobmods-mining-miningaxes"].value == true then
data.raw.technology["steel-axe"].upgrade = "true"
data.raw.technology["steel-axe"].upgrade = true

data:extend({
{
Expand All @@ -22,7 +22,7 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then
},
time = 30,
},
upgrade = "true",
upgrade = true,
order = "c-c-a-b",
},
{
Expand All @@ -45,7 +45,7 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then
},
time = 30,
},
upgrade = "true",
upgrade = true,
order = "c-c-a-c",
},
{
Expand All @@ -69,7 +69,7 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then
},
time = 40,
},
upgrade = "true",
upgrade = true,
order = "c-c-a-d",
},
{
Expand All @@ -94,7 +94,7 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then
},
time = 50,
},
upgrade = "true",
upgrade = true,
order = "c-c-a-e",
},
{
Expand All @@ -120,7 +120,7 @@ if settings.startup["bobmods-mining-miningaxes"].value == true then
},
time = 60,
},
upgrade = "true",
upgrade = true,
order = "c-c-a-f",
},
})
Expand Down
107 changes: 107 additions & 0 deletions bobmining/prototypes/drill-functions.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,82 @@
data.raw.item["electric-mining-drill"].order = "a[items]-b-0[electric-mining-drill]"

local function add_mining_drill_color_masks(object, root1, root2, direction, mask_color)

if root2 == "working_visualisations" then
local direction2 = direction .. "_animation"

local setindex = 0
if root1 == "graphics_set" then
setindex = 7
else
setindex = 13
end

if not object[root1][root2][setindex][direction2].layers then
local layerfixbase = util.copy(object[root1][root2][setindex][direction2])
object[root1][root2][setindex][direction2] = {
layers = {layerfixbase}
}
end
if direction == "south" then
local basegraphics = util.copy(object[root1][root2][setindex][direction2].layers[2])
basegraphics.filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-electric-mining-drill-" .. direction .. "-front-mask.png"
basegraphics.tint = mask_color
if root1 == "wet_mining_graphics_set" then
basegraphics.height = object.graphics_set.working_visualisations[7][direction2].layers[2].height
basegraphics.width = object.graphics_set.working_visualisations[7][direction2].layers[2].width
basegraphics.shift = object.graphics_set.working_visualisations[7][direction2].layers[2].shift
end
table.insert(object[root1][root2][setindex][direction2].layers, basegraphics)
else
local basegraphics = util.copy(object[root1][root2][setindex][direction2].layers[1])
basegraphics.filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-electric-mining-drill-" .. direction .. "-front-mask.png"
basegraphics.tint = mask_color
if root1 == "wet_mining_graphics_set" then
if object.graphics_set.working_visualisations[7][direction2].layers then
basegraphics.height = object.graphics_set.working_visualisations[7][direction2].layers[1].height
basegraphics.width = object.graphics_set.working_visualisations[7][direction2].layers[1].width
basegraphics.shift = object.graphics_set.working_visualisations[7][direction2].layers[1].shift
else
basegraphics.height = object.graphics_set.working_visualisations[7][direction2].height
basegraphics.width = object.graphics_set.working_visualisations[7][direction2].width
basegraphics.shift = object.graphics_set.working_visualisations[7][direction2].shift
end
end
table.insert(object[root1][root2][setindex][direction2].layers, basegraphics)
end

else

local basegraphics = util.copy(object[root1][root2][direction].layers[1])
basegraphics.tint = mask_color
if root1 == "graphics_set" then
basegraphics.filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-electric-mining-drill-" .. direction .. "-mask.png"
else
basegraphics.filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-electric-mining-drill-" .. direction .. "-wet-mask.png"
end
table.insert(object[root1][root2][direction].layers, 2, basegraphics)

end

end

local firsttint = { r = 1, g = 0.7, b = 0.1, a = 1 }
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "graphics_set", "animation", "east", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "graphics_set", "animation", "north", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "graphics_set", "animation", "west", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "wet_mining_graphics_set", "animation", "east", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "wet_mining_graphics_set", "animation", "north", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "wet_mining_graphics_set", "animation", "west", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "graphics_set", "working_visualisations", "east", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "graphics_set", "working_visualisations", "south", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "graphics_set", "working_visualisations", "west", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "wet_mining_graphics_set", "working_visualisations", "east", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "wet_mining_graphics_set", "working_visualisations", "south", firsttint)
add_mining_drill_color_masks(data.raw["mining-drill"]["electric-mining-drill"], "wet_mining_graphics_set", "working_visualisations", "west", firsttint)



local function set_electric_mining_drill_animation_speed(object, animation_speed)
if object.animation_speed then
object.animation_speed = animation_speed
Expand All @@ -21,18 +98,48 @@ function bobmods.mining.electric_mining_drill(inputs)
local mining_drill = util.copy(data.raw["mining-drill"]["electric-mining-drill"])
mining_drill.name = inputs.name
mining_drill.minable.result = inputs.name
mining_drill.icon = inputs.icon
mining_drill.max_health = inputs.max_health or 300

mining_drill.energy_usage = inputs.energy_usage or "100kW"
mining_drill.mining_speed = inputs.mining_speed or 0.5
mining_drill.module_slots = inputs.module_slots or 3
mining_drill.resource_searching_radius = inputs.resource_searching_radius or 2.49
mining_drill.circuit_wire_max_distance = inputs.circuit_wire_max_distance or default_circuit_wire_max_distance
mining_drill.next_upgrade = inputs.next_upgrade

mining_drill.energy_source.emissions_per_minute = inputs.emissions_per_minute or 10

set_electric_mining_drill_animation_speed(mining_drill, inputs.animation_speed * 0.8)

mining_drill.graphics_set.animation.east.layers[2].tint = inputs.tint
mining_drill.graphics_set.animation.north.layers[2].tint = inputs.tint
mining_drill.graphics_set.animation.west.layers[2].tint = inputs.tint
mining_drill.graphics_set.working_visualisations[7].east_animation.layers[2].tint = inputs.tint
mining_drill.graphics_set.working_visualisations[7].south_animation.layers[3].tint = inputs.tint
mining_drill.graphics_set.working_visualisations[7].west_animation.layers[2].tint = inputs.tint
mining_drill.wet_mining_graphics_set.animation.east.layers[2].tint = inputs.tint
mining_drill.wet_mining_graphics_set.animation.north.layers[2].tint = inputs.tint
mining_drill.wet_mining_graphics_set.animation.west.layers[2].tint = inputs.tint
mining_drill.wet_mining_graphics_set.working_visualisations[13].east_animation.layers[2].tint = inputs.tint
mining_drill.wet_mining_graphics_set.working_visualisations[13].south_animation.layers[3].tint = inputs.tint
mining_drill.wet_mining_graphics_set.working_visualisations[13].west_animation.layers[2].tint = inputs.tint

if inputs.large_area == true then
mining_drill.graphics_set.animation.east.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-east-mask.png"
mining_drill.graphics_set.animation.north.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-north-mask.png"
mining_drill.graphics_set.animation.west.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-west-mask.png"
mining_drill.graphics_set.working_visualisations[7].east_animation.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-east-front-mask.png"
mining_drill.graphics_set.working_visualisations[7].south_animation.layers[3].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-south-front-mask.png"
mining_drill.graphics_set.working_visualisations[7].west_animation.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-west-front-mask.png"
mining_drill.wet_mining_graphics_set.animation.east.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-east-wet-mask.png"
mining_drill.wet_mining_graphics_set.animation.north.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-north-wet-mask.png"
mining_drill.wet_mining_graphics_set.animation.west.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-west-wet-mask.png"
mining_drill.wet_mining_graphics_set.working_visualisations[13].east_animation.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-east-front-mask.png"
mining_drill.wet_mining_graphics_set.working_visualisations[13].south_animation.layers[3].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-south-front-mask.png"
mining_drill.wet_mining_graphics_set.working_visualisations[13].west_animation.layers[2].filename = "__bobmining__/graphics/entity/electric-mining-drill/hr-large-mining-drill-west-front-mask.png"
end

if mods["Krastorio2"] then
mining_drill.fast_replaceable_group = "electric-mining-drill"
end
Expand Down
Loading

0 comments on commit ac15fa6

Please sign in to comment.