Couple of high impact 5.0 Editor bugs

There is a great post here listing lot of known bugs, but I’d focus on some of the new systems in 5.0 (lot of them aren’t listed above).
This obviously isn’t a full list, but its ones that can really cause certain systems unusable, or deter new users. For sure I missed some high impact ones, would be happy to update if more are found.

  1. UnitAbilityRemove function may not remove an ability. In order for it to work you need to remove abilities in reverse order compared to the order you’ve added them in with UnitAbilityAdd. IIRC something like 32 is max amount, so if you haven’t been adding/removing in the above order problems will occur (when attempting to add more abilities than max it will either fail or potentially cause a crash).

  2. Data Table Instance API has a high chance of causing a crash to specific players. It seems to happen if one player played any game where instances are set, and then joins another game where you create a new data table instance. It will have different values for different players, because probably some internal value isn’t reset properly. Since players have some value different, it will cause a desync.

  3. PlayerRemoveResponse function doesn’t work at all.

  4. PlayerClearResponse can be a good replacement for removing all responses of certain type, but trigger GUI doesn’t have a preset for unit birth type. However checking PlayerResponse.galaxy it does have it defined: const int c_classIdCPlayerResponseUnitBirth = 4; I’ve tested it in pure galaxy and appears to work fine.

  5. Ability level accumulator is broken in certain fields. One known example is Chance and Missing Chance field in i.e. dmg response. It will only take first level’s value and ignore the rest (this also means some of the war3 mod is bugged).

  6. Ability level accumulator is broken with $AccumulatedValue$ text tag (i.e. trying to get accumulated value in damage field that uses abil level accumulator); weird thing is that damage itself is correct, but the text is wrong (also just puts first levels value).

  7. [GUI] Arithmetic accumulator’s Parameters dissapear in GUI sometimes (i.e. add 2 parameters, and then add accumulator to any of them, and other param will disappear).

  8. Behavior accumulator types Damage Modify Remaining and Damage Modify Limit are inverted.

  9. AdditiveAttackSpeedFactor behavior field isn’t updated automatically if used with accumulators (if accumulator value changes, speed factor won’t unless you re-apply the behavior).

  10. RunAccumulators text tag requires a unit to be selected in order to work, which makes sense since most of them are related to units, however it also doesn’t work for CAccumulatorTrackedUnitCount when using it as a global unit tracker rather than unit tracker. The unit selected really isn’t relevant in this case since result is always same.

  11. Data collections @ character breaks Expression view in requirements (is just removed from it).

  12. Attack Modifier (behavior) damage multipliers don’t work at all/properly if DamageModifierSource is set to anything in damage effect (i.e. caster).

  13. Missing Chance field in damage response does manage to always nullify the damage, but it doesn’t always prevent Pre/Post impact effect in attack modifier behavior (I believe the same holds true if you hardcode apply behavior effect in weapon). It fails to do so if the i.e. debuff is attempted to be applied in same game tick when attack happens: For example using effects to move onto next tick (CP or LM type effects) and then use apply behavior it works.

  14. PreImpactEffect in attack modifier doesn’t manage to update the damage before main attack lands. So lets say it calls an effect to apply a buff that modifies damage dealt, it won’t be taken into the account until next attack, even if you put dmg modifier source to caster.

  15. Is Heal flag in ModifyUnit effect can cause a crash even in local games. It happens if a reference to caster is lost. A way to replicate this would be caster applying a behavior that calls some modify unit effect by any means, with is heal flag on. If caster of that behavior is removed from game, and the behavior executed that effect on source unit, game crashes.

  16. In upgrades, Add/Subtract Base Multiply doesn’t appear to calculate properly always.

  17. If using Attribute Factor on damage effect, and then also using new Fraction field, the result is very confusing. One would expect original damage to be adjusted based on targets attribute and then fraction applied (well order doesn’t matter), but instead some weird results happen. For example assume 146 damage amount, fraction 0.5 and attribute factor that sets it to do 70% of damage. It appears to do this: (146 * 0.5) - (146 * 0.3), which becomes a problem very fast with lower fractions.

  18. There are many weird things with damage response when Location is set to Attacker. Older bug is the fact Fatal doesn’t work. When you attempt to transfer damage onto effect tree and pick HandledValue="Remaining" it still transfers Original. When set to Defender you can get Remaining but you must put priority to be lower than where your damage reductions are (so for example priority=-1 works). Sadly for Attacker it just doesn’t. Its kinda annoying that its so difficult to get damage dealt in data, it should be a simple thing :confused: . You can apply a 2nd dmg response to target thats actually defensive and get remaining that way, but eh doesn’t sound like an ideal approach compared to just using triggers with damage taken event…

Hi thanks for according some time to my list. I see that you checked for triggers, and some of the data I haven’t tested, I’m thankful to that, team work works for me!

Just about your list, some of the bugs you have put are already in my list such as:

  • Your 9 is my 47
  • 15 is my 95
  • 16 is my 9

About your 18, I’m glad you brought it. I kept living with it (I knew this was a bug), I completly forgot to bring it up, good call. Btw there’s a work around for it, if you’re ever interested.

I’ll link this post on my own bug thread, thank you for reading me as well!

Thanks for linking, its good to have everything in one place :+1: . Hopefully one day blizzard addresses some of them
There are 2 ways to get “real” instead of attempted damage in data AFAIK. First is the one I’ve mentioned in my OP in 18). Second way is using Damaged accumulator after damage effect(s) in effect tree which will store that total amount.
The issue with first approach is that it adds unnecessary complexity and makes it very difficult to maintain longterm.
Issue with second approach is the fact that accumulator needs to be put directly inside weapon/ability effect tree, which means any type of buff/debuff type effect is off the table cuz its “hardcoded”, but its something. Sadly none of these EffectAmount subtype accumulators work with damage response handled effect, only inherited.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.