private void Shoot() { int numberOfBullets = AC.GlobalVariables.GetIntegerValue (5); if (numberOfBullets > 0 && AC.GlobalVariables.GetBooleanValue (52)) { this.renderer.sprite = shoot; AC.GlobalVariables.SetIntegerValue (5, numberOfBullets - 1); TargetMovement t = GameObject.FindObjectOfType<TargetMovement> (); Collider2D hitCollider = Physics2D.OverlapCircle (t.transform.position, t.GetComponent<CircleCollider2D> ().radius, 1 << LayerMask.NameToLayer ("Body Part")); //if (hitCollider == null || !enemy.IsStanding ()) { if (hitCollider == null) { //GameObject.Find ("Missed").GetComponent <AC.Cutscene> ().Interact (); MonoBehaviour.print ("miss"); } else { BodyPart part = hitCollider.gameObject.GetComponent<BodyPart> (); enemy = part.GetComponentInParent<NPCController> (); enemy.GetBarkTrigger ().TryBark (this.transform); //GameObject.Find ("BeltHit").GetComponent <AC.Cutscene> ().Interact (); //Debug.Log (part.gameObject.name + " shot. You did " + part.damage + " damage"); Shootable npc = hitCollider.gameObject.GetComponentInParent<Shootable> (); npc.DecreaseHP (part.damage); //npc.GetComponent<NPCController> ().ForceToggle (); } } else { Destroy (FindObjectOfType<TargetMovement> ().gameObject); AC.GlobalVariables.SetBooleanValue (52, false); } }