Jump to content
  • Sign Up

*Bug Reminder* Pets with Conditions


KehxD.6847

Recommended Posts

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...

(not my video, but well demonstrated)
Link to comment
Share on other sites

@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).

Link to comment
Share on other sites

@"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.
Link to comment
Share on other sites

@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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...