|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development: Custom Code This is for code thatdoes not emulate live and wont be added to the official code. |

01-12-2007, 10:34 AM
|
Discordant
|
|
Join Date: May 2005
Location: Smith Falls, Ontario, Canada
Posts: 283
|
|
Quote:
Originally Posted by Dymerius
If I remember correctly... 30, 40, 45(*shiver!*)
Then they added Kunark and level 51 put the other hell levels to shame... and 55... and 57 or 59? It's been so long...
|
You would be correct on the hell levels.
Pre beta they where 30, 35, 40, 45, 50. When they made Kunark they added 51, 55, 59.
__________________
Rojadruid
Innoruuk Server [legit]
Server Admin.
Server Status: UP
|
 |
|
 |

01-12-2007, 11:12 AM
|
Administrator
|
|
Join Date: Sep 2006
Posts: 1,348
|
|
This wouldn't be very hard and really isn't that bad an idea I threw something like this together quickly:
Code:
Index: exp.cpp
===================================================================
--- exp.cpp (revision 940)
+++ exp.cpp (working copy)
@@ -29,8 +29,16 @@
// war cle pal ran shd dru mnk brd rog shm nec wiz mag enc bst bes
float class_modifiers[16] = { 9.0f, 10.0f, 14.0f, 14.0f, 14.0f, 10.0f, 12.0f, 14.0f, 9.05f, 10.0f, 11.0f, 11.0f, 11.0f, 11.0f, 10.0f, 10.0f};
+#define MAX_LEVEL_MOD 70
+float level_modifiers[MAX_LEVEL_MOD] = { 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f };
+
-
void Client::AddEXP(int32 add_exp, int8 conlevel, bool resexp) {
if (m_epp.perAA<0 || m_epp.perAA>100)
m_epp.perAA=0; // stop exploit with sanity check
@@ -44,10 +52,22 @@
//take that ammount away from regular exp
add_exp -= add_aaxp;
- //get zone modifier
+ float totalmod = 1.0;
+ //get modifiers... I don't like how we mix floats and ints so much but for now...
if (zone->GetEXPMod() > 0) {
- add_exp = int32(float(add_exp) * zone->GetEXPMod());
+ totalmod = zone->GetEXPMod();
}
+
+ if(RuleR(Character, ExpMultiplier) > 0){
+ totalmod *= RuleR(Character, ExpMultiplier);
+ }
+
+ if(GetLevel() <= MAX_LEVEL_MOD && GetLevel >= 1){
+ totalmod *= level_modifiers[GetLevel()-1];
+ }
+ add_exp = int32(float(add_exp) * totalmod);
+
+
#ifdef CON_XP_SCALING
if (conlevel != 0xFF) {
..also noticed expmodifier rule doesn't appear to be working right now while doing which I will fix. Haven't tested this but yeah could also do it with something in the database too if wanted.. not a difficult concept and very nice for legit servers that want to tweak how they play.
|
 |
|
 |

01-13-2007, 04:34 AM
|
Discordant
|
|
Join Date: May 2005
Location: Smith Falls, Ontario, Canada
Posts: 283
|
|
The rule idea is a way better idea to do it, scince thats why they are there for customization.
__________________
Rojadruid
Innoruuk Server [legit]
Server Admin.
Server Status: UP
|

01-14-2007, 04:29 AM
|
Hill Giant
|
|
Join Date: Jul 2006
Posts: 166
|
|
Thank you KLS, you are my Hero!
My own server project is on ice for the time being due to lack of time but hopefully someone picks this up for his server. I had the idea because I dont like to play to level 70 in an week as much as I dont like slaving my way through the first 10 levels for the same period of time.
|

01-14-2007, 11:02 AM
|
Hill Giant
|
|
Join Date: Mar 2004
Posts: 139
|
|
This is something I've wanted for a long time. I'd like to be able to fly through the first 10 levels within an hour, but still having each high level take a considerable amount of time.
|

06-01-2007, 02:31 PM
|
Hill Giant
|
|
Join Date: Mar 2004
Posts: 139
|
|
Bump... Any chance of this being integrated into the official code? Into the rules or something?
|
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 08:02 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |