private static void CCGiveEquipment(ConCommandArgs args) { string equipString = ArgsHelper.GetValue(args.userArgs, 0); string playerString = ArgsHelper.GetValue(args.userArgs, 1); NetworkUser player = GetNetUserFromString(playerString); Inventory inventory = player != null ? player.master.inventory : args.sender.master.inventory; int equipIndex = 0; EquipmentIndex equipType = EquipmentIndex.None; if (int.TryParse(equipString, out equipIndex)) { if (equipIndex < (int)EquipmentIndex.Count && equipIndex >= -1) { inventory.SetEquipmentIndex((EquipmentIndex)equipIndex); } } else if (Enum.TryParse <EquipmentIndex>(equipString, true, out equipType)) { inventory.SetEquipmentIndex(equipType); } else { Debug.Log("Incorrect arguments. Try: give_equip meteor --- list_equips for a list of all equipments"); } }
private static void CCTimeScale(ConCommandArgs args) { string scaleString = ArgsHelper.GetValue(args.userArgs, 0); float scale = 1f; if (args.Count == 0) { Debug.Log(Time.timeScale); return; } if (float.TryParse(scaleString, out scale)) { Time.timeScale = scale; Debug.Log("Time scale set to " + scale); } else { Debug.Log("Incorrect arguments. Try: time_scale 0.5"); } NetworkWriter networkWriter = new NetworkWriter(); networkWriter.StartMessage(101); networkWriter.Write((double)Time.timeScale); networkWriter.FinishMessage(); NetworkServer.SendWriterToReady(null, networkWriter, QosChannelIndex.time.intVal); }
private static void CCNextRound(ConCommandArgs args) { if (args.Count == 0) { Run.instance.AdvanceStage(Run.instance.nextStageScene.SceneName); return; } string stageString = ArgsHelper.GetValue(args.userArgs, 0); List <string> array = new List <string>(); for (int i = 0; i < SceneManager.sceneCountInBuildSettings; i++) { array.Add(SceneUtility.GetScenePathByBuildIndex(i).Replace("Assets/RoR2/Scenes/", "").Replace(".unity", "")); } if (array.Contains(stageString)) { Run.instance.AdvanceStage(stageString); return; } else { Debug.Log("Incorrect arguments. Try: next_round golemplains --- Here is a list of available scenes"); Debug.Log(string.Join("\n", array)); } }
private static void CCSetFov(ConCommandArgs args) { if (args.Count == 0) { Debug.Log(fov); return; } string fovString = ArgsHelper.GetValue(args.userArgs, 0); float fovTemp = 60f; if (float.TryParse(fovString, out fovTemp)) { fov = fovTemp; DodgeState.dodgeFOV = fov - 10f; BackflipState.dodgeFOV = fov - 10f; Debug.Log("Set FOV to " + fov); List <CameraRigController> instancesList = (List <CameraRigController>) typeof(CameraRigController).GetField("instancesList", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic).GetValue(null); foreach (CameraRigController c in instancesList) { c.baseFov = fov; } } else { Debug.Log("Incorrect arguments. Try: fov 60"); } }
private static void CCSpawnAI(ConCommandArgs args) { string prefabString = ArgsHelper.GetValue(args.userArgs, 0); string eliteString = ArgsHelper.GetValue(args.userArgs, 1); string teamString = ArgsHelper.GetValue(args.userArgs, 2); string braindeadString = ArgsHelper.GetValue(args.userArgs, 3); var character = Character.GetCharacter(prefabString); if (character == null) { Debug.LogFormat("Could not spawn {0}, Try: spawn_ai GolemBody", character.body); return; } var prefab = MasterCatalog.FindMasterPrefab(character.master); var body = BodyCatalog.FindBodyPrefab(character.body); var bodyGameObject = Instantiate <GameObject>(prefab, args.sender.master.GetBody().transform.position, Quaternion.identity); CharacterMaster master = bodyGameObject.GetComponent <CharacterMaster>(); NetworkServer.Spawn(bodyGameObject); master.SpawnBody(body, args.sender.master.GetBody().transform.position, Quaternion.identity); EliteIndex eliteIndex = EliteIndex.None; if (Enum.TryParse <EliteIndex>(eliteString, true, out eliteIndex)) { if ((int)eliteIndex > (int)EliteIndex.None && (int)eliteIndex < (int)EliteIndex.Count) { master.inventory.SetEquipmentIndex(EliteCatalog.GetEliteDef(eliteIndex).eliteEquipmentIndex); } } TeamIndex teamIndex = TeamIndex.Neutral; if (Enum.TryParse <TeamIndex>(teamString, true, out teamIndex)) { if ((int)teamIndex >= (int)TeamIndex.None && (int)teamIndex < (int)TeamIndex.Count) { master.teamIndex = teamIndex; } } bool braindead; if (bool.TryParse(braindeadString, out braindead)) { if (braindead) { Destroy(master.GetComponent <BaseAI>()); } } Debug.Log("Attempting to spawn " + character.body); }
private static void CCTrueKill(ConCommandArgs args) { string playerString = ArgsHelper.GetValue(args.userArgs, 0); NetworkUser player = GetNetUserFromString(playerString); player = player ?? args.sender; player.master.TrueKill(); }
private static void RespawnPlayer(ConCommandArgs args) { string playerString = ArgsHelper.GetValue(args.userArgs, 0); NetworkUser player = GetNetUserFromString(playerString); player = player ?? args.sender; Transform spawnPoint = Stage.instance.GetPlayerSpawnTransform(); player.master.Respawn(spawnPoint.position, spawnPoint.rotation, false); }
private static void CCSpawnAs(ConCommandArgs args) { if (args.Count == 0) { return; } string bodyString = ArgsHelper.GetValue(args.userArgs, 0); string playerString = ArgsHelper.GetValue(args.userArgs, 1); var character = Character.GetCharacter(bodyString); if (character == null) { Debug.LogFormat("Could not spawn {0}, Try: spawn_ai GolemBody", character.body); return; } NetworkUser player = GetNetUserFromString(playerString); CharacterMaster master = player != null ? player.master : args.sender.master; if (!master.alive) { Debug.Log("Player is dead and cannot respawn."); return; } GameObject newBody = BodyCatalog.FindBodyPrefab(character.body); if (newBody == null) { List <string> array = new List <string>(); foreach (var item in BodyCatalog.allBodyPrefabs) { array.Add(item.name); } string list = string.Join("\n", array); Debug.LogFormat("Could not spawn as {0}, Try: spawn_as GolemBody --- \n{1}", character.body, list); return; } master.bodyPrefab = newBody; Debug.Log(args.sender.userName + " is spawning as " + character.body); master.Respawn(master.GetBody().transform.position, master.GetBody().transform.rotation); }
private static void CCUseSeed(ConCommandArgs args) { if (args.Count == 0) { Debug.Log(seed); } string stringSeed = ArgsHelper.GetValue(args.userArgs, 0); if (!ulong.TryParse(stringSeed, out seed)) { Debug.Log("Incorrect arguments given. Try: seed 12345"); } else { Debug.Log("Seed set to " + seed); } }
private static void CCSpawnBody(ConCommandArgs args) { string prefabString = ArgsHelper.GetValue(args.userArgs, 0); var character = Character.GetCharacter(prefabString); if (character == null) { Debug.LogFormat("Could not spawn {0}, Try: spawn_ai GolemBody", character.body); return; } GameObject body = BodyCatalog.FindBodyPrefab(character.body); GameObject gameObject = Instantiate <GameObject>(body, args.sender.master.GetBody().transform.position, Quaternion.identity); NetworkServer.Spawn(gameObject); Debug.Log("Attempting to spawn " + character.body); }
private static void CCLoad(ConCommandArgs args) { if (args.Count != 1) { Debug.Log("Command failed, requires 1 argument: load <filename>"); return; } if (loadingScene) { return; } string fileName = ArgsHelper.GetValue(args.userArgs, 0); string saveJSON = File.ReadAllText($"{directory}{fileName}.json"); SaveData save = TinyJson.JSONParser.FromJson <SaveData>(saveJSON); instance.StartCoroutine(instance.StartLoading(save)); }
private static void CCGiveExperience(ConCommandArgs args) { if (args.Count == 0) { return; } string expString = ArgsHelper.GetValue(args.userArgs, 0); string playerString = ArgsHelper.GetValue(args.userArgs, 1); NetworkUser player = GetNetUserFromString(playerString); CharacterMaster master = player != null ? player.master : args.sender.master; uint result; if (uint.TryParse(expString, out result)) { master.GiveExperience(result); } }
private static void CCSave(ConCommandArgs args) { if (args.Count != 1) { Debug.Log("Command failed, requires 1 argument: save <filename>"); return; } SaveData save = new SaveData(); string json = TinyJson.JSONWriter.ToJson(save); string fileName = ArgsHelper.GetValue(args.userArgs, 0); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } File.WriteAllText($"{directory}{fileName}.json", json); }
private static void CCSetSprintFOVMulti(ConCommandArgs args) { if (args.Count == 0) { Debug.Log(sprintFovMultiplier); return; } string multiString = ArgsHelper.GetValue(args.userArgs, 0); float sprintFov = 1f; if (float.TryParse(multiString, out sprintFov)) { sprintFovMultiplier = sprintFov; Debug.Log("Set Sprint FOV Multiplier to " + sprintFovMultiplier); } else { Debug.Log("Incorrect arguments. Try: sprint_fov_multiplier 1"); } }
private static void CCSetTime(ConCommandArgs args) { if (args.Count == 0) { Debug.Log(Run.instance.fixedTime); return; } string stringTime = ArgsHelper.GetValue(args.userArgs, 0); float setTime; if (float.TryParse(stringTime, out setTime)) { Run.instance.fixedTime = setTime; ResetEnemyTeamLevel(); Debug.Log("Fixed_time set to " + setTime); } else { Debug.Log("Incorrect arguments. Try: fixed_time 600"); } }
private static void CCGiveItem(ConCommandArgs args) { string indexString = ArgsHelper.GetValue(args.userArgs, 0); string countString = ArgsHelper.GetValue(args.userArgs, 1); string playerString = ArgsHelper.GetValue(args.userArgs, 2); NetworkUser player = GetNetUserFromString(playerString); Inventory inventory = player != null ? player.master.inventory : args.sender.master.inventory; int itemCount = 1; if (!int.TryParse(countString, out itemCount)) { itemCount = 1; } int itemIndex = 0; ItemIndex itemType = ItemIndex.Syringe; if (int.TryParse(indexString, out itemIndex)) { if (itemIndex < (int)ItemIndex.Count && itemIndex >= 0) { itemType = (ItemIndex)itemIndex; inventory.GiveItem(itemType, itemCount); } } else if (Enum.TryParse <ItemIndex>(indexString, true, out itemType)) { inventory.GiveItem(itemType, itemCount); } else { Debug.Log("Incorrect arguments. Try: give_item syringe 10 --- list_items for a list of items"); } }
private static void CCSetClearCount(ConCommandArgs args) { string stringClearCount = ArgsHelper.GetValue(args.userArgs, 0); if (args.Count == 0) { Debug.Log(Run.instance.stageClearCount); return; } int setClearCount; if (int.TryParse(stringClearCount, out setClearCount)) { Run.instance.stageClearCount = setClearCount; ResetEnemyTeamLevel(); Debug.Log("Stage_clear_count set to " + setClearCount); } else { Debug.Log("Incorrect arguments. Try: stage_clear_count 5"); } }
private static void CCSpawnBody(ConCommandArgs args) { string prefabString = ArgsHelper.GetValue(args.userArgs, 0); prefabString = GetBodyNameFromString(prefabString); GameObject body = BodyCatalog.FindBodyPrefab(prefabString); if (body == null) { List <string> array = new List <string>(); foreach (var item in BodyCatalog.allBodyPrefabs) { array.Add(item.name); } string list = string.Join("\n", array); Debug.LogFormat("Could not spawn {0}, Try: spawn_body GolemBody --- \n{1}", prefabString, list); return; } GameObject gameObject = Instantiate <GameObject>(body, args.sender.master.GetBody().transform.position, Quaternion.identity); NetworkServer.Spawn(gameObject); Debug.Log("Attempting to spawn " + prefabString); }
private static void CCChangeTeam(ConCommandArgs args) { string teamString = ArgsHelper.GetValue(args.userArgs, 0); string playerString = ArgsHelper.GetValue(args.userArgs, 1); NetworkUser player = GetNetUserFromString(playerString); player = player ?? args.sender; TeamIndex teamIndex = TeamIndex.Player; if (Enum.TryParse(teamString, true, out teamIndex)) { if ((int)teamIndex >= (int)TeamIndex.None && (int)teamIndex < (int)TeamIndex.Count) { Debug.Log("Changed to team " + teamIndex); if (player.master.GetBody()) { player.master.GetBody().teamComponent.teamIndex = teamIndex; player.master.teamIndex = teamIndex; } } } }
private static void CCSpawnAI(ConCommandArgs args) { GameObject prefab; GameObject body; GameObject gameObject = null; string prefabString = ArgsHelper.GetValue(args.userArgs, 0); string eliteString = ArgsHelper.GetValue(args.userArgs, 1); string teamString = ArgsHelper.GetValue(args.userArgs, 2); string braindeadString = ArgsHelper.GetValue(args.userArgs, 3); string bodyString = GetBodyMasterLink(prefabString, 0); //prefabString.Replace("Master", ""); string masterString = GetBodyMasterLink(prefabString, 1); //prefabString.Replace("Body", ""); prefab = MasterCatalog.FindMasterPrefab(masterString); body = BodyCatalog.FindBodyPrefab(bodyString); if (prefab == null) { List <string> array = new List <string>(); foreach (var item in MasterCatalog.allMasters) { array.Add(item.name); } string list = string.Join("\n", array); Debug.LogFormat("Could not spawn {0}, Try: spawn_ai GolemBody --- \n{1}", prefabString, list); return; } gameObject = Instantiate <GameObject>(prefab, args.sender.master.GetBody().transform.position, Quaternion.identity); CharacterMaster master = gameObject.GetComponent <CharacterMaster>(); NetworkServer.Spawn(gameObject); master.SpawnBody(body, args.sender.master.GetBody().transform.position, Quaternion.identity); EliteIndex eliteIndex = EliteIndex.None; if (Enum.TryParse <EliteIndex>(eliteString, true, out eliteIndex)) { if ((int)eliteIndex > (int)EliteIndex.None && (int)eliteIndex < (int)EliteIndex.Count) { master.inventory.SetEquipmentIndex(EliteCatalog.GetEliteDef(eliteIndex).eliteEquipmentIndex); } } TeamIndex teamIndex = TeamIndex.Neutral; if (Enum.TryParse <TeamIndex>(teamString, true, out teamIndex)) { if ((int)teamIndex >= (int)TeamIndex.None && (int)teamIndex < (int)TeamIndex.Count) { master.teamIndex = teamIndex; } } bool braindead; if (bool.TryParse(braindeadString, out braindead)) { if (braindead) { Destroy(master.GetComponent <BaseAI>()); } } Debug.Log("Attempting to spawn " + prefabString); }