[Gameplay] - Propagators perpetuate freezing


rezecib

Recommended Posts

Bug Submission:

Category: Gameplay
Issue Title: Propagators perpetuate freezing
Issue Description: If you're within the propagation range of a burnable propagator (e.g. an overstocked campfire), it will continuously renew the freeze duration as it removes coldness from the freezable component.
Steps to Reproduce: This is a bit difficult to do in practice, but the easiest way I found was to have an overstocked campfire, and then freeze a pig close to it. You can then push the pig into the propagator range of the fire (at which point it will probably be thawing out). Once it gets in range, the thawing stops immediately and it stays frozen as long as it's in propagator range.

With my Twitch Plays action pack, you can get it to happen a bit more easily by running the !freeze command near a stocked campfire.

 

 

Edit: I think maybe the simplest way to fix this would be to change Freezable:AddColdness

currently:

function Freezable:AddColdness(coldness, freezetime)    self.coldness = self.coldness + coldness    if self.coldness < 0 then self.coldness = 0 end    self:UpdateTint()    if self.coldness > self.resistance or self:IsFrozen() then        self:Freeze(freezetime)    elseif self.coldness == self.resistance then        self:Freeze(freezetime)    else        self:StartWearingOff()    endend

make it check if coldness is negative, and if so, don't call Freeze:

function Freezable:AddColdness(coldness, freezetime)    self.coldness = self.coldness + coldness    if self.coldness < 0 then self.coldness = 0 end    self:UpdateTint()    if coldness > 0 and self.coldness > self.resistance or self:IsFrozen() then        self:Freeze(freezetime)    elseif self.coldness == self.resistance then        self:Freeze(freezetime)    else        self:StartWearingOff()    endend

But there are of course many other ways it could be tackled.

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.