plutonium_rocket_recipe = { type = "recipe", name = "adamo-nuclear-thermonuclear-rocket", energy_required = 50, order = "d[rocket-launcher]-n[adamo-nuclear-thermonuclear-rocket]", enabled = false, -- main_product = "adamo-nuclear-thermonuclear-rocket", ingredients = { {"rocket",1}, {"explosives",1}, {"rocket-control-unit",1}, {WGPu_fuel_item.name,1} }, result = "atomic-bomb", } plutonium_explosion_wave = { type = "projectile", name = "adamo-nuclear-atomic-explosion-wave", flags = {"not-on-map"}, acceleration = 0, action = { { type = "direct", action_delivery = { type = "instant", target_effects = { { type = "create-entity", entity_name = "explosion" } } } }, { type = "area", radius = 3, action_delivery = { type = "instant", target_effects = { type = "damage", damage = {amount = 1000, type = "explosion"} } } } }, animation = { filename = "__core__/graphics/empty.png", frame_count = 1, width = 1, height = 1, priority = "high" }, shadow = { filename = "__core__/graphics/empty.png", frame_count = 1, width = 1, height = 1, priority = "high" } } plutonium_rocket_projectile = { type = "projectile", name = "adamo-nuclear-thermonuclear-rocket-projectile", flags = {"not-on-map"}, acceleration = 0.005, action = { type = "direct", action_delivery = { type = "instant", target_effects = { { type = "set-tile", tile_name = "nuclear-ground", radius = 20, apply_projection = true, tile_collision_mask = { "water-tile" } }, { type = "destroy-cliffs", radius = 16, explosion = "explosion" }, { type = "create-entity", entity_name = "nuke-explosion" }, { type = "camera-effect", effect = "screen-burn", duration = 60, ease_in_duration = 5, ease_out_duration = 60, delay = 0, strength = 6, full_strength_max_distance = 200, max_distance = 800 }, { type = "play-sound", sound = require("__base__/prototypes/entity/sounds").nuclear_explosion(0.9), play_on_target_position = false, -- min_distance = 200, max_distance = 1000, -- volume_modifier = 1, audible_distance_modifier = 3 }, { type = "play-sound", sound = require("__base__/prototypes/entity/sounds").nuclear_explosion_aftershock(0.4), play_on_target_position = false, -- min_distance = 200, max_distance = 1000, -- volume_modifier = 1, audible_distance_modifier = 3 }, { type = "create-entity", entity_name = "huge-scorchmark", offsets = {{ 0, -0.5 }}, check_buildability = true }, { type = "invoke-tile-trigger", repeat_count = 1 }, { type = "destroy-decoratives", include_soft_decoratives = true, -- soft decoratives are decoratives with grows_through_rail_path = true include_decals = true, invoke_decorative_trigger = true, decoratives_with_trigger_only = false, -- if true, destroys only decoratives that have trigger_effect set radius = 14 -- large radius for demostrative purposes }, { type = "create-decorative", decorative = "nuclear-ground-patch", spawn_min_radius = 11.5, spawn_max_radius = 12.5, spawn_min = 30, spawn_max = 40, apply_projection = true, spread_evenly = true }, { type = "nested-result", action = { type = "area", target_entities = false, trigger_from_target = true, repeat_count = 1000, radius = 7, action_delivery = { type = "projectile", projectile = "atomic-bomb-ground-zero-projectile", starting_speed = 0.6 * 0.8, starting_speed_deviation = nuke_shockwave_starting_speed_deviation } } }, { type = "nested-result", action = { type = "area", target_entities = false, trigger_from_target = true, repeat_count = 1000, radius = 35, action_delivery = { type = "projectile", projectile = "atomic-bomb-wave", starting_speed = 0.5 * 0.7, starting_speed_deviation = nuke_shockwave_starting_speed_deviation } } }, { type = "nested-result", action = { type = "area", show_in_tooltip = false, target_entities = false, trigger_from_target = true, repeat_count = 1000, radius = 26, action_delivery = { type = "projectile", projectile = "atomic-bomb-wave-spawns-cluster-nuke-explosion", starting_speed = 0.5 * 0.7, starting_speed_deviation = nuke_shockwave_starting_speed_deviation } } }, { type = "nested-result", action = { type = "area", show_in_tooltip = false, target_entities = false, trigger_from_target = true, repeat_count = 700, radius = 4, action_delivery = { type = "projectile", projectile = "atomic-bomb-wave-spawns-fire-smoke-explosion", starting_speed = 0.5 * 0.65, starting_speed_deviation = nuke_shockwave_starting_speed_deviation } } }, { type = "nested-result", action = { type = "area", show_in_tooltip = false, target_entities = false, trigger_from_target = true, repeat_count = 1000, radius = 8, action_delivery = { type = "projectile", projectile = "atomic-bomb-wave-spawns-nuke-shockwave-explosion", starting_speed = 0.5 * 0.65, starting_speed_deviation = nuke_shockwave_starting_speed_deviation } } }, { type = "nested-result", action = { type = "area", show_in_tooltip = false, target_entities = false, trigger_from_target = true, repeat_count = 300, radius = 26, action_delivery = { type = "projectile", projectile = "atomic-bomb-wave-spawns-nuclear-smoke", starting_speed = 0.5 * 0.65, starting_speed_deviation = nuke_shockwave_starting_speed_deviation } } }, { type = "nested-result", action = { type = "area", show_in_tooltip = false, target_entities = false, trigger_from_target = true, repeat_count = 10, radius = 8, action_delivery = { type = "instant", target_effects = { { type = "create-entity", entity_name = "nuclear-smouldering-smoke-source", tile_collision_mask = { "water-tile" } } } } } }, { repeat_count = 150, type = "create-trivial-smoke", smoke_name = "nuclear-smoke", offset_deviation = {{-1, -1}, {1, 1}}, starting_frame = 3, starting_frame_deviation = 5, starting_frame_speed = 0, starting_frame_speed_deviation = 5, speed_from_center = 0.5 }, -- { -- type = "create-entity", -- entity_name = "explosion" -- }, { type = "damage", damage = {amount = 1000, type = "explosion"} }, { type = "create-entity", entity_name = "small-scorchmark", check_buildability = true }, { type = "nested-result", action = { type = "area", target_entities = false, trigger_from_target = true, repeat_count = 2000, radius = 35, action_delivery = { type = "projectile", projectile = "adamo-nuclear-atomic-explosion-wave", starting_speed = 0.5 } } } } } }, light = {intensity = 0.8, size = 15}, animation = { filename = "__base__/graphics/entity/" .."rocket/rocket.png", frame_count = 8, line_length = 8, width = 9, height = 35, shift = {0, 0}, priority = "high" }, shadow = { filename = "__base__/graphics/entity/" .."rocket/rocket-shadow.png", frame_count = 1, width = 7, height = 24, priority = "high", shift = {0, 0} }, smoke = { { name = "smoke-fast", deviation = {0.15, 0.15}, frequency = 1, position = {0, 1}, slow_down_factor = 1, starting_frame = 3, starting_frame_deviation = 5, starting_frame_speed = 0, starting_frame_speed_deviation = 5 } } } plutonium_rocket_ammo = { type = "ammo", name = "adamo-nuclear-thermonuclear-rocket", subgroup = "ammo", order = "d[rocket-launcher]-r[adamo-nuclear-thermonuclear-rocket]", stack_size = 10, icon = "__base__/graphics/icons/atomic-bomb.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { range_modifier = 3, cooldown_modifier = 3, target_type = "position", category = "rocket", action = { type = "direct", action_delivery = { type = "projectile", projectile = "adamo-nuclear-thermonuclear-rocket-projectile", starting_speed = 0.05, source_effects = { type = "create-entity", entity_name = "explosion-hit" } } } } }