diff options
Diffstat (limited to 'engine/phone')
-rw-r--r-- | engine/phone/buenas_password.asm | 170 | ||||
-rw-r--r-- | engine/phone/generic_calls.asm | 1266 | ||||
-rw-r--r-- | engine/phone/phone.asm | 800 | ||||
-rw-r--r-- | engine/phone/phone_callers.asm | 961 | ||||
-rw-r--r-- | engine/phone/phone_gossip.asm | 698 | ||||
-rw-r--r-- | engine/phone/phone_scripts.asm | 1886 |
6 files changed, 5781 insertions, 0 deletions
diff --git a/engine/phone/buenas_password.asm b/engine/phone/buenas_password.asm new file mode 100644 index 000000000..858ce5540 --- /dev/null +++ b/engine/phone/buenas_password.asm @@ -0,0 +1,170 @@ +BuenaPhoneScript1: + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue BuenaPhoneScript_Rocket + checkcode VAR_HOUR + if_greater_than 17, BuenaPhoneScript_AfterMidnight1 + scall BuenaPhoneScript_CheckTimeOfDay1 + jump BuenaPhoneScript_Random1 + +BuenaPhoneScript2: + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue BuenaPhoneScript_Rocket + scall BuenaPhoneScript_CheckTimeOfDay2 + jump BuenaPhoneScript_Random2 + +BuenaPhoneScript_CheckTimeOfDay1: + checkmorn + iftrue .morn + checkday + iftrue .day + writetext UnknownText_0xa0d42 + buttonsound + end + +.morn + writetext UnknownText_0xa0c28 + buttonsound + end + +.day + writetext UnknownText_0xa0c72 + buttonsound + end + +BuenaPhoneScript_AfterMidnight1: + writetext UnknownText_0xa0caf + end + +BuenaPhoneScript_CheckTimeOfDay2: + checkcode VAR_HOUR + if_greater_than 17, BuenaPhoneScript_AfterMidnight2 + checkmorn + iftrue .morn + checkday + iftrue .day + writetext UnknownText_0xa0e29 + buttonsound + end + +.morn + writetext UnknownText_0xa0d96 + buttonsound + end + +.day + writetext UnknownText_0xa0dcf + buttonsound + end + +BuenaPhoneScript_AfterMidnight2: + writetext UnknownText_0xa0e01 + buttonsound + end + +BuenaPhoneScript_Rocket: + writetext UnknownText_0xa0e5e + end + +BuenaPhoneScript_Random2: + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .PostE4 + random 11 + jump .Jumptable + +.PostE4: + random 14 + +.Jumptable: + if_equal 0, .zero + if_equal 1, .one + if_equal 2, .two + if_equal 3, .three + if_equal 4, .four + if_equal 5, .five + if_equal 6, .six + if_equal 7, .seven + if_equal 8, .eight + if_equal 9, .nine + if_equal 10, .ten + if_equal 11, .eleven + if_equal 12, .twelve + if_equal 13, .thirteen + +.zero + writetext UnknownText_0xa0efb + jump .finish + +.one + writetext UnknownText_0xa0fcf + jump .finish + +.two + writetext UnknownText_0xa109d + jump .finish + +.three + writetext UnknownText_0xa1143 + jump .finish + +.four + writetext UnknownText_0xa1244 + jump .finish + +.five + writetext UnknownText_0xa1318 + jump .finish + +.six + writetext UnknownText_0xa13d8 + jump .finish + +.seven + writetext UnknownText_0xa1488 + jump .finish + +.eight + writetext UnknownText_0xa15de + jump .finish + +.nine + writetext UnknownText_0xa1717 + jump .finish + +.ten + writetext UnknownText_0xa183d + jump .finish + +.eleven + writetext UnknownText_0xa19b1 + jump .finish + +.twelve + writetext UnknownText_0xa1ac0 + jump .finish + +.thirteen + writetext UnknownText_0xa1bed + +.finish + end + +BuenaPhoneScript_Random1: + random 3 + if_equal 0, .zero + if_equal 1, .one + if_equal 2, .two + +.zero + writetext UnknownText_0xa1c88 + end + +.one + writetext UnknownText_0xa1d5f + end + +.two + writetext UnknownText_0xa1e2f + end +; a0c28 + +INCLUDE "text/phone/buena.asm" diff --git a/engine/phone/generic_calls.asm b/engine/phone/generic_calls.asm new file mode 100644 index 000000000..e1b53a950 --- /dev/null +++ b/engine/phone/generic_calls.asm @@ -0,0 +1,1266 @@ +PhoneScript_Random2: + random 2 + end + +PhoneScript_Random3: + random 3 + end + +PhoneScript_Random4: + random 4 + end + +PhoneScript_Random5: + random 5 + end + +PhoneScript_Random11: + random 11 + end + +PhoneScript_AnswerPhone_Male: + checkday + iftrue PhoneScript_AnswerPhone_Male_Day + checknite + iftrue PhoneScript_AnswerPhone_Male_Nite + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4dc5 + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1b5073 + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b5270 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b55ae + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b589a + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5a3b + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5c10 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b5f7a + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b60f5 + buttonsound + end + +.Irwin: + farwritetext UnknownText_0x1b638c + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b6454 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b659d + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b67e2 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b69a8 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6b39 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6c96 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b7019 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b71d5 + buttonsound + end + +.Kenji: + farwritetext UnknownText_0x1b730b + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b73c7 + buttonsound + end + +PhoneScript_AnswerPhone_Male_Day: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4ded + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1b509b + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b52a5 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b55da + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b58c2 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5a74 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5c63 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b5f9e + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b611b + buttonsound + end + +.Irwin: + farwritetext UnknownText_0x1b63a8 + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b647e + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b65c7 + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b680e + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b69d2 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6b65 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6cc6 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b7057 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b71fc + buttonsound + end + +.Kenji: + farwritetext UnknownText_0x1b7331 + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b73ef + buttonsound + end + +PhoneScript_AnswerPhone_Male_Nite: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4e16 + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1b50c2 + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b52cc + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b55fc + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b58ea + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5a9f + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5cb6 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b5fc9 + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b6149 + buttonsound + end + +.Irwin: + farwritetext UnknownText_0x1b63c4 + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b64a8 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b65e3 + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b6836 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b69f8 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6b92 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6cf6 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b7092 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b722a + buttonsound + end + +.Kenji: + farwritetext UnknownText_0x1b7357 + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b7417 + buttonsound + end + +PhoneScript_AnswerPhone_Female: + checkday + iftrue PhoneScript_AnswerPhone_Female_Day + checknite + iftrue PhoneScript_AnswerPhone_Female_Nite + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b4f21 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b53f7 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b5702 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5d9f + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b626a + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b66c8 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6e7c + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b751a + buttonsound + end + +PhoneScript_AnswerPhone_Female_Day: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b4f4d + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b5424 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b572e + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5dcc + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b6296 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b66ec + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6ea6 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b7548 + buttonsound + end + +PhoneScript_AnswerPhone_Female_Nite: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b4f75 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b5446 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b575a + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5df8 + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b62c5 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b6713 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6ec9 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b756f + buttonsound + end + +PhoneScript_GreetPhone_Male: + checkday + iftrue PhoneScript_GreetPhone_Male_Day + checknite + iftrue PhoneScript_GreetPhone_Male_Nite + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4e3e + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1b50e9 + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b5301 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b5628 + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b5912 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5ad8 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5d09 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b5ff6 + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b616e + buttonsound + end + +.Irwin: + farwritetext UnknownText_0x1b63e3 + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b64d2 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b660d + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b6862 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b6a22 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6bb9 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6d26 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b70e7 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b725c + buttonsound + end + +.Kenji: + farwritetext UnknownText_0x1b737f + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b743f + buttonsound + end + +PhoneScript_GreetPhone_Male_Day: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4e72 + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1b511a + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b5335 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b564c + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b5948 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5b0b + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5d21 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b6017 + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b618f + buttonsound + end + +.Irwin: + farwritetext UnknownText_0x1b6407 + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b6506 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b6624 + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b6890 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b6a56 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6bef + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6d57 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b7112 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b7283 + buttonsound + end + +.Kenji: + farwritetext UnknownText_0x1b7397 + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b746f + buttonsound + end + +PhoneScript_GreetPhone_Male_Nite: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4e9e + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1b5154 + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b535f + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b5670 + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b597c + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5b37 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5d39 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b6041 + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b61bd + buttonsound + end + +.Irwin: + farwritetext UnknownText_0x1b642c + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b6539 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b663b + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b68ba + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b6a8b + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6c23 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6d88 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b7132 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b72a5 + buttonsound + end + +.Kenji: + farwritetext UnknownText_0x1b73af + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b749b + buttonsound + end + +PhoneScript_GreetPhone_Female: + checkday + iftrue PhoneScript_GreetPhone_Female_Day + checknite + iftrue PhoneScript_GreetPhone_Female_Nite + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b4fa1 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b5472 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b5786 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5e25 + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b62f1 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b6738 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6ef3 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b758f + buttonsound + end + +PhoneScript_GreetPhone_Female_Day: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b4fda + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b54a6 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b57b7 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5e59 + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b630e + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b6757 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6f1c + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b75ac + buttonsound + end + +PhoneScript_GreetPhone_Female_Nite: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b5004 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b54d4 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b57e8 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5e8e + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b6331 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b6776 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6f37 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b75c9 + buttonsound + end + +PhoneScript_Generic_Male: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1b4ecd + buttonsound + end + +.Unknown: + farwritetext UnknownText_0x1b518b + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x1b5393 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x1b5694 + buttonsound + end + +.Joey: + farwritetext UnknownText_0x1b59b2 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1b5b68 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x1b5d51 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x1b606f + buttonsound + end + +.Todd: + farwritetext UnknownText_0x1b61f2 + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x1b656c + buttonsound + end + +.Alan: + farwritetext UnknownText_0x1b6652 + buttonsound + end + +.Chad: + farwritetext UnknownText_0x1b68e8 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x1b6ac2 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x1b6c56 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x1b6db9 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x1b7161 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x1b72d0 + buttonsound + end + +.Parry: + farwritetext UnknownText_0x1b74c8 + buttonsound + end + +PhoneScript_Generic_Female: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1b502b + buttonsound + end + +.Beth: + farwritetext UnknownText_0x1b5510 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1b5819 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x1b5ebe + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1b6352 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x1b6795 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x1b6f60 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x1b75e5 + buttonsound + end + +PhoneScript_MonFlavorText: + special RandomPhoneMon + farscall PhoneScript_Random2 + if_equal $0, .TooEnergetic + farwritetext UnknownText_0x1b518b + buttonsound + farjump PhoneScript_HangupText_Male + +.TooEnergetic: + farjump .unnecessary + +.unnecessary + farwritetext UnknownText_0x1b522b + buttonsound + farjump PhoneScript_HangupText_Male +; be643 + + +GrandmaString: db "Grandma@" +GrandpaString: db "Grandpa@" +MomString: db "Mom@" +DadString: db "Dad@" +SisterString: db "Sister@" +BrotherString: db "Brother@" + diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm new file mode 100644 index 000000000..53bb519b3 --- /dev/null +++ b/engine/phone/phone.asm @@ -0,0 +1,800 @@ +AddPhoneNumber:: ; 90000 + call _CheckCellNum + jr c, .cant_add + call Phone_FindOpenSlot + jr nc, .cant_add + ld [hl], c + xor a + ret + +.cant_add + scf + ret +; 9000f + + +DelCellNum:: ; 9000f + call _CheckCellNum + jr nc, .not_in_list + xor a + ld [hl], a + ret + +.not_in_list + scf + ret +; 90019 + +CheckCellNum:: ; 90019 + jp _CheckCellNum ; wtf +; 9001c + +_CheckCellNum: ; 9001c + ld hl, wPhoneList + ld b, CONTACT_LIST_SIZE +.loop + ld a, [hli] + cp c + jr z, .got_it + dec b + jr nz, .loop + xor a + ret + +.got_it + dec hl + scf + ret +; 9002d + +Phone_FindOpenSlot: ; 9002d + call GetRemainingSpaceInPhoneList + ld b, a + ld hl, wPhoneList +.loop + ld a, [hli] + and a + jr z, .FoundOpenSpace + dec b + jr nz, .loop + xor a + ret + +.FoundOpenSpace: + dec hl + scf + ret +; 90040 + +GetRemainingSpaceInPhoneList: ; 90040 + xor a + ld [Buffer1], a + ld hl, PermanentNumbers +.loop + ld a, [hli] + cp -1 + jr z, .done + cp c + jr z, .elm_or_mom + push bc + push hl + ld c, a + call _CheckCellNum + jr c, .elm_or_mom_in_list + ld hl, Buffer1 + inc [hl] + +.elm_or_mom_in_list + pop hl + pop bc + +.elm_or_mom + jr .loop + +.done + ld a, CONTACT_LIST_SIZE + ld hl, Buffer1 + sub [hl] + ret +; 90066 + +PermanentNumbers: ; 90066 + db PHONECONTACT_MOM, PHONECONTACT_ELM, -1 +; 90069 + + +FarPlaceString: ; 90069 + ld a, [hROMBank] + push af + ld a, b + rst Bankswitch + + call PlaceString + + pop af + rst Bankswitch + ret +; 90074 + + +CheckPhoneCall:: ; 90074 (24:4074) +; Check if the phone is ringing in the overworld. + + call CheckStandingOnEntrance + jr z, .no_call + + call .timecheck + nop + jr nc, .no_call + + call Random + ld b, a + and 50 percent + cp b + jr nz, .no_call + + call GetMapHeaderPhoneServiceNybble + and a + jr nz, .no_call + + call GetAvailableCallers + call ChooseRandomCaller + jr nc, .no_call + + ld e, a + call LoadCallerScript + ld a, BANK(Script_ReceivePhoneCall) + ld hl, Script_ReceivePhoneCall + call CallScript + scf + ret + +.no_call + xor a + ret + +.timecheck ; 900a6 (24:40a6) + farcall CheckReceiveCallTimer + ret + +CheckPhoneContactTimeOfDay: ; 900ad (24:40ad) + push hl + push bc + push de + push af + + farcall CheckTime + pop af + and MORN | DAY | NITE + and c + + pop de + pop bc + pop hl + ret + +ChooseRandomCaller: ; 900bf (24:40bf) +; If no one is available to call, don't return anything. + ld a, [EngineBuffer3] + and a + jr z, .NothingToSample + +; Sample a random number between 0 and 31. + ld c, a + call Random + ld a, [hRandomAdd] + swap a + and $1f +; Compute that number modulo the number of available callers. + call SimpleDivide +; Return the caller ID you just sampled. + ld c, a + ld b, 0 + ld hl, EngineBuffer4 + add hl, bc + ld a, [hl] + scf + ret + +.NothingToSample: + xor a + ret + +GetAvailableCallers: ; 900de (24:40de) + farcall CheckTime + ld a, c + ld [EngineBuffer1], a + ld hl, EngineBuffer3 + ld bc, 11 + xor a + call ByteFill + ld de, wPhoneList + ld a, CONTACT_LIST_SIZE + +.loop + ld [EngineBuffer2], a + ld a, [de] + and a + jr z, .not_good_for_call + ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME + ld bc, PHONE_TABLE_WIDTH + call AddNTimes + ld a, [EngineBuffer1] + and [hl] + jr z, .not_good_for_call + ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME + add hl, bc + ld a, [MapGroup] + cp [hl] + jr nz, .different_map + inc hl + ld a, [MapNumber] + cp [hl] + jr z, .not_good_for_call +.different_map + ld a, [EngineBuffer3] + ld c, a + ld b, $0 + inc a + ld [EngineBuffer3], a + ld hl, EngineBuffer4 + add hl, bc + ld a, [de] + ld [hl], a +.not_good_for_call + inc de + ld a, [EngineBuffer2] + dec a + jr nz, .loop + ret + +CheckSpecialPhoneCall:: ; 90136 (24:4136) + ld a, [wSpecialPhoneCallID] + and a + jr z, .NoPhoneCall + + dec a + ld c, a + ld b, 0 + ld hl, SpecialPhoneCallList + ld a, 6 + call AddNTimes + ld a, [hli] + ld h, [hl] + ld l, a + call _hl_ + jr nc, .NoPhoneCall + + call .DoSpecialPhoneCall + inc hl + inc hl + ld a, [hli] + ld e, a + push hl + call LoadCallerScript + pop hl + ld de, wPhoneScriptPointer + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, BANK(.script) + ld hl, .script + call CallScript + scf + ret +.NoPhoneCall: + xor a + ret +; 90173 (24:4173) + +.script ; 0x90173 + pause 30 + jump Script_ReceivePhoneCall +; 0x90178 + +.DoSpecialPhoneCall: ; 90178 (24:4178) + ld a, [wSpecialPhoneCallID] + dec a + ld c, a + ld b, 0 + ld hl, SpecialPhoneCallList + ld a, 6 + call AddNTimes + ret + +SpecialCallOnlyWhenOutside: ; 90188 + ld a, [wEnvironment] + cp TOWN + jr z, .outside + cp ROUTE + jr z, .outside + xor a + ret + +.outside + scf + ret + +SpecialCallWhereverYouAre: ; 90197 + scf + ret + +Function90199: ; 90199 (24:4199) + ; Don't do the call if you're in a link communication + ld a, [wLinkMode] + and a + jr nz, .OutOfArea + ; If you're in an area without phone service, don't do the call + call GetMapHeaderPhoneServiceNybble + and a + jr nz, .OutOfArea + ; If the person can't take a call at that time, don't do the call + ld a, b + ld [wCurrentCaller], a + ld hl, PhoneContacts + ld bc, PHONE_TABLE_WIDTH + call AddNTimes + ld d, h + ld e, l + ld hl, PHONE_CONTACT_SCRIPT1_TIME + add hl, de + ld a, [hl] + call CheckPhoneContactTimeOfDay + jr z, .OutOfArea + ; If we're in the same map as the person we're calling, + ; use the "Just talk to that person" script. + ld hl, PHONE_CONTACT_MAP_GROUP + add hl, de + ld a, [MapGroup] + cp [hl] + jr nz, .GetPhoneScript + ld hl, PHONE_CONTACT_MAP_NUMBER + add hl, de + ld a, [MapNumber] + cp [hl] + jr nz, .GetPhoneScript + ld b, BANK(PhoneScript_JustTalkToThem) + ld hl, PhoneScript_JustTalkToThem + jr .DoPhoneCall + +.GetPhoneScript: + ld hl, PHONE_CONTACT_SCRIPT1_BANK + add hl, de + ld b, [hl] + ld hl, PHONE_CONTACT_SCRIPT1_ADDR_LO + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jr .DoPhoneCall + +.OutOfArea: + ld b, BANK(UnknownScript_0x90209) + ld de, UnknownScript_0x90209 + call ExecuteCallbackScript + ret + +.DoPhoneCall: + ld a, b + ld [PhoneScriptBank], a + ld a, l + ld [PhoneCaller], a + ld a, h + ld [PhoneCaller + 1], a + ld b, BANK(UnknownScript_0x90205) + ld de, UnknownScript_0x90205 + call ExecuteCallbackScript + ret +; 90205 (24:4205) + +UnknownScript_0x90205: ; 0x90205 + ptcall wd002 + return +; 0x90209 + +UnknownScript_0x90209: ; 0x90209 + scall UnknownScript_0x90657 + return +; 0x9020d + +LoadCallerScript: ; 9020d (24:420d) + nop + nop + ld a, e + ld [wCurrentCaller], a + and a + jr nz, .actualcaller + ld a, BANK(WrongNumber) + ld hl, WrongNumber + jr .proceed + +.actualcaller + ld hl, PhoneContacts + ld bc, 12 + ld a, e + call AddNTimes + ld a, BANK(PhoneContacts) +.proceed + ld de, EngineBuffer2 + ld bc, 12 + call FarCopyBytes + ret +; 90233 (24:4233) + +WrongNumber: ; 90233 + db TRAINER_NONE, PHONE_00 + dba .script +.script + writetext .text + end +.text + ; Huh? Sorry, wrong number! + text_jump UnknownText_0x1c5565 + db "@" +; 90241 + +Script_ReceivePhoneCall: ; 0x90241 + refreshscreen $0 + callasm RingTwice_StartCall + ptcall wPhoneScriptPointer + waitbutton + callasm HangUp + closetext + callasm InitCallReceiveDelay + end +; 0x90255 + +Script_SpecialBillCall:: ; 0x90255 + callasm .LoadBillScript + jump Script_ReceivePhoneCall + +.LoadBillScript: + ld e, PHONE_BILL + jp LoadCallerScript +; 90261 + +UnknownScript_0x90261: ; 0x90261 + callasm .LoadElmScript + pause 30 + jump Script_ReceivePhoneCall + +.LoadElmScript: + ld e, PHONE_ELM + jp LoadCallerScript +; 9026f + +RingTwice_StartCall: ; 9026f + call .Ring + call .Ring + farcall TrainerRankings_PhoneCalls + ret +; 9027c + +.Ring: ; 9027c (24:427c) + call Phone_StartRinging + call Phone_Wait20Frames + call Phone_CallerTextboxWithName + call Phone_Wait20Frames + call Phone_CallerTextbox + call Phone_Wait20Frames + call Phone_CallerTextboxWithName + ret + +Phone_CallerTextboxWithName: ; 90292 (24:4292) + ld a, [wCurrentCaller] + ld b, a + call Function90363 + ret + +PhoneCall:: ; 9029a + ld a, b + ld [PhoneScriptBank], a + ld a, e + ld [PhoneCaller], a + ld a, d + ld [PhoneCaller + 1], a + call Phone_FirstOfTwoRings + call Phone_FirstOfTwoRings + farcall TrainerRankings_PhoneCalls + ret +; 902b3 + +Phone_FirstOfTwoRings: ; 902b3 + call Phone_StartRinging + call Phone_Wait20Frames + call Phone_CallerTextboxWithName2 + call Phone_Wait20Frames + call Phone_CallerTextbox + call Phone_Wait20Frames + call Phone_CallerTextboxWithName2 + ret +; 902c9 + +Phone_CallerTextboxWithName2: ; 902c9 + call Phone_CallerTextbox + hlcoord 1, 2 + ld [hl], "<PHONE>" + inc hl + inc hl + ld a, [PhoneScriptBank] + ld b, a + ld a, [PhoneCaller] + ld e, a + ld a, [PhoneCaller + 1] + ld d, a + call FarPlaceString + ret +; 902e3 + + +Phone_NoSignal: ; 902e3 (24:42e3) + ld de, SFX_NO_SIGNAL + call PlaySFX + jr Phone_CallEnd + +HangUp:: ; 902eb + call HangUp_Beep + call HangUp_Wait20Frames +Phone_CallEnd: + call HangUp_BoopOn + call HangUp_Wait20Frames + call HangUp_BoopOff + call HangUp_Wait20Frames + call HangUp_BoopOn + call HangUp_Wait20Frames + call HangUp_BoopOff + call HangUp_Wait20Frames + call HangUp_BoopOn + call HangUp_Wait20Frames + call HangUp_BoopOff + call HangUp_Wait20Frames + ret +; 90316 + +Function90316: ; 90316 + ld de, SFX_SHUT_DOWN_PC + call PlaySFX + ret +; 9031d + +HangUp_Beep: ; 9031d + ld hl, UnknownText_0x9032a + call PrintText + ld de, SFX_HANG_UP + call PlaySFX + ret +; 9032a + +UnknownText_0x9032a: ; 9032a + text_jump UnknownText_0x1c5580 + db "@" +; 9032f + + +HangUp_BoopOn: ; 9032f + ld hl, UnknownText_0x90336 + call PrintText + ret +; 90336 + +UnknownText_0x90336: ; 0x90336 + text_jump UnknownText_0x1c5588 + db "@" +; 0x9033b + + +HangUp_BoopOff: ; 9033b + call SpeechTextBox + ret +; 9033f + +Phone_StartRinging: ; 9033f + call WaitSFX + ld de, SFX_CALL + call PlaySFX + call Phone_CallerTextbox + call UpdateSprites + farcall PhoneRing_CopyTilemapAtOnce + ret +; 90355 + +HangUp_Wait20Frames: ; 90355 + jr Phone_Wait20Frames + +Phone_Wait20Frames + ld c, 20 + call DelayFrames + farcall PhoneRing_CopyTilemapAtOnce + ret +; 90363 + + +Function90363: ; 90363 (24:4363) + push bc + call Phone_CallerTextbox + hlcoord 1, 1 + ld [hl], "<PHONE>" + inc hl + inc hl + ld d, h + ld e, l + pop bc + call Function90380 + ret + + +Phone_CallerTextbox: ; 90375 + hlcoord 0, 0 + ld b, 2 + ld c, SCREEN_WIDTH - 2 + call TextBox + ret +; 90380 + + +Function90380: ; 90380 (24:4380) + ld h, d + ld l, e + ld a, b + call GetCallerTrainerClass + call GetCallerName + ret + +CheckCanDeletePhoneNumber: ; 9038a (24:438a) + ld a, c + call GetCallerTrainerClass + ld a, c + ; and a + ret nz + ld a, b + cp PHONECONTACT_MOM + ret z + cp PHONECONTACT_ELM + ret z + ld c, $1 + ret + +GetCallerTrainerClass: ; 9039a + push hl + ld hl, PhoneContacts + PHONE_CONTACT_TRAINER_CLASS + ld bc, PHONE_TABLE_WIDTH + call AddNTimes + ld a, [hli] + ld b, [hl] + ld c, a + pop hl + ret +; 903a9 + + +GetCallerName: ; 903a9 (24:43a9) + ld a, c + and a + jr z, .NotTrainer + + call Phone_GetTrainerName + push hl + push bc + call PlaceString + ld a, ":" + ld [bc], a + pop bc + pop hl + ld de, SCREEN_WIDTH + 3 + add hl, de + call Phone_GetTrainerClassName + call PlaceString + ret + +.NotTrainer: + push hl + ld c, b + ld b, 0 + ld hl, NonTrainerCallerNames + add hl, bc + add hl, bc + ld a, [hli] + ld e, a + ld d, [hl] + pop hl + call PlaceString + ret +; 903d6 (24:43d6) + +NonTrainerCallerNames: ; 903d6 + dw .none + dw .mom + dw .bikeshop + dw .bill + dw .elm + dw .buena + +.none db "----------@" +.mom db "MOM:@" +.bill db "BILL:@" +.elm db "PROF.ELM:@" +.bikeshop db "BIKE SHOP:@" +.buena db "BUENA:", $22, " DISC JOCKEY@" +; 90423 + +Phone_GetTrainerName: ; 90423 (24:4423) + push hl + push bc + farcall GetTrainerName + pop bc + pop hl + ret + +Phone_GetTrainerClassName: ; 9042e (24:442e) + push hl + push bc + farcall GetTrainerClassName + pop bc + pop hl + ret + +GetCallerLocation: ; 90439 + ld a, [wCurrentCaller] + call GetCallerTrainerClass + ld d, c + ld e, b + push de + ld a, [wCurrentCaller] + ld hl, PhoneContacts + PHONE_CONTACT_MAP_GROUP + ld bc, PHONE_TABLE_WIDTH + call AddNTimes + ld b, [hl] + inc hl + ld c, [hl] + push bc + call GetWorldMapLocation + ld e, a + farcall GetLandmarkName + pop bc + pop de + ret +; 9045f + + +INCLUDE "data/phone_contacts.asm" + +INCLUDE "data/phone_special.asm" + + +UnknownScript_0x90657: ; 0x90657 + writetext UnknownText_0x9065b + end +; 0x9065b + +UnknownText_0x9065b: ; 0x9065b + ; That number is out of the area. + text_jump UnknownText_0x1c558b + db "@" +; 0x90660 + +PhoneScript_JustTalkToThem: ; 0x90660 + writetext UnknownText_0x90664 + end +; 0x90664 + +UnknownText_0x90664: ; 0x90664 + ; Just go talk to that person! + text_jump UnknownText_0x1c55ac + db "@" +; 0x90669 + +UnknownScript_0x90669: ; 0x90669 + writetext UnknownText_0x9066d + end +; 0x9066d + +UnknownText_0x9066d: ; 0x9066d + ; Thank you! + text_jump UnknownText_0x1c55ca + db "@" +; 0x90672 diff --git a/engine/phone/phone_callers.asm b/engine/phone/phone_callers.asm new file mode 100644 index 000000000..c90448d33 --- /dev/null +++ b/engine/phone/phone_callers.asm @@ -0,0 +1,961 @@ +Phone_GenericCall_Male: + special RandomPhoneMon + farscall PhoneScript_Random2 + if_equal 0, .Bragging + farscall PhoneScript_Generic_Male + farjump Phone_FoundAMon_Male + +.Bragging: + farjump Phone_BraggingCall_Male + +Phone_GenericCall_Female: + special RandomPhoneMon + farscall PhoneScript_Random2 + if_equal 0, .Bragging + farscall PhoneScript_Generic_Female + farjump Phone_FoundAMon_Female + +.Bragging: + farjump Phone_BraggingCall_Female + +Phone_BraggingCall_Male: + farscall Phone_WhosBragging_Male + farjump Phone_FoundAMon_Male + +Phone_BraggingCall_Female: + farscall Phone_WhosBragging_Female + farjump Phone_FoundAMon_Female + +Phone_FoundAMon_Male: + special RandomPhoneWildMon + farscall PhoneScript_Random2 + if_equal 0, .GotAway + farscall Phone_WhoDefeatedMon_Male + farjump PhoneScript_HangupText_Male + +.GotAway: + farjump Phone_GotAwayCall_Male + +Phone_FoundAMon_Female: + special RandomPhoneWildMon + farscall PhoneScript_Random2 + if_equal 0, .GotAway + farscall Phone_WhoDefeatedMon_Female + farjump PhoneScript_HangupText_Female + +.GotAway: + farjump Phone_GotAwayCall_Female + +Phone_GotAwayCall_Male: + farscall Phone_WhoLostAMon_Male + farjump PhoneScript_HangupText_Male + +Phone_GotAwayCall_Female: + farscall Phone_WhoLostAMon_Female + farjump PhoneScript_HangupText_Female + +Phone_WhosBragging_Male: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext JackIntelligenceText + buttonsound + end + +.Gaven: + farwritetext GavenGreaterText + buttonsound + end + +.Jose: + farwritetext JoseAromaText + buttonsound + end + +.Joey: + farwritetext JoeySharperText + buttonsound + end + +.Wade: + farwritetext WadeAreYouGrowingText + buttonsound + end + +.Ralph: + farwritetext RalphNeglectingKidsText + buttonsound + end + +.Anthony: + farwritetext AnthonyAteBerriesText + buttonsound + end + +.Todd: + farwritetext ToddLooksCuteLikeMeText + buttonsound + end + +.Arnie: + farwritetext ArnieLovesTheCuteText + buttonsound + end + +.Alan: + farwritetext AlanGettingStrongerText + buttonsound + end + +.Chad: + farwritetext ChadObservingWildText + buttonsound + end + +.Derek: + farwritetext DerekCheekPincherText + buttonsound + end + +.Tully: + farwritetext TullyGrownText + buttonsound + end + +.Brent: + farwritetext BrentRareTradeText + buttonsound + end + +.Vance: + farwritetext VanceLiftoffText + buttonsound + end + +.Wilton: + farwritetext WiltonGrownText + buttonsound + end + +.Parry: + farwritetext ParryNoMatchText + buttonsound + end + +Phone_WhosBragging_Female: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x174688 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x174c7f + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1752f5 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x175fda + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1771fd + buttonsound + end + +.Dana: + farwritetext UnknownText_0x64f74 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x665ad + buttonsound + end + +.Erin: + farwritetext UnknownText_0x6717a + buttonsound + end + +Phone_WhoDefeatedMon_Male: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext JackDefeatedMonText + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x174a80 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x174f90 + buttonsound + end + +.Joey: + farwritetext UnknownText_0x175591 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x175869 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x175c24 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x176aef + buttonsound + end + +.Todd: + farwritetext UnknownText_0x176e9c + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x64a13 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x64cf3 + buttonsound + end + +.Chad: + farwritetext UnknownText_0x65318 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x65b29 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x65e42 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x6613c + buttonsound + end + +.Vance: + farwritetext UnknownText_0x669b2 + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x66b3e + buttonsound + end + +.Parry: + farwritetext UnknownText_0x66fc0 + buttonsound + end + +Phone_WhoDefeatedMon_Female: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1746c3 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x174cf6 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x17536b + buttonsound + end + +.Liz: + farwritetext UnknownText_0x17602d + buttonsound + end + +.Gina: + farwritetext UnknownText_0x177237 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x64fb2 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x66605 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x671a4 + buttonsound + end + +Phone_WhoLostAMon_Male: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x174165 + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x174b2d + buttonsound + end + +.Jose: + farwritetext UnknownText_0x174ffd + buttonsound + end + +.Joey: + farwritetext UnknownText_0x175611 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x1758e4 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x175c9f + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x176b45 + buttonsound + end + +.Todd: + farwritetext UnknownText_0x176eee + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x64a71 + buttonsound + end + +.Alan: + farwritetext UnknownText_0x64d4f + buttonsound + end + +.Chad: + farwritetext UnknownText_0x65399 + buttonsound + end + +.Derek: + farwritetext UnknownText_0x65bc8 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x65eac + buttonsound + end + +.Brent: + farwritetext UnknownText_0x6618c + buttonsound + end + +.Vance: + farwritetext UnknownText_0x669ed + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x66b8f + buttonsound + end + +.Parry: + farwritetext UnknownText_0x67001 + buttonsound + end + +Phone_WhoLostAMon_Female: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x174734 + buttonsound + end + +.Beth: + farwritetext UnknownText_0x174d86 + buttonsound + end + +.Reena: + farwritetext UnknownText_0x1753c5 + buttonsound + end + +.Liz: + farwritetext UnknownText_0x176095 + buttonsound + end + +.Gina: + farwritetext UnknownText_0x177297 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x6501c + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x66688 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x671eb + buttonsound + end + +PhoneScript_WantsToBattle_Male: + farscall PhoneScript_RematchText_Male + farjump PhoneScript_HangupText_Male + +PhoneScript_WantsToBattle_Female: + farscall PhoneScript_RematchText_Female + farjump PhoneScript_HangupText_Female + +PhoneScript_RematchText_Male: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x1741e1 + buttonsound + end + +.Huey: + farwritetext UnknownText_0x1748ea + buttonsound + end + +.Gaven: + farwritetext UnknownText_0x174bc5 + buttonsound + end + +.Jose: + farwritetext UnknownText_0x17507d + buttonsound + end + +.Joey: + farwritetext UnknownText_0x175693 + buttonsound + end + +.Wade: + farwritetext UnknownText_0x175976 + buttonsound + end + +.Ralph: + farwritetext UnknownText_0x175d40 + buttonsound + end + +.Anthony: + farwritetext UnknownText_0x176bee + buttonsound + end + +.Todd: + farwritetext UnknownText_0x176f60 + buttonsound + end + +.Arnie: + farwritetext UnknownText_0x64ada + buttonsound + end + +.Alan: + farwritetext UnknownText_0x64da4 + buttonsound + end + +.Chad: + farwritetext UnknownText_0x65419 + buttonsound + end + +.Tully: + farwritetext UnknownText_0x65f17 + buttonsound + end + +.Brent: + farwritetext UnknownText_0x66214 + buttonsound + end + +.Vance: + farwritetext UnknownText_0x66a3a + buttonsound + end + +.Wilton: + farwritetext UnknownText_0x66bf3 + buttonsound + end + +.Parry: + farwritetext UnknownText_0x67096 + buttonsound + end + +PhoneScript_RematchText_Female: + checkcode VAR_CALLERID + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beth: + farwritetext UnknownText_0x174e4e + buttonsound + end + +.Reena: + farwritetext UnknownText_0x17543a + buttonsound + end + +.Liz: + farwritetext UnknownText_0x17610a + buttonsound + end + +.Gina: + farwritetext UnknownText_0x1772e2 + buttonsound + end + +.Dana: + farwritetext UnknownText_0x65091 + buttonsound + end + +.Tiffany: + farwritetext UnknownText_0x66730 + buttonsound + end + +.Erin: + farwritetext UnknownText_0x6722e + buttonsound + end + +LizWrongNumberScript: + farwritetext LizHiTaniaText + end + +TiffanyItsAwful: + farwritetext TiffanyItsAwfulText + end + +PhoneScript_HangupText_Male: + checkcode VAR_CALLERID + if_equal PHONE_SCHOOLBOY_JACK, .Jack + if_equal PHONE_SAILOR_HUEY, .Huey + if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_YOUNGSTER_JOEY, .Joey + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_FISHER_RALPH, .Ralph + if_equal PHONE_HIKER_ANTHONY, .Anthony + if_equal PHONE_CAMPER_TODD, .Todd + if_equal PHONE_JUGGLER_IRWIN, .Irwin + if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_SCHOOLBOY_CHAD, .Chad + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_POKEMANIAC_BRENT, .Brent + if_equal PHONE_BIRDKEEPER_VANCE, .Vance + if_equal PHONE_FISHER_WILTON, .Wilton + if_equal PHONE_BLACKBELT_KENJI, .Kenji + if_equal PHONE_HIKER_PARRY, .Parry + +.Jack: + farwritetext UnknownText_0x174251 + end + +.Huey: + farwritetext UnknownText_0x174962 + end + +.Gaven: + farwritetext UnknownText_0x174c0e + end + +.Jose: + farwritetext UnknownText_0x175106 + end + +.Joey: + farwritetext UnknownText_0x17570a + end + +.Wade: + farwritetext UnknownText_0x1759e7 + end + +.Ralph: + farwritetext UnknownText_0x175db7 + end + +.Anthony: + farwritetext UnknownText_0x176c47 + end + +.Todd: + farwritetext UnknownText_0x176fdb + end + +.Irwin: + farwritetext UnknownText_0x64000 + end + +.Arnie: + farwritetext UnknownText_0x64b48 + end + +.Alan: + farwritetext UnknownText_0x64e1f + end + +.Chad: + farwritetext UnknownText_0x65471 + end + +.Derek: + farwritetext UnknownText_0x65c4e + end + +.Tully: + farwritetext UnknownText_0x65f6e + end + +.Brent: + farwritetext UnknownText_0x662a9 + end + +.Vance: + farwritetext UnknownText_0x66a93 + end + +.Wilton: + farwritetext UnknownText_0x66c58 + end + +.Kenji: + farwritetext UnknownText_0x66dab + end + +.Parry: + farwritetext UnknownText_0x670eb + end + +PhoneScript_HangupText_Female: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_COOLTRAINERF_BETH, .Beth + if_equal PHONE_COOLTRAINERF_REENA, .Reena + if_equal PHONE_PICNICKER_LIZ, .Liz + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + if_equal PHONE_PICNICKER_ERIN, .Erin + +.Beverly: + farwritetext UnknownText_0x1747ac + end + +.Beth: + farwritetext UnknownText_0x174eb7 + end + +.Reena: + farwritetext UnknownText_0x175488 + end + +.Liz: + farwritetext UnknownText_0x17620a + end + +.Gina: + farwritetext UnknownText_0x177361 + end + +.Dana: + farwritetext UnknownText_0x650e2 + end + +.Tiffany: + farwritetext UnknownText_0x667f7 + end + +.Erin: + farwritetext UnknownText_0x67281 + end + +Phone_CheckIfUnseenRare_Male: + scall PhoneScriptRareWildMon + iffalse .HangUp + farjump Phone_GenericCall_Male + +.HangUp: + farjump PhoneScript_HangupText_Male + +Phone_CheckIfUnseenRare_Female: + scall PhoneScriptRareWildMon + iffalse .HangUp + farjump Phone_GenericCall_Female + +.HangUp: + farjump PhoneScript_HangupText_Female + +PhoneScriptRareWildMon: + special RandomUnseenWildMon + end + +PhoneScript_BugCatchingContest: + checkcode VAR_CALLERID + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_POKEFANM_DEREK, .Derek + +.Wade: + farwritetext WadeBugCatchingContestText + buttonsound + jump PhoneScript_HangupText_Male + +.Derek: + farwritetext DerekBugCatchingContestText + buttonsound + jump PhoneScript_HangupText_Male + +IrwinRocketRumor: + farwritetext UnknownText_0x64032 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa05c6: + farwritetext UnknownText_0x177378 + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa05ce: + farwritetext UnknownText_0x64b5f + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa05d6: + farwritetext UnknownText_0x175dd9 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa05de: + farwritetext UnknownText_0x176c61 + buttonsound + jump PhoneScript_HangupText_Male + +PhoneScript_FoundItem_Male: + checkcode VAR_CALLERID + if_equal PHONE_BIRDKEEPER_JOSE, .Jose + if_equal PHONE_BUG_CATCHER_WADE, .Wade + if_equal PHONE_SCHOOLBOY_ALAN, .Alan + if_equal PHONE_POKEFANM_DEREK, .Derek + if_equal PHONE_FISHER_TULLY, .Tully + if_equal PHONE_FISHER_WILTON, .Wilton + +.Jose: + farwritetext JoseFoundSomethingText + end + +.Wade: + farwritetext WadeFoundBerryText + end + +.Alan: + farwritetext UnknownText_0x64e2f + end + +.Derek: + farwritetext UnknownText_0x65cf9 + end + +.Tully: + farwritetext UnknownText_0x65f88 + end + +.Wilton: + farwritetext UnknownText_0x66c6b + end + +PhoneScript_FoundItem_Female: + checkcode VAR_CALLERID + if_equal PHONE_POKEFAN_BEVERLY, .Beverly + if_equal PHONE_PICNICKER_GINA, .Gina + if_equal PHONE_LASS_DANA, .Dana + if_equal PHONE_PICNICKER_TIFFANY, .Tiffany + +.Beverly: + farwritetext BeverlyFoundNuggetText + end + +.Gina: + farwritetext UnknownText_0x1773e7 + end + +.Dana: + farwritetext UnknownText_0x650ec + end + +.Tiffany: + farwritetext UnknownText_0x66801 + end + +UnknownScript_0xa0644: + farwritetext UnknownText_0x176feb + buttonsound + jump PhoneScript_HangupText_Male + +KenjiCallingPhoneScript: + farwritetext UnknownText_0x66dc5 + buttonsound + jump PhoneScript_HangupText_Male diff --git a/engine/phone/phone_gossip.asm b/engine/phone/phone_gossip.asm new file mode 100644 index 000000000..8f45c8807 --- /dev/null +++ b/engine/phone/phone_gossip.asm @@ -0,0 +1,698 @@ +JackTriviaScript: + random 11 + if_equal 0, .Thunder + if_equal 1, .Rollout + if_equal 2, .Solarbeam + if_equal 3, .Stomp + if_equal 4, .Gust + if_equal 5, .Twister + if_equal 6, .Earthquake + if_equal 7, .Magnitude + if_equal 8, .Sandstorm + if_equal 9, .SunnyDay + if_equal 10, .RainDance + +.Thunder: + farwritetext JackThunderTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Rollout: + farwritetext JackRolloutTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Solarbeam: + farwritetext JackSolarbeamTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Stomp: + farwritetext JackStompTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Gust: + farwritetext JackGustTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Twister: + farwritetext JackTwisterTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Earthquake: + farwritetext JackEarthquakeTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Magnitude: + farwritetext JackMagnitudeTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.Sandstorm: + farwritetext JackSandstormTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.SunnyDay: + farwritetext JackSunnyDayTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +.RainDance: + farwritetext JackRainDanceTriviaText + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa06da: + random 10 + if_equal 0, .RuinsOfAlph + if_equal 1, .Falkner + if_equal 2, .Earl + if_equal 3, .SurfPikachu + if_equal 4, .MooMooMilk + if_equal 5, .Salon + if_equal 6, .Whitney + if_equal 7, .BugCatchingContest + if_equal 8, .BeautifulMon + if_equal 9, .Forgot + +.RuinsOfAlph: + farwritetext UnknownText_0x176223 + buttonsound + jump PhoneScript_HangupText_Female + +.Falkner: + farwritetext UnknownText_0x1762c3 + buttonsound + jump PhoneScript_HangupText_Female + +.Earl: + farwritetext UnknownText_0x17638a + buttonsound + jump PhoneScript_HangupText_Female + +.SurfPikachu: + farwritetext UnknownText_0x176424 + buttonsound + jump PhoneScript_HangupText_Female + +.MooMooMilk: + farwritetext UnknownText_0x1764eb + buttonsound + jump PhoneScript_HangupText_Female + +.Salon: + farwritetext UnknownText_0x176599 + buttonsound + jump PhoneScript_HangupText_Female + +.Whitney: + farwritetext UnknownText_0x1766ac + buttonsound + jump PhoneScript_HangupText_Female + +.BugCatchingContest: + farwritetext UnknownText_0x17674f + buttonsound + jump PhoneScript_HangupText_Female + +.BeautifulMon: + farwritetext UnknownText_0x176816 + buttonsound + jump PhoneScript_HangupText_Female + +.Forgot: + farwritetext UnknownText_0x17686d + buttonsound + jump PhoneScript_HangupText_Female + +ChadOakGossipScript: + random 10 + if_equal 0, .Blue + if_equal 1, .Daisy + if_equal 2, .ProfElm + if_equal 3, .Dream + if_equal 4, .Kurt + if_equal 5, .League + if_equal 6, .RadioShow + if_equal 7, .Battling + if_equal 8, .DaisyTea + if_equal 9, .Traveled + +.Blue: + farwritetext ChadBlueGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.Daisy: + farwritetext ChadDaisyGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.ProfElm: + farwritetext ChadProfElmGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.Dream: + farwritetext ChadDreamGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.Kurt: + farwritetext ChadKurtGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.League: + farwritetext ChadLeagueGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.RadioShow: + farwritetext ChadRadioShowGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.Battling: + farwritetext ChadBattlingGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.DaisyTea: + farwritetext ChadDaisyTeaGossipText + buttonsound + jump PhoneScript_HangupText_Male + +.Traveled: + farwritetext ChadTravelGossipText + buttonsound + jump PhoneScript_HangupText_Male + +BrentBillTriviaScript: + random 10 + if_equal 0, .Father + if_equal 1, .Grandpa + if_equal 2, .Goldenrod + if_equal 3, .Route25 + if_equal 4, .Abra + if_equal 5, .Sister + if_equal 6, .Milk + if_equal 7, .Battling + if_equal 8, .FlowerShop + if_equal 9, .KimonoGirl + +.Father: + farwritetext UnknownText_0x662bc + buttonsound + jump PhoneScript_HangupText_Male + +.Grandpa: + farwritetext UnknownText_0x662fc + buttonsound + jump PhoneScript_HangupText_Male + +.Goldenrod: + farwritetext UnknownText_0x66335 + buttonsound + jump PhoneScript_HangupText_Male + +.Route25: + farwritetext UnknownText_0x66366 + buttonsound + jump PhoneScript_HangupText_Male + +.Abra: + farwritetext UnknownText_0x663a1 + buttonsound + jump PhoneScript_HangupText_Male + +.Sister: + farwritetext UnknownText_0x663e6 + buttonsound + jump PhoneScript_HangupText_Male + +.Milk: + farwritetext UnknownText_0x66421 + buttonsound + jump PhoneScript_HangupText_Male + +.Battling: + farwritetext UnknownText_0x6645f + buttonsound + jump PhoneScript_HangupText_Male + +.FlowerShop: + farwritetext UnknownText_0x6649b + buttonsound + jump PhoneScript_HangupText_Male + +.KimonoGirl: + farwritetext UnknownText_0x664dd + buttonsound + jump PhoneScript_HangupText_Male + +IrwinRumorScript: + checkevent EVENT_OPENED_MT_SILVER + iftrue IrwinMtSilver + checkevent EVENT_FOUGHT_SNORLAX + iftrue IrwinSnorlax + checkevent EVENT_GOT_PASS_FROM_COPYCAT + iftrue IrwinTrainPass + checkflag ENGINE_MARSHBADGE + iftrue IrwinMarshBadge + checkflag ENGINE_FLYPOINT_VERMILION + iftrue IrwinVermilionCity + checkevent EVENT_BEAT_ELITE_FOUR + iftrue IrwinEliteFour + checkflag ENGINE_RISINGBADGE + iftrue IrwinRisingBadge + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue IrwinRadioTower + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue IrwinRocketHideout + checkevent EVENT_JASMINE_RETURNED_TO_GYM + iftrue IrwinJasmineReturned + checkflag ENGINE_FOGBADGE + iftrue IrwinFogBadge + checkflag ENGINE_PLAINBADGE + iftrue IrwinPlainBadge + farwritetext IrwinCalledRightAwayText + buttonsound + jump PhoneScript_HangupText_Male + +IrwinPlainBadge: + farwritetext UnknownText_0x64099 + buttonsound + jump PhoneScript_HangupText_Male + +IrwinJasmineReturned: + farwritetext UnknownText_0x640e6 + buttonsound + jump PhoneScript_HangupText_Male + +IrwinRocketHideout: + farwritetext UnknownText_0x6416d + buttonsound + jump PhoneScript_HangupText_Male + +IrwinRadioTower: + farwritetext UnknownText_0x641e8 + buttonsound + jump PhoneScript_HangupText_Male + +IrwinRisingBadge: + farwritetext UnknownText_0x64247 + buttonsound + jump PhoneScript_HangupText_Male + +IrwinEliteFour: + farwritetext UnknownText_0x642bb + buttonsound + jump PhoneScript_HangupText_Male + +IrwinVermilionCity: + farwritetext UnknownText_0x643d4 + buttonsound + jump PhoneScript_HangupText_Male + +IrwinTrainPass: + farwritetext UnknownText_0x64448 + buttonsound + jump PhoneScript_HangupText_Male + +IrwinSnorlax: + farwritetext UnknownText_0x6455b + buttonsound + jump PhoneScript_HangupText_Male + +IrwinMtSilver: + farwritetext UnknownText_0x645ff + buttonsound + jump PhoneScript_HangupText_Male + +IrwinFogBadge: + farwritetext UnknownText_0x646df + buttonsound + jump PhoneScript_HangupText_Male + +IrwinMarshBadge: + farwritetext UnknownText_0x647d8 + buttonsound + jump PhoneScript_HangupText_Male + +JackPhoneTips: + farwritetext UnknownText_0x1745c2 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0900: + farwritetext UnknownText_0x17485b + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0908: + farwritetext UnknownText_0x17496b + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0910: + farwritetext UnknownText_0x174c29 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0918: + farwritetext UnknownText_0x174ec5 + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0920: + farwritetext UnknownText_0x17519b + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0928: + farwritetext UnknownText_0x17549b + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0930: + farwritetext UnknownText_0x17571d + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0938: + farwritetext UnknownText_0x175abe + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0940: + farwritetext UnknownText_0x175eaf + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0948: + farwritetext UnknownText_0x1768b0 + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0950: + farwritetext UnknownText_0x176d32 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0958: + farwritetext UnknownText_0x1770fb + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0960: + farwritetext UnknownText_0x177465 + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0968: + farwritetext UnknownText_0x64bc6 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0970: + farwritetext UnknownText_0x64e90 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0978: + farwritetext UnknownText_0x65161 + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0980: + farwritetext UnknownText_0x65a23 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0988: + farwritetext UnknownText_0x65d5c + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0990: + farwritetext UnknownText_0x65ff2 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0998: + farwritetext UnknownText_0x6651e + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa09a0: + farwritetext UnknownText_0x66882 + buttonsound + jump PhoneScript_HangupText_Female + +VanceLookingForward: + farwritetext VanceLookingForwardText + buttonsound + jump PhoneScript_HangupText_Male + +WiltonHaventFoundAnything: + farwritetext WiltonHaventFoundAnythingText + buttonsound + jump PhoneScript_HangupText_Male + +ParryBattleWithMe: + farwritetext ParryBattleWithMeText + buttonsound + jump PhoneScript_HangupText_Male + +ErinWorkingHardScript: + farwritetext ErinWorkingHardText + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa09c8: + random 3 + if_equal 0, UnknownScript_0xa09d6 + if_equal 1, UnknownScript_0xa09de + if_equal 2, UnknownScript_0xa09e6 + +UnknownScript_0xa09d6: + farwritetext UnknownText_0x64846 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa09de: + farwritetext UnknownText_0x64881 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa09e6: + farwritetext UnknownText_0x648dc + buttonsound + jump PhoneScript_HangupText_Male + +KenjiAnswerPhoneScript: + checkcode VAR_KENJI_BREAK + if_equal 2, .Training + if_equal 1, .OnBreak + farwritetext UnknownText_0x66e17 + buttonsound + jump PhoneScript_HangupText_Male + +.Training: + farwritetext UnknownText_0x66e67 + buttonsound + jump PhoneScript_HangupText_Male + +.OnBreak: + checkmorn + iftrue .Morning + checknite + iftrue .Night + setevent EVENT_KENJI_ON_BREAK + farwritetext KenjiBreakText + buttonsound + jump PhoneScript_HangupText_Male + +.Morning: + farwritetext UnknownText_0x66ed3 + buttonsound + jump PhoneScript_HangupText_Male + +.Night: + farwritetext UnknownText_0x66f52 + buttonsound + jump PhoneScript_HangupText_Male + +JackWantsBattleScript: + farwritetext UnknownText_0x174638 + end + +HueyWantsBattleScript: + farwritetext UnknownText_0x1749c7 + end + +UnknownScript_0xa0a37: + farwritetext UnknownText_0x174c49 + end + +BethBattleReminderScript: + farwritetext BethForgetDealText + end + +UnknownScript_0xa0a41: + farwritetext UnknownText_0x17520a + end + +UnknownScript_0xa0a46: + farwritetext UnknownText_0x1754e5 + end + +UnknownScript_0xa0a4b: + farwritetext UnknownText_0x175786 + end + +UnknownScript_0xa0a50: + farwritetext UnknownText_0x175b1e + end + +UnknownScript_0xa0a55: + farwritetext UnknownText_0x175f11 + end + +UnknownScript_0xa0a5a: + farwritetext UnknownText_0x1769da + end + +UnknownScript_0xa0a5f: + farwritetext UnknownText_0x176d85 + end + +UnknownScript_0xa0a64: + farwritetext UnknownText_0x177138 + end + +UnknownScript_0xa0a69: + farwritetext UnknownText_0x1774c1 + end + +UnknownScript_0xa0a6e: + farwritetext UnknownText_0x64c13 + end + +UnknownScript_0xa0a73: + farwritetext UnknownText_0x64ed4 + end + +UnknownScript_0xa0a78: + farwritetext UnknownText_0x651bf + end + +UnknownScript_0xa0a7d: + farwritetext UnknownText_0x65a63 + end + +UnknownScript_0xa0a82: + farwritetext UnknownText_0x66043 + end + +UnknownScript_0xa0a87: + farwritetext UnknownText_0x66579 + end + +UnknownScript_0xa0a8c: + farwritetext UnknownText_0x668a3 + end + +VanceHurryHurry: + farwritetext VanceHurryHurryText + end + +WiltonNotBiting: + farwritetext WiltonNotBitingText + end + +ParryHaventYouGottenTo: + farwritetext ParryHaventYouGottenToText + end + +ErinComeBattleScript: + farwritetext ErinComeBattleText + end + +UnknownScript_0xa0aa5: + farwritetext UnknownText_0x174895 + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0aad: + farwritetext UnknownText_0x17529c + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0ab5: + farwritetext UnknownText_0x175b6d + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0abd: + farwritetext UnknownText_0x17750e + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0ac5: + farwritetext UnknownText_0x64f1a + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0acd: + farwritetext UnknownText_0x6520f + buttonsound + jump PhoneScript_HangupText_Female + +UnknownScript_0xa0ad5: + farwritetext UnknownText_0x65da6 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0add: + farwritetext UnknownText_0x66087 + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0ae5: + farwritetext UnknownText_0x6691d + buttonsound + jump PhoneScript_HangupText_Female + +WiltonWantThis: + farwritetext WiltonWantThisText + buttonsound + jump PhoneScript_HangupText_Male + +UnknownScript_0xa0af5: + farwritetext UnknownText_0x175f70 + end + +UnknownScript_0xa0afa: + farwritetext UnknownText_0x176dd1 + end + +UnknownScript_0xa0aff: + farwritetext UnknownText_0x64c5a + end + +UnknownScript_0xa0b04: + farwritetext UnknownText_0x17717c + end + +BikeShopPhoneScript: + farwritetext UnknownText_0x174000 + clearflag ENGINE_BIKE_SHOP_CALL_ENABLED + specialphonecall SPECIALCALL_NONE + end diff --git a/engine/phone/phone_scripts.asm b/engine/phone/phone_scripts.asm new file mode 100644 index 000000000..62eb4ac87 --- /dev/null +++ b/engine/phone/phone_scripts.asm @@ -0,0 +1,1886 @@ +UnusedPhoneScript: ; 0xbcea5 + farwritetext UnusedPhoneText + end + +; Mom + +MomPhoneScript: ; 0xbceaa + checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST + iftrue .bcec5 + checkevent EVENT_DUDE_TALKED_TO_YOU + iftrue MomPhoneLectureScript + checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM + iftrue MomPhoneNoGymQuestScript + checkevent EVENT_GOT_A_POKEMON_FROM_ELM + iftrue MomPhoneNoPokedexScript + jump MomPhoneNoPokemonScript + +.bcec5 ; 0xbcec5 + checkevent EVENT_IN_YOUR_ROOM + iftrue MomPhoneHangUpScript + farwritetext MomPhoneGreetingText + buttonsound + mapnametotext $0 + checkcode VAR_ROOFPALETTE + if_equal $1, MomPhonePalette1 + if_equal $2, MomPhonePalette2 + jump MomPhoneOther + +MomPhoneLandmark: ; 0xbcedf + farwritetext MomPhoneLandmarkText + buttonsound + jump MomSavingMoney + +MomPhonePalette1: ; 0xbcee7 + checkcode VAR_MAPGROUP + if_equal GROUP_NEW_BARK_TOWN, .newbark + if_equal GROUP_CHERRYGROVE_CITY, .cherrygrove + if_equal GROUP_VIOLET_CITY, .violet + if_equal GROUP_AZALEA_TOWN, .azalea + if_equal GROUP_GOLDENROD_CITY, .goldenrod + farwritetext MomPhoneGenericAreaText + buttonsound + jump MomSavingMoney + +.newbark ; 0xbcf05 + farwritetext MomPhoneNewBarkText + buttonsound + jump MomSavingMoney + +.cherrygrove ; 0xbcf0d + farwritetext MomPhoneCherrygroveText + buttonsound + jump MomSavingMoney + +.violet ; 0xbcf15 + landmarktotext SPROUT_TOWER, 1 + jump MomPhoneLandmark +.azalea ; 0xbcf1b + landmarktotext SLOWPOKE_WELL, 1 + jump MomPhoneLandmark +.goldenrod ; 0xbcf21 + landmarktotext RADIO_TOWER, 1 + jump MomPhoneLandmark + +MomPhonePalette2: ; 0xbcf27 + farwritetext MomOtherAreaText + buttonsound + jump MomSavingMoney + +MomPhoneOther: ; 0xbcf2f + farwritetext MomDeterminedText + buttonsound + jump MomSavingMoney + +MomSavingMoney: ; 0xbcf37 + checkflag ENGINE_MOM_SAVING_MONEY + iffalse MomIsNotSaving + checkmoney $1, 0 + if_equal $0, MomSavingHasMoney + jump MomSavingButBroke + +MomIsNotSaving: ; 0xbcf49 + checkmoney $1, 0 + if_equal $0, MomHasMoney + jump MomHasNoMoney + +MomSavingHasMoney: ; 0xbcf55 + readmoney $1, $0 + farwritetext MomCheckBalanceText + yesorno + iftrue MomPhoneSaveMoneyScript + jump MomPhoneWontSaveMoneyScript + +MomSavingButBroke: ; 0xbcf63 + farwritetext MomImportantToSaveText + yesorno + iftrue MomPhoneSaveMoneyScript + jump MomPhoneWontSaveMoneyScript + +MomHasNoMoney: ; 0xbcf6e + farwritetext MomYoureNotSavingText + yesorno + iftrue MomPhoneSaveMoneyScript + jump MomPhoneWontSaveMoneyScript + +MomHasMoney: ; 0xbcf79 + readmoney $1, $0 + farwritetext MomYouveSavedText + yesorno + iftrue MomPhoneSaveMoneyScript + jump MomPhoneWontSaveMoneyScript + +MomPhoneSaveMoneyScript: ; 0xbcf87 + setflag ENGINE_MOM_SAVING_MONEY + farwritetext MomOKIllSaveText + buttonsound + jump MomPhoneHangUpScript + +MomPhoneWontSaveMoneyScript: ; 0xbcf92 + clearflag ENGINE_MOM_SAVING_MONEY + farwritetext MomPhoneWontSaveMoneyText + buttonsound + jump MomPhoneHangUpScript + +MomPhoneHangUpScript: ; 0xbcf9d + farwritetext MomPhoneHangUpText + end + +MomPhoneNoPokemonScript: ; 0xbcfa2 + farwritetext MomPhoneNoPokemonText + end + +MomPhoneNoPokedexScript: ; 0xbcfa7 + farwritetext MomPhoneNoPokedexText + end + +MomPhoneNoGymQuestScript: ; 0xbcfac + farwritetext MomPhoneNoGymQuestText + end + +MomPhoneLectureScript: ; 0xbcfb1 + setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST + setflag ENGINE_DST + specialphonecall SPECIALCALL_NONE + farwritetext MomPhoneLectureText + yesorno + iftrue MomPhoneSaveMoneyScript + jump MomPhoneWontSaveMoneyScript + +; Bill + +BillPhoneScript1: ; 0xbcfc5 + checkday + iftrue .daygreet + checknite + iftrue .nitegreet + farwritetext BillPhoneMornGreetingText + buttonsound + jump .main + +.daygreet ; 0xbcfd7 + farwritetext BillPhoneDayGreetingText + buttonsound + jump .main + +.nitegreet ; 0xbcfdf + farwritetext BillPhoneNiteGreetingText + buttonsound + jump .main + +.main ; 0xbcfe7 + farwritetext BillPhoneGeneriText + buttonsound + checkcode VAR_BOXSPACE + RAM2MEM $0 + if_equal $0, .full + if_less_than $6, .nearlyfull + farwritetext BillPhoneNotFullText + end + +.nearlyfull ; 0xbcffd + farwritetext BillPhoneNearlyFullText + end + +.full ; 0xbd002 + farwritetext BillPhoneFullText + end + +BillPhoneScript2: ; 0xbd007 + farwritetext BillPhoneNewlyFullText + waitbutton + end + +; Elm + +ElmPhoneScript1: ; 0xbd00d + checkcode VAR_SPECIALPHONECALL + if_equal $1, .pokerus + checkevent EVENT_SHOWED_TOGEPI_TO_ELM + iftrue .discovery + checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE + iffalse .next + checkevent EVENT_TOGEPI_HATCHED + iftrue .egghatched +.next + checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE + iftrue .eggunhatched + checkevent EVENT_ELMS_AIDE_IN_LAB + iftrue .assistant + checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM + iftrue .checkingegg + checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON + iftrue .stolen + checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON + iftrue .sawmrpokemon + farwritetext ElmPhoneStartText + end + +.sawmrpokemon ; 0xbd048 + farwritetext ElmPhoneSawMrPokemonText + end + +.stolen ; 0xbd04d + farwritetext ElmPhonePokemonStolenText + end + +.checkingegg ; 0xbd052 + farwritetext ElmPhoneCheckingEggText + end + +.assistant ; 0xbd057 + farwritetext ElmPhoneAssistantText + end + +.eggunhatched ; 0xbd05c + farwritetext ElmPhoneEggUnhatchedText + end + +.egghatched ; 0xbd061 + farwritetext ElmPhoneEggHatchedText + setevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE + end + +.discovery ; 0xbd069 + random $2 + if_equal $0, .nextdiscovery + farwritetext ElmPhoneDiscovery1Text + end + +.nextdiscovery ; 0xbd074 + farwritetext ElmPhoneDiscovery2Text + end + +.pokerus ; 0xbd079 + farwritetext ElmPhonePokerusText + specialphonecall SPECIALCALL_NONE + end + +ElmPhoneScript2: ; 0xbd081 + checkcode VAR_SPECIALPHONECALL + if_equal $2, .disaster + if_equal $3, .assistant + if_equal $4, .rocket + if_equal $5, .gift + if_equal $8, .gift + farwritetext ElmPhonePokerusText + specialphonecall SPECIALCALL_NONE + end + +.disaster ; 0xbd09f + farwritetext ElmPhoneDisasterText + specialphonecall SPECIALCALL_NONE + setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON + end + +.assistant ; 0xbd0aa + farwritetext ElmPhoneEggAssistantText + specialphonecall SPECIALCALL_NONE + clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER + setevent EVENT_ELMS_AIDE_IN_LAB + end + +.rocket ; 0xbd0b8 + farwritetext ElmPhoneRocketText + specialphonecall SPECIALCALL_NONE + end + +.gift ; 0xbd0c0 + farwritetext ElmPhoneGiftText + specialphonecall SPECIALCALL_NONE + end + +.unused ; 0xbd0c8 + farwritetext ElmPhoneUnusedText + specialphonecall SPECIALCALL_NONE + end +; bd0d0 + +; Jack + +JackPhoneScript1: + trainertotext SCHOOLBOY, JACK1, $0 + checkflag ENGINE_JACK + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_JACK_MONDAY_MORNING + iftrue .NotMonday + checkcode VAR_WEEKDAY + if_not_equal MONDAY, .NotMonday + checkmorn + iftrue JackMondayMorning + +.NotMonday: + farjump JackPhoneTips + +.WantsBattle: + landmarktotext NATIONAL_PARK, $2 + farjump JackWantsBattleScript + +JackPhoneScript2: + trainertotext SCHOOLBOY, JACK1, $0 + farscall PhoneScript_GreetPhone_Male + farscall PhoneScript_Random2 + if_equal $0, JackBattleTrivia + checkflag ENGINE_JACK + iftrue .WaitingForBattle + checkflag ENGINE_JACK_MONDAY_MORNING + iftrue .WaitingForBattle + farscall PhoneScript_Random2 + if_equal $0, JackWantsToBattle + +.WaitingForBattle: + farscall PhoneScript_Random3 + if_equal $0, JackFindsRare + farjump Phone_GenericCall_Male + +JackMondayMorning: + setflag ENGINE_JACK_MONDAY_MORNING + +JackWantsToBattle: + landmarktotext NATIONAL_PARK, $2 + setflag ENGINE_JACK + farjump PhoneScript_WantsToBattle_Male + +JackFindsRare: + farjump Phone_CheckIfUnseenRare_Male + +JackBattleTrivia: + farjump JackTriviaScript + +; Beverly + +BeverlyPhoneScript1: + trainertotext POKEFANF, BEVERLY1, $0 + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_BEVERLY_HAS_NUGGET + iftrue .HasNugget + farjump UnknownScript_0xa0900 + +.HasNugget: + landmarktotext NATIONAL_PARK, $2 + farjump UnknownScript_0xa0aa5 + +BeverlyPhoneScript2: + trainertotext POKEFANF, BEVERLY1, $0 + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_BEVERLY_HAS_NUGGET + iftrue .HasNugget + farscall PhoneScript_Random4 + if_equal $0, .FoundNugget + +.HasNugget: + farjump Phone_GenericCall_Female + +.FoundNugget: + setflag ENGINE_BEVERLY_HAS_NUGGET + landmarktotext NATIONAL_PARK, $2 + farjump PhoneScript_FoundItem_Female + +; Huey + +HueyPhoneScript1: + trainertotext SAILOR, HUEY1, $0 + checkflag ENGINE_HUEY + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_HUEY_WEDNESDAY_NIGHT + iftrue .NotWednesday + checkcode VAR_WEEKDAY + if_not_equal WEDNESDAY, .NotWednesday + checknite + iftrue HueyWednesdayNight + +.NotWednesday: + special RandomPhoneMon + farjump UnknownScript_0xa0908 + +.WantsBattle: + landmarktotext LIGHTHOUSE, $2 + farjump HueyWantsBattleScript + +HueyPhoneScript2: + trainertotext SAILOR, HUEY1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_HUEY + iftrue .Flavor + checkflag ENGINE_HUEY_WEDNESDAY_NIGHT + iftrue .Flavor + farscall PhoneScript_Random3 + if_equal $0, HueyWantsBattle + if_equal $1, HueyWantsBattle + +.Flavor: + farjump PhoneScript_MonFlavorText + +HueyWednesdayNight: + setflag ENGINE_HUEY_WEDNESDAY_NIGHT + +HueyWantsBattle: + landmarktotext LIGHTHOUSE, $2 + setflag ENGINE_HUEY + farjump PhoneScript_WantsToBattle_Male + +; Gaven + +GavenPhoneScript1: + trainertotext COOLTRAINERM, GAVEN3, $0 + checkflag ENGINE_GAVEN + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_GAVEN_THURSDAY_MORNING + iftrue .NotThursday + checkcode VAR_WEEKDAY + if_not_equal THURSDAY, .NotThursday + checkmorn + iftrue GavenThursdayMorning + +.NotThursday: + farjump UnknownScript_0xa0910 + +.WantsBattle: + landmarktotext ROUTE_26, $2 + farjump UnknownScript_0xa0a37 + +GavenPhoneScript2: + trainertotext COOLTRAINERM, GAVEN3, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_GAVEN + iftrue .WaitingForBattle + checkflag ENGINE_GAVEN_THURSDAY_MORNING + iftrue .WaitingForBattle + farscall PhoneScript_Random2 + if_equal $0, GavenWantsRematch + +.WaitingForBattle: + farscall PhoneScript_Random3 + if_equal $0, GavenFoundRare + farjump Phone_GenericCall_Male + +GavenThursdayMorning: + setflag ENGINE_GAVEN_THURSDAY_MORNING + +GavenWantsRematch: + landmarktotext ROUTE_26, $2 + setflag ENGINE_GAVEN + farjump PhoneScript_WantsToBattle_Male + +GavenFoundRare: + farjump Phone_CheckIfUnseenRare_Male + +; Beth + +BethPhoneScript1: + trainertotext COOLTRAINERF, BETH1, $0 + checkflag ENGINE_BETH + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_BETH_FRIDAY_AFTERNOON + iftrue .NotFriday + checkcode VAR_WEEKDAY + if_not_equal FRIDAY, .NotFriday + checkday + iftrue BethFridayAfternoon + +.NotFriday: + farjump UnknownScript_0xa0918 + +.WantsBattle: + landmarktotext ROUTE_26, $2 + farjump BethBattleReminderScript + +BethPhoneScript2: + trainertotext COOLTRAINERF, BETH1, $0 + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_BETH + iftrue .Generic + checkflag ENGINE_BETH_FRIDAY_AFTERNOON + iftrue .Generic + farscall PhoneScript_Random2 + if_equal $0, BethWantsBattle + +.Generic: + farjump Phone_GenericCall_Female + +BethFridayAfternoon: + setflag ENGINE_BETH_FRIDAY_AFTERNOON + +BethWantsBattle: + landmarktotext ROUTE_26, $2 + setflag ENGINE_BETH + farjump PhoneScript_WantsToBattle_Female + +; Jose + +JosePhoneScript1: + trainertotext BIRD_KEEPER, JOSE2, $0 + checkflag ENGINE_JOSE + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_JOSE_SATURDAY_NIGHT + iftrue .NotSaturday + checkflag ENGINE_JOSE_HAS_STAR_PIECE + iftrue .HasItem + checkcode VAR_WEEKDAY + if_not_equal SATURDAY, .NotSaturday + checknite + iftrue JoseSaturdayNight + +.NotSaturday: + farjump UnknownScript_0xa0920 + +.WantsBattle: + landmarktotext ROUTE_27, $2 + farjump UnknownScript_0xa0a41 + +.HasItem: + landmarktotext ROUTE_27, $2 + farjump UnknownScript_0xa0a41 + +JosePhoneScript2: + trainertotext BIRD_KEEPER, JOSE2, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_JOSE + iftrue .Generic + checkflag ENGINE_JOSE_SATURDAY_NIGHT + iftrue .Generic + checkflag ENGINE_JOSE_HAS_STAR_PIECE + iftrue .Generic + farscall PhoneScript_Random3 + if_equal $0, JoseWantsBattle + farscall PhoneScript_Random3 + if_equal $0, JoseHasStarPiece + +.Generic: + farscall PhoneScript_Random3 + if_equal $0, JoseFoundRare + farjump Phone_GenericCall_Male + +JoseSaturdayNight: + setflag ENGINE_JOSE_SATURDAY_NIGHT + +JoseWantsBattle: + landmarktotext ROUTE_27, $2 + setflag ENGINE_JOSE + farjump PhoneScript_WantsToBattle_Male + +JoseFoundRare: + farjump Phone_CheckIfUnseenRare_Male + +JoseHasStarPiece: + setflag ENGINE_JOSE_HAS_STAR_PIECE + landmarktotext ROUTE_27, $2 + farjump PhoneScript_FoundItem_Male + +; Reena + +ReenaPhoneScript1: + trainertotext COOLTRAINERF, REENA1, $0 + checkflag ENGINE_REENA + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_REENA_SUNDAY_MORNING + iftrue .NotSunday + checkcode VAR_WEEKDAY + if_not_equal SUNDAY, .NotSunday + checkmorn + iftrue ReenaSundayMorning + +.NotSunday: + farjump UnknownScript_0xa0928 + +.WantsBattle: + landmarktotext ROUTE_27, $2 + farjump UnknownScript_0xa0a46 + +ReenaPhoneScript2: + trainertotext COOLTRAINERF, REENA1, $0 + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_REENA + iftrue .Generic + checkflag ENGINE_REENA_SUNDAY_MORNING + iftrue .Generic + farscall PhoneScript_Random2 + if_equal $0, ReenaWantsBattle + +.Generic: + farjump Phone_GenericCall_Female + +ReenaSundayMorning: + setflag ENGINE_REENA_SUNDAY_MORNING + +ReenaWantsBattle: + landmarktotext ROUTE_27, $2 + setflag ENGINE_REENA + farjump PhoneScript_WantsToBattle_Female + +; Joey + +JoeyPhoneScript1: + trainertotext YOUNGSTER, JOEY1, $0 + checkflag ENGINE_JOEY + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_JOEY_MONDAY_AFTERNOON + iftrue .NotMonday + checkcode VAR_WEEKDAY + if_not_equal MONDAY, .NotMonday + checkday + iftrue JoeyMondayAfternoon + +.NotMonday: + special RandomPhoneMon + farjump UnknownScript_0xa0930 + +.WantsBattle: + landmarktotext ROUTE_30, $2 + farjump UnknownScript_0xa0a4b + +JoeyPhoneScript2: + trainertotext YOUNGSTER, JOEY1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_JOEY + iftrue .Generic + checkflag ENGINE_JOEY_MONDAY_AFTERNOON + iftrue .Generic + farscall PhoneScript_Random3 + if_equal $0, JoeyWantsBattle + if_equal $1, JoeyWantsBattle + +.Generic: + farjump Phone_GenericCall_Male + +JoeyMondayAfternoon: + setflag ENGINE_JOEY_MONDAY_AFTERNOON + +JoeyWantsBattle: + landmarktotext ROUTE_30, $2 + setflag ENGINE_JOEY + farjump PhoneScript_WantsToBattle_Male + +; Wade + +WadePhoneScript1: + trainertotext BUG_CATCHER, WADE1, $0 + checkflag ENGINE_WADE + iftrue WadeWantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_WADE_TUESDAY_NIGHT + iftrue .NotTuesday + checkflag ENGINE_WADE_HAS_ITEM + iftrue WadeHasItem + checkcode VAR_WEEKDAY + if_not_equal TUESDAY, .NotTuesday + checknite + iftrue WadeTuesdayNight + +.NotTuesday: + farscall PhoneScript_Random2 + if_equal $0, .NoContest + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .NoContest + checkcode VAR_WEEKDAY + if_equal TUESDAY, WadeContestToday + if_equal THURSDAY, WadeContestToday + if_equal SATURDAY, WadeContestToday + +.NoContest: + farjump UnknownScript_0xa0938 + +WadeContestToday: + farjump PhoneScript_BugCatchingContest + +WadeWantsBattle: + landmarktotext ROUTE_31, $2 + farjump UnknownScript_0xa0a50 + +WadeHasItem: + landmarktotext ROUTE_31, $2 + farjump UnknownScript_0xa0ab5 + +WadePhoneScript2: + trainertotext BUG_CATCHER, WADE1, $0 + farscall PhoneScript_GreetPhone_Male + farscall PhoneScript_Random2 + if_equal $0, .NoContest + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .NoContest + checkcode VAR_WEEKDAY + if_equal TUESDAY, Wade_ContestToday + if_equal THURSDAY, Wade_ContestToday + if_equal SATURDAY, Wade_ContestToday + +.NoContest: + checkflag ENGINE_WADE + iftrue .next + checkflag ENGINE_WADE_TUESDAY_NIGHT + iftrue .next + checkflag ENGINE_WADE_HAS_ITEM + iftrue .next + farscall PhoneScript_Random2 + if_equal $0, WadeHasItem2 + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .next + farscall PhoneScript_Random2 + if_equal $0, WadeWantsBattle2 + +.next: + farscall PhoneScript_Random3 + if_equal $0, WadeFoundRare + farjump Phone_GenericCall_Male + +Wade_ContestToday: + farjump PhoneScript_BugCatchingContest + +WadeTuesdayNight: + setflag ENGINE_WADE_TUESDAY_NIGHT + +WadeWantsBattle2: + landmarktotext ROUTE_31, $2 + setflag ENGINE_WADE + farjump PhoneScript_WantsToBattle_Male + +WadeFoundRare: + farjump Phone_CheckIfUnseenRare_Male + +WadeHasItem2: + setflag ENGINE_WADE_HAS_ITEM + landmarktotext ROUTE_31, $2 + clearevent EVENT_WADE_HAS_BERRY + clearevent EVENT_WADE_HAS_PSNCUREBERRY + clearevent EVENT_WADE_HAS_PRZCUREBERRY + clearevent EVENT_WADE_HAS_BITTER_BERRY + random $4 + if_equal $0, .Berry + if_equal $1, .PsnCureBerry + if_equal $2, .PrzCureBerry + if_equal $3, .Bitterberry + +.Berry: + setevent EVENT_WADE_HAS_BERRY + jump .FoundBerry + +.PsnCureBerry: + setevent EVENT_WADE_HAS_PSNCUREBERRY + jump .FoundBerry + +.PrzCureBerry: + setevent EVENT_WADE_HAS_PRZCUREBERRY + jump .FoundBerry + +.Bitterberry: + setevent EVENT_WADE_HAS_BITTER_BERRY + +.FoundBerry: + farjump PhoneScript_FoundItem_Male + +; Ralph + +RalphPhoneScript1: + trainertotext FISHER, RALPH1, $0 + checkflag ENGINE_RALPH + iftrue Ralph_Rematch + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_RALPH_WEDNESDAY_MORNING + iftrue Ralph_CheckSwarm + checkcode VAR_WEEKDAY + if_not_equal WEDNESDAY, Ralph_CheckSwarm + checkmorn + iftrue Ralph_WednesdayMorning +Ralph_CheckSwarm: + checkflag ENGINE_SPECIAL_WILDDATA + iftrue Ralph_ReportSwarm + farjump UnknownScript_0xa0940 + +Ralph_Rematch: + landmarktotext ROUTE_32, $2 + farjump UnknownScript_0xa0a55 + +Ralph_ReportSwarm: + landmarktotext ROUTE_32, $2 + farjump UnknownScript_0xa0af5 + +RalphPhoneScript2: + trainertotext FISHER, RALPH1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse Ralph_CheckSwarm2 + checkflag ENGINE_RALPH + iftrue Ralph_CheckSwarm2 + checkflag ENGINE_RALPH_WEDNESDAY_MORNING + iftrue Ralph_CheckSwarm2 + farscall PhoneScript_Random2 + if_equal $0, Ralph_FightMe +Ralph_CheckSwarm2: + farscall PhoneScript_Random5 + if_equal $0, Ralph_SetUpSwarm + farjump Phone_GenericCall_Male + +Ralph_WednesdayMorning: + setflag ENGINE_RALPH_WEDNESDAY_MORNING +Ralph_FightMe: + landmarktotext ROUTE_32, $2 + setflag ENGINE_RALPH + farjump PhoneScript_WantsToBattle_Male + +Ralph_SetUpSwarm: + checkflag ENGINE_SPECIAL_WILDDATA + iftrue .Generic + setflag ENGINE_SPECIAL_WILDDATA + pokenamemem QWILFISH, $1 + landmarktotext ROUTE_32, $2 + writebyte FISHSWARM_QWILFISH + special Special_ActivateFishingSwarm + farjump UnknownScript_0xa05d6 + +.Generic: + farjump Phone_GenericCall_Male + +; Liz + +LizPhoneScript1: + trainertotext PICNICKER, LIZ1, $0 + checkflag ENGINE_LIZ + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_LIZ_THURSDAY_AFTERNOON + iftrue .NotThursday + checkcode VAR_WEEKDAY + if_not_equal THURSDAY, .NotThursday + checkday + iftrue LizThursdayAfternoon + +.NotThursday: + special RandomPhoneMon + farjump UnknownScript_0xa0948 + +.WantsBattle: + landmarktotext ROUTE_32, $2 + farjump UnknownScript_0xa0a5a + +LizPhoneScript2: + trainertotext PICNICKER, LIZ1, $0 + farscall PhoneScript_Random4 + if_equal $0, LizWrongNumber + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_LIZ + iftrue .next + checkflag ENGINE_LIZ_THURSDAY_AFTERNOON + iftrue .next + +.next: + farscall PhoneScript_Random2 + if_equal $0, LizGossip + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .Generic + farscall PhoneScript_Random2 + if_equal $0, LizWantsBattle + +.Generic: + farjump Phone_GenericCall_Female + +LizThursdayAfternoon: + setflag ENGINE_LIZ_THURSDAY_AFTERNOON + +LizWantsBattle: + landmarktotext ROUTE_32, $2 + setflag ENGINE_LIZ + farjump PhoneScript_WantsToBattle_Female + +LizWrongNumber: + farjump LizWrongNumberScript + +LizGossip: + random $9 + if_equal $0, .CoolTrainerM + if_equal $1, .Beauty + if_equal $2, .Grunt + if_equal $3, .Teacher + if_equal $4, .SwimmerF + if_equal $5, .KimonoGirl + if_equal $6, .Skier + if_equal $7, .Medium + if_equal $8, .PokefanM + +.CoolTrainerM: + trainerclassname COOLTRAINERM, $1 + jump LizGossipScript + +.Beauty: + trainerclassname BEAUTY, $1 + jump LizGossipScript + +.Grunt: + trainerclassname GRUNTM, $1 + jump LizGossipScript + +.Teacher: + trainerclassname TEACHER, $1 + jump LizGossipScript + +.SwimmerF: + trainerclassname SWIMMERF, $1 + jump LizGossipScript + +.KimonoGirl: + trainerclassname KIMONO_GIRL, $1 + jump LizGossipScript + +.Skier: + trainerclassname SKIER, $1 + jump LizGossipScript + +.Medium: + trainerclassname MEDIUM, $1 + jump LizGossipScript + +.PokefanM: + trainerclassname POKEFANM, $1 + jump LizGossipScript + +LizGossipScript: + farjump UnknownScript_0xa06da + +; Anthony + +AnthonyPhoneScript1: + trainertotext HIKER, ANTHONY2, $0 + checkflag ENGINE_ANTHONY + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_ANTHONY_FRIDAY_NIGHT + iftrue .NotFriday + checkcode VAR_WEEKDAY + if_not_equal FRIDAY, .NotFriday + checknite + iftrue AnthonyFridayNight + +.NotFriday: + checkflag ENGINE_DUNSPARCE_SWARM + iftrue .AlreadySwarming + farjump UnknownScript_0xa0950 + +.WantsBattle: + landmarktotext ROUTE_33, $2 + farjump UnknownScript_0xa0a5f + +.AlreadySwarming: + landmarktotext ROUTE_33, $2 + farjump UnknownScript_0xa0afa + +AnthonyPhoneScript2: + trainertotext HIKER, ANTHONY2, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .TriesSwarm + checkflag ENGINE_ANTHONY + iftrue .TriesSwarm + checkflag ENGINE_ANTHONY_FRIDAY_NIGHT + iftrue .TriesSwarm + farscall PhoneScript_Random2 + if_equal $0, AnthonyWantsBattle + +.TriesSwarm: + farscall PhoneScript_Random5 + if_equal $0, AnthonyTriesDunsparceSwarm + farjump Phone_GenericCall_Male + +AnthonyFridayNight: + setflag ENGINE_ANTHONY_FRIDAY_NIGHT + +AnthonyWantsBattle: + landmarktotext ROUTE_33, $2 + setflag ENGINE_ANTHONY + farjump PhoneScript_WantsToBattle_Male + +AnthonyTriesDunsparceSwarm: + checkflag ENGINE_DUNSPARCE_SWARM + iftrue .Generic + setflag ENGINE_DUNSPARCE_SWARM + pokenamemem DUNSPARCE, $1 + swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE + landmarktotext DARK_CAVE, $2 + farjump UnknownScript_0xa05de + +.Generic: + farjump Phone_GenericCall_Male + +; Todd + +ToddPhoneScript1: + trainertotext CAMPER, TODD1, $0 + checkflag ENGINE_TODD + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_TODD_SATURDAY_MORNING + iftrue .NotSaturday + checkcode VAR_WEEKDAY + if_not_equal SATURDAY, .NotSaturday + checkmorn + iftrue ToddSaturdayMorning + +.NotSaturday: + checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON + iftrue .SaleOn + farjump UnknownScript_0xa0958 + +.WantsBattle: + landmarktotext ROUTE_34, $2 + farjump UnknownScript_0xa0a64 + +.SaleOn: + farjump UnknownScript_0xa0b04 + +ToddPhoneScript2: + trainertotext CAMPER, TODD1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_TODD + iftrue .TryForSale + checkflag ENGINE_TODD_SATURDAY_MORNING + iftrue .TryForSale + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse ToddNoGoldenrod + farscall PhoneScript_Random2 + if_equal $0, ToddWantsBattle + +.TryForSale: + farscall PhoneScript_Random2 + if_equal $0, ToddDeptStoreSale + +ToddNoGoldenrod: + farscall PhoneScript_Random3 + if_equal $0, ToddFoundRare + farjump Phone_GenericCall_Male + +ToddSaturdayMorning: + setflag ENGINE_TODD_SATURDAY_MORNING + +ToddWantsBattle: + landmarktotext ROUTE_34, $2 + setflag ENGINE_TODD + farjump PhoneScript_WantsToBattle_Male + +ToddFoundRare: + farjump Phone_CheckIfUnseenRare_Male + +ToddDeptStoreSale: + setflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON + farjump UnknownScript_0xa0644 + +; Gina + +GinaPhoneScript1: + trainertotext PICNICKER, GINA1, $0 + checkflag ENGINE_GINA + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_GINA_SUNDAY_AFTERNOON + iftrue .NotSunday + checkflag ENGINE_GINA_HAS_LEAF_STONE + iftrue .HasLeafStone + checkcode VAR_WEEKDAY + if_not_equal SUNDAY, .NotSunday + checkday + iftrue GinaSundayDay + +.NotSunday: + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue .Rockets + farjump UnknownScript_0xa0960 + +.Rockets: + farjump UnknownScript_0xa05c6 + +.WantsBattle: + landmarktotext ROUTE_34, $2 + farjump UnknownScript_0xa0a69 + +.HasLeafStone: + landmarktotext ROUTE_34, $2 + farjump UnknownScript_0xa0abd + +GinaPhoneScript2: + trainertotext PICNICKER, GINA1, $0 + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue GinaRockets + checkflag ENGINE_GINA + iftrue .Generic + checkflag ENGINE_GINA_SUNDAY_AFTERNOON + iftrue .Generic + checkflag ENGINE_GINA_HAS_LEAF_STONE + iftrue .Generic + checkevent EVENT_GINA_GAVE_LEAF_STONE + iftrue .GaveLeafStone + farscall PhoneScript_Random2 + if_equal $0, GinaHasLeafStone + +.GaveLeafStone: + farscall PhoneScript_Random11 + if_equal $0, GinaHasLeafStone + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .Generic + farscall PhoneScript_Random3 + if_equal $0, GinaWantsBattle + +.Generic: + farjump Phone_GenericCall_Female + +GinaSundayDay: + setflag ENGINE_GINA_SUNDAY_AFTERNOON + +GinaWantsBattle: + landmarktotext ROUTE_34, $2 + setflag ENGINE_GINA + farjump PhoneScript_WantsToBattle_Female + +GinaRockets: + farjump UnknownScript_0xa05c6 + +GinaHasLeafStone: + setflag ENGINE_GINA_HAS_LEAF_STONE + landmarktotext ROUTE_34, $2 + farjump PhoneScript_FoundItem_Female + +; Irwin + +IrwinPhoneScript1: + trainertotext JUGGLER, IRWIN1, $0 + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue .Rockets + farjump UnknownScript_0xa09c8 + +.Rockets: + farjump IrwinRocketRumor + +IrwinPhoneScript2: + trainertotext JUGGLER, IRWIN1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue .Rockets + farjump IrwinRumorScript + +.Rockets: + farjump IrwinRocketRumor + +; Arnie + +ArniePhoneScript1: + trainertotext BUG_CATCHER, ARNIE1, $0 + checkflag ENGINE_ARNIE + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_ARNIE_TUESDAY_MORNING + iftrue .NotTuesday + checkcode VAR_WEEKDAY + if_not_equal TUESDAY, .NotTuesday + checkmorn + iftrue ArnieTuesdayMorning + +.NotTuesday: + checkflag ENGINE_YANMA_SWARM + iftrue .AlreadySwarming + farjump UnknownScript_0xa0968 + +.WantsBattle: + landmarktotext ROUTE_35, $2 + farjump UnknownScript_0xa0a6e + +.AlreadySwarming: + landmarktotext ROUTE_35, $2 + farjump UnknownScript_0xa0aff + +ArniePhoneScript2: + trainertotext BUG_CATCHER, ARNIE1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_ARNIE + iftrue .Swarm + checkflag ENGINE_ARNIE_TUESDAY_MORNING + iftrue .Swarm + farscall PhoneScript_Random2 + if_equal $0, ArnieWantsBattle + +.Swarm: + farscall PhoneScript_Random5 + if_equal $0, ArnieYanmaSwarm + farscall PhoneScript_Random3 + if_equal $0, ArnieFoundRare + farjump Phone_GenericCall_Male + +ArnieTuesdayMorning: + setflag ENGINE_ARNIE_TUESDAY_MORNING + +ArnieWantsBattle: + landmarktotext ROUTE_35, $2 + setflag ENGINE_ARNIE + farjump PhoneScript_WantsToBattle_Male + +ArnieYanmaSwarm: ; start swarm + checkflag ENGINE_YANMA_SWARM + iftrue ArnieYanmaAlreadySwarming + setflag ENGINE_YANMA_SWARM + pokenamemem YANMA, $1 + swarm SWARM_YANMA, ROUTE_35 + landmarktotext ROUTE_35, $2 + farjump UnknownScript_0xa05ce + +ArnieFoundRare: + farjump Phone_CheckIfUnseenRare_Male + +ArnieYanmaAlreadySwarming: + farjump Phone_GenericCall_Male + +; Alan + +AlanPhoneScript1: + trainertotext SCHOOLBOY, ALAN1, $0 + checkflag ENGINE_ALAN + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON + iftrue .NotWednesday + checkflag ENGINE_ALAN_HAS_FIRE_STONE + iftrue .FireStone + checkcode VAR_WEEKDAY + if_not_equal WEDNESDAY, .NotWednesday + checkday + iftrue AlanWednesdayDay + +.NotWednesday: + farjump UnknownScript_0xa0970 + +.WantsBattle: + landmarktotext ROUTE_36, $2 + farjump UnknownScript_0xa0a73 + +.FireStone: + landmarktotext ROUTE_36, $2 + farjump UnknownScript_0xa0ac5 + +AlanPhoneScript2: + trainertotext SCHOOLBOY, ALAN1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_ALAN + iftrue AlanGenericCall + checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON + iftrue AlanGenericCall + checkflag ENGINE_ALAN_HAS_FIRE_STONE + iftrue AlanGenericCall + farscall PhoneScript_Random3 + if_equal $0, AlanWantsBattle + checkevent EVENT_ALAN_GAVE_FIRE_STONE + iftrue .FireStone + farscall PhoneScript_Random2 + if_equal $0, AlanHasFireStone + +.FireStone: + farscall PhoneScript_Random11 + if_equal $0, AlanHasFireStone + +AlanGenericCall: + farjump Phone_GenericCall_Male + +AlanWednesdayDay: + setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON + +AlanWantsBattle: + landmarktotext ROUTE_36, $2 + setflag ENGINE_ALAN + farjump PhoneScript_WantsToBattle_Male + +AlanHasFireStone: + setflag ENGINE_ALAN_HAS_FIRE_STONE + landmarktotext ROUTE_36, $2 + farjump PhoneScript_FoundItem_Male + +; Dana + +DanaPhoneScript1: + trainertotext LASS, DANA1, $0 + checkflag ENGINE_DANA + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_DANA_THURSDAY_NIGHT + iftrue .NotThursday + checkflag ENGINE_DANA_HAS_THUNDERSTONE + iftrue .HasThunderstone + checkcode VAR_WEEKDAY + if_not_equal THURSDAY, .NotThursday + checknite + iftrue DanaThursdayNight + +.NotThursday: + farjump UnknownScript_0xa0978 + +.WantsBattle: + landmarktotext ROUTE_38, $2 + farjump UnknownScript_0xa0a78 + +.HasThunderstone: + landmarktotext ROUTE_38, $2 + farjump UnknownScript_0xa0acd + +DanaPhoneScript2: + trainertotext LASS, DANA1, $0 + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_DANA + iftrue .Generic + checkflag ENGINE_DANA_THURSDAY_NIGHT + iftrue .Generic + checkflag ENGINE_DANA_HAS_THUNDERSTONE + iftrue .Generic + farscall PhoneScript_Random3 + if_equal $0, DanaWantsBattle + checkevent EVENT_DANA_GAVE_THUNDERSTONE + iftrue .Thunderstone + farscall PhoneScript_Random2 + if_equal $0, DanaHasThunderstone + +.Thunderstone: + farscall PhoneScript_Random11 + if_equal $0, DanaHasThunderstone + +.Generic: + farscall PhoneScript_Random3 + if_equal $0, DanaFoundRare + farjump Phone_GenericCall_Female + +DanaThursdayNight: + setflag ENGINE_DANA_THURSDAY_NIGHT + +DanaWantsBattle: + landmarktotext ROUTE_38, $2 + setflag ENGINE_DANA + farjump PhoneScript_WantsToBattle_Female + +DanaFoundRare: + farjump Phone_CheckIfUnseenRare_Female + +DanaHasThunderstone: + setflag ENGINE_DANA_HAS_THUNDERSTONE + landmarktotext ROUTE_38, $2 + farjump PhoneScript_FoundItem_Female + +; Chad + +ChadPhoneScript1: + trainertotext SCHOOLBOY, CHAD1, $0 + checkflag ENGINE_CHAD + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_CHAD_FRIDAY_MORNING + iftrue .NotFriday + checkcode VAR_WEEKDAY + if_not_equal FRIDAY, .NotFriday + checkmorn + iftrue ChadFridayMorning + +.NotFriday: + farjump UnknownScript_0xa0980 + +.WantsBattle: + landmarktotext ROUTE_38, $2 + farjump UnknownScript_0xa0a7d + +ChadPhoneScript2: + trainertotext SCHOOLBOY, CHAD1, $0 + farscall PhoneScript_GreetPhone_Male + farscall PhoneScript_Random2 + if_equal $0, ChadOakGossip + checkflag ENGINE_CHAD + iftrue .Generic + checkflag ENGINE_CHAD_FRIDAY_MORNING + iftrue .Generic + farscall PhoneScript_Random2 + if_equal $0, ChadWantsBattle + +.Generic: + farscall PhoneScript_Random3 + if_equal $0, ChadFoundRare + farjump Phone_GenericCall_Male + +ChadFridayMorning: + setflag ENGINE_CHAD_FRIDAY_MORNING + +ChadWantsBattle: + landmarktotext ROUTE_38, $2 + setflag ENGINE_CHAD + farjump PhoneScript_WantsToBattle_Male + +ChadFoundRare: + farjump Phone_CheckIfUnseenRare_Male + +ChadOakGossip: + farjump ChadOakGossipScript + +DerekPhoneScript1: + trainertotext POKEFANM, DEREK1, $0 + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_DEREK_HAS_NUGGET + iftrue .Nugget + farscall PhoneScript_Random2 + if_equal $0, .NoContest + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .NoContest + checkcode VAR_WEEKDAY + if_equal TUESDAY, .ContestToday + if_equal THURSDAY, .ContestToday + if_equal SATURDAY, .ContestToday + +.NoContest: + farjump UnknownScript_0xa0988 + +.ContestToday: + farjump PhoneScript_BugCatchingContest + +.Nugget: + landmarktotext ROUTE_39, $2 + farjump UnknownScript_0xa0ad5 + +DerekPhoneScript2: + trainertotext POKEFANM, DEREK1, $0 + farscall PhoneScript_GreetPhone_Male + farscall PhoneScript_Random2 + if_equal $0, .NoContest + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .NoContest + checkcode VAR_WEEKDAY + if_equal TUESDAY, .ContestToday + if_equal THURSDAY, .ContestToday + if_equal SATURDAY, .ContestToday + +.NoContest: + farscall PhoneScript_Random4 + if_equal $0, .Nugget + farjump Phone_GenericCall_Male + +.ContestToday: + farjump PhoneScript_BugCatchingContest + +.Nugget: + setflag ENGINE_DEREK_HAS_NUGGET + landmarktotext ROUTE_39, $2 + farjump PhoneScript_FoundItem_Male + +TullyPhoneScript1: + trainertotext FISHER, TULLY1, $0 + checkflag ENGINE_TULLY + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_TULLY_SUNDAY_NIGHT + iftrue .NotSunday + checkflag ENGINE_TULLY_HAS_WATER_STONE + iftrue TullyHasWaterStone + checkcode VAR_WEEKDAY + if_not_equal SUNDAY, .NotSunday + checknite + iftrue TullySundayNight + +.NotSunday: + farjump UnknownScript_0xa0990 + +.WantsBattle: + landmarktotext ROUTE_42, $2 + farjump UnknownScript_0xa0a82 + +TullyHasWaterStone: + landmarktotext ROUTE_42, $2 + farjump UnknownScript_0xa0add + +TullyPhoneScript2: + trainertotext FISHER, TULLY1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_TULLY + iftrue .Generic + checkflag ENGINE_TULLY_SUNDAY_NIGHT + iftrue .Generic + checkflag ENGINE_TULLY_HAS_WATER_STONE + iftrue .Generic + farscall PhoneScript_Random3 + if_equal $0, TullyWantsBattle + checkevent EVENT_TULLY_GAVE_WATER_STONE + iftrue .WaterStone + farscall PhoneScript_Random2 + if_equal $0, TullyFoundWaterStone + +.WaterStone: + farscall PhoneScript_Random11 + if_equal $0, TullyFoundWaterStone + +.Generic: + farjump Phone_GenericCall_Male + +TullySundayNight: + setflag ENGINE_TULLY_SUNDAY_NIGHT + +TullyWantsBattle: + landmarktotext ROUTE_42, $2 + setflag ENGINE_TULLY + farjump PhoneScript_WantsToBattle_Male + +TullyFoundWaterStone: + setflag ENGINE_TULLY_HAS_WATER_STONE + landmarktotext ROUTE_42, $2 + farjump PhoneScript_FoundItem_Male + +BrentPhoneScript1: + trainertotext POKEMANIAC, BRENT1, $0 + checkflag ENGINE_BRENT + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_BRENT_MONDAY_MORNING + iftrue .NotMonday + checkcode VAR_WEEKDAY + if_not_equal MONDAY, .NotMonday + checkmorn + iftrue BrentMondayMorning + +.NotMonday: + farjump UnknownScript_0xa0998 + +.WantsBattle: + landmarktotext ROUTE_43, $2 + farjump UnknownScript_0xa0a87 + +BrentPhoneScript2: + trainertotext POKEMANIAC, BRENT1, $0 + farscall PhoneScript_GreetPhone_Male + farscall PhoneScript_Random2 + if_equal $0, BrentBillTrivia + checkflag ENGINE_BRENT + iftrue .Generic + checkflag ENGINE_BRENT_MONDAY_MORNING + iftrue .Generic + farscall PhoneScript_Random2 + if_equal $0, BrentWantsBattle + +.Generic: + farjump Phone_GenericCall_Male + +BrentMondayMorning: + setflag ENGINE_BRENT_MONDAY_MORNING + +BrentWantsBattle: + landmarktotext ROUTE_43, $2 + setflag ENGINE_BRENT + farjump PhoneScript_WantsToBattle_Male + +BrentBillTrivia: + farjump BrentBillTriviaScript + +TiffanyPhoneScript1: + trainertotext PICNICKER, TIFFANY3, $0 + checkflag ENGINE_TIFFANY + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON + iftrue .NotTuesday + checkflag ENGINE_TIFFANY_HAS_PINK_BOW + iftrue .HasItem + checkcode VAR_WEEKDAY + if_not_equal TUESDAY, .NotTuesday + checkday + iftrue TiffanyTuesdayAfternoon + +.NotTuesday: + farjump UnknownScript_0xa09a0 + +.WantsBattle: + landmarktotext ROUTE_43, $2 + farjump UnknownScript_0xa0a8c + +.HasItem: + landmarktotext ROUTE_43, $2 + farjump UnknownScript_0xa0ae5 + +TiffanyPhoneScript2: + trainertotext PICNICKER, TIFFANY3, $0 + farscall PhoneScript_Random4 + if_equal $0, TiffanysFamilyMembers + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_TIFFANY + iftrue TiffanyGenericCall + checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON + iftrue TiffanyGenericCall + checkflag ENGINE_TIFFANY_HAS_PINK_BOW + iftrue TiffanyGenericCall + farscall PhoneScript_Random3 + if_equal $0, TiffanyWantsBattle + checkevent EVENT_TIFFANY_GAVE_PINK_BOW + iftrue .PinkBow + farscall PhoneScript_Random2 + if_equal $0, TiffanyHasPinkBow + +.PinkBow: + farscall PhoneScript_Random11 + if_equal $0, TiffanyHasPinkBow + +TiffanyGenericCall: + farjump Phone_GenericCall_Female + +TiffanyTuesdayAfternoon: + setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON + +TiffanyWantsBattle: + landmarktotext ROUTE_43, $2 + setflag ENGINE_TIFFANY + farjump PhoneScript_WantsToBattle_Female + +TiffanysFamilyMembers: + random $6 + if_equal $0, .Grandma + if_equal $1, .Grandpa + if_equal $2, .Mom + if_equal $3, .Dad + if_equal $4, .Sister + if_equal $5, .Brother + +.Grandma: + stringtotext GrandmaString, $1 + jump TiffanysPoorClefairy + +.Grandpa: + stringtotext GrandpaString, $1 + jump TiffanysPoorClefairy + +.Mom: + stringtotext MomString, $1 + jump TiffanysPoorClefairy + +.Dad: + stringtotext DadString, $1 + jump TiffanysPoorClefairy + +.Sister: + stringtotext SisterString, $1 + jump TiffanysPoorClefairy + +.Brother: + stringtotext BrotherString, $1 + jump TiffanysPoorClefairy + +TiffanysPoorClefairy: + farjump TiffanyItsAwful + +TiffanyHasPinkBow: + setflag ENGINE_TIFFANY_HAS_PINK_BOW + landmarktotext ROUTE_43, $2 + farjump PhoneScript_FoundItem_Female + +; Vance + +VancePhoneScript1: + trainertotext BIRD_KEEPER, VANCE1, $0 + checkflag ENGINE_VANCE + iftrue VanceWantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_VANCE_WEDNESDAY_NIGHT + iftrue .NotWednesday + checkcode VAR_WEEKDAY + if_not_equal WEDNESDAY, .NotWednesday + checknite + iftrue VanceWednesdayNight + +.NotWednesday: + farjump VanceLookingForward + +VanceWantsBattle: + landmarktotext ROUTE_44, $2 + farjump VanceHurryHurry + +VancePhoneScript2: + trainertotext BIRD_KEEPER, VANCE1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_VANCE + iftrue .WantsBattle + checkflag ENGINE_VANCE_WEDNESDAY_NIGHT + iftrue .WantsBattle + farscall PhoneScript_Random3 + if_equal $0, VanceWantsRematch + if_equal $1, VanceWantsRematch + +.WantsBattle: + farjump Phone_GenericCall_Male + +VanceWednesdayNight: + setflag ENGINE_VANCE_WEDNESDAY_NIGHT + +VanceWantsRematch: + landmarktotext ROUTE_44, $2 + setflag ENGINE_VANCE + farjump PhoneScript_WantsToBattle_Male + +WiltonPhoneScript1: + trainertotext FISHER, WILTON1, $0 + checkflag ENGINE_WILTON + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_WILTON_THURSDAY_MORNING + iftrue .NotThursday + checkflag ENGINE_WILTON_HAS_ITEM + iftrue .HasItem + checkcode VAR_WEEKDAY + if_not_equal THURSDAY, .NotThursday + checkmorn + iftrue WiltonThursdayMorning + +.NotThursday: + farjump WiltonHaventFoundAnything + +.WantsBattle: + landmarktotext ROUTE_44, $2 + farjump WiltonNotBiting + +.HasItem: + landmarktotext ROUTE_44, $2 + farjump WiltonWantThis + +WiltonPhoneScript2: + trainertotext FISHER, WILTON1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_WILTON + iftrue .GenericCall + checkflag ENGINE_WILTON_THURSDAY_MORNING + iftrue .GenericCall + checkflag ENGINE_WILTON_HAS_ITEM + iftrue .GenericCall + farscall PhoneScript_Random2 + if_equal $0, WiltonWantsBattle + farscall PhoneScript_Random2 + if_equal $0, WiltonHasItem + +.GenericCall: + farjump Phone_GenericCall_Male + +WiltonThursdayMorning: + setflag ENGINE_WILTON_THURSDAY_MORNING + +WiltonWantsBattle: + landmarktotext ROUTE_44, $2 + setflag ENGINE_WILTON + farjump PhoneScript_WantsToBattle_Male + +WiltonHasItem: + setflag ENGINE_WILTON_HAS_ITEM + landmarktotext ROUTE_44, $2 + clearevent EVENT_WILTON_HAS_ULTRA_BALL + clearevent EVENT_WILTON_HAS_GREAT_BALL + clearevent EVENT_WILTON_HAS_POKE_BALL + random $5 + if_equal $0, .UltraBall + random $3 + if_equal $0, .GreatBall + jump .PokeBall + +.UltraBall: + setevent EVENT_WILTON_HAS_ULTRA_BALL + jump .FoundItem + +.GreatBall: + setevent EVENT_WILTON_HAS_GREAT_BALL + jump .FoundItem + +.PokeBall: + setevent EVENT_WILTON_HAS_POKE_BALL + +.FoundItem: + farjump PhoneScript_FoundItem_Male + +; Kenji + +KenjiPhoneScript1: + trainertotext BLACKBELT_T, KENJI3, $0 + farscall PhoneScript_AnswerPhone_Male + farjump KenjiAnswerPhoneScript + +KenjiPhoneScript2: + trainertotext BLACKBELT_T, KENJI3, $0 + farscall PhoneScript_GreetPhone_Male + farjump KenjiCallingPhoneScript + +; Parry + +ParryPhoneScript1: + trainertotext HIKER, PARRY1, $0 + checkflag ENGINE_PARRY + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Male + checkflag ENGINE_PARRY_FRIDAY_AFTERNOON + iftrue .WantsRematch + checkcode VAR_WEEKDAY + if_not_equal FRIDAY, .WantsRematch + checkday + iftrue ParryFridayDay + +.WantsRematch: + farjump ParryBattleWithMe + +.WantsBattle: + landmarktotext ROUTE_45, $2 + farjump ParryHaventYouGottenTo + +ParryPhoneScript2: + trainertotext HIKER, PARRY1, $0 + farscall PhoneScript_GreetPhone_Male + checkflag ENGINE_PARRY + iftrue .GenericCall + checkflag ENGINE_PARRY_FRIDAY_AFTERNOON + iftrue .GenericCall + farscall PhoneScript_Random2 + if_equal $0, ParryWantsBattle + if_equal $1, ParryWantsBattle + +.GenericCall: + farjump Phone_GenericCall_Male + +ParryFridayDay: + setflag ENGINE_PARRY_FRIDAY_AFTERNOON + +ParryWantsBattle: + landmarktotext ROUTE_45, $2 + setflag ENGINE_PARRY + farjump PhoneScript_WantsToBattle_Male + +; Erin + +ErinPhoneScript1: + trainertotext PICNICKER, ERIN1, $0 + checkflag ENGINE_ERIN + iftrue .WantsBattle + farscall PhoneScript_AnswerPhone_Female + checkflag ENGINE_ERIN_SATURDAY_NIGHT + iftrue .NotSaturday + checkcode VAR_WEEKDAY + if_not_equal SATURDAY, .NotSaturday + checknite + iftrue ErinSaturdayNight + +.NotSaturday: + farjump ErinWorkingHardScript + +.WantsBattle: + landmarktotext ROUTE_46, $2 + farjump ErinComeBattleScript + +ErinPhoneScript2: + trainertotext PICNICKER, ERIN1, $0 + farscall PhoneScript_GreetPhone_Female + checkflag ENGINE_ERIN + iftrue .GenericCall + checkflag ENGINE_ERIN_SATURDAY_NIGHT + iftrue .GenericCall + farscall PhoneScript_Random3 + if_equal $0, ErinWantsBattle + if_equal $1, ErinWantsBattle + +.GenericCall: + farjump Phone_GenericCall_Female + +ErinSaturdayNight: + setflag ENGINE_ERIN_SATURDAY_NIGHT + +ErinWantsBattle: + landmarktotext ROUTE_46, $2 + setflag ENGINE_ERIN + farjump PhoneScript_WantsToBattle_Female |