From e9b0c0873b9a7218c5aeefcc7bbcf465a1eb063d Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Thu, 16 Nov 2023 01:57:04 +0100 Subject: [PATCH] Updated Implementing Catch EXP (markdown) --- Implementing-Catch-EXP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Implementing-Catch-EXP.md b/Implementing-Catch-EXP.md index 4c6d0bb..e35cfc1 100644 --- a/Implementing-Catch-EXP.md +++ b/Implementing-Catch-EXP.md @@ -8,7 +8,7 @@ The "Figuring it out" section is a much, much longer read; this is because I try ## Where do we start? -A helpful thing to know is that Game Freak actually built an entire scripting language for the battle system, a lot like the scripting language used for overworld events, and they scripted a lot more than you'd expect. All of the move effects are scripted, but so are things like most of the process of catching a Wild Pokémon. The game's *execution flow* bounces back and forth between hardcoded C and scripts like a ping-pong ball in order to accomplish what Game Freak wanted. This may sound disorganized (and it kind of is!), but it means that Game Freak's designers could fine-tune basic behaviors of the battle system without having to edit the deeper engine. For example, when you catch a Wild Pokémon, what should happen first? Should you get a chance to rename it, or should you see its Pokédex entry? Each of these is a script command, so the core functionality is in the engine's C code, but the script decides when -- and in what order -- to activate it. +A helpful thing to know is that Game Freak actually built an entire scripting language for the battle system, a lot like the scripting language used for overworld events, and they scripted a lot more than you'd expect. All of the move effects are scripted, but so are things like most of the process of catching a Wild Pokémon. The game bounces back and forth between hardcoded C and scripts like a ping-pong ball in order to accomplish what Game Freak wanted. This may sound disorganized (and it kind of is!), but it means that Game Freak's designers could fine-tune basic behaviors of the battle system without having to edit the deeper engine. For example, when you catch a Wild Pokémon, what should happen first? Should you get a chance to rename it, or should you see its Pokédex entry? Each of these is a script command, so the core functionality is in the engine's C code, but the script decides when -- and in what order -- to activate it. ### The "successful catch" script