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 000000000..2c2e5219f --- /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 6824469ed..11770c7a8 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 ea492e969..63f96f1e0 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 c5310af00..a455bae1f 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 ccf90885e..000000000 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 4234b1d51..c38813dfd 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 000000000..73f4f431c 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 12f764283..e9f72d929 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 db656a14e..86f71c336 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 000000000..4879b6597 --- /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 35b5297d9..070681a15 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 63b143917..179200f5a 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 82ee8eae7..a9d7184db 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 000000000..a57beb3ef 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 000000000..418b47dc5 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 000000000..e1d8e54f5 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 000000000..03359367b 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 000000000..9a08bb109 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 000000000..0275fcd2c 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 000000000..cf4a364ab 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 000000000..528f4f724 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 000000000..110aae542 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 000000000..bd3c26087 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 000000000..a7500ebef 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 000000000..cff6ae4ae 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 000000000..d176bddc8 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 000000000..0927178ac 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 000000000..6dc0482b7 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 000000000..532867216 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 000000000..e922ec0d1 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 000000000..4bb6a6e62 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 000000000..21bad6260 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 000000000..cdf86482a 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 000000000..1b2a0786a 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 000000000..fbc9a557b 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 000000000..1af5f6579 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 000000000..0738ebaf3 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 7b36f9d90..bbe7f5b41 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 000000000..609eb540b 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 000000000..ec8c85e8c 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 000000000..d618d728d 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 000000000..ae1d4011b 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 000000000..a3ab5149a 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 f98f2ce43..e1dc6dcc2 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 000000000..00d331f7b 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 000000000..00d331f7b 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 000000000..dc8ef2f42 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 000000000..983587de7 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 000000000..87d8cf7ca 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 85f480983..737057d7e 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 000000000..be442b487 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 000000000..2f02fa64c 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 000000000..b7292d98b 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 000000000..bf42e92a1 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 000000000..5a112bcc4 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 000000000..bf42e92a1 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 000000000..b7292d98b 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 000000000..436db62f8 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 000000000..cb617b455 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 2205b343f..000000000 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 84a3a4294..000000000 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 38d72d23e..000000000 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 000000000..78c41181b 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 000000000..323f47535 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 e69244f85..90dd30bc0 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 aaab8b350..000000000 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 000000000..e8bd769ac 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 0b55b162a..b164104c8 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 000000000..20dd31650 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 000000000..262b074a8 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 5c40c504e..000000000 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 000000000..7698d2092 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 52cb3ffca..000000000 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 1782fd752..9a62dd978 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 000000000..656cf53fa 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 efd31837c..34fb527d7 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 e584d46a6..000000000 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 000000000..410e6e3e6 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 aba976c77..000000000 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 000000000..03d878ec2 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 000000000..aa6b279b4 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 000000000..f33299c57 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 287e12393..000000000 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 000000000..c44f9d997 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 000000000..85cf31dc0 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 74eccb36d..000000000 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 000000000..5fb5e1ba2 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 9f158c433..000000000 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 e707fad8b..000000000 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 000000000..a0a970fc7 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 000000000..78b115c8a 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 000000000..de7afd238 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 000000000..de7afd238 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 a29cf99e3..4e053034a 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 000000000..34e2823e6 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 000000000..4360d71c8 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 d0b800290..000000000 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 45c3436c7..000000000 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 000000000..02620f5ab 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 000000000..88cb1b9cd 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 000000000..b8a7f36bb 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 000000000..e2612effb 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 000000000..f486b5937 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 000000000..f1a4957cf 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 000000000..68b00a596 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 000000000..81f1e0b5a 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 000000000..c8f411db2 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 13e0ed1b8..731c21599 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 000000000..5d9ddcfea 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 d374d5982..d3ee97092 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 000000000..c5f463302 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 000000000..4df096fd2 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 000000000..d3ee97092 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 a62c8c0fc..610432e93 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 000000000..610432e93 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 000000000..8b53623d0 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 000000000..bb808b6bc 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 000000000..8b53623d0 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 000000000..bb808b6bc 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 000000000..38424f7bc 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 f3ff616e0..000000000 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 35adda378..000000000 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 2a372947d..000000000 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 71a98cdd2..000000000 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 d12559b35..000000000 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 687ebe65f..000000000 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 d2a9f3248..000000000 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 4719106b3..000000000 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 371a64d5e..000000000 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 d0708c083..000000000 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 5a631592b..000000000 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 47a60b656..000000000 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 ff446fd7b..000000000 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 dc43e6944..000000000 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 5a1353488..000000000 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 4a2f7895b..000000000 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 db4924245..000000000 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 7f476a792..000000000 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 68e531f8c..000000000 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 8a6b2c913..000000000 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 000000000..19b5ec654 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 000000000..f6a3487bc 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 000000000..d2b21d9c7 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 000000000..18775a91e 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 000000000..ab71d1db8 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 000000000..fd285c536 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 000000000..f3e9a1bef 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 eae340755..000000000 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 000000000..b4cf06c17 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 5a33d1131..32c2318f9 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 000000000..d1d21f6f0 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 000000000..273746413 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 b4e8ea27d..e169361c2 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 000000000..7ae30de01 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 000000000..66c7e67a5 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 95fab6f72..aeb7ac278 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 000000000..37f635e4a 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 d19fe2842..000000000 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 000000000..29ea2bbd5 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 79e2b413b..000000000 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 000000000..e13c288c8 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 e9cd7bad2..5133ea840 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 0de423868..000000000 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 68245ffae..000000000 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 000000000..ffe03b68d 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 000000000..b4162abc2 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 5237ce0c9..000000000 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 000000000..4699f9642 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 000000000..7af1bc7b5 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 000000000..655318a47 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 000000000..35f05b18b 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 000000000..09f147c41 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 1d678dcda..000000000 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 ad690fc95..000000000 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 bcfeb9ed8..000000000 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 000000000..93bd0567f 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 000000000..57db0a2df 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 000000000..12d89511f 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 000000000..2c6979510 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 ce12d2e83..000000000 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 000000000..b4b9b5c39 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 000000000..c9e1772eb 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 000000000..f5d135620 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 000000000..6ee7f5925 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 ea4fe2ecb..000000000 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 000000000..29f6b57bd 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 000000000..e6ea801b1 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 000000000..c30731317 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 000000000..1aa31fdda 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 000000000..e9cffb3d3 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 000000000..72c1436f9 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 000000000..a190d0940 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 000000000..a3ab1ef94 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 000000000..c2d94caab 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 000000000..6814d2916 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 000000000..529c4a91a 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 000000000..88d7f852a 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 4f0d6ba9d..000000000 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 000000000..edfbd4137 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 000000000..e05a5cd46 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 a7f6bdea0..8011dba56 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 7ef1768d6..d3b0231b6 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 000000000..1bd2a5f87 --- /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 000000000..d47e9f745 --- /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 000000000..3ef2d14f1 --- /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 ef5a075d3..4c83e3259 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 826e420d4..34421b882 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 07565636a..590978836 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 ec1f964af..c70625d09 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 080499e71..cce78d17f 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