Exemplo n.º 1
0
 public override void Death(Shared.Framework.DamageType damageType)
 {
     base.Death(damageType);
     if (damageType.name == "Player")
     {
         GameManager.GM.youMonster++;
     }
 }
Exemplo n.º 2
0
        /*public override bool CanAttack()
         * {
         *      return (!healed);
         * }*/

        public override void Attack()
        {
            Shared.Framework.DamageType dmgtype = new Shared.Framework.DamageType(enemy.gameObject, "Healer");
            HeroCharacterController     HCC     = GameObject.FindGameObjectWithTag("Player").GetComponent <HeroCharacterController>();

            if (Vector3.Distance(transform.position, HCC.transform.position) < 3)
            {
                HCC.TakeDamage(-10, dmgtype);
                //healed = true;
            }
        }
Exemplo n.º 3
0
        public override void Attack()
        {
            Vector3 target = aimMod.AcquireTarget();

            RaycastHit[] hits;

            Transform transform = enemy.transform;

            Vector3[] startPos = new Vector3[3] {
                transform.position + new Vector3(0, 0, 0),
                transform.position + new Vector3(0, -0.5f, 0),
                transform.position + new Vector3(0, -1, 0)
            };
            Color[] colours = new Color[3] {
                Color.red,
                Color.green,
                Color.blue
            };
            for (int i = 0; i < 3; i++)
            {
                Vector3 aimStart = Vector3.zero;
                aimStart.y   = aimOffset.y;
                aimStart.x   = aimOffset.x * enemy.GetFacingDirection();
                startPos[i] += aimStart;
            }
            Vector3 direction = target - startPos[0];

            direction.Normalize();
            direction *= 3f;

            for (int i = 0; i < 3; i++)
            {
                Vector3 endPos = startPos[i] + direction;

                hits = Physics.RaycastAll(startPos[i], direction, 3f);
                //Debug.DrawRay(startPos[i], new Vector3(direction, 0, 0), colours[i], 3);
                Debug.DrawLine(startPos[i], endPos, colours[i], 1);
                foreach (var hit in hits)
                {
                    //print(hit.collider.name);
                    if (hit.collider != null && hit.collider.GetComponent <HeroCharacterController>())
                    {
                        Shared.Framework.DamageType dmgtype = new Shared.Framework.DamageType(enemy.gameObject, "Attacker");
                        hit.collider.GetComponent <HeroCharacterController>().TakeDamage(10, dmgtype);
                        return;
                    }
                }
            }
        }
Exemplo n.º 4
0
 public virtual void Death(Shared.Framework.DamageType damageType)
 {
 }