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

10-07-2008, 05:12 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
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:
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.
|
 |
|
 |
 |
|
 |

10-07-2008, 05:26 PM
|
Demi-God
|
|
Join Date: May 2007
Posts: 1,032
|
|
Quote:
Originally Posted by trevius
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)
|
 |
|
 |
 |
|
 |

10-07-2008, 09:55 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
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.
Last edited by trevius; 10-08-2008 at 06:03 AM..
|
 |
|
 |
 |
|
 |

10-07-2008, 10:11 PM
|
Demi-God
|
|
Join Date: May 2007
Posts: 1,032
|
|
Quote:
Originally Posted by trevius
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 =)
|
 |
|
 |
 |
|
 |

10-07-2008, 11:12 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
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.
|
 |
|
 |
 |
|
 |

10-07-2008, 11:46 PM
|
Demi-God
|
|
Join Date: May 2007
Posts: 1,032
|
|
well, basing it off a % may have an inherited flaw where at some point you level from say lev 69 to 70 and suddenly your regen drops DOWN , and i don't mean by % but by actual hp/mana per tick. and that should not happen. - you shoudl nto loose any regen as you level up. The could be no growth, or very little growth, or dimishing growth, but it should not go backwords.
for exmaple, let say for levels 1, 10, 25 and 50 your ooc regen coudl be like this:
no growth at all : 5 , 5, 5, 5 (it starst at 5 per tick mn or hp and it stays there)
small growth: 5, 6,7,8 (your regen growth but VERY slowly - and as you udnerstand 5 at lev 1 is MASSIVE while 8 at 50 is almost nothing compared to yoru mana/hp pool)
fast growth: 5, 10, 20, 40 (regen rapidly rising in atempt to catch up with your mana/hp pool)
any of the above are valid, but the actual ammount regen per tick should be becoming smaller
another important point- try NOT to base the final formula of the MAX level cap allowed. As server developes and people start rising max level cap to add more content, the previously set up rule values will no longer match up and would have to be recalculated every time
a simple build for formula imho is following: you set the formula in actual ammount of mn or hp per tick rather in %, AND a growth rate.
For exmaple:
Rule 1: (base regen per tick) - let say 5
Rule 2: (growth per level) - this one can be set in decimals for exmaple 0.25
(or in other words it grows by +1 each 4 levels)
What thsi means: thsi means that at any given level your regen is 5+(level-1)*0.25
so at level 50 your regen is 5+50*0.25=17.5 per tick.
Whenever this number is suficient compared to your mana/hp pool is a whoel diffirent matter AND admin can tune this up either altering the BASE or the Growth
alternatively setting the to say 2 gives you +2 extra mana per level, so at lev 50 your regen becomes 5+50*5=255 per tick =)
so its rather simple AND whats important- no involvement of max lev cap =)
|
 |
|
 |
 |
|
 |

10-08-2008, 12:51 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
LOL, you are completely misunderstanding the point here :P
The system you describe is already in place as their is already a level based HP regen increase hard coded into the system to match EQLive. The current system will scale up as you level, but since it matches the old live system, this is for HP regen in or out of combat. It is also a very small regen increase which is barely noticeable at all.
Then, items and buffs/bonuses/AAs get factored into your total HP regen. This is slightly better, but again, it works the same if you are in combat or out of combat. With enough HPs, you could still be waiting 20+ minutes to fully regen HPs or Mana.
A while back, a rule was added so that you could increase the total character regen by a multiplier. The rules are HPRegenMultiplier and ManaRegenMultiplier and they start at a default of 100, but you can set them up or down to increase/decrease the in/out of combat regen rates. So, lets say you get 10 natural regen on your character and you have an item that gives +10, and also a buff that gives +10, your total would be 30HP regen per tick. These rules will multiply that amount times the percent you set the rule to. Since it is set to 100 by default, 100% of 30 is still 30. But, if you set it to 50%, then 30 is reduced to 15. Or, if you set it to 200%, then 30 becomes 60 per tick. Using these rules, you can quickly adjust regen rates and they will still scale based on levels/AA/Gear/Buffs. The flaw with doing this is that it not only increases out of combat regen, but also in combat regen. So, if you set it really high, your players will regen quick while out of combat, but they will also regen very fast while fighting mobs.
My new rules only deal with out of combat regen. Let's forget about the scaling for now so I can explain the basics of it. The whole point of OOC regen is to make it so players can regen quickly to recover from a fight and start a new fight without having to wait for 20 minutes to regen. So, obviously you want them to regen at a faster rate than the normal HP regen total. To do this, we just set the rule to whatever % we want players to regen per tick. So, 1% would take 100 ticks to regen to full, which is 6(seconds)X100 = 600 seconds AKA 10 minutes. If you set it to regen 20% per tick, then it would be 100/20=5, so 5 ticks. And 5 ticks = 30 seconds, so they would regen from 0% to 100% in 30 seconds. It doesn't matter what level they are, anyone will regen at that exact rate when they are not in combat.
By scaling per level, I am talking about making regen times take longer as you level. So the idea is that regening from 0 to 100% at level 1 might only take 30 seconds, but at level 70 you could set the scaling to regen them to full in 30 seconds, or 60 seconds, or 5 minutes, or whatever you want the max level regen time to take. So low levels could regen to full very quickly, but you could set high levels to take longer to regen to 100% if you wanted it to be that way. By disabling the scaling system, a level 1 would regen in the exact time it takes a level 70 to regen from 0 to 100%.
You are also misunderstanding the max level portion of the code. It pulls that level from your rules, so it doesn't matter what your server has the max level set to, it will work exactly the same on every server. You could have max level of 10, or max level of 200 and still have exactly the same options and flexibility. So, do not worry at all about the math getting thrown off by custom servers, because it won't be. I spent a couple of hours figuring out the exact math so that it will work flawlessly in all scenarios. The equation is fairly simple now that I have it figured out, but actually creating that equation was pretty tough.
I am not sure how I can explain this to you any better than I already have. It took me a while to figure out how to do it, so it might be a little tough to grasp. But, once you get a chance to test it out, I think you will understand and agree that it works well 
|
 |
|
 |
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 11:21 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |