using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace YLBattle { /// /// buff适配器 /// public class BuffAdapter : IBuffAdapter { /// /// buff常量 /// public sm_buff mo = null; /// /// 构造函数 /// /// 模板id public BuffAdapter(string tid) { //this.mo = BuffProxy.Instance.GetBuffInfoById(tid); this.mo = GameConfigData.Ins.GetbuffMo(int.Parse(tid)); } /// /// 获取模板id /// /// 模板id public string TID() { return this.mo.buffid.ToString(); } /// /// 数据类型1=百分比 2=数值 3=自身物攻百分比 4=自身言攻百分比 /// /// public int dataType() { return this.mo.dataType; } /// /// buff效果(1眩晕 2静止 3护盾 4沉默 5麻痹 6灼烧 7冰冻 8中毒) /// /// public int buffType() { return this.mo.buffType; } /// /// 瞄准策略 /// /// public int Aim() { return this.mo.aim; } /// /// buff名称 /// /// 名称 public string Name() { return this.mo.name; } /// /// 特效 /// /// 描述 public string Res() { return this.mo.res; } /// /// Icon /// /// 描述 public string Icon() { return this.mo.icon; } /// /// buff描述 /// /// 描述 public string Desc() { return this.mo.desc; } /// /// buff类型0=buff 1=debuff /// public int style() { return this.mo.style; } /// /// 效果 /// /// public int Effect() { return this.mo.effect; } /// /// 效果 /// /// public string EffectValue() { return this.mo.effectvalue; } /// /// 触发间隔 /// /// public float IntervalTime() { return this.mo.intervalTime; } /// /// 持续时间 /// /// public float sustainTime() { return this.mo.sustainTime; } /// /// 初始能量+ /// /// public int Nengliangzhi() { return this.mo.nengliangzhi; } /// /// 移动速度± /// /// public float MoveSpeed() { return this.mo.moveSpeed; } /// /// 攻击速度± /// /// public float AtkSpeed() { return this.mo.atkSpeed; } /// /// 物攻± /// /// public float Wuligongji() { return this.mo.wuligongji; } /// /// 言攻± /// /// public float Fashuqiangdu() { return this.mo.fashuqiangdu; } /// /// 回复生命值 /// /// public int RestoreHp() { return this.mo.restoreHp; } /// /// 回复言能 /// /// public int RestoreMp() { return this.mo.restoreMp; } /// /// 物攻伤害± /// /// public float PhyatkDamage() { return this.mo.phyatkDamage; } /// /// 言攻伤害± /// /// public float MagatkDamage() { return this.mo.magatkDamage; } /// /// 额外物攻伤害± /// /// public float ExtraphyatkDamage() { return this.mo.extraphyatkDamage; } /// /// 额外言攻伤害± /// /// public float ExtramagatkDamage() { return this.mo.extramagatkDamage; } /// /// 暴击几率± /// /// public float CriticalProb() { return this.mo.criticalProb; } /// /// 暴击伤害± /// /// public float CriticalDamage() { return this.mo.criticalDamage; } /// /// 冷却时间± /// /// public float CoolTime() { return this.mo.coolTime; } /// /// 固定伤害 /// /// public float Damage() { return this.mo.damage; } /// /// 自身攻击力(物攻或言攻)百分比转换伤害 /// /// public float AtkPercent() { return this.mo.atkPercent; } /// /// 状态——晕眩 /// /// public bool Stun() { return this.mo.buffType == 1 ? true : false; } /// /// 状态——静止 /// /// public bool Static() { return this.mo.buffType == 2 ? true : false; } /// /// 状态——护盾 /// /// public bool Shield() { return this.mo.buffType == 3 ? true : false; } /// /// 状态——沉默 /// /// public bool Silent() { return this.mo.buffType == 4 ? true : false; } public int MaxHP() { return 0; } /// /// 循环 /// /// public bool Loop() { return this.mo.loop != 0; } /// /// 检测属性的值 是否有效 /// /// public bool CheckPropertyValue(EBuffEffect effType) { float value = 0; switch(effType) { case EBuffEffect.EBUFF_EFFECT_AtkSpeed: value = this.AtkSpeed(); break; case EBuffEffect.EBUFF_EFFECT_CoolTime: value = this.CoolTime(); break; case EBuffEffect.EBUFF_EFFECT_CriticalDamage: value = this.CriticalDamage(); break; case EBuffEffect.EBUFF_EFFECT_CriticalProb: value = this.CriticalProb(); break; case EBuffEffect.EBUFF_EFFECT_Damage: value = this.Damage(); break; case EBuffEffect.EBUFF_EFFECT_AtkPercent: value = this.AtkPercent(); break; case EBuffEffect.EBUFF_EFFECT_ExtramagatkDa: value = this.ExtramagatkDamage(); break; case EBuffEffect.EBUFF_EFFECT_ExtraphyatkDamage: value = this.ExtraphyatkDamage(); break; case EBuffEffect.EBUFF_EFFECT_Fashuqiangdu: value = this.Fashuqiangdu(); break; case EBuffEffect.EBUFF_EFFECT_MagatkDamage: value = this.MagatkDamage(); break; case EBuffEffect.EBUFF_EFFECT_MoveSpeed: value = this.MoveSpeed(); break; case EBuffEffect.EBUFF_EFFECT_Nengliangzhi: value = this.Nengliangzhi(); break; case EBuffEffect.EBUFF_EFFECT_PhyatkDamage: value = this.PhyatkDamage(); break; case EBuffEffect.EBUFF_EFFECT_RestoreHp: value = this.RestoreHp(); break; case EBuffEffect.EBUFF_EFFECT_RestoreMp: value = this.RestoreMp(); break; case EBuffEffect.EBUFF_EFFECT_Wuligongji: value = this.Wuligongji(); break; case EBuffEffect.EBUFF_EFFECT_Stun: value = this.Stun() ? 1 : 0; break; case EBuffEffect.EBUFF_EFFECT_Static: value = this.Static() ? 1 : 0; break; case EBuffEffect.EBUFF_EFFECT_Shield: value = this.Shield() ? 1 : 0; break; case EBuffEffect.EBUFF_EFFECT_Silent: value = this.Silent() ? 1 : 0; break; case EBuffEffect.EBUFF_EFFECT_MaxHp: value = this.MaxHP(); break; } if( value < 0 || value > 0) { return true; } else { return false; } } } }