I don't want to have to recast my auras in every zone

"

That's a tricky problem in and of itself, albeit one which I've got a rough outline of a plan for. But that plan will take some refining, and then I'll need a period of development time where I can afford to spend the time implementing and testing that, and then follow up with refactoring auras to detach the action so that it can actively monitor skill changes (which will likely introduce a whole slew of instance and client crashes in rare cases depending on which order things happen in when leaving the area and/or game in certain ways, since everything needs to clean up correctly). So a bunch more QA time on that.


This bugs me. The whole concept of reserved mana as a 'cast skill' is wrong.

I would imaging that a calculated 50% reservation which does respond to changes in the mana pool would also reset it's attributes on those changes.

This would allow for either 'turn on on insert gem' or a separate toggle variable/gui element.
Then there would also not be that mana refilling on casting the aura - which is bizzare.

On the other hand, the minion issue is definitely a cast skill. It seems a lot more of a gameplay decision how to handle that.
it wouldn't be the first time GGG just ninjas in a patch to break a build. basically wasted my low life rf sporker with no warning
"
Mark_GGG wrote:
It's unfortunately a very technically challenging bug to solve. ...
We could fix pretty much all instances of aura snapshotting at the cost of a day or so's work, a little extra processing, and making auras never be able to transition between areas. That last part isn't worth the cost.


Huh?? You already have something like this ... excuse the lack of proper forum support for code/preformatting ....

enum Auras {
. AURA_ANGER = (1 << 0),
. AURA_CLARITY = (1 << 1),
. AURA_DETERMINATION = (1 << 2),
. AURA_DISCIPLINE = (1 << 3),
. AURA_GRACE = (1 << 4),
. AURA_HASTE = (1 << 5),
. AURA_HATRED = (1 << 6),
. AURA_PURITY_ELEMENTS = (1 << 7),
. AURA_PURITY_FIRE = (1 << 8),
. AURA_PURITY_ICE = (1 << 9),
. AURA_PURITY_LIGHTNING = (1 << 10),
. AURA_VITALITY = (1 << 12),
. AURA_WRATH = (1 << 13)
};

class Player
{
. ...
. int32 bAurasPreviouslyOn;
. int32 bAurasActive; // bit-flags of auras currently active
};

Player::OnZoneLeave()
{
. bAurasPreviouslyOn = bAurasActive;
}

Player::OnZoneEnter()
{
. if( bAurasActive != bAurasPreviouslyOn )
. ....
}
happy birthday
"
Mark_GGG wrote:
Thankfully, more recently we've implemented have the ability to perform triggered casts of a skill, which can in theory be used to get around that restriction - that's how I managed to get Tempest Shield to be able to transition between areas - it doesn't, but if it detects you had the tempest shield buff on you, it performs a triggered cast of the tempest shield skill, so by the time you're finished loading, it's been reapplied.
But this doesn't always work - because mana reservation skills can't be allowed to ignore their mana requirements when triggered (because otherwise the triggered Tempest Shield wouldn't reserve anything in the case where you didn't have enough mana - this happened for a little while).


For some reason this doesn't work when going in to corrupted areas. Still need to re-cast Tempest Shield every time you enter one.

"
Mark_GGG wrote:
and it's my Birthday in 7 minutes, and I'll need to go check on the second layer of my double-decker creme-egg chocolate death orgasmacake soon, it should be almost ready.


Happy birthday or my condolences depending how you feel about your age. ;)
In game contact @MajorAsshole

Challenge T-Shirt: 4/6 | Full Challenge Totems: 21/27
"
"
Mark_GGG wrote:
"
That's the opposite of what I want. I want for them to keep working anyway, just without me having to keep using the fancy hat.
If you want to benefit from the stats of an item, you need to have that item equipped. If you swap to another item, you lose the benefits of the old item and gain the benefits of the new one in exchange.

This is one of very few bugs where that doesn't hold, and it will be fixed. If you have your heart set on being able to permanently get the benefit of an item you stopped using, then that's simply not going to happen. Sorry.

How about scrapping and reworking auras alltogether?

In their current state they barely add any depth to the game besides being a boring and mandatory prebuff if you want to min-max


anything is mandatory if you want to min-max.
/forum/view-thread/869543 all my builds' compilation
Please PM me on forum to inform me if I won an auction. Thank you.
"
Mark_GGG wrote:
Spoiler
Yeah, it's still a bug, and we try to make sure people are aware of that whenever we have the chance, in a (probably useless) attempt to prevent masses of butthurt "but I didn't realise it was a bug and now my build doesn't work" posts. Didn't work when we fixed the worst of the aura snapshot cases by re-adjusting them on transition, but I can hope.

It's unfortunately a very technically challenging bug to solve. Buffs of all kinds are static things, and changing them on the fly is nontrivial. The aura is created from the skill, but the skill action's long finished and gone away by the time we need something to be actively updating (read: removing and replacing) the aura.

We could fix pretty much all instances of aura snapshotting at the cost of a day or so's work, a little extra processing, and making auras never be able to transition between areas. That last part isn't worth the cost.

Thankfully, more recently we've implemented have the ability to perform triggered casts of a skill, which can in theory be used to get around that restriction - that's how I managed to get Tempest Shield to be able to transition between areas - it doesn't, but if it detects you had the tempest shield buff on you, it performs a triggered cast of the tempest shield skill, so by the time you're finished loading, it's been reapplied.
But this doesn't always work - because mana reservation skills can't be allowed to ignore their mana requirements when triggered (because otherwise the triggered Tempest Shield wouldn't reserve anything in the case where you didn't have enough mana - this happened for a little while).

So before I can (ab)use the same tech to allow auras to have their skill always actively on you, as well as the buff, we need to address the mana problem there, or we won't have actually solved the problem about them not transitioning, since they'll almost always fail to have enough mana when entering the area.

That's a tricky problem in and of itself, albeit one which I've got a rough outline of a plan for. But that plan will take some refining, and then I'll need a period of development time where I can afford to spend the time implementing and testing that, and then follow up with refactoring auras to detach the action so that it can actively monitor skill changes (which will likely introduce a whole slew of instance and client crashes in rare cases depending on which order things happen in when leaving the area and/or game in certain ways, since everything needs to clean up correctly). So a bunch more QA time on that.

That's the current state of snapshotted auras - I have most of a plan for how to solve that, once the mana problem is solved, and a less finalised plan for that one too. While it might not look externally like much has happened, we're a lot closer to a full solution than we were in August when we fixed the most ridiculous abuse cases (which thankfully were the easiest to fix, since they relied on doing things in town and thus could be caught at area transitions). We're just not deploying anything until it works, has been tested, and it doesn't compromise player quality-of-life in general cases.

I'd personally like to have aura snapshotting fixed in 1.2.0, but I can't promise that at this stage. Too many unknowns, too much that could to wrong between now and then, and it needs substantial of QA time, which will be at a premium as we approach the big patch.
If it's ready then, it'll go in. If it's not, it won't. In that case I'm not sure when it'll be fit in, because as noted above, regardless of how much we tell people it's a bug that will be fixed, people will still be very unhappy if it changes and their build doesn't work. We try to keep changes like that to the big 4-month patches when we can. I'm not the one who'd make the call on whether a snapshotting fix is important enough to go somewhere in the 1.2.0 series, or disruptive enough to be left for 1.3.0.

Minion snapshotting is an entirely different kettle of fish, and a lot trickier again to solve, both because minions are much more complicated, and because to some degree non-snapshotting is also abusable on minions (although to a lesser degree) and also quite unintuitive in some cases. That'll probably take longer and be a tougher nut to crack. I have some ideas (some of which might link into better ability to fake minion stats for display), but at this stage no more than that, and I'm not going into detail here because this is already a wall of text, and it's my Birthday in 7 minutes, and I'll need to go check on the second layer of my double-decker creme-egg chocolate death orgasmacake soon, it should be almost ready.

Thanks for this great post and happy birthday.

Give a note to Chris to consider this post for the dev manifesto. :-)
"
"
Mark_GGG wrote:
It's unfortunately a very technically challenging bug to solve. ...
We could fix pretty much all instances of aura snapshotting at the cost of a day or so's work, a little extra processing, and making auras never be able to transition between areas. That last part isn't worth the cost.


Huh?? You already have something like this ... excuse the lack of proper forum support for code/preformatting ....

enum Auras {
. AURA_ANGER = (1 << 0),
. AURA_CLARITY = (1 << 1),
. AURA_DETERMINATION = (1 << 2),
. AURA_DISCIPLINE = (1 << 3),
. AURA_GRACE = (1 << 4),
. AURA_HASTE = (1 << 5),
. AURA_HATRED = (1 << 6),
. AURA_PURITY_ELEMENTS = (1 << 7),
. AURA_PURITY_FIRE = (1 << 8),
. AURA_PURITY_ICE = (1 << 9),
. AURA_PURITY_LIGHTNING = (1 << 10),
. AURA_VITALITY = (1 << 12),
. AURA_WRATH = (1 << 13)
};

class Player
{
. ...
. int32 bAurasPreviouslyOn;
. int32 bAurasActive; // bit-flags of auras currently active
};

Player::OnZoneLeave()
{
. bAurasPreviouslyOn = bAurasActive;
}

Player::OnZoneEnter()
{
. if( bAurasActive != bAurasPreviouslyOn )
. ....
}


Can you write us the fix to desync too? Thanks a lot!
i use a secret account because i am a politician that doesnt want the NSA to know i play poe.
"
Mark_GGG wrote:

It's unfortunately a very technically challenging bug to solve. Buffs of all kinds are static things, and changing them on the fly is nontrivial. The aura is created from the skill, but the skill action's long finished and gone away by the time we need something to be actively updating (read: removing and replacing) the aura.


I don't understand Mark, what is so difficult about running a check on buffs every time gear is swapped? Surely the overhead of running a check on buffs when somebody equips or removes a piece of gear can't be that hard or create that much overhead.

It sounds to me like you guys programmed the buffs to be unchangeable after casting. Unfortunately, I know that isn't true because I can right click and remove the buff myself. I could, in fact, probably fix your problem using autohotkey to right click the buff icon whenever I remove a piece of gear. (Would require manually activating the hotkey script but it would work).

So you're going to have to forgive me for being unable to come up with a reason why the programmers can't take 20 seconds to right click the buff icons for anything that isn't RF or BR whenever gear is swapped.
my evasion is so high i only insta rip sometimes
-----
Bug Fixes:
People were using cyclone for actual melee builds, so we nerfed it and made blade vortex. Also, we went ahead and made cyclone great for CoC casters while we were at it.
Last edited by Legatus1982 on May 1, 2014, 6:16:48 PM
"
Can you write us the fix to desync too? Thanks a lot!


I realize you are being sarcastic and I would love to help but my speciality is Optimization, Rendering, and UI, not Networking. :-/

I would gladly offer free advice / code to GGG but they probably don't want to go through the hassle of working with a programmer that is Bonded in a different country. (Can't blame them.)

If I didn't already work for a Fortune 50 company I would apply to GGG in a heart-beat.

Report Forum Post

Report Account:

Report Type

Additional Info