Question: stacking

Is there a way to make an ability stack properly without an "infinite loop"? The way I managed to make it work, is if I put "stackingLimit -1" to not have any limit, but then, the aura just never stop stacking, even if there is one source.

Let's take the Energy Weapon Cooldown from the Halcyon.

I know the Parent apply the buff each 2.5sec to the units in range, but is there a way to make the buff from the same parent to not stack, but the buff from different parents stack?

Because right now, each 2.5sec the buff is applied and after a couple of minutes I get ridiculous numbers.

6,281 views 8 replies
Reply #1 Top

Entrenchment or vanilla Sins?

 

:fox:

Reply #2 Top

Entrenchment 1.03, there is these 4 lines;

onReapplyDuplicateType "PrioritizeOldBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE

Reply #3 Top

first, in order to have stacking work properly, you need to set that last line to 'TRUE'. Then, you change the stackingLimit line to the amount you want (we'll say 50). Now, you change the first line from 'PrioritizeOldBuffs' to 'PrioritizeNewBuffs'.

There are other options for buff prioritization values for that line, but those are some basic ones.

Also, after looking at the BuffEnergyWeapon and BuffEnergyWeaponSelf (the buffs used by the Halcyon's Energy Aura ability), I am not sure why you would need that ability to stack. It's a passive, so no matter what as long as something is within range of the Halcyon's ability (w/in 8000 arbitrary game units), it will have the effects of the cooldown. So why do you want this ability to stack?

Ah, NVM, I see you used that ability as the example. Well, what you probably want is for it to PrioritizeNewBuffs, and just set the stacking limit value to a finite number.

However, many abilities that stack have an infinite stack or they do not stack.

Reply #4 Top

Setting the stackingLimit to a big number made the trick.

I can see why allowFirstSpawnerToStack FALSE must be that way. It's to make sure the parent of the buff doesn't make the reapplying stack with itself.

But for some strange reason, the game doesn't like "stackingLimit -1" with "allowFirstSpawnerToStack FALSE", causes a miniDump.

Reply #5 Top

a negative stack limit removes the stack, but it dosn't work - minidumps :annoyed:

Reply #6 Top

no, actually, negative values are treated as infinite values.

For example, if I set the expiryTime of a frigate spawned by an ability to -1, the frigate will only be destroyed if it takes enough damage to destroy it.

Reply #7 Top

What I don't understand is why the game accept a near infinite value, but not infinite. for the stackLimit.

There is no minidumps if allowFirstSpawnerToStack is set to TRUE, or is the line isn't there.

It will only dump if it's set to FALSE.

Reply #8 Top

probably because of the fact that if it stacks indefinitely and if it is set to FALSE, it is receiving two OPPOSITE commands.

Also, -1 is equated to infinity within the game engine (in many games -1=infinity).