Albion TwoHanded And Pole DamageCalculation Fix

A place to submit .patch fixes for the DOL SVN

Moderator: Developer Team

Albion TwoHanded And Pole DamageCalculation Fix

Postby Xali » Thu Jul 02, 2009 9:40 am

Hey guys,

Since there is still this very common bug in Albion where you can Spec 50 Polearm or TwoHanded and nothing in your sub spec for example a slash pole requires spec in Slash to deal "constant" damage, otherwise on live it is like as if you are a caster and you are using a baseline nuke where you didn't put any specpoints in.

This might sound like a hughe Albion Tank nerf but it is as intended by Mythic. The results have been tested while spending some hours on testing on Pendragon and European live servers.

/cheers Xali
Attachments
PoleAnd2HandedDamageCalculationFix.patch
Fixes the Spec Bug for Albion TwoHanded and Polearm Weapons
(4.23 KiB) Downloaded 33 times
Graveen wrote:This forum is not a trashcan. Do i enter your home in yelling 'THERE IS A PROBLEM ?' ?
Xali
Contributor
 
Posts: 120
Joined: Tue Dec 23, 2008 1:08 am
ICQ: 149269579
Website: http://www.i50-classic.com
Location: Germany

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Tolakram » Thu Jul 02, 2009 12:46 pm

I understand the goal, but ...

If you have 50 spec in two handed and 1 is slash and are using a two handed sword.

Style damage will be full strength. it uses the 50 spec in the style line to determine damage.
Swing damage, without any styles, will be identical to slash damage, as if you were holding a slash weapon. it uses slash spec to determine damage.

The patch appears to be modifying all damage regardless of where it comes from.

Code: Select all
@@ -1754,6 +1754,8 @@
          {
             ad.Target.Mana += ad.Damage / 5;
          }
+
+            ad = AlbionPoleand2HandedDamageCalculator.UpdateDamage(ad);
          //Return the result
          return ad;



This type of modification might work if the modification is restricted to hitunstyled, but I'm personally uncomfortable with polluting GameLiving with a GamePlayer check. Yea, I know, MakeAttack is huge! :)

But let's cut to the big issue:

Code: Select all
int percent = 100 - (100 / 50 * base_type); //e.g. 100/50 = 2% = skill 1 -> 1 * base_type = % skill
int new_dmg = ad.Damage - (ad.Damage * percent / 100);
int new_crit = ad.CriticalDamage - (ad.CriticalDamage * percent / 100);


I can find no documentation that supports this kind of reduction based on base spec. So if I have 50 two hand and 1 slash and swing for 150 damage this will be reduced to 2?

TWO?

T W O !

Unfortunately you've run smack into an alb. Lucky for you I'm the forgiving type. :mrgreen:

Remember that with damage it isn't a straight reduction but rather an introduction of increased variance based on spec. With 2/3 spec you can reliably do 100% of the listed damage, and with full spec you can reliable do over 100% (125% is the cap I believe) of the listed damage. With no spec, if I recall the equation correctly, you will do 25% - 75% of the listed damage.

So to work correctly this calculator should consider the base spec for determining damage on a two handed (and polearm) weapon only when a style is not used.
- Mark
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Sand » Thu Jul 02, 2009 1:46 pm

Aye nice to get a fix in for this but mark is correct that we don't want slash affecting the basic damage equation, it just needs to affect the variance values thus apply to unstyled PART of the damage only.

I haven't looked into the mele damage calculation but if it is like way spell damage is done, this is going to be tough to separate that off.

It would still need to apply even when a style used, but the style damage calculation should be based on the base value value the one that the % values are based off of.

Basically what we want is a calcuation that determines damage potential according to class weapon proficiency (commonly refered to as weaponskill), weapon damage stat, and weapon spec (for weapon type used).

You then apply level component to it to reduce damage. Then you calculate unstyled and styled damage. The unstyled is what you apply the varience , for 2handed/pole you need to (also hib largeweaponry I believe needs same fix), the spec line to use is based on damage type of the weapon, while others it is simply the weaon they are using. Then style damage, you take the base damage calc, apply gr and there you go.

It is a bit more complicated than the above but that is the gist of what we need to accomplish to get this resembling live.
Sand
Server Team
 
Posts: 1375
Joined: Sat May 17, 2008 2:05 am

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Graveen » Thu Jul 02, 2009 2:00 pm

Xali gives me this patch, i was sure Sand & Mark were able to really understand the inner mecanisms in the deep.

So, now the topic is on the table, perhaps we could:
1) isolate the damage calc, to have a pretty neat method outside GP
2) fix a better damage calc, even if approximate, to allow community to improve it

Your opinions ?
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Xali » Thu Jul 02, 2009 3:07 pm

First i wanna thanks Mark and Sand for your information i will use that to improve this fix.

@ Graveen,

1: You want the damage calculation to be out of the GameLiving? or just this perticular script?
2: Do you mean rework the damn thing and check if we can make it better than it is atm?


tolakram wrote:I understand the goal, but ...

If you have 50 spec in two handed and 1 is slash and are using a two handed sword.

Style damage will be full strength. it uses the 50 spec in the style line to determine damage.
Swing damage, without any styles, will be identical to slash damage, as if you were holding a slash weapon. it uses slash spec to determine damage.

The patch appears to be modifying all damage regardless of where it comes from.

Code: Select all
@@ -1754,6 +1754,8 @@
          {
             ad.Target.Mana += ad.Damage / 5;
          }
+
+            ad = AlbionPoleand2HandedDamageCalculator.UpdateDamage(ad);
          //Return the result
          return ad;



This type of modification might work if the modification is restricted to hitunstyled, but I'm personally uncomfortable with polluting GameLiving with a GamePlayer check. Yea, I know, MakeAttack is huge! :)



Well it doesn't do modify all damage since there is a check for everything but the things i wanted to change and everything just does
Code: Select all
return ad;
w/o changing anything about the damage.

But the rest that you wrote seems to be right, but still i didn't do 2! TWO? YES TWO?!?? damage when i tested it with 50 2Handed and 1 Slash (even tho you have 12 autotrain :P)
Graveen wrote:This forum is not a trashcan. Do i enter your home in yelling 'THERE IS A PROBLEM ?' ?
Xali
Contributor
 
Posts: 120
Joined: Tue Dec 23, 2008 1:08 am
ICQ: 149269579
Website: http://www.i50-classic.com
Location: Germany

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Graveen » Thu Jul 02, 2009 7:50 pm

1) Both if possible
2) no, for me, if the calc gurus think it is better than what is in now, yours is suitable (or what it'll be at the end of this thread !)
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Xali » Fri Jul 03, 2009 1:42 pm

Could we try to grap a list where the points of what has to be done should be written down?
This is Alb only and maybe Hib LW(have to test it if nobody is 100% sure even tho i am 95% sure it isn't)

I'm going to spend some more time on Pendragon to test more about it. What i got so far:
1) The damage that is changed is the unstyled damage which is excluding the style dmg is effected by your SubSpec.
2) You are able todo up to 125% base dmg when you have you subspec on level (incl items and rr bonus?).
3) You don't get any benefit from raising your SubSpec over 50.
4) at around 2/3 Subspec to your level you can deal up to 100% base dmg.

Have to test how much Damage you deal when you have no points in it.


So i should check on how much skill you have in your SubSpec and compare it to your level. Than make the math that is needed to get the results we wanna have.

Any other suggestions? All are welcome to participate so we get the result that is needed to fix this.

/cheers Xali

Edit: I think this Should be applyed to the base Damage before the Style Damage gets added. Otherwise there would be no benefit for specing eg. 50 in Polearm except for the styles w/o giving you the damage you should deal additionally from the style damage.
Graveen wrote:This forum is not a trashcan. Do i enter your home in yelling 'THERE IS A PROBLEM ?' ?
Xali
Contributor
 
Posts: 120
Joined: Tue Dec 23, 2008 1:08 am
ICQ: 149269579
Website: http://www.i50-classic.com
Location: Germany

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Tolakram » Fri Jul 03, 2009 2:38 pm

It's alb only.

The damage equation is identical to all other skill based weapon damage except for the fact it pulls from different skills based on the weapon action.

Two Handed or Polearm style: damage is calculated using the Two Handed or Polearm skill calculator.
Swing without a style: damage is calculated based on the weapon damage type skill calculator (slash, thrust, crush).

The calculation itself is identical to all other weapon skill calculations, so that code is already in DOL.

The only thing I'm not certain of is if there is any boost to damage due to the need to double spec. I don't think so, which was the big scandal, but I need to verify it for sure. I think Mythic's reasoning was that the other realms had other skills to spec in so this was some kind of balancing.

It was typical for a Paladin who wanted to go two handed to spec only in two hand until the half levels post 40. Style damage was great, but if you ran out of endurance the variance on base damage was a killer.
- Mark
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Sand » Fri Jul 03, 2009 4:26 pm

Aye the code elements should be there, though not 100% sure they are right, to determine what variance is with different specs. The gist is we need a way to allow it to use the correct spec line in cases of 2hand and pole spec while allowing the 2hand and pole specs to still be the specs that matter for determining style damage.

Even if you use a pole or 2hand style the base damage component still needs to use the base spec line rather than the pole/2hand line. In cases of styling there is base damage + style damage.

If not it really isn't much of a penality because you will seldom go around not using styles. If your a paly you really shouldn't be having endo issues, if you are a pole arms without end regen, you have a low end cost, anytime style with a 1.0 gr, only reason to use another style be for it's effect as dr has none (at least that is according to my version of charplan which maynot be up to date with last lot of style changes). I will give that it probably would be an issue for 2hand armsman but they still have some decent low end and med end styles.

Wasn't sure if it was alb only, I always went shield on tanks even my rvr server champion.

Regarding the boost to damage. I kind of thought they did but then one day I tried testing and they didn't even seem to get the 1.5 two hand modifier. Basically, I tried wacking on a very grey mob yet seemed to only do 3times weapon delve rather than 4.5 times but not sure if I was hitting cap since I had no 2hand spec on the toon I was testing with. I did confirm friars get a 1.5 bonus on their staff damage. I fairly sure that mids get this 2hand modifier, and think hibs do as well but never tested them at all on it.

I think one thing they did to helped albs having to double spec is autotraining which now you don't have to sacrifice by not specing it to get the points. However mid warriors do get autotrain and mids get 2hand ability for free but what helps keep that in check is they don't get access to the styles of a 2hand line which in general have better growth rates and/or to hits compared to a simlar prereq style in a single line. Pole has defender rage which is an anytime style with a 1.0 gr, that is unmatched in any single base weaponspec line, any other line that type of damage is either a reactionary or followup. Speciality lines like hth and cs will offer better but those are unique. I suspect they possibly also take the doublespecing into account when they do large weaponry gr as well so possibly still better than 1hand weapon lines, possibly not as good as pole/2hand in alb.
Sand
Server Team
 
Posts: 1375
Joined: Sat May 17, 2008 2:05 am

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Kazo » Thu Jul 09, 2009 5:19 am

I am not sure how all the damage is calculated and stuff, but i am sure when you do some sort of calculation for the unstyleddamage you are comparing the type of weapon the player is holding with their spec level of that weapon. Cant you just put something before that check that gets the onehanded verion of a pole or albion twohander? like this

Code: Select all
if ((weapon.Item_Type==6) || (weapon.Item_Type==7))//albion polearm and two-handed weapons
{
if (weapon.Type_Damage == 1)//Crush damage means it is based off Crush spec
weapon.Item_Type=2;
else
if (weapon.Type_Damage == 2)//Slash damage means it is based off Slash spec
weapon.Item_Type=3;
else
if (weapon.Type_Damage == 3)//Thrust damage means it is based off Thrust spec
weapon.Item_Type=4;
}
Kazo
DOL Novice
 
Posts: 52
Joined: Tue Jun 30, 2009 2:47 am

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Crazys » Thu Jul 09, 2009 12:23 pm

Kazo wrote:I am not sure how all the damage is calculated and stuff, but i am sure when you do some sort of calculation for the unstyleddamage you are comparing the type of weapon the player is holding with their spec level of that weapon. Cant you just put something before that check that gets the onehanded verion of a pole or albion twohander? like this

Code: Select all
if ((weapon.Item_Type==6) || (weapon.Item_Type==7))//albion polearm and two-handed weapons
{
if (weapon.Type_Damage == 1)//Crush damage means it is based off Crush spec
weapon.Item_Type=2;
else
if (weapon.Type_Damage == 2)//Slash damage means it is based off Slash spec
weapon.Item_Type=3;
else
if (weapon.Type_Damage == 3)//Thrust damage means it is based off Thrust spec
weapon.Item_Type=4;
}
I think you are going at this at an odd approuch. To clarify the way dual specing works for this is When say a Armsmen Specs Polearm and uses a slash polearm his slash spec is considered. NOW! The Main spec determines damage! the slash determines variance. 50 Polearm will allow you to deal (not real numbers) 300-500 with a specific style. By specing Slash because you are using a slash weapon it lowers the variance to 425-500. So you deal more damage over all because your bottom variance level is increased.
Crazys
Contributor
 
Posts: 346
Joined: Tue Nov 07, 2006 10:18 pm

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Sand » Thu Jul 09, 2009 1:33 pm

I don't think it is an odd approach.

The STYLE damage is determined by main spec for sure.

The Varience number is determined by the base line spec for sure.

I think base damage is also based on your base spec, certainly if you don't style.

So the approach is solid, just where it is located is the issue, it may just need to be put in the part where the variance is determined.

Here are a couple grab bags on it:
http://www.camelotherald.com/news/news_ ... oryid=3160
http://www.camelotherald.com/news/news_ ... oryid=3105
Sand
Server Team
 
Posts: 1375
Joined: Sat May 17, 2008 2:05 am

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Crazys » Fri Jul 10, 2009 2:45 pm

Sand wrote:I don't think it is an odd approach.

The STYLE damage is determined by main spec for sure.

The Varience number is determined by the base line spec for sure.

I think base damage is also based on your base spec, certainly if you don't style.

So the approach is solid, just where it is located is the issue, it may just need to be put in the part where the variance is determined.

Here are a couple grab bags on it:
http://www.camelotherald.com/news/news_ ... oryid=3160
http://www.camelotherald.com/news/news_ ... oryid=3105


Aye Sand thats what i ment. IF you switch it to the main before hand the entire damage would be calculated wrong would it not? So i agree good start but wrong placement.
Crazys
Contributor
 
Posts: 346
Joined: Tue Nov 07, 2006 10:18 pm

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Crazys » Fri Jul 10, 2009 3:38 pm

I noticed some issues with damage variance. being currently at work i cannot translate into the forums this easy enough to get everything in. I'll post my patch for this over the weekend! Just keeping peeps updated :)
Crazys
Contributor
 
Posts: 346
Joined: Tue Nov 07, 2006 10:18 pm

Re: Albion TwoHanded And Pole DamageCalculation Fix

Postby Sand » Sat Jul 11, 2009 2:52 am

Aye if the style damage is based off gr and base damage, then yes if that base damage was calculated using the base weapon line then it would throw it off.

I haven't looked at the code so not sure the specifics so was just commenting on it in principle.

Think your right that comes down to where to put it, if we put the type of code as above in after the style damage is calculated but then apply a check to overwrite base damage to be this new value instead of the one previously calculated, I think we acheive the right effect.

If that makes sense.

Not sure if that is the cleanest approach we can have.
Sand
Server Team
 
Posts: 1375
Joined: Sat May 17, 2008 2:05 am


Return to “%s” DOL Code Contributions

Who is online

Users browsing this forum: No registered users and 1 guest