EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Adjust base regeneration rates of players (https://www.eqemulator.org/forums/showthread.php?t=42615)

strugglegenerator 09-18-2019 07:53 AM

Adjust base regeneration rates of players
 
I just noticed that my characters are regenerating +8hp per tick standing at level 1. I'm trying to make this classic, which should be +1hp regen per tick while standing for normal races.

I've adjusted everything I can in the rule_values table, but nothing seems to affect this. From my research here on the forums, the +8hp per tick was hard coded into the source and the only way to adjust it is if I compile a server myself.

Is this true?

If this is true, what would be a good workaround to get the regen to be normal again?

Maze_EQ 09-18-2019 11:40 AM

Edit: You said standing.

They shouldn't regen more than their stat windows shows. Are you sure it's not regenning 9 then minus 9?

strugglegenerator 09-18-2019 11:55 AM

Thanks Maze_EQ. Players are regenerating +8hp per tick. It's not regenerating +8 and then subtracting -8.

Huppy 09-18-2019 12:15 PM

Have you checked out the fast_hp_regen column in the zone table ? (set at 180 by default).

strugglegenerator 09-18-2019 12:35 PM

Thanks Huppy. That's a great suggestion that I had already tried. I set the fast_regen_hp column in the zone table from 180 to 0 and it didn't make any difference.

strugglegenerator 09-18-2019 07:39 PM

I figured something out. The hp regen increases every 10 levels.

lvl 01 = 2hp regen
lvl 10 = 3hp regen
lvl 20 = 4hp regen
lvl 30 = 5hp regen
lvl 40 = 6hp regen
lvl 50 = 7hp regen
lvl 60 = 8hp regen

I'd love to know how to change this. I am trying to get 1hp regen permanently, regardless of level.

Also I noticed something else that's very strange. If I sit down, my hp goes to 100% after 2 seconds. Even on my level 60 Enchanter, he has 1600hp and he will regen from 100hp to 1600hp 2 seconds after he sits down.

I am beyond baffled lol

Huppy 09-18-2019 08:15 PM

Have you got this enabled in rules ? Character:RestRegenEnabled

strugglegenerator 09-18-2019 08:27 PM

Character:RestRegenEnabled is set to false

jaspen 09-18-2019 09:45 PM

You said you set regen to 0 that is why your regen rate is through the roof when sitting. That number tells how fast a character regens from 0 to 100 percent in seconds so you set it to take 0 seconds to full regen. It is set to 180 or 3 minutes to regen to full by default.

It is possible the hp regen rate when standing is client base, if not, I assume this is something that would be set in the source files. Could try first searching for iksar and troll regen rates and maybe that will be the same file that sets everyone else.

EDIT: Use a good program like grepwin to search all files for keywords.

strugglegenerator 09-19-2019 08:52 AM

Looks like the settings don't always stick, even after restarting the server.

I set Character:RestRegenEnabled to false, restarted the server and nothing had changed. Tried it again this morning after another restart, and now the super fast regen has stopped.

Still stuck with the base hp regen scaling every 10 levels, so I'm trying to find a way around that now.

My server wasn't compiled from source, so I can't adjust anything in the source files. Client side I cannot find anything either (I used the Grepwin tool as you suggested, Jaspen).

strugglegenerator 09-19-2019 09:09 AM

Ok so I just found something even more disturbing. The client and the server are reporting completely different HP values.

When I stand still at lvl 60 and look at my hit points, I am regenerating +9hp per tick. I can let this go for a few minutes and gain some hp. Great.

However, if I actually target myself, my HP resets back down to it's original hp. So I am, in fact, not regenerating at all.

As a test, I took myself from 1600hp to 100hp and let my character stand still until I regenerated to full hp. Then I clicked my character and my HP refreshed back down to 100hp. Looks like regeneration doesn't work AT ALL and the client is lying about the actual rate of regeneration.

This is extremely confusing.

jaspen 09-19-2019 09:15 AM

I think you need to build from scratch and slowly import, or recreate, your settings again. I have seen that before where the client and server are out of sync. If you look in the database it will show you the lower value as that is what the server thinks. The client calculates things different and will display a different value until you click yourself and force an update. If you have the admin tools up you will see the numbers differently.

strugglegenerator 09-19-2019 09:20 AM

I did not build this server, it was a compile from the Akka pack. I just never noticed the incorrect HP values until now. The server sees the damage correctly, but the client does the regenerating. Unfortunately they never sync.

Huppy 09-19-2019 09:36 AM

Depending what client you're using, have you got this set in rules ? Character:SoDClientUseSoDHPManaEnd

Whatever is causing your issues, is more of an isolated incidence with your server. Most of us are using the same PEQ database and code that you have, but I don't have these particular problems, so I'm not sure what's causing it all on your end. I wish I knew, so we could help you address them.

strugglegenerator 09-19-2019 09:43 AM

I have tried setting Character:SoDClientUseSoDHPManaEnd to true and to false, but it has no effect.

I am using the Titanium client.

Huppy 09-19-2019 09:52 AM

This is why Jaspen was throwing a hint, the problems just maybe deeper than you expect. If any changes you are making, have no effect, then something could very well be bugged in database, etc. Seen it happen many times. Even one little typo in the code or DB can screw a server right up. I've saw issues with people who have edited a single item, and the client kept crashing. Troubleshooting is a pita, since it could be a 100 different things.

jaspen 09-19-2019 10:04 AM

There are several things going on here. First he mentions the standing HP regens. Those are normal and accurate to live. 2 base regen and plus 1 every 10 levels for non iksar and trolls. There isn't a problem there. I don't know if these can be modified or not. If they can be, there is a good chance it is in the source in which he has no option but to search, modify and build the source files. Knowing this is intended, you now know the specific things to search for or ask for. Feel free to check out discord.

Sitting regen I believe he has discovered and corrected after rebooting. You either disable the OOC regen or modify the three tables in zone to match the rate you want.

If there are major sync issues where the client health drops a good bit after selecting, that tells me there is a good chance he will have to rebuild from scratch. I have experienced this before. My client would drop about 900 hp after selecting myself.

strugglegenerator 09-19-2019 10:17 AM

Thank you for the help everyone.

I went back to a database I backed up a few days ago and the client/server are syncing correctly. One of the changes I made in the HP/Regen must have caused some sort of bug.

My server will have to be stuck with the non-classic (live-like) hp regen rates since I do not have the skill level to compile my own server and edit the source.

OOC regen doesn't exist in my database for PC's, only for NPC's.

I'm now afraid to mess with the HP/Regen fields, since they seem to corrupt the server =p

What a whirlwind this has been haha. Thank you guys for all of your help, I appreciate the support.

jaspen 09-19-2019 10:33 AM

Sometimes what causes issues, isn't what you think is causing the issues. Often we change more things than we remember and assume it is the last thing we did. Also, when playing with the database you could have easily unintentionally change something that you are unaware of. Sometimes we forget to restart the server or use one of the many commands to reload changes and think a change we made did nothing.

Just back your database up, take a breather, then fool around in a control manner. Take notes of what you do and and test small changes at a time.
Ensure you do the proper process to reload the new changes. Don't let fear stop you from learning. We all fuck it up in the beginning and make a mess of everything.

Huppy 09-19-2019 10:46 AM

Quote:

Originally Posted by jaspen (Post 263543)
We all fuck it up in the beginning and make a mess of everything.

Lol, in the beginning ? after 9 nine years, I'm still doing that before morning coffee ;)

struggle - I know it's a pita when someone is trying to get that "classic" back into the EQ, many have been down this road over the years. Unfortunately, the current project source code will never go that route, by default, leaving it up to those who desire, to learn how to achieve those goals on their own. Some have spent 3-5 years looking for solutions, but could of used that time to learn and come up with their own. If you have the patience, anything is possible. Don't give up!

Thalix 09-19-2019 02:37 PM

Quote:

Originally Posted by Huppy (Post 263544)
Lol, in the beginning ? after 9 nine years, I'm still doing that before morning coffee ;)

struggle - I know it's a pita when someone is trying to get that "classic" back into the EQ, many have been down this road over the years. Unfortunately, the current project source code will never go that route, by default, leaving it up to those who desire, to learn how to achieve those goals on their own. Some have spent 3-5 years looking for solutions, but could of used that time to learn and come up with their own. If you have the patience, anything is possible. Don't give up!

I would say it is not that hard to change:
https://github.com/EQEmu/Server/blob...lient_mods.cpp

Code:

        bool sitting = IsSitting();
        bool feigned = GetFeigned();
        int level = GetLevel();
        bool bonus = GetPlayerRaceBit(GetBaseRace()) & RuleI(Character, BaseHPRegenBonusRaces);
        uint8 multiplier1 = bonus ? 2 : 1;
        int32 hp = 0;
        //these calculations should match up with the info from Monkly Business, which was last updated ~05/2008: http://www.monkly-business.net/index.php?pageid=abilities
        if (level < 51) {
                if (sitting) {
                        if (level < 20) {
                                hp += 2 * multiplier1;
                        }
                        else if (level < 50) {
                                hp += 3 * multiplier1;
                        }
                        else {        //level == 50
                                hp += 4 * multiplier1;
                        }
                }
                else {        //feigned or standing
                        hp += 1 * multiplier1;
                }


demonstar55 09-19-2019 04:29 PM

base regen rate (all 3) are handled via the basedata.txt file in the client's Resource folder. You can edit the base_data table to change these values and export with export_client_files program and redistribute those.

Note: these only affect newer clients, older clients are hardcoded.

There are a few hardcoded behavior with regen that are hardcoded server side as well. (GoD era regen buff, racials)

Huppy 09-19-2019 05:10 PM

Quote:

Originally Posted by strugglegenerator (Post 263542)
I do not have the skill level to compile my own server and edit the source.


Quote:

Originally Posted by Thalix (Post 263545)
I would say it is not that hard to change:

But as he indicated above .....


All times are GMT -4. The time now is 09:41 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.