Karateka
Honki Mode: Changed how Honki Mode works, to now be a setting of the pots with honkiChance now being a force honki mode instead. Pot Break Delay: Changed how it is adjusted, now being a different setting to Gameplay Mods and can also set the OH YEAH delay Adjustments: Wiped the bad Honki code from the pot, adjusted the Honki placement to make Joe punch with his right hand, and change the pot despawn rate to also include the pot break delay, so pots won't despawn before they make the sound
This commit is contained in:
parent
8967c81fa6
commit
f8ff328bab
|
@ -2,8 +2,8 @@ using System;
|
||||||
|
|
||||||
public static class AppInfo {
|
public static class AppInfo {
|
||||||
//--- AutoGenerated.begin
|
//--- AutoGenerated.begin
|
||||||
public const string Version = "0.0.1059";
|
public const string Version = "0.0.1066";
|
||||||
public static readonly DateTime Date = new DateTime(2023, 01, 02, 06, 41, 37, 954, DateTimeKind.Utc);
|
public static readonly DateTime Date = new DateTime(2023, 01, 07, 10, 57, 41, 068, DateTimeKind.Utc);
|
||||||
//--- AutoGenerated.end
|
//--- AutoGenerated.end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,19 +25,21 @@ namespace HeavenStudio.Games.Loaders
|
||||||
inactiveFunction = delegate { KarateMan.ToggleBopUnloaded(eventCaller.currentEntity["toggle"]); }
|
inactiveFunction = delegate { KarateMan.ToggleBopUnloaded(eventCaller.currentEntity["toggle"]); }
|
||||||
},
|
},
|
||||||
new GameAction("hit", "Toss Object") {
|
new GameAction("hit", "Toss Object") {
|
||||||
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.CreateItem(e.beat, e["type"], e["type2"], e["type3"], e["type4"]); },
|
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.CreateItem(e.beat, e["type"], e["type2"], e["type3"], e["type4"], e["type5"], e["type6"]); },
|
||||||
defaultLength = 2,
|
defaultLength = 2,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", KarateMan.HitType.Pot, "Object", "The object to fire"),
|
new Param("type", KarateMan.HitType.Pot, "Object", "The object to fire"),
|
||||||
new Param("type2", KarateMan.KarateManFaces.Normal, "Success Expression", "The facial expression to set Joe to on hit"),
|
new Param("type2", KarateMan.KarateManFaces.Normal, "Success Expression", "The facial expression to set Joe to on hit"),
|
||||||
new Param("type3", KarateMan.JoeFaceLength.Normal, "Face Keep Length", "How long Joe will keep his face from success"),
|
new Param("type3", KarateMan.JoeFaceLength.Normal, "Face Keep Length", "How long Joe will keep his face from success"),
|
||||||
new Param("type4", KarateMan.ForceObjectSound.None, "Force Sound", "Make the object play the specific sound no matter what")
|
new Param("type4", KarateMan.ForceObjectSound.None, "Force Sound", "Make the object play the specific sound no matter what"),
|
||||||
|
new Param("type5", KarateMan.HonkiChanceType.Ignore, "Activate Honki", "Activates Serious Mode if this is on"),
|
||||||
|
new Param("type6", KarateMan.HonkiSoundType.None, "Sound", "Sound that plays on Switch"),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("bulb", "Toss Lightbulb")
|
new GameAction("bulb", "Toss Lightbulb")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.CreateBulbSpecial(e.beat, e["type"], e["colorA"], e["type2"], e["type3"], e["type4"]); },
|
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.CreateBulbSpecial(e.beat, e["type"], e["colorA"], e["type2"], e["type3"], e["type4"], e["type5"], e["type6"]); },
|
||||||
defaultLength = 2,
|
defaultLength = 2,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
|
@ -45,7 +47,9 @@ namespace HeavenStudio.Games.Loaders
|
||||||
new Param("colorA", new Color(1f,1f,1f), "Custom Color", "The color to use when the bulb type is set to Custom"),
|
new Param("colorA", new Color(1f,1f,1f), "Custom Color", "The color to use when the bulb type is set to Custom"),
|
||||||
new Param("type2", KarateMan.KarateManFaces.Normal, "Success Expression", "The facial expression to set Joe to on hit"),
|
new Param("type2", KarateMan.KarateManFaces.Normal, "Success Expression", "The facial expression to set Joe to on hit"),
|
||||||
new Param("type3", KarateMan.JoeFaceLength.Normal, "Face Keep Length", "How long Joe will keep his face from success"),
|
new Param("type3", KarateMan.JoeFaceLength.Normal, "Face Keep Length", "How long Joe will keep his face from success"),
|
||||||
new Param("type4", KarateMan.ForceObjectSound.None, "Force Sound", "Make the object play the specific sound no matter what")
|
new Param("type4", KarateMan.ForceObjectSound.None, "Force Sound", "Make the object play the specific sound no matter what"),
|
||||||
|
new Param("type5", KarateMan.HonkiChanceType.Ignore, "Activate Honki", "Activates Serious Mode if this is on"),
|
||||||
|
new Param("type6", KarateMan.HonkiSoundType.None, "Sound", "Sound that plays on Switch"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
new GameAction("kick", "Special: Kick")
|
new GameAction("kick", "Special: Kick")
|
||||||
|
@ -73,17 +77,14 @@ namespace HeavenStudio.Games.Loaders
|
||||||
new Param("type3", KarateMan.SpecialSoundTypes.SpecialAndVoice, "Voice Type", "Change how the voice will play with the Combo!")
|
new Param("type3", KarateMan.SpecialSoundTypes.SpecialAndVoice, "Voice Type", "Change how the voice will play with the Combo!")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("honki", "Serious Chance")
|
new GameAction("honki", "Force Serious")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.Honki(e.beat, e.length, e["type"], e["toggle"], e["toggle2"], e["type2"]); },
|
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.ActivateHonki(e.beat, e["type"], e["type2"]); },
|
||||||
defaultLength = 1f,
|
defaultLength = 0.5f,
|
||||||
resizable = true,
|
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", KarateMan.HonkiChanceType.OneObject, "Serious Chance Type", "Whether all objects, one object or no object is required for Serious Mode"),
|
new Param("type", KarateMan.HonkiChanceType.Activate, "Deactivate Serious", "This deactivates Serious Mode"),
|
||||||
new Param("toggle", false, "Deactivate Serious", "This deactivates Serious Mode"),
|
new Param("type2", KarateMan.HonkiSoundType.SeriousTransition, "Sound", "Sound that plays on Switch"),
|
||||||
new Param("toggle2", false, "Miss can Lose", "This makes it so if you miss too many times, Serious Mode deactivates"),
|
|
||||||
new Param("type2", KarateMan.HonkiSoundType.SeriousHit, "Sound", "Sound that plays on Switch"),
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("hitX", "Warnings")
|
new GameAction("hitX", "Warnings")
|
||||||
|
@ -120,7 +121,7 @@ namespace HeavenStudio.Games.Loaders
|
||||||
},
|
},
|
||||||
new GameAction("set gameplay modifiers", "Gameplay Modifiers")
|
new GameAction("set gameplay modifiers", "Gameplay Modifiers")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.SetGameplayMods(e.beat, e["type"], e["type2"], e["toggle"], e["toggle2"], e["toggle3"], e["type3"], 1f); },//e["valA"]); },
|
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.SetGameplayMods(e.beat, e["type"], e["type2"], e["toggle"], e["toggle2"], e["toggle3"], e["type3"]); },//e["valA"]); },
|
||||||
defaultLength = 0.5f,
|
defaultLength = 0.5f,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
|
@ -130,7 +131,16 @@ namespace HeavenStudio.Games.Loaders
|
||||||
new Param("toggle2", false, "Pot Break Sound", "Should there be a breaking sound when punching an object with high flow?"),
|
new Param("toggle2", false, "Pot Break Sound", "Should there be a breaking sound when punching an object with high flow?"),
|
||||||
new Param("toggle3", false, "High Flow Punch", "Determines if Joe punches with the right hand when having high flow"),
|
new Param("toggle3", false, "High Flow Punch", "Determines if Joe punches with the right hand when having high flow"),
|
||||||
new Param("type3", KarateMan.SoundEffectTypes.Megamix3DS, "Sound Effect Ver", "The version of sounds that will play"),
|
new Param("type3", KarateMan.SoundEffectTypes.Megamix3DS, "Sound Effect Ver", "The version of sounds that will play"),
|
||||||
//new Param("valA", new EntityTypes.Float(0f, 10f, 1f), "Pot Break Delay", "Sets the pot break delay, used in Tengoku Arcade"),
|
}
|
||||||
|
},
|
||||||
|
new GameAction("set delay", "Game Delay Modifiers")
|
||||||
|
{
|
||||||
|
function = delegate { var e = eventCaller.currentEntity; KarateMan.instance.SetDelay(e["valA"], e["valB"]); },
|
||||||
|
defaultLength = 0.5f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("valA", new EntityTypes.Float(0f, 10f, 1f), "Pot Break Delay", "Sets the pot break delay, 1.5 is Tengoku Arcade delay"),
|
||||||
|
new Param("valB", new EntityTypes.Float(0f, 10f, 0.5f), "Oh Yeah Delay", "Sets the pot break delay, a delay of 0 is Tengoku Arcade delay"),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new GameAction("set background effects", "Background Appearance")
|
new GameAction("set background effects", "Background Appearance")
|
||||||
|
@ -189,25 +199,25 @@ namespace HeavenStudio.Games.Loaders
|
||||||
// These are still here for backwards-compatibility but are hidden in the editor
|
// These are still here for backwards-compatibility but are hidden in the editor
|
||||||
new GameAction("pot", "")
|
new GameAction("pot", "")
|
||||||
{
|
{
|
||||||
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.Pot, 0, 0); },
|
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.Pot, 0, 0, (int) KarateMan.HonkiChanceType.Ignore, (int) KarateMan.HonkiSoundType.None); },
|
||||||
defaultLength = 2,
|
defaultLength = 2,
|
||||||
hidden = true
|
hidden = true
|
||||||
},
|
},
|
||||||
new GameAction("rock", "")
|
new GameAction("rock", "")
|
||||||
{
|
{
|
||||||
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.Rock, 0, 0); },
|
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.Rock, 0, 0, (int) KarateMan.HonkiChanceType.Ignore, (int) KarateMan.HonkiSoundType.None); },
|
||||||
defaultLength = 2,
|
defaultLength = 2,
|
||||||
hidden = true
|
hidden = true
|
||||||
},
|
},
|
||||||
new GameAction("ball", "")
|
new GameAction("ball", "")
|
||||||
{
|
{
|
||||||
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.Ball, 0, 0); },
|
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.Ball, 0, 0, (int) KarateMan.HonkiChanceType.Ignore, (int) KarateMan.HonkiSoundType.None); },
|
||||||
defaultLength = 2,
|
defaultLength = 2,
|
||||||
hidden = true
|
hidden = true
|
||||||
},
|
},
|
||||||
new GameAction("tacobell", "")
|
new GameAction("tacobell", "")
|
||||||
{
|
{
|
||||||
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.TacoBell, 0, 0); },
|
function = delegate { KarateMan.instance.CreateItem(eventCaller.currentEntity.beat, 0, (int) KarateMan.HitType.TacoBell, 0, 0, (int) KarateMan.HonkiChanceType.Ignore, (int) KarateMan.HonkiSoundType.None); },
|
||||||
defaultLength = 2,
|
defaultLength = 2,
|
||||||
hidden = true
|
hidden = true
|
||||||
},
|
},
|
||||||
|
@ -354,16 +364,16 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
public enum HonkiChanceType
|
public enum HonkiChanceType
|
||||||
{
|
{
|
||||||
OneObject,
|
Ignore,
|
||||||
AllObjects,
|
Activate,
|
||||||
IgnoreObject
|
Deactivate,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum HonkiSoundType
|
public enum HonkiSoundType
|
||||||
{
|
{
|
||||||
|
None,
|
||||||
SeriousHit,
|
SeriousHit,
|
||||||
SeriousTransition,
|
SeriousTransition,
|
||||||
None
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum LightBulbType
|
public enum LightBulbType
|
||||||
|
@ -486,6 +496,7 @@ namespace HeavenStudio.Games
|
||||||
public float NoriPerformance { get { if (IsNoriActive) return Nori.Nori / Nori.MaxNori; else return 1f; } }
|
public float NoriPerformance { get { if (IsNoriActive) return Nori.Nori / Nori.MaxNori; else return 1f; } }
|
||||||
public float HonkiChanceLength;
|
public float HonkiChanceLength;
|
||||||
public float HonkiChanceStart;
|
public float HonkiChanceStart;
|
||||||
|
public float DeactivateHonki;
|
||||||
|
|
||||||
public Color[] LightBulbColors;
|
public Color[] LightBulbColors;
|
||||||
public Color[] BackgroundColors;
|
public Color[] BackgroundColors;
|
||||||
|
@ -574,6 +585,7 @@ namespace HeavenStudio.Games
|
||||||
public static float WantBgChangeLength = 0f;
|
public static float WantBgChangeLength = 0f;
|
||||||
public static float BopLength = 1f;
|
public static float BopLength = 1f;
|
||||||
public static float PotBreakDelay = 1f;
|
public static float PotBreakDelay = 1f;
|
||||||
|
public static float OhYeahDelay = 0.5f;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
|
@ -755,50 +767,39 @@ namespace HeavenStudio.Games
|
||||||
cameraReturnLength = Mathf.Min(2f, length*0.5f);
|
cameraReturnLength = Mathf.Min(2f, length*0.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Honki(float beat, float length, int type, bool deactivate, bool miss, int sound)
|
public void ActivateHonki(float beat, int activate, int sound)
|
||||||
{
|
|
||||||
GameObject mobj = GameObject.Instantiate(Item, ItemHolder);
|
|
||||||
KarateManPot mobjDat = mobj.GetComponent<KarateManPot>();
|
|
||||||
HonkiChanceStart = beat;
|
|
||||||
HonkiChanceLength = length;
|
|
||||||
mobjDat.deactivateHonki = deactivate;
|
|
||||||
mobjDat.honkiSound = sound;
|
|
||||||
|
|
||||||
if (type == (int) HonkiChanceType.IgnoreObject)
|
|
||||||
ActivateHonki(beat, deactivate, sound);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ActivateHonki(float beat, bool deactivate, int sound)
|
|
||||||
{
|
{
|
||||||
switch (sound)
|
switch (sound)
|
||||||
{
|
{
|
||||||
case (int)HonkiSoundType.SeriousHit:
|
case (int) HonkiSoundType.SeriousHit:
|
||||||
Jukebox.PlayOneShotGame("karateman/gogo");
|
Jukebox.PlayOneShotGame("karateman/gogo");
|
||||||
break;
|
break;
|
||||||
case (int)HonkiSoundType.SeriousTransition:
|
case (int) HonkiSoundType.SeriousTransition:
|
||||||
Jukebox.PlayOneShotGame("karateman/gogoSwitch");
|
Jukebox.PlayOneShotGame("karateman/gogoSwitch");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!deactivate)
|
switch (activate)
|
||||||
{
|
{
|
||||||
HonkiMode = true;
|
case (int) KarateMan.HonkiChanceType.Activate:
|
||||||
BGHonki.SetActive(true);
|
HonkiMode = true;
|
||||||
BGGradient.SetActive(false);
|
BGHonki.SetActive(true);
|
||||||
BGBlood.SetActive(false);
|
BGGradient.SetActive(false);
|
||||||
BGRadial.SetActive(false);
|
BGBlood.SetActive(false);
|
||||||
SetBgAndShadowCol(beat, 0f, (int)BackgroundType.Custom, (int)ShadowType.Custom, Color.white, Color.black, (int)BackgroundFXType.None);
|
BGRadial.SetActive(false);
|
||||||
Nori.SetNoriMode(beat, (int)KarateMan.NoriMode.None);
|
SetBgAndShadowCol(beat, 0f, (int)BackgroundType.Custom, (int)ShadowType.Custom, Color.white, Color.black, (int)BackgroundFXType.None);
|
||||||
BodyColor = Color.black;
|
Nori.SetNoriMode(beat, (int)KarateMan.NoriMode.None);
|
||||||
HighlightColor = Color.white;
|
BodyColor = Color.black;
|
||||||
}
|
HighlightColor = Color.white;
|
||||||
else
|
break;
|
||||||
{
|
case (int) KarateMan.HonkiChanceType.Deactivate:
|
||||||
HonkiMode = false;
|
HonkiMode = false;
|
||||||
BGHonki.SetActive(false);
|
BGHonki.SetActive(false);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DoWord(float beat, int type, int voiceType, int language, bool pitch, int graphLength, int voiceDelay, bool fast)
|
public void DoWord(float beat, int type, int voiceType, int language, bool pitch, int graphLength, int voiceDelay, bool fast)
|
||||||
|
@ -1001,7 +1002,7 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CreateItem(float beat, int type, int expression, int length, int sound)
|
public void CreateItem(float beat, int type, int expression, int length, int sound, int honki, int honkiSound)
|
||||||
{
|
{
|
||||||
|
|
||||||
string outSound;
|
string outSound;
|
||||||
|
@ -1013,42 +1014,42 @@ namespace HeavenStudio.Games
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case (int) HitType.Pot:
|
case (int) HitType.Pot:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item00", expression);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item00", expression, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.Lightbulb:
|
case (int) HitType.Lightbulb:
|
||||||
if (Starpelly.Mathp.GetDecimalFromFloat(beat + 0.5f) == 0f && sound != (int) KarateMan.ForceObjectSound.Onbeat || sound == (int) KarateMan.ForceObjectSound.Offbeat)
|
if (Starpelly.Mathp.GetDecimalFromFloat(beat + 0.5f) == 0f && sound != (int) KarateMan.ForceObjectSound.Onbeat || sound == (int) KarateMan.ForceObjectSound.Offbeat)
|
||||||
outSound = "karateman/offbeatLightbulbOut" + SoundEffectsType(SoundEffectsVersion);
|
outSound = "karateman/offbeatLightbulbOut" + SoundEffectsType(SoundEffectsVersion);
|
||||||
else
|
else
|
||||||
outSound = "karateman/lightbulbOut" + SoundEffectsType(SoundEffectsVersion);
|
outSound = "karateman/lightbulbOut" + SoundEffectsType(SoundEffectsVersion);
|
||||||
var mobj = CreateItemInstance(beat, HitExpressionLength(length), "Item01", expression, KarateManPot.ItemType.Bulb);
|
var mobj = CreateItemInstance(beat, HitExpressionLength(length), "Item01", expression, KarateManPot.ItemType.Bulb, honkiMode: honki, honkiSound: honkiSound);
|
||||||
mobj.GetComponent<KarateManPot>().SetBulbColor(LightBulbColors[0]);
|
mobj.GetComponent<KarateManPot>().SetBulbColor(LightBulbColors[0]);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.Rock:
|
case (int) HitType.Rock:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item02", expression, KarateManPot.ItemType.Rock);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item02", expression, KarateManPot.ItemType.Rock, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.Ball:
|
case (int) HitType.Ball:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item03", expression, KarateManPot.ItemType.Ball);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item03", expression, KarateManPot.ItemType.Ball, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.CookingPot:
|
case (int) HitType.CookingPot:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item06", expression, KarateManPot.ItemType.Cooking);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item06", expression, KarateManPot.ItemType.Cooking, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.Alien:
|
case (int) HitType.Alien:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item07", expression, KarateManPot.ItemType.Alien);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item07", expression, KarateManPot.ItemType.Alien, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.Bomb:
|
case (int) HitType.Bomb:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item04", expression, KarateManPot.ItemType.Bomb);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item04", expression, KarateManPot.ItemType.Bomb, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
case (int) HitType.TacoBell:
|
case (int) HitType.TacoBell:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item99", expression, KarateManPot.ItemType.TacoBell);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item99", expression, KarateManPot.ItemType.TacoBell, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
CreateItemInstance(beat, HitExpressionLength(length), "Item00", expression);
|
CreateItemInstance(beat, HitExpressionLength(length), "Item00", expression, honkiMode: honki, honkiSound: honkiSound);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Jukebox.PlayOneShotGame(outSound, forcePlay: true);
|
Jukebox.PlayOneShotGame(outSound, forcePlay: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CreateBulbSpecial(float beat, int type, Color c, int expression, int length, int sound)
|
public void CreateBulbSpecial(float beat, int type, Color c, int expression, int length, int sound, int honki, int honkiSound)
|
||||||
{
|
{
|
||||||
string outSound;
|
string outSound;
|
||||||
if (Starpelly.Mathp.GetDecimalFromFloat(beat + 0.5f) == 0f && sound != (int) KarateMan.ForceObjectSound.Onbeat || sound == (int)KarateMan.ForceObjectSound.Offbeat)
|
if (Starpelly.Mathp.GetDecimalFromFloat(beat + 0.5f) == 0f && sound != (int) KarateMan.ForceObjectSound.Onbeat || sound == (int)KarateMan.ForceObjectSound.Offbeat)
|
||||||
|
@ -1061,7 +1062,7 @@ namespace HeavenStudio.Games
|
||||||
outSound = "karateman/lightbulbOut_ds";
|
outSound = "karateman/lightbulbOut_ds";
|
||||||
else
|
else
|
||||||
outSound = "karateman/lightbulbOut" + SoundEffectsType(SoundEffectsVersion);
|
outSound = "karateman/lightbulbOut" + SoundEffectsType(SoundEffectsVersion);
|
||||||
var mobj = CreateItemInstance(beat, HitExpressionLength(length), "Item01", expression, KarateManPot.ItemType.Bulb);
|
var mobj = CreateItemInstance(beat, HitExpressionLength(length), "Item01", expression, KarateManPot.ItemType.Bulb, honkiMode: honki, honkiSound: honkiSound);
|
||||||
|
|
||||||
if (type == (int) LightBulbType.Custom)
|
if (type == (int) LightBulbType.Custom)
|
||||||
mobj.GetComponent<KarateManPot>().SetBulbColor(c);
|
mobj.GetComponent<KarateManPot>().SetBulbColor(c);
|
||||||
|
@ -1133,7 +1134,7 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public GameObject CreateItemInstance(float beat, float hitExpLength, string awakeAnim, int successExpression, KarateManPot.ItemType type = KarateManPot.ItemType.Pot, int comboId = -1, bool content = false)
|
public GameObject CreateItemInstance(float beat, float hitExpLength, string awakeAnim, int successExpression, KarateManPot.ItemType type = KarateManPot.ItemType.Pot, int comboId = -1, bool content = false, int honkiMode = (int) KarateMan.HonkiChanceType.Ignore, int honkiSound = (int) KarateMan.HonkiSoundType.None)
|
||||||
{
|
{
|
||||||
GameObject mobj = GameObject.Instantiate(Item, ItemHolder);
|
GameObject mobj = GameObject.Instantiate(Item, ItemHolder);
|
||||||
KarateManPot mobjDat = mobj.GetComponent<KarateManPot>();
|
KarateManPot mobjDat = mobj.GetComponent<KarateManPot>();
|
||||||
|
@ -1144,6 +1145,8 @@ namespace HeavenStudio.Games
|
||||||
mobjDat.OnHitExpression = successExpression;
|
mobjDat.OnHitExpression = successExpression;
|
||||||
mobjDat.HitExpressionLength = hitExpLength;
|
mobjDat.HitExpressionLength = hitExpLength;
|
||||||
mobjDat.KickBarrelContent = content;
|
mobjDat.KickBarrelContent = content;
|
||||||
|
mobjDat.honkiMode = honkiMode;
|
||||||
|
mobjDat.honkiSound = honkiSound;
|
||||||
|
|
||||||
mobj.SetActive(true);
|
mobj.SetActive(true);
|
||||||
|
|
||||||
|
@ -1271,7 +1274,7 @@ namespace HeavenStudio.Games
|
||||||
UpdateFilterColour(bgColour, filterColour);
|
UpdateFilterColour(bgColour, filterColour);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetGameplayMods(float beat, int mode, int bg, bool combo, bool noriBreak, bool highFlow, int soundVer, float breakDelay)
|
public void SetGameplayMods(float beat, int mode, int bg, bool combo, bool noriBreak, bool highFlow, int soundVer)
|
||||||
{
|
{
|
||||||
NoriGO.SetActive(true);
|
NoriGO.SetActive(true);
|
||||||
Nori.SetNoriMode(beat, mode);
|
Nori.SetNoriMode(beat, mode);
|
||||||
|
@ -1279,11 +1282,16 @@ namespace HeavenStudio.Games
|
||||||
NoriBreakSound = noriBreak;
|
NoriBreakSound = noriBreak;
|
||||||
HighFlowPunch = highFlow;
|
HighFlowPunch = highFlow;
|
||||||
SoundEffectsVersion = soundVer;
|
SoundEffectsVersion = soundVer;
|
||||||
PotBreakDelay = breakDelay;
|
|
||||||
|
|
||||||
IsComboEnable = combo;
|
IsComboEnable = combo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetDelay(float breakDelay, float ohYeahDelay)
|
||||||
|
{
|
||||||
|
PotBreakDelay = breakDelay;
|
||||||
|
OhYeahDelay = ohYeahDelay;
|
||||||
|
}
|
||||||
|
|
||||||
void UpdateFilterColour(Color bgColor, Color filterColor)
|
void UpdateFilterColour(Color bgColor, Color filterColor)
|
||||||
{
|
{
|
||||||
bgGradientRenderer = BGGradient.GetComponent<SpriteRenderer>();
|
bgGradientRenderer = BGGradient.GetComponent<SpriteRenderer>();
|
||||||
|
|
|
@ -143,7 +143,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
}
|
}
|
||||||
if (KarateMan.instance.NoriPerformance >= 0.6f && oldNori / MaxNori < 0.6f && !playedJust)
|
if (KarateMan.instance.NoriPerformance >= 0.6f && oldNori / MaxNori < 0.6f && !playedJust)
|
||||||
{
|
{
|
||||||
Jukebox.PlayOneShotGame("karateman/nori_just", beat + 0.5f);
|
Jukebox.PlayOneShotGame("karateman/nori_just", beat + KarateMan.OhYeahDelay);
|
||||||
playedJust = true;
|
playedJust = true;
|
||||||
}
|
}
|
||||||
UpdateHeartColours();
|
UpdateHeartColours();
|
||||||
|
|
|
@ -34,10 +34,10 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
[SerializeField] Color[] ItemBarrelMap;
|
[SerializeField] Color[] ItemBarrelMap;
|
||||||
[SerializeField] Color[] ItemCookingLidMap;
|
[SerializeField] Color[] ItemCookingLidMap;
|
||||||
|
|
||||||
public bool deactivateHonki = false;
|
|
||||||
public bool KickBarrelContent = false;
|
public bool KickBarrelContent = false;
|
||||||
public int OnHitExpression = (int) KarateMan.KarateManFaces.Normal;
|
public int OnHitExpression = (int) KarateMan.KarateManFaces.Normal;
|
||||||
public int honkiSound = (int) KarateMan.HonkiSoundType.SeriousHit;
|
public int honkiSound = (int) KarateMan.HonkiSoundType.SeriousHit;
|
||||||
|
public int honkiMode = (int) KarateMan.HonkiChanceType.Ignore;
|
||||||
public float HitExpressionLength = 2f;
|
public float HitExpressionLength = 2f;
|
||||||
static float ItemHitNori = 0f;
|
static float ItemHitNori = 0f;
|
||||||
|
|
||||||
|
@ -333,7 +333,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
Jukebox.PlayOneShotGame("karateman/bombBreak", volume: 0.25f);
|
Jukebox.PlayOneShotGame("karateman/bombBreak", volume: 0.25f);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (cond.songPositionInBeats >= startBeat + Mathf.Max(2f, curveTargetBeat) || CurrentCurve == null)
|
else if (cond.songPositionInBeats >= startBeat + Mathf.Max(2f, curveTargetBeat, KarateMan.PotBreakDelay + 1f) || CurrentCurve == null)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (type == ItemType.KickBomb)
|
if (type == ItemType.KickBomb)
|
||||||
|
@ -684,6 +684,8 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
{
|
{
|
||||||
if (KarateMan.HonkiMode && KarateMan.HighFlowPunch)
|
if (KarateMan.HonkiMode && KarateMan.HighFlowPunch)
|
||||||
return 4;
|
return 4;
|
||||||
|
else if (honkiMode == (int) KarateMan.HonkiChanceType.Activate)
|
||||||
|
return 2;
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case ItemType.Rock:
|
case ItemType.Rock:
|
||||||
|
@ -851,9 +853,9 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
startBeat = Conductor.instance.songPositionInBeats;
|
startBeat = Conductor.instance.songPositionInBeats;
|
||||||
status = FlyStatus.HitWeak;
|
status = FlyStatus.HitWeak;
|
||||||
Jukebox.PlayOneShotGame("karateman/hitNoNori", forcePlay: true);
|
Jukebox.PlayOneShotGame("karateman/hitNoNori", forcePlay: true);
|
||||||
if (startBeat >= KarateMan.instance.HonkiChanceStart && startBeat <= KarateMan.instance.HonkiChanceStart + KarateMan.instance.HonkiChanceLength)
|
if (honkiMode == (int) KarateMan.HonkiChanceType.Activate)
|
||||||
{
|
{
|
||||||
KarateMan.instance.ActivateHonki(startBeat, deactivateHonki, honkiSound);
|
KarateMan.instance.ActivateHonki(startBeat, honkiMode, honkiSound);
|
||||||
joe.Punch(2);
|
joe.Punch(2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -864,13 +866,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bool straight = joe.Punch(ItemPunchHand());
|
bool straight = joe.Punch(ItemPunchHand());
|
||||||
var kar = KarateMan.instance;
|
KarateMan.instance.ActivateHonki(startBeat, honkiMode, honkiSound);
|
||||||
var beat = Conductor.instance.songPositionInBeats;
|
|
||||||
if (beat >= kar.HonkiChanceStart && beat <= kar.HonkiChanceStart + kar.HonkiChanceLength)
|
|
||||||
{
|
|
||||||
KarateMan.instance.ActivateHonki(startBeat, deactivateHonki, honkiSound);
|
|
||||||
straight = joe.Punch(2);
|
|
||||||
}
|
|
||||||
transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z - 30f);
|
transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z - 30f);
|
||||||
DoHitExpression(startBeat + 2f);
|
DoHitExpression(startBeat + 2f);
|
||||||
ItemHitEffect(straight);
|
ItemHitEffect(straight);
|
||||||
|
|
|
@ -134,7 +134,7 @@ PlayerSettings:
|
||||||
16:10: 1
|
16:10: 1
|
||||||
16:9: 1
|
16:9: 1
|
||||||
Others: 1
|
Others: 1
|
||||||
bundleVersion: 0.0.1059
|
bundleVersion: 0.0.1066
|
||||||
preloadedAssets: []
|
preloadedAssets: []
|
||||||
metroInputSource: 0
|
metroInputSource: 0
|
||||||
wsaTransparentSwapchain: 0
|
wsaTransparentSwapchain: 0
|
||||||
|
@ -155,11 +155,11 @@ PlayerSettings:
|
||||||
applicationIdentifier:
|
applicationIdentifier:
|
||||||
Standalone: com.Megaminerzero.HeavenStudio
|
Standalone: com.Megaminerzero.HeavenStudio
|
||||||
buildNumber:
|
buildNumber:
|
||||||
Standalone: 1059
|
Standalone: 1066
|
||||||
iPhone: 0
|
iPhone: 0
|
||||||
tvOS: 0
|
tvOS: 0
|
||||||
overrideDefaultApplicationIdentifier: 0
|
overrideDefaultApplicationIdentifier: 0
|
||||||
AndroidBundleVersionCode: 1059
|
AndroidBundleVersionCode: 1066
|
||||||
AndroidMinSdkVersion: 19
|
AndroidMinSdkVersion: 19
|
||||||
AndroidTargetSdkVersion: 0
|
AndroidTargetSdkVersion: 0
|
||||||
AndroidPreferredInstallLocation: 1
|
AndroidPreferredInstallLocation: 1
|
||||||
|
|
Loading…
Reference in a new issue