Jason

[Game Update] - 190428

Recommended Posts

FreyaMaluk    1,264
1 hour ago, Jason said:

This is a short list of bug patches mainly for putting out the fix for the RemoveHerd() function crash that is affecting a number of folks. 

 

View full update

 

Thanks @Jason

No more freakingly weird waves :D !!

(Edit) I love you Klei... The waves mechanic is completely fixed :) I'm so happy

meme-faces_00040376.jpg 

Edited by FreyaMaluk

Share this post


Link to post
Share on other sites
Jason    1,984

It was a bug that showed up with the fix for a herd bug with rockies. I don't think it would cause water beefalos to overpopulate. Is that a thing?

Share this post


Link to post
Share on other sites
DarkXero    2,881
8 hours ago, FreyaMaluk said:

Question... what is the issue with "RemoveHerd()"? Is this related with the overpopulation of water beefalos?

As far as I remember, Water Beefalo didn't overpopulate.

In fact it was the opposite, since the herd component has a default maxsize of 12, but the periodicspawner of oxherd only allows 6 ox in a 20 units range.

This reminds me, I think beefalo still overpopulate, because when a babybeefalo runs SetFullyGrown, it gets removed, not killed. And a herd member gets removed because it listens to the "death" event (attached on AddMember of herd component), and not the "onremove" event. I will see if there are any stale references there.

Rockys, lightning goats, and water beefalo don't have a younger prefab version of themselves, so the "possible bug" above doesn't apply to them.

EDIT:

Well, there are.

But actually, this bug was fixed in DST.

local function AddMemberListeners(self, member)
    self.inst:ListenForEvent("onremove", self._onmemberkilled, member)
    self.inst:ListenForEvent("death", self._onmemberkilled, member)
end

local function RemoveMemberListeners(self, member)
    self.inst:RemoveEventCallback("onremove", self._onmemberkilled, member)
    self.inst:RemoveEventCallback("death", self._onmemberkilled, member)
end

local Herd = Class(function(self, inst)
    self._onmemberkilled = function(member) self:RemoveMember(member) end
end)

function Herd:AddMember(inst)
    if not self.members[inst] then
        AddMemberListeners(self, inst)
    end
end

function Herd:RemoveMember(inst)
    if self.members[inst] then
        RemoveMemberListeners(self, inst)
    end
end

It would be something nice to port.

Edited by DarkXero

Share this post


Link to post
Share on other sites
FreyaMaluk    1,264
12 hours ago, Jason said:

It was a bug that showed up with the fix for a herd bug with rockies. I don't think it would cause water beefalos to overpopulate. Is that a thing?

I didn't happen to me... but I read a thread about it on the forums... Personally... I've never experienced it... 

Edited by FreyaMaluk

Share this post


Link to post
Share on other sites
DarkXero    2,881
5 hours ago, FreyaMaluk said:

but I read a thread about it on the forums... Personally... I've never experienced it... 

It was this and it was solved. Guy used the "More" option in world settings.

  • Like 1

Share this post


Link to post
Share on other sites

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