24 lines
908 B
C#
24 lines
908 B
C#
using HarmonyLib;
|
|
using MetalButtplug.Utils;
|
|
|
|
namespace MetalButtplug.Patches;
|
|
|
|
[HarmonyPatch(typeof(BeatSequencer), nameof(BeatSequencer.UpdateBeat))]
|
|
internal class UpdateBeatPatch {
|
|
private static void Prefix(BeatStatusProvider beatStatus) {
|
|
if (beatStatus.BeatFlags.HasFlag(BeatFlags.Quarter)) {
|
|
var playerController = UnityEngine.Object.FindObjectOfType<FirstPersonController>();
|
|
var player = playerController.m_player;
|
|
var controller = player.ScoreController;
|
|
|
|
Plugin.Log.LogInfo(
|
|
$"Quarter beat, multiplier: {controller.GetCurrentTierIndex()}/{controller.GetNumTiers()-1} ({1 << controller.GetCurrentTierIndex()}x)"
|
|
);
|
|
|
|
var scoreMultiplier = (float)controller.GetCurrentTierIndex() / ((float)controller.GetNumTiers() - 1);
|
|
ButtplugManager.Vibrate(scoreMultiplier, 100);
|
|
|
|
}
|
|
}
|
|
}
|