View Full Version : HP/END Regen Bug or Feature?
Figback65
05-20-2018, 08:59 PM
Hey all,
Having some issues and questions reguarding the default HP regen and endurance.
HP Regen, When you are in combat you get more than the default 2 hp per tick regen, it looks like its atleast 5hp regen and then also you can notice a 2 hp tick as well. This only happens in combat.
When you enter into combat your endurance regen drops.
and....
While sitting to regen hp, your hp regen scales up every minute after 1-2 minutes. At level 1 it goes from 2, 3, 6, 9, 12, 15, and stopped at 27. At level 50 it went above 100 and scaled by 8-16 per minute drasticly reducing the sit time for hp regen.
I did not see anything affect mana regen.
Latest build
RoF2
Character:RestRegenEnabled False
I played around with changing some ruleslike HPRegenMultiplier from 180 to 120 or other numbers and it didnt change anything.
Is it something in the client_mods.cpp around line 236 CalcHPRegen?
I would love to get rid of that combat boost hp regen and the sitting bug.
Thanks!
demonstar55
05-20-2018, 10:25 PM
HP/mana/end regens should match what the clients report when you have food (the UI actually lies about food/water having an affect, I wasn't getting 0 regen on live when I was starved and UI said I was getting 0) and you do not have a bard regen song on you (since the UI lies there too)
You can check with #showstats if the server matches the UI. (with the caveats above) if this isn't matching, there is something wrong. (there is also the possibility that the server and client's basedata do not match, you would have to make the client and server match in that case with export_client_files utility)
Figback65
05-20-2018, 10:52 PM
Exported and replaced base data and skills caps in client resources. Inventory Stats tab and#showstats both show exact same regen scaling every 1 minute on the dot.
I have food and water on. just a naked gnome warrior sitting all alone with no buffs. Also made a few more characters for testing purposes. All have the same situation.
I havent messed with any coding other than default bind locations. Rule value default is 1, zone is set to 1, all the regen stuff is valueset 1 defaults.
EDIT : Forgot to mention, that as soon as you stand up. It resets back to normal.
EDIT : Standing with attack on the regen matches inventory and #showstats and hp value is the same.
Standing, npc attacking me, attack on, regen value matches inventory and #showstats but actual hp total value is different.
and yes, i am hiting the update button on the #showstats window lol
Covering all bases here.
EDIT : And if you stay seated and let the hp regen multiply over at say level 1, while sitting, change your level with #level, the hp regen values and the total hp value between inventory window and #showstats gets all off sync.
Nightrider84
05-21-2018, 01:31 AM
You might try this Character:SoDClientUseSoDHPManaEnd under rule_values it fixes alot of the hp regen issues with the new clients. I had to enable it to fix a couple of issues on my server.
GRUMPY
05-21-2018, 01:50 AM
You might try this Character:SoDClientUseSoDHPManaEnd under rule_values it fixes alot of the hp regen issues with the new clients. I had to enable it to fix a couple of issues on my server.
I agree with Nightrider. I keep that enabled too, seems to help a lot.
Figback65
05-21-2018, 08:29 AM
I agree with Nightrider. I keep that enabled too, seems to help a lot.
Mine is already enabled by default. I will try to disable and see if it effects anything.
Figback65
05-21-2018, 10:01 AM
Changing Character:SoDClientUseSoDHPManaEnd did nothing so i put it back to true.
I also just built a fresh unmolested server, completely untouched binaries and database. updated via world.exe, ran server, logged in, made a character, NO gm status, hp regen still does same thing, after 1 minute it goes from 2 to 3, then 3 to 6, 9, 12, and so on lol
Thalix
05-21-2018, 10:59 AM
Can't repro this. Fresh install, Ubuntu, RoF2, default Ruleset. Works perfectly.
Figback65
05-21-2018, 11:41 AM
Can't repro this. Fresh install, Ubuntu, RoF2, default Ruleset. Works perfectly.
So when you sit down and stay sitting for about 5 minutes, your hp regen under the stats tab and the #showstats doesnt keep going up?
I am also not on linux though, using win10 and the x86 build
Figback65
05-21-2018, 12:11 PM
Ok next i tried a fresh copy of RoF2, still did the same thing. Although my version of RoF2 is from ez.wiki. So I used the fresh RoF2 and logged into EZserver and it does it there also. Made a lvl 1, sat down, hp regen went from 2,3,6,9,12, etc.
EDIT : Just the RoF2 download, NOT the custom file install.
EDIT : Also this is a compile build, not a windows installer. But if it happens to me on other servers......
Figback65
05-23-2018, 09:28 PM
Now have tried fresh copies of rof2, multiple different PCs, multiple servers. ALL do the same thing. I am really confused. Being on multiple servers shows its not my server/build and leads me to think its the client.
So to test futher, I logged in 2 accounts and did show stats on the other and watched the hp regen rise every minute through #showstats. to cancel out the client lying to me directly but it shows it client to client.
I don't get it, I cant believe I am the only person that has this issue with all the variables being covered.
Figback65
05-23-2018, 09:33 PM
https://1drv.ms/u/s!AlyrODn6uFfmjpF_SpC_NFzDlHqpxA
https://1drv.ms/u/s!AlyrODn6uFfmjpF_SpC_NFzDlHqpxA
after afk sitting about 7 minutes
Nightrider84
05-24-2018, 05:53 PM
Maybe it has something to do with rested hp regen? only thing I can think of instead of stopping at point X it keeps going on to infinity lol. Game might think you sitting and resting all the time or something.
Edit:1 So I think whats going on is there isn't really a standard Regen stat anymore. Its basically combat regen all the time. So what happens is you have a base regen of lets say 11 and you have 4000 hp's and your down to 500. What the game does is it increases it in small doses to help you regen back to your full health.
So the longer it takes to get to full health the more regen you get. I remember them introducing that early on into a few expansions because people were literally "warriors" sitting for FOREVER to get their hp back without a healer or bandages. You should notice as soon as you move your regen stat drops back to default.
Edit:2 So I just tested this on a 12 frog necro, And my base hp regen was 11 and it increased to 15,20,26 ect over time. So its increasing "based on my characters regen" by 1 point every minute or so.
Figback65
05-24-2018, 11:30 PM
Sweet, im glad im not alone and its actually something in the game and nobody knew? lol Question now is how to turn that feature off. Glad it isnt a bug. I just want base hp regen all the time like classic. I tried messing around with the function regenhp but no success yet, it keeps going up in increments.
if (IsSitting()) {
if (level >= 50) {
base++;
if (level >= 65)
base++;
}
if ((Timer::GetCurrentTime() - tmSitting) > 60000) {
if (!IsAffectedByBuffByGlobalGroup(GlobalGroup::Lich) ) {
auto tic_diff = std::min((Timer::GetCurrentTime() - tmSitting) / 60000, static_cast<uint32>(9));
if (tic_diff != 1) { // starts at 2 minutes
int tic_bonus = tic_diff * 1.5 * base; // default is * 1.5 *
if (m_pp.InnateSkills[InnateRegen] != InnateDisabled)
tic_bonus = tic_bonus * 1.2;
base = tic_bonus;
skip_innate = true;
} else if (m_pp.InnateSkills[InnateRegen] == InnateDisabled) { // no innate regen gets first tick
int tic_bonus = base * 1.5;
base = tic_bonus;
}
}
}
}
demonstar55
05-25-2018, 02:20 PM
The client doesn't have anyway to turn this off, so I didn't bother including a way to turn it off. If you don't want the sit bonus then you will have to either write up a way to disable it with a rule and submit a PR or just edit the code out. (This feature was added some time during GoD)
There is no way to make the client sync up with the server if you remove this feature, the client will always lie.
Figback65
05-25-2018, 05:03 PM
so then the only way to truely disable this is to use titanium?
gonna do some playing around and see.
Demonstar, is that code bracket i put in, the actual spot handling the regen thing im working on? Since you know more about it obviously lol
Figback65
05-25-2018, 06:17 PM
Ok that snippet is the code. I deleted it all out and the inventory stats tab still scales but the #showstats is sitting at 7hp. Client always lies like you say. I dunno how to put a rule in, i never bothered with making those before so i dunno if i would need a pull request on that. I imagine most people are fine with that scaling i just didnt see a point with all the extra regen. You got ooc regen and doubling hp regen lol.
Uleat
05-25-2018, 06:54 PM
Have you played with your expansion settings, by chance?
Some features are enabled/disabled in the client by setting expansion bits.
I don't know if that would apply here..was just curious if you had modified that value.
Figback65
05-25-2018, 07:40 PM
Have not yet Uleat. I will give that a shot right now.
Good call! Will update
Figback65
05-25-2018, 09:48 PM
I dropped expansions all the way down to 0 and the regen still goes up. It must be coded in client as well.
Any other ideas?
Atleast so far removing that code is keeping the serverside regen down. Not the clientside/replicated
The total hp seems to be working as well, it ticks on regen to the client side upped regen but then drops down to the actual value.
GRUMPY
05-25-2018, 10:42 PM
Character:RestRegenTimeToActivate ?
Figback65
05-26-2018, 02:45 PM
Character:RestRegenTimeToActivate ?
i assume that is ooc(OutOfCombat) regen because there is a restregen for non raid set to 30 and a raidrestregen set to 300 which i assume is the 5min marker for ooc raid regen to kick in.
Eitherway i have.....
Character:RestRegenPercent - 0 - Set to >0 to enable rest state bonus HP and mana regen.
...to remove all ooc and any type of none classical speed up regens
GRUMPY
05-26-2018, 02:57 PM
i assume that is ooc(OutOfCombat) regen because there is a restregen for non raid set to 30 and a raidrestregen set to 300 which i assume is the 5min marker for ooc raid regen to kick in.
Eitherway i have.....
Character:RestRegenPercent - 0 - Set to >0 to enable rest state bonus HP and mana regen.
...to remove all ooc and any type of none classical speed up regens
Yes, I have that disabled on my server too, by my own preference.
Figback65
05-26-2018, 03:06 PM
Yes, I have that disabled on my server too, by my own preference.
Just to double double check, i retested all the regens in the rules values.
changed...
Character:RestRegenRaidTimeToActivate to 30000
Character:RestRegenTimeToActivate to 30000
went to a raid zone and still no change, hp regen still increased while sitting
altered Character:HPRegenMultiplier to 25 from 100 and it reduced the amount of regen from the base but the hp regen value still increased.
So far nothing i can find will change the visual value of hp regen from increasing, but, have fooled it on serverside to not calculate. It must be coded into client like demonstar mentioned and they just coded the server to match. Only thing i see to do is keep it fooled and when the tick updates it will just have to double tick to the serverside value i am wanting.
GRUMPY
05-26-2018, 03:16 PM
but the hp regen value still increased.
Ok, haha, I'm just clarifying here, are you trying to halt ALL hp regen period ?
I mean not just the ooc regen, but regular HP regen when sitting ?
Figback65
05-26-2018, 04:10 PM
Ok, haha, I'm just clarifying here, are you trying to halt ALL hp regen period ?
I mean not just the ooc regen, but regular HP regen when sitting ?
No, im not trying to halt all hp regen. I am trying to only keep the natural base regen and the non scaling sitting regen. Basically the classic method of regen where its 1 standing regen and 2 sitting regen at level 1 and it doesnt scale the longer you sit.
I have accomplished this now and cancelled out the scaling sitting hp regen. Its just the client ticks twice now it ghost ticks up say 96hp then autocorrect ticks down to 8hp regen for a sitting level 50 gnome warrior.
From base_data table. The 7 is the standing hp regen at level 50 warrior, when you sit you gain 1 extra hp regen to total to 8.
50 1 1500 0 900 7 13 5 0 4.5
Reference:
Level 01-19: 2 sitting, 1 feigned, 1 standing
Level 20-49: 3 sitting, 1 feigned, 1 standing
Level 50: 4 sitting, 1 feigned, 1 standing
So now all i need to do is fix the entries in base data for the regen value i need for my server. Just cant get rid of that ghost tick yet or maybe forever unless i use titanium.
GRUMPY
05-26-2018, 04:28 PM
Oh, ok, I see. I assume you kept this in mind too ?
Character:BaseHPRegenBonusRaces (4352 by default)
Figback65
05-26-2018, 04:33 PM
Oh, ok, I see. I assume you kept this in mind too ?
Character:BaseHPRegenBonusRaces (4352 by default)
Yes, I am leaving that default for the troll and iksar regen since that is a more classical setting.
demonstar55
05-26-2018, 08:21 PM
Oh, ok, I see. I assume you kept this in mind too ?
Character:BaseHPRegenBonusRaces (4352 by default)
That doesn't do anything anymore, need to clean up code still ...
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.