diff options
author | ghoulslash <41651341+ghoulslash@users.noreply.github.com> | 2020-09-25 10:58:06 -0600 |
---|---|---|
committer | ghoulslash <41651341+ghoulslash@users.noreply.github.com> | 2020-09-25 10:58:06 -0600 |
commit | ce2d4d2b8fe213ad007c1808e7441184ecc3a042 (patch) | |
tree | a8f66dcf0cbb31e626f9baca8a185f28242e45c7 | |
parent | 8cdb89f9220cf2d51570b0bc60023e6ca4ed985a (diff) |
Created Dynamic Trade Names (markdown)
-rw-r--r-- | Dynamic-Trade-Names.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Dynamic-Trade-Names.md b/Dynamic-Trade-Names.md new file mode 100644 index 0000000..ee4b8d8 --- /dev/null +++ b/Dynamic-Trade-Names.md @@ -0,0 +1,26 @@ +## Dynamic Trade Names + +Traded Pokemon are stored at gEnemyParty[0]. If you create a custom Pokemon to trade (not in sIngameTrades), the trading scene strings will get messed up. This loads the correct OT name / OT nickname from the pokemon's data structure rather than the in game trade array. + +credit: Zeturic's binary FR src + +### Open (src/trade.c)[../blob/master/src/trade.c] + +Find `BufferTradeSceneStrings` After the `else` statement, replace the following: +```c +ingameTrade = &sIngameTrades[gSpecialVar_0x8004]; +StringCopy(gStringVar1, ingameTrade->otName); +StringCopy10(gStringVar3, ingameTrade->nickname); +GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name); +StringCopy10(gStringVar2, name); +``` +with: +```c +GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, gStringVar1); +GetMonData(&gEnemyParty[0], MON_DATA_NICKNAME, name); +StringCopy10(gStringVar3, name); +GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name); +StringCopy10(gStringVar2, name); +``` + +That's it!
\ No newline at end of file |