CLOSES #2235, CLOSES #2245, CLOSES #2252, CLOSES #2253, CLOSES #2257, CLOSES #2261, CLOSES #2262, CLOSES #2263, CLOSES #2264, CLOSES #2267, CLOSES #2268, CLOSES #2272, CLOSES #2273, CLOSES #2274, CLOSES #2275

This commit is contained in:
bryanthaboi
2026-09-13 11:49:05 -04:00
parent 2cc86d599d
commit feec1d43fd
53 changed files with 3705 additions and 164 deletions
+10 -5
View File
@@ -15,11 +15,16 @@ local M = {}
M.CERULEAN_CAVE_B1F = {
talk = {
TEXT_CERULEANCAVEB1F_MEWTWO = {
{ "play_cry", "MEWTWO" }, -- 1 text_asm PlayCry
{ "show_text", "_MewtwoBattleText" }, -- 2 "Mew!"
{ "check_flag", "EVENT_BEAT_MEWTWO" }, -- 3
{ "jump_if_true", 6 }, -- 4 already beaten: text only
{ "static_battle", "MEWTWO", 70, "EVENT_BEAT_MEWTWO" }, -- 5
{ "check_flag", "EVENT_BEAT_MEWTWO" },
{ "jump_if_true", "beaten" },
{ "play_cry", "MEWTWO", true },
{ "engage_music", "Music_MeetMaleTrainer" }, -- home/trainers.asm:123
{ "show_text", "_MewtwoBattleText" },
{ "static_battle", "MEWTWO", 70, "EVENT_BEAT_MEWTWO" },
{ "jump", "end" },
{ "label", "beaten" },
{ "play_cry", "MEWTWO", true },
{ "show_text", "_MewtwoBattleText" },
},
},
}
+18 -9
View File
@@ -15,10 +15,14 @@
-- header order in scripts/PowerPlant.asm: text_asm n uses header n-1
local function ballMon(species, level, flag)
return {
{ "show_text", "_PowerPlantVoltorbBattleText" }, -- 1 "Bzzzt!"
{ "check_flag", flag }, -- 2
{ "jump_if_true", 5 }, -- 3 already beaten: text only
{ "static_battle", species, level, flag }, -- 4
{ "check_flag", flag },
{ "jump_if_true", "beaten" },
{ "engage_music", "Music_MeetMaleTrainer" }, -- home/trainers.asm:123
{ "show_text", "_PowerPlantVoltorbBattleText" },
{ "static_battle", species, level, flag },
{ "jump", "end" },
{ "label", "beaten" },
{ "show_text", "_PowerPlantVoltorbBattleText" },
}
end
@@ -35,11 +39,16 @@ M.POWER_PLANT = {
TEXT_POWERPLANT_ELECTRODE2 = ballMon("ELECTRODE", 43, "EVENT_BEAT_POWER_PLANT_VOLTORB_6"),
TEXT_POWERPLANT_VOLTORB6 = ballMon("VOLTORB", 40, "EVENT_BEAT_POWER_PLANT_VOLTORB_7"),
TEXT_POWERPLANT_ZAPDOS = {
{ "play_cry", "ZAPDOS" }, -- 1 text_asm PlayCry
{ "show_text", "_PowerPlantZapdosBattleText" }, -- 2 "Gyaoo!"
{ "check_flag", "EVENT_BEAT_ZAPDOS" }, -- 3
{ "jump_if_true", 6 }, -- 4 already beaten: text only
{ "static_battle", "ZAPDOS", 50, "EVENT_BEAT_ZAPDOS" }, -- 5
{ "check_flag", "EVENT_BEAT_ZAPDOS" },
{ "jump_if_true", "beaten" },
{ "play_cry", "ZAPDOS", true },
{ "engage_music", "Music_MeetMaleTrainer" }, -- home/trainers.asm:123
{ "show_text", "_PowerPlantZapdosBattleText" },
{ "static_battle", "ZAPDOS", 50, "EVENT_BEAT_ZAPDOS" },
{ "jump", "end" },
{ "label", "beaten" },
{ "play_cry", "ZAPDOS", true },
{ "show_text", "_PowerPlantZapdosBattleText" },
},
},
}
+12
View File
@@ -0,0 +1,12 @@
-- pokered/scripts/SaffronCity.asm:76
return {
SAFFRON_CITY = {
talk = {
TEXT_SAFFRONCITY_PIDGEOT = {
{ "face_player" },
{ "play_cry", "PIDGEOT", true },
{ "show_text", "_SaffronCityPidgeotText" },
},
},
},
}
+10 -5
View File
@@ -17,11 +17,16 @@ local M = {}
M.SEAFOAM_ISLANDS_B4F = {
talk = {
TEXT_SEAFOAMISLANDSB4F_ARTICUNO = {
{ "play_cry", "ARTICUNO" }, -- 1 text_asm PlayCry
{ "show_text", "_SeafoamIslandsB4FArticunoBattleText" }, -- 2 "Gyaoo!"
{ "check_flag", "EVENT_BEAT_ARTICUNO" }, -- 3
{ "jump_if_true", 6 }, -- 4 already beaten: text only
{ "static_battle", "ARTICUNO", 50, "EVENT_BEAT_ARTICUNO" }, -- 5
{ "check_flag", "EVENT_BEAT_ARTICUNO" },
{ "jump_if_true", "beaten" },
{ "play_cry", "ARTICUNO", true },
{ "engage_music", "Music_MeetMaleTrainer" }, -- home/trainers.asm:123
{ "show_text", "_SeafoamIslandsB4FArticunoBattleText" },
{ "static_battle", "ARTICUNO", 50, "EVENT_BEAT_ARTICUNO" },
{ "jump", "end" },
{ "label", "beaten" },
{ "play_cry", "ARTICUNO", true },
{ "show_text", "_SeafoamIslandsB4FArticunoBattleText" },
},
},
}
+10 -5
View File
@@ -15,11 +15,16 @@ local M = {}
M.VICTORY_ROAD_2F = {
talk = {
TEXT_VICTORYROAD2F_MOLTRES = {
{ "play_cry", "MOLTRES" }, -- 1 text_asm PlayCry
{ "show_text", "_VictoryRoad2FMoltresBattleText" }, -- 2 "Gyaoo!"
{ "check_flag", "EVENT_BEAT_MOLTRES" }, -- 3
{ "jump_if_true", 6 }, -- 4 already beaten: text only
{ "static_battle", "MOLTRES", 50, "EVENT_BEAT_MOLTRES" }, -- 5
{ "check_flag", "EVENT_BEAT_MOLTRES" },
{ "jump_if_true", "beaten" },
{ "play_cry", "MOLTRES", true },
{ "engage_music", "Music_MeetMaleTrainer" }, -- home/trainers.asm:123
{ "show_text", "_VictoryRoad2FMoltresBattleText" },
{ "static_battle", "MOLTRES", 50, "EVENT_BEAT_MOLTRES" },
{ "jump", "end" },
{ "label", "beaten" },
{ "play_cry", "MOLTRES", true },
{ "show_text", "_VictoryRoad2FMoltresBattleText" },
},
},
}
+1
View File
@@ -42,6 +42,7 @@ local files = {
"data.scripts.flavor.route_23",
"data.scripts.flavor.route_2_trade_house",
"data.scripts.flavor.safari_zone_gate",
"data.scripts.flavor.saffron_city",
"data.scripts.flavor.saffron_pidgey_house",
"data.scripts.flavor.seafoam_islands_b4f",
"data.scripts.flavor.silph_co_10f",
+1 -1
View File
@@ -38,7 +38,7 @@ M.VERMILION_GYM = {
-- sets wDungeonWarpDestinationMap and calls IsPlayerOnDungeonWarp, and
-- wCoordIndex picks that floor's DungeonWarpData row. Unconditional in
-- the original: a plugged hole still drops the player. The B3F and B4F
-- landings are water; setMap's CheckForceBikeOrSurf pass
-- landings are water; the CheckForceBikeOrSurf pass after the drop
-- (OverworldState:checkForcedMovement) mounts SURF on arrival.
local HOLE_FALLS = {
SEAFOAM_ISLANDS_1F = { { 17, 6, "SEAFOAM_ISLANDS_B1F", 18, 7 },
+21
View File
@@ -238,8 +238,29 @@ local function dojoMasterGate(game, ow, x, y)
return true
end
local function dojoMaster(game, ow, npc, done)
local t = text(game)
local flags = game.save.flags
-- ../pokered/scripts/FightingDojo.asm:108
if flags.EVENT_DEFEATED_FIGHTING_DOJO then
push(game, t._FightingDojoKarateMasterStayAndTrainWithUsText
or "Ho!\fStay and train at\nKarate with us!", done)
return
end
-- ../pokered/scripts/FightingDojo.asm:110
if flags.EVENT_BEAT_KARATE_MASTER or ow:trainerDefeated(npc) then
push(game, t._FightingDojoKarateMasterIWillGiveYouAPokemonText
or "Indeed, I have\nlost!", done)
return
end
-- ../pokered/scripts/FightingDojo.asm:122
ow:engageTrainer(npc, done, t._FightingDojoKarateMasterDefeatedText,
nil, nil, false)
end
M.FIGHTING_DOJO = {
talk = {
TEXT_FIGHTINGDOJO_KARATE_MASTER = dojoMaster,
TEXT_FIGHTINGDOJO_HITMONLEE_POKE_BALL =
dojoBall("HITMONLEE", "FIGHTINGDOJO_HITMONLEE_POKE_BALL",
"FIGHTINGDOJO_HITMONCHAN_POKE_BALL",