LET THERE BE `STATE REDIRECTS`!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
[Common]
|
||||
Name="baconeggandcheese"
|
||||
Description="who gaf"
|
||||
APIVersion="uhmmmm probs like 2"
|
||||
DownloadedFrom="https://yourmom.org"
|
||||
Dependencies=[
|
||||
"linkA",
|
||||
"linkB",
|
||||
"linkC"
|
||||
]
|
||||
Icon64="path/to/icon64.png"
|
||||
Icon32="path/to/icon32.png"
|
||||
Icon16="path/to/icon16.png"
|
||||
Icon="path/to/icon.ico"
|
||||
|
||||
[Flags]
|
||||
UseNoteRendererV2=false
|
||||
UseAway3D=false
|
||||
UseDiscordRPCIntegration=true
|
||||
UseLocalization=false
|
||||
UseLegacyFlixelAnimateHitbox=false
|
||||
|
||||
[Discord]
|
||||
ClientID="1027994136193810442",
|
||||
LogoKey="icon"
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -35,7 +35,7 @@ class Flags {
|
||||
public static var MOD_DISCORD_LOGO_KEY:String = "";
|
||||
public static var MOD_DISCORD_LOGO_TEXT:String = "";
|
||||
|
||||
public static var MOD_REDIRECT_STATES:Map<String, String> = [];
|
||||
@:bypass public static var MOD_REDIRECT_STATES:Map<String, String> = [];
|
||||
// -- Codename's Default Flags --
|
||||
public static var CURRENT_API_VERSION:Int = 1;
|
||||
public static var COMMIT_NUMBER:Int = GitCommitMacro.commitNumber;
|
||||
@@ -125,9 +125,6 @@ class Flags {
|
||||
|
||||
@:also(funkin.game.Character.FALLBACK_DEAD_CHARACTER)
|
||||
public static var DEFAULT_GAMEOVER_CHARACTER:String = "bf-dead";
|
||||
public static var DEFAULT_GAMEOVER_SONG:String = "gameOver";
|
||||
public static var DEFAULT_GAMEOVER_LOSS_SFX:String = "gameOverSFX";
|
||||
public static var DEFAULT_GAMEOVER_RETRY_SFX:String = "gameOverEnd";
|
||||
|
||||
public static var DEFAULT_CAM_ZOOM_INTERVAL:Int = 1;
|
||||
public static var DEFAULT_CAM_ZOOM_OFFSET:Float = 0;
|
||||
@@ -160,6 +157,11 @@ class Flags {
|
||||
public static var ICON_OFFSET:Float = 26;
|
||||
public static var ICON_LERP:Float = 0.33;
|
||||
|
||||
public static var DEFAULT_PREPARE_SPRITE:String = null;
|
||||
public static var DEFAULT_READY_SPRITE:String = 'game/ready';
|
||||
public static var DEFAULT_SET_SPRITE:String = 'game/set';
|
||||
public static var DEFAULT_GO_SPRITE:String = 'game/go';
|
||||
|
||||
public static var CAM_BOP_STRENGTH:Float = 0.015;
|
||||
public static var HUD_BOP_STRENGTH:Float = 0.03;
|
||||
public static var DEFAULT_CAM_ZOOM_LERP:Float = 0.05;
|
||||
@@ -202,36 +204,58 @@ class Flags {
|
||||
public static var URL_FNF_ITCH:String = "https://ninja-muffin24.itch.io/funkin";
|
||||
|
||||
/**
|
||||
* Default editor sound paths
|
||||
* Default audio paths
|
||||
*/
|
||||
public static var DEFAULT_EDITOR_AUTOSAVE_SOUND = "editors/autosave";
|
||||
public static var DEFAULT_EDITOR_BUTTONCLICK_SOUND = "editors/buttonClick";
|
||||
public static var DEFAULT_EDITOR_CLICK_SOUND = "editors/click";
|
||||
public static var DEFAULT_EDITOR_COPY_SOUND = "editors/copy";
|
||||
public static var DEFAULT_EDITOR_CUT_SOUND = "editors/cut";
|
||||
public static var DEFAULT_EDITOR_DELETE_SOUND = "editors/delete";
|
||||
public static var DEFAULT_EDITOR_OFFSETDRAG_SOUND = "editors/offsetDrag";
|
||||
public static var DEFAULT_EDITOR_PASTE_SOUND = "editors/paste";
|
||||
public static var DEFAULT_EDITOR_REDO_SOUND = "editors/redo";
|
||||
public static var DEFAULT_EDITOR_SAVE_SOUND = "editors/save";
|
||||
public static var DEFAULT_EDITOR_TEXTREMOVE_SOUND = "editors/textRemove";
|
||||
public static var DEFAULT_EDITOR_TEXTTYPE_SOUND = "editors/textType";
|
||||
public static var DEFAULT_EDITOR_UNDO_SOUND = "editors/undo";
|
||||
public static var DEFAULT_EDITOR_WINDOWAPPEAR_SOUND = "editors/windowAppear";
|
||||
public static var DEFAULT_EDITOR_WINDOWCLOSE_SOUND = "editors/windowClose";
|
||||
public static var DEFAULT_EDITOR_DROPDOWNAPPEAR_SOUND = "editors/dropdownAppear";
|
||||
public static var DEFAULT_CHARTER_HITSOUND_SOUND = "editors/charter/hitsound";
|
||||
public static var DEFAULT_CHARTER_METRONOME_SOUND = "editors/charter/metronome";
|
||||
public static var DEFAULT_CHARTER_NOTEDELETE_SOUND = "editors/charter/noteDelete";
|
||||
public static var DEFAULT_CHARTER_NOTEPLACE_SOUND = "editors/charter/notePlace";
|
||||
public static var DEFAULT_CHARTER_SCROLL_SOUND = "editors/charter/scroll";
|
||||
public static var DEFAULT_CHARTER_SNAPPINGCHANGE_SOUND = "editors/charter/snappingChange";
|
||||
public static var DEFAULT_CHARTER_STRUMLOCK_SOUND = "editors/charter/strumLock";
|
||||
public static var DEFAULT_CHARTER_STRUMUNLOCK_SOUND = "editors/charter/strumUnlock";
|
||||
public static var DEFAULT_CHARTER_SUSTAINADD_SOUND = "editors/charter/sustainAdd";
|
||||
public static var DEFAULT_CHARTER_SUSTAINDELETE_SOUND = "editors/charter/sustainDelete";
|
||||
public static var DEFAULT_CHARACTER_GHOSTDISABLE_SOUND = "editors/character/ghostDisable";
|
||||
public static var DEFAULT_CHARACTER_GHOSTENABLE_SOUND = "editors/character/ghostEnable";
|
||||
public static var DEFAULT_MENU_MUSIC:String = "freakyMenu";
|
||||
public static var DEFAULT_PAUSE_MENU_MUSIC:String = "breakfast";
|
||||
public static var DEFAULT_GAMEOVER_MUSIC:String = "gameOver";
|
||||
|
||||
public static var DEFAULT_MISS1_SOUND:String = "missnote1";
|
||||
public static var DEFAULT_MISS2_SOUND:String = "missnote2";
|
||||
public static var DEFAULT_MISS3_SOUND:String = "missnote3";
|
||||
public static var DEFAULT_INTRO1_SOUND:String = "intro1";
|
||||
public static var DEFAULT_INTRO2_SOUND:String = "intro2";
|
||||
public static var DEFAULT_INTRO3_SOUND:String = "intro3";
|
||||
public static var DEFAULT_INTROGO_SOUND:String = "introGo";
|
||||
public static var DEFAULT_GAMEOVERSFX_SOUND:String = "gameOverSFX";
|
||||
public static var DEFAULT_GAMEOVEREND_SOUND:String = "gameOverEnd";
|
||||
|
||||
public static var DEFAULT_MENU_SCROLL_SOUND:String = "menu/scroll";
|
||||
public static var DEFAULT_MENU_CONFIRM_SOUND:String = "menu/confirm";
|
||||
public static var DEFAULT_MENU_CANCEL_SOUND:String = "menu/cancel";
|
||||
public static var DEFAULT_MENU_VOLUME_SOUND:String = "menu/volume";
|
||||
|
||||
public static var DEFAULT_EDITOR_CHECKBOXCHECKED_SOUND:String = "editors/checkboxChecked";
|
||||
public static var DEFAULT_EDITOR_CHECKBOXUNCHECKED_SOUND:String = "editors/checkboxUnchecked";
|
||||
public static var DEFAULT_EDITOR_WARNING_SOUND:String = "editors/warningMenu";
|
||||
public static var DEFAULT_EDITOR_AUTOSAVE_SOUND:String = "editors/autosave";
|
||||
public static var DEFAULT_EDITOR_BUTTONCLICK_SOUND:String = "editors/buttonClick";
|
||||
public static var DEFAULT_EDITOR_CLICK_SOUND:String = "editors/click";
|
||||
public static var DEFAULT_EDITOR_COPY_SOUND:String = "editors/copy";
|
||||
public static var DEFAULT_EDITOR_CUT_SOUND:String = "editors/cut";
|
||||
public static var DEFAULT_EDITOR_DELETE_SOUND:String = "editors/delete";
|
||||
public static var DEFAULT_EDITOR_OFFSETDRAG_SOUND:String = "editors/offsetDrag";
|
||||
public static var DEFAULT_EDITOR_PASTE_SOUND:String = "editors/paste";
|
||||
public static var DEFAULT_EDITOR_REDO_SOUND:String = "editors/redo";
|
||||
public static var DEFAULT_EDITOR_SAVE_SOUND:String = "editors/save";
|
||||
public static var DEFAULT_EDITOR_TEXTREMOVE_SOUND:String= "editors/textRemove";
|
||||
public static var DEFAULT_EDITOR_TEXTTYPE_SOUND:String = "editors/textType";
|
||||
public static var DEFAULT_EDITOR_UNDO_SOUND:String = "editors/undo";
|
||||
public static var DEFAULT_EDITOR_WINDOWAPPEAR_SOUND:String = "editors/windowAppear";
|
||||
public static var DEFAULT_EDITOR_WINDOWCLOSE_SOUND:String = "editors/windowClose";
|
||||
public static var DEFAULT_EDITOR_DROPDOWNAPPEAR_SOUND:String = "editors/dropdownAppear";
|
||||
public static var DEFAULT_CHARTER_HITSOUND_SOUND:String = "editors/charter/hitsound";
|
||||
public static var DEFAULT_CHARTER_METRONOME_SOUND:String = "editors/charter/metronome";
|
||||
public static var DEFAULT_CHARTER_NOTEDELETE_SOUND:String = "editors/charter/noteDelete";
|
||||
public static var DEFAULT_CHARTER_NOTEPLACE_SOUND:String = "editors/charter/notePlace";
|
||||
public static var DEFAULT_CHARTER_SCROLL_SOUND:String = "editors/charter/scroll";
|
||||
public static var DEFAULT_CHARTER_SNAPPINGCHANGE_SOUND:String = "editors/charter/snappingChange";
|
||||
public static var DEFAULT_CHARTER_STRUMLOCK_SOUND:String = "editors/charter/strumLock";
|
||||
public static var DEFAULT_CHARTER_STRUMUNLOCK_SOUND:String = "editors/charter/strumUnlock";
|
||||
public static var DEFAULT_CHARTER_SUSTAINADD_SOUND:String = "editors/charter/sustainAdd";
|
||||
public static var DEFAULT_CHARTER_SUSTAINDELETE_SOUND:String = "editors/charter/sustainDelete";
|
||||
public static var DEFAULT_CHARACTER_GHOSTDISABLE_SOUND:String = "editors/character/ghostDisable";
|
||||
public static var DEFAULT_CHARACTER_GHOSTENABLE_SOUND:String = "editors/character/ghostEnable";
|
||||
|
||||
public static var DEFAULT_GLSL_VERSION:String = "120";
|
||||
@:also(funkin.backend.utils.HttpUtil.userAgent)
|
||||
@@ -244,9 +268,20 @@ class Flags {
|
||||
@:bypass public static var customFlags:Map<String, String> = [];
|
||||
|
||||
public static function loadFromData(flags:Map<String, String>, data:String) {
|
||||
trace(data);
|
||||
if (!(data.length > 0)) return;
|
||||
var res = IniUtil.parseString(data);
|
||||
|
||||
for (section in res) for (key => value in section) flags[key] = value;
|
||||
trace(res);
|
||||
if (res.exists("Common")) for (key => value in res.get("Common")) flags["MOD_" + key] = value;
|
||||
if (res.exists("Discord")) for (key => value in res.get("Discord")) flags["MOD_DISCORD_" + key] = value;
|
||||
if (res.exists("Flags")) for (key => value in res.get("Flags")) flags[key] = value;
|
||||
|
||||
if (res.exists("StateRedirects")) for (key => value in res.get("StateRedirects"))
|
||||
if (!Flags.MOD_REDIRECT_STATES.exists(key)) Flags.MOD_REDIRECT_STATES.set(key, value);
|
||||
if (res.exists("StateRedirects.force")) for (key => value in res.get("StateRedirects.force"))
|
||||
Flags.MOD_REDIRECT_STATES.set(key, value);
|
||||
trace(flags);
|
||||
}
|
||||
|
||||
public static function loadFromDatas(datas:Array<String>) {
|
||||
@@ -290,6 +325,7 @@ class Flags {
|
||||
if (l.exists(Paths.ini("config/modpack"), AssetType.TEXT))
|
||||
flagsTxt = l.getAsset(Paths.ini("config/modpack"), AssetType.TEXT);
|
||||
if (cast(l, IModsAssetLibrary).modName == "assets") continue;
|
||||
if (cast(l, IModsAssetLibrary).modName == "source") continue;
|
||||
|
||||
if (cast(l, IModsAssetLibrary).modName == ModsFolder.currentModFolder) {
|
||||
var flags:Map<String, String> = [];
|
||||
|
||||
@@ -135,6 +135,20 @@ class MainState extends FlxState {
|
||||
}
|
||||
}
|
||||
|
||||
FlxG.signals.preStateSwitch.add(() -> {
|
||||
var stateName = Type.getClassName(Type.getClass(@:privateAccess FlxG.game._requestedState));
|
||||
stateName = stateName.substring(stateName.lastIndexOf(".") + 1);
|
||||
trace(stateName);
|
||||
if (Flags.MOD_REDIRECT_STATES.exists(stateName)) {
|
||||
trace("WE FUCKING GOT IT!");
|
||||
@:privateAccess {
|
||||
var classFromString = Type.resolveClass(Flags.MOD_REDIRECT_STATES.get(stateName));
|
||||
if (classFromString != null) FlxG.game._requestedState = Type.createInstance(classFromString, []);
|
||||
else FlxG.game._requestedState = new funkin.backend.scripting.ModState(Flags.MOD_REDIRECT_STATES.get(stateName));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (!Flags.DISABLE_WARNING_SCREEN) FlxG.switchState(new funkin.menus.WarningState());
|
||||
else FlxG.switchState(new TitleState());
|
||||
}
|
||||
|
||||
@@ -454,7 +454,7 @@ final class CoolUtil
|
||||
@:noUsing public static function playMenuSong(fadeIn:Bool = false) {
|
||||
if (FlxG.sound.music == null || !FlxG.sound.music.playing)
|
||||
{
|
||||
playMusic(Paths.music('freakyMenu'), true, fadeIn ? 0 : 1, true, 102);
|
||||
playMusic(Paths.music(Flags.DEFAULT_MENU_MUSIC), true, fadeIn ? 0 : 1, true, 102);
|
||||
if (fadeIn)
|
||||
FlxG.sound.music.fadeIn(4, 0, 0.7);
|
||||
}
|
||||
@@ -520,14 +520,14 @@ final class CoolUtil
|
||||
* @param volume At which volume it should play
|
||||
*/
|
||||
@:noUsing public static inline function playMenuSFX(menuSFX:CoolSfx = SCROLL, volume:Float = 1):FlxSound {
|
||||
return FlxG.sound.play(Paths.sound('menu/' + switch(menuSFX) {
|
||||
case CONFIRM: 'confirm';
|
||||
case CANCEL: 'cancel';
|
||||
case SCROLL: 'scroll';
|
||||
case CHECKED: 'checkboxChecked';
|
||||
case UNCHECKED: 'checkboxUnchecked';
|
||||
case WARNING: 'warningMenu';
|
||||
default: 'scroll';
|
||||
return FlxG.sound.play(Paths.sound(switch(menuSFX) {
|
||||
case CONFIRM: Flags.DEFAULT_MENU_CONFIRM_SOUND;
|
||||
case CANCEL: Flags.DEFAULT_MENU_CANCEL_SOUND;
|
||||
case SCROLL: Flags.DEFAULT_MENU_SCROLL_SOUND;
|
||||
case CHECKED: Flags.DEFAULT_EDITOR_CHECKBOXCHECKED_SOUND;
|
||||
case UNCHECKED: Flags.DEFAULT_EDITOR_CHECKBOXUNCHECKED_SOUND;
|
||||
case WARNING: Flags.DEFAULT_EDITOR_WARNING_SOUND;
|
||||
default: Flags.DEFAULT_MENU_SCROLL_SOUND;
|
||||
}), volume * Options.volumeSFX);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class IniUtil {
|
||||
public static function parseStringToMap(map:Map<String, Map<String, String>>, data:String) {
|
||||
var section:Map<String, String> = null;
|
||||
|
||||
var regexSec = ~/\\[(.+)\\]/g, regexVal = ~/(.+)=(.+)/g, quote = ~/[\\'"](.+)[\\'"]/g, iln = 0;
|
||||
var regexSec = ~/^\[(.+)\]/g, regexVal = ~/^([^#;].+)=(.+)/g, quote = ~/[\\'"](.+)[\\'"]/g, iln = 0;
|
||||
do {
|
||||
var line = data.substring(iln, ((iln = data.indexOf('\n', iln) + 1) == 0 ? data.length : iln - 1));
|
||||
if (regexSec.match(line)) {
|
||||
|
||||
@@ -10,34 +10,41 @@ class ModConfigWarning extends UIState {
|
||||
var goToState:Class<FlxState>;
|
||||
|
||||
public static inline var defaultModConfigText =
|
||||
'[Common]
|
||||
MOD_NAME="YOUR MOD NAME HERE"
|
||||
MOD_DESCRIPTION="YOUR MOD DESCRIPTION HERE"
|
||||
MOD_AUTHOR="YOU/YOUR TEAM HERE"
|
||||
MOD_VERSION="YOUR MOD\'S VERSION HERE"
|
||||
'[Common] # This section applies the \'MOD_\' prefix to the flags so you don\'t have to.
|
||||
NAME="YOUR MOD NAME HERE"
|
||||
DESCRIPTION="YOUR MOD DESCRIPTION HERE"
|
||||
AUTHOR="YOU/YOUR TEAM HERE"
|
||||
VERSION="YOUR MOD\'S VERSION HERE"
|
||||
|
||||
# DO NOT EDIT!! this is used to check for version compatibility!
|
||||
MOD_API_VERSION=1
|
||||
API_VERSION=1
|
||||
|
||||
MOD_DOWNLOAD_LINK="YOUR MOD PAGE LINK HERE"
|
||||
DOWNLOAD_LINK="YOUR MOD PAGE LINK HERE"
|
||||
|
||||
# Not supported yet
|
||||
;MOD_ICON64="path/to/icon64.png"
|
||||
;MOD_ICON32="path/to/icon32.png"
|
||||
;MOD_ICON16="path/to/icon16.png"
|
||||
MOD_ICON="path/to/icon.png"
|
||||
ICON="path/to/icon.png"
|
||||
|
||||
[Flags]
|
||||
[Flags] # This section doesn\'t apply any prefix.
|
||||
DISABLE_WARNING_SCREEN=true
|
||||
# Set this to false if you want to bring back the warning state (prior to 1.0.0)
|
||||
# NOTE: Beta warning state has been renamed from BetaWarningState.hx to WarningState.hx
|
||||
DISABLE_LANGUAGES=true
|
||||
# Some people might not translate their mods, but if you do then you may set this to false
|
||||
|
||||
[Discord]
|
||||
MOD_DISCORD_CLIENT_ID=""
|
||||
MOD_DISCORD_LOGO_KEY=""
|
||||
MOD_DISCORD_LOGO_TEXT=""';
|
||||
[Discord] # This section applies the \'MOD_DISCORD_\' prefix to the flags so you don\'t have to.
|
||||
CLIENT_ID=""
|
||||
LOGO_KEY=""
|
||||
LOGO_TEXT=""
|
||||
|
||||
[StateRedirects] # This section is used for state redirecting, see examples below.
|
||||
;StoryMenuState="funkin.menus.FreeplayState"
|
||||
;FreeplayState="scriptedFreeplayState"
|
||||
|
||||
[StateRedirects.force] # Use this if you want to override redirects set by subsequent addons/mods
|
||||
';
|
||||
|
||||
public function new(library:ModsFolderLibrary, ?goToState:Class<FlxState>) {
|
||||
super();
|
||||
|
||||
@@ -44,9 +44,9 @@ class GameOverSubstate extends MusicBeatSubstate
|
||||
this.y = y;
|
||||
this.player = player;
|
||||
this.characterName = character != null ? character : Flags.DEFAULT_GAMEOVER_CHARACTER;
|
||||
this.gameOverSong = gameOverSong != null ? gameOverSong : Flags.DEFAULT_GAMEOVER_SONG;
|
||||
this.lossSFXName = lossSFX != null ? lossSFX : Flags.DEFAULT_GAMEOVER_LOSS_SFX;
|
||||
this.retrySFX = retrySFX != null ? retrySFX : Flags.DEFAULT_GAMEOVER_RETRY_SFX;
|
||||
this.gameOverSong = gameOverSong != null ? gameOverSong : Flags.DEFAULT_GAMEOVER_MUSIC;
|
||||
this.lossSFXName = lossSFX != null ? lossSFX : Flags.DEFAULT_GAMEOVERSFX_SOUND;
|
||||
this.retrySFX = retrySFX != null ? retrySFX : Flags.DEFAULT_GAMEOVEREND_SOUND;
|
||||
}
|
||||
|
||||
public override function create()
|
||||
|
||||
@@ -99,15 +99,15 @@ class PlayState extends MusicBeatState
|
||||
/**
|
||||
* Game Over Song. (assets/music/gameOver.ogg)
|
||||
*/
|
||||
public var gameOverSong:String = Flags.DEFAULT_GAMEOVER_SONG;
|
||||
public var gameOverSong:String = Flags.DEFAULT_GAMEOVER_MUSIC;
|
||||
/**
|
||||
* Game Over Song. (assets/sounds/gameOverSFX.ogg)
|
||||
*/
|
||||
public var lossSFX:String = Flags.DEFAULT_GAMEOVER_LOSS_SFX;
|
||||
public var lossSFX:String = Flags.DEFAULT_GAMEOVERSFX_SOUND;
|
||||
/**
|
||||
* Game Over End SFX, used when retrying. (assets/sounds/gameOverEnd.ogg)
|
||||
*/
|
||||
public var retrySFX:String = Flags.DEFAULT_GAMEOVER_RETRY_SFX;
|
||||
public var retrySFX:String = Flags.DEFAULT_GAMEOVEREND_SOUND;
|
||||
|
||||
/**
|
||||
* Current Stage.
|
||||
@@ -461,11 +461,11 @@ class PlayState extends MusicBeatState
|
||||
/**
|
||||
* Array of sprites for the intro.
|
||||
*/
|
||||
public var introSprites:Array<String> = [null, 'game/ready', "game/set", "game/go"];
|
||||
public var introSprites:Array<String> = [Flags.DEFAULT_PREPARE_SPRITE, Flags.DEFAULT_READY_SPRITE, Flags.DEFAULT_SET_SPRITE, Flags.DEFAULT_GO_SPRITE];
|
||||
/**
|
||||
* Array of sounds for the intro.
|
||||
*/
|
||||
public var introSounds:Array<String> = ['intro3', 'intro2', "intro1", "introGo"];
|
||||
public var introSounds:Array<String> = [Flags.DEFAULT_INTRO1_SOUND, Flags.DEFAULT_INTRO2_SOUND, Flags.DEFAULT_INTRO3_SOUND, Flags.DEFAULT_INTROGO_SOUND];
|
||||
|
||||
/**
|
||||
* Whenever the game is paused or not.
|
||||
@@ -1765,7 +1765,7 @@ class PlayState extends MusicBeatState
|
||||
var directionID:Null<Int> = note == null ? direction : note.strumID;
|
||||
if (playerID == null || directionID == null || playerID == -1) return;
|
||||
|
||||
var event:NoteMissEvent = gameAndCharsEvent("onPlayerMiss", EventManager.get(NoteMissEvent).recycle(note, -10, 1, muteVocalsOnMiss, note != null ? -0.0475 : -0.04, Paths.soundRandom('missnote', 1, 3), FlxG.random.float(0.1, 0.2), note == null, combo > 5, "sad", true, true, "miss", strumLines.members[playerID].characters, playerID, note != null ? note.noteType : null, directionID, 0));
|
||||
var event:NoteMissEvent = gameAndCharsEvent("onPlayerMiss", EventManager.get(NoteMissEvent).recycle(note, -10, 1, muteVocalsOnMiss, note != null ? -0.0475 : -0.04, Paths.sound(FlxG.random.getObject([Flags.DEFAULT_MISS1_SOUND, Flags.DEFAULT_MISS2_SOUND, Flags.DEFAULT_MISS3_SOUND])), FlxG.random.float(0.1, 0.2), note == null, combo > 5, "sad", true, true, "miss", strumLines.members[playerID].characters, playerID, note != null ? note.noteType : null, directionID, 0));
|
||||
strumLine.onMiss.dispatch(event);
|
||||
if (event.cancelled) return;
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ class PauseSubState extends MusicBeatSubstate
|
||||
pauseScript.setParent(this);
|
||||
pauseScript.load();
|
||||
|
||||
var event = EventManager.get(PauseCreationEvent).recycle('breakfast', menuItems);
|
||||
var event = EventManager.get(PauseCreationEvent).recycle(Flags.DEFAULT_PAUSE_MENU_MUSIC, menuItems);
|
||||
pauseScript.call('create', [event]);
|
||||
|
||||
menuItems = event.options;
|
||||
|
||||
Reference in New Issue
Block a user