Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local POWER_HAPPINESS = 6
- local UNIT_FIELD_BYTES_1 = 0x84 + 0x06
- local function GetLoyaltyLevel(pet)
- return GetByteValue(UNIT_FIELD_BYTES_1, 1)
- end
- local function ModifyPower(unit, power, dVal)
- if dVal == 0 then
- return
- end
- local val = dVal + unit:GetPower(power)
- if val <= 0 then
- unit:SetPower(power, 0)
- return
- end
- local maxPower = unit:GetMaxPower(power)
- if val < maxPower then
- unit:SetPower(power, val)
- else
- unit:SetPower(power, maxPower)
- end
- end
- local function LooseHappiness(pet)
- local curValue = pet:GetPower(POWER_HAPPINESS)
- if curValue <= 0 then
- return
- end
- local addvalue = bit_rshift(140, GetLoyaltyLevel(pet)) * 125
- if pet:IsInCombat() then
- addvalue = math.floor(addvalue * 1.5)
- end
- ModifyPower(pet, POWER_HAPPINESS, -addvalue);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement