summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghoulslash <41651341+ghoulslash@users.noreply.github.com>2020-09-25 10:58:06 -0600
committerghoulslash <41651341+ghoulslash@users.noreply.github.com>2020-09-25 10:58:06 -0600
commitce2d4d2b8fe213ad007c1808e7441184ecc3a042 (patch)
treea8f66dcf0cbb31e626f9baca8a185f28242e45c7
parent8cdb89f9220cf2d51570b0bc60023e6ca4ed985a (diff)
Created Dynamic Trade Names (markdown)
-rw-r--r--Dynamic-Trade-Names.md26
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