示例#1
0
        public override void SetImpact(CreatureEffectsImpact impact)
        {
            if (IsUpdateStats)
            {
                return;
            }

            Player            Player    = Creature as Player;
            CreatureBaseStats baseStats = Global.Global.StatsService.GetBaseStats(Player);

            double increase = 0.0;

            if (Ability.level < 1)
            {
                return;
            }

            increase = Ability.FirstLevel;

            for (int i = 1; i < Ability.level; i++)
            {
                increase += Ability.Step;
            }

            double percent = 1 + (increase / 100);

            impact.ChangeOfAccuracy = (int)(baseStats.Accuracy * percent);
            IsUpdateStats           = true;
        }
示例#2
0
        public override void SetImpact(CreatureEffectsImpact impact)
        {
            if (IsUpdateStats)
            {
                return;
            }

            Player            Player    = Creature as Player;
            CreatureBaseStats baseStats = Global.Global.StatsService.GetBaseStats(Player);

            double increase  = 0.0;
            double increase2 = 0.0;

            if (Ability.level < 1)
            {
                return;
            }

            increase  = Ability.FirstLevel;
            increase2 = 0.6;

            for (int i = 1; i < Ability.level; i++)
            {
                increase  += Ability.Step;
                increase2 += 0.6;
            }

            double percent = 1 + (increase2 / 100);

            Player.GameStats.SkillAttack  = (int)(baseStats.SkillAttack * percent);
            impact.ChangeOfSkillDodgeRate = (int)increase;
            IsUpdateStats = true;
        }
示例#3
0
        public override void SetImpact(CreatureEffectsImpact impact)
        {
            if (IsUpdateStats)
                return;

            double increase = 0.0;

            if (Ability.level < 1)
                return;

            increase = Ability.FirstLevel;

            for (int i = 1; i < Ability.level; i++)
            {
                increase += Ability.Step;
            }

            impact.ChangeOfCriticalAttackRate = (int)increase;
            IsUpdateStats = true;
        }
示例#4
0
        public override void SetImpact(CreatureEffectsImpact impact)
        {
            switch (Effect.Method)
            {
            case 2:
                impact.MovementModificator += (short)Effect.Value;
                break;

            case 3:     //Percent
                impact.MovementPercentModificator += Effect.Value;
                break;

            default:
                Player player = Creature as Player;
                if (player != null)
                {
                    new SpChatMessage("Unknown method " + Effect.Method + " for EfSpeedInc effect.", ChatType.System).Send(player);
                }
                break;
            }
        }
示例#5
0
        public override void SetImpact(CreatureEffectsImpact impact)
        {
            if (IsUpdateStats)
            {
                return;
            }

            double increase = 0.0;

            if (Ability.level < 1)
            {
                return;
            }

            increase = Ability.FirstLevel;

            for (int i = 1; i < Ability.level; i++)
            {
                increase += Ability.Step;
            }

            impact.ChangeOfReflectChance = (int)increase;
            IsUpdateStats = true;
        }
示例#6
0
 public void SetImpact(CreatureEffectsImpact impact)
 {
     Effects.ForEach(effect => effect.SetImpact(impact));
 }
示例#7
0
文件: EfDefault.cs 项目: tbs005/Temu
 public virtual void SetImpact(CreatureEffectsImpact impact)
 {
 }