*Bug Reminder* Pets with Conditions — Guild Wars 2 Forums

*Bug Reminder* Pets with Conditions

Just a short reminder of something that should be fixed, or you need to remember for build crafting in PoF. Conditions of pets scale on their current condition damage. Since swapping (or merging) with a pet removes it from the game, the condition damage of that pet is reduced to 0. In other words, your pets conditions deal close to 0 as soon as you swap or merge with it. This will lead to either never swapping or merging with the pet, or always staying merged with it...

Visual Bug Representation (not my video, but well demonstrated)

Comments

  • Sedlina.1097Sedlina.1097 Member ✭✭✭

    So this is still an issue even after all those years. Sigh

  • Is this just with pets or also happen with weapon swap? If not how is this not an easy fix?? The more I read about ranger class the more it feels like the devs who worked on classes that got melded into ranger are just making bitter decisions out of spite. (no basis for this accusation, just how I view what I read)

  • @extremexhero.9178 said:
    Is this just with pets or also happen with weapon swap?

    Only with pets. Weapon swap does not change anything (except the stats on them) or remove any entities. Still with pets it is still very annoying... <.<
    In terms of why, even the devs admitted that the additional AI and its interactions with the ranger are difficult to handle (Like 2-3 years back?) and it took them very long to fix many things. And tbh they have come a looooong way. Honestly, they did a good job on ranger when they changed many of these pet things at about HoT launch (or a few months earlier?... maybe even a year... was some time ago xD).

  • Pets that don't have the 1000 condi damage don't deal a lot of conditions anyway so I see no reason they cannot just make a global variable for pet condition damage, so all pets have 1000 condi damage and the condis still tick for 1000 condi damage worth of damage even when you merge.

  • KehxD.6847KehxD.6847 Member ✭✭
    edited September 22, 2017

    @Heimskarl Ashfiend.9582 said:
    ... global variable ...

    While I agree this needs to be fixed (hence this post), it sadly won't be as easy as a global variable. (studying masters of computer science in case you wonder)
    Conditions currently are affixed to their specific entity. So the condition uses the entities condition damage at every tick. However, swapping pet destroys the entity. Regardless of wether you'd introduce a new global variable or not, it would not use that, but would throw some kind of "entity not found -> use 0 instead" exception. So the fixes I can see are either:
    1. keep invisible, non interactible entity lingering for the duration of the conditions (however, a dev stated they wanted to move away from those since they are buggy)
    2. use some kind of entity forwarding from one pet to the other. (change pointers or add entity that simply forwards a condition damage request) Would be more feasible, but would introduce weirdness when pets have different condition damage (or might since that gets stripped on swap). At least you would retain the base condition damage.
    3. strip and then reapply all the condis with their respective duration on the same enemy on swap. Again, it uses the new pets condi damage, but still better than nothing. (kind of how boon get on merge works, just with condis) This is probably the easiest change.
    4. Overhaul pet system and combine both pets into one entity which simply changes the pet's skin, name, appereance etc. However, this would be pretty stupid (costs a lot of time and probably introduces looooots of other shenanigangs)
    5. Change exception handling so that it uses some kind of global variable based on entity type. However, this would imply that every condition either needs to additionally save entity type or the system needs to remember ids of past entities in correspondence to their type.

  • @KehxD.6847 said:

    @Heimskarl Ashfiend.9582 said:
    ... global variable ...

    While I agree this needs to be fixed (hence this post), it sadly won't be as easy as a global variable. (studying masters of computer science in case you wonder)
    Conditions currently are affixed to their specific entity. So the condition uses the entities condition damage at every tick. However, swapping pet destroys the entity. Regardless of wether you'd introduce a new global variable or not, it would not use that, but would throw some kind of "entity not found -> use 0 instead" exception.

    So you can change , "entity not found -> use 0 instead" to "entity not found -> use global_variable instead". And point the damage calculation to the variable when calculating damage instead of to the pet stat table entry. You just need a number not tied to the pet's existance to be responsible for the calculation. It would not be game breaking for each pet to have 1000 condi damage and it would make it far easier to code. Yeah, some code is going to be needed to be changed, but it's not hard.

  • Lazze.9870Lazze.9870 Member ✭✭✭
    edited September 22, 2017

    I wonder if anet regrets making pets the ranger mechanic at this point. Obviously too much work for them.

©2010–2018 ArenaNet, LLC. All rights reserved. Guild Wars, Guild Wars 2, Heart of Thorns, Guild Wars 2: Path of Fire, ArenaNet, NCSOFT, the Interlocking NC Logo, and all associated logos and designs are trademarks or registered trademarks of NCSOFT Corporation. All other trademarks are the property of their respective owners.