summaryrefslogtreecommitdiff
path: root/data/scripts/obtain_item.inc
blob: 37e8a37883e38c95bb5c92e9730145563888a27e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Std_ObtainItem: @ 819FDF7
	additem VAR_0x8000, VAR_0x8001
	copyvar VAR_0x8007, VAR_RESULT
	call EventScript_ObtainItemMessage
	return

EventScript_ObtainItemMessage: @ 819FE07
	bufferitemname 1, VAR_0x8000
	checkitemtype VAR_0x8000
	call EventScript_BufferPocketNameAndTryFanfare
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_ObtainedItem
	compare VAR_0x8007, FALSE
	call_if_eq EventScript_NoRoomForItem
	return

EventScript_BufferPocketNameAndTryFanfare:
	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:
	bufferstdstring 2, STDSTRING_ITEMS
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_PlayFanfareObtainedItem
	return

EventScript_BufferKeyItemsPocket:
	bufferstdstring 2, STDSTRING_KEYITEMS
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_PlayFanfareObtainedItem
	return

EventScript_BufferPokeballsPocket:
	bufferstdstring 2, STDSTRING_POKEBALLS
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_PlayFanfareObtainedItem
	return

EventScript_BufferTMHMsPocket:
	bufferstdstring 2, STDSTRING_TMHMS
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_PlayFanfareObtainedTMHM
	return

EventScript_BufferBerriesPocket:
	bufferstdstring 2, STDSTRING_BERRIES
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_PlayFanfareObtainedItem
	return

EventScript_ObtainedItem: @ 819FEB7
	message Text_ObtainedTheItem
	waitfanfare
	waitmessage
	msgbox Text_PutItemInPocket
	setvar VAR_RESULT, TRUE
	return

EventScript_NoRoomForItem: @ 819FECC
	setvar VAR_RESULT, FALSE
	return

EventScript_PlayFanfareObtainedItem:
	playfanfare MUS_OBTAIN_ITEM
	return

EventScript_PlayFanfareObtainedTMHM:
	playfanfare MUS_OBTAIN_TMHM
	return

Std_ObtainDecoration: @ 819FEDA
	adddecoration VAR_0x8000
	copyvar VAR_0x8007, VAR_RESULT
	call EventScript_ObtainDecorationMessage
	return

EventScript_ObtainDecorationMessage: @ 819FEE8
	bufferdecorationname 1, VAR_0x8000
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_ObtainedDecor
	compare VAR_0x8007, FALSE
	call_if_eq EventScript_NoRoomForDecor
	return

EventScript_ObtainedDecor: @ 819FF03
	playfanfare MUS_OBTAIN_ITEM
	message Text_ObtainedTheDecor
	waitfanfare
	waitmessage
	msgbox Text_TheDecorWasTransferredToThePC
	setvar VAR_RESULT, TRUE
	return

EventScript_NoRoomForDecor: @ 819FF1B
	setvar VAR_RESULT, FALSE
	return

Std_FindItem: @ 819FF21
	lock
	faceplayer
	waitse
	additem VAR_0x8000, VAR_0x8001
	copyvar VAR_0x8007, VAR_RESULT
	bufferitemname 1, VAR_0x8000
	checkitemtype VAR_0x8000
	call EventScript_BufferPocketNameAndTryFanfare
	compare VAR_0x8007, TRUE
	call_if_eq EventScript_PickUpItem
	compare VAR_0x8007, FALSE
	call_if_eq EventScript_NoRoomToPickUpItem
	release
	return

EventScript_PickUpItem: @ 819FF52
	removeobject VAR_LAST_TALKED
	message Text_FoundOneItem
	waitfanfare
	waitmessage
	msgbox Text_PutItemInPocket
	return

EventScript_NoRoomToPickUpItem: @ 819FF65
	msgbox Text_ObtainedTheItem
	msgbox Text_TooBadBagIsFull
	setvar VAR_RESULT, FALSE
	return

EventScript_HiddenItem:: @ 819FF7B
	lockall
	waitse
	additem VAR_0x8005
	copyvar VAR_0x8007, VAR_RESULT
	bufferitemname 1, VAR_0x8005
	checkitemtype VAR_0x8005
	call EventScript_BufferPocketNameAndTryFanfare
	compare VAR_0x8007, TRUE
	goto_if_eq EventScript_PickUpHiddenItem
	compare VAR_0x8007, FALSE
	goto_if_eq EventScript_NoRoomToPickUpHiddenItem
	end

EventScript_PickUpHiddenItem:
	message Text_FoundOneItem
	waitfanfare
	waitmessage
	msgbox Text_PutItemInPocket
	special SetHiddenItemFlag
	releaseall
	end

EventScript_NoRoomToPickUpHiddenItem:
	msgbox Text_FoundOneItem
	msgbox Text_TooBadBagIsFull
	setvar VAR_RESULT, FALSE
	releaseall
	end