Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 10-07-2008, 12:11 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Chaos, I think you'd be surprised at how long 3 minutes is in game. But indeed a rule for that would handle it. It's just a matter of figuring out the formula and applying the rule.
Reply With Quote
  #2  
Old 10-07-2008, 12:35 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by Andrew80k View Post
Chaos, I think you'd be surprised at how long 3 minutes is in game. But indeed a rule for that would handle it. It's just a matter of figuring out the formula and applying the rule.
considering that i used to sit on my but for 15-20 min back on live -3 min gona be a breeze =)

i havent played on eq1 when they implemented OCC regen, but on EQ2 under lev 5 you regenerate from almost 0 (hp and mana) to full in about 30 seconds, but it starts to slow down as you level (the numbers of hp and mana pool on eq2 are MUCH larger however. My lev 35 druid had like 2k hp and 4k mana and that was considered poor). I think at lev 80 it takes like 10 min.
But thats what hp/mn regene foods are for
ANorher thing that on eq2 there is no meditation (not during combat not ever) all classes melee or caster all regen hp and mana at same rate in and out of combat (not counting buffs and items of course)
Reply With Quote
  #3  
Old 10-07-2008, 05:12 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Woah, they put OOC regen on live? LOL, they might actually be getting smarter :P

Either way, with the rule, you will be able to easily turn it on or off, or adjust the rate you want them to regen at. By setting the rule to 1, you would regen 1% per tick. So, if you wanted to regen from 0 to full in 3 minutes, you would just take 180/6 = 30, so 30 ticks, and if you set your rules to 3 (3 X 30 = 90), it would be pretty close to 3 minutes to regen full HPs or Mana. I think it is nice to have the option to enable/disable and increase/decrease the OOC Regen rates.

As for the code to check if they are engaged, I see in command.cpp from the latest SVN that it uses:
Code:
c->IsEngaged()
To check something with Feign Death (I don't have the code handy right now to post the exact line).

I tried using something like that, but I don't know how to define "c" properly. I think if I could figure out how to do that, that it should probably work. Maybe something like this:

Code:
	if(c->IsEngaged())
		oochpregen = 0;
	else
		oochpregen += GetMaxHP() * RuleI(Character, OOCHPRegen) / 100;
I think that looks about right, but I would need someone to help me to define "c" so that it worked like it does in command.cpp. I am still a noob lol.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 10-07-2008, 05:26 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by trevius View Post
Woah, they put OOC regen on live? LOL, they might actually be getting smarter :P

Either way, with the rule, you will be able to easily turn it on or off, or adjust the rate you want them to regen at. By setting the rule to 1, you would regen 1% per tick. So, if you wanted to regen from 0 to full in 3 minutes, you would just take 180/6 = 30, so 30 ticks, and if you set your rules to 3 (3 X 30 = 90), it would be pretty close to 3 minutes to regen full HPs or Mana. I think it is nice to have the option to enable/disable and increase/decrease the OOC Regen rates.
yeah they added it 1 or 2 expansiosn ago (after Aniversary package i think)

Note important thing to allow a rule to set diffirent scaling for OCC regen, cuase just setting it at % rate would make OOC regen identical (in time) for all levels and all mana pools.
where my originaly proposed formula 5+level would slow down as you go up, to leave some room to force people to buy potions (which is good for economy)

another good thing would be be a rule to turn OFF meditation =)
The logical reason for this that if you have OOC regen, then casters also havign bonsu from meditation will get MASSIVE and unfair advantage over melees (specialy since in Emu you don't need to sit down to meditate - which means all the time figth goes on- you still meditating at full speed)
Reply With Quote
  #5  
Old 10-07-2008, 09:55 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

It took me a while to figure out how to make a good scaling system that will work on any server no matter what the maximum level is, but I think I finally got it.

I edited the code in my post above and added the new level scaling code into it. Now, if someone can tell me how to check if the character is out of combat, I think we can get this in and tested and into the SVN right away

I wasn't originally planning to use it on my server, but now I think it could actually be pretty cool. So, I will at least try it out and see how players like it. Just need that out of combat check to finalize it

The way the scaling works is you set this rule:

RuleI(Character, OOCRegenLevelScale)

in the rule_values table to be anything from 0 to 100. Then, this is an idea of what will happen:

0 = OOC Regen Level Scaling is disabled - OOC Regen will default to whatever the rules are set to
1 = Barely any OOC Regen Level Scaling - This wouldn't hardly be noticeable if at all for any level
50 = At level 1, the HPs would regen at almost exactly the rate that the OOCRegen rules are set to. At max level, they would regen at 50% of that rate
100 = Most extreme scaling to where max level almost gives no OOC regen bonus at all, but at level 1 they get almost exactly the full OOCRegen rates. And in the middle, they would get about 50% of the regen rates.

I think this leaves alot of options to adjust OOC regen for almost any server. The only other way to break it down any better would be to make individual level range settings for it, but I really don't think that is necessary.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 10-08-2008 at 06:03 AM..
Reply With Quote
  #6  
Old 10-07-2008, 10:11 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by trevius View Post

0 = OOC Regen Level Scaling is disabled - OOC Regen will default to whatever the rules are set to
1 = Barely any OOC Regen Level Scaling - This wouldn't hardly be noticeable if at all for any level
50 = At level 1, the HPs would regen at almost exactly the rate that the OOCRegen rules are set to. At max level, they would regen at 50% of that rate
100 = Most extreme scaling to where max level almost gives no OOC regen bonus at all, but at level 1 they get almost exactly the full OOCRegen rates. And in the middle, they would get about 50% of the regen rates.

just to clarify. When you say

"100 = Most extreme scaling to where max level almost gives no OOC regen bonus at all"

you mean that:
the increase in regen as you level is small (like say 25 per tick at 50, which only grows to say 26 at a 100m by which time your mana pool/hp prabobly 5x times as large),

and NOT that your regen per tick gets smaller as you level up? =)

in otherwords you ment to say (i presume)

"Most extreme scaling to where max level almost gives no OOC regen bonus GROWTH at all"

in other words if you gain more regen you gain very little, but it does not become smaller than on previosu level =)
Reply With Quote
  #7  
Old 10-07-2008, 11:12 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Sort of, but I think you are making it more complex than it is.

When you set OOC regen, it is in increments of 1% per tick. So, you could set your OOCRegen to a minimum of 1% per tick, which would mean to go from 0 to 100% at any level would take exactly (100 / 1 * 6 = 600 seconds) 10 minutes. If you have OOC Regen set to 2%, then it would take (100 / 2 * 6 = 300 seconds) 5 minutes and so on. It is regening a % of your total hps no matter what gear or buffs you have on.

The scaling works by subtracting a percentage from the OOC regen. Depending on the rule setting and the level of the character and the max level set for the server, your regen could scale in a wide variety of ways. It checks your level against the max level setting for the server, so if you are level 1 and the server goes to level 50, you are 2% of the max level. If you were level 25 on the same server, you would be 50% of the max level. And, if you were level 50, you would be 100% of max level.

Now that it has your percentage, it can then multiply that number with the scaling rule. So, if your scaling rule is set to 50, then it will multiply your level percentage (explained above) with 0.50 (scale rule setting / 100). Using the level 50 max level explained above, and having a level 1 character, the math for this rule would look like this:

0.02 * 0.50 = 0.01

So, it then multiplies the OOCRegen by 0.01 and subtracts that total from your current OOCRegen per tick. So, it would only subtract a very small amount.

But, if you were level 50 in this same scenario, the math would look like this:

1 * 0.50 = 0.50

And when it multiplies that with your OOCRegen and subtracts it, you end up regening half as fast as you were at level 1. So, a level 1 might take 5 minutes to regen from 0 to 100, but a level 50 would take 10 minutes to regen from 0 to 100.

If your scaling rule is set to 100, then you will regen at almost the full OOC regen at level 1, but it will scale down so that by the time you get to max level, you will not regen any extra at all from OOCRegen.

I did make a slight mistake in what I said in that line you quoted though, it should have been this:

"Most extreme scaling to where max level gives no OOC regen bonus at all"

Ok, so maybe I just made it even more complex than you made it lol. But at least this is accurate. And the system should work perfectly and be easy to understand if you try it out a little once it is finalized.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 03:58 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3