virtual public double Fight(IBattleProperties battleProperties) { if (battleProperties.HP > 0) { double damageDealt = AttackDMG * (battleProperties.Defense / 100); battleProperties.HP -= damageDealt; return(damageDealt); } else { return(-1); } }
//public bool canTrigger(int code) //{ // return this._effectCodes.IndexOf(code) != -1; //} public IBattleProperties applyTo(IBattleProperties props) { int count = this._effectList.Count; ISkillEffect effect; for (int i=0;i<count;i++) { effect = this._effectList[i]; if ( effect.getCode() == props.getCode() ) { props = effect.applyTo(props); } } return props; }
override public double Fight(IBattleProperties battleProperties) { if (battleProperties.HP > 0 && Arrows > 0) { double damageDealt = AttackDMG * (battleProperties.Defense / 100); battleProperties.HP -= damageDealt; Arrows--; return(damageDealt); } else { return(-1); } }
public IBattleProperties applyTo(IBattleProperties props) { throw new NotImplementedException(); }
/// <summary> /// εΊη¨ζζ /// </summary> /// <param name="props"></param> /// <returns></returns> public IBattleProperties applyEffects(IBattleProperties props) { int len = this._buffList.Count; BuffDataDriven buff; for (int i=0;i< len;i++) { buff = this._buffList[i]; //if ( buff.canTrigger(props.getCode()) ) //{ // buff.applyTo(props); //} } return props; }
public void Command(Karl karl, IBattleProperties battleProperties) { karl.Fight(battleProperties); }