diff --git a/mods/char-select-cjes-and-vl/a-constants.lua b/mods/char-select-cjes-and-vl/a-constants.lua new file mode 100644 index 00000000..2c2e5219 --- /dev/null +++ b/mods/char-select-cjes-and-vl/a-constants.lua @@ -0,0 +1,16 @@ +if not _G.charSelectExists then + local first = false + hook_event(HOOK_ON_LEVEL_INIT, function() + if not first then + first = true + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffffa0\\Extra Characters requires Character Select to be enabled.\nPlease rehost with it enabled.") + end + end) + return +end + +MOD_VERSION = "v4.1" + +E_MODEL_VL = smlua_model_util_get_id("vl_geo") +E_MODEL_CJES = smlua_model_util_get_id("cjes_geo") \ No newline at end of file diff --git a/mods/char-select-cjes-and-vl/actors/cjes_geo.bin b/mods/char-select-cjes-and-vl/actors/cjes_geo.bin index 6824469e..11770c7a 100644 Binary files a/mods/char-select-cjes-and-vl/actors/cjes_geo.bin and b/mods/char-select-cjes-and-vl/actors/cjes_geo.bin differ diff --git a/mods/char-select-cjes-and-vl/actors/vl_geo.bin b/mods/char-select-cjes-and-vl/actors/vl_geo.bin index ea492e96..63f96f1e 100644 Binary files a/mods/char-select-cjes-and-vl/actors/vl_geo.bin and b/mods/char-select-cjes-and-vl/actors/vl_geo.bin differ diff --git a/mods/char-select-cjes-and-vl/main.lua b/mods/char-select-cjes-and-vl/main.lua index c5310af0..a455bae1 100644 --- a/mods/char-select-cjes-and-vl/main.lua +++ b/mods/char-select-cjes-and-vl/main.lua @@ -1,49 +1,167 @@ -- name: [CS] VL-Tone & Cjes Luigi --- description: [CS] VL-Tone & Cjes Luigi\nBy Coop Deluxe Team\n\nThis Character Select pack adds VL-Tone Luigi and Cjes Luigi, who was originally the model for luigi in earlier versions of sm64ex-coop. +-- description: [CS] \\#00ff00\\VL-Tone \\#dcdcdc\\& \\#00ff00\\Cjes Luigi\n\\#dcdcdc\\By: Coop Deluxe Team\n\nReturn of TWO nostalgic Luigi's dating back to the 2000s!\n\n\\#00ff00\\Model Credits:\n\\#dcdcdc\\VL-Tone\nCJes\n\n\\#00ff00\\Model Porting:\n\\#dcdcdc\\AngelicMiracles "Yuyake"\nFluffaMario\nSonicDark -if not _G.charSelectExists then - local first = false - hook_event(HOOK_ON_LEVEL_INIT, function() - if not first then - first = true - play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) - djui_chat_message_create("\\#ffffa0\\Extra Characters requires Character Select to be enabled.\nPlease rehost with it enabled.") - end - end) - return -end - -local E_MODEL_VL = smlua_model_util_get_id("vl_geo") -local E_MODEL_CJES = smlua_model_util_get_id("cjes_geo") - -local TEXT_MOD_NAME = "VL-Tone & Cjes Luigi" - -local TEX_LUIGI = get_texture_info("luigi_icon") +-- localize functions to improve performance +local table_insert,play_sound,djui_hud_get_screen_width,maxf,math_sin,djui_hud_set_color,djui_hud_set_font,string_format,djui_hud_measure_text,djui_hud_print_text,djui_hud_set_resolution,min,math_min,math_max,djui_hud_set_rotation,djui_hud_render_rect = table.insert,play_sound,djui_hud_get_screen_width,maxf,math.sin,djui_hud_set_color,djui_hud_set_font,string.format,djui_hud_measure_text,djui_hud_print_text,djui_hud_set_resolution,min,math.min,math.max,djui_hud_set_rotation,djui_hud_render_rect local PALETTE_VL = { - [PANTS] = {r = 0x20, g = 0x14, b = 0x7c}, -- 20147C - [SHIRT] = {r = 0x00, g = 0x98, b = 0x00}, -- 009800 - [GLOVES] = {r = 0xff, g = 0xff, b = 0xff}, -- FFFFFF - [SHOES] = {r = 0x48, g = 0x20, b = 0x18}, -- 482018 - [HAIR] = {r = 0x68, g = 0x24, b = 0x14}, -- 682414 - [SKIN] = {r = 0xfe, g = 0xc1, b = 0x79}, -- FEC179 - [CAP] = {r = 0x00, g = 0x98, b = 0x00}, -- 009800 - [EMBLEM] = {r = 0x00, g = 0x98, b = 0x00}, -- 009800 + [PANTS] = { r = 0x20, g = 0x14, b = 0x7c }, -- 20147C + [SHIRT] = { r = 0x00, g = 0x98, b = 0x00 }, -- 009800 + [GLOVES] = { r = 0xff, g = 0xff, b = 0xff }, -- FFFFFF + [SHOES] = { r = 0x48, g = 0x20, b = 0x18 }, -- 482018 + [HAIR] = { r = 0x68, g = 0x24, b = 0x14 }, -- 682414 + [SKIN] = { r = 0xfe, g = 0xc1, b = 0x79 }, -- FEC179 + [CAP] = { r = 0x00, g = 0x98, b = 0x00 }, -- 009800 + [EMBLEM] = { r = 0x00, g = 0x98, b = 0x00 }, -- 009800 } local PALETTE_CJES = { - [PANTS] = {r = 0x00, g = 0x00, b = 0xff}, -- 0000FF - [SHIRT] = {r = 0x00, g = 0x8c, b = 0x00}, -- 008C00 - [GLOVES] = {r = 0xff, g = 0xff, b = 0xff}, -- FFFFFF - [SHOES] = {r = 0x50, g = 0x16, b = 0x07}, -- 501607 - [HAIR] = {r = 0x73, g = 0x06, b = 0x00}, -- 730600 - [SKIN] = {r = 0xfe, g = 0xc1, b = 0x79}, -- FEC179 - [CAP] = {r = 0x00, g = 0x8c, b = 0x00}, -- 008C00 - [EMBLEM] = {r = 0x00, g = 0x8c, b = 0x00}, -- 008C00 + [PANTS] = { r = 0x00, g = 0x00, b = 0xff }, -- 0000FF + [SHIRT] = { r = 0x00, g = 0x8c, b = 0x00 }, -- 008C00 + [GLOVES] = { r = 0xff, g = 0xff, b = 0xff }, -- FFFFFF + [SHOES] = { r = 0x50, g = 0x16, b = 0x07 }, -- 501607 + [HAIR] = { r = 0x73, g = 0x06, b = 0x00 }, -- 730600 + [SKIN] = { r = 0xfe, g = 0xc1, b = 0x79 }, -- FEC179 + [CAP] = { r = 0x00, g = 0x8c, b = 0x00 }, -- 008C00 + [EMBLEM] = { r = 0x00, g = 0x8c, b = 0x00 }, -- 008C00 } -CT_VL_LUIGI = _G.charSelect.character_add("VL-Tone Luigi", {" A fanmade model of Luigi.", "The model was created for the", "program Toad's Tool 64, a romhack editor.", "This model is a nostalgic throwback to", "many players in the SM64 Community!"}, "VL-Tone", {r = 0, g = 152, b = 0}, E_MODEL_VL, CT_LUIGI, TEX_LUIGI) -CT_CJES_LUIGI = _G.charSelect.character_add("Cjes Luigi", {"Another fanmade Luigi model.", "The model originates from Super", "Luigi 64 in 2015.", "This model originally was the", "main Luigi model for sm64ex-coop before", "the giga leak occured in 2020 and", "eventually replaced it." }, "Cjes", {r = 0, g = 140, b = 0}, E_MODEL_CJES, CT_LUIGI, TEX_LUIGI) - +local CT_VL_AND_CJES = _G.charSelect.character_add("VL & Cjes", "Fanmade models of Luigi that are a big nostalgic throwback to the Super Mario 64 fan community! VL was created as an easter egg for Toads Tool 64, a romhack editor. Cjes was the original model for sm64ex-coop before it was eventually replaced.", "VL-Tone and Cjes", {r = 0, g = 152, b = 0}, E_MODEL_VL, CT_LUIGI, gTextures.luigi_head) _G.charSelect.character_add_palette_preset(E_MODEL_VL, PALETTE_VL) -_G.charSelect.character_add_palette_preset(E_MODEL_CJES, PALETTE_CJES) \ No newline at end of file +_G.charSelect.character_add_palette_preset(E_MODEL_CJES, PALETTE_CJES) + +-------------------------------------------- +--- Alt Costume code from Paper Partners --- +------------ Modified by Squishy ----------- +-------------------------------------------- + +local character_edit = _G.charSelect.character_edit +local character_get_current_number = _G.charSelect.character_get_current_number +local character_get_current_table = _G.charSelect.character_get_current_table +local get_options_status = _G.charSelect.get_options_status +local get_menu_color = _G.charSelect.get_menu_color +local hook_render_in_menu = _G.charSelect.hook_render_in_menu + +local altCostumes = { + [CT_VL_AND_CJES] = { + currSkin = 1, + { name = " VL ", model = E_MODEL_VL }, + { name = " CJES ", model = E_MODEL_CJES } + } +} + +local function update_character_skin(currChar, currAlt) + local currSkin = altCostumes[currChar][currAlt] + if altCostumes[currChar].desc == nil then + altCostumes[currChar].desc = character_get_current_table().description + end + local description = {} + for i = 1, #altCostumes[currChar].desc do + table_insert(description, altCostumes[currChar].desc[i]) + end + if currSkin.name ~= "" then + table_insert(description, "") + table_insert(description, "Current Outfit: "..currSkin.name) + end + character_edit(currChar, nil, description, nil, nil, currSkin.model, nil, nil) + local cameraToObject = gMarioStates[0].marioObj.header.gfx.cameraToObject + play_sound(SOUND_MENU_MESSAGE_NEXT_PAGE, cameraToObject) +end + +local inputLockTimer = 0 +local buttonAnimTimer = 0 + +local latencyValueTable = { 12, 6, 3 } + +local function hud_render() + local width = djui_hud_get_screen_width() + 1.4 + local widthScale = maxf(width, 321.4) / 320 + local currChar = character_get_current_number() + local charColors = character_get_current_table().color + + -- mimick button swaying, which is missing from the paper code + local buttonAnim = 0 + local charSelectAnim = get_options_status(_G.charSelect.optionTableRef.anims) + if charSelectAnim > 0 then + buttonAnimTimer = buttonAnimTimer + 1 + buttonAnim = math_sin(buttonAnimTimer * 0.05) * 2.5 + 5 + else + buttonAnim = 10 + end + + local inputLockTimerTo = latencyValueTable[get_options_status(_G.charSelect.optionTableRef.inputLatency) + 1] + + if altCostumes[currChar] ~= nil then + -- render Mod Variond under CS version + local menuColor = get_menu_color() + djui_hud_set_color(menuColor.r, menuColor.g, menuColor.b, 255) + djui_hud_set_font(FONT_TINY) + local str = string_format("VL-Tone & Cjes Luigi (%s)", MOD_VERSION) + djui_hud_print_text(str, width - 5 - djui_hud_measure_text(str) * 0.5, 3, 0.5) + + ---@type Controller + local c = _G.charSelect.controller + local currAlts = altCostumes[currChar] + + djui_hud_set_font(FONT_NORMAL) + djui_hud_set_resolution(RESOLUTION_N64) + local inputLockTimerAnim = 0 + + local buttonX = 20 * widthScale + buttonAnim + local x1 = buttonX - 4 + local x2 = x1 + 73 + local y = 97 + + if charSelectAnim > 0 then + inputLockTimerAnim = inputLockTimer / inputLockTimerTo * 3 + x1 = x1 + math_min(inputLockTimerAnim, 0) + x2 = x2 + math_max(inputLockTimerAnim, 0) + end + + -- left Arrow + if currAlts.currSkin > 1 then + djui_hud_set_color(charColors.r, charColors.g, charColors.b, 255) + djui_hud_set_rotation(0x2000, 0.5, 0.5) + djui_hud_render_rect(x1, y, 5, 5) + djui_hud_set_color(0, 0, 0, 255) + djui_hud_set_rotation(0, 0.5, 0.5) + djui_hud_render_rect(x1 + 2.5, y - 2, 6, 8) + djui_hud_set_color(charColors.r, charColors.g, charColors.b, 255) + djui_hud_render_rect(buttonX, y - 3, 1, 10) + + if inputLockTimer == 0 and (c.buttonDown & L_JPAD ~= 0 or c.stickX < -0.5) then + currAlts.currSkin = math_max(currAlts.currSkin - 1, 1) + update_character_skin(currChar, currAlts.currSkin) + inputLockTimer = -inputLockTimerTo + end + end + + -- right Arrow + if currAlts.currSkin < #currAlts then + -- changed arrows to mimick the ones seen in the options menu + djui_hud_set_color(charColors.r, charColors.g, charColors.b, 255) + djui_hud_set_rotation(0x2000, 0.5, 0.5) + djui_hud_render_rect(x2, y, 5, 5) + djui_hud_set_color(0, 0, 0, 255) + djui_hud_set_rotation(0, 0.5, 0.5) + djui_hud_render_rect(x2 - 3.5, y - 2, 6, 8) + djui_hud_set_color(charColors.r, charColors.g, charColors.b, 255) + djui_hud_render_rect(buttonX + 69, y - 3, 1, 10) + + if inputLockTimer == 0 and (c.buttonDown & R_JPAD ~= 0 or c.stickX > 0.5) then + currAlts.currSkin = currAlts.currSkin + 1 + update_character_skin(currChar, currAlts.currSkin) + inputLockTimer = inputLockTimerTo + end + end + + -- use an input lock to prevent cycling too fast + if inputLockTimer > 0 then + inputLockTimer = inputLockTimer - 1 + elseif inputLockTimer < 0 then + inputLockTimer = inputLockTimer + 1 + end + end +end + +hook_render_in_menu(hud_render) \ No newline at end of file diff --git a/mods/char-select-cjes-and-vl/textures/luigi_icon.tex b/mods/char-select-cjes-and-vl/textures/luigi_icon.tex deleted file mode 100644 index ccf90885..00000000 Binary files a/mods/char-select-cjes-and-vl/textures/luigi_icon.tex and /dev/null differ diff --git a/mods/char-select-extra-chars/a-utils.lua b/mods/char-select-extra-chars/a-utils.lua index 4234b1d5..c38813df 100644 --- a/mods/char-select-extra-chars/a-utils.lua +++ b/mods/char-select-extra-chars/a-utils.lua @@ -33,4 +33,21 @@ function active_player(m) return false end return true +end + +animTables = {} + +--- @param charNum integer +--- @param animTable table +--- Adds custom animations to a character +function character_add_animations(charNum, animTable) + animTables[charNum] = animTable +end + + +--- @param charNum integer +--- @return table +--- Gets a character's custom animations +function character_get_animations(charNum) + return animTables[charNum] end \ No newline at end of file diff --git a/mods/char-select-extra-chars/actors/birdo_geo.bin b/mods/char-select-extra-chars/actors/birdo_geo.bin new file mode 100644 index 00000000..73f4f431 Binary files /dev/null and b/mods/char-select-extra-chars/actors/birdo_geo.bin differ diff --git a/mods/char-select-extra-chars/actors/daisy_geo.bin b/mods/char-select-extra-chars/actors/daisy_geo.bin index 12f76428..e9f72d92 100644 Binary files a/mods/char-select-extra-chars/actors/daisy_geo.bin and b/mods/char-select-extra-chars/actors/daisy_geo.bin differ diff --git a/mods/char-select-extra-chars/actors/peach_player_geo.bin b/mods/char-select-extra-chars/actors/peach_player_geo.bin index db656a14..86f71c33 100644 Binary files a/mods/char-select-extra-chars/actors/peach_player_geo.bin and b/mods/char-select-extra-chars/actors/peach_player_geo.bin differ diff --git a/mods/char-select-extra-chars/birdo.lua b/mods/char-select-extra-chars/birdo.lua new file mode 100644 index 00000000..4879b659 --- /dev/null +++ b/mods/char-select-extra-chars/birdo.lua @@ -0,0 +1,64 @@ +if not _G.charSelectExists then return end + +local E_MODEL_BIRDO = smlua_model_util_get_id("birdo_geo") + +local TEX_BIRDO = get_texture_info("birdo-icon") + +VOICETABLE_BIRDO = { + [CHAR_SOUND_ATTACKED] = "birdo_attacked.ogg", + [CHAR_SOUND_COUGHING1] = "birdo_coughing1.ogg", + [CHAR_SOUND_COUGHING2] = "birdo_coughing2.ogg", + [CHAR_SOUND_COUGHING3] = "birdo_coughing3.ogg", + [CHAR_SOUND_DOH] = "birdo_doh.ogg", + [CHAR_SOUND_DROWNING] = "birdo_drowning.ogg", + [CHAR_SOUND_DYING] = "birdo_dying.ogg", + [CHAR_SOUND_EEUH] = "birdo_euuh.ogg", + [CHAR_SOUND_GROUND_POUND_WAH] = "birdo_ground_pound_wah.ogg", + [CHAR_SOUND_HAHA] = "birdo_haha.ogg", + [CHAR_SOUND_HAHA_2] = "birdo_haha2.ogg", + [CHAR_SOUND_HERE_WE_GO] = "birdo_herewego.ogg", + [CHAR_SOUND_HOOHOO] = "birdo_hoohoo.ogg", + [CHAR_SOUND_HRMM] = "birdo_hrmm.ogg", + [CHAR_SOUND_IMA_TIRED] = "birdo_imatired.ogg", + [CHAR_SOUND_MAMA_MIA] = "birdo_mamamia.ogg", + [CHAR_SOUND_LETS_A_GO] = "birdo_letsago.ogg", + [CHAR_SOUND_ON_FIRE] = "birdo_on_fire.ogg", + [CHAR_SOUND_OOOF] = "birdo_ooof.ogg", + [CHAR_SOUND_OOOF2] = "birdo_ooof2.ogg", + [CHAR_SOUND_PANTING] = "birdo_panting.ogg", + [CHAR_SOUND_PANTING_COLD] = "birdo_panting_cold.ogg", + [CHAR_SOUND_PUNCH_HOO] = "birdo_punch_hoo.ogg", + [CHAR_SOUND_PUNCH_WAH] = "birdo_punch_wah.ogg", + [CHAR_SOUND_PUNCH_YAH] = "birdo_punch_yah.ogg", + [CHAR_SOUND_SO_LONGA_BOWSER] = "birdo_solonga_bowser.ogg", + [CHAR_SOUND_SNORING1] = "birdo_snoring1.ogg", + [CHAR_SOUND_SNORING2] = "birdo_snoring2.ogg", + [CHAR_SOUND_SNORING3] = { "birdo_snoring2.ogg", "birdo_snoring1.ogg", "birdo_snoring3.ogg" }, + [CHAR_SOUND_TWIRL_BOUNCE] = "birdo_twirl_bounce.ogg", + [CHAR_SOUND_UH] = "birdo_uh.ogg", + [CHAR_SOUND_UH2] = "birdo_uh2.ogg", + [CHAR_SOUND_UH2_2] = "birdo_uh2_2.ogg", + [CHAR_SOUND_WAAAOOOW] = "birdo_waaaooow.ogg", + [CHAR_SOUND_WAH2] = "birdo_ground_pound_wah.ogg", + [CHAR_SOUND_WHOA] = "birdo_whoa.ogg", + [CHAR_SOUND_YAHOO] = "birdo_yahoo.ogg", + [CHAR_SOUND_YAWNING] = "birdo_yawning.ogg", + [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = { "birdo_yahoo.ogg", "birdo_yahoo1.ogg", "birdo_yahoo2.ogg", "birdo_yahoo3.ogg", "birdo_yahoo4.ogg", "birdo_yahoo5.ogg" }, + [CHAR_SOUND_YAH_WAH_HOO] = { "birdo_yah_wah_hoo1.ogg", "birdo_yah_wah_hoo2.ogg", "birdo_yah_wah_hoo3.ogg" }, + [CHAR_SOUND_HELLO] = "birdo_hello.ogg" +} + +local PALETTE_BIRDO = { + [PANTS] = { r = 0xFF, g = 0x00, b = 0x00 }, --FF0000 + [SHIRT] = { r = 0xFE, g = 0x4D, b = 0x7F }, --FE4D7F + [GLOVES] = { r = 0xFF, g = 0xFF, b = 0xFF }, --FFFFFF + [SHOES] = { r = 0xFE, g = 0x4D, b = 0x7F }, --FE4D7F + [HAIR] = { r = 0xFF, g = 0x00, b = 0x00 }, --FF0000 + [SKIN] = { r = 0xFE, g = 0xC1, b = 0x79 }, --FEC179 + [CAP] = { r = 0xFE, g = 0x4D, b = 0x7F }, --FE4D7F + [EMBLEM] = { r = 0xFF, g = 0x00, b = 0x00 } --FF0000 +} + +_G.CT_BIRDO = _G.charSelect.character_add("Birdo", "A very feminine dinosaur who debutted in Super Mario Bros. 2! Some say she was born a boy but then found out her true self later in life and became a girl. Voiced by: RihannaDeleon.", "thagurltilly & AngelicMiracles", { r = 254, g = 77, b = 127 }, E_MODEL_BIRDO, CT_MARIO, TEX_BIRDO, 1.0, 0) +_G.charSelect.character_add_voice(E_MODEL_BIRDO, VOICETABLE_BIRDO) +_G.charSelect.character_add_palette_preset(E_MODEL_BIRDO, PALETTE_BIRDO) \ No newline at end of file diff --git a/mods/char-select-extra-chars/daisy.lua b/mods/char-select-extra-chars/daisy.lua index 35b5297d..070681a1 100644 --- a/mods/char-select-extra-chars/daisy.lua +++ b/mods/char-select-extra-chars/daisy.lua @@ -4,50 +4,48 @@ E_MODEL_DAISY = smlua_model_util_get_id("daisy_geo") local TEX_DAISY = get_texture_info("daisy_icon") -ACT_DAISY_JUMP = allocate_mario_action(ACT_GROUP_AIRBORNE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_MOVING) - VOICETABLE_DAISY = { - [CHAR_SOUND_ATTACKED] = {'daisy_attacked_1.ogg','daisy_attacked_2.ogg','daisy_attacked_3.ogg'}, - [CHAR_SOUND_COUGHING1] = 'daisy_coughing1.ogg', - [CHAR_SOUND_COUGHING2] = 'daisy_coughing2.ogg', - [CHAR_SOUND_COUGHING3] = 'daisy_coughing3.ogg', - [CHAR_SOUND_DOH] = {'daisy_doh_1.ogg', 'daisy_doh_2.ogg'}, - [CHAR_SOUND_DROWNING] = 'daisy_drowning_1.ogg', - [CHAR_SOUND_DYING] = 'daisy_dying.ogg', - [CHAR_SOUND_EEUH] = 'daisy_eeuh.ogg', - [CHAR_SOUND_GROUND_POUND_WAH] = 'daisy_ground_pound_wah.ogg', - [CHAR_SOUND_HAHA] = 'daisy_haha.ogg', - [CHAR_SOUND_HAHA_2] = 'daisy_haha_2.ogg', - [CHAR_SOUND_HERE_WE_GO] = 'daisy_here_we_go.ogg', - [CHAR_SOUND_HOOHOO] = 'daisy_hoohoo.ogg', - [CHAR_SOUND_HRMM] = 'daisy_hrmm.ogg', - [CHAR_SOUND_IMA_TIRED] = 'daisy_ima_tired.ogg', - [CHAR_SOUND_MAMA_MIA] = 'daisy_mama_mia.ogg', - [CHAR_SOUND_LETS_A_GO] = 'daisy_lets_a_go.ogg', - [CHAR_SOUND_ON_FIRE] = 'daisy_on_fire.ogg', - [CHAR_SOUND_OOOF] = 'daisy_oof.ogg', - [CHAR_SOUND_OOOF2] = 'daisy_ooof2.ogg', - [CHAR_SOUND_PANTING] = 'daisy_panting.ogg', - [CHAR_SOUND_PANTING_COLD] = 'daisy_panting_cold.ogg', - [CHAR_SOUND_PUNCH_HOO] = 'daisy_punch_hoo.ogg', - [CHAR_SOUND_PUNCH_WAH] = 'daisy_punch_wah.ogg', - [CHAR_SOUND_PUNCH_YAH] = 'daisy_punch_yah.ogg', - [CHAR_SOUND_SO_LONGA_BOWSER] = 'daisy_so_longa_bowser.ogg', - [CHAR_SOUND_SNORING1] = 'daisy_snoring1.ogg', - [CHAR_SOUND_SNORING2] = 'daisy_snoring2.ogg', - [CHAR_SOUND_SNORING3] = {'daisy_snoring2.ogg', 'daisy_snoring1.ogg', 'daisy_snoring3.ogg'}, - [CHAR_SOUND_TWIRL_BOUNCE] = 'daisy_twirl_bounce.ogg', - [CHAR_SOUND_UH] = 'daisy_uh.ogg', - [CHAR_SOUND_UH2] = 'daisy_uh2.ogg', - [CHAR_SOUND_UH2_2] = 'daisy_uh2_2.ogg', - [CHAR_SOUND_WAAAOOOW] = 'daisy_waaaooow.ogg', - [CHAR_SOUND_WAH2] = 'daisy_wah2.ogg', - [CHAR_SOUND_WHOA] = 'daisy_whoa.ogg', - [CHAR_SOUND_YAHOO] = 'daisy_yahoo.ogg', - [CHAR_SOUND_YAWNING] = 'daisy_yawning.ogg', - [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = { 'daisy_yahoo.ogg', 'daisy_yahoo2.ogg', 'daisy_yahoo3.ogg', 'daisy_yahoo4.ogg'}, - [CHAR_SOUND_YAH_WAH_HOO] = { 'daisy_yah1.ogg', 'daisy_yah2.ogg', 'daisy_yah3.ogg'}, - [CHAR_SOUND_HELLO] = 'daisy_double_jump.ogg' + [CHAR_SOUND_ATTACKED] = { "daisy_attacked_1.ogg","daisy_attacked_2.ogg","daisy_attacked_3.ogg" }, + [CHAR_SOUND_COUGHING1] = "daisy_coughing1.ogg", + [CHAR_SOUND_COUGHING2] = "daisy_coughing2.ogg", + [CHAR_SOUND_COUGHING3] = "daisy_coughing3.ogg", + [CHAR_SOUND_DOH] = { "daisy_doh_1.ogg", "daisy_doh_2.ogg" }, + [CHAR_SOUND_DROWNING] = "daisy_drowning_1.ogg", + [CHAR_SOUND_DYING] = "daisy_dying.ogg", + [CHAR_SOUND_EEUH] = "daisy_eeuh.ogg", + [CHAR_SOUND_GROUND_POUND_WAH] = "daisy_ground_pound_wah.ogg", + [CHAR_SOUND_HAHA] = "daisy_haha.ogg", + [CHAR_SOUND_HAHA_2] = "daisy_haha_2.ogg", + [CHAR_SOUND_HERE_WE_GO] = "daisy_here_we_go.ogg", + [CHAR_SOUND_HOOHOO] = "daisy_hoohoo.ogg", + [CHAR_SOUND_HRMM] = "daisy_hrmm.ogg", + [CHAR_SOUND_IMA_TIRED] = "daisy_ima_tired.ogg", + [CHAR_SOUND_MAMA_MIA] = "daisy_mama_mia.ogg", + [CHAR_SOUND_LETS_A_GO] = "daisy_lets_a_go.ogg", + [CHAR_SOUND_ON_FIRE] = "daisy_on_fire.ogg", + [CHAR_SOUND_OOOF] = "daisy_oof.ogg", + [CHAR_SOUND_OOOF2] = "daisy_ooof2.ogg", + [CHAR_SOUND_PANTING] = "daisy_panting.ogg", + [CHAR_SOUND_PANTING_COLD] = "daisy_panting_cold.ogg", + [CHAR_SOUND_PUNCH_HOO] = "daisy_punch_hoo.ogg", + [CHAR_SOUND_PUNCH_WAH] = "daisy_punch_wah.ogg", + [CHAR_SOUND_PUNCH_YAH] = "daisy_punch_yah.ogg", + [CHAR_SOUND_SO_LONGA_BOWSER] = "daisy_so_longa_bowser.ogg", + [CHAR_SOUND_SNORING1] = "daisy_snoring1.ogg", + [CHAR_SOUND_SNORING2] = "daisy_snoring2.ogg", + [CHAR_SOUND_SNORING3] = {"daisy_snoring2.ogg", "daisy_snoring1.ogg", "daisy_snoring3.ogg"}, + [CHAR_SOUND_TWIRL_BOUNCE] = "daisy_twirl_bounce.ogg", + [CHAR_SOUND_UH] = "daisy_uh.ogg", + [CHAR_SOUND_UH2] = "daisy_uh2.ogg", + [CHAR_SOUND_UH2_2] = "daisy_uh2_2.ogg", + [CHAR_SOUND_WAAAOOOW] = "daisy_waaaooow.ogg", + [CHAR_SOUND_WAH2] = "daisy_wah2.ogg", + [CHAR_SOUND_WHOA] = "daisy_whoa.ogg", + [CHAR_SOUND_YAHOO] = "daisy_yahoo.ogg", + [CHAR_SOUND_YAWNING] = "daisy_yawning.ogg", + [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = { "daisy_yahoo.ogg", "daisy_yahoo2.ogg", "daisy_yahoo3.ogg", "daisy_yahoo4.ogg" }, + [CHAR_SOUND_YAH_WAH_HOO] = { "daisy_yah1.ogg", "daisy_yah2.ogg", "daisy_yah3.ogg" }, + [CHAR_SOUND_HELLO] = "daisy_double_jump.ogg" } --CAPS (Will be worked on in the future)-- @@ -58,86 +56,86 @@ VOICETABLE_DAISY = { --metalWing = smlua_model_util_get_id("daisys_metal_wing_cap_geo") --} -local ANIMTABLE_DAISY = { - [CHAR_ANIM_RUNNING] = 'daisy_running', - [CHAR_ANIM_IDLE_HEAD_CENTER] = 'daisy_idle_head_center', - [CHAR_ANIM_IDLE_HEAD_LEFT] = 'daisy_idle_head_left', - [CHAR_ANIM_IDLE_HEAD_RIGHT] = 'daisy_idle_head_right', - [CHAR_ANIM_BACKWARD_KB] = 'daisy_backward_kb', - [CHAR_ANIM_FIRST_PERSON] = 'daisy_first_person', - [CHAR_ANIM_FLUTTERKICK] = 'daisy_flutterkick', - [CHAR_ANIM_FLUTTERKICK_WITH_OBJ] = 'daisy_flutterkick_with_obj', - [CHAR_ANIM_FORWARD_KB] = 'daisy_forward_kb', - [CHAR_ANIM_GROUND_BONK] = 'daisy_ground_bonk', - [CHAR_ANIM_GROUND_KICK] = 'daisy_ground_kick', - [CHAR_ANIM_GROUND_THROW] = 'daisy_ground_throw', - [CHAR_ANIM_HEAVY_THROW] = 'daisy_heavy_throw', - [CHAR_ANIM_MISSING_CAP] = 'daisy_missing_cap', - [CHAR_ANIM_PULL_DOOR_WALK_IN] = 'daisy_pull_door_walk_in', - [CHAR_ANIM_FIRST_PERSON] = 'daisy_first_person', - [CHAR_ANIM_RELEASE_BOWSER] = 'daisy_release_bowser', - [CHAR_ANIM_RETURN_FROM_STAR_DANCE] = 'daisy_return_from_star_dance', - [CHAR_ANIM_RETURN_STAR_APPROACH_DOOR] = 'daisy_return_star_approach_door', - [CHAR_ANIM_SLIDEFLIP_LAND] = 'daisy_sideflip_land', - [CHAR_ANIM_SLEEP_IDLE] = 'daisy_sleep_idle', - [CHAR_ANIM_START_SLEEP_SITTING] = 'daisy_sleep_sitting', - [CHAR_ANIM_SOFT_BACK_KB] = 'daisy_soft_back_kb', - [CHAR_ANIM_SOFT_FRONT_KB] = 'daisy_soft_front_kb', - [CHAR_ANIM_STAR_DANCE] = 'daisy_star_dance', - [CHAR_ANIM_START_CROUCHING] = 'daisy_start_crouch', - [CHAR_ANIM_STOP_CROUCHING] = 'daisy_stop_crouch', - [CHAR_ANIM_START_SLEEP_IDLE] = 'daisy_start_sleep', - [CHAR_ANIM_STOP_SLIDE] = 'daisy_stop_slide', - [CHAR_ANIM_SUMMON_STAR] = 'daisy_summon_star', - [CHAR_ANIM_SWIM_WITH_OBJ_PART1] = 'daisy_swim_with_obj1', - [CHAR_ANIM_SWIM_WITH_OBJ_PART2] = 'daisy_swim_with_obj2', - [CHAR_ANIM_TRIPLE_JUMP_LAND] = 'daisy_triple_jump_land', - [CHAR_ANIM_TURNING_PART1] = 'daisy_turning_part1', - [CHAR_ANIM_TURNING_PART2] = 'daisy_turning_part2', - [CHAR_ANIM_TWIRL_LAND] = 'daisy_twirl_land', - [CHAR_ANIM_WAKE_FROM_LYING] = 'daisy_wake_from_lying', - [CHAR_ANIM_WAKE_FROM_SLEEP] = 'daisy_wake_from_sleep', - [CHAR_ANIM_CREDITS_RAISE_HAND] = 'daisy_credits_raise_hand', - [CHAR_ANIM_CREDITS_RETURN_FROM_LOOK_UP] = 'daisy_credits_return_from_look_up', - [CHAR_ANIM_CREDITS_START_WALK_LOOK_UP] = 'daisy_credits_start_walk_look_up', - [CHAR_ANIM_CREDITS_TAKE_OFF_CAP] = 'daisy_credits_take_off_cap', - [CHAR_ANIM_DYING_FALL_OVER] = 'daisy_dying_fall_over', - [CHAR_ANIM_FALL_OVER_BACKWARDS] = 'daisy_fall_over_backwards', - [CHAR_ANIM_FAST_LEDGE_GRAB] = 'daisy_fast_ledge_grab', - --[CHAR_ANIM_FINAL_BOWSER_RAISE_HAND_SPIN] = 'daisy_final_bowser_raise_hand_spin', - [CHAR_ANIM_FIRST_PUNCH_FAST] = 'daisy_first_punch_fast', - [CHAR_ANIM_GENERAL_LAND] = 'daisy_general_land', - [CHAR_ANIM_HEAD_STUCK_IN_GROUND] = 'daisy_head_stuck_in_ground', - [CHAR_ANIM_LAND_FROM_DOUBLE_JUMP] = 'daisy_land_from_double_jump', - [CHAR_ANIM_LAND_FROM_SINGLE_JUMP] = 'daisy_land_from_single_jump', - [CHAR_ANIM_LAND_ON_STOMACH] = 'daisy_land_on_stomach', - [CHAR_ANIM_LEGS_STUCK_IN_GROUND] = 'daisy_legs_stuck_in_ground', - [CHAR_ANIM_PLACE_LIGHT_OBJ] = 'daisy_place_light_obj', - [CHAR_ANIM_PUSH_DOOR_WALK_IN] = 'daisy_push_door_walk_in', - [CHAR_ANIM_PUT_CAP_ON] = 'daisy_put_cap_on', - [CHAR_ANIM_RUN_WITH_LIGHT_OBJ] = 'daisy_run_with_light_obj', - [CHAR_ANIM_SECOND_PUNCH_FAST] = 'daisy_second_punch_fast', - [CHAR_ANIM_SHIVERING_RETURN_TO_IDLE] = 'daisy_shivering_returning_to_idle', - [CHAR_ANIM_SKID_ON_GROUND] = 'daisy_skid_on_ground', - [CHAR_ANIM_SLOW_LAND_FROM_DIVE] = 'daisy_slow_land_from_dive', - [CHAR_ANIM_SLOW_LEDGE_GRAB] = 'daisy_slow_ledge_grab', - [CHAR_ANIM_SLOW_WALK_WITH_LIGHT_OBJ] = 'daisy_slow_walk_with_light_obj', - [CHAR_ANIM_STAND_UP_FROM_LAVA_BOOST] = 'daisy_stand_up_from_lava_boost', - [CHAR_ANIM_STOP_SKID] = 'daisy_stop_skid', - [CHAR_ANIM_TAKE_CAP_OFF_THEN_ON] = 'daisy_take_cap_off_then_on', - [CHAR_ANIM_THROW_CATCH_KEY] = 'daisy_throw_catch_key', - [CHAR_ANIM_WALK_WITH_LIGHT_OBJ] = 'daisy_walk_with_light_obj', - [CHAR_ANIM_BOTTOM_STUCK_IN_GROUND] = 'daisy_bottom_stuck_in_ground', - --[CHAR_ANIM_CREDITS_PEACE_SIGN] = 'daisy_credits_peace_sign', - [CHAR_ANIM_FIRE_LAVA_BURN] = 'daisy_fire_lava_burn', - [CHAR_ANIM_GROUND_POUND] = 'daisy_ground_pound', - [CHAR_ANIM_GROUND_POUND_LANDING] = 'daisy_ground_pound_landing', - [CHAR_ANIM_TRIPLE_JUMP_GROUND_POUND] = 'daisy_triple_jump_ground_pound_anim', - [CHAR_ANIM_UNLOCK_DOOR] = 'daisy_unlock_door', - [CHAR_ANIM_SWINGING_BOWSER] = 'daisy_swinging_bowser', - [CHAR_ANIM_HOLDING_BOWSER] = 'daisy_holding_bowser', - [CHAR_ANIM_GRAB_BOWSER] = 'daisy_grab_bowser', - [CHAR_ANIM_BEND_KNESS_RIDING_SHELL] = 'daisy_dressjump', +ANIMTABLE_DAISY = { + [CHAR_ANIM_RUNNING] = "daisy_running", + [CHAR_ANIM_IDLE_HEAD_CENTER] = "daisy_idle_head_center", + [CHAR_ANIM_IDLE_HEAD_LEFT] = "daisy_idle_head_left", + [CHAR_ANIM_IDLE_HEAD_RIGHT] = "daisy_idle_head_right", + [CHAR_ANIM_BACKWARD_KB] = "daisy_backward_kb", + [CHAR_ANIM_FIRST_PERSON] = "daisy_first_person", + [CHAR_ANIM_FLUTTERKICK] = "daisy_flutterkick", + [CHAR_ANIM_FLUTTERKICK_WITH_OBJ] = "daisy_flutterkick_with_obj", + [CHAR_ANIM_FORWARD_KB] = "daisy_forward_kb", + [CHAR_ANIM_GROUND_BONK] = "daisy_ground_bonk", + [CHAR_ANIM_GROUND_KICK] = "daisy_ground_kick", + [CHAR_ANIM_GROUND_THROW] = "daisy_ground_throw", + [CHAR_ANIM_HEAVY_THROW] = "daisy_heavy_throw", + [CHAR_ANIM_MISSING_CAP] = "daisy_missing_cap", + [CHAR_ANIM_PULL_DOOR_WALK_IN] = "daisy_pull_door_walk_in", + [CHAR_ANIM_FIRST_PERSON] = "daisy_first_person", + [CHAR_ANIM_RELEASE_BOWSER] = "daisy_release_bowser", + [CHAR_ANIM_RETURN_FROM_STAR_DANCE] = "daisy_return_from_star_dance", + [CHAR_ANIM_RETURN_STAR_APPROACH_DOOR] = "daisy_return_star_approach_door", + [CHAR_ANIM_SLIDEFLIP_LAND] = "daisy_sideflip_land", + [CHAR_ANIM_SLEEP_IDLE] = "daisy_sleep_idle", + [CHAR_ANIM_START_SLEEP_SITTING] = "daisy_sleep_sitting", + [CHAR_ANIM_SOFT_BACK_KB] = "daisy_soft_back_kb", + [CHAR_ANIM_SOFT_FRONT_KB] = "daisy_soft_front_kb", + [CHAR_ANIM_STAR_DANCE] = "daisy_star_dance", + [CHAR_ANIM_START_CROUCHING] = "daisy_start_crouch", + [CHAR_ANIM_STOP_CROUCHING] = "daisy_stop_crouch", + [CHAR_ANIM_START_SLEEP_IDLE] = "daisy_start_sleep", + [CHAR_ANIM_STOP_SLIDE] = "daisy_stop_slide", + [CHAR_ANIM_SUMMON_STAR] = "daisy_summon_star", + [CHAR_ANIM_SWIM_WITH_OBJ_PART1] = "daisy_swim_with_obj1", + [CHAR_ANIM_SWIM_WITH_OBJ_PART2] = "daisy_swim_with_obj2", + [CHAR_ANIM_TRIPLE_JUMP_LAND] = "daisy_triple_jump_land", + [CHAR_ANIM_TURNING_PART1] = "daisy_turning_part1", + [CHAR_ANIM_TURNING_PART2] = "daisy_turning_part2", + [CHAR_ANIM_TWIRL_LAND] = "daisy_twirl_land", + [CHAR_ANIM_WAKE_FROM_LYING] = "daisy_wake_from_lying", + [CHAR_ANIM_WAKE_FROM_SLEEP] = "daisy_wake_from_sleep", + [CHAR_ANIM_CREDITS_RAISE_HAND] = "daisy_credits_raise_hand", + [CHAR_ANIM_CREDITS_RETURN_FROM_LOOK_UP] = "daisy_credits_return_from_look_up", + [CHAR_ANIM_CREDITS_START_WALK_LOOK_UP] = "daisy_credits_start_walk_look_up", + [CHAR_ANIM_CREDITS_TAKE_OFF_CAP] = "daisy_credits_take_off_cap", + [CHAR_ANIM_DYING_FALL_OVER] = "daisy_dying_fall_over", + [CHAR_ANIM_FALL_OVER_BACKWARDS] = "daisy_fall_over_backwards", + [CHAR_ANIM_FAST_LEDGE_GRAB] = "daisy_fast_ledge_grab", + -- [CHAR_ANIM_FINAL_BOWSER_RAISE_HAND_SPIN] = "daisy_final_bowser_raise_hand_spin", + [CHAR_ANIM_FIRST_PUNCH_FAST] = "daisy_first_punch_fast", + [CHAR_ANIM_GENERAL_LAND] = "daisy_general_land", + [CHAR_ANIM_HEAD_STUCK_IN_GROUND] = "daisy_head_stuck_in_ground", + [CHAR_ANIM_LAND_FROM_DOUBLE_JUMP] = "daisy_land_from_double_jump", + [CHAR_ANIM_LAND_FROM_SINGLE_JUMP] = "daisy_land_from_single_jump", + [CHAR_ANIM_LAND_ON_STOMACH] = "daisy_land_on_stomach", + [CHAR_ANIM_LEGS_STUCK_IN_GROUND] = "daisy_legs_stuck_in_ground", + [CHAR_ANIM_PLACE_LIGHT_OBJ] = "daisy_place_light_obj", + [CHAR_ANIM_PUSH_DOOR_WALK_IN] = "daisy_push_door_walk_in", + [CHAR_ANIM_PUT_CAP_ON] = "daisy_put_cap_on", + [CHAR_ANIM_RUN_WITH_LIGHT_OBJ] = "daisy_run_with_light_obj", + [CHAR_ANIM_SECOND_PUNCH_FAST] = "daisy_second_punch_fast", + [CHAR_ANIM_SHIVERING_RETURN_TO_IDLE] = "daisy_shivering_returning_to_idle", + [CHAR_ANIM_SKID_ON_GROUND] = "daisy_skid_on_ground", + [CHAR_ANIM_SLOW_LAND_FROM_DIVE] = "daisy_slow_land_from_dive", + [CHAR_ANIM_SLOW_LEDGE_GRAB] = "daisy_slow_ledge_grab", + [CHAR_ANIM_SLOW_WALK_WITH_LIGHT_OBJ] = "daisy_slow_walk_with_light_obj", + [CHAR_ANIM_STAND_UP_FROM_LAVA_BOOST] = "daisy_stand_up_from_lava_boost", + [CHAR_ANIM_STOP_SKID] = "daisy_stop_skid", + [CHAR_ANIM_TAKE_CAP_OFF_THEN_ON] = "daisy_take_cap_off_then_on", + [CHAR_ANIM_THROW_CATCH_KEY] = "daisy_throw_catch_key", + [CHAR_ANIM_WALK_WITH_LIGHT_OBJ] = "daisy_walk_with_light_obj", + [CHAR_ANIM_BOTTOM_STUCK_IN_GROUND] = "daisy_bottom_stuck_in_ground", + -- [CHAR_ANIM_CREDITS_PEACE_SIGN] = "daisy_credits_peace_sign", + [CHAR_ANIM_FIRE_LAVA_BURN] = "daisy_fire_lava_burn", + [CHAR_ANIM_GROUND_POUND] = "daisy_ground_pound", + [CHAR_ANIM_GROUND_POUND_LANDING] = "daisy_ground_pound_landing", + [CHAR_ANIM_TRIPLE_JUMP_GROUND_POUND] = "daisy_triple_jump_ground_pound_anim", + [CHAR_ANIM_UNLOCK_DOOR] = "daisy_unlock_door", + [CHAR_ANIM_SWINGING_BOWSER] = "daisy_swinging_bowser", + [CHAR_ANIM_HOLDING_BOWSER] = "daisy_holding_bowser", + [CHAR_ANIM_GRAB_BOWSER] = "daisy_grab_bowser", + [CHAR_ANIM_BEND_KNESS_RIDING_SHELL] = "daisy_dressjump", } local PALETTE_DAISY = { @@ -151,56 +149,8 @@ local PALETTE_DAISY = { [EMBLEM] = { r = 0x00, g = 0xFF, b = 0xFF } } -CT_DAISY = _G.charSelect.character_add("Princess Daisy", "The ruler of the Sarasaland, a tomboyish princess who brings enthusiasm and energy to every adventure! Voiced by MorphiGalaxi", "Melzinoff & MorphiGalaxi", {r = 255, g = 97, b = 0}, E_MODEL_DAISY, CT_MARIO, TEX_DAISY) --- _G.charSelect.character_add_caps(E_MODEL_DAISY, capDAISY) -_G.charSelect.character_add_voice(E_MODEL_DAISY, VOICETABLE_DAISY) -_G.charSelect.character_add_palette_preset(E_MODEL_DAISY, PALETTE_DAISY) - ---- @param m MarioState -local function act_daisy_jump(m) - -- apply movement when using action - common_air_action_step(m, ACT_JUMP_LAND, CHAR_ANIM_BEND_KNESS_RIDING_SHELL, AIR_STEP_NONE) - - -- setup when action starts (vertical speed and voiceline) - if m.actionTimer == 0 then - m.vel.y = 45 - play_character_sound(m, CHAR_SOUND_HELLO) - end - - set_mario_particle_flags(m, PARTICLE_LEAF, 0) - - -- avoid issue with flying and then make the hover end after 2 secs or when stopping holding the button - if m.prevAction ~= ACT_TRIPLE_JUMP and (m.flags & MARIO_WING_CAP) ~= 0 then - if m.actionTimer >= 10 or (m.controller.buttonDown & A_BUTTON) == 0 then - set_mario_action(m, ACT_FREEFALL, 0) - end - else - if m.actionTimer >= 10 or (m.controller.buttonDown & A_BUTTON) == 0 then - set_mario_action(m, ACT_FREEFALL, 0) - end - end - - -- increment the action timer to make the hover stop - m.actionTimer = m.actionTimer + 1 -end - ---- @param m MarioState -function daisy_update(m) - -- patch in custom animations - local anim = ANIMTABLE_DAISY[m.marioObj.header.gfx.animInfo.animID] - if anim ~= nil then - smlua_anim_util_set_animation(m.marioObj, anim) - end - - if (m.input & INPUT_A_PRESSED) ~= 0 and m.vel.y < 10 and m.prevAction ~= ACT_DAISY_JUMP and ( - m.action == ACT_JUMP or - m.action == ACT_DOUBLE_JUMP or - m.action == ACT_TRIPLE_JUMP or - m.action == ACT_BACKFLIP or - m.action == ACT_SIDE_FLIP) then - set_mario_action(m, ACT_DAISY_JUMP, 0) - set_mario_particle_flags(m, PARTICLE_LEAF, 0) - end -end - -hook_mario_action(ACT_DAISY_JUMP, act_daisy_jump) \ No newline at end of file +_G.CT_DAISY = charSelect.character_add("Princess Daisy", "The ruler of the Sarasaland, a tomboyish princess who brings enthusiasm and energy to every adventure! Voiced by MorphiGalaxi", "Melzinoff & MorphiGalaxi", {r = 255, g = 97, b = 0}, E_MODEL_DAISY, CT_MARIO, TEX_DAISY) +-- charSelect.character_add_caps(E_MODEL_DAISY, capDAISY) +charSelect.character_add_voice(E_MODEL_DAISY, VOICETABLE_DAISY) +charSelect.character_add_palette_preset(E_MODEL_DAISY, PALETTE_DAISY) +character_add_animations(CT_DAISY, ANIMTABLE_DAISY) \ No newline at end of file diff --git a/mods/char-select-extra-chars/main.lua b/mods/char-select-extra-chars/main.lua index 63b14391..179200f5 100644 --- a/mods/char-select-extra-chars/main.lua +++ b/mods/char-select-extra-chars/main.lua @@ -1,32 +1,2 @@ -- name: [CS] Extra Characters --- description: [CS] Extra Characters\nBy Coop Deluxe Team\n\nThis Character Select pack adds other characters from the Mario series! - -if not _G.charSelectExists then return end - ---- @param m MarioState -local function mario_update(m) - if active_player(m) == 0 then return end - - local voiceTable = _G.charSelect.character_get_voice(m) - if voiceTable == VOICETABLE_TOADETTE or voiceTable == VOICETABLE_PEACH or voiceTable == VOICETABLE_DAISY or voiceTable == VOICETABLE_YOSHI then - _G.charSelect.voice.snore(m) - end - - if obj_has_model_extended(m.marioObj, E_MODEL_PEACH_PLAYER) ~= 0 then - peach_update(m) - elseif obj_has_model_extended(m.marioObj, E_MODEL_DAISY) ~= 0 then - daisy_update(m) - end -end - ---- @param m MarioState ---- @param sound CharacterSound -local function character_sound(m, sound) - local voiceTable = _G.charSelect.character_get_voice(m) - if voiceTable == VOICETABLE_TOADETTE or voiceTable == VOICETABLE_PEACH or voiceTable == VOICETABLE_DAISY or voiceTable == VOICETABLE_YOSHI then - return _G.charSelect.voice.sound(m, sound) - end -end - -hook_event(HOOK_MARIO_UPDATE, mario_update) -hook_event(HOOK_CHARACTER_SOUND, character_sound) \ No newline at end of file +-- description: [CS] \\#fc03df\\Ext\\#ffc342\\ra \\#00ff00\\Chara\\#d60f6f\\cters\n\\#dcdcdc\\By Coop Deluxe Team\n\n\\#dcdcdc\\This Character Select pack adds other characters from the Mario series!\n\n\\#ff6868\\Model Credits:\n\\\#dcdcdc\\FluffaMario\nAngelicMiracles "Yuyake"\nMelzinoff\nThatGurlTilly\n\n\\#00ff00\\Voice Actors:\n\\#dcdcdc\\MelissaMekrose\nSuperKirbyLover\nMorphiGalaxi\nAngelicMiracles "Yuyake"\nRihannaDeleon\n\n\\#ff6868\\Requires \\00ff00\\Character Select \\#ff6868\\enabled! \ No newline at end of file diff --git a/mods/char-select-extra-chars/peach.lua b/mods/char-select-extra-chars/peach.lua index 82ee8eae..a9d7184d 100644 --- a/mods/char-select-extra-chars/peach.lua +++ b/mods/char-select-extra-chars/peach.lua @@ -4,8 +4,6 @@ E_MODEL_PEACH_PLAYER = smlua_model_util_get_id("peach_player_geo") local TEX_PEACH = get_texture_info("peach_player_icon") -ACT_PEACH_FLOAT = allocate_mario_action(ACT_GROUP_AIRBORNE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_MOVING) - VOICETABLE_PEACH = { [CHAR_SOUND_ATTACKED] = "peach_attacked.ogg", [CHAR_SOUND_COUGHING1] = "peach_coughing1.ogg", @@ -151,61 +149,8 @@ local PALETTE_PEACH = { [EMBLEM] = { r = 0x00, g = 0x82, b = 0xFF } } -CT_PEACH = _G.charSelect.character_add("Princess Peach", "The ruler of the Mushroom Kingdom, always ready to help Mario in his adventures and save her kingdom from the evil clutches of King Bowser! Voiced by SuperKirbyLover", "Melzinoff & SuperKirbyLover", {r = 239, g = 128, b = 177}, E_MODEL_PEACH_PLAYER, CT_MARIO, TEX_PEACH) --- _G.charSelect.character_add_caps(E_MODEL_PEACH, capPEACH) -_G.charSelect.character_add_voice(E_MODEL_PEACH_PLAYER, VOICETABLE_PEACH) -_G.charSelect.character_add_palette_preset(E_MODEL_PEACH_PLAYER, PALETTE_PEACH) - ---- @param m MarioState -local function act_peach_float(m) - -- apply movement when using action - common_air_action_step(m, ACT_JUMP_LAND, CHAR_ANIM_BEND_KNESS_RIDING_SHELL, AIR_STEP_NONE) - - -- setup when action starts (horizontal speed and voiceline) - if m.actionTimer == 0 then - if m.forwardVel > 20 then - mario_set_forward_vel(m, 20) - end - play_character_sound(m, CHAR_SOUND_HELLO) - end - - -- block all y movement when using the move - m.vel.y = 0 - set_mario_particle_flags(m, PARTICLE_SPARKLES, 0) - - -- avoid issue with flying and then make the hover end after 2 secs or when stopping holding the button - if m.prevAction ~= ACT_TRIPLE_JUMP and (m.flags & MARIO_WING_CAP) ~= 0 then - if m.actionTimer >= 50 or (m.controller.buttonDown & A_BUTTON) == 0 then - set_mario_action(m, ACT_FREEFALL, 0) - end - else - if m.actionTimer >= 50 or (m.controller.buttonDown & A_BUTTON) == 0 then - set_mario_action(m, ACT_FREEFALL, 0) - end - end - - -- increment the action timer to make the hover stop - m.actionTimer = m.actionTimer + 1 -end - ---- @param m MarioState -function peach_update(m) - -- patch in custom animations - local anim = ANIMTABLE_PEACH[m.marioObj.header.gfx.animInfo.animID] - if anim ~= nil then - smlua_anim_util_set_animation(m.marioObj, anim) - end - - if (m.input & INPUT_A_DOWN) ~= 0 and m.vel.y < -15 and m.prevAction ~= ACT_PEACH_FLOAT and ( - m.action == ACT_JUMP or - m.action == ACT_DOUBLE_JUMP or - m.action == ACT_TRIPLE_JUMP or - m.action == ACT_LONG_JUMP or - m.action == ACT_BACKFLIP or - m.action == ACT_SIDE_FLIP or - m.action == ACT_WALL_KICK_AIR) then - set_mario_action(m, ACT_PEACH_FLOAT, 0) - end -end - -hook_mario_action(ACT_PEACH_FLOAT, act_peach_float) \ No newline at end of file +_G.CT_PEACH = charSelect.character_add("Princess Peach", "The ruler of the Mushroom Kingdom, always ready to help Mario in his adventures and save her kingdom from the evil clutches of King Bowser! Voiced by SuperKirbyLover", "Melzinoff & SuperKirbyLover", {r = 239, g = 128, b = 177}, E_MODEL_PEACH_PLAYER, CT_MARIO, TEX_PEACH) +-- charSelect.character_add_caps(E_MODEL_PEACH, capPEACH) +charSelect.character_add_voice(E_MODEL_PEACH_PLAYER, VOICETABLE_PEACH) +charSelect.character_add_palette_preset(E_MODEL_PEACH_PLAYER, PALETTE_PEACH) +character_add_animations(CT_PEACH, ANIMTABLE_PEACH) diff --git a/mods/char-select-extra-chars/sound/birdo_attacked.ogg b/mods/char-select-extra-chars/sound/birdo_attacked.ogg new file mode 100644 index 00000000..a57beb3e Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_attacked.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_coughing1.ogg b/mods/char-select-extra-chars/sound/birdo_coughing1.ogg new file mode 100644 index 00000000..418b47dc Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_coughing1.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_coughing2.ogg b/mods/char-select-extra-chars/sound/birdo_coughing2.ogg new file mode 100644 index 00000000..e1d8e54f Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_coughing2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_coughing3.ogg b/mods/char-select-extra-chars/sound/birdo_coughing3.ogg new file mode 100644 index 00000000..03359367 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_coughing3.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_doh.ogg b/mods/char-select-extra-chars/sound/birdo_doh.ogg new file mode 100644 index 00000000..9a08bb10 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_doh.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_drowning.ogg b/mods/char-select-extra-chars/sound/birdo_drowning.ogg new file mode 100644 index 00000000..0275fcd2 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_drowning.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_dying.ogg b/mods/char-select-extra-chars/sound/birdo_dying.ogg new file mode 100644 index 00000000..cf4a364a Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_dying.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_euuh.ogg b/mods/char-select-extra-chars/sound/birdo_euuh.ogg new file mode 100644 index 00000000..528f4f72 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_euuh.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_ground_pound_wah.ogg b/mods/char-select-extra-chars/sound/birdo_ground_pound_wah.ogg new file mode 100644 index 00000000..110aae54 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_ground_pound_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_haha.ogg b/mods/char-select-extra-chars/sound/birdo_haha.ogg new file mode 100644 index 00000000..bd3c2608 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_haha.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_haha2.ogg b/mods/char-select-extra-chars/sound/birdo_haha2.ogg new file mode 100644 index 00000000..a7500ebe Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_haha2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_hello.ogg b/mods/char-select-extra-chars/sound/birdo_hello.ogg new file mode 100644 index 00000000..cff6ae4a Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_hello.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_herewego.ogg b/mods/char-select-extra-chars/sound/birdo_herewego.ogg new file mode 100644 index 00000000..d176bddc Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_herewego.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_hoohoo.ogg b/mods/char-select-extra-chars/sound/birdo_hoohoo.ogg new file mode 100644 index 00000000..0927178a Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_hoohoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_hrmm.ogg b/mods/char-select-extra-chars/sound/birdo_hrmm.ogg new file mode 100644 index 00000000..6dc0482b Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_hrmm.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_imatired.ogg b/mods/char-select-extra-chars/sound/birdo_imatired.ogg new file mode 100644 index 00000000..53286721 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_imatired.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_letsago.ogg b/mods/char-select-extra-chars/sound/birdo_letsago.ogg new file mode 100644 index 00000000..e922ec0d Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_letsago.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_mamamia.ogg b/mods/char-select-extra-chars/sound/birdo_mamamia.ogg new file mode 100644 index 00000000..4bb6a6e6 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_mamamia.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_on_fire.ogg b/mods/char-select-extra-chars/sound/birdo_on_fire.ogg new file mode 100644 index 00000000..21bad626 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_on_fire.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_ooof.ogg b/mods/char-select-extra-chars/sound/birdo_ooof.ogg new file mode 100644 index 00000000..cdf86482 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_ooof.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_ooof2.ogg b/mods/char-select-extra-chars/sound/birdo_ooof2.ogg new file mode 100644 index 00000000..1b2a0786 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_ooof2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_panting.ogg b/mods/char-select-extra-chars/sound/birdo_panting.ogg new file mode 100644 index 00000000..fbc9a557 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_panting.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_panting_cold.ogg b/mods/char-select-extra-chars/sound/birdo_panting_cold.ogg new file mode 100644 index 00000000..1af5f657 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_panting_cold.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_punch_hoo.ogg b/mods/char-select-extra-chars/sound/birdo_punch_hoo.ogg new file mode 100644 index 00000000..0738ebaf Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_punch_hoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_pant.ogg b/mods/char-select-extra-chars/sound/birdo_punch_wah.ogg similarity index 57% rename from mods/char-select-extra-chars/sound/toadette_pant.ogg rename to mods/char-select-extra-chars/sound/birdo_punch_wah.ogg index 7b36f9d9..bbe7f5b4 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_pant.ogg and b/mods/char-select-extra-chars/sound/birdo_punch_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_punch_yah.ogg b/mods/char-select-extra-chars/sound/birdo_punch_yah.ogg new file mode 100644 index 00000000..609eb540 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_punch_yah.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_snoring1.ogg b/mods/char-select-extra-chars/sound/birdo_snoring1.ogg new file mode 100644 index 00000000..ec8c85e8 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_snoring1.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_snoring2.ogg b/mods/char-select-extra-chars/sound/birdo_snoring2.ogg new file mode 100644 index 00000000..d618d728 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_snoring2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_solonga_bowser.ogg b/mods/char-select-extra-chars/sound/birdo_solonga_bowser.ogg new file mode 100644 index 00000000..ae1d4011 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_solonga_bowser.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_twirl_bounce.ogg b/mods/char-select-extra-chars/sound/birdo_twirl_bounce.ogg new file mode 100644 index 00000000..a3ab5149 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_twirl_bounce.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_eugh.ogg b/mods/char-select-extra-chars/sound/birdo_uh.ogg similarity index 55% rename from mods/char-select-extra-chars/sound/toadette_eugh.ogg rename to mods/char-select-extra-chars/sound/birdo_uh.ogg index f98f2ce4..e1dc6dcc 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_eugh.ogg and b/mods/char-select-extra-chars/sound/birdo_uh.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_uh2.ogg b/mods/char-select-extra-chars/sound/birdo_uh2.ogg new file mode 100644 index 00000000..00d331f7 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_uh2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_uh2_2.ogg b/mods/char-select-extra-chars/sound/birdo_uh2_2.ogg new file mode 100644 index 00000000..00d331f7 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_uh2_2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_waaaooow.ogg b/mods/char-select-extra-chars/sound/birdo_waaaooow.ogg new file mode 100644 index 00000000..dc8ef2f4 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_waaaooow.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_whoa.ogg b/mods/char-select-extra-chars/sound/birdo_whoa.ogg new file mode 100644 index 00000000..983587de Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_whoa.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo1.ogg b/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo1.ogg new file mode 100644 index 00000000..87d8cf7c Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo1.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_oof.ogg b/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo2.ogg similarity index 54% rename from mods/char-select-extra-chars/sound/toadette_oof.ogg rename to mods/char-select-extra-chars/sound/birdo_yah_wah_hoo2.ogg index 85f48098..737057d7 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_oof.ogg and b/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo3.ogg b/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo3.ogg new file mode 100644 index 00000000..be442b48 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yah_wah_hoo3.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yahoo.ogg b/mods/char-select-extra-chars/sound/birdo_yahoo.ogg new file mode 100644 index 00000000..2f02fa64 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yahoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yahoo1.ogg b/mods/char-select-extra-chars/sound/birdo_yahoo1.ogg new file mode 100644 index 00000000..b7292d98 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yahoo1.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yahoo2.ogg b/mods/char-select-extra-chars/sound/birdo_yahoo2.ogg new file mode 100644 index 00000000..bf42e92a Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yahoo2.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yahoo3.ogg b/mods/char-select-extra-chars/sound/birdo_yahoo3.ogg new file mode 100644 index 00000000..5a112bcc Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yahoo3.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yahoo4.ogg b/mods/char-select-extra-chars/sound/birdo_yahoo4.ogg new file mode 100644 index 00000000..bf42e92a Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yahoo4.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yahoo5.ogg b/mods/char-select-extra-chars/sound/birdo_yahoo5.ogg new file mode 100644 index 00000000..b7292d98 Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yahoo5.ogg differ diff --git a/mods/char-select-extra-chars/sound/birdo_yawning.ogg b/mods/char-select-extra-chars/sound/birdo_yawning.ogg new file mode 100644 index 00000000..436db62f Binary files /dev/null and b/mods/char-select-extra-chars/sound/birdo_yawning.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_attacked.ogg b/mods/char-select-extra-chars/sound/toadette_attacked.ogg new file mode 100644 index 00000000..cb617b45 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_attacked.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_boing.ogg b/mods/char-select-extra-chars/sound/toadette_boing.ogg deleted file mode 100644 index 2205b343..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_boing.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_bowser.ogg b/mods/char-select-extra-chars/sound/toadette_bowser.ogg deleted file mode 100644 index 84a3a429..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_bowser.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_burning.ogg b/mods/char-select-extra-chars/sound/toadette_burning.ogg deleted file mode 100644 index 38d72d23..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_burning.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_coughing1.ogg b/mods/char-select-extra-chars/sound/toadette_coughing1.ogg new file mode 100644 index 00000000..78c41181 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_coughing1.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_coughing2.ogg b/mods/char-select-extra-chars/sound/toadette_coughing2.ogg new file mode 100644 index 00000000..323f4753 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_coughing2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_cough.ogg b/mods/char-select-extra-chars/sound/toadette_coughing3.ogg similarity index 63% rename from mods/char-select-extra-chars/sound/yoshi_cough.ogg rename to mods/char-select-extra-chars/sound/toadette_coughing3.ogg index e69244f8..90dd30bc 100644 Binary files a/mods/char-select-extra-chars/sound/yoshi_cough.ogg and b/mods/char-select-extra-chars/sound/toadette_coughing3.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_dead.ogg b/mods/char-select-extra-chars/sound/toadette_dead.ogg deleted file mode 100644 index aaab8b35..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_dead.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_doh.ogg b/mods/char-select-extra-chars/sound/toadette_doh.ogg new file mode 100644 index 00000000..e8bd769a Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_doh.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_drowning.ogg b/mods/char-select-extra-chars/sound/toadette_drowning.ogg index 0b55b162..b164104c 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_drowning.ogg and b/mods/char-select-extra-chars/sound/toadette_drowning.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_dying.ogg b/mods/char-select-extra-chars/sound/toadette_dying.ogg new file mode 100644 index 00000000..20dd3165 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_dying.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_euuh.ogg b/mods/char-select-extra-chars/sound/toadette_euuh.ogg new file mode 100644 index 00000000..262b074a Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_euuh.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_fall.ogg b/mods/char-select-extra-chars/sound/toadette_fall.ogg deleted file mode 100644 index 5c40c504..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_fall.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_ground_pound_wah.ogg b/mods/char-select-extra-chars/sound/toadette_ground_pound_wah.ogg new file mode 100644 index 00000000..7698d209 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_ground_pound_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_haahaa.ogg b/mods/char-select-extra-chars/sound/toadette_haahaa.ogg deleted file mode 100644 index 52cb3ffc..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_haahaa.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_woah.ogg b/mods/char-select-extra-chars/sound/toadette_haha.ogg similarity index 50% rename from mods/char-select-extra-chars/sound/toadette_woah.ogg rename to mods/char-select-extra-chars/sound/toadette_haha.ogg index 1782fd75..9a62dd97 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_woah.ogg and b/mods/char-select-extra-chars/sound/toadette_haha.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_haha2.ogg b/mods/char-select-extra-chars/sound/toadette_haha2.ogg new file mode 100644 index 00000000..656cf53f Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_haha2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_pickup.ogg b/mods/char-select-extra-chars/sound/toadette_hello.ogg similarity index 53% rename from mods/char-select-extra-chars/sound/toadette_pickup.ogg rename to mods/char-select-extra-chars/sound/toadette_hello.ogg index efd31837..34fb527d 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_pickup.ogg and b/mods/char-select-extra-chars/sound/toadette_hello.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_here_we_go.ogg b/mods/char-select-extra-chars/sound/toadette_here_we_go.ogg deleted file mode 100644 index e584d46a..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_here_we_go.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_herewego.ogg b/mods/char-select-extra-chars/sound/toadette_herewego.ogg new file mode 100644 index 00000000..410e6e3e Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_herewego.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_hoo.ogg b/mods/char-select-extra-chars/sound/toadette_hoo.ogg deleted file mode 100644 index aba976c7..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_hoo.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_hoohoo.ogg b/mods/char-select-extra-chars/sound/toadette_hoohoo.ogg new file mode 100644 index 00000000..03d878ec Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_hoohoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_hrmm.ogg b/mods/char-select-extra-chars/sound/toadette_hrmm.ogg new file mode 100644 index 00000000..aa6b279b Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_hrmm.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_imatired.ogg b/mods/char-select-extra-chars/sound/toadette_imatired.ogg new file mode 100644 index 00000000..f33299c5 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_imatired.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_lets_a_go.ogg b/mods/char-select-extra-chars/sound/toadette_lets_a_go.ogg deleted file mode 100644 index 287e1239..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_lets_a_go.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_letsago.ogg b/mods/char-select-extra-chars/sound/toadette_letsago.ogg new file mode 100644 index 00000000..c44f9d99 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_letsago.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_mamamia.ogg b/mods/char-select-extra-chars/sound/toadette_mamamia.ogg new file mode 100644 index 00000000..85cf31dc Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_mamamia.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_okay.ogg b/mods/char-select-extra-chars/sound/toadette_okay.ogg deleted file mode 100644 index 74eccb36..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_okay.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_on_fire.ogg b/mods/char-select-extra-chars/sound/toadette_on_fire.ogg new file mode 100644 index 00000000..5fb5e1ba Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_on_fire.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_oof2.ogg b/mods/char-select-extra-chars/sound/toadette_oof2.ogg deleted file mode 100644 index 9f158c43..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_oof2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_ooh.ogg b/mods/char-select-extra-chars/sound/toadette_ooh.ogg deleted file mode 100644 index e707fad8..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_ooh.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_ooof.ogg b/mods/char-select-extra-chars/sound/toadette_ooof.ogg new file mode 100644 index 00000000..a0a970fc Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_ooof.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_ooof2.ogg b/mods/char-select-extra-chars/sound/toadette_ooof2.ogg new file mode 100644 index 00000000..78b115c8 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_ooof2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_panting.ogg b/mods/char-select-extra-chars/sound/toadette_panting.ogg new file mode 100644 index 00000000..de7afd23 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_panting.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_panting_cold.ogg b/mods/char-select-extra-chars/sound/toadette_panting_cold.ogg new file mode 100644 index 00000000..de7afd23 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_panting_cold.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_jump.ogg b/mods/char-select-extra-chars/sound/toadette_punch_hoo.ogg similarity index 52% rename from mods/char-select-extra-chars/sound/toadette_jump.ogg rename to mods/char-select-extra-chars/sound/toadette_punch_hoo.ogg index a29cf99e..4e053034 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_jump.ogg and b/mods/char-select-extra-chars/sound/toadette_punch_hoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_punch_wah.ogg b/mods/char-select-extra-chars/sound/toadette_punch_wah.ogg new file mode 100644 index 00000000..34e2823e Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_punch_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_punch_yah.ogg b/mods/char-select-extra-chars/sound/toadette_punch_yah.ogg new file mode 100644 index 00000000..4360d71c Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_punch_yah.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_snore.ogg b/mods/char-select-extra-chars/sound/toadette_snore.ogg deleted file mode 100644 index d0b80029..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_snore.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_snore2.ogg b/mods/char-select-extra-chars/sound/toadette_snore2.ogg deleted file mode 100644 index 45c3436c..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_snore2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/toadette_snoring1.ogg b/mods/char-select-extra-chars/sound/toadette_snoring1.ogg new file mode 100644 index 00000000..02620f5a Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_snoring1.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_snoring2.ogg b/mods/char-select-extra-chars/sound/toadette_snoring2.ogg new file mode 100644 index 00000000..88cb1b9c Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_snoring2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_snoring3.ogg b/mods/char-select-extra-chars/sound/toadette_snoring3.ogg new file mode 100644 index 00000000..b8a7f36b Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_snoring3.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_solonga_bowser.ogg b/mods/char-select-extra-chars/sound/toadette_solonga_bowser.ogg new file mode 100644 index 00000000..e2612eff Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_solonga_bowser.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_twirl_bounce.ogg b/mods/char-select-extra-chars/sound/toadette_twirl_bounce.ogg new file mode 100644 index 00000000..f486b593 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_twirl_bounce.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_uh.ogg b/mods/char-select-extra-chars/sound/toadette_uh.ogg new file mode 100644 index 00000000..f1a4957c Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_uh.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_uh2.ogg b/mods/char-select-extra-chars/sound/toadette_uh2.ogg new file mode 100644 index 00000000..68b00a59 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_uh2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_uh2_2.ogg b/mods/char-select-extra-chars/sound/toadette_uh2_2.ogg new file mode 100644 index 00000000..81f1e0b5 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_uh2_2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_waaaooow.ogg b/mods/char-select-extra-chars/sound/toadette_waaaooow.ogg new file mode 100644 index 00000000..c8f411db Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_waaaooow.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_wah.ogg b/mods/char-select-extra-chars/sound/toadette_wah.ogg index 13e0ed1b..731c2159 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_wah.ogg and b/mods/char-select-extra-chars/sound/toadette_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_whoa.ogg b/mods/char-select-extra-chars/sound/toadette_whoa.ogg new file mode 100644 index 00000000..5d9ddcfe Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_whoa.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yah.ogg b/mods/char-select-extra-chars/sound/toadette_yah.ogg index d374d598..d3ee9709 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_yah.ogg and b/mods/char-select-extra-chars/sound/toadette_yah.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo1.ogg b/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo1.ogg new file mode 100644 index 00000000..c5f46330 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo1.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo2.ogg b/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo2.ogg new file mode 100644 index 00000000..4df096fd Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo3.ogg b/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo3.ogg new file mode 100644 index 00000000..d3ee9709 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yah_wah_hoo3.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yahoo.ogg b/mods/char-select-extra-chars/sound/toadette_yahoo.ogg index a62c8c0f..610432e9 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_yahoo.ogg and b/mods/char-select-extra-chars/sound/toadette_yahoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yahoo1.ogg b/mods/char-select-extra-chars/sound/toadette_yahoo1.ogg new file mode 100644 index 00000000..610432e9 Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yahoo1.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yahoo2.ogg b/mods/char-select-extra-chars/sound/toadette_yahoo2.ogg new file mode 100644 index 00000000..8b53623d Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yahoo2.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yahoo3.ogg b/mods/char-select-extra-chars/sound/toadette_yahoo3.ogg new file mode 100644 index 00000000..bb808b6b Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yahoo3.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yahoo4.ogg b/mods/char-select-extra-chars/sound/toadette_yahoo4.ogg new file mode 100644 index 00000000..8b53623d Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yahoo4.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yahoo5.ogg b/mods/char-select-extra-chars/sound/toadette_yahoo5.ogg new file mode 100644 index 00000000..bb808b6b Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yahoo5.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yawning.ogg b/mods/char-select-extra-chars/sound/toadette_yawning.ogg new file mode 100644 index 00000000..38424f7b Binary files /dev/null and b/mods/char-select-extra-chars/sound/toadette_yawning.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_yippee.ogg b/mods/char-select-extra-chars/sound/toadette_yippee.ogg deleted file mode 100644 index f3ff616e..00000000 Binary files a/mods/char-select-extra-chars/sound/toadette_yippee.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_DoubleJumpTake1.ogg b/mods/char-select-extra-chars/sound/yoshi_DoubleJumpTake1.ogg deleted file mode 100644 index 35adda37..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_DoubleJumpTake1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Falling_Asleep_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Falling_Asleep_Take_1.ogg deleted file mode 100644 index 2a372947..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Falling_Asleep_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Falling_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Falling_Take_1.ogg deleted file mode 100644 index 71a98cdd..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Falling_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Falling_Take_2.ogg b/mods/char-select-extra-chars/sound/yoshi_Falling_Take_2.ogg deleted file mode 100644 index d12559b3..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Falling_Take_2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Hoo_Take_2.ogg b/mods/char-select-extra-chars/sound/yoshi_Hoo_Take_2.ogg deleted file mode 100644 index 687ebe65..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Hoo_Take_2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Hurt_Take_2-2.ogg b/mods/char-select-extra-chars/sound/yoshi_Hurt_Take_2-2.ogg deleted file mode 100644 index d2a9f324..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Hurt_Take_2-2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Hurt_Take_2.ogg b/mods/char-select-extra-chars/sound/yoshi_Hurt_Take_2.ogg deleted file mode 100644 index 4719106b..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Hurt_Take_2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Jump3_Take1.ogg b/mods/char-select-extra-chars/sound/yoshi_Jump3_Take1.ogg deleted file mode 100644 index 371a64d5..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Jump3_Take1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Jump_Take1.ogg b/mods/char-select-extra-chars/sound/yoshi_Jump_Take1.ogg deleted file mode 100644 index d0708c08..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Jump_Take1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Ledge_Gra.ogg b/mods/char-select-extra-chars/sound/yoshi_Ledge_Gra.ogg deleted file mode 100644 index 5a631592..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Ledge_Gra.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Long_Jump_Take_3.ogg b/mods/char-select-extra-chars/sound/yoshi_Long_Jump_Take_3.ogg deleted file mode 100644 index 47a60b65..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Long_Jump_Take_3.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Sleep_Talking_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Sleep_Talking_Take_1.ogg deleted file mode 100644 index ff446fd7..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Sleep_Talking_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Sleeping_Laying_down_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Sleeping_Laying_down_Take_1.ogg deleted file mode 100644 index dc43e694..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Sleeping_Laying_down_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Sleeping_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Sleeping_Take_1.ogg deleted file mode 100644 index 5a135348..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Sleeping_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_So_long_Bowser_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_So_long_Bowser_Take_1.ogg deleted file mode 100644 index 4a2f7895..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_So_long_Bowser_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Stand_after_Ledge_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Stand_after_Ledge_Take_1.ogg deleted file mode 100644 index db492424..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Stand_after_Ledge_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Stand_after_Triple_Jump_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Stand_after_Triple_Jump_Take_1.ogg deleted file mode 100644 index 7f476a79..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Stand_after_Triple_Jump_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Wa_Take_1.ogg b/mods/char-select-extra-chars/sound/yoshi_Wa_Take_1.ogg deleted file mode 100644 index 68e531f8..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Wa_Take_1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_Ya_Take_2.ogg b/mods/char-select-extra-chars/sound/yoshi_Ya_Take_2.ogg deleted file mode 100644 index 8a6b2c91..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_Ya_Take_2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_attacked.ogg b/mods/char-select-extra-chars/sound/yoshi_attacked.ogg new file mode 100644 index 00000000..19b5ec65 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_attacked.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_coughing1.ogg b/mods/char-select-extra-chars/sound/yoshi_coughing1.ogg new file mode 100644 index 00000000..f6a3487b Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_coughing1.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_coughing2.ogg b/mods/char-select-extra-chars/sound/yoshi_coughing2.ogg new file mode 100644 index 00000000..d2b21d9c Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_coughing2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_coughing3.ogg b/mods/char-select-extra-chars/sound/yoshi_coughing3.ogg new file mode 100644 index 00000000..18775a91 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_coughing3.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_doh.ogg b/mods/char-select-extra-chars/sound/yoshi_doh.ogg new file mode 100644 index 00000000..ab71d1db Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_doh.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_drowning.ogg b/mods/char-select-extra-chars/sound/yoshi_drowning.ogg new file mode 100644 index 00000000..fd285c53 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_drowning.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_dying.ogg b/mods/char-select-extra-chars/sound/yoshi_dying.ogg new file mode 100644 index 00000000..f3e9a1be Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_dying.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_eeuh.ogg b/mods/char-select-extra-chars/sound/yoshi_eeuh.ogg deleted file mode 100644 index eae34075..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_eeuh.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_euuh.ogg b/mods/char-select-extra-chars/sound/yoshi_euuh.ogg new file mode 100644 index 00000000..b4cf06c1 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_euuh.ogg differ diff --git a/mods/char-select-extra-chars/sound/toadette_hurt_hard.ogg b/mods/char-select-extra-chars/sound/yoshi_ground_pound_wah.ogg similarity index 51% rename from mods/char-select-extra-chars/sound/toadette_hurt_hard.ogg rename to mods/char-select-extra-chars/sound/yoshi_ground_pound_wah.ogg index 5a33d113..32c2318f 100644 Binary files a/mods/char-select-extra-chars/sound/toadette_hurt_hard.ogg and b/mods/char-select-extra-chars/sound/yoshi_ground_pound_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_haha.ogg b/mods/char-select-extra-chars/sound/yoshi_haha.ogg new file mode 100644 index 00000000..d1d21f6f Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_haha.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_haha2.ogg b/mods/char-select-extra-chars/sound/yoshi_haha2.ogg new file mode 100644 index 00000000..27374641 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_haha2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_hello.ogg b/mods/char-select-extra-chars/sound/yoshi_hello.ogg index b4e8ea27..e169361c 100644 Binary files a/mods/char-select-extra-chars/sound/yoshi_hello.ogg and b/mods/char-select-extra-chars/sound/yoshi_hello.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_herewego.ogg b/mods/char-select-extra-chars/sound/yoshi_herewego.ogg new file mode 100644 index 00000000..7ae30de0 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_herewego.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_hoohoo.ogg b/mods/char-select-extra-chars/sound/yoshi_hoohoo.ogg new file mode 100644 index 00000000..66c7e67a Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_hoohoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_hrmm.ogg b/mods/char-select-extra-chars/sound/yoshi_hrmm.ogg index 95fab6f7..aeb7ac27 100644 Binary files a/mods/char-select-extra-chars/sound/yoshi_hrmm.ogg and b/mods/char-select-extra-chars/sound/yoshi_hrmm.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_imatired.ogg b/mods/char-select-extra-chars/sound/yoshi_imatired.ogg new file mode 100644 index 00000000..37f635e4 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_imatired.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_lets_a_go.ogg b/mods/char-select-extra-chars/sound/yoshi_lets_a_go.ogg deleted file mode 100644 index d19fe284..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_lets_a_go.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_letsago.ogg b/mods/char-select-extra-chars/sound/yoshi_letsago.ogg new file mode 100644 index 00000000..29ea2bbd Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_letsago.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_mama_mia.ogg b/mods/char-select-extra-chars/sound/yoshi_mama_mia.ogg deleted file mode 100644 index 79e2b413..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_mama_mia.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_mamamia.ogg b/mods/char-select-extra-chars/sound/yoshi_mamamia.ogg new file mode 100644 index 00000000..e13c288c Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_mamamia.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_on_fire.ogg b/mods/char-select-extra-chars/sound/yoshi_on_fire.ogg index e9cd7bad..5133ea84 100644 Binary files a/mods/char-select-extra-chars/sound/yoshi_on_fire.ogg and b/mods/char-select-extra-chars/sound/yoshi_on_fire.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_oof.ogg b/mods/char-select-extra-chars/sound/yoshi_oof.ogg deleted file mode 100644 index 0de42386..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_oof.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_oof2.ogg b/mods/char-select-extra-chars/sound/yoshi_oof2.ogg deleted file mode 100644 index 68245ffa..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_oof2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_ooof.ogg b/mods/char-select-extra-chars/sound/yoshi_ooof.ogg new file mode 100644 index 00000000..ffe03b68 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_ooof.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_ooof2.ogg b/mods/char-select-extra-chars/sound/yoshi_ooof2.ogg new file mode 100644 index 00000000..b4162abc Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_ooof2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_pant.ogg b/mods/char-select-extra-chars/sound/yoshi_pant.ogg deleted file mode 100644 index 5237ce0c..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_pant.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_panting.ogg b/mods/char-select-extra-chars/sound/yoshi_panting.ogg new file mode 100644 index 00000000..4699f964 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_panting.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_panting_cold.ogg b/mods/char-select-extra-chars/sound/yoshi_panting_cold.ogg new file mode 100644 index 00000000..7af1bc7b Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_panting_cold.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_punch_hoo.ogg b/mods/char-select-extra-chars/sound/yoshi_punch_hoo.ogg new file mode 100644 index 00000000..655318a4 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_punch_hoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_punch_wah.ogg b/mods/char-select-extra-chars/sound/yoshi_punch_wah.ogg new file mode 100644 index 00000000..35f05b18 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_punch_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_punch_yah.ogg b/mods/char-select-extra-chars/sound/yoshi_punch_yah.ogg new file mode 100644 index 00000000..09f147c4 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_punch_yah.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_snore1.ogg b/mods/char-select-extra-chars/sound/yoshi_snore1.ogg deleted file mode 100644 index 1d678dcd..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_snore1.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_snore2.ogg b/mods/char-select-extra-chars/sound/yoshi_snore2.ogg deleted file mode 100644 index ad690fc9..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_snore2.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_snore3.ogg b/mods/char-select-extra-chars/sound/yoshi_snore3.ogg deleted file mode 100644 index bcfeb9ed..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_snore3.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_snoring1.ogg b/mods/char-select-extra-chars/sound/yoshi_snoring1.ogg new file mode 100644 index 00000000..93bd0567 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_snoring1.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_snoring2.ogg b/mods/char-select-extra-chars/sound/yoshi_snoring2.ogg new file mode 100644 index 00000000..57db0a2d Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_snoring2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_snoring3.ogg b/mods/char-select-extra-chars/sound/yoshi_snoring3.ogg new file mode 100644 index 00000000..12d89511 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_snoring3.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_solonga_bowser.ogg b/mods/char-select-extra-chars/sound/yoshi_solonga_bowser.ogg new file mode 100644 index 00000000..2c697951 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_solonga_bowser.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_tired.ogg b/mods/char-select-extra-chars/sound/yoshi_tired.ogg deleted file mode 100644 index ce12d2e8..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_tired.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_twirl_bounce.ogg b/mods/char-select-extra-chars/sound/yoshi_twirl_bounce.ogg new file mode 100644 index 00000000..b4b9b5c3 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_twirl_bounce.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_uh.ogg b/mods/char-select-extra-chars/sound/yoshi_uh.ogg new file mode 100644 index 00000000..c9e1772e Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_uh.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_uh2.ogg b/mods/char-select-extra-chars/sound/yoshi_uh2.ogg new file mode 100644 index 00000000..f5d13562 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_uh2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_uh2_2.ogg b/mods/char-select-extra-chars/sound/yoshi_uh2_2.ogg new file mode 100644 index 00000000..6ee7f592 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_uh2_2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_underwater_suffocation.ogg b/mods/char-select-extra-chars/sound/yoshi_underwater_suffocation.ogg deleted file mode 100644 index ea4fe2ec..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_underwater_suffocation.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_waaaooow.ogg b/mods/char-select-extra-chars/sound/yoshi_waaaooow.ogg new file mode 100644 index 00000000..29f6b57b Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_waaaooow.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_wah.ogg b/mods/char-select-extra-chars/sound/yoshi_wah.ogg new file mode 100644 index 00000000..e6ea801b Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_wah.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_whoa.ogg b/mods/char-select-extra-chars/sound/yoshi_whoa.ogg new file mode 100644 index 00000000..c3073131 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_whoa.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo1.ogg b/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo1.ogg new file mode 100644 index 00000000..1aa31fdd Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo1.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo2.ogg b/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo2.ogg new file mode 100644 index 00000000..e9cffb3d Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo3.ogg b/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo3.ogg new file mode 100644 index 00000000..72c1436f Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yah_wah_hoo3.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yahoo.ogg b/mods/char-select-extra-chars/sound/yoshi_yahoo.ogg new file mode 100644 index 00000000..a190d094 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yahoo.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yahoo1.ogg b/mods/char-select-extra-chars/sound/yoshi_yahoo1.ogg new file mode 100644 index 00000000..a3ab1ef9 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yahoo1.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yahoo2.ogg b/mods/char-select-extra-chars/sound/yoshi_yahoo2.ogg new file mode 100644 index 00000000..c2d94caa Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yahoo2.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yahoo3.ogg b/mods/char-select-extra-chars/sound/yoshi_yahoo3.ogg new file mode 100644 index 00000000..6814d291 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yahoo3.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yahoo4.ogg b/mods/char-select-extra-chars/sound/yoshi_yahoo4.ogg new file mode 100644 index 00000000..529c4a91 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yahoo4.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yahoo5.ogg b/mods/char-select-extra-chars/sound/yoshi_yahoo5.ogg new file mode 100644 index 00000000..88d7f852 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yahoo5.ogg differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yawn.ogg b/mods/char-select-extra-chars/sound/yoshi_yawn.ogg deleted file mode 100644 index 4f0d6ba9..00000000 Binary files a/mods/char-select-extra-chars/sound/yoshi_yawn.ogg and /dev/null differ diff --git a/mods/char-select-extra-chars/sound/yoshi_yawning.ogg b/mods/char-select-extra-chars/sound/yoshi_yawning.ogg new file mode 100644 index 00000000..edfbd413 Binary files /dev/null and b/mods/char-select-extra-chars/sound/yoshi_yawning.ogg differ diff --git a/mods/char-select-extra-chars/textures/birdo-icon.tex b/mods/char-select-extra-chars/textures/birdo-icon.tex new file mode 100644 index 00000000..e05a5cd4 Binary files /dev/null and b/mods/char-select-extra-chars/textures/birdo-icon.tex differ diff --git a/mods/char-select-extra-chars/toadette.lua b/mods/char-select-extra-chars/toadette.lua index a7f6bdea..8011dba5 100644 --- a/mods/char-select-extra-chars/toadette.lua +++ b/mods/char-select-extra-chars/toadette.lua @@ -5,38 +5,47 @@ local E_MODEL_TOADETTE = smlua_model_util_get_id("toadette_geo") local TEX_TOADETTE = get_texture_info("toadette_icon") VOICETABLE_TOADETTE = { - [CHAR_SOUND_ATTACKED] = "toadette_hurt_hard.ogg", - [CHAR_SOUND_GROUND_POUND_WAH] = "toadette_yah.ogg", - [CHAR_SOUND_HAHA] = "toadette_haahaa.ogg", - [CHAR_SOUND_HAHA_2] = "toadette_haahaa.ogg", - [CHAR_SOUND_HERE_WE_GO] = "toadette_here_we_go.ogg", - [CHAR_SOUND_HOOHOO] = "toadette_hoo.ogg", - [CHAR_SOUND_ON_FIRE] = "toadette_burning.ogg", - [CHAR_SOUND_OOOF] = "toadette_oof.ogg", - [CHAR_SOUND_OOOF2] = "toadette_oof2.ogg", - [CHAR_SOUND_PUNCH_HOO] = "toadette_hoo.ogg", - [CHAR_SOUND_PUNCH_WAH] = "toadette_wah.ogg", - [CHAR_SOUND_PUNCH_YAH] = "toadette_yah.ogg", - [CHAR_SOUND_SO_LONGA_BOWSER] = "toadette_bowser.ogg", - [CHAR_SOUND_TWIRL_BOUNCE] = "toadette_boing.ogg", - [CHAR_SOUND_WAAAOOOW] = "toadette_fall.ogg", - [CHAR_SOUND_WAH2] = "toadette_wah.ogg", - [CHAR_SOUND_WHOA] = "toadette_woah.ogg", - [CHAR_SOUND_YAHOO] = "toadette_yahoo.ogg", - [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = {"toadette_yahoo.ogg", "toadette_yippee.ogg"}, - [CHAR_SOUND_YAH_WAH_HOO] = {"toadette_yah.ogg", "toadette_wah.ogg", "toadette_hoo.ogg"}, - [CHAR_SOUND_OKEY_DOKEY] = "toadette_okay.ogg", - [CHAR_SOUND_LETS_A_GO] = "toadette_okay.ogg", - [CHAR_SOUND_DYING] = "toadette_dead.ogg", + [CHAR_SOUND_ATTACKED] = "toadette_attacked.ogg", + [CHAR_SOUND_COUGHING1] = "toadette_coughing1.ogg", + [CHAR_SOUND_COUGHING2] = "toadette_coughing2.ogg", + [CHAR_SOUND_COUGHING3] = "toadette_coughing3.ogg", + [CHAR_SOUND_DOH] = "toadette_doh.ogg", [CHAR_SOUND_DROWNING] = "toadette_drowning.ogg", - [CHAR_SOUND_EEUH] = "toadette_pickup.ogg", - [CHAR_SOUND_MAMA_MIA] = "toadette_ooh.ogg", - [CHAR_SOUND_DOH] = "toadette_oof.ogg", - [CHAR_SOUND_HRMM] = "toadette_pickup.ogg", - [CHAR_SOUND_PANTING] = "toadette_pant.ogg", - [CHAR_SOUND_UH] = "toadette_oof2.ogg", - [CHAR_SOUND_UH2] = "toadette_oof2.ogg", - [CHAR_SOUND_UH2_2] = "toadette_oof2.ogg" + [CHAR_SOUND_DYING] = "toadette_dying.ogg", + [CHAR_SOUND_EEUH] = "toadette_euuh.ogg", + [CHAR_SOUND_GROUND_POUND_WAH] = "toadette_ground_pound_wah.ogg", + [CHAR_SOUND_HAHA] = "toadette_haha.ogg", + [CHAR_SOUND_HAHA_2] = "toadette_haha2.ogg", + [CHAR_SOUND_HERE_WE_GO] = "toadette_herewego.ogg", + [CHAR_SOUND_HOOHOO] = "toadette_hoohoo.ogg", + [CHAR_SOUND_HRMM] = "toadette_hrmm.ogg", + [CHAR_SOUND_IMA_TIRED] = "toadette_imatired.ogg", + [CHAR_SOUND_MAMA_MIA] = "toadette_mamamia.ogg", + [CHAR_SOUND_LETS_A_GO] = "toadette_letsago.ogg", + [CHAR_SOUND_ON_FIRE] = "toadette_on_fire.ogg", + [CHAR_SOUND_OOOF] = "toadette_ooof.ogg", + [CHAR_SOUND_OOOF2] = "toadette_ooof2.ogg", + [CHAR_SOUND_PANTING] = "toadette_panting.ogg", + [CHAR_SOUND_PANTING_COLD] = "toadette_panting_cold.ogg", + [CHAR_SOUND_PUNCH_HOO] = "toadette_punch_hoo.ogg", + [CHAR_SOUND_PUNCH_WAH] = "toadette_punch_wah.ogg", + [CHAR_SOUND_PUNCH_YAH] = "toadette_punch_yah.ogg", + [CHAR_SOUND_SO_LONGA_BOWSER] = "toadette_solonga_bowser.ogg", + [CHAR_SOUND_SNORING1] = "toadette_snoring1.ogg", + [CHAR_SOUND_SNORING2] = "toadette_snoring2.ogg", + [CHAR_SOUND_SNORING3] = {"toadette_snoring2.ogg", "toadette_snoring1.ogg", "toadette_snoring3.ogg"}, + [CHAR_SOUND_TWIRL_BOUNCE] = "toadette_twirl_bounce.ogg", + [CHAR_SOUND_UH] = "toadette_uh.ogg", + [CHAR_SOUND_UH2] = "toadette_uh2.ogg", + [CHAR_SOUND_UH2_2] = "toadette_uh2_2.ogg", + [CHAR_SOUND_WAAAOOOW] = "toadette_waaaooow.ogg", + [CHAR_SOUND_WAH2] = "toadette_ground_pound_wah.ogg", + [CHAR_SOUND_WHOA] = "toadette_whoa.ogg", + [CHAR_SOUND_YAHOO] = "toadette_yahoo.ogg", + [CHAR_SOUND_YAWNING] = "toadette_yawning.ogg", + [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = { "toadette_yahoo.ogg", "toadette_yahoo1.ogg", "toadette_yahoo2.ogg", "toadette_yahoo3.ogg", "toadette_yahoo4.ogg", "toadette_yahoo5.ogg" }, + [CHAR_SOUND_YAH_WAH_HOO] = { "toadette_yah_wah_hoo1.ogg", "toadette_yah_wah_hoo2.ogg", "toadette_yah_wah_hoo3.ogg"}, + [CHAR_SOUND_HELLO] = "toadette_hello.ogg" } --MAKING VOICE CLIPS FOR ATM. USE PLACEHOLDER VOICE CLIPS! @@ -63,6 +72,6 @@ local PALETTE_TOADETTE = { [EMBLEM] = { r = 0xF3, g = 0x00, b = 0x80 } } -CT_TOADETTE = _G.charSelect.character_add("Toadette", {"A female toad who debutted in", "2003 as a partner for Toad in", "Mario Kart: Double Dash!"}, "FluffaMario & AngelicMiracles", { r = 255, g = 70, b = 161 }, E_MODEL_TOADETTE, CT_TOAD, TEX_TOADETTE) +_G.CT_TOADETTE = _G.charSelect.character_add("Toadette", {"A very bubbly female toad", "who has a hobby of construction!", "Although she hates the union.", "Wonder why?", "", "Voiced by: Melissa Mekrose."}, "FluffaMario & AngelicMiracles", { r = 255, g = 70, b = 161 }, E_MODEL_TOADETTE, CT_TOAD, TEX_TOADETTE) _G.charSelect.character_add_voice(E_MODEL_TOADETTE, VOICETABLE_TOADETTE) _G.charSelect.character_add_palette_preset(E_MODEL_TOADETTE, PALETTE_TOADETTE) \ No newline at end of file diff --git a/mods/char-select-extra-chars/yoshi.lua b/mods/char-select-extra-chars/yoshi.lua index 7ef1768d..d3b0231b 100644 --- a/mods/char-select-extra-chars/yoshi.lua +++ b/mods/char-select-extra-chars/yoshi.lua @@ -5,58 +5,46 @@ local E_MODEL_YOSHI_PLAYER = smlua_model_util_get_id("yoshi_player_geo") local TEX_YOSHI = get_texture_info("yoshi-icon") VOICETABLE_YOSHI = { - [CHAR_SOUND_ATTACKED] = "yoshi_Hurt_Take_2.ogg", - [CHAR_SOUND_DOH] = "yoshi_Hurt_Take_2.ogg", - [CHAR_SOUND_DYING] = "yoshi_Falling_Take_1.ogg", - [CHAR_SOUND_GROUND_POUND_WAH] = "yoshi_Wa_Take_1.ogg", - [CHAR_SOUND_HAHA] = "yoshi_Long_Jump_Take_3.ogg", - [CHAR_SOUND_HAHA_2] = "yoshi_Long_Jump_Take_3.ogg", - [CHAR_SOUND_HELLO] = "yoshi_Stand_after_Triple_Jump_Take_1.ogg", - [CHAR_SOUND_HERE_WE_GO] = "yoshi_Stand_after_Triple_Jump_Take_1.ogg", - [CHAR_SOUND_HOOHOO] = "yoshi_DoubleJumpTake1.ogg", - [CHAR_SOUND_IMA_TIRED] = "yoshi_Sleeping_Take_1.ogg", - [CHAR_SOUND_LETS_A_GO] = "yoshi_Long_Jump_Take_3.ogg", - [CHAR_SOUND_OKEY_DOKEY] = "yoshi_Stand_after_Triple_Jump_Take_1.ogg", - [CHAR_SOUND_ON_FIRE] = "yoshi_Falling_Take_1.ogg", - [CHAR_SOUND_PANTING] = "yoshi_Sleeping_Laying_down_Take_1.ogg", - [CHAR_SOUND_PANTING_COLD] = "yoshi_Sleeping_Take_1.ogg", - [CHAR_SOUND_PRESS_START_TO_PLAY] = "yoshi_Stand_after_Triple_Jump_Take_1.ogg", - [CHAR_SOUND_PUNCH_HOO] = "yoshi_Hoo_Take_2.ogg", - [CHAR_SOUND_PUNCH_WAH] = "yoshi_Wa_Take_1.ogg", - [CHAR_SOUND_PUNCH_YAH] = "yoshi_DoubleJumpTake1.ogg", - [CHAR_SOUND_SNORING1] = "yoshi_Sleeping_Take_1.ogg", - [CHAR_SOUND_SNORING2] = "yoshi_Sleeping_Laying_down_Take_1.ogg", - [CHAR_SOUND_SNORING3] = {"yoshi_Sleeping_Take_1.ogg", "yoshi_Sleeping_Laying_down_Take_1.ogg", "yoshi_Sleep_Talking_Take_1.ogg"}, - [CHAR_SOUND_SO_LONGA_BOWSER] = "yoshi_So_long_Bowser_Take_1.ogg", - [CHAR_SOUND_TWIRL_BOUNCE] = "yoshi_Stand_after_Triple_Jump_Take_1.ogg", - [CHAR_SOUND_UH] = "yoshi_Hurt_Take_2.ogg", - [CHAR_SOUND_UH2] = "yoshi_Hoo_Take_2.ogg", - [CHAR_SOUND_UH2_2] = "yoshi_Hurt_Take_2.ogg", - [CHAR_SOUND_WAAAOOOW] = "yoshi_Falling_Take_2.ogg", - [CHAR_SOUND_WAH2] = "yoshi_Wa_Take_1.ogg", - [CHAR_SOUND_WHOA] = "yoshi_Ledge_Gra.ogg", - [CHAR_SOUND_YAHOO] = "yoshi_Stand_after_Triple_Jump_Take_1.ogg", - [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = {"yoshi_Stand_after_Triple_Jump_Take_1.ogg", "yoshi_Stand_after_Triple_Jump_Take_1.ogg", "yoshi_Jump3_Take1.ogg", "yoshi_Stand_after_Triple_Jump_Take_1.ogg"}, - [CHAR_SOUND_YAH_WAH_HOO] = {"yoshi_Jump_Take1.ogg", "yoshi_Wa_Take_1.ogg", "yoshi_Ya_Take_2.ogg", "yoshi_Jump3_Take1.ogg"}, - [CHAR_SOUND_YAWNING] = "yoshi_Falling_Asleep_Take_1.ogg", - [CHAR_SOUND_COUGHING1] = "yoshi_cough.ogg", - [CHAR_SOUND_COUGHING2] = "yoshi_cough.ogg", - [CHAR_SOUND_COUGHING3] = "yoshi_cough.ogg", - [CHAR_SOUND_DROWNING] = "yoshi_underwater_suffocation.ogg", - [CHAR_SOUND_EEUH] = "yoshi_eeuh.ogg", + [CHAR_SOUND_ATTACKED] = "yoshi_attacked.ogg", + [CHAR_SOUND_COUGHING1] = "yoshi_coughing1.ogg", + [CHAR_SOUND_COUGHING2] = "yoshi_coughing2.ogg", + [CHAR_SOUND_COUGHING3] = "yoshi_coughing3.ogg", + [CHAR_SOUND_DOH] = "yoshi_doh.ogg", + [CHAR_SOUND_DROWNING] = "yoshi_drowning.ogg", + [CHAR_SOUND_DYING] = "yoshi_dying.ogg", + [CHAR_SOUND_EEUH] = "yoshi_euuh.ogg", + [CHAR_SOUND_GROUND_POUND_WAH] = "yoshi_ground_pound_wah.ogg", + [CHAR_SOUND_HAHA] = "yoshi_haha.ogg", + [CHAR_SOUND_HAHA_2] = "yoshi_haha2.ogg", + [CHAR_SOUND_HERE_WE_GO] = "yoshi_herewego.ogg", + [CHAR_SOUND_HOOHOO] = "yoshi_hoohoo.ogg", [CHAR_SOUND_HRMM] = "yoshi_hrmm.ogg", - [CHAR_SOUND_IMA_TIRED] = "yoshi_tired.ogg", - [CHAR_SOUND_MAMA_MIA] = "yoshi_mama_mia.ogg", - [CHAR_SOUND_LETS_A_GO] = "yoshi_lets_a_go.ogg", + [CHAR_SOUND_IMA_TIRED] = "yoshi_imatired.ogg", + [CHAR_SOUND_MAMA_MIA] = "yoshi_mamamia.ogg", + [CHAR_SOUND_LETS_A_GO] = "yoshi_letsago.ogg", [CHAR_SOUND_ON_FIRE] = "yoshi_on_fire.ogg", - [CHAR_SOUND_OOOF] = "yoshi_oof.ogg", - [CHAR_SOUND_OOOF2] = "yoshi_oof2.ogg", - [CHAR_SOUND_PANTING] = "yoshi_pant.ogg", - [CHAR_SOUND_PANTING_COLD] = "yoshi_pant.ogg", - [CHAR_SOUND_SNORING1] = "yoshi_snore1.ogg", - [CHAR_SOUND_SNORING2] = "yoshi_snore2.ogg", - [CHAR_SOUND_SNORING3] = {"yoshi_snore1.ogg", "yoshi_snore2.ogg", "yoshi_snore3.ogg"}, - [CHAR_SOUND_YAWNING] = "yoshi_yawn.ogg", + [CHAR_SOUND_OOOF] = "yoshi_ooof.ogg", + [CHAR_SOUND_OOOF2] = "yoshi_ooof2.ogg", + [CHAR_SOUND_PANTING] = "yoshi_panting.ogg", + [CHAR_SOUND_PANTING_COLD] = "yoshi_panting_cold.ogg", + [CHAR_SOUND_PUNCH_HOO] = "yoshi_punch_hoo.ogg", + [CHAR_SOUND_PUNCH_WAH] = "yoshi_punch_wah.ogg", + [CHAR_SOUND_PUNCH_YAH] = "yoshi_punch_yah.ogg", + [CHAR_SOUND_SO_LONGA_BOWSER] = "yoshi_solonga_bowser.ogg", + [CHAR_SOUND_SNORING1] = "yoshi_snoring1.ogg", + [CHAR_SOUND_SNORING2] = "yoshi_snoring2.ogg", + [CHAR_SOUND_SNORING3] = { "yoshi_snoring2.ogg", "yoshi_snoring1.ogg", "yoshi_snoring3.ogg" }, + [CHAR_SOUND_TWIRL_BOUNCE] = "yoshi_twirl_bounce.ogg", + [CHAR_SOUND_UH] = "yoshi_uh.ogg", + [CHAR_SOUND_UH2] = "yoshi_uh2.ogg", + [CHAR_SOUND_UH2_2] = "yoshi_uh2_2.ogg", + [CHAR_SOUND_WAAAOOOW] = "yoshi_waaaooow.ogg", + [CHAR_SOUND_WAH2] = "yoshi_wah.ogg", + [CHAR_SOUND_WHOA] = "yoshi_whoa.ogg", + [CHAR_SOUND_YAHOO] = "yoshi_yahoo.ogg", + [CHAR_SOUND_YAWNING] = "yoshi_yawning.ogg", + [CHAR_SOUND_YAHOO_WAHA_YIPPEE] = { "yoshi_yahoo.ogg", "yoshi_yahoo1.ogg", "yoshi_yahoo2.ogg", "yoshi_yahoo3.ogg", "yoshi_yahoo4.ogg", "yoshi_yahoo5.ogg" }, + [CHAR_SOUND_YAH_WAH_HOO] = { "yoshi_yah_wah_hoo1.ogg", "yoshi_yah_wah_hoo2.ogg", "yoshi_yah_wah_hoo3.ogg" }, [CHAR_SOUND_HELLO] = "yoshi_hello.ogg" } @@ -71,6 +59,6 @@ local PALETTE_YOSHI = { [EMBLEM] = { r = 0xFF, g = 0x00, b = 0x00 } } -CT_YOSHI = _G.charSelect.character_add("Yoshi", {"A dinosuar and one of", "Mario's biggest pals!"}, "FluffaMario & AngelicMiracles", { r = 0, g = 255, b = 0 }, E_MODEL_YOSHI_PLAYER, CT_MARIO, TEX_YOSHI) +_G.CT_YOSHI = _G.charSelect.character_add("Yoshi", {"A friendly dinosuar originating from", "Dinosuar Land where he reunited with Mario!", "These cute little guys come in different colors!", "Best not to be near when they're", "in a very hungry mood...", "", "Voiced by: AngelicMiracles 'Yuyake'."}, "FluffaMario & AngelicMiracles", { r = 0, g = 255, b = 0 }, E_MODEL_YOSHI_PLAYER, CT_MARIO, TEX_YOSHI) _G.charSelect.character_add_voice(E_MODEL_YOSHI_PLAYER, VOICETABLE_YOSHI) _G.charSelect.character_add_palette_preset(E_MODEL_YOSHI_PLAYER, PALETTE_YOSHI) \ No newline at end of file diff --git a/mods/char-select-extra-chars/z-anims.lua b/mods/char-select-extra-chars/z-anims.lua new file mode 100644 index 00000000..1bd2a5f8 --- /dev/null +++ b/mods/char-select-extra-chars/z-anims.lua @@ -0,0 +1,21 @@ +-- Character Animations -- +-- Don't edit this file, just use the `character_add_animations(charNum, animTable)` function + +if not _G.charSelectExists then return end + +local function update() + gPlayerSyncTable[0].characterType = charSelect.character_get_current_number() -- Synced Character Type +end + +local function character_anims(m) + local p = gPlayerSyncTable[m.playerIndex] + if animTables[p.characterType] then + local animID = animTables[p.characterType][m.marioObj.header.gfx.animInfo.animID] + if animID then + smlua_anim_util_set_animation(m.marioObj, animID) + end + end +end + +hook_event(HOOK_UPDATE, update) +hook_event(HOOK_MARIO_UPDATE, character_anims) \ No newline at end of file diff --git a/mods/char-select-extra-chars/z-voices.lua b/mods/char-select-extra-chars/z-voices.lua new file mode 100644 index 00000000..d47e9f74 --- /dev/null +++ b/mods/char-select-extra-chars/z-voices.lua @@ -0,0 +1,25 @@ +-- Character Voices -- +-- Don't edit this file, just use the `charSelect.character_add_voice(modelID, voiceTable)` function + +if not _G.charSelectExists then return end + +--- @param m MarioState +local function mario_update(m) + if is_player_active(m) == 0 then return end + local voiceTable = charSelect.character_get_voice(m) + if voiceTable then + return charSelect.voice.snore(m) + end +end + +--- @param m MarioState +--- @param sound CharacterSound +local function character_sound(m, sound) + local voiceTable = charSelect.character_get_voice(m) + if voiceTable then + return charSelect.voice.sound(m, sound) + end +end + +hook_event(HOOK_MARIO_UPDATE, mario_update) +hook_event(HOOK_CHARACTER_SOUND, character_sound) \ No newline at end of file diff --git a/mods/day-night-cycle/README.md b/mods/day-night-cycle/README.md new file mode 100644 index 00000000..3ef2d14f --- /dev/null +++ b/mods/day-night-cycle/README.md @@ -0,0 +1,16 @@ +# Day Night Cycle DX + +This mod adds a fully featured day & night cycle system with night, sunrise, day and sunset to sm64coopdx. It includes an API and hook system for interfacing with several components of the mod externally. This mod was originally made for sm64ex-coop but has been practically rewritten for sm64coopdx and it's new Lua functionality. + +Days last 24 minutes and with the /time command, you can set/scale/query the time, add to the time, change the format from AM/PM, sync it with real life time, and toggle the night time music. + +There is also now a new menu in the pause menu for Day Night Cycle DX! + +Special thanks to MaiskX3 for the night time music. + +Special thanks to AngelicMiracles for the sunset, sunrise and night time skyboxes. + +Special thanks to eros71 for salvaging the mod files. + +![Screenshot_20240630_115327](https://github.com/AgentXLP/agent-ex-coop-mods/assets/44549182/873b2066-33c9-4746-b2bb-d05ceb15101e) +![Screenshot_20240630_115154](https://github.com/AgentXLP/agent-ex-coop-mods/assets/44549182/1d586611-93e4-4218-b0e4-fc2c1bdfdda3) diff --git a/mods/day-night-cycle/a-constants.lua b/mods/day-night-cycle/a-constants.lua index ef5a075d..4c83e325 100755 --- a/mods/day-night-cycle/a-constants.lua +++ b/mods/day-night-cycle/a-constants.lua @@ -1,5 +1,8 @@ -- version -DNC_VERSION = "v2.2.1" +DNC_VERSION_MAJOR = 2 +DNC_VERSION_MINOR = 2 +DNC_VERSION_PATCH = 2 +DNC_VERSION = math.tointeger(string.format("%d%d%d", DNC_VERSION_MAJOR, DNC_VERSION_MINOR, DNC_VERSION_PATCH)) -- skybox constants E_MODEL_DNC_SKYBOX = smlua_model_util_get_id("dnc_skybox_geo") @@ -66,4 +69,5 @@ DNC_HOOK_SET_FOG_INTENSITY = 4 DNC_HOOK_SET_DISPLAY_TIME_COLOR = 5 DNC_HOOK_SET_DISPLAY_TIME_POS = 6 DNC_HOOK_DELETE_AT_DARK = 7 -DNC_HOOK_SET_TIME = 8 \ No newline at end of file +DNC_HOOK_SET_TIME = 8 +DNC_HOOK_SET_SKYBOX_MODEL = 9 \ No newline at end of file diff --git a/mods/day-night-cycle/a-utils.lua b/mods/day-night-cycle/a-utils.lua index 826e420d..34421b88 100755 --- a/mods/day-night-cycle/a-utils.lua +++ b/mods/day-night-cycle/a-utils.lua @@ -1,5 +1,3 @@ -if SM64COOPDX_VERSION == nil then return end - -- localize functions to improve performance local string_format,table_insert,math_floor,math_ceil,level_is_vanilla_level,djui_hud_get_color,djui_hud_set_color,djui_hud_print_text,type,obj_get_first_with_behavior_id = string.format,table.insert,math.floor,math.ceil,level_is_vanilla_level,djui_hud_get_color,djui_hud_set_color,djui_hud_print_text,type,obj_get_first_with_behavior_id diff --git a/mods/day-night-cycle/actors/dnc_skybox_geo.bin b/mods/day-night-cycle/actors/dnc_skybox_geo.bin index 07565636..59097883 100644 Binary files a/mods/day-night-cycle/actors/dnc_skybox_geo.bin and b/mods/day-night-cycle/actors/dnc_skybox_geo.bin differ diff --git a/mods/day-night-cycle/b-time.lua b/mods/day-night-cycle/b-time.lua index ec1f964a..c70625d0 100755 --- a/mods/day-night-cycle/b-time.lua +++ b/mods/day-night-cycle/b-time.lua @@ -9,8 +9,6 @@ mod_storage_remove("night-music") use24h = mod_storage_load_bool("24h") -local savedInMenu = false -local autoSaveTimer = 0 --- @type boolean playNightMusic = if_then_else(mod_storage_load("night_music") == nil, true, mod_storage_load_bool("night_music")) playingNightMusic = false @@ -103,22 +101,6 @@ end function time_tick() gGlobalSyncTable.time = gGlobalSyncTable.time + gGlobalSyncTable.timeScale - - -- auto save every 30s - autoSaveTimer = (autoSaveTimer + 1) % (SECOND * 30) - if autoSaveTimer == 0 then - save_time() - end - - -- save when paused - if djui_hud_is_pause_menu_created() then - if not savedInMenu then - save_time() - savedInMenu = true - end - else - savedInMenu = false - end end --- @param sequenceId SeqId diff --git a/mods/day-night-cycle/main.lua b/mods/day-night-cycle/main.lua index 080499e7..cce78d17 100755 --- a/mods/day-night-cycle/main.lua +++ b/mods/day-night-cycle/main.lua @@ -1,6 +1,6 @@ -- name: Day Night Cycle DX -- incompatible: light day-night-cycle --- description: Day Night Cycle DX v2.2.1\nBy \\#ec7731\\Agent X\n\n\\#dcdcdc\\This mod adds a fully featured day & night cycle system with night, sunrise, day and sunset to sm64coopdx. It includes an API and hook system for interfacing with several components of the mod externally. This mod was originally made for sm64ex-coop but has been practically rewritten for sm64coopdx.\n\nDays last 24 minutes and with the /time command, you can get/set the time or change your settings.\n\nThere is also now a new menu in the pause menu for Day Night Cycle DX!\n\nSpecial thanks to \\#e06de4\\MaiskX3\\#dcdcdc\\ for the night time music.\nSpecial thanks to \\#00ffff\\AngelicMiracles\\#dcdcdc\\ for the sunset, sunrise and night time skyboxes.\nSpecial thanks to \\#344ee1\\eros71\\#dcdcdc\\ for salvaging\nthe mod files. +-- description: Day Night Cycle DX v2.2.2\nBy \\#ec7731\\Agent X\n\n\\#dcdcdc\\This mod adds a fully featured day & night cycle system with night, sunrise, day and sunset to sm64coopdx. It includes an API and hook system for interfacing with several components of the mod externally. This mod was originally made for sm64ex-coop but has been practically rewritten for sm64coopdx.\n\nDays last 24 minutes and with the /time command, you can get/set the time or change your settings.\n\nThere is also now a new menu in the pause menu for Day Night Cycle DX!\n\nSpecial thanks to \\#e06de4\\MaiskX3\\#dcdcdc\\ for the night time music.\nSpecial thanks to \\#00ffff\\AngelicMiracles\\#dcdcdc\\ for the sunset, sunrise and night time skyboxes.\nSpecial thanks to \\#344ee1\\eros71\\#dcdcdc\\ for salvaging\nthe mod files. --- @class Vec2f --- @field public x number @@ -11,9 +11,10 @@ gGlobalSyncTable.time = if_then_else(network_is_server(), load_time(), HOUR_DAY_ gGlobalSyncTable.timeScale = tonumber(mod_storage_load("scale")) or 1.0 local init = true +local timeModifier = 0 -- localize functions to improve performance -local type,math_floor,error,table_insert,get_skybox,set_lighting_dir,set_lighting_color,set_vertex_color,set_fog_color,set_fog_intensity,network_check_singleplayer_pause,network_is_server,obj_get_first_with_behavior_id,spawn_non_sync_object,obj_scale,clampf,set_lighting_color_ambient,djui_hud_set_resolution,djui_hud_set_font,hud_is_hidden,djui_hud_get_screen_width,djui_hud_measure_text,djui_hud_get_screen_height,djui_hud_set_color,djui_chat_message_create,tonumber,string_format,mod_storage_save_number,mod_storage_save_bool,get_date_and_time,math_tointeger = type,math.floor,error,table.insert,get_skybox,set_lighting_dir,set_lighting_color,set_vertex_color,set_fog_color,set_fog_intensity,network_check_singleplayer_pause,network_is_server,obj_get_first_with_behavior_id,spawn_non_sync_object,obj_scale,clampf,set_lighting_color_ambient,djui_hud_set_resolution,djui_hud_set_font,hud_is_hidden,djui_hud_get_screen_width,djui_hud_measure_text,djui_hud_get_screen_height,djui_hud_set_color,djui_chat_message_create,tonumber,string.format,mod_storage_save_number,mod_storage_save_bool,get_date_and_time,math.tointeger +local type,math_floor,error,table_insert,get_skybox,set_lighting_dir,set_lighting_color,set_vertex_color,set_fog_color,set_fog_intensity,network_check_singleplayer_pause,network_player_connected_count,obj_get_first_with_behavior_id,network_is_server,spawn_non_sync_object,obj_scale,clampf,set_lighting_color_ambient,djui_hud_set_resolution,djui_hud_set_font,hud_get_value,hud_is_hidden,djui_hud_get_screen_width,djui_hud_measure_text,djui_hud_get_screen_height,djui_hud_set_color,play_sound,djui_chat_message_create,tonumber,string_format,mod_storage_save_number,mod_storage_save_bool,get_date_and_time = type,math.floor,error,table.insert,get_skybox,set_lighting_dir,set_lighting_color,set_vertex_color,set_fog_color,set_fog_intensity,network_check_singleplayer_pause,network_player_connected_count,obj_get_first_with_behavior_id,network_is_server,spawn_non_sync_object,obj_scale,clampf,set_lighting_color_ambient,djui_hud_set_resolution,djui_hud_set_font,hud_get_value,hud_is_hidden,djui_hud_get_screen_width,djui_hud_measure_text,djui_hud_get_screen_height,djui_hud_set_color,play_sound,djui_chat_message_create,tonumber,string.format,mod_storage_save_number,mod_storage_save_bool,get_date_and_time local sDncHooks = { [DNC_HOOK_SET_LIGHTING_COLOR] = {}, @@ -24,7 +25,8 @@ local sDncHooks = { [DNC_HOOK_SET_DISPLAY_TIME_COLOR] = {}, [DNC_HOOK_SET_DISPLAY_TIME_POS] = {}, [DNC_HOOK_DELETE_AT_DARK] = {}, - [DNC_HOOK_SET_TIME] = {} + [DNC_HOOK_SET_TIME] = {}, + [DNC_HOOK_SET_SKYBOX_MODEL] = {} } --- @param hookEventType integer @@ -111,9 +113,13 @@ local function update() thisSkybox = if_then_else(skybox == BACKGROUND_BELOW_CLOUDS, BACKGROUND_BELOW_CLOUDS_NIGHT, BACKGROUND_NIGHT) end + local model = E_MODEL_DNC_SKYBOX + local overrideModel = dnc_call_hook(DNC_HOOK_SET_SKYBOX_MODEL, i, thisSkybox) + if overrideModel ~= nil and type(overrideModel) == "number" then model = overrideModel end + spawn_non_sync_object( bhvDNCSkybox, - E_MODEL_DNC_SKYBOX, + model, 0, 0, 0, --- @param o Object function(o) @@ -326,6 +332,12 @@ end --- @param msg string local function on_set_command(msg) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return true + end + if msg == "" then djui_chat_message_create("/time \\#00ffff\\set\\#ffff00\\ [TIME]\\#dcdcdc\\ to set the time") return true @@ -360,10 +372,16 @@ end --- @param msg string local function on_add_command(msg) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return true + end + local amount = tonumber(msg) if amount == nil then djui_chat_message_create("/time \\#00ffff\\add\\#ffff00\\ [AMOUNT]\\#dcdcdc\\ to add to the time") - return + return true end local oldTime = gGlobalSyncTable.time gGlobalSyncTable.time = gGlobalSyncTable.time + (amount * SECOND) @@ -376,10 +394,16 @@ end --- @param msg string local function on_scale_command(msg) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return true + end + local scale = tonumber(msg) if scale == nil then djui_chat_message_create("/time \\#00ffff\\scale\\#ffff00\\ [SCALE]\\#dcdcdc\\ to scale the rate at which time passes") - return + return true end gGlobalSyncTable.timeScale = scale mod_storage_save_number("scale", scale) @@ -399,6 +423,12 @@ local function on_24h_command() end local function on_sync_command() + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return true + end + djui_chat_message_create("[Day Night Cycle] Attempting to sync in-game time with real world time...") local dateTime = get_date_and_time() @@ -409,6 +439,12 @@ local function on_sync_command() end local function on_music_command() + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return true + end + playNightMusic = not playNightMusic mod_storage_save_bool("night-music", playNightMusic) djui_chat_message_create("[Day Night Cycle] Night music status: " .. on_or_off(playNightMusic)) @@ -463,6 +499,11 @@ end --- @param value boolean local function on_set_dnc_enabled(_, value) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + return + end + gGlobalSyncTable.dncEnabled = value end @@ -474,31 +515,63 @@ end --- @param value boolean local function on_set_night_time_music(_, value) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return + end + playNightMusic = value mod_storage_save_bool("night_music", value) end --- @param value integer local function on_set_time_scale(index, value) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return + end + gGlobalSyncTable.timeScale = value mod_storage_save_number("scale", value) update_mod_menu_element_name(index, "Time Scale: " .. value) end +--- @param value string +local function on_set_time_modifier(_, value) + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return + end + + local number = tonumber(value) + timeModifier = number or 0 +end + local function on_add_hour() + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return + end + local oldTime = gGlobalSyncTable.time - gGlobalSyncTable.time = gGlobalSyncTable.time + (60 * SECOND) + gGlobalSyncTable.time = gGlobalSyncTable.time + timeModifier * SECOND dnc_call_hook(DNC_HOOK_SET_TIME, oldTime, gGlobalSyncTable.time) save_time() end -local function on_subtract_hour() - local oldTime = gGlobalSyncTable.time - gGlobalSyncTable.time = gGlobalSyncTable.time - (60 * SECOND) - dnc_call_hook(DNC_HOOK_SET_TIME, oldTime, gGlobalSyncTable.time) +local function on_set_time() + if _G.dayNightCycleApi.lockTime then + play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource) + djui_chat_message_create("\\#ffa0a0\\[Day Night Cycle] The Day Night Cycle settings have been locked by another mod.") + return + end - save_time() + gGlobalSyncTable.time = timeModifier * SECOND end local sReadonlyMetatable = { @@ -507,15 +580,16 @@ local sReadonlyMetatable = { end, __newindex = function() - error("attempt to update a read-only table", 2) + error("Attempt to update a read-only table", 2) end } _G.dayNightCycleApi = { - version = DNC_VERSION, - enabled = true, - displayTime = true, - playNightMusic = true, + version = DNC_VERSION, -- The version of the mod + enabled = true, -- Whether or not the day night cycle is enabled + lockTime = false, -- Whether or not the player should be prevented from changing the time + displayTime = true, -- Whether or not to display the time on the HUD + playNightMusic = true, -- Whether or not to play the night time music is_dnc_enabled = is_dnc_enabled, get_day_count = get_day_count, get_raw_time = get_raw_time, @@ -530,6 +604,11 @@ _G.dayNightCycleApi = { night_music_register = night_music_register, dnc_hook_event = dnc_hook_event, constants = { + DNC_VERSION_MAJOR = DNC_VERSION_MAJOR, + DNC_VERSION_MINOR = DNC_VERSION_MINOR, + DNC_VERSION_PATCH = DNC_VERSION_PATCH, + DNC_VERSION = DNC_VERSION, + SECOND = SECOND, MINUTE = MINUTE, @@ -604,7 +683,11 @@ _G.dayNightCycleApi = { -- * Called whenever `/time set` or `/time add` is ran -- * Parameters: `number` oldTime, `number` newTime -- * Return: nil - DNC_HOOK_SET_TIME = DNC_HOOK_SET_TIME + DNC_HOOK_SET_TIME = DNC_HOOK_SET_TIME, + -- * Called when the skyboxes are spawned in. Index 0 is day, index 1 is sunset, and index 2 is night. + -- * Parameters: `integer` index, `integer` skybox + -- * Return `ModelExtendedId` + DNC_HOOK_SET_SKYBOX_MODEL = DNC_HOOK_SET_SKYBOX_MODEL } } setmetatable(_G.dayNightCycleApi, sReadonlyMetatable) @@ -615,18 +698,21 @@ night_music_register(SEQ_LEVEL_HOT, "06_level_hot") night_music_register(SEQ_LEVEL_SNOW, "08_level_snow") hook_event(HOOK_UPDATE, update) -hook_event(HOOK_ON_HUD_RENDER_BEHIND, on_hud_render_behind) hook_event(HOOK_ON_LEVEL_INIT, on_level_init) hook_event(HOOK_ON_WARP, on_warp) hook_event(HOOK_ON_EXIT, on_exit) +hook_event(HOOK_ON_HUD_RENDER_BEHIND, on_hud_render_behind) hook_chat_command("time", "\\#00ffff\\[set|add|scale|query|24h|sync|music]\\#dcdcdc\\ - The command handle for Day Night Cycle DX \\#7f7f7f\\(leave blank to toggle Day Night Cycle on or off)", on_time_command) +hook_mod_menu_checkbox("24 Hour Time", use24h, on_set_24h_time) +hook_mod_menu_checkbox("Night Time Music", playNightMusic, on_set_night_time_music) + if network_is_server() then hook_mod_menu_checkbox("Enable Day Night Cycle", gGlobalSyncTable.dncEnabled, on_set_dnc_enabled) - hook_mod_menu_checkbox("24 Hour Time", use24h, on_set_24h_time) - hook_mod_menu_checkbox("Night Time Music", playNightMusic, on_set_night_time_music) hook_mod_menu_slider("Time Scale: " .. gGlobalSyncTable.timeScale, gGlobalSyncTable.timeScale, 0, 20, on_set_time_scale) - hook_mod_menu_button("Add 1 In-Game Hour", on_add_hour) - hook_mod_menu_button("Subtract 1 In-Game Hour", on_subtract_hour) + hook_mod_menu_inputbox("Time Modifier", "0", 8, on_set_time_modifier) + hook_mod_menu_button("Add To Time", on_add_hour) + hook_mod_menu_button("Set Time", on_set_time) + hook_mod_menu_button("Query Time", on_query_command) end \ No newline at end of file