void HitEnemy(Collider Monster) { if (Monster.name == "Boss") { bossControl = Monster.GetComponent <BossControl>(); Vector3 hitDirection = playerControl.transform.position - bossControl.transform.position; hitDirection.Normalize(); float angle = Mathf.Atan2(hitDirection.y, hitDirection.x) - Mathf.Deg2Rad * (bossControl.transform.eulerAngles.z); float dirX = Mathf.Cos(angle); float dirY = Mathf.Sin(angle); if (bossControl.isVulnerable || dirX == 0 && dirY > 0 || dirX > 0 && dirY > 0 && dirY / dirX > 1f / Mathf.Sqrt(3) || dirX < 0 && dirY > 0 && dirY / dirX < -1f / Mathf.Sqrt(3)) { bossControl.stats.health -= damage; } else { bossControl.hitInArmor = true; } } else { aiControl = Monster.gameObject.GetComponent <AIControl> (); if (transform.name != "MageFire2(Clone)") { aiControl.moveBack = 0.08f; } aiControl.hitDirection = aiControl.transform.position - playerControl.transform.position; aiControl.stats.health -= damage; } Instantiate(FireHitParticle, new Vector3(transform.position.x, transform.position.y, -0.8f), transform.rotation); }
void OnTriggerEnter2D(Collider2D other) { Debug.Log("Life is" + life); if (other.gameObject.name == "Bullet2(Clone)" || other.gameObject.name == "Bullet2") { Destroy(other.gameObject); Debug.Log("Destroyed Bullet"); if (life <= 0) { dead = true; anim.Play("Frankenjdead"); BossControl one = generator.gameObject.GetComponent <BossControl> (); one.isGame(); Destroy(gameObject, deadTime); } else { life--; } } if (life == 6) { waveAttack = true; } if (life == 3) { specialAttack = true; waveAttack = false; } }
void OnTriggerEnter(Collider other) { Quaternion oppositeBulletRotation = Quaternion.LookRotation(-transform.forward); //transform a direction in a rotation switch (other.tag) { case "Enemy": Zombie zommbie = other.GetComponent <Zombie>(); if (!zommbie.dead) { zommbie.Damage(10); zommbie.BloodParticle(this.transform.position, oppositeBulletRotation); _gameManager.ShakeCamera(); } break; case "Boss": { BossControl boss = other.GetComponent <BossControl>(); if (!boss.dead) { boss.TakeDamage(1); boss.BloodParticle(this.transform.position, oppositeBulletRotation); _gameManager.ShakeCamera(); } } break; } Destroy(this.gameObject); }
private void Start() { boss = this.GetComponentInParent <BossControl>(); bosshp = GameObject.Find("BossHPCanvas01").GetComponent <MonsterHP>(); bossAni = this.GetComponentInParent <Animator>(); spawnPoint.gameObject.SetActive(false); timer = 0f; //this.gameObject.SetActive(false); }
private void Start() { Exclamation.SetActive(false); bc = GetComponent <BossControl>(); escort_object = GameObject.FindWithTag("Escort_Object"); mage = GameObject.Find("Mage"); warrior = GameObject.Find("Knight"); bc.target = escort_object; target = escort_object; }
void OnTriggerEnter(Collider Monster) { if (Monster.name == "Boss") { if (Monster.tag == "Monsters" && transform.name == "MageFireR01") { BossControl bossControl = Monster.GetComponent <BossControl>(); bossControl.stunTime = 3.5f; } else if (transform.name == "MageFireR02") { BossControl bossControl = Monster.GetComponent <BossControl>(); Vector3 hitDirection = GameObject.Find("Mage").transform.position - bossControl.transform.position; hitDirection.Normalize(); float angle = Mathf.Atan2(hitDirection.y, hitDirection.x) - Mathf.Deg2Rad * (bossControl.transform.eulerAngles.z); float dirX = Mathf.Cos(angle); float dirY = Mathf.Sin(angle); if (bossControl.isVulnerable || dirX == 0 && dirY > 0 || dirX > 0 && dirY > 0 && dirY / dirX > 1f / Mathf.Sqrt(3) || dirX < 0 && dirY > 0 && dirY / dirX < -1f / Mathf.Sqrt(3)) { bossControl.stats.health -= 5f; } else { bossControl.hitInArmor = true; } } } else { if (Monster.tag == "Monsters" && transform.name == "MageFireR01") { AIControl aiControl = Monster.GetComponent <AIControl>(); aiControl.stunTime = 3.5f; } else if (transform.name == "MageFireR02") { if (Monster.tag == "Monsters") { AIControl aiControl = Monster.GetComponent <AIControl>(); aiControl.stats.health -= 5f; } else if (Monster.gameObject.name == "TrainingDummy") { Monster.GetComponent <Animator>().SetBool("tookDamage", true); float rotZ = Mathf.Atan2(transform.position.y - Monster.transform.position.y, transform.position.x - Monster.transform.position.x) * Mathf.Rad2Deg; Monster.transform.rotation = Quaternion.Euler(0f, 0f, rotZ - 180); } } } }
void Awake() { if (inst == null) { inst = this; } else { Destroy(gameObject); } }
private void Awake() { control = GetComponent <BossControl>(); anim = GetComponent <BossAnimation>(); AwakeReset(); }
// Use this for initialization void Start() { control = GetComponent<BossControl>(); }
// Use this for initialization void Start() { control = GetComponent <BossControl>(); }
private void Start() { rangeLine.enabled = false; nav = boss.GetComponent <NavMeshAgent>(); control = boss.GetComponent <BossControl>(); }
private void Start() { playerHP = GetComponent <PlayerControl>(); bossControl = GameObject.Find("BossControl"); bossHP = GetComponent <BossControl>(); }