void Update() { if (target != null) { transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(target.position - transform.position), 5 * Time.deltaTime); if (Vector3.Distance(target.position, transform.position) >= 0.5) { transform.position += transform.forward * moveSpeed * Time.deltaTime; } else { if (target.tag == "Player") { HpPlayer = target.GetComponent<PlayerStats>(); Destroy(gameObject); HpPlayer.TakeDamage(damege); } else { HpEnemy = target.GetComponent<EnemyHP>(); Destroy(gameObject); HpEnemy.TakeDamage(damege); } } } if (target == null) { Destroy(gameObject); } }
public void Shoot() { timer = 0f; gunAudio.Play(); gunLight.enabled = true; gunParticles.Stop(); gunParticles.Play(); gunLine.enabled = true; gunLine.SetPosition(0, transform.position); shootRay.origin = transform.position; shootRay.direction = rayHit.point - transform.position; shootRay.direction = new Vector3(shootRay.direction.x, 0.0f, shootRay.direction.z); if (Physics.Raycast(shootRay, out shootRayHit, range, shootableMask)) { EnemyHP enemyHP = shootRayHit.collider.GetComponent <EnemyHP>(); if (enemyHP != null) { enemyHP.TakeDamage(damagePerShot, shootRayHit.point); } gunLine.SetPosition(1, shootRayHit.point); } else { gunLine.SetPosition(1, shootRay.origin + shootRay.direction * range); } }
private void Shoot() { _timer = 0f; _gunFlash.enabled = true; _lineRenderer.enabled = true; _lineRenderer.SetPosition(0, transform.position); _shootRay.origin = transform.position; _shootRay.direction = transform.forward; Debug.Log(DamagePerShot * (Buff_2XDamage ? 2 : 1)); if (Physics.Raycast(_shootRay, out _shootHit, ShootingDistance, _shootableMask)) { EnemyHP enemyHealth = _shootHit.collider.GetComponent <EnemyHP>(); if (enemyHealth != null) { enemyHealth.TakeDamage(DamagePerShot * (Buff_2XDamage ? 2 : 1)); } _lineRenderer.SetPosition(1, _shootHit.point); } else { _lineRenderer.SetPosition(1, _shootRay.origin + _shootRay.direction * ShootingDistance); } }
void Damage(Transform _target) { if (towerBullet) { EnemyHP enemyTarget = _target.GetComponent <EnemyHP>(); if (enemyTarget != null) { enemyTarget.TakeDamage(damage); } } else if (TownHall) { GameObject.Find("GameManager").GetComponent <GameManagerScript>().TownHallHP -= damage; TownHall = false; } else { StructureHP structureTarget = _target.GetComponent <StructureHP>(); if (structureTarget != null) { structureTarget.TakeDamage(damage); } } Destroy(gameObject); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.layer != 13 && collision.gameObject.layer != 14 && collision.gameObject.layer != 17 && collision.gameObject.layer != 21) { GetComponent <CircleCollider2D>().enabled = false; rb.velocity = Vector2.zero; transform.parent = collision.transform; hasHit = true; rb.isKinematic = true; gameObject.layer = 14; GetComponent <TrailRenderer>().emitting = false; } EnemyHP enemy = collision.GetComponent <EnemyHP>(); if (enemy != null) { enemy.TakeDamage(damage); DamageIndicator.Create(enemy.transform.position, damage); FindObjectOfType <AudioManager>().Play("ArrowIn"); } }
void Damage(Transform enemy) { EnemyHP e = enemy.GetComponent <EnemyHP>(); if (e != null) { e.TakeDamage(turretDamage); } }
void OnTriggerEnter2D(Collider2D collider) { EnemyHP enemy = collider.GetComponent <EnemyHP>(); if (enemy != null) { enemy.TakeDamage(10); } Destroy(gameObject); }
private void OnTriggerEnter(Collider Hit) { EnemyHP enemy = Hit.GetComponent <EnemyHP>(); if (enemy != null) { enemy.TakeDamage(AttackDamage); } Destroy(gameObject); }
void Attack() { //Bruh //Checks all colliders in circle of radius size 1f right now Collider2D[] colliders = Physics2D.OverlapCircleAll( new Vector2(transform.position.x + .5f * (controller.movement.facingRight? 1f : -1f), transform.position.y), .25f); bool somethingHit = false; SoundFXManager.instance.PlaySound("FX", "Woosh", false, .4f, .7f); for (int rep = 0; rep < colliders.Length; rep++) { EnemyHP hpComponent = colliders[rep].GetComponent <EnemyHP>(); if (hpComponent != null) { hpComponent.TakeDamage(0); somethingHit = true; } EnemyMeleeBehavior meleeBehavior = colliders[rep].GetComponent <EnemyMeleeBehavior>(); EnemyRangedBehavior rangedBehavior = colliders[rep].GetComponent <EnemyRangedBehavior>(); if (meleeBehavior != null) { meleeBehavior.AddToVelocity(12f * (controller.movement.facingRight? Vector3.right : Vector3.left)); somethingHit = true; } if (rangedBehavior != null) { rangedBehavior.AddToVelocity(12f * (controller.movement.facingRight? Vector3.right : Vector3.left)); somethingHit = true; } Statue statue = colliders[rep].GetComponent <Statue>(); if (statue != null) { statue.Break(); somethingHit = true; } } if (somethingHit) { CameraFollow.INSTANCE.ShakeScreen(1f); SoundFXManager.instance.PlaySound("FX", "Shove"); } CameraFollow.INSTANCE.ShakeScreen(.3f); }
void HeavyAttack() { Collider2D[] colliders = Physics2D.OverlapBoxAll( new Vector2(transform.position.x + .75f * (controller.movement.facingRight? 1f : -1f), transform.position.y), new Vector2(1f, .7f), 0f); SoundFXManager.instance.PlaySound("FX", "Woosh", false, .5f, .5f); bool somethingHit = false; for (int rep = 0; rep < colliders.Length; rep++) { EnemyHP hpComponent = colliders[rep].GetComponent <EnemyHP>(); if (hpComponent != null) { hpComponent.TakeDamage(1); somethingHit = true; } EnemyMeleeBehavior meleeBehavior = colliders[rep].GetComponent <EnemyMeleeBehavior>(); EnemyRangedBehavior rangedBehavior = colliders[rep].GetComponent <EnemyRangedBehavior>(); if (meleeBehavior != null) { meleeBehavior.AddToVelocity(1f * (controller.movement.facingRight? Vector3.right : Vector3.left)); somethingHit = true; } if (rangedBehavior != null) { rangedBehavior.AddToVelocity(1f * (controller.movement.facingRight? Vector3.right : Vector3.left)); somethingHit = true; } Statue statue = colliders[rep].GetComponent <Statue>(); if (statue != null) { statue.Break(); somethingHit = true; } } if (somethingHit) { CameraFollow.INSTANCE.ShakeScreen(1f); SoundFXManager.instance.PlaySound("FX", "Player_Attack"); } CameraFollow.INSTANCE.ShakeScreen(1f); }
void Shoot() { RaycastHit hitInfo; if (Physics.Raycast(cam.transform.position, cam.transform.forward, out hitInfo, range)) { Debug.Log(hitInfo.transform.name); EnemyHP enemy = hitInfo.transform.GetComponent <EnemyHP>(); if (enemy != null) { enemy.TakeDamage(damage); } } }
void Explode(Vector3 point) { float radius = .5f; Collider[] cols = Physics.OverlapSphere(point, radius); foreach (Collider collider in cols) { EnemyHP hp = collider.GetComponentInParent <EnemyHP>(); if (hp != null) { hp.TakeDamage(); } } GameObject.Instantiate(explosion, transform.position, transform.rotation); Destroy(this.gameObject); }
void Laser() { targetEnemyHP.TakeDamage(damageOverTime * Time.deltaTime); if (slowsEnemies) { targetEnemyHP.Slow(slowAmount); } if (lineRenderer.enabled == false) { lineRenderer.enabled = true; } lineRenderer.SetPosition(0, transform.position); lineRenderer.SetPosition(1, target.position); }
void OnTriggerEnter2D(Collider2D other) { if (other.name != "Player") { EnemyHP enemy = other.GetComponent <EnemyHP>(); if (enemy != null) { enemy.TakeDamage(damage); DamageIndicator.Create(enemy.transform.position, damage); } Instantiate(destroyEffect, transform.position, transform.rotation); if (Time.time > timeToDestroy) { timeToDestroy = Time.time + 10; Destroy(gameObject); } } }
private void OnCollisionEnter2D(Collision2D other) { switch (other.gameObject.tag) { case "Enemy": EnemyHP enemyHp = other.gameObject.GetComponent <EnemyHP>(); enemyHp.TakeDamage(damage, direction * knockBack); if (reflectCount <= 0) { Destroy(gameObject); } else { ReflectBulletDirection(other.GetContact(0).normal.normalized); _body.velocity = direction * speed; _body.AddForce(direction * speed * 2f, ForceMode2D.Impulse); reflectCount--; } break; case "Ceiling": case "Wall": case "Floor": if (reflectCount <= 0) { Destroy(gameObject); } else { ReflectBulletDirection(other.GetContact(0).normal.normalized); _body.velocity = direction * speed; reflectCount--; } break; default: Destroy(gameObject); break; } }
private void DoAttack() { animator_controller.SetTrigger("attack_anim");//do attack animation RaycastHit hit; Vector3 p1 = transform.position; //float distanceToObstacle = 0; Collider[] Enemy = Physics.OverlapCapsule(gameObject.transform.position, gameObject.transform.forward * 1, 1f, mask); for (int i = 0; i < Enemy.Length; i++) { if (Enemy[i].tag == "Enemy") { EnemyHP hitEnemy = Enemy[i].GetComponent <EnemyHP>(); hitEnemy.TakeDamage(3f); } } }
void OnTriggerEnter2D(Collider2D other) { if (!deflected) { Player character = other.GetComponent <Player>(); try { character.TakeDamage(bulletDamage); } catch { } } else { EnemyHP character = other.GetComponent <EnemyHP>(); try { character.TakeDamage(bulletDamage); DamageIndicator.Create(character.transform.position, bulletDamage); } catch { } } Instantiate(destroyParticles, transform.position, Quaternion.identity); Destroy(gameObject); }
private void OnCollisionEnter2D(Collision2D other) { switch (other.gameObject.tag) { case "Player": if (hp.isAlive) { PlayerHealth playerHealth = other.gameObject.GetComponentInParent <PlayerHealth>(); playerHealth.TakeDamage(hp.enemyStats.damage); KnockBackOther(other.gameObject); } break; case "Enemy": KnockBackOther(other.gameObject); if (enemyMovement.frenzied) { EnemyHP enemyHp = other.gameObject.GetComponent <EnemyHP>(); enemyHp.TakeDamage(hp.enemyStats.damage); KnockBackOther(other.gameObject); } break; } }