Clean up mystery gift sync, document wonder news

This commit is contained in:
GriffinR
2022-11-21 23:52:11 -05:00
parent 76c3b014d8
commit a19cb44458
17 changed files with 212 additions and 189 deletions
+1
View File
@@ -36,6 +36,7 @@
#include "constants/easy_chat.h"
#include "constants/trainer_card.h"
#include "constants/help_system.h"
#include "constants/mystery_gift.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.set FALSE, 0
+29 -19
View File
@@ -1,5 +1,8 @@
.set LOCALID_WONDER_NEWS_BERRY_MAN, 1
.set REWARD_TYPE, VAR_0x8004
.set REWARD_ITEM, VAR_0x8008
CeruleanCity_House4_MapScripts::
.byte 0
@@ -7,62 +10,69 @@ CeruleanCity_House4_EventScript_WonderNewsBerryMan::
goto_if_questlog EventScript_ReleaseEnd
special QuestLog_CutRecording
lock
specialvar VAR_0x8004, GetMENewsJisanItemAndState
copyvar VAR_0x8008, VAR_RESULT
goto_if_eq VAR_0x8004, 0, CeruleanCity_House4_EventScript_NoNews
goto_if_eq VAR_0x8004, 1, CeruleanCity_House4_EventScript_News1
goto_if_eq VAR_0x8004, 2, CeruleanCity_House4_EventScript_News2
goto_if_eq VAR_0x8004, 3, CeruleanCity_House4_EventScript_NewsNotSpread
goto_if_eq VAR_0x8004, 4, CeruleanCity_House4_EventScript_NewsSpread1
goto_if_eq VAR_0x8004, 5, CeruleanCity_House4_EventScript_NewsSpread2
goto_if_eq VAR_0x8004, 6, CeruleanCity_House4_EventScript_NewsDone
specialvar REWARD_TYPE, WonderNews_GetRewardInfo
copyvar REWARD_ITEM, VAR_RESULT
goto_if_eq REWARD_TYPE, NEWS_REWARD_NONE, CeruleanCity_House4_EventScript_NoNews
goto_if_eq REWARD_TYPE, NEWS_REWARD_RECV_SMALL, CeruleanCity_House4_EventScript_Reward_RecvSmall
goto_if_eq REWARD_TYPE, NEWS_REWARD_RECV_BIG, CeruleanCity_House4_EventScript_Reward_RecvBig
goto_if_eq REWARD_TYPE, NEWS_REWARD_WAITING, CeruleanCity_House4_EventScript_Waiting
goto_if_eq REWARD_TYPE, NEWS_REWARD_SENT_SMALL, CeruleanCity_House4_EventScript_Reward_SentSmall
goto_if_eq REWARD_TYPE, NEWS_REWARD_SENT_BIG, CeruleanCity_House4_EventScript_Reward_SentBig
goto_if_eq REWARD_TYPE, NEWS_REWARD_AT_MAX, CeruleanCity_House4_EventScript_AtMax
end
@ Mystery Gift is not enabled, or the player has no saved Wonder News
CeruleanCity_House4_EventScript_NoNews::
msgbox CeruleanCity_House4_Text_NothingEntertaining
release
end
CeruleanCity_House4_EventScript_News1::
@ Small reward for receiving Wonder News from friend
CeruleanCity_House4_EventScript_Reward_RecvSmall::
call CeruleanCity_House4_EventScript_MovementReactionToNews
msgbox CeruleanCity_House4_Text_NewNewsInformativeHaveThis
giveitem VAR_0x8008
giveitem REWARD_ITEM
goto_if_eq VAR_RESULT, FALSE, CeruleanCity_House4_EventScript_NoRoomForBerries
release
end
CeruleanCity_House4_EventScript_News2::
@ Big reward for receiving Wonder News from non-friend source
CeruleanCity_House4_EventScript_Reward_RecvBig::
call CeruleanCity_House4_EventScript_MovementReactionToNews
msgbox CeruleanCity_House4_Text_IncredibleNewsHaveBerries
giveitem VAR_0x8008, 4
giveitem REWARD_ITEM, 4
goto_if_eq VAR_RESULT, FALSE, CeruleanCity_House4_EventScript_NoRoomForBerries
release
end
CeruleanCity_House4_EventScript_NewsNotSpread::
@ Player has not recently sent Wonder News
CeruleanCity_House4_EventScript_Waiting::
applymovement LOCALID_WONDER_NEWS_BERRY_MAN, Common_Movement_FacePlayer
waitmovement 0
msgbox CeruleanCity_House4_Text_WishCouldShareNewsWithOthers
release
end
CeruleanCity_House4_EventScript_NewsSpread1::
@ Small reward for sending Wonder News every 1-3 times
CeruleanCity_House4_EventScript_Reward_SentSmall::
call CeruleanCity_House4_EventScript_MovementReactionToNews
msgbox CeruleanCity_House4_Text_ThanksForSpreadingNewsTakeThis
giveitem VAR_0x8008
giveitem REWARD_ITEM
goto_if_eq VAR_RESULT, FALSE, CeruleanCity_House4_EventScript_NoRoomForBerries
release
end
CeruleanCity_House4_EventScript_NewsSpread2::
@ Big reward for sending Wonder News every 4th time
CeruleanCity_House4_EventScript_Reward_SentBig::
call CeruleanCity_House4_EventScript_MovementReactionToNews
msgbox CeruleanCity_House4_Text_MagnificentNewsSpreadHaveBerries
giveitem VAR_0x8008, 4
giveitem REWARD_ITEM, 4
goto_if_eq VAR_RESULT, FALSE, CeruleanCity_House4_EventScript_NoRoomForBerries
release
end
CeruleanCity_House4_EventScript_NewsDone::
@ Player has hit reward limit and must wait to receive new rewards
CeruleanCity_House4_EventScript_AtMax::
applymovement LOCALID_WONDER_NEWS_BERRY_MAN, Common_Movement_FacePlayer
waitmovement 0
msgbox CeruleanCity_House4_Text_EnjoyingMyselfWithAllSortsOfNews
+3 -3
View File
@@ -17,9 +17,9 @@
MysteryEventScript_StampCard::
setvaddress MysteryEventScript_StampCard
setorcopyvar VAR_RESULT, 1
specialvar VAR_0x8008, BattleCardAction
specialvar VAR_0x8008, GetMysteryGiftCardStat
setorcopyvar VAR_RESULT, 0
specialvar VAR_0x8009, BattleCardAction
specialvar VAR_0x8009, GetMysteryGiftCardStat
subvar VAR_0x8008, VAR_0x8009
buffernumberstring STR_VAR_1, VAR_0x8008
lock
@@ -162,7 +162,7 @@ MysteryEventScript_BattleCard::
setvaddress MysteryEventScript_BattleCard
vgoto_if_set FLAG_MYSTERY_GIFT_DONE, MysteryEventScript_BattleCardInfo
setorcopyvar VAR_RESULT, 2
specialvar VAR_0x8008, BattleCardAction
specialvar VAR_0x8008, GetMysteryGiftCardStat
vgoto_if_ne VAR_0x8008, 3, MysteryEventScript_BattleCardInfo
lock
faceplayer
+2 -2
View File
@@ -398,10 +398,10 @@ gSpecials::
def_special BufferUnionRoomPlayerName
def_special QuestLog_StartRecordingInputsAfterDeferredEvent
def_special GetMartClerkObjectId
def_special BattleCardAction
def_special GetMysteryGiftCardStat
def_special GetQuestLogState
def_special QuestLog_CutRecording
def_special GetMENewsJisanItemAndState
def_special WonderNews_GetRewardInfo
def_special GetPCBoxToSendMon
def_special OpenMuseumFossilPic
def_special CloseMuseumFossilPic