自食其力的土豆菜是好吃的土豆

This commit is contained in:
ws3917 2025-04-19 21:43:44 +08:00
parent 56396a8cf5
commit 5cf6b30d4c
9 changed files with 1191 additions and 1146 deletions

View File

@ -1,261 +1,297 @@
local ____lualib = require("lualib_bundle") local ____lualib = require("lualib_bundle")
local __TS__New = ____lualib.__TS__New local __TS__New = ____lualib.__TS__New
local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
local ____exports = {} local ____exports = {}
local ____storyteller = require("code.engine.storyteller") local ____storyteller = require("code.engine.storyteller")
local ST_SEMITONE = ____storyteller.ST_SEMITONE local ST_SEMITONE = ____storyteller.ST_SEMITONE
local STAudio = ____storyteller.STAudio local STAudio = ____storyteller.STAudio
local STDaemon = ____storyteller.STDaemon local STDaemon = ____storyteller.STDaemon
local STFont = ____storyteller.STFont local STFont = ____storyteller.STFont
local STFrames = ____storyteller.STFrames local STFrames = ____storyteller.STFrames
local STImage = ____storyteller.STImage local STImage = ____storyteller.STImage
local function assets(extras, ____bindingPattern0) local function assets(extras, ____bindingPattern0)
local sound local sound
local music local music
music = ____bindingPattern0.music music = ____bindingPattern0.music
sound = ____bindingPattern0.sound sound = ____bindingPattern0.sound
local menu_select = __TS__New(STAudio, "sounds/menu_select.ogg") local menu_select = __TS__New(STAudio, "sounds/menu_select.ogg")
return __TS__ObjectAssign( return __TS__ObjectAssign(
{ {
["f$fives"] = __TS__New(STFont, "fonts/fives.csv", "fonts/fives.png"), ["f$fives"] = __TS__New(STFont, "fonts/fives.csv", "fonts/fives.png"),
["f$helloplayer"] = __TS__New(STFont, "fonts/helloplayer.csv", "fonts/helloplayer.png"), ["f$helloplayer"] = __TS__New(STFont, "fonts/helloplayer.csv", "fonts/helloplayer.png"),
["ic$player$down"] = __TS__New(STFrames, "images/characters/player/down.json", "images/characters/player/down.png"), ["ic$player$down"] = __TS__New(STFrames, "images/characters/player/down.json",
["ic$player$down_plush"] = __TS__New(STFrames, "images/characters/player/down_plush.json", "images/characters/player/down_plush.png"), "images/characters/player/down.png"),
["ic$player$left"] = __TS__New(STFrames, "images/characters/player/left.json", "images/characters/player/left.png"), ["ic$player$down_plush"] = __TS__New(STFrames, "images/characters/player/down_plush.json",
["ic$player$left_plush"] = __TS__New(STFrames, "images/characters/player/left_plush.json", "images/characters/player/left_plush.png"), "images/characters/player/down_plush.png"),
["ic$player$right"] = __TS__New(STFrames, "images/characters/player/right.json", "images/characters/player/right.png"), ["ic$player$left"] = __TS__New(STFrames, "images/characters/player/left.json",
["ic$player$right_plush"] = __TS__New(STFrames, "images/characters/player/right_plush.json", "images/characters/player/right_plush.png"), "images/characters/player/left.png"),
["ic$player$sleep"] = __TS__New(STFrames, "images/characters/player/sleep.json", "images/characters/player/sleep.png"), ["ic$player$left_plush"] = __TS__New(STFrames, "images/characters/player/left_plush.json",
["ic$player$up"] = __TS__New(STFrames, "images/characters/player/up.json", "images/characters/player/up.png"), "images/characters/player/left_plush.png"),
["ic$player$up_plush"] = __TS__New(STFrames, "images/characters/player/up_plush.json", "images/characters/player/up_plush.png"), ["ic$player$right"] = __TS__New(STFrames, "images/characters/player/right.json",
["ic$player$what_side"] = __TS__New(STImage, "images/characters/player/what_side.png"), "images/characters/player/right.png"),
["ic$player$what_side_plush"] = __TS__New(STImage, "images/characters/player/what_side_plush.png"), ["ic$player$right_plush"] = __TS__New(STFrames, "images/characters/player/right_plush.json",
["ie$confused"] = __TS__New(STImage, "images/expressions/confused.png"), "images/characters/player/right_plush.png"),
["ie$ellipsis"] = __TS__New(STImage, "images/expressions/ellipsis.png"), ["ic$player$sleep"] = __TS__New(STFrames, "images/characters/player/sleep.json",
["ie$five"] = __TS__New(STImage, "images/expressions/five.png"), "images/characters/player/sleep.png"),
["ie$four"] = __TS__New(STImage, "images/expressions/four.png"), ["ic$player$up"] = __TS__New(STFrames, "images/characters/player/up.json", "images/characters/player/up.png"),
["ie$heart"] = __TS__New(STImage, "images/expressions/heart.png"), ["ic$player$up_plush"] = __TS__New(STFrames, "images/characters/player/up_plush.json",
["ie$note"] = __TS__New(STImage, "images/expressions/note.png"), "images/characters/player/up_plush.png"),
["ie$one"] = __TS__New(STImage, "images/expressions/one.png"), ["ic$player$what_side"] = __TS__New(STImage, "images/characters/player/what_side.png"),
["ie$surprise"] = __TS__New(STImage, "images/expressions/surprise.png"), ["ic$player$what_side_plush"] = __TS__New(STImage, "images/characters/player/what_side_plush.png"),
["ie$three"] = __TS__New(STImage, "images/expressions/three.png"), ["ie$confused"] = __TS__New(STImage, "images/expressions/confused.png"),
["ie$two"] = __TS__New(STImage, "images/expressions/two.png"), ["ie$ellipsis"] = __TS__New(STImage, "images/expressions/ellipsis.png"),
["ie$xicon"] = __TS__New(STImage, "images/expressions/xicon.png"), ["ie$five"] = __TS__New(STImage, "images/expressions/five.png"),
["if$common$mystery"] = __TS__New(STImage, "images/faces/common/mystery.png"), ["ie$four"] = __TS__New(STImage, "images/expressions/four.png"),
["if$player$annoyed"] = __TS__New(STImage, "images/faces/player/annoyed.png"), ["ie$heart"] = __TS__New(STImage, "images/expressions/heart.png"),
["if$player$annoyed_large"] = __TS__New(STImage, "images/faces/player/annoyed_large.png"), ["ie$note"] = __TS__New(STImage, "images/expressions/note.png"),
["if$player$confused"] = __TS__New(STImage, "images/faces/player/confused.png"), ["ie$one"] = __TS__New(STImage, "images/expressions/one.png"),
["if$player$confused_large"] = __TS__New(STImage, "images/faces/player/confused_large.png"), ["ie$surprise"] = __TS__New(STImage, "images/expressions/surprise.png"),
["if$player$cry"] = __TS__New(STFrames, "images/faces/player/cry.json", "images/faces/player/cry.png"), ["ie$three"] = __TS__New(STImage, "images/expressions/three.png"),
["if$player$cry_large"] = __TS__New(STFrames, "images/faces/player/cry_large.json", "images/faces/player/cry_large.png"), ["ie$two"] = __TS__New(STImage, "images/expressions/two.png"),
["if$player$default"] = __TS__New(STImage, "images/faces/player/default.png"), ["ie$xicon"] = __TS__New(STImage, "images/expressions/xicon.png"),
["if$player$default_large"] = __TS__New(STImage, "images/faces/player/default_large.png"), ["if$common$mystery"] = __TS__New(STImage, "images/faces/common/mystery.png"),
["if$player$determined"] = __TS__New(STImage, "images/faces/player/determined.png"), ["if$player$annoyed"] = __TS__New(STImage, "images/faces/player/annoyed.png"),
["if$player$determined_large"] = __TS__New(STImage, "images/faces/player/determined_large.png"), ["if$player$annoyed_large"] = __TS__New(STImage, "images/faces/player/annoyed_large.png"),
["if$player$determined2"] = __TS__New(STImage, "images/faces/player/determined2.png"), ["if$player$confused"] = __TS__New(STImage, "images/faces/player/confused.png"),
["if$player$determined2_large"] = __TS__New(STImage, "images/faces/player/determined2_large.png"), ["if$player$confused_large"] = __TS__New(STImage, "images/faces/player/confused_large.png"),
["if$player$happi"] = __TS__New(STImage, "images/faces/player/happi.png"), ["if$player$cry"] = __TS__New(STFrames, "images/faces/player/cry.json", "images/faces/player/cry.png"),
["if$player$happi_large"] = __TS__New(STImage, "images/faces/player/happi_large.png"), ["if$player$cry_large"] = __TS__New(STFrames, "images/faces/player/cry_large.json",
["if$player$happi2"] = __TS__New(STFrames, "images/faces/player/happi2.json", "images/faces/player/happi2.png"), "images/faces/player/cry_large.png"),
["if$player$happi2_large"] = __TS__New(STFrames, "images/faces/player/happi2_large.json", "images/faces/player/happi2_large.png"), ["if$player$default"] = __TS__New(STImage, "images/faces/player/default.png"),
["if$player$sad"] = __TS__New(STImage, "images/faces/player/sad.png"), ["if$player$default_large"] = __TS__New(STImage, "images/faces/player/default_large.png"),
["if$player$sad_large"] = __TS__New(STImage, "images/faces/player/sad_large.png"), ["if$player$determined"] = __TS__New(STImage, "images/faces/player/determined.png"),
["if$player$sad2"] = __TS__New(STImage, "images/faces/player/sad2.png"), ["if$player$determined_large"] = __TS__New(STImage, "images/faces/player/determined_large.png"),
["if$player$sad2_large"] = __TS__New(STImage, "images/faces/player/sad2_large.png"), ["if$player$determined2"] = __TS__New(STImage, "images/faces/player/determined2.png"),
["if$player$side"] = __TS__New(STImage, "images/faces/player/side.png"), ["if$player$determined2_large"] = __TS__New(STImage, "images/faces/player/determined2_large.png"),
["if$player$side_large"] = __TS__New(STImage, "images/faces/player/side_large.png"), ["if$player$happi"] = __TS__New(STImage, "images/faces/player/happi.png"),
["if$player$sigh"] = __TS__New(STImage, "images/faces/player/sigh.png"), ["if$player$happi_large"] = __TS__New(STImage, "images/faces/player/happi_large.png"),
["if$player$sigh_large"] = __TS__New(STImage, "images/faces/player/sigh_large.png"), ["if$player$happi2"] = __TS__New(STFrames, "images/faces/player/happi2.json",
["if$player$sleep"] = __TS__New(STImage, "images/faces/player/sleep.png"), "images/faces/player/happi2.png"),
["if$player$sleep_large"] = __TS__New(STImage, "images/faces/player/sleep_large.png"), ["if$player$happi2_large"] = __TS__New(STFrames, "images/faces/player/happi2_large.json",
["if$player$sodesuka"] = __TS__New(STImage, "images/faces/player/sodesuka.png"), "images/faces/player/happi2_large.png"),
["if$player$sodesuka_large"] = __TS__New(STImage, "images/faces/player/sodesuka_large.png"), ["if$player$sad"] = __TS__New(STImage, "images/faces/player/sad.png"),
["if$player$surprise"] = __TS__New(STImage, "images/faces/player/surprise.png"), ["if$player$sad_large"] = __TS__New(STImage, "images/faces/player/sad_large.png"),
["if$player$surprise_large"] = __TS__New(STImage, "images/faces/player/surprise_large.png"), ["if$player$sad2"] = __TS__New(STImage, "images/faces/player/sad2.png"),
["if$player$sweat"] = __TS__New(STImage, "images/faces/player/sweat.png"), ["if$player$sad2_large"] = __TS__New(STImage, "images/faces/player/sad2_large.png"),
["if$player$sweat_large"] = __TS__New(STImage, "images/faces/player/sweat_large.png"), ["if$player$side"] = __TS__New(STImage, "images/faces/player/side.png"),
["if$player$sweat2"] = __TS__New(STImage, "images/faces/player/sweat2.png"), ["if$player$side_large"] = __TS__New(STImage, "images/faces/player/side_large.png"),
["if$player$sweat2_large"] = __TS__New(STImage, "images/faces/player/sweat2_large.png"), ["if$player$sigh"] = __TS__New(STImage, "images/faces/player/sigh.png"),
["if$player$sweat3"] = __TS__New(STImage, "images/faces/player/sweat3.png"), ["if$player$sigh_large"] = __TS__New(STImage, "images/faces/player/sigh_large.png"),
["if$player$sweat3_large"] = __TS__New(STImage, "images/faces/player/sweat3_large.png"), ["if$player$sleep"] = __TS__New(STImage, "images/faces/player/sleep.png"),
["if$player$sweat4"] = __TS__New(STImage, "images/faces/player/sweat4.png"), ["if$player$sleep_large"] = __TS__New(STImage, "images/faces/player/sleep_large.png"),
["if$player$sweat4_large"] = __TS__New(STImage, "images/faces/player/sweat4_large.png"), ["if$player$sodesuka"] = __TS__New(STImage, "images/faces/player/sodesuka.png"),
["if$player$sweat5"] = __TS__New(STImage, "images/faces/player/sweat5.png"), ["if$player$sodesuka_large"] = __TS__New(STImage, "images/faces/player/sodesuka_large.png"),
["if$player$sweat5_large"] = __TS__New(STImage, "images/faces/player/sweat5_large.png"), ["if$player$surprise"] = __TS__New(STImage, "images/faces/player/surprise.png"),
["if$player$upset"] = __TS__New(STImage, "images/faces/player/upset.png"), ["if$player$surprise_large"] = __TS__New(STImage, "images/faces/player/surprise_large.png"),
["if$player$upset_large"] = __TS__New(STImage, "images/faces/player/upset_large.png"), ["if$player$sweat"] = __TS__New(STImage, "images/faces/player/sweat.png"),
["if$player$upset2"] = __TS__New(STImage, "images/faces/player/upset2.png"), ["if$player$sweat_large"] = __TS__New(STImage, "images/faces/player/sweat_large.png"),
["if$player$upset2_large"] = __TS__New(STImage, "images/faces/player/upset2_large.png"), ["if$player$sweat2"] = __TS__New(STImage, "images/faces/player/sweat2.png"),
["if$player$what"] = __TS__New(STImage, "images/faces/player/what.png"), ["if$player$sweat2_large"] = __TS__New(STImage, "images/faces/player/sweat2_large.png"),
["if$player$what_large"] = __TS__New(STImage, "images/faces/player/what_large.png"), ["if$player$sweat3"] = __TS__New(STImage, "images/faces/player/sweat3.png"),
["if$player$wink"] = __TS__New(STImage, "images/faces/player/wink.png"), ["if$player$sweat3_large"] = __TS__New(STImage, "images/faces/player/sweat3_large.png"),
["if$player$wink_large"] = __TS__New(STImage, "images/faces/player/wink_large.png"), ["if$player$sweat4"] = __TS__New(STImage, "images/faces/player/sweat4.png"),
["if$player$xeyes"] = __TS__New(STImage, "images/faces/player/xeyes.png"), ["if$player$sweat4_large"] = __TS__New(STImage, "images/faces/player/sweat4_large.png"),
["if$player$xeyes_large"] = __TS__New(STImage, "images/faces/player/xeyes_large.png"), ["if$player$sweat5"] = __TS__New(STImage, "images/faces/player/sweat5.png"),
["ig$rhythm$backdrop"] = __TS__New(STImage, "images/games/rhythm/backdrop.png"), ["if$player$sweat5_large"] = __TS__New(STImage, "images/faces/player/sweat5_large.png"),
["ig$rhythm$circle"] = __TS__New(STImage, "images/games/rhythm/circle.png"), ["if$player$upset"] = __TS__New(STImage, "images/faces/player/upset.png"),
["ig$rhythm$emotion_anxiety"] = __TS__New(STFrames, "images/games/rhythm/emotion_anxiety.json", "images/games/rhythm/emotion_anxiety.png"), ["if$player$upset_large"] = __TS__New(STImage, "images/faces/player/upset_large.png"),
["ig$rhythm$emotion_depression"] = __TS__New(STFrames, "images/games/rhythm/emotion_depression.json", "images/games/rhythm/emotion_depression.png"), ["if$player$upset2"] = __TS__New(STImage, "images/faces/player/upset2.png"),
["ig$rhythm$expand_middle"] = __TS__New(STImage, "images/games/rhythm/expand_middle.png"), ["if$player$upset2_large"] = __TS__New(STImage, "images/faces/player/upset2_large.png"),
["ig$rhythm$expand_side"] = __TS__New(STImage, "images/games/rhythm/expand_side.png"), ["if$player$what"] = __TS__New(STImage, "images/faces/player/what.png"),
["ig$rhythm$flare"] = __TS__New(STFrames, "images/games/rhythm/flare.json", "images/games/rhythm/flare.png"), ["if$player$what_large"] = __TS__New(STImage, "images/faces/player/what_large.png"),
["ig$rhythm$flare_diag"] = __TS__New(STFrames, "images/games/rhythm/flare_diag.json", "images/games/rhythm/flare_diag.png"), ["if$player$wink"] = __TS__New(STImage, "images/faces/player/wink.png"),
["ig$rhythm$joystick_cardinal1"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal1.json", "images/games/rhythm/joystick_cardinal1.png"), ["if$player$wink_large"] = __TS__New(STImage, "images/faces/player/wink_large.png"),
["ig$rhythm$joystick_cardinal2"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal2.json", "images/games/rhythm/joystick_cardinal2.png"), ["if$player$xeyes"] = __TS__New(STImage, "images/faces/player/xeyes.png"),
["ig$rhythm$joystick_cardinal3"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal3.json", "images/games/rhythm/joystick_cardinal3.png"), ["if$player$xeyes_large"] = __TS__New(STImage, "images/faces/player/xeyes_large.png"),
["ig$rhythm$joystick_cardinal4"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal4.json", "images/games/rhythm/joystick_cardinal4.png"), ["ig$rhythm$backdrop"] = __TS__New(STImage, "images/games/rhythm/backdrop.png"),
["ig$rhythm$joystick_cardinal5"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal5.json", "images/games/rhythm/joystick_cardinal5.png"), ["ig$rhythm$circle"] = __TS__New(STImage, "images/games/rhythm/circle.png"),
["ig$rhythm$joystick_cardinal6"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal6.json", "images/games/rhythm/joystick_cardinal6.png"), ["ig$rhythm$emotion_anxiety"] = __TS__New(STFrames, "images/games/rhythm/emotion_anxiety.json",
["ig$rhythm$joystick_diagonal1"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal1.json", "images/games/rhythm/joystick_diagonal1.png"), "images/games/rhythm/emotion_anxiety.png"),
["ig$rhythm$joystick_diagonal2"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal2.json", "images/games/rhythm/joystick_diagonal2.png"), ["ig$rhythm$emotion_depression"] = __TS__New(STFrames, "images/games/rhythm/emotion_depression.json",
["ig$rhythm$joystick_diagonal3"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal3.json", "images/games/rhythm/joystick_diagonal3.png"), "images/games/rhythm/emotion_depression.png"),
["ig$rhythm$joystick_diagonal4"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal4.json", "images/games/rhythm/joystick_diagonal4.png"), ["ig$rhythm$expand_middle"] = __TS__New(STImage, "images/games/rhythm/expand_middle.png"),
["ig$rhythm$joystick_diagonal5"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal5.json", "images/games/rhythm/joystick_diagonal5.png"), ["ig$rhythm$expand_side"] = __TS__New(STImage, "images/games/rhythm/expand_side.png"),
["ig$rhythm$joystick_diagonal6"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal6.json", "images/games/rhythm/joystick_diagonal6.png"), ["ig$rhythm$flare"] = __TS__New(STFrames, "images/games/rhythm/flare.json", "images/games/rhythm/flare.png"),
["ig$rhythm$joystick_neutral1"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral1.json", "images/games/rhythm/joystick_neutral1.png"), ["ig$rhythm$flare_diag"] = __TS__New(STFrames, "images/games/rhythm/flare_diag.json",
["ig$rhythm$joystick_neutral2"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral2.json", "images/games/rhythm/joystick_neutral2.png"), "images/games/rhythm/flare_diag.png"),
["ig$rhythm$joystick_neutral3"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral3.json", "images/games/rhythm/joystick_neutral3.png"), ["ig$rhythm$joystick_cardinal1"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal1.json",
["ig$rhythm$joystick_neutral4"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral4.json", "images/games/rhythm/joystick_neutral4.png"), "images/games/rhythm/joystick_cardinal1.png"),
["ig$rhythm$joystick_neutral5"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral5.json", "images/games/rhythm/joystick_neutral5.png"), ["ig$rhythm$joystick_cardinal2"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal2.json",
["ig$rhythm$joystick_neutral6"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral6.json", "images/games/rhythm/joystick_neutral6.png"), "images/games/rhythm/joystick_cardinal2.png"),
["im$ch_dropdown"] = __TS__New(STImage, "images/menu/ch_dropdown.png"), ["ig$rhythm$joystick_cardinal3"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal3.json",
["im$dl_box"] = __TS__New(STImage, "images/menu/dl_box.png"), "images/games/rhythm/joystick_cardinal3.png"),
["im$dl_circle"] = __TS__New(STImage, "images/menu/dl_circle.png"), ["ig$rhythm$joystick_cardinal4"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal4.json",
["im$dl_corner"] = __TS__New(STImage, "images/menu/dl_corner.png"), "images/games/rhythm/joystick_cardinal4.png"),
["im$dl_edge"] = __TS__New(STImage, "images/menu/dl_edge.png"), ["ig$rhythm$joystick_cardinal5"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal5.json",
["im$logo"] = __TS__New(STFrames, "images/menu/logo.json", "images/menu/logo.png"), "images/games/rhythm/joystick_cardinal5.png"),
["im$ov_bubble"] = __TS__New(STFrames, "images/menu/ov_bubble.json", "images/menu/ov_bubble.png"), ["ig$rhythm$joystick_cardinal6"] = __TS__New(STFrames, "images/games/rhythm/joystick_cardinal6.json",
["im$ov_modal"] = __TS__New(STImage, "images/menu/ov_modal.png"), "images/games/rhythm/joystick_cardinal6.png"),
["im$ov_toast"] = __TS__New(STImage, "images/menu/ov_toast.png"), ["ig$rhythm$joystick_diagonal1"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal1.json",
["im$tt_edge"] = __TS__New(STImage, "images/menu/tt_edge.png"), "images/games/rhythm/joystick_diagonal1.png"),
["im$tt_side"] = __TS__New(STImage, "images/menu/tt_side.png"), ["ig$rhythm$joystick_diagonal2"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal2.json",
["im$volume"] = __TS__New(STFrames, "images/menu/volume.json", "images/menu/volume.png"), "images/games/rhythm/joystick_diagonal2.png"),
["m$mainmenu"] = __TS__New(STDaemon, "music/mainmenu.ogg", {mixer = music, gain = 0.6, loop = true}), ["ig$rhythm$joystick_diagonal3"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal3.json",
["s$awaken"] = __TS__New(STDaemon, "sounds/awaken.ogg", {mixer = sound, gain = 0.6}), "images/games/rhythm/joystick_diagonal3.png"),
["s$beep_error"] = __TS__New( ["ig$rhythm$joystick_diagonal4"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal4.json",
STDaemon, "images/games/rhythm/joystick_diagonal4.png"),
__TS__New(STAudio, "sounds/beep_error.ogg"), ["ig$rhythm$joystick_diagonal5"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal5.json",
{mixer = sound} "images/games/rhythm/joystick_diagonal5.png"),
), ["ig$rhythm$joystick_diagonal6"] = __TS__New(STFrames, "images/games/rhythm/joystick_diagonal6.json",
["s$beep_power"] = __TS__New( "images/games/rhythm/joystick_diagonal6.png"),
STDaemon, ["ig$rhythm$joystick_neutral1"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral1.json",
__TS__New(STAudio, "sounds/beep_power.ogg"), "images/games/rhythm/joystick_neutral1.png"),
{mixer = sound, gain = 0.8} ["ig$rhythm$joystick_neutral2"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral2.json",
), "images/games/rhythm/joystick_neutral2.png"),
["s$beep_sustain"] = __TS__New( ["ig$rhythm$joystick_neutral3"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral3.json",
STDaemon, "images/games/rhythm/joystick_neutral3.png"),
__TS__New(STAudio, "sounds/beep_sustain.ogg"), ["ig$rhythm$joystick_neutral4"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral4.json",
{mixer = sound} "images/games/rhythm/joystick_neutral4.png"),
), ["ig$rhythm$joystick_neutral5"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral5.json",
["s$driller"] = __TS__New(STDaemon, "sounds/driller.ogg", {mixer = sound, gain = 0.35, rate = 1.2}), "images/games/rhythm/joystick_neutral5.png"),
["s$itemget"] = __TS__New( ["ig$rhythm$joystick_neutral6"] = __TS__New(STFrames, "images/games/rhythm/joystick_neutral6.json",
STDaemon, "images/games/rhythm/joystick_neutral6.png"),
__TS__New(STAudio, "sounds/itemget.ogg"), ["im$ch_dropdown"] = __TS__New(STImage, "images/menu/ch_dropdown.png"),
{mixer = sound} ["im$dl_box"] = __TS__New(STImage, "images/menu/dl_box.png"),
), ["im$dl_circle"] = __TS__New(STImage, "images/menu/dl_circle.png"),
["s$itemuse"] = __TS__New( ["im$dl_corner"] = __TS__New(STImage, "images/menu/dl_corner.png"),
STDaemon, ["im$dl_edge"] = __TS__New(STImage, "images/menu/dl_edge.png"),
__TS__New(STAudio, "sounds/itemuse.ogg"), ["im$logo"] = __TS__New(STFrames, "images/menu/logo.json", "images/menu/logo.png"),
{mixer = sound} ["im$ov_bubble"] = __TS__New(STFrames, "images/menu/ov_bubble.json", "images/menu/ov_bubble.png"),
), ["im$ov_modal"] = __TS__New(STImage, "images/menu/ov_modal.png"),
["s$menu_navigate"] = __TS__New( ["im$ov_toast"] = __TS__New(STImage, "images/menu/ov_toast.png"),
STDaemon, ["im$tt_edge"] = __TS__New(STImage, "images/menu/tt_edge.png"),
__TS__New(STAudio, "sounds/menu_navigate.ogg"), ["im$tt_side"] = __TS__New(STImage, "images/menu/tt_side.png"),
{mixer = sound, gain = 0.9} ["im$volume"] = __TS__New(STFrames, "images/menu/volume.json", "images/menu/volume.png"),
), ["m$mainmenu"] = __TS__New(STDaemon, "music/mainmenu.ogg", { mixer = music, gain = 0.6, loop = true }),
["s$menu_select_huge"] = __TS__New(STDaemon, "sounds/menu_select_huge.ogg", {mixer = sound, gain = 0.6}), ["s$awaken"] = __TS__New(STDaemon, "sounds/awaken.ogg", { mixer = sound, gain = 0.6 }),
["s$menu_select"] = __TS__New(STDaemon, menu_select, {mixer = sound, gain = 0.6}), ["im$menu_item"] = __TS__New(STImage, "images/menu/menu_item.png"), -- 四個貼圖的予加載
["s$menu_select$music"] = __TS__New(STDaemon, menu_select, {mixer = music, gain = 0.6}), ["im$menu_ponder"] = __TS__New(STImage, "images/menu/menu_ponder.png"),
["s$noise"] = __TS__New( ["im$menu_options"] = __TS__New(STImage, "images/menu/menu_options.png"),
STDaemon, ["im$menu_save"] = __TS__New(STImage, "images/menu/menu_save.png"),
__TS__New(STAudio, "sounds/noise.ogg"), ["s$beep_error"] = __TS__New(
{mixer = sound, gain = 0.4} STDaemon,
), __TS__New(STAudio, "sounds/beep_error.ogg"),
["s$reload_ex"] = __TS__New(STDaemon, "sounds/reload_ex.ogg", {mixer = sound}), { mixer = sound }
["s$reload"] = __TS__New(STDaemon, "sounds/reload.ogg", {mixer = sound}), ),
["s$ry_bounce"] = __TS__New( ["s$beep_power"] = __TS__New(
STDaemon, STDaemon,
__TS__New(STAudio, "sounds/ry_bounce.ogg"), __TS__New(STAudio, "sounds/beep_power.ogg"),
{mixer = sound, gain = 0.5} { mixer = sound, gain = 0.8 }
), ),
["s$ry_split"] = __TS__New( ["s$beep_sustain"] = __TS__New(
STDaemon, STDaemon,
__TS__New(STAudio, "sounds/ry_split.ogg"), __TS__New(STAudio, "sounds/beep_sustain.ogg"),
{mixer = sound, gain = 0.8} { mixer = sound }
), ),
["s$scissors"] = __TS__New( ["s$driller"] = __TS__New(STDaemon, "sounds/driller.ogg", { mixer = sound, gain = 0.35, rate = 1.2 }),
STDaemon, ["s$itemget"] = __TS__New(
__TS__New(STAudio, "sounds/scissors.ogg"), STDaemon,
{mixer = sound, rate = 0.75} __TS__New(STAudio, "sounds/itemget.ogg"),
), { mixer = sound }
["s$step_bush"] = __TS__New( ),
STDaemon, ["s$itemuse"] = __TS__New(
__TS__New(STAudio, "sounds/step_bush.ogg"), STDaemon,
{mixer = sound, gain = 0.3} __TS__New(STAudio, "sounds/itemuse.ogg"),
), { mixer = sound }
["s$step_carpet"] = __TS__New( ),
STDaemon, ["s$menu_navigate"] = __TS__New(
__TS__New(STAudio, "sounds/step_carpet.ogg"), STDaemon,
{mixer = sound, gain = 1} __TS__New(STAudio, "sounds/menu_navigate.ogg"),
), { mixer = sound, gain = 0.9 }
["s$step_ceramic"] = __TS__New( ),
STDaemon, ["s$menu_select_huge"] = __TS__New(STDaemon, "sounds/menu_select_huge.ogg", { mixer = sound, gain = 0.6 }),
__TS__New(STAudio, "sounds/step_ceramic.ogg"), ["s$menu_select"] = __TS__New(STDaemon, menu_select, { mixer = sound, gain = 0.6 }),
{mixer = sound, gain = 0.25} ["s$menu_select$music"] = __TS__New(STDaemon, menu_select, { mixer = music, gain = 0.6 }),
), ["s$noise"] = __TS__New(
["s$step_concrete"] = __TS__New( STDaemon,
STDaemon, __TS__New(STAudio, "sounds/noise.ogg"),
__TS__New(STAudio, "sounds/step_concrete.ogg"), { mixer = sound, gain = 0.4 }
{mixer = sound, gain = 0.8, rate = 1.2} ),
), ["s$reload_ex"] = __TS__New(STDaemon, "sounds/reload_ex.ogg", { mixer = sound }),
["s$step_glass"] = __TS__New( ["s$reload"] = __TS__New(STDaemon, "sounds/reload.ogg", { mixer = sound }),
STDaemon, ["s$ry_bounce"] = __TS__New(
__TS__New(STAudio, "sounds/step_glass.ogg"), STDaemon,
{mixer = sound, gain = 0.6} __TS__New(STAudio, "sounds/ry_bounce.ogg"),
), { mixer = sound, gain = 0.5 }
["s$step_grass"] = __TS__New( ),
STDaemon, ["s$ry_split"] = __TS__New(
__TS__New(STAudio, "sounds/step_grass.ogg"), STDaemon,
{mixer = sound, gain = 0.2} __TS__New(STAudio, "sounds/ry_split.ogg"),
), { mixer = sound, gain = 0.8 }
["s$step_gravel"] = __TS__New( ),
STDaemon, ["s$scissors"] = __TS__New(
__TS__New(STAudio, "sounds/step_gravel.ogg"), STDaemon,
{mixer = sound, gain = 0.5} __TS__New(STAudio, "sounds/scissors.ogg"),
), { mixer = sound, rate = 0.75 }
["s$step_metal"] = __TS__New( ),
STDaemon, ["s$step_bush"] = __TS__New(
__TS__New(STAudio, "sounds/step_metal.ogg"), STDaemon,
{mixer = sound, gain = 0.5, rate = ST_SEMITONE ^ 2} __TS__New(STAudio, "sounds/step_bush.ogg"),
), { mixer = sound, gain = 0.3 }
["s$step_plastic"] = __TS__New( ),
STDaemon, ["s$step_carpet"] = __TS__New(
__TS__New(STAudio, "sounds/step_plastic.ogg"), STDaemon,
{mixer = sound, gain = 1, rate = 0.8} __TS__New(STAudio, "sounds/step_carpet.ogg"),
), { mixer = sound, gain = 1 }
["s$warp_in"] = __TS__New( ),
STDaemon, ["s$step_ceramic"] = __TS__New(
__TS__New(STAudio, "sounds/warp_in.ogg"), STDaemon,
{mixer = sound} __TS__New(STAudio, "sounds/step_ceramic.ogg"),
), { mixer = sound, gain = 0.25 }
["s$warp_out"] = __TS__New( ),
STDaemon, ["s$step_concrete"] = __TS__New(
__TS__New(STAudio, "sounds/warp_out.ogg"), STDaemon,
{mixer = sound} __TS__New(STAudio, "sounds/step_concrete.ogg"),
), { mixer = sound, gain = 0.8, rate = 1.2 }
["s$warp_speed"] = __TS__New( ),
STDaemon, ["s$step_glass"] = __TS__New(
__TS__New(STAudio, "sounds/warp_speed.ogg"), STDaemon,
{mixer = sound, loop = true} __TS__New(STAudio, "sounds/step_glass.ogg"),
), { mixer = sound, gain = 0.6 }
["v$player"] = __TS__New( ),
STDaemon, ["s$step_grass"] = __TS__New(
__TS__New(STAudio, "voices/player.ogg"), STDaemon,
{mixer = sound, gain = 0.7} __TS__New(STAudio, "sounds/step_grass.ogg"),
) { mixer = sound, gain = 0.2 }
}, ),
extras ["s$step_gravel"] = __TS__New(
) STDaemon,
end __TS__New(STAudio, "sounds/step_gravel.ogg"),
____exports.default = assets { mixer = sound, gain = 0.5 }
return ____exports ),
["s$step_metal"] = __TS__New(
STDaemon,
__TS__New(STAudio, "sounds/step_metal.ogg"),
{ mixer = sound, gain = 0.5, rate = ST_SEMITONE ^ 2 }
),
["s$step_plastic"] = __TS__New(
STDaemon,
__TS__New(STAudio, "sounds/step_plastic.ogg"),
{ mixer = sound, gain = 1, rate = 0.8 }
),
["s$warp_in"] = __TS__New(
STDaemon,
__TS__New(STAudio, "sounds/warp_in.ogg"),
{ mixer = sound }
),
["s$warp_out"] = __TS__New(
STDaemon,
__TS__New(STAudio, "sounds/warp_out.ogg"),
{ mixer = sound }
),
["s$warp_speed"] = __TS__New(
STDaemon,
__TS__New(STAudio, "sounds/warp_speed.ogg"),
{ mixer = sound, loop = true }
),
["v$player"] = __TS__New(
STDaemon,
__TS__New(STAudio, "voices/player.ogg"),
{ mixer = sound, gain = 0.7 }
)
},
extras
)
end
____exports.default = assets
return ____exports

View File

@ -247,26 +247,28 @@ local function atlas(assets, batch, ____debug, game, ____bindingPattern0, ____bi
player_menu.children[1]:attach(unpack(ST:populate( player_menu.children[1]:attach(unpack(ST:populate(
4, 4,
function(i) function(i)
return __TS__New(STText, local imageKeys = {
"im$menu_item",
"im$menu_ponder",
"im$menu_options",
"im$menu_save"
}
return __TS__New(
STSprite,
{ {
font = assets["f$fives"], image = assets[imageKeys[i + 1]],
anchor = { x = 0.5 }, anchor = { x = 0.5, y = 0.5 },
position = { y = i * 7 }, position = { y = i * 7.5 + 2 }, -- 此處是「y = i * 間距 ± 基準座標偏移值」
content = ({ text.menu1, text.menu2, text.menu3, text.menu4 }) scale = { x = 0.6, y = 0.6 } -- x軸和y軸的縮放
[i + 1] }
}):addTicker(function(self) ):addTicker(function(self)
if atlas.target == "menu" and atlas:selection() == ({ "item", "ponder", "options", "save" })[i + 1] then -- 選中狀態處理(通過更改透明度)
self.color.red = 255 if atlas.target == "menu" and atlas:selection() == ({ "item", "ponder", "options", "save" })[i + 1] then -- 選中
self.color.green = 255 self.alpha.value = 1
self.color.blue = 255 elseif i == 0 and #inventory == 0 then -- item不可用時
elseif i == 0 and #inventory == 0 then self.alpha.value = 0.25
self.color.red = 63
self.color.green = 63
self.color.blue = 63
else else
self.color.red = 127 self.alpha.value = 0.5 -- 未選中
self.color.green = 127
self.color.blue = 127
end end
end) end)
end end

View File

@ -14,13 +14,14 @@ local world = ____global.world
local ____launcher = require("code.screens.launcher") local ____launcher = require("code.screens.launcher")
local mouseButtonMenu = ____launcher.mouseButtonMenu local mouseButtonMenu = ____launcher.mouseButtonMenu
local function textGen() local function textGen()
return {header = "(Are you sure?)\n{color=0xff3f3f}(Unsaved data in this\nworld will be lost.)", button1 = "STAY", button2 = "EXIT"} return { header = "(Are you sure?)\n{color=0xff3f3f}(Unsaved data in this\nworld will be lost.)", button1 = "STAY", button2 =
"EXIT" }
end end
local function acquit(assets, atlas, batch, ____debug, ____bindingPattern0) local function acquit(assets, atlas, batch, ____debug, ____bindingPattern0)
local screen local screen
screen = ____bindingPattern0.screen screen = ____bindingPattern0.screen
local text = textGen() local text = textGen()
local state = {acquitted = false, debug = false} local state = { acquitted = false, debug = false }
return { return {
text = text, text = text,
state = state, state = state,
@ -47,12 +48,12 @@ local function acquit(assets, atlas, batch, ____debug, ____bindingPattern0)
__TS__New(STRectangle, { __TS__New(STRectangle, {
alpha = 0.5, alpha = 0.5,
anchor = 0.5, anchor = 0.5,
size = {x = 240, y = 180}, size = { x = 240, y = 180 },
color = 0, color = 0,
priority = -3 priority = -3
}), }),
__TS__New(STRectangle, {anchor = 0.5, size = {x = 180, y = 90}, color = 0, priority = -2}), __TS__New(STRectangle, { anchor = 0.5, size = { x = 180, y = 90 }, color = 0, priority = -2 }),
__TS__New(STContainer, {priority = -1}):addDrawer(function(self) __TS__New(STContainer, { priority = -1 }):addDrawer(function(self)
love.graphics.setLineWidth(1 / 3) love.graphics.setLineWidth(1 / 3)
love.graphics.rectangle( love.graphics.rectangle(
"line", "line",
@ -68,53 +69,55 @@ local function acquit(assets, atlas, batch, ____debug, ____bindingPattern0)
screen:attach(wrapper) screen:attach(wrapper)
local ____self_2 = mouseButtonMenu( local ____self_2 = mouseButtonMenu(
wrapper, wrapper,
{main = ST:populate( {
3, main = ST:populate(
function(i) 3,
local content = ({text.header, text.button1, text.button2})[i + 1] function(i)
local metadata local content = ({ text.header, text.button1, text.button2 })[i + 1]
metadata = { local metadata
disabled = i == 0, metadata = {
action = function(____, controller) disabled = i == 0,
repeat action = function(____, controller)
local ____switch12 = i repeat
local ____cond12 = ____switch12 == 1 local ____switch12 = i
if ____cond12 then local ____cond12 = ____switch12 == 1
controller["goto"](controller, nil) if ____cond12 then
metadata.disabled = true controller["goto"](controller, nil)
state.acquitted = false metadata.disabled = true
break state.acquitted = false
end break
____cond12 = ____cond12 or ____switch12 == 2 end
if ____cond12 then ____cond12 = ____cond12 or ____switch12 == 2
love.event.quit() if ____cond12 then
break love.event.quit()
end break
until true end
end until true
} end
local position = 0.5
return __TS__New(
STHitbox,
{
anchor = 0.5,
metadata = metadata,
position = {
x = (i == 0 and 0 or ST:spread(45, i - 1, 2)) - position,
y = (i == 0 and -8 or 24) - position
},
size = i == 0 and 0 or assets["f$fives"]:compute(content),
children = {__TS__New(STText, {
anchor = 0.5,
justify = i == 0 and 0.5 or nil,
font = i == 0 and assets["f$helloplayer"] or assets["f$fives"],
position = position,
content = content
})}
} }
) local position = 0.5
end return __TS__New(
)}, STHitbox,
{
anchor = 0.5,
metadata = metadata,
position = {
x = (i == 0 and 0 or ST:spread(45, i - 1, 2)) - position,
y = (i == 0 and -8 or 24) - position
},
size = i == 0 and 0 or assets["f$fives"]:compute(content),
children = { __TS__New(STText, {
anchor = 0.5,
justify = i == 0 and 0.5 or nil,
font = i == 0 and assets["f$helloplayer"] or assets["f$fives"],
position = position,
content = content
}) }
}
)
end
)
},
"main" "main"
) )
____self_2["then"]( ____self_2["then"](

View File

@ -247,26 +247,28 @@ local function atlas(assets, batch, ____debug, game, ____bindingPattern0, ____bi
player_menu.children[1]:attach(unpack(ST:populate( player_menu.children[1]:attach(unpack(ST:populate(
4, 4,
function(i) function(i)
return __TS__New(STText, local imageKeys = {
"im$menu_item",
"im$menu_ponder",
"im$menu_options",
"im$menu_save"
}
return __TS__New(
STSprite,
{ {
font = assets["f$fives"], image = assets[imageKeys[i + 1]],
anchor = { x = 0.5 }, anchor = { x = 0.5, y = 0.5 },
position = { y = i * 7 }, position = { y = i * 7.5 + 2 }, -- 此處是「y = i * 間距 ± 基準座標偏移值」
content = ({ text.menu1, text.menu2, text.menu3, text.menu4 }) scale = { x = 0.6, y = 0.6 } -- x軸和y軸的縮放
[i + 1] }
}):addTicker(function(self) ):addTicker(function(self)
if atlas.target == "menu" and atlas:selection() == ({ "item", "ponder", "options", "save" })[i + 1] then -- 選中狀態處理(通過更改透明度)
self.color.red = 255 if atlas.target == "menu" and atlas:selection() == ({ "item", "ponder", "options", "save" })[i + 1] then -- 選中
self.color.green = 255 self.alpha.value = 1
self.color.blue = 255 elseif i == 0 and #inventory == 0 then -- item不可用時
elseif i == 0 and #inventory == 0 then self.alpha.value = 0.25
self.color.red = 63
self.color.green = 63
self.color.blue = 63
else else
self.color.red = 127 self.alpha.value = 0.5 -- 未選中
self.color.green = 127
self.color.blue = 127
end end
end) end)
end end

View File

@ -41,22 +41,22 @@ local function textGen()
end end
local help = { {} } local help = { {} }
for ____, line in ipairs({ for ____, line in ipairs({
"ed - toggle engine debug display", "ed - toggle engine debug display",
"fc - toggle map freecam", "fc - toggle map freecam",
"fps - get fps", "fps - get fps",
"fps <value> - set fps", "fps <value> - set fps",
"help [page] - this command", "help [page] - this command",
"r - return to last save", "r - return to last save",
"reset [level] - reset save file", "reset [level] - reset save file",
"rm - get map room index", "rm - get map room index",
"rm <value> - set map room index", "rm <value> - set map room index",
"sk [page] - get save file keys", "sk [page] - get save file keys",
"spd - get game speed", "spd - get game speed",
"spd <value> - set game speed", "spd <value> - set game speed",
"sv <key> - get save file value", "sv <key> - get save file value",
"sv <key> <value> - set save file value", "sv <key> <value> - set save file value",
"tp <x> <y> - teleport player" "tp <x> <y> - teleport player"
}) do }) do
local ar = help[#help] local ar = help[#help]
if #ar == 13 then if #ar == 13 then
help[#help + 1] = { line } help[#help + 1] = { line }

File diff suppressed because it is too large Load Diff

View File

@ -15,70 +15,70 @@ local function textGen()
return { return {
"<p:player>(A pail. Good for collecting things.)", "<p:player>(A pail. Good for collecting things.)",
unpack(accessor.event_home_bucket and ({ unpack(accessor.event_home_bucket and ({
"<p:player><f:sigh>(Apart from rainwater, apparently.)" "<p:player><f:sigh>(Apart from rainwater, apparently.)"
}) or ({})) }) or ({}))
} }
end end
}, },
item_card = { item_card = {
name = "Library Card", name = "Library Card",
info = { info = {
"<p:player>(A library card with a blued, jeweled strip.)" "<p:player>(A library card with a blued, jeweled strip.)"
} }
}, },
item_drill = { item_drill = {
name = "Drill", name = "Drill",
info = function() info = function()
return ({ { return ({ {
"<p:player>(An electric drill, fully charged.)" "<p:player>(An electric drill, fully charged.)"
}, { }, {
"<p:player>(An electric drill, half-charged.)" "<p:player>(An electric drill, half-charged.)"
}, { }, {
"<p:player>(An electric drill. The batteries are dead.)" "<p:player>(An electric drill. The batteries are dead.)"
} }) } })
[math.max((accessor.item_crowbar and 1 or 0) + (accessor.state_redleaf_gate == 1 and 1 or 0), 0) + 1] [math.max((accessor.item_crowbar and 1 or 0) + (accessor.state_redleaf_gate == 1 and 1 or 0), 0) + 1]
end end
}, },
item_goatplush = { item_goatplush = {
name = "Plushie", name = "Plushie",
info1a = { info1a = {
"<p:player>(Never hurts to have one of these around.)" "<p:player>(Never hurts to have one of these around.)"
}, },
info1b = { info1b = {
"Wear it", "Wear it",
"Do nothing" "Do nothing"
}, },
info1c = { info1c = {
"<p:player><f:sigh>(Up you go.)" "<p:player><f:sigh>(Up you go.)"
}, },
info2a = { info2a = {
"<p:player><f:wink>(A worn plushie.)" "<p:player><f:wink>(A worn plushie.)"
}, },
info2b = { info2b = {
"Take it off", "Take it off",
"Do nothing" "Do nothing"
}, },
info2c = { info2c = {
"<p:player><f:sigh>(I'll take it off for now.)" "<p:player><f:sigh>(I'll take it off for now.)"
} }
}, },
item_rope = { item_rope = {
name = "Rope", name = "Rope",
info = function() info = function()
return accessor.plot < 2 and ({ return accessor.plot < 2 and ({
"<p:player>(A worn rope, nearly at its end.)" "<p:player>(A worn rope, nearly at its end.)"
}) or }) or
(accessor.plot < 3 and ({ "<p:player><f:side>(If only this were longer...)", accessor.item_cover and "<p:player><f:sweat4>(... then I wouldn't have to make ropes out of blankets.)" or "<p:player>(... maybe there's something else I could make a rope out of.)" }) or ({ (accessor.plot < 3 and ({ "<p:player><f:side>(If only this were longer...)", accessor.item_cover and "<p:player><f:sweat4>(... then I wouldn't have to make ropes out of blankets.)" or "<p:player>(... maybe there's something else I could make a rope out of.)" }) or ({
"<p:player>(A worn rope, nearly at its end.)", "<p:player>(A worn rope, nearly at its end.)",
"<p:player><f:determined>(Nothing like the one I made myself.)" "<p:player><f:determined>(Nothing like the one I made myself.)"
})) }))
end end
}, },
item_scissors = { item_scissors = {
name = "Scissors", name = "Scissors",
info = { info = {
"<p:player>An average pair of kitchen scissors." "<p:player>An average pair of kitchen scissors."
} }
} }
} }
end end

View File

@ -294,93 +294,93 @@ local function textGen(pager)
name = function() return accessor.item_glove1 and accessor.item_glove2 and "Work Gloves" or "Work Glove" end, name = function() return accessor.item_glove1 and accessor.item_glove2 and "Work Gloves" or "Work Glove" end,
info = function() info = function()
return accessor.item_glove1 and accessor.item_glove2 and ({ return accessor.item_glove1 and accessor.item_glove2 and ({
"<p:player>(An insulated glove. Good for handling dangerous items.)" "<p:player>(An insulated glove. Good for handling dangerous items.)"
}) or ({ }) or ({
"<p:player>(A pair of insulated gloves. Good for handling dangerous items.)" "<p:player>(A pair of insulated gloves. Good for handling dangerous items.)"
}) })
end end
}, },
item_boots = { item_boots = {
name = function() return accessor.item_boot1 and accessor.item_boot2 and "Work Boots" or "Work Boot" end, name = function() return accessor.item_boot1 and accessor.item_boot2 and "Work Boots" or "Work Boot" end,
info = function() info = function()
return accessor.item_boot1 and accessor.item_boot2 and ({ return accessor.item_boot1 and accessor.item_boot2 and ({
"<p:player>(A sturdy, high-topped boot. Good for traversing hazards.)" "<p:player>(A sturdy, high-topped boot. Good for traversing hazards.)"
}) or ({ }) or ({
"<p:player>(A pair of sturdy, high-topped boots. Good for traversing hazards.)" "<p:player>(A pair of sturdy, high-topped boots. Good for traversing hazards.)"
}) })
end end
}, },
ponder_arrival = pager:create(0, { ponder_arrival = pager:create(0, {
"<p:player><f:sad>...", "<p:player><f:sad>...",
"<p:player><f:sad>(The forest is beautiful...)" "<p:player><f:sad>(The forest is beautiful...)"
}, { }, {
"<p:player><f:sad>...", "<p:player><f:sad>...",
"<p:player><f:sigh>(I have to keep going...)", "<p:player><f:sigh>(I have to keep going...)",
"<p:player>(Standing around won't get me any closer to home.)" "<p:player>(Standing around won't get me any closer to home.)"
}), }),
ponder_chase = pager:create(0, { ponder_chase = pager:create(0, {
"<p:player><f:side>(If I could just talk to them...)", "<p:player><f:side>(If I could just talk to them...)",
"<p:player><f:determined2>(... there's no time to lose!)" "<p:player><f:determined2>(... there's no time to lose!)"
}, { }, {
"<p:player><f:determined>(... I've got to catch up to them!)" "<p:player><f:determined>(... I've got to catch up to them!)"
}), }),
ponder_gate = { ponder_gate = {
"<p:player><f:side>...", "<p:player><f:side>...",
"<p:player><f:side>(I need a closer look at that gate...)" "<p:player><f:side>(I need a closer look at that gate...)"
}, },
ponder_shock = function() ponder_shock = function()
return { return {
"<p:player><f:side>(... hm...)", "<p:player><f:side>(... hm...)",
unpack(accessor.item_glove1 and accessor.item_glove2 and accessor.item_boot1 and accessor.item_boot2 and unpack(accessor.item_glove1 and accessor.item_glove2 and accessor.item_boot1 and accessor.item_boot2 and
({ ({
"<p:player><f:side>(I have these gloves... and these boots...)", "<p:player><f:side>(I have these gloves... and these boots...)",
"<p:player>(Oh! I can use these to climb the gate safely!)" "<p:player>(Oh! I can use these to climb the gate safely!)"
}) or }) or
(accessor.item_glove1 and accessor.item_glove2 and ((accessor.item_boot1 or accessor.item_boot2) and ({ (accessor.item_glove1 and accessor.item_glove2 and ((accessor.item_boot1 or accessor.item_boot2) and ({
"<p:player><f:side>(I have these gloves... and this boot...)", "<p:player><f:side>(I have these gloves... and this boot...)",
"<p:player>(With one more boot, I could climb the gate safely.)" "<p:player>(With one more boot, I could climb the gate safely.)"
}) or ({ }) or ({
"<p:player><f:side>(I have these gloves...)", "<p:player><f:side>(I have these gloves...)",
"<p:player>(If I had something to protect my feet, I could climb the gate safely.)" "<p:player>(If I had something to protect my feet, I could climb the gate safely.)"
})) or (accessor.item_boot1 and accessor.item_boot2 and ((accessor.item_glove1 or accessor.item_glove2) and ({ })) or (accessor.item_boot1 and accessor.item_boot2 and ((accessor.item_glove1 or accessor.item_glove2) and ({
"<p:player><f:side>(I have these boots... and this glove...)", "<p:player><f:side>(I have these boots... and this glove...)",
"<p:player>(With one more glove, I could climb the gate safely.)" "<p:player>(With one more glove, I could climb the gate safely.)"
}) or ({ }) or ({
"<p:player><f:side>(I have these boots...)", "<p:player><f:side>(I have these boots...)",
"<p:player>(If I had something to protect my hands, I could climb the gate safely.)" "<p:player>(If I had something to protect my hands, I could climb the gate safely.)"
})) or ((accessor.item_glove1 or accessor.item_glove2) and ((accessor.item_boot1 or accessor.item_boot2) and ({ })) or ((accessor.item_glove1 or accessor.item_glove2) and ((accessor.item_boot1 or accessor.item_boot2) and ({
"<p:player><f:side>(I have this glove... and this boot...)", "<p:player><f:side>(I have this glove... and this boot...)",
"<p:player>(If only I could duplicate them, I could climb the gate safely.)" "<p:player>(If only I could duplicate them, I could climb the gate safely.)"
}) or ({ }) or ({
"<p:player><f:side>(I have this glove...)", "<p:player><f:side>(I have this glove...)",
"<p:player><f:side>(If I had another glove, and something to protect my feet...)", "<p:player><f:side>(If I had another glove, and something to protect my feet...)",
"<p:player>(... I could climb the gate safely.)" "<p:player>(... I could climb the gate safely.)"
})) or ((accessor.item_boot1 or accessor.item_boot2) and ({ })) or ((accessor.item_boot1 or accessor.item_boot2) and ({
"<p:player><f:side>(I have this boot...)", "<p:player><f:side>(I have this boot...)",
"<p:player><f:side>(If I had another boot, and something to protect my hands...)", "<p:player><f:side>(If I had another boot, and something to protect my hands...)",
"<p:player>(... I could climb the gate safely.)" "<p:player>(... I could climb the gate safely.)"
}) or ({ }) or ({
"<p:player><f:side>(If I had some extra gear to protect myself...)", "<p:player><f:side>(If I had some extra gear to protect myself...)",
"<p:player>(... I could climb the gate safely.)" "<p:player>(... I could climb the gate safely.)"
})))))) }))))))
} }
end, end,
ponder_gear = { ponder_gear = {
"<p:player><f:side>(... I think, with this extra gear I've found...)", "<p:player><f:side>(... I think, with this extra gear I've found...)",
"<p:player>(... climbing the gate should be safe.)" "<p:player>(... climbing the gate should be safe.)"
}, },
ponder_unlock = { ponder_unlock = {
"<p:player>(... hm.)", "<p:player>(... hm.)",
"<p:player><f:sigh>(Better get going before someone closes the gate again.)" "<p:player><f:sigh>(Better get going before someone closes the gate again.)"
}, },
ponder_factory = pager:create(0, { ponder_factory = pager:create(0, {
"<p:player><f:side>(... if I had to guess, I'd say this was a syrup factory...)", "<p:player><f:side>(... if I had to guess, I'd say this was a syrup factory...)",
"<p:player>(Definitely a factory of some kind, anyway.)", "<p:player>(Definitely a factory of some kind, anyway.)",
"<p:player><f:confused>(Shouldn't there be tons of people working here?)" "<p:player><f:confused>(Shouldn't there be tons of people working here?)"
}, { }, {
"<p:player>...", "<p:player>...",
"<p:player><f:sweat4>(... maybe the workers are all on vacation.)" "<p:player><f:sweat4>(... maybe the workers are all on vacation.)"
}), }),
overworld = { overworld = {
tutorial1 = "Press [X] while moving\nto sprint.", tutorial1 = "Press [X] while moving\nto sprint.",
tutorial2 = "Press [←] [→] to climb.", tutorial2 = "Press [←] [→] to climb.",
@ -389,203 +389,203 @@ local function textGen(pager)
pipewerx3 = "(Arrange the pipes to connect\nthe two endpoints.)", pipewerx3 = "(Arrange the pipes to connect\nthe two endpoints.)",
pipewerx4 = "(Press [X] to exit.)", pipewerx4 = "(Press [X] to exit.)",
system1 = { system1 = {
"Platform Engaged.", "Platform Engaged.",
"Selecting Mode: Transit", "Selecting Mode: Transit",
"Selecting Destination: CRIMSON", "Selecting Destination: CRIMSON",
"Transit In Progress..." "Transit In Progress..."
}, },
system2 = "`~1!2@3#4$5%6^7&8*9(0)-_=+[]\\|;:'\",<.>/?", system2 = "`~1!2@3#4$5%6^7&8*9(0)-_=+[]\\|;:'\",<.>/?",
arrival1 = { arrival1 = {
"<p:player><f:sweat>..." "<p:player><f:sweat>..."
}, },
arrival2 = { arrival2 = {
"<p:player><f:side>(It's the same as before...)", "<p:player><f:side>(It's the same as before...)",
"<p:player><f:sweat4>(... guess I... didn't really know what I was expecting.)" "<p:player><f:sweat4>(... guess I... didn't really know what I was expecting.)"
}, },
arrival3 = { arrival3 = {
"<p:player><f:what>Whoa." "<p:player><f:what>Whoa."
}, },
arrival4 = { arrival4 = {
"<p:player><f:what>That's big." "<p:player><f:what>That's big."
}, },
arrival5 = { arrival5 = {
"<p:player><f:sigh>(Well, it's not home.)", "<p:player><f:sigh>(Well, it's not home.)",
"<p:player>(But it's... also not that weird house.)", "<p:player>(But it's... also not that weird house.)",
"<p:player><f:side>(So that's good.)" "<p:player><f:side>(So that's good.)"
}, },
arrival6 = { arrival6 = {
"<p:player><f:sad>(... I wish...)", "<p:player><f:sad>(... I wish...)",
"<p:player><f:sigh>(... I had an umbrella.)" "<p:player><f:sigh>(... I had an umbrella.)"
}, },
stowaway1 = { stowaway1 = {
"<p:player><f:sweat>...", "<p:player><f:sweat>...",
"<p:player><f:sweat3>H... hello?" "<p:player><f:sweat3>H... hello?"
}, },
stowaway2 = { stowaway2 = {
"<p:player><f:sad2>Wait, don't go! I..." "<p:player><f:sad2>Wait, don't go! I..."
}, },
stowaway3 = { stowaway3 = {
"<p:player><f:determined>... get back here!" "<p:player><f:determined>... get back here!"
}, },
stowaway4 = { stowaway4 = {
"<p:player><f:determined2>Hey, you!" "<p:player><f:determined2>Hey, you!"
}, },
stowaway5 = { stowaway5 = {
"<p:player><f:sweat3>(There's nothing to be afraid of...)" "<p:player><f:sweat3>(There's nothing to be afraid of...)"
}, },
stowaway6 = { stowaway6 = {
"<p:player><f:upset2>No, no, no!" "<p:player><f:upset2>No, no, no!"
}, },
stowaway7 = { stowaway7 = {
"<p:player><f:annoyed>(... slam the gate on me, why don't you...)" "<p:player><f:annoyed>(... slam the gate on me, why don't you...)"
}, },
bushitem1 = { bushitem1 = {
"<p:player><f:side>(There's something buried in here...)", "<p:player><f:side>(There's something buried in here...)",
"<p:none>Pick it up?" "<p:none>Pick it up?"
}, },
bushitem2 = { bushitem2 = {
"Yes", "Yes",
"No" "No"
}, },
glover0 = "Work Glove", glover0 = "Work Glove",
glover1 = { glover1 = {
"<p:player><f:surprise>(A glove!)", "<p:player><f:surprise>(A glove!)",
"<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove.", "<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove.",
"<p:player><f:sodesuka>(Feels... tough.)" "<p:player><f:sodesuka>(Feels... tough.)"
}, },
glover2 = { glover2 = {
"<p:player><f:surprise>(Another glove!)", "<p:player><f:surprise>(Another glove!)",
"<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove." "<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove."
}, },
glovey1 = { glovey1 = {
"<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove.", "<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove.",
"<p:player><f:surprise>(A glove!)", "<p:player><f:surprise>(A glove!)",
"<p:player><f:sodesuka>(Feels... tough.)" "<p:player><f:sodesuka>(Feels... tough.)"
}, },
glovey2 = { glovey2 = {
"<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove.", "<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Glove.",
"<p:player><f:surprise>(Another glove!)" "<p:player><f:surprise>(Another glove!)"
}, },
bootey1 = { bootey1 = {
"<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot.", "<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot.",
"<p:player>(... a single boot.)", "<p:player>(... a single boot.)",
"<p:player><f:sigh>(Surely there's another one around, right?)" "<p:player><f:sigh>(Surely there's another one around, right?)"
}, },
bootey2 = { bootey2 = {
"<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot.", "<p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot.",
"<p:player><f:sigh>(Ah, there it is.)" "<p:player><f:sigh>(Ah, there it is.)"
}, },
booter0 = "Work Boot", booter0 = "Work Boot",
booter1 = { booter1 = {
"<p:player>(... a single boot.)", "<p:player>(... a single boot.)",
"<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot.", "<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot.",
"<p:player><f:sigh>(Surely there's another one around, right?)" "<p:player><f:sigh>(Surely there's another one around, right?)"
}, },
booter2 = { booter2 = {
"<p:player><f:sigh>(Ah, there it is.)", "<p:player><f:sigh>(Ah, there it is.)",
"<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot." "<h:a><p:none>{color=0xa289dc}Dysu{color=0xffffff} got the Work Boot."
}, },
drillie1 = pager:create(0, { drillie1 = pager:create(0, {
"<p:player><f:sigh>(I could just use this drill to open the gate...)", "<p:player><f:sigh>(I could just use this drill to open the gate...)",
"<p:player>(... but in doing so, its batteries would be completely drained.)", "<p:player>(... but in doing so, its batteries would be completely drained.)",
"<p:player><f:confused>(Would I be able to replace them?)" "<p:player><f:confused>(Would I be able to replace them?)"
}, { }, {
"<p:player><f:confused>(Should I use the drill to open the gate, or save it for later?)" "<p:player><f:confused>(Should I use the drill to open the gate, or save it for later?)"
}), }),
drillie2 = { drillie2 = {
"Use The Drill", "Use The Drill",
"Find Another Way" "Find Another Way"
}, },
drillie3 = { drillie3 = {
"<p:player>..." "<p:player>..."
}, },
drillie4 = { drillie4 = {
"<p:player><f:sigh>(... that did the trick.)" "<p:player><f:sigh>(... that did the trick.)"
}, },
gateclimb0 = "Gate", gateclimb0 = "Gate",
gateclimb1 = { gateclimb1 = {
"<p:player><f:side>...", "<p:player><f:side>...",
"<p:player><f:surprise>(Ah! Of course!)", "<p:player><f:surprise>(Ah! Of course!)",
"<p:player><f:determined2>(I'll just climb over it!)" "<p:player><f:determined2>(I'll just climb over it!)"
}, },
gateclimb2a = { gateclimb2a = {
"<p:player><f:annoyed>... ugh..." "<p:player><f:annoyed>... ugh..."
}, },
gateclimb2b = { gateclimb2b = {
"<p:player><f:sweat5>(... guess I'll have to find something else.)" "<p:player><f:sweat5>(... guess I'll have to find something else.)"
}, },
gateclimb2c = { gateclimb2c = {
"<p:player><f:side>(Wait. I have these gloves and boots...)", "<p:player><f:side>(Wait. I have these gloves and boots...)",
"<p:player>(I could try again with the extra gear to protect myself.)", "<p:player>(I could try again with the extra gear to protect myself.)",
"<p:none>Climb over the gate?" "<p:none>Climb over the gate?"
}, },
gateclimb3 = { gateclimb3 = {
"<p:player><f:sweat>(It's electrically charged.)" "<p:player><f:sweat>(It's electrically charged.)"
}, },
gateclimb4 = { gateclimb4 = {
"<p:player><f:sigh>(Can't climb over the gate without extra gear.)" "<p:player><f:sigh>(Can't climb over the gate without extra gear.)"
}, },
gateclimb5 = pager:create( gateclimb5 = pager:create(
0, 0,
function() function()
local ____array_0 = __TS__SparseArrayNew(unpack(accessor.event_redleaf_gateclimb == 2 and ({ local ____array_0 = __TS__SparseArrayNew(unpack(accessor.event_redleaf_gateclimb == 2 and ({
"<p:player>(I have the extra gear I need to protect myself.)" "<p:player>(I have the extra gear I need to protect myself.)"
}) or ({ }) or ({
"<p:player><f:side>(Wait. I have these gloves and boots now...)", "<p:player><f:side>(Wait. I have these gloves and boots now...)",
"<p:player>(I could try again with the extra gear to protect myself.)" "<p:player>(I could try again with the extra gear to protect myself.)"
}))) })))
__TS__SparseArrayPush(____array_0, "<p:none>Climb over the gate?") __TS__SparseArrayPush(____array_0, "<p:none>Climb over the gate?")
return { __TS__SparseArraySpread(____array_0) } return { __TS__SparseArraySpread(____array_0) }
end, end,
{ {
"<p:none>Climb over the gate?" "<p:none>Climb over the gate?"
} }
), ),
gateclimb6 = { gateclimb6 = {
"Yes", "Yes",
"No" "No"
}, },
gateclimb7 = { gateclimb7 = {
"<p:player><f:sigh>(Third climb's the charm. placeholder :3)" "<p:player><f:sigh>(Third climb's the charm. placeholder :3)"
}, },
gateclimb8 = { gateclimb8 = {
"<p:player><f:determined2>(Alright!)" "<p:player><f:determined2>(Alright!)"
}, },
gateclimb9 = { gateclimb9 = {
"<p:player><f:confused>(Is this... a factory?)" "<p:player><f:confused>(Is this... a factory?)"
}, },
gateclimb10 = { gateclimb10 = {
"<p:player><f:sodesuka>(Time to find out what that rascal was up to.)" "<p:player><f:sodesuka>(Time to find out what that rascal was up to.)"
} }
}, },
trivia = { trivia = {
tree = { tree = {
"<p:player><f:surprise>It's a tree! (placeholder :3)" "<p:player><f:surprise>It's a tree! (placeholder :3)"
}, },
barrel = { barrel = {
"<p:player><f:side>Barrel barrel barrel- (placeholder :3)" "<p:player><f:side>Barrel barrel barrel- (placeholder :3)"
}, },
lid = { lid = {
"<p:player><f:annoyed>A lid. (placeholder :3)" "<p:player><f:annoyed>A lid. (placeholder :3)"
}, },
facsign = { facsign = {
"<p:player>\"REDLEAF INDUSTRIES\"\n\"Factory Grounds Nearby\"" "<p:player>\"REDLEAF INDUSTRIES\"\n\"Factory Grounds Nearby\""
}, },
sapsign = { sapsign = {
"<p:player>\"Kotokura Syrup Exports\"\n\"Redleaf Industries\"" "<p:player>\"Kotokura Syrup Exports\"\n\"Redleaf Industries\""
}, },
carsign = pager:create(0, { carsign = pager:create(0, {
"<p:player><f:sweat>\"Danger: Industrial Vehicles\"", "<p:player><f:sweat>\"Danger: Industrial Vehicles\"",
"<p:player><f:side>(Guess I should be careful...)" "<p:player><f:side>(Guess I should be careful...)"
}, { }, {
"<p:player><f:sweat>\"Danger: Industrial Vehicles\"" "<p:player><f:sweat>\"Danger: Industrial Vehicles\""
}), }),
powertower = { powertower = {
"<p:player><f:confused>A powertower? (placeholder :3)" "<p:player><f:confused>A powertower? (placeholder :3)"
}, },
placeholder2 = pager:create(0, { placeholder2 = pager:create(0, {
"<p:player>placeholder :3" "<p:player>placeholder :3"
}) })
}, },
trivia_tooltip = { trivia_tooltip = {
tree = "Tree", tree = "Tree",

View File

@ -247,26 +247,28 @@ local function atlas(assets, batch, ____debug, game, ____bindingPattern0, ____bi
player_menu.children[1]:attach(unpack(ST:populate( player_menu.children[1]:attach(unpack(ST:populate(
4, 4,
function(i) function(i)
return __TS__New(STText, local imageKeys = {
"im$menu_item",
"im$menu_ponder",
"im$menu_options",
"im$menu_save"
}
return __TS__New(
STSprite,
{ {
font = assets["f$fives"], image = assets[imageKeys[i + 1]],
anchor = { x = 0.5 }, anchor = { x = 0.5, y = 0.5 },
position = { y = i * 7 }, position = { y = i * 7.5 + 2 }, -- 此處是「y = i * 間距 ± 基準座標偏移值」
content = ({ text.menu1, text.menu2, text.menu3, text.menu4 }) scale = { x = 0.6, y = 0.6 } -- x軸和y軸的縮放
[i + 1] }
}):addTicker(function(self) ):addTicker(function(self)
if atlas.target == "menu" and atlas:selection() == ({ "item", "ponder", "options", "save" })[i + 1] then -- 選中狀態處理(通過更改透明度)
self.color.red = 255 if atlas.target == "menu" and atlas:selection() == ({ "item", "ponder", "options", "save" })[i + 1] then -- 選中
self.color.green = 255 self.alpha.value = 1
self.color.blue = 255 elseif i == 0 and #inventory == 0 then -- item不可用時
elseif i == 0 and #inventory == 0 then self.alpha.value = 0.25
self.color.red = 63
self.color.green = 63
self.color.blue = 63
else else
self.color.red = 127 self.alpha.value = 0.5 -- 未選中
self.color.green = 127
self.color.blue = 127
end end
end) end)
end end