Account for partial food consumption when the event is cancelled
- Adjust food items during `ISEatFoodAction:start` - Reset food items in both `ISEatFoodAction:perform` and `ISEatFoodAction:stop`
This commit is contained in:
parent
fbe28923cf
commit
518aca555e
1 changed files with 26 additions and 8 deletions
|
|
@ -119,14 +119,14 @@ function ISToolTipInv:render()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local base_perform = ISEatFoodAction.perform
|
local base_eat_start = ISEatFoodAction.start
|
||||||
|
|
||||||
function ISEatFoodAction:perform()
|
function ISEatFoodAction:start()
|
||||||
local origUnhappyChange = self.item:getUnhappyChangeUnmodified()
|
self.origUnhappyChange = self.item:getUnhappyChangeUnmodified()
|
||||||
local origBoredomChange = self.item:getBoredomChangeUnmodified()
|
self.origBoredomChange = self.item:getBoredomChangeUnmodified()
|
||||||
|
|
||||||
-- Adjust food effects based on traits
|
-- Adjust food effects based on traits
|
||||||
local traits = getPlayer():getTraits()
|
local traits = self.character:getTraits()
|
||||||
if traits:contains("NotAPickyEater") then
|
if traits:contains("NotAPickyEater") then
|
||||||
adjustFoodNotPicky(self.item)
|
adjustFoodNotPicky(self.item)
|
||||||
elseif traits:contains("RefiendPalate") then
|
elseif traits:contains("RefiendPalate") then
|
||||||
|
|
@ -134,9 +134,27 @@ function ISEatFoodAction:perform()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Call original function
|
-- Call original function
|
||||||
base_perform(self)
|
base_eat_start(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
local base_eat_stop = ISEatFoodAction.stop
|
||||||
|
|
||||||
|
function ISEatFoodAction:stop()
|
||||||
|
-- Call original function
|
||||||
|
base_eat_stop(self)
|
||||||
|
|
||||||
-- Reset food effects
|
-- Reset food effects
|
||||||
self.item:setUnhappyChange(origUnhappyChange)
|
self.item:setUnhappyChange(self.origUnhappyChange)
|
||||||
self.item:setBoredomChange(origBoredomChange)
|
self.item:setBoredomChange(self.origBoredomChange)
|
||||||
|
end
|
||||||
|
|
||||||
|
local base_eat_perform = ISEatFoodAction.perform
|
||||||
|
|
||||||
|
function ISEatFoodAction:perform()
|
||||||
|
-- Call original function
|
||||||
|
base_eat_perform(self)
|
||||||
|
|
||||||
|
-- Reset food effects
|
||||||
|
self.item:setUnhappyChange(self.origUnhappyChange)
|
||||||
|
self.item:setBoredomChange(self.origBoredomChange)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue