public void Heal( Mobile src, Mobile target,float dmg ) { float spellMod = 1.0f; dmg +=src.HealGiveIncrease - src.HealGiveDecrease; dmg *=src.HealGiveModifier; dmg +=src.HealTakeIncrease - src.HealTakeDecrease; dmg *=src.HealTakeModifier; switch( resistance ) { case Resistances.Light: spellMod = LightSpellHealModifier( src ); break; case Resistances.Nature: spellMod = NatureSpellHealModifier( src ); break; } dmg *= spellMod; if ( src.Classe == Classes.Warlock ) { #region Warlock Improved HealthStone if ( src.HaveTalent( Talents.ImprovedHealthstone ) && SpellTemplate.SpellEffects[ 5720 ] == SpellTemplate.SpellEffects[ Id ] ) { AuraEffect ae = (AuraEffect)src.GetTalentEffect( Talents.ImprovedHealthstone ); dmg += dmg * (float)( ae.s1 ) / 100f; } #endregion } target.GainHealth( src, (int)dmg ); }
public void PeriodicDamage() { target.GainHealth(from, heal); }
public void DrainLife( Mobile src, Mobile target, float dmg ) { #region Warlock Improved Health Funnel if ( src.HaveTalent( Talents.ImprovedHealthFunnel ) && SpellTemplate.SpellEffects[ (int)Id ] == SpellTemplate.SpellEffects[ 755 ] ) { AuraEffect ae = (AuraEffect)src.GetTalentEffect( Talents.ImprovedHealthFunnel ); dmg += dmg * ( (float)ae.S1 ) / 100f; } #endregion int heal = MakeDamage( true, src, target, dmg, true ); if ( src.HaveTalent( Talents.ImprovedDrainLife ) ) { AuraEffect ae = (AuraEffect)src.GetTalentEffect( Talents.ImprovedDrainLife ); float minus = (float)heal; minus += ( minus * (float)ae.S1 ) / 100f; heal = (int)minus; } src.GainHealth( target, heal ); }