Update built-in mods
This commit is contained in:
parent
e73a95368c
commit
8fc8354124
|
@ -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")
|
Binary file not shown.
Binary file not shown.
|
@ -1,24 +1,8 @@
|
||||||
-- name: [CS] VL-Tone & Cjes Luigi
|
-- 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
|
-- localize functions to improve performance
|
||||||
local first = false
|
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
|
||||||
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")
|
|
||||||
|
|
||||||
local PALETTE_VL = {
|
local PALETTE_VL = {
|
||||||
[PANTS] = { r = 0x20, g = 0x14, b = 0x7c }, -- 20147C
|
[PANTS] = { r = 0x20, g = 0x14, b = 0x7c }, -- 20147C
|
||||||
|
@ -42,8 +26,142 @@ local PALETTE_CJES = {
|
||||||
[EMBLEM] = { 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)
|
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)
|
||||||
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)
|
|
||||||
|
|
||||||
_G.charSelect.character_add_palette_preset(E_MODEL_VL, PALETTE_VL)
|
_G.charSelect.character_add_palette_preset(E_MODEL_VL, PALETTE_VL)
|
||||||
_G.charSelect.character_add_palette_preset(E_MODEL_CJES, PALETTE_CJES)
|
_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)
|
Binary file not shown.
|
@ -34,3 +34,20 @@ function active_player(m)
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
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
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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)
|
|
@ -4,50 +4,48 @@ E_MODEL_DAISY = smlua_model_util_get_id("daisy_geo")
|
||||||
|
|
||||||
local TEX_DAISY = get_texture_info("daisy_icon")
|
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 = {
|
VOICETABLE_DAISY = {
|
||||||
[CHAR_SOUND_ATTACKED] = {'daisy_attacked_1.ogg','daisy_attacked_2.ogg','daisy_attacked_3.ogg'},
|
[CHAR_SOUND_ATTACKED] = { "daisy_attacked_1.ogg","daisy_attacked_2.ogg","daisy_attacked_3.ogg" },
|
||||||
[CHAR_SOUND_COUGHING1] = 'daisy_coughing1.ogg',
|
[CHAR_SOUND_COUGHING1] = "daisy_coughing1.ogg",
|
||||||
[CHAR_SOUND_COUGHING2] = 'daisy_coughing2.ogg',
|
[CHAR_SOUND_COUGHING2] = "daisy_coughing2.ogg",
|
||||||
[CHAR_SOUND_COUGHING3] = 'daisy_coughing3.ogg',
|
[CHAR_SOUND_COUGHING3] = "daisy_coughing3.ogg",
|
||||||
[CHAR_SOUND_DOH] = {'daisy_doh_1.ogg', 'daisy_doh_2.ogg'},
|
[CHAR_SOUND_DOH] = { "daisy_doh_1.ogg", "daisy_doh_2.ogg" },
|
||||||
[CHAR_SOUND_DROWNING] = 'daisy_drowning_1.ogg',
|
[CHAR_SOUND_DROWNING] = "daisy_drowning_1.ogg",
|
||||||
[CHAR_SOUND_DYING] = 'daisy_dying.ogg',
|
[CHAR_SOUND_DYING] = "daisy_dying.ogg",
|
||||||
[CHAR_SOUND_EEUH] = 'daisy_eeuh.ogg',
|
[CHAR_SOUND_EEUH] = "daisy_eeuh.ogg",
|
||||||
[CHAR_SOUND_GROUND_POUND_WAH] = 'daisy_ground_pound_wah.ogg',
|
[CHAR_SOUND_GROUND_POUND_WAH] = "daisy_ground_pound_wah.ogg",
|
||||||
[CHAR_SOUND_HAHA] = 'daisy_haha.ogg',
|
[CHAR_SOUND_HAHA] = "daisy_haha.ogg",
|
||||||
[CHAR_SOUND_HAHA_2] = 'daisy_haha_2.ogg',
|
[CHAR_SOUND_HAHA_2] = "daisy_haha_2.ogg",
|
||||||
[CHAR_SOUND_HERE_WE_GO] = 'daisy_here_we_go.ogg',
|
[CHAR_SOUND_HERE_WE_GO] = "daisy_here_we_go.ogg",
|
||||||
[CHAR_SOUND_HOOHOO] = 'daisy_hoohoo.ogg',
|
[CHAR_SOUND_HOOHOO] = "daisy_hoohoo.ogg",
|
||||||
[CHAR_SOUND_HRMM] = 'daisy_hrmm.ogg',
|
[CHAR_SOUND_HRMM] = "daisy_hrmm.ogg",
|
||||||
[CHAR_SOUND_IMA_TIRED] = 'daisy_ima_tired.ogg',
|
[CHAR_SOUND_IMA_TIRED] = "daisy_ima_tired.ogg",
|
||||||
[CHAR_SOUND_MAMA_MIA] = 'daisy_mama_mia.ogg',
|
[CHAR_SOUND_MAMA_MIA] = "daisy_mama_mia.ogg",
|
||||||
[CHAR_SOUND_LETS_A_GO] = 'daisy_lets_a_go.ogg',
|
[CHAR_SOUND_LETS_A_GO] = "daisy_lets_a_go.ogg",
|
||||||
[CHAR_SOUND_ON_FIRE] = 'daisy_on_fire.ogg',
|
[CHAR_SOUND_ON_FIRE] = "daisy_on_fire.ogg",
|
||||||
[CHAR_SOUND_OOOF] = 'daisy_oof.ogg',
|
[CHAR_SOUND_OOOF] = "daisy_oof.ogg",
|
||||||
[CHAR_SOUND_OOOF2] = 'daisy_ooof2.ogg',
|
[CHAR_SOUND_OOOF2] = "daisy_ooof2.ogg",
|
||||||
[CHAR_SOUND_PANTING] = 'daisy_panting.ogg',
|
[CHAR_SOUND_PANTING] = "daisy_panting.ogg",
|
||||||
[CHAR_SOUND_PANTING_COLD] = 'daisy_panting_cold.ogg',
|
[CHAR_SOUND_PANTING_COLD] = "daisy_panting_cold.ogg",
|
||||||
[CHAR_SOUND_PUNCH_HOO] = 'daisy_punch_hoo.ogg',
|
[CHAR_SOUND_PUNCH_HOO] = "daisy_punch_hoo.ogg",
|
||||||
[CHAR_SOUND_PUNCH_WAH] = 'daisy_punch_wah.ogg',
|
[CHAR_SOUND_PUNCH_WAH] = "daisy_punch_wah.ogg",
|
||||||
[CHAR_SOUND_PUNCH_YAH] = 'daisy_punch_yah.ogg',
|
[CHAR_SOUND_PUNCH_YAH] = "daisy_punch_yah.ogg",
|
||||||
[CHAR_SOUND_SO_LONGA_BOWSER] = 'daisy_so_longa_bowser.ogg',
|
[CHAR_SOUND_SO_LONGA_BOWSER] = "daisy_so_longa_bowser.ogg",
|
||||||
[CHAR_SOUND_SNORING1] = 'daisy_snoring1.ogg',
|
[CHAR_SOUND_SNORING1] = "daisy_snoring1.ogg",
|
||||||
[CHAR_SOUND_SNORING2] = 'daisy_snoring2.ogg',
|
[CHAR_SOUND_SNORING2] = "daisy_snoring2.ogg",
|
||||||
[CHAR_SOUND_SNORING3] = {'daisy_snoring2.ogg', 'daisy_snoring1.ogg', 'daisy_snoring3.ogg'},
|
[CHAR_SOUND_SNORING3] = {"daisy_snoring2.ogg", "daisy_snoring1.ogg", "daisy_snoring3.ogg"},
|
||||||
[CHAR_SOUND_TWIRL_BOUNCE] = 'daisy_twirl_bounce.ogg',
|
[CHAR_SOUND_TWIRL_BOUNCE] = "daisy_twirl_bounce.ogg",
|
||||||
[CHAR_SOUND_UH] = 'daisy_uh.ogg',
|
[CHAR_SOUND_UH] = "daisy_uh.ogg",
|
||||||
[CHAR_SOUND_UH2] = 'daisy_uh2.ogg',
|
[CHAR_SOUND_UH2] = "daisy_uh2.ogg",
|
||||||
[CHAR_SOUND_UH2_2] = 'daisy_uh2_2.ogg',
|
[CHAR_SOUND_UH2_2] = "daisy_uh2_2.ogg",
|
||||||
[CHAR_SOUND_WAAAOOOW] = 'daisy_waaaooow.ogg',
|
[CHAR_SOUND_WAAAOOOW] = "daisy_waaaooow.ogg",
|
||||||
[CHAR_SOUND_WAH2] = 'daisy_wah2.ogg',
|
[CHAR_SOUND_WAH2] = "daisy_wah2.ogg",
|
||||||
[CHAR_SOUND_WHOA] = 'daisy_whoa.ogg',
|
[CHAR_SOUND_WHOA] = "daisy_whoa.ogg",
|
||||||
[CHAR_SOUND_YAHOO] = 'daisy_yahoo.ogg',
|
[CHAR_SOUND_YAHOO] = "daisy_yahoo.ogg",
|
||||||
[CHAR_SOUND_YAWNING] = 'daisy_yawning.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_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_YAH_WAH_HOO] = { "daisy_yah1.ogg", "daisy_yah2.ogg", "daisy_yah3.ogg" },
|
||||||
[CHAR_SOUND_HELLO] = 'daisy_double_jump.ogg'
|
[CHAR_SOUND_HELLO] = "daisy_double_jump.ogg"
|
||||||
}
|
}
|
||||||
|
|
||||||
--CAPS (Will be worked on in the future)--
|
--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")
|
--metalWing = smlua_model_util_get_id("daisys_metal_wing_cap_geo")
|
||||||
--}
|
--}
|
||||||
|
|
||||||
local ANIMTABLE_DAISY = {
|
ANIMTABLE_DAISY = {
|
||||||
[CHAR_ANIM_RUNNING] = 'daisy_running',
|
[CHAR_ANIM_RUNNING] = "daisy_running",
|
||||||
[CHAR_ANIM_IDLE_HEAD_CENTER] = 'daisy_idle_head_center',
|
[CHAR_ANIM_IDLE_HEAD_CENTER] = "daisy_idle_head_center",
|
||||||
[CHAR_ANIM_IDLE_HEAD_LEFT] = 'daisy_idle_head_left',
|
[CHAR_ANIM_IDLE_HEAD_LEFT] = "daisy_idle_head_left",
|
||||||
[CHAR_ANIM_IDLE_HEAD_RIGHT] = 'daisy_idle_head_right',
|
[CHAR_ANIM_IDLE_HEAD_RIGHT] = "daisy_idle_head_right",
|
||||||
[CHAR_ANIM_BACKWARD_KB] = 'daisy_backward_kb',
|
[CHAR_ANIM_BACKWARD_KB] = "daisy_backward_kb",
|
||||||
[CHAR_ANIM_FIRST_PERSON] = 'daisy_first_person',
|
[CHAR_ANIM_FIRST_PERSON] = "daisy_first_person",
|
||||||
[CHAR_ANIM_FLUTTERKICK] = 'daisy_flutterkick',
|
[CHAR_ANIM_FLUTTERKICK] = "daisy_flutterkick",
|
||||||
[CHAR_ANIM_FLUTTERKICK_WITH_OBJ] = 'daisy_flutterkick_with_obj',
|
[CHAR_ANIM_FLUTTERKICK_WITH_OBJ] = "daisy_flutterkick_with_obj",
|
||||||
[CHAR_ANIM_FORWARD_KB] = 'daisy_forward_kb',
|
[CHAR_ANIM_FORWARD_KB] = "daisy_forward_kb",
|
||||||
[CHAR_ANIM_GROUND_BONK] = 'daisy_ground_bonk',
|
[CHAR_ANIM_GROUND_BONK] = "daisy_ground_bonk",
|
||||||
[CHAR_ANIM_GROUND_KICK] = 'daisy_ground_kick',
|
[CHAR_ANIM_GROUND_KICK] = "daisy_ground_kick",
|
||||||
[CHAR_ANIM_GROUND_THROW] = 'daisy_ground_throw',
|
[CHAR_ANIM_GROUND_THROW] = "daisy_ground_throw",
|
||||||
[CHAR_ANIM_HEAVY_THROW] = 'daisy_heavy_throw',
|
[CHAR_ANIM_HEAVY_THROW] = "daisy_heavy_throw",
|
||||||
[CHAR_ANIM_MISSING_CAP] = 'daisy_missing_cap',
|
[CHAR_ANIM_MISSING_CAP] = "daisy_missing_cap",
|
||||||
[CHAR_ANIM_PULL_DOOR_WALK_IN] = 'daisy_pull_door_walk_in',
|
[CHAR_ANIM_PULL_DOOR_WALK_IN] = "daisy_pull_door_walk_in",
|
||||||
[CHAR_ANIM_FIRST_PERSON] = 'daisy_first_person',
|
[CHAR_ANIM_FIRST_PERSON] = "daisy_first_person",
|
||||||
[CHAR_ANIM_RELEASE_BOWSER] = 'daisy_release_bowser',
|
[CHAR_ANIM_RELEASE_BOWSER] = "daisy_release_bowser",
|
||||||
[CHAR_ANIM_RETURN_FROM_STAR_DANCE] = 'daisy_return_from_star_dance',
|
[CHAR_ANIM_RETURN_FROM_STAR_DANCE] = "daisy_return_from_star_dance",
|
||||||
[CHAR_ANIM_RETURN_STAR_APPROACH_DOOR] = 'daisy_return_star_approach_door',
|
[CHAR_ANIM_RETURN_STAR_APPROACH_DOOR] = "daisy_return_star_approach_door",
|
||||||
[CHAR_ANIM_SLIDEFLIP_LAND] = 'daisy_sideflip_land',
|
[CHAR_ANIM_SLIDEFLIP_LAND] = "daisy_sideflip_land",
|
||||||
[CHAR_ANIM_SLEEP_IDLE] = 'daisy_sleep_idle',
|
[CHAR_ANIM_SLEEP_IDLE] = "daisy_sleep_idle",
|
||||||
[CHAR_ANIM_START_SLEEP_SITTING] = 'daisy_sleep_sitting',
|
[CHAR_ANIM_START_SLEEP_SITTING] = "daisy_sleep_sitting",
|
||||||
[CHAR_ANIM_SOFT_BACK_KB] = 'daisy_soft_back_kb',
|
[CHAR_ANIM_SOFT_BACK_KB] = "daisy_soft_back_kb",
|
||||||
[CHAR_ANIM_SOFT_FRONT_KB] = 'daisy_soft_front_kb',
|
[CHAR_ANIM_SOFT_FRONT_KB] = "daisy_soft_front_kb",
|
||||||
[CHAR_ANIM_STAR_DANCE] = 'daisy_star_dance',
|
[CHAR_ANIM_STAR_DANCE] = "daisy_star_dance",
|
||||||
[CHAR_ANIM_START_CROUCHING] = 'daisy_start_crouch',
|
[CHAR_ANIM_START_CROUCHING] = "daisy_start_crouch",
|
||||||
[CHAR_ANIM_STOP_CROUCHING] = 'daisy_stop_crouch',
|
[CHAR_ANIM_STOP_CROUCHING] = "daisy_stop_crouch",
|
||||||
[CHAR_ANIM_START_SLEEP_IDLE] = 'daisy_start_sleep',
|
[CHAR_ANIM_START_SLEEP_IDLE] = "daisy_start_sleep",
|
||||||
[CHAR_ANIM_STOP_SLIDE] = 'daisy_stop_slide',
|
[CHAR_ANIM_STOP_SLIDE] = "daisy_stop_slide",
|
||||||
[CHAR_ANIM_SUMMON_STAR] = 'daisy_summon_star',
|
[CHAR_ANIM_SUMMON_STAR] = "daisy_summon_star",
|
||||||
[CHAR_ANIM_SWIM_WITH_OBJ_PART1] = 'daisy_swim_with_obj1',
|
[CHAR_ANIM_SWIM_WITH_OBJ_PART1] = "daisy_swim_with_obj1",
|
||||||
[CHAR_ANIM_SWIM_WITH_OBJ_PART2] = 'daisy_swim_with_obj2',
|
[CHAR_ANIM_SWIM_WITH_OBJ_PART2] = "daisy_swim_with_obj2",
|
||||||
[CHAR_ANIM_TRIPLE_JUMP_LAND] = 'daisy_triple_jump_land',
|
[CHAR_ANIM_TRIPLE_JUMP_LAND] = "daisy_triple_jump_land",
|
||||||
[CHAR_ANIM_TURNING_PART1] = 'daisy_turning_part1',
|
[CHAR_ANIM_TURNING_PART1] = "daisy_turning_part1",
|
||||||
[CHAR_ANIM_TURNING_PART2] = 'daisy_turning_part2',
|
[CHAR_ANIM_TURNING_PART2] = "daisy_turning_part2",
|
||||||
[CHAR_ANIM_TWIRL_LAND] = 'daisy_twirl_land',
|
[CHAR_ANIM_TWIRL_LAND] = "daisy_twirl_land",
|
||||||
[CHAR_ANIM_WAKE_FROM_LYING] = 'daisy_wake_from_lying',
|
[CHAR_ANIM_WAKE_FROM_LYING] = "daisy_wake_from_lying",
|
||||||
[CHAR_ANIM_WAKE_FROM_SLEEP] = 'daisy_wake_from_sleep',
|
[CHAR_ANIM_WAKE_FROM_SLEEP] = "daisy_wake_from_sleep",
|
||||||
[CHAR_ANIM_CREDITS_RAISE_HAND] = 'daisy_credits_raise_hand',
|
[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_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_START_WALK_LOOK_UP] = "daisy_credits_start_walk_look_up",
|
||||||
[CHAR_ANIM_CREDITS_TAKE_OFF_CAP] = 'daisy_credits_take_off_cap',
|
[CHAR_ANIM_CREDITS_TAKE_OFF_CAP] = "daisy_credits_take_off_cap",
|
||||||
[CHAR_ANIM_DYING_FALL_OVER] = 'daisy_dying_fall_over',
|
[CHAR_ANIM_DYING_FALL_OVER] = "daisy_dying_fall_over",
|
||||||
[CHAR_ANIM_FALL_OVER_BACKWARDS] = 'daisy_fall_over_backwards',
|
[CHAR_ANIM_FALL_OVER_BACKWARDS] = "daisy_fall_over_backwards",
|
||||||
[CHAR_ANIM_FAST_LEDGE_GRAB] = 'daisy_fast_ledge_grab',
|
[CHAR_ANIM_FAST_LEDGE_GRAB] = "daisy_fast_ledge_grab",
|
||||||
--[CHAR_ANIM_FINAL_BOWSER_RAISE_HAND_SPIN] = 'daisy_final_bowser_raise_hand_spin',
|
-- [CHAR_ANIM_FINAL_BOWSER_RAISE_HAND_SPIN] = "daisy_final_bowser_raise_hand_spin",
|
||||||
[CHAR_ANIM_FIRST_PUNCH_FAST] = 'daisy_first_punch_fast',
|
[CHAR_ANIM_FIRST_PUNCH_FAST] = "daisy_first_punch_fast",
|
||||||
[CHAR_ANIM_GENERAL_LAND] = 'daisy_general_land',
|
[CHAR_ANIM_GENERAL_LAND] = "daisy_general_land",
|
||||||
[CHAR_ANIM_HEAD_STUCK_IN_GROUND] = 'daisy_head_stuck_in_ground',
|
[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_DOUBLE_JUMP] = "daisy_land_from_double_jump",
|
||||||
[CHAR_ANIM_LAND_FROM_SINGLE_JUMP] = 'daisy_land_from_single_jump',
|
[CHAR_ANIM_LAND_FROM_SINGLE_JUMP] = "daisy_land_from_single_jump",
|
||||||
[CHAR_ANIM_LAND_ON_STOMACH] = 'daisy_land_on_stomach',
|
[CHAR_ANIM_LAND_ON_STOMACH] = "daisy_land_on_stomach",
|
||||||
[CHAR_ANIM_LEGS_STUCK_IN_GROUND] = 'daisy_legs_stuck_in_ground',
|
[CHAR_ANIM_LEGS_STUCK_IN_GROUND] = "daisy_legs_stuck_in_ground",
|
||||||
[CHAR_ANIM_PLACE_LIGHT_OBJ] = 'daisy_place_light_obj',
|
[CHAR_ANIM_PLACE_LIGHT_OBJ] = "daisy_place_light_obj",
|
||||||
[CHAR_ANIM_PUSH_DOOR_WALK_IN] = 'daisy_push_door_walk_in',
|
[CHAR_ANIM_PUSH_DOOR_WALK_IN] = "daisy_push_door_walk_in",
|
||||||
[CHAR_ANIM_PUT_CAP_ON] = 'daisy_put_cap_on',
|
[CHAR_ANIM_PUT_CAP_ON] = "daisy_put_cap_on",
|
||||||
[CHAR_ANIM_RUN_WITH_LIGHT_OBJ] = 'daisy_run_with_light_obj',
|
[CHAR_ANIM_RUN_WITH_LIGHT_OBJ] = "daisy_run_with_light_obj",
|
||||||
[CHAR_ANIM_SECOND_PUNCH_FAST] = 'daisy_second_punch_fast',
|
[CHAR_ANIM_SECOND_PUNCH_FAST] = "daisy_second_punch_fast",
|
||||||
[CHAR_ANIM_SHIVERING_RETURN_TO_IDLE] = 'daisy_shivering_returning_to_idle',
|
[CHAR_ANIM_SHIVERING_RETURN_TO_IDLE] = "daisy_shivering_returning_to_idle",
|
||||||
[CHAR_ANIM_SKID_ON_GROUND] = 'daisy_skid_on_ground',
|
[CHAR_ANIM_SKID_ON_GROUND] = "daisy_skid_on_ground",
|
||||||
[CHAR_ANIM_SLOW_LAND_FROM_DIVE] = 'daisy_slow_land_from_dive',
|
[CHAR_ANIM_SLOW_LAND_FROM_DIVE] = "daisy_slow_land_from_dive",
|
||||||
[CHAR_ANIM_SLOW_LEDGE_GRAB] = 'daisy_slow_ledge_grab',
|
[CHAR_ANIM_SLOW_LEDGE_GRAB] = "daisy_slow_ledge_grab",
|
||||||
[CHAR_ANIM_SLOW_WALK_WITH_LIGHT_OBJ] = 'daisy_slow_walk_with_light_obj',
|
[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_STAND_UP_FROM_LAVA_BOOST] = "daisy_stand_up_from_lava_boost",
|
||||||
[CHAR_ANIM_STOP_SKID] = 'daisy_stop_skid',
|
[CHAR_ANIM_STOP_SKID] = "daisy_stop_skid",
|
||||||
[CHAR_ANIM_TAKE_CAP_OFF_THEN_ON] = 'daisy_take_cap_off_then_on',
|
[CHAR_ANIM_TAKE_CAP_OFF_THEN_ON] = "daisy_take_cap_off_then_on",
|
||||||
[CHAR_ANIM_THROW_CATCH_KEY] = 'daisy_throw_catch_key',
|
[CHAR_ANIM_THROW_CATCH_KEY] = "daisy_throw_catch_key",
|
||||||
[CHAR_ANIM_WALK_WITH_LIGHT_OBJ] = 'daisy_walk_with_light_obj',
|
[CHAR_ANIM_WALK_WITH_LIGHT_OBJ] = "daisy_walk_with_light_obj",
|
||||||
[CHAR_ANIM_BOTTOM_STUCK_IN_GROUND] = 'daisy_bottom_stuck_in_ground',
|
[CHAR_ANIM_BOTTOM_STUCK_IN_GROUND] = "daisy_bottom_stuck_in_ground",
|
||||||
--[CHAR_ANIM_CREDITS_PEACE_SIGN] = 'daisy_credits_peace_sign',
|
-- [CHAR_ANIM_CREDITS_PEACE_SIGN] = "daisy_credits_peace_sign",
|
||||||
[CHAR_ANIM_FIRE_LAVA_BURN] = 'daisy_fire_lava_burn',
|
[CHAR_ANIM_FIRE_LAVA_BURN] = "daisy_fire_lava_burn",
|
||||||
[CHAR_ANIM_GROUND_POUND] = 'daisy_ground_pound',
|
[CHAR_ANIM_GROUND_POUND] = "daisy_ground_pound",
|
||||||
[CHAR_ANIM_GROUND_POUND_LANDING] = 'daisy_ground_pound_landing',
|
[CHAR_ANIM_GROUND_POUND_LANDING] = "daisy_ground_pound_landing",
|
||||||
[CHAR_ANIM_TRIPLE_JUMP_GROUND_POUND] = 'daisy_triple_jump_ground_pound_anim',
|
[CHAR_ANIM_TRIPLE_JUMP_GROUND_POUND] = "daisy_triple_jump_ground_pound_anim",
|
||||||
[CHAR_ANIM_UNLOCK_DOOR] = 'daisy_unlock_door',
|
[CHAR_ANIM_UNLOCK_DOOR] = "daisy_unlock_door",
|
||||||
[CHAR_ANIM_SWINGING_BOWSER] = 'daisy_swinging_bowser',
|
[CHAR_ANIM_SWINGING_BOWSER] = "daisy_swinging_bowser",
|
||||||
[CHAR_ANIM_HOLDING_BOWSER] = 'daisy_holding_bowser',
|
[CHAR_ANIM_HOLDING_BOWSER] = "daisy_holding_bowser",
|
||||||
[CHAR_ANIM_GRAB_BOWSER] = 'daisy_grab_bowser',
|
[CHAR_ANIM_GRAB_BOWSER] = "daisy_grab_bowser",
|
||||||
[CHAR_ANIM_BEND_KNESS_RIDING_SHELL] = 'daisy_dressjump',
|
[CHAR_ANIM_BEND_KNESS_RIDING_SHELL] = "daisy_dressjump",
|
||||||
}
|
}
|
||||||
|
|
||||||
local PALETTE_DAISY = {
|
local PALETTE_DAISY = {
|
||||||
|
@ -151,56 +149,8 @@ local PALETTE_DAISY = {
|
||||||
[EMBLEM] = { r = 0x00, g = 0xFF, b = 0xFF }
|
[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.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)
|
||||||
-- _G.charSelect.character_add_caps(E_MODEL_DAISY, capDAISY)
|
-- charSelect.character_add_caps(E_MODEL_DAISY, capDAISY)
|
||||||
_G.charSelect.character_add_voice(E_MODEL_DAISY, VOICETABLE_DAISY)
|
charSelect.character_add_voice(E_MODEL_DAISY, VOICETABLE_DAISY)
|
||||||
_G.charSelect.character_add_palette_preset(E_MODEL_DAISY, PALETTE_DAISY)
|
charSelect.character_add_palette_preset(E_MODEL_DAISY, PALETTE_DAISY)
|
||||||
|
character_add_animations(CT_DAISY, ANIMTABLE_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)
|
|
|
@ -1,32 +1,2 @@
|
||||||
-- name: [CS] Extra Characters
|
-- name: [CS] Extra Characters
|
||||||
-- description: [CS] Extra Characters\nBy Coop Deluxe Team\n\nThis Character Select pack adds other characters from the Mario series!
|
-- 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!
|
||||||
|
|
||||||
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)
|
|
|
@ -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")
|
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 = {
|
VOICETABLE_PEACH = {
|
||||||
[CHAR_SOUND_ATTACKED] = "peach_attacked.ogg",
|
[CHAR_SOUND_ATTACKED] = "peach_attacked.ogg",
|
||||||
[CHAR_SOUND_COUGHING1] = "peach_coughing1.ogg",
|
[CHAR_SOUND_COUGHING1] = "peach_coughing1.ogg",
|
||||||
|
@ -151,61 +149,8 @@ local PALETTE_PEACH = {
|
||||||
[EMBLEM] = { r = 0x00, g = 0x82, b = 0xFF }
|
[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.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)
|
||||||
-- _G.charSelect.character_add_caps(E_MODEL_PEACH, capPEACH)
|
-- charSelect.character_add_caps(E_MODEL_PEACH, capPEACH)
|
||||||
_G.charSelect.character_add_voice(E_MODEL_PEACH_PLAYER, VOICETABLE_PEACH)
|
charSelect.character_add_voice(E_MODEL_PEACH_PLAYER, VOICETABLE_PEACH)
|
||||||
_G.charSelect.character_add_palette_preset(E_MODEL_PEACH_PLAYER, PALETTE_PEACH)
|
charSelect.character_add_palette_preset(E_MODEL_PEACH_PLAYER, PALETTE_PEACH)
|
||||||
|
character_add_animations(CT_PEACH, ANIMTABLE_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)
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue