WIP
|  | @ -11,7 +11,13 @@ Hurricane: | ||||||
| malcolmriley (https://github.com/malcolmriley/unused-renders) | malcolmriley (https://github.com/malcolmriley/unused-renders) | ||||||
| 
 | 
 | ||||||
|  - Gold seed |  - Gold seed | ||||||
|  |  - Moist stromatolite remnant | ||||||
| 
 | 
 | ||||||
| PreLeyZero (https://mods.factorio.com/mod/exotic-industries) | PreLeyZero (https://mods.factorio.com/mod/exotic-industries) | ||||||
| 
 | 
 | ||||||
|  - Gold patch |  - Gold patch | ||||||
|  | 
 | ||||||
|  | planetfall (https://mods.factorio.com/mod/ThemTharHills) | ||||||
|  | 
 | ||||||
|  |  - Gold ore | ||||||
|  |  - Gold wire | ||||||
| After Width: | Height: | Size: 8.6 KiB | 
| After Width: | Height: | Size: 8.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-corner-up-left.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-corner-up-right.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-cover-east.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-cover-north.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-cover-south.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 7.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-cover-west.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-cross.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 14 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-ending-down.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-ending-left.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-ending-right.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-ending-up.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-remnants.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 52 KiB | 
| After Width: | Height: | Size: 9.7 KiB | 
| After Width: | Height: | Size: 8.8 KiB | 
| After Width: | Height: | Size: 12 KiB | 
| After Width: | Height: | Size: 12 KiB | 
| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-t-down.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-t-left.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-t-right.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-t-up.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-to-ground-down.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 7.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-to-ground-left.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.1 KiB | 
| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-to-ground-right.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-pipe/gold-pipe-to-ground-up.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-storage-tank-remnants.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 50 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-storage-tank-window-background.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/gold-storage-tank.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 186 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/steam-assembling-machine-remnants.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 243 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/entity/steam-assembling-machine.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.2 MiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/gold-pipe-to-ground.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/gold-pipe.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/gold-storage-tank.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/moist-stromatolite-remnant-1.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/moist-stromatolite-remnant-2.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/moist-stromatolite-remnant-3.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/icons/steam-assembling-machine.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/technology/gold-fluid-handling.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 124 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/technology/steam-automation.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 119 KiB | 
| Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 73 KiB | 
							
								
								
									
										
											BIN
										
									
								
								lignumis/graphics/terrain/gold-blubber.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.4 MiB | 
|  | @ -14,6 +14,7 @@ | ||||||
|       "wood-logistics >= 2.1.1", |       "wood-logistics >= 2.1.1", | ||||||
|       "Burner-Leech-Fork >= 1.0.0", |       "Burner-Leech-Fork >= 1.0.0", | ||||||
|       "mf-buildings >= 0.1.0", |       "mf-buildings >= 0.1.0", | ||||||
|       "mf-logistics >= 0.1.0" |       "mf-logistics >= 0.1.0", | ||||||
|  |       "wood-to-landfill-spaceage >= 1.0.2" | ||||||
|    ] |    ] | ||||||
| } | } | ||||||
|  | @ -19,6 +19,11 @@ gold-stromatolite-plant=Gold stromatolite plant | ||||||
| gold-stromatolite-lignumis=Gold stromatolite | gold-stromatolite-lignumis=Gold stromatolite | ||||||
| gold-patch=Gold patch | gold-patch=Gold patch | ||||||
| deep-miner=Deep miner | deep-miner=Deep miner | ||||||
|  | gold-pipe=Gold pipe | ||||||
|  | gold-pipe-to-ground=Gold pipe to ground | ||||||
|  | gold-storage-tank=Gold storage tank | ||||||
|  | desiccation-furnace=Desiccation furnace | ||||||
|  | steam-assembling-machine=Steam assembling machine | ||||||
| 
 | 
 | ||||||
| [item-name] | [item-name] | ||||||
| wooden-gear-wheel=Wooden gear wheel | wooden-gear-wheel=Wooden gear wheel | ||||||
|  | @ -29,10 +34,15 @@ gold-ore=Gold ore | ||||||
| gold-bacteria=Gold bacteria | gold-bacteria=Gold bacteria | ||||||
| gold-plate=Gold plate | gold-plate=Gold plate | ||||||
| gold-cable=Gold cable | gold-cable=Gold cable | ||||||
|  | moist-stromatolite-remnant=Moist stromatolite remnant | ||||||
|  | steam-science-pack=Steam science pack | ||||||
| 
 | 
 | ||||||
| [item-description] | [item-description] | ||||||
| wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels. | wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels. | ||||||
| 
 | 
 | ||||||
|  | [recipe-name] | ||||||
|  | moist-stromatolite-remnant-desiccation=Desiccate moist stromatolite remnant | ||||||
|  | 
 | ||||||
| [technology-name] | [technology-name] | ||||||
| wood-science-pack=Wood science pack | wood-science-pack=Wood science pack | ||||||
| burner-automation=Burner automation | burner-automation=Burner automation | ||||||
|  | @ -40,6 +50,9 @@ planet-discovery-nauvis=Planet discovery Nauvis | ||||||
| iron-processing=Iron processing | iron-processing=Iron processing | ||||||
| lumber-mill=Lumber mill | lumber-mill=Lumber mill | ||||||
| deep-miner=Deep miner | deep-miner=Deep miner | ||||||
|  | gold-fluid-handling=Gold fluid handling | ||||||
|  | steam-automation=Steam automation | ||||||
|  | steam-science-pack=Steam science pack | ||||||
| 
 | 
 | ||||||
| [tile-name] | [tile-name] | ||||||
| wood-floor=Wood floor | wood-floor=Wood floor | ||||||
|  |  | ||||||
|  | @ -71,7 +71,8 @@ data:extend({ | ||||||
|         ingredients = { |         ingredients = { | ||||||
|             { type = "item", name = "stone-brick", amount = 5 }, |             { type = "item", name = "stone-brick", amount = 5 }, | ||||||
|             { type = "item", name = "wooden-gear-wheel", amount = 20 }, |             { type = "item", name = "wooden-gear-wheel", amount = 20 }, | ||||||
|             { type = "item", name = "lumber", amount = 20 } |             { type = "item", name = "lumber", amount = 20 }, | ||||||
|  |             { type = "item", name = "gold-plate", amount = 20 } | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } }, |         results = { { type = "item", name = "burner-agricultural-tower", amount = 1 } }, | ||||||
|         enabled = false |         enabled = false | ||||||
|  | @ -86,7 +87,7 @@ tech.unit = { | ||||||
|     ingredients = { |     ingredients = { | ||||||
|         { "wood-science-pack", 1 } |         { "wood-science-pack", 1 } | ||||||
|     }, |     }, | ||||||
|     time = 15 |     time = 10 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| data.raw.technology["fish-breeding"].prerequisites = { "agricultural-science-pack" } | data.raw.technology["fish-breeding"].prerequisites = { "agricultural-science-pack" } | ||||||
|  | @ -4,7 +4,7 @@ local assembling_machine = util.copy(data.raw["assembling-machine"]["assembling- | ||||||
| assembling_machine.name = "burner-assembling-machine" | assembling_machine.name = "burner-assembling-machine" | ||||||
| assembling_machine.icon = "__lignumis__/graphics/icons/burner-assembling-machine.png" | assembling_machine.icon = "__lignumis__/graphics/icons/burner-assembling-machine.png" | ||||||
| assembling_machine.minable.result = "burner-assembling-machine" | assembling_machine.minable.result = "burner-assembling-machine" | ||||||
| assembling_machine.next_upgrade = "assembling-machine-1" | assembling_machine.next_upgrade = "steam-assembling-machine" | ||||||
| assembling_machine.corpses = "burner-assembling-machine-remnants" | assembling_machine.corpses = "burner-assembling-machine-remnants" | ||||||
| assembling_machine.resistances = nil | assembling_machine.resistances = nil | ||||||
| assembling_machine.graphics_set.animation.layers[1].filename = "__lignumis__/graphics/entity/burner-assembling-machine.png" | assembling_machine.graphics_set.animation.layers[1].filename = "__lignumis__/graphics/entity/burner-assembling-machine.png" | ||||||
|  | @ -24,7 +24,7 @@ remnants.icon = "__lignumis__/graphics/icons/burner-assembling-machine.png" | ||||||
| remnants.animation[1].filename = "__lignumis__/graphics/entity/burner-assembling-machine-remnants.png" | remnants.animation[1].filename = "__lignumis__/graphics/entity/burner-assembling-machine-remnants.png" | ||||||
| remnants.animation[2].filename = "__lignumis__/graphics/entity/burner-assembling-machine-remnants.png" | remnants.animation[2].filename = "__lignumis__/graphics/entity/burner-assembling-machine-remnants.png" | ||||||
| remnants.animation[3].filename = "__lignumis__/graphics/entity/burner-assembling-machine-remnants.png" | remnants.animation[3].filename = "__lignumis__/graphics/entity/burner-assembling-machine-remnants.png" | ||||||
| remnants.order = "a[0-burner-assembling-machine]" | remnants.order = "0[burner-assembling-machine]" | ||||||
| 
 | 
 | ||||||
| data:extend({ | data:extend({ | ||||||
|     assembling_machine, |     assembling_machine, | ||||||
|  | @ -34,7 +34,7 @@ data:extend({ | ||||||
|         name = "burner-assembling-machine", |         name = "burner-assembling-machine", | ||||||
|         icon = "__lignumis__/graphics/icons/burner-assembling-machine.png", |         icon = "__lignumis__/graphics/icons/burner-assembling-machine.png", | ||||||
|         subgroup = "production-machine", |         subgroup = "production-machine", | ||||||
|         order = "a[0-burner-assembling-machine]", |         order = "0[burner-assembling-machine]", | ||||||
|         inventory_move_sound = item_sounds.mechanical_inventory_move, |         inventory_move_sound = item_sounds.mechanical_inventory_move, | ||||||
|         pick_sound = item_sounds.mechanical_inventory_pickup, |         pick_sound = item_sounds.mechanical_inventory_pickup, | ||||||
|         drop_sound = item_sounds.mechanical_inventory_move, |         drop_sound = item_sounds.mechanical_inventory_move, | ||||||
|  |  | ||||||
|  | @ -10,5 +10,8 @@ require("burner-long-handed-inserter") | ||||||
| require("lumber-mill") | require("lumber-mill") | ||||||
| require("gold") | require("gold") | ||||||
| require("deep-miner") | require("deep-miner") | ||||||
|  | require("desiccation-furnace") | ||||||
|  | require("steam-assembling-machine") | ||||||
|  | require("steam-science") | ||||||
| 
 | 
 | ||||||
| require("noise") | require("noise") | ||||||
|  |  | ||||||
							
								
								
									
										61
									
								
								lignumis/prototypes/content/desiccation-furnace.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,61 @@ | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | 
 | ||||||
|  | local furnace = util.copy(data.raw.furnace["stone-furnace"]) | ||||||
|  | furnace.name = "desiccation-furnace" | ||||||
|  | furnace.fluid_boxes = { | ||||||
|  |     { | ||||||
|  |         volume = 50, | ||||||
|  |         pipe_picture = assembler2pipepictures(), | ||||||
|  |         pipe_covers = pipecoverspictures(), | ||||||
|  |         pipe_connections = { | ||||||
|  |             { flow_direction = "output", direction = defines.direction.east, position = { 0.5, 0.5 } } | ||||||
|  |         }, | ||||||
|  |         production_type = "output" | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | furnace.crafting_categories = { "desiccation" } | ||||||
|  | 
 | ||||||
|  | furnace.fluid_boxes[1].pipe_covers.north.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-north.png" | ||||||
|  | furnace.fluid_boxes[1].pipe_covers.east.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-east.png" | ||||||
|  | furnace.fluid_boxes[1].pipe_covers.south.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-south.png" | ||||||
|  | furnace.fluid_boxes[1].pipe_covers.west.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-west.png" | ||||||
|  | 
 | ||||||
|  | local furnace_item = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "desiccation-furnace", | ||||||
|  |     icons = { | ||||||
|  |         { icon = "__base__/graphics/icons/stone-furnace.png" }, | ||||||
|  |         { icon = "__base__/graphics/icons/fluid/steam.png", scale = 0.25, shift = { 8, -8 } } | ||||||
|  |     }, | ||||||
|  |     subgroup = "smelting-machine", | ||||||
|  |     order = "a[furnace]-ab[desiccation]", | ||||||
|  |     inventory_move_sound = item_sounds.brick_inventory_move, | ||||||
|  |     pick_sound = item_sounds.brick_inventory_pickup, | ||||||
|  |     drop_sound = item_sounds.brick_inventory_move, | ||||||
|  |     place_result = "desiccation-furnace", | ||||||
|  |     stack_size = 50 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local furnace_recipe = { | ||||||
|  |     type = "recipe", | ||||||
|  |     name = "desiccation-furnace", | ||||||
|  |     ingredients = { | ||||||
|  |         { type = "item", name = "stone-furnace", amount = 1 }, | ||||||
|  |         { type = "item", name = "gold-pipe",     amount = 2 } | ||||||
|  |     }, | ||||||
|  |     results = { { type = "item", name = "desiccation-furnace", amount = 1 } } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     { | ||||||
|  |         type = "recipe-category", | ||||||
|  |         name = "desiccation" | ||||||
|  |     }, | ||||||
|  |     furnace, | ||||||
|  |     furnace_item, | ||||||
|  |     furnace_recipe | ||||||
|  | }) | ||||||
|  | @ -1,398 +1,5 @@ | ||||||
| local item_sounds = require("__base__.prototypes.item_sounds") | require("gold/stromatolite") | ||||||
| local space_age_item_sounds = require("__space-age__.prototypes.item_sounds") | require("gold/tiles") | ||||||
| local tile_collision_masks = require("__base__/prototypes/tile/tile-collision-masks") | require("gold/resource") | ||||||
| local tile_trigger_effects = require("__base__.prototypes.tile.tile-trigger-effects") | require("gold/intermediates") | ||||||
| local semi_wet_sound = sound_variations("__space-age__/sound/walking/semi-wet-rock", 10, 0.7) | require("gold/pipes") | ||||||
| local tile_sounds = require("__space-age__/prototypes/tile/tile-sounds") |  | ||||||
| local resource_autoplace = require("resource-autoplace") |  | ||||||
| local meld = require("meld") |  | ||||||
| 
 |  | ||||||
| resource_autoplace.initialize_patch_set("gold-patch", true) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| --* control:lignumis_gold:size |  | ||||||
| 
 |  | ||||||
| --local function gold_autoplace(settings) |  | ||||||
| --    settings = settings or {} |  | ||||||
| --    return resource_autoplace.resource_autoplace_settings({ |  | ||||||
| --        name = "gold-patch", |  | ||||||
| --        order = "b", |  | ||||||
| --        base_density = 1, |  | ||||||
| --        richness_multiplier = 1, |  | ||||||
| --        richness_multiplier_distance_bonus = 1.5, |  | ||||||
| --        base_spots_per_km2 = 20, |  | ||||||
| --        has_starting_area_placement = true, |  | ||||||
| --        random_spot_size_minimum = 0.01, |  | ||||||
| --        random_spot_size_maximum = 0.1, |  | ||||||
| --        regular_blob_amplitude_multiplier = 1, |  | ||||||
| --        richness_post_multiplier = 1.0, |  | ||||||
| --        additional_richness = 350000, |  | ||||||
| --        regular_rq_factor_multiplier = 0.1, |  | ||||||
| --        candidate_spot_count = 22, |  | ||||||
| --        tile_restriction = settings.tile_restriction, |  | ||||||
| --    }) |  | ||||||
| --end |  | ||||||
| local function gold_autoplace(settings) |  | ||||||
|     settings = settings or {} |  | ||||||
|     return { |  | ||||||
|         probability_expression = "lignumis_gold / 2000 * control:lignumis_gold:frequency", |  | ||||||
|         richness_expression = "lignumis_gold * control:lignumis_gold:richness * 2000000", |  | ||||||
|         tile_restriction = settings.tile_restriction |  | ||||||
|     } |  | ||||||
| end |  | ||||||
| --map_seed |  | ||||||
| data:extend({ |  | ||||||
|     { |  | ||||||
|         type = "noise-expression", |  | ||||||
|         name = "lignumis_gold", |  | ||||||
|         expression = |  | ||||||
|         "(multioctave_noise{x = x, y = y, persistence = 1, seed0 = 0, seed1 = 2000000, octaves = 2, input_scale = 1/64, output_scale = 0.75*control:lignumis_gold:size}) * 20 - 18", |  | ||||||
|     } |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| local gold_stromatolite = util.copy(data.raw["simple-entity"]["copper-stromatolite"]) |  | ||||||
| gold_stromatolite.name = "gold-stromatolite" |  | ||||||
| gold_stromatolite.icon = "__lignumis__/graphics/icons/gold-stromatolite.png" |  | ||||||
| gold_stromatolite.autoplace = gold_autoplace({ |  | ||||||
|     tile_restriction = { "natural-gold-soil" } |  | ||||||
| }) |  | ||||||
| gold_stromatolite.collision_mask = util.copy(data.raw["plant"]["tree-plant"].collision_mask) |  | ||||||
| gold_stromatolite.minable.results = { |  | ||||||
|     { type = "item", name = "gold-ore",               amount_min = 13, amount_max = 17 }, |  | ||||||
|     { type = "item", name = "gold-bacteria",          amount_min = 23, amount_max = 37 }, |  | ||||||
|     { type = "item", name = "gold-stromatolite-seed", amount_min = 1,  amount_max = 7, probability = 0.5 } |  | ||||||
| } |  | ||||||
| gold_stromatolite.map_color = { 255, 171, 0, 0.5 } |  | ||||||
| gold_stromatolite.pictures = { |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-01.png", |  | ||||||
|         width = 209, |  | ||||||
|         height = 138, |  | ||||||
|         shift = { 0.304688, -0.4 }, |  | ||||||
|         scale = 0.4, |  | ||||||
| 
 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-02.png", |  | ||||||
|         width = 165, |  | ||||||
|         height = 129, |  | ||||||
|         shift = { 0.0, 0.0390625 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-03.png", |  | ||||||
|         width = 151, |  | ||||||
|         height = 139, |  | ||||||
|         shift = { 0.151562, 0.0 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-04.png", |  | ||||||
|         width = 216, |  | ||||||
|         height = 110, |  | ||||||
|         shift = { 0.390625, 0.0 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-05.png", |  | ||||||
|         width = 154, |  | ||||||
|         height = 147, |  | ||||||
|         shift = { 0.328125, 0.0703125 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-06.png", |  | ||||||
|         width = 154, |  | ||||||
|         height = 132, |  | ||||||
|         shift = { 0.16875, -0.1 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-07.png", |  | ||||||
|         width = 193, |  | ||||||
|         height = 130, |  | ||||||
|         shift = { 0.3, -0.2 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-08.png", |  | ||||||
|         width = 136, |  | ||||||
|         height = 117, |  | ||||||
|         shift = { 0.0, 0.0 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-09.png", |  | ||||||
|         width = 157, |  | ||||||
|         height = 115, |  | ||||||
|         shift = { 0.1, 0.0 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-10.png", |  | ||||||
|         width = 198, |  | ||||||
|         height = 153, |  | ||||||
|         shift = { 0.325, -0.1 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-11.png", |  | ||||||
|         width = 190, |  | ||||||
|         height = 115, |  | ||||||
|         shift = { 0.453125, 0.0 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-12.png", |  | ||||||
|         width = 229, |  | ||||||
|         height = 126, |  | ||||||
|         shift = { 0.539062, -0.015625 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-13.png", |  | ||||||
|         width = 151, |  | ||||||
|         height = 125, |  | ||||||
|         shift = { 0.0703125, 0.179688 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-14.png", |  | ||||||
|         width = 137, |  | ||||||
|         height = 117, |  | ||||||
|         shift = { 0.160938, 0.0 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-15.png", |  | ||||||
|         width = 201, |  | ||||||
|         height = 141, |  | ||||||
|         shift = { 0.242188, -0.195312 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         filename = "__lignumis__/graphics/entity/gold-stromatolite-16.png", |  | ||||||
|         width = 209, |  | ||||||
|         height = 154, |  | ||||||
|         shift = { 0.351562, -0.1 }, |  | ||||||
|         scale = 0.4 |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| local gold_stromatolite_plant = util.copy(data.raw["plant"]["tree-plant"]) |  | ||||||
| gold_stromatolite_plant.name = "gold-stromatolite-plant" |  | ||||||
| gold_stromatolite_plant.localised_name = { "entity-name.gold-stromatolite-plant" } |  | ||||||
| gold_stromatolite_plant.icon = "__lignumis__/graphics/icons/gold-stromatolite.png" |  | ||||||
| gold_stromatolite_plant.map_color = { 255, 171, 0, 0.5 } |  | ||||||
| gold_stromatolite_plant.agricultural_tower_tint = { |  | ||||||
|     primary = { r = 255, g = 171, b = 0, a = 1 }, |  | ||||||
|     secondary = { r = 40, g = 100, b = 25, a = 1 }, -- #89421dff |  | ||||||
| } |  | ||||||
| gold_stromatolite_plant.minable = { |  | ||||||
|     mining_particle = "copper-ore-particle", |  | ||||||
|     mining_time = 2, |  | ||||||
|     results = { |  | ||||||
|         { type = "item", name = "gold-ore",               amount_min = 13, amount_max = 17 }, |  | ||||||
|         { type = "item", name = "gold-bacteria",          amount_min = 23, amount_max = 37 }, |  | ||||||
|         { type = "item", name = "gold-stromatolite-seed", amount_min = 1,  amount_max = 3 } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| gold_stromatolite_plant.growth_ticks = 20 * minute |  | ||||||
| gold_stromatolite_plant.variations = nil |  | ||||||
| gold_stromatolite_plant.variation_weights = nil |  | ||||||
| gold_stromatolite_plant.collision_box = { { -0.5, -0.5 }, { 0.5, 0.5 } } |  | ||||||
| gold_stromatolite_plant.selection_box = { { -0.7, -0.7 }, { 0.7, 0.7 } } |  | ||||||
| gold_stromatolite_plant.remains_when_mined = nil |  | ||||||
| gold_stromatolite_plant.pictures = util.copy(gold_stromatolite.pictures) |  | ||||||
| gold_stromatolite_plant.autoplace = gold_autoplace({ |  | ||||||
|     tile_restriction = { "natural-gold-soil" } |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| data:extend({ |  | ||||||
|     gold_stromatolite, |  | ||||||
|     gold_stromatolite_plant, |  | ||||||
|     { |  | ||||||
|         type = "item", |  | ||||||
|         name = "gold-stromatolite-seed", |  | ||||||
|         localised_name = { "item-name.gold-stromatolite-seed" }, |  | ||||||
|         icon = "__lignumis__/graphics/icons/gold-stromatolite-seed.png", |  | ||||||
|         pictures = { |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-1.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-2.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-3.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-4.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-5.png", scale = 0.5, mipmap_count = 4 } |  | ||||||
|         }, |  | ||||||
|         subgroup = "agriculture-processes", |  | ||||||
|         order = "a[seeds]-d[gold-stromatolite-seed]", |  | ||||||
|         plant_result = "gold-stromatolite-plant", |  | ||||||
|         place_result = "gold-stromatolite-plant", |  | ||||||
|         inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, |  | ||||||
|         pick_sound = space_age_item_sounds.agriculture_inventory_pickup, |  | ||||||
|         drop_sound = space_age_item_sounds.agriculture_inventory_move, |  | ||||||
|         stack_size = 10, |  | ||||||
|         default_import_location = "lignumis", |  | ||||||
|         weight = 10 * kg |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "item", |  | ||||||
|         name = "gold-ore", |  | ||||||
|         icon = "__lignumis__/graphics/icons/gold-ore.png", |  | ||||||
|         pictures = { |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-ore-1.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-ore-2.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-ore-3.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|         }, |  | ||||||
|         subgroup = "raw-resource", |  | ||||||
|         order = "f[gold-ore]", |  | ||||||
|         inventory_move_sound = item_sounds.resource_inventory_move, |  | ||||||
|         pick_sound = item_sounds.resource_inventory_pickup, |  | ||||||
|         drop_sound = item_sounds.resource_inventory_move, |  | ||||||
|         stack_size = 50, |  | ||||||
|         default_import_location = "lignumis", |  | ||||||
|         weight = 2 * kg |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "item", |  | ||||||
|         name = "gold-bacteria", |  | ||||||
|         icon = "__lignumis__/graphics/icons/gold-bacteria.png", |  | ||||||
|         pictures = { |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria.png",   scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-1.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-2.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|             { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-3.png", scale = 0.5, mipmap_count = 4 }, |  | ||||||
|         }, |  | ||||||
|         subgroup = "agriculture-processes", |  | ||||||
|         order = "b[agriculture]-e[gold-bacteria]", |  | ||||||
|         inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, |  | ||||||
|         pick_sound = space_age_item_sounds.agriculture_inventory_pickup, |  | ||||||
|         drop_sound = space_age_item_sounds.agriculture_inventory_move, |  | ||||||
|         stack_size = 50, |  | ||||||
|         default_import_location = "lignumis", |  | ||||||
|         weight = 1 * kg, |  | ||||||
|         spoil_ticks = 1 * minute, |  | ||||||
|         spoil_result = "gold-ore" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "tile", |  | ||||||
|         name = "natural-gold-soil", |  | ||||||
|         order = "d[gold]-c[natural-gold-soil]", |  | ||||||
|         subgroup = "lignumis-tiles", |  | ||||||
|         collision_mask = tile_collision_masks.ground(), |  | ||||||
|         layer_group = "ground-natural", |  | ||||||
|         layer = 85, |  | ||||||
|         searchable = true, |  | ||||||
|         transitions = lava_stone_transitions, |  | ||||||
|         transitions_between_transitions = data.raw["tile"]["landfill"].transitions_between_transitions, |  | ||||||
|         trigger_effect = tile_trigger_effects.landfill_trigger_effect(), |  | ||||||
|         sprite_usage_surface = "any", |  | ||||||
|         variants = tile_variations_template_with_transitions( |  | ||||||
|             "__lignumis__/graphics/terrain/natural-gold-soil.png", |  | ||||||
|             { |  | ||||||
|                 max_size = 4, |  | ||||||
|                 [1] = { weights = { 0.085, 0.085, 0.085, 0.085, 0.087, 0.085, 0.065, 0.085, 0.045, 0.045, 0.045, 0.045, 0.005, 0.025, 0.045, 0.045 } }, |  | ||||||
|                 [2] = { probability = 1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, }, |  | ||||||
|                 [4] = { probability = 0.1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, }, |  | ||||||
|             } |  | ||||||
|         ), |  | ||||||
|         walking_sound = semi_wet_sound, |  | ||||||
|         landing_steps_sound = tile_sounds.landing.semi_wet, |  | ||||||
|         build_sound = data.raw["tile"]["landfill"].build_sound, |  | ||||||
|         map_color = { 185, 166, 5 }, |  | ||||||
|         scorch_mark_color = { r = 0.329, g = 0.242 * 2, b = 0.177, a = 1.000 }, |  | ||||||
|         autoplace = { |  | ||||||
|             probability_expression = "lignumis_gold" |  | ||||||
|         }, |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "item-subgroup", |  | ||||||
|         name = "lignumis-tiles", |  | ||||||
|         group = "tiles", |  | ||||||
|         order = "h" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "resource", |  | ||||||
|         name = "gold-patch", |  | ||||||
|         icon = "__lignumis__/graphics/icons/gold-patch.png", |  | ||||||
|         icon_size = 64, |  | ||||||
|         flags = { "placeable-neutral" }, |  | ||||||
|         category = "deep-mining", |  | ||||||
|         order = "a-b-a", |  | ||||||
|         infinite = false, |  | ||||||
|         highlight = true, |  | ||||||
|         resource_patch_search_radius = 12, |  | ||||||
|         tree_removal_probability = 1, |  | ||||||
|         tree_removal_max_distance = 32 * 32, |  | ||||||
|         minable = { |  | ||||||
|             mining_time = 1, |  | ||||||
|             result = "gold-ore", |  | ||||||
|         }, |  | ||||||
|         collision_box = { { -4.4, -4.4 }, { 4.4, 4.4 } }, |  | ||||||
|         --collision_mask = {"item-layer", "water-tile"}, |  | ||||||
|         selection_box = { { -3.5, -3.5 }, { 3.5, 3.5 } }, |  | ||||||
|         autoplace = { |  | ||||||
|             probability_expression = "min(0.2, 0.3 * (1 - gleba_plants_noise) * control:lignumis_gold:size)", |  | ||||||
|             richness_expression = "(gleba_fertile_solid * 50000 - 40000) * control:lignumis_gold:richness", |  | ||||||
|             tile_restriction = { "natural-gold-soil" } |  | ||||||
|         }, |  | ||||||
|         stage_counts = { 0 }, |  | ||||||
|         stages = { |  | ||||||
|             sheet = { |  | ||||||
|                 filename = "__lignumis__/graphics/entity/gold-patch.png", |  | ||||||
|                 priority = "extra-high", |  | ||||||
|                 width = 975, |  | ||||||
|                 height = 664, |  | ||||||
|                 scale = 0.5, |  | ||||||
|                 frame_count = 1, |  | ||||||
|                 variation_count = 1 |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         map_color = { r = 1, g = 0.82, b = 0.28 }, |  | ||||||
|         map_grid = false |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         name = "deep-mining", |  | ||||||
|         type = "resource-category", |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "item", |  | ||||||
|         name = "gold-plate", |  | ||||||
|         icon = "__lignumis__/graphics/icons/gold-plate.png", |  | ||||||
|         subgroup = "raw-material", |  | ||||||
|         color_hint = { text = "C" }, |  | ||||||
|         order = "a[smelting]-b[gold-plate]", |  | ||||||
|         inventory_move_sound = item_sounds.metal_small_inventory_move, |  | ||||||
|         pick_sound = item_sounds.metal_small_inventory_pickup, |  | ||||||
|         drop_sound = item_sounds.metal_small_inventory_move, |  | ||||||
|         stack_size = 100 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "item", |  | ||||||
|         name = "gold-cable", |  | ||||||
|         icon = "__lignumis__/graphics/icons/gold-cable.png", |  | ||||||
|         subgroup = "intermediate-product", |  | ||||||
|         order = "a[basic-intermediates]-c[gold-cable]", |  | ||||||
|         inventory_move_sound = item_sounds.wire_inventory_move, |  | ||||||
|         pick_sound = item_sounds.wire_inventory_pickup, |  | ||||||
|         drop_sound = item_sounds.wire_inventory_move, |  | ||||||
|         stack_size = 200, |  | ||||||
|         weight = 0.25 * kg, |  | ||||||
|         ingredient_to_weight_coefficient = 0.25 |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "recipe", |  | ||||||
|         name = "gold-plate", |  | ||||||
|         category = "smelting", |  | ||||||
|         energy_required = 3.2, |  | ||||||
|         ingredients = { { type = "item", name = "gold-ore", amount = 1 } }, |  | ||||||
|         results = { { type = "item", name = "gold-plate", amount = 1 } }, |  | ||||||
|         allow_productivity = true |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|         type = "recipe", |  | ||||||
|         name = "gold-cable", |  | ||||||
|         ingredients = { { type = "item", name = "gold-plate", amount = 1 } }, |  | ||||||
|         results = { { type = "item", name = "gold-cable", amount = 2 } }, |  | ||||||
|         allow_productivity = true |  | ||||||
|     } |  | ||||||
| }) |  | ||||||
							
								
								
									
										45
									
								
								lignumis/prototypes/content/gold/intermediates.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,45 @@ | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     { | ||||||
|  |         type = "item", | ||||||
|  |         name = "gold-plate", | ||||||
|  |         icon = "__lignumis__/graphics/icons/gold-plate.png", | ||||||
|  |         subgroup = "raw-material", | ||||||
|  |         color_hint = { text = "C" }, | ||||||
|  |         order = "a[smelting]-b[gold-plate]", | ||||||
|  |         inventory_move_sound = item_sounds.metal_small_inventory_move, | ||||||
|  |         pick_sound = item_sounds.metal_small_inventory_pickup, | ||||||
|  |         drop_sound = item_sounds.metal_small_inventory_move, | ||||||
|  |         stack_size = 100 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "gold-plate", | ||||||
|  |         category = "smelting", | ||||||
|  |         energy_required = 3.2, | ||||||
|  |         ingredients = { { type = "item", name = "gold-ore", amount = 1 } }, | ||||||
|  |         results = { { type = "item", name = "gold-plate", amount = 1 } }, | ||||||
|  |         allow_productivity = true | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "item", | ||||||
|  |         name = "gold-cable", | ||||||
|  |         icon = "__lignumis__/graphics/icons/gold-cable.png", | ||||||
|  |         subgroup = "intermediate-product", | ||||||
|  |         order = "a[basic-intermediates]-c[gold-cable]", | ||||||
|  |         inventory_move_sound = item_sounds.wire_inventory_move, | ||||||
|  |         pick_sound = item_sounds.wire_inventory_pickup, | ||||||
|  |         drop_sound = item_sounds.wire_inventory_move, | ||||||
|  |         stack_size = 200, | ||||||
|  |         weight = 0.25 * kg, | ||||||
|  |         ingredient_to_weight_coefficient = 0.25 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "gold-cable", | ||||||
|  |         ingredients = { { type = "item", name = "gold-plate", amount = 1 } }, | ||||||
|  |         results = { { type = "item", name = "gold-cable", amount = 2 } }, | ||||||
|  |         allow_productivity = true | ||||||
|  |     } | ||||||
|  | }) | ||||||
							
								
								
									
										399
									
								
								lignumis/prototypes/content/gold/pipes.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,399 @@ | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | local item_tints = require("__base__.prototypes.item-tints") | ||||||
|  | local hit_effects = require("__base__.prototypes.entity.hit-effects") | ||||||
|  | local sounds = require("__base__.prototypes.entity.sounds") | ||||||
|  | 
 | ||||||
|  | function make_rotated_animation_variations_from_sheet(variation_count, sheet) --makes remnants work with more than 1 variation | ||||||
|  |     local result = {} | ||||||
|  | 
 | ||||||
|  |     local function set_y_offset(variation, i) | ||||||
|  |         local frame_count = variation.frame_count or 1 | ||||||
|  |         local line_length = variation.line_length or frame_count | ||||||
|  |         if (line_length < 1) then | ||||||
|  |             line_length = frame_count | ||||||
|  |         end | ||||||
|  | 
 | ||||||
|  |         local height_in_frames = math.floor((frame_count * variation.direction_count + line_length - 1) / line_length) | ||||||
|  |         -- if (height_in_frames ~= 1) then | ||||||
|  |         --   log("maybe broken sheet: h=" .. height_in_frames .. ", vc=" .. variation_count .. ", " .. variation.filename) | ||||||
|  |         -- end | ||||||
|  |         variation.y = variation.height * (i - 1) * height_in_frames | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     for i = 1, variation_count do | ||||||
|  |         local variation = util.table.deepcopy(sheet) | ||||||
|  | 
 | ||||||
|  |         if variation.layers then | ||||||
|  |             for _, layer in pairs(variation.layers) do | ||||||
|  |                 set_y_offset(layer, i) | ||||||
|  |             end | ||||||
|  |         else | ||||||
|  |             set_y_offset(variation, i) | ||||||
|  |         end | ||||||
|  | 
 | ||||||
|  |         table.insert(result, variation) | ||||||
|  |     end | ||||||
|  |     return result | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | local pipe = util.copy(data.raw.pipe["pipe"]) | ||||||
|  | pipe.name = "gold-pipe" | ||||||
|  | pipe.icon = "__lignumis__/graphics/icons/gold-pipe.png" | ||||||
|  | pipe.corpse = "gold-pipe-remnants" | ||||||
|  | pipe.next_upgrade = "pipe" | ||||||
|  | pipe.fluid_box.volume = 50 | ||||||
|  | 
 | ||||||
|  | pipe.fluid_box.pipe_covers.north.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-north.png" | ||||||
|  | pipe.fluid_box.pipe_covers.east.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-east.png" | ||||||
|  | pipe.fluid_box.pipe_covers.south.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-south.png" | ||||||
|  | pipe.fluid_box.pipe_covers.west.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-west.png" | ||||||
|  | 
 | ||||||
|  | pipe.pictures.straight_vertical_single.filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-straight-vertical-single.png" | ||||||
|  | pipe.pictures.straight_vertical.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-straight-vertical.png" | ||||||
|  | pipe.pictures.straight_vertical_window.filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-straight-vertical-window.png" | ||||||
|  | pipe.pictures.straight_horizontal_window.filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-straight-horizontal-window.png" | ||||||
|  | pipe.pictures.straight_horizontal.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-straight-horizontal.png" | ||||||
|  | pipe.pictures.corner_up_right.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-corner-up-right.png" | ||||||
|  | pipe.pictures.corner_up_left.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-corner-up-left.png" | ||||||
|  | pipe.pictures.corner_down_right.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-corner-down-right.png" | ||||||
|  | pipe.pictures.corner_down_left.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-corner-down-left.png" | ||||||
|  | pipe.pictures.t_up.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-t-up.png" | ||||||
|  | pipe.pictures.t_down.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-t-down.png" | ||||||
|  | pipe.pictures.t_right.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-t-right.png" | ||||||
|  | pipe.pictures.t_left.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-t-left.png" | ||||||
|  | pipe.pictures.cross.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cross.png" | ||||||
|  | pipe.pictures.ending_up.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-ending-up.png" | ||||||
|  | pipe.pictures.ending_down.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-ending-down.png" | ||||||
|  | pipe.pictures.ending_right.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-ending-right.png" | ||||||
|  | pipe.pictures.ending_left.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-ending-left.png" | ||||||
|  | 
 | ||||||
|  | local pipe_item = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "gold-pipe", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-pipe.png", | ||||||
|  |     subgroup = "energy-pipe-distribution", | ||||||
|  |     order = "a[pipe]-a[gold-pipe]", | ||||||
|  |     inventory_move_sound = item_sounds.metal_small_inventory_move, | ||||||
|  |     pick_sound = item_sounds.metal_small_inventory_pickup, | ||||||
|  |     drop_sound = item_sounds.metal_small_inventory_move, | ||||||
|  |     place_result = "gold-pipe", | ||||||
|  |     stack_size = 100, | ||||||
|  |     weight = 5 * kg, | ||||||
|  |     random_tint_color = item_tints.iron_rust | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local pipe_recipe = { | ||||||
|  |     type = "recipe", | ||||||
|  |     name = "gold-pipe", | ||||||
|  |     ingredients = { { type = "item", name = "gold-plate", amount = 1 } }, | ||||||
|  |     results = { { type = "item", name = "gold-pipe", amount = 1 } }, | ||||||
|  |     enabled = false | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local pipe_remnants = { | ||||||
|  |     type = "corpse", | ||||||
|  |     name = "gold-pipe-remnants", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-pipe.png", | ||||||
|  |     flags = { "placeable-neutral", "not-on-map" }, | ||||||
|  |     hidden_in_factoriopedia = true, | ||||||
|  |     subgroup = "energy-pipe-distribution-remnants", | ||||||
|  |     order = "a-d-a", | ||||||
|  |     collision_box = { { -0.4, -0.4 }, { 0.4, 0.4 } }, | ||||||
|  |     selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, | ||||||
|  |     selectable_in_game = false, | ||||||
|  |     time_before_removed = 60 * 60 * 15, -- 15 minutes | ||||||
|  |     expires = false, | ||||||
|  |     final_render_layer = "remnants", | ||||||
|  |     remove_on_tile_placement = false, | ||||||
|  |     animation = make_rotated_animation_variations_from_sheet(2, { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-remnants.png", | ||||||
|  |         width = 122, | ||||||
|  |         height = 120, | ||||||
|  |         line_length = 1, | ||||||
|  |         direction_count = 2, | ||||||
|  |         shift = util.by_pixel(1.5, 2.5), -- -0,5 | ||||||
|  |         scale = 0.5 | ||||||
|  |     }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local pipe_to_ground = util.copy(data.raw["pipe-to-ground"]["pipe-to-ground"]) | ||||||
|  | pipe_to_ground.name = "gold-pipe-to-ground" | ||||||
|  | pipe_to_ground.icon = "__lignumis__/graphics/icons/gold-pipe-to-ground.png" | ||||||
|  | pipe_to_ground.corpse = "gold-pipe-to-ground-remnants" | ||||||
|  | pipe_to_ground.next_upgrade = "pipe-to-ground" | ||||||
|  | pipe_to_ground.fluid_box.volume = 50 | ||||||
|  | pipe_to_ground.fluid_box.pipe_connections[2].max_underground_distance = 6 | ||||||
|  | 
 | ||||||
|  | pipe_to_ground.fluid_box.pipe_covers.north.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-north.png" | ||||||
|  | pipe_to_ground.fluid_box.pipe_covers.east.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-east.png" | ||||||
|  | pipe_to_ground.fluid_box.pipe_covers.south.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-south.png" | ||||||
|  | pipe_to_ground.fluid_box.pipe_covers.west.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-west.png" | ||||||
|  | 
 | ||||||
|  | pipe_to_ground.pictures.north.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-to-ground-up.png" | ||||||
|  | pipe_to_ground.pictures.east.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-to-ground-right.png" | ||||||
|  | pipe_to_ground.pictures.south.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-to-ground-down.png" | ||||||
|  | pipe_to_ground.pictures.west.filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-to-ground-left.png" | ||||||
|  | 
 | ||||||
|  | local pipe_to_ground_item = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "gold-pipe-to-ground", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-pipe-to-ground.png", | ||||||
|  |     subgroup = "energy-pipe-distribution", | ||||||
|  |     order = "a[pipe]-b[gold-pipe-to-ground]", | ||||||
|  |     inventory_move_sound = item_sounds.metal_small_inventory_move, | ||||||
|  |     pick_sound = item_sounds.metal_small_inventory_pickup, | ||||||
|  |     drop_sound = item_sounds.metal_small_inventory_move, | ||||||
|  |     place_result = "gold-pipe-to-ground", | ||||||
|  |     stack_size = 50, | ||||||
|  |     random_tint_color = item_tints.iron_rust | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local pipe_to_ground_recipe = { | ||||||
|  |     type = "recipe", | ||||||
|  |     name = "gold-pipe-to-ground", | ||||||
|  |     enabled = false, | ||||||
|  |     ingredients = { | ||||||
|  |         { type = "item", name = "gold-pipe",  amount = 6 }, | ||||||
|  |         { type = "item", name = "gold-plate", amount = 4 } | ||||||
|  |     }, | ||||||
|  |     results = { { type = "item", name = "gold-pipe-to-ground", amount = 2 } } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local pipe_to_ground_remnants = { | ||||||
|  |     type = "corpse", | ||||||
|  |     name = "gold-pipe-to-ground-remnants", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-pipe-to-ground.png", | ||||||
|  |     flags = { "placeable-neutral", "not-on-map" }, | ||||||
|  |     hidden_in_factoriopedia = true, | ||||||
|  |     subgroup = "energy-pipe-distribution-remnants", | ||||||
|  |     order = "a-d-a", | ||||||
|  |     collision_box = { { -0.4, -0.4 }, { 0.4, 0.4 } }, | ||||||
|  |     selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, | ||||||
|  |     selectable_in_game = false, | ||||||
|  |     time_before_removed = 60 * 60 * 15, -- 15 minutes | ||||||
|  |     expires = false, | ||||||
|  |     final_render_layer = "remnants", | ||||||
|  |     remove_on_tile_placement = false, | ||||||
|  |     animation = { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-to-ground-remnants.png", | ||||||
|  |         width = 90, | ||||||
|  |         height = 80, | ||||||
|  |         line_length = 1, | ||||||
|  |         direction_count = 1, | ||||||
|  |         shift = util.by_pixel(0.5, -3), | ||||||
|  |         scale = 0.5 | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local tank = { | ||||||
|  |     type = "storage-tank", | ||||||
|  |     name = "gold-storage-tank", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-storage-tank.png", | ||||||
|  |     icon_size = 64, | ||||||
|  |     icon_mipmaps = 4, | ||||||
|  |     flags = { "placeable-player", "player-creation" }, | ||||||
|  |     minable = { mining_time = 0.5, result = "gold-storage-tank" }, | ||||||
|  |     max_health = 300, | ||||||
|  |     corpse = "gold-storage-tank-remnants", | ||||||
|  |     dying_explosion = "storage-tank-explosion", | ||||||
|  |     collision_box = { { -0.9, -0.9 }, { 0.9, 0.9 } }, | ||||||
|  |     selection_box = { { -1, -1 }, { 1, 1 } }, | ||||||
|  |     drawing_box_vertical_extension = 0.15, | ||||||
|  |     icon_draw_specification = { scale = 1, shift = { 0, -0.25 } }, | ||||||
|  |     damaged_trigger_effect = hit_effects.entity(), | ||||||
|  |     fluid_box = { | ||||||
|  |         volume = 10000, | ||||||
|  |         pipe_covers = pipecoverspictures(), | ||||||
|  |         pipe_connections = { | ||||||
|  |             { direction = defines.direction.north, position = { 0.5, -0.5 } }, | ||||||
|  |             { direction = defines.direction.east,  position = { 0.5, -0.5 } }, | ||||||
|  |             { direction = defines.direction.west,  position = { -0.5, -0.5 } } | ||||||
|  |         }, | ||||||
|  |         hide_connection_info = true | ||||||
|  |     }, | ||||||
|  |     two_direction_only = false, | ||||||
|  |     window_bounding_box = { { -0.2, 11 / 64 }, { 0.2, 1.0 - 16 / 64 } }, | ||||||
|  |     pictures = { | ||||||
|  |         picture = { | ||||||
|  |             sheets = { | ||||||
|  |                 { | ||||||
|  |                     filename = "__lignumis__/graphics/entity/gold-storage-tank.png", | ||||||
|  |                     priority = "extra-high", | ||||||
|  |                     width = 128, | ||||||
|  |                     height = 160, | ||||||
|  |                     scale = 0.5, | ||||||
|  |                     frames = 4, | ||||||
|  |                     shift = util.by_pixel(0, -8) | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     filename = "__lignumis__/graphics/entity/gold-storage-tank.png", | ||||||
|  |                     priority = "extra-high", | ||||||
|  |                     y = 160, | ||||||
|  |                     width = 160, | ||||||
|  |                     height = 128, | ||||||
|  |                     scale = 0.5, | ||||||
|  |                     frames = 4, | ||||||
|  |                     shift = util.by_pixel(0, 8), | ||||||
|  |                     draw_as_shadow = true | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         window_background = { | ||||||
|  |             filename = "__lignumis__/graphics/entity/gold-storage-tank-window-background.png", | ||||||
|  |             priority = "extra-high", | ||||||
|  |             width = 20, | ||||||
|  |             height = 41, | ||||||
|  |             scale = 0.5, | ||||||
|  |             shift = util.by_pixel(0, -0.5) | ||||||
|  |         }, | ||||||
|  |         fluid_background = { | ||||||
|  |             filename = "__base__/graphics/entity/storage-tank/fluid-background.png", | ||||||
|  |             priority = "extra-high", | ||||||
|  |             width = 32, | ||||||
|  |             height = 15, | ||||||
|  |             scale = 1.0 | ||||||
|  |         }, | ||||||
|  |         flow_sprite = { | ||||||
|  |             filename = "__base__/graphics/entity/pipe/fluid-flow-low-temperature.png", | ||||||
|  |             priority = "extra-high", | ||||||
|  |             width = 160, | ||||||
|  |             height = 20, | ||||||
|  |             scale = 1.0 | ||||||
|  |         }, | ||||||
|  |         gas_flow = { | ||||||
|  |             filename = "__base__/graphics/entity/pipe/steam.png", | ||||||
|  |             priority = "extra-high", | ||||||
|  |             line_length = 10, | ||||||
|  |             width = 48, | ||||||
|  |             height = 30, | ||||||
|  |             frame_count = 60, | ||||||
|  |             axially_symmetrical = false, | ||||||
|  |             animation_speed = 0.25, | ||||||
|  |             direction_count = 1, | ||||||
|  |             scale = 0.5 | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     flow_length_in_ticks = 405, -- should match the Storage Tank | ||||||
|  |     impact_category = "metal-large", | ||||||
|  |     open_sound = sounds.metal_large_open, | ||||||
|  |     close_sound = sounds.metal_large_close, | ||||||
|  |     working_sound = { | ||||||
|  |         sound = { | ||||||
|  |             filename = "__base__/sound/storage-tank.ogg", | ||||||
|  |             volume = 0.5 | ||||||
|  |         }, | ||||||
|  |         match_volume_to_activity = true, | ||||||
|  |         audible_distance_modifier = 0.5, | ||||||
|  |         max_sounds_per_type = 3 | ||||||
|  |     }, | ||||||
|  |     circuit_connector = circuit_connector_definitions.create_vector | ||||||
|  |         (universal_connector_template, | ||||||
|  |             { | ||||||
|  |                 { | ||||||
|  |                     variation = 25, | ||||||
|  |                     main_offset = util.by_pixel(-20, 0), | ||||||
|  |                     shadow_offset = util.by_pixel(-20, 0), | ||||||
|  |                     show_shadow = false | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     variation = 25, | ||||||
|  |                     main_offset = util.by_pixel(-20, 0), | ||||||
|  |                     shadow_offset = util.by_pixel(-20, 0), | ||||||
|  |                     show_shadow = false | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     variation = 27, | ||||||
|  |                     main_offset = util.by_pixel(20, 0), | ||||||
|  |                     shadow_offset = util.by_pixel(20, 0), | ||||||
|  |                     show_shadow = false | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     variation = 27, | ||||||
|  |                     main_offset = util.by_pixel(20, 0), | ||||||
|  |                     shadow_offset = util.by_pixel(20, 0), | ||||||
|  |                     show_shadow = false | ||||||
|  |                 }, | ||||||
|  |             } | ||||||
|  |         ), | ||||||
|  |     circuit_wire_max_distance = default_circuit_wire_max_distance, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | tank.fluid_box.pipe_covers.north.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-north.png" | ||||||
|  | tank.fluid_box.pipe_covers.east.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-east.png" | ||||||
|  | tank.fluid_box.pipe_covers.south.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-south.png" | ||||||
|  | tank.fluid_box.pipe_covers.west.layers[1].filename = "__lignumis__/graphics/entity/gold-pipe/gold-pipe-cover-west.png" | ||||||
|  | 
 | ||||||
|  | local tank_item = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "gold-storage-tank", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-storage-tank.png", | ||||||
|  |     subgroup = "storage", | ||||||
|  |     order = "b[fluid]-a[gold-storage-tank]", | ||||||
|  |     inventory_move_sound = item_sounds.metal_large_inventory_move, | ||||||
|  |     pick_sound = item_sounds.metal_large_inventory_pickup, | ||||||
|  |     drop_sound = item_sounds.metal_large_inventory_move, | ||||||
|  |     place_result = "gold-storage-tank", | ||||||
|  |     stack_size = 10 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local tank_recipe = { | ||||||
|  |     type = "recipe", | ||||||
|  |     name = "gold-storage-tank", | ||||||
|  |     energy_required = 3, | ||||||
|  |     enabled = false, | ||||||
|  |     ingredients = { | ||||||
|  |         { type = "item", name = "gold-plate", amount = 20 }, | ||||||
|  |         { type = "item", name = "lumber",     amount = 20 } | ||||||
|  |     }, | ||||||
|  |     results = { { type = "item", name = "gold-storage-tank", amount = 1 } } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local tank_remnants = { | ||||||
|  |     type = "corpse", | ||||||
|  |     name = "gold-storage-tank-remnants", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-storage-tank.png", | ||||||
|  |     flags = { "placeable-neutral", "building-direction-8-way", "not-on-map" }, | ||||||
|  |     hidden_in_factoriopedia = true, | ||||||
|  |     subgroup = "storage-remnants", | ||||||
|  |     order = "a-d-a", | ||||||
|  |     selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } }, | ||||||
|  |     tile_width = 3, | ||||||
|  |     tile_height = 3, | ||||||
|  |     selectable_in_game = false, | ||||||
|  |     time_before_removed = 60 * 60 * 15,                       -- 15 minutes | ||||||
|  |     expires = false, | ||||||
|  |     final_render_layer = "remnants", | ||||||
|  |     remove_on_tile_placement = false, | ||||||
|  |     animation = make_rotated_animation_variations_from_sheet(1, | ||||||
|  |         { | ||||||
|  |             filename = "__lignumis__/graphics/entity/gold-storage-tank-remnants.png", | ||||||
|  |             line_length = 1, | ||||||
|  |             width = 284, | ||||||
|  |             height = 188, | ||||||
|  |             direction_count = 1, | ||||||
|  |             shift = util.by_pixel(17, 12), | ||||||
|  |             scale = 0.5 | ||||||
|  |         }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     pipe, | ||||||
|  |     pipe_item, | ||||||
|  |     pipe_recipe, | ||||||
|  |     pipe_remnants, | ||||||
|  |     pipe_to_ground, | ||||||
|  |     pipe_to_ground_item, | ||||||
|  |     pipe_to_ground_recipe, | ||||||
|  |     pipe_to_ground_remnants, | ||||||
|  |     tank, | ||||||
|  |     tank_item, | ||||||
|  |     tank_recipe, | ||||||
|  |     tank_remnants | ||||||
|  | }) | ||||||
							
								
								
									
										71
									
								
								lignumis/prototypes/content/gold/resource.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,71 @@ | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | local resource_autoplace = require("resource-autoplace") | ||||||
|  | 
 | ||||||
|  | resource_autoplace.initialize_patch_set("gold-patch", true) | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     { | ||||||
|  |         name = "deep-mining", | ||||||
|  |         type = "resource-category", | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "resource", | ||||||
|  |         name = "gold-patch", | ||||||
|  |         icon = "__lignumis__/graphics/icons/gold-patch.png", | ||||||
|  |         icon_size = 64, | ||||||
|  |         flags = { "placeable-neutral" }, | ||||||
|  |         category = "deep-mining", | ||||||
|  |         order = "a-b-a", | ||||||
|  |         infinite = false, | ||||||
|  |         highlight = true, | ||||||
|  |         resource_patch_search_radius = 12, | ||||||
|  |         tree_removal_probability = 1, | ||||||
|  |         tree_removal_max_distance = 32 * 32, | ||||||
|  |         minable = { | ||||||
|  |             mining_time = 1, | ||||||
|  |             result = "gold-ore", | ||||||
|  |         }, | ||||||
|  |         collision_box = { { -4.4, -4.4 }, { 4.4, 4.4 } }, | ||||||
|  |         --collision_mask = {"item-layer", "water-tile"}, | ||||||
|  |         selection_box = { { -3.5, -3.5 }, { 3.5, 3.5 } }, | ||||||
|  |         autoplace = { | ||||||
|  |             probability_expression = | ||||||
|  |             "0.03 * control:lignumis_gold:frequency - abs(basis_noise{x = x, y = y, seed0 = map_seed, seed1 = 2000000, input_scale = 1/16, output_scale = 1/3})", | ||||||
|  |             richness_expression = | ||||||
|  |             "(sqrt(x^2 + y^2) * 1000 + basis_noise{x = x, y = y, seed0 = map_seed, seed1 = 1000000, input_scale = 1/16, output_scale = 1/3} * 1000) * control:lignumis_gold:richness", | ||||||
|  |             tile_restriction = { "natural-gold-soil" } | ||||||
|  |         }, | ||||||
|  |         stage_counts = { 0 }, | ||||||
|  |         stages = { | ||||||
|  |             sheet = { | ||||||
|  |                 filename = "__lignumis__/graphics/entity/gold-patch.png", | ||||||
|  |                 priority = "extra-high", | ||||||
|  |                 width = 975, | ||||||
|  |                 height = 664, | ||||||
|  |                 scale = 0.5, | ||||||
|  |                 frame_count = 1, | ||||||
|  |                 variation_count = 1 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         map_color = { r = 1, g = 0.82, b = 0.28 }, | ||||||
|  |         map_grid = false | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "item", | ||||||
|  |         name = "gold-ore", | ||||||
|  |         icon = "__lignumis__/graphics/icons/gold-ore.png", | ||||||
|  |         pictures = { | ||||||
|  |             { size = 64, filename = "__lignumis__/graphics/icons/gold-ore-1.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |             { size = 64, filename = "__lignumis__/graphics/icons/gold-ore-2.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |             { size = 64, filename = "__lignumis__/graphics/icons/gold-ore-3.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         }, | ||||||
|  |         subgroup = "raw-resource", | ||||||
|  |         order = "f[gold-ore]", | ||||||
|  |         inventory_move_sound = item_sounds.resource_inventory_move, | ||||||
|  |         pick_sound = item_sounds.resource_inventory_pickup, | ||||||
|  |         drop_sound = item_sounds.resource_inventory_move, | ||||||
|  |         stack_size = 50, | ||||||
|  |         default_import_location = "lignumis", | ||||||
|  |         weight = 2 * kg | ||||||
|  |     } | ||||||
|  | }) | ||||||
							
								
								
									
										235
									
								
								lignumis/prototypes/content/gold/stromatolite.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,235 @@ | ||||||
|  | local space_age_item_sounds = require("__space-age__.prototypes.item_sounds") | ||||||
|  | 
 | ||||||
|  | local stromatolite = util.copy(data.raw["simple-entity"]["copper-stromatolite"]) | ||||||
|  | stromatolite.name = "gold-stromatolite" | ||||||
|  | stromatolite.icon = "__lignumis__/graphics/icons/gold-stromatolite.png" | ||||||
|  | stromatolite.autoplace = { | ||||||
|  |     probability_expression = | ||||||
|  |     "basis_noise{x = x, y = y, seed0 = map_seed, seed1 = 2000000, input_scale = 1/8, output_scale = 1/3}", | ||||||
|  |     tile_restriction = { "natural-gold-soil" } | ||||||
|  | } | ||||||
|  | stromatolite.collision_mask = util.copy(data.raw["plant"]["tree-plant"].collision_mask) | ||||||
|  | stromatolite.minable.results = { | ||||||
|  |     { type = "item", name = "gold-ore",               amount_min = 13, amount_max = 17 }, | ||||||
|  |     { type = "item", name = "gold-bacteria",          amount_min = 23, amount_max = 37 }, | ||||||
|  |     { type = "item", name = "gold-stromatolite-seed", amount_min = 1,  amount_max = 7, probability = 0.5 } | ||||||
|  | } | ||||||
|  | stromatolite.map_color = { 255, 171, 0, 0.5 } | ||||||
|  | stromatolite.pictures = { | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-01.png", | ||||||
|  |         width = 209, | ||||||
|  |         height = 138, | ||||||
|  |         shift = { 0.304688, -0.4 }, | ||||||
|  |         scale = 0.4, | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-02.png", | ||||||
|  |         width = 165, | ||||||
|  |         height = 129, | ||||||
|  |         shift = { 0.0, 0.0390625 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-03.png", | ||||||
|  |         width = 151, | ||||||
|  |         height = 139, | ||||||
|  |         shift = { 0.151562, 0.0 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-04.png", | ||||||
|  |         width = 216, | ||||||
|  |         height = 110, | ||||||
|  |         shift = { 0.390625, 0.0 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-05.png", | ||||||
|  |         width = 154, | ||||||
|  |         height = 147, | ||||||
|  |         shift = { 0.328125, 0.0703125 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-06.png", | ||||||
|  |         width = 154, | ||||||
|  |         height = 132, | ||||||
|  |         shift = { 0.16875, -0.1 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-07.png", | ||||||
|  |         width = 193, | ||||||
|  |         height = 130, | ||||||
|  |         shift = { 0.3, -0.2 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-08.png", | ||||||
|  |         width = 136, | ||||||
|  |         height = 117, | ||||||
|  |         shift = { 0.0, 0.0 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-09.png", | ||||||
|  |         width = 157, | ||||||
|  |         height = 115, | ||||||
|  |         shift = { 0.1, 0.0 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-10.png", | ||||||
|  |         width = 198, | ||||||
|  |         height = 153, | ||||||
|  |         shift = { 0.325, -0.1 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-11.png", | ||||||
|  |         width = 190, | ||||||
|  |         height = 115, | ||||||
|  |         shift = { 0.453125, 0.0 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-12.png", | ||||||
|  |         width = 229, | ||||||
|  |         height = 126, | ||||||
|  |         shift = { 0.539062, -0.015625 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-13.png", | ||||||
|  |         width = 151, | ||||||
|  |         height = 125, | ||||||
|  |         shift = { 0.0703125, 0.179688 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-14.png", | ||||||
|  |         width = 137, | ||||||
|  |         height = 117, | ||||||
|  |         shift = { 0.160938, 0.0 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-15.png", | ||||||
|  |         width = 201, | ||||||
|  |         height = 141, | ||||||
|  |         shift = { 0.242188, -0.195312 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         filename = "__lignumis__/graphics/entity/gold-stromatolite-16.png", | ||||||
|  |         width = 209, | ||||||
|  |         height = 154, | ||||||
|  |         shift = { 0.351562, -0.1 }, | ||||||
|  |         scale = 0.4 | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local plant = util.copy(data.raw["plant"]["tree-plant"]) | ||||||
|  | plant.name = "gold-stromatolite-plant" | ||||||
|  | plant.localised_name = { "entity-name.gold-stromatolite-plant" } | ||||||
|  | plant.icon = "__lignumis__/graphics/icons/gold-stromatolite.png" | ||||||
|  | plant.map_color = { 255, 171, 0, 0.5 } | ||||||
|  | plant.agricultural_tower_tint = { | ||||||
|  |     primary = { r = 255, g = 171, b = 0, a = 1 }, | ||||||
|  |     secondary = { r = 40, g = 100, b = 25, a = 1 }, -- #89421dff | ||||||
|  | } | ||||||
|  | plant.minable = { | ||||||
|  |     mining_particle = "copper-ore-particle", | ||||||
|  |     mining_time = 2, | ||||||
|  |     results = { | ||||||
|  |         { type = "item", name = "moist-stromatolite-remnant", amount_min = 23, amount_max = 37 }, | ||||||
|  |         { type = "item", name = "gold-bacteria",              amount_min = 13, amount_max = 17 }, | ||||||
|  |         { type = "item", name = "gold-stromatolite-seed",     amount_min = 1,  amount_max = 3 } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | plant.growth_ticks = 20 * minute | ||||||
|  | plant.variations = nil | ||||||
|  | plant.variation_weights = nil | ||||||
|  | plant.collision_box = { { -0.5, -0.5 }, { 0.5, 0.5 } } | ||||||
|  | plant.selection_box = { { -0.7, -0.7 }, { 0.7, 0.7 } } | ||||||
|  | plant.remains_when_mined = nil | ||||||
|  | plant.pictures = util.copy(stromatolite.pictures) | ||||||
|  | plant.autoplace = { | ||||||
|  |     probability_expression = "0", | ||||||
|  |     tile_restriction = { "natural-gold-soil" } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local seed = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "gold-stromatolite-seed", | ||||||
|  |     localised_name = { "item-name.gold-stromatolite-seed" }, | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-stromatolite-seed.png", | ||||||
|  |     pictures = { | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-1.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-2.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-3.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-4.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-stromatolite-seed-5.png", scale = 0.5, mipmap_count = 4 } | ||||||
|  |     }, | ||||||
|  |     subgroup = "agriculture-processes", | ||||||
|  |     order = "a[seeds]-d[gold-stromatolite-seed]", | ||||||
|  |     plant_result = "gold-stromatolite-plant", | ||||||
|  |     place_result = "gold-stromatolite-plant", | ||||||
|  |     inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, | ||||||
|  |     pick_sound = space_age_item_sounds.agriculture_inventory_pickup, | ||||||
|  |     drop_sound = space_age_item_sounds.agriculture_inventory_move, | ||||||
|  |     stack_size = 10, | ||||||
|  |     default_import_location = "lignumis", | ||||||
|  |     weight = 10 * kg | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local bacteria = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "gold-bacteria", | ||||||
|  |     icon = "__lignumis__/graphics/icons/gold-bacteria.png", | ||||||
|  |     pictures = { | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria.png",   scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-1.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-2.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/gold-bacteria-3.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |     }, | ||||||
|  |     subgroup = "agriculture-processes", | ||||||
|  |     order = "b[agriculture]-e[gold-bacteria]", | ||||||
|  |     inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, | ||||||
|  |     pick_sound = space_age_item_sounds.agriculture_inventory_pickup, | ||||||
|  |     drop_sound = space_age_item_sounds.agriculture_inventory_move, | ||||||
|  |     stack_size = 50, | ||||||
|  |     default_import_location = "lignumis", | ||||||
|  |     weight = 1 * kg, | ||||||
|  |     spoil_ticks = 1 * minute, | ||||||
|  |     spoil_result = "gold-ore" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local remnant = { | ||||||
|  |     type = "item", | ||||||
|  |     name = "moist-stromatolite-remnant", | ||||||
|  |     icon = "__lignumis__/graphics/icons/moist-stromatolite-remnant-1.png", | ||||||
|  |     pictures = { | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/moist-stromatolite-remnant-1.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/moist-stromatolite-remnant-2.png", scale = 0.5, mipmap_count = 4 }, | ||||||
|  |         { size = 64, filename = "__lignumis__/graphics/icons/moist-stromatolite-remnant-3.png", scale = 0.5, mipmap_count = 4 } | ||||||
|  |     }, | ||||||
|  |     subgroup = "agriculture-processes", | ||||||
|  |     order = "b[agriculture]-f[moist-stromatolite-remnant]", | ||||||
|  |     inventory_move_sound = space_age_item_sounds.agriculture_inventory_move, | ||||||
|  |     pick_sound = space_age_item_sounds.agriculture_inventory_pickup, | ||||||
|  |     drop_sound = space_age_item_sounds.agriculture_inventory_move, | ||||||
|  |     stack_size = 50, | ||||||
|  |     default_import_location = "lignumis", | ||||||
|  |     weight = 1 * kg | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     stromatolite, | ||||||
|  |     plant, | ||||||
|  |     seed, | ||||||
|  |     bacteria, | ||||||
|  |     remnant | ||||||
|  | }) | ||||||
							
								
								
									
										45
									
								
								lignumis/prototypes/content/gold/tiles.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,45 @@ | ||||||
|  | local tile_collision_masks = require("__base__/prototypes/tile/tile-collision-masks") | ||||||
|  | local tile_trigger_effects = require("__base__.prototypes.tile.tile-trigger-effects") | ||||||
|  | local semi_wet_sound = sound_variations("__space-age__/sound/walking/semi-wet-rock", 10, 0.7) | ||||||
|  | local tile_sounds = require("__space-age__/prototypes/tile/tile-sounds") | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     { | ||||||
|  |         type = "item-subgroup", | ||||||
|  |         name = "lignumis-tiles", | ||||||
|  |         group = "tiles", | ||||||
|  |         order = "h" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "tile", | ||||||
|  |         name = "natural-gold-soil", | ||||||
|  |         order = "d[gold]-c[natural-gold-soil]", | ||||||
|  |         subgroup = "lignumis-tiles", | ||||||
|  |         collision_mask = tile_collision_masks.ground(), | ||||||
|  |         layer_group = "ground-natural", | ||||||
|  |         layer = 85, | ||||||
|  |         searchable = true, | ||||||
|  |         transitions = lava_stone_transitions, | ||||||
|  |         transitions_between_transitions = data.raw["tile"]["landfill"].transitions_between_transitions, | ||||||
|  |         trigger_effect = tile_trigger_effects.landfill_trigger_effect(), | ||||||
|  |         sprite_usage_surface = "any", | ||||||
|  |         variants = tile_variations_template_with_transitions( | ||||||
|  |             "__lignumis__/graphics/terrain/natural-gold-soil.png", | ||||||
|  |             { | ||||||
|  |                 max_size = 4, | ||||||
|  |                 [1] = { weights = { 0.085, 0.085, 0.085, 0.085, 0.087, 0.085, 0.065, 0.085, 0.045, 0.045, 0.045, 0.045, 0.005, 0.025, 0.045, 0.045 } }, | ||||||
|  |                 [2] = { probability = 1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, }, | ||||||
|  |                 [4] = { probability = 0.1, weights = { 0.018, 0.020, 0.015, 0.025, 0.015, 0.020, 0.025, 0.015, 0.025, 0.025, 0.010, 0.025, 0.020, 0.025, 0.025, 0.010 }, }, | ||||||
|  |             } | ||||||
|  |         ), | ||||||
|  |         walking_sound = semi_wet_sound, | ||||||
|  |         landing_steps_sound = tile_sounds.landing.semi_wet, | ||||||
|  |         build_sound = data.raw["tile"]["landfill"].build_sound, | ||||||
|  |         map_color = { 185, 166, 5 }, | ||||||
|  |         scorch_mark_color = { r = 0.329, g = 0.242 * 2, b = 0.177, a = 1.000 }, | ||||||
|  |         autoplace = { | ||||||
|  |             probability_expression = | ||||||
|  |             "multioctave_noise{x = x, y = y, persistence = 1, seed0 = map_seed, seed1 = 2000000, octaves = 3, input_scale = 1/32, output_scale = 0.6 * sqrt(2)} * 20 - 18" | ||||||
|  |         }, | ||||||
|  |     } | ||||||
|  | }) | ||||||
|  | @ -12,9 +12,9 @@ return { | ||||||
|         cliff_smoothing = 0 |         cliff_smoothing = 0 | ||||||
|     }, |     }, | ||||||
|     autoplace_controls = { |     autoplace_controls = { | ||||||
|         ["lignumis_gold"] = { richness = "very-poor", frequency = "low", size = "big" }, |         ["lignumis_gold"] = { richness = 1, frequency = 1, size = 1 }, | ||||||
|         ["lignumis_peat"] = { richness = "poor", frequency = "very-high", size = "small" }, |         ["lignumis_peat"] = { richness = 1/2, frequency = 6, size = 1 }, | ||||||
|         ["stone"] = {}, |         ["stone"] = { richness = 1/6, frequency = 4, size = 4 }, | ||||||
|         ["water"] = {}, |         ["water"] = {}, | ||||||
|         ["trees"] = {}, |         ["trees"] = {}, | ||||||
|         ["enemy-base"] = {}, |         ["enemy-base"] = {}, | ||||||
|  | @ -28,13 +28,6 @@ return { | ||||||
|                 ["grass-2"] = {}, |                 ["grass-2"] = {}, | ||||||
|                 ["grass-3"] = {}, |                 ["grass-3"] = {}, | ||||||
|                 ["grass-4"] = {}, |                 ["grass-4"] = {}, | ||||||
|                 ["dirt-1"] = {}, |  | ||||||
|                 ["dirt-2"] = {}, |  | ||||||
|                 ["dirt-3"] = {}, |  | ||||||
|                 ["dirt-4"] = {}, |  | ||||||
|                 ["dirt-5"] = {}, |  | ||||||
|                 ["dirt-6"] = {}, |  | ||||||
|                 ["dirt-7"] = {}, |  | ||||||
|                 ["water"] = {}, |                 ["water"] = {}, | ||||||
|                 ["deepwater"] = {}, |                 ["deepwater"] = {}, | ||||||
|                 ["natural-gold-soil"] = {} |                 ["natural-gold-soil"] = {} | ||||||
|  | @ -61,9 +54,6 @@ return { | ||||||
|                 ["green-pita-mini"] = {}, |                 ["green-pita-mini"] = {}, | ||||||
|                 ["brown-fluff"] = {}, |                 ["brown-fluff"] = {}, | ||||||
|                 ["brown-fluff-dry"] = {}, |                 ["brown-fluff-dry"] = {}, | ||||||
|                 ["green-desert-bush"] = {}, |  | ||||||
|                 ["red-desert-bush"] = {}, |  | ||||||
|                 ["white-desert-bush"] = {}, |  | ||||||
|                 ["garballo-mini-dry"] = {}, |                 ["garballo-mini-dry"] = {}, | ||||||
|                 ["garballo"] = {}, |                 ["garballo"] = {}, | ||||||
|                 ["green-bush-mini"] = {}, |                 ["green-bush-mini"] = {}, | ||||||
|  | @ -78,8 +68,6 @@ return { | ||||||
|                 ["stone"] = {}, |                 ["stone"] = {}, | ||||||
|                 ["peat"] = {}, |                 ["peat"] = {}, | ||||||
|                 ["fish"] = {}, |                 ["fish"] = {}, | ||||||
|                 ["big-sand-rock"] = {}, |  | ||||||
|                 ["big-rock"] = {}, |  | ||||||
|                 ["gold-stromatolite"] = {} |                 ["gold-stromatolite"] = {} | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -36,9 +36,14 @@ LumberMill.RecipeBuilder:new() | ||||||
|         category = "wood-processing-or-assembling" |         category = "wood-processing-or-assembling" | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
| LumberMill.TechnologyBuilder:new() | local tech = LumberMill.TechnologyBuilder:new() | ||||||
|     :prerequisites({ "wood-science-pack" }) |     :prerequisites({ "steam-science-pack" }) | ||||||
|     :count(500) |     :build() | ||||||
|     :ingredients({ { "wood-science-pack", 1 } }) | 
 | ||||||
|     :time(60) | tech.unit = { | ||||||
|     :apply() |     count = 500, | ||||||
|  |     ingredients = { { "wood-science-pack", 1 }, { "steam-science-pack", 1 } }, | ||||||
|  |     time = 15 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | data:extend({ tech }) | ||||||
|  | @ -84,5 +84,22 @@ data:extend({ | ||||||
|         random_tint_color = item_tints.iron_rust, |         random_tint_color = item_tints.iron_rust, | ||||||
|         fuel_category = "chemical", |         fuel_category = "chemical", | ||||||
|         fuel_value = "8MJ", |         fuel_value = "8MJ", | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "moist-stromatolite-remnant-desiccation", | ||||||
|  |         icons = { | ||||||
|  |             { icon = "__lignumis__/graphics/icons/peat.png" }, | ||||||
|  |             { icon = "__base__/graphics/icons/fluid/steam.png", scale = 0.25, shift = { 8, 8 } }, | ||||||
|  |             { icon = "__lignumis__/graphics/icons/moist-stromatolite-remnant-1.png", scale = 0.25, shift = { -8, 8 } } | ||||||
|  |         }, | ||||||
|  |         category = "desiccation", | ||||||
|  |         energy_required = 9.6, | ||||||
|  |         ingredients = { { type = "item", name = "moist-stromatolite-remnant", amount = 2 } }, | ||||||
|  |         results = { | ||||||
|  |             { type = "item", name = "peat", amount = 1 }, | ||||||
|  |             { type = "fluid", name = "steam", amount = 20, temperature = 165 } | ||||||
|  |         }, | ||||||
|  |         enabled = false | ||||||
|     } |     } | ||||||
| }) | }) | ||||||
							
								
								
									
										88
									
								
								lignumis/prototypes/content/steam-assembling-machine.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,88 @@ | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | 
 | ||||||
|  | local assembling_machine = util.copy(data.raw["assembling-machine"]["assembling-machine-2"]) | ||||||
|  | assembling_machine.name = "steam-assembling-machine" | ||||||
|  | assembling_machine.icon = "__lignumis__/graphics/icons/steam-assembling-machine.png" | ||||||
|  | assembling_machine.minable.result = "steam-assembling-machine" | ||||||
|  | assembling_machine.next_upgrade = "assembling-machine-1" | ||||||
|  | assembling_machine.module_specification = nil | ||||||
|  | assembling_machine.corpses = "steam-assembling-machine-remnants" | ||||||
|  | assembling_machine.resistances = nil | ||||||
|  | assembling_machine.graphics_set = util.copy(data.raw["assembling-machine"]["assembling-machine-1"].graphics_set) | ||||||
|  | assembling_machine.graphics_set.animation.layers[1].filename = | ||||||
|  | "__lignumis__/graphics/entity/steam-assembling-machine.png" | ||||||
|  | assembling_machine.crafting_categories = { "crafting", "basic-crafting", "organic-or-assembling", | ||||||
|  |     "wood-processing-or-assembling", "crafting-with-fluid" } | ||||||
|  | assembling_machine.crafting_speed = 0.25 | ||||||
|  | assembling_machine.energy_source = { | ||||||
|  |     type = "fluid", | ||||||
|  |     fuel_categories = { "steam" }, | ||||||
|  |     effectivity = 10, | ||||||
|  |     emissions_per_minute = { noise = 20 }, | ||||||
|  |     scale_fluid_usage = true, | ||||||
|  |     fluid_box = { | ||||||
|  |         production_type = "input", | ||||||
|  |         pipe_picture = assembler2pipepictures(), | ||||||
|  |         pipe_covers = pipecoverspictures(), | ||||||
|  |         volume = 100, | ||||||
|  |         pipe_connections = { { flow_direction = "input", direction = defines.direction.west, position = { -1, 0 } } }, | ||||||
|  |         secondary_draw_orders = { north = -1 } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local remnants = util.copy(data.raw["corpse"]["assembling-machine-1-remnants"]) | ||||||
|  | remnants.name = "steam-assembling-machine-remnants" | ||||||
|  | remnants.icon = "__lignumis__/graphics/icons/steam-assembling-machine.png" | ||||||
|  | remnants.animation[1].filename = "__lignumis__/graphics/entity/steam-assembling-machine-remnants.png" | ||||||
|  | remnants.animation[2].filename = "__lignumis__/graphics/entity/steam-assembling-machine-remnants.png" | ||||||
|  | remnants.animation[3].filename = "__lignumis__/graphics/entity/steam-assembling-machine-remnants.png" | ||||||
|  | remnants.order = "1[steam-assembling-machine]" | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     assembling_machine, | ||||||
|  |     remnants, | ||||||
|  |     { | ||||||
|  |         type = "item", | ||||||
|  |         name = "steam-assembling-machine", | ||||||
|  |         icon = "__lignumis__/graphics/icons/steam-assembling-machine.png", | ||||||
|  |         subgroup = "production-machine", | ||||||
|  |         order = "1[steam-assembling-machine]", | ||||||
|  |         inventory_move_sound = item_sounds.mechanical_inventory_move, | ||||||
|  |         pick_sound = item_sounds.mechanical_inventory_pickup, | ||||||
|  |         drop_sound = item_sounds.mechanical_inventory_move, | ||||||
|  |         place_result = "steam-assembling-machine", | ||||||
|  |         stack_size = 50 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "steam-assembling-machine", | ||||||
|  |         enabled = false, | ||||||
|  |         ingredients = { | ||||||
|  |             { type = "item", name = "wooden-gear-wheel", amount = 5 }, | ||||||
|  |             { type = "item", name = "lumber",            amount = 8 }, | ||||||
|  |             { type = "item", name = "gold-cable",        amount = 20 }, | ||||||
|  |             { type = "item", name = "gold-pipe",         amount = 2 } | ||||||
|  |         }, | ||||||
|  |         results = { { type = "item", name = "steam-assembling-machine", amount = 1 } }, | ||||||
|  |         energy_required = 8 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "technology", | ||||||
|  |         name = "steam-automation", | ||||||
|  |         icon = "__lignumis__/graphics/technology/steam-automation.png", | ||||||
|  |         icon_size = 256, | ||||||
|  |         effects = { | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "steam-assembling-machine" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         prerequisites = { "gold-fluid-handling" }, | ||||||
|  |         unit = { | ||||||
|  |             count = 20, | ||||||
|  |             ingredients = { { "wood-science-pack", 1 } }, | ||||||
|  |             time = 15 | ||||||
|  |         }, | ||||||
|  |         ignore_tech_cost_multiplier = true | ||||||
|  |     } | ||||||
|  | }) | ||||||
							
								
								
									
										41
									
								
								lignumis/prototypes/content/steam-science.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,41 @@ | ||||||
|  | local item_tints = require("__base__.prototypes.item-tints") | ||||||
|  | local item_sounds = require("__base__.prototypes.item_sounds") | ||||||
|  | 
 | ||||||
|  | data:extend({ | ||||||
|  |     { | ||||||
|  |         type = "tool", | ||||||
|  |         name = "steam-science-pack", | ||||||
|  |         localised_description = {"item-description.science-pack"}, | ||||||
|  |         icon = "__lignumis__/graphics/icons/steam-science-pack.png", | ||||||
|  |         subgroup = "science-pack", | ||||||
|  |         color_hint = { text = "A" }, | ||||||
|  |         order = "1[steam-science-pack]", | ||||||
|  |         inventory_move_sound = item_sounds.science_inventory_move, | ||||||
|  |         pick_sound = item_sounds.science_inventory_pickup, | ||||||
|  |         drop_sound = item_sounds.science_inventory_move, | ||||||
|  |         stack_size = 200, | ||||||
|  |         weight = 1 * kg, | ||||||
|  |         durability = 1, | ||||||
|  |         durability_description_key = "description.science-pack-remaining-amount-key", | ||||||
|  |         factoriopedia_durability_description_key = "description.factoriopedia-science-pack-remaining-amount-key", | ||||||
|  |         durability_description_value = "description.science-pack-remaining-amount-value", | ||||||
|  |         random_tint_color = item_tints.iron_rust | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "recipe", | ||||||
|  |         name = "steam-science-pack", | ||||||
|  |         category = "crafting-with-fluid", | ||||||
|  |         enabled = false, | ||||||
|  |         energy_required = 10, | ||||||
|  |         ingredients = { | ||||||
|  |             { type = "item", name = "gold-plate", amount = 2 }, | ||||||
|  |             { type = "fluid", name = "steam", amount = 10 } | ||||||
|  |         }, | ||||||
|  |         results = { { type = "item", name = "steam-science-pack", amount = 2 } }, | ||||||
|  |         crafting_machine_tint = { | ||||||
|  |             primary = { r = 0.65, g = 0.27, b = 0.18, a = 1.000 }, | ||||||
|  |             secondary = { r = 0.65, g = 0.27, b = 0.18, a = 1.000 }, | ||||||
|  |         }, | ||||||
|  |         allow_productivity = true | ||||||
|  |     } | ||||||
|  | }) | ||||||
|  | @ -122,7 +122,8 @@ data:extend({ | ||||||
|         researching_speed = 0.5, |         researching_speed = 0.5, | ||||||
|         inputs = |         inputs = | ||||||
|         { |         { | ||||||
|             "wood-science-pack" |             "wood-science-pack", | ||||||
|  |             "steam-science-pack" | ||||||
|         }, |         }, | ||||||
|         icons_positioning = |         icons_positioning = | ||||||
|         { |         { | ||||||
|  | @ -149,7 +150,8 @@ data:extend({ | ||||||
|         ingredients = { |         ingredients = { | ||||||
|             { type = "item", name = "lumber", amount = 10 }, |             { type = "item", name = "lumber", amount = 10 }, | ||||||
|             { type = "item", name = "wooden-gear-wheel", amount = 10 }, |             { type = "item", name = "wooden-gear-wheel", amount = 10 }, | ||||||
|             { type = "item", name = "stone-brick", amount = 10 } |             { type = "item", name = "stone-brick", amount = 10 }, | ||||||
|  |             { type = "item", name = "gold-plate", amount = 20 } | ||||||
|         }, |         }, | ||||||
|         results = { { type = "item", name = "wood-lab", amount = 1 } }, |         results = { { type = "item", name = "wood-lab", amount = 1 } }, | ||||||
|         enabled = false |         enabled = false | ||||||
|  |  | ||||||
|  | @ -9,7 +9,7 @@ data:extend({ | ||||||
|         icon = "__lignumis__/graphics/icons/wood-science-pack.png", |         icon = "__lignumis__/graphics/icons/wood-science-pack.png", | ||||||
|         subgroup = "science-pack", |         subgroup = "science-pack", | ||||||
|         color_hint = { text = "A" }, |         color_hint = { text = "A" }, | ||||||
|         order = "a[wood-science-pack]", |         order = "0[wood-science-pack]", | ||||||
|         inventory_move_sound = item_sounds.science_inventory_move, |         inventory_move_sound = item_sounds.science_inventory_move, | ||||||
|         pick_sound = item_sounds.science_inventory_pickup, |         pick_sound = item_sounds.science_inventory_pickup, | ||||||
|         drop_sound = item_sounds.science_inventory_move, |         drop_sound = item_sounds.science_inventory_move, | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
| require("vanilla") | require("vanilla") | ||||||
| require("Wood-Walls") | require("Wood-Walls") | ||||||
| require("wood-logistics") | require("wood-logistics") | ||||||
|  | require("landfill") | ||||||
							
								
								
									
										7
									
								
								lignumis/prototypes/integrations/landfill.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,7 @@ | ||||||
|  | local landfill_tech = data.raw.technology["wood_to_landfill"] | ||||||
|  | landfill_tech.prerequisites = { "burner-automation" } | ||||||
|  | landfill_tech.unit = { | ||||||
|  |     count = 50, | ||||||
|  |     ingredients = { { "wood-science-pack", 1 } }, | ||||||
|  |     time = 15 | ||||||
|  | } | ||||||
|  | @ -64,19 +64,25 @@ table.insert(data.raw["assembling-machine"]["assembling-machine-2"].crafting_cat | ||||||
| table.insert(data.raw["assembling-machine"]["assembling-machine-3"].crafting_categories, "wood-processing-or-assembling") | table.insert(data.raw["assembling-machine"]["assembling-machine-3"].crafting_categories, "wood-processing-or-assembling") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| -- Disable iron recipes | -- Disable iron and copper recipes | ||||||
| 
 | 
 | ||||||
| data.raw.recipe["iron-plate"].enabled = false | data.raw.recipe["iron-plate"].enabled = false | ||||||
| data.raw.recipe["iron-gear-wheel"].enabled = false | data.raw.recipe["iron-gear-wheel"].enabled = false | ||||||
| data.raw.recipe["iron-chest"].enabled = false | data.raw.recipe["iron-chest"].enabled = false | ||||||
|  | data.raw.recipe["copper-plate"].enabled = false | ||||||
|  | data.raw.recipe["copper-cable"].enabled = false | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| -- Temp | -- Adjust vanilla technologies | ||||||
|  | 
 | ||||||
| local electronics_technology = data.raw.technology["electronics"] | local electronics_technology = data.raw.technology["electronics"] | ||||||
| electronics_technology.research_trigger = nil | electronics_technology.research_trigger = nil | ||||||
| electronics_technology.prerequisites = { "wood-science-pack" } | electronics_technology.prerequisites = { "copper-processing" } | ||||||
| electronics_technology.unit = { | electronics_technology.unit = { | ||||||
|     count = 10, |     count = 10, | ||||||
|     ingredients = { { "wood-science-pack", 1 } }, |     ingredients = { { "automation-science-pack", 1 } }, | ||||||
|     time = 10 |     time = 10 | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | local steam_power_technology = data.raw.technology["steam-power"] | ||||||
|  | steam_power_technology.prerequisites = { "iron-processing" } | ||||||
|  | @ -153,6 +153,12 @@ data.raw.recipe["wood-transport-belt"].ingredients = { | ||||||
|     { type = "item", name = "lumber", amount = 1 } |     { type = "item", name = "lumber", amount = 1 } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | data.raw.recipe["wood-splitter"].ingredients = { | ||||||
|  |     { type = "item", name = "wood-transport-belt", amount = 2 }, | ||||||
|  |     { type = "item", name = "lumber", amount = 2 }, | ||||||
|  |     { type = "item", name = "gold-cable", amount = 10 } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| local lumber = data.raw.item["lumber"] | local lumber = data.raw.item["lumber"] | ||||||
| lumber.fuel_category = "chemical" | lumber.fuel_category = "chemical" | ||||||
| lumber.fuel_value = "4MJ" | lumber.fuel_value = "4MJ" | ||||||
|  |  | ||||||
|  | @ -30,16 +30,17 @@ data:extend({ | ||||||
|         icon_size = 256, |         icon_size = 256, | ||||||
|         essential = true, |         essential = true, | ||||||
|         effects = { { |         effects = { { | ||||||
|                         type = "unlock-space-location", |             type = "unlock-space-location", | ||||||
|                         space_location = "nauvis", |             space_location = "nauvis", | ||||||
|                         use_icon_overlay_constant = true |             use_icon_overlay_constant = true | ||||||
|                     } }, |         } }, | ||||||
|         prerequisites = { "space-platform-thruster" }, |         --prerequisites = { "space-platform-thruster" }, | ||||||
|  |         prerequisites = { "wood-science-pack" }, | ||||||
|         unit = { |         unit = { | ||||||
|             count = 10, |             count = 10, | ||||||
|             ingredients = { |             ingredients = { | ||||||
|                 { "automation-science-pack", 1 }, |                 { "automation-science-pack", 1 }, | ||||||
|                 { "logistic-science-pack", 1 } |                 { "logistic-science-pack",   1 } | ||||||
|             }, |             }, | ||||||
|             time = 10 |             time = 10 | ||||||
|         } |         } | ||||||
|  | @ -70,5 +71,82 @@ data:extend({ | ||||||
|             item = "iron-ore", |             item = "iron-ore", | ||||||
|             count = 10 |             count = 10 | ||||||
|         } |         } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "technology", | ||||||
|  |         name = "copper-processing", | ||||||
|  |         icon = "__base__/graphics/icons/copper-plate.png", | ||||||
|  |         icon_size = 64, | ||||||
|  |         essential = true, | ||||||
|  |         effects = { | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "copper-plate" | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "copper-cable" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         prerequisites = { "planet-discovery-nauvis" }, | ||||||
|  |         research_trigger = { | ||||||
|  |             type = "craft-item", | ||||||
|  |             item = "copper-ore", | ||||||
|  |             count = 10 | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "technology", | ||||||
|  |         name = "gold-fluid-handling", | ||||||
|  |         icon = "__lignumis__/graphics/technology/gold-fluid-handling.png", | ||||||
|  |         icon_size = 256, | ||||||
|  |         prerequisites = { "burner-automation" }, | ||||||
|  |         effects = { | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "gold-pipe" | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "gold-pipe-to-ground" | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "gold-storage-tank" | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "desiccation-furnace" | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "moist-stromatolite-remnant-desiccation" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         unit = { | ||||||
|  |             count = 20, | ||||||
|  |             ingredients = { { "wood-science-pack", 1 } }, | ||||||
|  |             time = 15 | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         type = "technology", | ||||||
|  |         name = "steam-science-pack", | ||||||
|  |         icon = "__lignumis__/graphics/technology/steam-science-pack.png", | ||||||
|  |         icon_size = 256, | ||||||
|  |         essential = true, | ||||||
|  |         effects = | ||||||
|  |         { | ||||||
|  |             { | ||||||
|  |                 type = "unlock-recipe", | ||||||
|  |                 recipe = "steam-science-pack" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         prerequisites = { "steam-automation" }, | ||||||
|  |         unit = { | ||||||
|  |             count = 20, | ||||||
|  |             ingredients = { { "wood-science-pack", 1 } }, | ||||||
|  |             time = 15 | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| }) | }) | ||||||
							
								
								
									
										
											BIN
										
									
								
								sources/entity/gold-fluid-tank-window-background.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB | 
 Simon Brodtmann
						Simon Brodtmann