Grand Theft Auto: San Andreas/Game Mechanics and Glitches/Phonecalls
From SDA Knowledge Base
Phonecalls are triggered after certain events (often finishing a certain mission).
There are two different kinds of phonecalls:
- High-priorty calls have a recall delay of 20s before Badlands and 15s after finishing the mission Badlands. These calls are usually ones that unlock missions (Most Threads).
- Low-priority calls have a recall delay of 60s. These calls include e.g. the Catalina troll calls after CJ parts ways with her (MOB_RAN Thread).
The delay counts from the last time the game considered you busy, this includes being on a mission, receiving a phonecall, cancelling a ringing phone. So for example a high-priority call might come 15s after you finished the last mission or 15s after you last cancelled a call. Even though you can't receive phonecalls when you have a wanted level, it doesn't count towards the delay, so you can receive a phonecall directly after you loose your wanted stars.
Answering/Cancelling phonecalls
The ringing phone counts as a small mission, setting $ONMISISON=1, which means you can't start any missions. Once the call is finished (either because you cancelled it or you accepted and finished it), it will set $ONMISSION=0 again.
You can cancel calls by shooting or getting into a vehicle, which will set $ONMISSION=0 after about 1.6 seconds (timed from between the "Press TAB to answer phone" dialog disappearing to mission markers re-appearing on the map, counted frames on video). So the effective delay after you cancelled a phonecall will be 16.6/21.6/61.6 seconds after you performed the action to cancel (e.g. shooting).
Holding Calls
Holding TAB will hold the phonecall as long as you let go of it. This way you can keep it ringing even when going into an interior, even though it might not actually be ringing anymore. You can also use weapons while doing this, which would normally cancel the call. You can't actually answer it in an interior though, but you can carry it through one and then answer it in an environment where you can, e.g. outdoors or in a cutscene.
List of Calls
The following threads, which are started/stopped as the game progresses, are used to check for different groups of phonecalls (check delay in ms):
- MOB_LA1 (90)
- MOB_CAT (120)
- MOB_SF (150)
- MOB_VEG (180)
- MOB_LA2 (250)
- MOB_RAN (1000)
- MOB_GF (150)
In the table the number behind the thread name is the order the calls are checked in that thread. This list is not necessarily complete.
ID | From | Quote | Prerequisite | Call Unlocks/Info | Thread |
---|---|---|---|---|---|
1 | Catalina | "PIG!" | $WUZIMU_TOTAL_PASSED_MISSIONS > 1 (after Ran Fa Li) | MOB_RAN | |
2 | Catalina | "Tiny-balled idiota!" | $TORENO_TOTAL_PASSED_MISSIONS > 5 | MOB_RAN | |
3 | Catalina | "I know it's you, you stinking perro!" | $CASINO_TOTAL_PASSED_MISSIONS > 5 | MOB_RAN | |
4 | Catalina | "Hello, Claude, baby." | $MANSION_TOTAL_PASSED_MISSIONS > 2 | MOB_RAN | |
5 | Catalina | "Yes, Claude, faster, harder, DEEPER!" | $RIOT_TOTAL_PASSED_MISSIONS > 4 | MOB_RAN | |
6 | OGLoc | "Hey CJ, word up, G!" | $OG_LOC_TOTAL_PASSED_MISSIONS == 4 and ($TIME_HOURS >= 20 or 6 > $TIME_HOURS) | MOB_LA1 | |
7 | Cesar | "What's up homie? It's Cesar Vialpando cabron, que honda?" | $SWEET_TOTAL_PASSED_MISSIONS > 6 | Create @CESAR Thread and Marker | MOB_LA1 |
8 | Cesar | "My cousin. Really intense, holmes. Trust me." | $MISSION_BADLANDS_PASSED > 0 | Create @CAT Thread and Catalina Marker | MOB_CAT |
9 | Crash | "Carl, it's officer Hernandez" | $SWEET_TOTAL_PASSED_MISSIONS > 0 | MOB_LA1 | |
10 | Cesar | "Just get a fast car and meet me and Kendl just south of Montgomery." | $CATALINA_TOTAL_PASSED_MISSIONS > 1 and $CESAR_TOTAL_PASSED_MISSIONS == 0 | Create @BCESAR Thread and Badlands Race Marker | MOB_CAT |
11 | Kendl | "Loser!" | Lowrider Race Failed | MOB_RAN | |
12 | Crash | "Officer Tenpenny. How'd you get my number?" | $OG_LOC_TOTAL_PASSED_MISSIONS > 1 | Create @CRASH Thread and Mission Marker | MOB_LA1 |
13 | Crash | "Carl! You get that dossier?" | $CASINO_TOTAL_PASSED_MISSIONS > 7 and $598 > 0 (after Misappropriation) | High Noon | MOB_VEG |
14 | Big Smoke | "Yo Carl, it's Smoke." | $MISSION_RUNNING_DOG_FAILED == 1 and $SMOKE_TOTAL_PASSED_MISSIONS == 1 and $STAT_FAT >= 500.0 | MOB_RAN | |
15 | The Truth | "You know me. This is The Truth." | $TRUTH_TOTAL_PASSED_MISSIONS == 0, $CATALINA_TOTAL_PASSED_MISSIONS == 1 | Create @TRU Thread, Marker | MOB_CAT |
16 | The Truth | "Prank caller! Prank caller!" | $CATALINA_TOTAL_PASSED_MISSIONS > 3, $CESAR_TOTAL_PASSED_MISSIONS > 9 | Mission Marker, set_max_wanted_level_to 5 | MOB_CAT |
17 | The Truth | "Carl. It's me. The Truth. We got a date with destiny, man" | $TORENO_TOTAL_PASSED_MISSIONS > 7 | Mission Marker | MOB_VEG |
18 | Sweet | "Whattup, Sweet?" | $SWEET_TOTAL_PASSED_MISSIONS > 6, $CRASH_LS_TOTAL_PASSED_MISSIONS > 0 | MOB_LA1 | |
19 | Sweet | "Thought I'd explain some shit." | $INTRO_TOTAL_PASSED_MISSIONS > 0, 2 > $SWEET_TOTAL_PASSED_MISSIONS, $HELP_GROOVE_SHOWN == 3 | MOB_LA1 | |
20 | Sweet | "There's a gym I go to a couple of blocks out from the Grove." | $SWEET_TOTAL_PASSED_MISSIONS > 2, 450.0 > $STAT_FAT | Gym | MOB_LA1 |
21 | Sweet | "So I put a little weight on, but...." | $SWEET_TOTAL_PASSED_MISSIONS > 2, $STAT_FAT >= 450.0 | Gym | MOB_LA1 |
22 | Sweet | "CJ, I been thinking." | $RIOT_TOTAL_PASSED_MISSIONS > 1 | Gang Territories | MOB_LA2 |
23 | Sweet | "Hey wassup, you find Smoke?" | $RIOT_TOTAL_PASSED_MISSIONS > 1, $GS_GANG_TURF_CONTROLLED > 34 | End of the Line | MOB_LA2 |
24 | Sweet | "Don't worry bro, I ain't gonna leave you in there." | $MISSION_BADLANDS_PASSED > 0 | MOB_CAT | |
25 | Sweet | "Carl, what's up? It's your brother." | $CASINO_TOTAL_PASSED_MISSIONS > 2, 2 > $MANSION_TOTAL_PASSED_MISSIONS | MOB_LA2 | |
29 | Zero | "Sorry, Carl, are you busy?" | $GARAGE_TOTAL_PASSED_MISSIONS > 0 (after Wear Flowers) | Create @BUY2 Thread, Zero Asset available to buy | MOB_SF(2) |
30 | Zero | "Carl! It's Zero!" | $GARAGE_TOTAL_PASSED_MISSIONS > 0, $ZERO_RCSHOP_BOUGHT == 1 | Create @ZERO Thread, Mission Marker | MOB_SF(3) |
31 | Jethro | "Driving school? Man, exactly what you trying to say, man?" | $GARAGE_TOTAL_PASSED_MISSIONS > 1 (after Deconstruction) | Create @TRACE, @BSCHOO, @BIKES Threads, Mission Markers | MOB_SF(4) |
32 | Jethro | "There's an unofficial street racing club in San Fierro." | $MISSION_BACK_TO_SCHOOL_PASSED == 1, $TORENO_TOTAL_PASSED_MISSIONS > 3 | Street Races | MOB_SF(5) |
33 | Jethro | "Now there's a showroom round the block that's come up for sale" | $1404 == 1 (Monster Call Taken), $MISSION_BACK_TO_SCHOOL_PASSED == 1 | Create @BUY1 Thread (Wang Cars) | MOB_SF(6) |
34 | Woozie | "I own a little betting shop in Chinatown." | $SYNDICATE_TOTAL_PASSED_MISSIONS > 2 | Starts @WUZI Thread | MOB_SF(1) |
35 | Woozie | "It's the Four Dragons Casino in Las Venturas." | $MISSION_LEARNING_TO_FLY_PASSED > 0 | Restart Thread @MOB_VEG, Casino Savepoint, Garage.Activate('VECMOD'), Create @LITCAS Thread | MOB_SF(10) |
41 | Toreno | "This is a friend of yours." | $SYNDICATE_TOTAL_PASSED_MISSIONS == 10 | Create @DESERT Thread and Toreno Marker, creates Toreno Savepickup | MOB_SF(7) |
42 | Toreno | "Son, get back to the ranch and I'll explain everything." | $TORENO_TOTAL_PASSED_MISSIONS > 0 (after Monster) | Highjack Mission Marker | MOB_SF(8) |
43 | Toreno | "Here. Now. Don't screw around." | $TORENO_TOTAL_PASSED_MISSIONS > 1 (after Highjack) | Interdiction | MOB_SF(9) |