Exemplo n.º 1
0
 static void PrefixUpdate(Pathea.Player __instance, ref Pathea.TimeCd ___tickCd)
 {
     if (___tickCd.maxTime != Main.modSettings.TickCooldown)
     {
         ___tickCd = new Pathea.TimeCd(Main.modSettings.TickCooldown);
     }
 }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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);
            }
        }