void Start() { _fireplace_controller = GameObject.Find("Fireplace").GetComponent <FireplaceController>(); _sun_controller = GameObject.Find("Sun Light").GetComponent <LightController>(); _skybox_controller = GetComponent <SkyboxController>(); _audio_source = gameObject.AddComponent <AudioSource>(); _audio_source.loop = false; _audio_source.playOnAwake = false; _audio_source.priority = 256; // top priority _audio_source_2 = gameObject.AddComponent <AudioSource>(); _audio_source_2.loop = false; _audio_source_2.playOnAwake = false; _audio_source_2.priority = 256; // top priority _voice_stopped = false; if (_clips.Length > 0) { _audio_lines = new AudioLine[_clips.Length]; for (int i = 0; i < _clips.Length; i++) { // _audio_lines[i] = new AudioLine(_clips[i]); _audio_lines[i] = new AudioLine { _clip = _clips[i], _seconds = 2.5f, _played = false, }; if (i == 0) { _audio_lines[i]._seconds = 5f; } } } _current = 0; _is_end = false; _sun_controller.StartSunset(); // StartCoroutine(WaitAndSurvive(10)); }
protected override void DoEffect(PlayerController user) { try { IntVector2 bestRewardLocation2 = user.CurrentRoom.GetBestRewardLocation(IntVector2.One * 2, RoomHandler.RewardLocationStyle.PlayerCenter, true); Vector3 convertedVector = bestRewardLocation2.ToVector3(); FireplaceController Fireplace = null; if (GameManager.Instance.Dungeon.tileIndices.tilesetId == GlobalDungeonData.ValidTilesets.CASTLEGEON) { Fireplace = FindObjectOfType <FireplaceController>(); } GameObject thingToSpawn = BraveUtility.RandomElement(PossibleObjects); if (Fireplace != null && Fireplace.transform.position.GetAbsoluteRoom() == user.CurrentRoom) { thingToSpawn = EasyPlaceableObjects.WaterBarrel; } if (UnityEngine.Random.value <= 0.01f) { IntVector2 bestRewardLocation = user.CurrentRoom.GetBestRewardLocation(IntVector2.One * 2, RoomHandler.RewardLocationStyle.PlayerCenter, true); Chest brown_Chest = GameManager.Instance.RewardManager.D_Chest; brown_Chest.IsLocked = false; brown_Chest.ChestType = Chest.GeneralChestType.UNSPECIFIED; Chest spawnedChest = Chest.Spawn(brown_Chest, bestRewardLocation); spawnedChest.lootTable.lootTable = (UnityEngine.Random.value <= 0.5f ? GameManager.Instance.RewardManager.GunsLootTable : GameManager.Instance.RewardManager.ItemsLootTable); spawnedChest.RegisterChestOnMinimap(spawnedChest.GetAbsoluteParentRoom()); } else { SpawnObjectManager.SpawnObject(thingToSpawn, convertedVector, EasyVFXDatabase.BloodiedScarfPoofVFX); } if (user.PlayerHasActiveSynergy("His Grace")) { KillRandomEnemy(user.CurrentRoom); } if (user.PlayerHasActiveSynergy("Sharpest Tool In The Shed")) { DoRandomRoomSpawns(user.CurrentRoom); } } catch (Exception e) { ETGModConsole.Log(e.Message); ETGModConsole.Log(e.StackTrace); } }