123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- // Generate By EToy
- // Don't Edit It!!
- using XGame.Framework.Database;
- using XGame.Framework.Serialization;
- namespace XGame.Database
- {
- /// <summary> Skill </summary>
- public sealed class SkillTable : ITable
- {
- long ITable.Key => Id;
- /// <summary> id职业技能:职业ID*10+序号飞剑技能:飞剑ID*10+序号怪物技能:怪物ID*10+序号通用技能:200000+技能品质*100+序号家族技能:300000+技能品质*100+序号车位技能:400000+技能品质*100+序号 </summary>
- public int Id { get; private set; }
- /// <summary> 品质0:无品质1:白2:绿3:蓝4:紫5:黄6:橙7:红8:粉 </summary>
- public int Quality { get; private set; }
- /// <summary> 技能图标 </summary>
- public string Icon { get; private set; } // c
- /// <summary> 技能名称 </summary>
- public string Name { get; private set; } // c
- /// <summary> 技能描述 </summary>
- public string Desc { get; private set; } // c
- /// <summary> 元素系1:火2:雷3:冰4:毒5:风0:无元素 </summary>
- public EElementType Element { get; private set; }
- /// <summary> 技能型态1:主动技能2:被动技能 </summary>
- public int ModalityType { get; private set; } // c
- /// <summary> 技能效果类型1.永久属性类(该类型的技能不走触发)2.伤害类型3.BUFF类型4:召唤类型 </summary>
- public int EffectType { get; private set; }
- /// <summary> 技能类型0:无(永久属性类适用)1:单体2:群体3:召唤 </summary>
- public int Type { get; private set; } // c
- /// <summary> 作用对象 1:主角 2:所有飞剑 3:主角+飞剑 4:所有剑 8:所有斧 16:所有锤 32:所有法杖 64:所有匕首 512:受击者(敌方单体)1024:敌方群体2048:友方群体4096:施法者 </summary>
- public int TargetType { get; private set; } // sc
- /// <summary> 技能触发类型0:无1:常规(寻找范围内的作用目标释放技能)2:普攻时概率触发(条件类型,概率)3:普攻X次时触发( 条件类型,次数)4:普攻暴击时触发( 条件类型)5:释放技能时触发( 条件类型)6:释放技能后,延迟X秒触发( 条件类型,延迟时间)7:技能暴击时触发( 条件类型)8:连击时触发( 条件类型)9:连击暴击时触发( 条件类型)10:反击时触发( 条件类型)11:击晕时触发( 条件类型)12:闪避时触发( 条件类型)13:被普攻命中时触发( 条件类型)14:被技能命中时触发( 条件类型)15:开场时触发( 条件类型)16:战斗开启后,每隔X秒后触发( 条件类型,间隔时间)17:生命低于%时触发( 条件类型,血量条件)18:生命高于%时触发( 条件类型,血量条件)19:生命每降低%时触发(每个%只能被触发一次)( 条件类型,血量条件)20:释放主动技能后触发直接伤害21:连击X次后触发22:反击X次后触发 </summary>
- public int[] TriggerType { get; private set; }
- /// <summary> 技能持续时间 </summary>
- public int EndureTime { get; private set; }
- /// <summary> 冷却时长 </summary>
- public int RestTime { get; private set; }
- /// <summary> 技能特效类型:0:无101:普通子弹,命中目标造成伤害102:子弹,命中后分裂103:子弹,命中后弹跳104:子弹,不需要选目标,发射目标位置随机,落地找受击目标(单体伤害)并爆炸(群体伤害)201:陷阱301:AOE(虫群特效半径为1,配置宽高需要X2,该特效不适合缩放,预制按照目标尺寸重复摆放基础特效)311:近战AOE,屏幕中心,不可移动312:以选定目标为中心的AOE,不可移动401:Buff501:召唤物 </summary>
- public int SkillVfxType { get; private set; }
- /// <summary> 技能范围,结构由skillVfxType决定104:[落地伤害半径(单体),爆炸半径]201:[触发半径,爆炸半径]AOE:[1,宽,高] OR [2,半径,度数,伤害递减半径,伤害递减系数] </summary>
- public float[] Ranges { get; private set; }
- /// <summary> 基础伤害值 </summary>
- public int Damage { get; private set; }
- /// <summary> 102:[3(数量),60(夹角,为零则找最近的目标),5000(缩放万分比)]103:[2(弹跳次数),2000(伤害递减万分比)]104:[爆炸伤害]AOE:[次数(-1无限直至特效结束),aoe延迟,aoe间隔,1(是否重复选中,0:false),-1:(受击次数,-1:不限,1:1次)] </summary>
- public int[] DamageArgs { get; private set; }
- /// <summary> BUFF关联【触发概率(万分比),buff关联ID】具体ID关联BUFF表 </summary>
- public int[] BuffTie { get; private set; }
- /// <summary> 效果类型(暂时不需要)1:属性类型技能 属性ID,属性值,0/1(0:固定值,1:百分比)2:伤害类型技能 伤害数值百分比,0/1(0:普通伤害计算,1:真伤计算(直接跳过减伤和防御))3:BUFF类型 关联BUFF表ID4:召唤类型 召唤单位ID,数量 </summary>
- public int[] EffectTypeNum { get; private set; }
- /// <summary> 关联技能(暂时不需要) </summary>
- public int[] RelatedSkill { get; private set; }
- void ISerializable.Deserialize(IReader reader)
- {
- Id = reader.ReadInt();
- Quality = reader.ReadInt();
- Icon = reader.ReadString();
- Name = reader.ReadString();
- Desc = reader.ReadString();
- Element = (EElementType)reader.ReadInt();
- ModalityType = reader.ReadInt();
- EffectType = reader.ReadInt();
- Type = reader.ReadInt();
- TargetType = reader.ReadInt();
- TriggerType = reader.ReadEnumerable<int[]>();
- EndureTime = reader.ReadInt();
- RestTime = reader.ReadInt();
- SkillVfxType = reader.ReadInt();
- Ranges = reader.ReadEnumerable<float[]>();
- Damage = reader.ReadInt();
- DamageArgs = reader.ReadEnumerable<int[]>();
- BuffTie = reader.ReadEnumerable<int[]>();
- EffectTypeNum = reader.ReadEnumerable<int[]>();
- RelatedSkill = reader.ReadEnumerable<int[]>();
- }
- void ISerializable.Serialize(IWriter writer)
- {
- writer.Write(Id);
- writer.Write(Quality);
- writer.Write(Icon);
- writer.Write(Name);
- writer.Write(Desc);
- writer.Write((int)Element);
- writer.Write(ModalityType);
- writer.Write(EffectType);
- writer.Write(Type);
- writer.Write(TargetType);
- writer.Write(TriggerType);
- writer.Write(EndureTime);
- writer.Write(RestTime);
- writer.Write(SkillVfxType);
- writer.Write(Ranges);
- writer.Write(Damage);
- writer.Write(DamageArgs);
- writer.Write(BuffTie);
- writer.Write(EffectTypeNum);
- writer.Write(RelatedSkill);
- }
- }
- }
|