Jump to content

Beefalo won't go feral after being hit more than 4 times


DarkXero
  • Fixed

After being hit, a domesticated beefalo loses domestication if the attacker is a player.

When reaching 0 domestication after being hit, DeltaDomestication calls CheckAndStartTask, which calls Validate, which cancels the decay task.

Therefore UpdateDomestication never runs, so CheckForChanges never runs, so the beefalo doesn't go feral.

However, if you give the beefalo food, the task will start running, and if domestication reaches 0 via decay, then it will go feral as it should.

 

Solution (components/domesticatable.lua):

function Domesticatable:CheckAndStartTask()
	self:CheckForChanges()
	if not self:Validate() then
		return
	end
	if self.decaytask ~= nil then
		return
	end
	self.decaytask = self.inst:DoPeriodicTask(DECAY_TASK_PERIOD, UpdateDomestication, 0)
end

Actually check for changes and start the task.


Steps to Reproduce
1) Domesticate beefalo. 2) Hit it 10 times. 3) Wait for nothing to happen.



User Feedback


A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.


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...