Exemple #1
0
    public int Faccao; //0 representa a faccao do jogador, 1 sao os barbaros, 2 as faccoes menores;

    public virtual void Attack(HexUnit Target)
    {
        //verificar se a distancia esta adequada para o ataque ao alvo;
        var DMG = this.ATK * (1 - Target.DEF);

        Target.HitP -= DMG;
        Target.UpdateHP();
        if (Target.HitP > 0) //se o alvo sobreviveu o ataque tem chances de revidar;
        //verifica se o contra-ataque tem alcance;
        {
            DMG        = Target.ATK * (1 - this.DEF);
            this.HitP -= DMG;
            this.UpdateHP();
        }
        if (this.HitP > 0 && Target.HitP > 0) //se ambos ainda estao vivos, iniciar segunda rodada;
        {
            if (this.SPD > Target.SPD + 5)    //se minha velocidade eh maior que 5 a mais do que meu inimigo, eu ataco denovo;
            {
                DMG          = this.ATK * (1 - Target.DEF);
                Target.HitP -= DMG;
                Target.UpdateHP();
            }
            else if (Target.SPD > this.SPD + 5) //se o alvo tem mais velocidade, ele tem direito ao ataque extra;
            //verifica distancia mais uma vez;
            {
                DMG        = Target.ATK * (1 - this.DEF);
                this.HitP -= DMG;
                this.UpdateHP();
            }
        }
    }