private static void DrawPlayerCheats(CheatToolsWindow cheatToolsWindow) { GUILayout.Label("Player stats"); GUILayout.BeginHorizontal(); { GUILayout.Label("STR: " + _gameMgr.Player.physical, GUILayout.Width(60)); _gameMgr.Player.physical = (int)GUILayout.HorizontalSlider(_gameMgr.Player.physical, 0, 100); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("INT: " + _gameMgr.Player.intellect, GUILayout.Width(60)); _gameMgr.Player.intellect = (int)GUILayout.HorizontalSlider(_gameMgr.Player.intellect, 0, 100); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("H: " + _gameMgr.Player.hentai, GUILayout.Width(60)); _gameMgr.Player.hentai = (int)GUILayout.HorizontalSlider(_gameMgr.Player.hentai, 0, 100); } GUILayout.EndHorizontal(); var cycle = Object.FindObjectsOfType <Cycle>().FirstOrDefault(); if (cycle != null) { if (cycle.timerVisible) { GUILayout.BeginHorizontal(); { GUILayout.Label("Time: " + cycle.timer.ToString("N1"), GUILayout.Width(65)); var newVal = GUILayout.HorizontalSlider(cycle.timer, 0, Cycle.TIME_LIMIT); if (Math.Abs(newVal - cycle.timer) > 0.09) { typeof(Cycle) .GetField("_timer", BindingFlags.Instance | BindingFlags.NonPublic) ?.SetValue(cycle, newVal); } } GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal(); { GUILayout.Label("Day of the week: " + cycle.nowWeek); if (GUILayout.Button("Next")) { cycle.Change(cycle.nowWeek.Next()); } } GUILayout.EndHorizontal(); } } GUILayout.BeginHorizontal(); { GUILayout.Label("Academy Name: ", GUILayout.ExpandWidth(false)); _gameMgr.saveData.accademyName = GUILayout.TextField(_gameMgr.saveData.accademyName, GUILayout.ExpandWidth(true)); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("Player Name: ", GUILayout.ExpandWidth(false)); _gameMgr.Player.parameter.lastname = GUILayout.TextField(_gameMgr.Player.parameter.lastname); _gameMgr.Player.parameter.firstname = GUILayout.TextField(_gameMgr.Player.parameter.firstname); } GUILayout.EndHorizontal(); if (GUILayout.Button("Add 10000 club points (+1 level)")) { _gameMgr.saveData.clubReport.comAdd += 10000; } if (GUILayout.Button("Stop shame reactions in bathrooms")) { var actionMap = Object.FindObjectOfType <ActionMap>(); if (actionMap != null) { foreach (var param in actionMap.infoDic.Values) { if (param.isWarning) { param.isWarning = false; CheatToolsPlugin.Logger.Log(LogLevel.Message, "Disabling shame reactions on map: " + param.MapName); } } } } GUI.changed = false; var playerIsNoticeable = _playerEnterExitTrigger == null || _playerEnterExitTrigger.enabled; playerIsNoticeable = !GUILayout.Toggle(!playerIsNoticeable, "Make player unnoticeable"); if (GUI.changed) { var actionMap = Object.FindObjectOfType <ActionScene>(); if (actionMap != null) { _playerEnterExitTrigger = actionMap.Player.noticeArea; _playerEnterExitTrigger.enabled = playerIsNoticeable; } } NoclipFeature.NoclipMode = GUILayout.Toggle(NoclipFeature.NoclipMode, "Enable player noclip"); if (GUILayout.Button("Open player data in inspector")) { cheatToolsWindow.Editor.Inspector.Push(new InstanceStackEntry(_gameMgr.saveData.player, "Player data"), true); } }
private static void DrawPlayerCheats(CheatToolsWindow cheatToolsWindow) { GUILayout.Label("Player stats"); GUILayout.BeginHorizontal(); { GUILayout.Label("STR: " + Game.Player.physical, GUILayout.Width(60)); Game.Player.physical = (int)GUILayout.HorizontalSlider(Game.Player.physical, 0, 100); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("INT: " + Game.Player.intellect, GUILayout.Width(60)); Game.Player.intellect = (int)GUILayout.HorizontalSlider(Game.Player.intellect, 0, 100); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Label("H: " + Game.Player.hentai, GUILayout.Width(60)); Game.Player.hentai = (int)GUILayout.HorizontalSlider(Game.Player.hentai, 0, 100); } GUILayout.EndHorizontal(); var cycle = Object.FindObjectsOfType <Cycle>().FirstOrDefault(); if (cycle != null) { if (cycle.timerVisible) { GUILayout.BeginHorizontal(); { GUILayout.Label("Time: " + cycle.timer.ToString("N1"), GUILayout.Width(65)); var newVal = GUILayout.HorizontalSlider(cycle.timer, 0, Cycle.TIME_LIMIT); if (Math.Abs(newVal - cycle.timer) > 0.09) { cycle._timer = newVal; } } GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal(); { GUILayout.Label("Day of the week: " + cycle.nowWeek); if (GUILayout.Button("Next")) { cycle.Change(cycle.nowWeek.Next()); } } GUILayout.EndHorizontal(); } } GUILayout.BeginHorizontal(); { GUILayout.Label("Player Name: ", GUILayout.ExpandWidth(false)); Game.Player.parameter.lastname = GUILayout.TextField(Game.Player.parameter.lastname); Game.Player.parameter.firstname = GUILayout.TextField(Game.Player.parameter.firstname); } GUILayout.EndHorizontal(); if (GUILayout.Button("Add 100 Koikatsu points")) { Game.saveData.player.koikatsuPoint += 100; } if (GUILayout.Button("Stop shame reactions in bathrooms")) { var actionMap = Object.FindObjectOfType <ActionMap>(); if (actionMap != null) { foreach (var param in actionMap.infoDic.Values) { if (param.isWarning) { param.isWarning = false; CheatToolsPlugin.Logger.Log(LogLevel.Message, "Disabling shame reactions on map: " + param.MapName); } } } } GUI.changed = false; var playerIsNoticeable = _playerEnterExitTrigger == null || _playerEnterExitTrigger.enabled; playerIsNoticeable = !GUILayout.Toggle(!playerIsNoticeable, "Make player unnoticeable"); if (GUI.changed) { var actionMap = Object.FindObjectOfType <ActionScene>(); if (actionMap != null) { _playerEnterExitTrigger = actionMap.Player.noticeArea; _playerEnterExitTrigger.enabled = playerIsNoticeable; } } NoclipFeature.NoclipMode = GUILayout.Toggle(NoclipFeature.NoclipMode, "Enable player noclip"); if (GUILayout.Button("Open player data in inspector")) { cheatToolsWindow.Editor.Inspector.Push(new InstanceStackEntry(Game.saveData.player, "Player data"), true); } GUILayout.BeginVertical(GUI.skin.box); { var currentPrayer = Game.saveData.prayedResult; var prayerIndex = Array.IndexOf(_prayerIds, currentPrayer); var prayerName = prayerIndex >= 0 ? _prayerNames[prayerIndex] : "Unknown"; GUILayout.Label("Prayer bonus: " + prayerName); GUI.changed = false; var result = GUILayout.SelectionGrid(prayerIndex, _prayerNames, 1); if (GUI.changed) { Game.saveData.prayedResult = _prayerIds[result]; } } GUILayout.EndVertical(); }