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); } }
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) } }
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); }
// 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); } }
private void OnTriggerEnter2D(Collider2D collision) { EnemyDamage enemy = collision.GetComponent <EnemyDamage>(); if (enemy != null) { enemy.TakeDamage(DMG); } Destroy(gameObject); }
private void OnTriggerEnter(Collider other) { if (other.tag == "Enemy") { Debug.Log("hitting"); EnemyDamage enemy = other.gameObject.GetComponent <EnemyDamage>(); enemy.TakeDamage(weapon.damage); //DisableCollider(); } }
void OnTriggerEnter2D(Collider2D hitInfo) { EnemyDamage enemyDamage = hitInfo.GetComponent <EnemyDamage>(); if (enemyDamage != null) { enemyDamage.TakeDamage(damage); } if (hitInfo.gameObject.CompareTag("Enemy")) { Destroy(gameObject); } }
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 }
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); } }
// 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); } }
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(); } }
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"); }
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); }