当前位置: 首页>>代码示例>>C#>>正文


C# GameLiving.GetResistBase方法代码示例

本文整理汇总了C#中GameLiving.GetResistBase方法的典型用法代码示例。如果您正苦于以下问题:C# GameLiving.GetResistBase方法的具体用法?C# GameLiving.GetResistBase怎么用?C# GameLiving.GetResistBase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GameLiving的用法示例。


在下文中一共展示了GameLiving.GetResistBase方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CalculateEffectDuration

        /// <summary>
        /// Calculates the effect duration in milliseconds
        /// </summary>
        /// <param name="target">The effect target</param>
        /// <param name="effectiveness">The effect effectiveness</param>
        /// <returns>The effect duration in milliseconds</returns>
        protected override int CalculateEffectDuration(GameLiving target, double effectiveness)
        {
            // http://support.darkageofcamelot.com/kb/article.php?id=423
            // Patch Notes: Version 1.52
            // The duration is 100% at the middle of the area, and it tails off to 50%
            // duration at the edges. This does NOT change the way area effect spells
            // work against monsters, only realm enemies (i.e. enemy players and enemy realm guards).
            double duration = base.CalculateEffectDuration(target, effectiveness);
            if (!(target is GamePlayer) && !(target is Keeps.GameKeepGuard))
                return (int)duration;
            duration *= (0.5 + 0.5 * effectiveness);
            duration -= duration * target.GetResistBase(Spell.DamageType) * 0.01;

            if (duration < 1)
                duration = 1;
            else if (duration > (Spell.Duration * 4))
                duration = (Spell.Duration * 4);
            return (int)duration;
        }
开发者ID:uvbs,项目名称:Dawn-of-Light-core,代码行数:25,代码来源:ImmunityEffectSpellHandler.cs


注:本文中的GameLiving.GetResistBase方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。