summaryrefslogtreecommitdiff
path: root/data/scripts/obtain_item.inc
diff options
context:
space:
mode:
Diffstat (limited to 'data/scripts/obtain_item.inc')
-rw-r--r--data/scripts/obtain_item.inc207
1 files changed, 207 insertions, 0 deletions
diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc
new file mode 100644
index 000000000..3afd92588
--- /dev/null
+++ b/data/scripts/obtain_item.inc
@@ -0,0 +1,207 @@
+Std_ObtainItem:: @ 8271AD3
+ additem VAR_0x8000, VAR_0x8001
+ copyvar VAR_0x8007, VAR_RESULT
+ call EventScript_ObtainItemMessage
+ return
+
+EventScript_ObtainItemMessage:: @ 8271AE3
+ bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
+ checkitemtype VAR_0x8000
+ call EventScript_BufferPocketNameAndTryFanfare
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_ObtainedItem
+ compare VAR_0x8007, 0
+ call_if_eq EventScript_NoRoomForItem
+ return
+
+EventScript_BufferPocketNameAndTryFanfare:: @ 8271B08
+ switch VAR_RESULT
+ case POCKET_ITEMS, EventScript_BufferItemsPocket
+ case POCKET_KEY_ITEMS, EventScript_BufferKeyItemsPocket
+ case POCKET_POKE_BALLS, EventScript_BufferPokeballsPocket
+ case POCKET_TM_HM, EventScript_BufferTMHMsPocket
+ case POCKET_BERRIES, EventScript_BufferBerriesPocket
+ end
+
+EventScript_BufferItemsPocket:: @ 8271B45
+ bufferstdstring 2, STDSTRING_ITEMS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_BufferKeyItemsPocket:: @ 8271B55
+ bufferstdstring 2, STDSTRING_KEYITEMS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_BufferPokeballsPocket:: @ 8271B65
+ bufferstdstring 2, STDSTRING_POKEBALLS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_BufferTMHMsPocket:: @ 8271B75
+ bufferstdstring 2, STDSTRING_TMHMS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedTMHM
+ return
+
+EventScript_BufferBerriesPocket:: @ 8271B85
+ bufferstdstring 2, STDSTRING_BERRIES
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_ObtainedItem:: @ 8271B95
+ message gText_ObtainedTheItem
+ waitfanfare
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 1
+ return
+
+EventScript_NoRoomForItem:: @ 8271BA9
+ setvar VAR_RESULT, 0
+ return
+
+EventScript_PlayFanfareObtainedItem:: @ 8271BAF
+ playfanfare MUS_FANFA4
+ return
+
+EventScript_PlayFanfareObtainedTMHM:: @ 8271BB3
+ playfanfare MUS_ME_WAZA
+ return
+
+Std_ObtainDecoration:: @ 8271BB7
+ adddecoration VAR_0x8000
+ copyvar VAR_0x8007, VAR_RESULT
+ call EventScript_ObtainDecorationMessage
+ return
+
+EventScript_ObtainDecorationMessage:: @ 8271BC5
+ bufferdecorationname 1, VAR_0x8000
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_ObtainedDecor
+ compare VAR_0x8007, 0
+ call_if_eq EventScript_NoRoomForDecor
+ return
+
+EventScript_ObtainedDecor:: @ 8271BE0
+ playfanfare MUS_FANFA4
+ message gText_ObtainedTheDecor
+ waitfanfare
+ msgbox gText_TheDecorWasTransferredToThePC, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 1
+ return
+
+EventScript_NoRoomForDecor:: @ 8271BF7
+ setvar VAR_RESULT, 0
+ return
+
+Std_FindItem:: @ 8271BFD
+ lock
+ faceplayer
+ waitse
+ copyvar VAR_0x8004, VAR_0x8000
+ copyvar VAR_0x8005, VAR_0x8001
+ checkitemspace VAR_0x8000, VAR_0x8001
+ copyvar VAR_0x8007, VAR_RESULT
+ bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
+ checkitemtype VAR_0x8000
+ call EventScript_BufferPocketNameAndTryFanfare
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PickUpItem
+ compare VAR_0x8007, 0
+ call_if_eq EventScript_NoRoomToPickUpItem
+ release
+ return
+
+EventScript_PickUpItem:: @ 8271C3A
+ removeobject VAR_LAST_TALKED
+ additem VAR_0x8004, VAR_0x8005
+ specialvar VAR_RESULT, BufferTMHMMoveName
+ copyvar VAR_0x8008, VAR_RESULT
+ compare VAR_0x8008, 1
+ call_if_eq EventScript_FoundTMHM
+ compare VAR_0x8008, 0
+ call_if_eq EventScript_FoundItem
+ waitfanfare
+ waitmessage
+ bufferitemnameplural 1, VAR_0x8004, VAR_0x8005
+ pyramid_inchallenge
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_PutBattlePyramidItemInBag
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
+ return
+
+EventScript_PutBattlePyramidItemInBag:: @ 8271C86
+ msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT
+ return
+
+EventScript_FoundTMHM:: @ 8271C8F
+ bufferitemnameplural 0, VAR_0x8004, VAR_0x8005
+ message gText_PlayerFoundOneTMHM
+ return
+
+EventScript_FoundItem:: @ 8271C9B
+ message gText_PlayerFoundOneItem
+ return
+
+EventScript_NoRoomToPickUpItem:: @ 8271CA1
+ msgbox gText_ObtainedTheItem, MSGBOX_DEFAULT
+ msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 0
+ return
+
+EventScript_HiddenItemScript:: @ 8271CB7
+ lockall
+ waitse
+ additem VAR_0x8005
+ copyvar VAR_0x8007, VAR_RESULT
+ bufferitemnameplural 1, VAR_0x8005, 1
+ checkitemtype VAR_0x8005
+ call EventScript_BufferPocketNameAndTryFanfare
+ compare VAR_0x8007, 1
+ goto_if_eq EventScript_PickUpHiddenItem
+ compare VAR_0x8007, 0
+ goto_if_eq EventScript_NoRoomForHiddenItem
+ end
+
+EventScript_PickUpHiddenItem:: @ 8271CE8
+ copyvar VAR_0x8008, VAR_0x8004
+ copyvar VAR_0x8004, VAR_0x8005
+ specialvar VAR_RESULT, BufferTMHMMoveName
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_FoundHiddenTMHM
+ compare VAR_RESULT, 0
+ goto_if_eq EventScript_FoundHiddenItem
+ end
+
+EventScript_FoundHiddenTMHM:: @ 8271D0E
+ bufferitemnameplural 0, VAR_0x8004, 1
+ message gText_PlayerFoundOneTMHM
+ goto EventScript_PutHiddenItemInPocket
+ end
+
+EventScript_FoundHiddenItem:: @ 8271D1F
+ message gText_PlayerFoundOneItem
+ goto EventScript_PutHiddenItemInPocket
+ end
+
+EventScript_PutHiddenItemInPocket:: @ 8271D2A
+ waitmessage
+ waitfanfare
+ bufferitemnameplural 1, VAR_0x8004, 1
+ copyvar VAR_0x8004, VAR_0x8008
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
+ special TryPutTreasureInvestigatorsOnAir
+ special SetHiddenItemFlag
+ releaseall
+ end
+
+EventScript_NoRoomForHiddenItem:: @ 8271D47
+ msgbox gText_PlayerFoundOneItem, MSGBOX_DEFAULT
+ msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 0
+ releaseall
+ end