void FireShot() { if (wep.GetAmmo(weaponName) >= 1) { timeSinceShot = 0; UseAmmo(); // forwards, and down Vector3 startPt = projectileStartPoint.transform.position + projectileStartPoint.transform.forward * 2.5f + projectileStartPoint.transform.TransformDirection(Vector3.right) * 0.35f - projectileStartPoint.transform.up * 0.35f ; // sorta redundant milkModel.SendMessage("startKick"); Quaternion rotation = projectileStartPoint.transform.rotation * Quaternion.Euler(new Vector3(Random.Range(-4f, 4f), Random.Range(-6f, 6f), 10f)); // aim a little more to the left MilkParticle.SetActive(true); Instantiate(MilkParticle, startPt, rotation); MilkParticle.SetActive(false); audio.Play(); if (wep.GetAmmo(weaponName) == 0) { Reload(); } } }
void Update() { if (wep.currentWeapon == weaponName) { timeSinceShot += Time.deltaTime; if (!equipped) { // cancel reload when not equipped reloading = false; reloadTimer = 0; if (equipTimer >= timeToEquip) { equipped = true; timeSinceShot = rateOfFire; } else { equipTimer += Time.deltaTime; } } // if R key press has been queued if (reloading) { if (reloadTimer >= timeToReload) { Reload(); reloading = false; timeSinceShot = rateOfFire; } else if (timeSinceShot >= rateOfFire) { reloadTimer += Time.deltaTime; // starting to reload if ((timeSinceShot - Time.deltaTime) < rateOfFire) { BroadcastMessage("ReloadAnim"); } } } if (previousWep != wep.currentWeapon) { // show viewmodel equipTimer = 0; EggLauncherModel.SetActive(true); } if (equipped && !reloading) { // M1 if (Time.timeScale == 1) { if (Input.GetButton("Fire1") && timeSinceShot >= rateOfFire) { if (wep.GetAmmo(weaponName) >= 1) { FireShot(); } } } if ((Input.GetAxis("Reload") == 1 || wep.GetAmmo(weaponName) == 0) && wep.GetAmmo(weaponName) < wep.GetMaxAmmo(weaponName)) { reloadTimer = 0; reloading = true; if (timeSinceShot >= rateOfFire) { BroadcastMessage("ReloadAnim"); } } } } else { if (previousWep != wep.currentWeapon) { // hide viewmodel EggLauncherModel.SetActive(false); equipped = false; } } previousWep = wep.currentWeapon; }
void Update() { int randompic = Random.Range(0, 2); muzzleFlash1.SetActive(false); muzzleFlash2.SetActive(false); muzzleLight.GetComponent <Light>().enabled = false; if (wep.currentWeapon == weaponName) { timeSinceShot += Time.deltaTime; if (previousWep != wep.currentWeapon) { // show viewmodel equipTimer = 0; cornRifleModel.SetActive(true); } if (!equipped) { // cancel reload when not equipped reloading = false; reloadTimer = 0; if (equipTimer >= timeToEquip) { equipped = true; timeSinceShot = rateOfFire; } else { equipTimer += Time.deltaTime; } } if (reloading) { if (reloadTimer >= timeToReload) { Reload(); reloading = false; timeSinceShot = rateOfFire; } else if (timeSinceShot >= rateOfFire) { reloadTimer += Time.deltaTime; // starting to reload if ((timeSinceShot - Time.deltaTime) < rateOfFire) { BroadcastMessage("ReloadAnim"); } } } // M1 if (equipped && !reloading) { if (Time.timeScale == 1) { if (Input.GetButton("Fire1") && timeSinceShot >= rateOfFire) { if (wep.GetAmmo(weaponName) >= 6) { FireShot(); //Plays sound and activates the muzzle flash if (randompic == 0) { muzzleFlash1.SetActive(true); } if (randompic == 1) { muzzleFlash2.SetActive(true); } muzzleLight.GetComponent <Light> ().enabled = true; if (wep.GetAmmo(weaponName) == 0) { BroadcastMessage("ReloadAnim"); reloadTimer = 0; reloading = true; } } } } // reload when R pressed or out of ammo if ((Input.GetAxis("Reload") == 1 || wep.GetAmmo(weaponName) == 0) && wep.GetAmmo(weaponName) < wep.GetMaxAmmo(weaponName)) { reloadTimer = 0; reloading = true; if (timeSinceShot >= rateOfFire) { BroadcastMessage("ReloadAnim"); } } } } else { if (previousWep != wep.currentWeapon) { // hide viewmodel cornRifleModel.SetActive(false); equipped = false; } } previousWep = wep.currentWeapon; }
void Update() { muzzleLight.GetComponent <Light>().enabled = false; if (wep.currentWeapon == weaponName) { timeSinceShot += Time.deltaTime; if (!equipped) { // cancel reload when not equipped reloading = false; reloadTimer = 0; if (equipTimer >= timeToEquip) { equipped = true; timeSinceShot = rateOfFire; } else { equipTimer += Time.deltaTime; } } if (reloading) { // reload has finished if (reloadTimer >= timeToReload) { Reload(); reloading = false; timeSinceShot = rateOfFire; } else if (timeSinceShot >= rateOfFire) { reloadTimer += Time.deltaTime; // starting to reload if ((timeSinceShot - Time.deltaTime) < rateOfFire) { BroadcastMessage("ReloadAnim"); } } } if (previousWep != wep.currentWeapon) { equipTimer = 0; // show viewmodel revolverModel.SetActive(true); crosshair.SetActive(true); } muzzleFlash.SetActive(false); if (equipped && !reloading) { // M1 if (Time.timeScale == 1) { if (Input.GetButton("Fire1") && timeSinceShot >= rateOfFire) { if (wep.GetAmmo(weaponName) >= 1) { FireShot(); //Plays sound and activates the muzzle flash int firemode = random.Next(0, 2); muzzleFlash.SetActive(true); muzzleLight.GetComponent <Light>().enabled = true; audio.Play(); if (firemode == 1) { BroadcastMessage("Fire1"); // play anim } else { BroadcastMessage("Fire2"); // play anim } } } } // when R is pressed or ammo is out, ammo is not full, and it is not currently zoomed // queues reload if pressed while in fire cooldown (pulling bolt) if ((Input.GetAxis("Reload") == 1 || wep.GetAmmo(weaponName) == 0) && wep.GetAmmo(weaponName) < wep.GetMaxAmmo(weaponName)) { reloadTimer = 0; reloading = true; if (timeSinceShot >= rateOfFire) { BroadcastMessage("ReloadAnim"); } } } } else { if (previousWep != wep.currentWeapon) { // hide viewmodel revolverModel.SetActive(false); crosshair.SetActive(true); } } previousWep = wep.currentWeapon; }
void Update() { muzzleLight.GetComponent <Light>().enabled = false; if (wep.currentWeapon == weaponName) { crosshair.SetActive(false); timeSinceShot += Time.deltaTime; zoomCrosshairObject.SetActive(true); if (!equipped) { // cancel reload when not equipped reloading = false; reloadTimer = 0; if (equipTimer >= timeToEquip) { equipped = true; timeSinceShot = rateOfFire; } else { equipTimer += Time.deltaTime; } } if (reloading) { // reload has finished if (reloadTimer >= timeToReload) { Reload(); reloading = false; timeSinceShot = rateOfFire; } else if (timeSinceShot >= rateOfFire) { reloadTimer += Time.deltaTime; // starting to reload if ((timeSinceShot - Time.deltaTime) < rateOfFire) { BroadcastMessage("ReloadAnim"); } } } if (previousWep != wep.currentWeapon) { equipTimer = 0; // show viewmodel barrettModel1.SetActive(true); barrettModel2.SetActive(true); barrettModel3.SetActive(true); barrettModelParent.SetActive(true); barretRend1.enabled = true; barretRend2.enabled = true; barretRend3.enabled = true; crosshair.SetActive(false); } muzzleFlash.SetActive(false); if (equipped && !reloading) { // M1 if (Time.timeScale == 1) { if (Input.GetButton("Fire1") && timeSinceShot >= rateOfFire) { if (wep.GetAmmo(weaponName) >= 1) { FireShot(); //Plays sound and activates the muzzle flash muzzleFlash.SetActive(true); muzzleLight.GetComponent <Light>().enabled = true; audio.Play(); // zoom out after shot if (zoomed) { controller.SendMessage("Zoom"); zoomed = false; DoZoom(false, defaultFOV, zoomFOV); } crosshair.SetActive(false); BroadcastMessage("Fire"); // play anim } } // only allow zoom when ready to fire (i.e. not playing bolt anim) // add exception for when zoomed if (Input.GetButtonDown("Fire2") && timeSinceShot >= rateOfFire) { zoomed = !zoomed; DoZoom(zoomed, defaultFOV, zoomFOV); // send zoom state to the controller controller.SendMessage("Zoom"); // animate the barrett -- not gonna use //if (zoomed) { // BroadcastMessage ("Scope"); //} else { // BroadcastMessage ("Unscope"); //} } } // when R is pressed or ammo is out, ammo is not full, and it is not currently zoomed // queues reload if pressed while in fire cooldown (pulling bolt) if ((Input.GetAxis("Reload") == 1 || wep.GetAmmo(weaponName) == 0) && wep.GetAmmo(weaponName) < wep.GetMaxAmmo(weaponName) && !zoomed) { reloadTimer = 0; reloading = true; if (timeSinceShot >= rateOfFire) { BroadcastMessage("ReloadAnim"); } } } } else { if (previousWep != wep.currentWeapon) { // hide viewmodel barrettModel1.SetActive(false); barrettModel2.SetActive(false); barrettModel3.SetActive(false); barrettModelParent.SetActive(false); crosshair.SetActive(true); // unzoomed if zoomed in if (zoomed) { zoomed = !zoomed; DoZoom(zoomed, defaultFOV, zoomFOV); // send zoom state to the controller controller.SendMessage("Zoom"); } } } previousWep = wep.currentWeapon; }