예제 #1
0
    public void decision()
    {
        personaje objetivo = FindObjectOfType <ReySlime>();

        System.Random rnd   = new System.Random();
        int           value = rnd.Next(1, 100);

        if (activo == true)
        {
            if (value < 10)
            {
                System.Random rand  = new System.Random();
                int           valor = rand.Next(1, 100);
                if (valor < 50)
                {
                    objetivo.recibeEstado("ceguera", 1);
                }
                Debug.Log("ceguera");
            }
            else if (value < 20)
            {
                objetivo.cambiaHp((int)Math.Round(ad * 1.1, 0), 'f');
                System.Random rand  = new System.Random();
                int           valor = rand.Next(1, 100);
                if (valor < 50)
                {
                    objetivo.recibeEstado("veneno", 5);
                }
                Debug.Log("veneno");
            }
            else if (value < 40)
            {
                objetivo.cambiaHp(ad * 2, 'f');
                Debug.Log("ataque doble");
            }
            else
            {
                objetivo.cambiaHp(ad, 'f');
                Debug.Log("arquero basico");
            }
            animator.transform.GetChild(0).GetComponent <Animator>().Play("arquero", -1, 0);
        }
        else
        {
            Debug.Log("estoy congelado");
        }
    }
예제 #2
0
    public void decision()
    {
        personaje objetivo = FindObjectOfType <ReySlime>();

        System.Random rnd   = new System.Random();
        int           value = rnd.Next(1, 100);

        if (activo == true)
        {
            if (value < 10)
            {
                Debug.Log("detras de mi");
                npc[] aux = FindObjectsOfType <npc>();
                do
                {
                    objetivo = aux[Random.Range(0, aux.Length)];
                } while (objetivo == this);
                objetivo.recibeEstado("defensa2", 3);
            }
            else if (value < 30)
            {
                Debug.Log("defender");
                this.recibeEstado("defensa1", 2);
            }
            else if (value < 60)
            {
                Debug.Log("golpe de escudo");
                objetivo.cambiaHp(def, 'f');
            }
            else
            {
                Debug.Log("tank basico");
                objetivo.cambiaHp(ad, 'f');
            }
            animator.transform.GetChild(0).GetComponent <Animator>().Play("tank", -1, 0);
        }
        else
        {
            Debug.Log("estoy congelado");
        }
    }