mirror of
https://github.com/veden/Rampant.git
synced 2025-03-17 20:58:35 +02:00
see changelog
This commit is contained in:
parent
f27614e977
commit
538b4b82d6
@ -1,3 +1,20 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.0.7
|
||||
Date: 03. 04. 2021
|
||||
Contributions:
|
||||
- Metallumere has added more distinct colors for each faction.
|
||||
- Metallumere has changed the names of sizes and some faction names to more common terms
|
||||
- Metallumere has increased attack speed of fast faction while keeping total DPS the same
|
||||
- Metallumere has increased movement speed of fast, nuclear, and suicide factions
|
||||
Tweaks:
|
||||
- Decreased Poison faction cloud damage by 25%
|
||||
- Increased suicide biters damage by 50%
|
||||
- Added scorchmark scaling to new enemies
|
||||
Bugfixes:
|
||||
- Fixed nocturnal biters mod setting description. As vanilla attacks have been integrated
|
||||
- Fixed missing locale for fire spitter acid pool
|
||||
- Fixed tooltip for suicide and nuclear biters
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.0.6
|
||||
Date: 28. 03. 2021
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name" : "Rampant",
|
||||
"factorio_version" : "1.1",
|
||||
"version" : "1.0.6",
|
||||
"version" : "1.0.7",
|
||||
"title" : "Rampant",
|
||||
"author" : "Veden",
|
||||
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",
|
||||
|
2504
locale/en/locale.cfg
2504
locale/en/locale.cfg
File diff suppressed because it is too large
Load Diff
@ -57,7 +57,7 @@ function poison.addFactionAddon()
|
||||
target_effects =
|
||||
{
|
||||
type = "damage",
|
||||
damage = { amount = 1.2 * i, type = "poison"}
|
||||
damage = { amount = 0.9 * i, type = "poison"}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -69,6 +69,19 @@ local makeUnitSpawner = biterUtils.makeUnitSpawner
|
||||
|
||||
-- module code
|
||||
|
||||
local scorchmarkTiers = {
|
||||
"small-scorchmark",
|
||||
"small-scorchmark",
|
||||
"medium-scorchmark",
|
||||
"medium-scorchmark",
|
||||
"medium-scorchmark",
|
||||
"big-scorchmark",
|
||||
"big-scorchmark",
|
||||
"big-scorchmark",
|
||||
"huge-scorchmark",
|
||||
"huge-scorchmark"
|
||||
}
|
||||
|
||||
local explosionTiers = {
|
||||
"explosion",
|
||||
"explosion",
|
||||
@ -104,7 +117,7 @@ local nuclearAttackNumeric = {
|
||||
}
|
||||
|
||||
local bombAttackNumeric = {
|
||||
["damage"] = { 50, 75, 100, 125, 180, 240, 400, 480, 650, 700 },
|
||||
["damage"] = { 75, 112, 150, 187, 270, 360, 600, 720, 975, 1050 },
|
||||
["radius"] = { 1.75, 1.75, 2, 2.5, 3, 3, 3.5, 3.5, 3.75, 4 },
|
||||
["explosionDistance"] = { 2, 2, 2, 2, 2, 2.5, 2.5, 2.5, 3, 3 },
|
||||
["explosionCount"] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
|
||||
@ -521,6 +534,7 @@ local function fillEntityTemplate(entity)
|
||||
end
|
||||
elseif (key == "explosionTiers") then
|
||||
entity.attackExplosion = entity.explosionTiers[tier]
|
||||
entity.attackScorchmark = entity.scorchmarkTiers[tier]
|
||||
elseif (key == "attributes") then
|
||||
for i=1,#entity[key] do
|
||||
local attribute = entity[key][i]
|
||||
@ -920,6 +934,7 @@ local function buildAttack(faction, template)
|
||||
end
|
||||
elseif (attack == "physical") then
|
||||
template.explosionTiers = explosionTiers
|
||||
template.scorchmarkTiers = scorchmarkTiers
|
||||
template.damageType = "physical"
|
||||
template.fireDamagePerTickType = "physical"
|
||||
template.stickerDamagePerTickType = "physical"
|
||||
@ -927,7 +942,7 @@ local function buildAttack(faction, template)
|
||||
return {
|
||||
{
|
||||
type= "create-entity",
|
||||
entity_name = "small-scorchmark"
|
||||
entity_name = attributes.attackScorchmark
|
||||
},
|
||||
{
|
||||
type= "create-entity",
|
||||
@ -1047,6 +1062,7 @@ local function buildAttack(faction, template)
|
||||
elseif (attack == "nuclear") then
|
||||
template.addon[#template.addon+1] = nuclearAttackNumeric
|
||||
template.explosionTiers = explosionTiers
|
||||
template.scorchmarkTiers = scorchmarkTiers
|
||||
template.nuclear = true
|
||||
template.attackGenerator = function (attack)
|
||||
return createSuicideAttack(attack,
|
||||
@ -1058,6 +1074,7 @@ local function buildAttack(faction, template)
|
||||
elseif (attack == "bomb") then
|
||||
template.addon[#template.addon+1] = bombAttackNumeric
|
||||
template.explosionTiers = explosionTiers
|
||||
template.scorchmarkTiers = scorchmarkTiers
|
||||
template.attackGenerator = function (attack)
|
||||
return createSuicideAttack(attack,
|
||||
nil,
|
||||
|
@ -63,8 +63,8 @@ end
|
||||
|
||||
function generateLocal()
|
||||
-- local names = {"Alpha", "Beta", "Gamma", "Delta", "Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu", "Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", "Chi", "Psi", "Omega"}
|
||||
local names = {"Neutral", "Acid", "Physical", "Electric", "Suicide", "Nuclear", "Fire", "Inferno", "Troll", "Fast", "Laser", "Wasp", "Spawner", "Energy Thief", "Poison", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", "Chi", "Psi", "Omega"}
|
||||
local sizes = {"Larva", "Pupae", "Worker", "Grunt", "Soldier", "General", "Overlord", "Titan", "Leviathan", "Juggernaut"}
|
||||
local names = {"Common", "Acidic", "Brutal", "Electric", "Suicide", "Nuclear", "Fire", "Inferno", "Regenerative", "Fast", "Laser", "Wasp", "Spawner", "Sapper", "Poison", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", "Chi", "Psi", "Omega"}
|
||||
local sizes = {"Larva", "Pupae", "Worker", "Grunt", "Soldier", "Elite", "Champion", "Overlord", "Titan", "Leviathan"}
|
||||
|
||||
|
||||
local HIVE_BUILDINGS_TYPES = {
|
||||
@ -192,6 +192,7 @@ function generateLocal()
|
||||
print("fire-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
|
||||
print("fire-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
|
||||
print("fire-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
|
||||
print("fire-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
|
||||
print("fire-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
|
||||
print("fire-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
|
||||
end
|
||||
|
@ -580,7 +580,8 @@ end
|
||||
function biterFunctions.createSuicideAttack(attributes, blastWave, animation)
|
||||
local o = {
|
||||
type = "projectile",
|
||||
range = attributes.range or 0.5,
|
||||
range = -- attributes.range or
|
||||
0.5,
|
||||
cooldown = attributes.cooldown or 35,
|
||||
range_mode = "bounding-box-to-bounding-box",
|
||||
ammo_category = "melee",
|
||||
@ -593,336 +594,272 @@ function biterFunctions.createSuicideAttack(attributes, blastWave, animation)
|
||||
|
||||
if attributes.nuclear then
|
||||
o.ammo_type.action = {
|
||||
{
|
||||
type = "direct",
|
||||
action_delivery =
|
||||
{
|
||||
type = "instant",
|
||||
source_effects =
|
||||
{
|
||||
{
|
||||
type = "set-tile",
|
||||
tile_name = "nuclear-ground",
|
||||
radius = attributes.radius * 0.25,
|
||||
apply_projection = true,
|
||||
tile_collision_mask = { "water-tile" },
|
||||
},
|
||||
{
|
||||
type = "destroy-cliffs",
|
||||
radius = attributes.radius * 0.18,
|
||||
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 = 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 = 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 = "damage",
|
||||
damage = {amount = attributes.damage, type = "explosion"}
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = "huge-scorchmark",
|
||||
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 = attributes.radius * 0.35 -- large radius for demostrative purposes
|
||||
},
|
||||
{
|
||||
type = "create-decorative",
|
||||
decorative = "nuclear-ground-patch",
|
||||
spawn_min_radius = attributes.radius * 0.1,
|
||||
spawn_max_radius = attributes.radius * 0.12,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.10,
|
||||
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 = 100,
|
||||
radius = attributes.radius,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.75,
|
||||
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 = 50,
|
||||
radius = attributes.radius * 0.07,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.07,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.85,
|
||||
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 = attributes.radius * 0.18,
|
||||
action_delivery =
|
||||
{
|
||||
type = "instant",
|
||||
target_effects =
|
||||
{
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = "nuclear-smouldering-smoke-source",
|
||||
tile_collision_mask = { "water-tile" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "cluster",
|
||||
cluster_count = attributes.explosionCount,
|
||||
distance = attributes.explosionDistance,
|
||||
distance_deviation = attributes.explosionDistance,
|
||||
action_delivery =
|
||||
{
|
||||
type = "instant",
|
||||
source_effects= {
|
||||
{
|
||||
type="create-entity",
|
||||
entity_name = attributes.attackExplosion,
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = attributes.attackScorchmark or "small-scorchmark",
|
||||
check_buildability = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
o.ammo_type.action = {
|
||||
{
|
||||
type = "direct",
|
||||
action_delivery = {
|
||||
type = "direct",
|
||||
action_delivery =
|
||||
{
|
||||
type = "instant",
|
||||
source_effects =
|
||||
target_effects =
|
||||
{
|
||||
{
|
||||
type = "damage",
|
||||
affects_target = true,
|
||||
damage = {amount = attributes.healthDamage or 5, type = "explosion"}
|
||||
type = "set-tile",
|
||||
tile_name = "nuclear-ground",
|
||||
radius = attributes.radius * 0.25,
|
||||
apply_projection = true,
|
||||
tile_collision_mask = { "water-tile" },
|
||||
},
|
||||
{
|
||||
type = "destroy-cliffs",
|
||||
radius = attributes.radius * 0.18,
|
||||
explosion = "explosion"
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = attributes.attackExplosion
|
||||
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 = 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 = 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 = "damage",
|
||||
damage = {amount = attributes.damage, type = "explosion"}
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = "huge-scorchmark",
|
||||
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 = attributes.radius * 0.35 -- large radius for demostrative purposes
|
||||
},
|
||||
{
|
||||
type = "create-decorative",
|
||||
decorative = "nuclear-ground-patch",
|
||||
spawn_min_radius = attributes.radius * 0.1,
|
||||
spawn_max_radius = attributes.radius * 0.12,
|
||||
spawn_min = 30,
|
||||
spawn_max = 40,
|
||||
apply_projection = true,
|
||||
spread_evenly = true
|
||||
},
|
||||
{
|
||||
type = "nested-result",
|
||||
action = {
|
||||
type = "area",
|
||||
radius = attributes.radius,
|
||||
action_delivery = {
|
||||
type = "instant",
|
||||
target_effects = {
|
||||
action =
|
||||
{
|
||||
type = "area",
|
||||
target_entities = false,
|
||||
trigger_from_target = true,
|
||||
repeat_count = 100,
|
||||
radius = attributes.radius * 0.10,
|
||||
action_delivery =
|
||||
{
|
||||
type = "damage",
|
||||
damage = {
|
||||
amount = attributes.damage,
|
||||
type = attributes.damageType or "explosion"
|
||||
}
|
||||
},
|
||||
}
|
||||
type = "projectile",
|
||||
projectile = "atomic-bomb-ground-zero-projectile",
|
||||
starting_speed = 0.6 * 0.8,
|
||||
starting_speed_deviation = nuke_shockwave_starting_speed_deviation,
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = attributes.attackScorchmark or "small-scorchmark",
|
||||
check_buildability = true
|
||||
type = "nested-result",
|
||||
action =
|
||||
{
|
||||
type = "area",
|
||||
target_entities = false,
|
||||
trigger_from_target = true,
|
||||
repeat_count = 100,
|
||||
radius = attributes.radius,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.75,
|
||||
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 = 50,
|
||||
radius = attributes.radius * 0.07,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.07,
|
||||
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 = 100,
|
||||
radius = attributes.radius * 0.85,
|
||||
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 = attributes.radius * 0.18,
|
||||
action_delivery =
|
||||
{
|
||||
type = "instant",
|
||||
target_effects =
|
||||
{
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = "nuclear-smouldering-smoke-source",
|
||||
tile_collision_mask = { "water-tile" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
o.ammo_type.action = {
|
||||
type = "direct",
|
||||
action_delivery = {
|
||||
type = "instant",
|
||||
source_effects = {
|
||||
{
|
||||
type = "damage",
|
||||
affects_target = true,
|
||||
show_in_tooltip = false,
|
||||
damage = {amount = attributes.healthDamage or 5, type = "explosion"}
|
||||
}
|
||||
},
|
||||
}-- ,
|
||||
-- {
|
||||
-- type = "cluster",
|
||||
-- cluster_count = attributes.explosionCount,
|
||||
-- distance = attributes.explosionDistance,
|
||||
-- distance_deviation = 3,
|
||||
-- action_delivery =
|
||||
-- {
|
||||
-- type = "instant",
|
||||
-- source_effects= {
|
||||
-- {
|
||||
-- type="create-entity",
|
||||
-- entity_name = attributes.attackExplosion,
|
||||
-- },
|
||||
-- {
|
||||
-- type = "create-entity",
|
||||
-- entity_name = attributes.attackScorchmark or "small-scorchmark",
|
||||
-- check_buildability = true
|
||||
-- },
|
||||
-- {
|
||||
-- type = "nested-result",
|
||||
-- action = {
|
||||
-- type = "area",
|
||||
-- radius = attributes.radius,
|
||||
-- action_delivery = {
|
||||
-- type = "instant",
|
||||
-- target_effects = {
|
||||
-- {
|
||||
-- type = "damage",
|
||||
-- damage = {
|
||||
-- amount = attributes.damage,
|
||||
-- type = attributes.damageType or "explosion"
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
target_effects = {
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = attributes.attackExplosion
|
||||
},
|
||||
{
|
||||
type = "nested-result",
|
||||
action = {
|
||||
type = "area",
|
||||
radius = attributes.radius,
|
||||
action_delivery = {
|
||||
type = "instant",
|
||||
target_effects = {
|
||||
{
|
||||
type = "damage",
|
||||
damage = {
|
||||
amount = attributes.damage,
|
||||
type = attributes.damageType or "explosion"
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = attributes.attackScorchmark or "small-scorchmark",
|
||||
check_buildability = true
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user