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;
}
}
}
}