Beispiel #1
0
    public void VisionCheck()
    {
        SPINE.position = new Vector3(transform.position.x, playercenter.transform.position.y, transform.position.z);

        RaycastHit hit;                                          //
        int        layerMask = (1 << 9) | (1 << 10) | (1 << 11); //npc layer and npc hitbox layer

        layerMask = ~layerMask;                                  //inverts raycast so raycast avoids these layers
        if (Physics.Raycast(SPINE.position, SPINE.forward, out hit, sightrange, layerMask))
        {
            playerhitbox target = hit.transform.GetComponent <playerhitbox>();
            if (target != null) //if the ray hits the player
            {
                seen      = true;
                seentimer = 10;
                strobelight.SetActive(true);


                shotsfiredbool = true;
                Debug.Log("seen" + gameObject.name);
                rb.Sleep();
                rb.WakeUp();
                Punch();
                anim.SetBool("running", false);
                anim.SetBool("Aiming", true);
                var lookDir = player.position - transform.position;
                lookDir.y          = 0; // keep only the horizontal direction
                transform.rotation = Quaternion.LookRotation(lookDir);
                anim.SetTrigger("Shuffle");

                RateOfFire -= RateOfFireDecrease;                      //getting ready to fire
                npcmanager.GetComponent <NpcManagement>().JustFired(); //let npcmanager know to tell other npcs to ook around


                anim.SetBool("Aiming", true);
                isalert = true;
                TakeShot();
            }
            if (target == null)
            {
                if (aggro == true)
                {
                    if (seen == true)
                    {
                        CombatMovement();
                    }
                }
            }
        }
    }
Beispiel #2
0
 void Start()
 {
     jumptimer      = 10;
     Cursor.visible = false;
     rb             = player.GetComponent <Rigidbody>();
     col_size       = player.GetComponent <CapsuleCollider>();
     manj           = npcManagement.GetComponent <NpcManagement>();
     weps           = Weaponmanj.GetComponent <WeaponManagement>();
 }