[Gameplay] - Rabbits dont turn to beardlings and more


N1GH1OW1

Recommended Posts

Bug Submission:

Category: Gameplay

Issue Title: Rabbits dont turn to beardlings and more

Issue Description: When you play don´t starve together the rabbits wont turn to beardlings if you go nuts (loose sanity).

Also one time the stuff from our chests vanished without a trace (can´t reproduce that)

Steps to Reproduce: Just go insane

Link to comment
Share on other sites

Suppose you're insane and your friend is not. Suppose there's a rabbit in front of you both. How should it look? Well, that's a no brainer: it should look like a beardling to you and as a normal rabbit to your friend.

Now suppose either one of you kills the rabbit. What should it drop?

Link to comment
Share on other sites

@simplex,

 

No the appearance should be modified client side, and the loot dropped should be relative to the player's sanity, and it did in my test yesterday.

 

Further effects are not sanity dependent as the dual reality there does indeed pose some challenges.

I did check the code after your first reply, where I saw the inst.AnimState:SetClientsideBuildOverride and LootSetupFunction calls.

But please don't take my "I [...] thought the beardling transformation had been disabled on purpose" statement as further confirmation of the bug. I'm a Linux user, and as such am waiting for the Linux port before playing DST per se. I did set up a Windows VM for mod development, but this is limited to short test sessions; mostly my contact with DST has been reading the game code with the intent of porting mods.

Link to comment
Share on other sites

Hi @Muiramme

 

Hmmm, that is strange. I'll have to look at it more in-depth as it definitely happened when I was testing it  - thanks for letting me know :-)

Since I had disrupted this thread already I decided to do some testing myself, as a host. I did get rabbits turning into beardlings, the only thing was they only do so when the player is at a much lower sanity than in singleplayer.

There is a function which would check for the correct sanity in rabbit.lua:

local function PlayerSanityListener()	return ThePlayer.components.sanity:GetPercent() > TUNING.BEARDLING_SANITYend
However, this function is never actually referenced (and it should access "ThePlayer.replica.sanity" instead of the component if it is to be used on the client side). Instead, the check for (and applications of) the build change is, as mentioned before, handled by

	inst.AnimState:SetClientsideBuildOverride("insane", "rabbit_build", "beard_monster")	inst.AnimState:SetClientsideBuildOverride("insane", "rabbit_winter_build", "beard_monster")
whose override is set up in player_classified.lua:

local function UpdateAnimOverrideSanity(parent)    parent.AnimState:SetClientSideBuildOverrideFlag("insane", parent.replica.sanity:IsCrazy())end
The problem is that the sanity component (and its replica) return true on IsCrazy when the sanity ratio is below TUNING.SANITY_BECOME_INSANE_THRESH, which is 15%. On the other hand, the switch to beardling should happen when the sanity ratio is below TUNING.BEARDLING_SANITY, which is 40%. This difference is drastic enough to be an explanation for why some people believe beardlings stopped appearing at all (but it's possible there's an actual, deeper bug in addition to that, of course).

In LootSetupFunction, the same issue happens, due to the self.inst.causeofdeath.components.sanity:IsCrazy() check.

These issues also happen in bunnyman.lua.

Link to comment
Share on other sites

http://forums.kleientertainment.com/topic/42538-gameplay-rabbits-dont-turn-into-beardlings/?p=555949

 

But for me, the biggest problem with beardlings right now is that they never transform in inventory. One of the better techniques for farming them was to catch a ton as rabbits, get to low sanity, murder them all very quickly, then restore sanity. Although the technical difficulty of restoring that behavior is greater...

Link to comment
Share on other sites

Yup I had the same with wickerbottom, collected an inventory full of bunnies then magicked myself to insanity. I forgot I was on 30 max health so O died nearly instantly... in the moment after they left my corpse but before I ghosted I saw them all as beardlings on the ground, but they had not turned in my inventory.

Link to comment
Share on other sites

I came here to report this as well. I experimented with it a bit in game. I found that rabbits never turn to beardlings so long as they are in some sort of inventory. However, they do turn into beardlings in the overworld when you reach a low enough point for nightmares to begin attacking. I'm a bit rusty, but if I recall, bearlings normally start showing up around 80~ (average) santity. I should note that I did drop to 0 sanity and they never turned in my inventory (or any chest for that matter). Also, the lack of them changing was not just cosmetic. They gave normal rabbit loot even at 0 sanity, so long as they were in your inventory.

Link to comment
Share on other sites

I haven't tried this but couldn't you just drop the rabbits on the ground and kill them while they're not moving? Or would they not spawn as beardlings?


I haven't tested this but could you just drop the rabbits on the ground and kill them while they're not moving? Or would they not spawn as beardlings?

Link to comment
Share on other sites

I tried just that exact thing: hovering around 30 sanity as Wendy (under the insane threshold) I was able to see Beardlings on the field. I tried placing the Bunnies on the ground and then instantly killing them, but even though they appeared to be Beardlings when they died, all I could get to drop was Morsels.

 

I was a client on a friend's hosted server, if that has any bearing.

Link to comment
Share on other sites

Not only do bunnies not change to beardlings in inventory, they also don't switch between summer/winter (tan fur vs white fur) versions of rabbits. I can also report that beardlings don't appear until a MUCH lower sanity than the original Don't Starve.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.