Health Recovery (Softcaps)

Maintenance for the week of March 24:
• PC/Mac: NA and EU megaservers for patch maintenance – March 24, 4:00AM EDT (8:00 UTC) - 10:00AM EDT (14:00 UTC)
• Xbox: NA and EU megaservers for patch maintenance – March 26, 6:00AM EDT (10:00 UTC) - 12:00PM EDT (16:00 UTC)
• Playstation®: NA and EU megaservers for patch maintenance – March 26, 6:00AM EDT (10:00 UTC) - 12:00PM EDT (16:00 UTC)
Sadae
Sadae
✭✭✭
I first posted about this in the Customer Support forum but received no helpful reply. I was wondering if anybody here knows what's up.

Why does my noob level 15 Wood Elf Nightblade get such a high softcap for Health Recovery of 72 while my VR9 Nord Dragonknight get shafted with such a low softcap for Health Recovery of 50? Is there supposed to be some logic to this or is my Dragonknight bugged? (My Dragonknight was once a werewolf but got rid of it, and neither one is currently a werewolf or vampire.)

Buffless character stats in a PvE zone:
eso2014-07-2323-53-24-91.jpg
eso2014-07-2400-04-46-13.jpg
  • nerevarine1138
    nerevarine1138
    ✭✭✭✭✭
    ✭✭✭✭✭
    That could be a display bug, since you're using an addon. At any rate, health recovery is usually the lowest of the three recovery stats on my characters. I'm not surprised that the softcap would be lower than magicka/stamina.
    ----
    Murray?
  • Sadae
    Sadae
    ✭✭✭
    The addon only displays the data it receives from the server, so if there's a bug then it's that the server is returning bad data. I could try stacking tons of Health Recovery on my Wood Elf to test it I suppose. I may try that later.

    And why should the Health recovery softcap be lower than Magicka/Stamina? If anything it should be higher? What, are characters going to regen faster then they're getting hit?! lol, I don't think so.
  • nerevarine1138
    nerevarine1138
    ✭✭✭✭✭
    ✭✭✭✭✭
    Sadae wrote: »
    The addon only displays the data it receives from the server, so if there's a bug then it's that the server is returning bad data. I could try stacking tons of Health Recovery on my Wood Elf to test it I suppose. I may try that later.

    And why should the Health recovery softcap be lower than Magicka/Stamina? If anything it should be higher? What, are characters going to regen faster then they're getting hit?! lol, I don't think so.

    That's assuming your addon isn't bugged. And yes, health recovery could be the most exploitable of the three, so that's exactly why it's capped.
    ----
    Murray?
  • MeowGinger
    MeowGinger
    ✭✭✭
    I use both of those addons (SoftCapInfo for combat recovery and HarvensExtendedStats for idle recovery) as well.

    I can't answer your question, but I just checked recovery on a couple of my characters as well. I see the same.

    My VR10's recovery softcaps match your VR9's perfectly -- 50 health recovery in combat, 200 health recovery idle.

    My level 7 character (closest I have to level 15) has a softcap of 68 health recovery in combat, compared to 14 mag/stam, and a softcap of 274 health recovery idle, compared to 28 mag/stam.

    Maybe the addons (both of them...?) are incorrect... Or maybe health recovery softcaps are bugged; someone had health recovery softcapped at a low amount a few months ago.
    Edited by MeowGinger on July 26, 2014 8:19PM
  • Sadae
    Sadae
    ✭✭✭
    And yes, health recovery could be the most exploitable of the three, so that's exactly why it's capped.
    Exploitable?! You care to explain how?!

    "Hey you! Stop hitting me with those 1k+ damage attacks for a minute will you. I'm trying to get my health back with my almighty 70 HP every two seconds here!"
    Edited by Sadae on July 26, 2014 9:03PM
  • Sadae
    Sadae
    ✭✭✭
    Oh wow! So I went to Cryodiil to see what the softcaps are there, and Health Recovery is HIGHER than Magicka/Stamina here! 86 vs 76/76. I really wish a ZOS employee could just come explain the logic to whatever they're doing...

    (Note, I crafted a new armor set since the previous pic for this character, but the softcaps shouldn't change.)
    eso2014-07-2617-05-58-23.jpg
  • elwhy
    elwhy
    ✭✭✭
    Cyrodiil does have some passive perks for scrolls, etc. So that's probably why you're health regen is a little higher.

    I commented on your other thread and have been looking for some explanation. I'm pretty sure it's not the add-ons, I see the same numbers. I know occasionally it bugs out, but it's more your actual numbers not the soft cap values and if you just reopen your stats page a few times it'll get consistent and correct numbers.
  • nerevarine1138
    nerevarine1138
    ✭✭✭✭✭
    ✭✭✭✭✭
    I'm still betting there's an issue with your addon. You do know that the people who program those can code them incorrectly, right?

    Have you tried disabling that addon to see if you still show as overcharged on your VR character when not in Cyrodiil? Or would you like to continue being overly hostile to everyone else?
    ----
    Murray?
  • elwhy
    elwhy
    ✭✭✭
    I'm still betting there's an issue with your addon. You do know that the people who program those can code them incorrectly, right?

    Have you tried disabling that addon to see if you still show as overcharged on your VR character when not in Cyrodiil? Or would you like to continue being overly hostile to everyone else?

    Who's being overly hostile? I just checked, and nobody was hostile, maybe they didn't sugar coat what they said, but no hostility.

    Of course people can incorrectly code things, but these are also open, community projects and so if they were incorrectly coded everybody would tell the developer and he would fix it or people would stop using it.

    Maybe it is coded wrong and nobody had noticed yet, and so your suggestion would be a decent way to test it. But I wouldn't be surprised if it's right and for some idiotic reason Zenimax decided to set it up like this. There's a little hostility, but towards Zenimax for doing so many idiotic things with a great game :#
  • Sadae
    Sadae
    ✭✭✭
    I'm still betting there's an issue with your addon. You do know that the people who program those can code them incorrectly, right?
    As I've already said, the addon simply retrieves the data from the server and displays it. It's so simple there's no room for error. Here is the code for the entire SoftcapInfo addon:
    Spoiler
    function ZO_Stats:AddStatRow(statType1, statType2)
    --use my controll instead of the default one
    local row = self:CreateControlFromVirtual("StatsRow", "SCI_StatsRow")
    self.statEntries[statType1] = row:GetNamedChild("Stat1")
    self:SetUpStat(self.statEntries[statType1], statType1)
    self.statEntries[statType2] = row:GetNamedChild("Stat2")
    self:SetUpStat(self.statEntries[statType2], statType2)
    end

    local function GetValue(self)
    local statType = self.value.statType
    local value = GetPlayerStat(self.value.statType)

    return value
    end

    local function GetDisplayValue(self)
    local value = self:GetValue()
    local statType = self.value.statType

    if(statType == STAT_CRITICAL_STRIKE or statType == STAT_SPELL_CRITICAL) then
    return zo_strformat(SI_STAT_VALUE_PERCENT, (value / 10))
    else
    return value
    end
    end

    local function UpdateStatValue(self)
    if not self:IsHidden() then
    local value = self:GetValue()
    local displayValue = self:GetDisplayValue()
    local softCap = GetStatSoftCap(self.value.statType)
    local difference = GetPlayerStat(self.value.statType,
    STAT_BONUS_OPTION_APPLY_BONUS,
    STAT_SOFT_CAP_OPTION_DONT_APPLY_SOFT_CAP) - value

    if self.pendingBonusAmount > 0 then
    self.pendingBonus:SetHidden(false)
    self.pendingBonus:SetText(zo_strformat(SI_STAT_PENDING_BONUS_FORMAT, self.pendingBonusAmount))
    else
    self.pendingBonus:SetHidden(true)
    end

    self.value:SetText(displayValue)

    if softCap then
    self.ratio:SetHidden(false)
    self.softcap:SetText(softCap)
    self.softcap:SetColor(STAT_DIMINISHING_RETURNS_COLOR:UnpackRGBA())
    if difference > 0 then
    self.malus:SetText("+".. difference)
    self.malus:SetColor(1,0.1,0.1,1)
    else
    self.malus:SetText("")
    end
    else
    self.ratio:SetHidden(true)
    end

    if(softCap == nil or value <= softCap) then
    self.name:SetColor(ZO_NORMAL_TEXT:UnpackRGBA())
    self.value:SetColor(ZO_SELECTED_TEXT:UnpackRGBA())
    self.diminishingReturns:SetHidden(true)
    else
    self.name:SetColor(STAT_DIMINISHING_RETURNS_COLOR:UnpackRGBA())
    self.value:SetColor(STAT_DIMINISHING_RETURNS_COLOR:UnpackRGBA())
    self.diminishingReturns:SetHidden(false)
    end
    end
    end

    function ZO_Stats:SetUpStat(statEntry, statType)
    statEntry.name:SetText(GetString("SI_DERIVEDSTATS", statType))
    statEntry.value.statType = statType
    statEntry.pendingBonusAmount = 0

    statEntry.UpdateStatValue = UpdateStatValue
    statEntry.GetDisplayValue = GetDisplayValue
    statEntry.GetValue = GetValue

    statEntry:UpdateStatValue()
    statEntry:RegisterForEvent(EVENT_STATS_UPDATED, function(_, unitTag) if unitTag == "player" then statEntry:UpdateStatValue() end end)
    statEntry:SetHandler("OnEffectivelyShown", function() statEntry:UpdateStatValue() end)
    end
    And for HarvensExtendedStats:
    Spoiler
    local missingParameter = {}

    local AddStatRowOrg = ZO_Stats.AddStatRow
    ZO_Stats.AddStatRow = function(...)
    missingParameter = (select(1,...))
    local ret = AddStatRowOrg(...)
    ZO_Stats.AddStatRow = AddStatRowOrg
    return ret
    end

    local CreateAttributesSectionOrg = ZO_Stats.CreateAttributesSection
    ZO_Stats.CreateAttributesSection = function(...)
    local ret = CreateAttributesSectionOrg(...)
    ZO_Stats.SetNextControlPadding(missingParameter,20)
    ZO_Stats.AddStatRow(missingParameter, STAT_ATTACK_POWER, STAT_HEALTH_REGEN_IDLE)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter, STAT_SPELL_PENETRATION, STAT_MAGICKA_REGEN_IDLE)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter, STAT_PHYSICAL_PENETRATION, STAT_STAMINA_REGEN_IDLE)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_SPELL_MITIGATION,STAT_MITIGATION)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_HEALING_TAKEN, STAT_CRITICAL_RESISTANCE)

    ZO_Stats.SetNextControlPadding(missingParameter,20)
    ZO_Stats.AddStatRow(missingParameter,STAT_DAMAGE_RESIST_COLD,STAT_DAMAGE_RESIST_DISEASE)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_DAMAGE_RESIST_DROWN,STAT_DAMAGE_RESIST_EARTH)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_DAMAGE_RESIST_FIRE,STAT_DAMAGE_RESIST_GENERIC)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_DAMAGE_RESIST_MAGIC,STAT_DAMAGE_RESIST_OBLIVION)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_DAMAGE_RESIST_PHYSICAL,STAT_DAMAGE_RESIST_POISON)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_DAMAGE_RESIST_SHOCK,STAT_NONE)

    ZO_Stats.SetNextControlPadding(missingParameter,20)
    ZO_Stats.AddStatRow(missingParameter,STAT_DODGE,STAT_BLOCK)
    ZO_Stats.SetNextControlPadding(missingParameter,0)
    ZO_Stats.AddStatRow(missingParameter,STAT_PARRY,STAT_MISS)
    return ret
    end
    Have you tried disabling that addon to see if you still show as overcharged on your VR character when not in Cyrodiil? Or would you like to continue being overly hostile to everyone else?
    Yes. And who's being hostile?!
    Edited by Sadae on July 27, 2014 1:51AM
Sign In or Register to comment.