Lunos

Pokeemerald self trade v1

Dec 15th, 2021 (edited)
998
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.48 KB | None | 0 0
  1. diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc
  2. index 3f43386cb..f515540ba 100644
  3. --- a/data/maps/OldaleTown/scripts.inc
  4. +++ b/data/maps/OldaleTown/scripts.inc
  5. @@ -93,6 +93,42 @@ OldaleTown_EventScript_BagIsFull::
  6.     fadedefaultbgm
  7.     release
  8.     end
  9. +
  10. +SCRIPT_SelfTrade_V1::
  11. +   lock
  12. +   faceplayer
  13. +   msgbox SCRIPT_SelfTrade_Text_IllTradeIfYouWant, MSGBOX_YESNO
  14. +   compare VAR_RESULT, NO
  15. +   goto_if_eq SCRIPT_SelfTrade_DeclineTrade
  16. +   special ChoosePartyMon
  17. +   waitstate
  18. +   compare VAR_0x8004, 255
  19. +   goto_if_eq SCRIPT_SelfTrade_DeclineTrade
  20. +   copyvar VAR_0x8005, VAR_0x8004
  21. +   setvar VAR_0x8004, 6
  22. +   special CreateInGameTradePokemon
  23. +   special DoInGameTradeScene
  24. +   waitstate
  25. +   msgbox SCRIPT_SelfTrade_Text_ComeBack, MSGBOX_DEFAULT
  26. +   release
  27. +   end
  28. +
  29. +SCRIPT_SelfTrade_DeclineTrade::
  30. +   msgbox SCRIPT_SelfTrade_Text_YouDontWantToThatsOkay, MSGBOX_DEFAULT
  31. +   release
  32. +   end
  33. +
  34. +SCRIPT_SelfTrade_Text_IllTradeIfYouWant:
  35. +   .string "I will help you to\n"
  36. +   .string "trade a pokemon\p"
  37. +   .string "with yourself!$"
  38. +
  39. +SCRIPT_SelfTrade_Text_ComeBack:
  40. +   .string "Come back anytime.$"
  41. +
  42. +SCRIPT_SelfTrade_Text_YouDontWantToThatsOkay:
  43. +   .string "You dont want to?\n"
  44. +   .string "Okay come back anytime$"
  45.  
  46.  OldaleTown_Movement_EmployeeEast:
  47.     walk_up
  48. diff --git a/src/trade.c b/src/trade.c
  49. index b48d1abf5..aed0c37c5 100644
  50. --- a/src/trade.c
  51. +++ b/src/trade.c
  52. @@ -3271,9 +3271,9 @@ static void BufferTradeSceneStrings(void)
  53.      }
  54.      else
  55.      {
  56. -        ingameTrade = &sIngameTrades[gSpecialVar_0x8004];
  57. -        StringCopy(gStringVar1, ingameTrade->otName);
  58. -        StringCopy_Nickname(gStringVar3, ingameTrade->nickname);
  59. +        GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, gStringVar1);
  60. +        GetMonData(&gEnemyParty[0], MON_DATA_NICKNAME, name);
  61. +        StringCopy_Nickname(gStringVar3, name);
  62.          GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name);
  63.          StringCopy_Nickname(gStringVar2, name);
  64.      }
  65. @@ -4559,7 +4559,10 @@ u16 GetTradeSpecies(void)
  66.  
  67.  void CreateInGameTradePokemon(void)
  68.  {
  69. -    _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004);
  70. +    if (gSpecialVar_0x8004 == 6)  // Version 1 (a value greater than return value range of 0-5 and not 255)
  71. +        gEnemyParty[0] = gPlayerParty[gSpecialVar_0x8005];
  72. +    else
  73. +        _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004);
  74.  }
  75.  
  76.  static void CB2_UpdateLinkTrade(void)
  77.  
Add Comment
Please, Sign In to add comment