static void PrefixUpdate(Pathea.Player __instance, ref Pathea.TimeCd ___tickCd) { if (___tickCd.maxTime != Main.modSettings.TickCooldown) { ___tickCd = new Pathea.TimeCd(Main.modSettings.TickCooldown); } }
static void PostfixInitNew(Pathea.Player __instance, Pathea.ActorNs.Actor ___playingActor) { if (___playingActor == null) { return; } // meh if (originalPlayerMotionValues[0] == 0.0F) { originalPlayerMotionValues[0] = ___playingActor.motor.maxSpeed; } if (originalPlayerMotionValues[1] == 0.0F) { originalPlayerMotionValues[1] = ___playingActor.RunSpeed; } if (originalPlayerMotionValues[2] == 0.0F) { originalPlayerMotionValues[2] = ___playingActor.FastRunSpeed; } // add event handlers to match interaction targets __instance.OnInteractiveStart += AnimHelper.OnPlayerInteractiveStart; __instance.OnInteractiveSuccess += AnimHelper.OnPlayerInteractiveSuccess; }
static void PostfixUpdate(Pathea.Player __instance, Pathea.ActorNs.Actor ___playingActor, Pathea.ActorNs.Actor ___itTarget) { if (___playingActor == null) { return; } if (Time.fixedTime - Main.timeTick >= 1.0F) { Main.timeTick = Time.fixedTime; // stuff to do every second } ___playingActor.motor.maxSpeed = originalPlayerMotionValues[0] * Main.modSettings.RunMultiplier; ___playingActor.RunSpeed = originalPlayerMotionValues[1] * Main.modSettings.RunMultiplier; ___playingActor.FastRunSpeed = originalPlayerMotionValues[2] * Main.modSettings.RunMultiplier; if (null != ___playingActor.animCtrl && null == AnimHelper.playerAnimator) { //Main.dump("has player animator 2"); AnimHelper.playerAnimator = ___playingActor.animCtrl.GetComponentInChildren <UnityEngine.Animator>(); } if (__instance.IsInteractiveRunning()) { //Main.dump(__instance.interactiveID); if (null != ___itTarget) { AnimHelper.currentPlayerInteractionTarget = ___itTarget.GetInstanceID(); //Main.dump("Interacting " + ___itTarget.name); //AnimHelper.setNPCSpeed(___itTarget); } } else { AnimHelper.currentPlayerInteractionTarget = 0; } if ( Main.modSettings.DrillDriftSpeed > 0.0F && __instance.IsAutoMove() && ( __instance.IsActionRunning(Pathea.ACT.ACType.Chainsaw) || __instance.IsActionRunning(Pathea.ACT.ACType.Drilling) ) ) { Vector3 direction = Main.modSettings.DrillDriftSpeed * Pathea.CameraSystemNs.CameraManager.Instance.SourceCamera.transform.forward; ___playingActor.motor.MoveBySpeed(direction); } }