What version of Ovale are you using?
What class and specialization were you playing when the problem occurred?
Please provide any additional information below.
Basically what I'm looking for is the time elapsed since a buff expired, but buff gain (which as you told me before is in there but unimplemented) could be useful for some things too.
This was actually really easy to implement as far as this specific functionality goes. I simply went to the OvaleAura.lua and made RemoveAuraIfExpired always return false. This then allowed BuffRemains to continue into the negative values (unless you make the change below) because the aura's information is never released. Only works for buffs, not debuffs though (you'd probably know why).
Doing this change does require some updates to any buff related functions that have the following:
if start and ending and start <= ending then
if start and ending and start <= ending and Ovale.now <= ending then
Might be able to get away with just replacing start with Ovale.now but I don't know if that'd have any side effects or not (I wouldn't think it would). Could obviously have other unintended side effects.
A better option would probably be that when that RemoveAuraIfExpired is run that the expired buff's start/ending times are then stored in a new variable for expired auras and thus not interfering with any of the current code (and being more memory friendly as these are the only 2 variables we need for this functionality). I'm assuming it'd also need some garbage collection too (I'm probably telling you things you already know, but I'm doing it for my own education as I need more programming practice)n
As far as the functions themselves (the ones scripters have access to). I could see this as either being a parameter to BuffRemains or an entirely new function (a parameter might be more flexible as it'd allow one function to have the whole gamut of possibilities instead of it being split into BuffRemains for the time till expire and TimeSinceBuffExpired (or whatever you'd name it) for the time since expiration).
- 6 comments
- Last updated
- May 08, 2014
- Jul 24, 2013
- Fixed - Developer made requested changes. QA should verify.
- Enhancement - A change which is intended to better the project in some way
- Medium - Normal priority.