aboutsummaryrefslogtreecommitdiffstats
path: root/engine/events/evolve_trade.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-07-02 23:30:21 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-07-02 23:30:21 -0400
commitf275790aec4a796ed969b099364abfdf25385967 (patch)
treec56edfd01a61e9aa0e3c3ee8a046e66b5a1984e4 /engine/events/evolve_trade.asm
parentActually run .travis/webhook.sh (diff)
downloadpokeyellow-f275790aec4a796ed969b099364abfdf25385967.tar.gz
pokeyellow-f275790aec4a796ed969b099364abfdf25385967.tar.xz
pokeyellow-f275790aec4a796ed969b099364abfdf25385967.zip
Add subdirectories to engine/ similar to pokecrystal
Diffstat (limited to 'engine/events/evolve_trade.asm')
-rwxr-xr-xengine/events/evolve_trade.asm44
1 files changed, 44 insertions, 0 deletions
diff --git a/engine/events/evolve_trade.asm b/engine/events/evolve_trade.asm
new file mode 100755
index 00000000..e17fc05c
--- /dev/null
+++ b/engine/events/evolve_trade.asm
@@ -0,0 +1,44 @@
+EvolveTradeMon:
+; Verify the TradeMon's species name before
+; attempting to initiate a trade evolution.
+
+; The names of the trade evolutions in Blue (JP)
+; are checked. In that version, TradeMons that
+; can evolve are Graveler and Haunter.
+
+; In localization, this check was translated
+; before monster names were finalized.
+; Then, Haunter's name was "Spectre".
+; Since its name no longer starts with
+; "SP", it is prevented from evolving.
+
+; This may have been why Red/Green's trades
+; were used instead, where none can evolve.
+
+; This was fixed in Yellow.
+
+ ld a, [wInGameTradeReceiveMonName]
+
+ ; GRAVELER
+ cp "G"
+ jr z, .ok
+
+ ; "SPECTRE" (HAUNTER)
+ cp "S"
+ ret nz
+ ld a, [wInGameTradeReceiveMonName + 1]
+ cp "P"
+ ret nz
+
+.ok
+ ld a, [wPartyCount]
+ dec a
+ ld [wWhichPokemon], a
+ ld a, $1
+ ld [wForceEvolution], a
+ ld a, LINK_STATE_TRADING
+ ld [wLinkState], a
+ callab TryEvolvingMon
+ xor a ; LINK_STATE_NONE
+ ld [wLinkState], a
+ jp PlayDefaultMusic