// Generate By EToy
// Don't Edit It!!
using XGame.Framework.Database;
using XGame.Framework.Serialization;
namespace XGame.Database
{
/// Buff
public sealed class BuffTable : ITable
{
long ITable.Key => Id;
/// BUFFIDBUFF类型*100+序号
public int Id { get; private set; } // sc
/// 名字
public string Name { get; private set; } // c
/// 图标
public string Icon { get; private set; } // c
/// buff描述
public string Desc { get; private set; } // c
/// 元素系1:火2:雷3:冰4:毒5:风0:无元素
public EElementType Element { get; private set; }
/// 叠加上限
public int AddUp { get; private set; } // sc
/// BUFF持续时间
public int EndureTime { get; private set; } // sc
/// buff特效
public string BuffEffect { get; private set; } // c
/// buff结束特效
public string BuffEndEffect { get; private set; } // c
/// 作用对象 1:主角 2:所有飞剑 3:主角+飞剑 4:所有剑 8:所有斧 16:所有锤 32:所有法杖 64:所有匕首 512:受击者(敌方单体)1024:敌方群体2048:友方群体4096:施法者
public int TargetType { get; private set; } // sc
/// BUFF类型1:属性类(增加攻击,增加防御,增加生命,增加攻速,增加免伤,降低移动速度,降低攻击速度,普攻时伤害加成,暴击时伤害加成,连击时伤害加成,反击时伤害加成,技能暴击时伤害加成,伤害加成,技能伤害加成,回复)2:眩晕3:眩晕状态伤害加成4:冰冻5:冰冻状态伤害加成6:沉默7:麻痹8:护盾9:护盾转化(时间内护盾没有被击破直接转化成生命)10:流血/中毒/灼烧11:流血时伤害加深/中毒时伤害加深/灼烧时伤害加深12:无敌13:回复效果降低110:元素易伤-易燃120:元素易伤-引雷130:元素易伤-冻伤140:元素易伤-毒雾150:元素易伤-风语
public int BuffType { get; private set; } // sc
/// BUFF效果1:属性类型BUFF(属性ID,属性数值(正值表示增加,负值表示降低,增加的属性值根据属性类型直接进行+/-))3:正值表示增加,负值表示降低5:正值表示增加,负值表示降低7:正值表示增加,负值表示降低8:生命护盾百分比9:护盾值转化百分比10:每秒的百分比伤害11:百分比效果12:持续时长110:[灼烧buffId,触发概率,3,灼烧buffId,5,炎爆技能id]120:[天雷技能Id,触发概率,3,眩晕buffId,5,磁暴技能Id)]130:[1(预留),伤害加成比例,3,冰冻buffId,5,冰盾Buffid]140:[毒buffId,触发概率,3,毒爆技能Id,5,中毒层数]150:[攻速buffId,触发概率,3,攻速buffId,5,飓风技能id]
public int[] BuffTypeNum { get; private set; } // sc
void ISerializable.Deserialize(IReader reader)
{
Id = reader.ReadInt();
Name = reader.ReadString();
Icon = reader.ReadString();
Desc = reader.ReadString();
Element = (EElementType)reader.ReadInt();
AddUp = reader.ReadInt();
EndureTime = reader.ReadInt();
BuffEffect = reader.ReadString();
BuffEndEffect = reader.ReadString();
TargetType = reader.ReadInt();
BuffType = reader.ReadInt();
BuffTypeNum = reader.ReadEnumerable();
}
void ISerializable.Serialize(IWriter writer)
{
writer.Write(Id);
writer.Write(Name);
writer.Write(Icon);
writer.Write(Desc);
writer.Write((int)Element);
writer.Write(AddUp);
writer.Write(EndureTime);
writer.Write(BuffEffect);
writer.Write(BuffEndEffect);
writer.Write(TargetType);
writer.Write(BuffType);
writer.Write(BuffTypeNum);
}
}
}