mirror of
https://github.com/veden/Rampant.git
synced 2025-01-30 04:30:52 +02:00
see changelog
This commit is contained in:
parent
3d98746476
commit
d32a50005b
@ -1,6 +1,13 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 1.0.0
|
||||
Date: 06. 09. 2020
|
||||
Improvements:
|
||||
- Added spawner creep from vanilla to Rampant spawners and worms
|
||||
- Added nuclear biters atomic shockwave
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.17
|
||||
Date: 8. 7 2020
|
||||
Date: 08. 07. 2020
|
||||
Improvements:
|
||||
- Re-added siege toggle
|
||||
Tweaks:
|
||||
@ -14,26 +21,26 @@ Date: 8. 7 2020
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.16
|
||||
Date: 27. 4 2020
|
||||
Date: 27. 04. 2020
|
||||
Bugfixes:
|
||||
- Fixed landmines being removed after arming
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.15
|
||||
Date: 25. 4 2020
|
||||
Date: 25. 04. 2020
|
||||
Bugfixes:
|
||||
- Fixed score resources nil neighborChunk
|
||||
- Fixed unit group gathering force and squad check
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.14
|
||||
Date: 25. 4 2020
|
||||
Date: 25. 04. 2020
|
||||
Bugfixes:
|
||||
- Tile placement fixed
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.13
|
||||
Date: 16. 4 2020
|
||||
Date: 16. 04. 2020
|
||||
Improvements:
|
||||
- Added neutral objects to scanning to decrease chunk rating based on number of things present
|
||||
- Swapped to ai command completed for unit movements
|
||||
@ -69,7 +76,7 @@ Date: 16. 4 2020
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.11
|
||||
Date: 13. 4 2020
|
||||
Date: 13. 04. 2020
|
||||
Improvements:
|
||||
- Groups stolen from vanilla AI can now become settlers based on ai state
|
||||
- AI now gains extra credits based on the number of spawners in pollution
|
||||
@ -88,19 +95,19 @@ Date: 13. 4 2020
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.10
|
||||
Date: 4. 4 2020
|
||||
Date: 04. 04. 2020
|
||||
Bugfixes:
|
||||
- fixed gameSurfaces not being set after adding game surfaces by upgrade
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.9
|
||||
Date: 3. 4 2020
|
||||
Date: 03. 04. 2020
|
||||
Bugfixes:
|
||||
- gameSurfs crash on game upgrade
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.8
|
||||
Date: 3. 4 2020
|
||||
Date: 03. 04. 2020
|
||||
Improvements:
|
||||
- Rampant now has a mechanism to drain pollution around spawners as before they were filling up and stopped absorbing pollution.
|
||||
Bugfixes:
|
||||
@ -108,7 +115,7 @@ Date: 3. 4 2020
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.7
|
||||
Date: 3. 4 2020
|
||||
Date: 03. 04. 2020
|
||||
Improvements:
|
||||
- Added logic for switching active surfaces and Rampant alerting when players enter new surfaces. Rampant can only handle one active surface still.
|
||||
Tweaks:
|
||||
@ -121,7 +128,7 @@ Date: 3. 4 2020
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.18.6
|
||||
Date: 25. 3. 2020
|
||||
Date: 25. 03. 2020
|
||||
Tweaks:
|
||||
- Changed setting default to true for units affected by tile as factorio 0.18.16 fixes the desync issue
|
||||
- AI now has a minimum number of points that it can always accrue up to (100)
|
||||
|
@ -401,7 +401,68 @@ function biterFunctions.makeUnitSpawner(attributes)
|
||||
max_spawn_shift = 0,
|
||||
max_richness_for_spawn_shift = 100,
|
||||
build_base_evolution_requirement = attributes.evolutionRequirement or 0.0,
|
||||
call_for_help_radius = attributes.helpRadius or 50
|
||||
call_for_help_radius = attributes.helpRadius or 50,
|
||||
spawn_decorations_on_expansion = true,
|
||||
spawn_decoration =
|
||||
{
|
||||
{
|
||||
decorative = "light-mud-decal",
|
||||
spawn_min = 0,
|
||||
spawn_max = 2,
|
||||
spawn_min_radius = 2,
|
||||
spawn_max_radius = 5,
|
||||
},
|
||||
{
|
||||
decorative = "dark-mud-decal",
|
||||
spawn_min = 0,
|
||||
spawn_max = 3,
|
||||
spawn_min_radius = 2,
|
||||
spawn_max_radius = 6,
|
||||
},
|
||||
{
|
||||
decorative = "enemy-decal",
|
||||
spawn_min = 3,
|
||||
spawn_max = 5,
|
||||
spawn_min_radius = 2,
|
||||
spawn_max_radius = 7,
|
||||
},
|
||||
{
|
||||
decorative = "enemy-decal-transparent",
|
||||
spawn_min = 4,
|
||||
spawn_max = 20,
|
||||
spawn_min_radius = 2,
|
||||
spawn_max_radius = 14,
|
||||
radius_curve = 0.9
|
||||
},
|
||||
{
|
||||
decorative = "muddy-stump",
|
||||
spawn_min = 2,
|
||||
spawn_max = 5,
|
||||
spawn_min_radius = 3,
|
||||
spawn_max_radius = 6,
|
||||
},
|
||||
{
|
||||
decorative = "red-croton",
|
||||
spawn_min = 2,
|
||||
spawn_max = 8,
|
||||
spawn_min_radius = 3,
|
||||
spawn_max_radius = 6,
|
||||
},
|
||||
{
|
||||
decorative = "red-pita",
|
||||
spawn_min = 1,
|
||||
spawn_max = 5,
|
||||
spawn_min_radius = 3,
|
||||
spawn_max_radius = 6,
|
||||
},
|
||||
{
|
||||
decorative = "lichen-decal",
|
||||
spawn_min = 1,
|
||||
spawn_max = 2,
|
||||
spawn_min_radius = 2,
|
||||
spawn_max_radius = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
if attributes.autoplace then
|
||||
o["autoplace"] = enemy_spawner_autoplace(attributes.autoplace)
|
||||
@ -474,7 +535,39 @@ function biterFunctions.makeWorm(attributes)
|
||||
|
||||
allow_turning_when_starting_attack = true,
|
||||
build_base_evolution_requirement = attributes.evolutionRequirement or 0.0,
|
||||
call_for_help_radius = attributes.helpRadius or 60
|
||||
call_for_help_radius = attributes.helpRadius or 60,
|
||||
spawn_decorations_on_expansion = true,
|
||||
spawn_decoration =
|
||||
{
|
||||
{
|
||||
decorative = "worms-decal",
|
||||
spawn_min = 1,
|
||||
spawn_max = 3,
|
||||
spawn_min_radius = 1,
|
||||
spawn_max_radius = 5
|
||||
},
|
||||
{
|
||||
decorative = "shroom-decal",
|
||||
spawn_min = 1,
|
||||
spawn_max = 2,
|
||||
spawn_min_radius = 1,
|
||||
spawn_max_radius = 2
|
||||
},
|
||||
{
|
||||
decorative = "enemy-decal",
|
||||
spawn_min = 1,
|
||||
spawn_max = 4,
|
||||
spawn_min_radius = 1,
|
||||
spawn_max_radius = 4,
|
||||
},
|
||||
{
|
||||
decorative = "enemy-decal-transparent",
|
||||
spawn_min = 3,
|
||||
spawn_max = 5,
|
||||
spawn_min_radius = 1,
|
||||
spawn_max_radius = 4,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
if attributes.autoplace then
|
||||
@ -507,30 +600,80 @@ function biterFunctions.createSuicideAttack(attributes, blastWave, animation)
|
||||
target_effects =
|
||||
{
|
||||
{
|
||||
repeat_count = 100,
|
||||
type = "create-trivial-smoke",
|
||||
smoke_name = "nuclear-smoke",
|
||||
offset_deviation = {{-1, -1}, {1, 1}},
|
||||
slow_down_factor = 1,
|
||||
starting_frame = 3,
|
||||
starting_frame_deviation = 5,
|
||||
starting_frame_speed = 0,
|
||||
starting_frame_speed_deviation = 5,
|
||||
speed_from_center = 0.5,
|
||||
speed_deviation = 0.2
|
||||
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 or 400, type = attributes.damageType or "explosion"}
|
||||
damage = {amount = attributes.damage, type = "explosion"}
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = attributes.attackScorchmark or "small-scorchmark",
|
||||
check_buildability = true
|
||||
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",
|
||||
@ -538,13 +681,133 @@ function biterFunctions.createSuicideAttack(attributes, blastWave, animation)
|
||||
{
|
||||
type = "area",
|
||||
target_entities = false,
|
||||
repeat_count = attributes.repeatCount or 2000,
|
||||
radius = attributes.radius or 35,
|
||||
trigger_from_target = true,
|
||||
repeat_count = 100,
|
||||
radius = attributes.radius * 0.10,
|
||||
action_delivery =
|
||||
{
|
||||
type = "projectile",
|
||||
projectile = blastWave or "atomic-bomb-wave",
|
||||
starting_speed = 0.5
|
||||
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" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user