Files
gen1recomp/tests/engine/gen2_ball_anim_id_bug1804.lua
T

42 lines
1.4 KiB
Lua

-- data/moves/animations.asm:401-403
package.path = "./?.lua;./?/init.lua;" .. package.path
love = require("tests.love_stub")
local T = require("tests.harness")
local UI = require("src.ui.gen2.BattleState")
local AnimRunner = require("src.battle.gen2.AnimRunner")
local runner = AnimRunner.new({ animId = "ANIM_THROW_POKE_BALL", battleTurn = 0 })
T.eq(runner.animId, "ANIM_THROW_POKE_BALL",
"the runner exposes the anim id BattleState latches on")
T.eq(runner.env.animId, "ANIM_THROW_POKE_BALL",
"the object/bg env still sees the same id")
-- A real runner skipped with B must still hide the caught mon.
do
local s = setmetatable({
anim = runner,
ballThrow = { caught = true },
picHidden = { player = false, enemy = false },
}, { __index = UI })
local input = { wasPressed = function(_, key) return key == "b" end }
s:stepAnim(input)
T.eq(s.picHidden.enemy, true, "a B-skipped catch latches with a real runner")
end
do
local free = AnimRunner.new({ animId = "ANIM_THROW_POKE_BALL", battleTurn = 0 })
local s = setmetatable({
anim = free,
ballThrow = { caught = false },
picHidden = { player = false, enemy = false },
}, { __index = UI })
local input = { wasPressed = function(_, key) return key == "b" end }
s:stepAnim(input)
T.eq(s.picHidden.enemy, false, "a B-skipped break-free still does not latch")
end
T.finish("gen2 ball anim id bug 1804")