예제 #1
0
    public override bool UseBaseAttack(Combatant target, BattleAction ba, 
			bool counter, float damageFactor, float damageMultiplier)
    {
        bool hit = false;
        bool found = false;
        for(int i=0; i<this.equipment.Length; i++)
        {
            if(this.equipment[i].IsWeapon())
            {
                Weapon wpn = DataHolder.Weapon(this.equipment[i].equipID);
                if(wpn.ownAttack)
                {
                    if(wpn.UseBaseAttack(this, target, damageFactor, damageMultiplier))
                    {
                        hit = true;
                    }
                    found = true;
                }
            }
        }

        if(!found)
        {
            hit = DataHolder.BaseAttack(this.baseAttack[this.baIndex]).Use(this, this.baseElement, target, damageFactor, damageMultiplier);
        }

        if(!this.isDead && counter && this.battleID != target.battleID)
        {
            if(DataHolder.BattleSystem().IsRealTime()) target.UseCounter(this);
            else if(ba != null) ba.doCounter = new bool[] {target.UseCounter(this)};
        }

        return hit;
    }