mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 10:37:37 +02:00
Lots of tweaks, fixes and small additions + bop fixes and bop parity across almost all games with bops. (#331)
* Rhythm rally and cheer readers improvements * Autobop for fan club * Implemented new bop parity for fan club, rhythm rally and ssds * Air rally easing improvements * Fixed drumming practice stuff * Tap trial has been unjankified yet again * Cheer readers and catchy tune bops * More bop parity * MORE!!!! * That should be all of them except space dance and dj school --------- Co-authored-by: minenice55 <star.elementa@gmail.com>
This commit is contained in:
@ -15,6 +15,16 @@ namespace HeavenStudio.Games.Loaders
|
||||
public static Minigame AddGame(EventCaller eventCaller) {
|
||||
return new Minigame("samuraiSliceNtr", "Samurai Slice (DS)", "00165D", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("bop", "Bop")
|
||||
{
|
||||
function = delegate {var e = eventCaller.currentEntity; SamuraiSliceNtr.instance.Bop(e.beat, e.length, e["whoBops"], e["whoBopsAuto"]); },
|
||||
resizable = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("whoBops", SamuraiSliceNtr.WhoBops.Both, "Who Bops?", "Who will bop?"),
|
||||
new Param("whoBopsAuto", SamuraiSliceNtr.WhoBops.None, "Who Bops? (Auto)", "Who will automatically begin bopping?")
|
||||
}
|
||||
},
|
||||
new GameAction("melon", "Melon")
|
||||
{
|
||||
function = delegate
|
||||
@ -89,6 +99,17 @@ namespace HeavenStudio.Games
|
||||
Melon2B2T,
|
||||
}
|
||||
|
||||
public enum WhoBops
|
||||
{
|
||||
Samurai = 0,
|
||||
Children = 1,
|
||||
Both = 2,
|
||||
None = 3
|
||||
}
|
||||
|
||||
private bool goBopSamurai = true;
|
||||
private bool goBopChild = true;
|
||||
|
||||
[Header("References")]
|
||||
public NtrSamurai player;
|
||||
public GameObject launcher;
|
||||
@ -121,8 +142,8 @@ namespace HeavenStudio.Games
|
||||
var cond = Conductor.instance;
|
||||
if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1))
|
||||
{
|
||||
player.Bop();
|
||||
childParent.GetComponent<NtrSamuraiChild>().Bop();
|
||||
if (goBopSamurai) player.Bop();
|
||||
if (goBopChild) childParent.GetComponent<NtrSamuraiChild>().Bop();
|
||||
}
|
||||
|
||||
if (PlayerInput.AltPressed())
|
||||
@ -133,6 +154,38 @@ namespace HeavenStudio.Games
|
||||
DoSlice();
|
||||
}
|
||||
|
||||
public void Bop(float beat, float length, int whoBops, int whoBopsAuto)
|
||||
{
|
||||
goBopSamurai = whoBopsAuto == (int)WhoBops.Samurai || whoBopsAuto == (int)WhoBops.Both;
|
||||
goBopChild = whoBopsAuto == (int)WhoBops.Children || whoBopsAuto == (int)WhoBops.Both;
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate { BopSingle(whoBops); })
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void BopSingle(int whoBops)
|
||||
{
|
||||
switch (whoBops)
|
||||
{
|
||||
case (int)WhoBops.Samurai:
|
||||
player.Bop();
|
||||
break;
|
||||
case (int)WhoBops.Children:
|
||||
childParent.GetComponent<NtrSamuraiChild>().Bop();
|
||||
break;
|
||||
case (int)WhoBops.Both:
|
||||
player.Bop();
|
||||
childParent.GetComponent<NtrSamuraiChild>().Bop();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void DoStep()
|
||||
{
|
||||
Jukebox.PlayOneShotGame("samuraiSliceNtr/ntrSamurai_launchThrough");
|
||||
|
Reference in New Issue
Block a user