diff --git a/charmap.txt b/charmap.txt index 5b0b96af..f13fab1b 100644 --- a/charmap.txt +++ b/charmap.txt @@ -239,6 +239,8 @@ 'カ' = 83 4A 'ナ' = 83 69 +UNK_ICON_81_69 = 81 69 +UNK_ICON_81_6A = 81 6A RIGHT_ARROW = 81 A8 LEFT_ARROW = 81 A9 UP_ARROW = 81 AA diff --git a/data/data_80E7D40.s b/data/data_80E7D40.s index 1665d209..6ddf8c91 100644 --- a/data/data_80E7D40.s +++ b/data/data_80E7D40.s @@ -56,8 +56,8 @@ gUnknown_80E7F94: @ 80E7F94 st_80E7F94 5, 1, 4, 0xC2B, 0x123456, 0x19, 0x182, 0x38, 8, 0x3A, sUnknown_80E8088, sUnknown_80E8070 st_80E7F94 5, 1, 4, 0x112C, 0x123456, 4, 0x115, 0x38, 8, 0x3A, sUnknown_80E8060, sUnknown_80E8048 st_80E7F94 5, 1, 4, 0x112D, 0x123456, 1, 0x118, 0x38, 8, 0x3A, sUnknown_80E8038, sUnknown_80E8020 - st_80E7F94 5, 1, 0, 0x1B2E, 0x123456, 7, 0x9B, 0x38, 8, 0x3A, 0, 0 - st_80E7F94 5, 1, 0, 0x903, 0x123456, 0x98, 0x9E, 0x38, 8, 0x3A, 0, 0 + st_80E7F94 5, 1, 0, 0x1B2E, 0x123456, 7, 0x9B, 0x38, 8, 0x3A, 0, 0 + st_80E7F94 5, 1, 0, 0x903, 0x123456, 0x98, 0x9E, 0x38, 8, 0x3A, 0, 0 sUnknown_80E8020: @ 80E8020 .string "SHOW RESCUE 00\n" @@ -84,2680 +84,4 @@ sUnknown_80E8070: @ 80E8070 sUnknown_80E8088: @ 80E8088 .string "SHOW TITLE00\0" - .align 2, 0 - -@ code_803B050 #6 (code_803C1D0) - .string "pksdir0\0" - .align 2, 0 - - .global gUnknown_80E80A0 -gUnknown_80E80A0: @ 80E80A0 - .4byte 1 - .4byte 5 - .4byte 10 - .4byte 20 - .4byte 40 - .4byte 60 - .4byte 80 - .4byte 100 - .4byte 150 - .4byte 200 - .4byte 300 - .4byte 500 - .4byte 700 - .4byte 1000 - .4byte 1500 - .4byte 2000 - - .global gUnknown_80E80E0 -gUnknown_80E80E0: @ 80E80E0 - .2byte 201 - .2byte 376 - .2byte 380 - .2byte 291 - .2byte 293 - .2byte 14 - .2byte 81 - .2byte 82 - .2byte 307 - .2byte 94 - .2byte 145 - .2byte 146 - .2byte 144 - .2byte 412 - .2byte 269 - .2byte 268 - .2byte 270 - .2byte 275 - .2byte 150 - .2byte 409 - .2byte 408 - .2byte 413 - .2byte 274 - .2byte 276 - .2byte 405 - .2byte 406 - .2byte 407 - .2byte 151 - .2byte 411 - .2byte 410 - .2byte 414 - .2byte 420 - .2byte 421 - .2byte 422 - .2byte 0 - - .global gUnknown_80E8126 -gUnknown_80E8126: @ 80E8126 - .2byte 380 - .2byte 53 - .2byte 40 - .2byte 115 - .2byte 341 - .2byte 304 - .2byte 296 - .2byte 69 - .2byte 234 - .2byte 365 - .2byte 387 - .2byte 10 - .2byte 11 - .2byte 12 - .2byte 51 - .2byte 50 - .2byte 252 - .2byte 189 - .2byte 300 - .2byte 65 - .2byte 6 - .2byte 273 - .2byte 23 - .2byte 333 - .2byte 178 - .2byte 38 - .2byte 9 - .2byte 249 - .2byte 76 - .2byte 388 - .2byte 227 - .2byte 56 - .2byte 0 - - .global gUnknown_80E8168 -gUnknown_80E8168: @ 80E8168 - .2byte 32 - .2byte 29 - .2byte 33 - .2byte 30 - .2byte 34 - .2byte 31 - .2byte 128 - .2byte 266 - .2byte 338 - .2byte 339 - .2byte 337 - .2byte 336 - - .global gUnknown_80E8180 -gUnknown_80E8180: @ 80E8180 - .2byte 44 - .2byte 116 - .2byte 70 - .2byte 116 - .2byte 102 - .2byte 116 - .2byte 299 - .2byte 116 - .2byte 44 - .2byte 111 - .2byte 191 - .2byte 111 - .2byte 25 - .2byte 108 - .2byte 133 - .2byte 108 - .2byte 37 - .2byte 113 - .2byte 58 - .2byte 113 - .2byte 133 - .2byte 113 - .2byte 61 - .2byte 114 - .2byte 90 - .2byte 114 - .2byte 120 - .2byte 114 - .2byte 133 - .2byte 114 - .2byte 296 - .2byte 114 - .2byte 30 - .2byte 112 - .2byte 33 - .2byte 112 - .2byte 35 - .2byte 112 - .2byte 39 - .2byte 112 - .2byte 325 - .2byte 112 - - .global gUnknown_80E81D4 -gUnknown_80E81D4: @ 80E81D4 - .2byte 23 - .2byte 93 - .2byte 24 - .2byte 93 - .2byte 373 - .2byte 98 - .2byte 292 - .2byte 97 - .2byte 332 - .2byte 92 - .2byte 119 - .2byte 88 - .2byte 280 - .2byte 87 - .2byte 372 - .2byte 98 - .2byte 387 - .2byte 101 - .2byte 308 - .2byte 97 - .2byte 309 - .2byte 97 - .2byte 168 - .2byte 97 - .2byte 159 - .2byte 88 - .2byte 416 - .2byte 96 - .2byte 133 - .2byte 86 - .2byte 74 - .2byte 98 - .2byte 167 - .2byte 97 - .2byte 246 - .2byte 91 - .2byte 339 - .2byte 97 - .2byte 95 - .2byte 98 - .2byte 59 - .2byte 87 - .2byte 185 - .2byte 98 - .2byte 70 - .2byte 89 - .2byte 71 - .2byte 89 - .2byte 194 - .2byte 88 - .2byte 245 - .2byte 91 - .2byte 252 - .2byte 102 - .2byte 190 - .2byte 86 - .2byte 196 - .2byte 96 - .2byte 325 - .2byte 86 - .2byte 326 - .2byte 86 - .2byte 107 - .2byte 92 - .2byte 264 - .2byte 90 - .2byte 125 - .2byte 90 - .2byte 269 - .2byte 87 - .2byte 302 - .2byte 86 - .2byte 160 - .2byte 88 - .2byte 162 - .2byte 86 - .2byte 249 - .2byte 88 - .2byte 57 - .2byte 92 - .2byte 161 - .2byte 86 - .2byte 259 - .2byte 86 - .2byte 390 - .2byte 91 - .2byte 21 - .2byte 86 - .2byte 22 - .2byte 86 - .2byte 139 - .2byte 98 - .2byte 138 - .2byte 98 - .2byte 58 - .2byte 87 - .2byte 410 - .2byte 88 - .2byte 68 - .2byte 92 - .2byte 149 - .2byte 100 - .2byte 127 - .2byte 97 - .2byte 380 - .2byte 86 - .2byte 381 - .2byte 99 - .2byte 143 - .2byte 86 - .2byte 140 - .2byte 98 - .2byte 141 - .2byte 98 - .2byte 262 - .2byte 92 - .2byte 8 - .2byte 88 - .2byte 9 - .2byte 88 - .2byte 83 - .2byte 86 - .2byte 104 - .2byte 94 - .2byte 105 - .2byte 94 - .2byte 291 - .2byte 97 - .2byte 115 - .2byte 86 - .2byte 311 - .2byte 89 - .2byte 310 - .2byte 89 - .2byte 343 - .2byte 88 - .2byte 192 - .2byte 89 - .2byte 277 - .2byte 89 - .2byte 10 - .2byte 97 - .2byte 303 - .2byte 88 - .2byte 130 - .2byte 88 - .2byte 78 - .2byte 87 - .2byte 38 - .2byte 87 - .2byte 228 - .2byte 86 - .2byte 306 - .2byte 96 - .2byte 182 - .2byte 89 - .2byte 255 - .2byte 88 - .2byte 99 - .2byte 88 - .2byte 44 - .2byte 89 - .2byte 328 - .2byte 102 - .2byte 229 - .2byte 97 - .2byte 411 - .2byte 94 - .2byte 232 - .2byte 94 - .2byte 287 - .2byte 101 - .2byte 98 - .2byte 88 - .2byte 235 - .2byte 86 - .2byte 169 - .2byte 93 - .2byte 63 - .2byte 96 - .2byte 314 - .2byte 86 - .2byte 290 - .2byte 97 - .2byte 94 - .2byte 99 - .2byte 128 - .2byte 86 - .2byte 129 - .2byte 88 - .2byte 81 - .2byte 90 - .2byte 92 - .2byte 99 - .2byte 93 - .2byte 99 - .2byte 349 - .2byte 87 - .2byte 67 - .2byte 92 - .2byte 14 - .2byte 97 - .2byte 341 - .2byte 93 - .2byte 329 - .2byte 102 - .2byte 54 - .2byte 88 - .2byte 330 - .2byte 102 - .2byte 318 - .2byte 86 - .2byte 299 - .2byte 89 - .2byte 256 - .2byte 94 - .2byte 400 - .2byte 100 - .2byte 19 - .2byte 86 - .2byte 55 - .2byte 88 - .2byte 42 - .2byte 93 - .2byte 76 - .2byte 98 - .2byte 75 - .2byte 98 - .2byte 48 - .2byte 97 - .2byte 307 - .2byte 96 - .2byte 112 - .2byte 94 - .2byte 111 - .2byte 94 - .2byte 396 - .2byte 88 - .2byte 272 - .2byte 98 - .2byte 247 - .2byte 88 - .2byte 356 - .2byte 89 - .2byte 384 - .2byte 99 - .2byte 344 - .2byte 88 - .2byte 106 - .2byte 92 - .2byte 360 - .2byte 86 - .2byte 145 - .2byte 90 - .2byte 135 - .2byte 90 - .2byte 27 - .2byte 94 - .2byte 28 - .2byte 94 - .2byte 117 - .2byte 88 - .2byte 397 - .2byte 88 - .2byte 90 - .2byte 88 - .2byte 288 - .2byte 86 - .2byte 367 - .2byte 88 - .2byte 134 - .2byte 88 - .2byte 279 - .2byte 89 - .2byte 87 - .2byte 88 - .2byte 278 - .2byte 89 - .2byte 382 - .2byte 99 - .2byte 413 - .2byte 102 - .2byte 270 - .2byte 88 - .2byte 121 - .2byte 88 - .2byte 123 - .2byte 97 - .2byte 41 - .2byte 93 - .2byte 301 - .2byte 86 - .2byte 15 - .2byte 97 - .2byte 97 - .2byte 96 - .2byte 96 - .2byte 96 - .2byte 7 - .2byte 88 - .2byte 276 - .2byte 96 - .2byte 388 - .2byte 96 - .2byte 227 - .2byte 96 - .2byte 363 - .2byte 98 - .2byte 300 - .2byte 89 - .2byte 51 - .2byte 94 - .2byte 116 - .2byte 88 - .2byte 399 - .2byte 100 - .2byte 298 - .2byte 89 - .2byte 391 - .2byte 91 - .2byte 102 - .2byte 89 - .2byte 402 - .2byte 102 - .2byte 152 - .2byte 89 - .2byte 333 - .2byte 92 - .2byte 170 - .2byte 88 - .2byte 386 - .2byte 96 - .2byte 359 - .2byte 100 - .2byte 358 - .2byte 86 - .2byte 315 - .2byte 97 - .2byte 238 - .2byte 97 - .2byte 50 - .2byte 94 - .2byte 419 - .2byte 96 - .2byte 316 - .2byte 97 - .2byte 248 - .2byte 88 - .2byte 250 - .2byte 91 - .2byte 253 - .2byte 101 - .2byte 181 - .2byte 90 - .2byte 84 - .2byte 86 - .2byte 85 - .2byte 86 - .2byte 260 - .2byte 86 - .2byte 109 - .2byte 93 - .2byte 73 - .2byte 88 - .2byte 294 - .2byte 97 - .2byte 176 - .2byte 86 - .2byte 175 - .2byte 86 - .2byte 319 - .2byte 86 - .2byte 118 - .2byte 88 - .2byte 364 - .2byte 88 - .2byte 392 - .2byte 91 - .2byte 393 - .2byte 91 - .2byte 11 - .2byte 97 - .2byte 385 - .2byte 89 - .2byte 257 - .2byte 94 - .2byte 347 - .2byte 87 - .2byte 43 - .2byte 89 - .2byte 353 - .2byte 94 - .2byte 103 - .2byte 89 - .2byte 312 - .2byte 86 - .2byte 365 - .2byte 88 - .2byte 34 - .2byte 93 - .2byte 31 - .2byte 93 - .2byte 29 - .2byte 93 - .2byte 32 - .2byte 93 - .2byte 30 - .2byte 93 - .2byte 33 - .2byte 93 - .2byte 52 - .2byte 86 - .2byte 240 - .2byte 101 - .2byte 61 - .2byte 88 - .2byte 186 - .2byte 88 - .2byte 62 - .2byte 88 - .2byte 60 - .2byte 88 - .2byte 195 - .2byte 88 - .2byte 317 - .2byte 97 - .2byte 284 - .2byte 88 - .2byte 177 - .2byte 96 - .2byte 178 - .2byte 96 - .2byte 369 - .2byte 94 - .2byte 357 - .2byte 89 - .2byte 231 - .2byte 86 - .2byte 324 - .2byte 98 - .2byte 394 - .2byte 88 - .2byte 86 - .2byte 88 - .2byte 233 - .2byte 102 - .2byte 348 - .2byte 87 - .2byte 320 - .2byte 86 - .2byte 157 - .2byte 87 - .2byte 148 - .2byte 100 - .2byte 282 - .2byte 87 - .2byte 296 - .2byte 88 - .2byte 295 - .2byte 88 - .2byte 12 - .2byte 97 - .2byte 237 - .2byte 97 - .2byte 352 - .2byte 86 - .2byte 187 - .2byte 89 - .2byte 350 - .2byte 96 - .2byte 267 - .2byte 86 - .2byte 361 - .2byte 93 - .2byte 46 - .2byte 97 - .2byte 47 - .2byte 97 - .2byte 236 - .2byte 88 - .2byte 322 - .2byte 92 - .2byte 122 - .2byte 96 - .2byte 261 - .2byte 92 - .2byte 91 - .2byte 88 - .2byte 338 - .2byte 97 - .2byte 273 - .2byte 98 - .2byte 395 - .2byte 88 - .2byte 173 - .2byte 86 - .2byte 13 - .2byte 97 - .2byte 25 - .2byte 90 - .2byte 36 - .2byte 86 - .2byte 18 - .2byte 86 - .2byte 17 - .2byte 86 - .2byte 172 - .2byte 90 - .2byte 35 - .2byte 86 - .2byte 4 - .2byte 87 - .2byte 120 - .2byte 88 - .2byte 155 - .2byte 87 - .2byte 354 - .2byte 94 - .2byte 191 - .2byte 89 - .2byte 241 - .2byte 86 - .2byte 100 - .2byte 90 - .2byte 374 - .2byte 88 - .2byte 146 - .2byte 87 - .2byte 136 - .2byte 87 - .2byte 65 - .2byte 96 - .2byte 126 - .2byte 87 - .2byte 351 - .2byte 96 - .2byte 230 - .2byte 97 - .2byte 40 - .2byte 86 - .2byte 2 - .2byte 89 - .2byte 1 - .2byte 89 - .2byte 3 - .2byte 89 - .2byte 142 - .2byte 98 - .2byte 265 - .2byte 87 - .2byte 174 - .2byte 86 - .2byte 355 - .2byte 94 - .2byte 336 - .2byte 90 - .2byte 197 - .2byte 101 - .2byte 144 - .2byte 91 - .2byte 39 - .2byte 86 - .2byte 234 - .2byte 86 - .2byte 366 - .2byte 88 - .2byte 153 - .2byte 89 - .2byte 88 - .2byte 93 - .2byte 89 - .2byte 93 - .2byte 239 - .2byte 97 - .2byte 304 - .2byte 88 - .2byte 254 - .2byte 101 - .2byte 53 - .2byte 86 - .2byte 108 - .2byte 86 - .2byte 275 - .2byte 87 - .2byte 346 - .2byte 88 - .2byte 345 - .2byte 88 - .2byte 163 - .2byte 86 - .2byte 401 - .2byte 100 - .2byte 331 - .2byte 102 - .2byte 286 - .2byte 101 - .2byte 16 - .2byte 86 - .2byte 77 - .2byte 87 - .2byte 188 - .2byte 89 - .2byte 137 - .2byte 86 - .2byte 258 - .2byte 86 - .2byte 379 - .2byte 86 - .2byte 337 - .2byte 90 - .2byte 244 - .2byte 87 - .2byte 321 - .2byte 92 - .2byte 243 - .2byte 87 - .2byte 156 - .2byte 87 - .2byte 69 - .2byte 89 - .2byte 110 - .2byte 93 - .2byte 289 - .2byte 86 - .2byte 293 - .2byte 97 - .2byte 183 - .2byte 88 - .2byte 184 - .2byte 88 - .2byte 342 - .2byte 93 - .2byte 101 - .2byte 90 - .2byte 56 - .2byte 92 - .2byte 251 - .2byte 88 - .2byte 283 - .2byte 88 - .2byte 147 - .2byte 100 - .2byte 151 - .2byte 96 - .2byte 150 - .2byte 96 - .2byte 266 - .2byte 86 - .2byte 375 - .2byte 88 - .2byte 200 - .2byte 99 - .2byte 263 - .2byte 91 - .2byte 154 - .2byte 89 - .2byte 404 - .2byte 102 - .2byte 132 - .2byte 86 - .2byte 403 - .2byte 102 - .2byte 72 - .2byte 88 - .2byte 179 - .2byte 90 - .2byte 180 - .2byte 90 - .2byte 49 - .2byte 97 - .2byte 114 - .2byte 89 - .2byte 368 - .2byte 94 - .2byte 199 - .2byte 88 - .2byte 80 - .2byte 88 - .2byte 79 - .2byte 88 - .2byte 198 - .2byte 101 - .2byte 327 - .2byte 101 - .2byte 313 - .2byte 86 - .2byte 193 - .2byte 97 - .2byte 389 - .2byte 91 - .2byte 371 - .2byte 98 - .2byte 64 - .2byte 96 - .2byte 271 - .2byte 98 - .2byte 383 - .2byte 99 - .2byte 164 - .2byte 86 - .2byte 268 - .2byte 90 - .2byte 26 - .2byte 90 - .2byte 335 - .2byte 90 - .2byte 285 - .2byte 88 - .2byte 334 - .2byte 90 - .2byte 113 - .2byte 86 - .2byte 20 - .2byte 86 - .2byte 408 - .2byte 100 - .2byte 409 - .2byte 100 - .2byte 398 - .2byte 88 - .2byte 131 - .2byte 88 - .2byte 45 - .2byte 89 - .2byte 305 - .2byte 96 - .2byte 171 - .2byte 88 - .2byte 5 - .2byte 87 - .2byte 6 - .2byte 87 - .2byte 370 - .2byte 98 - .2byte 242 - .2byte 86 - .2byte 124 - .2byte 91 - .2byte 274 - .2byte 96 - .2byte 362 - .2byte 98 - .2byte 323 - .2byte 86 - .2byte 297 - .2byte 88 - .2byte 82 - .2byte 90 - .2byte 406 - .2byte 91 - .2byte 407 - .2byte 102 - .2byte 405 - .2byte 98 - .2byte 412 - .2byte 100 - .2byte 166 - .2byte 97 - .2byte 165 - .2byte 97 - .2byte 37 - .2byte 87 - .2byte 340 - .2byte 89 - .2byte 281 - .2byte 87 - .2byte 189 - .2byte 89 - .2byte 158 - .2byte 88 - .2byte 66 - .2byte 92 - - .global gMankeyMission -gMankeyMission: @ 80E87DC - .string "Punish bad {COLOR_1 YELLOW}Mankey{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global gSmeargleMission -gSmeargleMission: @ 80E87F4 - .string "{COLOR_1 YELLOW}Smeargle{END_COLOR_TEXT_1}{APOSTROPHE}s desperate plea!\0" - .align 2,0 - - .global gMedichamMission -gMedichamMission: @ 80E8818 - .string "{COLOR_1 YELLOW}Medicham{END_COLOR_TEXT_1}: Help me!\0" - .align 2,0 - - .global gUnknown_80E8830 -gUnknown_80E8830: @ 80E8830 - .string "Deliver one {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2,0 - - .global gUnknown_80E8848 -gUnknown_80E8848: @ 80E8848 - .string "One {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted!\0" - .align 2,0 - - .global gUnknown_80E885C -gUnknown_80E885C: @ 80E885C - .string "Save my child!\0" - .align 2,0 - - .global gUnknown_80E886C -gUnknown_80E886C: @ 80E886C - .string "Escort me to my love!\0" - .align 2,0 - - .global gUnknown_80E8884 -gUnknown_80E8884: @ 80E8884 - .string "Near %s\0" - .align 2,0 - - .global gUnknown_80E888C -gUnknown_80E888C: @ 80E888C - .string "Rescue Description\0" - .align 2,0 - - .global gMankeyMissionDescription -gMankeyMissionDescription: @ 80E88A0 - .string "Please punish bad {COLOR_1 YELLOW}Mankey{END_COLOR_TEXT_1}{APOSTROPHE}s gang.\0" - .align 2,0 - - .global gSmeargleMissionDescription -gSmeargleMissionDescription: @ 80E88C8 - .string "I didn{APOSTROPHE}t want to become a grown-up{COMMA} so I\n" - .string "fled{COMMA} but now I{APOSTROPHE}ve lost my way! Help!\0" - .align 2,0 - - .global gMedichamMissionDescription -gMedichamMissionDescription: @ 80E8920 - .string "This is {COLOR_1 YELLOW}Medicham{END_COLOR_TEXT_1}. Rescue me{COMMA} please!\n" - .string "The reward is a secret〜♪ " - .align 2,0 - - .global gUnknown_80E8968 -gUnknown_80E8968: @ 80E8968 - .string "With the item {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}{COMMA} I can\n" - .string "evolve! I{APOSTROPHE}m yearning to evolve! Help!\0" - .align 2,0 - - .global gUnknown_80E89B0 -gUnknown_80E89B0: @ 80E89B0 - .string "The {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}! What I love to eat\n" - .string "and can{APOSTROPHE}t live without! Please get one!\0" - .align 2,0 - - .global gUnknown_80E89FC -gUnknown_80E89FC: @ 80E89FC - .string "This is a rescue through communication.\n" - .string "Get a friend to help you!\0" - .align 2,0 - - .global gUnknown_80E8A40 -gUnknown_80E8A40: @ 80E8A40 - .string "This is a rescue through communication.\n" - .string "Rescue a friend!\0" - .align 2,0 - - .global gUnknown_80E8A7C -gUnknown_80E8A7C: @ 80E8A7C - .string "This is a rescue through communication.\n" - .string "Send your thanks to your friend!\0" - .align 2,0 - - .global gUnknown_80E8AC8 -gUnknown_80E8AC8: @ 80E8AC8 - .string "Client:\0" - .align 2,0 - - .global gUnknown_80E8AD0 -gUnknown_80E8AD0: @ 80E8AD0 - .string "%s{COLOR_1 GREEN}" - .byte 0x81 - .string "i%s" - .byte 0x81 - .string "j{END_COLOR_TEXT_1}\0" - .align 2,0 - - .global gUnknown_80E8AE0 -gUnknown_80E8AE0: @ 80E8AE0 - .string "Objective:\0" - .align 2,0 - - .global gUnknown_80E8AEC -gUnknown_80E8AEC: @ 80E8AEC - .string "Friend Rescue\0" - .align 2,0 - - .global gUnknown_80E8AFC -gUnknown_80E8AFC: @ 80E8AFC - .string "Deliver {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2,0 - - .global gUnknown_80E8B10 -gUnknown_80E8B10: @ 80E8B10 - .string "Find {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2,0 - - .global gUnknown_80E8B20 -gUnknown_80E8B20: @ 80E8B20 - .string "Help me.\0" - .align 2,0 - - .global gUnknown_80E8B2C -gUnknown_80E8B2C: @ 80E8B2C - .string "Escort to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\0" - .align 2,0 - - .global gUnknown_80E8B40 -gUnknown_80E8B40: @ 80E8B40 - .string "Find {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\0" - .align 2,0 - - .global gSpecialMissionText -gSpecialMissionText: @ 80E8B50 - .string "Special mission\0" - .align 2,0 - - .global gPlaceText -gPlaceText: @ 80E8B60 - .string "Place:\0" - .align 2,0 - - .global gDifficultyText -gDifficultyText: @ 80E8B68 - .string "Difficulty:\0" - .align 2,0 - - .global gRewardText -gRewardText: @ 80E8B74 - .string "Reward:\0" - .align 2,0 - - .global gUnknown_80E8B7C -gUnknown_80E8B7C: @ 80E8B7C - .string "Wonder Mail:\0" - .align 2,0 - -@ code_803B050 #7 - .string "pksdir0\0" - .align 2,0 - - .global gUnknown_80E8B94 -gUnknown_80E8B94: @ 80E8B94 - .4byte UnkData_80E8BC8 - .4byte UnkData_80E8BC4 - .4byte UnkData_80E8BC0 - .4byte UnkData_80E8BBC - .4byte UnkData_80E8BB8 - .4byte UnkData_80E8BB4 - .4byte UnkData_80E8BB0 - - .global UnkData_80E8BB0 - UnkData_80E8BB0: - .byte 0x83, 0xc3, 0x00, 0x00 - - .global UnkData_80E8BB4 - UnkData_80E8BB4: - .byte 0x83, 0xc2, 0x00, 0x00 - - .global UnkData_80E8BB8 - UnkData_80E8BB8: - .byte 0x83, 0xc1, 0x00, 0x00 - - .global UnkData_80E8BBC - UnkData_80E8BBC: - .byte 0x83, 0xc0, 0x00, 0x00 - - .global UnkData_80E8BC0 - UnkData_80E8BC0: - .byte 0x87, 0x40, 0x00, 0x00 - - .global UnkData_80E8BC4 - UnkData_80E8BC4: - .byte 0x84, 0x87, 0x00, 0x00 - - .global UnkData_80E8BC8 - UnkData_80E8BC8: - .byte 0x81, 0x40, 0x00, 0x00 - - - .global gUnknown_80E8BCC -gUnknown_80E8BCC: @ 80E8BCC - .4byte UnkData_80E8BC8 - .4byte SuspendText - .4byte TakeJobText - .4byte DoneText - - .global DoneText - DoneText: - .string "Done\0" - .align 2,0 - - .global TakeJobText - TakeJobText: - .string "Take Job\0" - .align 2,0 - - .global SuspendText - SuspendText: - .string "Suspend\0" - .align 2,0 - - .global gUnknown_80E8BF8 -gUnknown_80E8BF8: @ 80E8BF8 - .4byte sUnknown_80E8C40 - .4byte sUnknown_80E8C38 - .4byte sUnknown_80E8C30 - .4byte sUnknown_80E8C28 - .4byte sUnknown_80E8C20 - .4byte sUnknown_80E8C18 - .4byte sUnknown_80E8C14 - -sUnknown_80E8C14: @ 80E8C14 - .string "{STAR_BULLET}\0" - .align 2, 0 - -sUnknown_80E8C18: @ 80E8C18 - .string "{COLOR_1 RED}S{END_COLOR_TEXT_1}\0" - .align 2, 0 - -sUnknown_80E8C20: @ 80E8C20 - .string "{COLOR_1 CYAN}A{END_COLOR_TEXT_1}\0" - .align 2, 0 - -sUnknown_80E8C28: @ 80E8C28 - .string "{COLOR_1 CYAN}B{END_COLOR_TEXT_1}\0" - .align 2, 0 - -sUnknown_80E8C30: @ 80E8C30 - .string "{COLOR_1 GREEN}C{END_COLOR_TEXT_1}\0" - .align 2, 0 - -sUnknown_80E8C38: @ 80E8C38 - .string "{COLOR_1 GREEN}D{END_COLOR_TEXT_1}\0" - .align 2, 0 - -sUnknown_80E8C40: @ 80E8C40 - .string "{COLOR_1 WHITE}E{END_COLOR_TEXT_1}\0" - .align 2, 0 - - .global gMissionRewardText -gMissionRewardText: @ 80E8C48 - .4byte sUnknown_80E8C90 - .4byte sUnknown_80E8C84 - .4byte sUnknown_80E8C7C - .4byte sUnknown_80E8C70 - .4byte sUnknown_80E8C64 - .4byte sUnknown_80E8C60 - -sUnknown_80E8C60: @ 80E8C60 - .string "???\0" - .align 2, 0 - -sUnknown_80E8C64: @ 80E8C64 - .string "Friend Area\0" - .align 2, 0 - -sUnknown_80E8C70: @ 80E8C70 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} + ?\0" - .align 2, 0 - -sUnknown_80E8C7C: @ 80E8C7C - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}\0" - .align 2, 0 - -sUnknown_80E8C84: @ 80E8C84 - .string "%d {POKE} + ?\0" - .align 2, 0 - -sUnknown_80E8C90: @ 80E8C90 - .string "%d {POKE}\0" - .align 2, 0 - - .global gUnknown_80E8C98 -gUnknown_80E8C98: @ 80E8C98 - .4byte sUnknown_80E8DDC - .4byte sUnknown_80E8DC8 - .4byte sUnknown_80E8DB4 - .4byte sUnknown_80E8DA4 - .4byte sUnknown_80E8D88 - .4byte sUnknown_80E8D7C - .4byte sUnknown_80E8D6C - .4byte sUnknown_80E8D5C - .4byte sUnknown_80E8D44 - .4byte sUnknown_80E8D28 - .4byte sUnknown_80E8D18 - .4byte sUnknown_80E8D0C - .4byte sUnknown_80E8CF4 - .4byte sUnknown_80E8CE0 - .4byte sUnknown_80E8CD4 - -sUnknown_80E8CD4: @ 80E8CD4 - .string "Help me!\0" - .align 2, 0 - -sUnknown_80E8CE0: @ 80E8CE0 - .string "I can{APOSTROPHE}t get home!\0" - .align 2, 0 - -sUnknown_80E8CF4: @ 80E8CF4 - .string "I{APOSTROPHE}m sad and lonely.\0" - .align 2, 0 - -sUnknown_80E8D0C: @ 80E8D0C - .string "Where am I?\0" - .align 2, 0 - -sUnknown_80E8D18: @ 80E8D18 - .string "I was KO{APOSTROPHE}d...\0" - .align 2, 0 - -sUnknown_80E8D28: @ 80E8D28 - .string "I{APOSTROPHE}m too tired to move.\0" - .align 2, 0 - -sUnknown_80E8D44: @ 80E8D44 - .string "I{APOSTROPHE}m not a fighter...\0" - .align 2, 0 - -sUnknown_80E8D5C: @ 80E8D5C - .string "I fainted...\0" - .align 2, 0 - -sUnknown_80E8D6C: @ 80E8D6C - .string "I was attacked!\0" - .align 2, 0 - -sUnknown_80E8D7C: @ 80E8D7C - .string "I{APOSTROPHE}m lost.\0" - .align 2, 0 - -sUnknown_80E8D88: @ 80E8D88 - .string "I can{APOSTROPHE}t seem to get out.\0" - .align 2, 0 - -sUnknown_80E8DA4: @ 80E8DA4 - .string "I{APOSTROPHE}m scared!\0" - .align 2, 0 - -sUnknown_80E8DB4: @ 80E8DB4 - .string "I{APOSTROPHE}m in trouble...\0" - .align 2, 0 - -sUnknown_80E8DC8: @ 80E8DC8 - .string "I can{APOSTROPHE}t get out!\0" - .align 2, 0 - -sUnknown_80E8DDC: @ 80E8DDC - .string "Help!\0" - .align 2, 0 - - .global gUnknown_80E8DE4 -gUnknown_80E8DE4: @ 80E8DE4 - .4byte sUnknown_80E8F7C - .4byte sUnknown_80E8F50 - .4byte sUnknown_80E8F2C - .4byte sUnknown_80E8F10 - .4byte sUnknown_80E8EF8 - .4byte sUnknown_80E8ED0 - .4byte sUnknown_80E8EB4 - .4byte sUnknown_80E8E98 - .4byte sUnknown_80E8E80 - .4byte sUnknown_80E8E6C - .4byte sUnknown_80E8E4C - .4byte sUnknown_80E8E2C - .4byte sUnknown_80E8E18 - -sUnknown_80E8E18: @ 80E8E18 - .string "I{APOSTROPHE}m famished...\0" - .align 2, 0 - -sUnknown_80E8E2C: @ 80E8E2C - .string "I can{APOSTROPHE}t move another step.\0" - .align 2, 0 - -sUnknown_80E8E4C: @ 80E8E4C - .string "Whoa! It{APOSTROPHE}s too rough here...\0" - .align 2, 0 - -sUnknown_80E8E6C: @ 80E8E6C - .string "I was done in...\0" - .align 2, 0 - -sUnknown_80E8E80: @ 80E8E80 - .string "I lost in a battle...\0" - .align 2, 0 - -sUnknown_80E8E98: @ 80E8E98 - .string "I{APOSTROPHE}m close to fainting...\0" - .align 2, 0 - -sUnknown_80E8EB4: @ 80E8EB4 - .string "I{APOSTROPHE}ve reached my limit...\0" - .align 2, 0 - -sUnknown_80E8ED0: @ 80E8ED0 - .string "Fighting the tough foe was a mistake...\0" - .align 2, 0 - -sUnknown_80E8EF8: @ 80E8EF8 - .string "This dungeon is scary!\0" - .align 2, 0 - -sUnknown_80E8F10: @ 80E8F10 - .string "I got lost in this dungeon!\0" - .align 2, 0 - -sUnknown_80E8F2C: @ 80E8F2C - .string "I{APOSTROPHE}m simply no good at fighting.\0" - .align 2, 0 - -sUnknown_80E8F50: @ 80E8F50 - .string "I was attacked when I was sitting still!\0" - .align 2, 0 - -sUnknown_80E8F7C: @ 80E8F7C - .string "I don{APOSTROPHE}t know how I did it{COMMA} but I can{APOSTROPHE}t exit!\0" - .align 2, 0 - - .global gUnknown_80E8FB0 -gUnknown_80E8FB0: @ 80E8FB0 - .4byte sUnknown_80E90F4 - .4byte sUnknown_80E90E8 - .4byte sUnknown_80E90D4 - .4byte sUnknown_80E90B4 - .4byte sUnknown_80E9090 - .4byte sUnknown_80E907C - .4byte sUnknown_80E9064 - .4byte sUnknown_80E903C - .4byte sUnknown_80E9024 - .4byte sUnknown_80E900C - .4byte sUnknown_80E8DDC - .4byte sUnknown_80E8FF4 - .4byte sUnknown_80E8FE4 - -sUnknown_80E8FE4: @ 80E8FE4 - .string "Aiyeeeeeeeeh!\0" - .align 2, 0 - -sUnknown_80E8FF4: @ 80E8FF4 - .string "...Gasp! Waaaaaaaah!\0" - .align 2, 0 - -sUnknown_80E900C: @ 80E900C - .string "Someone{COMMA} please help!\0" - .align 2, 0 - -sUnknown_80E9024: @ 80E9024 - .string "Rescue is requested!\0" - .align 2, 0 - -sUnknown_80E903C: @ 80E903C - .string "My consciousness is slipping... Help...\0" - .align 2, 0 - -sUnknown_80E9064: @ 80E9064 - .string "Wroooooaaar! Someone!\0" - .align 2, 0 - -sUnknown_80E907C: @ 80E907C - .string "Where am I? Help!\0" - .align 2, 0 - -sUnknown_80E9090: @ 80E9090 - .string "Why? Why is everyone attacking me?\0" - .align 2, 0 - -sUnknown_80E90B4: @ 80E90B4 - .string "I feel faint... Please help...\0" - .align 2, 0 - -sUnknown_80E90D4: @ 80E90D4 - .string "Someone{COMMA} help!\0" - .align 2, 0 - -sUnknown_80E90E8: @ 80E90E8 - .string "Someone!\0" - .align 2, 0 - -sUnknown_80E90F4: @ 80E90F4 - .string "Please{COMMA} I need help!\0" - .align 2, 0 - - .global gUnknown_80E910C -gUnknown_80E910C: @ 80E910C - .4byte sUnknown_80E91BC - .4byte sUnknown_80E91A8 - .4byte sUnknown_80E9190 - .4byte sUnknown_80E917C - .4byte sUnknown_80E8DDC - .4byte sUnknown_80E9170 - .4byte sUnknown_80E9160 - .4byte sUnknown_80E914C - .4byte sUnknown_80E9144 - .4byte sUnknown_80E9134 - -sUnknown_80E9134: @ 80E9134 - .string "Disappearance!\0" - .align 2, 0 - -sUnknown_80E9144: @ 80E9144 - .string "Hurry!\0" - .align 2, 0 - -sUnknown_80E914C: @ 80E914C - .string "Hasn{APOSTROPHE}t come back.\0" - .align 2, 0 - -sUnknown_80E9160: @ 80E9160 - .string "I{APOSTROPHE}m worried.\0" - .align 2, 0 - -sUnknown_80E9170: @ 80E9170 - .string "Somebody!\0" - .align 2, 0 - -sUnknown_80E917C: @ 80E917C - .string "Failed to return.\0" - .align 2, 0 - -sUnknown_80E9190: @ 80E9190 - .string "Hurry{COMMA} save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80E91A8: @ 80E91A8 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} needs help!\0" - .align 2, 0 - -sUnknown_80E91BC: @ 80E91BC - .string "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - - .global gUnknown_80E91D4 -gUnknown_80E91D4: @ 80E91D4 - .4byte sUnknown_80E97FC - .4byte sUnknown_80E97E0 - .4byte sUnknown_80E97C4 - .4byte sUnknown_80E97A0 - .4byte sUnknown_80E9788 - .4byte sUnknown_80E976C - .4byte sUnknown_80E9748 - .4byte sUnknown_80E9728 - .4byte sUnknown_80E9708 - .4byte sUnknown_80E96E4 - .4byte sUnknown_80E96C4 - .4byte sUnknown_80E96A8 - .4byte sUnknown_80E9688 - .4byte sUnknown_80E9668 - .4byte sUnknown_80E9650 - .4byte sUnknown_80E9628 - .4byte sUnknown_80E9608 - .4byte sUnknown_80E95EC - .4byte sUnknown_80E95C8 - .4byte sUnknown_80E95AC - .4byte sUnknown_80E9588 - .4byte sUnknown_80E955C - .4byte sUnknown_80E9538 - .4byte sUnknown_80E951C - .4byte sUnknown_80E94FC - .4byte sUnknown_80E94E0 - .4byte sUnknown_80E94C0 - .4byte sUnknown_80E94A0 - .4byte sUnknown_80E9480 - .4byte sUnknown_80E9460 - .4byte sUnknown_80E9440 - .4byte sUnknown_80E9420 - .4byte sUnknown_80E9400 - .4byte sUnknown_80E93E0 - .4byte sUnknown_80E93B8 - .4byte sUnknown_80E9394 - .4byte sUnknown_80E9378 - .4byte sUnknown_80E9358 - .4byte sUnknown_80E9344 - .4byte sUnknown_80E9328 - .4byte sUnknown_80E9300 - .4byte sUnknown_80E92E0 - .4byte sUnknown_80E92C4 - .4byte sUnknown_80E92A4 - .4byte sUnknown_80E9288 - -sUnknown_80E9288: @ 80E9288 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} fell into a trap!\0" - .align 2, 0 - -sUnknown_80E92A4: @ 80E92A4 - .string "I lost contact with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80E92C4: @ 80E92C4 - .string "I can{APOSTROPHE}t contact {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80E92E0: @ 80E92E0 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t walk anymore!\0" - .align 2, 0 - -sUnknown_80E9300: @ 80E9300 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s been missing three days!\0" - .align 2, 0 - -sUnknown_80E9328: @ 80E9328 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} went the wrong way!\0" - .align 2, 0 - -sUnknown_80E9344: @ 80E9344 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is lost!\0" - .align 2, 0 - -sUnknown_80E9358: @ 80E9358 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be stuck!\0" - .align 2, 0 - -sUnknown_80E9378: @ 80E9378 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be lost!\0" - .align 2, 0 - -sUnknown_80E9394: @ 80E9394 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may have had an accident!\0" - .align 2, 0 - -sUnknown_80E93B8: @ 80E93B8 - .string "I{APOSTROPHE}m worried for {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s safety!\0" - .align 2, 0 - -sUnknown_80E93E0: @ 80E93E0 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is fighting all alone!\0" - .align 2, 0 - -sUnknown_80E9400: @ 80E9400 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is too hungry to move!\0" - .align 2, 0 - -sUnknown_80E9420: @ 80E9420 - .string "Hurry{COMMA} bring back {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\0" - .align 2, 0 - -sUnknown_80E9440: @ 80E9440 - .string "I got separated from {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\0" - .align 2, 0 - -sUnknown_80E9460: @ 80E9460 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is running out of time!\0" - .align 2, 0 - -sUnknown_80E9480: @ 80E9480 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} was attacked{COMMA} maybe!\0" - .align 2, 0 - -sUnknown_80E94A0: @ 80E94A0 - .string "Something happened to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80E94C0: @ 80E94C0 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be trapped!\0" - .align 2, 0 - -sUnknown_80E94E0: @ 80E94E0 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is stuck in a cave!\0" - .align 2, 0 - -sUnknown_80E94FC: @ 80E94FC - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be helpless!\0" - .align 2, 0 - -sUnknown_80E951C: @ 80E951C - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t reemerged!\0" - .align 2, 0 - -sUnknown_80E9538: @ 80E9538 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} was attacked by assailants!\0" - .align 2, 0 - -sUnknown_80E955C: @ 80E955C - .string "It appears as if {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t escape!\0" - .align 2, 0 - -sUnknown_80E9588: @ 80E9588 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may have fainted already!\0" - .align 2, 0 - -sUnknown_80E95AC: @ 80E95AC - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is about to faint!\0" - .align 2, 0 - -sUnknown_80E95C8: @ 80E95C8 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s been gone a long time!\0" - .align 2, 0 - -sUnknown_80E95EC: @ 80E95EC - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} has been cornered!\0" - .align 2, 0 - -sUnknown_80E9608: @ 80E9608 - .string "I{APOSTROPHE}m worried about {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80E9628: @ 80E9628 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s whereabouts are unknown!\0" - .align 2, 0 - -sUnknown_80E9650: @ 80E9650 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} was paralyzed!\0" - .align 2, 0 - -sUnknown_80E9668: @ 80E9668 - .string "Trouble may have found {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80E9688: @ 80E9688 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be freezing!\0" - .align 2, 0 - -sUnknown_80E96A8: @ 80E96A8 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may be confused!\0" - .align 2, 0 - -sUnknown_80E96C4: @ 80E96C4 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is too scared to move!\0" - .align 2, 0 - -sUnknown_80E96E4: @ 80E96E4 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} went missing this morning!\0" - .align 2, 0 - -sUnknown_80E9708: @ 80E9708 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be injured!\0" - .align 2, 0 - -sUnknown_80E9728: @ 80E9728 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may be facing danger!\0" - .align 2, 0 - -sUnknown_80E9748: @ 80E9748 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} might be unable to return.\0" - .align 2, 0 - -sUnknown_80E976C: @ 80E976C - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t come back!\0" - .align 2, 0 - -sUnknown_80E9788: @ 80E9788 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t swim!\0" - .align 2, 0 - -sUnknown_80E97A0: @ 80E97A0 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t been heard from!\0" - .align 2, 0 - -sUnknown_80E97C4: @ 80E97C4 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is still missing.\0" - .align 2, 0 - -sUnknown_80E97E0: @ 80E97E0 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may be endangered!\0" - .align 2, 0 - -sUnknown_80E97FC: @ 80E97FC - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} passed out from the heat!\0" - .align 2, 0 - - .global gUnknown_80E9820 -gUnknown_80E9820: @ 80E9820 - .4byte sUnknown_80E9908 - .4byte sUnknown_80E98F0 - .4byte sUnknown_80E98DC - .4byte sUnknown_80E98B4 - .4byte sUnknown_80E8CD4 - .4byte sUnknown_80E9898 - .4byte sUnknown_80E90D4 - .4byte sUnknown_80E987C - .4byte sUnknown_80E985C - .4byte sUnknown_80E9848 - -sUnknown_80E9848: @ 80E9848 - .string "Reward upon rescue!\0" - .align 2, 0 - -sUnknown_80E985C: @ 80E985C - .string "A rescue is urgently needed!\0" - .align 2, 0 - -sUnknown_80E987C: @ 80E987C - .string "Please send a rescue team!\0" - .align 2, 0 - -sUnknown_80E9898: @ 80E9898 - .string "I{APOSTROPHE}m pleading for help!\0" - .align 2, 0 - -sUnknown_80E98B4: @ 80E98B4 - .string "I don{APOSTROPHE}t care who it is! Please help!\0" - .align 2, 0 - -sUnknown_80E98DC: @ 80E98DC - .string "Someone! Anyone?\0" - .align 2, 0 - -sUnknown_80E98F0: @ 80E98F0 - .string "Please! I need help!\0" - .align 2, 0 - -sUnknown_80E9908: @ 80E9908 - .string "Please! Someone help!\0" - .align 2, 0 - - .global gUnknown_80E9920 -gUnknown_80E9920: @ 80E9920 -.macro st_80E9920 a, b, c - .2byte \a, \b - .4byte \c -.endm - st_80E9920 15, 13, sUnknown_80E9F5C - st_80E9920 18, 16, sUnknown_80E9F24 - st_80E9920 20, 19, sUnknown_80E9ED8 - st_80E9920 26, 172, sUnknown_80E9E80 - st_80E9920 36, 173, sUnknown_80E9E40 - st_80E9920 40, 174, sUnknown_80E9DFC - st_80E9920 169, 41, sUnknown_80E9DA4 - st_80E9920 45, 43, sUnknown_80E9D50 - st_80E9920 62, 60, sUnknown_80E9D04 - st_80E9920 176, 175, sUnknown_80E9CC4 - st_80E9920 184, 323, sUnknown_80E9C80 - st_80E9920 242, 241, sUnknown_80E9C38 - st_80E9920 257, 256, sUnknown_80E9BFC - st_80E9920 125, 264, sUnknown_80E9BAC - st_80E9920 126, 265, sUnknown_80E9B58 - st_80E9920 273, 271, sUnknown_80E9B18 - st_80E9920 292, 290, sUnknown_80E9ACC - st_80E9920 331, 329, sUnknown_80E9A94 - st_80E9920 355, 353, sUnknown_80E9A54 - st_80E9920 393, 391, sUnknown_80E9A0C - st_80E9920 302, 301, sUnknown_80E99C8 - -sUnknown_80E99C8: @ 80E99C8 - .string "Please look for Taillow!\n" - .string "My baby is very timid{COMMA} so I{APOSTROPHE}m worried!\0" - .align 2, 0 - -sUnknown_80E9A0C: @ 80E9A0C - .string "Save my baby Spheal! My baby is easy to\n" - .string "spot because she likes to roll!\0" - .align 2, 0 - -sUnknown_80E9A54: @ 80E9A54 - .string "Please find my little Trapinch!\n" - .string "My baby is probably lying low!\0" - .align 2, 0 - -sUnknown_80E9A94: @ 80E9A94 - .string "Please find my Aron!\n" - .string "He{APOSTROPHE}s my only child! Please help!\0" - .align 2, 0 - -sUnknown_80E9ACC: @ 80E9ACC - .string "My Wurmple went missing! Please look\n" - .string "for the cute spikes on his rear end!\0" - .align 2, 0 - -sUnknown_80E9B18: @ 80E9B18 - .string "Please search for Larvitar!\n" - .string "He loves to eat dirt! I need help!\0" - .align 2, 0 - -sUnknown_80E9B58: @ 80E9B58 - .string "My baby Magby is lost. I{APOSTROPHE}m worried sick.\n" - .string "She{APOSTROPHE}s a cheerful child who loves fire.\0" - .align 2, 0 - -sUnknown_80E9BAC: @ 80E9BAC - .string "My son can be wild with thunderbolts{COMMA}\n" - .string "but he{APOSTROPHE}s kindhearted. Please help!\0" - .align 2, 0 - -sUnknown_80E9BFC: @ 80E9BFC - .string "Please look for Phanpy!\n" - .string "My son has a distinctive long nose!\0" - .align 2, 0 - -sUnknown_80E9C38: @ 80E9C38 - .string "Please find Teddiursa! My baby{APOSTROPHE}s head\n" - .string "has a cute crescent mark! Help!\0" - .align 2, 0 - -sUnknown_80E9C80: @ 80E9C80 - .string "Please save my adorable Azurill!\n" - .string "Watch for a round and bouncy tail!\0" - .align 2, 0 - -sUnknown_80E9CC4: @ 80E9CC4 - .string "Help! Togepi{APOSTROPHE}s just a baby!\n" - .string "I{APOSTROPHE}m worried sick! Please help!\0" - .align 2, 0 - -sUnknown_80E9D04: @ 80E9D04 - .string "My baby Poliwag! He wandered off...\n" - .string "He only just learned how to walk! Help!\0" - .align 2, 0 - -sUnknown_80E9D50: @ 80E9D50 - .string "Oddish disappeared from sight! She may be\n" - .string "buried somewhere! Someone{COMMA} please help!\0" - .align 2, 0 - -sUnknown_80E9DA4: @ 80E9DA4 - .string "Please rescue Zubat! He{APOSTROPHE}s so young he\n" - .string "can{APOSTROPHE}t even hang from cavern ceilings well!\0" - .align 2, 0 - -sUnknown_80E9DFC: @ 80E9DFC - .string "Please find Igglybuff! Oh{COMMA} where did that\n" - .string "child roll off to?! Oh!\0" - .align 2, 0 - -sUnknown_80E9E40: @ 80E9E40 - .string "Cleffa disappeared! Please let me know\n" - .string "if you find my child!\0" - .align 2, 0 - -sUnknown_80E9E80: @ 80E9E80 - .string "Please rescue Pichu! He{APOSTROPHE}s a little cutie\n" - .string "who can{APOSTROPHE}t charge power well yet. Please!\0" - .align 2, 0 - -sUnknown_80E9ED8: @ 80E9ED8 - .string "Rattata is missing! My precious child!\n" - .string "Please{COMMA} won{APOSTROPHE}t someone help me?\0" - .align 2, 0 - -sUnknown_80E9F24: @ 80E9F24 - .string "Oh{COMMA} my cute little Pidgey!\n" - .string "Please{COMMA} someone help!\0" - .align 2, 0 - -sUnknown_80E9F5C: @ 80E9F5C - .string "Please rescue Weedle!\n" - .string "He{APOSTROPHE}s my son! Please!\0" - .align 2, 0 - - .global gUnknown_80E9F8C -gUnknown_80E9F8C: @ 80E9F8C -.macro st_80E9F8C a, b, c, d - .2byte \a, \b - .4byte \c, \d -.endm - st_80E9F8C 103, 85, sUnknown_80EAE44, sUnknown_80EADFC - st_80E9F8C 22, 112, sUnknown_80EAE44, sUnknown_80EADD0 - st_80E9F8C 90, 394, sUnknown_80EAE44, sUnknown_80EAD94 - st_80E9F8C 89, 342, sUnknown_80EAE44, sUnknown_80EAD50 - st_80E9F8C 52, 325, sUnknown_80EAE44, sUnknown_80EAD20 - st_80E9F8C 129, 374, sUnknown_80EAE44, sUnknown_80EACD4 - st_80E9F8C 13, 290, sUnknown_80EAE44, sUnknown_80EAC88 - st_80E9F8C 293, 291, sUnknown_80EAE44, sUnknown_80EAC38 - st_80E9F8C 301, 16, sUnknown_80EAE44, sUnknown_80EABE8 - st_80E9F8C 37, 347, sUnknown_80EAE44, sUnknown_80EABA8 - st_80E9F8C 174, 173, sUnknown_80EAE44, sUnknown_80EAB68 - st_80E9F8C 49, 294, sUnknown_80EAE44, sUnknown_80EAB10 - st_80E9F8C 313, 57, sUnknown_80EAE44, sUnknown_80EAAC8 - st_80E9F8C 286, 58, sUnknown_80EAE44, sUnknown_80EAA84 - st_80E9F8C 69, 238, sUnknown_80EAE44, sUnknown_80EAA34 - st_80E9F8C 86, 392, sUnknown_80EAE44, sUnknown_80EA9F8 - st_80E9F8C 97, 122, sUnknown_80EAE44, sUnknown_80EA9A4 - st_80E9F8C 98, 366, sUnknown_80EAE44, sUnknown_80EA968 - st_80E9F8C 143, 314, sUnknown_80EAE44, sUnknown_80EA914 - st_80E9F8C 127, 239, sUnknown_80EAE44, sUnknown_80EA8D0 - st_80E9F8C 240, 360, sUnknown_80EAE44, sUnknown_80EA880 - st_80E9F8C 323, 175, sUnknown_80EAE44, sUnknown_80EA84C - st_80E9F8C 132, 185, sUnknown_80EAE44, sUnknown_80EA7FC - st_80E9F8C 241, 352, sUnknown_80EAE44, sUnknown_80EA7A8 - st_80E9F8C 79, 312, sUnknown_80EAE44, sUnknown_80EA784 - st_80E9F8C 164, 198, sUnknown_80EAE44, sUnknown_80EA730 - st_80E9F8C 340, 182, sUnknown_80EAE44, sUnknown_80EA6E4 - st_80E9F8C 250, 304, sUnknown_80EAE44, sUnknown_80EA698 - st_80E9F8C 397, 38, sUnknown_80EAE44, sUnknown_80EA650 - st_80E9F8C 187, 386, sUnknown_80EAE44, sUnknown_80EA614 - st_80E9F8C 200, 381, sUnknown_80EAE44, sUnknown_80EA5C4 - st_80E9F8C 247, 398, sUnknown_80EAE44, sUnknown_80EA57C - st_80E9F8C 176, 267, sUnknown_80EAE44, sUnknown_80EA534 - st_80E9F8C 32, 29, sUnknown_80EA51C, sUnknown_80EA4E4 - st_80E9F8C 33, 30, sUnknown_80EA51C, sUnknown_80EA4A0 - st_80E9F8C 34, 31, sUnknown_80EA51C, sUnknown_80EA45C - st_80E9F8C 128, 266, sUnknown_80EA51C, sUnknown_80EA41C - st_80E9F8C 338, 339, sUnknown_80EA51C, sUnknown_80EA3DC - st_80E9F8C 337, 336, sUnknown_80EA51C, sUnknown_80EA398 - st_80E9F8C 360, 361, sUnknown_80EA384, sUnknown_80EA33C - st_80E9F8C 106, 107, sUnknown_80EA384, sUnknown_80EA30C - st_80E9F8C 362, 363, sUnknown_80EA384, sUnknown_80EA2BC - st_80E9F8C 138, 140, sUnknown_80EA384, sUnknown_80EA26C - st_80E9F8C 370, 372, sUnknown_80EA384, sUnknown_80EA214 - st_80E9F8C 172, 172, sUnknown_80EA1FC, sUnknown_80EA1A8 - -sUnknown_80EA1A8: @ 80EA1A8 - .string "My little brother Pichu disappeared!\n" - .string "I{APOSTROPHE}m really worried! Someone{COMMA} please help!\0" - .align 2, 0 - -sUnknown_80EA1FC: @ 80EA1FC - .string "Please help my brother!\0" - .align 2, 0 - -sUnknown_80EA214: @ 80EA214 - .string "We{APOSTROPHE}ve been rivals with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} for\n" - .string "generations. It can{APOSTROPHE}t suddenly end like this!\0" - .align 2, 0 - -sUnknown_80EA26C: @ 80EA26C - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} has been a rival since my\n" - .string "ancestors{APOSTROPHE} time. The rivalry can{APOSTROPHE}t end!\0" - .align 2, 0 - -sUnknown_80EA2BC: @ 80EA2BC - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t leave without settling\n" - .string "which one of us is better. Please help!\0" - .align 2, 0 - -sUnknown_80EA30C: @ 80EA30C - .string "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\n" - .string "We owe each other a game!\0" - .align 2, 0 - -sUnknown_80EA33C: @ 80EA33C - .string "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We detest\n" - .string "each other{COMMA} but we need each other!\0" - .align 2, 0 - -sUnknown_80EA384: @ 80EA384 - .string "Rescue my rival!\0" - .align 2, 0 - -sUnknown_80EA398: @ 80EA398 - .string "I can{APOSTROPHE}t live without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "My heart is breaking! Please! Help!\0" - .align 2, 0 - -sUnknown_80EA3DC: @ 80EA3DC - .string "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We{APOSTROPHE}re no good if we{APOSTROPHE}re not together!\0" - .align 2, 0 - -sUnknown_80EA41C: @ 80EA41C - .string "Please save my {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! Now I\n" - .string "know what {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} means to me...\0" - .align 2, 0 - -sUnknown_80EA45C: @ 80EA45C - .string "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We\n" - .string "promised our futures together! Please!\0" - .align 2, 0 - -sUnknown_80EA4A0: @ 80EA4A0 - .string "Please rescue my precious {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We{APOSTROPHE}re in love! Please help!\0" - .align 2, 0 - -sUnknown_80EA4E4: @ 80EA4E4 - .string "Please! Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We{APOSTROPHE}re madly in love!\0" - .align 2, 0 - -sUnknown_80EA51C: @ 80EA51C - .string "Please save my love!\0" - .align 2, 0 - -sUnknown_80EA534: @ 80EA534 - .string "We make each other happy--it{APOSTROPHE}s in our\n" - .string "nature. Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2, 0 - -sUnknown_80EA57C: @ 80EA57C - .string "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! The beach\n" - .string "feels empty without my usual friend...\0" - .align 2, 0 - -sUnknown_80EA5C4: @ 80EA5C4 - .string "I feel lonely without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} to pull\n" - .string "pranks and mess around with. Please help!\0" - .align 2, 0 - -sUnknown_80EA614: @ 80EA614 - .string "Help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} please!\n" - .string "We often took strolls on the wind!\0" - .align 2, 0 - -sUnknown_80EA650: @ 80EA650 - .string "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We{APOSTROPHE}re both\n" - .string "old-timers who are longtime friends!\0" - .align 2, 0 - -sUnknown_80EA698: @ 80EA698 - .string "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}. We{APOSTROPHE}ve been in\n" - .string "the delivery business for many years!\0" - .align 2, 0 - -sUnknown_80EA6E4: @ 80EA6E4 - .string "I{APOSTROPHE}m sad without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s company.\n" - .string "We showed flowers to each other...\0" - .align 2, 0 - -sUnknown_80EA730: @ 80EA730 - .string "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} there{APOSTROPHE}s no one for\n" - .string "me to play with in the dark! Please help!\0" - .align 2, 0 - -sUnknown_80EA784: @ 80EA784 - .string "...Help... Please...\n" - .string "Who was it?\0" - .align 2, 0 - -sUnknown_80EA7A8: @ 80EA7A8 - .string "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}. We{APOSTROPHE}re both alike\n" - .string "in being kind of vacant and unpredictable!\0" - .align 2, 0 - -sUnknown_80EA7FC: @ 80EA7FC - .string "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} around{COMMA} there{APOSTROPHE}s no\n" - .string "one to heckle! Please break my boredom!\0" - .align 2, 0 - -sUnknown_80EA84C: @ 80EA84C - .string "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "My tiny and round best friend!\0" - .align 2, 0 - -sUnknown_80EA880: @ 80EA880 - .string "We promised to show each other how\n" - .string "sharp our claws could be... Someone{COMMA} help!\0" - .align 2, 0 - -sUnknown_80EA8D0: @ 80EA8D0 - .string "I lock horns with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} for fun.\n" - .string "I terribly miss doing that...\0" - .align 2, 0 - -sUnknown_80EA914: @ 80EA914 - .string "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We{APOSTROPHE}re both lazy{COMMA}\n" - .string "so we{APOSTROPHE}re comfortable around each other!\0" - .align 2, 0 - -sUnknown_80EA968: @ 80EA968 - .string "I want to help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We both have a thing for pincers!\0" - .align 2, 0 - -sUnknown_80EA9A4: @ 80EA9A4 - .string "We promised each other to perform magic\n" - .string "and hypnosis shows together. Please help!\0" - .align 2, 0 - -sUnknown_80EA9F8: @ 80EA9F8 - .string "Someone save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}--my friend\n" - .string "and rival at ball juggling!\0" - .align 2, 0 - -sUnknown_80EAA34: @ 80EAA34 - .string "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! Our cries are\n" - .string "identical! We can tell each other anything!\0" - .align 2, 0 - -sUnknown_80EAA84: @ 80EAA84 - .string "I can{APOSTROPHE}t play the biting game without my pal\n" - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! Please help!\0" - .align 2, 0 - -sUnknown_80EAAC8: @ 80EAAC8 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is really noisy.\n" - .string "But it{APOSTROPHE}s lonely without the racket... Sob...\0" - .align 2, 0 - -sUnknown_80EAB10: @ 80EAB10 - .string "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} it{APOSTROPHE}s no fun playing\n" - .string "with toxic powders! Someone{COMMA} please help!\0" - .align 2, 0 - -sUnknown_80EAB68: @ 80EAB68 - .string "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We{APOSTROPHE}ve been friends since we were eggs!\0" - .align 2, 0 - -sUnknown_80EABA8: @ 80EABA8 - .string "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}--a good\n" - .string "friend who shares my love of fire!\0" - .align 2, 0 - -sUnknown_80EABE8: @ 80EABE8 - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} and I are of the same height.\n" - .string "We{APOSTROPHE}re lifelong friends! Please help!\0" - .align 2, 0 - -sUnknown_80EAC38: @ 80EAC38 - .string "We identify with each other because we\n" - .string "both evolved from Wurmple. Please help!\0" - .align 2, 0 - -sUnknown_80EAC88: @ 80EAC88 - .string "Help! I{APOSTROPHE}m friends with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}\n" - .string "because we both evolve fast! Please help!\0" - .align 2, 0 - -sUnknown_80EACD4: @ 80EACD4 - .string "Help! {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} isn{APOSTROPHE}t much now{COMMA} but\n" - .string "my friend is amazing after evolution!\0" - .align 2, 0 - -sUnknown_80EAD20: @ 80EAD20 - .string "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We always play together!\0" - .align 2, 0 - -sUnknown_80EAD50: @ 80EAD50 - .string "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\n" - .string "I can{APOSTROPHE}t stand to see a sludge buddy hurt!\0" - .align 2, 0 - -sUnknown_80EAD94: @ 80EAD94 - .string "Please save my best friend {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" - .string "We{APOSTROPHE}re both bivalves!\0" - .align 2, 0 - -sUnknown_80EADD0: @ 80EADD0 - .string "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA}\n" - .string "my drilling buddy!\0" - .align 2, 0 - -sUnknown_80EADFC: @ 80EADFC - .string "This precious friend can chat separately\n" - .string "with three heads. Please help!\0" - .align 2, 0 - -sUnknown_80EAE44: @ 80EAE44 - .string "Please save my friend!\0" - .align 2, 0 - -@ Escort Mission Text - .global gUnknown_80EAE5C -gUnknown_80EAE5C: @ 80EAE5C - .4byte TakeMe_Text - .4byte WantToSee_Text - .4byte TakeMeWith_Text - .4byte EscortMe_Text - - - .global EscortMe_Text - EscortMe_Text: - .asciz "Escort me!" - .align 2,0 - - .global TakeMeWith_Text - TakeMeWith_Text: - .asciz "Please take me with you!" - .align 2,0 - - .global WantToSee_Text - WantToSee_Text: - .string "I want to see {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}." - .align 2,0 - - .global TakeMe_Text - TakeMe_Text: - .asciz "Take me!" - .align 2,0 - - .global gUnknown_80EAEB8 -gUnknown_80EAEB8: @ 80EAEB8 -@ replacing .incbin "baserom.gba", 0x000eaeb8, 0x2e0 - .4byte WaitingForMe_80EB17C - .4byte PromisedMeet_80EB158 - .4byte WantMeet_80EB138 - .4byte WorriedAbout_80EB118 - .4byte GoMyself_80EB0FC - .4byte OwnPower_80EB0DC - .4byte TooWeak_80EB0B4 - .4byte WaitingInDungeon_80EB090 - .4byte WaitingForever_80EB06C - .4byte InTrouble_80EB048 - .4byte WantToHelp_80EB030 - .4byte HasntReturned_80EB014 - .4byte FaintedInside_80EAFF0 - .4byte SickWorry_80EAFD4 - .4byte LongTime_80EAFA4 - .4byte HaveToGo_80EAF94 - .4byte HaveToMeet_80EAF70 - .4byte MustMeet_80EAF4C - .4byte Apologize_80EAF2C - .4byte CloseFriends_80EAF08 - - .global CloseFriends_80EAF08 - CloseFriends_80EAF08: - .string "I{APOSTROPHE}m close friends with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!" - .align 2,0 - - .global Apologize_80EAF2C - Apologize_80EAF2C: - .string "I want to apologize to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}." - .align 2,0 - - .global MustMeet_80EAF4C - MustMeet_80EAF4C: - .string "I don{APOSTROPHE}t care how--we must meet!\0" - .align 2,0 - - .global HaveToMeet_80EAF70 - HaveToMeet_80EAF70: - .asciz "We have to meet--whatever it takes!" - .align 2,0 - - .global HaveToGo_80EAF94 - HaveToGo_80EAF94: - .asciz "I have to go!" - .align 2,0 - - .global LongTime_80EAFA4 - LongTime_80EAFA4: - .string "We haven{APOSTROPHE}t seen each other in a long time.\0" - .align 2,0 - - .global SickWorry_80EAFD4 - SickWorry_80EAFD4: - .string "I{APOSTROPHE}m sick with worry...\0" - .align 2,0 - - .global FaintedInside_80EAFF0 - FaintedInside_80EAFF0: - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may have fainted inside..." - .align 2,0 - - .global HasntReturned_80EB014 - HasntReturned_80EB014: - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t returned!\0" - .align 2,0 - - .global WantToHelp_80EB030 - WantToHelp_80EB030: - .string "I want to help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global InTrouble_80EB048 - InTrouble_80EB048: - .string "Hurry{COMMA} {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is in trouble...\0" - .align 2,0 - - .global WaitingForever_80EB06C - WaitingForever_80EB06C: - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} has been waiting forever...\0" - .align 2,0 - - .global WaitingInDungeon_80EB090 - WaitingInDungeon_80EB090: - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is waiting in the dungeon.\0" - .align 2,0 - - .global TooWeak_80EB0B4 - TooWeak_80EB0B4: - .string "I{APOSTROPHE}m too weak. It{APOSTROPHE}s not possible.\0" - .align 2,0 - - .global OwnPower_80EB0DC - OwnPower_80EB0DC: - .string "I can{APOSTROPHE}t go on my own power...\0" - .align 2,0 - - .global GoMyself_80EB0FC - GoMyself_80EB0FC: - .string "I can{APOSTROPHE}t go by myself...\0" - .align 2,0 - - .global WorriedAbout_80EB118 - WorriedAbout_80EB118: - .string "I{APOSTROPHE}m worried about {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}...\0" - .align 2,0 - - .global WantMeet_80EB138 - WantMeet_80EB138: - .string "I want to meet with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\0" - .align 2,0 - - .global PromisedMeet_80EB158 - PromisedMeet_80EB158: - .asciz "We promised to meet in the dungeon!" - .align 2,0 - - .global WaitingForMe_80EB17C - WaitingForMe_80EB17C: - .string "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is waiting for me!\0" - .align 2,0 - - - .global gUnknown_80EB198 -gUnknown_80EB198: @ 80EB198 - .4byte PleaseTakeMeToSee - .4byte PleaseTakeMeThere - .4byte PleaseEscortMe - .4byte SomeonePleaseEscort - - .global SomeonePleaseEscort - SomeonePleaseEscort: - .string "Someone{COMMA} please escort me!\0" - .align 2,0 - - .global PleaseEscortMe - PleaseEscortMe: - .asciz "Please escort me there!" - .align 2,0 - - .global PleaseTakeMeThere - PleaseTakeMeThere: - .asciz "Please take me there with you!" - .align 2,0 - - .global PleaseTakeMeToSee - PleaseTakeMeToSee: - .string "Please take me to see {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global gUnknown_80EB220 -gUnknown_80EB220: @ 80EB220 -@ replacing .incbin "baserom.gba", 0x000eb220, 0xd0 - .4byte TakeMeet_80EB2CC - .4byte Escort_80EB2AC - .4byte HelpMeet_80EB294 - .4byte WantMeet_80EB274 - .4byte Worried_80EB250 - .4byte Without_80EB238 - - .global Without_80EB238 - Without_80EB238: - .string "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} I...\0" - .align 2,0 - - .global Worried_80EB250 - Worried_80EB250: - .string "I{APOSTROPHE}m so worried about {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}...\0" - .align 2,0 - - .global WantMeet_80EB274 - WantMeet_80EB274: - .string "I really want to meet {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global HelpMeet_80EB294 - HelpMeet_80EB294: - .string "Help me meet {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global Escort_80EB2AC - Escort_80EB2AC: - .string "Please escort me to my {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global TakeMeet_80EB2CC - TakeMeet_80EB2CC: - .string "Please! Take me to meet {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\0" - .align 2,0 - - .global gUnknown_80EB2F0 -gUnknown_80EB2F0: @ 80EB2F0 -@ replacing .incbin "baserom.gba", 0x000eb2f0, 0x108 - .4byte WeInLove_80EB3CC - .4byte WeBelong_80EB3A4 - .4byte WePromised_80EB37C - .4byte MeansEverything_80EB35C - .4byte NoGood_80EB334 - .4byte Lonely_80EB308 - - .global Lonely_80EB308 - Lonely_80EB308: - .string "I{APOSTROPHE}m very lonely! Please take me with you!\0" - .align 2,0 - - .global NoGood_80EB334 - NoGood_80EB334: - .string "It{APOSTROPHE}s no good if we{APOSTROPHE}re not together!\0" - .align 2,0 - - .global MeansEverything_80EB35C - MeansEverything_80EB35C: - .asciz "This means everything to me!" - .align 2,0 - - .global WePromised_80EB37C - WePromised_80EB37C: - .string "We{APOSTROPHE}ve promised our futures together.\0" - .align 2,0 - - .global WeBelong_80EB3A4 - WeBelong_80EB3A4: - .string "We belong together! Please escort me!\0" - .align 2,0 - - .global WeInLove_80EB3CC - WeInLove_80EB3CC: - .string "We{APOSTROPHE}re in love! Please{COMMA} take me there!\0" - .align 2,0 - -@ Item Delivery Mission Text - .global gUnknown_80EB3F8 -gUnknown_80EB3F8: @ 80EB3F8 - .4byte sUnknown_80EB708 - .4byte sUnknown_80EB6E4 - .4byte sUnknown_80EB6C0 - .4byte sUnknown_80EB6A0 - .4byte sUnknown_80EB67C - .4byte sUnknown_80EB654 - .4byte sUnknown_80EB638 - .4byte sUnknown_80EB618 - .4byte sUnknown_80EB5F8 - .4byte sUnknown_80EB5D4 - .4byte sUnknown_80EB5B4 - .4byte sUnknown_80EB590 - .4byte sUnknown_80EB568 - .4byte sUnknown_80EB54C - .4byte sUnknown_80EB524 - .4byte sUnknown_80EB500 - .4byte sUnknown_80EB4E0 - .4byte sUnknown_80EB4C0 - .4byte sUnknown_80EB4AC - .4byte sUnknown_80EB494 - .4byte sUnknown_80EB470 - .4byte sUnknown_80EB450 - -sUnknown_80EB450: @ 80EB450 - .string "Is it true about the {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}?\0" - .align 2, 0 - -sUnknown_80EB470: @ 80EB470 - .string "The item {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} is the in thing!\0" - .align 2, 0 - -sUnknown_80EB494: @ 80EB494 - .string "Wanted: my own {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2, 0 - -sUnknown_80EB4AC: @ 80EB4AC - .string "I lost my {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2, 0 - -sUnknown_80EB4C0: @ 80EB4C0 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted for nostalgia.\0" - .align 2, 0 - -sUnknown_80EB4E0: @ 80EB4E0 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted to test effects.\0" - .align 2, 0 - -sUnknown_80EB500: @ 80EB500 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}{APOSTROPHE}s texture is comforting.\0" - .align 2, 0 - -sUnknown_80EB524: @ 80EB524 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--it{APOSTROPHE}s my mom{APOSTROPHE}s favorite.\0" - .align 2, 0 - -sUnknown_80EB54C: @ 80EB54C - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} makes me strong.\0" - .align 2, 0 - -sUnknown_80EB568: @ 80EB568 - .string "I can{APOSTROPHE}t sleep without it: {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2, 0 - -sUnknown_80EB590: @ 80EB590 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--I get scared without it!\0" - .align 2, 0 - -sUnknown_80EB5B4: @ 80EB5B4 - .string "Hard-to-find {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} sought.\0" - .align 2, 0 - -sUnknown_80EB5D4: @ 80EB5D4 - .string "I can{APOSTROPHE}t find one more {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}.\0" - .align 2, 0 - -sUnknown_80EB5F8: @ 80EB5F8 - .string "Help this {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} collector!\0" - .align 2, 0 - -sUnknown_80EB618: @ 80EB618 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}! Seeking in quantity!\0" - .align 2, 0 - -sUnknown_80EB638: @ 80EB638 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted as a charm.\0" - .align 2, 0 - -sUnknown_80EB654: @ 80EB654 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--I can{APOSTROPHE}t leave without it.\0" - .align 2, 0 - -sUnknown_80EB67C: @ 80EB67C - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--I{APOSTROPHE}d love to utilize one!\0" - .align 2, 0 - -sUnknown_80EB6A0: @ 80EB6A0 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted for exploration.\0" - .align 2, 0 - -sUnknown_80EB6C0: @ 80EB6C0 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted after long search.\0" - .align 2, 0 - -sUnknown_80EB6E4: @ 80EB6E4 - .string "{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--it{APOSTROPHE}s convenient to have.\0" - .align 2, 0 - -sUnknown_80EB708: @ 80EB708 - .string "Having one {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} is reassuring.\0" - .align 2, 0 - - .global gUnknown_80EB72C -gUnknown_80EB72C: @ 80EB72C - .4byte sUnknown_80EBA00 - .4byte sUnknown_80EB9E8 - .4byte sUnknown_80EB9D0 - .4byte sUnknown_80EB9BC - .4byte sUnknown_80EB9A0 - .4byte sUnknown_80EB97C - .4byte sUnknown_80EB95C - .4byte sUnknown_80EB930 - .4byte sUnknown_80EB90C - .4byte sUnknown_80EB8E8 - .4byte sUnknown_80EB8D0 - .4byte sUnknown_80EB8AC - .4byte sUnknown_80EB890 - .4byte sUnknown_80EB86C - .4byte sUnknown_80EB850 - .4byte sUnknown_80EB9A0 - .4byte sUnknown_80EB82C - .4byte sUnknown_80EB818 - .4byte sUnknown_80EB800 - .4byte sUnknown_80EB7D8 - .4byte sUnknown_80EB7A8 - .4byte sUnknown_80EB784 - -sUnknown_80EB784: @ 80EB784 - .string "Please contact me if you find it!\0" - .align 2, 0 - -sUnknown_80EB7A8: @ 80EB7A8 - .string "Please help! I{APOSTROPHE}ll make it worth your time!\0" - .align 2, 0 - -sUnknown_80EB7D8: @ 80EB7D8 - .string "Please help! I{APOSTROPHE}m offering a reward!\0" - .align 2, 0 - -sUnknown_80EB800: @ 80EB800 - .string "Please! Please help me!\0" - .align 2, 0 - -sUnknown_80EB818: @ 80EB818 - .string "Please help me out!\0" - .align 2, 0 - -sUnknown_80EB82C: @ 80EB82C - .string "Please! I need some cooperation!\0" - .align 2, 0 - -sUnknown_80EB850: @ 80EB850 - .string "Please share a little bit!\0" - .align 2, 0 - -sUnknown_80EB86C: @ 80EB86C - .string "Please help! You{APOSTROPHE}re my only hope!\0" - .align 2, 0 - -sUnknown_80EB890: @ 80EB890 - .string "Please! I need your help!\0" - .align 2, 0 - -sUnknown_80EB8AC: @ 80EB8AC - .string "Please help! I{APOSTROPHE}m counting on you!\0" - .align 2, 0 - -sUnknown_80EB8D0: @ 80EB8D0 - .string "Please search for it!\0" - .align 2, 0 - -sUnknown_80EB8E8: @ 80EB8E8 - .string "Please let me know if you find one!\0" - .align 2, 0 - -sUnknown_80EB90C: @ 80EB90C - .string "I{APOSTROPHE}m looking forward to your help!\0" - .align 2, 0 - -sUnknown_80EB930: @ 80EB930 - .string "Please! I{APOSTROPHE}m offering a generous reward!\0" - .align 2, 0 - -sUnknown_80EB95C: @ 80EB95C - .string "Please help! Reward offered!\0" - .align 2, 0 - -sUnknown_80EB97C: @ 80EB97C - .string "Please! I must have one delivered!\0" - .align 2, 0 - -sUnknown_80EB9A0: @ 80EB9A0 - .string "Please share one with me!\0" - .align 2, 0 - -sUnknown_80EB9BC: @ 80EB9BC - .string "Please give me one!\0" - .align 2, 0 - -sUnknown_80EB9D0: @ 80EB9D0 - .string "Please find one for me!\0" - .align 2, 0 - -sUnknown_80EB9E8: @ 80EB9E8 - .string "Please trade me one!\0" - .align 2, 0 - -sUnknown_80EBA00: @ 80EBA00 - .string "Please! May I have one?\0" - .align 2, 0 + .align 2, 0 \ No newline at end of file diff --git a/data/dungeon/D51/pokemon_found.json b/data/dungeon/D51/pokemon_found.json index 444f85d4..e7f7b220 100644 --- a/data/dungeon/D51/pokemon_found.json +++ b/data/dungeon/D51/pokemon_found.json @@ -664,7 +664,7 @@ "probability": 2000 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 15, "probability": 2000 }, diff --git a/data/dungeon/LapisCave/pokemon_found.json b/data/dungeon/LapisCave/pokemon_found.json index 69f4e841..82c5224f 100644 --- a/data/dungeon/LapisCave/pokemon_found.json +++ b/data/dungeon/LapisCave/pokemon_found.json @@ -63,7 +63,7 @@ "probability": 3334 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 15, "probability": 3333 }, diff --git a/data/dungeon/PurityForest/pokemon_found.json b/data/dungeon/PurityForest/pokemon_found.json index 4c97ded1..3e264a1b 100644 --- a/data/dungeon/PurityForest/pokemon_found.json +++ b/data/dungeon/PurityForest/pokemon_found.json @@ -2299,7 +2299,7 @@ "probability": 800 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1200 }, @@ -2349,7 +2349,7 @@ "probability": 2105 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1579 }, @@ -2404,7 +2404,7 @@ "probability": 1333 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1000 }, @@ -2459,7 +2459,7 @@ "probability": 1380 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1034 }, diff --git a/data/dungeon/WishCave/pokemon_found.json b/data/dungeon/WishCave/pokemon_found.json index 8100f1b5..887bb3ce 100644 --- a/data/dungeon/WishCave/pokemon_found.json +++ b/data/dungeon/WishCave/pokemon_found.json @@ -969,7 +969,7 @@ "probability": 816 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1224 }, @@ -1029,7 +1029,7 @@ "probability": 1510 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1132 }, @@ -1074,7 +1074,7 @@ "probability": 1861 }, { - "species": "MONSTER_ILLIMISE", + "species": "MONSTER_ILLUMISE", "level": 20, "probability": 1395 }, diff --git a/data/personality_test.s b/data/personality_test.s deleted file mode 100644 index cb4765fa..00000000 --- a/data/personality_test.s +++ /dev/null @@ -1,1948 +0,0 @@ - .section .rodata - - @ Start of Personality Questions - 80F0054 - @ Question 1, Category 1 (Hardy) - - HardyQuest1Points: - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - HardyQuest1Answers: - .4byte HardyQuest1_StudyHard - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest1_LastSecond - .byte 0x01, 0x00, 0x00, 0x00 - .4byte HardyQuest1_Ignore - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - HardyQuest1_Ignore: - .string "Ignore it and play.\0" - HardyQuest1_LastSecond: - .string "At the last second.\0" - HardyQuest1_StudyHard: - .string "Study hard.\0" - - .global HardyQuest1 - HardyQuest1: - .4byte HardyQuest1Question - .4byte HardyQuest1Answers - .4byte HardyQuest1Points - - HardyQuest1Question: - .string "A test is coming up.\n" - .string "How do you study for it?\0" - .align 2,0 - - @ Question 2, Category 1 (Hardy) - HardyQuest2Points: - .byte 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - HardyQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest2_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - HardyQuest2_No: - .string "No. \0" - .align 2,0 - HardyQuest2_Yes: - .string "Yes.\0" - .align 2,0 - - .global HardyQuest2 - HardyQuest2: - .4byte HardyQuest2Question - .4byte HardyQuest2Answers - .4byte HardyQuest2Points - - HardyQuest2Question: - .string "Can you focus on something you like?\0" - .align 2,0 - - @ Question 3, Category 1 (Hardy) - HardyQuest3Points: - .byte 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - HardyQuest3Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - HardyQuest3_No: - .string "No.\0" - - .global HardyQuest3 - HardyQuest3: - .4byte HardyQuest3Question - .4byte HardyQuest3Answers - .4byte HardyQuest3Points - - HardyQuest3Question: - .string "When the going gets tough{COMMA} do you get\n" - .string "going?\0" - .align 2,0 - - @ Question 4, Category 1 (Hardy) - HardyQuest4Points: - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - HardyQuest4Answers: - .4byte HardyQuest4_Full - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest4_Half - .byte 0x01, 0x00, 0x00, 0x00 - .4byte HardyQuest4_Little - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - HardyQuest4_Little: - .string "A little.\0" - .align 2,0 - - HardyQuest4_Half: - .string "Half.\0" - .align 2,0 - - HardyQuest4_Full: - .string "Full.\0" - .align 2,0 - - .global HardyQuest4 - HardyQuest4: - .4byte HardyQuest4Question - .4byte HardyQuest4Answers - .4byte HardyQuest4Points - - HardyQuest4Question: - .string "There is a bucket. If you put\n" - .string "water in it{COMMA} how high will you fill it?\0" - .align 2,0 - - @ Question 1, Category 2 (Docile) - DocileQuest1Points: - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - DocileQuest1Answers: - .4byte DocileQuest1_Big - .byte 0x00, 0x00, 0x00, 0x00 - .4byte DocileQuest1_Small - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - DocileQuest1_Small: - .string "Small box.\0" - .align 2,0 - - DocileQuest1_Big: - .string "Big box.\0" - .align 2,0 - - .global DocileQuest1 - DocileQuest1: - .4byte DocileQuest1Question - .4byte DocileQuest1Answers - .4byte DocileQuest1Points - - DocileQuest1Question: - .string "You are offered a choice of two gifts.\n" - .string "Which one will you take?\0" - .align 2,0 - - @ Question 2, Category 2 (Docile) - DocileQuest2Points: - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - DocileQuest2Answers: - .4byte DocileQuest2_Window - .byte 0x00, 0x00, 0x00, 0x00 - .4byte DocileQuest2_Sniff - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - DocileQuest2_Sniff: - .string "Take a sniff first.\0" - .align 2,0 - - DocileQuest2_Window: - .string "Open a window right away.\0" - .align 2,0 - - .global DocileQuest2 - DocileQuest2: - .4byte DocileQuest2Question - .4byte DocileQuest2Answers - .4byte DocileQuest2Points - - DocileQuest2Question: - .string "You broke a rotten egg in your room!\n" - .string "What will you do?\0" - .align 2,0 - - @ Question 3, Category 2 (Docile) - DocileQuest3Points: - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - DocileQuest3Answers: - .4byte DocileQuest3_Regular - .byte 0x00, 0x00, 0x00, 0x00 - .4byte DocileQuest3_Joke - .byte 0x01, 0x00, 0x00, 0x00 - .4byte DocileQuest3_Cool - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - DocileQuest3_Cool: - .string "Say thanks{COMMA} but be cool.\0" - .align 2,0 - - DocileQuest3_Joke: - .string "Say thanks with a joke.\0" - .align 2,0 - - DocileQuest3_Regular: - .string "Say thank you regularly.\0" - .align 2,0 - - .global DocileQuest3 - DocileQuest3: - .4byte DocileQuest3Question - .4byte DocileQuest3Answers - .4byte DocileQuest3Points - - DocileQuest3Question: - .string "A friend brought over something you{APOSTROPHE}d\n" - .string "forgotten.{WAIT_PRESS}\n" - .string "How do you thank your friend?\0" - .align 2,0 - - @ Question 4, Category 2 (Docile) - DocileQuest4Points: - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - DocileQuest4Answers: - .4byte DocileQuest4_Police - .byte 0x00, 0x00, 0x00, 0x00 - .4byte DocileQuest4_Yay - .byte 0x01, 0x00, 0x00, 0x00 - .4byte DocileQuest4_Watching - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - DocileQuest4_Watching: - .string "Is anyone watching...?\0" - .align 2,0 - - DocileQuest4_Yay: - .string "Yay! Yay!\0" - .align 2,0 - - DocileQuest4_Police: - .string "Turn it in to the police!\0" - .align 2,0 - - .global DocileQuest4 - DocileQuest4: - .4byte DocileQuest4Question - .4byte DocileQuest4Answers - .4byte DocileQuest4Points - - DocileQuest4Question: - .string "There is a wallet at the side of a road.\0" - .align 2,0 - - @ Question 1, Category 3 (Brave) - BraveQuest1Points: - .byte 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - BraveQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global BraveQuest1 - BraveQuest1: - .4byte BraveQuest1Question - .4byte BraveQuest1Answers - .4byte BraveQuest1Points - - BraveQuest1Question: - .string "You{APOSTROPHE}re going bungee jumping for the first\n" - .string "time.{EXTRA_MSG}Since it{APOSTROPHE}s scary{COMMA} you decide to test the\n" - .string "jump with a doll...{WAIT_PRESS}\n" - .string "And the bungee cord snaps!{EXTRA_MSG}" - .string "Will you still try to make a jump anyway?\0" - .align 2,0 - - @ Question 2, Category 3 (Brave) - BraveQuest2APoints: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - - BraveQuest2AAnswers: - .4byte BraveQuest2A_Fight - .byte 0x63, 0x00, 0x00, 0x00 - .4byte BraveQuest2A_Run - .byte 0x01, 0x00, 0x00, 0x00 - .4byte BraveQuest2A_Ignore - .byte 0x02, 0x00, 0x00, 0x0 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - BraveQuest2A_Ignore: - .string "Ignore it.\0" - .align 2,0 - - BraveQuest2A_Run: - .string "Run.\0" - .align 2,0 - - BraveQuest2A_Fight: - .string "Fight.\0" - .align 2,0 - - .global BraveQuest2A - BraveQuest2A: - .4byte BraveQuest2AQuestion - .4byte BraveQuest2AAnswers - .4byte BraveQuest2APoints - - BraveQuest2AQuestion: - .string "There is an alien invasion!\n" - .string "What will you do?\0" - .align 2,0 - - BraveQuest2BPoints: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - BraveQuest2BAnswers: - .4byte BraveQuest2B_Rule - .byte 0x00, 0x00, 0x00, 0x00 - .4byte BraveQuest2B_Refuse - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - BraveQuest2B_Refuse: - .string "Refuse.\0" - .align 2,0 - - BraveQuest2B_Rule: - .string "Rule with the aliens.\0" - .align 2,0 - - .global BraveQuest2B - BraveQuest2B: - .4byte BraveQuest2BQuestion - .4byte BraveQuest2BAnswers - .4byte BraveQuest2BPoints - - BraveQuest2BQuestion: - .string "You valiantly fight the aliens...{WAIT_PRESS}\n" - .string "But{COMMA} you are defeated...{EXTRA_MSG}An alien says to you...{EXTRA_MSG}{QUOTE_START}YOU HAVE IMPRESSED US.\n" - .string "IT WAS A PLEASURE TO SEE.{EXTRA_MSG}JOIN US{COMMA} AND TOGETHER WE SHALL\n" - .string "RULE THE WORLD.{QUOTE_END}{WAIT_PRESS}\n" - .string "What will you do?\0" - .align 2,0 - - @ Question 3, Category 3 (Brave) - BraveQuest3Points: - .byte 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - BraveQuest3Answers: - .4byte BraveQuest3_Yank - .byte 0x00, 0x00, 0x00, 0x00 - .4byte BraveQuest3_Scream - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - BraveQuest3_Scream: - .string "Scream in unison.\0" - .align 2,0 - - BraveQuest3_Yank: - .string "Yank open the door.\0" - .align 2,0 - - .global BraveQuest3 - BraveQuest3: - .4byte BraveQuest3Question - .4byte BraveQuest3Answers - .4byte BraveQuest3Points - - BraveQuest3Question: - .string "There is a scream from behind a door!{WAIT_PRESS}\n" - .string "How will you react?\0" - .align 2,0 - - @ Question 4, Category 3 (Brave) - BraveQuest4Points: - .byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - BraveQuest4Answers: - .4byte BraveQuest4_Hesitation - .byte 0x00, 0x00, 0x00, 0x00 - .4byte BraveQuest4_Scared - .byte 0x01, 0x00, 0x00, 0x00 - .4byte BraveQuest4_Police - .byte 0x02, 0x00, 0x00, 0x00 - .4byte BraveQuest4_Nothing - .byte 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - BraveQuest4_Nothing: - .string "Do nothing out of fear.\0" - .align 2,0 - - BraveQuest4_Police: - .string "Call the police.\0" - .align 2,0 - - BraveQuest4_Scared: - .string "Help{COMMA} even if scared.\0" - .align 2,0 - - BraveQuest4_Hesitation: - .string "Help without hesitation.\0" - .align 2,0 - - .global BraveQuest4 - BraveQuest4: - .4byte BraveQuest4Question - .4byte BraveQuest4Answers - .4byte BraveQuest4Points - - BraveQuest4Question: - .string "A delinquent is hassling a girl on\n" - .string "a busy city street!{WAIT_PRESS}\n" - .string "What will you do?\0" - .align 2,0 - - @ Question 1, Category 4 (Jolly) - JollyQuest1Points: - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - - JollyQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global JollyQuest1 - JollyQuest1: - .4byte JollyQuest1Question - .4byte JollyQuest1Answers - .4byte JollyQuest1Points - - @ Question 2, Category 4 (Jolly) - JollyQuest1Question: - .string "Are you a cheerful personality?\0" - .align 2,0 - - JollyQuest2Points: - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - JollyQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global JollyQuest2 - JollyQuest2: - .4byte JollyQuest2Question - .4byte JollyQuest2Answers - .4byte JollyQuest2Points - - JollyQuest2Question: - .string "Do you like to noisily enjoy yourself\n" - .string "with others?\0" - .align 2,0 - - @ Question 3, Category 4 (Jolly) - JollyQuest3Points: - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - JollyQuest3Answers: - .4byte JollyQuest3_Beach - .byte 0x00, 0x00, 0x00, 0x00 - .4byte JollyQuest3_Spas - .byte 0x01, 0x00, 0x00, 0x00 - .4byte JollyQuest3_Anywhere - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - JollyQuest3_Anywhere: - .string "Anywhere.\0" - .align 2,0 - - JollyQuest3_Spas: - .string "Spas.\0" - .align 2,0 - - JollyQuest3_Beach: - .string "The beach!\0" - .align 2,0 - - .global JollyQuest3 - JollyQuest3: - .4byte JollyQuest3Question - .4byte JollyQuest3Answers - .4byte JollyQuest3Points - - JollyQuest3Question: - .string "It{APOSTROPHE}s the summer holidays!\n" - .string "Where would you like to go?\0" - .align 2,0 - - @ Question 4, Category 4 (Jolly) - JollyQuest4Points: - .byte 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - JollyQuest4Answers: - .4byte JollyQuest4_Funny - .byte 0x00, 0x00, 0x00, 0x00 - .4byte JollyQuest4_Again - .byte 0x01, 0x00, 0x00, 0x00 - .4byte JollyQuest4_Go - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - JollyQuest4_Go: - .string "Right... Well{COMMA} I gotta go.\0" - .align 2,0 - - JollyQuest4_Again: - .string "Um... Could you say that again?\0" - .align 2,0 - - JollyQuest4_Funny: - .string "Haha! Yes. Very funny!\0" - .align 2,0 - - .global JollyQuest4 - JollyQuest4: - .4byte JollyQuest4Question - .4byte JollyQuest4Answers - .4byte JollyQuest4Points - - JollyQuest4Question: - .string "A foreign person has started up a\n" - .string "conversation with you.{EXTRA_MSG}" - .string "To be honest{COMMA} you don{APOSTROPHE}t have a clue what\n" - .string "this fellow is saying.{WAIT_PRESS}\n" - .string "How do you reply?\0" - .align 2,0 - - @ Question 1, Category 5 (Impish) - ImpishQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - ImpishQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global ImpishQuest1 - ImpishQuest1: - .4byte ImpishQuest1Question - .4byte ImpishQuest1Answers - .4byte ImpishQuest1Points - - ImpishQuest1Question: - .string "Have you ever made a pitfall trap?\0" - .align 2,0 - - @ Question 2, Category 5 (Impish) - ImpishQuest2Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - ImpishQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global ImpishQuest2 - ImpishQuest2: - .4byte ImpishQuest2Question - .4byte ImpishQuest2Answers - .4byte ImpishQuest2Points - - ImpishQuest2Question: - .string "Do you like pranks?\0" - .align 2,0 - - @ Question 3, Category 5 (Impish) - ImpishQuest3Points: - .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - ImpishQuest3Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global ImpishQuest3 - ImpishQuest3: - .4byte ImpishQuest3Question - .4byte ImpishQuest3Answers - .4byte ImpishQuest3Points - - ImpishQuest3Question: - .string "Are there many things that you would like\nto do?\0" - .align 2,0 - - @ Question 4, Category 5 (Impish) - ImpishQuest4Points: - .byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - ImpishQuest4Answers: - .4byte ImpishQuest4_Face - .byte 0x00, 0x00, 0x00, 0x00 - .4byte ImpishQuest4_Caution - .byte 0x01, 0x00, 0x00, 0x00 - .4byte ImpishQuest4_Heckle - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - ImpishQuest4_Heckle: - .string "Heckle the bully from behind.\0" - .align 2,0 - - ImpishQuest4_Caution: - .string "Caution the bully from afar.\0" - .align 2,0 - - ImpishQuest4_Face: - .string "Face up to the bully.\0" - .align 2,0 - - .global ImpishQuest4 - ImpishQuest4: - .4byte ImpishQuest4Question - .4byte ImpishQuest4Answers - .4byte ImpishQuest4Points - - ImpishQuest4Question: - .string "Your friend is being bullied!\n" - .string "What do you do?\0" - .align 2,0 - - @ Question 1, Category 6 (Naive) - NaiveQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - NaiveQuest1Answers: - .4byte NaiveQuest1_Love - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest4_Little - .byte 0x01, 0x00, 0x00, 0x00 - .4byte NaiveQuest1_Spare - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - NaiveQuest1_Spare: - .string "Spare me.\0" - .align 2,0 - - NaiveQuest1_Love: - .string "Love them!\0" - .align 2,0 - - .global NaiveQuest1 - NaiveQuest1: - .4byte NaiveQuest1Question - .4byte NaiveQuest1Answers - .4byte NaiveQuest1Points - - NaiveQuest1Question: - .string "Do you like groan-inducing puns?\0" - .align 2,0 - - @ Question 2, Category 6 (Naive) - .global NaiveQuest2Points - NaiveQuest2Points: - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - .global NaiveQuest2Answers - NaiveQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global NaiveQuest2 - NaiveQuest2: - .4byte NaiveQuest2Question - .4byte NaiveQuest2Answers - .4byte NaiveQuest2Points - - .global NaiveQuest2Question - NaiveQuest2Question: - .string "Do you tend to laugh a lot?\0" - .align 2,0 - - @ Question 3, Category 6 (Naive) - .global NaiveQuest3Points - NaiveQuest3Points: - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global NaiveQuest3Answers - NaiveQuest3Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global NaiveQuest3 - NaiveQuest3: - .4byte NaiveQuest3Question - .4byte NaiveQuest3Answers - .4byte NaiveQuest3Points - - .global NaiveQuest3Question - NaiveQuest3Question: - .string "Do others often call you childish?\0" - .align 2,0 - - @ Question 4, Category 6 (Naive) - .global NaiveQuest4Points - NaiveQuest4Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global NaiveQuest4Answers - NaiveQuest4Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global NaiveQuest4 - NaiveQuest4: - .4byte NaiveQuest4Question - .4byte NaiveQuest4Answers - .4byte NaiveQuest4Points - - .global NaiveQuest4Question - NaiveQuest4Question: - .string "Do you like to imagine things for your\n" - .string "amusement?\0" - .align 2,0 - - @ Question 1, Category 7 (Timid) - .global TimidQuest1Points - TimidQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global TimidQuest1Answers - TimidQuest1Answers: - .4byte TimidQuest1_Scream - .byte 0x00, 0x00, 0x00, 0x00 - .4byte TimidQuest1_Close - .byte 0x01, 0x00, 0x00, 0x00 - .4byte TimidQuest1_Shake - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global TimidQuest1_Shake - TimidQuest1_Shake: - .string "Shake hands with it.\0" - .align 2,0 - - .global TimidQuest1_Close - TimidQuest1_Close: - .string "Close the lid without a word.\0" - .align 2,0 - - .global TimidQuest1_Scream - TimidQuest1_Scream: - .string "Scream and run.\0" - .align 2,0 - - .global TimidQuest1 - TimidQuest1: - .4byte TimidQuest1Question - .4byte TimidQuest1Answers - .4byte TimidQuest1Points - - .global TimidQuest1Question - TimidQuest1Question: - .string "A human hand extends out of a toilet!\n" - .string "What would you do?\0" - .align 2,0 - - @ Question 2, Category 7 (Timid) - .global TimidQuest2Points - TimidQuest2Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 - - .global TimidQuest2Answers - TimidQuest2Answers: - .4byte TimidQuest2_Thumb - .byte 0x00, 0x00, 0x00, 0x00 - .4byte TimidQuest2_Index - .byte 0x01, 0x00, 0x00, 0x00 - .4byte TimidQuest2_Middle - .byte 0x02, 0x00, 0x00, 0x00 - .4byte TimidQuest2_Ring - .byte 0x03, 0x00, 0x00, 0x00 - .4byte TimidQuest2_Little - .byte 0x04, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global TimidQuest2_Little - TimidQuest2_Little: - .string "Little finger.\0" - .align 2,0 - - .global TimidQuest2_Ring - TimidQuest2_Ring: - .string "Ring finger.\0" - .align 2,0 - - .global TimidQuest2_Middle - TimidQuest2_Middle: - .string "Middle finger.\0" - .align 2,0 - - .global TimidQuest2_Index - TimidQuest2_Index: - .string "Index finger.\0" - .align 2,0 - - .global TimidQuest2_Thumb - TimidQuest2_Thumb: - .string "Thumb.\0" - .align 2,0 - - .global TimidQuest2 - TimidQuest2: - .4byte TimidQuest2Question - .4byte TimidQuest2Answers - .4byte TimidQuest2Points - - .global TimidQuest2Question - TimidQuest2Question: - .string "Grab any digit on your left hand with your\n" - .string "right hand.{WAIT_PRESS}\n" - .string "Which digit did you grab?\0" - .align 2,0 - - @ Question 3, Category 7 (Timid) - .global TimidQuest3Points - TimidQuest3Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - - .global TimidQuest3Answers - TimidQuest3Answers: - .4byte TimidQuest3_Kick - .byte 0x00, 0x00, 0x00, 0x00 - .4byte TimidQuest3_Cry - .byte 0x01, 0x00, 0x00, 0x00 - .4byte TimidQuest3_Clean - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - TimidQuest3_Clean: - .string "Clean it.\0" - .align 2,0 - - TimidQuest3_Cry: - .string "Cry.\0" - .align 2,0 - - TimidQuest3_Kick: - .string "Kick the door.\0" - .align 2,0 - - .global TimidQuest3 - TimidQuest3: - .4byte TimidQuest3Question - .4byte TimidQuest3Answers - .4byte TimidQuest3Points - - .global TimidQuest3Question - TimidQuest3Question: - .string "You are suddenly locked inside a\n" - .string "pitch-black room!{WAIT_PRESS}\n" - .string "What do you do?\0" - .align 2,0 - - @ Question 4, Category 7 (Timid) - .global TimidQuest4Points - TimidQuest4Points: - .byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global TimidQuest4Answers - TimidQuest4Answers: - .4byte TimidQuest4_NoProb - .byte 0x00, 0x00, 0x00, 0x00 - .4byte TimidQuest4_Scared - .byte 0x01, 0x00, 0x00, 0x00 - .4byte TimidQuest4_Someone - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global TimidQuest4_Someone - TimidQuest4_Someone: - .string "With someone I like.\0" - .align 2,0 - - .global TimidQuest4_Scared - TimidQuest4_Scared: - .string "Uh... N-no...\0" - .align 2,0 - - .global TimidQuest4_NoProb - TimidQuest4_NoProb: - .string "No problem!\0" - .align 2,0 - - .global TimidQuest4 - TimidQuest4: - .4byte TimidQuest4Question - .4byte TimidQuest4Answers - .4byte TimidQuest4Points - - .global TimidQuest4Question - TimidQuest4Question: - .string "Can you go into a haunted house?\0" - .align 2,0 - - @ Question 1, Category 8 (Hasty) - .global HastyQuest1Points - HastyQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global HastyQuest1Answers - HastyQuest1Answers: - .4byte HastyQuest1_Now - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HastyQuest1_Later - .byte 0x01, 0x00, 0x00, 0x00 - .4byte HastyQuest1_Someone - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global HastyQuest1_Someone - HastyQuest1_Someone: - .string "Get someone to open it.\0" - .align 2,0 - - .global HastyQuest1_Later - HastyQuest1_Later: - .string "Open it later.\0" - .align 2,0 - - .global HastyQuest1_Now - HastyQuest1_Now: - .string "Open it now.\0" - .align 2,0 - - .global HastyQuest1 - HastyQuest1: - .4byte HastyQuest1Question - .4byte HastyQuest1Answers - .4byte HastyQuest1Points - - .global HastyQuest1Question - HastyQuest1Question: - .string "You receive a gift!{WAIT_PRESS}\n" - .string "But you don{APOSTROPHE}t know what{APOSTROPHE}s in it.{WAIT_PRESS}\n" - .string "You{APOSTROPHE}re curious{COMMA} so what do you do?\0" - .align 2,0 - - @ Question 2, Category 8 (Hasty) - .global HastyQuest2Points - HastyQuest2Points: - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - - .global HastyQuest2Answers - HastyQuest2Answers: - .4byte HastyQuest2_Spend - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HastyQuest2_Save - .byte 0x01, 0x00, 0x00, 0x00 - .4byte HastyQuest2_Give - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global HastyQuest2_Give - HastyQuest2_Give: - .string "Give it away.\0" - .align 2,0 - - .global HastyQuest2_Save - HastyQuest2_Save: - .string "Save it.\0" - .align 2,0 - - .global HastyQuest2_Spend - HastyQuest2_Spend: - .string "Spend it now.\0" - .align 2,0 - - .global HastyQuest2 - HastyQuest2: - .4byte HastyQuest2Question - .4byte HastyQuest2Answers - .4byte HastyQuest2Points - - .global HastyQuest2Question - HastyQuest2Question: - .string "You win a lottery!{WAIT_PRESS}\n" - .string "What do you do with the money?\0" - .align 2,0 - - @ Question 3, Category 8 (Hasty) - .global HastyQuest3Points - HastyQuest3Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global HastyQuest3Answers - HastyQuest3Answers: - .4byte HastyQuest3_Open - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HastyQuest3_Trap - .byte 0x01, 0x00, 0x00, 0x00 - .4byte HastyQuest3_Empty - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global HastyQuest3_Empty - HastyQuest3_Empty: - .string "It{APOSTROPHE}s going to be empty...\0" - .align 2,0 - - .global HastyQuest3_Trap - HastyQuest3_Trap: - .string "No... Could be a trap...\0" - .align 2,0 - - .global HastyQuest3_Open - HastyQuest3_Open: - .string "Open it right away!\0" - .align 2,0 - - .global HastyQuest3 - HastyQuest3: - .4byte HastyQuest3Question - .4byte HastyQuest3Answers - .4byte HastyQuest3Points - - .global HastyQuest3Question - HastyQuest3Question: - .string "You come across a treasure chest!\n" - .string "What do you do?\0" - .align 2,0 - - @ Question 4, Category 8 (Hasty) - .global HastyQuest4Points - HastyQuest4Points: - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global HastyQuest4Answers - HastyQuest4Answers: - .4byte HastyQuest4_Irritate - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HastyQuest4_Wait - .byte 0x01, 0x00, 0x00, 0x00 - .4byte HastyQuest4_Bail - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global HastyQuest4_Bail - HastyQuest4_Bail: - .string "Get angry and bail.\0" - .align 2,0 - - .global HastyQuest4_Wait - HastyQuest4_Wait: - .string "Wait patiently.\0" - .align 2,0 - - .global HastyQuest4_Irritate - HastyQuest4_Irritate: - .string "Become irritated.\0" - .align 2,0 - - .global HastyQuest4 - HastyQuest4: - .4byte HastyQuest4Question - .4byte HastyQuest4Answers - .4byte HastyQuest4Points - - .global HastyQuest4Question - HastyQuest4Question: - .string "Your friend fails to show up for a meeting\n" - .string "at the promised time.\n" - .string "What do you do?\0" - .align 2,0 - - @ Question 1, Category 9 (Sassy) - .global SassyQuest1Points - SassyQuest1Points: - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global SassyQuest1Answers - SassyQuest1Answers: - .4byte SassyQuest1_Calmly - .byte 0x00, 0x00, 0x00, 0x00 - .4byte SassyQuest1_Nervous - .byte 0x01, 0x00, 0x00, 0x00 - .4byte SassyQuest1_Whatever - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global SassyQuest1_Whatever - SassyQuest1_Whatever: - .string "WHATEVER!!\0" - .align 2,0 - - .global SassyQuest1_Nervous - SassyQuest1_Nervous: - .string "Speak nervously.\0" - .align 2,0 - - .global SassyQuest1_Calmly - SassyQuest1_Calmly: - .string "Speak calmly.\0" - .align 2,0 - - .global SassyQuest1 - SassyQuest1: - .4byte SassyQuest1Question - .4byte SassyQuest1Answers - .4byte SassyQuest1Points - - .global SassyQuest1Question - SassyQuest1Question: - .string "Your country{APOSTROPHE}s leader is in front of you.\n" - .string "How do you speak to him or her?\0" - .align 2,0 - - @ Question 2, Category 9 (Sassy) - .global SassyQuest2Points - SassyQuest2Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global SassyQuest2Answers - SassyQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global SassyQuest2 - SassyQuest2: - .4byte SassyQuest2Question - .4byte SassyQuest2Answers - .4byte SassyQuest2Points - - .global SassyQuest2Question - SassyQuest2Question: - .string "Do others tell you to watch what you say?\0" - .align 2,0 - - @ Question 3, Category 9 (Sassy) - .global SassyQuest3Points - SassyQuest3Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global SassyQuest3Answers - SassyQuest3Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global SassyQuest3 - SassyQuest3: - .4byte SassyQuest3Question - .4byte SassyQuest3Answers - .4byte SassyQuest3Points - - .global SassyQuest3Question - SassyQuest3Question: - .string "Do you think you are cool?\n" - .string "Be honest.\0" - .align 2,0 - - @ Question 4, Category 9 (Sassy) - .global SassyQuest4Points - SassyQuest4Points: - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - - .global SassyQuest4Answers - SassyQuest4Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global SassyQuest4 - SassyQuest4: - .4byte SassyQuest4Question - .4byte SassyQuest4Answers - .4byte SassyQuest4Points - - .global SassyQuest4Question - SassyQuest4Question: - .string "Can you sincerely thank someone when you\n" - .string "feel grateful?\0" - .align 2,0 - - @ Question 1, Category 10 (Calm) - .global CalmQuest1Points - CalmQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global CalmQuest1Answers - CalmQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global CalmQuest1 - CalmQuest1: - .4byte CalmQuest1Question - .4byte CalmQuest1Answers - .4byte CalmQuest1Points - - .global CalmQuest1Question - CalmQuest1Question: - .string "Do you occasionally consider yourself\n" - .string "dull and overly cautious?\0" - .align 2,0 - - @ Question 2, Category 10 (Calm) - .global CalmQuest2Points - CalmQuest2Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global CalmQuest2Answers - CalmQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global CalmQuest2 - CalmQuest2: - .4byte CalmQuest2Question - .4byte CalmQuest2Answers - .4byte CalmQuest2Points - - .global CalmQuest2Question - CalmQuest2Question: - .string "Do you dream of lounging around idly\n" - .string "without much excitement?\0" - .align 2,0 - - @ Question 3, Category 10 (Calm) - .global CalmQuest3Points - CalmQuest3Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - - .global CalmQuest3Answers - CalmQuest3Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global CalmQuest3 - CalmQuest3: - .4byte CalmQuest3Question - .4byte CalmQuest3Answers - .4byte CalmQuest3Points - - .global CalmQuest3Question - CalmQuest3Question: - .string "Do you like to fight?\0" - .align 2,0 - - @ Question 4, Category 10 (Calm) - .global CalmQuest4Points - CalmQuest4Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global CalmQuest4Answers - CalmQuest4Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global CalmQuest4 - CalmQuest4: - .4byte CalmQuest4Question - .4byte CalmQuest4Answers - .4byte CalmQuest4Points - - .global CalmQuest4Question - CalmQuest4Question: - .string "Do you often yawn?\0" - .align 2,0 - - @ Question 1, Category 11 (Relaxed) - .global RelaxedQuest1Points - RelaxedQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global RelaxedQuest1Answers - RelaxedQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global RelaxedQuest1 - RelaxedQuest1: - .4byte RelaxedQuest1Question - .4byte RelaxedQuest1Answers - .4byte RelaxedQuest1Points - - .global RelaxedQuest1Question - RelaxedQuest1Question: - .string "Are you often late for school or meetings?\0" - .align 2,0 - - @ Question 2, Category 11 (Relaxed) - .global RelaxedQuest2Points - RelaxedQuest2Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global RelaxedQuest2Answers - RelaxedQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global RelaxedQuest2 - RelaxedQuest2: - .4byte RelaxedQuest2Question - .4byte RelaxedQuest2Answers - .4byte RelaxedQuest2Points - - .global RelaxedQuest2Question - RelaxedQuest2Question: - .string "Do you get the feeling that you{APOSTROPHE}ve slowed\n" - .string "down lately?\0" - .align 2,0 - - @ Question 3, Category 11 (Relaxed) - .global RelaxedQuest3Points - RelaxedQuest3Points: - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global RelaxedQuest3Answers - RelaxedQuest3Answers: - .4byte RelaxedQuest3_Great - .byte 0x00, 0x00, 0x00, 0x00 - .4byte RelaxedQuest3_Snore - .byte 0x01, 0x00, 0x00, 0x00 - .4byte RelaxedQuest3_Home - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global RelaxedQuest3_Home - RelaxedQuest3_Home: - .string "I want to go home soon!\0" - .align 2,0 - - .global RelaxedQuest3_Snore - RelaxedQuest3_Snore: - .string "Snore...\0" - .align 2,0 - - .global RelaxedQuest3_Great - RelaxedQuest3_Great: - .string "This feels great!\0" - .align 2,0 - - .global RelaxedQuest3 - RelaxedQuest3: - .4byte RelaxedQuest3Question - .4byte RelaxedQuest3Answers - .4byte RelaxedQuest3Points - - .global RelaxedQuest3Question - RelaxedQuest3Question: - .string "It is a pleasant day at the beach.\n" - .string "How do you feel?\0" - .align 2,0 - - - @ Question 4, Category 11 (Relaxed) - .global RelaxedQuest4Points - RelaxedQuest4Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global RelaxedQuest4Answers - RelaxedQuest4Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global RelaxedQuest4 - RelaxedQuest4: - .4byte RelaxedQuest4Question - .4byte RelaxedQuest4Answers - .4byte RelaxedQuest4Points - - .global RelaxedQuest4Question - RelaxedQuest4Question: - .string "Do you fall asleep without noticing?\0" - .align 2,0 - - @ Question 1, Category 12 (Lonely) - .global LonelyQuest1Points - LonelyQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global LonelyQuest1Answers - LonelyQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global LonelyQuest1 - LonelyQuest1: - .4byte LonelyQuest1Question - .4byte LonelyQuest1Answers - .4byte LonelyQuest1Points - - .global LonelyQuest1Question - LonelyQuest1Question: - .string "Do you feel lonesome when you are alone?\0" - .align 2,0 - - @ Question 2, Category 12 (Lonely) - .global LonelyQuest2Points - LonelyQuest2Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global LonelyQuest2Answers - LonelyQuest2Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global LonelyQuest2 - LonelyQuest2: - .4byte LonelyQuest2Question - .4byte LonelyQuest2Answers - .4byte LonelyQuest2Points - - .global LonelyQuest2Question - LonelyQuest2Question: - .string "Do you hate to be the last person to leave\n" - .string "class at the end of a school day?\0" - .align 2,0 - - @ Question 3, Category 12 (Lonely) - .global LonelyQuest3Points - LonelyQuest3Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global LonelyQuest3Answers - LonelyQuest3Answers: - .4byte LonelyQuest3_On - .byte 0x00, 0x00, 0x00, 0x00 - .4byte LonelyQuest3_Off - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global LonelyQuest3_Off - LonelyQuest3_Off: - .string "Turn it off.\0" - .align 2,0 - - .global LonelyQuest3_On - LonelyQuest3_On: - .string "Leave it on.\0" - .align 2,0 - - - .global LonelyQuest3 - LonelyQuest3: - .4byte LonelyQuest3Question - .4byte LonelyQuest3Answers - .4byte LonelyQuest3Points - - .global LonelyQuest3Question - LonelyQuest3Question: - .string "What do you do with your room{APOSTROPHE}s light\n" - .string "when you{APOSTROPHE}re going to bed at night?\0" - .align 2,0 - - @ Question 4, Category 12 (Lonely) - .global LonelyQuest4Points - LonelyQuest4Points: - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 - - .global LonelyQuest4Answers - LonelyQuest4Answers: - .4byte LonelyQuest4_Trip - .byte 0x00, 0x00, 0x00, 0x00 - .4byte LonelyQuest4_Hang - .byte 0x01, 0x00, 0x00, 0x00 - .4byte LonelyQuest4_Huddle - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global LonelyQuest4_Huddle - LonelyQuest4_Huddle: - .string "Huddle in a corner.\0" - .align 2,0 - - .global LonelyQuest4_Hang - LonelyQuest4_Hang: - .string "Hang around vacantly.\0" - .align 2,0 - - .global LonelyQuest4_Trip - LonelyQuest4_Trip: - .string "Go on a trip.\0" - .align 2,0 - - .global LonelyQuest4 - LonelyQuest4: - .4byte LonelyQuest4Question - .4byte LonelyQuest4Answers - .4byte LonelyQuest4Points - - .global LonelyQuest4Question - LonelyQuest4Question: - .string "It{APOSTROPHE}s a weekend{COMMA} but no one will play\n" - .string "with you...\n" - .string "What do you do?\0" - .align 2,0 - - @ Question 1, Category 13 (Quirky) - .global QuirkyQuest1Points - QuirkyQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global QuirkyQuest1Answers - QuirkyQuest1Answers: - .4byte HardyQuest2_Yes - .byte 0x00, 0x00, 0x00, 0x00 - .4byte HardyQuest3_No - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global QuirkyQuest1 - QuirkyQuest1: - .4byte QuirkyQuest1Question - .4byte QuirkyQuest1Answers - .4byte QuirkyQuest1Points - - .global QuirkyQuest1Question - QuirkyQuest1Question: - .string "Do you sometimes run out of things to do\n" - .string "all of a sudden?\0" - .align 2,0 - - @ Question 2, Category 13 (Quirky) - .global QuirkyQuest2Points - QuirkyQuest2Points: - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global QuirkyQuest2Answers - QuirkyQuest2Answers: - .4byte QuirkyQuest2_Reply - .byte 0x00, 0x00, 0x00, 0x00 - .4byte QuirkyQuest2_MayMayNot - .byte 0x01, 0x00, 0x00, 0x00 - .4byte QuirkyQuest2_Trouble - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global QuirkyQuest2_Trouble - QuirkyQuest2_Trouble: - .string "Too much trouble.\0" - .align 2,0 - - .global QuirkyQuest2_MayMayNot - QuirkyQuest2_MayMayNot: - .string "May reply{COMMA} may not.\0" - .align 2,0 - - .global QuirkyQuest2_Reply - QuirkyQuest2_Reply: - .string "Reply right away.\0" - .align 2,0 - - .global QuirkyQuest2 - QuirkyQuest2: - .4byte QuirkyQuest2Question - .4byte QuirkyQuest2Answers - .4byte QuirkyQuest2Points - - .global QuirkyQuest2Question - QuirkyQuest2Question: - .string "How quickly do you respond to an e-mail?\0" - .align 2,0 - - @ Question 3, Category 13 (Quirky) - .global QuirkyQuest3Points - QuirkyQuest3Points: - .byte 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .global QuirkyQuest3Answers - QuirkyQuest3Answers: - .4byte QuirkyQuest3_Declare - .byte 0x00, 0x00, 0x00, 0x00 - .4byte QuirkyQuest3_Hello - .byte 0x01, 0x00, 0x00, 0x00 - .4byte QuirkyQuest3_Prank - .byte 0x02, 0x00, 0x00, 0x00 - .4byte QuirkyQuest3_Afar - .byte 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global QuirkyQuest3_Afar - QuirkyQuest3_Afar: - .string "Look from afar.\0" - .align 2,0 - - .global QuirkyQuest3_Prank - QuirkyQuest3_Prank: - .string "Pull a prank to get attention.\0" - .align 2,0 - - .global QuirkyQuest3_Hello - QuirkyQuest3_Hello: - .string "Might say hello...\0" - .align 2,0 - - .global QuirkyQuest3_Declare - QuirkyQuest3_Declare: - .string "Bravely declare my love.\0" - .align 2,0 - - .global QuirkyQuest3 - QuirkyQuest3: - .4byte QuirkyQuest3Question - .4byte QuirkyQuest3Answers - .4byte QuirkyQuest3Points - - .global QuirkyQuest3Question - QuirkyQuest3Question: - .string "There is a person you like...{WAIT_PRESS}\n" - .string "But there{APOSTROPHE}s no opportunity to get close.\n" - .string "What do you do?\0" - .align 2,0 - - @ Question 4, Category 13 (Quirky) - .global QuirkyQuest4Points - QuirkyQuest4Points: - .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @ +2 Docile - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @ +2 Sassy - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 @ +2 Quirky - - .global QuirkyQuest4Answers - QuirkyQuest4Answers: - .4byte QuirkyQuest4_GoRight - .byte 0x00, 0x00, 0x00, 0x00 - .4byte QuirkyQuest4_GoLeft - .byte 0x01, 0x00, 0x00, 0x00 - .4byte QuirkyQuest4_EitherSide - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global QuirkyQuest4_EitherSide - QuirkyQuest4_EitherSide: - .string "Choose either side.\0" - .align 2,0 - - .global QuirkyQuest4_GoLeft - QuirkyQuest4_GoLeft: - .string "It{APOSTROPHE}s a trap! Go left.\0" - .align 2,0 - - .global QuirkyQuest4_GoRight - QuirkyQuest4_GoRight: - .string "Instantly go right.\0" - .align 2,0 - - .global QuirkyQuest4 - QuirkyQuest4: - .4byte QuirkyQuest4Question - .4byte QuirkyQuest4Answers - .4byte QuirkyQuest4Points - - .global QuirkyQuest4Question - QuirkyQuest4Question: - .string "The road forks to the right and left.\n" - .string "You are told there is a treasure on the\n" - .string "right side. What do you do?\0" - .align 2,0 - - @ Question 1, Category 14 (Miscellaneous) - .global MiscQuest1Points - MiscQuest1Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 @ +1 Hasty, +1 Quirky - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 @ +1 Jolly, +1 Lonely - - .global MiscQuest1Answers - MiscQuest1Answers: - .4byte MiscQuest1_Alone - .byte 0x00, 0x00, 0x00, 0x00 - .4byte MiscQuest1_Others - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global MiscQuest1_Others - MiscQuest1_Others: - .string "Go with others.\0" - .align 2,0 - - .global MiscQuest1_Alone - MiscQuest1_Alone: - .string "Go alone.\0" - .align 2,0 - - .global MiscQuest1 - MiscQuest1: - .4byte MiscQuest1Question - .4byte MiscQuest1Answers - .4byte MiscQuest1Points - - .global MiscQuest1Question - MiscQuest1Question: - .string "On vacation outings{COMMA} you want to...\0" - .align 2,0 - - @ Question 2, Category 14 (Miscellaneous) - .global MiscQuest2Points - MiscQuest2Points: - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @ +2 Jolly - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 @ +1 Sassy, +1 Quirky - - .global MiscQuest2Answers - MiscQuest2Answers: - .4byte NaiveQuest1_Love - .byte 0x00, 0x00, 0x00, 0x00 - .4byte MiscQuest2_DontCare - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global MiscQuest2_DontCare - MiscQuest2_DontCare: - .string "Don{APOSTROPHE}t care.\0" - .align 2,0 - - .global MiscQuest2 - MiscQuest2: - .4byte MiscQuest2Question - .4byte MiscQuest2Answers - .4byte MiscQuest2Points - - .global MiscQuest2Question - MiscQuest2Question: - .string "It{APOSTROPHE}s the summer festival!\n" - .string "Do you like carnivals?\0" - .align 2,0 - - @ Question 3, Category 14 (Miscellaneous) - .global MiscQuest3Points - MiscQuest3Points: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 @ +1 Naive, +1 Lonely - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @ +1 Sassy, +1 Hasty - - .global MiscQuest3Answers - MiscQuest3Answers: - .4byte MiscQuest3Happy @ Happy pointer - .byte 0x00, 0x00, 0x00, 0x00 - .4byte MiscQuest3NotHappy @ Not happy pointer - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .4byte -1 - - .global MiscQuest3NotHappy - MiscQuest3NotHappy: - .string "Not happy.\0" - .align 2,0 - - .global MiscQuest3Happy - MiscQuest3Happy: - .string "Happy!\0" - .align 2,0 - - .global MiscQuest3 - MiscQuest3: - .4byte MiscQuest3Question - .4byte MiscQuest3Answers - .4byte MiscQuest3Points - - .global MiscQuest3Question - MiscQuest3Question: - .string "Somebody calls you {QUOTE_START}weird but funny.{QUOTE_END}\n" - .string "How does that make you feel?\0" - .align 2,0 diff --git a/include/code_2.h b/include/code_2.h new file mode 100644 index 00000000..658fe3cc --- /dev/null +++ b/include/code_2.h @@ -0,0 +1,8 @@ +#ifndef GUARD_CODE_2_H +#define GUARD_CODE_2_H + +// code_2.s +extern void sub_8001024(u32 *); +extern void sub_8001044(u32 *); + +#endif // GUARD_CODE_2_H \ No newline at end of file diff --git a/include/code_803B050.h b/include/code_803B050.h index cdb92a26..a0e14ff1 100644 --- a/include/code_803B050.h +++ b/include/code_803B050.h @@ -3,28 +3,6 @@ #include "structs/str_802C39C.h" -// size: 0x8 -typedef struct unkStruct_80E9920 -{ - /* 0x0 */ s16 unkA; - /* 0x2 */ s16 unkB; - /* 0x4 */ u8 *text; -} unkStruct_80E9920; - -// size: 0xC -typedef struct unkStruct_80E9F8C -{ - /* 0x0 */ s16 unkA; - /* 0x2 */ s16 unkB; - /* 0x4 */ u8 *text1; - /* 0x8 */ u8 *text2; -} unkStruct_80E9F8C; - -void CreateRescueDescription(unkStruct_802C39C *); -void CreateRescueTitle(unkStruct_802C39C *); - -void sub_803B6B0(s32 x, s32 y, u8 index, u32); - // code_803B050.s extern unkStruct_803B344 *sub_803B344(u8); extern void sub_803B35C(WonderMail *, unkStruct_802C39C *); diff --git a/include/code_803C1D0.h b/include/code_803C1D0.h index 9a005f23..35bc31b5 100644 --- a/include/code_803C1D0.h +++ b/include/code_803C1D0.h @@ -4,6 +4,8 @@ #include "structs/str_wonder_mail.h" // code_803C1D0.s +extern u8 sub_803C1D0(DungeonLocation *, u8); +extern u8 *sub_803C1F0(u8); extern void sub_803C21C(WonderMail *, unkStruct_802F204 *); #endif // GUARD_CODE_803C1D0_H \ No newline at end of file diff --git a/include/code_803D110.h b/include/code_803D110.h new file mode 100644 index 00000000..7c41b343 --- /dev/null +++ b/include/code_803D110.h @@ -0,0 +1,9 @@ +#ifndef GUARD_CODE_803D110_H +#define GUARD_CODE_803D110_H + +#include "structs/str_wonder_mail.h" + +// code_803D110.s +extern void sub_803D414(u8 *, WonderMail *); + +#endif // GUARD_CODE_803D110_H \ No newline at end of file diff --git a/include/code_8094D28.h b/include/code_8094D28.h new file mode 100644 index 00000000..7ed78161 --- /dev/null +++ b/include/code_8094D28.h @@ -0,0 +1,8 @@ +#ifndef GUARD_CODE_8094D28_H +#define GUARD_CODE_8094D28_H + +// code_8094D28.s +extern void sub_8094D28(s32); +extern s32 sub_8094E4C(void); + +#endif // GUARD_CODE_8094D28_H \ No newline at end of file diff --git a/include/constants/monster.h b/include/constants/monster.h index 9664c990..6bf63ff9 100644 --- a/include/constants/monster.h +++ b/include/constants/monster.h @@ -341,7 +341,7 @@ #define MONSTER_PLUSLE 336 #define MONSTER_MINUN 337 #define MONSTER_VOLBEAT 338 -#define MONSTER_ILLIMISE 339 +#define MONSTER_ILLUMISE 339 #define MONSTER_ROSELIA 340 #define MONSTER_GULPIN 341 #define MONSTER_SWALOT 342 diff --git a/include/constants/personality_test.h b/include/constants/personality_test.h index b2c9a92d..b6b9e0a1 100644 --- a/include/constants/personality_test.h +++ b/include/constants/personality_test.h @@ -1,7 +1,8 @@ #ifndef GUARD_CONSTANTS_PERSONALITY_TEST_H #define GUARD_CONSTANTS_PERSONALITY_TEST_H -enum NaturePersonalities { +enum NaturePersonalities +{ HARDY, DOCILE, BRAVE, @@ -25,4 +26,4 @@ enum NaturePersonalities { #define BRAVE_2B_TRIGGER 99 -#endif +#endif // GUARD_CONSTANTS_PERSONALITY_TEST_H \ No newline at end of file diff --git a/include/dungeon.h b/include/dungeon.h index e88ff932..58b6bef5 100644 --- a/include/dungeon.h +++ b/include/dungeon.h @@ -42,6 +42,7 @@ u32 GetMaxItemsAllowed(u8 dungeon); s8 GetRescuesAllowed(u8 dungeon); bool8 HasCheckpoint(u8 dungeon); void PrintYellowDungeonNametoBuffer(u8 *buffer, DungeonLocation *dungeonLocation); +void PrintDungeonLocationtoBuffer(u8 *buffer, DungeonLocation *dungeonLocation); u32 sub_80908D8(DungeonLocation *dungeon); u8 sub_8090910(DungeonLocation *dungeon, u32 param_2); diff --git a/include/personality_test.h b/include/personality_test.h deleted file mode 100644 index c6abea68..00000000 --- a/include/personality_test.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef GUARD_PERSONALITY_TEST_H -#define GUARD_PERSONALITY_TEST_H - -#include "constants/personality_test.h" -#include "structs/menu.h" -#include "structs/str_text.h" - -// Definitely wrong but need to figure out better structure later -struct FaceData -{ - /* 0x0 */ u8 *unk0[5]; -}; - -struct PersonalityAnswer -{ - const char * text; - int effect; -}; - -struct PersonalityQuestion -{ - const char * question; - const struct PersonalityAnswer * answers; - const u8 (*effects); -}; - -struct PersonalityTestTracker -{ - /* 0x0 */ s32 FrameCounter; - /* 0x4 */ u32 unk4; - /* 0x8 */ s16 StarterID; - /* 0xA */ s16 PartnerID; - u8 padding[0x20 - 0xC]; - /* 0x20 */ char PartnerNick[0x14]; - /* 0x34 */ u32 TestState; - /* 0x38 */ s32 QuestionCounter; - /* 0x3C */ u32 currQuestionIndex; - /* 0x40 */ u8 playerNature; - /* 0x44 */ s32 NatureTotals[NUM_PERSONALITIES]; - /* 0x78 */ u8 QuestionTracker[NUM_QUIZ_QUESTIONS]; - /* 0xB0 */ u32 playerGender; // 1 = Female, 0 = Male - /* 0xB4 */ MenuInputStructSub input; -}; - -struct PersonalityStruct_203B404 -{ - // Size: 0xB8 - /* 0x0 */ s16 StarterID; - /* 0x2 */ s16 PartnerArray[NUM_PARTNERS]; - u8 unk16; - /* 0x18 */ MenuInputStruct input; - u32 unk4C; - /* 0x50 */ UnkTextStruct2 *unk50; - /* 0x54 */ UnkTextStruct2 unk54[4]; - /* 0xB4 */ u8 unkb4[4]; -}; - -void InitializeTestStats(void); -void GenerateNewQuestionOrGender(void); -void CallPromptNewQuestion(void); -void PrintPersonalityTypeDescription(void); -void SetPlayerGender(void); -void RevealPersonality(void); -void RevealStarter(void); -void AdvanceToPickPartnerPrompt(void); -void PromptPickPartner(void); -void AdvanceToPartnerSelection(void); -void CallCreatePartnerSelectionMenu(void); -void PromptForPartnerNickname(void); -void AdvanceToPartnerNickhameScreen(void); -void NicknamePartner(void); -void PrintEndIntroText(void); -void AdvanceToTestEnd(void); -s32 GetValidPartners(void); -void UpdateNatureTotals(void); -void PromptNewQuestion(void); -void PersonalityTest_DisplayPartnerSprite(void); -u16 HandlePartnerSelectionInput(void); -void PersonalityTest_DisplayStarterSprite(void); -void CreatePartnerSelectionMenu(s16); -void sub_803CE6C(void); -void sub_803CEAC(void); -void sub_803CECC(void); -void nullsub_135(void); - - -#endif diff --git a/include/personality_test1.h b/include/personality_test1.h new file mode 100644 index 00000000..d0d2a4b0 --- /dev/null +++ b/include/personality_test1.h @@ -0,0 +1,37 @@ +#ifndef GUARD_PERSONALITY_TEST1_H +#define GUARD_PERSONALITY_TEST1_H + +#include "constants/personality_test.h" +#include "structs/menu.h" + +// size: 0xC +typedef struct PersonalityQuestion +{ + /* 0x0 */ const u8 *question; + /* 0x4 */ const MenuItem *answers; + /* 0x8 */ const u8 *effects; +} PersonalityQuestion; + +struct PersonalityTestTracker +{ + /* 0x0 */ s32 FrameCounter; + u32 unk4; + /* 0x8 */ s16 StarterID; + /* 0xA */ s16 PartnerID; + u8 fillC[0x20 - 0xC]; + /* 0x20 */ u8 PartnerNick[20]; + /* 0x34 */ u32 TestState; + /* 0x38 */ s32 QuestionCounter; + /* 0x3C */ u32 currQuestionIndex; + /* 0x40 */ u8 playerNature; + /* 0x44 */ s32 NatureTotals[NUM_PERSONALITIES]; + /* 0x78 */ u8 QuestionTracker[NUM_QUIZ_QUESTIONS]; + /* 0xB0 */ u32 playerGender; // 1 = Female, 0 = Male + /* 0xB4 */ MenuInputStructSub input; +}; + +bool8 CreateTestTracker(void); +void DeleteTestTracker(void); +u8 HandleTestTrackerState(void); + +#endif // GUARD_PERSONALITY_TEST1_H \ No newline at end of file diff --git a/include/personality_test2.h b/include/personality_test2.h new file mode 100644 index 00000000..43c8b654 --- /dev/null +++ b/include/personality_test2.h @@ -0,0 +1,26 @@ +#ifndef GUARD_PERSONALITY_TEST2_H +#define GUARD_PERSONALITY_TEST2_H + +#include "constants/personality_test.h" +#include "structs/menu.h" +#include "structs/str_text.h" + +// Size: 0xB8 +struct PersonalityStruct_203B404 +{ + /* 0x0 */ s16 StarterID; + /* 0x2 */ s16 PartnerArray[NUM_PARTNERS]; + u8 unk16; + /* 0x18 */ MenuInputStruct input; + u32 unk4C; + UnkTextStruct2 *unk50; + UnkTextStruct2 unk54[4]; + u8 unkb4[4]; +}; + +void CreatePartnerSelectionMenu(s16 starterID); +u16 HandlePartnerSelectionInput(void); + +void sub_803CE6C(void); + +#endif // GUARD_PERSONALITY_TEST2_H \ No newline at end of file diff --git a/include/pokemon.h b/include/pokemon.h index 6d49ca3b..5cf9fd65 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -92,6 +92,7 @@ s32 sub_808E218(unkStruct_808E218_arg *, PokemonStruct1 *pokemon); extern PokemonStruct1 *GetPlayerPokemonStruct(void); extern void sub_808CFD0(u8 *, s16, u8 *, u8, u32 *, u16 *); extern u32 sub_808D1DC(u8 *); +extern PokemonStruct1 *sub_808D378(void); extern PokemonStruct1 *sub_808D3BC(void); extern PokemonStruct1 *sub_808D3F8(void); extern s32 sub_808D544(u32); diff --git a/include/pokemon_mail.h b/include/pokemon_mail.h index 8af868d7..d12f2517 100644 --- a/include/pokemon_mail.h +++ b/include/pokemon_mail.h @@ -1,15 +1,41 @@ #ifndef POKEMON_MAIL_H #define POKEMON_MAIL_H -struct PokemonMail +#include "structs/str_802C39C.h" + +// size: 0x8 +typedef struct PokemonMail { const u8 *headline; const u8 *text; -}; +} PokemonMail; + +// size: 0x8 +typedef struct unkStruct_80E9920 +{ + /* 0x0 */ s16 parentSpecies; + /* 0x2 */ s16 childSpecies; + /* 0x4 */ const u8 *text; +} unkStruct_80E9920; + +// size: 0xC +typedef struct unkStruct_80E9F8C +{ + /* 0x0 */ s16 speciesA; + /* 0x2 */ s16 speciesB; + /* 0x4 */ const u8 *headline; + /* 0x8 */ const u8 *text; +} unkStruct_80E9F8C; #define NUM_POKEMON_MAIL 56 +void CreateRescueDescription(unkStruct_802C39C *); +void CreateRescueTitle(unkStruct_802C39C *); const u8 *GetPokemonMailHeadline(u8 index); const u8 *GetPokemonMailText(u8 index); +void sub_803B6B0(s32 x, s32 y, u8 index, u32); +bool8 sub_803C0DC(s16 species); +bool8 sub_803C110(s16 index); + #endif // POKEMON_MAIL_H diff --git a/include/pokemon_mail_pre.h b/include/pokemon_mail_pre.h new file mode 100644 index 00000000..1d44fc59 --- /dev/null +++ b/include/pokemon_mail_pre.h @@ -0,0 +1,38 @@ +#ifndef POKEMON_MAIL_PRE_H +#define POKEMON_MAIL_PRE_H + +extern const s16 gUnknown_80E80E0[35]; +extern const s16 gUnknown_80E8126[33]; +extern const u8 gMankeyMission[]; +extern const u8 gSmeargleMission[]; +extern const u8 gMedichamMission[]; +extern const u8 gUnknown_80E8830[]; +extern const u8 gUnknown_80E8848[]; +extern const u8 gUnknown_80E885C[]; +extern const u8 gUnknown_80E886C[]; +extern const u8 gUnknown_80E8884[]; +extern const u8 gUnknown_80E888C[]; +extern const u8 gMankeyMissionDescription[]; +extern const u8 gSmeargleMissionDescription[]; +extern const u8 gMedichamMissionDescription[]; +extern const u8 gUnknown_80E8968[]; +extern const u8 gUnknown_80E89B0[]; +extern const u8 gUnknown_80E89FC[]; +extern const u8 gUnknown_80E8A40[]; +extern const u8 gUnknown_80E8A7C[]; +extern const u8 gUnknown_80E8AC8[]; +extern const u8 gUnknown_80E8AD0[]; +extern const u8 gUnknown_80E8AE0[]; +extern const u8 gUnknown_80E8AEC[]; +extern const u8 gUnknown_80E8AFC[]; +extern const u8 gUnknown_80E8B10[]; +extern const u8 gUnknown_80E8B20[]; +extern const u8 gUnknown_80E8B2C[]; +extern const u8 gUnknown_80E8B40[]; +extern const u8 gSpecialMissionText[]; +extern const u8 gPlaceText[]; +extern const u8 gDifficultyText[]; +extern const u8 gRewardText[]; +extern const u8 gUnknown_80E8B7C[]; + +#endif // POKEMON_MAIL_PRE_H \ No newline at end of file diff --git a/include/structs/str_pokemon.h b/include/structs/str_pokemon.h index b0902925..6a7eb6f6 100644 --- a/include/structs/str_pokemon.h +++ b/include/structs/str_pokemon.h @@ -164,4 +164,10 @@ typedef struct LevelData u16 fillA; } LevelData; +// Definitely wrong but need to figure out better structure later +struct FaceData +{ + u8 *unk0[5]; +}; + #endif // GUARD_STR_POKEMON_H \ No newline at end of file diff --git a/include/text2.h b/include/text2.h index 2b526dbe..c7fa2f8e 100644 --- a/include/text2.h +++ b/include/text2.h @@ -44,6 +44,7 @@ void sub_8007E20(u32, u32, u32, u32, u32, u8 *, u32); // text.s extern struct unkChar *GetCharacter(u32); extern void InitGraphics(void); +extern void sub_800836C(u32, u8 *, u32); extern void sub_800898C(void); extern void sub_80089AC(const UnkTextStruct2 *, UnkTextStruct2_sub *); extern void sub_8008C54(u32); diff --git a/ld_script.txt b/ld_script.txt index ba014be6..0cf48777 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -183,11 +183,11 @@ SECTIONS { src/debug_menu3.o(.text); src/debug_menu4.o(.text); asm/code_803B050.o(.text); - src/code_803B050.o(.text); src/pokemon_mail.o(.text); src/code_803C1B4.o(.text); asm/code_803C1D0.o(.text); - src/personality_test.o(.text); + src/personality_test1.o(.text); + src/personality_test2.o(.text); src/code_803D0D8.o(.text); asm/code_803D110.o(.text); src/code_8040094.o(.text); @@ -499,10 +499,10 @@ SECTIONS { src/debug_menu3.o(.rodata); src/debug_menu4.o(.rodata); data/data_80E7D40.o(.rodata); + src/pokemon_mail_pre.o(.rodata); src/pokemon_mail.o(.rodata); - src/code_803C1B4.o(.rodata); - data/personality_test.o(.rodata); - src/personality_test.o(.rodata); + src/personality_test1.o(.rodata); + src/personality_test2.o(.rodata); src/code_803D0D8.o(.rodata); data/data_80F4278.o(.rodata); src/dungeon_util.o(.rodata); diff --git a/src/code_802DE84.c b/src/code_802DE84.c index e3f476a9..d9a059d5 100644 --- a/src/code_802DE84.c +++ b/src/code_802DE84.c @@ -2,10 +2,10 @@ #include "globaldata.h" #include "code_80118A4.h" #include "code_802DE84.h" -#include "code_803B050.h" #include "input.h" #include "memory.h" #include "menu_input.h" +#include "pokemon_mail.h" #include "text1.h" #include "text2.h" diff --git a/src/code_803B050.c b/src/code_803B050.c deleted file mode 100644 index 41dabb4b..00000000 --- a/src/code_803B050.c +++ /dev/null @@ -1,484 +0,0 @@ -#include "global.h" -#include "code_8012A18_1.h" -#include "code_803B050.h" -#include "constants/colors.h" -#include "constants/wonder_mail.h" -#include "pokemon.h" -#include "pokemon_3.h" -#include "event_flag.h" -#include "exclusive_pokemon.h" -#include "code_8094F88.h" -#include "text_util.h" -#include "text2.h" -#include "code_800D090.h" -#include "menu_input.h" -#include "dungeon.h" - -// This file was originally 7 files. Check data_80E7D40.s - -extern s16 gUnknown_80E80E0[]; -extern s16 gUnknown_80E8126[]; -extern u8 gUnknown_80E888C[]; -extern u8 *gUnknown_80E8BCC[]; -extern u8 gMankeyMissionDescription[]; -extern u8 gSmeargleMissionDescription[]; -extern u8 gMedichamMissionDescription[]; -extern u8 gUnknown_202DE58[]; -extern u8 gUnknown_80E8968[]; -extern u8 gUnknown_80E89B0[]; -extern u8 gAvailablePokemonNames[]; -extern u8 gDifficultyText[]; -extern u8 gPlaceText[]; -extern u8 gUnknown_80E8AD0[]; -extern u8 gUnknown_80E8AE0[]; -extern u8 gUnknown_80E8AEC[]; -extern u8 gUnknown_80E8B10[]; -extern u8 gUnknown_80E8AFC[]; -extern u8 gUnknown_80E8B20[]; -extern u8 gUnknown_80E8B40[]; -extern u8 gUnknown_80E8B2C[]; -extern u8 *gUnknown_80EB220[]; -extern u8 gRewardText[]; -extern u8 *gMissionRewardText[]; -extern u8 gUnknown_80E8B7C[]; -extern u8 *gUnknown_80EB2F0[]; -extern u8 gUnknown_80E89FC[]; -extern u8 gUnknown_80E8A40[]; -extern u8 gUnknown_80E8A7C[]; -extern u8 *gUnknown_80E8DE4[]; -extern u8 *gUnknown_80E8FB0[]; -extern u8 *gUnknown_80E91D4[]; -extern u8 *gUnknown_80E9820[10]; -extern u8 *gUnknown_80EAEB8[]; -extern u8 gSpecialMissionText[]; -extern u8 *gUnknown_80EB198[]; -extern u8 *gUnknown_80EB3F8[]; -extern u8 *gUnknown_80EB72C[22]; -extern u8 gUnknown_80E8AC8[]; -extern u8 gUnknown_80E8884[]; -extern u8 gMankeyMission[]; -extern u8 gSmeargleMission[]; -extern u8 gMedichamMission[]; -extern u8 gUnknown_80E8830[]; -extern u8 gUnknown_80E8848[]; -extern u8 gUnknown_80E885C[]; -extern u8 gUnknown_80E8AC8[]; -extern u8 *gUnknown_80E910C[]; -extern u8 *gUnknown_80E8C98[]; -extern u8 gUnknown_80E886C[]; -extern u8 *gUnknown_80EAE5C[]; -extern unkStruct_80E9F8C gUnknown_80E9F8C[10]; -extern unkStruct_80E9920 gUnknown_80E9920[10]; -extern u8 *gUnknown_80E8B94[]; - -extern PokemonStruct1 *sub_808D378(void); - -extern void PrintDungeonLocationtoBuffer(u8 *, void *); -extern u8 sub_803C1D0(WonderMailSub *, u8); -extern u8 *sub_803C1F0(u8); -void sub_803D414(u8 *, WonderMail *); - -void sub_803B6B0(s32 x, s32 y, u8 index, u32 param_4) -{ - xxx_call_draw_string(x,y,gUnknown_80E8B94[index],param_4,0); -} - -void CreateRescueTitle(unkStruct_802C39C *param_1) -{ - u8 buf_1[200]; - u8 buf_2[20]; - u8 buf_3[100]; - u8 *monName; - u8 uVar1; - - sub_803B6B0(10,param_1->y,param_1->unk43,param_1->unk0[0]); - switch(param_1->mailTitleType) { - case 3: - xxx_call_draw_string(0x15,param_1->y,param_1->unk4C,param_1->unk0[0],0); - break; - case 0: - xxx_call_draw_string(0x15,param_1->y,gMankeyMission,param_1->unk0[0],0); - break; - case 1: - xxx_call_draw_string(0x15,param_1->y,gSmeargleMission,param_1->unk0[0],0); - break; - case 2: - xxx_call_draw_string(0x15,param_1->y,gMedichamMission,param_1->unk0[0],0); - break; - case 7: - PrintYellowDungeonNametoBuffer(buf_1, ¶m_1->unk8->dungeon); - xxx_call_draw_string(0x15,param_1->y,buf_1,param_1->unk0[0],0); - break; - case 12: - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80E8830,gUnknown_202DE58); - xxx_call_draw_string(0x15,param_1->y,buf_1,param_1->unk0[0],0); - break; - case 11: - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80E8848,gUnknown_202DE58); - xxx_call_draw_string(0x15,param_1->y,buf_1,param_1->unk0[0],0); - break; - case 4: - xxx_call_draw_string(0x15,param_1->y,gUnknown_80E885C,param_1->unk0[0],0); - break; - case 5: - xxx_call_draw_string(0x15,param_1->y,gUnknown_80E9F8C[param_1->unk0[1]].text1,param_1->unk0[0],0); - break; - case 6: - xxx_call_draw_string(0x15,param_1->y,gUnknown_80E886C,param_1->unk0[0],0); - break; - case 10: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80EAE5C[(bVar2 & 3)],gAvailablePokemonNames); - xxx_call_draw_string(0x15,param_1->y,buf_1,param_1->unk0[0],0); - break; - } - case 9: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E910C[(bVar2 % 0xA)],gAvailablePokemonNames); - xxx_call_draw_string(0x15,param_1->y,buf_1,param_1->unk0[0],0); - break; - } - default: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E8C98[(bVar2 % 0xf)],gAvailablePokemonNames); - xxx_call_draw_string(0x15,param_1->y,buf_1,param_1->unk0[0],0); - break; - } - } - - if (param_1->mailTitleType == 7) { - if (param_1->playerName == NULL) { - xxx_call_draw_string(0xb2 - sub_8016028(),param_1->y,GetMonSpecies(param_1->clientSpecies),param_1->unk0[0],0); - } - else { - sub_80922B4(buf_2,param_1->playerName,POKEMON_NAME_LENGTH); - xxx_call_draw_string(0xb2 - sub_8016028(),param_1->y,buf_2,param_1->unk0[0],0); - } - } - else { - if (param_1->mailMissionType == MISSION_TYPE_FIND_ITEM) { - PrintDungeonLocationtoBuffer(buf_3, param_1->unk8); - sprintfStatic(buf_1,gUnknown_80E8884,buf_3); // Near %s - } - else { - PrintDungeonLocationtoBuffer(buf_1, param_1->unk8); - } - xxx_call_draw_string(0x1d,param_1->y + 0xc,buf_1,param_1->unk0[0],0); - } - if (param_1->mailTitleType == 7) { - uVar1 = sub_803C1D0(param_1->unk8,0); - } - else { - uVar1 = sub_803C1D0(param_1->unk8,param_1->mail->missionType); - } - xxx_call_draw_string(0xb4,param_1->y,sub_803C1F0(uVar1),param_1->unk0[0],0); -} - -void CreateRescueDescription(unkStruct_802C39C *param_1) -{ - u8 uVar3; - int x; - int counter; - u32 color; - s32 y; - char buf_1 [300]; - char buf_2 [40]; - char buf_3 [20]; - char buf_4 [20]; - char buf_5 [100]; - u8 local_34 [24]; - u8 *monName; - - y = 0; - - xxx_call_draw_string(10,y,gUnknown_80E888C,param_1->unk0[0],0); - xxx_call_draw_string(0x6c,y,gUnknown_80E8BCC[param_1->mailStatus],param_1->unk0[0],0); - y += 0x10; - switch(param_1->mailDescriptionType) { - case 3: - xxx_call_draw_string(10,y,param_1->unk50,param_1->unk0[0],0); - break; - case 0: - xxx_call_draw_string(10,y,gMankeyMissionDescription,param_1->unk0[0],0); - break; - case 1: - xxx_call_draw_string(10,y,gSmeargleMissionDescription,param_1->unk0[0],0); - break; - case 2: - xxx_call_draw_string(10,y,gMedichamMissionDescription,param_1->unk0[0],0); - break; - case 4: - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80E8968,gUnknown_202DE58); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - break; - case 5: - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80E89B0,gUnknown_202DE58); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - break; - case 6: - xxx_call_draw_string(10,y,gUnknown_80E9920[param_1->unk0[1]].text,param_1->unk0[0],0); - break; - case 7: - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E9F8C[param_1->unk0[1]].text2,gAvailablePokemonNames,gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - break; - case 9: - xxx_call_draw_string(10,y,gUnknown_80E89FC,param_1->unk0[0],0); // This is a rescue through communication. Get a friend to help you! - break; - case 10: - xxx_call_draw_string(10,y,gUnknown_80E8A40,param_1->unk0[0],0); // This is a rescue through communication. Rescue a friend! - break; - case 11: - xxx_call_draw_string(10,y,gUnknown_80E8A7C,param_1->unk0[0],0); // This is a rescue through communication. Send your thanks to a friend! - break; - case 15: - case 16: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80EB3F8[(bVar2 % 0x16)],gUnknown_202DE58); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y += 0xC; - sprintfStatic(buf_1,gUnknown_80EB72C[(bVar3 % 0x16)],gUnknown_202DE58); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y -= 0xC; - break; - } - case 14: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80EAEB8[(bVar2 % 0x14)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y += 0xC; - sprintfStatic(buf_1,(gUnknown_80EB198)[(bVar3 & 3)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y -= 0xC; - break; - } - case 8: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80EB220[(bVar2 % 6)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y += 0xC; - sprintfStatic(buf_1,gUnknown_80EB2F0[(bVar3 % 0x6)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y -= 0xC; - break; - } - case 13: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E91D4[(bVar2 % 0x2d)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y += 0xC; - sprintfStatic(buf_1,gUnknown_80E9820[(bVar3 % 10)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y -= 0xC; - break; - } - default: { - u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; - u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; - monName = GetMonSpecies(param_1->clientSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E8DE4[(bVar2 % 0xd)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y += 0xC; - sprintfStatic(buf_1,gUnknown_80E8FB0[(bVar3 % 0xd)],gAvailablePokemonNames); - xxx_call_draw_string(10,y,buf_1,param_1->unk0[0],0); - y -= 0xC; - break; - } - } - y += 0x1C; - xxx_call_draw_string(10,y,gUnknown_80E8AC8,param_1->unk0[0],0); - if (param_1->playerName == NULL) { - xxx_call_draw_string(0x44,y,GetMonSpecies(param_1->clientSpecies),param_1->unk0[0],0); - } - else { - sub_80922B4(buf_3,param_1->playerName,POKEMON_NAME_LENGTH); - sub_808D930(buf_4,param_1->clientSpecies); - sprintfStatic(buf_2,gUnknown_80E8AD0,buf_3,buf_4); - xxx_call_draw_string(0x44,y,buf_2,param_1->unk0[0],0); - } - - y += 0xC; - xxx_call_draw_string(10,y,gUnknown_80E8AE0,param_1->unk0[0],0); - switch(param_1->mailMissionType) { - case MISSION_TYPE_FRIEND_RESCUE: - xxx_call_draw_string(0x44,y,gUnknown_80E8AEC,param_1->unk0[0],0); // Friend Rescue - break; - case MISSION_TYPE_DELIVER_ITEM: - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80E8AFC,gUnknown_202DE58); // Deliver #C4%s#R. - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case MISSION_TYPE_FIND_ITEM: - BufferItemName(gUnknown_202DE58,param_1->targetItem,NULL); - sprintfStatic(buf_1,gUnknown_80E8B10,gUnknown_202DE58); // Find #C4%s#R. - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case MISSION_TYPE_RESCUE_CLIENT: - xxx_call_draw_string(0x44,y,gUnknown_80E8B20,param_1->unk0[0],0); // Help me. - break; - case MISSION_TYPE_ESCORT_CLIENT: - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E8B2C,gAvailablePokemonNames); // Escort to #C6%s#R. - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case MISSION_TYPE_RESCUE_TARGET: - monName = GetMonSpecies(param_1->targetSpecies); - strcpy(gAvailablePokemonNames,monName); - sprintfStatic(buf_1,gUnknown_80E8B40,gAvailablePokemonNames); - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case MISSION_TYPE_SPECIAL_MISSION: - default: - xxx_call_draw_string(0x44,y,gSpecialMissionText,param_1->unk0[0],0); - break; - } - y += 0xC; - xxx_call_draw_string(10,y,gPlaceText,param_1->unk0[0],0); - - // NOTE: check with TRUE is needed to match - if (param_1->mailMissionType == MISSION_TYPE_FIND_ITEM) { - PrintDungeonLocationtoBuffer(buf_5,param_1->unk8); - sprintfStatic(buf_1,gUnknown_80E8884,buf_5); // Near %s - } - else { - PrintDungeonLocationtoBuffer(buf_1,param_1->unk8); - } - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - if (param_1->mailMissionType == MISSION_TYPE_FRIEND_RESCUE) { - uVar3 = sub_803C1D0(param_1->unk8, 0); - } - else { - uVar3 = sub_803C1D0(param_1->unk8,param_1->mail->missionType); - } - - y += 0xC; - xxx_call_draw_string(10,y,gDifficultyText,param_1->unk0[0],0); - xxx_call_draw_string(0x44,y,sub_803C1F0(uVar3),param_1->unk0[0],0); - y += 0xC; - xxx_call_draw_string(10,y,gRewardText,param_1->unk0[0],0); - - switch(param_1->rewardType) { - case 0: - sprintfStatic(buf_1,gMissionRewardText[param_1->rewardType],param_1->unk30); - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case 1: - sprintfStatic(buf_1,gMissionRewardText[param_1->rewardType],param_1->unk30); - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case 2: // Item - case 3: // Item + ? - BufferItemName(gUnknown_202DE58,param_1->rewardItem,NULL); - sprintfStatic(buf_1,gMissionRewardText[param_1->rewardType],gUnknown_202DE58); - xxx_call_draw_string(0x44,y,buf_1,param_1->unk0[0],0); - break; - case 4: // Friend Area - xxx_call_draw_string(0x44,y,gMissionRewardText[param_1->rewardType],param_1->unk0[0],0); - break; - default: - xxx_call_draw_string(0x44,y,gMissionRewardText[param_1->rewardType],param_1->unk0[0],0); - break; - } - - // Draw the Password - y += 0xC; - if (((2 < (u8)(param_1->mailDescriptionType - 9)) && (param_1->mailDescriptionType != 3)) && (param_1->mail->mailType == 5)) - { - xxx_call_draw_string(10,y,gUnknown_80E8B7C,param_1->unk0[0],0); // Wonder Mail: - sub_803D414(local_34,param_1->mail); - for(counter = 0; counter < 24; counter++) - { - if (counter == 12) { - y += 12; - } - color = COLOR_WHITE_2; - if (((3 < counter) && (color = COLOR_YELLOW, 7 < counter)) && ((color = COLOR_WHITE_2))) - { - if(counter > 15) - { - if(counter < 20) - { - color = COLOR_YELLOW; - } - } - - } - x = counter % 12; - sub_8012C60(x * 10 + 0x54,y,local_34[counter],color,param_1->unk0[0]); - } - } -} - -bool8 sub_803C0DC(s16 species) -{ - s32 baseSpecies; - s32 index; - - baseSpecies = GetBaseSpecies(species); - index = 0; - if (gUnknown_80E80E0[index] != MONSTER_NONE) - { - while(gUnknown_80E80E0[index] != MONSTER_NONE) { - if (gUnknown_80E80E0[index] == baseSpecies) { - return FALSE; - } - index++; - } - } - return TRUE; -} - -bool8 sub_803C110(s16 index) -{ - PokemonStruct1 *pokeStruct; - s16 *psVar5; - s16 *psVar6; - s32 species_s32; - - species_s32 = (s32)index; - if ((!sub_8098134(index)) || (index != GetBaseSpecies(index)) || (!sub_803C0DC(index))) { - return FALSE; - } - else { - if (!sub_80023E4(6)) { - psVar5 = &gUnknown_80E8126[0]; - if (*psVar5 != 0) { - psVar6 = &gUnknown_80E8126[0]; - do { - if (*psVar6 == species_s32) return FALSE; - psVar5++; - psVar6++; - } while (*psVar5 != MONSTER_NONE); - } - pokeStruct = GetPlayerPokemonStruct(); - if ((pokeStruct->speciesNum == species_s32) || - (pokeStruct = sub_808D378(), pokeStruct->speciesNum == species_s32)) return FALSE; - } - return TRUE; - } -} diff --git a/src/code_803C1B4.c b/src/code_803C1B4.c index acc46a63..9a2c89a9 100644 --- a/src/code_803C1B4.c +++ b/src/code_803C1B4.c @@ -1,5 +1,4 @@ #include "global.h" -#include "globaldata.h" #include "dungeon.h" u32 sub_803C1B4(DungeonLocation *dungeon, u8 r1) diff --git a/src/code_8094F88.c b/src/code_8094F88.c index a3f4d240..082100e4 100644 --- a/src/code_8094F88.c +++ b/src/code_8094F88.c @@ -1,4 +1,5 @@ #include "global.h" +#include "code_8094D28.h" #include "code_8094F88.h" #include "constants/wonder_mail.h" #include "dungeon.h" @@ -25,9 +26,6 @@ extern void RestoreDungeonLocation(struct unkStruct_8094924*, DungeonLocation*); extern void xxx_save_poke_sub_c_808F41C(struct unkStruct_8094924* a1, struct unkPokeSubStruct_C* unkC); extern void xxx_restore_poke_sub_c_808F410(struct unkStruct_8094924*, struct unkPokeSubStruct_C*); -extern s32 sub_8094E4C(void); -extern void sub_8094D28(s32); - void sub_80950BC(void) { gUnknown_203B480 = gUnknown_2038C88; diff --git a/src/code_80958E8.c b/src/code_80958E8.c index 0adeb981..7b8d7281 100644 --- a/src/code_80958E8.c +++ b/src/code_80958E8.c @@ -1,20 +1,20 @@ #include "global.h" -#include "memory.h" -#include "items.h" -#include "friend_area.h" +#include "code_803C1D0.h" +#include "code_8094F88.h" +#include "code_80958E8.h" +#include "code_80958E8_1.h" #include "constants/friend_area.h" #include "constants/wonder_mail.h" #include "dungeon.h" -#include "code_80958E8.h" -#include "code_80958E8_1.h" +#include "friend_area.h" +#include "items.h" +#include "mailbox_8095F8C.h" +#include "memory.h" #include "pokemon.h" #include "pokemon_3.h" -#include "code_8094F88.h" -#include "mailbox_8095F8C.h" +#include "pokemon_mail.h" extern bool8 sub_809017C(DungeonLocation *); -extern u8 sub_803C1D0(DungeonLocation *, u8); -extern bool8 sub_803C0DC(s16); extern void ResetPelipperBoardSlot(u8); extern bool8 ValidateWonderMail(WonderMail *); diff --git a/src/data/nature_description.h b/src/data/nature_description.h deleted file mode 100644 index 8ee5d45b..00000000 --- a/src/data/nature_description.h +++ /dev/null @@ -1,233 +0,0 @@ -ALIGNED(4) const char gQuirkyDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The quirky type.{EXTRA_MSG}" - "{CENTER_ALIGN}People consider you an eccentric\n" - "{CENTER_ALIGN}who does things at your own pace.{EXTRA_MSG}" - "{CENTER_ALIGN}You never break tempo.{EXTRA_MSG}" - "{CENTER_ALIGN}Your carefree nature makes you\n" - "{CENTER_ALIGN}attractive. But you also happen\n" - "{CENTER_ALIGN}to be somewhat childish...{EXTRA_MSG}" - "{CENTER_ALIGN}You are fickle and cause problems for the\n" - "{CENTER_ALIGN}people who have to go along with you.{EXTRA_MSG}" - "{CENTER_ALIGN}Maybe people are even upset\n" - "{CENTER_ALIGN}with you for being so fickle?{EXTRA_MSG}" - "{CENTER_ALIGN}If you realize how selfishly\n" - "{CENTER_ALIGN}you{APOSTROPHE}re behaving{COMMA} try to think\n" - "{CENTER_ALIGN}before you do anything rash.{EXTRA_MSG}" - "{CENTER_ALIGN}A quirky person like you should be..."); - -ALIGNED(4) const char gLonelyDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The lonely type.{EXTRA_MSG}" - "{CENTER_ALIGN}You always act cheerful and\n" - "{CENTER_ALIGN}jocular around other people.{EXTRA_MSG}" - "{CENTER_ALIGN}But that{APOSTROPHE}s only because\n" - "{CENTER_ALIGN}you are with other people.{EXTRA_MSG}" - "{CENTER_ALIGN}However{COMMA} when you get alone...{EXTRA_MSG}" - "{CENTER_ALIGN}Do you find yourself\n" - "{CENTER_ALIGN}feeling oddly depressed?{EXTRA_MSG}" - "{CENTER_ALIGN}That{APOSTROPHE}s why you always\n" - "{CENTER_ALIGN}want to be with others.{EXTRA_MSG}" - "{CENTER_ALIGN}But if you go around feeling\n" - "{CENTER_ALIGN}depressed too much...{EXTRA_MSG}" - "{CENTER_ALIGN}Your nutritional balance goes out\n" - "{CENTER_ALIGN}of wack. Eat more vegetables!{EXTRA_MSG}" - "{CENTER_ALIGN}However...{WAIT_PRESS}\n" - "{CENTER_ALIGN}It{APOSTROPHE}s not a bad thing\n" - "{CENTER_ALIGN}to feel lonely.{EXTRA_MSG}" - "{CENTER_ALIGN}You know what it{APOSTROPHE}s like when you aren{APOSTROPHE}t\n" - "{CENTER_ALIGN}alone{COMMA} so that{APOSTROPHE}s why you feel lonesome.{EXTRA_MSG}" - "{CENTER_ALIGN}And that{APOSTROPHE}s why you aren{APOSTROPHE}t really alone.{EXTRA_MSG}" - "{CENTER_ALIGN}A lonely person like you should be..."); - -ALIGNED(4) const char gRelaxedDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The relaxed type.{EXTRA_MSG}" - "{CENTER_ALIGN}Do you occasionally\n" - "{CENTER_ALIGN}zone out and miss a bus?{EXTRA_MSG}" - "{CENTER_ALIGN}Or do you find yourself dozing off?{EXTRA_MSG}" - "{CENTER_ALIGN}Or is your reaction time\n" - "{CENTER_ALIGN}a little slower than others?{EXTRA_MSG}" - "{CENTER_ALIGN}But that{APOSTROPHE}s not necessarily\n" - "{CENTER_ALIGN}a bad thing.{EXTRA_MSG}" - "{CENTER_ALIGN}You can do things at your own\n" - "{CENTER_ALIGN}tempo without feeling pressured.{EXTRA_MSG}" - "{CENTER_ALIGN}You can live in a relaxed and\n" - "{CENTER_ALIGN}unhurried manner without worries.{EXTRA_MSG}" - "{CENTER_ALIGN}I think that{APOSTROPHE}s a happy\n" - "{CENTER_ALIGN}lifestyle to be envied{COMMA} even.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re also surprisingly popular.{EXTRA_MSG}" - "{CENTER_ALIGN}The way you vacantly stare\n" - "{CENTER_ALIGN}off into the distance...{EXTRA_MSG}" - "{CENTER_ALIGN}It should make that someone\n" - "{CENTER_ALIGN}special{APOSTROPHE}s pulse race.{EXTRA_MSG}" - "{CENTER_ALIGN}A relaxed person like you should be..."); - -ALIGNED(4) const char gCalmDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The calm type.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re capable of giving advice\n" - "{CENTER_ALIGN}to friends with worries.{EXTRA_MSG}" - "{CENTER_ALIGN}You don{APOSTROPHE}t like to fight.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re a warm{COMMA} kindhearted\n" - "{CENTER_ALIGN}person who cares.{EXTRA_MSG}" - "{CENTER_ALIGN}You must have many friends\n" - "{CENTER_ALIGN}who look up to you.{EXTRA_MSG}" - "{CENTER_ALIGN}However...{WAIT_PRESS}\n" - "{CENTER_ALIGN}You may also be somewhat gullible...{EXTRA_MSG}" - "{CENTER_ALIGN}As well as a little careless...{EXTRA_MSG}" - "{CENTER_ALIGN}And even a little sloppy.{EXTRA_MSG}" - "{CENTER_ALIGN}You might want to keep\n" - "{CENTER_ALIGN}those points in mind.{EXTRA_MSG}" - "{CENTER_ALIGN}A calm person like you should be..."); - -ALIGNED(4) const char gSassyDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The sassy type.{EXTRA_MSG}" - "{CENTER_ALIGN}You tend to be somewhat cynical.{EXTRA_MSG}" - "{CENTER_ALIGN}Despite that{COMMA} there is something\n" - "{CENTER_ALIGN}appealing and lovable about you.{EXTRA_MSG}" - "{CENTER_ALIGN}But do you occasionally say something\n" - "{CENTER_ALIGN}arrogant that angers others?{EXTRA_MSG}" - "{CENTER_ALIGN}Do you make that mistake?{EXTRA_MSG}" - "{CENTER_ALIGN}Or have people called you\n" - "{CENTER_ALIGN}conceited{COMMA} vain{COMMA} or selfish?{EXTRA_MSG}" - "{CENTER_ALIGN}Have people said that about you?{EXTRA_MSG}" - "{CENTER_ALIGN}Huh?{WAIT_PRESS} You{APOSTROPHE}re telling me to get lost?{EXTRA_MSG}" - "{CENTER_ALIGN}Why{COMMA} you... Come here and say that!{WAIT_PRESS}\n" - "{CENTER_ALIGN}......Gasp!{EXTRA_MSG}" - "{CENTER_ALIGN}...I{APOSTROPHE}m sorry.\n" - "{CENTER_ALIGN}I let my feelings run away.\n" - "{CENTER_ALIGN}I truly regret this{COMMA} really.{EXTRA_MSG}" - "{CENTER_ALIGN}Anyway{COMMA} your cool and aloof\n" - "{CENTER_ALIGN}attitude is what defines you.{EXTRA_MSG}" - "{CENTER_ALIGN}It makes you exasperating and\n" - "{CENTER_ALIGN}appealing at the same time.{EXTRA_MSG}" - "{CENTER_ALIGN}A sassy person like you should be..."); - -ALIGNED(4) const char gHastyDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The hasty type.{EXTRA_MSG}" - "{CENTER_ALIGN}You like to take charge\n" - "{CENTER_ALIGN}and get things done.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re a real go-getter.{EXTRA_MSG}" - "{CENTER_ALIGN}But are you also stressed out?{EXTRA_MSG}" - "{CENTER_ALIGN}You get irritated when your\n" - "{CENTER_ALIGN}friends don{APOSTROPHE}t show up on time.{EXTRA_MSG}" - "{CENTER_ALIGN}You get frustrated when things\n" - "{CENTER_ALIGN}don{APOSTROPHE}t turn out the way you expect.{EXTRA_MSG}" - "{CENTER_ALIGN}Maybe you jab the elevator button\n" - "{CENTER_ALIGN}if the elevator is slow to arrive.{EXTRA_MSG}" - "{CENTER_ALIGN}...Maybe you{APOSTROPHE}re already jabbing\n" - "{CENTER_ALIGN}the A Button repeatedly now.{EXTRA_MSG}" - "{CENTER_ALIGN}Beware--getting too easily irritated\n" - "{CENTER_ALIGN}just isn{APOSTROPHE}t good for your well-being.{EXTRA_MSG}" - "{CENTER_ALIGN}A hasty person like you should be..."); - -ALIGNED(4) const char gTimidDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The timid type.{EXTRA_MSG}" - "{CENTER_ALIGN}You may find it hard to go\n" - "{CENTER_ALIGN}to the washroom at night.{EXTRA_MSG}" - "{CENTER_ALIGN}You may also find it too frightening\n" - "{CENTER_ALIGN}to go back to school to get something\n" - "{CENTER_ALIGN}you left behind in class.{EXTRA_MSG}" - "{CENTER_ALIGN}If you{APOSTROPHE}re ever walking on a dark\n" - "{CENTER_ALIGN}street at night{COMMA} you probably turn\n" - "{CENTER_ALIGN}around often to check behind you.{EXTRA_MSG}" - "{CENTER_ALIGN}But your timid nature is\n" - "{CENTER_ALIGN}also your good point!{EXTRA_MSG}" - "{CENTER_ALIGN}Because those who know fear are\n" - "{CENTER_ALIGN}those who know true courage.{EXTRA_MSG}" - "{CENTER_ALIGN}A timid person like you should be..."); - -ALIGNED(4) const char gNaiveDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The naive type.{EXTRA_MSG}" - "{CENTER_ALIGN}You are highly curious{COMMA}\n" - "{CENTER_ALIGN}and you love rare things.{EXTRA_MSG}" - "{CENTER_ALIGN}Your cheerful and carefree\n" - "{CENTER_ALIGN}attitude should make things fun\n" - "{CENTER_ALIGN}for the people around you.{EXTRA_MSG}" - "{CENTER_ALIGN}But you do have one flaw.\n" - "{CENTER_ALIGN}You can be childish.{EXTRA_MSG}" - "{CENTER_ALIGN}You can never sit still.\n" - "{CENTER_ALIGN}You{APOSTROPHE}re always on the move.{EXTRA_MSG}" - "{CENTER_ALIGN}You can also be selfish{COMMA}\n" - "{CENTER_ALIGN}so you should watch yourself.{EXTRA_MSG}" - "{CENTER_ALIGN}A naive person like you should be..."); - -ALIGNED(4) const char gImpishDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The impish type.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re playful{COMMA} cheerful{COMMA}\n" - "{CENTER_ALIGN}and you love pranks.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re also kindhearted.{EXTRA_MSG}" - "{CENTER_ALIGN}That{APOSTROPHE}s why the people around\n" - "{CENTER_ALIGN}you find you so irresistible.{EXTRA_MSG}" - "{CENTER_ALIGN}You must be the most\n" - "{CENTER_ALIGN}popular person around!{EXTRA_MSG}" - "{CENTER_ALIGN}Oh?{WAIT_PRESS} You{APOSTROPHE}re not that popular?{WAIT_PRESS}\n" - "{CENTER_ALIGN}You{APOSTROPHE}re either being modest...\n" - "{CENTER_ALIGN}or you just don{APOSTROPHE}t notice it.{EXTRA_MSG}" - "{CENTER_ALIGN}I bet people are just too shy\n" - "{CENTER_ALIGN}to let their feelings be known.{EXTRA_MSG}" - "{CENTER_ALIGN}There{APOSTROPHE}s someone out there who{APOSTROPHE}s\n" - "{CENTER_ALIGN}afraid to declare their love for you!{EXTRA_MSG}" - "{CENTER_ALIGN}An impish person like you should be..."); - -ALIGNED(4) const char gJollyDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The jolly type.{EXTRA_MSG}" - "{CENTER_ALIGN}Always laughing and smiling{COMMA}\n" - "{CENTER_ALIGN}you uplift everyone around you.{EXTRA_MSG}" - "{CENTER_ALIGN}You love jokes!{EXTRA_MSG}" - "{CENTER_ALIGN}You have lots of friends{COMMA} and\n" - "{CENTER_ALIGN}you{APOSTROPHE}re popular wherever you go.{EXTRA_MSG}" - "{CENTER_ALIGN}But sometimes you get carried away\n" - "{CENTER_ALIGN}and say things that get you in trouble.{EXTRA_MSG}" - "{CENTER_ALIGN}You should learn to think before\n" - "{CENTER_ALIGN}saying or doing anything.{EXTRA_MSG}" - "{CENTER_ALIGN}A jolly person like you should be..."); - -ALIGNED(4) const char gBraveDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The brave type.{EXTRA_MSG}" - "{CENTER_ALIGN}You have a strong sense of justice.{WAIT_PRESS}\n" - "{CENTER_ALIGN}You hate evil.{WAIT_PRESS}\n" - "{CENTER_ALIGN}You will take on any opponent.{EXTRA_MSG}" - "{CENTER_ALIGN}You are truly a hero!{EXTRA_MSG}" - "{CENTER_ALIGN}Go forth!{EXTRA_MSG}" - "{CENTER_ALIGN}For justice...{WAIT_PRESS}\n" - "{CENTER_ALIGN}For peace on earth...{WAIT_PRESS}\n" - "{CENTER_ALIGN}Fight the forces of evil!{EXTRA_MSG}" - "{CENTER_ALIGN}......{WAIT_PRESS}If I{APOSTROPHE}m wrong...{WAIT_PRESS}\n" - "{CENTER_ALIGN}Work at becoming a true hero!{EXTRA_MSG}" - "{CENTER_ALIGN}A brave person like you should be..."); - -ALIGNED(4) const char gDocileDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The docile type.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re very kindhearted.{WAIT_PRESS}\n" - "{CENTER_ALIGN}Very helpful.{WAIT_PRESS}\n" - "{CENTER_ALIGN}You can make friends with anyone.{EXTRA_MSG}" - "{CENTER_ALIGN}You{APOSTROPHE}re a wonderful person.{EXTRA_MSG}" - "{CENTER_ALIGN}......{WAIT_PRESS}Is that going overboard?{WAIT_PRESS}\n" - "{CENTER_ALIGN}I don{APOSTROPHE}t think so.{EXTRA_MSG}" - "{CENTER_ALIGN}You yourself should be\n" - "{CENTER_ALIGN}the best judge of that.{EXTRA_MSG}" - "{CENTER_ALIGN}A docile person like you should be..."); - - -ALIGNED(4) const char gHardyDescription[] = _( - "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" - "{CENTER_ALIGN}The hardy type.{EXTRA_MSG}" - "{CENTER_ALIGN}You do your homework diligently{COMMA}\n" - "{CENTER_ALIGN}and you know to eat properly.{EXTRA_MSG}" - "{CENTER_ALIGN}You have strong willpower that lets\n" - "{CENTER_ALIGN}you complete tasks{COMMA} however tough.{EXTRA_MSG}" - "{CENTER_ALIGN}But{COMMA} you can also be stubborn to the\n" - "{CENTER_ALIGN}point of even feuding with friends...{EXTRA_MSG}" - "{CENTER_ALIGN}Nothing will go right for you when you{APOSTROPHE}re\n" - "{CENTER_ALIGN}irritated{COMMA} so learn to laugh it off.{EXTRA_MSG}" - "{CENTER_ALIGN}A hardy person like you should be..."); diff --git a/src/data/personality_test1.h b/src/data/personality_test1.h new file mode 100644 index 00000000..3fe9dc1e --- /dev/null +++ b/src/data/personality_test1.h @@ -0,0 +1,1509 @@ +ALIGNED(4) static const u8 HardyQuest1Points[48] = +{ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem HardyQuest1Answers[] = +{ + {"Study hard.", 0}, + {"At the last second.", 1}, + {"Ignore it and play.", 2}, + {NULL, -1}, +}; + +static const u8 HardyQuest1Question[]; +static const PersonalityQuestion HardyQuest1 = { HardyQuest1Question, HardyQuest1Answers, HardyQuest1Points }; +ALIGNED(4) static const u8 HardyQuest1Question[] = _( + "A test is coming up.\n" + "How do you study for it?"); + +ALIGNED(4) static const u8 HardyQuest2Points[32] = +{ + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem HardyQuest2Answers[] = +{ + {"Yes.", 0}, + {"No. ", 1}, + {NULL, -1}, +}; + +static const u8 HardyQuest2Question[]; +static const PersonalityQuestion HardyQuest2 = { HardyQuest2Question, HardyQuest2Answers, HardyQuest2Points }; +ALIGNED(4) static const u8 HardyQuest2Question[] = _("Can you focus on something you like?"); + +ALIGNED(4) static const u8 HardyQuest3Points[32] = +{ + 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem HardyQuest3Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 HardyQuest3Question[]; +static const PersonalityQuestion HardyQuest3 = { HardyQuest3Question, HardyQuest3Answers, HardyQuest3Points }; +ALIGNED(4) static const u8 HardyQuest3Question[] = _( + "When the going gets tough{COMMA} do you get\n" + "going?"); + +ALIGNED(4) static const u8 HardyQuest4Points[48] = +{ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem HardyQuest4Answers[] = +{ + {"Full.", 0}, + {"Half.", 1}, + {"A little.", 2}, + {NULL, -1}, +}; + +static const u8 HardyQuest4Question[]; +static const PersonalityQuestion HardyQuest4 = { HardyQuest4Question, HardyQuest4Answers, HardyQuest4Points }; +ALIGNED(4) static const u8 HardyQuest4Question[] = _( + "There is a bucket. If you put\n" + "water in it{COMMA} how high will you fill it?"); + +ALIGNED(4) static const u8 DocileQuest1Points[32] = +{ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem DocileQuest1Answers[] = +{ + {"Big box.", 0}, + {"Small box.", 1}, + {NULL, -1}, +}; + +static const u8 DocileQuest1Question[]; +static const PersonalityQuestion DocileQuest1 = { DocileQuest1Question, DocileQuest1Answers, DocileQuest1Points }; +ALIGNED(4) static const u8 DocileQuest1Question[] = _( + "You are offered a choice of two gifts.\n" + "Which one will you take?"); + +ALIGNED(4) static const u8 DocileQuest2Points[32] = +{ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem DocileQuest2Answers[] = +{ + {"Open a window right away.", 0}, + {"Take a sniff first.", 1}, + {NULL, -1}, +}; + +static const u8 DocileQuest2Question[]; +static const PersonalityQuestion DocileQuest2 = { DocileQuest2Question, DocileQuest2Answers, DocileQuest2Points }; +ALIGNED(4) static const u8 DocileQuest2Question[] = _( + "You broke a rotten egg in your room!\n" + "What will you do?"); + +ALIGNED(4) static const u8 DocileQuest3Points[48] = +{ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const u8 DocileQuest3_Regular[]; +static const u8 DocileQuest3_Joke[]; +static const u8 DocileQuest3_Cool[]; +static const MenuItem DocileQuest3Answers[] = +{ + {DocileQuest3_Regular, 0}, + {DocileQuest3_Joke, 1}, + {DocileQuest3_Cool, 2}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 DocileQuest3_Cool[] = _("Say thanks{COMMA} but be cool."); +ALIGNED(4) static const u8 DocileQuest3_Joke[] = _("Say thanks with a joke."); +ALIGNED(4) static const u8 DocileQuest3_Regular[] = _("Say thank you regularly."); + +static const u8 DocileQuest3Question[]; +static const PersonalityQuestion DocileQuest3 = { DocileQuest3Question, DocileQuest3Answers, DocileQuest3Points }; +ALIGNED(4) static const u8 DocileQuest3Question[] = _( + "A friend brought over something you{APOSTROPHE}d\n" + "forgotten.{WAIT_PRESS}\n" + "How do you thank your friend?"); + +ALIGNED(4) static const u8 DocileQuest4Points[48] = +{ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem DocileQuest4Answers[] = +{ + {"Turn it in to the police!", 0}, + {"Yay! Yay!", 1}, + {"Is anyone watching...?", 2}, + {NULL, -1}, +}; + +static const u8 DocileQuest4Question[]; +static const PersonalityQuestion DocileQuest4 = { DocileQuest4Question, DocileQuest4Answers, DocileQuest4Points }; +ALIGNED(4) static const u8 DocileQuest4Question[] = _("There is a wallet at the side of a road."); + +ALIGNED(4) static const u8 BraveQuest1Points[32] = +{ + 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem BraveQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 BraveQuest1Question[]; +static const PersonalityQuestion BraveQuest1 = { BraveQuest1Question, BraveQuest1Answers, BraveQuest1Points }; +ALIGNED(4) static const u8 BraveQuest1Question[] = _( + "You{APOSTROPHE}re going bungee jumping for the first\n" + "time.{EXTRA_MSG}Since it{APOSTROPHE}s scary{COMMA} you decide to test the\n" + "jump with a doll...{WAIT_PRESS}\n" + "And the bungee cord snaps!{EXTRA_MSG}" + "Will you still try to make a jump anyway?"); + +ALIGNED(4) static const u8 BraveQuest2APoints[48] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem BraveQuest2AAnswers[] = +{ + {"Fight.", 99}, + {"Run.", 1}, + {"Ignore it.", 2}, + {NULL, -1}, +}; + +static const u8 BraveQuest2AQuestion[]; +static const PersonalityQuestion BraveQuest2A = { BraveQuest2AQuestion, BraveQuest2AAnswers, BraveQuest2APoints }; +ALIGNED(4) static const u8 BraveQuest2AQuestion[] = _( + "There is an alien invasion!\n" + "What will you do?"); + +ALIGNED(4) static const u8 BraveQuest2BPoints[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem BraveQuest2BAnswers[] = +{ + {"Rule with the aliens.", 0}, + {"Refuse.", 1}, + {NULL, -1}, +}; + +static const u8 BraveQuest2BQuestion[]; +static const PersonalityQuestion BraveQuest2B = { BraveQuest2BQuestion, BraveQuest2BAnswers, BraveQuest2BPoints }; +ALIGNED(4) static const u8 BraveQuest2BQuestion[] = _( + "You valiantly fight the aliens...{WAIT_PRESS}\n" + "But{COMMA} you are defeated...{EXTRA_MSG}An alien says to you...{EXTRA_MSG}{QUOTE_START}YOU HAVE IMPRESSED US.\n" + "IT WAS A PLEASURE TO SEE.{EXTRA_MSG}JOIN US{COMMA} AND TOGETHER WE SHALL\n" + "RULE THE WORLD.{QUOTE_END}{WAIT_PRESS}\n" + "What will you do?"); + +ALIGNED(4) static const u8 BraveQuest3Points[32] = +{ + 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem BraveQuest3Answers[] = +{ + {"Yank open the door.", 0}, + {"Scream in unison.", 1}, + {NULL, -1}, +}; + +static const u8 BraveQuest3Question[]; +static const PersonalityQuestion BraveQuest3 = { BraveQuest3Question, BraveQuest3Answers, BraveQuest3Points }; +ALIGNED(4) static const u8 BraveQuest3Question[] = _( + "There is a scream from behind a door!{WAIT_PRESS}\n" + "How will you react?"); + +ALIGNED(4) static const u8 BraveQuest4Points[64] = +{ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const u8 BraveQuest4_Hesitation[]; +static const u8 BraveQuest4_Scared[]; +static const u8 BraveQuest4_Police[]; +static const u8 BraveQuest4_Nothing[]; +static const MenuItem BraveQuest4Answers[] = +{ + {BraveQuest4_Hesitation, 0}, + {BraveQuest4_Scared, 1}, + {BraveQuest4_Police, 2}, + {BraveQuest4_Nothing, 3}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 BraveQuest4_Nothing[] = _("Do nothing out of fear."); +ALIGNED(4) static const u8 BraveQuest4_Police[] = _("Call the police."); +ALIGNED(4) static const u8 BraveQuest4_Scared[] = _("Help{COMMA} even if scared."); +ALIGNED(4) static const u8 BraveQuest4_Hesitation[] = _("Help without hesitation."); + +static const u8 BraveQuest4Question[]; +static const PersonalityQuestion BraveQuest4 = { BraveQuest4Question, BraveQuest4Answers, BraveQuest4Points }; +ALIGNED(4) static const u8 BraveQuest4Question[] = _( + "A delinquent is hassling a girl on\n" + "a busy city street!{WAIT_PRESS}\n" + "What will you do?"); + +ALIGNED(4) static const u8 JollyQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 +}; + +static const MenuItem JollyQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 JollyQuest1Question[]; +static const PersonalityQuestion JollyQuest1 = { JollyQuest1Question, JollyQuest1Answers, JollyQuest1Points }; +ALIGNED(4) static const u8 JollyQuest1Question[] = _("Are you a cheerful personality?"); + +ALIGNED(4) static const u8 JollyQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem JollyQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 JollyQuest2Question[]; +static const PersonalityQuestion JollyQuest2 = { JollyQuest2Question, JollyQuest2Answers, JollyQuest2Points }; +ALIGNED(4) static const u8 JollyQuest2Question[] = _( + "Do you like to noisily enjoy yourself\n" + "with others?"); + +ALIGNED(4) static const u8 JollyQuest3Points[48] = +{ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem JollyQuest3Answers[] = +{ + {"The beach!", 0}, + {"Spas.", 1}, + {"Anywhere.", 2}, + {NULL, -1}, +}; + +static const u8 JollyQuest3Question[]; +static const PersonalityQuestion JollyQuest3 = { JollyQuest3Question, JollyQuest3Answers, JollyQuest3Points }; +ALIGNED(4) static const u8 JollyQuest3Question[] = _( + "It{APOSTROPHE}s the summer holidays!\n" + "Where would you like to go?"); + +ALIGNED(4) static const u8 JollyQuest4Points[48] = +{ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const u8 JollyQuest4_Funny[]; +static const u8 JollyQuest4_Again[]; +static const u8 JollyQuest4_Go[]; +static const MenuItem JollyQuest4Answers[] = +{ + {JollyQuest4_Funny, 0}, + {JollyQuest4_Again, 1}, + {JollyQuest4_Go, 2}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 JollyQuest4_Go[] = _("Right... Well{COMMA} I gotta go."); +ALIGNED(4) static const u8 JollyQuest4_Again[] = _("Um... Could you say that again?"); +ALIGNED(4) static const u8 JollyQuest4_Funny[] = _("Haha! Yes. Very funny!"); + +static const u8 JollyQuest4Question[]; +static const PersonalityQuestion JollyQuest4 = { JollyQuest4Question, JollyQuest4Answers, JollyQuest4Points }; +ALIGNED(4) static const u8 JollyQuest4Question[] = _( + "A foreign person has started up a\n" + "conversation with you.{EXTRA_MSG}" + "To be honest{COMMA} you don{APOSTROPHE}t have a clue what\n" + "this fellow is saying.{WAIT_PRESS}\n" + "How do you reply?"); + +ALIGNED(4) static const u8 ImpishQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem ImpishQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 ImpishQuest1Question[]; +static const PersonalityQuestion ImpishQuest1 = { ImpishQuest1Question, ImpishQuest1Answers, ImpishQuest1Points }; +ALIGNED(4) static const u8 ImpishQuest1Question[] = _("Have you ever made a pitfall trap?"); + +ALIGNED(4) static const u8 ImpishQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem ImpishQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 ImpishQuest2Question[]; +static const PersonalityQuestion ImpishQuest2 = { ImpishQuest2Question, ImpishQuest2Answers, ImpishQuest2Points }; +ALIGNED(4) static const u8 ImpishQuest2Question[] = _("Do you like pranks?"); + +ALIGNED(4) static const u8 ImpishQuest3Points[32] = +{ + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem ImpishQuest3Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 ImpishQuest3Question[]; +static const PersonalityQuestion ImpishQuest3 = { ImpishQuest3Question, ImpishQuest3Answers, ImpishQuest3Points }; +ALIGNED(4) static const u8 ImpishQuest3Question[] = _("Are there many things that you would like\nto do?"); + +ALIGNED(4) static const u8 ImpishQuest4Points[48] = +{ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem ImpishQuest4Answers[] = +{ + {"Face up to the bully.", 0}, + {"Caution the bully from afar.", 1}, + {"Heckle the bully from behind.", 2}, + {NULL, -1}, +}; + +static const u8 ImpishQuest4Question[]; +static const PersonalityQuestion ImpishQuest4 = { ImpishQuest4Question, ImpishQuest4Answers, ImpishQuest4Points }; +ALIGNED(4) static const u8 ImpishQuest4Question[] = _( + "Your friend is being bullied!\n" + "What do you do?"); + +ALIGNED(4) static const u8 NaiveQuest1Points[48] = +{ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem NaiveQuest1Answers[] = +{ + {"Love them!", 0}, + {"A little.", 1}, + {"Spare me.", 2}, + {NULL, -1}, +}; + +static const u8 NaiveQuest1Question[]; +static const PersonalityQuestion NaiveQuest1 = { NaiveQuest1Question, NaiveQuest1Answers, NaiveQuest1Points }; +ALIGNED(4) static const u8 NaiveQuest1Question[] = _("Do you like groan-inducing puns?"); + +ALIGNED(4) static const u8 NaiveQuest2Points[32] = +{ + 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem NaiveQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 NaiveQuest2Question[]; +static const PersonalityQuestion NaiveQuest2 = { NaiveQuest2Question, NaiveQuest2Answers, NaiveQuest2Points }; +ALIGNED(4) static const u8 NaiveQuest2Question[] = _("Do you tend to laugh a lot?"); + +ALIGNED(4) static const u8 NaiveQuest3Points[32] = +{ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem NaiveQuest3Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 NaiveQuest3Question[]; +static const PersonalityQuestion NaiveQuest3 = { NaiveQuest3Question, NaiveQuest3Answers, NaiveQuest3Points }; +ALIGNED(4) static const u8 NaiveQuest3Question[] = _("Do others often call you childish?"); + +ALIGNED(4) static const u8 NaiveQuest4Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem NaiveQuest4Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 NaiveQuest4Question[]; +static const PersonalityQuestion NaiveQuest4 = { NaiveQuest4Question, NaiveQuest4Answers, NaiveQuest4Points }; +ALIGNED(4) static const u8 NaiveQuest4Question[] = _( + "Do you like to imagine things for your\n" + "amusement?"); + +ALIGNED(4) static const u8 TimidQuest1Points[48] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem TimidQuest1Answers[] = +{ + {"Scream and run.", 0}, + {"Close the lid without a word.", 1}, + {"Shake hands with it.", 2}, + {NULL, -1}, +}; + +static const u8 TimidQuest1Question[]; +static const PersonalityQuestion TimidQuest1 = { TimidQuest1Question, TimidQuest1Answers, TimidQuest1Points }; +ALIGNED(4) static const u8 TimidQuest1Question[] = _( + "A human hand extends out of a toilet!\n" + "What would you do?"); + +ALIGNED(4) static const u8 TimidQuest2Points[80] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem TimidQuest2Answers[] = +{ + {"Thumb.", 0}, + {"Index finger.", 1}, + {"Middle finger.", 2}, + {"Ring finger.", 3}, + {"Little finger.", 4}, + {NULL, -1}, +}; + +static const u8 TimidQuest2Question[]; +static const PersonalityQuestion TimidQuest2 = { TimidQuest2Question, TimidQuest2Answers, TimidQuest2Points }; +ALIGNED(4) static const u8 TimidQuest2Question[] = _( + "Grab any digit on your left hand with your\n" + "right hand.{WAIT_PRESS}\n" + "Which digit did you grab?"); + +ALIGNED(4) static const u8 TimidQuest3Points[48] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 +}; + +static const MenuItem TimidQuest3Answers[] = +{ + {"Kick the door.", 0}, + {"Cry.", 1}, + {"Clean it.", 2}, + {NULL, -1}, +}; + +static const u8 TimidQuest3Question[]; +static const PersonalityQuestion TimidQuest3 = { TimidQuest3Question, TimidQuest3Answers, TimidQuest3Points }; +ALIGNED(4) static const u8 TimidQuest3Question[] = _( + "You are suddenly locked inside a\n" + "pitch-black room!{WAIT_PRESS}\n" + "What do you do?"); + +ALIGNED(4) static const u8 TimidQuest4Points[48] = +{ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem TimidQuest4Answers[] = +{ + {"No problem!", 0}, + {"Uh... N-no...", 1}, + {"With someone I like.", 2}, + {NULL, -1}, +}; + +static const u8 TimidQuest4Question[]; +static const PersonalityQuestion TimidQuest4 = { TimidQuest4Question, TimidQuest4Answers, TimidQuest4Points }; +ALIGNED(4) static const u8 TimidQuest4Question[] = _("Can you go into a haunted house?"); + +ALIGNED(4) static const u8 HastyQuest1Points[48] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem HastyQuest1Answers[] = +{ + {"Open it now.", 0}, + {"Open it later.", 1}, + {"Get someone to open it.", 2}, + {NULL, -1}, +}; + +static const u8 HastyQuest1Question[]; +static const PersonalityQuestion HastyQuest1 = { HastyQuest1Question, HastyQuest1Answers, HastyQuest1Points }; +ALIGNED(4) static const u8 HastyQuest1Question[] = _( + "You receive a gift!{WAIT_PRESS}\n" + "But you don{APOSTROPHE}t know what{APOSTROPHE}s in it.{WAIT_PRESS}\n" + "You{APOSTROPHE}re curious{COMMA} so what do you do?"); + +ALIGNED(4) static const u8 HastyQuest2Points[48] = +{ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const MenuItem HastyQuest2Answers[] = +{ + {"Spend it now.", 0}, + {"Save it.", 1}, + {"Give it away.", 2}, + {NULL, -1}, +}; + +static const u8 HastyQuest2Question[]; +static const PersonalityQuestion HastyQuest2 = { HastyQuest2Question, HastyQuest2Answers, HastyQuest2Points }; +ALIGNED(4) static const u8 HastyQuest2Question[] = _( + "You win a lottery!{WAIT_PRESS}\n" + "What do you do with the money?"); + +ALIGNED(4) static const u8 HastyQuest3Points[48] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const u8 HastyQuest3_Open[]; +static const u8 HastyQuest3_Trap[]; +static const u8 HastyQuest3_Empty[]; +static const MenuItem HastyQuest3Answers[] = +{ + {HastyQuest3_Open, 0}, + {HastyQuest3_Trap, 1}, + {HastyQuest3_Empty, 2}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 HastyQuest3_Empty[] = _("It{APOSTROPHE}s going to be empty..."); +ALIGNED(4) static const u8 HastyQuest3_Trap[] = _("No... Could be a trap..."); +ALIGNED(4) static const u8 HastyQuest3_Open[] = _("Open it right away!"); + +static const u8 HastyQuest3Question[]; +static const PersonalityQuestion HastyQuest3 = { HastyQuest3Question, HastyQuest3Answers, HastyQuest3Points }; +ALIGNED(4) static const u8 HastyQuest3Question[] = _( + "You come across a treasure chest!\n" + "What do you do?"); + +ALIGNED(4) static const u8 HastyQuest4Points[48] = +{ + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem HastyQuest4Answers[] = +{ + {"Become irritated.", 0}, + {"Wait patiently.", 1}, + {"Get angry and bail.", 2}, + {NULL, -1}, +}; + +static const u8 HastyQuest4Question[]; +static const PersonalityQuestion HastyQuest4 = { HastyQuest4Question, HastyQuest4Answers, HastyQuest4Points }; +ALIGNED(4) static const u8 HastyQuest4Question[] = _( + "Your friend fails to show up for a meeting\n" + "at the promised time.\n" + "What do you do?"); + +ALIGNED(4) static const u8 SassyQuest1Points[48] = +{ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem SassyQuest1Answers[] = +{ + {"Speak calmly.", 0}, + {"Speak nervously.", 1}, + {"WHATEVER!!", 2}, + {NULL, -1}, +}; + +static const u8 SassyQuest1Question[]; +static const PersonalityQuestion SassyQuest1 = { SassyQuest1Question, SassyQuest1Answers, SassyQuest1Points }; +ALIGNED(4) static const u8 SassyQuest1Question[] = _( + "Your country{APOSTROPHE}s leader is in front of you.\n" + "How do you speak to him or her?"); + +ALIGNED(4) static const u8 SassyQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem SassyQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 SassyQuest2Question[]; +static const PersonalityQuestion SassyQuest2 = { SassyQuest2Question, SassyQuest2Answers, SassyQuest2Points }; +ALIGNED(4) static const u8 SassyQuest2Question[] = _("Do others tell you to watch what you say?"); + +ALIGNED(4) static const u8 SassyQuest3Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem SassyQuest3Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 SassyQuest3Question[]; +static const PersonalityQuestion SassyQuest3 = { SassyQuest3Question, SassyQuest3Answers, SassyQuest3Points }; +ALIGNED(4) static const u8 SassyQuest3Question[] = _( + "Do you think you are cool?\n" + "Be honest."); + +ALIGNED(4) static const u8 SassyQuest4Points[32] = +{ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 +}; + +static const MenuItem SassyQuest4Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 SassyQuest4Question[]; +static const PersonalityQuestion SassyQuest4 = { SassyQuest4Question, SassyQuest4Answers, SassyQuest4Points }; +ALIGNED(4) static const u8 SassyQuest4Question[] = _( + "Can you sincerely thank someone when you\n" + "feel grateful?"); + +ALIGNED(4) static const u8 CalmQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem CalmQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 CalmQuest1Question[]; +static const PersonalityQuestion CalmQuest1 = { CalmQuest1Question, CalmQuest1Answers, CalmQuest1Points }; +ALIGNED(4) static const u8 CalmQuest1Question[] = _( + "Do you occasionally consider yourself\n" + "dull and overly cautious?"); + +ALIGNED(4) static const u8 CalmQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem CalmQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 CalmQuest2Question[]; +static const PersonalityQuestion CalmQuest2 = { CalmQuest2Question, CalmQuest2Answers, CalmQuest2Points }; +ALIGNED(4) static const u8 CalmQuest2Question[] = _( + "Do you dream of lounging around idly\n" + "without much excitement?"); + +ALIGNED(4) static const u8 CalmQuest3Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem CalmQuest3Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 CalmQuest3Question[]; +static const PersonalityQuestion CalmQuest3 = { CalmQuest3Question, CalmQuest3Answers, CalmQuest3Points }; +ALIGNED(4) static const u8 CalmQuest3Question[] = _("Do you like to fight?"); + +ALIGNED(4) static const u8 CalmQuest4Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem CalmQuest4Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 CalmQuest4Question[]; +static const PersonalityQuestion CalmQuest4 = { CalmQuest4Question, CalmQuest4Answers, CalmQuest4Points }; +ALIGNED(4) static const u8 CalmQuest4Question[] = _("Do you often yawn?"); + +ALIGNED(4) static const u8 RelaxedQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem RelaxedQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 RelaxedQuest1Question[]; +static const PersonalityQuestion RelaxedQuest1 = { RelaxedQuest1Question, RelaxedQuest1Answers, RelaxedQuest1Points }; +ALIGNED(4) static const u8 RelaxedQuest1Question[] = _("Are you often late for school or meetings?"); + +ALIGNED(4) static const u8 RelaxedQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem RelaxedQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 RelaxedQuest2Question[]; +static const PersonalityQuestion RelaxedQuest2 = { RelaxedQuest2Question, RelaxedQuest2Answers, RelaxedQuest2Points }; +ALIGNED(4) static const u8 RelaxedQuest2Question[] = _( + "Do you get the feeling that you{APOSTROPHE}ve slowed\n" + "down lately?"); + +ALIGNED(4) static const u8 RelaxedQuest3Points[48] = +{ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem RelaxedQuest3Answers[] = +{ + {"This feels great!", 0}, + {"Snore...", 1}, + {"I want to go home soon!", 2}, + {NULL, -1}, +}; + +static const u8 RelaxedQuest3Question[]; +static const PersonalityQuestion RelaxedQuest3 = { RelaxedQuest3Question, RelaxedQuest3Answers, RelaxedQuest3Points }; +ALIGNED(4) static const u8 RelaxedQuest3Question[] = _( + "It is a pleasant day at the beach.\n" + "How do you feel?"); + +ALIGNED(4) static const u8 RelaxedQuest4Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem RelaxedQuest4Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 RelaxedQuest4Question[]; +static const PersonalityQuestion RelaxedQuest4 = { RelaxedQuest4Question, RelaxedQuest4Answers, RelaxedQuest4Points }; +ALIGNED(4) static const u8 RelaxedQuest4Question[] = _("Do you fall asleep without noticing?"); + +ALIGNED(4) static const u8 LonelyQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem LonelyQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 LonelyQuest1Question[]; +static const PersonalityQuestion LonelyQuest1 = { LonelyQuest1Question, LonelyQuest1Answers, LonelyQuest1Points }; +ALIGNED(4) static const u8 LonelyQuest1Question[] = _("Do you feel lonesome when you are alone?"); + +ALIGNED(4) static const u8 LonelyQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem LonelyQuest2Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 LonelyQuest2Question[]; +static const PersonalityQuestion LonelyQuest2 = { LonelyQuest2Question, LonelyQuest2Answers, LonelyQuest2Points }; +ALIGNED(4) static const u8 LonelyQuest2Question[] = _( + "Do you hate to be the last person to leave\n" + "class at the end of a school day?"); + +ALIGNED(4) static const u8 LonelyQuest3Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem LonelyQuest3Answers[] = +{ + {"Leave it on.", 0}, + {"Turn it off.", 1}, + {NULL, -1}, +}; + +static const u8 LonelyQuest3Question[]; +static const PersonalityQuestion LonelyQuest3 = { LonelyQuest3Question, LonelyQuest3Answers, LonelyQuest3Points }; +ALIGNED(4) static const u8 LonelyQuest3Question[] = _( + "What do you do with your room{APOSTROPHE}s light\n" + "when you{APOSTROPHE}re going to bed at night?"); + +ALIGNED(4) static const u8 LonelyQuest4Points[48] = +{ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem LonelyQuest4Answers[] = +{ + {"Go on a trip.", 0}, + {"Hang around vacantly.", 1}, + {"Huddle in a corner.", 2}, + {NULL, -1}, +}; + +static const u8 LonelyQuest4Question[]; +static const PersonalityQuestion LonelyQuest4 = { LonelyQuest4Question, LonelyQuest4Answers, LonelyQuest4Points }; +ALIGNED(4) static const u8 LonelyQuest4Question[] = _( + "It{APOSTROPHE}s a weekend{COMMA} but no one will play\n" + "with you...\n" + "What do you do?"); + +ALIGNED(4) static const u8 QuirkyQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem QuirkyQuest1Answers[] = +{ + {"Yes.", 0}, + {"No.", 1}, + {NULL, -1}, +}; + +static const u8 QuirkyQuest1Question[]; +static const PersonalityQuestion QuirkyQuest1 = { QuirkyQuest1Question, QuirkyQuest1Answers, QuirkyQuest1Points }; +ALIGNED(4) static const u8 QuirkyQuest1Question[] = _( + "Do you sometimes run out of things to do\n" + "all of a sudden?"); + +ALIGNED(4) static const u8 QuirkyQuest2Points[48] = +{ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const u8 QuirkyQuest2_Reply[]; +static const u8 QuirkyQuest2_MayMayNot[]; +static const u8 QuirkyQuest2_Trouble[]; +static const MenuItem QuirkyQuest2Answers[] = +{ + {QuirkyQuest2_Reply, 0}, + {QuirkyQuest2_MayMayNot, 1}, + {QuirkyQuest2_Trouble, 2}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 QuirkyQuest2_Trouble[] = _("Too much trouble."); +ALIGNED(4) static const u8 QuirkyQuest2_MayMayNot[] = _("May reply{COMMA} may not."); +ALIGNED(4) static const u8 QuirkyQuest2_Reply[] = _("Reply right away."); + +static const u8 QuirkyQuest2Question[]; +static const PersonalityQuestion QuirkyQuest2 = { QuirkyQuest2Question, QuirkyQuest2Answers, QuirkyQuest2Points }; +ALIGNED(4) static const u8 QuirkyQuest2Question[] = _("How quickly do you respond to an e-mail?"); + +ALIGNED(4) static const u8 QuirkyQuest3Points[64] = +{ + 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem QuirkyQuest3Answers[] = +{ + {"Bravely declare my love.", 0}, + {"Might say hello...", 1}, + {"Pull a prank to get attention.", 2}, + {"Look from afar.", 3}, + {NULL, -1}, +}; + +static const u8 QuirkyQuest3Question[]; +static const PersonalityQuestion QuirkyQuest3 = { QuirkyQuest3Question, QuirkyQuest3Answers, QuirkyQuest3Points }; +ALIGNED(4) static const u8 QuirkyQuest3Question[] = _( + "There is a person you like...{WAIT_PRESS}\n" + "But there{APOSTROPHE}s no opportunity to get close.\n" + "What do you do?"); + +ALIGNED(4) static const u8 QuirkyQuest4Points[48] = +{ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const u8 QuirkyQuest4_GoRight[]; +static const u8 QuirkyQuest4_GoLeft[]; +static const u8 QuirkyQuest4_EitherSide[]; +static const MenuItem QuirkyQuest4Answers[] = +{ + {QuirkyQuest4_GoRight, 0}, + {QuirkyQuest4_GoLeft, 1}, + {QuirkyQuest4_EitherSide, 2}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 QuirkyQuest4_EitherSide[] = _("Choose either side."); +ALIGNED(4) static const u8 QuirkyQuest4_GoLeft[] = _("It{APOSTROPHE}s a trap! Go left."); +ALIGNED(4) static const u8 QuirkyQuest4_GoRight[] = _("Instantly go right."); + +static const u8 QuirkyQuest4Question[]; +static const PersonalityQuestion QuirkyQuest4 = { QuirkyQuest4Question, QuirkyQuest4Answers, QuirkyQuest4Points }; +ALIGNED(4) static const u8 QuirkyQuest4Question[] = _( + "The road forks to the right and left.\n" + "You are told there is a treasure on the\n" + "right side. What do you do?"); + +ALIGNED(4) static const u8 MiscQuest1Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem MiscQuest1Answers[] = +{ + {"Go alone.", 0}, + {"Go with others.", 1}, + {NULL, -1}, +}; + +static const u8 MiscQuest1Question[]; +static const PersonalityQuestion MiscQuest1 = { MiscQuest1Question, MiscQuest1Answers, MiscQuest1Points }; +ALIGNED(4) static const u8 MiscQuest1Question[] = _("On vacation outings{COMMA} you want to..."); + +ALIGNED(4) static const u8 MiscQuest2Points[32] = +{ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 +}; + +static const u8 MiscQuest2_DontCare[]; +static const MenuItem MiscQuest2Answers[] = +{ + {"Love them!", 0}, + {MiscQuest2_DontCare, 1}, + {NULL, -1}, +}; +ALIGNED(4) static const u8 MiscQuest2_DontCare[] = _("Don{APOSTROPHE}t care."); + +static const u8 MiscQuest2Question[]; +static const PersonalityQuestion MiscQuest2 = { MiscQuest2Question, MiscQuest2Answers, MiscQuest2Points }; +ALIGNED(4) static const u8 MiscQuest2Question[] = _( + "It{APOSTROPHE}s the summer festival!\n" + "Do you like carnivals?"); + +ALIGNED(4) static const u8 MiscQuest3Points[32] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const MenuItem MiscQuest3Answers[] = +{ + {"Happy!", 0}, + {"Not happy.", 1}, + {NULL, -1}, +}; + +static const u8 MiscQuest3Question[]; +static const PersonalityQuestion MiscQuest3 = { MiscQuest3Question, MiscQuest3Answers, MiscQuest3Points }; +ALIGNED(4) static const u8 MiscQuest3Question[] = _( + "Somebody calls you {QUOTE_START}weird but funny.{QUOTE_END}\n" + "How does that make you feel?"); + +static const PersonalityQuestion* const gPersonalityQuestionPointerTable[NUM_QUIZ_QUESTIONS + 1] = +{ + &HardyQuest1, &HardyQuest2, &HardyQuest3, &HardyQuest4, + &DocileQuest1, &DocileQuest2, &DocileQuest3, &DocileQuest4, + &BraveQuest1, &BraveQuest2A, &BraveQuest3, &BraveQuest4, + &JollyQuest1, &JollyQuest2, &JollyQuest3, &JollyQuest4, + &ImpishQuest1, &ImpishQuest2, &ImpishQuest3, &ImpishQuest4, + &NaiveQuest1, &NaiveQuest2, &NaiveQuest3, &NaiveQuest4, + &TimidQuest1, &TimidQuest2, &TimidQuest3, &TimidQuest4, + &HastyQuest1, &HastyQuest2, &HastyQuest3, &HastyQuest4, + &SassyQuest1, &SassyQuest2, &SassyQuest3, &SassyQuest4, + &CalmQuest1, &CalmQuest2, &CalmQuest3, &CalmQuest4, + &RelaxedQuest1, &RelaxedQuest2, &RelaxedQuest3, &RelaxedQuest4, + &LonelyQuest1, &LonelyQuest2, &LonelyQuest3, &LonelyQuest4, + &QuirkyQuest1, &QuirkyQuest2, &QuirkyQuest3, &QuirkyQuest4, + &MiscQuest1, &MiscQuest2, &MiscQuest3, + &BraveQuest2B +}; + +// NOTE: 2nd Part of Brave is included at the end so it isn't actually chosen +static const u8 gNatureQuestionTable[NUM_QUIZ_QUESTIONS + 1] = +{ + HARDY, HARDY, HARDY, HARDY, + DOCILE, DOCILE, DOCILE, DOCILE, + BRAVE, BRAVE, BRAVE, BRAVE, + JOLLY, JOLLY, JOLLY, JOLLY, + IMPISH, IMPISH, IMPISH, IMPISH, + NAIVE, NAIVE, NAIVE, NAIVE, + TIMID, TIMID, TIMID, TIMID, + HASTY, HASTY, HASTY, HASTY, + SASSY, SASSY, SASSY, SASSY, + CALM, CALM, CALM, CALM, + RELAXED, RELAXED, RELAXED, RELAXED, + LONELY, LONELY, LONELY, LONELY, + QUIRKY, QUIRKY, QUIRKY, QUIRKY, + MISC, MISC, MISC, + BRAVE +}; + +ALIGNED(4) static const u8 gGenderText[] = _("Are you a boy or a girl?"); +UNUSED ALIGNED(4) static const u8* const gGenderTextPtr[] = { gGenderText }; + +static const MenuItem gGenderMenu[] = +{ + {"Boy.", 0}, + {"Girl.", 1}, + {NULL, -1}, +}; + +UNUSED static const u8 unknownPersonality[13] = +{ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 +}; + +static const s16 gStarters[NUM_PERSONALITIES][2] = +{ + // MALE / FEMALE + [HARDY] = {MONSTER_CHARMANDER, MONSTER_PIKACHU}, + [DOCILE] = {MONSTER_BULBASAUR, MONSTER_CHIKORITA}, + [BRAVE] = {MONSTER_MACHOP, MONSTER_CHARMANDER}, + [JOLLY] = {MONSTER_SQUIRTLE, MONSTER_TOTODILE}, + [IMPISH] = {MONSTER_PIKACHU, MONSTER_CUBONE}, + [NAIVE] = {MONSTER_TOTODILE, MONSTER_EEVEE}, + [TIMID] = {MONSTER_CYNDAQUIL, MONSTER_MUDKIP}, + [HASTY] = {MONSTER_TORCHIC, MONSTER_SKITTY}, + [SASSY] = {MONSTER_TREECKO, MONSTER_TORCHIC}, + [CALM] = {MONSTER_MUDKIP, MONSTER_BULBASAUR}, + [RELAXED] = {MONSTER_PSYDUCK, MONSTER_SQUIRTLE}, + [LONELY] = {MONSTER_CUBONE, MONSTER_PSYDUCK}, + [QUIRKY] = {MONSTER_MEOWTH, MONSTER_TREECKO} +}; + +ALIGNED(4) static const u8 gStarterReveal[] = _( + "\n" + "{CENTER_ALIGN}The Pokémon {ARG_POKEMON_0}!"); +UNUSED ALIGNED(4) static const u8* const gStarterRevealPtr[] = { gStarterReveal }; + +ALIGNED(4) static const u8 gPartnerPrompt[] = _( + "{CENTER_ALIGN}This is the final step.{WAIT_PRESS}\n" + "{CENTER_ALIGN}Who would you like to have as a partner?{EXTRA_MSG}" + "{CENTER_ALIGN}Choose the Pokémon you want\n" + "{CENTER_ALIGN}as your partner from this group."); +UNUSED ALIGNED(4) static const u8* const gPartnerPromptPtr = gPartnerPrompt; + +ALIGNED(4) static const u8 gPartnerNickPrompt[] = _("{CENTER_ALIGN}What is your partner{APOSTROPHE}s nickname?"); +UNUSED ALIGNED(4) static const u8* const gPartnerNickPromptPtr[] = { gPartnerNickPrompt }; + +ALIGNED(4) static const u8 gEndIntroText[] = _( + "{CENTER_ALIGN}OK! We{APOSTROPHE}re all set!{EXTRA_MSG}" + "{CENTER_ALIGN}Let{APOSTROPHE}s get you into the\n" + "{CENTER_ALIGN}world of Pokémon!{EXTRA_MSG}" + "{CENTER_ALIGN}Go for it!"); +UNUSED ALIGNED(4) static const u8* const gEndIntroTextPtr[] = { gEndIntroText }; + +static const u8 gHardyDescription[]; +static const u8 gDocileDescription[]; +static const u8 gBraveDescription[]; +static const u8 gJollyDescription[]; +static const u8 gImpishDescription[]; +static const u8 gNaiveDescription[]; +static const u8 gTimidDescription[]; +static const u8 gHastyDescription[]; +static const u8 gSassyDescription[]; +static const u8 gCalmDescription[]; +static const u8 gRelaxedDescription[]; +static const u8 gLonelyDescription[]; +static const u8 gQuirkyDescription[]; + +static const u8* const sPersonalityTypeDescriptionTable[NUM_PERSONALITIES] = +{ + [HARDY] = gHardyDescription, + [DOCILE] = gDocileDescription, + [BRAVE] = gBraveDescription, + [JOLLY] = gJollyDescription, + [IMPISH] = gImpishDescription, + [NAIVE] = gNaiveDescription, + [TIMID] = gTimidDescription, + [HASTY] = gHastyDescription, + [SASSY] = gSassyDescription, + [CALM] = gCalmDescription, + [RELAXED] = gRelaxedDescription, + [LONELY] = gLonelyDescription, + [QUIRKY] = gQuirkyDescription +}; + +ALIGNED(4) static const u8 gQuirkyDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The quirky type.{EXTRA_MSG}" + "{CENTER_ALIGN}People consider you an eccentric\n" + "{CENTER_ALIGN}who does things at your own pace.{EXTRA_MSG}" + "{CENTER_ALIGN}You never break tempo.{EXTRA_MSG}" + "{CENTER_ALIGN}Your carefree nature makes you\n" + "{CENTER_ALIGN}attractive. But you also happen\n" + "{CENTER_ALIGN}to be somewhat childish...{EXTRA_MSG}" + "{CENTER_ALIGN}You are fickle and cause problems for the\n" + "{CENTER_ALIGN}people who have to go along with you.{EXTRA_MSG}" + "{CENTER_ALIGN}Maybe people are even upset\n" + "{CENTER_ALIGN}with you for being so fickle?{EXTRA_MSG}" + "{CENTER_ALIGN}If you realize how selfishly\n" + "{CENTER_ALIGN}you{APOSTROPHE}re behaving{COMMA} try to think\n" + "{CENTER_ALIGN}before you do anything rash.{EXTRA_MSG}" + "{CENTER_ALIGN}A quirky person like you should be..."); + +ALIGNED(4) static const u8 gLonelyDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The lonely type.{EXTRA_MSG}" + "{CENTER_ALIGN}You always act cheerful and\n" + "{CENTER_ALIGN}jocular around other people.{EXTRA_MSG}" + "{CENTER_ALIGN}But that{APOSTROPHE}s only because\n" + "{CENTER_ALIGN}you are with other people.{EXTRA_MSG}" + "{CENTER_ALIGN}However{COMMA} when you get alone...{EXTRA_MSG}" + "{CENTER_ALIGN}Do you find yourself\n" + "{CENTER_ALIGN}feeling oddly depressed?{EXTRA_MSG}" + "{CENTER_ALIGN}That{APOSTROPHE}s why you always\n" + "{CENTER_ALIGN}want to be with others.{EXTRA_MSG}" + "{CENTER_ALIGN}But if you go around feeling\n" + "{CENTER_ALIGN}depressed too much...{EXTRA_MSG}" + "{CENTER_ALIGN}Your nutritional balance goes out\n" + "{CENTER_ALIGN}of wack. Eat more vegetables!{EXTRA_MSG}" + "{CENTER_ALIGN}However...{WAIT_PRESS}\n" + "{CENTER_ALIGN}It{APOSTROPHE}s not a bad thing\n" + "{CENTER_ALIGN}to feel lonely.{EXTRA_MSG}" + "{CENTER_ALIGN}You know what it{APOSTROPHE}s like when you aren{APOSTROPHE}t\n" + "{CENTER_ALIGN}alone{COMMA} so that{APOSTROPHE}s why you feel lonesome.{EXTRA_MSG}" + "{CENTER_ALIGN}And that{APOSTROPHE}s why you aren{APOSTROPHE}t really alone.{EXTRA_MSG}" + "{CENTER_ALIGN}A lonely person like you should be..."); + +ALIGNED(4) static const u8 gRelaxedDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The relaxed type.{EXTRA_MSG}" + "{CENTER_ALIGN}Do you occasionally\n" + "{CENTER_ALIGN}zone out and miss a bus?{EXTRA_MSG}" + "{CENTER_ALIGN}Or do you find yourself dozing off?{EXTRA_MSG}" + "{CENTER_ALIGN}Or is your reaction time\n" + "{CENTER_ALIGN}a little slower than others?{EXTRA_MSG}" + "{CENTER_ALIGN}But that{APOSTROPHE}s not necessarily\n" + "{CENTER_ALIGN}a bad thing.{EXTRA_MSG}" + "{CENTER_ALIGN}You can do things at your own\n" + "{CENTER_ALIGN}tempo without feeling pressured.{EXTRA_MSG}" + "{CENTER_ALIGN}You can live in a relaxed and\n" + "{CENTER_ALIGN}unhurried manner without worries.{EXTRA_MSG}" + "{CENTER_ALIGN}I think that{APOSTROPHE}s a happy\n" + "{CENTER_ALIGN}lifestyle to be envied{COMMA} even.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re also surprisingly popular.{EXTRA_MSG}" + "{CENTER_ALIGN}The way you vacantly stare\n" + "{CENTER_ALIGN}off into the distance...{EXTRA_MSG}" + "{CENTER_ALIGN}It should make that someone\n" + "{CENTER_ALIGN}special{APOSTROPHE}s pulse race.{EXTRA_MSG}" + "{CENTER_ALIGN}A relaxed person like you should be..."); + +ALIGNED(4) static const u8 gCalmDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The calm type.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re capable of giving advice\n" + "{CENTER_ALIGN}to friends with worries.{EXTRA_MSG}" + "{CENTER_ALIGN}You don{APOSTROPHE}t like to fight.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re a warm{COMMA} kindhearted\n" + "{CENTER_ALIGN}person who cares.{EXTRA_MSG}" + "{CENTER_ALIGN}You must have many friends\n" + "{CENTER_ALIGN}who look up to you.{EXTRA_MSG}" + "{CENTER_ALIGN}However...{WAIT_PRESS}\n" + "{CENTER_ALIGN}You may also be somewhat gullible...{EXTRA_MSG}" + "{CENTER_ALIGN}As well as a little careless...{EXTRA_MSG}" + "{CENTER_ALIGN}And even a little sloppy.{EXTRA_MSG}" + "{CENTER_ALIGN}You might want to keep\n" + "{CENTER_ALIGN}those points in mind.{EXTRA_MSG}" + "{CENTER_ALIGN}A calm person like you should be..."); + +ALIGNED(4) static const u8 gSassyDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The sassy type.{EXTRA_MSG}" + "{CENTER_ALIGN}You tend to be somewhat cynical.{EXTRA_MSG}" + "{CENTER_ALIGN}Despite that{COMMA} there is something\n" + "{CENTER_ALIGN}appealing and lovable about you.{EXTRA_MSG}" + "{CENTER_ALIGN}But do you occasionally say something\n" + "{CENTER_ALIGN}arrogant that angers others?{EXTRA_MSG}" + "{CENTER_ALIGN}Do you make that mistake?{EXTRA_MSG}" + "{CENTER_ALIGN}Or have people called you\n" + "{CENTER_ALIGN}conceited{COMMA} vain{COMMA} or selfish?{EXTRA_MSG}" + "{CENTER_ALIGN}Have people said that about you?{EXTRA_MSG}" + "{CENTER_ALIGN}Huh?{WAIT_PRESS} You{APOSTROPHE}re telling me to get lost?{EXTRA_MSG}" + "{CENTER_ALIGN}Why{COMMA} you... Come here and say that!{WAIT_PRESS}\n" + "{CENTER_ALIGN}......Gasp!{EXTRA_MSG}" + "{CENTER_ALIGN}...I{APOSTROPHE}m sorry.\n" + "{CENTER_ALIGN}I let my feelings run away.\n" + "{CENTER_ALIGN}I truly regret this{COMMA} really.{EXTRA_MSG}" + "{CENTER_ALIGN}Anyway{COMMA} your cool and aloof\n" + "{CENTER_ALIGN}attitude is what defines you.{EXTRA_MSG}" + "{CENTER_ALIGN}It makes you exasperating and\n" + "{CENTER_ALIGN}appealing at the same time.{EXTRA_MSG}" + "{CENTER_ALIGN}A sassy person like you should be..."); + +ALIGNED(4) static const u8 gHastyDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The hasty type.{EXTRA_MSG}" + "{CENTER_ALIGN}You like to take charge\n" + "{CENTER_ALIGN}and get things done.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re a real go-getter.{EXTRA_MSG}" + "{CENTER_ALIGN}But are you also stressed out?{EXTRA_MSG}" + "{CENTER_ALIGN}You get irritated when your\n" + "{CENTER_ALIGN}friends don{APOSTROPHE}t show up on time.{EXTRA_MSG}" + "{CENTER_ALIGN}You get frustrated when things\n" + "{CENTER_ALIGN}don{APOSTROPHE}t turn out the way you expect.{EXTRA_MSG}" + "{CENTER_ALIGN}Maybe you jab the elevator button\n" + "{CENTER_ALIGN}if the elevator is slow to arrive.{EXTRA_MSG}" + "{CENTER_ALIGN}...Maybe you{APOSTROPHE}re already jabbing\n" + "{CENTER_ALIGN}the A Button repeatedly now.{EXTRA_MSG}" + "{CENTER_ALIGN}Beware--getting too easily irritated\n" + "{CENTER_ALIGN}just isn{APOSTROPHE}t good for your well-being.{EXTRA_MSG}" + "{CENTER_ALIGN}A hasty person like you should be..."); + +ALIGNED(4) static const u8 gTimidDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The timid type.{EXTRA_MSG}" + "{CENTER_ALIGN}You may find it hard to go\n" + "{CENTER_ALIGN}to the washroom at night.{EXTRA_MSG}" + "{CENTER_ALIGN}You may also find it too frightening\n" + "{CENTER_ALIGN}to go back to school to get something\n" + "{CENTER_ALIGN}you left behind in class.{EXTRA_MSG}" + "{CENTER_ALIGN}If you{APOSTROPHE}re ever walking on a dark\n" + "{CENTER_ALIGN}street at night{COMMA} you probably turn\n" + "{CENTER_ALIGN}around often to check behind you.{EXTRA_MSG}" + "{CENTER_ALIGN}But your timid nature is\n" + "{CENTER_ALIGN}also your good point!{EXTRA_MSG}" + "{CENTER_ALIGN}Because those who know fear are\n" + "{CENTER_ALIGN}those who know true courage.{EXTRA_MSG}" + "{CENTER_ALIGN}A timid person like you should be..."); + +ALIGNED(4) static const u8 gNaiveDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The naive type.{EXTRA_MSG}" + "{CENTER_ALIGN}You are highly curious{COMMA}\n" + "{CENTER_ALIGN}and you love rare things.{EXTRA_MSG}" + "{CENTER_ALIGN}Your cheerful and carefree\n" + "{CENTER_ALIGN}attitude should make things fun\n" + "{CENTER_ALIGN}for the people around you.{EXTRA_MSG}" + "{CENTER_ALIGN}But you do have one flaw.\n" + "{CENTER_ALIGN}You can be childish.{EXTRA_MSG}" + "{CENTER_ALIGN}You can never sit still.\n" + "{CENTER_ALIGN}You{APOSTROPHE}re always on the move.{EXTRA_MSG}" + "{CENTER_ALIGN}You can also be selfish{COMMA}\n" + "{CENTER_ALIGN}so you should watch yourself.{EXTRA_MSG}" + "{CENTER_ALIGN}A naive person like you should be..."); + +ALIGNED(4) static const u8 gImpishDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The impish type.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re playful{COMMA} cheerful{COMMA}\n" + "{CENTER_ALIGN}and you love pranks.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re also kindhearted.{EXTRA_MSG}" + "{CENTER_ALIGN}That{APOSTROPHE}s why the people around\n" + "{CENTER_ALIGN}you find you so irresistible.{EXTRA_MSG}" + "{CENTER_ALIGN}You must be the most\n" + "{CENTER_ALIGN}popular person around!{EXTRA_MSG}" + "{CENTER_ALIGN}Oh?{WAIT_PRESS} You{APOSTROPHE}re not that popular?{WAIT_PRESS}\n" + "{CENTER_ALIGN}You{APOSTROPHE}re either being modest...\n" + "{CENTER_ALIGN}or you just don{APOSTROPHE}t notice it.{EXTRA_MSG}" + "{CENTER_ALIGN}I bet people are just too shy\n" + "{CENTER_ALIGN}to let their feelings be known.{EXTRA_MSG}" + "{CENTER_ALIGN}There{APOSTROPHE}s someone out there who{APOSTROPHE}s\n" + "{CENTER_ALIGN}afraid to declare their love for you!{EXTRA_MSG}" + "{CENTER_ALIGN}An impish person like you should be..."); + +ALIGNED(4) static const u8 gJollyDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The jolly type.{EXTRA_MSG}" + "{CENTER_ALIGN}Always laughing and smiling{COMMA}\n" + "{CENTER_ALIGN}you uplift everyone around you.{EXTRA_MSG}" + "{CENTER_ALIGN}You love jokes!{EXTRA_MSG}" + "{CENTER_ALIGN}You have lots of friends{COMMA} and\n" + "{CENTER_ALIGN}you{APOSTROPHE}re popular wherever you go.{EXTRA_MSG}" + "{CENTER_ALIGN}But sometimes you get carried away\n" + "{CENTER_ALIGN}and say things that get you in trouble.{EXTRA_MSG}" + "{CENTER_ALIGN}You should learn to think before\n" + "{CENTER_ALIGN}saying or doing anything.{EXTRA_MSG}" + "{CENTER_ALIGN}A jolly person like you should be..."); + +ALIGNED(4) static const u8 gBraveDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The brave type.{EXTRA_MSG}" + "{CENTER_ALIGN}You have a strong sense of justice.{WAIT_PRESS}\n" + "{CENTER_ALIGN}You hate evil.{WAIT_PRESS}\n" + "{CENTER_ALIGN}You will take on any opponent.{EXTRA_MSG}" + "{CENTER_ALIGN}You are truly a hero!{EXTRA_MSG}" + "{CENTER_ALIGN}Go forth!{EXTRA_MSG}" + "{CENTER_ALIGN}For justice...{WAIT_PRESS}\n" + "{CENTER_ALIGN}For peace on earth...{WAIT_PRESS}\n" + "{CENTER_ALIGN}Fight the forces of evil!{EXTRA_MSG}" + "{CENTER_ALIGN}......{WAIT_PRESS}If I{APOSTROPHE}m wrong...{WAIT_PRESS}\n" + "{CENTER_ALIGN}Work at becoming a true hero!{EXTRA_MSG}" + "{CENTER_ALIGN}A brave person like you should be..."); + +ALIGNED(4) static const u8 gDocileDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The docile type.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re very kindhearted.{WAIT_PRESS}\n" + "{CENTER_ALIGN}Very helpful.{WAIT_PRESS}\n" + "{CENTER_ALIGN}You can make friends with anyone.{EXTRA_MSG}" + "{CENTER_ALIGN}You{APOSTROPHE}re a wonderful person.{EXTRA_MSG}" + "{CENTER_ALIGN}......{WAIT_PRESS}Is that going overboard?{WAIT_PRESS}\n" + "{CENTER_ALIGN}I don{APOSTROPHE}t think so.{EXTRA_MSG}" + "{CENTER_ALIGN}You yourself should be\n" + "{CENTER_ALIGN}the best judge of that.{EXTRA_MSG}" + "{CENTER_ALIGN}A docile person like you should be..."); + +ALIGNED(4) static const u8 gHardyDescription[] = _( + "{CENTER_ALIGN}You appear to be...{WAIT_PRESS}\n" + "{CENTER_ALIGN}The hardy type.{EXTRA_MSG}" + "{CENTER_ALIGN}You do your homework diligently{COMMA}\n" + "{CENTER_ALIGN}and you know to eat properly.{EXTRA_MSG}" + "{CENTER_ALIGN}You have strong willpower that lets\n" + "{CENTER_ALIGN}you complete tasks{COMMA} however tough.{EXTRA_MSG}" + "{CENTER_ALIGN}But{COMMA} you can also be stubborn to the\n" + "{CENTER_ALIGN}point of even feuding with friends...{EXTRA_MSG}" + "{CENTER_ALIGN}Nothing will go right for you when you{APOSTROPHE}re\n" + "{CENTER_ALIGN}irritated{COMMA} so learn to laugh it off.{EXTRA_MSG}" + "{CENTER_ALIGN}A hardy person like you should be..."); + +static const UnkTextStruct2 sUnknown_80F4244 = +{ + 0, 0, 0, 0, + 5, + 12, 6, + 5, 5, + 5, 0, + NULL +}; \ No newline at end of file diff --git a/src/data/personality_test2.h b/src/data/personality_test2.h new file mode 100644 index 00000000..5f329d14 --- /dev/null +++ b/src/data/personality_test2.h @@ -0,0 +1,45 @@ +const s16 gPartners[NUM_PARTNERS] = +{ + MONSTER_CHARMANDER, + MONSTER_BULBASAUR, + MONSTER_SQUIRTLE, + MONSTER_PIKACHU, + MONSTER_CHIKORITA, + MONSTER_TOTODILE, + MONSTER_CYNDAQUIL, + MONSTER_TORCHIC, + MONSTER_TREECKO, + MONSTER_MUDKIP +}; + +const UnkTextStruct2 gUnknown_80F4278 = +{ + 0x00, 0x00, 0x00, 0x00, + 0x03, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + NULL +}; + +const UnkTextStruct2 gUnknown_80F4290 = +{ + 0x00, 0x00, 0x00, 0x00, + 0x06, + 0x02, 0x02, + 0x09, 0x0B, + 0x0D, 0x00, + NULL +}; + +const UnkTextStruct2 gUnknown_80F42A8 = +{ + 0x00, 0x00, 0x00, 0x00, + 0x05, + 0x0E, 0x04, + 0x05, 0x05, + 0x05, 0x00, + NULL +}; + +const char gPartnerSelectionHeaderText[] = _("Pokémon"); \ No newline at end of file diff --git a/src/data/pokemon_mail.h b/src/data/pokemon_mail.h index df420262..1903a043 100644 --- a/src/data/pokemon_mail.h +++ b/src/data/pokemon_mail.h @@ -1,347 +1,1311 @@ -// Forward declaration for the array of Mail -extern const u8 gMail_WelcomeHeadline[]; -extern const u8 gMail_WelcomeText[]; -extern const u8 gMail_BasicsHeadline[]; -extern const u8 gMail_BasicsText[]; -extern const u8 gMail_JobHeadline[]; -extern const u8 gMail_JobText[]; -extern const u8 gMail_HungerHeadline[]; -extern const u8 gMail_HungerText[]; -extern const u8 gMail_SeedHeadline[]; -extern const u8 gMail_SeedText[]; -extern const u8 gMail_DisasterHeadline[]; -extern const u8 gMail_DisasterText[]; -extern const u8 gMail_OptionsHeadline[]; -extern const u8 gMail_OptionsText[]; -extern const u8 gMail_MoveHeadline[]; -extern const u8 gMail_MoveText[]; -extern const u8 gMail_WonderHeadline[]; -extern const u8 gMail_WonderText[]; -extern const u8 gMail_DungeonHeadline[]; -extern const u8 gMail_DungeonText[]; -extern const u8 gMail_TypeHeadline[]; -extern const u8 gMail_TypeText[]; -extern const u8 gMail_LinkedEntryHeadline1[]; -extern const u8 gMail_LinkedEntryText1[]; -extern const u8 gMail_LinkedEntryHeadline2[]; -extern const u8 gMail_LinkedEntryText2[]; -extern const u8 gMail_LinkedEntryHeadline3[]; -extern const u8 gMail_LinkedEntryText3[]; -extern const u8 gMail_PollHeadline[]; -extern const u8 gMail_PollText[]; -extern const u8 gMail_WondersHeadline[]; -extern const u8 gMail_WondersText[]; -extern const u8 gMail_TeamMoveHeadline[]; -extern const u8 gMail_TeamMoveText[]; -extern const u8 gMail_AddMembersHeadline[]; -extern const u8 gMail_AddMembersText[]; -extern const u8 gMail_MoveTipsHeadline[]; -extern const u8 gMail_MoveTipsText[]; -extern const u8 gMail_GummiHeadline[]; -extern const u8 gMail_GummiText[]; -extern const u8 gMail_UltimateHeadline[]; -extern const u8 gMail_UltimateText[]; -extern const u8 gMail_MachineHeadline[]; -extern const u8 gMail_MachineText[]; -extern const u8 gMail_MakuhitaHeadline[]; -extern const u8 gMail_MakuhitaText[]; -extern const u8 gMail_TrapTileHeadline[]; -extern const u8 gMail_TrapTileText[]; -extern const u8 gMail_IQHeadline[]; -extern const u8 gMail_IQText[]; -extern const u8 gMail_RangeHeadline[]; -extern const u8 gMail_RangeText[]; -extern const u8 gMail_SweetHeadline[]; -extern const u8 gMail_SweetText[]; -extern const u8 gMail_KeyHeadline[]; -extern const u8 gMail_KeyText[]; -extern const u8 gMail_AzurillHeadline[]; -extern const u8 gMail_AzurillText[]; -extern const u8 gMail_WeatherHeadline1[]; -extern const u8 gMail_WeatherText1[]; -extern const u8 gMail_PechaHeadline[]; -extern const u8 gMail_PechaText[]; -extern const u8 gMail_WobbuffetHeadline[]; -extern const u8 gMail_WobbuffetText[]; -extern const u8 gMail_WeatherHeadline2[]; -extern const u8 gMail_WeatherText2[]; -extern const u8 gMail_KecleonHeadline[]; -extern const u8 gMail_KecleonText[]; -extern const u8 gMail_SwitchHeadline[]; -extern const u8 gMail_SwitchText[]; -extern const u8 gMail_KeyItemHeadline1[]; -extern const u8 gMail_KeyItemText1[]; -extern const u8 gMail_KeyItemHeadline2[]; -extern const u8 gMail_KeyItemText2[]; -extern const u8 gMail_GasHeadline[]; -extern const u8 gMail_GasText[]; -extern const u8 gMail_CastformHeadline[]; -extern const u8 gMail_CastformText[]; -extern const u8 gMail_SmeargleHeadline[]; -extern const u8 gMail_SmeargleText[]; -extern const u8 gMail_KabutoHeadline[]; -extern const u8 gMail_KabutoText[]; -extern const u8 gMail_ChanseyHeadline[]; -extern const u8 gMail_ChanseyText[]; -extern const u8 gMail_ClubHeadline[]; -extern const u8 gMail_ClubText[]; -extern const u8 gMail_RawstHeadline[]; -extern const u8 gMail_RawstText[]; -extern const u8 gMail_VileplumeHeadline[]; -extern const u8 gMail_VileplumeText[]; -extern const u8 gMail_SeaRescueHeadline[]; -extern const u8 gMail_SeaRescueText[]; -extern const u8 gMail_PitfallHeadline[]; -extern const u8 gMail_PitfallText[]; -extern const u8 gMail_SlakothHeadline[]; -extern const u8 gMail_SlakothText[]; -extern const u8 gMail_LinkedProHeadline1[]; -extern const u8 gMail_LinkedProText1[]; -extern const u8 gMail_LinkedProHeadline2[]; -extern const u8 gMail_LinkedProText2[]; -extern const u8 gMail_PelipperHeadline[]; -extern const u8 gMail_PelipperText[]; -extern const u8 gMail_NewsHeadline1[]; -extern const u8 gMail_NewsText1[]; -extern const u8 gMail_NewsHeadline2[]; -extern const u8 gMail_NewsText2[]; -extern const u8 gMail_BuriedRelicHeadline[]; -extern const u8 gMail_BuriedRelicText[]; -extern const u8 gMail_LucarioRankHeadline[]; -extern const u8 gMail_LucarioRankText[]; -extern const u8 gMail_NewFriendAreasHeadline[]; -extern const u8 gMail_NewFriendAreasText[]; +// TODO: Find a way to #define the text and insert them in arrays without declarations +static const u8 sUnknown_80E8BB0[]; +static const u8 sUnknown_80E8BB4[]; +static const u8 sUnknown_80E8BB8[]; +static const u8 sUnknown_80E8BBC[]; +static const u8 sUnknown_80E8BC0[]; +static const u8 sUnknown_80E8BC4[]; +static const u8 sUnknown_80E8BC8[]; -const struct PokemonMail gPokemonMail[NUM_POKEMON_MAIL] = -{ - { - .headline = gMail_WelcomeHeadline, - .text = gMail_WelcomeText, - }, - { - .headline = gMail_BasicsHeadline, - .text = gMail_BasicsText, - }, - { - .headline = gMail_JobHeadline, - .text = gMail_JobText, - }, - { - .headline = gMail_HungerHeadline, - .text = gMail_HungerText, - }, - { - .headline = gMail_SeedHeadline, - .text = gMail_SeedText, - }, - { - .headline = gMail_DisasterHeadline, - .text = gMail_DisasterText, - }, - { - .headline = gMail_OptionsHeadline, - .text = gMail_OptionsText, - }, - { - .headline = gMail_MoveHeadline, - .text = gMail_MoveText, - }, - { - .headline = gMail_WonderHeadline, - .text = gMail_WonderText, - }, - { - .headline = gMail_DungeonHeadline, - .text = gMail_DungeonText, - }, - { - .headline = gMail_TypeHeadline, - .text = gMail_TypeText, - }, - { - .headline = gMail_LinkedEntryHeadline1, - .text = gMail_LinkedEntryText1, - }, - { - .headline = gMail_LinkedEntryHeadline2, - .text = gMail_LinkedEntryText2, - }, - { - .headline = gMail_LinkedEntryHeadline3, - .text = gMail_LinkedEntryText3, - }, - { - .headline = gMail_PollHeadline, - .text = gMail_PollText, - }, - { - .headline = gMail_WondersHeadline, - .text = gMail_WondersText, - }, - { - .headline = gMail_TeamMoveHeadline, - .text = gMail_TeamMoveText, - }, - { - .headline = gMail_AddMembersHeadline, - .text = gMail_AddMembersText, - }, - { - .headline = gMail_MoveTipsHeadline, - .text = gMail_MoveTipsText, - }, - { - .headline = gMail_GummiHeadline, - .text = gMail_GummiText, - }, - { - .headline = gMail_UltimateHeadline, - .text = gMail_UltimateText, - }, - { - .headline = gMail_MachineHeadline, - .text = gMail_MachineText, - }, - { - .headline = gMail_MakuhitaHeadline, - .text = gMail_MakuhitaText, - }, - { - .headline = gMail_TrapTileHeadline, - .text = gMail_TrapTileText, - }, - { - .headline = gMail_IQHeadline, - .text = gMail_IQText, - }, - { - .headline = gMail_RangeHeadline, - .text = gMail_RangeText, - }, - { - .headline = gMail_SweetHeadline, - .text = gMail_SweetText, - }, - { - .headline = gMail_KeyHeadline, - .text = gMail_KeyText, - }, - { - .headline = gMail_AzurillHeadline, - .text = gMail_AzurillText, - }, - { - .headline = gMail_WeatherHeadline1, - .text = gMail_WeatherText1, - }, - { - .headline = gMail_PechaHeadline, - .text = gMail_PechaText, - }, - { - .headline = gMail_WobbuffetHeadline, - .text = gMail_WobbuffetText, - }, - { - .headline = gMail_WeatherHeadline2, - .text = gMail_WeatherText2, - }, - { - .headline = gMail_KecleonHeadline, - .text = gMail_KecleonText, - }, - { - .headline = gMail_SwitchHeadline, - .text = gMail_SwitchText, - }, - { - .headline = gMail_KeyItemHeadline1, - .text = gMail_KeyItemText1, - }, - { - .headline = gMail_KeyItemHeadline2, - .text = gMail_KeyItemText2, - }, - { - .headline = gMail_GasHeadline, - .text = gMail_GasText, - }, - { - .headline = gMail_CastformHeadline, - .text = gMail_CastformText, - }, - { - .headline = gMail_SmeargleHeadline, - .text = gMail_SmeargleText, - }, - { - .headline = gMail_KabutoHeadline, - .text = gMail_KabutoText, - }, - { - .headline = gMail_ChanseyHeadline, - .text = gMail_ChanseyText, - }, - { - .headline = gMail_ClubHeadline, - .text = gMail_ClubText, - }, - { - .headline = gMail_RawstHeadline, - .text = gMail_RawstText, - }, - { - .headline = gMail_VileplumeHeadline, - .text = gMail_VileplumeText, - }, - { - .headline = gMail_SeaRescueHeadline, - .text = gMail_SeaRescueText, - }, - { - .headline = gMail_PitfallHeadline, - .text = gMail_PitfallText, - }, - { - .headline = gMail_SlakothHeadline, - .text = gMail_SlakothText, - }, - { - .headline = gMail_LinkedProHeadline1, - .text = gMail_LinkedProText1, - }, - { - .headline = gMail_LinkedProHeadline2, - .text = gMail_LinkedProText2, - }, - { - .headline = gMail_PelipperHeadline, - .text = gMail_PelipperText, - }, - { - .headline = gMail_NewsHeadline1, - .text = gMail_NewsText1, - }, - { - .headline = gMail_NewsHeadline2, - .text = gMail_NewsText2, - }, - { - .headline = gMail_BuriedRelicHeadline, - .text = gMail_BuriedRelicText, - }, - { - .headline = gMail_LucarioRankHeadline, - .text = gMail_LucarioRankText, - }, - { - .headline = gMail_NewFriendAreasHeadline, - .text = gMail_NewFriendAreasText - } +static const u8 * const sUnknown_80E8B94[7] = { + sUnknown_80E8BC8, + sUnknown_80E8BC4, + sUnknown_80E8BC0, + sUnknown_80E8BBC, + sUnknown_80E8BB8, + sUnknown_80E8BB4, + sUnknown_80E8BB0 }; -ALIGNED(4) const u8 gMail_NewFriendAreasText[] = _( +ALIGNED(4) static const u8 sUnknown_80E8BB0[] = _("{UNK_ICON_83_C3}"); +ALIGNED(4) static const u8 sUnknown_80E8BB4[] = _("{UNK_ICON_83_C2}"); +ALIGNED(4) static const u8 sUnknown_80E8BB8[] = _("{UNK_ICON_83_C1}"); +ALIGNED(4) static const u8 sUnknown_80E8BBC[] = _("{UNK_ICON_83_C0}"); +ALIGNED(4) static const u8 sUnknown_80E8BC0[] = _("{UNK_ICON_40}"); +ALIGNED(4) static const u8 sUnknown_80E8BC4[] = _("{UNK_ICON_84_87}"); +ALIGNED(4) static const u8 sUnknown_80E8BC8[] = _(" "); + +static const u8 * const sUnknown_80E8BCC[4] = { + sUnknown_80E8BC8, + "Suspend", + "Take Job", + "Done" +}; + +static const u8 sUnknown_80E8C14[]; +static const u8 sUnknown_80E8C18[]; +static const u8 sUnknown_80E8C20[]; +static const u8 sUnknown_80E8C28[]; +static const u8 sUnknown_80E8C30[]; +static const u8 sUnknown_80E8C38[]; +static const u8 sUnknown_80E8C40[]; + +// Used in sub_803C1F0 for some reason +const u8 * const gUnknown_80E8BF8[7] = { + sUnknown_80E8C40, + sUnknown_80E8C38, + sUnknown_80E8C30, + sUnknown_80E8C28, + sUnknown_80E8C20, + sUnknown_80E8C18, + sUnknown_80E8C14 +}; + +ALIGNED(4) static const u8 sUnknown_80E8C14[] = _("{STAR_BULLET}"); +ALIGNED(4) static const u8 sUnknown_80E8C18[] = _("{COLOR_1 RED}S{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sUnknown_80E8C20[] = _("{COLOR_1 CYAN}A{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sUnknown_80E8C28[] = _("{COLOR_1 CYAN}B{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sUnknown_80E8C30[] = _("{COLOR_1 GREEN}C{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sUnknown_80E8C38[] = _("{COLOR_1 GREEN}D{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sUnknown_80E8C40[] = _("{COLOR_1 WHITE}E{END_COLOR_TEXT_1}"); + +static const u8 sUnknown_80E8C60[]; +static const u8 sUnknown_80E8C64[]; +static const u8 sUnknown_80E8C70[]; +static const u8 sUnknown_80E8C7C[]; +static const u8 sUnknown_80E8C84[]; +static const u8 sUnknown_80E8C90[]; + +static const u8 * const gMissionRewardText[6] = { + sUnknown_80E8C90, + sUnknown_80E8C84, + sUnknown_80E8C7C, + sUnknown_80E8C70, + sUnknown_80E8C64, + sUnknown_80E8C60 +}; + +ALIGNED(4) static const u8 sUnknown_80E8C60[] = _("???"); +ALIGNED(4) static const u8 sUnknown_80E8C64[] = _("Friend Area"); +ALIGNED(4) static const u8 sUnknown_80E8C70[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} + ?"); +ALIGNED(4) static const u8 sUnknown_80E8C7C[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sUnknown_80E8C84[] = _("%d {POKE} + ?"); +ALIGNED(4) static const u8 sUnknown_80E8C90[] = _("%d {POKE}"); + +static const u8 sUnknown_80E8CD4[]; +static const u8 sUnknown_80E8CE0[]; +static const u8 sUnknown_80E8CF4[]; +static const u8 sUnknown_80E8D0C[]; +static const u8 sUnknown_80E8D18[]; +static const u8 sUnknown_80E8D28[]; +static const u8 sUnknown_80E8D44[]; +static const u8 sUnknown_80E8D5C[]; +static const u8 sUnknown_80E8D6C[]; +static const u8 sUnknown_80E8D7C[]; +static const u8 sUnknown_80E8D88[]; +static const u8 sUnknown_80E8DA4[]; +static const u8 sUnknown_80E8DB4[]; +static const u8 sUnknown_80E8DC8[]; +static const u8 sUnknown_80E8DDC[]; + +static const u8 * const gUnknown_80E8C98[15] = { + sUnknown_80E8DDC, + sUnknown_80E8DC8, + sUnknown_80E8DB4, + sUnknown_80E8DA4, + sUnknown_80E8D88, + sUnknown_80E8D7C, + sUnknown_80E8D6C, + sUnknown_80E8D5C, + sUnknown_80E8D44, + sUnknown_80E8D28, + sUnknown_80E8D18, + sUnknown_80E8D0C, + sUnknown_80E8CF4, + sUnknown_80E8CE0, + sUnknown_80E8CD4 +}; + +ALIGNED(4) static const u8 sUnknown_80E8CD4[] = _("Help me!"); +ALIGNED(4) static const u8 sUnknown_80E8CE0[] = _("I can{APOSTROPHE}t get home!"); +ALIGNED(4) static const u8 sUnknown_80E8CF4[] = _("I{APOSTROPHE}m sad and lonely."); +ALIGNED(4) static const u8 sUnknown_80E8D0C[] = _("Where am I?"); +ALIGNED(4) static const u8 sUnknown_80E8D18[] = _("I was KO{APOSTROPHE}d..."); +ALIGNED(4) static const u8 sUnknown_80E8D28[] = _("I{APOSTROPHE}m too tired to move."); +ALIGNED(4) static const u8 sUnknown_80E8D44[] = _("I{APOSTROPHE}m not a fighter..."); +ALIGNED(4) static const u8 sUnknown_80E8D5C[] = _("I fainted..."); +ALIGNED(4) static const u8 sUnknown_80E8D6C[] = _("I was attacked!"); +ALIGNED(4) static const u8 sUnknown_80E8D7C[] = _("I{APOSTROPHE}m lost."); +ALIGNED(4) static const u8 sUnknown_80E8D88[] = _("I can{APOSTROPHE}t seem to get out."); +ALIGNED(4) static const u8 sUnknown_80E8DA4[] = _("I{APOSTROPHE}m scared!"); +ALIGNED(4) static const u8 sUnknown_80E8DB4[] = _("I{APOSTROPHE}m in trouble..."); +ALIGNED(4) static const u8 sUnknown_80E8DC8[] = _("I can{APOSTROPHE}t get out!"); +ALIGNED(4) static const u8 sUnknown_80E8DDC[] = _("Help!"); + +static const u8 sUnknown_80E8E18[]; +static const u8 sUnknown_80E8E2C[]; +static const u8 sUnknown_80E8E4C[]; +static const u8 sUnknown_80E8E6C[]; +static const u8 sUnknown_80E8E80[]; +static const u8 sUnknown_80E8E98[]; +static const u8 sUnknown_80E8EB4[]; +static const u8 sUnknown_80E8ED0[]; +static const u8 sUnknown_80E8EF8[]; +static const u8 sUnknown_80E8F10[]; +static const u8 sUnknown_80E8F2C[]; +static const u8 sUnknown_80E8F50[]; +static const u8 sUnknown_80E8F7C[]; + +static const u8 * const gUnknown_80E8DE4[13] = { + sUnknown_80E8F7C, + sUnknown_80E8F50, + sUnknown_80E8F2C, + sUnknown_80E8F10, + sUnknown_80E8EF8, + sUnknown_80E8ED0, + sUnknown_80E8EB4, + sUnknown_80E8E98, + sUnknown_80E8E80, + sUnknown_80E8E6C, + sUnknown_80E8E4C, + sUnknown_80E8E2C, + sUnknown_80E8E18 +}; + +ALIGNED(4) static const u8 sUnknown_80E8E18[] = _("I{APOSTROPHE}m famished..."); +ALIGNED(4) static const u8 sUnknown_80E8E2C[] = _("I can{APOSTROPHE}t move another step."); +ALIGNED(4) static const u8 sUnknown_80E8E4C[] = _("Whoa! It{APOSTROPHE}s too rough here..."); +ALIGNED(4) static const u8 sUnknown_80E8E6C[] = _("I was done in..."); +ALIGNED(4) static const u8 sUnknown_80E8E80[] = _("I lost in a battle..."); +ALIGNED(4) static const u8 sUnknown_80E8E98[] = _("I{APOSTROPHE}m close to fainting..."); +ALIGNED(4) static const u8 sUnknown_80E8EB4[] = _("I{APOSTROPHE}ve reached my limit..."); +ALIGNED(4) static const u8 sUnknown_80E8ED0[] = _("Fighting the tough foe was a mistake..."); +ALIGNED(4) static const u8 sUnknown_80E8EF8[] = _("This dungeon is scary!"); +ALIGNED(4) static const u8 sUnknown_80E8F10[] = _("I got lost in this dungeon!"); +ALIGNED(4) static const u8 sUnknown_80E8F2C[] = _("I{APOSTROPHE}m simply no good at fighting."); +ALIGNED(4) static const u8 sUnknown_80E8F50[] = _("I was attacked when I was sitting still!"); +ALIGNED(4) static const u8 sUnknown_80E8F7C[] = _("I don{APOSTROPHE}t know how I did it{COMMA} but I can{APOSTROPHE}t exit!"); + +static const u8 sUnknown_80E8FE4[]; +static const u8 sUnknown_80E8FF4[]; +static const u8 sUnknown_80E900C[]; +static const u8 sUnknown_80E9024[]; +static const u8 sUnknown_80E903C[]; +static const u8 sUnknown_80E9064[]; +static const u8 sUnknown_80E907C[]; +static const u8 sUnknown_80E9090[]; +static const u8 sUnknown_80E90B4[]; +static const u8 sUnknown_80E90D4[]; +static const u8 sUnknown_80E90E8[]; +static const u8 sUnknown_80E90F4[]; + +static const u8 * const gUnknown_80E8FB0[13] = { + sUnknown_80E90F4, + sUnknown_80E90E8, + sUnknown_80E90D4, + sUnknown_80E90B4, + sUnknown_80E9090, + sUnknown_80E907C, + sUnknown_80E9064, + sUnknown_80E903C, + sUnknown_80E9024, + sUnknown_80E900C, + sUnknown_80E8DDC, + sUnknown_80E8FF4, + sUnknown_80E8FE4 +}; + +ALIGNED(4) static const u8 sUnknown_80E8FE4[] = _("Aiyeeeeeeeeh!"); +ALIGNED(4) static const u8 sUnknown_80E8FF4[] = _("...Gasp! Waaaaaaaah!"); +ALIGNED(4) static const u8 sUnknown_80E900C[] = _("Someone{COMMA} please help!"); +ALIGNED(4) static const u8 sUnknown_80E9024[] = _("Rescue is requested!"); +ALIGNED(4) static const u8 sUnknown_80E903C[] = _("My consciousness is slipping... Help..."); +ALIGNED(4) static const u8 sUnknown_80E9064[] = _("Wroooooaaar! Someone!"); +ALIGNED(4) static const u8 sUnknown_80E907C[] = _("Where am I? Help!"); +ALIGNED(4) static const u8 sUnknown_80E9090[] = _("Why? Why is everyone attacking me?"); +ALIGNED(4) static const u8 sUnknown_80E90B4[] = _("I feel faint... Please help..."); +ALIGNED(4) static const u8 sUnknown_80E90D4[] = _("Someone{COMMA} help!"); +ALIGNED(4) static const u8 sUnknown_80E90E8[] = _("Someone!"); +ALIGNED(4) static const u8 sUnknown_80E90F4[] = _("Please{COMMA} I need help!"); + +static const u8 sUnknown_80E9134[]; +static const u8 sUnknown_80E9144[]; +static const u8 sUnknown_80E914C[]; +static const u8 sUnknown_80E9160[]; +static const u8 sUnknown_80E9170[]; +static const u8 sUnknown_80E917C[]; +static const u8 sUnknown_80E9190[]; +static const u8 sUnknown_80E91A8[]; +static const u8 sUnknown_80E91BC[]; + +static const u8 * const gUnknown_80E910C[10] = { + sUnknown_80E91BC, + sUnknown_80E91A8, + sUnknown_80E9190, + sUnknown_80E917C, + sUnknown_80E8DDC, + sUnknown_80E9170, + sUnknown_80E9160, + sUnknown_80E914C, + sUnknown_80E9144, + sUnknown_80E9134 +}; + +ALIGNED(4) static const u8 sUnknown_80E9134[] = _("Disappearance!"); +ALIGNED(4) static const u8 sUnknown_80E9144[] = _("Hurry!"); +ALIGNED(4) static const u8 sUnknown_80E914C[] = _("Hasn{APOSTROPHE}t come back."); +ALIGNED(4) static const u8 sUnknown_80E9160[] = _("I{APOSTROPHE}m worried."); +ALIGNED(4) static const u8 sUnknown_80E9170[] = _("Somebody!"); +ALIGNED(4) static const u8 sUnknown_80E917C[] = _("Failed to return."); +ALIGNED(4) static const u8 sUnknown_80E9190[] = _("Hurry{COMMA} save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 sUnknown_80E91A8[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} needs help!"); +ALIGNED(4) static const u8 sUnknown_80E91BC[] = _("Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); + +static const u8 sUnknown_80E9288[]; +static const u8 sUnknown_80E92A4[]; +static const u8 sUnknown_80E92C4[]; +static const u8 sUnknown_80E92E0[]; +static const u8 sUnknown_80E9300[]; +static const u8 sUnknown_80E9328[]; +static const u8 sUnknown_80E9344[]; +static const u8 sUnknown_80E9358[]; +static const u8 sUnknown_80E9378[]; +static const u8 sUnknown_80E9394[]; +static const u8 sUnknown_80E93B8[]; +static const u8 sUnknown_80E93E0[]; +static const u8 sUnknown_80E9400[]; +static const u8 sUnknown_80E9420[]; +static const u8 sUnknown_80E9440[]; +static const u8 sUnknown_80E9460[]; +static const u8 sUnknown_80E9480[]; +static const u8 sUnknown_80E94A0[]; +static const u8 sUnknown_80E94C0[]; +static const u8 sUnknown_80E94E0[]; +static const u8 sUnknown_80E94FC[]; +static const u8 sUnknown_80E951C[]; +static const u8 sUnknown_80E9538[]; +static const u8 sUnknown_80E955C[]; +static const u8 sUnknown_80E9588[]; +static const u8 sUnknown_80E95AC[]; +static const u8 sUnknown_80E95C8[]; +static const u8 sUnknown_80E95EC[]; +static const u8 sUnknown_80E9608[]; +static const u8 sUnknown_80E9628[]; +static const u8 sUnknown_80E9650[]; +static const u8 sUnknown_80E9668[]; +static const u8 sUnknown_80E9688[]; +static const u8 sUnknown_80E96A8[]; +static const u8 sUnknown_80E96C4[]; +static const u8 sUnknown_80E96E4[]; +static const u8 sUnknown_80E9708[]; +static const u8 sUnknown_80E9728[]; +static const u8 sUnknown_80E9748[]; +static const u8 sUnknown_80E976C[]; +static const u8 sUnknown_80E9788[]; +static const u8 sUnknown_80E97A0[]; +static const u8 sUnknown_80E97C4[]; +static const u8 sUnknown_80E97E0[]; +static const u8 sUnknown_80E97FC[]; + +static const u8 * const gUnknown_80E91D4[45] = { + sUnknown_80E97FC, + sUnknown_80E97E0, + sUnknown_80E97C4, + sUnknown_80E97A0, + sUnknown_80E9788, + sUnknown_80E976C, + sUnknown_80E9748, + sUnknown_80E9728, + sUnknown_80E9708, + sUnknown_80E96E4, + sUnknown_80E96C4, + sUnknown_80E96A8, + sUnknown_80E9688, + sUnknown_80E9668, + sUnknown_80E9650, + sUnknown_80E9628, + sUnknown_80E9608, + sUnknown_80E95EC, + sUnknown_80E95C8, + sUnknown_80E95AC, + sUnknown_80E9588, + sUnknown_80E955C, + sUnknown_80E9538, + sUnknown_80E951C, + sUnknown_80E94FC, + sUnknown_80E94E0, + sUnknown_80E94C0, + sUnknown_80E94A0, + sUnknown_80E9480, + sUnknown_80E9460, + sUnknown_80E9440, + sUnknown_80E9420, + sUnknown_80E9400, + sUnknown_80E93E0, + sUnknown_80E93B8, + sUnknown_80E9394, + sUnknown_80E9378, + sUnknown_80E9358, + sUnknown_80E9344, + sUnknown_80E9328, + sUnknown_80E9300, + sUnknown_80E92E0, + sUnknown_80E92C4, + sUnknown_80E92A4, + sUnknown_80E9288 +}; + +ALIGNED(4) static const u8 sUnknown_80E9288[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} fell into a trap!"); +ALIGNED(4) static const u8 sUnknown_80E92A4[] = _("I lost contact with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 sUnknown_80E92C4[] = _("I can{APOSTROPHE}t contact {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 sUnknown_80E92E0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t walk anymore!"); +ALIGNED(4) static const u8 sUnknown_80E9300[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s been missing three days!"); +ALIGNED(4) static const u8 sUnknown_80E9328[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} went the wrong way!"); +ALIGNED(4) static const u8 sUnknown_80E9344[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is lost!"); +ALIGNED(4) static const u8 sUnknown_80E9358[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be stuck!"); +ALIGNED(4) static const u8 sUnknown_80E9378[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be lost!"); +ALIGNED(4) static const u8 sUnknown_80E9394[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may have had an accident!"); +ALIGNED(4) static const u8 sUnknown_80E93B8[] = _("I{APOSTROPHE}m worried for {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s safety!"); +ALIGNED(4) static const u8 sUnknown_80E93E0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is fighting all alone!"); +ALIGNED(4) static const u8 sUnknown_80E9400[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is too hungry to move!"); +ALIGNED(4) static const u8 sUnknown_80E9420[] = _("Hurry{COMMA} bring back {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sUnknown_80E9440[] = _("I got separated from {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sUnknown_80E9460[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is running out of time!"); +ALIGNED(4) static const u8 sUnknown_80E9480[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} was attacked{COMMA} maybe!"); +ALIGNED(4) static const u8 sUnknown_80E94A0[] = _("Something happened to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 sUnknown_80E94C0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be trapped!"); +ALIGNED(4) static const u8 sUnknown_80E94E0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is stuck in a cave!"); +ALIGNED(4) static const u8 sUnknown_80E94FC[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be helpless!"); +ALIGNED(4) static const u8 sUnknown_80E951C[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t reemerged!"); +ALIGNED(4) static const u8 sUnknown_80E9538[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} was attacked by assailants!"); +ALIGNED(4) static const u8 sUnknown_80E955C[] = _("It appears as if {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t escape!"); +ALIGNED(4) static const u8 sUnknown_80E9588[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may have fainted already!"); +ALIGNED(4) static const u8 sUnknown_80E95AC[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is about to faint!"); +ALIGNED(4) static const u8 sUnknown_80E95C8[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s been gone a long time!"); +ALIGNED(4) static const u8 sUnknown_80E95EC[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} has been cornered!"); +ALIGNED(4) static const u8 sUnknown_80E9608[] = _("I{APOSTROPHE}m worried about {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 sUnknown_80E9628[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s whereabouts are unknown!"); +ALIGNED(4) static const u8 sUnknown_80E9650[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} was paralyzed!"); +ALIGNED(4) static const u8 sUnknown_80E9668[] = _("Trouble may have found {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 sUnknown_80E9688[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be freezing!"); +ALIGNED(4) static const u8 sUnknown_80E96A8[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may be confused!"); +ALIGNED(4) static const u8 sUnknown_80E96C4[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is too scared to move!"); +ALIGNED(4) static const u8 sUnknown_80E96E4[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} went missing this morning!"); +ALIGNED(4) static const u8 sUnknown_80E9708[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} appears to be injured!"); +ALIGNED(4) static const u8 sUnknown_80E9728[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may be facing danger!"); +ALIGNED(4) static const u8 sUnknown_80E9748[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} might be unable to return."); +ALIGNED(4) static const u8 sUnknown_80E976C[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t come back!"); +ALIGNED(4) static const u8 sUnknown_80E9788[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t swim!"); +ALIGNED(4) static const u8 sUnknown_80E97A0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t been heard from!"); +ALIGNED(4) static const u8 sUnknown_80E97C4[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is still missing."); +ALIGNED(4) static const u8 sUnknown_80E97E0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may be endangered!"); +ALIGNED(4) static const u8 sUnknown_80E97FC[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} passed out from the heat!"); + +static const u8 sUnknown_80E9848[]; +static const u8 sUnknown_80E985C[]; +static const u8 sUnknown_80E987C[]; +static const u8 sUnknown_80E9898[]; +static const u8 sUnknown_80E98B4[]; +static const u8 sUnknown_80E98DC[]; +static const u8 sUnknown_80E98F0[]; +static const u8 sUnknown_80E9908[]; + +static const u8 * const gUnknown_80E9820[10] = { + sUnknown_80E9908, + sUnknown_80E98F0, + sUnknown_80E98DC, + sUnknown_80E98B4, + sUnknown_80E8CD4, + sUnknown_80E9898, + sUnknown_80E90D4, + sUnknown_80E987C, + sUnknown_80E985C, + sUnknown_80E9848 +}; + +ALIGNED(4) static const u8 sUnknown_80E9848[] = _("Reward upon rescue!"); +ALIGNED(4) static const u8 sUnknown_80E985C[] = _("A rescue is urgently needed!"); +ALIGNED(4) static const u8 sUnknown_80E987C[] = _("Please send a rescue team!"); +ALIGNED(4) static const u8 sUnknown_80E9898[] = _("I{APOSTROPHE}m pleading for help!"); +ALIGNED(4) static const u8 sUnknown_80E98B4[] = _("I don{APOSTROPHE}t care who it is! Please help!"); +ALIGNED(4) static const u8 sUnknown_80E98DC[] = _("Someone! Anyone?"); +ALIGNED(4) static const u8 sUnknown_80E98F0[] = _("Please! I need help!"); +ALIGNED(4) static const u8 sUnknown_80E9908[] = _("Please! Someone help!"); + +static const u8 sUnknown_80E99C8[]; +static const u8 sUnknown_80E9A0C[]; +static const u8 sUnknown_80E9A54[]; +static const u8 sUnknown_80E9A94[]; +static const u8 sUnknown_80E9ACC[]; +static const u8 sUnknown_80E9B18[]; +static const u8 sUnknown_80E9B58[]; +static const u8 sUnknown_80E9BAC[]; +static const u8 sUnknown_80E9BFC[]; +static const u8 sUnknown_80E9C38[]; +static const u8 sUnknown_80E9C80[]; +static const u8 sUnknown_80E9CC4[]; +static const u8 sUnknown_80E9D04[]; +static const u8 sUnknown_80E9D50[]; +static const u8 sUnknown_80E9DA4[]; +static const u8 sUnknown_80E9DFC[]; +static const u8 sUnknown_80E9E40[]; +static const u8 sUnknown_80E9E80[]; +static const u8 sUnknown_80E9ED8[]; +static const u8 sUnknown_80E9F24[]; +static const u8 sUnknown_80E9F5C[]; + +// Also used in sub_803B600 and sub_803C3E0 +const unkStruct_80E9920 gUnknown_80E9920[21] = { + { MONSTER_BEEDRILL, MONSTER_WEEDLE, sUnknown_80E9F5C }, + { MONSTER_PIDGEOT, MONSTER_PIDGEY, sUnknown_80E9F24 }, + { MONSTER_RATICATE, MONSTER_RATTATA, sUnknown_80E9ED8 }, + { MONSTER_RAICHU, MONSTER_PICHU, sUnknown_80E9E80 }, + { MONSTER_CLEFABLE, MONSTER_CLEFFA, sUnknown_80E9E40 }, + { MONSTER_WIGGLYTUFF, MONSTER_IGGLYBUFF, sUnknown_80E9DFC }, + { MONSTER_CROBAT, MONSTER_ZUBAT, sUnknown_80E9DA4 }, + { MONSTER_VILEPLUME, MONSTER_ODDISH, sUnknown_80E9D50 }, + { MONSTER_POLIWRATH, MONSTER_POLIWAG, sUnknown_80E9D04 }, + { MONSTER_TOGETIC, MONSTER_TOGEPI, sUnknown_80E9CC4 }, + { MONSTER_AZUMARILL, MONSTER_AZURILL, sUnknown_80E9C80 }, + { MONSTER_URSARING, MONSTER_TEDDIURSA, sUnknown_80E9C38 }, + { MONSTER_DONPHAN, MONSTER_PHANPY, sUnknown_80E9BFC }, + { MONSTER_ELECTABUZZ, MONSTER_ELEKID, sUnknown_80E9BAC }, + { MONSTER_MAGMAR, MONSTER_MAGBY, sUnknown_80E9B58 }, + { MONSTER_TYRANITAR, MONSTER_LARVITAR, sUnknown_80E9B18 }, + { MONSTER_BEAUTIFLY, MONSTER_WURMPLE, sUnknown_80E9ACC }, + { MONSTER_AGGRON, MONSTER_ARON, sUnknown_80E9A94 }, + { MONSTER_FLYGON, MONSTER_TRAPINCH, sUnknown_80E9A54 }, + { MONSTER_WALREIN, MONSTER_SPHEAL, sUnknown_80E9A0C }, + { MONSTER_SWELLOW, MONSTER_TAILLOW, sUnknown_80E99C8 } +}; + +ALIGNED(4) static const u8 sUnknown_80E99C8[] = _( + "Please look for Taillow!\n" + "My baby is very timid{COMMA} so I{APOSTROPHE}m worried!"); + +ALIGNED(4) static const u8 sUnknown_80E9A0C[] = _( + "Save my baby Spheal! My baby is easy to\n" + "spot because she likes to roll!"); + +ALIGNED(4) static const u8 sUnknown_80E9A54[] = _( + "Please find my little Trapinch!\n" + "My baby is probably lying low!"); + +ALIGNED(4) static const u8 sUnknown_80E9A94[] = _( + "Please find my Aron!\n" + "He{APOSTROPHE}s my only child! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80E9ACC[] = _( + "My Wurmple went missing! Please look\n" + "for the cute spikes on his rear end!"); + +ALIGNED(4) static const u8 sUnknown_80E9B18[] = _( + "Please search for Larvitar!\n" + "He loves to eat dirt! I need help!"); + +ALIGNED(4) static const u8 sUnknown_80E9B58[] = _( + "My baby Magby is lost. I{APOSTROPHE}m worried sick.\n" + "She{APOSTROPHE}s a cheerful child who loves fire."); + +ALIGNED(4) static const u8 sUnknown_80E9BAC[] = _( + "My son can be wild with thunderbolts{COMMA}\n" + "but he{APOSTROPHE}s kindhearted. Please help!"); + +ALIGNED(4) static const u8 sUnknown_80E9BFC[] = _( + "Please look for Phanpy!\n" + "My son has a distinctive long nose!"); + +ALIGNED(4) static const u8 sUnknown_80E9C38[] = _( + "Please find Teddiursa! My baby{APOSTROPHE}s head\n" + "has a cute crescent mark! Help!"); + +ALIGNED(4) static const u8 sUnknown_80E9C80[] = _( + "Please save my adorable Azurill!\n" + "Watch for a round and bouncy tail!"); + +ALIGNED(4) static const u8 sUnknown_80E9CC4[] = _( + "Help! Togepi{APOSTROPHE}s just a baby!\n" + "I{APOSTROPHE}m worried sick! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80E9D04[] = _( + "My baby Poliwag! He wandered off...\n" + "He only just learned how to walk! Help!"); + +ALIGNED(4) static const u8 sUnknown_80E9D50[] = _( + "Oddish disappeared from sight! She may be\n" + "buried somewhere! Someone{COMMA} please help!"); + +ALIGNED(4) static const u8 sUnknown_80E9DA4[] = _( + "Please rescue Zubat! He{APOSTROPHE}s so young he\n" + "can{APOSTROPHE}t even hang from cavern ceilings well!"); + +ALIGNED(4) static const u8 sUnknown_80E9DFC[] = _( + "Please find Igglybuff! Oh{COMMA} where did that\n" + "child roll off to?! Oh!"); + +ALIGNED(4) static const u8 sUnknown_80E9E40[] = _( + "Cleffa disappeared! Please let me know\n" + "if you find my child!"); + +ALIGNED(4) static const u8 sUnknown_80E9E80[] = _( + "Please rescue Pichu! He{APOSTROPHE}s a little cutie\n" + "who can{APOSTROPHE}t charge power well yet. Please!"); + +ALIGNED(4) static const u8 sUnknown_80E9ED8[] = _( + "Rattata is missing! My precious child!\n" + "Please{COMMA} won{APOSTROPHE}t someone help me?"); + +ALIGNED(4) static const u8 sUnknown_80E9F24[] = _( + "Oh{COMMA} my cute little Pidgey!\n" + "Please{COMMA} someone help!"); + +ALIGNED(4) static const u8 sUnknown_80E9F5C[] = _( + "Please rescue Weedle!\n" + "He{APOSTROPHE}s my son! Please!"); + +static const u8 sUnknown_80EA1A8[]; +static const u8 sUnknown_80EA1FC[]; +static const u8 sUnknown_80EA214[]; +static const u8 sUnknown_80EA26C[]; +static const u8 sUnknown_80EA2BC[]; +static const u8 sUnknown_80EA30C[]; +static const u8 sUnknown_80EA33C[]; +static const u8 sUnknown_80EA384[]; +static const u8 sUnknown_80EA398[]; +static const u8 sUnknown_80EA3DC[]; +static const u8 sUnknown_80EA41C[]; +static const u8 sUnknown_80EA45C[]; +static const u8 sUnknown_80EA4A0[]; +static const u8 sUnknown_80EA4E4[]; +static const u8 sUnknown_80EA51C[]; +static const u8 sUnknown_80EA534[]; +static const u8 sUnknown_80EA57C[]; +static const u8 sUnknown_80EA5C4[]; +static const u8 sUnknown_80EA614[]; +static const u8 sUnknown_80EA650[]; +static const u8 sUnknown_80EA698[]; +static const u8 sUnknown_80EA6E4[]; +static const u8 sUnknown_80EA730[]; +static const u8 sUnknown_80EA784[]; +static const u8 sUnknown_80EA7A8[]; +static const u8 sUnknown_80EA7FC[]; +static const u8 sUnknown_80EA84C[]; +static const u8 sUnknown_80EA880[]; +static const u8 sUnknown_80EA8D0[]; +static const u8 sUnknown_80EA914[]; +static const u8 sUnknown_80EA968[]; +static const u8 sUnknown_80EA9A4[]; +static const u8 sUnknown_80EA9F8[]; +static const u8 sUnknown_80EAA34[]; +static const u8 sUnknown_80EAA84[]; +static const u8 sUnknown_80EAAC8[]; +static const u8 sUnknown_80EAB10[]; +static const u8 sUnknown_80EAB68[]; +static const u8 sUnknown_80EABA8[]; +static const u8 sUnknown_80EABE8[]; +static const u8 sUnknown_80EAC38[]; +static const u8 sUnknown_80EAC88[]; +static const u8 sUnknown_80EACD4[]; +static const u8 sUnknown_80EAD20[]; +static const u8 sUnknown_80EAD50[]; +static const u8 sUnknown_80EAD94[]; +static const u8 sUnknown_80EADD0[]; +static const u8 sUnknown_80EADFC[]; +static const u8 sUnknown_80EAE44[]; + +// Also used in sub_803B628 and sub_803C45C +const unkStruct_80E9F8C gUnknown_80E9F8C[45] = { + // Save my friend + { MONSTER_EXEGGUTOR, MONSTER_DODRIO, sUnknown_80EAE44, sUnknown_80EADFC }, + { MONSTER_FEAROW, MONSTER_RHYDON, sUnknown_80EAE44, sUnknown_80EADD0 }, + { MONSTER_SHELLDER, MONSTER_CLAMPERL, sUnknown_80EAE44, sUnknown_80EAD94 }, + { MONSTER_MUK, MONSTER_SWALOT, sUnknown_80EAE44, sUnknown_80EAD50 }, + { MONSTER_MEOWTH, MONSTER_SKITTY, sUnknown_80EAE44, sUnknown_80EAD20 }, + { MONSTER_MAGIKARP, MONSTER_FEEBAS, sUnknown_80EAE44, sUnknown_80EACD4 }, + { MONSTER_WEEDLE, MONSTER_WURMPLE, sUnknown_80EAE44, sUnknown_80EAC88 }, + { MONSTER_CASCOON, MONSTER_SILCOON, sUnknown_80EAE44, sUnknown_80EAC38 }, + { MONSTER_TAILLOW, MONSTER_PIDGEY, sUnknown_80EAE44, sUnknown_80EABE8 }, + { MONSTER_VULPIX, MONSTER_NUMEL, sUnknown_80EAE44, sUnknown_80EABA8 }, + { MONSTER_IGGLYBUFF, MONSTER_CLEFFA, sUnknown_80EAE44, sUnknown_80EAB68 }, + { MONSTER_VENOMOTH, MONSTER_DUSTOX, sUnknown_80EAE44, sUnknown_80EAB10 }, + { MONSTER_VIGOROTH, MONSTER_PRIMEAPE, sUnknown_80EAE44, sUnknown_80EAAC8 }, + { MONSTER_POOCHYENA, MONSTER_GROWLITHE, sUnknown_80EAE44, sUnknown_80EAA84 }, + { MONSTER_BELLSPROUT, MONSTER_SHUCKLE, sUnknown_80EAE44, sUnknown_80EAA34 }, + { MONSTER_SEEL, MONSTER_SEALEO, sUnknown_80EAE44, sUnknown_80EA9F8 }, + { MONSTER_HYPNO, MONSTER_MR_MIME, sUnknown_80EAE44, sUnknown_80EA9A4 }, + { MONSTER_KRABBY, MONSTER_CORPHISH, sUnknown_80EAE44, sUnknown_80EA968 }, + { MONSTER_SNORLAX, MONSTER_SLAKING, sUnknown_80EAE44, sUnknown_80EA914 }, + { MONSTER_PINSIR, MONSTER_HERACROSS, sUnknown_80EAE44, sUnknown_80EA8D0 }, + { MONSTER_SNEASEL, MONSTER_ZANGOOSE, sUnknown_80EAE44, sUnknown_80EA880 }, + { MONSTER_AZURILL, MONSTER_TOGEPI, sUnknown_80EAE44, sUnknown_80EA84C }, + { MONSTER_DITTO, MONSTER_SUDOWOODO, sUnknown_80EAE44, sUnknown_80EA7FC }, + { MONSTER_TEDDIURSA, MONSTER_SPINDA, sUnknown_80EAE44, sUnknown_80EA7A8 }, + { MONSTER_SLOWPOKE, MONSTER_SLAKOTH, sUnknown_80EAE44, sUnknown_80EA784 }, + { MONSTER_NOCTOWL, MONSTER_MURKROW, sUnknown_80EAE44, sUnknown_80EA730 }, + { MONSTER_ROSELIA, MONSTER_BELLOSSOM, sUnknown_80EAE44, sUnknown_80EA6E4 }, + { MONSTER_DELIBIRD, MONSTER_PELIPPER, sUnknown_80EAE44, sUnknown_80EA698 }, + { MONSTER_RELICANTH, MONSTER_NINETALES, sUnknown_80EAE44, sUnknown_80EA650 }, + { MONSTER_HOPPIP, MONSTER_CHIMECHO, sUnknown_80EAE44, sUnknown_80EA614 }, + { MONSTER_MISDREAVUS, MONSTER_SHUPPET, sUnknown_80EAE44, sUnknown_80EA5C4 }, + { MONSTER_CORSOLA, MONSTER_LUVDISC, sUnknown_80EAE44, sUnknown_80EA57C }, + { MONSTER_TOGETIC, MONSTER_BLISSEY, sUnknown_80EAE44, sUnknown_80EA534 }, + // Save my love + { MONSTER_NIDORAN_M, MONSTER_NIDORAN_F, sUnknown_80EA51C, sUnknown_80EA4E4 }, + { MONSTER_NIDORINO, MONSTER_NIDORINA, sUnknown_80EA51C, sUnknown_80EA4A0 }, + { MONSTER_NIDOKING, MONSTER_NIDOQUEEN, sUnknown_80EA51C, sUnknown_80EA45C }, + { MONSTER_TAUROS, MONSTER_MILTANK, sUnknown_80EA51C, sUnknown_80EA41C }, + { MONSTER_VOLBEAT, MONSTER_ILLUMISE, sUnknown_80EA51C, sUnknown_80EA3DC }, + { MONSTER_MINUN, MONSTER_PLUSLE, sUnknown_80EA51C, sUnknown_80EA398 }, + // Rescue my rival + { MONSTER_ZANGOOSE, MONSTER_SEVIPER, sUnknown_80EA384, sUnknown_80EA33C }, + { MONSTER_HITMONLEE, MONSTER_HITMONCHAN, sUnknown_80EA384, sUnknown_80EA30C }, + { MONSTER_LUNATONE, MONSTER_SOLROCK, sUnknown_80EA384, sUnknown_80EA2BC }, + { MONSTER_OMANYTE, MONSTER_KABUTO, sUnknown_80EA384, sUnknown_80EA26C }, + { MONSTER_LILEEP, MONSTER_ANORITH, sUnknown_80EA384, sUnknown_80EA214 }, + // Help my brother + { MONSTER_PICHU, MONSTER_PICHU, sUnknown_80EA1FC, sUnknown_80EA1A8 } +}; + +ALIGNED(4) static const u8 sUnknown_80EA1A8[] = _( + "My little brother Pichu disappeared!\n" + "I{APOSTROPHE}m really worried! Someone{COMMA} please help!"); + +ALIGNED(4) static const u8 sUnknown_80EA1FC[] = _("Please help my brother!"); + +ALIGNED(4) static const u8 sUnknown_80EA214[] = _( + "We{APOSTROPHE}ve been rivals with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} for\n" + "generations. It can{APOSTROPHE}t suddenly end like this!"); + +ALIGNED(4) static const u8 sUnknown_80EA26C[] = _( + "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} has been a rival since my\n" + "ancestors{APOSTROPHE} time. The rivalry can{APOSTROPHE}t end!"); + +ALIGNED(4) static const u8 sUnknown_80EA2BC[] = _( + "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} can{APOSTROPHE}t leave without settling\n" + "which one of us is better. Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EA30C[] = _( + "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\n" + "We owe each other a game!"); + +ALIGNED(4) static const u8 sUnknown_80EA33C[] = _( + "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We detest\n" + "each other{COMMA} but we need each other!"); + +ALIGNED(4) static const u8 sUnknown_80EA384[] = _("Rescue my rival!"); + +ALIGNED(4) static const u8 sUnknown_80EA398[] = _( + "I can{APOSTROPHE}t live without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "My heart is breaking! Please! Help!"); + +ALIGNED(4) static const u8 sUnknown_80EA3DC[] = _( + "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We{APOSTROPHE}re no good if we{APOSTROPHE}re not together!"); + +ALIGNED(4) static const u8 sUnknown_80EA41C[] = _( + "Please save my {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! Now I\n" + "know what {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} means to me..."); + +ALIGNED(4) static const u8 sUnknown_80EA45C[] = _( + "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We\n" + "promised our futures together! Please!"); + +ALIGNED(4) static const u8 sUnknown_80EA4A0[] = _( + "Please rescue my precious {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We{APOSTROPHE}re in love! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EA4E4[] = _( + "Please! Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We{APOSTROPHE}re madly in love!"); + +ALIGNED(4) static const u8 sUnknown_80EA51C[] = _("Please save my love!"); + +ALIGNED(4) static const u8 sUnknown_80EA534[] = _( + "We make each other happy--it{APOSTROPHE}s in our\n" + "nature. Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); + +ALIGNED(4) static const u8 sUnknown_80EA57C[] = _( + "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! The beach\n" + "feels empty without my usual friend..."); + +ALIGNED(4) static const u8 sUnknown_80EA5C4[] = _( + "I feel lonely without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} to pull\n" + "pranks and mess around with. Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EA614[] = _( + "Help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} please!\n" + "We often took strolls on the wind!"); + +ALIGNED(4) static const u8 sUnknown_80EA650[] = _( + "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We{APOSTROPHE}re both\n" + "old-timers who are longtime friends!"); + +ALIGNED(4) static const u8 sUnknown_80EA698[] = _( + "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}. We{APOSTROPHE}ve been in\n" + "the delivery business for many years!"); + +ALIGNED(4) static const u8 sUnknown_80EA6E4[] = _( + "I{APOSTROPHE}m sad without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{APOSTROPHE}s company.\n" + "We showed flowers to each other..."); + +ALIGNED(4) static const u8 sUnknown_80EA730[] = _( + "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} there{APOSTROPHE}s no one for\n" + "me to play with in the dark! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EA784[] = _( + "...Help... Please...\n" + "Who was it?"); + +ALIGNED(4) static const u8 sUnknown_80EA7A8[] = _( + "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}. We{APOSTROPHE}re both alike\n" + "in being kind of vacant and unpredictable!"); + +ALIGNED(4) static const u8 sUnknown_80EA7FC[] = _( + "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} around{COMMA} there{APOSTROPHE}s no\n" + "one to heckle! Please break my boredom!"); + +ALIGNED(4) static const u8 sUnknown_80EA84C[] = _( + "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "My tiny and round best friend!"); + +ALIGNED(4) static const u8 sUnknown_80EA880[] = _( + "We promised to show each other how\n" + "sharp our claws could be... Someone{COMMA} help!"); + +ALIGNED(4) static const u8 sUnknown_80EA8D0[] = _( + "I lock horns with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} for fun.\n" + "I terribly miss doing that..."); + +ALIGNED(4) static const u8 sUnknown_80EA914[] = _( + "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! We{APOSTROPHE}re both lazy{COMMA}\n" + "so we{APOSTROPHE}re comfortable around each other!"); + +ALIGNED(4) static const u8 sUnknown_80EA968[] = _( + "I want to help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We both have a thing for pincers!"); + +ALIGNED(4) static const u8 sUnknown_80EA9A4[] = _( + "We promised each other to perform magic\n" + "and hypnosis shows together. Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EA9F8[] = _( + "Someone save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}--my friend\n" + "and rival at ball juggling!"); + +ALIGNED(4) static const u8 sUnknown_80EAA34[] = _( + "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! Our cries are\n" + "identical! We can tell each other anything!"); + +ALIGNED(4) static const u8 sUnknown_80EAA84[] = _( + "I can{APOSTROPHE}t play the biting game without my pal\n" + "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EAAC8[] = _( + "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is really noisy.\n" + "But it{APOSTROPHE}s lonely without the racket... Sob..."); + +ALIGNED(4) static const u8 sUnknown_80EAB10[] = _( + "Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} it{APOSTROPHE}s no fun playing\n" + "with toxic powders! Someone{COMMA} please help!"); + +ALIGNED(4) static const u8 sUnknown_80EAB68[] = _( + "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We{APOSTROPHE}ve been friends since we were eggs!"); + +ALIGNED(4) static const u8 sUnknown_80EABA8[] = _( + "Please help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}--a good\n" + "friend who shares my love of fire!"); + +ALIGNED(4) static const u8 sUnknown_80EABE8[] = _( + "{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} and I are of the same height.\n" + "We{APOSTROPHE}re lifelong friends! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EAC38[] = _( + "We identify with each other because we\n" + "both evolved from Wurmple. Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EAC88[] = _( + "Help! I{APOSTROPHE}m friends with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}\n" + "because we both evolve fast! Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EACD4[] = _( + "Help! {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} isn{APOSTROPHE}t much now{COMMA} but\n" + "my friend is amazing after evolution!"); + +ALIGNED(4) static const u8 sUnknown_80EAD20[] = _( + "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We always play together!"); + +ALIGNED(4) static const u8 sUnknown_80EAD50[] = _( + "Please rescue {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}.\n" + "I can{APOSTROPHE}t stand to see a sludge buddy hurt!"); + +ALIGNED(4) static const u8 sUnknown_80EAD94[] = _( + "Please save my best friend {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!\n" + "We{APOSTROPHE}re both bivalves!"); + +ALIGNED(4) static const u8 sUnknown_80EADD0[] = _( + "Please save {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA}\n" + "my drilling buddy!"); + +ALIGNED(4) static const u8 sUnknown_80EADFC[] = _( + "This precious friend can chat separately\n" + "with three heads. Please help!"); + +ALIGNED(4) static const u8 sUnknown_80EAE44[] = _("Please save my friend!"); + +static const u8 EscortMe_Text[]; +static const u8 TakeMeWith_Text[]; +static const u8 WantToSee_Text[]; +static const u8 TakeMe_Text[]; + +// Escort Mission Text +static const u8 * const gUnknown_80EAE5C[4] = { + TakeMe_Text, + WantToSee_Text, + TakeMeWith_Text, + EscortMe_Text +}; + +ALIGNED(4) static const u8 EscortMe_Text[] = _("Escort me!"); +ALIGNED(4) static const u8 TakeMeWith_Text[] = _("Please take me with you!"); +ALIGNED(4) static const u8 WantToSee_Text[] = _("I want to see {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 TakeMe_Text[] = _("Take me!"); + +static const u8 CloseFriends_80EAF08[]; +static const u8 Apologize_80EAF2C[]; +static const u8 MustMeet_80EAF4C[]; +static const u8 HaveToMeet_80EAF70[]; +static const u8 HaveToGo_80EAF94[]; +static const u8 LongTime_80EAFA4[]; +static const u8 SickWorry_80EAFD4[]; +static const u8 FaintedInside_80EAFF0[]; +static const u8 HasntReturned_80EB014[]; +static const u8 WantToHelp_80EB030[]; +static const u8 InTrouble_80EB048[]; +static const u8 WaitingForever_80EB06C[]; +static const u8 WaitingInDungeon_80EB090[]; +static const u8 TooWeak_80EB0B4[]; +static const u8 OwnPower_80EB0DC[]; +static const u8 GoMyself_80EB0FC[]; +static const u8 WorriedAbout_80EB118[]; +static const u8 WantMeet_80EB138[]; +static const u8 PromisedMeet_80EB158[]; +static const u8 WaitingForMe_80EB17C[]; + +static const u8 * const gUnknown_80EAEB8[20] = { + WaitingForMe_80EB17C, + PromisedMeet_80EB158, + WantMeet_80EB138, + WorriedAbout_80EB118, + GoMyself_80EB0FC, + OwnPower_80EB0DC, + TooWeak_80EB0B4, + WaitingInDungeon_80EB090, + WaitingForever_80EB06C, + InTrouble_80EB048, + WantToHelp_80EB030, + HasntReturned_80EB014, + FaintedInside_80EAFF0, + SickWorry_80EAFD4, + LongTime_80EAFA4, + HaveToGo_80EAF94, + HaveToMeet_80EAF70, + MustMeet_80EAF4C, + Apologize_80EAF2C, + CloseFriends_80EAF08 +}; + +ALIGNED(4) static const u8 CloseFriends_80EAF08[] = _("I{APOSTROPHE}m close friends with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 Apologize_80EAF2C[] = _("I want to apologize to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 MustMeet_80EAF4C[] = _("I don{APOSTROPHE}t care how--we must meet!"); +ALIGNED(4) static const u8 HaveToMeet_80EAF70[] = _("We have to meet--whatever it takes!"); +ALIGNED(4) static const u8 HaveToGo_80EAF94[] = _("I have to go!"); +ALIGNED(4) static const u8 LongTime_80EAFA4[] = _("We haven{APOSTROPHE}t seen each other in a long time."); +ALIGNED(4) static const u8 SickWorry_80EAFD4[] = _("I{APOSTROPHE}m sick with worry..."); +ALIGNED(4) static const u8 FaintedInside_80EAFF0[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} may have fainted inside..."); +ALIGNED(4) static const u8 HasntReturned_80EB014[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} hasn{APOSTROPHE}t returned!"); +ALIGNED(4) static const u8 WantToHelp_80EB030[] = _("I want to help {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 InTrouble_80EB048[] = _("Hurry{COMMA} {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is in trouble..."); +ALIGNED(4) static const u8 WaitingForever_80EB06C[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} has been waiting forever..."); +ALIGNED(4) static const u8 WaitingInDungeon_80EB090[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is waiting in the dungeon."); +ALIGNED(4) static const u8 TooWeak_80EB0B4[] = _("I{APOSTROPHE}m too weak. It{APOSTROPHE}s not possible."); +ALIGNED(4) static const u8 OwnPower_80EB0DC[] = _("I can{APOSTROPHE}t go on my own power..."); +ALIGNED(4) static const u8 GoMyself_80EB0FC[] = _("I can{APOSTROPHE}t go by myself..."); +ALIGNED(4) static const u8 WorriedAbout_80EB118[] = _("I{APOSTROPHE}m worried about {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}..."); +ALIGNED(4) static const u8 WantMeet_80EB138[] = _("I want to meet with {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 PromisedMeet_80EB158[] = _("We promised to meet in the dungeon!"); +ALIGNED(4) static const u8 WaitingForMe_80EB17C[] = _("{COLOR_1 YELLOW}%s{END_COLOR_TEXT_1} is waiting for me!"); + +static const u8 SomeonePleaseEscort[]; +static const u8 PleaseEscortMe[]; +static const u8 PleaseTakeMeThere[]; +static const u8 PleaseTakeMeToSee[]; + +static const u8 * const gUnknown_80EB198[4] = { + PleaseTakeMeToSee, + PleaseTakeMeThere, + PleaseEscortMe, + SomeonePleaseEscort +}; + +ALIGNED(4) static const u8 SomeonePleaseEscort[] = _("Someone{COMMA} please escort me!"); +ALIGNED(4) static const u8 PleaseEscortMe[] = _("Please escort me there!"); +ALIGNED(4) static const u8 PleaseTakeMeThere[] = _("Please take me there with you!"); +ALIGNED(4) static const u8 PleaseTakeMeToSee[] = _("Please take me to see {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); + +static const u8 Without_80EB238[]; +static const u8 Worried_80EB250[]; +static const u8 WantMeet_80EB274[]; +static const u8 HelpMeet_80EB294[]; +static const u8 Escort_80EB2AC[]; +static const u8 TakeMeet_80EB2CC[]; + +static const u8 * const gUnknown_80EB220[6] = { + TakeMeet_80EB2CC, + Escort_80EB2AC, + HelpMeet_80EB294, + WantMeet_80EB274, + Worried_80EB250, + Without_80EB238 +}; + +ALIGNED(4) static const u8 Without_80EB238[] = _("Without {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}{COMMA} I..."); +ALIGNED(4) static const u8 Worried_80EB250[] = _("I{APOSTROPHE}m so worried about {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}..."); +ALIGNED(4) static const u8 WantMeet_80EB274[] = _("I really want to meet {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 HelpMeet_80EB294[] = _("Help me meet {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 Escort_80EB2AC[] = _("Please escort me to my {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); +ALIGNED(4) static const u8 TakeMeet_80EB2CC[] = _("Please! Take me to meet {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}!"); + +static const u8 Lonely_80EB308[]; +static const u8 NoGood_80EB334[]; +static const u8 MeansEverything_80EB35C[]; +static const u8 WePromised_80EB37C[]; +static const u8 WeBelong_80EB3A4[]; +static const u8 WeInLove_80EB3CC[]; + +static const u8 * const gUnknown_80EB2F0[6] = { + WeInLove_80EB3CC, + WeBelong_80EB3A4, + WePromised_80EB37C, + MeansEverything_80EB35C, + NoGood_80EB334, + Lonely_80EB308 +}; + +ALIGNED(4) static const u8 Lonely_80EB308[] = _("I{APOSTROPHE}m very lonely! Please take me with you!"); +ALIGNED(4) static const u8 NoGood_80EB334[] = _("It{APOSTROPHE}s no good if we{APOSTROPHE}re not together!"); +ALIGNED(4) static const u8 MeansEverything_80EB35C[] = _("This means everything to me!"); +ALIGNED(4) static const u8 WePromised_80EB37C[] = _("We{APOSTROPHE}ve promised our futures together."); +ALIGNED(4) static const u8 WeBelong_80EB3A4[] = _("We belong together! Please escort me!"); +ALIGNED(4) static const u8 WeInLove_80EB3CC[] = _("We{APOSTROPHE}re in love! Please{COMMA} take me there!"); + +static const u8 sUnknown_80EB450[]; +static const u8 sUnknown_80EB470[]; +static const u8 sUnknown_80EB494[]; +static const u8 sUnknown_80EB4AC[]; +static const u8 sUnknown_80EB4C0[]; +static const u8 sUnknown_80EB4E0[]; +static const u8 sUnknown_80EB500[]; +static const u8 sUnknown_80EB524[]; +static const u8 sUnknown_80EB54C[]; +static const u8 sUnknown_80EB568[]; +static const u8 sUnknown_80EB590[]; +static const u8 sUnknown_80EB5B4[]; +static const u8 sUnknown_80EB5D4[]; +static const u8 sUnknown_80EB5F8[]; +static const u8 sUnknown_80EB618[]; +static const u8 sUnknown_80EB638[]; +static const u8 sUnknown_80EB654[]; +static const u8 sUnknown_80EB67C[]; +static const u8 sUnknown_80EB6A0[]; +static const u8 sUnknown_80EB6C0[]; +static const u8 sUnknown_80EB6E4[]; +static const u8 sUnknown_80EB708[]; + +// Item Delivery Mission Text +static const u8 * const gUnknown_80EB3F8[22] = { + sUnknown_80EB708, + sUnknown_80EB6E4, + sUnknown_80EB6C0, + sUnknown_80EB6A0, + sUnknown_80EB67C, + sUnknown_80EB654, + sUnknown_80EB638, + sUnknown_80EB618, + sUnknown_80EB5F8, + sUnknown_80EB5D4, + sUnknown_80EB5B4, + sUnknown_80EB590, + sUnknown_80EB568, + sUnknown_80EB54C, + sUnknown_80EB524, + sUnknown_80EB500, + sUnknown_80EB4E0, + sUnknown_80EB4C0, + sUnknown_80EB4AC, + sUnknown_80EB494, + sUnknown_80EB470, + sUnknown_80EB450 +}; + +ALIGNED(4) static const u8 sUnknown_80EB450[] = _("Is it true about the {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}?"); +ALIGNED(4) static const u8 sUnknown_80EB470[] = _("The item {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} is the in thing!"); +ALIGNED(4) static const u8 sUnknown_80EB494[] = _("Wanted: my own {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sUnknown_80EB4AC[] = _("I lost my {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sUnknown_80EB4C0[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted for nostalgia."); +ALIGNED(4) static const u8 sUnknown_80EB4E0[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted to test effects."); +ALIGNED(4) static const u8 sUnknown_80EB500[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}{APOSTROPHE}s texture is comforting."); +ALIGNED(4) static const u8 sUnknown_80EB524[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--it{APOSTROPHE}s my mom{APOSTROPHE}s favorite."); +ALIGNED(4) static const u8 sUnknown_80EB54C[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} makes me strong."); +ALIGNED(4) static const u8 sUnknown_80EB568[] = _("I can{APOSTROPHE}t sleep without it: {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sUnknown_80EB590[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--I get scared without it!"); +ALIGNED(4) static const u8 sUnknown_80EB5B4[] = _("Hard-to-find {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} sought."); +ALIGNED(4) static const u8 sUnknown_80EB5D4[] = _("I can{APOSTROPHE}t find one more {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sUnknown_80EB5F8[] = _("Help this {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} collector!"); +ALIGNED(4) static const u8 sUnknown_80EB618[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}! Seeking in quantity!"); +ALIGNED(4) static const u8 sUnknown_80EB638[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted as a charm."); +ALIGNED(4) static const u8 sUnknown_80EB654[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--I can{APOSTROPHE}t leave without it."); +ALIGNED(4) static const u8 sUnknown_80EB67C[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--I{APOSTROPHE}d love to utilize one!"); +ALIGNED(4) static const u8 sUnknown_80EB6A0[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted for exploration."); +ALIGNED(4) static const u8 sUnknown_80EB6C0[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted after long search."); +ALIGNED(4) static const u8 sUnknown_80EB6E4[] = _("{COLOR_1 GREEN}%s{END_COLOR_TEXT_1}--it{APOSTROPHE}s convenient to have."); +ALIGNED(4) static const u8 sUnknown_80EB708[] = _("Having one {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} is reassuring."); + +static const u8 sUnknown_80EB784[]; +static const u8 sUnknown_80EB7A8[]; +static const u8 sUnknown_80EB7D8[]; +static const u8 sUnknown_80EB800[]; +static const u8 sUnknown_80EB818[]; +static const u8 sUnknown_80EB82C[]; +static const u8 sUnknown_80EB850[]; +static const u8 sUnknown_80EB86C[]; +static const u8 sUnknown_80EB890[]; +static const u8 sUnknown_80EB8AC[]; +static const u8 sUnknown_80EB8D0[]; +static const u8 sUnknown_80EB8E8[]; +static const u8 sUnknown_80EB90C[]; +static const u8 sUnknown_80EB930[]; +static const u8 sUnknown_80EB95C[]; +static const u8 sUnknown_80EB97C[]; +static const u8 sUnknown_80EB9A0[]; +static const u8 sUnknown_80EB9BC[]; +static const u8 sUnknown_80EB9D0[]; +static const u8 sUnknown_80EB9E8[]; +static const u8 sUnknown_80EBA00[]; + +static const u8 * const gUnknown_80EB72C[22] = { + sUnknown_80EBA00, + sUnknown_80EB9E8, + sUnknown_80EB9D0, + sUnknown_80EB9BC, + sUnknown_80EB9A0, + sUnknown_80EB97C, + sUnknown_80EB95C, + sUnknown_80EB930, + sUnknown_80EB90C, + sUnknown_80EB8E8, + sUnknown_80EB8D0, + sUnknown_80EB8AC, + sUnknown_80EB890, + sUnknown_80EB86C, + sUnknown_80EB850, + sUnknown_80EB9A0, + sUnknown_80EB82C, + sUnknown_80EB818, + sUnknown_80EB800, + sUnknown_80EB7D8, + sUnknown_80EB7A8, + sUnknown_80EB784 +}; + +ALIGNED(4) static const u8 sUnknown_80EB784[] = _("Please contact me if you find it!"); +ALIGNED(4) static const u8 sUnknown_80EB7A8[] = _("Please help! I{APOSTROPHE}ll make it worth your time!"); +ALIGNED(4) static const u8 sUnknown_80EB7D8[] = _("Please help! I{APOSTROPHE}m offering a reward!"); +ALIGNED(4) static const u8 sUnknown_80EB800[] = _("Please! Please help me!"); +ALIGNED(4) static const u8 sUnknown_80EB818[] = _("Please help me out!"); +ALIGNED(4) static const u8 sUnknown_80EB82C[] = _("Please! I need some cooperation!"); +ALIGNED(4) static const u8 sUnknown_80EB850[] = _("Please share a little bit!"); +ALIGNED(4) static const u8 sUnknown_80EB86C[] = _("Please help! You{APOSTROPHE}re my only hope!"); +ALIGNED(4) static const u8 sUnknown_80EB890[] = _("Please! I need your help!"); +ALIGNED(4) static const u8 sUnknown_80EB8AC[] = _("Please help! I{APOSTROPHE}m counting on you!"); +ALIGNED(4) static const u8 sUnknown_80EB8D0[] = _("Please search for it!"); +ALIGNED(4) static const u8 sUnknown_80EB8E8[] = _("Please let me know if you find one!"); +ALIGNED(4) static const u8 sUnknown_80EB90C[] = _("I{APOSTROPHE}m looking forward to your help!"); +ALIGNED(4) static const u8 sUnknown_80EB930[] = _("Please! I{APOSTROPHE}m offering a generous reward!"); +ALIGNED(4) static const u8 sUnknown_80EB95C[] = _("Please help! Reward offered!"); +ALIGNED(4) static const u8 sUnknown_80EB97C[] = _("Please! I must have one delivered!"); +ALIGNED(4) static const u8 sUnknown_80EB9A0[] = _("Please share one with me!"); +ALIGNED(4) static const u8 sUnknown_80EB9BC[] = _("Please give me one!"); +ALIGNED(4) static const u8 sUnknown_80EB9D0[] = _("Please find one for me!"); +ALIGNED(4) static const u8 sUnknown_80EB9E8[] = _("Please trade me one!"); +ALIGNED(4) static const u8 sUnknown_80EBA00[] = _("Please! May I have one?"); + +static const u8 sNewFriendAreasText[]; +static const u8 sNewFriendAreasHeadline[]; +static const u8 sLucarioRankText[]; +static const u8 sLucarioRankHeadline[]; +static const u8 sBuriedRelicText[]; +static const u8 sBuriedRelicHeadline[]; +static const u8 sNewsText2[]; +static const u8 sNewsHeadline2[]; +static const u8 sNewsText1[]; +static const u8 sNewsHeadline1[]; +static const u8 sPelipperText[]; +static const u8 sPelipperHeadline[]; +static const u8 sLinkedProText2[]; +static const u8 sLinkedProHeadline2[]; +static const u8 sLinkedProText1[]; +static const u8 sLinkedProHeadline1[]; +static const u8 sSlakothText[]; +static const u8 sSlakothHeadline[]; +static const u8 sPitfallText[]; +static const u8 sPitfallHeadline[]; +static const u8 sSeaRescueText[]; +static const u8 sSeaRescueHeadline[]; +static const u8 sVileplumeText[]; +static const u8 sVileplumeHeadline[]; +static const u8 sRawstText[]; +static const u8 sRawstHeadline[]; +static const u8 sClubText[]; +static const u8 sClubHeadline[]; +static const u8 sChanseyText[]; +static const u8 sChanseyHeadline[]; +static const u8 sKabutoText[]; +static const u8 sKabutoHeadline[]; +static const u8 sSmeargleText[]; +static const u8 sSmeargleHeadline[]; +static const u8 sCastformText[]; +static const u8 sCastformHeadline[]; +static const u8 sGasText[]; +static const u8 sGasHeadline[]; +static const u8 sKeyItemText2[]; +static const u8 sKeyItemHeadline2[]; +static const u8 sKeyItemText1[]; +static const u8 sKeyItemHeadline1[]; +static const u8 sSwitchText[]; +static const u8 sSwitchHeadline[]; +static const u8 sKecleonText[]; +static const u8 sKecleonHeadline[]; +static const u8 sWeatherText2[]; +static const u8 sWeatherHeadline2[]; +static const u8 sWobbuffetText[]; +static const u8 sWobbuffetHeadline[]; +static const u8 sPechaText[]; +static const u8 sPechaHeadline[]; +static const u8 sWeatherText1[]; +static const u8 sWeatherHeadline1[]; +static const u8 sAzurillText[]; +static const u8 sAzurillHeadline[]; +static const u8 sKeyText[]; +static const u8 sKeyHeadline[]; +static const u8 sSweetText[]; +static const u8 sSweetHeadline[]; +static const u8 sRangeText[]; +static const u8 sRangeHeadline[]; +static const u8 sIQText[]; +static const u8 sIQHeadline[]; +static const u8 sTrapTileText[]; +static const u8 sTrapTileHeadline[]; +static const u8 sMakuhitaText[]; +static const u8 sMakuhitaHeadline[]; +static const u8 sMachineText[]; +static const u8 sMachineHeadline[]; +static const u8 sUltimateText[]; +static const u8 sUltimateHeadline[]; +static const u8 sGummiText[]; +static const u8 sGummiHeadline[]; +static const u8 sMoveTipsText[]; +static const u8 sMoveTipsHeadline[]; +static const u8 sAddMembersText[]; +static const u8 sAddMembersHeadline[]; +static const u8 sTeamMoveText[]; +static const u8 sTeamMoveHeadline[]; +static const u8 sWondersText[]; +static const u8 sWondersHeadline[]; +static const u8 sPollText[]; +static const u8 sPollHeadline[]; +static const u8 sLinkedEntryText3[]; +static const u8 sLinkedEntryHeadline3[]; +static const u8 sLinkedEntryText2[]; +static const u8 sLinkedEntryHeadline2[]; +static const u8 sLinkedEntryText1[]; +static const u8 sLinkedEntryHeadline1[]; +static const u8 sTypeText[]; +static const u8 sTypeHeadline[]; +static const u8 sDungeonText[]; +static const u8 sDungeonHeadline[]; +static const u8 sWonderText[]; +static const u8 sWonderHeadline[]; +static const u8 sMoveText[]; +static const u8 sMoveHeadline[]; +static const u8 sOptionsText[]; +static const u8 sOptionsHeadline[]; +static const u8 sDisasterText[]; +static const u8 sDisasterHeadline[]; +static const u8 sSeedText[]; +static const u8 sSeedHeadline[]; +static const u8 sHungerText[]; +static const u8 sHungerHeadline[]; +static const u8 sJobText[]; +static const u8 sJobHeadline[]; +static const u8 sBasicsText[]; +static const u8 sBasicsHeadline[]; +static const u8 sWelcomeText[]; +static const u8 sWelcomeHeadline[]; + +static const PokemonMail sPokemonMail[NUM_POKEMON_MAIL] = +{ + [0] = { sWelcomeHeadline, sWelcomeText }, + [1] = { sBasicsHeadline, sBasicsText }, + [2] = { sJobHeadline, sJobText }, + [3] = { sHungerHeadline, sHungerText }, + [4] = { sSeedHeadline, sSeedText }, + [5] = { sDisasterHeadline, sDisasterText }, + [6] = { sOptionsHeadline, sOptionsText }, + [7] = { sMoveHeadline, sMoveText }, + [8] = { sWonderHeadline, sWonderText }, + [9] = { sDungeonHeadline, sDungeonText }, + [10] = { sTypeHeadline, sTypeText }, + [11] = { sLinkedEntryHeadline1, sLinkedEntryText1 }, + [12] = { sLinkedEntryHeadline2, sLinkedEntryText2 }, + [13] = { sLinkedEntryHeadline3, sLinkedEntryText3 }, + [14] = { sPollHeadline, sPollText }, + [15] = { sWondersHeadline, sWondersText }, + [16] = { sTeamMoveHeadline, sTeamMoveText }, + [17] = { sAddMembersHeadline, sAddMembersText }, + [18] = { sMoveTipsHeadline, sMoveTipsText }, + [19] = { sGummiHeadline, sGummiText }, + [20] = { sUltimateHeadline, sUltimateText }, + [21] = { sMachineHeadline, sMachineText }, + [22] = { sMakuhitaHeadline, sMakuhitaText }, + [23] = { sTrapTileHeadline, sTrapTileText }, + [24] = { sIQHeadline, sIQText }, + [25] = { sRangeHeadline, sRangeText }, + [26] = { sSweetHeadline, sSweetText }, + [27] = { sKeyHeadline, sKeyText }, + [28] = { sAzurillHeadline, sAzurillText }, + [29] = { sWeatherHeadline1, sWeatherText1 }, + [30] = { sPechaHeadline, sPechaText }, + [31] = { sWobbuffetHeadline, sWobbuffetText }, + [32] = { sWeatherHeadline2, sWeatherText2 }, + [33] = { sKecleonHeadline, sKecleonText }, + [34] = { sSwitchHeadline, sSwitchText }, + [35] = { sKeyItemHeadline1, sKeyItemText1 }, + [36] = { sKeyItemHeadline2, sKeyItemText2 }, + [37] = { sGasHeadline, sGasText }, + [38] = { sCastformHeadline, sCastformText }, + [39] = { sSmeargleHeadline, sSmeargleText }, + [40] = { sKabutoHeadline, sKabutoText }, + [41] = { sChanseyHeadline, sChanseyText }, + [42] = { sClubHeadline, sClubText }, + [43] = { sRawstHeadline, sRawstText }, + [44] = { sVileplumeHeadline, sVileplumeText }, + [45] = { sSeaRescueHeadline, sSeaRescueText }, + [46] = { sPitfallHeadline, sPitfallText }, + [47] = { sSlakothHeadline, sSlakothText }, + [48] = { sLinkedProHeadline1, sLinkedProText1 }, + [49] = { sLinkedProHeadline2, sLinkedProText2 }, + [50] = { sPelipperHeadline, sPelipperText }, + [51] = { sNewsHeadline1, sNewsText1 }, + [52] = { sNewsHeadline2, sNewsText2 }, + [53] = { sBuriedRelicHeadline, sBuriedRelicText }, + [54] = { sLucarioRankHeadline, sLucarioRankText }, + [55] = { sNewFriendAreasHeadline, sNewFriendAreasText } +}; + +ALIGNED(4) static const u8 sNewFriendAreasText[] = _( "The Wigglytuff Club has added new Friend\n" "Areas for sale!\n" "Rescue Teams are urged to check with\n" @@ -350,9 +1314,9 @@ ALIGNED(4) const u8 gMail_NewFriendAreasText[] = _( "recruit Pokémon that wouldn{APOSTROPHE}t join your\n" "rescue team before!"); -ALIGNED(4) const u8 gMail_NewFriendAreasHeadline[] = "New Friend Areas!"; +ALIGNED(4) static const u8 sNewFriendAreasHeadline[] = _("New Friend Areas!"); -ALIGNED(4) const u8 gMail_LucarioRankText[] = _( +ALIGNED(4) static const u8 sLucarioRankText[] = _( "Congratulations! Your team has attained\n" "the Lucario Rank--the top rank among\n" "rescue teams! In commemoration of your\n" @@ -362,10 +1326,9 @@ ALIGNED(4) const u8 gMail_LucarioRankText[] = _( "Keep working for world peace!\n" " - Pokémon Rescue Organization -"); +ALIGNED(4) static const u8 sLucarioRankHeadline[] = _("Congratulations - Lucario Rank!"); -ALIGNED(4) const u8 gMail_LucarioRankHeadline[] = "Congratulations - Lucario Rank!"; - -ALIGNED(4) const u8 gMail_BuriedRelicText[] = _( +ALIGNED(4) static const u8 sBuriedRelicText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Mystery Ruin Found Underground!{END_COLOR_TEXT_1}\n" "Its site had been hidden by the crater of a\n" "meteor strike in ancient times. The Buried\n" @@ -375,12 +1338,9 @@ ALIGNED(4) const u8 gMail_BuriedRelicText[] = _( "that lived in ancient times. The Buried\n" "Relic is the main topic in Pokémon Square."); +ALIGNED(4) static const u8 sBuriedRelicHeadline[] = _("Buried Relic Discovered!"); -ALIGNED(4) const u8 gMail_BuriedRelicHeadline[] = - "Buried Relic Discovered!"; - - -ALIGNED(4) const u8 gMail_NewsText2[] = _( +ALIGNED(4) static const u8 sNewsText2[] = _( "{CENTER_ALIGN}{COLOR_1 CYAN}{ARG_POKEMON_0} Innocent! Part 2{END_COLOR_TEXT_1}\n" "{COLOR_1 GREEN}Quote from Charizard on the scene:{END_COLOR_TEXT_1}\n" "{QUOTE_START}That{APOSTROPHE}s what I thought right from\n" @@ -390,12 +1350,9 @@ ALIGNED(4) const u8 gMail_NewsText2[] = _( "He{APOSTROPHE}s not getting away with this!\n" "He{APOSTROPHE}d better be ready for it!{QUOTE_END}"); +ALIGNED(4) static const u8 sNewsHeadline2[] = _("Pokémon News Extra 2"); -ALIGNED(4) const u8 gMail_NewsHeadline2[] = _( - "Pokémon News Extra 2"); - - -ALIGNED(4) const u8 gMail_NewsText1[] = _( +ALIGNED(4) static const u8 sNewsText1[] = _( "{CENTER_ALIGN}{COLOR_1 CYAN}{ARG_POKEMON_0} Innocent! Part 1{END_COLOR_TEXT_1}\n" "{ARG_POKEMON_1} met with Ninetales on {COLOR_1 RED}Mt. Freeze{END_COLOR_TEXT_1}.\n" "Ninetales testified that {ARG_POKEMON_0} was\n" @@ -405,12 +1362,9 @@ ALIGNED(4) const u8 gMail_NewsText1[] = _( "{COLOR_1 GREEN}The clearly dismayed Gengar{APOSTROPHE}s quote:{END_COLOR_TEXT_1}\n" "{QUOTE_START}Ugegegegegegegegegegegeh!{QUOTE_END}"); +ALIGNED(4) static const u8 sNewsHeadline1[] = _("Pokémon News Extra 1"); -ALIGNED(4) const u8 gMail_NewsHeadline1[] = _( - "Pokémon News Extra 1"); - - -ALIGNED(4) const u8 gMail_PelipperText[] = _( +ALIGNED(4) static const u8 sPelipperText[] = _( "Yo! Amigo! It{APOSTROPHE}s awesome you{APOSTROPHE}re back!\n" "I{APOSTROPHE}ll be delivering mail to you again!\n" "I{APOSTROPHE}ve been looking forward to this with\n" @@ -419,12 +1373,9 @@ ALIGNED(4) const u8 gMail_PelipperText[] = _( "be ready{COMMA} amigo!\n\n" " - The wandering postal carrier{COMMA} Pelipper -"); +ALIGNED(4) static const u8 sPelipperHeadline[] =_("A Letter from Pelipper"); -ALIGNED(4) const u8 gMail_PelipperHeadline[] = - "A Letter from Pelipper"; - - -ALIGNED(4) const u8 gMail_LinkedProText2[] = _( +ALIGNED(4) static const u8 sLinkedProText2[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Try These Linked Moves to KO Foes!{END_COLOR_TEXT_1}\n\n" "Psyduck\n" "{COLOR_1 GREEN}Confusion{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Disable{END_COLOR_TEXT_1}\n" @@ -437,12 +1388,9 @@ ALIGNED(4) const u8 gMail_LinkedProText2[] = _( "Skitty\n" "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Doubleslap{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sLinkedProHeadline2[] =_("#50 Linked Moves Pro Level 2"); -ALIGNED(4) const u8 gMail_LinkedProHeadline2[] = - "#50 Linked Moves Pro Level 2"; - - -ALIGNED(4) const u8 gMail_LinkedProText1[] = _( +ALIGNED(4) static const u8 sLinkedProText1[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}These Linked Move Combinations{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}Can Be Devastating!{END_COLOR_TEXT_1}\n\n" "Bulbasaur\n" @@ -456,12 +1404,9 @@ ALIGNED(4) const u8 gMail_LinkedProText1[] = _( "Cubone\n" "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Bonemerang{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sLinkedProHeadline1[] = _("#49 Linked Moves Pro Level 1"); -ALIGNED(4) const u8 gMail_LinkedProHeadline1[] = - "#49 Linked Moves Pro Level 1"; - - -ALIGNED(4) const u8 gMail_SlakothText[] = _( +ALIGNED(4) static const u8 sSlakothText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Relief for Delicate Souls Who Can{APOSTROPHE}t{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}Sleep with Different Pillows!{END_COLOR_TEXT_1}\n" "Insomniacs rejoiced over the announcement\n" @@ -471,12 +1416,9 @@ ALIGNED(4) const u8 gMail_SlakothText[] = _( "inquiries from all over. However{COMMA}\n" "production is said to be not yet ready."); +ALIGNED(4) static const u8 sSlakothHeadline[] = _("#48 Slakoth Pillows for Insomnia!"); -ALIGNED(4) const u8 gMail_SlakothHeadline[] = - "#48 Slakoth Pillows for Insomnia!"; - - -ALIGNED(4) const u8 gMail_PitfallText[] = _( +ALIGNED(4) static const u8 sPitfallText[] = _( "As a result of the natural disasters{COMMA}\n" "there have been many reports of Pitfall\n" "Traps appearing in dungeons.\n" @@ -486,12 +1428,9 @@ ALIGNED(4) const u8 gMail_PitfallText[] = _( "foraging Swinub. Some even turn out to\n" "be hot springs that erupt occasionally."); +ALIGNED(4) static const u8 sPitfallHeadline[] = _("#47 Beware of Pitfalls"); -ALIGNED(4) const u8 gMail_PitfallHeadline[] = - "#47 Beware of Pitfalls"; - - -ALIGNED(4) const u8 gMail_SeaRescueText[] = _( +ALIGNED(4) static const u8 sSeaRescueText[] = _( "A high-seas rescue in the {COLOR_1 RED}Stormy Sea{END_COLOR_TEXT_1} by\n" "{COLOR_1 CYAN}Team Sea Dragons{END_COLOR_TEXT_1} ended yesterday with\n" "the successful recovery of Tentacool.\n" @@ -501,12 +1440,9 @@ ALIGNED(4) const u8 gMail_SeaRescueText[] = _( "I{APOSTROPHE}d been washed out to sea.{QUOTE_END}\n" "The {COLOR_1 RED}Stormy Sea{END_COLOR_TEXT_1} is unforgiving!"); +ALIGNED(4) static const u8 sSeaRescueHeadline[] = _("#46 Sea Rescue a Success!"); -ALIGNED(4) const u8 gMail_SeaRescueHeadline[] = - "#46 Sea Rescue a Success!"; - - -ALIGNED(4) const u8 gMail_VileplumeText[] = _( +ALIGNED(4) static const u8 sVileplumeText[] = _( "Vileplume are widely recognized for \n" "their massive flower. However{COMMA} few dare\n" "to approach Vileplume because they\n" @@ -515,12 +1451,9 @@ ALIGNED(4) const u8 gMail_VileplumeText[] = _( "very easily because the flower{APOSTROPHE}s weight\n" "makes their head heavy."); +ALIGNED(4) static const u8 sVileplumeHeadline[] = _("#45 Vileplume{APOSTROPHE}s Weighty Problem"); -ALIGNED(4) const u8 gMail_VileplumeHeadline[] = _( - "#45 Vileplume{APOSTROPHE}s Weighty Problem"); - - -ALIGNED(4) const u8 gMail_RawstText[] = _( +ALIGNED(4) static const u8 sRawstText[] = _( "Research has revealed that {COLOR_1 GREEN}Rawst Berries{END_COLOR_TEXT_1}\n" "found in dungeons are usually unripened\n" "and colored green. When ripe{COMMA} they turn a\n" @@ -529,12 +1462,9 @@ ALIGNED(4) const u8 gMail_RawstText[] = _( "turned bitter. It is known to heal all\n" "burns."); +ALIGNED(4) static const u8 sRawstHeadline[] = _("#44 Rawst Berry{APOSTROPHE}s Effect"); -ALIGNED(4) const u8 gMail_RawstHeadline[] = _( - "#44 Rawst Berry{APOSTROPHE}s Effect"); - - -ALIGNED(4) const u8 gMail_ClubText[] = _( +ALIGNED(4) static const u8 sClubText[] = _( "We proudly announce the foundation of\n" "the Red & Blue Fan Club{COMMA} an organization\n" "for supporting Pokémon rescue teams.\n" @@ -543,12 +1473,9 @@ ALIGNED(4) const u8 gMail_ClubText[] = _( "behind our hard-working rescue heroes?\n\n" " - Plusle and Minun -"); +ALIGNED(4) static const u8 sClubHeadline[] = _("#43 Fan Club Seeks Members!"); -ALIGNED(4) const u8 gMail_ClubHeadline[] = - "#43 Fan Club Seeks Members!"; - - -ALIGNED(4) const u8 gMail_ChanseyText[] = _( +ALIGNED(4) static const u8 sChanseyText[] = _( "As a special treat{COMMA} I{APOSTROPHE}ll share a simple\n" "way to tell fortunes with you!\n" "The key is the first thing you find in the\n" @@ -558,12 +1485,9 @@ ALIGNED(4) const u8 gMail_ChanseyText[] = _( "If it{APOSTROPHE}s an Apple{COMMA} you{APOSTROPHE}re super lucky!\n" " - Chansey -"); +ALIGNED(4) static const u8 sChanseyHeadline[] = _("#42 Chansey{APOSTROPHE}s Fortune-Telling"); -ALIGNED(4) const u8 gMail_ChanseyHeadline[] = _( - "#42 Chansey{APOSTROPHE}s Fortune-Telling"); - - -ALIGNED(4) const u8 gMail_KabutoText[] = _( +ALIGNED(4) static const u8 sKabutoText[] = _( "One of our oldest residents claims to feel\n" "rejuvenated. Kabuto reportedly had an\n" "encounter with Relicanth in which both\n" @@ -573,12 +1497,9 @@ ALIGNED(4) const u8 gMail_KabutoText[] = _( "million years ago. Kabuto stated{COMMA} {QUOTE_START}It\n" "made me feel young talking to Relicanth.{QUOTE_END}"); +ALIGNED(4) static const u8 sKabutoHeadline[] = _("#41 Kabuto Feels Young Again!"); -ALIGNED(4) const u8 gMail_KabutoHeadline[] = - "#41 Kabuto Feels Young Again!"; - - -ALIGNED(4) const u8 gMail_SmeargleText[] = _( +ALIGNED(4) static const u8 sSmeargleText[] = _( "Smeargle{COMMA} the artist known for his unique\n" "artistic vision{COMMA} had a windfall day as one\n" "of his paintings was auctioned for 300\n" @@ -586,12 +1507,9 @@ ALIGNED(4) const u8 gMail_SmeargleText[] = _( "artwork was one of Smeargle{APOSTROPHE}s signature\n" "works from early in his career."); +ALIGNED(4) static const u8 sSmeargleHeadline[] = _("#40 Smeargle Painting Auctioned!"); -ALIGNED(4) const u8 gMail_SmeargleHeadline[] = - "#40 Smeargle Painting Auctioned!"; - - -ALIGNED(4) const u8 gMail_CastformText[] = _( +ALIGNED(4) static const u8 sCastformText[] = _( "Today{COMMA} the weather over Pokémon\n" "Square promises to be clear with no\n" "chance of showers.\n" @@ -599,12 +1517,9 @@ ALIGNED(4) const u8 gMail_CastformText[] = _( "by clouds. There may be sun breaks\n" "depending on the day{APOSTROPHE}s moods."); +ALIGNED(4) static const u8 sCastformHeadline[] = _("#39 Castform{APOSTROPHE}s Daily Weather"); -ALIGNED(4) const u8 gMail_CastformHeadline[] = _( - "#39 Castform{APOSTROPHE}s Daily Weather"); - - -ALIGNED(4) const u8 gMail_GasText[] = _( +ALIGNED(4) static const u8 sGasText[] = _( "Reports of a noxious gas leak caused\n" "widespread chaos in the {COLOR_1 YELLOW_4}Sinister Woods{END_COLOR_TEXT_1}.\n" "Specialists speculate that the recent\n" @@ -614,12 +1529,9 @@ ALIGNED(4) const u8 gMail_GasText[] = _( "The answer{COMMA} apparently{COMMA} is blowing in the\n" "wind."); +ALIGNED(4) static const u8 sGasHeadline[] = _("#38 Noxious Gas Leak?!"); -ALIGNED(4) const u8 gMail_GasHeadline[] = - "#38 Noxious Gas Leak?!"; - - -ALIGNED(4) const u8 gMail_KeyItemText2[] = _( +ALIGNED(4) static const u8 sKeyItemText2[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}When Used Somewhere Special...{END_COLOR_TEXT_1}\n" "Eevee and Water Stone{COMMA} Fire Stone{COMMA}\n" "Thunderstone{COMMA} or...\n" @@ -627,12 +1539,9 @@ ALIGNED(4) const u8 gMail_KeyItemText2[] = _( "Onix{COMMA} Metal Coat{COMMA} and Link Cable...\n" "There appear to be many others!"); +ALIGNED(4) static const u8 sKeyItemHeadline2[] = _("#37 Key Items for Pokémon 2"); -ALIGNED(4) const u8 gMail_KeyItemHeadline2[] = _( - "#37 Key Items for Pokémon 2"); - - -ALIGNED(4) const u8 gMail_KeyItemText1[] = _( +ALIGNED(4) static const u8 sKeyItemText1[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}When Used Somewhere Special...{END_COLOR_TEXT_1}\n" "Sunkern and Sun Stone...\n" "Skitty and Moon Stone...\n" @@ -641,12 +1550,9 @@ ALIGNED(4) const u8 gMail_KeyItemText1[] = _( "Clamperl and Deepseatooth...\n" "There appear to be many others!"); +ALIGNED(4) static const u8 sKeyItemHeadline1[] = _("#36 Key Items for Pokémon 1"); -ALIGNED(4) const u8 gMail_KeyItemHeadline1[] = _( - "#36 Key Items for Pokémon 1"); - - -ALIGNED(4) const u8 gMail_SwitchText[] = _( +ALIGNED(4) static const u8 sSwitchText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Power Up Combination Attacks!{END_COLOR_TEXT_1}\n" "Some dungeons allow rescue teams to\n" "switch leaders on the spot for doing\n" @@ -656,12 +1562,9 @@ ALIGNED(4) const u8 gMail_SwitchText[] = _( "leader under {COLOR_1 YELLOW}Team{END_COLOR_TEXT_1}{COMMA} then select the\n" "command {COLOR_1 YELLOW}Leader{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sSwitchHeadline[] = _("#35 Switching Leaders"); -ALIGNED(4) const u8 gMail_SwitchHeadline[] = - "#35 Switching Leaders"; - - -ALIGNED(4) const u8 gMail_KecleonText[] = _( +ALIGNED(4) static const u8 sKecleonText[] = _( "There have been numerous reports that\n" "the older of the Kecleon merchants in\n" "Pokémon Square occasionally goes\n" @@ -671,12 +1574,9 @@ ALIGNED(4) const u8 gMail_KecleonText[] = _( "such claims: {QUOTE_START}He wouldn{APOSTROPHE}t get free items\n" "in dungeons and try to sell them...{QUOTE_END}"); +ALIGNED(4) static const u8 sKecleonHeadline[] = _("#34 Where Is Kecleon?"); -ALIGNED(4) const u8 gMail_KecleonHeadline[] = - "#34 Where Is Kecleon?"; - - -ALIGNED(4) const u8 gMail_WeatherText2[] = _( +ALIGNED(4) static const u8 sWeatherText2[] = _( "Clear: Pleasant weather.\n" "Hail: Regularly inflicts damage{COMMA}\n" "except on the Ice type.\n" @@ -685,12 +1585,9 @@ ALIGNED(4) const u8 gMail_WeatherText2[] = _( "Blizzard: Boosts the movement speed of\n" "Ice-type Pokémon by one level."); +ALIGNED(4) static const u8 sWeatherHeadline2[] = _("#33 Dungeons and Weather 2"); -ALIGNED(4) const u8 gMail_WeatherHeadline2[] = - "#33 Dungeons and Weather 2"; - - -ALIGNED(4) const u8 gMail_WobbuffetText[] = _( +ALIGNED(4) static const u8 sWobbuffetText[] = _( "Earlier today{COMMA} Wobbuffet reportedly\n" "wobbled the wrong way and wandered off.\n" "It had to be rescued by the famous\n" @@ -699,12 +1596,9 @@ ALIGNED(4) const u8 gMail_WobbuffetText[] = _( "Wobbuffet was only wobbly and otherwise\n" "unharmed."); +ALIGNED(4) static const u8 sWobbuffetHeadline[] = _("#32 Wobbly Wobbuffet Wanders!"); -ALIGNED(4) const u8 gMail_WobbuffetHeadline[] = - "#32 Wobbly Wobbuffet Wanders!"; - - -ALIGNED(4) const u8 gMail_PechaText[] = _( +ALIGNED(4) static const u8 sPechaText[] = _( "Among rescue teams{COMMA} there is growing\n" "demand for equipment that is not only\n" "practical{COMMA} but also fashionably appealing.\n" @@ -714,12 +1608,9 @@ ALIGNED(4) const u8 gMail_PechaText[] = _( "If you{APOSTROPHE}re lucky enough to spot one{COMMA} make a\n" "beeline for it!"); +ALIGNED(4) static const u8 sPechaHeadline[] = _("#31 Pecha Scarf--Top Popularity!"); -ALIGNED(4) const u8 gMail_PechaHeadline[] = - "#31 Pecha Scarf--Top Popularity!"; - - -ALIGNED(4) const u8 gMail_WeatherText1[] = _( +ALIGNED(4) static const u8 sWeatherText1[] = _( "Sunny: Boosts Fire-type moves{COMMA} and\n" "weakens Water-type moves.\n" "Sandstorm: Regularly inflicts damage\n" @@ -729,12 +1620,9 @@ ALIGNED(4) const u8 gMail_WeatherText1[] = _( "Rain: Boosts Water-type moves{COMMA} and\n" "weakens Fire. Prevents explosions."); +ALIGNED(4) static const u8 sWeatherHeadline1[] = _("#30 Dungeons and Weather 1"); -ALIGNED(4) const u8 gMail_WeatherHeadline1[] = - "#30 Dungeons and Weather 1"; - - -ALIGNED(4) const u8 gMail_AzurillText[] = _( +ALIGNED(4) static const u8 sAzurillText[] = _( "With a simple act of courage{COMMA} Azurill\n" "became a hero despite being small in size.\n" "Azurill came across Slowpoke{COMMA} who had\n" @@ -744,12 +1632,9 @@ ALIGNED(4) const u8 gMail_AzurillText[] = _( "entirely forgotten having the ability to\n" "swim capably."); +ALIGNED(4) static const u8 sAzurillHeadline[] = _("#29 Azurill--the Little Hero!"); -ALIGNED(4) const u8 gMail_AzurillHeadline[] = - "#29 Azurill--the Little Hero!"; - - -ALIGNED(4) const u8 gMail_KeyText[] = _( +ALIGNED(4) static const u8 sKeyText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Head Out to the Desert Region!{END_COLOR_TEXT_1}\n" "If you{APOSTROPHE}ve been wondering what lies behind\n" "the mysterious locked doors of the {COLOR_1 YELLOW_4}Solar\n" @@ -759,12 +1644,9 @@ ALIGNED(4) const u8 gMail_KeyText[] = _( "advised to compose teams with Pokémon\n" "adapted to the desert environment."); +ALIGNED(4) static const u8 sKeyHeadline[] = _("#28 The Key"); -ALIGNED(4) const u8 gMail_KeyHeadline[] = - "#28 The Key"; - - -ALIGNED(4) const u8 gMail_SweetText[] = _( +ALIGNED(4) static const u8 sSweetText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Feel a Little Envious?{END_COLOR_TEXT_1}\n" "Teddiursa is often seen licking its paws\n" "that have soaked up sweet honey. While it\n" @@ -772,11 +1654,9 @@ ALIGNED(4) const u8 gMail_SweetText[] = _( "Teddiursa{COMMA} one can{APOSTROPHE}t help but feel a\n" "twinge of envy."); -ALIGNED(4) const u8 gMail_SweetHeadline[] = - "#27 Sweet Hands!"; +ALIGNED(4) static const u8 sSweetHeadline[] = _("#27 Sweet Hands!"); - -ALIGNED(4) const u8 gMail_RangeText[] = _( +ALIGNED(4) static const u8 sRangeText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}All Moves Have Effective Ranges{END_COLOR_TEXT_1}\n" "Moves that affect an entire room have a\n" "range of two tiles in a corridor. The move\n" @@ -786,12 +1666,9 @@ ALIGNED(4) const u8 gMail_RangeText[] = _( "the visibility is limited to just one tile{COMMA}\n" "the range of moves will also be limited."); +ALIGNED(4) static const u8 sRangeHeadline[] = _("#26 The Range of Moves"); -ALIGNED(4) const u8 gMail_RangeHeadline[] = - "#26 The Range of Moves"; - - -ALIGNED(4) const u8 gMail_IQText[] = _( +ALIGNED(4) static const u8 sIQText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Make Your Explorations Easier by{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}Boosting the IQ of Team Members!{END_COLOR_TEXT_1}\n" "Eating Gummis boosts the IQ of Pokémon.\n" @@ -801,12 +1678,9 @@ ALIGNED(4) const u8 gMail_IQText[] = _( "with type disadvantages). Check\n" "the IQ Skills of your team members!"); +ALIGNED(4) static const u8 sIQHeadline[] = _("#25 IQ"); -ALIGNED(4) const u8 gMail_IQHeadline[] = - "#25 IQ"; - - -ALIGNED(4) const u8 gMail_TrapTileText[] = _( +ALIGNED(4) static const u8 sTrapTileText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}New Types of Floor Tiles?{END_COLOR_TEXT_1}\n" "There have been numerous reports of new\n" "floor tiles other than Wonder Tiles.\n" @@ -816,12 +1690,9 @@ ALIGNED(4) const u8 gMail_TrapTileText[] = _( "trigger a variety of traps. Rescue teams\n" "are urged to use extreme caution."); +ALIGNED(4) static const u8 sTrapTileHeadline[] = _("#24 New Floor Tiles?"); -ALIGNED(4) const u8 gMail_TrapTileHeadline[] = - "#24 New Floor Tiles?"; - - -ALIGNED(4) const u8 gMail_MakuhitaText[] = _( +ALIGNED(4) static const u8 sMakuhitaText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Study Type Matchups{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}at the Makuhita Dojo!{END_COLOR_TEXT_1}\n" "At the Makuhita Dojo{COMMA} one can learn how\n" @@ -831,12 +1702,9 @@ ALIGNED(4) const u8 gMail_MakuhitaText[] = _( "Maze{END_COLOR_TEXT_1}{COMMA} there are only Fire-type Pokémon.\n" "Try move types to see what works best!"); +ALIGNED(4) static const u8 sMakuhitaHeadline[] = _("#23 Train at the Makuhita Dojo!"); -ALIGNED(4) const u8 gMail_MakuhitaHeadline[] = - "#23 Train at the Makuhita Dojo!"; - - -ALIGNED(4) const u8 gMail_MachineText[] = _( +ALIGNED(4) static const u8 sMachineText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}New Types of Machines Discovered?{END_COLOR_TEXT_1}\n" "In a recently discovered cave{COMMA} explorers\n" "found unique types of Technical Machines.\n" @@ -846,12 +1714,9 @@ ALIGNED(4) const u8 gMail_MachineText[] = _( "In related news{COMMA} the cave is to be named\n" "the {COLOR_1 YELLOW_4}Solar Cave{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sMachineHeadline[] = _("#22 New Types of Machines?"); -ALIGNED(4) const u8 gMail_MachineHeadline[] = - "#22 New Types of Machines?"; - - -ALIGNED(4) const u8 gMail_UltimateText[] = _( +ALIGNED(4) static const u8 sUltimateText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}The Ultimate Dungeon{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}Challenges You to Do Your Best!{END_COLOR_TEXT_1}\n" "Somewhere in the world{COMMA} there supposedly\n" @@ -861,12 +1726,9 @@ ALIGNED(4) const u8 gMail_UltimateText[] = _( "challenge. It is considered a test not of\n" "power{COMMA} but of intelligence and wits."); +ALIGNED(4) static const u8 sUltimateHeadline[] = _("#21 The Ultimate Dungeon"); -ALIGNED(4) const u8 gMail_UltimateHeadline[] = - "#21 The Ultimate Dungeon"; - - -ALIGNED(4) const u8 gMail_GummiText[] = _( +ALIGNED(4) static const u8 sGummiText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Gummis That Make You Smart{END_COLOR_TEXT_1}\n" "Research has revealed that popular Gummi\n" "treats not only enhance intelligence{COMMA} they\n" @@ -876,12 +1738,9 @@ ALIGNED(4) const u8 gMail_GummiText[] = _( "dungeons{COMMA} throw them at your friends.\n" "Use them in Friend Areas and...?"); +ALIGNED(4) static const u8 sGummiHeadline[] = _("#20 Secrets of the Gummi"); -ALIGNED(4) const u8 gMail_GummiHeadline[] = - "#20 Secrets of the Gummi"; - - -ALIGNED(4) const u8 gMail_MoveTipsText[] = _( +ALIGNED(4) static const u8 sMoveTipsText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Moving Diagonally{END_COLOR_TEXT_1}\n" "Move diagonally to avoid foes!\n" "Keeping {R_BUTTON}" @@ -892,12 +1751,9 @@ ALIGNED(4) const u8 gMail_MoveTipsText[] = _( "directions without moving. Check Hints to\n" "see how you can do this maneuver!"); +ALIGNED(4) static const u8 sMoveTipsHeadline[] = _("#19 Important Moving Tips"); -ALIGNED(4) const u8 gMail_MoveTipsHeadline[] = - "#19 Important Moving Tips"; - - -ALIGNED(4) const u8 gMail_AddMembersText[] = _( +ALIGNED(4) static const u8 sAddMembersText[] = _( "If you want to enlarge your rescue team{COMMA}\n" "you must first get Friend Areas. When\n" "a Pokémon that can live in an obtained\n" @@ -907,12 +1763,9 @@ ALIGNED(4) const u8 gMail_AddMembersText[] = _( "members! Incidentally{COMMA} you may take no\n" "more than three friends into a dungeon."); +ALIGNED(4) static const u8 sAddMembersHeadline[] = _("#18 Adding Team Members"); -ALIGNED(4) const u8 gMail_AddMembersHeadline[] = - "#18 Adding Team Members"; - - -ALIGNED(4) const u8 gMail_TeamMoveText[] = _( +ALIGNED(4) static const u8 sTeamMoveText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Use Team Members Effectively!{END_COLOR_TEXT_1}\n" "When you{APOSTROPHE}re fighting in a dungeon{COMMA} it{APOSTROPHE}s\n" "important to use your team members. If\n" @@ -922,12 +1775,9 @@ ALIGNED(4) const u8 gMail_TeamMoveText[] = _( "Pokémon fighting a single foe. Change\n" "Tactics if members don{APOSTROPHE}t move properly."); +ALIGNED(4) static const u8 sTeamMoveHeadline[] = _("#17 Moving as a Team"); -ALIGNED(4) const u8 gMail_TeamMoveHeadline[] = - "#17 Moving as a Team"; - - -ALIGNED(4) const u8 gMail_WondersText[] = _( +ALIGNED(4) static const u8 sWondersText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}The Seven Wonders of Pokémon?{END_COLOR_TEXT_1}\n" "The mysterious feet of Diglett.\n" "What is inside Forretress{APOSTROPHE}s shell.\n" @@ -937,6 +1787,7 @@ ALIGNED(4) const u8 gMail_WondersText[] = _( "other Pokémon mysteries!\n" " - Mystery Hunter Team -"); +ALIGNED(4) static const u8 sWondersHeadline[] = _("#16 Seven Wonders of Pokémon"); ALIGNED(4) const u8 gMail_WondersHeadline[] = _( "#16 Seven Wonders of Pokémon"); @@ -954,12 +1805,9 @@ ALIGNED(4) const u8 gMail_PollText[] = _( "from far away. It{APOSTROPHE}s invaluable.{QUOTE_END} The next\n" "most popular item was {COLOR_1 GREEN}Oran Berries{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sPollHeadline[] = _("#15 Poll: Top Two Items"); -ALIGNED(4) const u8 gMail_PollHeadline[] = - "#15 Poll: Top Two Items"; - - -ALIGNED(4) const u8 gMail_LinkedEntryText3[] = _( +ALIGNED(4) static const u8 sLinkedEntryText3[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}These Are the Final Linked Moves{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}We Recommend in the Entry Level!{END_COLOR_TEXT_1}\n" "{COLOR_1 RED}Electric and Water Types{END_COLOR_TEXT_1}\n" @@ -973,12 +1821,9 @@ ALIGNED(4) const u8 gMail_LinkedEntryText3[] = _( "Psyduck\n" "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Scratch{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sLinkedEntryHeadline3[] = _("#14 Linked Moves Entry Level 3"); -ALIGNED(4) const u8 gMail_LinkedEntryHeadline3[] = - "#14 Linked Moves Entry Level 3"; - - -ALIGNED(4) const u8 gMail_LinkedEntryText2[] = _( +ALIGNED(4) static const u8 sLinkedEntryText2[] = _( "{COLOR_1 RED}Fire and Normal Types{END_COLOR_TEXT_1}\n" "Charmander\n" "{COLOR_1 GREEN}Ember{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}\n" @@ -992,12 +1837,9 @@ ALIGNED(4) const u8 gMail_LinkedEntryText2[] = _( "Skitty\n" "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Tackle{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sLinkedEntryHeadline2[] = _("#13 Linked Moves Entry Level 2"); -ALIGNED(4) const u8 gMail_LinkedEntryHeadline2[] = - "#13 Linked Moves Entry Level 2"; - - -ALIGNED(4) const u8 gMail_LinkedEntryText1[] = _( +ALIGNED(4) static const u8 sLinkedEntryText1[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}These Are the Recommended{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}Linked Moves for Beginners!{END_COLOR_TEXT_1}\n" "{COLOR_1 RED}Grass{COMMA} Fighting{COMMA} and Ground Types{END_COLOR_TEXT_1}\n" @@ -1011,12 +1853,9 @@ ALIGNED(4) const u8 gMail_LinkedEntryText1[] = _( "Cubone\n" "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Bone Club{END_COLOR_TEXT_1}"); +ALIGNED(4) static const u8 sLinkedEntryHeadline1[] = _("#12 Linked Moves Entry Level 1"); -ALIGNED(4) const u8 gMail_LinkedEntryHeadline1[] = - "#12 Linked Moves Entry Level 1"; - - -ALIGNED(4) const u8 gMail_TypeText[] = _( +ALIGNED(4) static const u8 sTypeText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Learn How Types Match Up!{END_COLOR_TEXT_1}\n" "All Pokémon are of certain types{COMMA} such as\n" "{COLOR_1 RED}Fire{END_COLOR_TEXT_1} and {COLOR_1 CYAN}Water{END_COLOR_TEXT_1}. In a battle{COMMA} the damage\n" @@ -1026,12 +1865,9 @@ ALIGNED(4) const u8 gMail_TypeText[] = _( "weak against {COLOR_1 CYAN}Water{END_COLOR_TEXT_1}-type moves.\n" "Exploit type matchups to win battles!"); +ALIGNED(4) static const u8 sTypeHeadline[] = _("#11 Types and Matchups"); -ALIGNED(4) const u8 gMail_TypeHeadline[] = - "#11 Types and Matchups"; - - -ALIGNED(4) const u8 gMail_DungeonText[] = _( +ALIGNED(4) static const u8 sDungeonText[] = _( "If your rescue team is defeated in a\n" "dungeon{COMMA} you lose several items and\n" "all the money you are carrying.\n" @@ -1041,12 +1877,9 @@ ALIGNED(4) const u8 gMail_DungeonText[] = _( "invaluable items safely stored.\n" " - Pokémon Rescue Organization -"); +ALIGNED(4) static const u8 sDungeonHeadline[] = _("#10 Mysterious Dungeons?"); -ALIGNED(4) const u8 gMail_DungeonHeadline[] = - "#10 Mysterious Dungeons?"; - - -ALIGNED(4) const u8 gMail_WonderText[] = _( +ALIGNED(4) static const u8 sWonderText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Wonder Tiles Reset Attack and Defense!{END_COLOR_TEXT_1}\n" "If your Attack is lowered by a foe{APOSTROPHE}s\n" "{COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}{COMMA} or your Defense is lowered\n" @@ -1056,12 +1889,9 @@ ALIGNED(4) const u8 gMail_WonderText[] = _( "next floor. Beware{COMMA} enhanced stats are\n" "also reset to normal!"); +ALIGNED(4) static const u8 sWonderHeadline[] = _("#9 Wonder Tiles"); -ALIGNED(4) const u8 gMail_WonderHeadline[] = - "#9 Wonder Tiles"; - - -ALIGNED(4) const u8 gMail_MoveText[] = _( +ALIGNED(4) static const u8 sMoveText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}The Benefits of Using Moves{END_COLOR_TEXT_1}\n" "If a move is used on a foe{COMMA} when it is\n" "defeated{COMMA} {COLOR_1 CYAN}you earn more Exp. Points{END_COLOR_TEXT_1}!\n" @@ -1071,12 +1901,9 @@ ALIGNED(4) const u8 gMail_MoveText[] = _( "Moves are also more likely to become\n" "{COLOR_1 CYAN}critical hits{END_COLOR_TEXT_1}! Don{APOSTROPHE}t overuse them{COMMA} though!"); +ALIGNED(4) static const u8 sMoveHeadline[] = _("#8 Let{APOSTROPHE}s Use Moves!"); -ALIGNED(4) const u8 gMail_MoveHeadline[] = _( - "#8 Let{APOSTROPHE}s Use Moves!"); - - -ALIGNED(4) const u8 gMail_OptionsText[] = _( +ALIGNED(4) static const u8 sOptionsText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Change Your Option Settings{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}to Suit Your Play Style!{END_COLOR_TEXT_1}\n" "Press {B_BUTTON} to open the menu{COMMA} then\n" @@ -1084,12 +1911,9 @@ ALIGNED(4) const u8 gMail_OptionsText[] = _( "You can change settings to suit the way\n" "you play."); +ALIGNED(4) static const u8 sOptionsHeadline[] = _("#7 Game Options"); -ALIGNED(4) const u8 gMail_OptionsHeadline[] = - "#7 Game Options"; - - -ALIGNED(4) const u8 gMail_DisasterText[] = _( +ALIGNED(4) static const u8 sDisasterText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Investigations Under Way into{END_COLOR_TEXT_1}\n" "{CENTER_ALIGN COLOR_1 YELLOW}Recent Rash of Natural Disasters{END_COLOR_TEXT_1}\n" "Pokémon in affected areas attack any\n" @@ -1099,12 +1923,9 @@ ALIGNED(4) const u8 gMail_DisasterText[] = _( "for triggering earthquakes{COMMA} but the\n" "investigative team is skeptical."); +ALIGNED(4) static const u8 sDisasterHeadline[] = _("#6 Recent Natural Disasters"); -ALIGNED(4) const u8 gMail_DisasterHeadline[] = - "#6 Recent Natural Disasters"; - - -ALIGNED(4) const u8 gMail_SeedText[] = _( +ALIGNED(4) static const u8 sSeedText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Seeds Can Be Thrown{COMMA} Too!{END_COLOR_TEXT_1}\n" "Seeds are usually meant to be eaten.\n" "But did you know? They can also be thrown\n" @@ -1113,12 +1934,9 @@ ALIGNED(4) const u8 gMail_SeedText[] = _( "Throw good seeds at friends!\n" "Don{APOSTROPHE}t be afraid to throw your seeds!"); +ALIGNED(4) static const u8 sSeedHeadline[] = _("#5 Throw Seeds!"); -ALIGNED(4) const u8 gMail_SeedHeadline[] = - "#5 Throw Seeds!"; - - -ALIGNED(4) const u8 gMail_HungerText[] = _( +ALIGNED(4) static const u8 sHungerText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Eat Something When You Get Hungry!{END_COLOR_TEXT_1}\n" "While you{APOSTROPHE}re exploring a dungeon{COMMA} you will\n" "get progressively hungry (your Belly goes\n" @@ -1128,12 +1946,9 @@ ALIGNED(4) const u8 gMail_HungerText[] = _( "your Belly! You can always buy food at the\n" "{COLOR_1 CYAN}Kecleon Shop{END_COLOR_TEXT_1}."); +ALIGNED(4) static const u8 sHungerHeadline[] = _("#4 Getting Hungry"); -ALIGNED(4) const u8 gMail_HungerHeadline[] = - "#4 Getting Hungry"; - - -ALIGNED(4) const u8 gMail_JobText[] = _( +ALIGNED(4) static const u8 sJobText[] = _( "If you want to go on a rescue job listed\n" "on the Bulletin Board at the Pelipper Post\n" "Office{COMMA} or one that{APOSTROPHE}s delivered to your\n" @@ -1143,12 +1958,9 @@ ALIGNED(4) const u8 gMail_JobText[] = _( "Try to do accepted jobs quickly!\n" " - Pokémon Rescue Organization -"); +ALIGNED(4) static const u8 sJobHeadline[] = _("#3 Accepting Rescue Jobs"); -ALIGNED(4) const u8 gMail_JobHeadline[] = - "#3 Accepting Rescue Jobs"; - - -ALIGNED(4) const u8 gMail_BasicsText[] = _( +ALIGNED(4) static const u8 sBasicsText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}Saving Your Adventure and Pokémon News{END_COLOR_TEXT_1}\n" "You can save your adventure by going to\n" "your bed. Get in the habit of saving often.\n" @@ -1158,12 +1970,9 @@ ALIGNED(4) const u8 gMail_BasicsText[] = _( "Check the Mailbox and store old news!\n" " - Pokémon Rescue Organization -"); +ALIGNED(4) static const u8 sBasicsHeadline[] = _("#2 Rescue Team Basics"); -ALIGNED(4) const u8 gMail_BasicsHeadline[] = - "#2 Rescue Team Basics"; - - -ALIGNED(4) const u8 gMail_WelcomeText[] = _( +ALIGNED(4) static const u8 sWelcomeText[] = _( "{CENTER_ALIGN COLOR_1 YELLOW}To All New Members!{END_COLOR_TEXT_1}\n" "Your badge has the power to send back\n" "to town any Pokémon you{APOSTROPHE}ve rescued. Just\n" @@ -1173,4 +1982,4 @@ ALIGNED(4) const u8 gMail_WelcomeText[] = _( "ranking. Aim for the Bronze Rank for now!\n" " - Pokémon Rescue Organization -"); -ALIGNED(4) const u8 gMail_WelcomeHeadline[] = "#1 Welcome to a Rescue Team!"; \ No newline at end of file +ALIGNED(4) static const u8 sWelcomeHeadline[] = _("#1 Welcome to a Rescue Team!"); diff --git a/src/data/pokemon_mail_pre.h b/src/data/pokemon_mail_pre.h new file mode 100644 index 00000000..7ea76ac0 --- /dev/null +++ b/src/data/pokemon_mail_pre.h @@ -0,0 +1,573 @@ +// TODO: Make things static once the code is moved out of asm + +const s32 gUnknown_80E80A0[16] = { + 1, + 5, + 10, + 20, + 40, + 60, + 80, + 100, + 150, + 200, + 300, + 500, + 700, + 1000, + 1500, + 2000 +}; + +// A list of Pokémon that are banned from appearing in rescue mail regardless of game progress +const s16 gUnknown_80E80E0[35] = { + MONSTER_UNOWN_A, + MONSTER_CASTFORM, + MONSTER_KECLEON, + MONSTER_SILCOON, + MONSTER_CASCOON, + MONSTER_KAKUNA, + MONSTER_MAGNEMITE, + MONSTER_MAGNETON, + MONSTER_GARDEVOIR, + MONSTER_GENGAR, + MONSTER_ZAPDOS, + MONSTER_MOLTRES, + MONSTER_ARTICUNO, + MONSTER_RAYQUAZA, + MONSTER_ENTEI, + MONSTER_RAIKOU, + MONSTER_SUICUNE, + MONSTER_HO_OH, + MONSTER_MEWTWO, + MONSTER_LATIOS, + MONSTER_LATIAS, + MONSTER_JIRACHI, + MONSTER_LUGIA, + MONSTER_CELEBI, + MONSTER_REGIROCK, + MONSTER_REGICE, + MONSTER_REGISTEEL, + MONSTER_MEW, + MONSTER_GROUDON, + MONSTER_KYOGRE, + MONSTER_DEOXYS_NORMAL, + MONSTER_MUNCHLAX, + MONSTER_DECOY, + MONSTER_STATUE, + MONSTER_NONE +}; + +// A list of Pokémon that are banned from appearing in rescue mail before the post-game +const s16 gUnknown_80E8126[33] = { + MONSTER_KECLEON, + MONSTER_PERSIAN, + MONSTER_WIGGLYTUFF, + MONSTER_KANGASKHAN, + MONSTER_GULPIN, + MONSTER_PELIPPER, + MONSTER_LOMBRE, + MONSTER_BELLSPROUT, + MONSTER_SNUBBULL, + MONSTER_WHISCASH, + MONSTER_ABSOL, + MONSTER_CATERPIE, + MONSTER_METAPOD, + MONSTER_BUTTERFREE, + MONSTER_DUGTRIO, + MONSTER_DIGLETT, + MONSTER_SKARMORY, + MONSTER_JUMPLUFF, + MONSTER_SHIFTRY, + MONSTER_ALAKAZAM, + MONSTER_CHARIZARD, + MONSTER_TYRANITAR, + MONSTER_EKANS, + MONSTER_MEDICHAM, + MONSTER_XATU, + MONSTER_NINETALES, + MONSTER_BLASTOISE, + MONSTER_OCTILLERY, + MONSTER_GOLEM, + MONSTER_WYNAUT, + MONSTER_WOBBUFFET, + MONSTER_MANKEY, + MONSTER_NONE +}; + +const s16 gUnknown_80E8168[6][2] = { + { MONSTER_NIDORAN_M, MONSTER_NIDORAN_F }, + { MONSTER_NIDORINO, MONSTER_NIDORINA }, + { MONSTER_NIDOKING, MONSTER_NIDOQUEEN }, + { MONSTER_TAUROS, MONSTER_MILTANK }, + { MONSTER_VOLBEAT, MONSTER_ILLUMISE }, + { MONSTER_MINUN, MONSTER_PLUSLE } +}; + +const s16 gUnknown_80E8180[21][2] = { + { MONSTER_GLOOM, ITEM_LEAF_STONE }, + { MONSTER_WEEPINBELL, ITEM_LEAF_STONE }, + { MONSTER_EXEGGCUTE, ITEM_LEAF_STONE }, + { MONSTER_NUZLEAF, ITEM_LEAF_STONE }, + { MONSTER_GLOOM, ITEM_SUN_STONE }, + { MONSTER_SUNKERN, ITEM_SUN_STONE }, + { MONSTER_PIKACHU, ITEM_THUNDERSTONE }, + { MONSTER_EEVEE, ITEM_THUNDERSTONE }, + { MONSTER_VULPIX, ITEM_FIRE_STONE }, + { MONSTER_GROWLITHE, ITEM_FIRE_STONE }, + { MONSTER_EEVEE, ITEM_FIRE_STONE }, + { MONSTER_POLIWHIRL, ITEM_WATER_STONE }, + { MONSTER_SHELLDER, ITEM_WATER_STONE }, + { MONSTER_STARYU, ITEM_WATER_STONE }, + { MONSTER_EEVEE, ITEM_WATER_STONE }, + { MONSTER_LOMBRE, ITEM_WATER_STONE }, + { MONSTER_NIDORINA, ITEM_MOON_STONE }, + { MONSTER_NIDORINO, ITEM_MOON_STONE }, + { MONSTER_CLEFAIRY, ITEM_MOON_STONE }, + { MONSTER_JIGGLYPUFF, ITEM_MOON_STONE }, + { MONSTER_SKITTY, ITEM_MOON_STONE } +}; + +// List of preferred gummis +const s16 gUnknown_80E81D4[386][2] = { + { MONSTER_EKANS, ITEM_PINK_GUMMI }, + { MONSTER_ARBOK, ITEM_PINK_GUMMI }, + { MONSTER_ARMALDO, ITEM_GRAY_GUMMI }, + { MONSTER_BEAUTIFLY, ITEM_GREEN_GUMMI }, + { MONSTER_MEDITITE, ITEM_ORANGE_GUMMI }, + { MONSTER_SEAKING, ITEM_BLUE_GUMMI }, + { MONSTER_TORCHIC, ITEM_RED_GUMMI }, + { MONSTER_ANORITH, ITEM_GRAY_GUMMI }, + { MONSTER_ABSOL, ITEM_BLACK_GUMMI }, + { MONSTER_SURSKIT, ITEM_GREEN_GUMMI }, + { MONSTER_MASQUERAIN, ITEM_GREEN_GUMMI }, + { MONSTER_ARIADOS, ITEM_GREEN_GUMMI }, + { MONSTER_CROCONAW, ITEM_BLUE_GUMMI }, + { MONSTER_UNOWN_QMARK, ITEM_GOLD_GUMMI }, + { MONSTER_EEVEE, ITEM_WHITE_GUMMI }, + { MONSTER_GEODUDE, ITEM_GRAY_GUMMI }, + { MONSTER_SPINARAK, ITEM_GREEN_GUMMI }, + { MONSTER_PILOSWINE, ITEM_CLEAR_GUMMI }, + { MONSTER_ILLUMISE, ITEM_GREEN_GUMMI }, + { MONSTER_ONIX, ITEM_GRAY_GUMMI }, + { MONSTER_ARCANINE, ITEM_RED_GUMMI }, + { MONSTER_SUDOWOODO, ITEM_GRAY_GUMMI }, + { MONSTER_WEEPINBELL, ITEM_GRASS_GUMMI }, + { MONSTER_VICTREEBEL, ITEM_GRASS_GUMMI }, + { MONSTER_WOOPER, ITEM_BLUE_GUMMI }, + { MONSTER_SWINUB, ITEM_CLEAR_GUMMI }, + { MONSTER_SKARMORY, ITEM_SILVER_GUMMI }, + { MONSTER_AIPOM, ITEM_WHITE_GUMMI }, + { MONSTER_ESPEON, ITEM_GOLD_GUMMI }, + { MONSTER_SKITTY, ITEM_WHITE_GUMMI }, + { MONSTER_DELCATTY, ITEM_WHITE_GUMMI }, + { MONSTER_HITMONCHAN, ITEM_ORANGE_GUMMI }, + { MONSTER_ELEKID, ITEM_YELLOW_GUMMI }, + { MONSTER_ELECTABUZZ, ITEM_YELLOW_GUMMI }, + { MONSTER_ENTEI, ITEM_RED_GUMMI }, + { MONSTER_SWELLOW, ITEM_WHITE_GUMMI }, + { MONSTER_FERALIGATR, ITEM_BLUE_GUMMI }, + { MONSTER_FURRET, ITEM_WHITE_GUMMI }, + { MONSTER_OCTILLERY, ITEM_BLUE_GUMMI }, + { MONSTER_PRIMEAPE, ITEM_ORANGE_GUMMI }, + { MONSTER_SENTRET, ITEM_WHITE_GUMMI }, + { MONSTER_STANTLER, ITEM_WHITE_GUMMI }, + { MONSTER_GLALIE, ITEM_CLEAR_GUMMI }, + { MONSTER_SPEAROW, ITEM_WHITE_GUMMI }, + { MONSTER_FEAROW, ITEM_WHITE_GUMMI }, + { MONSTER_OMASTAR, ITEM_GRAY_GUMMI }, + { MONSTER_OMANYTE, ITEM_GRAY_GUMMI }, + { MONSTER_GROWLITHE, ITEM_RED_GUMMI }, + { MONSTER_KYOGRE, ITEM_BLUE_GUMMI }, + { MONSTER_MACHAMP, ITEM_ORANGE_GUMMI }, + { MONSTER_DRAGONITE, ITEM_ROYAL_GUMMI }, + { MONSTER_PINSIR, ITEM_GREEN_GUMMI }, + { MONSTER_KECLEON, ITEM_WHITE_GUMMI }, + { MONSTER_SHUPPET, ITEM_PURPLE_GUMMI }, + { MONSTER_SNORLAX, ITEM_WHITE_GUMMI }, + { MONSTER_KABUTO, ITEM_GRAY_GUMMI }, + { MONSTER_KABUTOPS, ITEM_GRAY_GUMMI }, + { MONSTER_HITMONTOP, ITEM_ORANGE_GUMMI }, + { MONSTER_WARTORTLE, ITEM_BLUE_GUMMI }, + { MONSTER_BLASTOISE, ITEM_BLUE_GUMMI }, + { MONSTER_FARFETCHD, ITEM_WHITE_GUMMI }, + { MONSTER_CUBONE, ITEM_BROWN_GUMMI }, + { MONSTER_MAROWAK, ITEM_BROWN_GUMMI }, + { MONSTER_SILCOON, ITEM_GREEN_GUMMI }, + { MONSTER_KANGASKHAN, ITEM_WHITE_GUMMI }, + { MONSTER_BRELOOM, ITEM_GRASS_GUMMI }, + { MONSTER_SHROOMISH, ITEM_GRASS_GUMMI }, + { MONSTER_CARVANHA, ITEM_BLUE_GUMMI }, + { MONSTER_SUNFLORA, ITEM_GRASS_GUMMI }, + { MONSTER_TREECKO, ITEM_GRASS_GUMMI }, + { MONSTER_CATERPIE, ITEM_GREEN_GUMMI }, + { MONSTER_WINGULL, ITEM_BLUE_GUMMI }, + { MONSTER_GYARADOS, ITEM_BLUE_GUMMI }, + { MONSTER_RAPIDASH, ITEM_RED_GUMMI }, + { MONSTER_NINETALES, ITEM_RED_GUMMI }, + { MONSTER_GIRAFARIG, ITEM_WHITE_GUMMI }, + { MONSTER_KIRLIA, ITEM_GOLD_GUMMI }, + { MONSTER_BELLOSSOM, ITEM_GRASS_GUMMI }, + { MONSTER_KINGDRA, ITEM_BLUE_GUMMI }, + { MONSTER_KINGLER, ITEM_BLUE_GUMMI }, + { MONSTER_GLOOM, ITEM_GRASS_GUMMI }, + { MONSTER_MAWILE, ITEM_SILVER_GUMMI }, + { MONSTER_PINECO, ITEM_GREEN_GUMMI }, + { MONSTER_GROUDON, ITEM_BROWN_GUMMI }, + { MONSTER_GLIGAR, ITEM_BROWN_GUMMI }, + { MONSTER_MIGHTYENA, ITEM_BLACK_GUMMI }, + { MONSTER_KRABBY, ITEM_BLUE_GUMMI }, + { MONSTER_GRANBULL, ITEM_WHITE_GUMMI }, + { MONSTER_CROBAT, ITEM_PINK_GUMMI }, + { MONSTER_ABRA, ITEM_GOLD_GUMMI }, + { MONSTER_SLAKING, ITEM_WHITE_GUMMI }, + { MONSTER_WURMPLE, ITEM_GREEN_GUMMI }, + { MONSTER_GENGAR, ITEM_PURPLE_GUMMI }, + { MONSTER_TAUROS, ITEM_WHITE_GUMMI }, + { MONSTER_MAGIKARP, ITEM_BLUE_GUMMI }, + { MONSTER_MAGNEMITE, ITEM_YELLOW_GUMMI }, + { MONSTER_GASTLY, ITEM_PURPLE_GUMMI }, + { MONSTER_HAUNTER, ITEM_PURPLE_GUMMI }, + { MONSTER_TORKOAL, ITEM_RED_GUMMI }, + { MONSTER_MACHOKE, ITEM_ORANGE_GUMMI }, + { MONSTER_KAKUNA, ITEM_GREEN_GUMMI }, + { MONSTER_GULPIN, ITEM_PINK_GUMMI }, + { MONSTER_ARON, ITEM_SILVER_GUMMI }, + { MONSTER_PSYDUCK, ITEM_BLUE_GUMMI }, + { MONSTER_LAIRON, ITEM_SILVER_GUMMI }, + { MONSTER_WHISMUR, ITEM_WHITE_GUMMI }, + { MONSTER_NUZLEAF, ITEM_GRASS_GUMMI }, + { MONSTER_PHANPY, ITEM_BROWN_GUMMI }, + { MONSTER_SHELGON, ITEM_ROYAL_GUMMI }, + { MONSTER_RATTATA, ITEM_WHITE_GUMMI }, + { MONSTER_GOLDUCK, ITEM_BLUE_GUMMI }, + { MONSTER_GOLBAT, ITEM_PINK_GUMMI }, + { MONSTER_GOLEM, ITEM_GRAY_GUMMI }, + { MONSTER_GRAVELER, ITEM_GRAY_GUMMI }, + { MONSTER_VENONAT, ITEM_GREEN_GUMMI }, + { MONSTER_GARDEVOIR, ITEM_GOLD_GUMMI }, + { MONSTER_RHYDON, ITEM_BROWN_GUMMI }, + { MONSTER_RHYHORN, ITEM_BROWN_GUMMI }, + { MONSTER_GOREBYSS, ITEM_BLUE_GUMMI }, + { MONSTER_PUPITAR, ITEM_GRAY_GUMMI }, + { MONSTER_CORSOLA, ITEM_BLUE_GUMMI }, + { MONSTER_CACNEA, ITEM_GRASS_GUMMI }, + { MONSTER_DUSCLOPS, ITEM_PURPLE_GUMMI }, + { MONSTER_SHARPEDO, ITEM_BLUE_GUMMI }, + { MONSTER_HITMONLEE, ITEM_ORANGE_GUMMI }, + { MONSTER_ZANGOOSE, ITEM_WHITE_GUMMI }, + { MONSTER_ZAPDOS, ITEM_YELLOW_GUMMI }, + { MONSTER_JOLTEON, ITEM_YELLOW_GUMMI }, + { MONSTER_SANDSHREW, ITEM_BROWN_GUMMI }, + { MONSTER_SANDSLASH, ITEM_BROWN_GUMMI }, + { MONSTER_SEADRA, ITEM_BLUE_GUMMI }, + { MONSTER_RELICANTH, ITEM_BLUE_GUMMI }, + { MONSTER_SHELLDER, ITEM_BLUE_GUMMI }, + { MONSTER_ZIGZAGOON, ITEM_WHITE_GUMMI }, + { MONSTER_CRAWDAUNT, ITEM_BLUE_GUMMI }, + { MONSTER_VAPOREON, ITEM_BLUE_GUMMI }, + { MONSTER_SCEPTILE, ITEM_GRASS_GUMMI }, + { MONSTER_DEWGONG, ITEM_BLUE_GUMMI }, + { MONSTER_GROVYLE, ITEM_GRASS_GUMMI }, + { MONSTER_BANETTE, ITEM_PURPLE_GUMMI }, + { MONSTER_JIRACHI, ITEM_SILVER_GUMMI }, + { MONSTER_SUICUNE, ITEM_BLUE_GUMMI }, + { MONSTER_STARMIE, ITEM_BLUE_GUMMI }, + { MONSTER_SCYTHER, ITEM_GREEN_GUMMI }, + { MONSTER_ZUBAT, ITEM_PINK_GUMMI }, + { MONSTER_TAILLOW, ITEM_WHITE_GUMMI }, + { MONSTER_BEEDRILL, ITEM_GREEN_GUMMI }, + { MONSTER_HYPNO, ITEM_GOLD_GUMMI }, + { MONSTER_DROWZEE, ITEM_GOLD_GUMMI }, + { MONSTER_SQUIRTLE, ITEM_BLUE_GUMMI }, + { MONSTER_CELEBI, ITEM_GOLD_GUMMI }, + { MONSTER_WYNAUT, ITEM_GOLD_GUMMI }, + { MONSTER_WOBBUFFET, ITEM_GOLD_GUMMI }, + { MONSTER_SOLROCK, ITEM_GRAY_GUMMI }, + { MONSTER_SHIFTRY, ITEM_GRASS_GUMMI }, + { MONSTER_DUGTRIO, ITEM_BROWN_GUMMI }, + { MONSTER_HORSEA, ITEM_BLUE_GUMMI }, + { MONSTER_BAGON, ITEM_ROYAL_GUMMI }, + { MONSTER_SEEDOT, ITEM_GRASS_GUMMI }, + { MONSTER_SPHEAL, ITEM_CLEAR_GUMMI }, + { MONSTER_EXEGGCUTE, ITEM_GRASS_GUMMI }, + { MONSTER_BELDUM, ITEM_SILVER_GUMMI }, + { MONSTER_CHIKORITA, ITEM_GRASS_GUMMI }, + { MONSTER_MEDICHAM, ITEM_ORANGE_GUMMI }, + { MONSTER_CHINCHOU, ITEM_BLUE_GUMMI }, + { MONSTER_CHIMECHO, ITEM_GOLD_GUMMI }, + { MONSTER_ALTARIA, ITEM_ROYAL_GUMMI }, + { MONSTER_SWABLU, ITEM_WHITE_GUMMI }, + { MONSTER_NINCADA, ITEM_GREEN_GUMMI }, + { MONSTER_SHUCKLE, ITEM_GREEN_GUMMI }, + { MONSTER_DIGLETT, ITEM_BROWN_GUMMI }, + { MONSTER_DEOXYS_SPEED, ITEM_GOLD_GUMMI }, + { MONSTER_NINJASK, ITEM_GREEN_GUMMI }, + { MONSTER_REMORAID, ITEM_BLUE_GUMMI }, + { MONSTER_DELIBIRD, ITEM_CLEAR_GUMMI }, + { MONSTER_HOUNDOUR, ITEM_BLACK_GUMMI }, + { MONSTER_AMPHAROS, ITEM_YELLOW_GUMMI }, + { MONSTER_DODUO, ITEM_WHITE_GUMMI }, + { MONSTER_DODRIO, ITEM_WHITE_GUMMI }, + { MONSTER_SMEARGLE, ITEM_WHITE_GUMMI }, + { MONSTER_KOFFING, ITEM_PINK_GUMMI }, + { MONSTER_TENTACRUEL, ITEM_BLUE_GUMMI }, + { MONSTER_DUSTOX, ITEM_GREEN_GUMMI }, + { MONSTER_TOGETIC, ITEM_WHITE_GUMMI }, + { MONSTER_TOGEPI, ITEM_WHITE_GUMMI }, + { MONSTER_LOUDRED, ITEM_WHITE_GUMMI }, + { MONSTER_GOLDEEN, ITEM_BLUE_GUMMI }, + { MONSTER_BARBOACH, ITEM_BLUE_GUMMI }, + { MONSTER_SEALEO, ITEM_CLEAR_GUMMI }, + { MONSTER_WALREIN, ITEM_CLEAR_GUMMI }, + { MONSTER_METAPOD, ITEM_GREEN_GUMMI }, + { MONSTER_TROPIUS, ITEM_GRASS_GUMMI }, + { MONSTER_DONPHAN, ITEM_BROWN_GUMMI }, + { MONSTER_NUMEL, ITEM_RED_GUMMI }, + { MONSTER_ODDISH, ITEM_GRASS_GUMMI }, + { MONSTER_TRAPINCH, ITEM_BROWN_GUMMI }, + { MONSTER_EXEGGUTOR, ITEM_GRASS_GUMMI }, + { MONSTER_SLAKOTH, ITEM_WHITE_GUMMI }, + { MONSTER_WHISCASH, ITEM_BLUE_GUMMI }, + { MONSTER_NIDOKING, ITEM_PINK_GUMMI }, + { MONSTER_NIDOQUEEN, ITEM_PINK_GUMMI }, + { MONSTER_NIDORAN_F, ITEM_PINK_GUMMI }, + { MONSTER_NIDORAN_M, ITEM_PINK_GUMMI }, + { MONSTER_NIDORINA, ITEM_PINK_GUMMI }, + { MONSTER_NIDORINO, ITEM_PINK_GUMMI }, + { MONSTER_MEOWTH, ITEM_WHITE_GUMMI }, + { MONSTER_SNEASEL, ITEM_BLACK_GUMMI }, + { MONSTER_POLIWHIRL, ITEM_BLUE_GUMMI }, + { MONSTER_POLITOED, ITEM_BLUE_GUMMI }, + { MONSTER_POLIWRATH, ITEM_BLUE_GUMMI }, + { MONSTER_POLIWAG, ITEM_BLUE_GUMMI }, + { MONSTER_QUAGSIRE, ITEM_BLUE_GUMMI }, + { MONSTER_SHEDINJA, ITEM_GREEN_GUMMI }, + { MONSTER_MARSHTOMP, ITEM_BLUE_GUMMI }, + { MONSTER_NATU, ITEM_GOLD_GUMMI }, + { MONSTER_XATU, ITEM_GOLD_GUMMI }, + { MONSTER_CLAYDOL, ITEM_BROWN_GUMMI }, + { MONSTER_CACTURNE, ITEM_GRASS_GUMMI }, + { MONSTER_DUNSPARCE, ITEM_WHITE_GUMMI }, + { MONSTER_NOSEPASS, ITEM_GRAY_GUMMI }, + { MONSTER_CLAMPERL, ITEM_BLUE_GUMMI }, + { MONSTER_SEEL, ITEM_BLUE_GUMMI }, + { MONSTER_STEELIX, ITEM_SILVER_GUMMI }, + { MONSTER_CAMERUPT, ITEM_RED_GUMMI }, + { MONSTER_EXPLOUD, ITEM_WHITE_GUMMI }, + { MONSTER_TYPHLOSION, ITEM_RED_GUMMI }, + { MONSTER_DRAGONAIR, ITEM_ROYAL_GUMMI }, + { MONSTER_BLAZIKEN, ITEM_RED_GUMMI }, + { MONSTER_LOMBRE, ITEM_BLUE_GUMMI }, + { MONSTER_LOTAD, ITEM_BLUE_GUMMI }, + { MONSTER_BUTTERFREE, ITEM_GREEN_GUMMI }, + { MONSTER_SCIZOR, ITEM_GREEN_GUMMI }, + { MONSTER_SPINDA, ITEM_WHITE_GUMMI }, + { MONSTER_HOPPIP, ITEM_GRASS_GUMMI }, + { MONSTER_SPOINK, ITEM_GOLD_GUMMI }, + { MONSTER_BLISSEY, ITEM_WHITE_GUMMI }, + { MONSTER_SEVIPER, ITEM_PINK_GUMMI }, + { MONSTER_PARAS, ITEM_GREEN_GUMMI }, + { MONSTER_PARASECT, ITEM_GREEN_GUMMI }, + { MONSTER_QWILFISH, ITEM_BLUE_GUMMI }, + { MONSTER_HARIYAMA, ITEM_ORANGE_GUMMI }, + { MONSTER_MR_MIME, ITEM_GOLD_GUMMI }, + { MONSTER_TYROGUE, ITEM_ORANGE_GUMMI }, + { MONSTER_CLOYSTER, ITEM_BLUE_GUMMI }, + { MONSTER_VOLBEAT, ITEM_GREEN_GUMMI }, + { MONSTER_TYRANITAR, ITEM_GRAY_GUMMI }, + { MONSTER_HUNTAIL, ITEM_BLUE_GUMMI }, + { MONSTER_CLEFFA, ITEM_WHITE_GUMMI }, + { MONSTER_WEEDLE, ITEM_GREEN_GUMMI }, + { MONSTER_PIKACHU, ITEM_YELLOW_GUMMI }, + { MONSTER_CLEFABLE, ITEM_WHITE_GUMMI }, + { MONSTER_PIDGEOT, ITEM_WHITE_GUMMI }, + { MONSTER_PIDGEOTTO, ITEM_WHITE_GUMMI }, + { MONSTER_PICHU, ITEM_YELLOW_GUMMI }, + { MONSTER_CLEFAIRY, ITEM_WHITE_GUMMI }, + { MONSTER_CHARMANDER, ITEM_RED_GUMMI }, + { MONSTER_STARYU, ITEM_BLUE_GUMMI }, + { MONSTER_CYNDAQUIL, ITEM_RED_GUMMI }, + { MONSTER_VIBRAVA, ITEM_BROWN_GUMMI }, + { MONSTER_SUNKERN, ITEM_GRASS_GUMMI }, + { MONSTER_TEDDIURSA, ITEM_WHITE_GUMMI }, + { MONSTER_VOLTORB, ITEM_YELLOW_GUMMI }, + { MONSTER_FEEBAS, ITEM_BLUE_GUMMI }, + { MONSTER_MOLTRES, ITEM_RED_GUMMI }, + { MONSTER_FLAREON, ITEM_RED_GUMMI }, + { MONSTER_ALAKAZAM, ITEM_GOLD_GUMMI }, + { MONSTER_MAGMAR, ITEM_RED_GUMMI }, + { MONSTER_GRUMPIG, ITEM_GOLD_GUMMI }, + { MONSTER_FORRETRESS, ITEM_GREEN_GUMMI }, + { MONSTER_WIGGLYTUFF, ITEM_WHITE_GUMMI }, + { MONSTER_IVYSAUR, ITEM_GRASS_GUMMI }, + { MONSTER_BULBASAUR, ITEM_GRASS_GUMMI }, + { MONSTER_VENUSAUR, ITEM_GRASS_GUMMI }, + { MONSTER_AERODACTYL, ITEM_GRAY_GUMMI }, + { MONSTER_MAGBY, ITEM_RED_GUMMI }, + { MONSTER_IGGLYBUFF, ITEM_WHITE_GUMMI }, + { MONSTER_FLYGON, ITEM_BROWN_GUMMI }, + { MONSTER_PLUSLE, ITEM_YELLOW_GUMMI }, + { MONSTER_UMBREON, ITEM_BLACK_GUMMI }, + { MONSTER_ARTICUNO, ITEM_CLEAR_GUMMI }, + { MONSTER_JIGGLYPUFF, ITEM_WHITE_GUMMI }, + { MONSTER_SNUBBULL, ITEM_WHITE_GUMMI }, + { MONSTER_CORPHISH, ITEM_BLUE_GUMMI }, + { MONSTER_BAYLEEF, ITEM_GRASS_GUMMI }, + { MONSTER_GRIMER, ITEM_PINK_GUMMI }, + { MONSTER_MUK, ITEM_PINK_GUMMI }, + { MONSTER_HERACROSS, ITEM_GREEN_GUMMI }, + { MONSTER_PELIPPER, ITEM_BLUE_GUMMI }, + { MONSTER_HOUNDOOM, ITEM_BLACK_GUMMI }, + { MONSTER_PERSIAN, ITEM_WHITE_GUMMI }, + { MONSTER_LICKITUNG, ITEM_WHITE_GUMMI }, + { MONSTER_HO_OH, ITEM_RED_GUMMI }, + { MONSTER_WAILORD, ITEM_BLUE_GUMMI }, + { MONSTER_WAILMER, ITEM_BLUE_GUMMI }, + { MONSTER_HOOTHOOT, ITEM_WHITE_GUMMI }, + { MONSTER_SALAMENCE, ITEM_ROYAL_GUMMI }, + { MONSTER_AGGRON, ITEM_SILVER_GUMMI }, + { MONSTER_POOCHYENA, ITEM_BLACK_GUMMI }, + { MONSTER_PIDGEY, ITEM_WHITE_GUMMI }, + { MONSTER_PONYTA, ITEM_RED_GUMMI }, + { MONSTER_SKIPLOOM, ITEM_GRASS_GUMMI }, + { MONSTER_PORYGON, ITEM_WHITE_GUMMI }, + { MONSTER_PORYGON2, ITEM_WHITE_GUMMI }, + { MONSTER_CASTFORM_RAINY, ITEM_WHITE_GUMMI }, + { MONSTER_MINUN, ITEM_YELLOW_GUMMI }, + { MONSTER_MAGCARGO, ITEM_RED_GUMMI }, + { MONSTER_MAKUHITA, ITEM_ORANGE_GUMMI }, + { MONSTER_SLUGMA, ITEM_RED_GUMMI }, + { MONSTER_QUILAVA, ITEM_RED_GUMMI }, + { MONSTER_BELLSPROUT, ITEM_GRASS_GUMMI }, + { MONSTER_WEEZING, ITEM_PINK_GUMMI }, + { MONSTER_LINOONE, ITEM_WHITE_GUMMI }, + { MONSTER_CASCOON, ITEM_GREEN_GUMMI }, + { MONSTER_MARILL, ITEM_BLUE_GUMMI }, + { MONSTER_AZUMARILL, ITEM_BLUE_GUMMI }, + { MONSTER_SWALOT, ITEM_PINK_GUMMI }, + { MONSTER_ELECTRODE, ITEM_YELLOW_GUMMI }, + { MONSTER_MANKEY, ITEM_ORANGE_GUMMI }, + { MONSTER_MANTINE, ITEM_BLUE_GUMMI }, + { MONSTER_MUDKIP, ITEM_BLUE_GUMMI }, + { MONSTER_DRATINI, ITEM_ROYAL_GUMMI }, + { MONSTER_MEW, ITEM_GOLD_GUMMI }, + { MONSTER_MEWTWO, ITEM_GOLD_GUMMI }, + { MONSTER_MILTANK, ITEM_WHITE_GUMMI }, + { MONSTER_MILOTIC, ITEM_BLUE_GUMMI }, + { MONSTER_MISDREAVUS, ITEM_PURPLE_GUMMI }, + { MONSTER_SMOOCHUM, ITEM_CLEAR_GUMMI }, + { MONSTER_MEGANIUM, ITEM_GRASS_GUMMI }, + { MONSTER_METAGROSS, ITEM_SILVER_GUMMI }, + { MONSTER_DITTO, ITEM_WHITE_GUMMI }, + { MONSTER_METANG, ITEM_SILVER_GUMMI }, + { MONSTER_TENTACOOL, ITEM_BLUE_GUMMI }, + { MONSTER_MAREEP, ITEM_YELLOW_GUMMI }, + { MONSTER_FLAAFFY, ITEM_YELLOW_GUMMI }, + { MONSTER_VENOMOTH, ITEM_GREEN_GUMMI }, + { MONSTER_TANGELA, ITEM_GRASS_GUMMI }, + { MONSTER_BALTOY, ITEM_BROWN_GUMMI }, + { MONSTER_SLOWKING, ITEM_BLUE_GUMMI }, + { MONSTER_SLOWBRO, ITEM_BLUE_GUMMI }, + { MONSTER_SLOWPOKE, ITEM_BLUE_GUMMI }, + { MONSTER_MURKROW, ITEM_BLACK_GUMMI }, + { MONSTER_SABLEYE, ITEM_BLACK_GUMMI }, + { MONSTER_VIGOROTH, ITEM_WHITE_GUMMI }, + { MONSTER_YANMA, ITEM_GREEN_GUMMI }, + { MONSTER_SNORUNT, ITEM_CLEAR_GUMMI }, + { MONSTER_CRADILY, ITEM_GRAY_GUMMI }, + { MONSTER_KADABRA, ITEM_GOLD_GUMMI }, + { MONSTER_LARVITAR, ITEM_GRAY_GUMMI }, + { MONSTER_DUSKULL, ITEM_PURPLE_GUMMI }, + { MONSTER_NOCTOWL, ITEM_WHITE_GUMMI }, + { MONSTER_RAIKOU, ITEM_YELLOW_GUMMI }, + { MONSTER_RAICHU, ITEM_YELLOW_GUMMI }, + { MONSTER_MANECTRIC, ITEM_YELLOW_GUMMI }, + { MONSTER_SWAMPERT, ITEM_BLUE_GUMMI }, + { MONSTER_ELECTRIKE, ITEM_YELLOW_GUMMI }, + { MONSTER_CHANSEY, ITEM_WHITE_GUMMI }, + { MONSTER_RATICATE, ITEM_WHITE_GUMMI }, + { MONSTER_LATIAS, ITEM_ROYAL_GUMMI }, + { MONSTER_LATIOS, ITEM_ROYAL_GUMMI }, + { MONSTER_LUVDISC, ITEM_BLUE_GUMMI }, + { MONSTER_LAPRAS, ITEM_BLUE_GUMMI }, + { MONSTER_VILEPLUME, ITEM_GRASS_GUMMI }, + { MONSTER_RALTS, ITEM_GOLD_GUMMI }, + { MONSTER_LANTURN, ITEM_BLUE_GUMMI }, + { MONSTER_CHARMELEON, ITEM_RED_GUMMI }, + { MONSTER_CHARIZARD, ITEM_RED_GUMMI }, + { MONSTER_LILEEP, ITEM_GRAY_GUMMI }, + { MONSTER_URSARING, ITEM_WHITE_GUMMI }, + { MONSTER_JYNX, ITEM_CLEAR_GUMMI }, + { MONSTER_LUGIA, ITEM_GOLD_GUMMI }, + { MONSTER_LUNATONE, ITEM_GRAY_GUMMI }, + { MONSTER_AZURILL, ITEM_WHITE_GUMMI }, + { MONSTER_LUDICOLO, ITEM_BLUE_GUMMI }, + { MONSTER_MAGNETON, ITEM_YELLOW_GUMMI }, + { MONSTER_REGICE, ITEM_CLEAR_GUMMI }, + { MONSTER_REGISTEEL, ITEM_SILVER_GUMMI }, + { MONSTER_REGIROCK, ITEM_GRAY_GUMMI }, + { MONSTER_RAYQUAZA, ITEM_ROYAL_GUMMI }, + { MONSTER_LEDIAN, ITEM_GREEN_GUMMI }, + { MONSTER_LEDYBA, ITEM_GREEN_GUMMI }, + { MONSTER_VULPIX, ITEM_RED_GUMMI }, + { MONSTER_ROSELIA, ITEM_GRASS_GUMMI }, + { MONSTER_COMBUSKEN, ITEM_RED_GUMMI }, + { MONSTER_JUMPLUFF, ITEM_GRASS_GUMMI }, + { MONSTER_TOTODILE, ITEM_BLUE_GUMMI }, + { MONSTER_MACHOP, ITEM_ORANGE_GUMMI } +}; + +ALIGNED(4) const u8 gMankeyMission[] = _("Punish bad {COLOR_1 YELLOW}Mankey{END_COLOR_TEXT_1}!"); +ALIGNED(4) const u8 gSmeargleMission[] = _("{COLOR_1 YELLOW}Smeargle{END_COLOR_TEXT_1}{APOSTROPHE}s desperate plea!"); +ALIGNED(4) const u8 gMedichamMission[] = _("{COLOR_1 YELLOW}Medicham{END_COLOR_TEXT_1}: Help me!"); +ALIGNED(4) const u8 gUnknown_80E8830[] = _("Deliver one {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) const u8 gUnknown_80E8848[] = _("One {COLOR_1 GREEN}%s{END_COLOR_TEXT_1} wanted!"); +ALIGNED(4) const u8 gUnknown_80E885C[] = _("Save my child!"); +ALIGNED(4) const u8 gUnknown_80E886C[] = _("Escort me to my love!"); +ALIGNED(4) const u8 gUnknown_80E8884[] = _("Near %s"); +ALIGNED(4) const u8 gUnknown_80E888C[] = _("Rescue Description"); +ALIGNED(4) const u8 gMankeyMissionDescription[] = _("Please punish bad {COLOR_1 YELLOW}Mankey{END_COLOR_TEXT_1}{APOSTROPHE}s gang."); + +ALIGNED(4) const u8 gSmeargleMissionDescription[] = _( + "I didn{APOSTROPHE}t want to become a grown-up{COMMA} so I\n" + "fled{COMMA} but now I{APOSTROPHE}ve lost my way! Help!"); + +ALIGNED(4) const u8 gMedichamMissionDescription[] = _( + "This is {COLOR_1 YELLOW}Medicham{END_COLOR_TEXT_1}. Rescue me{COMMA} please!\n" + "The reward is a secret〜♪ "); + +ALIGNED(4) const u8 gUnknown_80E8968[] = _( + "With the item {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}{COMMA} I can\n" + "evolve! I{APOSTROPHE}m yearning to evolve! Help!"); + +ALIGNED(4) const u8 gUnknown_80E89B0[] = _( + "The {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}! What I love to eat\n" + "and can{APOSTROPHE}t live without! Please get one!"); + +ALIGNED(4) const u8 gUnknown_80E89FC[] = _( + "This is a rescue through communication.\n" + "Get a friend to help you!"); + +ALIGNED(4) const u8 gUnknown_80E8A40[] = _( + "This is a rescue through communication.\n" + "Rescue a friend!"); + +ALIGNED(4) const u8 gUnknown_80E8A7C[] = _( + "This is a rescue through communication.\n" + "Send your thanks to your friend!"); + +ALIGNED(4) const u8 gUnknown_80E8AC8[] = _("Client:"); +ALIGNED(4) const u8 gUnknown_80E8AD0[] = _("%s{COLOR_1 GREEN}{UNK_ICON_81_69}%s{UNK_ICON_81_6A}{END_COLOR_TEXT_1}"); +ALIGNED(4) const u8 gUnknown_80E8AE0[] = _("Objective:"); +ALIGNED(4) const u8 gUnknown_80E8AEC[] = _("Friend Rescue"); +ALIGNED(4) const u8 gUnknown_80E8AFC[] = _("Deliver {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) const u8 gUnknown_80E8B10[] = _("Find {COLOR_1 GREEN}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) const u8 gUnknown_80E8B20[] = _("Help me."); +ALIGNED(4) const u8 gUnknown_80E8B2C[] = _("Escort to {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) const u8 gUnknown_80E8B40[] = _("Find {COLOR_1 YELLOW}%s{END_COLOR_TEXT_1}."); +ALIGNED(4) const u8 gSpecialMissionText[] = _("Special mission"); +ALIGNED(4) const u8 gPlaceText[] = _("Place:"); +ALIGNED(4) const u8 gDifficultyText[] = _("Difficulty:"); +ALIGNED(4) const u8 gRewardText[] = _("Reward:"); +ALIGNED(4) const u8 gUnknown_80E8B7C[] = _("Wonder Mail:"); \ No newline at end of file diff --git a/src/load_screen.c b/src/load_screen.c index 96240de2..b2a6c09f 100644 --- a/src/load_screen.c +++ b/src/load_screen.c @@ -7,6 +7,7 @@ #include "code_8097670.h" #include "constants/main_menu.h" #include "constants/wonder_mail.h" +#include "dungeon.h" #include "event_flag.h" #include "file_system.h" #include "ground_main.h" @@ -50,7 +51,6 @@ void DrawLoadScreenText(void); void sub_80397B4(void); extern void sub_80920D8(u8 *); -extern void PrintDungeonLocationtoBuffer(u8 *, DungeonLocation *); const UnkTextStruct2 gUnknown_80E75F8 = { 0x00, 0x00, 0x00, 0x00, diff --git a/src/personality_test.c b/src/personality_test.c deleted file mode 100644 index bf4b128e..00000000 --- a/src/personality_test.c +++ /dev/null @@ -1,1037 +0,0 @@ -#include "global.h" -#include "bg_palette_buffer.h" -#include "code_80118A4.h" -#include "code_80130A8.h" -#include "code_801602C.h" -#include "code_8098BDC.h" -#include "constants/emotions.h" -#include "constants/input.h" -#include "constants/type.h" -#include "game_options.h" -#include "input.h" -#include "memory.h" -#include "menu_input.h" -#include "personality_test.h" -#include "pokemon.h" -#include "random.h" -#include "save.h" -#include "text1.h" -#include "text2.h" -#include "text_util.h" - -enum -{ - PERSONALITY_GENERATE_NEW_QUESTION, - PERSONALITY_ASK_QUESTION, - PERSONALITY_UPDATE_TOTALS, - PERSONALITY_PLAYER_GENDER, - PERSONALITY_REVEAL, - PERSONALITY_STARTER_REVEAL, - PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_1, - PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_2, - PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_3, - PERSONALITY_PARTNER_SELECTION, - PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_1, - PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_2, - PERSONALITY_PARTNER_NICKNAME, - PERSONALITY_END_INTRO, - PERSONALITY_ADVANCE_TO_TEST_END, - PERSONALITY_TEST_END, -}; - -EWRAM_DATA_2 struct PersonalityTestTracker *gPersonalityTestTracker = {0}; -EWRAM_DATA_2 struct PersonalityStruct_203B404 *gUnknown_203B404 = {0}; - -extern void sub_8001024(u32 *); -extern s32 sub_8094E4C(void); -extern void sub_8094D28(s32); -extern void sub_8001044(u32 *); - -extern void sub_800836C(u32, u8 *r0, u32); - -extern void RedrawPartnerSelectionMenu(void); - -extern u32 sub_80095E4(s16, u32); - -extern const char gStarterReveal[]; - -extern u8 gAvailablePokemonNames[0x50]; - -extern const char gHardyDescription[]; -extern const char gDocileDescription[]; -extern const char gBraveDescription[]; -extern const char gJollyDescription[]; -extern const char gImpishDescription[]; -extern const char gNaiveDescription[]; -extern const char gTimidDescription[]; -extern const char gHastyDescription[]; -extern const char gSassyDescription[]; -extern const char gCalmDescription[]; -extern const char gRelaxedDescription[]; -extern const char gLonelyDescription[]; -extern const char gQuirkyDescription[]; -extern const u8 GirlText[]; -extern const u8 BoyText[]; - -extern const struct PersonalityQuestion HardyQuest1; -extern const struct PersonalityQuestion HardyQuest2; -extern const struct PersonalityQuestion HardyQuest3; -extern const struct PersonalityQuestion HardyQuest4; -extern const struct PersonalityQuestion DocileQuest1; -extern const struct PersonalityQuestion DocileQuest2; -extern const struct PersonalityQuestion DocileQuest3; -extern const struct PersonalityQuestion DocileQuest4; -extern const struct PersonalityQuestion BraveQuest1; -extern const struct PersonalityQuestion BraveQuest2A; -extern const struct PersonalityQuestion BraveQuest3; -extern const struct PersonalityQuestion BraveQuest4; -extern const struct PersonalityQuestion JollyQuest1; -extern const struct PersonalityQuestion JollyQuest2; -extern const struct PersonalityQuestion JollyQuest3; -extern const struct PersonalityQuestion JollyQuest4; -extern const struct PersonalityQuestion ImpishQuest1; -extern const struct PersonalityQuestion ImpishQuest2; -extern const struct PersonalityQuestion ImpishQuest3; -extern const struct PersonalityQuestion ImpishQuest4; -extern const struct PersonalityQuestion NaiveQuest1; -extern const struct PersonalityQuestion NaiveQuest2; -extern const struct PersonalityQuestion NaiveQuest3; -extern const struct PersonalityQuestion NaiveQuest4; -extern const struct PersonalityQuestion TimidQuest1; -extern const struct PersonalityQuestion TimidQuest2; -extern const struct PersonalityQuestion TimidQuest3; -extern const struct PersonalityQuestion TimidQuest4; -extern const struct PersonalityQuestion HastyQuest1; -extern const struct PersonalityQuestion HastyQuest2; -extern const struct PersonalityQuestion HastyQuest3; -extern const struct PersonalityQuestion HastyQuest4; -extern const struct PersonalityQuestion SassyQuest1; -extern const struct PersonalityQuestion SassyQuest2; -extern const struct PersonalityQuestion SassyQuest3; -extern const struct PersonalityQuestion SassyQuest4; -extern const struct PersonalityQuestion CalmQuest1; -extern const struct PersonalityQuestion CalmQuest2; -extern const struct PersonalityQuestion CalmQuest3; -extern const struct PersonalityQuestion CalmQuest4; -extern const struct PersonalityQuestion RelaxedQuest1; -extern const struct PersonalityQuestion RelaxedQuest2; -extern const struct PersonalityQuestion RelaxedQuest3; -extern const struct PersonalityQuestion RelaxedQuest4; -extern const struct PersonalityQuestion LonelyQuest1; -extern const struct PersonalityQuestion LonelyQuest2; -extern const struct PersonalityQuestion LonelyQuest3; -extern const struct PersonalityQuestion LonelyQuest4; -extern const struct PersonalityQuestion QuirkyQuest1; -extern const struct PersonalityQuestion QuirkyQuest2; -extern const struct PersonalityQuestion QuirkyQuest3; -extern const struct PersonalityQuestion QuirkyQuest4; -extern const struct PersonalityQuestion MiscQuest1; -extern const struct PersonalityQuestion MiscQuest2; -extern const struct PersonalityQuestion MiscQuest3; -extern const struct PersonalityQuestion BraveQuest2B; - -const struct PersonalityQuestion * const gPersonalityQuestionPointerTable[NUM_QUIZ_QUESTIONS + 1] = -{ - &HardyQuest1, - &HardyQuest2, - &HardyQuest3, - &HardyQuest4, - &DocileQuest1, - &DocileQuest2, - &DocileQuest3, - &DocileQuest4, - &BraveQuest1, - &BraveQuest2A, - &BraveQuest3, - &BraveQuest4, - &JollyQuest1, - &JollyQuest2, - &JollyQuest3, - &JollyQuest4, - &ImpishQuest1, - &ImpishQuest2, - &ImpishQuest3, - &ImpishQuest4, - &NaiveQuest1, - &NaiveQuest2, - &NaiveQuest3, - &NaiveQuest4, - &TimidQuest1, - &TimidQuest2, - &TimidQuest3, - &TimidQuest4, - &HastyQuest1, - &HastyQuest2, - &HastyQuest3, - &HastyQuest4, - &SassyQuest1, - &SassyQuest2, - &SassyQuest3, - &SassyQuest4, - &CalmQuest1, - &CalmQuest2, - &CalmQuest3, - &CalmQuest4, - &RelaxedQuest1, - &RelaxedQuest2, - &RelaxedQuest3, - &RelaxedQuest4, - &LonelyQuest1, - &LonelyQuest2, - &LonelyQuest3, - &LonelyQuest4, - &QuirkyQuest1, - &QuirkyQuest2, - &QuirkyQuest3, - &QuirkyQuest4, - &MiscQuest1, - &MiscQuest2, - &MiscQuest3, - &BraveQuest2B -}; - -// NOTE: 2nd Part of Brave is included at the end so it isn't actually chosen -const u8 gNatureQuestionTable[NUM_QUIZ_QUESTIONS + 1] = -{ - HARDY, - HARDY, - HARDY, - HARDY, - DOCILE, - DOCILE, - DOCILE, - DOCILE, - BRAVE, - BRAVE, - BRAVE, - BRAVE, - JOLLY, - JOLLY, - JOLLY, - JOLLY, - IMPISH, - IMPISH, - IMPISH, - IMPISH, - NAIVE, - NAIVE, - NAIVE, - NAIVE, - TIMID, - TIMID, - TIMID, - TIMID, - HASTY, - HASTY, - HASTY, - HASTY, - SASSY, - SASSY, - SASSY, - SASSY, - CALM, - CALM, - CALM, - CALM, - RELAXED, - RELAXED, - RELAXED, - RELAXED, - LONELY, - LONELY, - LONELY, - LONELY, - QUIRKY, - QUIRKY, - QUIRKY, - QUIRKY, - MISC, - MISC, - MISC, - BRAVE -}; - -ALIGNED(4) const u8 gGenderText[] = "Are you a boy or a girl?"; -const char * const gGenderTextPtr = gGenderText; - -const MenuItem gGenderMenu[] = -{ - {BoyText, 0}, - {GirlText, 1}, - {NULL, -1}, -}; - -ALIGNED(4) const u8 GirlText[] = "Girl."; -ALIGNED(4) const u8 BoyText[] = "Boy."; - -const u8 unknownPersonality[] = -{ - 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD -}; - -const s16 gStarters[NUM_PERSONALITIES][2] = -{ - // MALE / FEMALE - [HARDY] = {MONSTER_CHARMANDER, MONSTER_PIKACHU}, - [DOCILE] = {MONSTER_BULBASAUR, MONSTER_CHIKORITA}, - [BRAVE] = {MONSTER_MACHOP, MONSTER_CHARMANDER}, - [JOLLY] = {MONSTER_SQUIRTLE, MONSTER_TOTODILE}, - [IMPISH] = {MONSTER_PIKACHU, MONSTER_CUBONE}, - [NAIVE] = {MONSTER_TOTODILE, MONSTER_EEVEE}, - [TIMID] = {MONSTER_CYNDAQUIL, MONSTER_MUDKIP}, - [HASTY] = {MONSTER_TORCHIC, MONSTER_SKITTY}, - [SASSY] = {MONSTER_TREECKO, MONSTER_TORCHIC}, - [CALM] = {MONSTER_MUDKIP, MONSTER_BULBASAUR}, - [RELAXED] = {MONSTER_PSYDUCK, MONSTER_SQUIRTLE}, - [LONELY] = {MONSTER_CUBONE, MONSTER_PSYDUCK}, - [QUIRKY] = {MONSTER_MEOWTH, MONSTER_TREECKO} -}; - -ALIGNED(4) const char gStarterReveal[] = _("\n{CENTER_ALIGN}The Pokémon {ARG_POKEMON_0}!"); -const char * const gStarterRevealPtr = gStarterReveal; - -ALIGNED(4) const char gPartnerPrompt[] = _( - "{CENTER_ALIGN}This is the final step.{WAIT_PRESS}\n" - "{CENTER_ALIGN}Who would you like to have as a partner?{EXTRA_MSG}" - "{CENTER_ALIGN}Choose the Pokémon you want\n" - "{CENTER_ALIGN}as your partner from this group."); -const char * const gPartnerPromptPtr = gPartnerPrompt; - -ALIGNED(4) const char gPartnerNickPrompt[] = _("{CENTER_ALIGN}What is your partner{APOSTROPHE}s nickname?"); -const char * const gPartnerNickPromptPtr = gPartnerNickPrompt; - -ALIGNED(4) const char gEndIntroText[] = _( - "{CENTER_ALIGN}OK! We{APOSTROPHE}re all set!{EXTRA_MSG}" - "{CENTER_ALIGN}Let{APOSTROPHE}s get you into the\n" - "{CENTER_ALIGN}world of Pokémon!{EXTRA_MSG}" - "{CENTER_ALIGN}Go for it!"); -const char * const gEndIntroTextPtr = gEndIntroText; - -const char * const gPersonalityTypeDescriptionTable[NUM_PERSONALITIES] = -{ - [HARDY] = gHardyDescription, - [DOCILE] = gDocileDescription, - [BRAVE] = gBraveDescription, - [JOLLY] = gJollyDescription, - [IMPISH] = gImpishDescription, - [NAIVE] = gNaiveDescription, - [TIMID] = gTimidDescription, - [HASTY] = gHastyDescription, - [SASSY] = gSassyDescription, - [CALM] = gCalmDescription, - [RELAXED] = gRelaxedDescription, - [LONELY] = gLonelyDescription, - [QUIRKY] = gQuirkyDescription -}; - -#include "data/nature_description.h" - -const UnkTextStruct2 gUnknown_80F4244 = -{ - 0x00, 0x00, 0x00, 0x00, - 0x05, - 0x0C, 0x06, - 0x05, 0x05, - 0x05, 0x00, - NULL -}; - - - - -// FILE 2: - - - -const char filler[] = "pksdir0"; - -const s16 gPartners[NUM_PARTNERS] = -{ - MONSTER_CHARMANDER, - MONSTER_BULBASAUR, - MONSTER_SQUIRTLE, - MONSTER_PIKACHU, - MONSTER_CHIKORITA, - MONSTER_TOTODILE, - MONSTER_CYNDAQUIL, - MONSTER_TORCHIC, - MONSTER_TREECKO, - MONSTER_MUDKIP -}; - -const UnkTextStruct2 gUnknown_80F4278 = -{ - 0x00, 0x00, 0x00, 0x00, - 0x03, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - NULL -}; - -const UnkTextStruct2 gUnknown_80F4290 = -{ - 0x00, 0x00, 0x00, 0x00, - 0x06, - 0x02, 0x02, - 0x09, 0x0B, - 0x0D, 0x00, - NULL -}; - -const UnkTextStruct2 gUnknown_80F42A8 = -{ - 0x00, 0x00, 0x00, 0x00, - 0x05, - 0x0E, 0x04, - 0x05, 0x05, - 0x05, 0x00, - NULL -}; - -const char gPartnerSelectionHeaderText[] = _("Pokémon"); - -u8 CreateTestTracker(void) -{ - gPersonalityTestTracker = MemoryAlloc(sizeof(struct PersonalityTestTracker),8); - sub_801317C(&gPersonalityTestTracker->input); - InitializeTestStats(); - sub_8099690(1); - return 1; -} - -void InitializeTestStats(void) -{ - s32 counter; - - sub_8001024(&gPersonalityTestTracker->unk4); - gPersonalityTestTracker->FrameCounter = 0; - gPersonalityTestTracker->TestState = 0; - gPersonalityTestTracker->QuestionCounter = 0; - for(counter = 0; counter < NUM_PERSONALITIES; counter++){ - gPersonalityTestTracker->NatureTotals[counter] = 0; - } - gPersonalityTestTracker->currQuestionIndex = 0; - for(counter = 0; counter < NUM_QUIZ_QUESTIONS; counter++){ - gPersonalityTestTracker->QuestionTracker[counter] = 0; - } - gPersonalityTestTracker->playerNature = 0; - gPersonalityTestTracker->playerGender = 0; -} - -u8 HandleTestTrackerState(void) -{ - s32 counter; - - s32 iVar1; - - gPersonalityTestTracker->FrameCounter++; - switch(gPersonalityTestTracker->TestState) - { - case PERSONALITY_GENERATE_NEW_QUESTION: - GenerateNewQuestionOrGender(); - break; - case PERSONALITY_ASK_QUESTION: - CallPromptNewQuestion(); - break; - case PERSONALITY_UPDATE_TOTALS: - UpdateNatureTotals(); - break; - case PERSONALITY_PLAYER_GENDER: - SetPlayerGender(); - break; - case PERSONALITY_REVEAL: - RevealPersonality(); - break; - case PERSONALITY_STARTER_REVEAL: - RevealStarter(); - break; - case PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_1: - AdvanceToPickPartnerPrompt(); - break; - case PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_2: - PromptPickPartner(); - break; - case PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_3: - AdvanceToPartnerSelection(); - break; - case PERSONALITY_PARTNER_SELECTION: - CallCreatePartnerSelectionMenu(); - break; - case PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_1: - PromptForPartnerNickname(); - break; - case PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_2: - AdvanceToPartnerNickhameScreen(); - break; - case PERSONALITY_PARTNER_NICKNAME: - NicknamePartner(); - break; - case PERSONALITY_END_INTRO: - PrintEndIntroText(); - break; - case PERSONALITY_ADVANCE_TO_TEST_END: - AdvanceToTestEnd(); - break; - case PERSONALITY_TEST_END: - iVar1 = Rand32Bit() * gPersonalityTestTracker->FrameCounter; - sub_8094D28(Rand32Bit()); - - for(counter = 0; counter < NUM_PERSONALITIES; counter++){ - iVar1 *= (gPersonalityTestTracker->NatureTotals[counter] + counter + 3); - } - - iVar1 += sub_8094E4C(); - while (iVar1 == -1) { - iVar1 += sub_8094E4C(); - } - sub_8011C40(iVar1); - return 3; - default: - break; - } - return 0; -} - -void DeleteTestTracker(void) -{ - sub_8001044(&gPersonalityTestTracker->unk4); - MemoryFree(gPersonalityTestTracker); - gPersonalityTestTracker = NULL; -} - -void GenerateNewQuestionOrGender(void) -{ - u8 category; - int counter; - int newQuestion; - - gPersonalityTestTracker->QuestionCounter++; - if (gPersonalityTestTracker->QuestionCounter > MAX_ASKED_QUESTIONS) { - // We've asked enough questions - sub_8014248(gGenderText, 0, 0, gGenderMenu, 0, 3, 0, 0, 257); - gPersonalityTestTracker->TestState = PERSONALITY_PLAYER_GENDER; - } - else - { - do { - // Generate new question number and make sure we haven't done it - newQuestion = RandInt(NUM_QUIZ_QUESTIONS); - gPersonalityTestTracker->currQuestionIndex = newQuestion; - } while (gPersonalityTestTracker->QuestionTracker[newQuestion] == 1); - - // Found one so let's get the category - category = gNatureQuestionTable[gPersonalityTestTracker->currQuestionIndex]; - - // Mark all of the questions in the category as used - for(counter = 0; counter < NUM_QUIZ_QUESTIONS; counter++){ - if (gNatureQuestionTable[counter] == category) - gPersonalityTestTracker->QuestionTracker[counter] = 1; - } - gPersonalityTestTracker->TestState = PERSONALITY_ASK_QUESTION; - } -} - -void CallPromptNewQuestion(void) -{ - PromptNewQuestion(); - gPersonalityTestTracker->TestState = PERSONALITY_UPDATE_TOTALS; -} - -void UpdateNatureTotals() -{ - s32 answerIndex; - s32 natureIndex; - const u8 *pointArray; - - if (!sub_80144A4(&answerIndex)) - { - // This is for the second part of Brave 2 Question if you fight.. - if (answerIndex == BRAVE_2B_TRIGGER) - { - // Set question to BRAVE_2B and ask the question.. - gPersonalityTestTracker->currQuestionIndex = NUM_QUIZ_QUESTIONS; - gPersonalityTestTracker->TestState = PERSONALITY_ASK_QUESTION; - } - else - { - pointArray = gPersonalityQuestionPointerTable[gPersonalityTestTracker->currQuestionIndex]->effects; - // Skip until we get to the one for our answer - // Each Answer has 16 bytes. 13 are currently used with 3 remaining - pointArray += (NUM_PERSONALITIES + 3) * answerIndex; - for (natureIndex = 0; natureIndex < NUM_PERSONALITIES; natureIndex++) - { - gPersonalityTestTracker->NatureTotals[natureIndex] += pointArray[natureIndex]; - } - gPersonalityTestTracker->TestState = PERSONALITY_GENERATE_NEW_QUESTION; - } - } -} - -void SetPlayerGender(void) -{ - - int gender; - - if (sub_80144A4(&gender) == 0) { - if (gender == MALE) { - gPersonalityTestTracker->playerGender = MALE; - gGameOptionsRef->playerGender = MALE; - } - else - { - gPersonalityTestTracker->playerGender = FEMALE; - gGameOptionsRef->playerGender = FEMALE; - } - sub_8099690(0); - gPersonalityTestTracker->TestState = PERSONALITY_REVEAL; - } -} - -void RevealPersonality(void) -{ - s32 currentNature; - s32 counter; - - gPersonalityTestTracker->playerNature = RandInt(NUM_PERSONALITIES); - currentNature = gPersonalityTestTracker->playerNature; - - for(counter = 0; counter < NUM_PERSONALITIES - 1; counter++){ - currentNature++; - - // Wraparound check - if (currentNature > QUIRKY) { - currentNature = HARDY; - } - - if (gPersonalityTestTracker->NatureTotals[currentNature] > gPersonalityTestTracker->NatureTotals[gPersonalityTestTracker->playerNature]) { - gPersonalityTestTracker->playerNature = currentNature; - } - } - gPersonalityTestTracker->StarterID = gStarters[gPersonalityTestTracker->playerNature][gPersonalityTestTracker->playerGender]; - PrintPersonalityTypeDescription(); - gPersonalityTestTracker->TestState = PERSONALITY_STARTER_REVEAL; -} - -void RevealStarter(void) -{ - s32 temp; - - if (sub_80144A4(&temp) == 0) { - sub_80141B4(gStarterReveal,0,0,0x101); - PersonalityTest_DisplayStarterSprite(); - gPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_1; - } -} - -void AdvanceToPickPartnerPrompt(void) -{ - s32 temp; - - if (sub_80144A4(&temp) == 0) { - gPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_2; - } -} - -void PromptPickPartner(void) -{ - sub_80141B4(gPartnerPrompt, 0, 0, 0x301); - gPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_3; -} - -void AdvanceToPartnerSelection(void) -{ - s32 temp; - - if (sub_80144A4(&temp) == 0) { - gPersonalityTestTracker->TestState = PERSONALITY_PARTNER_SELECTION; - } -} - -void CallCreatePartnerSelectionMenu(void) -{ - CreatePartnerSelectionMenu(gPersonalityTestTracker->StarterID); - gPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_1; -} - -void PromptForPartnerNickname(void) -{ - u16 selectedPartner; - - selectedPartner = HandlePartnerSelectionInput(); - if (selectedPartner != 0xffff) - { - if(selectedPartner != 0xfffe) { - sub_803CE6C(); - gPersonalityTestTracker->PartnerID = selectedPartner; - sub_80141B4(gPartnerNickPrompt, 0, 0, 0x301); - gPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_2; - } - } -} - -void AdvanceToPartnerNickhameScreen(void) -{ - s32 temp; - - if (sub_80144A4(&temp) == 0) { - gPersonalityTestTracker->TestState = PERSONALITY_PARTNER_NICKNAME; - } -} - -void NicknamePartner(void) -{ - CopyStringtoBuffer(gPersonalityTestTracker->PartnerNick, GetMonSpecies(gPersonalityTestTracker->PartnerID)); - sub_801602C(3, gPersonalityTestTracker->PartnerNick); - gPersonalityTestTracker->TestState = PERSONALITY_END_INTRO; -} - -void PrintEndIntroText(void) -{ - if (sub_8016080()) { - sub_80160D8(); - sub_80141B4(gEndIntroText, 0, 0, 0x301); - gPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_TEST_END; - } -} - -void AdvanceToTestEnd(void) -{ - s32 temp; - - if (sub_80144A4(&temp) == 0) { - gPersonalityTestTracker->TestState = PERSONALITY_TEST_END; - } -} - -void PromptNewQuestion(void) -{ - sub_8014248(gPersonalityQuestionPointerTable[gPersonalityTestTracker->currQuestionIndex]->question, - 0, 0, - (MenuItem *)gPersonalityQuestionPointerTable[gPersonalityTestTracker->currQuestionIndex]->answers, - 0, 3, 0, 0, 0x101); -} - -void PrintPersonalityTypeDescription(void) -{ - CopyMonsterNametoBuffer(gAvailablePokemonNames, gPersonalityTestTracker->StarterID); - sub_80141B4(gPersonalityTypeDescriptionTable[gPersonalityTestTracker->playerNature],0, - 0,0x101); -} - -void PersonalityTest_DisplayStarterSprite(void) -{ - s32 starterID; - OpenedFile *faceFile; - int palleteIndex; - u8 *r6; - u32 faceIndex; - UnkTextStruct2 stackArray[4]; - - starterID = gPersonalityTestTracker->StarterID; - sub_8006518(stackArray); - stackArray[1] = gUnknown_80F4244; - ResetUnusedInputStruct(); - sub_800641C(stackArray, TRUE, FALSE); - sub_8008C54(1); - sub_80073B8(1); - faceFile = GetDialogueSpriteDataPtr(starterID); - r6 = ((struct FaceData *)(faceFile->data))->unk0[1 + EMOTION_HAPPY]; - faceIndex = EMOTION_HAPPY; - for(palleteIndex = 0; palleteIndex < 16; palleteIndex++){ - SetBGPaletteBufferColorArray(palleteIndex + 224, &((struct FaceData *)(faceFile->data))->unk0[faceIndex][palleteIndex << 2]); - } - sub_800836C(1, r6, 0xe); - CloseFile(faceFile); - sub_80073E0(1); -} - -void CreatePartnerSelectionMenu(s16 starterID) -{ - s32 starterID_s32; - starterID_s32 = starterID; // force an asr shift.. does lsr without it - - sub_803CEAC(); // creates 203B404 - gUnknown_203B404->StarterID = starterID_s32; - gUnknown_203B404->unk4C = 0; - gUnknown_203B404->unk50 = gUnknown_203B404->unk54; - - gUnknown_203B404->unk54[0] = gUnknown_80F4290; - gUnknown_203B404->unk54[1] = gUnknown_80F42A8; - gUnknown_203B404->unk54[2] = gUnknown_80F4278; - gUnknown_203B404->unk54[3] = gUnknown_80F4278; - - gUnknown_203B404->unk50->unk14 = gUnknown_203B404->unkb4; - - gUnknown_203B404->unkb4[0] = 1; - gUnknown_203B404->unkb4[1] = 0; - gUnknown_203B404->unkb4[2] = 6; - gUnknown_203B404->unkb4[3] = 0; - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B404->unk54, TRUE, TRUE); - sub_8013818(&gUnknown_203B404->input, GetValidPartners(), 0xA, gUnknown_203B404->unk4C); - RedrawPartnerSelectionMenu(); - PersonalityTest_DisplayPartnerSprite(); -} - - -u16 HandlePartnerSelectionInput(void) -{ - s32 partnerID; - - partnerID = gUnknown_203B404->input.menuIndex; - gUnknown_203B404->unk16 = 0; - if (GetKeyPress(&gUnknown_203B404->input) == INPUT_A_BUTTON) { - PlayMenuSoundEffect(0); - return gUnknown_203B404->PartnerArray[gUnknown_203B404->input.menuIndex]; - } - else { - if (sub_80138B8(&gUnknown_203B404->input, 1) != '\0') { - RedrawPartnerSelectionMenu(); - } - if (partnerID != gUnknown_203B404->input.menuIndex) { - PersonalityTest_DisplayPartnerSprite(); - } - if (gUnknown_203B404->unk16 != '\0') { - return -2; - } - else { - return -1; - } - } -} - -void sub_803CE34(u8 param_1) -{ - gUnknown_203B404->input.unk22 = GetValidPartners(); - sub_8013984(&gUnknown_203B404->input); - RedrawPartnerSelectionMenu(); - PersonalityTest_DisplayPartnerSprite(); - if (param_1 != 0) { - AddMenuCursorSprite(&gUnknown_203B404->input); - } -} - -void sub_803CE6C() -{ - gUnknown_203B404->unk54[gUnknown_203B404->unk4C] = gUnknown_80F4278; - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B404->unk54, TRUE, TRUE); - sub_803CECC(); // Free 203B404 -} - - - - - - - -// THIS IS A NEW FILE: - - - - - -void sub_803CEAC(void) -{ - gUnknown_203B404 = MemoryAlloc(sizeof(struct PersonalityStruct_203B404), 8); - nullsub_135(); -} - -void nullsub_135(void) -{ -} - - -void sub_803CECC(void) -{ - if(gUnknown_203B404 != NULL){ - nullsub_135(); - MemoryFree(gUnknown_203B404); - gUnknown_203B404 = NULL; - } -} - -#ifdef NONMATCHING // sub_80095E4 memes -void RedrawPartnerSelectionMenu(void) -{ - s32 sVar1; - u32 yCoord; - const char *monName; - s32 monCounter; - - sVar1 = sub_80095E4(gUnknown_203B404->unk32, 0xc); - - // Have a feeling this is some graphical thing but - // still not sure structure so it's not matching yet bc of that - // and some casting stuff - sVar1 += 2; - sVar1 <<= 16; - gUnknown_203B404->unk54[gUnknown_203B404->unk4C].unk0[7] = sVar1; - gUnknown_203B404->unk54[gUnknown_203B404->unk4C].unk0[8] = sVar1 + 2; - - // Everything after this matches - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B404->unk54, TRUE, TRUE); - sub_8008C54(gUnknown_203B404->unk4C); - sub_80073B8(gUnknown_203B404->unk4C); - xxx_call_draw_string(0xc, 0, gPartnerSelectionHeaderText, gUnknown_203B404->unk4C, 0); - - monCounter = 0; - while (monCounter < gUnknown_203B404->unk32) { - yCoord = sub_8013800(&gUnknown_203B404->unk18, monCounter); - monName = GetMonSpecies(gUnknown_203B404->PartnerArray[monCounter]); - xxx_call_draw_string(8, yCoord, monName, gUnknown_203B404->unk4C, 0); - monCounter++; - } - sub_80073E0(gUnknown_203B404->unk4C); - gUnknown_203B404->unk16 = 1; -} -#else -NAKED -void RedrawPartnerSelectionMenu(void) -{ - asm_unified("\tpush {r4-r6,lr}\n" - "\tsub sp, 0x4\n" - "\tldr r6, _0803CF60\n" - "\tldr r0, [r6]\n" - "\tmovs r1, 0x32\n" - "\tldrsh r0, [r0, r1]\n" - "\tmovs r1, 0xC\n" - "\tbl sub_80095E4\n" - "\tadds r0, 0x2\n" - "\tlsls r0, 16\n" - "\tldr r2, [r6]\n" - "\tldr r3, [r2, 0x4C]\n" - "\tlsls r1, r3, 1\n" - "\tadds r1, r3\n" - "\tlsls r1, 3\n" - "\tadds r1, r2, r1\n" - "\tadds r1, 0x62\n" - "\tmovs r4, 0\n" - "\tasrs r3, r0, 16\n" - "\tlsrs r0, 16\n" - "\tstrh r0, [r1]\n" - "\tldr r1, [r2, 0x4C]\n" - "\tlsls r0, r1, 1\n" - "\tadds r0, r1\n" - "\tlsls r0, 3\n" - "\tadds r2, r0\n" - "\tadds r3, 0x2\n" - "\tadds r2, 0x64\n" - "\tstrh r3, [r2]\n" - "\tbl ResetUnusedInputStruct\n" - "\tldr r0, [r6]\n" - "\tadds r0, 0x54\n" - "\tmovs r1, 0x1\n" - "\tmovs r2, 0x1\n" - "\tbl sub_800641C\n" - "\tldr r0, [r6]\n" - "\tldr r0, [r0, 0x4C]\n" - "\tbl sub_8008C54\n" - "\tldr r0, [r6]\n" - "\tldr r0, [r0, 0x4C]\n" - "\tbl sub_80073B8\n" - "\tldr r2, _0803CF64\n" - "\tldr r0, [r6]\n" - "\tldr r3, [r0, 0x4C]\n" - "\tstr r4, [sp]\n" - "\tmovs r0, 0xC\n" - "\tmovs r1, 0\n" - "\tbl xxx_call_draw_string\n" - "\tmovs r5, 0\n" - "\tb _0803CF98\n" - "\t.align 2, 0\n" -"_0803CF60: .4byte gUnknown_203B404\n" -"_0803CF64: .4byte gPartnerSelectionHeaderText\n" -"_0803CF68:\n" - "\tldr r0, [r6]\n" - "\tadds r0, 0x18\n" - "\tadds r1, r5, 0\n" - "\tbl sub_8013800\n" - "\tadds r4, r0, 0\n" - "\tldr r0, [r6]\n" - "\tlsls r1, r5, 1\n" - "\tadds r0, 0x2\n" - "\tadds r0, r1\n" - "\tmovs r1, 0\n" - "\tldrsh r0, [r0, r1]\n" - "\tbl GetMonSpecies\n" - "\tadds r2, r0, 0\n" - "\tldr r0, [r6]\n" - "\tldr r3, [r0, 0x4C]\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp]\n" - "\tmovs r0, 0x8\n" - "\tadds r1, r4, 0\n" - "\tbl xxx_call_draw_string\n" - "\tadds r5, 0x1\n" -"_0803CF98:\n" - "\tldr r0, [r6]\n" - "\tmovs r1, 0x32\n" - "\tldrsh r0, [r0, r1]\n" - "\tcmp r5, r0\n" - "\tblt _0803CF68\n" - "\tldr r4, _0803CFBC\n" - "\tldr r0, [r4]\n" - "\tldr r0, [r0, 0x4C]\n" - "\tbl sub_80073E0\n" - "\tldr r1, [r4]\n" - "\tmovs r0, 0x1\n" - "\tstrb r0, [r1, 0x16]\n" - "\tadd sp, 0x4\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" -"_0803CFBC: .4byte gUnknown_203B404"); -} -#endif - -void PersonalityTest_DisplayPartnerSprite(void) -{ - s32 partnerID; - OpenedFile *faceFile; - int palleteIndex; - u8 *r6; - u32 faceIndex; - - partnerID = gUnknown_203B404->PartnerArray[gUnknown_203B404->input.menuIndex]; - sub_8008C54(1); - sub_80073B8(1); - faceFile = GetDialogueSpriteDataPtr(partnerID); - r6 = ((struct FaceData *)(faceFile->data))->unk0[1 + EMOTION_NORMAL]; - faceIndex = EMOTION_NORMAL; - for(palleteIndex = 0; palleteIndex < 16; palleteIndex++){ - SetBGPaletteBufferColorArray(palleteIndex + 224,&((struct FaceData *)(faceFile->data))->unk0[faceIndex][palleteIndex << 2]); - } - sub_800836C(1,r6,0xe); - CloseFile(faceFile); - sub_80073E0(1); - gUnknown_203B404->unk16 = 1; -} - -s32 GetValidPartners(void) -{ - u8 PlayerType[2]; - u8 currentPartnerTypes[2]; - s32 counter; - s32 ValidPartnerCounter; - s32 CurrentPartnerID; - - ValidPartnerCounter = 0; - PlayerType[0] = GetPokemonType(gUnknown_203B404->StarterID, 0); - PlayerType[1] = GetPokemonType(gUnknown_203B404->StarterID, 1); - for(counter = 0; counter < NUM_PARTNERS; counter++){ - CurrentPartnerID = gPartners[counter]; - currentPartnerTypes[0] = GetPokemonType(CurrentPartnerID, 0); - currentPartnerTypes[1] = GetPokemonType(CurrentPartnerID, 1); - if (((currentPartnerTypes[0] == TYPE_NONE) || ((currentPartnerTypes[0] != PlayerType[0] && (currentPartnerTypes[0] != PlayerType[1])))) - && ((currentPartnerTypes[1] == TYPE_NONE || ((currentPartnerTypes[1] != PlayerType[0] && (currentPartnerTypes[1] != PlayerType[1]))) - ))) { - gUnknown_203B404->PartnerArray[ValidPartnerCounter] = CurrentPartnerID; - ValidPartnerCounter++; - } - } - return ValidPartnerCounter; -} diff --git a/src/personality_test1.c b/src/personality_test1.c new file mode 100644 index 00000000..0e27266b --- /dev/null +++ b/src/personality_test1.c @@ -0,0 +1,412 @@ +#include "global.h" +#include "globaldata.h" +#include "bg_palette_buffer.h" +#include "code_2.h" +#include "code_80130A8.h" +#include "code_801602C.h" +#include "code_8094D28.h" +#include "code_8098BDC.h" +#include "constants/emotions.h" +#include "game_options.h" +#include "input.h" +#include "memory.h" +#include "menu_input.h" +#include "personality_test1.h" +#include "personality_test2.h" +#include "random.h" +#include "save.h" +#include "text_util.h" +#include "text1.h" +#include "text2.h" + +enum +{ + PERSONALITY_GENERATE_NEW_QUESTION, + PERSONALITY_ASK_QUESTION, + PERSONALITY_UPDATE_TOTALS, + PERSONALITY_PLAYER_GENDER, + PERSONALITY_REVEAL, + PERSONALITY_STARTER_REVEAL, + PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_1, + PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_2, + PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_3, + PERSONALITY_PARTNER_SELECTION, + PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_1, + PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_2, + PERSONALITY_PARTNER_NICKNAME, + PERSONALITY_END_INTRO, + PERSONALITY_ADVANCE_TO_TEST_END, + PERSONALITY_TEST_END, +}; + +extern u8 gAvailablePokemonNames[]; // 202DF98 + +static EWRAM_DATA_2 struct PersonalityTestTracker *sPersonalityTestTracker = {0}; + +#include "data/personality_test1.h" + +static void AdvanceToPartnerNicknameScreen(void); +static void AdvanceToPartnerSelection(void); +static void AdvanceToPickPartnerPrompt(void); +static void AdvanceToTestEnd(void); +static void CallCreatePartnerSelectionMenu(void); +static void CallPromptNewQuestion(void); +static void GenerateNewQuestionOrGender(void); +static void InitializeTestStats(void); +static void NicknamePartner(void); +static void PersonalityTest_DisplayStarterSprite(void); +static void PrintEndIntroText(void); +static void PrintPersonalityTypeDescription(void); +static void PromptForPartnerNickname(void); +static void PromptNewQuestion(void); +static void PromptPickPartner(void); +static void RevealPersonality(void); +static void RevealStarter(void); +static void SetPlayerGender(void); +static void UpdateNatureTotals(void); + +bool8 CreateTestTracker(void) +{ + sPersonalityTestTracker = MemoryAlloc(sizeof(struct PersonalityTestTracker), 8); + sub_801317C(&sPersonalityTestTracker->input); + InitializeTestStats(); + sub_8099690(1); + return TRUE; +} + +static void InitializeTestStats(void) +{ + s32 i; + + sub_8001024(&sPersonalityTestTracker->unk4); + sPersonalityTestTracker->FrameCounter = 0; + sPersonalityTestTracker->TestState = 0; + sPersonalityTestTracker->QuestionCounter = 0; + + for (i = 0; i < NUM_PERSONALITIES; i++) + sPersonalityTestTracker->NatureTotals[i] = 0; + + sPersonalityTestTracker->currQuestionIndex = 0; + + for (i = 0; i < NUM_QUIZ_QUESTIONS; i++) + sPersonalityTestTracker->QuestionTracker[i] = 0; + + sPersonalityTestTracker->playerNature = 0; + sPersonalityTestTracker->playerGender = 0; +} + +u8 HandleTestTrackerState(void) +{ + s32 counter; + s32 iVar1; + + sPersonalityTestTracker->FrameCounter++; + + switch (sPersonalityTestTracker->TestState) { + case PERSONALITY_GENERATE_NEW_QUESTION: + GenerateNewQuestionOrGender(); + break; + case PERSONALITY_ASK_QUESTION: + CallPromptNewQuestion(); + break; + case PERSONALITY_UPDATE_TOTALS: + UpdateNatureTotals(); + break; + case PERSONALITY_PLAYER_GENDER: + SetPlayerGender(); + break; + case PERSONALITY_REVEAL: + RevealPersonality(); + break; + case PERSONALITY_STARTER_REVEAL: + RevealStarter(); + break; + case PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_1: + AdvanceToPickPartnerPrompt(); + break; + case PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_2: + PromptPickPartner(); + break; + case PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_3: + AdvanceToPartnerSelection(); + break; + case PERSONALITY_PARTNER_SELECTION: + CallCreatePartnerSelectionMenu(); + break; + case PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_1: + PromptForPartnerNickname(); + break; + case PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_2: + AdvanceToPartnerNicknameScreen(); + break; + case PERSONALITY_PARTNER_NICKNAME: + NicknamePartner(); + break; + case PERSONALITY_END_INTRO: + PrintEndIntroText(); + break; + case PERSONALITY_ADVANCE_TO_TEST_END: + AdvanceToTestEnd(); + break; + case PERSONALITY_TEST_END: + iVar1 = Rand32Bit() * sPersonalityTestTracker->FrameCounter; + sub_8094D28(Rand32Bit()); + + for (counter = 0; counter < NUM_PERSONALITIES; counter++) + iVar1 *= sPersonalityTestTracker->NatureTotals[counter] + counter + 3; + + iVar1 += sub_8094E4C(); + while (iVar1 == -1) + iVar1 += sub_8094E4C(); + + sub_8011C40(iVar1); + return 3; + default: + break; + } + return 0; +} + +void DeleteTestTracker(void) +{ + sub_8001044(&sPersonalityTestTracker->unk4); + MemoryFree(sPersonalityTestTracker); + sPersonalityTestTracker = NULL; +} + +static void GenerateNewQuestionOrGender(void) +{ + u8 category; + s32 i; + s32 newQuestion; + + sPersonalityTestTracker->QuestionCounter++; + + if (sPersonalityTestTracker->QuestionCounter > MAX_ASKED_QUESTIONS) { + sub_8014248(gGenderText, 0, 0, gGenderMenu, 0, 3, 0, 0, 257); + sPersonalityTestTracker->TestState = PERSONALITY_PLAYER_GENDER; + } + else { + do { + // Generate new question number and make sure we haven't done it + newQuestion = RandInt(NUM_QUIZ_QUESTIONS); + sPersonalityTestTracker->currQuestionIndex = newQuestion; + } while (sPersonalityTestTracker->QuestionTracker[newQuestion] == 1); + + // Found one so let's get the category + category = gNatureQuestionTable[sPersonalityTestTracker->currQuestionIndex]; + + // Mark all of the questions in the category as used + for (i = 0; i < NUM_QUIZ_QUESTIONS; i++) { + if (gNatureQuestionTable[i] == category) + sPersonalityTestTracker->QuestionTracker[i] = 1; + } + sPersonalityTestTracker->TestState = PERSONALITY_ASK_QUESTION; + } +} + +static void CallPromptNewQuestion(void) +{ + PromptNewQuestion(); + sPersonalityTestTracker->TestState = PERSONALITY_UPDATE_TOTALS; +} + +static void UpdateNatureTotals(void) +{ + s32 answerIndex; + s32 natureIndex; + const u8 *pointArray; + + if (sub_80144A4(&answerIndex)) + return; + + // This is for the second part of Brave 2 Question if you fight.. + if (answerIndex == BRAVE_2B_TRIGGER) { + // Set question to BRAVE_2B and ask the question.. + sPersonalityTestTracker->currQuestionIndex = NUM_QUIZ_QUESTIONS; + sPersonalityTestTracker->TestState = PERSONALITY_ASK_QUESTION; + } + else { + pointArray = gPersonalityQuestionPointerTable[sPersonalityTestTracker->currQuestionIndex]->effects; + // Skip until we get to the one for our answer + // Each Answer has 16 bytes. 13 are currently used with 3 remaining + pointArray += (NUM_PERSONALITIES + 3) * answerIndex; + for (natureIndex = 0; natureIndex < NUM_PERSONALITIES; natureIndex++) + sPersonalityTestTracker->NatureTotals[natureIndex] += pointArray[natureIndex]; + + sPersonalityTestTracker->TestState = PERSONALITY_GENERATE_NEW_QUESTION; + } +} + +static void SetPlayerGender(void) +{ + s32 gender; + + if (sub_80144A4(&gender) != 0) + return; + + if (gender == MALE) { + sPersonalityTestTracker->playerGender = MALE; + gGameOptionsRef->playerGender = MALE; + } + else { + sPersonalityTestTracker->playerGender = FEMALE; + gGameOptionsRef->playerGender = FEMALE; + } + + sub_8099690(0); + sPersonalityTestTracker->TestState = PERSONALITY_REVEAL; +} + +static void RevealPersonality(void) +{ + s32 currentNature; + s32 i; + + sPersonalityTestTracker->playerNature = RandInt(NUM_PERSONALITIES); + currentNature = sPersonalityTestTracker->playerNature; + + for (i = 0; i < NUM_PERSONALITIES - 1; i++) { + currentNature++; + + // Wraparound check + if (currentNature > QUIRKY) + currentNature = HARDY; + + if (sPersonalityTestTracker->NatureTotals[currentNature] > sPersonalityTestTracker->NatureTotals[sPersonalityTestTracker->playerNature]) + sPersonalityTestTracker->playerNature = currentNature; + } + + sPersonalityTestTracker->StarterID = gStarters[sPersonalityTestTracker->playerNature][sPersonalityTestTracker->playerGender]; + PrintPersonalityTypeDescription(); + sPersonalityTestTracker->TestState = PERSONALITY_STARTER_REVEAL; +} + +static void RevealStarter(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) { + sub_80141B4(gStarterReveal, 0, 0, 0x101); + PersonalityTest_DisplayStarterSprite(); + sPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_1; + } +} + +static void AdvanceToPickPartnerPrompt(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) + sPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_2; +} + +static void PromptPickPartner(void) +{ + sub_80141B4(gPartnerPrompt, 0, 0, 0x301); + sPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_SELECTION_3; +} + +static void AdvanceToPartnerSelection(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) + sPersonalityTestTracker->TestState = PERSONALITY_PARTNER_SELECTION; +} + +static void CallCreatePartnerSelectionMenu(void) +{ + CreatePartnerSelectionMenu(sPersonalityTestTracker->StarterID); + sPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_1; +} + +static void PromptForPartnerNickname(void) +{ + u16 selectedPartner; + + selectedPartner = HandlePartnerSelectionInput(); + + if (selectedPartner != 0xFFFF) { + if (selectedPartner != 0xFFFE) { + sub_803CE6C(); + sPersonalityTestTracker->PartnerID = selectedPartner; + sub_80141B4(gPartnerNickPrompt, 0, 0, 0x301); + sPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_PARTNER_NICKNAME_2; + } + } +} + +static void AdvanceToPartnerNicknameScreen(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) + sPersonalityTestTracker->TestState = PERSONALITY_PARTNER_NICKNAME; +} + +static void NicknamePartner(void) +{ + CopyStringtoBuffer(sPersonalityTestTracker->PartnerNick, GetMonSpecies(sPersonalityTestTracker->PartnerID)); + sub_801602C(3, sPersonalityTestTracker->PartnerNick); + sPersonalityTestTracker->TestState = PERSONALITY_END_INTRO; +} + +static void PrintEndIntroText(void) +{ + if (sub_8016080()) { + sub_80160D8(); + sub_80141B4(gEndIntroText, 0, 0, 0x301); + sPersonalityTestTracker->TestState = PERSONALITY_ADVANCE_TO_TEST_END; + } +} + +static void AdvanceToTestEnd(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) + sPersonalityTestTracker->TestState = PERSONALITY_TEST_END; +} + +static void PromptNewQuestion(void) +{ + sub_8014248(gPersonalityQuestionPointerTable[sPersonalityTestTracker->currQuestionIndex]->question, + 0, 0, + gPersonalityQuestionPointerTable[sPersonalityTestTracker->currQuestionIndex]->answers, + 0, 3, 0, 0, 0x101); +} + +static void PrintPersonalityTypeDescription(void) +{ + CopyMonsterNametoBuffer(gAvailablePokemonNames, sPersonalityTestTracker->StarterID); + sub_80141B4(sPersonalityTypeDescriptionTable[sPersonalityTestTracker->playerNature], 0, 0, 0x101); +} + +static void PersonalityTest_DisplayStarterSprite(void) +{ + s32 starterID; + OpenedFile *faceFile; + s32 palleteIndex; + u8 *r6; + u32 faceIndex; + UnkTextStruct2 stackArray[4]; + + starterID = sPersonalityTestTracker->StarterID; + sub_8006518(stackArray); + stackArray[1] = sUnknown_80F4244; + ResetUnusedInputStruct(); + sub_800641C(stackArray, TRUE, FALSE); + sub_8008C54(1); + sub_80073B8(1); + + faceFile = GetDialogueSpriteDataPtr(starterID); + r6 = ((struct FaceData *)faceFile->data)->unk0[1 + EMOTION_HAPPY]; + faceIndex = EMOTION_HAPPY; + for (palleteIndex = 0; palleteIndex < 0x10; palleteIndex++) + SetBGPaletteBufferColorArray(palleteIndex + 0xE0, &((struct FaceData *)faceFile->data)->unk0[faceIndex][palleteIndex * 4]); + + sub_800836C(1, r6, 14); + CloseFile(faceFile); + sub_80073E0(1); +} \ No newline at end of file diff --git a/src/personality_test2.c b/src/personality_test2.c new file mode 100644 index 00000000..658026da --- /dev/null +++ b/src/personality_test2.c @@ -0,0 +1,303 @@ +#include "global.h" +#include "globaldata.h" +#include "bg_palette_buffer.h" +#include "code_80118A4.h" +#include "constants/emotions.h" +#include "constants/input.h" +#include "constants/type.h" +#include "input.h" +#include "memory.h" +#include "menu_input.h" +#include "personality_test2.h" +#include "pokemon.h" +#include "text1.h" +#include "text2.h" + +EWRAM_DATA_2 struct PersonalityStruct_203B404 *gUnknown_203B404 = {0}; + +#include "data/personality_test2.h" + +static s32 GetValidPartners(void); +static void nullsub_135(void); +static void PersonalityTest_DisplayPartnerSprite(void); +static void RedrawPartnerSelectionMenu(void); + +static void sub_803CEAC(void); +static void sub_803CECC(void); + +void CreatePartnerSelectionMenu(s16 starterID) +{ + s32 starterID_s32; + starterID_s32 = starterID; // force an asr shift.. does lsr without it + + sub_803CEAC(); + gUnknown_203B404->StarterID = starterID_s32; + gUnknown_203B404->unk4C = 0; + gUnknown_203B404->unk50 = gUnknown_203B404->unk54; + + gUnknown_203B404->unk54[0] = gUnknown_80F4290; + gUnknown_203B404->unk54[1] = gUnknown_80F42A8; + gUnknown_203B404->unk54[2] = gUnknown_80F4278; + gUnknown_203B404->unk54[3] = gUnknown_80F4278; + + gUnknown_203B404->unk50->unk14 = gUnknown_203B404->unkb4; + + gUnknown_203B404->unkb4[0] = 1; + gUnknown_203B404->unkb4[1] = 0; + gUnknown_203B404->unkb4[2] = 6; + gUnknown_203B404->unkb4[3] = 0; + ResetUnusedInputStruct(); + sub_800641C(gUnknown_203B404->unk54, TRUE, TRUE); + sub_8013818(&gUnknown_203B404->input, GetValidPartners(), 10, gUnknown_203B404->unk4C); + RedrawPartnerSelectionMenu(); + PersonalityTest_DisplayPartnerSprite(); +} + +u16 HandlePartnerSelectionInput(void) +{ + s32 partnerID; + + partnerID = gUnknown_203B404->input.menuIndex; + gUnknown_203B404->unk16 = 0; + + if (GetKeyPress(&gUnknown_203B404->input) == INPUT_A_BUTTON) { + PlayMenuSoundEffect(0); + return gUnknown_203B404->PartnerArray[gUnknown_203B404->input.menuIndex]; + } + + if (sub_80138B8(&gUnknown_203B404->input, TRUE)) + RedrawPartnerSelectionMenu(); + + if (partnerID != gUnknown_203B404->input.menuIndex) + PersonalityTest_DisplayPartnerSprite(); + + if (gUnknown_203B404->unk16 != 0) { + return -2; + } + return -1; +} + +UNUSED static void sub_803CE34(bool8 cursorSprite) +{ + gUnknown_203B404->input.unk22 = GetValidPartners(); + sub_8013984(&gUnknown_203B404->input); + RedrawPartnerSelectionMenu(); + PersonalityTest_DisplayPartnerSprite(); + + if (cursorSprite) + AddMenuCursorSprite(&gUnknown_203B404->input); +} + +void sub_803CE6C(void) +{ + gUnknown_203B404->unk54[gUnknown_203B404->unk4C] = gUnknown_80F4278; + ResetUnusedInputStruct(); + sub_800641C(gUnknown_203B404->unk54, TRUE, TRUE); + sub_803CECC(); +} + +static void sub_803CEAC(void) +{ + gUnknown_203B404 = MemoryAlloc(sizeof(struct PersonalityStruct_203B404), 8); + nullsub_135(); +} + +static void nullsub_135(void) +{ +} + +static void sub_803CECC(void) +{ + if (gUnknown_203B404 != NULL) { + nullsub_135(); + MemoryFree(gUnknown_203B404); + gUnknown_203B404 = NULL; + } +} + +#ifdef NONMATCHING // sub_80095E4 memes +static void RedrawPartnerSelectionMenu(void) +{ + s32 sVar1; + u32 yCoord; + const u8 *monName; + s32 monCounter; + + sVar1 = sub_80095E4(gUnknown_203B404->unk32, 12); + + // Have a feeling this is some graphical thing but + // still not sure structure so it's not matching yet bc of that + // and some casting stuff + sVar1 += 2; + sVar1 <<= 16; + gUnknown_203B404->unk54[gUnknown_203B404->unk4C].unk0[7] = sVar1; + gUnknown_203B404->unk54[gUnknown_203B404->unk4C].unk0[8] = sVar1 + 2; + + // Everything after this matches + ResetUnusedInputStruct(); + sub_800641C(gUnknown_203B404->unk54, TRUE, TRUE); + sub_8008C54(gUnknown_203B404->unk4C); + sub_80073B8(gUnknown_203B404->unk4C); + xxx_call_draw_string(12, 0, gPartnerSelectionHeaderText, gUnknown_203B404->unk4C, 0); + + monCounter = 0; + while (monCounter < gUnknown_203B404->unk32) { + yCoord = sub_8013800(&gUnknown_203B404->unk18, monCounter); + monName = GetMonSpecies(gUnknown_203B404->PartnerArray[monCounter]); + xxx_call_draw_string(8, yCoord, monName, gUnknown_203B404->unk4C, 0); + monCounter++; + } + sub_80073E0(gUnknown_203B404->unk4C); + gUnknown_203B404->unk16 = 1; +} +#else +NAKED +static void RedrawPartnerSelectionMenu(void) +{ + asm_unified("\tpush {r4-r6,lr}\n" + "\tsub sp, 0x4\n" + "\tldr r6, _0803CF60\n" + "\tldr r0, [r6]\n" + "\tmovs r1, 0x32\n" + "\tldrsh r0, [r0, r1]\n" + "\tmovs r1, 0xC\n" + "\tbl sub_80095E4\n" + "\tadds r0, 0x2\n" + "\tlsls r0, 16\n" + "\tldr r2, [r6]\n" + "\tldr r3, [r2, 0x4C]\n" + "\tlsls r1, r3, 1\n" + "\tadds r1, r3\n" + "\tlsls r1, 3\n" + "\tadds r1, r2, r1\n" + "\tadds r1, 0x62\n" + "\tmovs r4, 0\n" + "\tasrs r3, r0, 16\n" + "\tlsrs r0, 16\n" + "\tstrh r0, [r1]\n" + "\tldr r1, [r2, 0x4C]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r1\n" + "\tlsls r0, 3\n" + "\tadds r2, r0\n" + "\tadds r3, 0x2\n" + "\tadds r2, 0x64\n" + "\tstrh r3, [r2]\n" + "\tbl ResetUnusedInputStruct\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x54\n" + "\tmovs r1, 0x1\n" + "\tmovs r2, 0x1\n" + "\tbl sub_800641C\n" + "\tldr r0, [r6]\n" + "\tldr r0, [r0, 0x4C]\n" + "\tbl sub_8008C54\n" + "\tldr r0, [r6]\n" + "\tldr r0, [r0, 0x4C]\n" + "\tbl sub_80073B8\n" + "\tldr r2, _0803CF64\n" + "\tldr r0, [r6]\n" + "\tldr r3, [r0, 0x4C]\n" + "\tstr r4, [sp]\n" + "\tmovs r0, 0xC\n" + "\tmovs r1, 0\n" + "\tbl xxx_call_draw_string\n" + "\tmovs r5, 0\n" + "\tb _0803CF98\n" + "\t.align 2, 0\n" +"_0803CF60: .4byte gUnknown_203B404\n" +"_0803CF64: .4byte gPartnerSelectionHeaderText\n" +"_0803CF68:\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x18\n" + "\tadds r1, r5, 0\n" + "\tbl sub_8013800\n" + "\tadds r4, r0, 0\n" + "\tldr r0, [r6]\n" + "\tlsls r1, r5, 1\n" + "\tadds r0, 0x2\n" + "\tadds r0, r1\n" + "\tmovs r1, 0\n" + "\tldrsh r0, [r0, r1]\n" + "\tbl GetMonSpecies\n" + "\tadds r2, r0, 0\n" + "\tldr r0, [r6]\n" + "\tldr r3, [r0, 0x4C]\n" + "\tmovs r0, 0\n" + "\tstr r0, [sp]\n" + "\tmovs r0, 0x8\n" + "\tadds r1, r4, 0\n" + "\tbl xxx_call_draw_string\n" + "\tadds r5, 0x1\n" +"_0803CF98:\n" + "\tldr r0, [r6]\n" + "\tmovs r1, 0x32\n" + "\tldrsh r0, [r0, r1]\n" + "\tcmp r5, r0\n" + "\tblt _0803CF68\n" + "\tldr r4, _0803CFBC\n" + "\tldr r0, [r4]\n" + "\tldr r0, [r0, 0x4C]\n" + "\tbl sub_80073E0\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0x1\n" + "\tstrb r0, [r1, 0x16]\n" + "\tadd sp, 0x4\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" +"_0803CFBC: .4byte gUnknown_203B404"); +} +#endif + +static void PersonalityTest_DisplayPartnerSprite(void) +{ + s32 partnerID; + OpenedFile *faceFile; + s32 palleteIndex; + u8 *r6; + u32 faceIndex; + + partnerID = gUnknown_203B404->PartnerArray[gUnknown_203B404->input.menuIndex]; + sub_8008C54(1); + sub_80073B8(1); + faceFile = GetDialogueSpriteDataPtr(partnerID); + r6 = ((struct FaceData *)faceFile->data)->unk0[1 + EMOTION_NORMAL]; + faceIndex = EMOTION_NORMAL; + + for (palleteIndex = 0; palleteIndex < 0x10; palleteIndex++) + SetBGPaletteBufferColorArray(palleteIndex + 0xE0, &((struct FaceData *)faceFile->data)->unk0[faceIndex][palleteIndex * 4]); + + sub_800836C(1, r6, 14); + CloseFile(faceFile); + sub_80073E0(1); + gUnknown_203B404->unk16 = 1; +} + +static s32 GetValidPartners(void) +{ + u8 PlayerType[2]; + u8 currentPartnerTypes[2]; + s32 i; + s32 ValidPartnerCounter; + s32 CurrentPartnerID; + + ValidPartnerCounter = 0; + PlayerType[0] = GetPokemonType(gUnknown_203B404->StarterID, 0); + PlayerType[1] = GetPokemonType(gUnknown_203B404->StarterID, 1); + + for (i = 0; i < NUM_PARTNERS; i++) { + CurrentPartnerID = gPartners[i]; + currentPartnerTypes[0] = GetPokemonType(CurrentPartnerID, 0); + currentPartnerTypes[1] = GetPokemonType(CurrentPartnerID, 1); + + if ((currentPartnerTypes[0] == TYPE_NONE || (currentPartnerTypes[0] != PlayerType[0] && currentPartnerTypes[0] != PlayerType[1])) + && ((currentPartnerTypes[1] == TYPE_NONE || (currentPartnerTypes[1] != PlayerType[0] && currentPartnerTypes[1] != PlayerType[1])))) { + gUnknown_203B404->PartnerArray[ValidPartnerCounter] = CurrentPartnerID; + ValidPartnerCounter++; + } + } + + return ValidPartnerCounter; +} \ No newline at end of file diff --git a/src/pokemon_mail.c b/src/pokemon_mail.c index c6caa28e..820570ea 100644 --- a/src/pokemon_mail.c +++ b/src/pokemon_mail.c @@ -1,14 +1,451 @@ #include "global.h" +#include "globaldata.h" +#include "code_800D090.h" +#include "code_8012A18_1.h" +#include "code_803C1D0.h" +#include "code_803D110.h" +#include "constants/colors.h" +#include "dungeon.h" +#include "event_flag.h" +#include "exclusive_pokemon.h" +#include "items.h" +#include "menu_input.h" +#include "pokemon.h" +#include "pokemon_3.h" #include "pokemon_mail.h" +#include "pokemon_mail_pre.h" +#include "text_util.h" +#include "text2.h" + +extern u8 gUnknown_202DE58[]; +extern u8 gAvailablePokemonNames[]; // 202DF98 #include "data/pokemon_mail.h" +// There are possibly more funcs in asm currently that belong to this file... + +void sub_803B6B0(s32 x, s32 y, u8 index, u32 a3) +{ + xxx_call_draw_string(x, y, sUnknown_80E8B94[index], a3, 0); +} + +void CreateRescueTitle(unkStruct_802C39C *param_1) +{ + u8 buf_1[200]; + u8 buf_2[20]; + u8 buf_3[100]; + u8 *monName; + u8 uVar1; + + sub_803B6B0(10, param_1->y, param_1->unk43, param_1->unk0[0]); + + switch (param_1->mailTitleType) { + case 3: + xxx_call_draw_string(21, param_1->y, param_1->unk4C, param_1->unk0[0], 0); + break; + case 0: + xxx_call_draw_string(21, param_1->y, gMankeyMission, param_1->unk0[0], 0); + break; + case 1: + xxx_call_draw_string(21, param_1->y, gSmeargleMission, param_1->unk0[0], 0); + break; + case 2: + xxx_call_draw_string(21, param_1->y, gMedichamMission, param_1->unk0[0], 0); + break; + case 7: + PrintYellowDungeonNametoBuffer(buf_1, ¶m_1->unk8->dungeon); + xxx_call_draw_string(21, param_1->y, buf_1, param_1->unk0[0], 0); + break; + case 12: + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8830, gUnknown_202DE58); + xxx_call_draw_string(21, param_1->y, buf_1, param_1->unk0[0], 0); + break; + case 11: + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8848, gUnknown_202DE58); + xxx_call_draw_string(21, param_1->y, buf_1, param_1->unk0[0], 0); + break; + case 4: + xxx_call_draw_string(21, param_1->y, gUnknown_80E885C, param_1->unk0[0], 0); + break; + case 5: + xxx_call_draw_string(21, param_1->y, gUnknown_80E9F8C[param_1->unk0[1]].headline, param_1->unk0[0], 0); + break; + case 6: + xxx_call_draw_string(21, param_1->y, gUnknown_80E886C, param_1->unk0[0],0); + break; + case 10: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80EAE5C[bVar2 % 4], gAvailablePokemonNames); + xxx_call_draw_string(21, param_1->y, buf_1, param_1->unk0[0], 0); + break; + } + case 9: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E910C[bVar2 % 10], gAvailablePokemonNames); + xxx_call_draw_string(21, param_1->y, buf_1, param_1->unk0[0], 0); + break; + } + default: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E8C98[bVar2 % 15], gAvailablePokemonNames); + xxx_call_draw_string(21, param_1->y, buf_1, param_1->unk0[0], 0); + break; + } + } + + if (param_1->mailTitleType == 7) { + if (param_1->playerName == NULL) + xxx_call_draw_string(178 - sub_8016028(), param_1->y, GetMonSpecies(param_1->clientSpecies), param_1->unk0[0], 0); + else { + sub_80922B4(buf_2, param_1->playerName, POKEMON_NAME_LENGTH); + xxx_call_draw_string(178 - sub_8016028(), param_1->y, buf_2, param_1->unk0[0], 0); + } + } + else { + if (param_1->mailMissionType == MISSION_TYPE_FIND_ITEM) { + PrintDungeonLocationtoBuffer(buf_3, ¶m_1->unk8->dungeon); + sprintfStatic(buf_1, gUnknown_80E8884, buf_3); + } + else + PrintDungeonLocationtoBuffer(buf_1, ¶m_1->unk8->dungeon); + + xxx_call_draw_string(29, param_1->y + 12, buf_1, param_1->unk0[0], 0); + } + + if (param_1->mailTitleType == 7) + uVar1 = sub_803C1D0(¶m_1->unk8->dungeon, 0); + else + uVar1 = sub_803C1D0(¶m_1->unk8->dungeon, param_1->mail->missionType); + + xxx_call_draw_string(180, param_1->y, sub_803C1F0(uVar1), param_1->unk0[0], 0); +} + +void CreateRescueDescription(unkStruct_802C39C *param_1) +{ + u8 uVar3; + s32 x; + s32 counter; + u32 color; + s32 y; + u8 buf_1[300]; + u8 buf_2[40]; + u8 buf_3[20]; + u8 buf_4[20]; + u8 buf_5[100]; + u8 local_34[24]; + u8 *monName; + + y = 0; + + xxx_call_draw_string(10, y, gUnknown_80E888C, param_1->unk0[0], 0); + xxx_call_draw_string(108, y, sUnknown_80E8BCC[param_1->mailStatus], param_1->unk0[0], 0); + y += 16; + + switch (param_1->mailDescriptionType) { + case 3: + xxx_call_draw_string(10, y, param_1->unk50, param_1->unk0[0], 0); + break; + case 0: + xxx_call_draw_string(10, y, gMankeyMissionDescription, param_1->unk0[0], 0); + break; + case 1: + xxx_call_draw_string(10, y, gSmeargleMissionDescription, param_1->unk0[0], 0); + break; + case 2: + xxx_call_draw_string(10, y, gMedichamMissionDescription, param_1->unk0[0], 0); + break; + case 4: + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8968, gUnknown_202DE58); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + break; + case 5: + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E89B0, gUnknown_202DE58); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + break; + case 6: + xxx_call_draw_string(10, y, gUnknown_80E9920[param_1->unk0[1]].text, param_1->unk0[0], 0); + break; + case 7: + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E9F8C[param_1->unk0[1]].text, gAvailablePokemonNames, gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + break; + case 9: + xxx_call_draw_string(10, y, gUnknown_80E89FC, param_1->unk0[0], 0); + break; + case 10: + xxx_call_draw_string(10, y, gUnknown_80E8A40, param_1->unk0[0], 0); + break; + case 11: + xxx_call_draw_string(10, y, gUnknown_80E8A7C, param_1->unk0[0], 0); + break; + case 15: + case 16: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80EB3F8[bVar2 % 22], gUnknown_202DE58); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y += 12; + + sprintfStatic(buf_1, gUnknown_80EB72C[bVar3 % 22], gUnknown_202DE58); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y -= 12; + break; + } + case 14: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80EAEB8[bVar2 % 20], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y += 12; + + sprintfStatic(buf_1, gUnknown_80EB198[bVar3 % 4], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y -= 12; + break; + } + case 8: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80EB220[bVar2 % 6], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y += 12; + + sprintfStatic(buf_1, gUnknown_80EB2F0[bVar3 % 6], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y -= 12; + break; + } + case 13: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E91D4[bVar2 % 45], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y += 12; + + sprintfStatic(buf_1, gUnknown_80E9820[bVar3 % 10], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y -= 12; + break; + } + default: { + u8 bVar2 = param_1->unk8->seed + param_1->unk8->dungeon.id; + u8 bVar3 = param_1->unk8->seed + param_1->unk8->dungeon.floor; + monName = GetMonSpecies(param_1->clientSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E8DE4[bVar2 % 13], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y += 12; + + sprintfStatic(buf_1, gUnknown_80E8FB0[bVar3 % 13], gAvailablePokemonNames); + xxx_call_draw_string(10, y, buf_1, param_1->unk0[0], 0); + y -= 12; + break; + } + } + + y += 28; + xxx_call_draw_string(10, y, gUnknown_80E8AC8, param_1->unk0[0], 0); + + if (param_1->playerName == NULL) + xxx_call_draw_string(68, y, GetMonSpecies(param_1->clientSpecies), param_1->unk0[0], 0); + else { + sub_80922B4(buf_3, param_1->playerName, POKEMON_NAME_LENGTH); + sub_808D930(buf_4, param_1->clientSpecies); + sprintfStatic(buf_2, gUnknown_80E8AD0, buf_3, buf_4); + xxx_call_draw_string(68, y, buf_2, param_1->unk0[0], 0); + } + + y += 12; + xxx_call_draw_string(10, y, gUnknown_80E8AE0, param_1->unk0[0], 0); + + switch (param_1->mailMissionType) { + case MISSION_TYPE_FRIEND_RESCUE: + xxx_call_draw_string(68, y, gUnknown_80E8AEC, param_1->unk0[0], 0); + break; + case MISSION_TYPE_DELIVER_ITEM: + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8AFC, gUnknown_202DE58); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case MISSION_TYPE_FIND_ITEM: + BufferItemName(gUnknown_202DE58, param_1->targetItem, NULL); + sprintfStatic(buf_1, gUnknown_80E8B10, gUnknown_202DE58); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case MISSION_TYPE_RESCUE_CLIENT: + xxx_call_draw_string(68, y, gUnknown_80E8B20, param_1->unk0[0], 0); + break; + case MISSION_TYPE_ESCORT_CLIENT: + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E8B2C, gAvailablePokemonNames); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case MISSION_TYPE_RESCUE_TARGET: + monName = GetMonSpecies(param_1->targetSpecies); + strcpy(gAvailablePokemonNames, monName); + sprintfStatic(buf_1, gUnknown_80E8B40, gAvailablePokemonNames); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case MISSION_TYPE_SPECIAL_MISSION: + default: + xxx_call_draw_string(68, y, gSpecialMissionText, param_1->unk0[0], 0); + break; + } + + y += 12; + xxx_call_draw_string(10, y, gPlaceText, param_1->unk0[0], 0); + + if (param_1->mailMissionType == MISSION_TYPE_FIND_ITEM) { + PrintDungeonLocationtoBuffer(buf_5, ¶m_1->unk8->dungeon); + sprintfStatic(buf_1, gUnknown_80E8884, buf_5); + } + else + PrintDungeonLocationtoBuffer(buf_1, ¶m_1->unk8->dungeon); + + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + + if (param_1->mailMissionType == MISSION_TYPE_FRIEND_RESCUE) + uVar3 = sub_803C1D0(¶m_1->unk8->dungeon, 0); + else + uVar3 = sub_803C1D0(¶m_1->unk8->dungeon, param_1->mail->missionType); + + y += 12; + xxx_call_draw_string(10, y, gDifficultyText, param_1->unk0[0], 0); + xxx_call_draw_string(68, y, sub_803C1F0(uVar3), param_1->unk0[0], 0); + + y += 12; + xxx_call_draw_string(10, y, gRewardText, param_1->unk0[0], 0); + + switch (param_1->rewardType) { + case 0: + sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], param_1->unk30); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case 1: + sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], param_1->unk30); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case 2: // Item + case 3: // Item + ? + BufferItemName(gUnknown_202DE58, param_1->rewardItem, NULL); + sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], gUnknown_202DE58); + xxx_call_draw_string(68, y, buf_1, param_1->unk0[0], 0); + break; + case 4: // Friend Area + xxx_call_draw_string(68, y, gMissionRewardText[param_1->rewardType], param_1->unk0[0], 0); + break; + default: + xxx_call_draw_string(68, y, gMissionRewardText[param_1->rewardType], param_1->unk0[0], 0); + break; + } + + // Draw the Password + y += 12; + if ((2 < (u8)(param_1->mailDescriptionType - 9)) && param_1->mailDescriptionType != 3 && param_1->mail->mailType == 5) { + xxx_call_draw_string(10, y, gUnknown_80E8B7C, param_1->unk0[0], 0); + sub_803D414(local_34, param_1->mail); + + for (counter = 0; counter < 24; counter++) { + if (counter == 12) + y += 12; + + color = COLOR_WHITE_2; + if (counter > 3) { + color = COLOR_YELLOW; + if (counter > 7 && (color = COLOR_WHITE_2)) { // ? + if (counter > 15) { + if (counter < 20) + color = COLOR_YELLOW; + } + } + } + + x = counter % 12; + sub_8012C60((x * 10) + 84, y, local_34[counter], color, param_1->unk0[0]); + } + } +} + +bool8 sub_803C0DC(s16 species) +{ + s32 baseSpecies; + s32 index; + + baseSpecies = GetBaseSpecies(species); + index = 0; + + //if (gUnknown_80E80E0[index] != MONSTER_NONE) { + while (gUnknown_80E80E0[index] != MONSTER_NONE) { + if (gUnknown_80E80E0[index] == baseSpecies) + return FALSE; + + index++; + } + //} + + return TRUE; +} + +bool8 sub_803C110(s16 index) +{ + PokemonStruct1 *pokeStruct; + const s16 *psVar5; + const s16 *psVar6; + s32 species_s32; + + species_s32 = (s32)index; + + if (!sub_8098134(index) || index != GetBaseSpecies(index) || !sub_803C0DC(index)) + return FALSE; + + if (!sub_80023E4(6)) { + psVar5 = &gUnknown_80E8126[0]; // TODO: Un-ugly this + if (*psVar5 != MONSTER_NONE) { + psVar6 = &gUnknown_80E8126[0]; + do { + if (*psVar6 == species_s32) + return FALSE; + psVar5++; + psVar6++; + } while (*psVar5 != MONSTER_NONE); + } + + pokeStruct = GetPlayerPokemonStruct(); + if (pokeStruct->speciesNum == species_s32) + return FALSE; + pokeStruct = sub_808D378(); + if (pokeStruct->speciesNum == species_s32) + return FALSE; + } + return TRUE; +} + const u8 *GetPokemonMailHeadline(u8 index) { - return gPokemonMail[index].headline; + return sPokemonMail[index].headline; } const u8 *GetPokemonMailText(u8 index) { - return gPokemonMail[index].text; -} + return sPokemonMail[index].text; +} \ No newline at end of file diff --git a/src/pokemon_mail_pre.c b/src/pokemon_mail_pre.c new file mode 100644 index 00000000..158debc4 --- /dev/null +++ b/src/pokemon_mail_pre.c @@ -0,0 +1,6 @@ +#include "global.h" +#include "globaldata.h" +#include "constants/item.h" +#include "pokemon_mail_pre.h" + +#include "data/pokemon_mail_pre.h" \ No newline at end of file diff --git a/src/pokemon_news1.c b/src/pokemon_news1.c index ba266bb3..95414e7f 100644 --- a/src/pokemon_news1.c +++ b/src/pokemon_news1.c @@ -2,7 +2,6 @@ #include "globaldata.h" #include "code_80118A4.h" #include "code_80130A8.h" -#include "code_803B050.h" #include "code_8096AF8.h" #include "constants/input.h" #include "input.h" diff --git a/src/post_office_guide2.c b/src/post_office_guide2.c index 7a32401e..cf18165a 100644 --- a/src/post_office_guide2.c +++ b/src/post_office_guide2.c @@ -2,7 +2,6 @@ #include "globaldata.h" #include "code_800D090.h" #include "code_80118A4.h" -#include "code_803B050.h" #include "code_8094F88.h" #include "code_80958E8_1.h" #include "code_80972F4.h" @@ -13,6 +12,7 @@ #include "items.h" #include "memory.h" #include "menu_input.h" +#include "pokemon_mail.h" #include "post_office_guide2.h" #include "text1.h" #include "text2.h" diff --git a/src/wonder_mail_4.c b/src/wonder_mail_4.c index 6fe5af69..59adb3da 100644 --- a/src/wonder_mail_4.c +++ b/src/wonder_mail_4.c @@ -1,18 +1,18 @@ #include "global.h" #include "globaldata.h" +#include "code_80118A4.h" +#include "code_8094F88.h" #include "constants/input.h" -#include "text1.h" -#include "text2.h" -#include "memory.h" +#include "constants/wonder_mail.h" #include "input.h" #include "items.h" -#include "pokemon.h" -#include "code_8094F88.h" -#include "constants/wonder_mail.h" -#include "structs/str_802C39C.h" +#include "memory.h" #include "menu_input.h" -#include "code_80118A4.h" -#include "code_803B050.h" +#include "pokemon.h" +#include "pokemon_mail.h" +#include "structs/str_802C39C.h" +#include "text1.h" +#include "text2.h" struct unkStruct_203B320 { diff --git a/src/wonder_mail_5.c b/src/wonder_mail_5.c index b4b204f4..389cebcc 100644 --- a/src/wonder_mail_5.c +++ b/src/wonder_mail_5.c @@ -1,17 +1,18 @@ #include "global.h" #include "globaldata.h" +#include "code_800D090.h" +#include "code_80118A4.h" +#include "code_8094F88.h" #include "constants/wonder_mail.h" +#include "dungeon.h" +#include "input.h" #include "memory.h" +#include "menu_input.h" +#include "pokemon.h" +#include "pokemon_mail.h" +#include "structs/str_802C39C.h" #include "text1.h" #include "text2.h" -#include "input.h" -#include "dungeon.h" -#include "pokemon.h" -#include "code_8094F88.h" -#include "code_800D090.h" -#include "structs/str_802C39C.h" -#include "menu_input.h" -#include "code_80118A4.h" struct unkStruct_203B324 { @@ -22,6 +23,7 @@ struct unkStruct_203B324 UnkTextStruct2 *unk14; UnkTextStruct2 unk18[4]; }; + static EWRAM_DATA_2 struct unkStruct_203B324 *gUnknown_203B324 = {0}; extern unkStruct_203B480 *gUnknown_203B480; @@ -51,7 +53,6 @@ const u8 gUnknown_80E0934[] = "ID:"; const u8 gUnknown_80E0938[] = "%-4d"; extern void sub_8030DD4(void); -extern void CreateRescueDescription(unkStruct_802C39C *); void sub_8030E2C(void); void sub_8030E48(void); diff --git a/src/wonder_mail_802C10C.c b/src/wonder_mail_802C10C.c index fd8e11a5..199803c9 100644 --- a/src/wonder_mail_802C10C.c +++ b/src/wonder_mail_802C10C.c @@ -7,6 +7,7 @@ #include "input.h" #include "memory.h" #include "menu_input.h" +#include "pokemon_mail.h" #include "text1.h" #include "text2.h" #include "wonder_mail_802C10C.h" diff --git a/src/wonder_mail_802C4C8.c b/src/wonder_mail_802C4C8.c index 66aad1d6..923dbea7 100644 --- a/src/wonder_mail_802C4C8.c +++ b/src/wonder_mail_802C4C8.c @@ -7,6 +7,7 @@ #include "input.h" #include "memory.h" #include "menu_input.h" +#include "pokemon_mail.h" #include "structs/str_802C39C.h" #include "structs/str_wonder_mail.h" #include "text1.h" diff --git a/src/wonder_mail_802CDD4.c b/src/wonder_mail_802CDD4.c index a8c42da0..c45160f1 100644 --- a/src/wonder_mail_802CDD4.c +++ b/src/wonder_mail_802CDD4.c @@ -6,6 +6,7 @@ #include "input.h" #include "memory.h" #include "menu_input.h" +#include "pokemon_mail.h" #include "structs/str_802C39C.h" #include "structs/str_wonder_mail.h" #include "text1.h" diff --git a/sym_ewram2.txt b/sym_ewram2.txt index 282ed6a7..8f0018f3 100644 --- a/sym_ewram2.txt +++ b/sym_ewram2.txt @@ -231,7 +231,8 @@ gUnknown_203B314: /* 203B314 (sub_802F73C - sub_802FA50) */ gUnknown_203B3FC: /* 203B3FC (sub_803B050 - sub_803B284) */ .space 0x4 -.include "src/personality_test.o" +.include "src/personality_test1.o" +.include "src/personality_test2.o" .include "src/code_803D0D8.o" .space 0x3