mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-22 01:25:12 +00:00
Fan Club Sound Fix (#613)
* title screen prompt won't switch out of mouse * fix fan club crowd sounds not being scheduled properly * remove extra rain drop from kman particle (again smh)
This commit is contained in:
parent
84d766bb7e
commit
ba6c1a52bb
5 changed files with 84 additions and 72 deletions
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
@ -51,5 +51,5 @@
|
|||
"temp/": true,
|
||||
"Temp/": true
|
||||
},
|
||||
"dotnet.defaultSolution": "HeavenStudio-AstrlJelly.sln"
|
||||
"dotnet.defaultSolution": "HeavenStudio.sln"
|
||||
}
|
|
@ -26958,7 +26958,7 @@ MonoBehaviour:
|
|||
- name: crowd_hai
|
||||
sequence:
|
||||
game: 1
|
||||
force: 0
|
||||
force: 1
|
||||
clips:
|
||||
- clip: fanClub/crowd_hai_jp
|
||||
beat: 0
|
||||
|
@ -27100,7 +27100,7 @@ MonoBehaviour:
|
|||
- name: crowd_kamone
|
||||
sequence:
|
||||
game: 1
|
||||
force: 0
|
||||
force: 1
|
||||
clips:
|
||||
- clip: fanClub/crowd_ka_jp
|
||||
beat: 0
|
||||
|
@ -27133,7 +27133,7 @@ MonoBehaviour:
|
|||
- name: crowd_iina
|
||||
sequence:
|
||||
game: 1
|
||||
force: 0
|
||||
force: 1
|
||||
clips:
|
||||
- clip: fanClub/crowd_ii_jp
|
||||
beat: 0
|
||||
|
|
|
@ -10,7 +10,8 @@ namespace HeavenStudio.Games.Loaders
|
|||
using static Minigames;
|
||||
public static class NtrIdolLoader
|
||||
{
|
||||
public static Minigame AddGame(EventCaller eventCaller) {
|
||||
public static Minigame AddGame(EventCaller eventCaller)
|
||||
{
|
||||
return new Minigame("fanClub", "Fan Club", "ff78ff", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("bop", "Bop")
|
||||
|
@ -33,7 +34,7 @@ namespace HeavenStudio.Games.Loaders
|
|||
new Param("toggle2", false, "Disable response SFX", "Disable the monkeys's response")
|
||||
},
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; FanClub.WarnHai(e.beat, e["toggle"]);},
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.HaiSound(e.beat, e["toggle"]); }
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.HaiSound(e.beat, e["toggle"], e["toggle2"]); }
|
||||
},
|
||||
new GameAction("I suppose", "I Suppose!")
|
||||
{
|
||||
|
@ -47,7 +48,7 @@ namespace HeavenStudio.Games.Loaders
|
|||
new Param("alt", false, "Alternate cue", "Use an alternate cue")
|
||||
},
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; FanClub.WarnKamone(e.beat, e["toggle"], 0, e["type"], e["alt"]);},
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.KamoneSound(e.beat, e["toggle"], 0, e["type"], e["alt"]); }
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.KamoneSound(e.beat, e["toggle"], e["toggle2"], 0, e["type"], e["alt"]); }
|
||||
},
|
||||
new GameAction("double clap", "Double Clap")
|
||||
{
|
||||
|
@ -120,13 +121,15 @@ namespace HeavenStudio.Games
|
|||
|
||||
public class FanClub : Minigame
|
||||
{
|
||||
public enum IdolBopType {
|
||||
public enum IdolBopType
|
||||
{
|
||||
Both,
|
||||
Idol,
|
||||
Spectators,
|
||||
None
|
||||
}
|
||||
public enum IdolAnimations {
|
||||
public enum IdolAnimations
|
||||
{
|
||||
Bop,
|
||||
PeaceVocal,
|
||||
Peace,
|
||||
|
@ -140,23 +143,27 @@ namespace HeavenStudio.Games
|
|||
Dab,
|
||||
None
|
||||
}
|
||||
public enum KamoneResponseType {
|
||||
public enum KamoneResponseType
|
||||
{
|
||||
Through,
|
||||
Jump,
|
||||
ThroughFast,
|
||||
JumpFast,
|
||||
}
|
||||
public enum StageAnimations {
|
||||
public enum StageAnimations
|
||||
{
|
||||
Reset,
|
||||
Flash,
|
||||
Spot
|
||||
}
|
||||
public enum IdolPerformanceType {
|
||||
public enum IdolPerformanceType
|
||||
{
|
||||
Normal,
|
||||
Arrange,
|
||||
// Tour(this one is fan made so ?)
|
||||
}
|
||||
public enum IdolType {
|
||||
public enum IdolType
|
||||
{
|
||||
All,
|
||||
Idol,
|
||||
LeftDancer,
|
||||
|
@ -657,8 +664,6 @@ namespace HeavenStudio.Games
|
|||
new BeatAction.Action(beat + 6f, delegate { PlayOneClap(beat + 6f); DoIdolClaps();}),
|
||||
new BeatAction.Action(beat + 7f, delegate { PlayOneClap(beat + 7f); DoIdolClaps();}),
|
||||
});
|
||||
|
||||
if (!noResponse) PlaySoundSequence("fanClub", "crowd_hai", beat + 4f);
|
||||
}
|
||||
|
||||
public static void WarnHai(double beat, bool noSound = false, int type = 0)
|
||||
|
@ -666,8 +671,9 @@ namespace HeavenStudio.Games
|
|||
wantHais = beat;
|
||||
}
|
||||
|
||||
public static void HaiSound(double beat, bool noSound = false, int type = 0)
|
||||
public static void HaiSound(double beat, bool noSound = false, bool noResponse = false, int type = 0)
|
||||
{
|
||||
if (!noResponse) PlaySoundSequence("fanClub", "crowd_hai", beat + 4f);
|
||||
if (noSound) return;
|
||||
PlaySoundSequence("fanClub", "arisa_hai", beat);
|
||||
}
|
||||
|
@ -718,9 +724,6 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
}),
|
||||
});
|
||||
|
||||
|
||||
if (!noResponse) PlaySoundSequence("fanClub", alt ? "crowd_iina" : "crowd_kamone", beat + 2f);
|
||||
}
|
||||
|
||||
public static void WarnKamone(double beat, bool noSound = false, int type = 0, int responseType = (int)KamoneResponseType.Through, bool alt = false)
|
||||
|
@ -730,8 +733,9 @@ namespace HeavenStudio.Games
|
|||
wantKamoneAlt = alt;
|
||||
}
|
||||
|
||||
public static void KamoneSound(double beat, bool noSound = false, int type = 0, int responseType = (int) KamoneResponseType.Through, bool alt = false)
|
||||
public static void KamoneSound(double beat, bool noSound = false, bool noResponse = false, int type = 0, int responseType = (int)KamoneResponseType.Through, bool alt = false)
|
||||
{
|
||||
if (!noResponse) PlaySoundSequence("fanClub", alt ? "crowd_iina" : "crowd_kamone", beat + 2f);
|
||||
if (noSound) return;
|
||||
if (responseType == (int)KamoneResponseType.ThroughFast || responseType == (int)KamoneResponseType.JumpFast)
|
||||
{
|
||||
|
|
|
@ -91,8 +91,16 @@ namespace HeavenStudio.InputSystem
|
|||
|
||||
public override void UpdateState()
|
||||
{
|
||||
if (GameManager.instance == null) return;
|
||||
Camera cam = GameManager.instance.CursorCam;
|
||||
Camera cam;
|
||||
if (GameManager.instance == null || GameManager.instance.CursorCam == null)
|
||||
{
|
||||
cam = Camera.main;
|
||||
}
|
||||
else
|
||||
{
|
||||
cam = GameManager.instance.CursorCam;
|
||||
}
|
||||
if (cam == null) return;
|
||||
|
||||
hasFlicked = false;
|
||||
hasSwiped = false;
|
||||
|
|
|
@ -142,15 +142,15 @@ namespace HeavenStudio
|
|||
SoundByte.PlayOneShot("ui/UIEnter");
|
||||
|
||||
var nextController = newController;
|
||||
var lastController = PlayerInput.GetInputController(1);
|
||||
|
||||
if (newController is InputMouse)
|
||||
if ((newController is InputMouse) && (lastController is not InputMouse))
|
||||
{
|
||||
Debug.Log("Mouse used, selecting keyboard instead");
|
||||
nextController = controllers[0];
|
||||
}
|
||||
Debug.Log("Assigning controller: " + newController.GetDeviceName());
|
||||
|
||||
var lastController = PlayerInput.GetInputController(1);
|
||||
if (lastController != nextController)
|
||||
{
|
||||
if (nextController == null)
|
||||
|
|
Loading…
Reference in a new issue