Damage increase cap.
Damage increase cap.
Is there any cap for damage increase in pvm?
Is it like that?
Tactics Damage Bonus = (120 / 1.6) + 6.25 = 81.25%
Anatomy Damage Bonus = (120 / 2) + 5 = 65%
Lumberjacking Damage Bonus = 0/5 = 0
Strength Damage Bonus = (125 * 0.3) + 5 = 42.5%
Damage Increase from Items = 100%
Total Damage Bonus = 81.25 + 65 + 0 + 42.5 + 100 = 288.75%
Uoguide source.
Is it like that?
Tactics Damage Bonus = (120 / 1.6) + 6.25 = 81.25%
Anatomy Damage Bonus = (120 / 2) + 5 = 65%
Lumberjacking Damage Bonus = 0/5 = 0
Strength Damage Bonus = (125 * 0.3) + 5 = 42.5%
Damage Increase from Items = 100%
Total Damage Bonus = 81.25 + 65 + 0 + 42.5 + 100 = 288.75%
Uoguide source.
Re: Damage increase cap.
sort of...
Code: Select all
#region Damage Multipliers
/*
* The following damage bonuses multiply damage by a factor.
* Capped at x3 (300%).
*/
int percentageBonus = 0;
WeaponAbility a = WeaponAbility.GetCurrentAbility( attacker );
SpecialMove move = SpecialMove.GetCurrentMove( attacker );
if( a != null )
{
percentageBonus += (int)(a.DamageScalar * 100) - 100;
}
if( move != null )
{
percentageBonus += (int)(move.GetDamageScalar( attacker, defender ) * 100) - 100;
}
percentageBonus += (int)(damageBonus * 100) - 100;
CheckSlayerResult cs = CheckSlayers( attacker, defender );
if ( cs != CheckSlayerResult.None )
{
if ( cs == CheckSlayerResult.Slayer )
defender.FixedEffect( 0x37B9, 10, 5 );
percentageBonus += 100;
}
if ( !attacker.Player )
{
if ( defender is PlayerMobile )
{
PlayerMobile pm = (PlayerMobile)defender;
if( pm.EnemyOfOneType != null && pm.EnemyOfOneType != attacker.GetType() )
{
percentageBonus += 100;
}
}
}
else if ( !defender.Player )
{
if ( attacker is PlayerMobile )
{
PlayerMobile pm = (PlayerMobile)attacker;
if ( pm.WaitingForEnemy )
{
pm.EnemyOfOneType = defender.GetType();
pm.WaitingForEnemy = false;
}
if ( pm.EnemyOfOneType == defender.GetType() )
{
defender.FixedEffect( 0x37B9, 10, 5, 1160, 0 );
percentageBonus += 50;
}
}
}
int packInstinctBonus = GetPackInstinctBonus( attacker, defender );
if( packInstinctBonus != 0 )
{
percentageBonus += packInstinctBonus;
}
if( m_InDoubleStrike )
{
percentageBonus -= 10;
}
TransformContext context = TransformationSpellHelper.GetContext( defender );
if( (m_Slayer == SlayerName.Silver || m_Slayer2 == SlayerName.Silver) && context != null && context.Spell is NecromancerSpell && context.Type != typeof( HorrificBeastSpell ) )
{
// Every necromancer transformation other than horrific beast takes an additional 25% damage
percentageBonus += 25;
}
if ( attacker is PlayerMobile && !(Core.ML && defender is PlayerMobile ))
{
PlayerMobile pmAttacker = (PlayerMobile) attacker;
if( pmAttacker.HonorActive && pmAttacker.InRange( defender, 1 ) )
{
percentageBonus += 25;
}
if( pmAttacker.SentHonorContext != null && pmAttacker.SentHonorContext.Target == defender )
{
percentageBonus += pmAttacker.SentHonorContext.PerfectionDamageBonus;
}
}
BaseTalisman talisman = attacker.Talisman as BaseTalisman;
if ( talisman != null && talisman.Killer != null )
percentageBonus += talisman.Killer.DamageBonus( defender );
percentageBonus = Math.Min( percentageBonus, 300 );
damage = AOS.Scale( damage, 100 + percentageBonus );
#endregion
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
for some reason it wont let me post the other bit
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
Code: Select all
#region Modifiers
/*
* The following are damage modifiers whose effect shows on the status bar.
* Capped at 100% total.
*/
int damageBonus = AosAttributes.GetValue( attacker, AosAttribute.WeaponDamage );
// Horrific Beast transformation gives a +25% bonus to damage.
if( TransformationSpellHelper.UnderTransformation( attacker, typeof( HorrificBeastSpell ) ) )
damageBonus += 25;
// Divine Fury gives a +10% bonus to damage.
if ( Spells.Chivalry.DivineFurySpell.UnderEffect( attacker ) )
damageBonus += 10;
int defenseMasteryMalus = 0;
// Defense Mastery gives a -50%/-80% malus to damage.
if ( Server.Items.DefenseMastery.GetMalus( attacker, ref defenseMasteryMalus ) )
damageBonus -= defenseMasteryMalus;
int discordanceEffect = 0;
// Discordance gives a -2%/-48% malus to damage.
if ( SkillHandlers.Discordance.GetEffect( attacker, ref discordanceEffect ) )
damageBonus -= discordanceEffect * 2;
if ( damageBonus > 100 )
damageBonus = 100;
#endregion
double totalBonus = strengthBonus + anatomyBonus + tacticsBonus + lumberBonus + ((double)(GetDamageBonus() + damageBonus) / 100.0);
return damage + (int)(damage * totalBonus);
}
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
wont let me post the other part...
it's this bit and the top post
it's this bit and the top post
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
Lumber suck. Tried it with 100 anat and 120 tact on Sampire with Dobule Axe demon slayer on Para Balrons , didnt see diffrence.
___________________________________
UABOF - Users against Bullshit on forum.
UABOF - Users against Bullshit on forum.
Re: Damage increase cap.
Thanks Calvin but what I want to know is: the max possible with items is 100%? If I exceed 100% it doens't make difference?
Re: Damage increase cap.
100% is cap from items
Random PvP Videos:
https://www.youtube.com/channel/UCWcxNq ... igMf7_2Nuw
https://www.youtube.com/channel/UCWcxNq ... igMf7_2Nuw
Re: Damage increase cap.
Divine fury also is count as item damage incrase So can go 90di +divine fury for 100,but cant go 100+divine
Don't gain the world and lose your soul; wisdom is better than silver or gold.
Discord: Maya/FireFly#0573
Discord: Maya/FireFly#0573
Re: Damage increase cap.
see line 2255 and 2256
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
anything which is not changing the variable "damageBonus", is outside of the 100% cap.
there's also "percentageBonus" which is like your slayer and stuff.
and "damage"
"damage" is coming from your str, tactics, anatomy, and lumber...
it says tactics gives -50% at zero, base wep damage at 50, and +50% at GM...
lumber and anatomy give 1% per 5 points, and a 10% bonus for GM
str gives 1% bonus for every 5 str.
but these are the annotations, so it's what it should be doing... i assume it's tested and does actually do that.
if you look at the code tho, it all works in a bit of a weird way. see they didn't replace the old code, just sort of fitted an adaptor to make it all into AOS.. but because of that it's kinda messy and there's a lot of redundant code
oh ffs it's not letting me post the code again and i just lost the reply...
im gonna use a naming convention for variables to explain this, so when it's m_ that means it's a variable, ie. a number that changes.
m_damage is derived from your tactics and the weapon you are using.
m_damage is then changed by m_modifiers.
m_modifiers is set by your str, anat, and lumber.
m_damage then gets passed to the next part where it's effected by m_damageBonus.
m_damageBonus is the number you can see in your profile and is capped at 100%. <this is the only number that is physically capped
m_damage has now been changed by m_modifiers, and m_damageBonus.
it is then passed to m_percentageBonus which is like honour, slayer, talisman.
i have no idea what VirtualDamageBonus is, or why it's looking at the quality of the weapon... assuming this is some old code
there's also "percentageBonus" which is like your slayer and stuff.
and "damage"
"damage" is coming from your str, tactics, anatomy, and lumber...
it says tactics gives -50% at zero, base wep damage at 50, and +50% at GM...
lumber and anatomy give 1% per 5 points, and a 10% bonus for GM
str gives 1% bonus for every 5 str.
but these are the annotations, so it's what it should be doing... i assume it's tested and does actually do that.
if you look at the code tho, it all works in a bit of a weird way. see they didn't replace the old code, just sort of fitted an adaptor to make it all into AOS.. but because of that it's kinda messy and there's a lot of redundant code
oh ffs it's not letting me post the code again and i just lost the reply...
im gonna use a naming convention for variables to explain this, so when it's m_ that means it's a variable, ie. a number that changes.
m_damage is derived from your tactics and the weapon you are using.
m_damage is then changed by m_modifiers.
m_modifiers is set by your str, anat, and lumber.
m_damage then gets passed to the next part where it's effected by m_damageBonus.
m_damageBonus is the number you can see in your profile and is capped at 100%. <this is the only number that is physically capped
m_damage has now been changed by m_modifiers, and m_damageBonus.
it is then passed to m_percentageBonus which is like honour, slayer, talisman.
i have no idea what VirtualDamageBonus is, or why it's looking at the quality of the weapon... assuming this is some old code
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
i might be looking at the pre-aos code for the "modifiers" and "damage" variables... im not sure tbh, there's also this:
which is possibly more recent code and does it in a totally different way...
the damageBonus, and percentageBonus ones are really simple tho.
if all you're asking is what is the cap on damageBonus, then yeah it's 100. hence the line which says if it's over 100, set it to 100
Code: Select all
#region Physical bonuses
/*
* These are the bonuses given by the physical characteristics of the mobile.
* No caps apply.
*/
double strengthBonus = GetBonus( attacker.Str, 0.300, 100.0, 5.00 );
double anatomyBonus = GetBonus( attacker.Skills[SkillName.Anatomy].Value, 0.500, 100.0, 5.00 );
double tacticsBonus = GetBonus( attacker.Skills[SkillName.Tactics].Value, 0.625, 100.0, 6.25 );
double lumberBonus = GetBonus( attacker.Skills[SkillName.Lumberjacking].Value, 0.200, 100.0, 10.00 );
if ( Type != WeaponType.Axe )
lumberBonus = 0.0;
#endregion
the damageBonus, and percentageBonus ones are really simple tho.
if all you're asking is what is the cap on damageBonus, then yeah it's 100. hence the line which says if it's over 100, set it to 100
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
Code: Select all
public virtual double GetBonus ( double value, double scalar, double threshold, double offset )
double bonus = value * scalar;
i----f ( value >= threshold )
bonus += offset;
return bonus / 100;
your guess as good as mine on that one tho... i think the scaler is like the conversion from pre-aos, but not sure at all
basically the last 2 multipliers are easy, but what goes on before that with your stats/skills, to get the number to be modified, is a bit of a mystery.. not rly my language this tbh, i just looked it up and double just means you're declaring a more precise variable than a float, so with more decimal places.. you'd think 7 would be enough... but i suppose if you're mathing it then it should be accurate for the calculations
Code: Select all
if ( Core.AOS ) return damage;
/* Apply damage level offset
* : Regular : 0
* : Ruin : 1
* : Might : 3
* : Force : 5
* : Power : 7
* : Vanq : 9
*/
if ( m_DamageLevel != WeaponDamageLevel.Regular )
damage += (2 * (int)m_DamageLevel) - 1;
return damage;
Last edited by Calvin on January 27th, 2020, 6:30 am, edited 1 time in total.
AoS Paladin 4eva
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Draco Dormiens Nunquam Titillandus
https://www.globalplayer.com/live/radiox/manchester/
https://documentaryheaven.com/
Re: Damage increase cap.
Dont post these messages if you cant read the code.....
Last edited by Arden on January 27th, 2020, 6:31 am, edited 1 time in total.
Random PvP Videos:
https://www.youtube.com/channel/UCWcxNq ... igMf7_2Nuw
https://www.youtube.com/channel/UCWcxNq ... igMf7_2Nuw