Extend ROM-text messages to statuses, items and the learn/evolve flows

This commit is contained in:
Juan Heredia
2026-08-03 22:54:08 +02:00
parent b831076839
commit a2bf08c6ff
7 changed files with 191 additions and 99 deletions
+21 -10
View File
@@ -5,6 +5,7 @@
local Font = require("src.render.Font")
local Strings = require("src.core.Strings")
local romText = require("src.core.RomText")
local MoveLearnMenu = {}
MoveLearnMenu.__index = MoveLearnMenu
@@ -43,10 +44,13 @@ function MoveLearnMenu:enter()
local mdef = game.data.moves[self.newMoveId]
local name = self:monName()
self.selecting = false
-- _TryingToLearnText is the whole exchange in pokered, delete prompt
-- included, so the extracted line carries all four slots at once
game.stack:push(TextBox.new(game,
Strings("%s is\ntrying to learn\v%s!\fBut, %s\ncan't learn more\vthan 4 moves!\f",
name, mdef.name, name) ..
Strings("Delete an older\nmove to make room\vfor %s?", mdef.name),
romText(game.data, "_TryingToLearnText",
"%s is\ntrying to learn\v%s!\fBut, %s\ncan't learn more\vthan 4 moves!\f"
.. "Delete an older\nmove to make room\vfor %s?",
name, mdef.name, name, mdef.name),
nil, {
choice = function(yes)
if yes then
@@ -77,7 +81,8 @@ function MoveLearnMenu:update(dt)
-- HMCantDeleteText, then back to the forget list
local TextBox = require("src.render.TextBox")
self.game.stack:push(TextBox.new(self.game,
Strings("HM techniques\ncan't be deleted!")))
romText(self.game.data, "_HMCantDeleteText",
"HM techniques\ncan't be deleted!")))
return
end
local mdef = self.game.data.moves[self.newMoveId]
@@ -97,7 +102,8 @@ function MoveLearnMenu:confirmAbandon()
local mdef = game.data.moves[self.newMoveId]
self.selecting = false
game.stack:push(TextBox.new(game,
Strings("Abandon learning\n%s?", mdef.name), nil, {
romText(game.data, "_AbandonLearningText",
"Abandon learning\n%s?", mdef.name), nil, {
choice = function(yes)
if yes then self:finish(false) else self:enter() end
end,
@@ -113,12 +119,17 @@ function MoveLearnMenu:finish(learned)
game.stack:pop()
local msg
if learned then
-- OneTwoAndText/PoofText/ForgotAndText
msg = Strings("1, 2 and... Poof!\f%s forgot\n%s!\fAnd...\f%s learned\n%s!",
name, self.forgot, name, mdef.name)
-- pokered pages this as four texts in a row; _ForgotAndText carries
-- the "And..." tail
msg = romText(game.data, "_OneTwoAndText", "1, 2 and...")
.. romText(game.data, "_PoofText", " Poof!")
.. romText(game.data, "_ForgotAndText",
"\f%s forgot\n%s!\fAnd...", name, self.forgot)
.. "\f" .. romText(game.data, "_LearnedMove1Text",
"%s learned\n%s!", name, mdef.name)
else
-- DidNotLearnText
msg = Strings("%s\ndid not learn\v%s!", name, mdef.name)
msg = romText(game.data, "_DidNotLearnText",
"%s\ndid not learn\v%s!", name, mdef.name)
end
game.stack:push(TextBox.new(game, msg, function()
if self.onDone then self.onDone(learned) end