using RichCreator.Utility.InputControl; using RichCreator.Utility.Structs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using RichCreator.Utility.Maps; namespace RichCreator.Utility.Skills { /// /// 技能信息 /// public class SkillInfo { /// /// 技能列表 /// private static Dictionary Skills = new Dictionary() { { HIDCode.Q, new SkillInfo (){ Key=HIDCode.Q,AttackRange=new ZTRectangle(0,0,700,200),Range=new ZTSize (700,200),CDTime=9, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=1300,SkillName="朔风牵引"} }, { HIDCode.W, new SkillInfo (){ Key=HIDCode.W,AttackRange=new ZTRectangle(0,0,620,240),Range=new ZTSize (620,240),CDTime=45, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Center,ReleaseWaitTime=1000,SkillName="风卷残云"} }, { HIDCode.E, new SkillInfo (){ Key=HIDCode.E,AttackRange=new ZTRectangle(0,0,800,200),Range=new ZTSize (1280,200),CDTime=12.6f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=1000, SkillName="双翼风刃"} }, { HIDCode.R, new SkillInfo (){ Key=HIDCode.R,AttackRange=new ZTRectangle(0,0,400,200),Range=new ZTSize (400,200),CDTime=14.4f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=1240, SkillName="风暴之眼"} }, { HIDCode.T, new SkillInfo (){ Key=HIDCode.T,AttackRange=new ZTRectangle(0,0,120,300),Range=new ZTSize (120,300),CDTime=40.5f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=2000,SkillName="九霄风雷"} }, { HIDCode.Y, new SkillInfo (){ Key=HIDCode.Y,AttackRange=new ZTRectangle(-800,-600,800,600),Range=new ZTSize (1280,720),CDTime=145, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Center,ReleaseWaitTime=2000,SkillName="万象风龙阵"} }, { HIDCode.A, new SkillInfo (){ Key=HIDCode.A,AttackRange=new ZTRectangle(0,0,240,148),Range=new ZTSize (240,148),CDTime=7.7f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Nearly,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=600,SkillName="风鸣冲击"} }, { HIDCode.S, new SkillInfo (){ Key=HIDCode.S,AttackRange=new ZTRectangle(0,0,180,430),Range=new ZTSize (180,430),CDTime=22.5f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=2000,SkillName="真空旋风破"} }, { HIDCode.D, new SkillInfo (){ Key=HIDCode.D,AttackRange=new ZTRectangle(0,0,800,240),Range=new ZTSize (1280,240),CDTime=6.3f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=500,SkillName="游离之风"} }, { HIDCode.F, new SkillInfo (){ Key=HIDCode.F,AttackRange=new ZTRectangle(0,0,370,224),Range=new ZTSize (370,224),CDTime=40.5f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=2000,SkillName="风暴之拳"} }, { HIDCode.G, new SkillInfo (){ Key=HIDCode.G,AttackRange=new ZTRectangle(0,0,730,218),Range=new ZTSize (730,218),CDTime=36, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=2000,SkillName="游龙惊风破"} }, { HIDCode.H, new SkillInfo (){ Key=HIDCode.H,AttackRange=new ZTRectangle(-800,-600,800,600),Range=new ZTSize (1280,720),CDTime=180, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Quantity,ReleaseAnchor=SkillAnchor.Center,ReleaseWaitTime=2000,SkillName="无限风域"} }, { HIDCode.X, new SkillInfo (){ Key=HIDCode.X,AttackRange=new ZTRectangle(0,0,200,170),Range=new ZTSize (200,170),CDTime=0.5f, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Nearly,ReleaseAnchor=SkillAnchor.Side,ReleaseWaitTime=500,SkillName="普通攻击"} }, { HIDCode.Space,new SkillInfo (){ Key=HIDCode.Space ,AttackRange=new ZTRectangle(-800,-600,800,600),Range=new ZTSize (1280,720),CDTime=300, AnchorOffset=new ZTSize(0,-50),MovePriority=MovePriority.Nearly,ReleaseAnchor=SkillAnchor.Center,ReleaseWaitTime=2000,SkillName="技能加成"} } }; /// /// 获取技能 /// /// /// public static SkillInfo GetSkillInfo(HIDCode code) { if (Skills.ContainsKey(code)) { return Skills[code]; } return null; } /// /// 技能触发键 /// public HIDCode Key; /// /// 攻击范围 /// public ZTSize Range; /// /// 技能恢复时间(秒) /// public float CDTime; /// /// 技能名称 /// public string SkillName; /// /// 技能释放和释放完后可以移动的等待时长(毫秒) /// public float ReleaseWaitTime { get; set; } /// /// 技能释放锚点编移 /// 靠近为正,远离为负 /// 上负,下正 /// 锚点为中间时无效 /// public ZTSize AnchorOffset { get; set; } /// /// 移动优先级 /// public MovePriority MovePriority { get; set; } /// /// 技能释放位置 /// public SkillAnchor ReleaseAnchor { get; set; } /// /// 攻击范围 /// (0,0)为角色位置 /// public ZTRectangle AttackRange { get; set; } /// /// 技能释放时角色位置 /// public enum SkillAnchor { Side,//两边 Center//中间 } } }