1
0
mirror of https://github.com/veden/Rampant.git synced 2025-03-17 20:58:35 +02:00

NA: FACTO-93: Balancing inferno damage and AoE

This commit is contained in:
Aaron Veden 2022-04-15 23:11:58 -07:00
parent d2f578a9ac
commit 257d364f77
No known key found for this signature in database
GPG Key ID: FF5990B1C6DD3F84
4 changed files with 69 additions and 23 deletions

View File

@ -27,6 +27,7 @@ Version: 3.0.0
- Siege groups should try to settle slightly further from player structures
- AI Debugging states are now printed to console and in-game
- Added mod description into locale for translation
- Reduced inferno fire damage by 97%, added fire patch cluster per attack starting at 2 upto 4
Bugfixes:
- Fixed Krastorio2 on_force_created playerforces being nil
- Fixed enemy map scan creating bases unnecessarily

View File

@ -312,13 +312,17 @@ local bombAttackNumeric = {
}
local streamAttackNumeric = {
["stickerDamagePerTick"] = { 0.6, 0.6, 0.8, 0.8, 0.8, 0.9, 1, 1, 1.3, 1.5 },
-- ["mutliplerIncrease"] = {1, 1, 1, 1, 1, 2, 2, 2, 2, 2},
-- ["stickerMovementModifier"] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
-- ["fireDamagePerTick"] = { 0.025, 0.050, 0.075, 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25 },
-- ["fireDamagePerTick"] = { 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, 0.125 },
["stickerDamagePerTick"] = { 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65 },
["stickerDuration"] = { 400, 410, 420, 430, 440, 450, 440, 470, 480, 490 },
["particleTimeout"] = { 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 },
["fireSpreadRadius"] = { 0.75, 0.75, 0.77, 0.77, 0.79, 0.79, 0.83, 0.83, 0.85, 0.85 },
["damageMaxMultipler"] = { 6, 6, 7, 7, 7, 7, 8, 8, 8, 9 },
["stickerMovementModifier"] = { 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1 },
["damageMaxMultipler"] = { 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 },
["fireSpreadCooldown"] = { 30, 30, 29, 29, 28, 28, 27, 27, 25, 25 },
["stickerDuration"] = { 800, 800, 900, 900, 1000, 1000, 1100, 1100, 1200, 1200 },
["fireDamagePerTick"] = { 0.00625, 0.0125, 0.01875, 0.025, 0.03125, 0.0375, 0.04375, 0.05, 0.05625, 0.0625 },
["damage"] = { 3, 3, 4, 4, 5, 5, 5, 5, 5, 6 }
}

View File

@ -43,16 +43,6 @@ function attackFlame.createAttackFlame(attributes)
fireDamagePerTick = attributes.fireDamagePerTick,
fireDamagePerTickType = attributes.fireDamagePerTickType,
})
local fireName = makeFire({
name = attributes.name,
tint2 = attributes.tint2 or {r=0, g=0.9, b=0, a=0.5},
spawnEntityName = spawnEntityName,
fireDamagePerTick = attributes.fireDamagePerTick,
fireDamagePerTickType = attributes.fireDamagePerTickType,
damageMaxMultipler = attributes.damageMaxMultipler,
multiplerIncrease = attributes.multiplerIncrease,
multiplerDecrease = attributes.multiplerDecrease
})
local stickerName = makeSticker({
name = attributes.name,
spawnEntityName = spawnEntityName,
@ -63,6 +53,17 @@ function attackFlame.createAttackFlame(attributes)
tint2 = attributes.tint2,
fireSpreadRadius = attributes.fireSpreadRadius
})
local fireName = makeFire({
name = attributes.name,
tint2 = attributes.tint2 or {r=0, g=0.9, b=0, a=0.5},
spawnEntityName = spawnEntityName,
fireDamagePerTick = attributes.fireDamagePerTick,
fireDamagePerTickType = attributes.fireDamagePerTickType,
damageMaxMultipler = attributes.damageMaxMultipler,
multiplerIncrease = attributes.multiplerIncrease,
multiplerDecrease = attributes.multiplerDecrease,
stickerName = stickerName
})
return makeStream({
name = attributes.name,
@ -96,6 +97,24 @@ function attackFlame.createAttackFlame(attributes)
}
}
},
{
type = "cluster",
cluster_count = 2,
distance = 2 + (0.1 * attributes.effectiveLevel),
distance_deviation = 1.5,
action_delivery = {
type = "instant",
target_effects = {
{
type="create-fire",
entity_name = fireName,
check_buildability = true,
initial_ground_flame_count = 2,
show_in_tooltip = true
}
}
}
},
{
type = "direct",
action_delivery = {

View File

@ -159,27 +159,49 @@ function fireUtils.makeFire(attributes)
--initial_flame_count = 1,
burnt_patch_lifetime = 1800,
on_fuel_added_action =
on_damage_tick_effect =
{
type = "direct",
type = "area",
radius = attributes.radius or 2.5,
-- force = "enemy",
ignore_collision_condition = true,
-- filter_enabled = true,
action_delivery =
{
type = "instant",
target_effects =
{
{
type = "create-trivial-smoke",
smoke_name = smokeAddingFuelName,
-- speed = {-0.03, 0},
-- speed_multiplier = 0.99,
-- speed_multiplier_deviation = 1.1,
offset_deviation = {{-0.5, -0.5}, {0.5, 0.5}},
speed_from_center = 0.01
type = "create-sticker",
sticker = attributes.stickerName
}
}
}
},
on_fuel_added_action =
{
{
type = "direct",
action_delivery =
{
type = "instant",
target_effects =
{
{
type = "create-trivial-smoke",
smoke_name = smokeAddingFuelName,
-- speed = {-0.03, 0},
-- speed_multiplier = 0.99,
-- speed_multiplier_deviation = 1.1,
offset_deviation = {{-0.5, -0.5}, {0.5, 0.5}},
speed_from_center = 0.01
}
}
}
}
},
pictures = create_fire_pictures({ blend_mode = "normal", animation_speed = 1, scale = 0.5, tint2 = attributes.tint2}),
smoke_source_pictures =