Soulbeast Skills Issue — Guild Wars 2 Forums
Home Professions Ranger

Soulbeast Skills Issue

Alchimist.4738Alchimist.4738 Member ✭✭✭
edited September 12, 2017 in Ranger

One reason I’m hyped by Soulbeast is the possibility for Power based builds to resurface through stats increase when in Beastmode, and also damage increase traits and skills, such as Sic’ Em, but even with those buffs the Ranger remains among the classes having the worst weapon damage of the game, and I’m fine with having low weapon damage as long as we have several other sources of damage, the core Ranger only has one, its pet, and it’s not enough, while the Soulbeast has its borrowed skills from its pet when in Beastmode, plus its pet when not in Beastmode.

Those three additional skills, two of them being borrowed from the pet’s skills, are a more than a welcome addition for the Ranger, because it gives more gameplay flexibility, either through mobility skills, healing skills, stun breaks, so on and so forth, but the truth his apart from the Beast skills (F3) the others (F1 and F2) are more than underwhelming, therefore most of them will never be used in their current iteration; and to go back to Power builds a Soulbeast is not going to use those skills while waiting for its most powerful weapon skills to go off cooldowns, like Maul or Whirling Defense, and will be forced to use auto-attacks, and their low damage, which means Power Soulbeast are not going to be near top tier damage builds.

I understand why the skills borrowed from the pet are weaker than when the pet uses them, the reason being the pet has weaker stats than a Soulbeast in Beastmode, therefore those skills might be too powerful if used by a player, there is also the fact that those skills can be used twice rather quickly, once by the pet then by the player.
However they have been so nerfed that they are practically useless, if you look at a skill used by the pet, for instance Bite (Drake), it deals 525 base damage when the pet uses it, but it deals 173 base damage when the player uses it in Beastmode, that’s even lower than the 215 damage on the Greatsword first auto-attack, a weapon known for having terrible auto-attack damage. And this is just an example among tens of other terrible skills (once again F1 and F2), because most of the skill damage has been reduced by 3 or 4, another example Frenzied Attack (Moa) deals 1352 (damage) x 4 when used by the pet, and 265 (damage) x 5 when used by a player in Beastmode, for a final damage of 5408 against 1352, there are even some instances where the skills have been nerfed by 10: Kick (Rock Gazelle) deals 2430 (damage) x 2 when the pet uses it against 250 damage (and twice as less Vulnerability (goes from 6 to 3)) when the player uses it, or Swoop (Bird) goes from 1115 (pet) to 80 (beastmode), even though Swoop has a higher range in Beastmode, 1200 against 130, damage is still ridiculous though.

It’s mostly an issue on skills dealing pure damage, because the conditions and the boons applied are the same if a pet or a player use them, and the healing number on skills like Harmonic Cry seems to be fairly balanced, but some mobility skills need to also be looked at, if Charge (Rock Gazelle) as a higher range (1200) when used by a player in Beastmode than by the pet (900), some other skills didn’t received so much love, for instance Devourer Retreat’s (Devourer) range is 300 for Beastmode and 200 when used by the pet, and I’m sorry but a 300 range mobility skill has no use whatsoever, it should be 600 range, and even then it’d by lower than other blinks in the game like the Mesmer’s Blink (1200) and the Elementalist’s Ligthning Flash (900).

Soulbeast is going to be particularly tricky to balance in sPvP, because of its huge burst capacity, even though I’d argue that the burst comes from fairly easy to read skills such as Maul or Worldly Impact, therefore easy to dodge/interrupt. Having the F1 and F2 dealing as much damage as the pet when in Beastmode could potentially make Soulbeast too powerful in sPvP, even though I’d also argue than most F1 and F2 skills have a low range (130/150), which means they’ll be hard to use. Nevertheless those arguments don’t stand for PvE, and this is here that Power builds need the most love.

TL; DR: Beastmode skills borrowed from pets deal so little pure damage it's laughable, which makes the prospect of playing Power builds not so great because the core Ranger already suffers enough from low weapon damage. The reason for this ludicrous amount of damage is because F1 and F2 skills damage have been divided by 3 to 4, in some cases it goes as far as 10, when those skills should either deal slightly less damage, 25%/35% less, or should simply deal the same numbers as when a pet use them, therefore most skills need to be look at again (Devourer’s Retreat is one of them for another reason).

Comments

  • Skuzz.6580Skuzz.6580 Member ✭✭✭
    edited September 12, 2017

    Not only this, but did you also know the following:
    We all know that when using a pet skill while in Beastmode it uses your power and condition damage to calculate the damage, but (and here comes the kicker..) when you exit Beastmode all conditions that were applied in Beastmode through pet skills instead of still going with your condition damage use the pet's condition damage (which is so low, that it almost does no damage at all)..

  • @Skuzz.6580 said:
    Not only this, but did you also know the following:
    We all know that when using a pet skill while in Beastmode it uses your power and condition damage to calculate the damage, but (and here comes the kicker..) when you exit Beastmode all conditions that were applied in Beastmode through pet skills instead of still going with your condition damage use the pet's condition damage (which is so low, that it almost does no damage at all)..

    Well, it depends on the pet, since some have 1000 condi damage. So it's not all that bad going that direction. If you apply a condition with your pet then merge with it, the condition damage drops to zero since the pet is not there anymore and the condis do base damage. So that direction is the worse of the two for sure.

  • @Heimskarl Ashfiend.9582 said:

    @Skuzz.6580 said:
    Not only this, but did you also know the following:
    We all know that when using a pet skill while in Beastmode it uses your power and condition damage to calculate the damage, but (and here comes the kicker..) when you exit Beastmode all conditions that were applied in Beastmode through pet skills instead of still going with your condition damage use the pet's condition damage (which is so low, that it almost does no damage at all)..

    Well, it depends on the pet, since some have 1000 condi damage. So it's not all that bad going that direction. If you apply a condition with your pet then merge with it, the condition damage drops to zero since the pet is not there anymore and the condis do base damage. So that direction is the worse of the two for sure.

    It’s also an issue on core Ranger when you pet swap, I believe it’s the case since 2012, so it’s either hard to code or something that never has been looked at.

  • @Alchimist.4738 said:

    @Heimskarl Ashfiend.9582 said:

    @Skuzz.6580 said:
    Not only this, but did you also know the following:
    We all know that when using a pet skill while in Beastmode it uses your power and condition damage to calculate the damage, but (and here comes the kicker..) when you exit Beastmode all conditions that were applied in Beastmode through pet skills instead of still going with your condition damage use the pet's condition damage (which is so low, that it almost does no damage at all)..

    Well, it depends on the pet, since some have 1000 condi damage. So it's not all that bad going that direction. If you apply a condition with your pet then merge with it, the condition damage drops to zero since the pet is not there anymore and the condis do base damage. So that direction is the worse of the two for sure.

    It’s also an issue on core Ranger when you pet swap, I believe it’s the case since 2012, so it’s either hard to code or something that never has been looked at.

    I just think they don't actually care about the issue.

    How hard can it be to assign a pet specific condition damage value to a global variable when you swap pets or meld with one to make the damage calculation from?

  • Aleksander Suburb.4287Aleksander Suburb.4287 Member ✭✭
    edited September 14, 2017

    I wrote a whole thread about pet/beastmode skills improvements.
    The main points of it was:
    Add stealth to devourer retreat
    Add a teleport to feline bite
    Fix 1200 range of bird swoop (in game it was just 400)
    Finally change the porcine F2 mechanic which is really really useless
    Balance the beast skills. Some seems underwhelming
    Increase the Melee range of most pet skills or add short ap

    ArenaNets balancing concept: Never change a ruined system

  • Substance E.4852Substance E.4852 Member ✭✭✭✭

    @Heimskarl Ashfiend.9582 said:

    @Alchimist.4738 said:

    @Heimskarl Ashfiend.9582 said:

    @Skuzz.6580 said:
    Not only this, but did you also know the following:
    We all know that when using a pet skill while in Beastmode it uses your power and condition damage to calculate the damage, but (and here comes the kicker..) when you exit Beastmode all conditions that were applied in Beastmode through pet skills instead of still going with your condition damage use the pet's condition damage (which is so low, that it almost does no damage at all)..

    Well, it depends on the pet, since some have 1000 condi damage. So it's not all that bad going that direction. If you apply a condition with your pet then merge with it, the condition damage drops to zero since the pet is not there anymore and the condis do base damage. So that direction is the worse of the two for sure.

    It’s also an issue on core Ranger when you pet swap, I believe it’s the case since 2012, so it’s either hard to code or something that never has been looked at.

    I just think they don't actually care about the issue.

    How hard can it be to assign a pet specific condition damage value to a global variable when you swap pets or meld with one to make the damage calculation from?

    The problem is that the damage calculation is based on an entity in the cell. Swapping out the pet effectively causes the pet to no longer exist as far as the game is concerned. It's why you can't use smokescale's field and then blast it by swapping pets.

    I'm not sure how they made the cooldowns work but that was probably some independent variable added to the ranger itself. IE, you use pig forage and the game adds the skill cooldown to you, not the pet.

    Making it so the game calculates damage of conditions based on a table linked to the player that says "okay the lynx did it's f2, reference those bleeds from the feline setting" would probably require them to add a lot of code that doesn't exist in any form right now. Getting it to remember what boons the pet had before being swapped away would be even harder I'm sure.

    While this certainly bites the big one, I just don't see it ever being addressed to be honest.

  • @Substance E.4852 said:

    @Heimskarl Ashfiend.9582 said:

    @Alchimist.4738 said:

    @Heimskarl Ashfiend.9582 said:

    @Skuzz.6580 said:
    Not only this, but did you also know the following:
    We all know that when using a pet skill while in Beastmode it uses your power and condition damage to calculate the damage, but (and here comes the kicker..) when you exit Beastmode all conditions that were applied in Beastmode through pet skills instead of still going with your condition damage use the pet's condition damage (which is so low, that it almost does no damage at all)..

    Well, it depends on the pet, since some have 1000 condi damage. So it's not all that bad going that direction. If you apply a condition with your pet then merge with it, the condition damage drops to zero since the pet is not there anymore and the condis do base damage. So that direction is the worse of the two for sure.

    It’s also an issue on core Ranger when you pet swap, I believe it’s the case since 2012, so it’s either hard to code or something that never has been looked at.

    I just think they don't actually care about the issue.

    How hard can it be to assign a pet specific condition damage value to a global variable when you swap pets or meld with one to make the damage calculation from?

    The problem is that the damage calculation is based on an entity in the cell. Swapping out the pet effectively causes the pet to no longer exist as far as the game is concerned. It's why you can't use smokescale's field and then blast it by swapping pets.

    I'm not sure how they made the cooldowns work but that was probably some independent variable added to the ranger itself. IE, you use pig forage and the game adds the skill cooldown to you, not the pet.

    Making it so the game calculates damage of conditions based on a table linked to the player that says "okay the lynx did it's f2, reference those bleeds from the feline setting" would probably require them to add a lot of code that doesn't exist in any form right now. Getting it to remember what boons the pet had before being swapped away would be even harder I'm sure.

    While this certainly bites the big one, I just don't see it ever being addressed to be honest.

    I don't think it would be that difficult to do. The entry that contains the pet condition damage would be the value of a global variable, instead of a number entry. Then you have a table that lists all the condition damages for pet archetypes, it's a short list. 1. Felines = 1000, 2. Canines = 400, Spiders = 1000 etc etc etc. Then under the code for entering beastmode/melding, you have a line that updates the global variable with the pet type condition damage value from the table. Grade school programming class would teach how to do this as an entry to working with databases.

  • Substance E.4852Substance E.4852 Member ✭✭✭✭

    While probably true there's two main problems.

    Remember that the "based on entity in cell" system is likely universal much in the same way pets use the same crappy stop and go AI of npc's. Whether this is even something that can be bypassed probably heavily relies on how flexible the engine is inherently.

    While this may or may not be something that someone taking home a comfortable salary for coding should be capable of, I'm not convinced Anet finds it worth their time.

    It's not terribly hindering in pvp and pve rotations can just be adjusted to use the pet skills after you leave bm. If Anet cared that much about min/maxing our class they wouldn't have knocked us down from somewhere in the top 5 to number 11 with intentional nerfs and trait changes.

  • jcbroe.4329jcbroe.4329 Member ✭✭✭
    edited September 14, 2017

    I'm not sure that ANet's code is anything like that. As far as I can tell it's very very object-oriented with heavy reliance on inheritance.

    In the case of dealing damage, there is a damage algorithm that handles everything from the environment that gets fed into it, so with the case of condition ticks, the information has to be linked to the object in which it was originated from to account for changes (might stacks as an example).

    Because pet swapping removes the object from the environment, it removes the information being fed from the object into the algorithm, defaulting whatever residual damage that remains to base values.

    There really isn't a "good" way to solve it. You want the environment and objects to interact in the way they do, and you definitely don't want to start adding any exceptions to that.

    If anything, it's the way might stacking works that's the actual issue. If condition damage was a static value that was determined when applied and not retroactively updated by anything, you could have the conditions set their damage on application and not have it tied to any other object in the environment.

    The real change here would to just make conditions carry their own damage values, which are calced through the algorithm by the source but then no longer have to reference that source. Yes, only new outgoing conditions would have might affect them, but I think it's a small price to pay for efficiency (I suspect that WvW fights bog down party because of all of the source referencing mechanics like this have to do for a large amount of environment objects).

    Jroh | Former SOAC Ranger Podcaster | Top 100 PvP
    https://www.youtube.com/user/JRoeboat
    www.twitch.tv/itsJROH

  • @jcbroe.4329 said:
    I'm not sure that ANet's code is anything like that. As far as I can tell it's very very object-oriented with heavy reliance on inheritance.

    In the case of dealing damage, there is a damage algorithm that handles everything from the environment that gets fed into it, so with the case of condition ticks, the information has to be linked to the object in which it was originated from to account for changes (might stacks as an example).

    Because pet swapping removes the object from the environment, it removes the information being fed from the object into the algorithm, defaulting whatever residual damage that remains to base values.

    There really isn't a "good" way to solve it. You want the environment and objects to interact in the way they do, and you definitely don't want to start adding any exceptions to that.

    If anything, it's the way might stacking works that's the actual issue. If condition damage was a static value that was determined when applied and not retroactively updated by anything, you could have the conditions set their damage on application and not have it tied to any other object in the environment.

    The real change here would to just make conditions carry their own damage values, which are called through the algorithm by the source but then no longer have to reference that source. Yes, only new outgoing conditions would have might affect them, but I think it's a small price to pay for efficiency (I suspect that WvW fights bog down party because of all of the source referencing mechanics like this have to do a lot of environment objects).

    Probably some serious optimization to be had there. Just calculate the condition damage statically when it is applied rather than dynamically. It would save a lot of the CPU.