Jump to content

Ancient Guardian ignores attacks from Clockworks even if they're allied with the player


hoxi
  • Pending

This results in damaged clockworks on being able to attack with no retaliation, but also, clockworks in general are able to target Ancient Guardian from just being close. Both of these are due to ancient guardian lacking the "chess" tag, but having similar old logic of clockworks in regards to ignoring attacks and not targeting "chess" tagged entities. Ancient Guardian can also share aggro with chess entities nearby when attacked.

It's all due to the following:

local RETARGET_CANT_TAGS = { "chess", "INLIMBO" }



local function IsChess(dude)
    return dude:HasTag("chess")
end


local function OnAttacked(inst, data)
    if inst.components.health:GetPercent() < PHASE1 and not inst.atphase2 then
        inst.atphase2 = true
        inst.AnimState:SetBuild("rook_rhino_damaged_build")
        inst:AddTag("shadow_aligned")
    end

    local attacker = data ~= nil and data.attacker or nil
    if attacker ~= nil and attacker:HasTag("chess") then
        return
    end
    inst.components.combat:SetTarget(attacker)
    inst.components.combat:ShareTarget(attacker, SHARE_TARGET_DIST, IsChess, MAX_TARGET_SHARES)

    if inst.components.health:GetPercent() < PHASE1  and not inst.tentacletask then
        inst.tentacletask = inst:DoPeriodicTask(0.2, function() checkfortentacledrop(inst) end)
    end
end

All of these chess tag bits could be removed, or things could be tweaked to allow chess entities to ally with Ancient Guardian. At most, the only thing that works in favor of the guardian right now is sometimes sharing aggro to clockworks in the maze, but depending on branching, they might not even be able to reach the player.

 

There's also that the home location is overwritten on load.

local function rememberhome(inst)
    inst.components.knownlocations:RememberLocation("home", inst:GetPosition())
end

 

And there's more improvements that could be made that were given to Rooks, like:

  • Running state and chase and ram behavior. Including being able to damage non-targets while charging (currently they just get pushed), and dealing unique aoe damage. I'm not saying everything has to be 1:1, some can be left as is for uniqueness. But it's more the stuff that's a bit outdated.
  • Lack of player damage multiplier (would need to increase base damage to account for it).
  • Handling of physics collisions, including the stuff that will be addressed from this report.
  • Probably more, look at the recent Rook changes.

Steps to Reproduce
  • Recruit some Damaged Clockworks and make them attack Ancient Guardian (attack and cancel, or simply attack).
  • Notice how Ancient Guardian will never retaliate against them.

 

  • Spawn some Damaged Clockworks near Ancient Guardian.
  • Notice how they'll target and attack Ancient Guardian, with no retaliation.

 

  • Have Ancient Guardian charge into another player, and get in the way of the charge.
  • Notice how you'll just be pushed around.
  • Like 3



User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...