Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(2 edits)

Please help me with this problem! When i test the BFNS Mod, The items except the original items don't work! Please take a look at the code! Please also give me the code for the new function i'm about to talk about! The problem started when i tried to add a new function to the Dollar, More specifically, you can use it to get 4 Zesty Bars! Here's the code you have to take a look at. Look at the replys to see the code. the reason why there are multiple replys is because the entire code is too much for a single comment.

using System; using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI;

// Token: 0x0200001F RID: 31 public class GameControllerScript : MonoBehaviour { // Token: 0x06000080 RID: 128 RVA: 0x0000438C File Offset: 0x0000278C public GameControllerScript() { int[] array = new int[5]; array[0] = -320; array[1] = -240; array[2] = -160; array[3] = -80; this.itemSelectOffset = array; }

// Token: 0x06000081 RID: 129 RVA: 0x00004448 File Offset: 0x00002848 private void Start() { this.audioDevice = base.GetComponent<AudioSource>(); //Get the Audio Source this.mode = PlayerPrefs.GetString("CurrentMode"); //Get the current mode if (this.mode == "endless") //If it is endless mode { this.baldiScrpt.endless = true; //Set Baldi use his slightly changed endless anger system } this.schoolMusic.Play(); //Play the school music this.LockMouse(); //Prevent the mouse from moving this.UpdateNotebookCount(); //Update the notebook count this.itemSelected = 0; //Set selection to item slot 0(the first item slot) this.gameOverDelay = 0.5f; }

// Token: 0x06000082 RID: 130 RVA: 0x000044BC File Offset: 0x000028BC private void Update() { this.MouseAppearing();

if (!this.learningActive) { if (Input.GetButtonDown("Pause")) { if (!this.gamePaused) { this.PauseGame(); } else { this.UnpauseGame(); } } if (Input.GetKeyDown(KeyCode.Y) & this.gamePaused) { SceneManager.LoadScene("MainMenu"); } else if (Input.GetKeyDown(KeyCode.N) & this.gamePaused) { this.UnpauseGame(); } if (!this.gamePaused & Time.timeScale != 1f) { Time.timeScale = 1f; } if (Input.GetMouseButtonDown(1)) { this.UseItem(); } if (Input.GetAxis("Mouse ScrollWheel") > 0f) { this.DecreaseItemSelection(); } else if (Input.GetAxis("Mouse ScrollWheel") < 0f) { this.IncreaseItemSelection(); } if (Input.GetKeyDown(KeyCode.Alpha1)) { this.itemSelected = 0; this.UpdateItemSelection(); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { this.itemSelected = 1; this.UpdateItemSelection(); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { this.itemSelected = 2; this.UpdateItemSelection(); } else if (Input.GetKeyDown(KeyCode.Alpha4)) { this.itemSelected = 3; this.UpdateItemSelection(); } else if (Input.GetKeyDown(KeyCode.Alpha5)) { this.itemSelected = 4; this.UpdateItemSelection(); } } else if (Time.timeScale != 0f) { Time.timeScale = 0f; } if (this.player.stamina < 0f & !this.warning.activeSelf) { this.warning.SetActive(true); //Set the warning text to be visible } else if (this.player.stamina > 0f & this.warning.activeSelf) { this.warning.SetActive(false); //Set the warning text to be invisible } if (this.player.gameOver) { Time.timeScale = 0f; //Pause the game this.gameOverDelay -= Time.unscaledDeltaTime; this.audioDevice.PlayOneShot(this.aud_buzz); //Play the jumpscare sound if (this.gameOverDelay <= 0f) { if (this.mode == "endless") //If it is in endless { if (this.notebooks > PlayerPrefs.GetInt("HighBooks")) //If the player achieved a new score { PlayerPrefs.SetInt("HighBooks", this.notebooks); //Update the high score PlayerPrefs.SetInt("HighTime", Mathf.FloorToInt(this.time)); //(Unused) Update the time this.highScoreText.SetActive(true); // "WOW KAZOW! THATS A NEW HIGH SCORE!" } else if (this.notebooks == PlayerPrefs.GetInt("HighBooks") & Mathf.FloorToInt(this.time) > PlayerPrefs.GetInt("HighTime")) //(Unused) If the player has a brand new record for time { PlayerPrefs.SetInt("HighTime", Mathf.FloorToInt(this.time)); //Update the high time this.highScoreText.SetActive(true); // "WOW KAZOW! THATS A NEW HIGH SCORE!" } PlayerPrefs.SetInt("CurrentBooks", this.notebooks); //Update the high score PlayerPrefs.SetInt("CurrentTime", Mathf.FloorToInt(this.time)); //(Unused) Update the time } Time.timeScale = 1f; // Unpause the game SceneManager.LoadScene("GameOver"); // Go to the game over screen } } if (this.finaleMode && !this.audioDevice.isPlaying && this.exitsReached == 3) //Play the weird sound after getting some exits { this.audioDevice.clip = this.aud_MachineLoop; this.audioDevice.loop = true; this.audioDevice.Play(); } }

// Token: 0x06000083 RID: 131 RVA: 0x00004828 File Offset: 0x00002C28 private void UpdateNotebookCount() { if (this.mode == "Floor 1") { this.notebookCount.text = this.notebooks.ToString() + "/9 Notebooks"; } else { this.notebookCount.text = this.notebooks.ToString() + " Notebooks"; } if (this.notebooks == 9 & this.mode == "Floor 1") { this.ActivateFinaleMode(); } }

// Token: 0x06000084 RID: 132 RVA: 0x000048C0 File Offset: 0x00002CC0 public void CollectNotebook() { this.notebooks++; this.UpdateNotebookCount(); this.time = 0f; }

// Token: 0x06000085 RID: 133 RVA: 0x000048E1 File Offset: 0x00002CE1 public void LockMouse() { if (!this.learningActive) { this.cursorController.LockCursor(); //Prevent the cursor from moving this.mouseLocked = true; this.reticle.SetActive(true); } }

// Token: 0x06000086 RID: 134 RVA: 0x0000490C File Offset: 0x00002D0C public void UnlockMouse() { this.cursorController.UnlockCursor(); //Allow the cursor to move this.mouseLocked = false; this.reticle.SetActive(false); }

// Token: 0x06000087 RID: 135 RVA: 0x0000492C File Offset: 0x00002D2C private void PauseGame() { Time.timeScale = 0f; this.gamePaused = true; this.pauseText.SetActive(true); this.baldiNod.SetActive(true); this.baldiShake.SetActive(true); }

// Token: 0x06000088 RID: 136 RVA: 0x00004963 File Offset: 0x00002D63 private void UnpauseGame() { Time.timeScale = 1f; this.gamePaused = false; this.pauseText.SetActive(false); this.baldiNod.SetActive(false); this.baldiShake.SetActive(false); }

// Token: 0x06000089 RID: 137 RVA: 0x0000499C File Offset: 0x00002D9C public void ActivateSpoopMode() { this.spoopMode = true; //Tells the game its time for spooky this.entrance_0.Lower(); //Lowers all the exits this.entrance_1.Lower(); this.entrance_2.Lower(); this.entrance_3.Lower(); this.baldiTutor.SetActive(false); //Turns off Baldi(The one that you see at the start of the game) this.quarter.SetActive(false); // Baldi takes the Quarter he gives you if you haven't picked it up yet this.baldi.SetActive(true); //Turns on Baldi this.principal.SetActive(true); //Turns on Principal this.principalson.SetActive(true); //Turns on Principal's Son this.crafters.SetActive(true); //Turns on Crafters this.playtime.SetActive(true); //Turns on Playtime this.beans.SetActive(true); // Turns on Beans this.clocker.SetActive(true); // Turns on Clocker from BFNS+ this.kingofdoors.SetActive(true); this.gottaSweep.SetActive(true); //Turns on Gotta Sweep this.bully.SetActive(true); //Turns on Bully this.firstPrize.SetActive(true); //Turns on First-Prize this.audioDevice.PlayOneShot(this.aud_Hang); //Plays the hang sound this.learnMusic.Stop(); //Stop all the music this.schoolMusic.Stop();

if (this.rcs.zerothSpawnChance >= 5f) { this.zeroprize.SetActive(true); } else { this.zeroprize.SetActive(false); } if (this.rcs.cloudySpawnChance >= 2f) { this.cloudycopter.SetActive(true); } else { this.cloudycopter.SetActive(false); } if (this.rcs.testditheredSpawnChance >= 15f) { this.testdithered.SetActive(true); } else { this.testdithered.SetActive(false); } }

// Token: 0x0600008A RID: 138 RVA: 0x00004A63 File Offset: 0x00002E63 private void ActivateFinaleMode() { this.finaleMode = true; this.entrance_0.Raise(); //Raise all the enterances(make them appear) this.entrance_1.Raise(); this.entrance_2.Raise(); this.entrance_3.Raise(); }

// Token: 0x0600008B RID: 139 RVA: 0x00004A98 File Offset: 0x00002E98 public void GetAngry(float value) //Make Baldi get angry { if (!this.spoopMode) { this.ActivateSpoopMode(); } this.baldiScrpt.GetAngry(value); }

// Token: 0x0600008C RID: 140 RVA: 0x00004AB7 File Offset: 0x00002EB7 public void ActivateLearningGame() { this.learningActive = true; this.UnlockMouse(); //Unlock the mouse this.tutorBaldi.Stop(); //Make tutor Baldi stop talking if (!this.spoopMode) //If the player hasn't gotten a question wrong { this.schoolMusic.Stop(); //Start playing the learn music this.learnMusic.Play(); } }

// Token: 0x0600008D RID: 141 RVA: 0x00004AF4 File Offset: 0x00002EF4 public void DeactivateLearningGame(GameObject subject) { this.learningActive = false; UnityEngine.Object.Destroy(subject); this.LockMouse(); //Prevent the mouse from moving if (this.player.stamina < player.maxStamina) //Reset Stamina { this.player.stamina = this.player.maxStamina * 1f; } if (!this.spoopMode) //If it isn't spoop mode, play the school music { this.schoolMusic.Play(); this.learnMusic.Stop(); } if (this.notebooks == 1 & !this.spoopMode) // If this is the players first notebook and they didn't get any questions wrong, reward them with a quarter { this.quarter.SetActive(true); this.tutorBaldi.PlayOneShot(this.aud_Prize); } else if (this.notebooks == 9 & this.mode == "Floor 1") // Plays the all 9 notebook sound { this.audioDevice.PlayOneShot(this.aud_AllNotebooks, 0.8f); } }

// Token: 0x0600008E RID: 142 RVA: 0x00004BCC File Offset: 0x00002FCC private void IncreaseItemSelection() { this.itemSelected++; if (this.itemSelected > 4) { this.itemSelected = 0; } this.itemSelect.anchoredPosition = new Vector3((float)this.itemSelectOffset[this.itemSelected], -10f, -10f); //Moves the item selector background(the red rectangle) this.UpdateItemName(); }

// Token: 0x0600008F RID: 143 RVA: 0x00004C30 File Offset: 0x00003030 private void DecreaseItemSelection() { this.itemSelected--; if (this.itemSelected < 0) { this.itemSelected = 4; } this.itemSelect.anchoredPosition = new Vector3((float)this.itemSelectOffset[this.itemSelected], -10f, -10f); //Moves the item selector background(the red rectangle) this.UpdateItemName(); }

// Token: 0x06000090 RID: 144 RVA: 0x00004C91 File Offset: 0x00003091 private void UpdateItemSelection() { this.itemSelect.anchoredPosition = new Vector3((float)this.itemSelectOffset[this.itemSelected], -10f, 10f); //Moves the item selector background(the red rectangle) this.UpdateItemName(); }

// Token: 0x06000091 RID: 145 RVA: 0x00004CC8 File Offset: 0x000030C8 public void CollectItem(int item_ID) { if (this.item[0] == 0) { this.item[0] = item_ID; //Set the item slot to the Item_ID provided this.itemSlot[0].texture = this.itemTextures[item_ID]; //Set the item slot's texture to a texture in a list of textures based on the Item_ID } else if (this.item[1] == 0) { this.item[1] = item_ID; //Set the item slot to the Item_ID provided this.itemSlot[1].texture = this.itemTextures[item_ID]; //Set the item slot's texture to a texture in a list of textures based on the Item_ID } else if (this.item[2] == 0) { this.item[2] = item_ID; //Set the item slot to the Item_ID provided this.itemSlot[2].texture = this.itemTextures[item_ID]; //Set the item slot's texture to a texture in a list of textures based on the Item_ID } else if (this.item[3] == 0) { this.item[3] = item_ID; //Set the item slot to the Item_ID provided this.itemSlot[3].texture = this.itemTextures[item_ID]; //Set the item slot's texture to a texture in a list of textures based on the Item_ID } else if (this.item[4] == 0) { this.item[4] = item_ID; //Set the item slot to the Item_ID provided this.itemSlot[4].texture = this.itemTextures[item_ID]; //Set the item slot's texture to a texture in a list of textures based on the Item_ID } else //This one overwrites the currently selected slot when your inventory is full { this.item[this.itemSelected] = item_ID; this.itemSlot[this.itemSelected].texture = this.itemTextures[item_ID]; } this.UpdateItemName(); }

// Token: 0x06000092 RID: 146 RVA: 0x00004D94 File Offset: 0x00003194 private void UseItem() { if (this.item[this.itemSelected] != 0) //If the item slot isn't empty { if (this.item[this.itemSelected] == 1)  //Zesty Bar Code { this.player.stamina = this.player.maxStamina * 2f; this.ResetItem(); //Remove the item this.audioDevice.PlayOneShot(this.aud_Crunch); // Plays the Crunch Sound this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was eating the ESFB if (!this.player.Outside) this.player.ResetGuilt("eat", 1f); // Makes the player guilty for eating } else if (this.item[this.itemSelected] == 2) //Yellow Door Lock Code { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit; if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "SwingingDoor" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) <= 10f)) { raycastHit.collider.gameObject.GetComponent<SwingingDoorScript>().LockDoor(15f); //Lock the door for 15 seconds this.ResetItem(); //Remove the item } } else if (this.item[this.itemSelected] == 3) //Principal's Keys Code { Ray ray2 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit2; if (Physics.Raycast(ray2, out raycastHit2) && (raycastHit2.collider.tag == "Door" & Vector3.Distance(this.playerTransform.position, raycastHit2.transform.position) <= 10f)) { raycastHit2.collider.gameObject.GetComponent<DoorScript>().UnlockDoor(); //Unlock the door raycastHit2.collider.gameObject.GetComponent<DoorScript>().OpenDoor(); //Open the door this.ResetItem(); //Remove the item } } else if (this.item[this.itemSelected] == 4) //Bsoda Code { UnityEngine.Object.Instantiate<GameObject>(this.bsodaSpray, this.playerTransform.position, this.cameraTransform.rotation); //Clone the BSODA Spray object this.ResetItem(); //Remove the item this.player.ResetGuilt("drink", 1f); // Makes the player guilty for drinking this.audioDevice.PlayOneShot(this.aud_Soda); // Play the spray sound this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was drinking the BSODA if (!this.player.Outside) this.player.ResetGuilt("drink", 1f); // Makes the player guilty for drinking } else if (this.item[this.itemSelected] == 5) //Quarter Code { Ray ray3 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit3; if (Physics.Raycast(ray3, out raycastHit3)) { if (raycastHit3.collider.name == "BSODAMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) { this.ResetItem(); //Remove the item  this.CollectItem(4); //Give BSODA } else if (raycastHit3.collider.name == "ZestyMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) { this.ResetItem(); //Remove the item this.CollectItem(1); //Give Zesty Bar } else if (raycastHit3.collider.name == "PayPhone" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) { raycastHit3.collider.gameObject.GetComponent<TapePlayerScript>().Play(); //Tell the phone to start making the noise this.ResetItem(); //Remove the item } else if (raycastHit3.collider.name == "RandomMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) { int num3 = Mathf.RoundToInt(UnityEngine.Random.Range(1, 10)); this.ResetItem(); //Remove the item this.CollectItem(num3); //Give a random item } } } else if (this.item[this.itemSelected] == 6) // Baldi Anti-hearing Code { Ray ray4 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit4; if (Physics.Raycast(ray4, out raycastHit4) && (raycastHit4.collider.name == "TapePlayer" & Vector3.Distance(this.playerTransform.position, raycastHit4.transform.position) <= 10f)) { raycastHit4.collider.gameObject.GetComponent<TapePlayerScript>().Play(); //Tell the tape player to start making the noise this.ResetItem(); } } else if (this.item[this.itemSelected] == 7) // Alarm Clock Code { GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(this.alarmClock, this.playerTransform.position, this.cameraTransform.rotation); //Create a clone of the Alarm Clock gameObject.GetComponent<AlarmClockScript>().baldi = this.baldiScrpt; //Set the Alarm Clock's Baldi to the BaldiScript this.ResetItem(); //Remove the item } else if (this.item[this.itemSelected] == 8) // WD No Squee Code { Ray ray5 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit5; if (Physics.Raycast(ray5, out raycastHit5) && (raycastHit5.collider.tag == "Door" & Vector3.Distance(this.playerTransform.position, raycastHit5.transform.position) <= 10f)) { raycastHit5.collider.gameObject.GetComponent<DoorScript>().SilenceDoor(); // Silences the door this.ResetItem(); //Remove the item this.audioDevice.PlayOneShot(this.aud_Spray); //Plays the spray sound } } else if (this.item[this.itemSelected] == 9) // Safety Scissors Code { Ray ray6 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit6; if (this.player.jumpRope) { this.ResetItem(); this.player.ResetGuiltBrokenRulesOutside("bully", 1f); this.player.DeactivateJumpRope(); this.playtimeScript.Disappoint(); } else if (Physics.Raycast(ray6, out raycastHit6) && raycastHit6.collider.name == "1st Prize") { this.firstPrizeScript.GoCrazy(); this.ResetItem(); } } else if (this.item[this.itemSelected] == 10) // Portable Alarm Clock Code { GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(this.portTape, this.playerTransform.position, this.cameraTransform.rotation); //Create a clone of the Portable Tape gameObject.GetComponent<TapeDropScript>().baldi = this.baldiScrpt; //Set the Portable Tape's Baldi to the BaldiScript this.ResetItem(); //Remove the item } else if (this.item[this.itemSelected] == 11) // Stab Pencil Code { RaycastHit raycastHit; if (Physics.Raycast(Camera.main.ScreenPointToRay(new Vector3((float)(Screen.width / 2), (float)(Screen.height / 2), 0f)), out raycastHit) && raycastHit.collider.tag == "NPC" && raycastHit.collider.name != "Baldi" && Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) <= 10f) { StartCoroutine(PencilStun(raycastHit.transform.gameObject)); this.ResetItem(); this.player.ResetGuiltBrokenRulesOutside("stabbing", 1f); } return; } else if (this.item[this.itemSelected] == 12) // Dollar Code { Ray ray3 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit3; if (Physics.Raycast(ray3, out raycastHit3)) { if (raycastHit3.collider.name == "BSODAMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) //If the dollar is inserted in the bsoda machine { this.ResetItem(); //Remove the dollar from that slot this.item[0] = 4; //Put a bsoda in item slot 1 this.item[1] = 4; //Put a bsoda in item slot 2 this.item[2] = 4; //Put a bsoda in item slot 3 this.item[3] = 4; //Put a bsoda in item slot 4 this.itemSlot[0].texture = this.itemTextures[4]; //Put the bsoda texture in slot 1 this.itemSlot[1].texture = this.itemTextures[4]; //Put the bsoda texture in slot 2 this.itemSlot[2].texture = this.itemTextures[4]; //Put the bsoda texture in slot 3 this.itemSlot[3].texture = this.itemTextures[4]; //Put the bsoda texture in slot 4 this.UpdateItemName(); //Update the item names for the slots } //Basically, if you put a dollar in the bsoda machine, it gives you 4 bsodas in your first 4 slots

else if (raycastHit3.collider.name == "DollarMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) //If the dollar is inserted in the dollar machine { this.ResetItem(); //Remove the dollar from that slot this.item[0] = 5; //Put a quarter in item slot 1 this.item[1] = 5; //Put a quarter in item slot 2 this.item[2] = 5; //Put a quarter in item slot 3 this.item[3] = 5; //Put a quarter in item slot 4 this.itemSlot[0].texture = this.itemTextures[5]; //Put the quarter texture in slot 1 this.itemSlot[1].texture = this.itemTextures[5]; //Put the quarter texture in slot 2 this.itemSlot[2].texture = this.itemTextures[5]; //Put the quarter texture in slot 3 this.itemSlot[3].texture = this.itemTextures[5]; //Put the quarter texture in slot 4 this.UpdateItemName(); //Update the item names for the slots } //Basically, if you put a dollar in the dollar machine, it gives you 4 quarters in your first 4 slots

else if (raycastHit3.collider.name == "RareMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) //If player uses quarter on the rare machine { this.ResetItem(); //Remove the item this.CollectItem(15); //Give the player a Teleporter Item this.raremachine.SetActive(false); //Despawn the rare machine }

} } }

else if (this.item[this.itemSelected] == 13) // Principal Banner Code { StartCoroutine(PrincipalBanner()); this.ResetItem(); }

else if (this.item[this.itemSelected] == 14) // Chewsi Speedy Bar Code { StartCoroutine(ChewsiBar()); this.ResetItem(); this.audioDevice.PlayOneShot(this.aud_Crunch); // Plays the Crunch Sound this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was eating the CSB if (!this.player.Outside) this.player.ResetGuilt("eat", 1f); // Makes the player guilty for eating }

else if (this.item[this.itemSelected] == 15) // Teleporter Code { base.StartCoroutine(this.Teleporter()); this.ResetItem(); }

else if (this.item[this.itemSelected] == 16) // Water Bottle Code

{ this.player.stamina += 75f; this.ResetItem(); //Remove the item this.audioDevice.PlayOneShot(this.aud_DrinkWater); // Plays the Drink Water Sound this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was drinking water if (!this.player.Outside) this.player.ResetGuilt("drink", 1f); // Makes the player guilty for drinking } else if (this.item[this.itemSelected] == 17) // Ice Cream Code { this.player.stamina += 150f; this.ResetItem(); //Remove the item this.audioDevice.PlayOneShot(this.aud_EatIceCream); // Makes the Eat Ice Cream sound this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was eating the Ice Cream if (!this.player.Outside) this.player.ResetGuilt("eat", 1f); } else if (this.item[this.itemSelected] == 18) // Pancake Code { this.player.maxStamina += 12.5f; this.player.stamina += 25f; this.ResetItem(); //Remove the item this.audioDevice.PlayOneShot(this.aud_EatPancake); this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was eating the Pancake if (!this.player.Outside) this.player.ResetGuilt("eat", 1f); } else if (this.item[this.itemSelected] == 19) //A Piece of Gum Code { UnityEngine.Object.Instantiate<GameObject>(this.PlayerGum, this.playerTransform.position, this.cameraTransform.rotation); //Clone the Player's Gum object this.ResetItem(); //Remove the item this.player.ResetGuiltBrokenRulesOutside("spitgum", 1f); // Makes the player guilty for spitting gum this.audioDevice.PlayOneShot(this.aud_SpitGum); // Play the spray sound this.baldiScrpt.Hear(base.transform.position, 10f); // Makes Baldi go to the location where the Player was Spitting a gum this.PlayerGum.name = "Player's Gum"; } else if (this.item[this.itemSelected] == 20) // Principal's Dollar Code { Ray ray3 = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit3; if (Physics.Raycast(ray3, out raycastHit3)) { if (raycastHit3.collider.name == "BSODAMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) //If the dollar is inserted in the bsoda machine { this.ResetItem(); //Remove the dollar from that slot this.item[0] = 4; //Put a bsoda in item slot 1 this.item[1] = 4; //Put a bsoda in item slot 2 this.item[2] = 4; //Put a bsoda in item slot 3 this.item[3] = 4; //Put a bsoda in item slot 4 this.itemSlot[0].texture = this.itemTextures[4]; //Put the bsoda texture in slot 1 this.itemSlot[1].texture = this.itemTextures[4]; //Put the bsoda texture in slot 2 this.itemSlot[2].texture = this.itemTextures[4]; //Put the bsoda texture in slot 3 this.itemSlot[3].texture = this.itemTextures[4]; //Put the bsoda texture in slot 4 this.UpdateItemName(); //Update the item names for the slots this.player.ResetGuiltBrokenRulesOutside("usepridollar", 1f); }

else if (raycastHit3.collider.name == "DollarMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) //If the dollar is inserted in the dollar machine { this.ResetItem(); //Remove the dollar from that slot this.item[0] = 5; //Put a quarter in item slot 1 this.item[1] = 5; //Put a quarter in item slot 2 this.item[2] = 5; //Put a quarter in item slot 3 this.item[3] = 5; //Put a quarter in item slot 4 this.itemSlot[0].texture = this.itemTextures[5]; //Put the quarter texture in slot 1 this.itemSlot[1].texture = this.itemTextures[5]; //Put the quarter texture in slot 2 this.itemSlot[2].texture = this.itemTextures[5]; //Put the quarter texture in slot 3 this.itemSlot[3].texture = this.itemTextures[5]; //Put the quarter texture in slot 4 this.UpdateItemName(); //Update the item names for the slots this.player.ResetGuiltBrokenRulesOutside("usepridollar", 1f); }

else if (raycastHit3.collider.name == "RareMachine" & Vector3.Distance(this.playerTransform.position, raycastHit3.transform.position) <= 10f) //If player uses quarter on the rare machine { this.ResetItem(); //Remove the item this.CollectItem(15); //Give the player a Teleporter Item this.raremachine.SetActive(false); //Despawn the rare machine this.player.ResetGuiltBrokenRulesOutside("usepridollar", 1f); } } } }

// Token: 0x06000991 RID: 2449 RVA: 0x000236A0 File Offset: 0x00021AA0 private IEnumerator Teleporter() { this.playerCollider.enabled = false; this.player.walkSpeed = 0f; this.player.runSpeed = 0f; Debug.Log("Start Teleporter"); int teleports = UnityEngine.Random.Range(7, 14); int teleportCount = 0; float baseTime = 0.3f; float currentTime = baseTime; float increaseFactor = 1.1f; while (teleportCount < teleports) { currentTime -= Time.deltaTime; if (currentTime < 0f) { this.Teleport(); teleportCount++; baseTime *= increaseFactor; currentTime = baseTime; } this.player.height = 4f; yield return null; } this.player.walkSpeed = 10f; this.player.runSpeed = 20f; Debug.Log("End Teleporter"); this.playerCollider.enabled = true; yield break; }

// Token: 0x06000992 RID: 2450 RVA: 0x000236BC File Offset: 0x00021ABC private void Teleport() { this.AILocationSelector.GetNewTarget(); this.player.transform.position = this.AILocationSelector.transform.position + Vector3.up * this.player.height; this.audioDevice.PlayOneShot(this.aud_Teleport); this.baldiScrpt.Hear(base.transform.position, 10f); // Baldi Hears the Teleporting Sound }

IEnumerator ChewsiBar() { float timer = 15f; this.player.walkSpeed = 40f; this.player.runSpeed = 80f; Debug.Log("Make Player 4x Faster"); while (timer > 0) { timer -= Time.deltaTime; yield return new WaitForEndOfFrame(); } Debug.Log("Return Player To Normal Speed"); this.player.walkSpeed = 10f; this.player.runSpeed = 20f; }

IEnumerator PrincipalBanner() { float timer = 45f; this.principal.SetActive(false); this.bannedicon.SetActive(true); this.audioDevice.PlayOneShot(this.banned); Debug.Log("Principal has been banned!"); while (timer > 0) { timer -= Time.deltaTime; yield return new WaitForEndOfFrame(); } Debug.Log("Principal has been unbanned! Welcome back!"); this.principal.SetActive(true); this.bannedicon.SetActive(false); this.audioDevice.PlayOneShot(this.hebackpri); }

// Token: 0x06000093 RID: 147 RVA: 0x000052F4 File Offset: 0x000036F4 private void ResetItem() { this.item[this.itemSelected] = 0; //Resets the current item slot this.itemSlot[this.itemSelected].texture = this.itemTextures[0]; //Resets the current item slot texture this.UpdateItemName(); // Update The Item Name }

IEnumerator PencilStun(GameObject character) { float timer = 10f; UnityEngine.AI.NavMeshAgent navMeshAgent = character.GetComponent<UnityEngine.AI.NavMeshAgent>(); this.audioDevice.PlayOneShot(this.pencilstab); while (timer > 0) { navMeshAgent.velocity = Vector3.zero; timer -= Time.deltaTime; yield return new WaitForEndOfFrame(); } }

// Token: 0x06000094 RID: 148 RVA: 0x00005324 File Offset: 0x00003724 public void LoseItem(int id) { this.item[id] = 0; //Resets the item slot this.itemSlot[id].texture = this.itemTextures[0]; //Resets the item slot texture this.UpdateItemName(); }

// Token: 0x06000095 RID: 149 RVA: 0x0000534A File Offset: 0x0000374A private void UpdateItemName() { this.itemText.text = this.itemNames[this.item[this.itemSelected]]; }

// Token: 0x06000096 RID: 150 RVA: 0x0000536C File Offset: 0x0000376C public void ExitReached() { this.exitsReached++; if (this.exitsReached == 1) { RenderSettings.ambientLight = Color.red; //Make everything red and start player the weird sound RenderSettings.fog = true; this.audioDevice.PlayOneShot(this.aud_Switch, 0.8f); this.audioDevice.clip = this.aud_MachineQuiet; this.audioDevice.loop = true; this.audioDevice.Play(); } if (this.exitsReached == 2) //Play a sound { this.audioDevice.volume = 0.8f; this.audioDevice.clip = this.aud_MachineStart; this.audioDevice.loop = true; this.audioDevice.Play(); } if (this.exitsReached == 3) //Play a even louder sound { this.audioDevice.clip = this.aud_MachineRev; this.audioDevice.loop = false; this.audioDevice.Play(); this.time += Time.deltaTime; if (this.exitsReached == 3) { this.baldiScrpt.GetAngry(0.75f * Time.deltaTime); } } }

// Token: 0x06000097 RID: 151 RVA: 0x00005459 File Offset: 0x00003859 public void DespawnCrafters() { this.crafters.SetActive(false); //Make Arts And Crafters Inactive }

private void MouseAppearing() { Ray ray = Camera.main.ScreenPointToRay(new Vector2(Screen.width / 2, Screen.height / 2)); RaycastHit raycastHit;

if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Door" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 15f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Notebook" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 10f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Item" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 10f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (raycastHit.collider.name == "PayPhone" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 10f & !this.gamePaused) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (raycastHit.collider.name == "TapePlayer" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 10f & !this.gamePaused) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (raycastHit.collider.name == "Clocker" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 15f & !this.gamePaused) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Fountain" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 15f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Hideable Locker" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 15f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Number Button Wall" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 15f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else if (Physics.Raycast(ray, out raycastHit) && (raycastHit.collider.tag == "Vending Machine" & Vector3.Distance(this.playerTransform.position, raycastHit.transform.position) < 15f & !this.gamePaused)) { this.reticle.SetActive(false); this.reticle2.SetActive(true); } else { this.reticle.SetActive(true); this.reticle2.SetActive(false); } }

public AILocationSelectorScript AILocationSelector; public Collider playerCollider; //The player's collider public AudioClip aud_Teleport; //The sound that plays when you teleport public AudioClip aud_Crunch; //The sound that plays when the player eats something public AudioClip aud_DrinkWater; //The sound that plays when the player drinks water public AudioClip aud_SpitGum; //The sound that plays when the Player Spits Gum public AudioClip aud_EatPancake; //The sound that plays when the Player eats a Pancake

public GameObject bannedicon; public AudioClip banned; public AudioClip hebackpri; public AudioClip aud_EatIceCream;

public GameObject raremachine; //The gameobject for the rare machine public GameObject zeroprize; public GameObject cloudycopter; public GameObject testdithered;

public AudioClip pencilstab;

public AudioClip cloudyPAH;

public RandomCharSpawner rcs;

// Token: 0x040000AB RID: 171 public CursorControllerScript cursorController;

// Token: 0x040000AC RID: 172 public PlayerScript player;

// Token: 0x040000AD RID: 173 public Transform playerTransform;

// Token: 0x040000AE RID: 174 public Transform cameraTransform;

// Token: 0x040000AF RID: 175 public EntranceScript entrance_0;

// Token: 0x040000B0 RID: 176 public EntranceScript entrance_1;

// Token: 0x040000B1 RID: 177 public EntranceScript entrance_2;

// Token: 0x040000B2 RID: 178 public EntranceScript entrance_3;

// Token: 0x040000B3 RID: 179 public GameObject baldiTutor;

// Token: 0x040000B4 RID: 180 public GameObject baldi;

// Token: 0x040000B5 RID: 181 public BaldiScript baldiScrpt;

// Token: 0x040000B6 RID: 182 public AudioClip aud_Prize;

// Token: 0x040000B7 RID: 183 public AudioClip aud_AllNotebooks;

// Token: 0x040000B8 RID: 184 public GameObject principal; public GameObject principalson;

// Token: 0x040000B9 RID: 185 public GameObject crafters;

// Token: 0x040000BA RID: 186 public GameObject playtime;

// Token: 0x040000BB RID: 187 public PlaytimeScript playtimeScript;

// Token: 0x040000BC RID: 188 public GameObject gottaSweep;

// Token: 0x040000BD RID: 189 public GameObject bully;

// Token: 0x040000BE RID: 190 public GameObject firstPrize;

// Token: 0x040000BF RID: 191 public FirstPrizeScript firstPrizeScript;

// Token: 0x040000BE RID: 192 public GameObject clocker;

// Token: 0x040000BE RID: 193 public ClockerScript clockscript;

public GameObject beans; public BeansScript beansScript;

public GameObject kingofdoors; public KoDScript KingOfDoorsScript;

// Token: 0x040000C0 RID: 194 public GameObject quarter;

public GameObject dollar1; public GameObject dollar2; public GameObject dollar3;

// Token: 0x040000C1 RID: 195 public AudioSource tutorBaldi;

// Token: 0x040000C2 RID: 196 public string mode;

// Token: 0x040000C3 RID: 197 public int notebooks;

// Token: 0x040000C4 RID: 198 public GameObject[] notebookPickups;

// Token: 0x040000C5 RID: 199 public int failedNotebooks;

// Token: 0x040000C6 RID: 200 public float time;

// Token: 0x040000C7 RID: 201 public bool spoopMode;

// Token: 0x040000C8 RID: 202 public bool finaleMode;

// Token: 0x040000C9 RID: 203 public bool debugMode;

// Token: 0x040000CA RID: 204 public bool mouseLocked;

// Token: 0x040000CB RID: 205 public int exitsReached;

// Token: 0x040000CC RID: 206 public int itemSelected;

// Token: 0x040000CD RID: 207 public int[] item = new int[5];

// Token: 0x040000CE RID: 207 public RawImage[] itemSlot = new RawImage[5];

// Token: 0x040000CF RID: 208 private string[] itemNames = new string[] { "Nothing", "Energy flavored Zesty Bar", "Yellow Door Lock", "Principal's Keys", "BSODA", "Quarter", "Baldi Anti Hearing and Disorienting Tape", "Alarm Clock", "WD-NoSquee (Door Type)", "Safety Scissors", "Portable Tape Player", "Jimmy's Lost Pencil", "Handy Dollar", "Principal Ban-er", "Chewsi Speedy Bar", "Rare Teleporter", "Water Bottle", "Ice Cream", "Pancake", "A Piece of Gum", "Principal's Dollar" };

// Token: 0x040000D0 RID: 209 public Text itemText;

// Token: 0x040000D1 RID: 210 public UnityEngine.Object[] items = new UnityEngine.Object[10];

// Token: 0x040000D2 RID: 211 public Texture[] itemTextures = new Texture[10];

// Token: 0x040000D3 RID: 212 public GameObject bsodaSpray;

public GameObject PlayerGum;

// Token: 0x040000D4 RID: 213 public GameObject alarmClock;

// Token: 0x040000D4 RID: 214 public GameObject portTape;

// Token: 0x040000D5 RID: 215 public Text notebookCount;

// Token: 0x040000D6 RID: 216 public GameObject pauseText;

// Token: 0x040000D7 RID: 217 public GameObject highScoreText;

// Token: 0x040000D8 RID: 218 public GameObject baldiNod;

// Token: 0x040000D9 RID: 219 public GameObject baldiShake;

// Token: 0x040000DA RID: 220 public GameObject warning;

// Token: 0x040000DB RID: 221 public GameObject reticle; public GameObject reticle2;

// Token: 0x040000DC RID: 222 public RectTransform itemSelect;

// Token: 0x040000DD RID: 223 private int[] itemSelectOffset;

// Token: 0x040000DE RID: 224 private bool gamePaused;

// Token: 0x040000DF RID: 225 private bool learningActive;

// Token: 0x040000E0 RID: 226 private float gameOverDelay;

// Token: 0x040000E1 RID: 227 private AudioSource audioDevice;

// Token: 0x040000E2 RID: 228 public AudioClip aud_Soda;

// Token: 0x040000E3 RID: 229 public AudioClip aud_Spray;

// Token: 0x040000E4 RID: 230 public AudioClip aud_buzz;

// Token: 0x040000E5 RID: 231 public AudioClip aud_Hang;

// Token: 0x040000E6 RID: 232 public AudioClip aud_MachineQuiet;

// Token: 0x040000E7 RID: 233 public AudioClip aud_MachineStart;

// Token: 0x040000E8 RID: 234 public AudioClip aud_MachineRev;

// Token: 0x040000E9 RID: 235 public AudioClip aud_MachineLoop;

// Token: 0x040000EA RID: 236 public AudioClip aud_Switch;

// Token: 0x040000EB RID: 237 public AudioSource schoolMusic;

// Token: 0x040000EC RID: 238 public AudioSource learnMusic; }