@arma473 said in Reclaim:
But @Tex, initial overkill wouldn't be affected by a reduction in wreck hp. The wreck doesn't even exist until 1+ seconds after the unit dies.
Initial overkill is based on the amount of damage exceeding the unit's hp, divided by the unit's max hp.
The hp of a wreck would be based on the mass value of the reclaim left in it.
We aren't talking about having different hp values for different wrecks, are we? Even if we reduce wreck hp, a strat wreck with 1.7k mass would have exactly 1.7x more hp than a Percival wreck with 1k mass, right?
Your last suggestion is not the case as it stands. The wreck has (roughly) as much hp as the original unit did. As an example:
- Firing at a t1 artillery into a (uef) t1 (land) factory wreck will cost about 4 - 5% of the mass value, e.g., say 20 mass a shot.
- Firing with a t1 artillery into a strategic missile launcher wreck will cost about 4 - 5% of the mass value, e.g., say about 750 mass a shot.
See also this function:
-- from wreckage.lua
--- Create a wreckage prop.
function CreateWreckage(bp, position, orientation, mass, energy, time)
local bpWreck = bp.Wreckage.Blueprint
local prop = CreateProp(position, bpWreck)
prop:SetOrientation(orientation, true)
prop:SetScale(bp.Display.UniformScale)
prop:SetPropCollision('Box', bp.CollisionOffsetX, bp.CollisionOffsetY, bp.CollisionOffsetZ, bp.SizeX * 0.5, bp.SizeY * 0.5, bp.SizeZ * 0.5)
prop:SetMaxHealth(bp.Defense.Health)
------------------------------------------------------------------------------
prop:SetHealth(nil, bp.Defense.Health * (bp.Wreckage.HealthMult or 1))
------------------------------------------------------------------------------
prop:SetMaxReclaimValues(time, mass, energy)
--FIXME: SetVizToNeurals('Intel') is correct here, so you can't see enemy wreckage appearing
-- under the fog. However the engine has a bug with prop intel that makes the wreckage
-- never appear at all, even when you drive up to it, so this is disabled for now.
--prop:SetVizToNeutrals('Intel')
if not bp.Wreckage.UseCustomMesh then
prop:SetMesh(bp.Display.MeshBlueprintWrecked)
end
-- This field cannot be renamed or the magical native code that detects rebuild bonuses breaks.
prop.AssociatedBP = bp.Wreckage.IdHook or bp.BlueprintId
return prop
end
And that value, as an example, is for the colossus the following (0.9):
Wreckage = {
Blueprint = '/props/DefaultWreckage/DefaultWreckage_prop.bp',
EnergyMult = 0,
-------------------------
HealthMult = 0.9,
-------------------------
MassMult = 0.9,
ReclaimTimeMultiplier = 1,
WreckageLayers = {
Air = false,
Land = true,
Seabed = true,
Sub = true,
Water = true,
},
},
And I think this is the same for all units, as that one line is matched in over 494 files and by sampling a few at random they are all related to the wreckage.
edit: I may have not completely understood your message @arma473 , apologies if this was not necessary.