12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace XmdsCommon.Plugin
- {
- public struct NumericalBound
- {
- public int MinValue;
- public int MaxValue;
- public NumericalBound(int min, int max)
- {
- this.MinValue = min;
- this.MaxValue = max;
- }
- }
- public class XmdsStaticLimit
- {
- //攻速基础值
- public static readonly int BaseAttackSpeed = 10000;
- //攻速限制
- public static readonly NumericalBound AttackSpeed = new NumericalBound(-5000, 25000);
- //移速限制
- public static readonly NumericalBound MoveSpeed = new NumericalBound(-5000, 5000);
- //冷却缩减
- public static readonly NumericalBound SkillCoolCut = new NumericalBound(0, 4000);
- //伤害减免
- public static readonly NumericalBound DamageRemit = new NumericalBound(0, 5000);
- //韧性
- public static readonly NumericalBound Toughness = new NumericalBound(0, 3000);
- //技能伤害增幅
- public static readonly NumericalBound SkillDamageDeep = new NumericalBound(0, 5000);
- //治疗增幅
- public static readonly NumericalBound CureDeep = new NumericalBound(0, 5000);
- //控制增幅
- public static readonly NumericalBound ControlDeep = new NumericalBound(0, 5000);
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- public static int GetNormalAttackCD(int atkSpeed, int totalCDTime)
- {
- if (atkSpeed < XmdsStaticLimit.BaseAttackSpeed)
- {
- int downCD = totalCDTime * atkSpeed / XmdsStaticLimit.BaseAttackSpeed;
- return totalCDTime * 2 - downCD;
- }
- else if (XmdsStaticLimit.BaseAttackSpeed < atkSpeed)
- {
- int downCD = totalCDTime * XmdsStaticLimit.BaseAttackSpeed / atkSpeed;
- return totalCDTime - downCD;
- }
- return totalCDTime;
- }
- }
- }
|