Ejemplo n.º 1
0
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        //Debug.Log(hitInfo.name);
        EnemyDamage EnemyDamage = hitInfo.GetComponent <EnemyDamage>();

        if (hitInfo.name != "Bullet(Clone)")
        {
            if (sourceOfShot == true)
            {
                Debug.Log("Invoking EnemyDamage Subroutine");
                damage = Random.Range(30, 40);
                EnemyDamage.TakeDamage(damage);
                sourceOfShot = false;
            }
            else
            {
                Debug.Log("Invoking PlayerDamage Subroutine");
                damage = Random.Range(10, 20);
                Health.TakeDamage(damage);
            }
            Destroy(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }
    }
Ejemplo n.º 2
0
    void Shoot()
    {
        MuzzleFlash.Play(); // script to play muzzle flash when you shoot

        RaycastHit hit;

        if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range))   //This part is the actual Raycast part it turns the fpsCam into a position and then takes the fpsCam again and makes it so it's the forward part and then shoots a Ray to another hit box

        {
            Debug.Log(hit.transform.name); // just debug to see if gun was working

            EnemyDamage EnemyDamage = hit.transform.GetComponent <EnemyDamage>();
            if (EnemyDamage != null) // this is saying if the enemy is taking Enemydamage to make them take damage
            {
                EnemyDamage.TakeDamage(damage);
            }

            if (hit.rigidbody != null)                             //This is adding knockback to what gets hit by guns
            {
                hit.rigidbody.AddForce(-hit.normal * ImpactForce); //-hit means they are getting hit backwards which is them multiplied by the impact force
            }

            Instantiate(ImpactEffect, hit.point, Quaternion.LookRotation(hit.normal)); // This is adding the bullet rickechy off ground and other surfaces (the look rotation is to make the animation play facing outwards instead of inwards towards the object)
        }
    }
Ejemplo n.º 3
0
    void Shoot()
    {
        audioSource.Play();
        currentAmmo--;
        timeTillDestroy = Time.time + 0.02f;
        RaycastHit2D hitInfo = Physics2D.Raycast(weaponTip.position, weaponTip.up, range, ~LayerMask);
        var          end     = weaponTip.position + weaponTip.up.normalized * range;

        if (hitInfo.collider != null)
        {
            EnemyDamage enemy = hitInfo.transform.GetComponent <EnemyDamage>();
            if (enemy != null)
            {
                enemy.TakeDamage(damage);
            }
            GameObject impactOB = Instantiate(impactFX, new Vector3(hitInfo.point.x, hitInfo.point.y, 0), Quaternion.LookRotation(hitInfo.normal));
            impactOB.GetComponent <ParticleSystem>().Play();
            Destroy(impactOB, 2f);
            lr.SetPosition(0, weaponTip.position);
            lr.SetPosition(1, hitInfo.point);
        }
        else
        {
            lr.SetPosition(0, weaponTip.position);
            lr.SetPosition(1, end);
        }

        timeTillNext = Time.time + 1f / fireRate;
        muzzleFlash.SetActive(true);
    }
Ejemplo n.º 4
0
    // Update is called once per frame
    void Update()
    {
        Vector3 difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;

        difference.Normalize();
        float rotation_z = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;

        transform.rotation = Quaternion.Euler(0f, 0f, rotation_z);

        if (Input.GetKey(KeyCode.Mouse0) && currentEnergy > 0f)
        {
            RaycastHit2D hit = Physics2D.Raycast(firepoint.transform.position, transform.right * laserLength);
            if (hit.collider != null && hit.collider.gameObject.tag == "Enemy")
            {
                EnemyDamage enemyDamage = hit.collider.GetComponent <EnemyDamage>(); // Döp om till EnemyDamage
                if (enemyDamage != null)
                {
                    enemyDamage.TakeDamage();
                }
            }
            Debug.DrawRay(firepoint.transform.position, transform.right * laserLength, Color.red);
        }

        if (Input.GetKey(KeyCode.Mouse0))
        {
            TakeEnergy();
        }
        else
        {
            AddEnergy();
        }
    }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        enemyDamage = collision.GetComponent <EnemyDamage>();

        //Comprueba que el enemigo no está en el array de los que ya han sido atacados
        int i = 0;

        while (i < contEnem && collision.gameObject != enemies[i])
        {
            i++;
        }

        if (enemyDamage != null && i == contEnem)
        {
            //Añade el enemigo al array de enemigos golpeados
            enemies[contEnem] = collision.gameObject;
            contEnem++;

            enemyDamage.TakeDamage(damage);
            SoundManager.Instance.Play(sfx);

            //Transform del padre que indica la dirección del ataque
            Transform directionTransform = transform.parent.parent;
            //Vector de la dirección hacia el enemigo
            Vector2 dir = collision.transform.position - directionTransform.position;

            //Knockback
            Vector2 dirKnockback = dir.normalized * knockbackForce;

            enemyDamage.Knockback(dirKnockback, knockbackTime);
        }
    }
Ejemplo n.º 6
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        EnemyDamage enemy = collision.GetComponent <EnemyDamage>();

        if (enemy != null)
        {
            enemy.TakeDamage(DMG);
        }
        Destroy(gameObject);
    }
Ejemplo n.º 7
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Enemy")
     {
         Debug.Log("hitting");
         EnemyDamage enemy = other.gameObject.GetComponent <EnemyDamage>();
         enemy.TakeDamage(weapon.damage);
         //DisableCollider();
     }
 }
Ejemplo n.º 8
0
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        EnemyDamage enemyDamage = hitInfo.GetComponent <EnemyDamage>();

        if (enemyDamage != null)
        {
            enemyDamage.TakeDamage(damage);
        }
        if (hitInfo.gameObject.CompareTag("Enemy"))
        {
            Destroy(gameObject);
        }
    }
Ejemplo n.º 9
0
    private void OnTriggerEnter(Collider other)
    {
        //Debug.Log(other.transform.name);

        EnemyDamage target = other.transform.GetComponent <EnemyDamage>();

        if (target != null)
        {
            target.TakeDamage(damage);
        }

        //GameObject impactGameObj = Instantiate(impactEffect, other.point, Quaternion.LookRotation(other.normal));
        //Destroy(impactGameObj, 1f);

        //Change to pool
    }
Ejemplo n.º 10
0
    void Shoot()
    {
        muzzleflash.Play();
        RaycastHit hit;

        if (Physics.Raycast(fpscam.transform.position, fpscam.transform.forward, out hit, dist))
        {
            EnemyDamage Damage = hit.transform.GetComponent <EnemyDamage>();
            if (Damage != null)
            {
                Damage.TakeDamage(dam);
            }

            GameObject inpactGO = Instantiate(inpactEffect, hit.point, Quaternion.LookRotation(hit.normal));
            Destroy(inpactGO, 2f);
        }
    }
Ejemplo n.º 11
0
    //  On collision
    private void OnTriggerEnter2D(Collider2D collision)
    {
        EnemyDamage enemy        = collision.GetComponent <EnemyDamage>();
        var         enemyPassive = collision.GetComponent <ReflectEnemy>();

        if (enemyPassive)
        {
            //  Rotates bullet 180 degrees so it faces the player
            transform.localRotation *= Quaternion.Euler(0, 0, 180);
            //  Changes bullet volecity so it bounces back from enemy (at 40% slower speed)
            rb.velocity *= -.6f;
        }
        else if (enemy != null)
        {
            enemy.TakeDamage(DMG);
            Destroy(gameObject);
        }
    }
Ejemplo n.º 12
0
    public void ArmorSave()
    {
        EnemyDamage enemyDamage = target.GetComponent <EnemyDamage>();

        armorsave = Random.Range(0, 10);
        Debug.Log("armorsave" + armorsave);
        if (armorsave >= enemyDamage.armorPlus)
        {
            Debug.Log(" Damage taken");
            enemyDamage.TakeDamage(damagePerHit);
        }
        else
        {
            Debug.Log("armorProtects");
            swingAudio.clip = armorSave;
            swingAudio.Play();
        }
    }
Ejemplo n.º 13
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        BossScript  boss  = collision.GetComponent <BossScript>();
        EnemyDamage enemy = collision.GetComponent <EnemyDamage>();

        if (enemy != null)
        {
            enemy.TakeDamage(damage);
        }
        else if (boss != null)
        {
            boss.TakeDamage(damage);
        }

        Instantiate(effect, transform.position, Quaternion.identity);


        Destroy(gameObject);
    }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        EnemyDamage enemigo = collision.gameObject.GetComponent <EnemyDamage>();

        if (enemigo != null)
        {
            enemigo.TakeDamage(damage);

            SoundManager.Instance.Play(sfxLanza);

            if (veneno)
            {
                Debug.Log("envenenando");

                enemigo.Poisoned(poisonTicks, poisonDmgPerTick);
            }
        }

        // Debug.Log("hola buenas tardes");
    }
Ejemplo n.º 15
0
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        EnemyDamage   enemyDamage    = hitInfo.GetComponent <EnemyDamage>();
        Playecontroll playerControll = hitInfo.GetComponent <Playecontroll>();

        if (enemyDamage != null)
        {
            enemyDamage.TakeDamage(damage);
        }
        if (hitInfo.gameObject.CompareTag("Player") || hitInfo.gameObject.CompareTag("Enemy") || hitInfo.gameObject.CompareTag("Walls"))
        {
            Destroy(gameObject);
        }


        if (playerControll != null)
        {
            playerControll.TakeDamage(damage);
        }
    }
    void shoot()
    {
        RaycastHit hit;

        if (Physics.Raycast(tpsCam.transform.position, tpsCam.transform.forward, out hit, range))
        {
            EnemyDamage target = hit.transform.GetComponent <EnemyDamage> ();

            if (target != null)
            {
                target.TakeDamage(damage);
            }

            if (hit.rigidbody != null)
            {
                hit.rigidbody.AddForce(-hit.normal * 50f);
            }
        }
        GameObject ImpactGo = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));

        Destroy(ImpactGo, 2f);
    }