コード例 #1
0
ファイル: SpellTemplate.cs プロジェクト: karliky/wowwow
 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 );
 }
コード例 #2
0
 public void PeriodicDamage()
 {
     target.GainHealth(from, heal);
 }
コード例 #3
0
ファイル: SpellTemplate.cs プロジェクト: karliky/wowwow
 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 );
 }