Beispiel #1
0
    public void Injure(int dmg, GameObject who)
    {
        RPG.InjurePlayer(dmg);
        RPG.FloatingTextAbove(transform, dmg.ToString(), Color.red, 2);
        RPGSounds.Instance.PlayHitSound();
        if (who != null)
        {
            knockback.Knockback(who.transform.position, gameObject.transform.position, 10);

            /*Vector3 direction=(transform.position-who.transform.position);
             * direction.y=0;
             * direction.Normalize();
             * direction.y=+1;
             * knockback.Knockback(direction*5);
             * Debug.Log("player kb:"+direction);*/
        }
    }
Beispiel #2
0
    void DoAttack(int dmg)
    {
        const float ATTACK_RANGE = 5;

        // yuck: i need to check all bad guys!
        GameObject[] enemy = GameObject.FindGameObjectsWithTag("Monster");
        for (int i = 0; i < enemy.Length; i++)
        {
            if (Vector3.Distance(transform.position, enemy[i].transform.position) < ATTACK_RANGE)
            {
                RPGSounds.Instance.PlayHitSound();
                Golem g = enemy[i].GetComponent <Golem>();
                if (g != null)
                {
                    g.Damage(dmg);
                }
                CharacterKnockback kb = enemy[i].GetComponent <CharacterKnockback>();
                if (kb != null)
                {
                    kb.Knockback(transform.position, enemy[i].transform.position, 5);
                }
            }
        }
    }