Page 1 of 1

RA Maitre guérisseur et bonus TOA soins

Posted: 25 Feb 2009, 13:48
by Sorsha
Un petit soucis avec le RA maitre guérisseur et le bonus TOA tout les sorts de soins , les deux cumulés cap à 25% alors que seul le bonus TOA devrait cap à 25% , la RA n'a pas de cap si ce n'est la limite de la valeur qu'elle donne

Posted: 28 Apr 2009, 16:21
by Sorsha
UP

Le code actuel ressemble à ça

Code: Select all

// Healing Effectivness
	[PropertyCalculator(eProperty.HealingEffectiveness)]
	public class HealingEffectivenessPercentCalculator : PropertyCalculator
	{
		public override int CalcValue(GameLiving living, eProperty property) 
		{
			int percent = living.BuffBonusCategory1[(int)property]
				- living.BuffBonusCategory3[(int)property]
				+ living.ItemBonus[(int)property]
				+ living.AbilityBonus[(int)property];

			if (living is GamePlayer)
			{
				//Relic bonnus is calculated before ra bonus
				percent = (int)(percent * RelicMgr.GetRelicBonusModifier(living.Realm, eRelicType.Magic));
			}

			//hardcap at 25%
			return Math.Min(25, percent);
		}
	}

la formule est mal faite , le cap à 25 doit se faire uniquement pour le bonus TOA

voilà lun code correct qui fait bien le calcule (dernière version de DOL ) en appliquant uniquement le cap au bonus TOA

Code: Select all

// Healing Effectivness
    [PropertyCalculator(eProperty.HealingEffectiveness)]
    public class HealingEffectivenessPercentCalculator : PropertyCalculator
    {
        public override int CalcValue(GameLiving living, eProperty property)
        {
            //hardcap at 25%
            int percent = Math.Min(25, living.BaseBuffBonusCategory[(int)property]
                - living.DebuffCategory[(int)property]
                + living.ItemBonus[(int)property]);
            // Add RA bonus
            percent += living.AbilityBonus[(int)property];

            // Relic bonus calculated before RA bonuses
            if (living is GamePlayer || living is NecromancerPet)
                percent = (int)(percent * (1.00 + RelicMgr.GetRelicBonusModifier(living.Realm, eRelicType.Magic)));

            return percent;
        }
    }
:D

Posted: 28 Apr 2009, 20:47
by Dre
Merci, ce sera corrigé prochainement.