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

Development::Bug Reports Post detailed bug reports and what you would like to see next in the emu here.

Reply
 
Thread Tools Display Modes
  #31  
Old 02-26-2009, 12:01 AM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,450
Default

Quote:
Originally Posted by trevius View Post
Yeah, I think the only thing that can even justify a define is that the combat changes aren't finalized yet. So, server admins might have to adjust their content multiple times while things get all tweaked. The define would just let them avoid the adjustments until everything is finalized. It would only be temporary. We can't have defines and rules to keep every original formula, otherwise the code would be quite a mess.

For most of the experienced server admins that have been running a server long enough to actually have to do some work to adjust their content, it shouldn't be too hard for them to figure out how to compile it if they have to. And, if that is too much for them, they can always wait out doing an update to their code until everything is finished.

For the new servers, these changes won't even be noticeable, as their content will be made around the new settings and they or their players won't ever be the wiser.

It is always a pain when something major changes. But, without change, nothing would ever get better. I am sure many of you remember when the new AC changes went in about a year ago and then Attack Rating and Accuracy for NPCs. Those were some big ones, but they have been a big help in making combat feel right. I am sure the latest changes will help hit chance considerably. Really, hit chance has been horrible in the past and it is nice for it to finally be getting a good fix and more options for tweaking it. Maybe 2 handed weapons will actually be a valid choice over 1 handed again

I will try to get the define in tonight. I think a temporary define is a good solution. Admins will still have to make changes after it is removed for good, but at least they will only have to make the changes 1 time only (for a while again anyway).
Yeah, I think this is a fair compromise. I'm all for a temp define, especially if it gets removed when everything is all done and over. I personally would like to see less hardcoded values and more rules -- which the combat changes are starting to do. I like that.
Reply With Quote
  #32  
Old 02-26-2009, 12:30 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

BTW, ChaosSlayer, while we don't exactly have a wiki page or anything that describes each rule in great detail and shows every formula, you can still find out alot of info on most of them directly from the source code.

The rules are stored in /common/ruletypes.h and many of them have comments next to them to explain them a bit.

Here is a link to the ruletypes.h from R358 as an example:
http://code.google.com/p/projecteqem...c=svn358&r=358
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #33  
Old 02-26-2009, 01:12 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I'm adding more rules if you've noticed. And I really have a choice, add more rules or make huge pages explaining them, I choose the former. Most of them are pretty easy to understand and if anyone ever has a question I'll be glad to answer it and hopefully someone observing keeps the wiki up to date.
Reply With Quote
  #34  
Old 02-26-2009, 01:50 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

yeah I just discovered ruletypes.h today =P Never saw them mentioned before. Last time I picked into the soruce was a while ago and since then thigns changes so much I can't make heads or tails of it anymore =P

So its helpfull however few of the rules stil could use few clarification on exactly how they work. I mean its one thign for me to sit and read these short sentences over and over till I figure out what they mean while for person who created the rule its clear as day =P

Atm I am trying to udnerstand these few - perhaps you could explain me better:

RULE_REAL ( Combat, HitFalloffMinor, 5.0) //hit will fall off up to 5% over the initial level range
RULE_REAL ( Combat, HitFalloffModerate, 7.0) //hit will fall off up to 7% over the three levels after the initial level range
RULE_REAL ( Combat, HitFalloffMajor, 50.0) //hit will fall off sharply if we're outside the minor and moderate range


What is a FALL OF??? I See that its... SCALES.. but whats it do? =) And is difirence betwin minor, major etc.


ANother question:

RULE_REAL ( Combat, WeaponSkillFalloff, 0.33) //For every weapon skill point that's not maxed you lose this % of hit


-ok what it does well epxlained but curious quetsion: won't this mean that the MOMENT you level your performance sudenly become WORSE? Basicly you some lev 55 with X max skill, you ding 56 - and you swing your sword now worse than 5 sec ago vs same mobs


Next one:


RULE_REAL ( Combat, HeavyAvoidChanceMod, 1.0) //plate wearers
RULE_REAL ( Combat, ModerateAvoidChanceMod, 0.96) //chain + leather melee
RULE_REAL ( Combat, LightAvoidChanceMod, 0.91) //druid
RULE_REAL ( Combat, UnarmoredAvoidChanceMod, 0.86) //rest


Shouldn't classes who use HEAVIER armor- have WORSE avoidance chance??? (I knwo I can adjust them in reverse but just asking) After all its much easier to dodge while wearing NOTHING rather than full plate. (mitigation on other hand should get better the heavier the armor).
On other hand - this thing seem to be tied to a CLASS rather than - what player is wearing atm (which creates an issue where clumsy Paladin wearing full plate can avoid better than a Monk or Ranger???). IMHO - rather than do this by pre-made type - do this by INDIVIDUAL classes. So warriors AVoidChanceMod, Paly, Sk and so on.


same thing with :

RULE_REAL ( Combat, MeleeHitChanceMod, 1.0)
RULE_REAL ( Combat, PriestHitChanceMod, 0.85)
RULE_REAL ( Combat, CasterHitChanceMod, 0.7)


I would not put monks/rogues into same group as clumsy palies/sk (in some specific case I can go as far as say than druids far more agile and dexterioes than say clerics and so on) - So perhaps again- separate Mod for each class? That would be nice for extrime fine-tunning.



And finaly. New price system: most of them easy enouhg to udnerstand, few a bit unclear:

RULE_INT ( Merchant, PriceBonusPct, 4) // Determines maximum price bonus from having good faction/CHA. Value is a percent.

---mmmm example please?

RULE_INT ( Merchant, PricePenaltyPct, 4) // Determines maximum price penalty from having bad faction/CHA. Value is a percent.

---mmm?

RULE_REAL( Merchant, ChaBonusMod, 3.45) // Determines CHA cap, from 104 CHA. 3.45 is 132 CHA at apprehensive. 0.34 is 400 CHA at apprehensive.

----mmm a bit more details please, not realy folowing... =(

RULE_REAL ( Merchant, ChaPenaltyMod, 1.52) // Determines CHA bottom, up to 102 CHA. 1.52 is 37 CHA at apprehensive. 0.98 is 0 CHA at apprehensive.

---same as above...
Reply With Quote
  #35  
Old 02-26-2009, 03:02 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Mmm well I'll answer the ones that pertain to me as I haven't looked at CD's stuff yet.

Basically there's 3 levels of hit falloff: minor moderate and major. Minor is inside the level range of the defender which I believe is (level / 4) + 3 or something close to that. Basically what this minor rule says is over those levels you will lose up to 5% hit.

Then there's moderate which is the three levels over the minor range so (level / 4) + 6, what this says is if we're in this range we then lose the 5% hit from minor then 7% hit over those 3 levels.

Then the major is just some factor for the falloff past that which as you can see jumps in a huge way. I believe it works out to 50% for every 12 levels outside of the moderate range.

So for a level 48 spider: they can hit a level 63 before they start getting the 2nd level of falloff and can hit a 66 before they really start getting major fall off.

Hopefully you understood that! The weapon skill is a lot easier.

Say you have 100 weapon skill and your maximum at this level is 180:
180-100 = 80 * 0.33 = 26.3% hit lost from your main calculation. And yes it does mean a situation like that can happen but it's small enough that it's not likely to be noticeable except over long periods of time where your weapon skill would max out anyway.

From a purely logical standpoint yes those in plate would dodge more but from a gameplay standpoint I'm not sure I want those warrior tanks breaking down my door just... you can have them if you'd like. =p

A separate mod for each class is doable, it just wasn't something I was willing to invest the time in at that time though. I'll see about changing it up.
Reply With Quote
  #36  
Old 02-26-2009, 03:43 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Rules are great, but too many could be a bad thing IMO. I dunno if we really need 16 new rules just to set individual class settings. If we did that, then we might as well do 16 individual rules for all formulas lol. I think it would just get out of hand quickly. I don't even thing live takes armor type or class into the calculation at all. It should all be based on Skill, AC and other stats IIRC. So, the fact that the emulator even has that option for customizing is pretty cool
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #37  
Old 02-26-2009, 03:48 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Thank you for reply KLS!

Yes I understand the Fallof now, thanks.

As far as avoids go - well logicly its should be a trade off:

heavy tanks are easy to hit - but they mitigate dmg down
vs
light classes (say monks) - much harder to hit - but their mitigation very very small

So in practice it would turn out into something like this (abstract numbers):

A mob swings 100 times 100 dmg each swing.
A warrior will get hit all 100 times (cuase he can't dodge), but he will mitigate the dmg by say 50%
A monk will only get hit 50 times, but he takes full dmg from each swing

So tanks mitigate, while monks dodge. Now depending on how hard and how fast given mob hits - in a specific situation some mobs wuld be more chalanging for warriors while others would be more chalanging for monks (and all classes in betwin accordingly)

Thats kind of combat logic that would make sence to me (of course with per class rule - each server dev can put in his own numbers)


As far as SKill max out goes - I understand that you trying to do with it , but it just feels kind of in reverse - instead of giving player To Hit BONUS for having higher skill, you penalizing them with to hit PENALTY for not having one. On one hand it does sounds like it the same thing, but in practice- as you noticed yourself it has this silly adverse sideffect that your get penalized not because your skill too low but becuase you just dinged and your cap has increased, cretaing this weird effect with feeling "leveling BAD"

I know I can use this rule to set it to 0 and forget about it but just thinking of alternative solution

Perhaps it would be more logical if you would start from skill of 0 and lower initial To Hit base (again we have it now nicely controlled via a Rule- thank you very much), and then give bonus based on actual skill , not basing it on the fact if ist maxed for the level or not. This way weapon skill will DIRECTLY contribute to your hit chance. (if person has 183 in 1hs - then he gets bonus from 183 in 1hs, regardless what level he is or what his curent max cap)

So let say:

Base Hit CHance: 50%
To Hit bonus from Skill: +1% per say 25 skill (abstract number)
so with 250 weapon skill - you have +10%

logicly this can grow unlimitly but on other hand- mobs avodance and dodge should also be growing. So even if players has +150% to hit chance, but mob has 75% chance to avoid - thats 150-75=75 only leave actual 75% chance to hit the mob (again abstract numbers)

I know you guys have coded hit and miss WAY diffirently, it just I had I am coming from extensive background of running number of custom developed table top combat games, but unlimited To Hit and To Dodge growth substracted from each other seems like most straight forward appraoch I can think of.


Trev

Quote:
Rules are great, but too many could be a bad thing IMO. I dunno if we really need 16 new rules just to set individual class settings. If we did that, then we might as well do 16 individual rules for all formulas lol. I think it would just get out of hand quickly. I don't even thing live takes armor type or class into the calculation at all. It should all be based on Skill, AC and other stats IIRC. So, the fact that the emulator even has that option for customizing is pretty cool
Oh no-no. Not offering to do this by "the armor you wearing" - they tried that in eq2 once- the result was that Warriors started showing up to the raid in CLOTH cuase their AC was maxed out anyway and they were reciving +60% dodge bonsu from wearing "very light" armor type =)
BUT I still thing that the clas groups should be a bit diffirent (monks should have one hellova better avoidance than anyone else, followed by chain melees, and only then plates)
Reply With Quote
  #38  
Old 02-26-2009, 04:16 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

As for the merchant system:

The first two are really easy. Depending on your faction and charisma, you will get better or worse prices from NPC merchants. Those values specify exactly how high or low that can be. So, the default setting is 4% for both. That means that with maxed CHA/faction you will get a 4% discount on wares, and on the flip side extreme bad CHA/faction will get you a 4% markup on wares. The reverse is also true, this value will also effect how much you will get by selling to a NPC by the same percentage.

A cloth cap has a price of 200 in the db so:

Base price: 2g
NPC sell price (1.05 modifier): 2g 1s
NPC buy price (0.95 modifier): 1g 9s
NPC sell price w/max CHA @ 4%: 2g 0s 2c (we always round up)
NPC buy price w/max CHA @ 4%: 1g 9s 1c
NPC sell price w/bottom CHA @ 4%: 2g 1s 8c
NPC buy price w/bottom CHA @ 4%: 1g 8s 2c

Be careful about using these values! If you set the bonus percentage too high, you'll get into a situation where you can sell for more than you buy. The rule to avoid this is take your two modifiers (in this case 1.05 and 0.95) and subtract them. Take half of that, .05 . You want the bonus percentage to be LESS (NOT equal) than that value, so 4% converted to a decimal is .04 and is indeed less, so in this example you can never buy for more than you sell.

The next two rules are a bit more tricky to explain and I debated even adding them, but for the sake of custom servers I decided to do it. Basically, they control your Charisma caps. Meaning, at a certain Charisma you will max out the bonus percentage and adding more charisma will no longer lower prices for you. The default bonus value of 3.45 will cap you at 104 with indifferent faction, and 132 with apprehensive. Lowering that number to 0.34 will cap your charisma at 400 apprehensive. You should not need to plug in a lower value than that, although you can if you never want players to cap.

The penalty value controls your bottom cap. 1.52 is 37 (lowest possible base CHA) meaning that even if you get hit with a CHA debuff, merchants will not raise their prices any more for you. If you want to lower the bottom cap to 0 CHA, the value would be 0.98. Since it scales that would mean at 0 that even players with 37 starting CHA would have a leg up price wise, and only could get worse prices if they got hit by a CHA debuff.

Players will always see base prices (with the modifier of course) at 103 CHA with Apprehensive faction, or 76 CHA with Indifferent or higher faction. Above those numbers they get a bonus, below a penalty. This is hardcoded and cannot be changed without modifying the code, and also breaking the rules
Reply With Quote
  #39  
Old 02-26-2009, 04:18 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Just wanted to add that Trev is right

Quote:
It should all be based on Skill, AC and other stats
we allready have all 16 classes fine tune system - in the class skill table in DB! =)

If we set warrior to one cap per level in say Defensive, and monk to another- then the server should NOT even care what class player is - it will look at players current Defensive skill and calculate accordingly.

The only thing thats always bugged me is why we have weapon skill AND offensive? By default they both contribute to same thing - ATK - so whats the difirence?
Unless we make one of then resposible for ATk only (ofensive) and weapon skill for To Hit chance

then you have nice layout of:

Offesive (atk) vs Defensive (AC) = dmg done
Weapon Skill (to hit) vs Dodge (avoid) = final chance to hit

Of course I have no idea how you guys actualy coded it - so all my assumption can be very very flawed
Reply With Quote
  #40  
Old 02-26-2009, 06:50 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ok, I just got the defines added into attack.cpp. They seem to work fine though I had a small issue with the first commit because I didn't realize that some rules had changed or been removed. I had to add the old level diff rule back in for now and I also made a second rule for the agi bonus for when using the define in place of the new agi rule bonus settings.

To use the old system, simply edit /zone/attack.cpp and uncomment the define(s) near the top of the file. There are 2 different defines. One is for reverting the most current chancetohit changes and the other is for reverting to the very old avoidance bonus formula.

Both of those defines and related rules will be removed when the new chancetohit is all definitely completed and maybe tested for a month or something. I think this will also give people a little more time to fit getting their content balanced again in whenever they want to do it, at least within a reasonable amount of time.

Lemme know if there are any questions or issues about the new defines. They should be good and are pretty straight forward. Before anyone asks; yes, you have to compile the source code yourself in order to set these defines.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #41  
Old 02-26-2009, 05:43 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Cavedude, ok I see now, but somehow I invisioned this to be soemwhat simpler =)

ChaSell: 0.04 - the % modifier you get per 1 point of CHA when npc selling to you (discount) (so for each 25 cha you get 1% discount of base sell price)

ChaBuy: 0.04 - the % % modifier you get per 1 point of CHA when npc buying from you (so for each 25 cha you get 1% better price above base buy price)

ChaMax (integer): 400 - the point at which having even more CHA no longer benefits you
ChaMin (integer): -50 - the point at which having even less CHA no longer penalizes you

Merhcant mark up - is no longer needed at all - since you have Sellrate specified on items which automaticly becomes the mark up price, or unless you want this as optional "affect all items" rule:

MerchantMarkUp: 200 (if item is priced at 1 plat, then merhcnat by default sell it 200% mark up - which is 2 plat)


ANother thing which is still missing: is price scaling by faction
Reply With Quote
  #42  
Old 02-26-2009, 06:32 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

More simple for you would be much harder for me! :P

The problem with the first two rules is it would be really easy for a Server OP to get to a point where their players sell for more than they buy, so they would have an unlimited ATM. With my rules, I can clearly define and say, if you do this, then you will go over.

ChaMax and Min I agree with, but that would require a whole new rewrite. Perhaps one day...

Merchant markup is still required for two reasons. 1. sellrate for most items is 1, and 2. the NPC sell modifier on live is 1.05.

I wanted to include a way to actually scale against faction, but I got lazy and didn't go ahead and do it. It would only benefit custom servers anyhow, since on Live the only two factions that matter are apprehensive and indifferent and it doesn't scale. In our system faction is still important. For example, a player with 37 CHA and indifferent faction will not get the worst prices. They need apprehensive faction for that. Overall, faction is weighted a tiny bit less than CHA in our setup.

I think my point was to get us Live Like, but still offer some rules for custom servers. I spent a day on Live before KLS found me a gem of a page discussing how the pricing works, with actual caps and numbers. I then spent another day on Live confirming the data on that page, and found it was still very accurate. So, the default rule values are as close to Live as we can be.

Last edited by cavedude; 02-27-2009 at 02:37 AM..
Reply With Quote
  #43  
Old 02-26-2009, 06:41 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

well given even my appraoch to the rule system- I am sure there values you can put it to give you exact to Live match up - by defining boundaries of CHA and CHA per point scaling.

It just my appraoch is much esier to read on the user side

well perhaps one day =P (preferably sooner than later )
Reply With Quote
  #44  
Old 05-19-2009, 01:14 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Sorry for bumping this one, but:

Cavedude: excatly HOW you derive "1.52" from 37 CHA ?

and 0.34 from 400 CHA?

whats the formula?



KLS:

I was hoping to continue discussion on Avoidance and Hit chance Rules given by entire group of classes (heavy, Light etc)

Do they realy work for anyone? The way I see (the way classes are assigned to the groups) they create more restriction than freedom (see my prevous comments) I endded up setting everyone to 1.0 since I could not find a reason to justify why paladin can dodge as well as monk =)

I serously sugest you scrap the current 4 types approach and do them by class - then we can REALY customize.


And once again on To HIt chance- again doing it by gruop types is bad, cuase it forces number of classes into a single pattern. And what is realy important these Hit Bonuses feel artificial.

Yes I know that on LIVE Hit Chance is not realy based of anything, but if you realy wish to give a useful customization rule, why not a make a diffirent (set OFF by default) to use appraoch I described before:


Quote:
Perhaps it would be more logical if you would start from skill of 0 and lower initial To Hit base (again we have it now nicely controlled via a Rule- thank you very much), and then give bonus based on actual skill , not basing it on the fact if ist maxed for the level or not. This way weapon skill will DIRECTLY contribute to your hit chance. (if person has 183 in 1hs - then he gets bonus from 183 in 1hs, regardless what level he is or what his curent max cap)

we allready have all 16 classes fine tune system - in the class skill table in DB! =)

If we set warrior to one cap per level in say Defensive, and monk to another- then the server should NOT even care what class player is - it will look at players current Defensive skill and calculate accordingly.

The only thing thats always bugged me is why we have weapon skill AND offensive? By default they both contribute to same thing - ATK - so whats the difirence?
Unless we make one of then resposible for ATk only (ofensive) and weapon skill for To Hit chance

then you have nice layout of:

Offesive (atk) vs Defensive (AC) = dmg done
Weapon Skill (to hit) vs Dodge (avoid) = final chance to hit

So let say:

Base Hit CHance: 50%
To Hit bonus from Skill: +1% per say 25 skill (abstract number)
so with 250 weapon skill - you have +10%

logicly this can grow unlimitly but on other hand- mobs avodance and dodge should also be growing. So even if players has +150% to hit chance, but mob has 75% chance to avoid - thats 150-75=75 only leave actual 75% chance to hit the mob (again abstract numbers)


or alternativly let us have a Rule where DEX contributes to Hit CHance (off by default) - this way players other than rangers will seek to build it up
Reply With Quote
  #45  
Old 05-19-2009, 01:40 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I took that out actually, a person's ability to tank is not completely based off their defensive skill and gear. When I implement softcaps it should help to further differentiate classes by tanking ability, but for now there are no artificial blocks in place other than what gear you can wear and AAs you can get.

Why I took it out? I agreed with you it was a bad way to do it =p
Reply With Quote
Reply


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 07:40 AM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3