mirror of
https://github.com/veden/Rampant.git
synced 2024-12-26 20:54:12 +02:00
see changelog
This commit is contained in:
parent
93046fe01c
commit
3048879516
@ -308,6 +308,11 @@ function upgrade.attempt(natives)
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.22")
|
||||
global.version = 89
|
||||
end
|
||||
if (global.version < 90) then
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.24")
|
||||
global.version = 90
|
||||
end
|
||||
|
||||
return starting ~= global.version, natives
|
||||
end
|
||||
|
@ -1,3 +1,18 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.17.24
|
||||
Date: 5. 3. 2019
|
||||
Improvements:
|
||||
- Added interop functions for getSettlerCooldown and getSettlerWaveSize
|
||||
Tweaks:
|
||||
- Increased spitter projectile acceleration to 0.02
|
||||
- Increased spitter projectile starting speed to 0.6
|
||||
- Added projectile lead with default spitter and worm projectiles
|
||||
- Switched to water-tile collision mask in chunk scanning for surface queries
|
||||
- Added checks to spitter puddles on water so they dont happen
|
||||
- Reduced the settler standard deviation to 1/3 of the wave size
|
||||
Bugfixes:
|
||||
- Fixed settler cooldown increasing with evolution as opposed to decreasing
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.17.23
|
||||
Date: 4. 30. 2019
|
||||
|
@ -268,9 +268,9 @@ local function rebuildMap()
|
||||
map.filteredEntitiesPlayerQuery = { area=map.area, force={"enemy", "neutral"}, invert = true }
|
||||
local sharedArea = {{0,0},{0,0}}
|
||||
map.filteredEntitiesCliffQuery = { area=sharedArea, type="cliff", limit = 1 }
|
||||
map.filteredTilesPathQuery = { area=sharedArea, name=WATER_TILE_NAMES, limit = 1 }
|
||||
map.filteredTilesPathQuery = { area=sharedArea, collision_mask="water-tile", limit = 1 }
|
||||
map.canPlaceQuery = { name="", position={0,0} }
|
||||
map.filteredTilesQuery = { name=WATER_TILE_NAMES, area=map.area }
|
||||
map.filteredTilesQuery = { collision_mask="water-tile", area=map.area }
|
||||
|
||||
map.attackCommand = {
|
||||
type = DEFINES_COMMAND_ATTACK_AREA,
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name" : "Rampant",
|
||||
"factorio_version" : "0.17",
|
||||
"version" : "0.17.23",
|
||||
"version" : "0.17.24",
|
||||
"title" : "Rampant",
|
||||
"author" : "Veden",
|
||||
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",
|
||||
|
@ -73,9 +73,9 @@ function aiPlanning.planning(natives, evolution_factor, tick)
|
||||
natives.attackWaveUpperBound = attackWaveMaxSize + (attackWaveMaxSize * 0.25)
|
||||
|
||||
natives.settlerWaveSize = linearInterpolation(evolution_factor ^ 1.66667, natives.expansionMinSize, natives.expansionMaxSize)
|
||||
natives.settlerWaveDeviation = (natives.settlerWaveSize * 0.50)
|
||||
natives.settlerWaveDeviation = (natives.settlerWaveSize * 0.33)
|
||||
|
||||
natives.settlerCooldown = mFloor(linearInterpolation(evolution_factor ^ 1.66667, natives.expansionMinTime, natives.expansionMaxTime))
|
||||
natives.settlerCooldown = mFloor(linearInterpolation(evolution_factor ^ 1.66667, natives.expansionMaxTime, natives.expansionMinTime))
|
||||
|
||||
natives.unitRefundAmount = AI_UNIT_REFUND * evolution_factor
|
||||
natives.kamikazeThreshold = NO_RETREAT_BASE_PERCENT + (evolution_factor * NO_RETREAT_EVOLUTION_BONUS_MAX)
|
||||
|
@ -36,7 +36,7 @@ constants.VERSION_88 = 88
|
||||
|
||||
-- misc
|
||||
|
||||
constants.WATER_TILE_NAMES = { "water", "deepwater", "water-green", "deepwater-green" }
|
||||
-- constants.WATER_TILE_NAMES = { "water", "deepwater", "water-green", "deepwater-green" }
|
||||
|
||||
constants.MAGIC_MAXIMUM_NUMBER = 1e99 -- used in loops trying to find the lowest/highest score
|
||||
constants.MAGIC_MAXIMUM_BASE_NUMBER = 100000000
|
||||
|
@ -53,6 +53,14 @@ function interop.changeMaxWaveSize(waveSize)
|
||||
global.natives.attackWaveMaxSize = waveSize
|
||||
end
|
||||
|
||||
function interop.getSettlerCooldown()
|
||||
return global.natives.settlerCooldown
|
||||
end
|
||||
|
||||
function interop.getSettlerWaveSize()
|
||||
return global.natives.settlerWaveSize
|
||||
end
|
||||
|
||||
function interop.changeThreshold(min, max)
|
||||
global.natives.attackThresholdMin = min
|
||||
global.natives.attackThresholdMax = max
|
||||
|
@ -53,8 +53,14 @@ function AttackBall.createAttackBall(attributes)
|
||||
{
|
||||
type="create-fire",
|
||||
entity_name = makeAcidSplashFire(attributes, attributes.stickerName or makeSticker(attributes)),
|
||||
check_buildability = true,
|
||||
initial_ground_flame_count = 1
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = "water-splash",
|
||||
tile_collision_mask = { "ground-tile" }
|
||||
},
|
||||
{
|
||||
type = "play-sound",
|
||||
sound =
|
||||
|
@ -65,8 +65,14 @@ function attackFlame.createAttackFlame(attributes)
|
||||
{
|
||||
{
|
||||
type = "create-sticker",
|
||||
sticker = stickerName
|
||||
sticker = stickerName,
|
||||
check_buildability = true
|
||||
},
|
||||
{
|
||||
type = "create-entity",
|
||||
entity_name = "water-splash",
|
||||
tile_collision_mask = { "ground-tile" }
|
||||
},
|
||||
{
|
||||
type = "damage",
|
||||
damage = { amount = attributes.damage, type = attributes.damageType or "fire" }
|
||||
@ -80,7 +86,8 @@ function attackFlame.createAttackFlame(attributes)
|
||||
type = "instant",
|
||||
target_effects = {
|
||||
type= "create-fire",
|
||||
entity_name = fireName
|
||||
entity_name = fireName,
|
||||
check_buildability = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -812,6 +812,8 @@ function biterFunctions.createProjectileAttack(attributes, projectile, animation
|
||||
cooldown = attributes.cooldown or 15,
|
||||
projectile_creation_distance = 0.6,
|
||||
range = attributes.range or 20,
|
||||
lead_target_for_projectile_speed = 0.6,
|
||||
use_shooter_direction = true,
|
||||
ammo_type =
|
||||
{
|
||||
category = "biological",
|
||||
@ -824,7 +826,7 @@ function biterFunctions.createProjectileAttack(attributes, projectile, animation
|
||||
{
|
||||
type = "projectile",
|
||||
projectile = projectile or "defender-bullet",
|
||||
starting_speed = attributes.startingSpeed or 0.3,
|
||||
starting_speed = attributes.startingSpeed or 0.6,
|
||||
max_range = attributes.maxRange or attributes.range or 20
|
||||
}
|
||||
}
|
||||
|
@ -246,6 +246,8 @@ function fireUtils.makeAcidSplashFire(attributes, stickerName)
|
||||
damage_multiplier_increase_per_added_fuel = 1,
|
||||
damage_multiplier_decrease_per_tick = 0.005,
|
||||
|
||||
collision_mask = { "water-tile" },
|
||||
|
||||
--spawn_entity = "fire-flame-on-tree",
|
||||
uses_alternative_behavior = true,
|
||||
limit_overlapping_particles = true,
|
||||
|
@ -11,7 +11,7 @@ function projectileUtils.makeProjectile(name, attributes, attack)
|
||||
collision_mask = attributes.collisionMask or {"layer-11"},
|
||||
direction_only = attributes.directionOnly,
|
||||
piercing_damage = attributes.piercingDamage or 0,
|
||||
acceleration = attributes.acceleration or 0.01,
|
||||
acceleration = attributes.acceleration or 0.02,
|
||||
force_condition = (settings.startup["rampant-disableCollidingProjectiles"].value and "not-same") or nil,
|
||||
action = attack,
|
||||
animation =
|
||||
|
Loading…
Reference in New Issue
Block a user