private static void InternalToggle() { if (DebugToolkit.UpdateCurrentPlayerBody(out _currentNetworkUser, out _currentBody)) { if (IsActivated) { if (_collidableLayersCached != 0) { _currentBody.GetComponent <KinematicCharacterMotor>().CollidableLayers = _collidableLayersCached; } _currentBody.characterMotor.useGravity = true; UndoHooks(); } else { _collidableLayersCached = _currentBody.GetComponent <KinematicCharacterMotor>().CollidableLayers; _currentBody.GetComponent <KinematicCharacterMotor>().CollidableLayers = 0; _currentBody.characterMotor.useGravity = false; ApplyHooks(); } IsActivated = !IsActivated; Log.Message(string.Format(Lang.NOCLIP_TOGGLE, IsActivated)); } }
internal static void Update() { if (DebugToolkit.UpdateCurrentPlayerBody(out _currentNetworkUser, out _currentBody)) { Loop(); } }
private static void InternalActivation() { if (DebugToolkit.UpdateCurrentPlayerBody(out _, out _currentBody)) { var playerTransform = _currentBody.GetComponentInChildren <KinematicCharacterMotor>().transform; var aimDirection = _currentBody.GetComponentInChildren <InputBankTest>().aimDirection; if (Physics.Raycast(playerTransform.position, aimDirection, out var hit, Mathf.Infinity, 1 << 11)) { _currentBody.GetComponentInChildren <KinematicCharacterMotor>().SetPosition(hit.point + new Vector3(0, 5)); } } }
internal static void CombatDirector_SetNextSpawnAsBoss(On.RoR2.CombatDirector.orig_SetNextSpawnAsBoss orig, CombatDirector self) { orig(self); self.monsterCredit *= 100; var selected = DebugToolkit.nextBoss; //todo: fix this line. // selected.cost = (int)((self.monsterCredit / DebugToolkit.nextBossCount) / DebugToolkit.GetTierDef(DebugToolkit.nextBossElite).costMultiplier); self.OverrideCurrentMonsterCard(selected); self.SetFieldValue <CombatDirector.EliteTierDef>("currentActiveEliteTier", DebugToolkit.GetTierDef(DebugToolkit.nextBossElite)); self.SetFieldValue <EliteIndex>("currentActiveEliteIndex", DebugToolkit.nextBossElite); Log.Message($"{selected.spawnCard.name} cost has been set to {selected.cost} for {DebugToolkit.nextBossCount} {DebugToolkit.nextBossElite.ToString()} bosses with available credit: {self.monsterCredit}", Log.LogLevel.Info); DebugToolkit.nextBossCount = 1; DebugToolkit.nextBossElite = EliteIndex.None; On.RoR2.CombatDirector.SetNextSpawnAsBoss -= CombatDirector_SetNextSpawnAsBoss; }