Advertisement
Guest User

re_arrest

a guest
Jun 29th, 2014
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 220.05 KB | None | 0 0
  1. /****************************************************************
  2. This file is a part of Open IV dev team GTA V research project
  3. --------------------------------------------------------------
  4. Description : decompiled script re_arrests.xsc (UP14)
  5. Copyright : (C) Alexander Blade, http://dev-c.com, 2014
  6. ****************************************************************/
  7.  
  8. void main()
  9. {
  10. l_2 = 1;
  11. l_3 = 134;
  12. l_4 = 134;
  13. l_5 = 1;
  14. l_6 = 1;
  15. l_7 = 1;
  16. l_8 = 134;
  17. l_9 = 1;
  18. l_10 = 12;
  19. l_11 = 12;
  20. l_14 = "NULL";
  21. l_15 = 0f;
  22. l_19 = -0.0375f;
  23. l_20 = 0.17f;
  24. l_21 = 3;
  25. l_24 = 80f;
  26. l_25 = 140f;
  27. l_26 = 180f;
  28. l_32 = 1;
  29. l_33 = 65;
  30. l_34 = 49;
  31. l_35 = 64;
  32. l_237 = 8000;
  33. l_240 = 8;
  34. l_242 = 1;
  35. l_250 = "S_M_Y_RANGER_01_WHITE_FULL_01";
  36. l_251 = "RANDOM@ARRESTS";
  37. l_252 = "RANDOM@ARRESTS@BUSTED";
  38. l_256 = 1;
  39. struct _s = getElemPtr(0, (&l_292) + 1, 12);
  40. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_58);
  41. if (PLAYER::0x4B37333C(11) != 0)
  42. {
  43. l_69 = 1;
  44. sub_9C35();
  45. sub_82F9();
  46. }
  47. struct _s = &l_58;
  48. if (SYSTEM::VDIST(2411.32f, 4958.76f, 45.19f, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) < 10f)
  49. {
  50. l_46 = 1;
  51. }
  52. else
  53. {
  54. l_46 = 2;
  55. }
  56. struct _s = &l_58;
  57. if (sub_6DCF(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 15, l_46, 0) != 0)
  58. {
  59. sub_6B2B(15);
  60. }
  61. else
  62. {
  63. SCRIPT::TERMINATE_THIS_THREAD();
  64. }
  65. while (true)
  66. {
  67. if (1 == 0)
  68. {
  69. return;
  70. }
  71. SYSTEM::WAIT(0);
  72. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0)
  73. {
  74. PLAYER::SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME(PLAYER::PLAYER_ID());
  75. }
  76. switch (l_41)
  77. {
  78. case 0:
  79. {
  80. var num1 = BRAIN::IS_WORLD_POINT_WITHIN_BRAIN_ACTIVATION_RANGE();
  81. var num6 = num1 & (sub_6AE1() == 0);
  82. if ((num6 & (sub_4F23() == 0)) != 0)
  83. {
  84. if (sub_4933() != 0)
  85. {
  86. l_41 = 1;
  87. }
  88. }
  89. else
  90. {
  91. sub_82F9();
  92. }
  93. break;
  94. }
  95. case 1:
  96. if (sub_4708() == 0)
  97. {
  98. if (sub_4140(200f) == 0)
  99. {
  100. sub_82F9();
  101. }
  102. break;
  103. }
  104. PATHFIND::SET_ROADS_IN_ANGLED_AREA(2551.038f, 4708.613f, 32.6775f, 2536.979f, 5022.179f, 43.8519f, 300f, 0, 1, 1);
  105. PLAYER::SET_WANTED_LEVEL_MULTIPLIER(0f);
  106. g_19513 = 1;
  107. sub_41EA(1);
  108. l_41 = 2;
  109. break;
  110. case 2:
  111. if (sub_4140(0x43480000) == 0)
  112. {
  113. sub_82F9();
  114. break;
  115. }
  116. sub_1C8();
  117. break;
  118. }
  119. }
  120. }
  121.  
  122. void sub_1C8()
  123. {
  124. bool flag2;
  125. var num3;
  126. GAMEPLAY::SET_BIT(&num3, 3);
  127. GAMEPLAY::SET_BIT(&num3, 4);
  128. var num8 = 0;
  129. sub_405E();
  130. if (PED::IS_PED_INJURED(l_48) == 0)
  131. {
  132. PED::SET_PED_RESET_FLAG(l_48, 129, 1);
  133. }
  134. if (PED::IS_PED_BEING_STUNNED(l_48, 0) != 0)
  135. {
  136. l_291 = 1;
  137. }
  138. bool flag1 = PED::IS_PED_INJURED(l_47) == 0;
  139. if (flag1)
  140. {
  141. flag2 = l_42 != 2;
  142. }
  143. if ((flag1 & (flag2 & (l_42 != 1))) && (PED::IS_PED_INJURED(l_48) == 0))
  144. {
  145. switch (l_45)
  146. {
  147. case 0:
  148. {
  149. GRAPHICS::DRAW_DEBUG_TEXT_2D("copChasesCriminal", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  150. if (((SYSTEM::TIMERA() > 10) && (l_67 == 0)) && (AI::GET_SCRIPT_TASK_STATUS(l_47, 0x4924437D) == 7))
  151. {
  152. AI::TASK_GO_TO_ENTITY(l_47, l_48, -1, 1f, 3f, 0x40000000, 0);
  153. }
  154. if (((SYSTEM::TIMERA() > 4000) && (l_67 == 0)) && (AI::GET_SCRIPT_TASK_STATUS(l_48, 0x6BA30179) == 7))
  155. {
  156. if (AI::GET_SCRIPT_TASK_STATUS(l_48, 0x87B9A382) == 1)
  157. {
  158. AI::STOP_ANIM_PLAYBACK(l_48, 2, 1);
  159. }
  160. AI::TASK_SMART_FLEE_PED(l_48, l_47, 150f, -1, 0, 0);
  161. }
  162. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 1);
  163. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  164. var num7 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
  165. bool flag3 = SYSTEM::TIMERA() > 8000;
  166. if (flag3 | (num7 < 1.5f))
  167. {
  168. num8 = sub_3FC2();
  169. if (num8 == 1)
  170. {
  171. AI::TASK_GO_TO_ENTITY(l_47, l_48, -1, 1f, 0.01f, 0x40000000, 0);
  172. }
  173. }
  174. bool flag4 = SYSTEM::TIMERA() > 30000;
  175. if (flag4 & (num7 < 10f))
  176. {
  177. num8 = 1;
  178. }
  179. if (SYSTEM::TIMERA() > 2000)
  180. {
  181. if ((num8 | (l_271 == 1)) != 0)
  182. {
  183. if (sub_3FA0() == 0)
  184. {
  185. if (sub_3A08(&l_71, "REARRAU", "REARR_PCUFF", 4, l_247, 0, 0) != 0)
  186. {
  187. }
  188. var num1 = PED::IS_PED_RAGDOLL(l_48);
  189. l_287 = num1 | AI::IS_PED_GETTING_UP(l_48);
  190. if (WEAPON::HAS_PED_GOT_WEAPON(l_47, 0x1B06D571, 0) == 0)
  191. {
  192. WEAPON::GIVE_WEAPON_TO_PED(l_47, 0x1B06D571, -1, 0, 1);
  193. }
  194. WEAPON::SET_CURRENT_PED_WEAPON(l_47, 0x1B06D571, 1);
  195. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  196. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_61);
  197. AI::CLEAR_PED_TASKS(l_47);
  198. AI::OPEN_SEQUENCE_TASK(&l_66);
  199. bool flag5 = l_287 == 0;
  200. if (flag5 & (num7 > 2f))
  201. {
  202. AI::TASK_SHOOT_AT_COORD(0, l_61, rPtr((&l_61) + 1), rPtr((&l_61) + 2) + (4f), 1000, 0x5D60E4E0);
  203. }
  204. AI::TASK_LOOK_AT_ENTITY(0, l_48, -1, 2048, 2);
  205. AI::TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(0, l_48, l_48, 1f, 0, 3f, 0x40800000, 1, 0, 0xC6EE6B4C);
  206. AI::TASK_AIM_GUN_AT_ENTITY(0, l_48, 5000, 0);
  207. AI::CLOSE_SEQUENCE_TASK(l_66);
  208. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  209. AI::CLEAR_SEQUENCE_TASK(&l_66);
  210. ENTITY::CLEAR_ENTITY_LAST_DAMAGE_ENTITY(l_47);
  211. PED::SET_PED_KEEP_TASK(l_47, 1);
  212. SYSTEM::SETTIMERA(0);
  213. l_239 = GAMEPLAY::GET_GAME_TIMER();
  214. if (l_287 != 0)
  215. {
  216. AI::CLEAR_PED_TASKS(l_48);
  217. WEAPON::SET_PED_DROPS_WEAPON(l_48);
  218. l_45 = 4;
  219. }
  220. else
  221. {
  222. l_45 = 2;
  223. }
  224. }
  225. else if (l_271 == 0)
  226. {
  227. AI::TASK_GO_TO_ENTITY(l_47, l_48, -1, 1f, 0.01f, 0x40000000, 0);
  228. l_271 = 1;
  229. }
  230. }
  231. else
  232. {
  233. sub_3908();
  234. }
  235. }
  236. else
  237. {
  238. GRAPHICS::DRAW_DEBUG_TEXT_2D("copChasesCriminal TIMERA() < 2000", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  239. }
  240. if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0)
  241. {
  242. bool flag6 = PED::IS_PED_INJURED(l_47) == 0;
  243. if ((flag6 & (ENTITY::IS_ENTITY_DEAD(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0)) == 0)) && (ENTITY::IS_ENTITY_TOUCHING_ENTITY(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), l_47) != 0))
  244. {
  245. AI::CLEAR_PED_TASKS(l_47);
  246. l_45 = 1;
  247. AI::TASK_STAND_STILL(l_47, 500);
  248. }
  249. }
  250. break;
  251. }
  252. case 1:
  253. if (AI::GET_SCRIPT_TASK_STATUS(l_47, 0xC572E06A) == 7)
  254. {
  255. AI::TASK_GO_TO_ENTITY(l_47, l_48, -1, 1f, 3f, 0x40000000, 0);
  256. l_45 = 0;
  257. }
  258. break;
  259. case 2:
  260. if ((GAMEPLAY::GET_GAME_TIMER() - l_239) > 1000)
  261. {
  262. var num4;
  263. setStruct(0f, 0f, (ENTITY::GET_ENTITY_HEADING(l_48) * 3f), 3, &num4);
  264. struct _s = &num4;
  265. AI::TASK_FOLLOW_NAV_MESH_TO_COORD(l_48, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, -1, 1f, 1024, 0x471C4000);
  266. l_45 = 3;
  267. }
  268. break;
  269. case 3:
  270. if ((GAMEPLAY::GET_GAME_TIMER() - l_239) > 4500)
  271. {
  272. l_45 = 4;
  273. }
  274. break;
  275. case 4:
  276. l_67 = 1;
  277. AI::OPEN_SEQUENCE_TASK(&l_66);
  278. AI::TASK_PLAY_ANIM(0, l_251, "idle_2_hands_up", 2f, -8f, -1, 0, 0, 0, 0, 0);
  279. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_idle", 8f, -8f, -1, 1, 0, 0, 0, 0);
  280. AI::CLOSE_SEQUENCE_TASK(l_66);
  281. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  282. AI::CLEAR_SEQUENCE_TASK(&l_66);
  283. ENTITY::CLEAR_ENTITY_LAST_DAMAGE_ENTITY(l_48);
  284. PED::SET_PED_KEEP_TASK(l_48, 1);
  285. WEAPON::REMOVE_ALL_PED_WEAPONS(l_48, 1);
  286. l_45 = 5;
  287. break;
  288. case 5:
  289. if ((l_43 == 3) && (AI::GET_SCRIPT_TASK_STATUS(l_47, 0xE763797) == 7))
  290. {
  291. AI::CLEAR_PED_TASKS(l_47);
  292. if (WEAPON::HAS_PED_GOT_WEAPON(l_47, 0x1B06D571, 0) == 0)
  293. {
  294. WEAPON::GIVE_WEAPON_TO_PED(l_47, 0x1B06D571, -1, 0, 1);
  295. }
  296. WEAPON::SET_CURRENT_PED_WEAPON(l_47, 0x1B06D571, 1);
  297. AI::OPEN_SEQUENCE_TASK(&l_66);
  298. AI::TASK_AIM_GUN_AT_ENTITY(0, l_48, -1, 0);
  299. AI::CLOSE_SEQUENCE_TASK(l_66);
  300. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  301. AI::CLEAR_SEQUENCE_TASK(&l_66);
  302. PED::SET_PED_KEEP_TASK(l_47, 1);
  303. l_45 = 6;
  304. }
  305. break;
  306. case 6:
  307. {
  308. var num13 = VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0);
  309. if ((num13 & (PED::IS_PED_INJURED(l_49) == 0)) != 0)
  310. {
  311. VEHICLE::0xA6D8D7A5(l_50, 1);
  312. if ((AI::GET_SCRIPT_TASK_STATUS(l_47, 0x87B9A382) == 7) && (AI::GET_SCRIPT_TASK_STATUS(l_49, 0xB41F1A34) == 7))
  313. {
  314. if (VEHICLE::0xAB0E79EB(l_48, l_50, 2, 0, 0) != 0)
  315. {
  316. if (((PED::IS_PED_INJURED(l_48) == 0) && (PED::IS_PED_SITTING_IN_VEHICLE(l_48, l_50) == 0)) && ((PED::IS_PED_IN_COMBAT(l_48, 0) == 0) && (AI::GET_SCRIPT_TASK_STATUS(l_48, 0x950B6492) == 7)))
  317. {
  318. AI::OPEN_SEQUENCE_TASK(&l_66);
  319. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_get_up", 8f, -2f, -1, 0, 0, 0, 0, 0);
  320. AI::CLOSE_SEQUENCE_TASK(l_66);
  321. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  322. AI::CLEAR_SEQUENCE_TASK(&l_66);
  323. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(0, l_65, l_64);
  324. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(0, l_64, l_65);
  325. }
  326. if (PED::IS_PED_INJURED(l_47) == 0)
  327. {
  328. PED::0x59C52BE6(l_47);
  329. if (((PED::IS_PED_IN_COMBAT(l_47, 0) == 0) && (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)) && ((sub_3FA0() == 0) && (sub_3A08(&l_71, "REARRAU", "REARR_INCAR", 4, l_247, 0, 0) != 0)))
  330. {
  331. if (sub_387B(l_47, l_50) == 2)
  332. {
  333. if (PED::IS_PED_FACING_PED(l_49, l_48, 180f) != 0)
  334. {
  335. setStruct(2.978f, -0.75f, 1f, 3, &l_288);
  336. }
  337. else
  338. {
  339. setStruct(2.978f, 0.75f, 1f, 3, &l_288);
  340. }
  341. }
  342. else if (PED::IS_PED_FACING_PED(l_49, l_48, 180f) != 0)
  343. {
  344. setStruct(-2.978f, -0.75f, 1f, 3, &l_288);
  345. }
  346. else
  347. {
  348. setStruct(-2.978f, 0.75f, 1f, 3, &l_288);
  349. }
  350. AI::OPEN_SEQUENCE_TASK(&l_66);
  351. struct _s = &l_288;
  352. struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(l_50, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
  353. AI::TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), l_48, 0.75f, 0, 0.5f, 4f, 1, 0, 0, 0xC6EE6B4C, 60000);
  354. AI::TASK_AIM_GUN_AT_ENTITY(0, l_48, -1, 0);
  355. AI::CLOSE_SEQUENCE_TASK(l_66);
  356. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  357. AI::CLEAR_SEQUENCE_TASK(&l_66);
  358. PED::SET_PED_KEEP_TASK(l_47, 1);
  359. VEHICLE::SET_VEHICLE_SIREN(l_50, 0);
  360. l_237 = 8000;
  361. SYSTEM::SETTIMERB(0);
  362. l_270 = GAMEPLAY::GET_GAME_TIMER();
  363. l_45 = 7;
  364. }
  365. }
  366. }
  367. else
  368. {
  369. sub_36F2();
  370. }
  371. }
  372. }
  373. break;
  374. }
  375. case 7:
  376. if (PED::IS_PED_INJURED(l_47) == 0)
  377. {
  378. if (((ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 35f, 35f, 35f, 0, 1, 0) != 0) && ((GAMEPLAY::GET_GAME_TIMER() - l_270) > 8000)) && (sub_3FA0() == 0))
  379. {
  380. AI::TASK_LOOK_AT_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 6000, 2048, 2);
  381. sub_3A08(&l_71, "REARRAU", "REARR_PLEAVE", 4, l_247, 0, 0);
  382. l_237 = 8000;
  383. l_270 = GAMEPLAY::GET_GAME_TIMER();
  384. }
  385. if (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)
  386. {
  387. if (l_57 != 0)
  388. {
  389. if (sub_387B(l_47, l_50) == 2)
  390. {
  391. AI::TASK_ENTER_VEHICLE(l_48, l_50, -1, 2, 1f, 1, 0);
  392. }
  393. else
  394. {
  395. AI::TASK_ENTER_VEHICLE(l_48, l_50, -1, 1, 1f, 1, 0);
  396. }
  397. l_45 = 8;
  398. }
  399. else if (l_56 != 0)
  400. {
  401. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  402. struct _s = ENTITY::GET_ENTITY_COORDS(l_50, 1);
  403. var num9 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
  404. bool flag7 = num9 < 4f;
  405. if (flag7 & (l_278 == 0))
  406. {
  407. AI::TASK_GOTO_ENTITY_OFFSET_XY(l_48, l_50, 60000, 0.5f, l_288, rPtr((&l_288) + 1), 1f, 1);
  408. l_278 = 1;
  409. }
  410. else if (num9 < 3f)
  411. {
  412. AI::CLEAR_PED_TASKS(l_48);
  413. l_57 = 1;
  414. }
  415. }
  416. else if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_251, "kneeling_arrest_get_up", 3) == 0)
  417. {
  418. if (sub_387B(l_47, l_50) == 2)
  419. {
  420. setStruct(1.578f, -0.5f, 1f, 3, &l_288);
  421. }
  422. else
  423. {
  424. setStruct(-1.578f, -0.5f, 1f, 3, &l_288);
  425. }
  426. AI::TASK_GOTO_ENTITY_OFFSET_XY(l_48, l_50, 60000, 0.5f, l_288, rPtr((&l_288) + 1), 1f, 1);
  427. if (l_291 != 0)
  428. {
  429. PED::SET_PED_MOVEMENT_CLIPSET(l_48, "MOVE_M@BAIL_BOND_TAZERED", 0x3E800000);
  430. }
  431. else
  432. {
  433. PED::SET_PED_MOVEMENT_CLIPSET(l_48, "MOVE_M@BAIL_BOND_NOT_TAZERED", 0x3E800000);
  434. }
  435. l_56 = 1;
  436. }
  437. }
  438. }
  439. break;
  440. case 8:
  441. if (((VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0) && (PED::IS_PED_INJURED(l_49) == 0)) && (PED::IS_PED_SITTING_IN_VEHICLE(l_48, l_50) != 0))
  442. {
  443. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  444. {
  445. UI::REMOVE_BLIP(&l_51);
  446. }
  447. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  448. {
  449. UI::REMOVE_BLIP(&l_52);
  450. }
  451. if (PED::IS_PED_SITTING_IN_VEHICLE(l_47, l_50) != 0)
  452. {
  453. AI::TASK_VEHICLE_DRIVE_WANDER(l_49, l_50, 10f, 0xC00AB);
  454. PED::SET_PED_KEEP_TASK(l_49, 1);
  455. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_47, 0);
  456. sub_82F9();
  457. }
  458. else if (AI::GET_SCRIPT_TASK_STATUS(l_47, 0x950B6492) == 7)
  459. {
  460. AI::CLEAR_PED_TASKS(l_47);
  461. AI::TASK_ENTER_VEHICLE(l_47, l_50, 20000, 0, 1f, 1, 0);
  462. PED::SET_PED_KEEP_TASK(l_47, 1);
  463. }
  464. }
  465. break;
  466. }
  467. }
  468. sub_2C20();
  469. if (PED::IS_PED_INJURED(l_48) != 0)
  470. {
  471. }
  472. if ((PED::IS_PED_INJURED(l_47) != 0) && (PED::IS_PED_INJURED(l_48) == 0))
  473. {
  474. if (l_42 == 2)
  475. {
  476. sub_171B();
  477. }
  478. else
  479. {
  480. bool flag8 = l_42 == 1;
  481. if ((flag8 | (l_42 == 3)) && (sub_3FA0() == 0))
  482. {
  483. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  484. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  485. if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) < 20f)
  486. {
  487. sub_3A08(&l_71, "REARRAU", l_267, 4, l_247, 0, 0);
  488. }
  489. }
  490. if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_251, "kneeling_arrest_idle", 3) != 0)
  491. {
  492. AI::OPEN_SEQUENCE_TASK(&l_66);
  493. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_get_up", 2f, -2f, -1, 0, 0, 0, 0, 0);
  494. AI::CLEAR_PED_TASKS(0);
  495. AI::TASK_SMART_FLEE_PED(0, PLAYER::PLAYER_PED_ID(), 150f, -1, 0, 0);
  496. PED::SET_PED_KEEP_TASK(0, 1);
  497. AI::CLOSE_SEQUENCE_TASK(l_66);
  498. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  499. AI::CLEAR_SEQUENCE_TASK(&l_66);
  500. }
  501. else
  502. {
  503. AI::TASK_SMART_FLEE_PED(l_48, PLAYER::PLAYER_PED_ID(), 150f, -1, 0, 0);
  504. PED::SET_PED_KEEP_TASK(l_48, 1);
  505. }
  506. SYSTEM::WAIT(0);
  507. if (l_42 == 0)
  508. {
  509. l_42 = 2;
  510. }
  511. sub_82F9();
  512. }
  513. }
  514. if (((PED::IS_PED_INJURED(l_48) != 0) && (l_54 == 0)) && (sub_1577() != 0))
  515. {
  516. sub_C75(0);
  517. }
  518. bool flag9 = l_45 == 5;
  519. if ((flag9 | (l_45 == 6)) && (l_54 == 0))
  520. {
  521. if (l_42 == 3)
  522. {
  523. if (sub_1577() != 0)
  524. {
  525. sub_C75(0);
  526. }
  527. }
  528. else
  529. {
  530. sub_C75(1);
  531. }
  532. }
  533. sub_BDD();
  534. }
  535.  
  536. void sub_BDD()
  537. {
  538. var num4;
  539. setStruct(40f, 40f, 20f, 3, &num4);
  540. if (GAMEPLAY::GET_GAME_TIMER() > (l_248 + 1000))
  541. {
  542. var num3;
  543. if (PED::IS_PED_INJURED(l_47) == 0)
  544. {
  545. struct _s = &num4;
  546. if (ENTITY::IS_ENTITY_AT_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0, 1, 0) == 0)
  547. {
  548. num3++;
  549. }
  550. }
  551. else
  552. {
  553. num3++;
  554. }
  555. if (PED::IS_PED_INJURED(l_48) == 0)
  556. {
  557. struct _s = &num4;
  558. if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0, 1, 0) == 0)
  559. {
  560. num3++;
  561. }
  562. }
  563. else
  564. {
  565. num3++;
  566. }
  567. if (num3 == 2)
  568. {
  569. l_247 = 1;
  570. }
  571. else
  572. {
  573. l_247 = 0;
  574. }
  575. l_248 = GAMEPLAY::GET_GAME_TIMER();
  576. }
  577. }
  578.  
  579. void sub_C75(var A_0)
  580. {
  581. var num3;
  582. var num4;
  583. var num5;
  584. if (A_0 != null)
  585. {
  586. num3 = "radio_enter";
  587. num4 = "radio_chatter";
  588. num5 = "radio_exit";
  589. }
  590. else
  591. {
  592. num3 = "generic_radio_enter";
  593. num4 = "generic_radio_chatter";
  594. num5 = "generic_radio_exit";
  595. }
  596. if (PED::IS_PED_INJURED(l_47) == 0)
  597. {
  598. switch (l_43)
  599. {
  600. case 0:
  601. {
  602. bool flag1 = l_236 == 3;
  603. bool flag2 = flag1 | (l_45 == 5);
  604. if ((flag2 | (l_45 == 6)) && (sub_3FA0() == 0))
  605. {
  606. AI::CLEAR_PED_TASKS(l_47);
  607. AI::OPEN_SEQUENCE_TASK(&l_66);
  608. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 0);
  609. AI::TASK_LOOK_AT_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 10000, 0, 2);
  610. AI::TASK_PLAY_ANIM(0, l_251, num3, 8f, -4f, -1, 0, 0, 0, 0, 0);
  611. AI::TASK_PLAY_ANIM(0, l_251, num4, 16f, -8f, -1, 1, 0, 0, 0, 0);
  612. AI::CLOSE_SEQUENCE_TASK(l_66);
  613. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  614. AI::CLEAR_SEQUENCE_TASK(&l_66);
  615. l_43 = 1;
  616. }
  617. break;
  618. }
  619. case 1:
  620. if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_47, l_251, num4, 3) != 0)
  621. {
  622. if (PED::IS_PED_INJURED(l_48) != 0)
  623. {
  624. if (((sub_13BB() != 0) && (sub_3FA0() == 0)) && (sub_3A08(&l_71, "REARRAU", "REARR_PRAD2", 4, l_247, 0, 0) != 0))
  625. {
  626. l_43 = 2;
  627. }
  628. break;
  629. }
  630. if ((sub_3FA0() == 0) && (sub_3A08(&l_71, "REARRAU", "REARR_PRAD1", 4, l_247, 0, 0) != 0))
  631. {
  632. l_43 = 2;
  633. }
  634. }
  635. break;
  636. case 2:
  637. if ((sub_3FA0() == 0) && (sub_13BB() != 0))
  638. {
  639. if (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)
  640. {
  641. VEHICLE::DISABLE_VEHICLE_IMPACT_EXPLOSION_ACTIVATION(l_50, 0);
  642. VEHICLE::SET_VEHICLE_SIREN(l_50, 1);
  643. }
  644. AI::CLEAR_PED_TASKS(l_47);
  645. AI::OPEN_SEQUENCE_TASK(&l_66);
  646. AI::TASK_PLAY_ANIM(0, l_251, num5, 8f, -1.5f, -1, 0, 0, 0, 0, 0);
  647. AI::CLOSE_SEQUENCE_TASK(l_66);
  648. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  649. AI::CLEAR_SEQUENCE_TASK(&l_66);
  650. PED::0x187B9070(l_47, 0, 0);
  651. sub_137F();
  652. l_43 = 3;
  653. }
  654. break;
  655. case 3:
  656. {
  657. if (l_67 == 0)
  658. {
  659. sub_1262();
  660. }
  661. var num1 = ENTITY::DOES_ENTITY_EXIST(l_48);
  662. if ((((num1 | (ENTITY::IS_ENTITY_DEAD(l_48) == 0)) != 0) && (ENTITY::IS_ENTITY_TOUCHING_ENTITY(PLAYER::PLAYER_PED_ID(), l_48) != 0)) && (sub_3FA0() == 0))
  663. {
  664. sub_3A08(&l_71, "REARRAU", "REARR_PWTF", 4, l_247, 0, 0);
  665. }
  666. if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 35f, 35f, 35f, 0, 1, 0) != 0)
  667. {
  668. PED::SET_IK_TARGET(l_47, 1, PLAYER::PLAYER_PED_ID(), 31086, 0f, 0f, 0f, 0, -1, -1);
  669. PED::SET_IK_TARGET(PLAYER::PLAYER_PED_ID(), 1, l_47, 31086, 0f, 0f, 0f, 0, -1, -1);
  670. bool flag3 = SYSTEM::TIMERB() > l_237;
  671. if (flag3 | l_255)
  672. {
  673. bool flag4 = l_42 == 3;
  674. if (flag4 | (l_42 == 0))
  675. {
  676. if (PED::IS_PED_INJURED(l_48) == 0)
  677. {
  678. bool flag5 = l_237 == 8000;
  679. if (flag5 | l_255)
  680. {
  681. if (l_254 != 0)
  682. {
  683. sub_1195();
  684. }
  685. else
  686. {
  687. sub_103D();
  688. }
  689. }
  690. else if (sub_3FA0() == 0)
  691. {
  692. AI::TASK_LOOK_AT_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 500, 2048, 2);
  693. sub_3A08(&l_71, "REARRAU", "REARR_PLEAVE", 4, l_247, 0, 0);
  694. l_237 = 8000;
  695. }
  696. }
  697. else if (l_237 == 8000)
  698. {
  699. if (sub_3FA0() == 0)
  700. {
  701. sub_3A08(&l_71, "REARRAU", "REARR_PRA2", 4, l_247, 0, 0);
  702. l_237 = 20000;
  703. }
  704. }
  705. else if (sub_3FA0() == 0)
  706. {
  707. sub_3A08(&l_71, "REARRAU", "REARR_PRA2", 4, l_247, 0, 0);
  708. l_237 = 8000;
  709. }
  710. SYSTEM::SETTIMERB(0);
  711. }
  712. else
  713. {
  714. if (PED::IS_PED_INJURED(l_48) != 0)
  715. {
  716. if (sub_3FA0() == 0)
  717. {
  718. sub_3A08(&l_71, "REARRAU", "REARR_PRA2", 4, l_247, 0, 0);
  719. l_237 = 30000;
  720. }
  721. }
  722. else if (sub_3FA0() == 0)
  723. {
  724. AI::TASK_LOOK_AT_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 6000, 2048, 2);
  725. sub_3A08(&l_71, "REARRAU", "REARR_PLEAVE", 4, l_247, 0, 0);
  726. l_237 = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(8, 22);
  727. l_237 *= 30000;
  728. }
  729. SYSTEM::SETTIMERB(0);
  730. }
  731. }
  732. }
  733. if (l_45 != 8)
  734. {
  735. if (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)
  736. {
  737. if ((PED::IS_PED_INJURED(l_48) == 0) && (PED::IS_PED_IN_VEHICLE(l_48, l_50, 0) == 0))
  738. {
  739. sub_36F2();
  740. }
  741. }
  742. else
  743. {
  744. sub_36F2();
  745. }
  746. }
  747. break;
  748. }
  749. }
  750. }
  751. }
  752.  
  753. void sub_103D()
  754. {
  755. if (l_255 != 0)
  756. {
  757. if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_252, "enter", 3) != 0)
  758. {
  759. if (sub_1174() != 0)
  760. {
  761. sub_3A08(&l_71, "REARRAU", "REARR_PRAND", 4, l_247, 0, 0);
  762. }
  763. }
  764. else if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_252, "exit", 3) == 0)
  765. {
  766. if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_252, l_253, 3) != 0)
  767. {
  768. sub_3A08(&l_71, "REARRAU", l_265, 4, l_247, 0, 0);
  769. }
  770. else
  771. {
  772. sub_137F();
  773. }
  774. }
  775. }
  776. else
  777. {
  778. switch (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 3))
  779. {
  780. case 0:
  781. l_253 = "idle_a";
  782. break;
  783. case 1:
  784. l_253 = "idle_b";
  785. break;
  786. case 2:
  787. l_253 = "idle_c";
  788. break;
  789. }
  790. AI::OPEN_SEQUENCE_TASK(&l_66);
  791. AI::TASK_PLAY_ANIM(0, l_252, "enter", 8f, -4f, -1, 0, 0, 0, 0, 0);
  792. AI::TASK_PLAY_ANIM(0, l_252, l_253, 8f, -4f, -1, 0, 0, 0, 0, 0);
  793. AI::TASK_PLAY_ANIM(0, l_252, "exit", 8f, -4f, -1, 0, 0, 0, 0, 0);
  794. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_idle", 8f, -8f, -1, 9, 0, 0, 0, 0);
  795. AI::CLOSE_SEQUENCE_TASK(l_66);
  796. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  797. AI::CLEAR_SEQUENCE_TASK(&l_66);
  798. l_255 = 1;
  799. }
  800. }
  801.  
  802. var sub_1174()
  803. {
  804. if (GAMEPLAY::GET_GAME_TIMER() > (l_257 + 6000))
  805. {
  806. l_257 = GAMEPLAY::GET_GAME_TIMER();
  807. return 1;
  808. }
  809. return 0;
  810. }
  811.  
  812. void sub_1195()
  813. {
  814. if (l_255 == 0)
  815. {
  816. AI::OPEN_SEQUENCE_TASK(&l_66);
  817. AI::TASK_PLAY_ANIM(0, l_251, "radio_enter", 8f, -4f, -1, 0, 0, 0, 0, 0);
  818. AI::TASK_PLAY_ANIM(0, l_251, "radio_chatter", 8f, -4f, -1, 0, 0, 0, 0, 0);
  819. AI::TASK_PLAY_ANIM(0, l_251, "radio_exit", 8f, -1.5f, -1, 0, 0, 0, 0, 0);
  820. AI::TASK_AIM_GUN_AT_ENTITY(0, l_48, -1, 0);
  821. AI::CLOSE_SEQUENCE_TASK(l_66);
  822. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  823. AI::CLEAR_SEQUENCE_TASK(&l_66);
  824. l_255 = 1;
  825. }
  826. else if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_47, l_251, "radio_chatter", 3) != 0)
  827. {
  828. if (sub_1174() != 0)
  829. {
  830. sub_3A08(&l_71, "REARRAU", "REARR_PRAD3", 4, l_247, 0, 0);
  831. }
  832. }
  833. else if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_47, l_251, "radio_exit", 3) != 0)
  834. {
  835. l_256 = 0;
  836. sub_137F();
  837. }
  838. }
  839.  
  840. void sub_1262()
  841. {
  842. switch (l_44)
  843. {
  844. case 0:
  845. if (l_67 != 0)
  846. {
  847. return;
  848. }
  849. if (l_42 != 3)
  850. {
  851. if (l_42 == 0)
  852. {
  853. l_44 = 1;
  854. }
  855. break;
  856. }
  857. l_44 = 1;
  858. break;
  859. case 1:
  860. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  861. {
  862. UI::REMOVE_BLIP(&l_51);
  863. }
  864. l_44 = 2;
  865. l_237 = 8000;
  866. l_284 = GAMEPLAY::GET_GAME_TIMER();
  867. return;
  868. case 2:
  869. if (((VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0) && ((GAMEPLAY::GET_GAME_TIMER() - l_284) > 20000)) && ((PED::IS_PED_INJURED(l_49) == 0) && (AI::GET_SCRIPT_TASK_STATUS(l_49, 0xB41F1A34) == 7)))
  870. {
  871. AI::TASK_ENTER_VEHICLE(l_47, l_50, -1, 0, 1f, 1, 0);
  872. l_44 = 3;
  873. }
  874. return;
  875. case 3:
  876. if (((VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0) && (PED::IS_PED_INJURED(l_49) == 0)) && (PED::IS_PED_SITTING_IN_VEHICLE(l_47, l_50) != 0))
  877. {
  878. AI::TASK_VEHICLE_DRIVE_WANDER(l_49, l_50, 10f, 0xC00AB);
  879. PED::SET_PED_KEEP_TASK(l_49, 1);
  880. sub_82F9();
  881. }
  882. return;
  883. default:
  884. return;
  885. }
  886. ENTITY::IS_ENTITY_DEAD(l_47);
  887. ENTITY::IS_ENTITY_DEAD(l_48);
  888. var num1 = ENTITY::DOES_ENTITY_EXIST(l_47);
  889. if ((num1 & ENTITY::DOES_ENTITY_EXIST(l_48)) != 0)
  890. {
  891. AI::TASK_GOTO_ENTITY_OFFSET_XY(l_47, l_48, -1, 3f, 0f, 0f, 1f, 0);
  892. }
  893. SYSTEM::SETTIMERB(0);
  894. }
  895.  
  896. void sub_137F()
  897. {
  898. l_254 = sub_139A();
  899. l_254 = l_256;
  900. l_237 = 20000;
  901. l_255 = 0;
  902. }
  903.  
  904. var sub_139A()
  905. {
  906. if (GAMEPLAY::IS_BIT_SET(GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 0xFFFF), 0) != 0)
  907. {
  908. return 1;
  909. }
  910. return 0;
  911. }
  912.  
  913. var sub_13BB()
  914. {
  915. var num15 = 0x2C33B46E;
  916. if (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)
  917. {
  918. return 1;
  919. }
  920. STREAMING::REQUEST_MODEL(num15);
  921. if (STREAMING::HAS_MODEL_LOADED(num15) != 0)
  922. {
  923. var num3;
  924. var num9;
  925. var num12;
  926. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  927. if ((PATHFIND::GET_NTH_CLOSEST_VEHICLE_NODE(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1, &num3, 1, 0x40400000, 0) != 0) && (VEHICLE::0x34E02FCD(&num3, &num9, &num12, 0f, 180f, 50f, 1, 1, 1) != 0))
  928. {
  929. var num6;
  930. struct _s = &num9;
  931. l_50 = VEHICLE::CREATE_VEHICLE(num15, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0, 1, 1);
  932. l_49 = PED::CREATE_PED_INSIDE_VEHICLE(l_50, 6, 0xEF7135AE, -1, 1, 1);
  933. PED::SET_PED_CONFIG_FLAG(l_49, 294, 1);
  934. if (WEAPON::HAS_PED_GOT_WEAPON(l_49, 0x1B06D571, 0) == 0)
  935. {
  936. WEAPON::GIVE_WEAPON_TO_PED(l_49, 0x1B06D571, -1, 0, 1);
  937. }
  938. WEAPON::SET_CURRENT_PED_WEAPON(l_49, 0x1B06D571, 1);
  939. PED::SET_PED_RELATIONSHIP_GROUP_HASH(l_49, l_64);
  940. VEHICLE::SET_VEHICLE_DOORS_LOCKED(l_50, 3);
  941. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_49, 1);
  942. VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(l_50);
  943. VEHICLE::0x95A9ACCB(l_50, 1);
  944. VEHICLE::0xCBD98BA1(l_50, 1);
  945. struct _s = ENTITY::GET_ENTITY_COORDS(l_50, 1);
  946. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
  947. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  948. struct _s = &num3;
  949. struct _s = vsub(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
  950. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
  951. ENTITY::SET_ENTITY_HEADING(l_50, GAMEPLAY::GET_HEADING_FROM_VECTOR_2D(num6, rPtr((&num6) + 1)));
  952. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  953. PATHFIND::GET_NTH_CLOSEST_VEHICLE_NODE(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1, &num3, 1, 0x40400000, 0);
  954. struct _s = &num3;
  955. if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2528.563f, 2639.115f, 36.9446f, 1) < 75f)
  956. {
  957. setStruct(2473.601f, 2496.765f, 40.87f, 3, &num3);
  958. }
  959. struct _s = &num3;
  960. if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(2538.71f, 2592.007f, 36.9446f, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) < 16f)
  961. {
  962. setStruct(2473.601f, 2496.765f, 40.87f, 3, &num3);
  963. }
  964. struct _s = &num3;
  965. AI::TASK_VEHICLE_MISSION_COORS_TARGET(l_49, l_50, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 4, 7f, 0xC0027, 5f, -1f, 1);
  966. VEHICLE::SET_VEHICLE_FORWARD_SPEED(l_50, 4f);
  967. VEHICLE::SET_VEHICLE_SIREN(l_50, 1);
  968. l_70 = 1;
  969. VEHICLE::SET_RANDOM_TRAINS(0);
  970. return 1;
  971. }
  972. }
  973. return 0;
  974. }
  975.  
  976. var sub_1577()
  977. {
  978. if (l_42 != 3)
  979. {
  980. l_236 = 3;
  981. }
  982. switch (l_236)
  983. {
  984. case 0:
  985. {
  986. bool flag1 = AI::GET_SCRIPT_TASK_STATUS(l_47, 0xE763797) == 7;
  987. if (flag1 | (GAMEPLAY::GET_GAME_TIMER() > (l_239 + 15000)))
  988. {
  989. if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 25f, 25f, 25f, 0, 1, 0) == 0)
  990. {
  991. l_236 = 3;
  992. }
  993. else if (PED::IS_PED_INJURED(l_47) == 0)
  994. {
  995. AI::CLEAR_PED_TASKS(l_47);
  996. AI::OPEN_SEQUENCE_TASK(&l_66);
  997. if (ENTITY::IS_ENTITY_DEAD(l_48) == 0)
  998. {
  999. AI::TASK_GO_TO_ENTITY(0, l_48, -1, 3.5f, 2f, 0x40000000, 0);
  1000. }
  1001. AI::TASK_TURN_PED_TO_FACE_ENTITY(0, PLAYER::PLAYER_PED_ID(), 2000);
  1002. AI::CLOSE_SEQUENCE_TASK(l_66);
  1003. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  1004. AI::CLEAR_SEQUENCE_TASK(&l_66);
  1005. l_236 = 1;
  1006. }
  1007. }
  1008. goto Label_0316;
  1009. }
  1010. case 1:
  1011. if (AI::GET_SCRIPT_TASK_STATUS(l_47, 0xE763797) != 1)
  1012. {
  1013. if (sub_3FA0() == 0)
  1014. {
  1015. if (l_238 < 2)
  1016. {
  1017. sub_3A08(&l_71, "REARRAU", "REARR_PTHANK", 4, l_247, 0, 0);
  1018. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  1019. {
  1020. UI::SET_BLIP_AS_FRIENDLY(l_51, 1);
  1021. }
  1022. }
  1023. else
  1024. {
  1025. sub_3A08(&l_71, "REARRAU", "REARR_PHELP", 4, l_247, 0, 0);
  1026. }
  1027. l_236 = 2;
  1028. }
  1029. goto Label_0316;
  1030. }
  1031. if ((AI::GET_SEQUENCE_PROGRESS(l_47) <= 0) || (sub_3FA0() != 0))
  1032. {
  1033. goto Label_0316;
  1034. }
  1035. if (l_238 >= 2)
  1036. {
  1037. sub_3A08(&l_71, "REARRAU", "REARR_PHELP", 4, l_247, 0, 0);
  1038. break;
  1039. }
  1040. sub_3A08(&l_71, "REARRAU", "REARR_PTHANK", 4, l_247, 0, 0);
  1041. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  1042. {
  1043. UI::SET_BLIP_AS_FRIENDLY(l_51, 1);
  1044. }
  1045. break;
  1046. case 2:
  1047. if (sub_3FA0() == 0)
  1048. {
  1049. l_236 = 3;
  1050. }
  1051. AI::TASK_TURN_PED_TO_FACE_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 100);
  1052. goto Label_0316;
  1053. case 3:
  1054. return 1;
  1055. default:
  1056. goto Label_0316;
  1057. }
  1058. l_236 = 2;
  1059. Label_0316:
  1060. return 0;
  1061. }
  1062.  
  1063. void sub_171B()
  1064. {
  1065. var num3 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 1);
  1066. var num4 = sub_2B22();
  1067. if (PED::IS_PED_INJURED(l_48) == 0)
  1068. {
  1069. if (num3 != 0)
  1070. {
  1071. sub_1C5E();
  1072. AI::TASK_SMART_FLEE_PED(l_48, PLAYER::PLAYER_PED_ID(), 150f, -1, 0, 0);
  1073. if (num3 == 1)
  1074. {
  1075. l_42 = 1;
  1076. }
  1077. if (sub_3FA0() == 0)
  1078. {
  1079. sub_3A08(&l_71, "REARRAU", l_263, 4, l_247, 0, 0);
  1080. }
  1081. sub_82F9();
  1082. }
  1083. else if (num4 != 0)
  1084. {
  1085. if (sub_3FA0() == 0)
  1086. {
  1087. sub_3A08(&l_71, "REARRAU", l_266, 4, l_247, 0, 0);
  1088. }
  1089. AI::TASK_SMART_FLEE_PED(l_48, PLAYER::PLAYER_PED_ID(), 150f, -1, 0, 0);
  1090. sub_82F9();
  1091. }
  1092. else
  1093. {
  1094. bool flag1 = l_42 == 2;
  1095. if (flag1 | (l_67 == 1))
  1096. {
  1097. switch (l_240)
  1098. {
  1099. case 8:
  1100. {
  1101. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 8", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1102. UI::SET_BLIP_AS_FRIENDLY(l_52, 1);
  1103. bool flag2 = ENTITY::IS_ENTITY_DEAD(l_48) == 0;
  1104. if (flag2 & ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_251, "kneeling_arrest_idle", 3))
  1105. {
  1106. AI::OPEN_SEQUENCE_TASK(&l_66);
  1107. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_get_up", 8f, -8f, -1, 0, 0, 0, 0, 0);
  1108. AI::CLEAR_PED_TASKS(0);
  1109. AI::CLOSE_SEQUENCE_TASK(l_66);
  1110. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  1111. AI::CLEAR_SEQUENCE_TASK(&l_66);
  1112. l_240 = 9;
  1113. }
  1114. else
  1115. {
  1116. l_240 = 3;
  1117. }
  1118. break;
  1119. }
  1120. case 9:
  1121. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 9", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1122. if (AI::GET_SCRIPT_TASK_STATUS(l_48, 0xE763797) == 7)
  1123. {
  1124. l_240 = 0;
  1125. }
  1126. break;
  1127. case 0:
  1128. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 0", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1129. if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 75f, 75f, 75f, 0, 1, 0) != 0)
  1130. {
  1131. AUDIO::STOP_PED_SPEAKING(l_48, 1);
  1132. l_240 = 3;
  1133. }
  1134. break;
  1135. case 1:
  1136. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 1", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1137. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  1138. if (ENTITY::IS_ENTITY_AT_COORD(l_48, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 4f, 4f, 3f, 0, 1, 0) != 0)
  1139. {
  1140. l_240 = 2;
  1141. }
  1142. else
  1143. {
  1144. AI::CLEAR_PED_TASKS(l_48);
  1145. AI::OPEN_SEQUENCE_TASK(&l_66);
  1146. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  1147. AI::TASK_LOOK_AT_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1000, 0, 2);
  1148. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  1149. AI::TASK_FOLLOW_NAV_MESH_TO_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, -1, 3f, 0, 0x471C4000);
  1150. AI::CLOSE_SEQUENCE_TASK(l_66);
  1151. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  1152. AI::CLEAR_SEQUENCE_TASK(&l_66);
  1153. l_240 = 2;
  1154. }
  1155. break;
  1156. case 2:
  1157. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 2", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1158. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  1159. if (ENTITY::IS_ENTITY_AT_COORD(l_48, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 4f, 4f, 3f, 0, 1, 0) != 0)
  1160. {
  1161. bool flag3 = AI::GET_SCRIPT_TASK_STATUS(l_48, 0xE763797) == 7;
  1162. if (flag3 | sub_3A08(&l_71, "REARRAU", l_264, 4, l_247, 0, 0))
  1163. {
  1164. l_240 = 6;
  1165. }
  1166. }
  1167. else if (AI::GET_SCRIPT_TASK_STATUS(l_48, 0xE763797) == 7)
  1168. {
  1169. AI::OPEN_SEQUENCE_TASK(&l_66);
  1170. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  1171. AI::TASK_LOOK_AT_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1000, 0, 2);
  1172. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 0);
  1173. AI::TASK_FOLLOW_NAV_MESH_TO_COORD(0, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, -1, 3f, 0, 0x471C4000);
  1174. AI::CLOSE_SEQUENCE_TASK(l_66);
  1175. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  1176. AI::CLEAR_SEQUENCE_TASK(&l_66);
  1177. }
  1178. break;
  1179. case 3:
  1180. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 3", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1181. if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 5f, 5f, 3f, 0, 1, 0) != 0)
  1182. {
  1183. l_240 = 4;
  1184. }
  1185. else if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 75f, 75f, 75f, 0, 1, 0) != 0)
  1186. {
  1187. if (sub_3FA0() == 0)
  1188. {
  1189. AI::CLEAR_PED_TASKS(l_48);
  1190. AI::OPEN_SEQUENCE_TASK(&l_66);
  1191. AI::TASK_GO_TO_ENTITY(0, PLAYER::PLAYER_PED_ID(), -1, 8f, 0x40000000, 0x40000000, 0);
  1192. AI::CLOSE_SEQUENCE_TASK(l_66);
  1193. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  1194. AI::CLEAR_SEQUENCE_TASK(&l_66);
  1195. l_240 = 4;
  1196. }
  1197. }
  1198. else
  1199. {
  1200. l_240 = 6;
  1201. }
  1202. break;
  1203. case 4:
  1204. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 4", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1205. if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 9f, 9f, 9f, 0, 1, 0) != 0)
  1206. {
  1207. l_285 = GAMEPLAY::GET_GAME_TIMER();
  1208. l_240 = 7;
  1209. }
  1210. break;
  1211. case 7:
  1212. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 7", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1213. if (PED::IS_PED_HEADTRACKING_PED(l_48, PLAYER::PLAYER_PED_ID()) == 0)
  1214. {
  1215. AI::TASK_LOOK_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), -1, 2064, 2);
  1216. }
  1217. if (PED::IS_PED_FACING_PED(l_48, PLAYER::PLAYER_PED_ID(), 30f) == 0)
  1218. {
  1219. AI::TASK_TURN_PED_TO_FACE_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), -1);
  1220. }
  1221. if ((GAMEPLAY::GET_GAME_TIMER() - l_285) > 2000)
  1222. {
  1223. l_240 = 5;
  1224. }
  1225. break;
  1226. case 5:
  1227. {
  1228. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 5", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1229. var num1 = ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_251, "Thanks_Male_05", 3);
  1230. if (((num1 | (AI::GET_SCRIPT_TASK_STATUS(l_48, 0xE763797) == 7)) != 0) && (sub_3FA0() == 0))
  1231. {
  1232. if (l_238 < 2)
  1233. {
  1234. sub_3A08(&l_71, "REARRAU", l_259, 4, l_247, 0, 0);
  1235. AI::TASK_PLAY_ANIM(l_48, l_251, "Thanks_Male_05", 16f, -16f, -1, 16, 0, 0, 0, 0);
  1236. }
  1237. else
  1238. {
  1239. sub_3A08(&l_71, "REARRAU", l_263, 4, l_247, 0, 0);
  1240. }
  1241. sub_1C92(sub_29C1(), 1, 250, 0, 0);
  1242. AI::TASK_CLEAR_LOOK_AT(l_48);
  1243. l_240 = 6;
  1244. }
  1245. break;
  1246. }
  1247. case 6:
  1248. GRAPHICS::DRAW_DEBUG_TEXT_2D("criminal_thanks 6", 0.02f, 0.1f, 0f, 0, 0, 255, 255);
  1249. if (sub_3FA0() == 0)
  1250. {
  1251. AI::TASK_SMART_FLEE_PED(l_48, PLAYER::PLAYER_PED_ID(), 150f, -1, 0, 0);
  1252. sub_82F9();
  1253. }
  1254. break;
  1255. }
  1256. }
  1257. }
  1258. }
  1259. }
  1260.  
  1261. void sub_1C5E()
  1262. {
  1263. g_10594 = 0;
  1264. sub_1C6E();
  1265. }
  1266.  
  1267. void sub_1C6E()
  1268. {
  1269. if (AUDIO::IS_SCRIPTED_CONVERSATION_ONGOING() != 0)
  1270. {
  1271. AUDIO::RESTART_SCRIPTED_CONVERSATION();
  1272. g_12719 = 0;
  1273. AUDIO::STOP_SCRIPTED_CONVERSATION(1);
  1274. g_11728 = 6;
  1275. }
  1276. }
  1277.  
  1278. void sub_1C92(var A_0, var A_1, var A_2, var A_3, var A_4)
  1279. {
  1280. var num3;
  1281. var num4;
  1282. if (rPtr(getElemPtr(A_0, (&g_86838) + 23936, 116) + 68) != 3)
  1283. {
  1284. if (rPtr(getElemPtr(A_0, (&g_86838) + 23936, 116) + 68) == 4)
  1285. {
  1286. return;
  1287. }
  1288. sub_1D79(rPtr(getElemPtr(A_0, (&g_86838) + 23936, 116) + 68), 1, A_1, A_2, 0);
  1289. if (A_3 == null)
  1290. {
  1291. return;
  1292. }
  1293. num3 = 0;
  1294. if (A_4 != null)
  1295. {
  1296. switch (A_0)
  1297. {
  1298. case 0:
  1299. num4 = 0x690BE17A;
  1300. goto Label_0144;
  1301. case 1:
  1302. num4 = 0xDF8F768A;
  1303. goto Label_0144;
  1304. case 2:
  1305. num4 = 0xBB95B3E0;
  1306. goto Label_0144;
  1307. }
  1308. return;
  1309. }
  1310. switch (A_0)
  1311. {
  1312. case 0:
  1313. num4 = 0x841E7EF;
  1314. goto Label_0144;
  1315. case 1:
  1316. num4 = 0x29337BB6;
  1317. goto Label_0144;
  1318. case 2:
  1319. num4 = 0xBC68CF93;
  1320. goto Label_0144;
  1321. }
  1322. }
  1323. return;
  1324. Label_0144:
  1325. STATS::STAT_GET_INT(num4, &num3, -1);
  1326. num3 += A_2;
  1327. STATS::STAT_SET_INT(num4, num3, 1);
  1328. }
  1329.  
  1330. var sub_1D79(var A_0, var A_1, var A_2, var A_3, var A_4)
  1331. {
  1332. var num4;
  1333. sub_291A();
  1334. if (A_3 < 1)
  1335. {
  1336. return 0;
  1337. }
  1338. var num3 = 1f;
  1339. switch (A_1)
  1340. {
  1341. case 0:
  1342. switch (A_0)
  1343. {
  1344. case 0:
  1345. sub_28BE(99, 1);
  1346. sub_289B(0xD8DDE3AC, A_3);
  1347. goto Label_009A;
  1348. case 1:
  1349. sub_289B(0x82F04461, A_3);
  1350. goto Label_009A;
  1351. case 2:
  1352. sub_289B(0x5E1032A2, A_3);
  1353. goto Label_009A;
  1354. }
  1355. break;
  1356. case 1:
  1357. switch (A_0)
  1358. {
  1359. case 0:
  1360. sub_28BE(95, A_3);
  1361. break;
  1362. case 1:
  1363. sub_28BE(97, A_3);
  1364. break;
  1365. case 2:
  1366. sub_28BE(96, A_3);
  1367. break;
  1368. }
  1369. goto Label_0739;
  1370. default:
  1371. goto Label_074C;
  1372. }
  1373. Label_009A:
  1374. sub_27C8(0);
  1375. switch ((A_2))
  1376. {
  1377. case 125:
  1378. case 127:
  1379. case 123:
  1380. case 124:
  1381. case 126:
  1382. if (sub_27B0(5) != 0)
  1383. {
  1384. num3 = 0.9f;
  1385. num4 = 5;
  1386. }
  1387. goto Label_074C;
  1388. case 63:
  1389. case 64:
  1390. case 65:
  1391. case 66:
  1392. case 67:
  1393. case 68:
  1394. switch (A_0)
  1395. {
  1396. case 0:
  1397. sub_289B(0xB90A1501, A_3);
  1398. goto Label_0481;
  1399. case 1:
  1400. sub_289B(0x1D36FFE4, A_3);
  1401. goto Label_0481;
  1402. case 2:
  1403. sub_289B(0x7375F79, A_3);
  1404. goto Label_0481;
  1405. }
  1406. break;
  1407. case 41:
  1408. case 42:
  1409. case 43:
  1410. case 44:
  1411. case 45:
  1412. case 46:
  1413. case 47:
  1414. switch (A_0)
  1415. {
  1416. case 0:
  1417. sub_289B(0x79818787, A_3);
  1418. break;
  1419. case 1:
  1420. sub_289B(0xDDDA2F69, A_3);
  1421. break;
  1422. case 2:
  1423. sub_289B(0xC723E8EC, A_3);
  1424. break;
  1425. }
  1426. if (sub_27B0(0) != 0)
  1427. {
  1428. num3 = 0f;
  1429. num4 = 0;
  1430. }
  1431. goto Label_074C;
  1432. case 21:
  1433. switch (A_0)
  1434. {
  1435. case 0:
  1436. sub_289B(0xD156803, A_3);
  1437. break;
  1438. case 1:
  1439. sub_289B(0x6F8CE97A, A_3);
  1440. break;
  1441. case 2:
  1442. sub_289B(0x87561C19, A_3);
  1443. break;
  1444. }
  1445. goto Label_074C;
  1446. case 48:
  1447. case 49:
  1448. case 50:
  1449. case 51:
  1450. case 52:
  1451. case 53:
  1452. case 54:
  1453. case 55:
  1454. case 56:
  1455. case 57:
  1456. case 58:
  1457. case 59:
  1458. case 60:
  1459. case 61:
  1460. case 62:
  1461. switch (A_0)
  1462. {
  1463. case 0:
  1464. sub_289B(0x185B8F46, A_3);
  1465. break;
  1466. case 1:
  1467. sub_289B(0xE6AE13D3, A_3);
  1468. break;
  1469. case 2:
  1470. sub_289B(0xDEBB7D4A, A_3);
  1471. break;
  1472. }
  1473. goto Label_074C;
  1474. case 25:
  1475. switch (A_0)
  1476. {
  1477. case 0:
  1478. sub_289B(0x1A5C0A6, A_3);
  1479. break;
  1480. case 1:
  1481. sub_289B(0x192B26BC, A_3);
  1482. break;
  1483. case 2:
  1484. sub_289B(0x12D8DFD0, A_3);
  1485. break;
  1486. }
  1487. goto Label_074C;
  1488. case 69:
  1489. case 70:
  1490. case 71:
  1491. case 72:
  1492. case 73:
  1493. case 74:
  1494. case 75:
  1495. case 76:
  1496. case 77:
  1497. case 78:
  1498. case 79:
  1499. switch (A_0)
  1500. {
  1501. case 0:
  1502. sub_289B(0xE56D46F6, A_3);
  1503. break;
  1504. case 1:
  1505. sub_289B(0xAD57C3A1, A_3);
  1506. break;
  1507. case 2:
  1508. sub_289B(0xD49E38CD, A_3);
  1509. break;
  1510. }
  1511. goto Label_074C;
  1512. case 101:
  1513. sub_2790(A_3);
  1514. goto Label_0689;
  1515. case 97:
  1516. case 98:
  1517. case 99:
  1518. case 100:
  1519. case 102:
  1520. case 103:
  1521. case 104:
  1522. case 105:
  1523. case 106:
  1524. case 107:
  1525. case 108:
  1526. case 109:
  1527. case 110:
  1528. case 111:
  1529. goto Label_0689;
  1530. default:
  1531. goto Label_074C;
  1532. }
  1533. Label_0481:
  1534. if (sub_27B0(1) != 0)
  1535. {
  1536. num3 = 0f;
  1537. num4 = 1;
  1538. }
  1539. goto Label_074C;
  1540. Label_0689:
  1541. switch (A_0)
  1542. {
  1543. case 0:
  1544. sub_289B(0x6BB0A613, A_3);
  1545. goto Label_074C;
  1546. case 1:
  1547. sub_289B(0x5DFBC6D0, A_3);
  1548. goto Label_074C;
  1549. case 2:
  1550. sub_289B(0x280C1BD4, A_3);
  1551. goto Label_074C;
  1552. default:
  1553. goto Label_074C;
  1554. }
  1555. Label_0739:
  1556. sub_28BE(98, A_3);
  1557. Label_074C:
  1558. if (A_3 < 1)
  1559. {
  1560. return 0;
  1561. }
  1562. var num5 = A_0;
  1563. A_3 = SYSTEM::FLOOR(num3 * SYSTEM::TO_FLOAT(A_3));
  1564. var num6 = 0;
  1565. var num7 = A_3;
  1566. if (num3 == 0f)
  1567. {
  1568. sub_26C0(num4);
  1569. return 1;
  1570. }
  1571. if (num3 != 1f)
  1572. {
  1573. sub_26C0(num4);
  1574. }
  1575. var num8 = getElem(num5, &g_43946, 4) + A_3;
  1576. num6 = A_1;
  1577. switch (num6)
  1578. {
  1579. case 1:
  1580. {
  1581. bool flag1 = getElem(num5, &g_43946, 4) >= 0;
  1582. if (flag1 & (A_3 > 0))
  1583. {
  1584. if (num8 <= 0)
  1585. {
  1586. setElem(0x7FFFFFFF, num5, &g_43946, 4);
  1587. }
  1588. else
  1589. {
  1590. setElem(getElem(num5, &g_43946, 4) + A_3, num5, &g_43946, 4);
  1591. }
  1592. }
  1593. switch (A_0)
  1594. {
  1595. case 0:
  1596. sub_289B(0xEC4F6A3C, A_3);
  1597. goto Label_098F;
  1598. case 1:
  1599. sub_289B(0x652EC70D, A_3);
  1600. goto Label_098F;
  1601. case 2:
  1602. sub_289B(0x63D3C8A1, A_3);
  1603. goto Label_098F;
  1604. }
  1605. break;
  1606. }
  1607. case 0:
  1608. if ((A_4 == 0) && ((getElem(num5, &g_43946, 4) - A_3) < 0))
  1609. {
  1610. return 0;
  1611. }
  1612. num6 = getElem(num5, &g_43946, 4);
  1613. setElem(getElem(num5, &g_43946, 4) - A_3, num5, &g_43946, 4);
  1614. if (A_4 != null)
  1615. {
  1616. num7 = num6;
  1617. }
  1618. break;
  1619. }
  1620. Label_098F:
  1621. if (A_2 == 1)
  1622. {
  1623. }
  1624. else
  1625. {
  1626. setElem(A_1, rPtr(getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4), getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 8, 24);
  1627. wPtr(A_2, getElemPtr(rPtr(getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4), getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 4);
  1628. wPtr(A_3, getElemPtr(rPtr(getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4), getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 8);
  1629. setElem(getElem(num5, ((&g_86838) + 19911) + 233, 276) + 1, num5, ((&g_86838) + 19911) + 233, 276);
  1630. wPtr(rPtr(getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4) + 1, getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4);
  1631. if (rPtr(getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4) > 10)
  1632. {
  1633. wPtr(0, getElemPtr(num5, ((&g_86838) + 19911) + 233, 276) + 4);
  1634. }
  1635. }
  1636. sub_2666(A_0);
  1637. if (g_29814 == 12)
  1638. {
  1639. sub_23E4(0);
  1640. }
  1641. return 1;
  1642. }
  1643.  
  1644. void sub_23E4(var A_0)
  1645. {
  1646. var num3 = 0;
  1647. var num4 = 0;
  1648. num3 = 0;
  1649. Label_001B:
  1650. if (num3 >= 3)
  1651. {
  1652. num3 = 0;
  1653. while (num3 < 10)
  1654. {
  1655. setElem(getElem(num3, (&g_86838) + 19911, 4), 0, getElemPtr(num3, &g_43954, 12), 4);
  1656. setElem(getElem(num3, ((&g_86838) + 19911) + 11, 4), 0, getElemPtr(num3, (&g_43954) + 31, 12), 4);
  1657. setElem(getElem(num3, ((&g_86838) + 19911) + 22, 4), 0, getElemPtr(num3, (&g_43954) + 62, 12), 4);
  1658. setElem(getElem(num3, ((&g_86838) + 19911) + 33, 4), 0, getElemPtr(num3, (&g_43954) + 93, 12), 4);
  1659. setElem(getElem(num3, ((&g_86838) + 19911) + 44, 4), 0, getElemPtr(num3, (&g_43954) + 124, 12), 4);
  1660. setElem(getElem(num3, ((&g_86838) + 19911) + 55, 4), 0, getElemPtr(num3, (&g_43954) + 155, 12), 4);
  1661. setElem(getElem(num3, ((&g_86838) + 19911) + 66, 4), 0, getElemPtr(num3, (&g_43954) + 186, 12), 4);
  1662. setElem(getElem(num3, ((&g_86838) + 19911) + 77, 4), 0, getElemPtr(num3, (&g_43954) + 217, 12), 4);
  1663. setElem(getElem(num3, ((&g_86838) + 19911) + 88, 4), 0, getElemPtr(num3, (&g_43954) + 248, 12), 4);
  1664. if (A_0 == 0)
  1665. {
  1666. setElem(getElem(num3, (&g_86838) + 19911, 4), 1, getElemPtr(num3, &g_43954, 12), 4);
  1667. setElem(getElem(num3, ((&g_86838) + 19911) + 11, 4), 1, getElemPtr(num3, (&g_43954) + 31, 12), 4);
  1668. setElem(getElem(num3, ((&g_86838) + 19911) + 22, 4), 1, getElemPtr(num3, (&g_43954) + 62, 12), 4);
  1669. setElem(getElem(num3, ((&g_86838) + 19911) + 33, 4), 1, getElemPtr(num3, (&g_43954) + 93, 12), 4);
  1670. setElem(getElem(num3, ((&g_86838) + 19911) + 44, 4), 1, getElemPtr(num3, (&g_43954) + 124, 12), 4);
  1671. setElem(getElem(num3, ((&g_86838) + 19911) + 55, 4), 1, getElemPtr(num3, (&g_43954) + 155, 12), 4);
  1672. setElem(getElem(num3, ((&g_86838) + 19911) + 66, 4), 1, getElemPtr(num3, (&g_43954) + 186, 12), 4);
  1673. setElem(getElem(num3, ((&g_86838) + 19911) + 77, 4), 1, getElemPtr(num3, (&g_43954) + 217, 12), 4);
  1674. setElem(getElem(num3, ((&g_86838) + 19911) + 88, 4), 1, getElemPtr(num3, (&g_43954) + 248, 12), 4);
  1675. }
  1676. num3++;
  1677. }
  1678. }
  1679. else
  1680. {
  1681. num4 = 0;
  1682. while (true)
  1683. {
  1684. if (num4 >= 11)
  1685. {
  1686. break;
  1687. }
  1688. wPtr(getElem(num4, getElemPtr(num3, ((&g_86838) + 19911) + 233, 276) + 8, 24), getElemPtr(num4, getElemPtr(num3, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 12);
  1689. wPtr(rPtr(getElemPtr(num4, getElemPtr(num3, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 4), getElemPtr(num4, getElemPtr(num3, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 16);
  1690. wPtr(rPtr(getElemPtr(num4, getElemPtr(num3, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 8), getElemPtr(num4, getElemPtr(num3, ((&g_86838) + 19911) + 233, 276) + 8, 24) + 20);
  1691. num4++;
  1692. }
  1693. num3++;
  1694. goto Label_001B;
  1695. }
  1696. }
  1697.  
  1698. void sub_2666(var A_0)
  1699. {
  1700. var num3 = getElem(A_0, &g_43946, 4);
  1701. switch (A_0)
  1702. {
  1703. case 0:
  1704. STATS::STAT_SET_INT(0x324C31D, num3, 1);
  1705. break;
  1706. case 1:
  1707. STATS::STAT_SET_INT(0x44BD6982, num3, 1);
  1708. break;
  1709. case 2:
  1710. STATS::STAT_SET_INT(0x8D75047D, num3, 1);
  1711. break;
  1712. }
  1713. }
  1714.  
  1715. void sub_26C0(var A_0)
  1716. {
  1717. if (GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 19911) + 471), A_0) != 0)
  1718. {
  1719. var num3;
  1720. strcpy("CHAR_LIFEINVADER", &num3, 64);
  1721. UI::0x574EE85C("COUP_RED");
  1722. UI::0xDCE05406(sub_2715(A_0));
  1723. UI::0xE7E3C98B(&num3, &num3, 1, 0, "", 0);
  1724. GAMEPLAY::CLEAR_BIT(((&g_86838) + 19911) + 471, A_0);
  1725. }
  1726. }
  1727.  
  1728. var sub_2715(var A_0)
  1729. {
  1730. switch (A_0)
  1731. {
  1732. case 0:
  1733. return "COUP_HAIRC";
  1734. case 1:
  1735. return "COUP_TATTOO";
  1736. case 2:
  1737. return "COUP_WARSTOCK";
  1738. case 3:
  1739. return "COUP_MOSPORT";
  1740. case 4:
  1741. return "COUP_ELITAS";
  1742. case 5:
  1743. return "COUP_MEDSPENS";
  1744. case 6:
  1745. return "COUP_SPRUNK";
  1746. case 7:
  1747. return "COUP_RESPRAY";
  1748. }
  1749. return "";
  1750. }
  1751.  
  1752. void sub_2790(var A_0)
  1753. {
  1754. sub_28BE(93, A_0);
  1755. sub_28BE(29, A_0);
  1756. sub_28BE(30, A_0);
  1757. }
  1758.  
  1759. var sub_27B0(var A_0)
  1760. {
  1761. return GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 19911) + 471), A_0);
  1762. }
  1763.  
  1764. var sub_27C8(var A_0)
  1765. {
  1766. var num3;
  1767. var num4 = 0;
  1768. if (PLAYER::HAS_ACHIEVEMENT_BEEN_PASSED(27) != 0)
  1769. {
  1770. return 0;
  1771. }
  1772. if (STATS::STAT_GET_INT(0xD8DDE3AC, &num3, -1) != 0)
  1773. {
  1774. num4 += num3;
  1775. }
  1776. if (STATS::STAT_GET_INT(0x82F04461, &num3, -1) != 0)
  1777. {
  1778. num4 += num3;
  1779. }
  1780. if (STATS::STAT_GET_INT(0x5E1032A2, &num3, -1) != 0)
  1781. {
  1782. num4 += num3;
  1783. }
  1784. if (num4 < 0xBEBC200)
  1785. {
  1786. return 0;
  1787. }
  1788. sub_283E(27, 1);
  1789. return 1;
  1790. }
  1791.  
  1792. var sub_283E(var A_0, var A_1)
  1793. {
  1794. if (A_0 >= 50)
  1795. {
  1796. return 0;
  1797. }
  1798. return sub_2859(A_0, A_1);
  1799. }
  1800.  
  1801. var sub_2859(var A_0, var A_1)
  1802. {
  1803. var num1 = PLAYER::HAS_ACHIEVEMENT_BEEN_PASSED(A_0);
  1804. if ((num1 & (A_1 == 1)) != 0)
  1805. {
  1806. return 0;
  1807. }
  1808. bool flag1 = g_19696 != 0;
  1809. if (flag1 & (g_59842 == 0))
  1810. {
  1811. return 0;
  1812. }
  1813. if (PLAYER::GIVE_ACHIEVEMENT_TO_PLAYER(A_0) == 0)
  1814. {
  1815. return 0;
  1816. }
  1817. return 1;
  1818. }
  1819.  
  1820. void sub_289B(var A_0, var A_1)
  1821. {
  1822. var num3;
  1823. STATS::STAT_GET_INT(A_0, &num3, -1);
  1824. num3 += A_1;
  1825. STATS::STAT_SET_INT(A_0, num3, 1);
  1826. }
  1827.  
  1828. void sub_28BE(var A_0, var A_1)
  1829. {
  1830. if ((A_1 >= 1) && (rPtr(getElemPtr(A_0, &g_42515, 28) + 8) == 0))
  1831. {
  1832. if (getElem(A_0, &g_42515, 28) != 0)
  1833. {
  1834. var num3;
  1835. STATS::STAT_GET_INT(rPtr(getElemPtr(A_0, &g_42515, 28) + 4), &num3, -1);
  1836. num3++;
  1837. STATS::STAT_SET_INT(rPtr(getElemPtr(A_0, &g_42515, 28) + 4), num3, 1);
  1838. }
  1839. if (NETWORK::NETWORK_IS_GAME_IN_PROGRESS() != 0)
  1840. {
  1841. }
  1842. }
  1843. }
  1844.  
  1845. void sub_291A()
  1846. {
  1847. var num3;
  1848. STATS::STAT_GET_INT(0x324C31D, &num3, -1);
  1849. if (getElem(0, &g_43946, 4) != num3)
  1850. {
  1851. sub_29A0("BANK_CHECK_FOR_CODE_DEPOSITS: Updating value in BANK_ACCOUNT_MICHAEL to match stats");
  1852. setElem(num3, 0, &g_43946, 4);
  1853. }
  1854. STATS::STAT_GET_INT(0x44BD6982, &num3, -1);
  1855. if (getElem(1, &g_43946, 4) != num3)
  1856. {
  1857. sub_29A0("BANK_CHECK_FOR_CODE_DEPOSITS: Updating value in BANK_ACCOUNT_FRANKLIN to match stats");
  1858. setElem(num3, 1, &g_43946, 4);
  1859. }
  1860. STATS::STAT_GET_INT(0x8D75047D, &num3, -1);
  1861. if (getElem(2, &g_43946, 4) != num3)
  1862. {
  1863. sub_29A0("BANK_CHECK_FOR_CODE_DEPOSITS: Updating value in BANK_ACCOUNT_TREVOR to match stats");
  1864. setElem(num3, 2, &g_43946, 4);
  1865. }
  1866. }
  1867.  
  1868. void sub_29A0(var A_0)
  1869. {
  1870. sub_29AE(A_0);
  1871. }
  1872.  
  1873. void sub_29AE(var A_0)
  1874. {
  1875. if (GAMEPLAY::ARE_STRINGS_EQUAL(A_0, A_0) != 0)
  1876. {
  1877. }
  1878. }
  1879.  
  1880. var sub_29C1()
  1881. {
  1882. sub_29DA();
  1883. return rPtr((((&g_86838) + 1729) + 539) + 2659);
  1884. }
  1885.  
  1886. void sub_29DA()
  1887. {
  1888. if (ENTITY::DOES_ENTITY_EXIST(PLAYER::PLAYER_PED_ID()) != 0)
  1889. {
  1890. if (sub_2AF8(rPtr((((&g_86838) + 1729) + 539) + 2659)) == ENTITY::GET_ENTITY_MODEL(PLAYER::PLAYER_PED_ID()))
  1891. {
  1892. wPtr(rPtr((((&g_86838) + 1729) + 539) + 2659), (((&g_86838) + 1729) + 539) + 2661);
  1893. return;
  1894. }
  1895. var num3 = sub_2ABB(PLAYER::PLAYER_PED_ID());
  1896. if (sub_2AAF(num3) != 0)
  1897. {
  1898. bool flag1 = rPtr((((&g_86838) + 1729) + 539) + 2659) != num3;
  1899. if (flag1 & sub_2AAF(rPtr((((&g_86838) + 1729) + 539) + 2659)))
  1900. {
  1901. wPtr(rPtr((((&g_86838) + 1729) + 539) + 2659), (((&g_86838) + 1729) + 539) + 2660);
  1902. }
  1903. wPtr(num3, (((&g_86838) + 1729) + 539) + 2661);
  1904. wPtr(num3, (((&g_86838) + 1729) + 539) + 2659);
  1905. return;
  1906. }
  1907. }
  1908. wPtr(143, (((&g_86838) + 1729) + 539) + 2659);
  1909. }
  1910.  
  1911. var sub_2AAF(var A_0)
  1912. {
  1913. return (A_0 < 3);
  1914. }
  1915.  
  1916. var sub_2ABB(var A_0)
  1917. {
  1918. if (ENTITY::DOES_ENTITY_EXIST(A_0) != 0)
  1919. {
  1920. var num4 = ENTITY::GET_ENTITY_MODEL(A_0);
  1921. for (var i = 0; i <= 2; i++)
  1922. {
  1923. if (sub_2AF8(i) == num4)
  1924. {
  1925. return i;
  1926. }
  1927. }
  1928. }
  1929. return 143;
  1930. }
  1931.  
  1932. var sub_2AF8(var A_0)
  1933. {
  1934. if (sub_2AAF(A_0) != 0)
  1935. {
  1936. return getElem(A_0, (&g_86838) + 23936, 116);
  1937. }
  1938. return 0;
  1939. }
  1940.  
  1941. var sub_2B22()
  1942. {
  1943. var num3 = 50f;
  1944. if ((VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0) && (ENTITY::IS_ENTITY_AT_ENTITY(l_50, l_48, num3, num3, num3, 0, 1, 0) != 0))
  1945. {
  1946. return 1;
  1947. }
  1948. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 0);
  1949. var num4 = PED::GET_RANDOM_PED_AT_COORD(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), num3, num3, num3, -1);
  1950. if (PED::IS_PED_INJURED(num4) == 0)
  1951. {
  1952. bool flag1 = ENTITY::GET_ENTITY_MODEL(num4) == 0x15F8700D;
  1953. if (flag1 | (ENTITY::GET_ENTITY_MODEL(num4) == 0x5E3DA4A4))
  1954. {
  1955. return 1;
  1956. }
  1957. }
  1958. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0);
  1959. num4 = PED::GET_RANDOM_PED_AT_COORD(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), num3, num3, num3, -1);
  1960. if (PED::IS_PED_INJURED(num4) == 0)
  1961. {
  1962. bool flag2 = ENTITY::GET_ENTITY_MODEL(num4) == 0x15F8700D;
  1963. if (flag2 | (ENTITY::GET_ENTITY_MODEL(num4) == 0x5E3DA4A4))
  1964. {
  1965. return 1;
  1966. }
  1967. }
  1968. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 0);
  1969. if (VEHICLE::IS_VEHICLE_DRIVEABLE(VEHICLE::GET_RANDOM_VEHICLE_IN_SPHERE(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), num3, 0, 1024), 0) != 0)
  1970. {
  1971. return 1;
  1972. }
  1973. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0);
  1974. if (VEHICLE::IS_VEHICLE_DRIVEABLE(VEHICLE::GET_RANDOM_VEHICLE_IN_SPHERE(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), num3, 0, 1024), 0) != 0)
  1975. {
  1976. return 1;
  1977. }
  1978. return 0;
  1979. }
  1980.  
  1981. void sub_2C20()
  1982. {
  1983. if (PED::IS_PED_INJURED(l_48) == 0)
  1984. {
  1985. var num3 = ENTITY::IS_ENTITY_TOUCHING_ENTITY(PLAYER::PLAYER_PED_ID(), l_48);
  1986. var num4 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 1);
  1987. var num1 = num4 | sub_362D();
  1988. var num9 = num1 | sub_35A2();
  1989. if ((num9 | num3) != 0)
  1990. {
  1991. sub_357A();
  1992. if (l_67 != 0)
  1993. {
  1994. var num10 = num3 | num4;
  1995. var num11 = num10 & (PED::IS_PED_RAGDOLL(l_48) == 0);
  1996. if ((num11 & (PED::IS_PED_IN_ANY_VEHICLE(l_48, 0) == 0)) != 0)
  1997. {
  1998. AI::CLEAR_PED_TASKS(l_48);
  1999. PED::SET_PED_TO_RAGDOLL(l_48, 500, 2000, 0, 0, 0, 0);
  2000. AI::TASK_COWER(l_48, -1);
  2001. PED::SET_PED_KEEP_TASK(l_48, 1);
  2002. }
  2003. else
  2004. {
  2005. bool flag1 = PED::IS_PED_IN_ANY_VEHICLE(l_48, 0) == 0;
  2006. if (flag1 & (PED::IS_PED_RAGDOLL(l_48) == 0))
  2007. {
  2008. AI::CLEAR_PED_TASKS(l_48);
  2009. AI::TASK_COWER(l_48, -1);
  2010. PED::SET_PED_KEEP_TASK(l_48, 1);
  2011. }
  2012. }
  2013. sub_3318(0);
  2014. if (sub_3FA0() == 0)
  2015. {
  2016. bool flag2 = PED::IS_PED_INJURED(l_47) == 0;
  2017. if ((flag2 & (l_279 == 0)) && (sub_3A08(&l_71, "REARRAU", "REARR_PWTF", 4, l_247, 0, 0) != 0))
  2018. {
  2019. l_279 = 1;
  2020. }
  2021. }
  2022. l_42 = 1;
  2023. }
  2024. else
  2025. {
  2026. l_42 = 3;
  2027. }
  2028. }
  2029. }
  2030. else
  2031. {
  2032. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  2033. {
  2034. UI::REMOVE_BLIP(&l_52);
  2035. sub_32FB(&l_71, 2);
  2036. }
  2037. sub_357A();
  2038. if (ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 1) != 0)
  2039. {
  2040. if (l_67 != 0)
  2041. {
  2042. sub_3318(1);
  2043. l_42 = 1;
  2044. }
  2045. else
  2046. {
  2047. l_42 = 3;
  2048. }
  2049. }
  2050. }
  2051. if (PED::IS_PED_INJURED(l_47) == 0)
  2052. {
  2053. var num21;
  2054. if ((l_54 != 0) && (PLAYER::IS_PLAYER_WANTED_LEVEL_GREATER(PLAYER::PLAYER_ID(), 0) == 0))
  2055. {
  2056. sub_82F9();
  2057. }
  2058. if (PLAYER::IS_PLAYER_WANTED_LEVEL_GREATER(PLAYER::PLAYER_ID(), 0) != 0)
  2059. {
  2060. }
  2061. var num5 = 0;
  2062. if (ENTITY::DOES_ENTITY_EXIST(l_49) != 0)
  2063. {
  2064. if (PED::IS_PED_INJURED(l_49) == 0)
  2065. {
  2066. var num14;
  2067. var num12 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_49, PLAYER::PLAYER_PED_ID(), 1);
  2068. var num13 = num12 & (ENTITY::GET_ENTITY_HEALTH(l_49) < 190);
  2069. if (num13 == 0)
  2070. {
  2071. num14 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_49, PLAYER::PLAYER_PED_ID(), 1);
  2072. }
  2073. if ((num13 | (num14 & PED::IS_PED_RAGDOLL(l_49))) != 0)
  2074. {
  2075. num5 = 1;
  2076. }
  2077. var num15 = ENTITY::DOES_ENTITY_EXIST(l_50);
  2078. if ((num15 & ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_50, PLAYER::PLAYER_PED_ID(), 1)) != 0)
  2079. {
  2080. num5 = 1;
  2081. }
  2082. }
  2083. else
  2084. {
  2085. num5 = 1;
  2086. }
  2087. }
  2088. var num16 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 1);
  2089. var num17 = num16 & (ENTITY::GET_ENTITY_HEALTH(l_47) < 190);
  2090. var num18 = num17 | sub_3154();
  2091. var num19 = num18 | PLAYER::IS_PLAYER_WANTED_LEVEL_GREATER(PLAYER::PLAYER_ID(), 0);
  2092. var num20 = num19 | sub_30CA();
  2093. if (num20 == 0)
  2094. {
  2095. num21 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 1);
  2096. }
  2097. var num22 = num20 | (num21 & PED::IS_PED_RAGDOLL(l_47));
  2098. if ((num22 | (num5 == 1)) != 0)
  2099. {
  2100. sub_3318(1);
  2101. bool flag3 = l_42 == 3;
  2102. if (flag3 | (l_42 == 1))
  2103. {
  2104. l_42 = 1;
  2105. }
  2106. else
  2107. {
  2108. l_42 = 2;
  2109. }
  2110. }
  2111. }
  2112. else
  2113. {
  2114. if (ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 1) != 0)
  2115. {
  2116. if (l_280 == 0)
  2117. {
  2118. l_280 = 1;
  2119. l_283 = GAMEPLAY::GET_GAME_TIMER();
  2120. }
  2121. bool flag4 = l_42 == 3;
  2122. if (flag4 | (l_42 == 1))
  2123. {
  2124. l_42 = 1;
  2125. }
  2126. else
  2127. {
  2128. l_42 = 2;
  2129. }
  2130. }
  2131. if (PED::IS_PED_INJURED(l_48) == 0)
  2132. {
  2133. ENTITY::CLEAR_ENTITY_LAST_DAMAGE_ENTITY(l_48);
  2134. }
  2135. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  2136. {
  2137. UI::REMOVE_BLIP(&l_51);
  2138. sub_32FB(&l_71, 1);
  2139. }
  2140. }
  2141. if ((l_280 != 0) && ((GAMEPLAY::GET_GAME_TIMER() - l_283) > 5000))
  2142. {
  2143. PLAYER::SET_PLAYER_WANTED_LEVEL_NO_DROP(PLAYER::PLAYER_ID(), 3, 0);
  2144. PLAYER::SET_PLAYER_WANTED_LEVEL_NOW(PLAYER::PLAYER_ID(), 0);
  2145. l_280 = 0;
  2146. }
  2147. bool flag5 = PED::IS_PED_INJURED(l_47) == 0;
  2148. if (flag5 & (PED::IS_PED_INJURED(l_48) == 0))
  2149. {
  2150. var num23 = ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 1);
  2151. if ((num23 & ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), 1)) != 0)
  2152. {
  2153. bool flag6 = ENTITY::GET_ENTITY_HEALTH(l_47) < 190;
  2154. if (flag6 & (ENTITY::GET_ENTITY_HEALTH(l_48) < 190))
  2155. {
  2156. sub_357A();
  2157. sub_3318(1);
  2158. l_42 = 1;
  2159. }
  2160. }
  2161. if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, l_47, 110f, 110f, 40f, 0, 1, 0) == 0)
  2162. {
  2163. if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 20f, 20f, 20f, 0, 1, 0) != 0)
  2164. {
  2165. sub_3063();
  2166. SYSTEM::WAIT(0);
  2167. sub_3A08(&l_71, "REARRAU", "REARR_PORUN", 4, l_247, 0, 0);
  2168. }
  2169. else if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_48, 40f, 40f, 40f, 0, 1, 0) != 0)
  2170. {
  2171. sub_3063();
  2172. SYSTEM::WAIT(0);
  2173. sub_3A08(&l_71, "REARRAU", l_260, 4, l_247, 0, 0);
  2174. }
  2175. sub_82F9();
  2176. }
  2177. }
  2178. var num24 = PED::IS_PED_INJURED(l_47);
  2179. if ((num24 & PED::IS_PED_INJURED(l_48)) != 0)
  2180. {
  2181. sub_82F9();
  2182. }
  2183. if (((PED::IS_PED_INJURED(l_48) != 0) && (PED::IS_PED_INJURED(l_47) == 0)) && (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 100f, 100f, 40f, 0, 1, 0) == 0))
  2184. {
  2185. sub_82F9();
  2186. }
  2187. }
  2188.  
  2189. void sub_3063()
  2190. {
  2191. g_10594 = 0;
  2192. sub_3073();
  2193. }
  2194.  
  2195. void sub_3073()
  2196. {
  2197. AUDIO::RESTART_SCRIPTED_CONVERSATION();
  2198. g_12719 = 0;
  2199. var num1 = AUDIO::IS_MOBILE_PHONE_CALL_ONGOING();
  2200. var num6 = num1 | (rPtr((&g_10433) + 1) == 9);
  2201. if ((num6 | (g_10432 == 1)) != 0)
  2202. {
  2203. AUDIO::STOP_SCRIPTED_CONVERSATION(0);
  2204. g_11728 = 6;
  2205. wPtr(3, (&g_10433) + 1);
  2206. }
  2207. else if (AUDIO::IS_SCRIPTED_CONVERSATION_ONGOING() != 0)
  2208. {
  2209. AUDIO::STOP_SCRIPTED_CONVERSATION(1);
  2210. g_11728 = 6;
  2211. }
  2212. }
  2213.  
  2214. var sub_30CA()
  2215. {
  2216. var num3 = 0;
  2217. if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0)
  2218. {
  2219. if (((ENTITY::GET_ENTITY_MODEL(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0)) == 0x7074F39D) && (PED::IS_PED_INJURED(l_47) == 0)) && (ENTITY::IS_ENTITY_TOUCHING_ENTITY(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), l_47) != 0))
  2220. {
  2221. num3 = 1;
  2222. }
  2223. if (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)
  2224. {
  2225. if (ENTITY::IS_ENTITY_TOUCHING_ENTITY(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), l_50) != 0)
  2226. {
  2227. num3 = 1;
  2228. }
  2229. }
  2230. else if ((l_70 != 0) && (ENTITY::HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(l_50, PLAYER::PLAYER_PED_ID(), 1) != 0))
  2231. {
  2232. num3 = 1;
  2233. }
  2234. }
  2235. return num3;
  2236. }
  2237.  
  2238. var sub_3154()
  2239. {
  2240. var num3;
  2241. var num6;
  2242. setStruct(3f, 3f, 3f, 3, &num3);
  2243. setStruct(-3f, -3f, -3f, 3, &num6);
  2244. struct _s = PED::GET_PED_BONE_COORDS(l_47, 31086, 0f, 0f, 0f);
  2245. if (GAMEPLAY::IS_BULLET_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0.5f, 1) != 0)
  2246. {
  2247. if (PED::IS_PED_INJURED(l_48) != 0)
  2248. {
  2249. return 1;
  2250. }
  2251. struct _s = PED::GET_PED_BONE_COORDS(l_48, 31086, 0f, 0f, 0f);
  2252. if (GAMEPLAY::IS_BULLET_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 2f, 1) == 0)
  2253. {
  2254. return 1;
  2255. }
  2256. }
  2257. struct _s = PED::GET_PED_BONE_COORDS(l_47, 31086, 0f, 0f, 0f);
  2258. if (GRAPHICS::0x242C6A04(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3f) != 0)
  2259. {
  2260. return 1;
  2261. }
  2262. if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 5f, 5f, 5f, 0, 1, 0) != 0)
  2263. {
  2264. var num9;
  2265. if (PED::IS_PED_INJURED(l_47) == 0)
  2266. {
  2267. var num1 = PLAYER::IS_PLAYER_TARGETTING_ENTITY(PLAYER::PLAYER_ID(), l_47);
  2268. if ((((num1 | PLAYER::IS_PLAYER_FREE_AIMING_AT_ENTITY(PLAYER::PLAYER_ID(), l_47)) != 0) && (WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &num9, 1) != 0)) && (num9 != 0xA2719263))
  2269. {
  2270. return 1;
  2271. }
  2272. }
  2273. if (PED::IS_PED_INJURED(l_48) == 0)
  2274. {
  2275. var num13 = PLAYER::IS_PLAYER_TARGETTING_ENTITY(PLAYER::PLAYER_ID(), l_48);
  2276. if ((((num13 | PLAYER::IS_PLAYER_FREE_AIMING_AT_ENTITY(PLAYER::PLAYER_ID(), l_48)) != 0) && (WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &num9, 1) != 0)) && ((num9 != 0xA2719263) && (l_67 != 0)))
  2277. {
  2278. return 1;
  2279. }
  2280. }
  2281. }
  2282. struct _s = &num3;
  2283. struct _s = PED::GET_PED_BONE_COORDS(l_47, 31086, 0f, 0f, 0f);
  2284. struct _s = vadd(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
  2285. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
  2286. struct _s = &num6;
  2287. struct _s = PED::GET_PED_BONE_COORDS(l_47, 31086, 0f, 0f, 0f);
  2288. struct _s = vadd(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
  2289. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
  2290. struct _s = &num6;
  2291. struct _s = &num3;
  2292. var num14 = GAMEPLAY::IS_PROJECTILE_TYPE_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0xFDBC8A50, 1);
  2293. if (num14 == 0)
  2294. {
  2295. struct _s = &num6;
  2296. struct _s = &num3;
  2297. }
  2298. var num15 = num14 | GAMEPLAY::IS_PROJECTILE_TYPE_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0x93E220BD, 1);
  2299. if (num15 == 0)
  2300. {
  2301. struct _s = &num6;
  2302. struct _s = &num3;
  2303. }
  2304. var num16 = num15 | GAMEPLAY::IS_PROJECTILE_TYPE_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0x2C3731D9, 1);
  2305. if (num16 == 0)
  2306. {
  2307. struct _s = &num6;
  2308. struct _s = &num3;
  2309. }
  2310. if ((num16 | GAMEPLAY::IS_PROJECTILE_TYPE_IN_AREA(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0x73F7C04B, 1)) != 0)
  2311. {
  2312. return 1;
  2313. }
  2314. return 0;
  2315. }
  2316.  
  2317. void sub_32FB(var A_0, var A_1)
  2318. {
  2319. if (rPtr(getElemPtr(A_1, A_0, 40) + 28) == 1)
  2320. {
  2321. wPtr(0, getElemPtr(A_1, A_0, 40) + 28);
  2322. }
  2323. }
  2324.  
  2325. void sub_3318(var A_0)
  2326. {
  2327. if (PED::IS_PED_INJURED(l_47) == 0)
  2328. {
  2329. ENTITY::CLEAR_ENTITY_LAST_DAMAGE_ENTITY(l_47);
  2330. if (l_54 == 0)
  2331. {
  2332. PLAYER::SET_PLAYER_WANTED_LEVEL_NO_DROP(PLAYER::PLAYER_ID(), 2, 0);
  2333. PLAYER::SET_PLAYER_WANTED_LEVEL_NOW(PLAYER::PLAYER_ID(), 0);
  2334. PED::SET_PED_CAN_BE_TARGETTED(l_47, 1);
  2335. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  2336. {
  2337. UI::SET_BLIP_AS_FRIENDLY(l_51, 0);
  2338. }
  2339. if (A_0 == 1)
  2340. {
  2341. if ((PED::IS_PED_INJURED(l_48) == 0) && (AI::GET_SCRIPT_TASK_STATUS(l_48, 0x6BA30179) == 7))
  2342. {
  2343. if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_251, "kneeling_arrest_idle", 3) != 0)
  2344. {
  2345. AI::OPEN_SEQUENCE_TASK(&l_66);
  2346. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_escape", 8f, -8f, -1, 4096, 0, 0, 0, 0);
  2347. AI::TASK_SMART_FLEE_PED(0, l_47, 150f, -1, 0, 0);
  2348. AI::CLOSE_SEQUENCE_TASK(l_66);
  2349. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  2350. AI::CLEAR_SEQUENCE_TASK(&l_66);
  2351. PED::FORCE_PED_MOTION_STATE(l_48, 0xFFF7E7A4, 0, 0, 0);
  2352. PED::SET_PED_KEEP_TASK(l_48, 1);
  2353. }
  2354. else
  2355. {
  2356. AI::CLEAR_PED_TASKS(l_48);
  2357. AI::TASK_SMART_FLEE_PED(l_48, l_47, 150f, -1, 0, 0);
  2358. }
  2359. }
  2360. bool flag1 = ENTITY::IS_ENTITY_DEAD(l_48) == 0;
  2361. bool flag2 = flag1 & (PED::IS_PED_INJURED(l_48) == 0);
  2362. if (flag2 & (ENTITY::IS_ENTITY_DEAD(PLAYER::PLAYER_PED_ID()) == 0))
  2363. {
  2364. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  2365. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  2366. if ((GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1) < 20f) && (sub_3FA0() == 0))
  2367. {
  2368. sub_3A08(&l_71, "REARRAU", l_266, 4, l_247, 0, 0);
  2369. }
  2370. }
  2371. }
  2372. AI::CLEAR_PED_TASKS(l_47);
  2373. AI::OPEN_SEQUENCE_TASK(&l_66);
  2374. AI::TASK_LOOK_AT_ENTITY(0, PLAYER::PLAYER_PED_ID(), -1, 2048, 2);
  2375. AI::TASK_COMBAT_PED(0, PLAYER::PLAYER_PED_ID(), 0, 16);
  2376. AI::CLOSE_SEQUENCE_TASK(l_66);
  2377. AI::TASK_PERFORM_SEQUENCE(l_47, l_66);
  2378. AI::CLEAR_SEQUENCE_TASK(&l_66);
  2379. PED::SET_PED_KEEP_TASK(l_47, 1);
  2380. ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_47, 1, 0);
  2381. if (VEHICLE::IS_VEHICLE_DRIVEABLE(l_50, 0) != 0)
  2382. {
  2383. VEHICLE::SET_VEHICLE_DOORS_LOCKED(l_50, 1);
  2384. }
  2385. sub_3549();
  2386. SYSTEM::WAIT(0);
  2387. SYSTEM::WAIT(0);
  2388. if ((PED::IS_PED_INJURED(l_47) == 0) && (PED::IS_PED_RAGDOLL(l_47) == 0))
  2389. {
  2390. }
  2391. if (ENTITY::DOES_ENTITY_EXIST(l_49) != 0)
  2392. {
  2393. sub_34EB();
  2394. }
  2395. l_54 = 1;
  2396. }
  2397. }
  2398. }
  2399.  
  2400. void sub_34EB()
  2401. {
  2402. if ((ENTITY::DOES_ENTITY_EXIST(l_49) != 0) && (PED::IS_PED_INJURED(l_49) == 0))
  2403. {
  2404. AI::OPEN_SEQUENCE_TASK(&l_66);
  2405. AI::TASK_LOOK_AT_ENTITY(0, PLAYER::PLAYER_PED_ID(), -1, 2048, 2);
  2406. AI::TASK_COMBAT_PED(0, PLAYER::PLAYER_PED_ID(), 0, 16);
  2407. AI::CLOSE_SEQUENCE_TASK(l_66);
  2408. AI::TASK_PERFORM_SEQUENCE(l_49, l_66);
  2409. AI::CLEAR_SEQUENCE_TASK(&l_66);
  2410. PED::SET_PED_KEEP_TASK(l_49, 1);
  2411. ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_49, 1, 0);
  2412. }
  2413. }
  2414.  
  2415. void sub_3549()
  2416. {
  2417. g_10594 = 0;
  2418. sub_3559();
  2419. }
  2420.  
  2421. void sub_3559()
  2422. {
  2423. AUDIO::RESTART_SCRIPTED_CONVERSATION();
  2424. g_12719 = 0;
  2425. if (AUDIO::IS_SCRIPTED_CONVERSATION_ONGOING() != 0)
  2426. {
  2427. AUDIO::STOP_SCRIPTED_CONVERSATION(0);
  2428. g_11728 = 6;
  2429. }
  2430. }
  2431.  
  2432. void sub_357A()
  2433. {
  2434. if (PED::IS_PED_INJURED(l_48) == 0)
  2435. {
  2436. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  2437. {
  2438. UI::SET_BLIP_AS_FRIENDLY(l_52, 0);
  2439. }
  2440. ENTITY::CLEAR_ENTITY_LAST_DAMAGE_ENTITY(l_48);
  2441. }
  2442. }
  2443.  
  2444. var sub_35A2()
  2445. {
  2446. if (((ENTITY::IS_ENTITY_DEAD(l_47) == 0) && (l_67 != 0)) && ((ENTITY::IS_ENTITY_TOUCHING_ENTITY(PLAYER::PLAYER_PED_ID(), l_47) != 0) && ((GAMEPLAY::GET_GAME_TIMER() - l_269) > 1000)))
  2447. {
  2448. sub_35E4();
  2449. }
  2450. if (l_268 >= 3)
  2451. {
  2452. return 1;
  2453. }
  2454. return 0;
  2455. }
  2456.  
  2457. void sub_35E4()
  2458. {
  2459. if ((sub_3FA0() == 0) && (l_268 < 3))
  2460. {
  2461. AI::TASK_LOOK_AT_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), 6000, 2048, 2);
  2462. sub_3A08(&l_71, "REARRAU", "REARR_PLEAVE", 4, l_247, 0, 0);
  2463. }
  2464. l_268++;
  2465. l_269 = GAMEPLAY::GET_GAME_TIMER();
  2466. }
  2467.  
  2468. var sub_362D()
  2469. {
  2470. if ((PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0) && (ENTITY::IS_ENTITY_TOUCHING_ENTITY(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0), l_48) != 0))
  2471. {
  2472. if ((l_67 != 0) && (l_45 != 7))
  2473. {
  2474. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  2475. struct _s = &l_61;
  2476. if (SYSTEM::VDIST(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) > 2.5f)
  2477. {
  2478. return 1;
  2479. }
  2480. }
  2481. else
  2482. {
  2483. return 1;
  2484. }
  2485. }
  2486. if ((l_67 != 0) && (ENTITY::IS_ENTITY_TOUCHING_ENTITY(PLAYER::PLAYER_PED_ID(), l_48) != 0))
  2487. {
  2488. if (PED::IS_PED_RAGDOLL(l_48) != 0)
  2489. {
  2490. if (l_45 == 7)
  2491. {
  2492. return 1;
  2493. }
  2494. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  2495. struct _s = &l_61;
  2496. if (SYSTEM::VDIST(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) > 2.5f)
  2497. {
  2498. return 1;
  2499. }
  2500. }
  2501. else if ((l_67 != 0) && ((GAMEPLAY::GET_GAME_TIMER() - l_269) > 1000))
  2502. {
  2503. sub_35E4();
  2504. }
  2505. }
  2506. if (l_268 >= 3)
  2507. {
  2508. return 1;
  2509. }
  2510. return 0;
  2511. }
  2512.  
  2513. void sub_36F2()
  2514. {
  2515. if (l_68 == 0)
  2516. {
  2517. switch (l_238)
  2518. {
  2519. case 0:
  2520. if ((l_54 == 0) && (SYSTEM::TIMERA() > 0x13880))
  2521. {
  2522. if ((PED::IS_PED_INJURED(l_47) == 0) && (PED::IS_PED_INJURED(l_48) == 0))
  2523. {
  2524. sub_3063();
  2525. SYSTEM::WAIT(0);
  2526. sub_3A08(&l_71, "REARRAU", "REARR_PRAD3", 4, l_247, 0, 0);
  2527. }
  2528. l_238 = 1;
  2529. }
  2530. break;
  2531. case 1:
  2532. if (sub_3FA0() != 0)
  2533. {
  2534. break;
  2535. }
  2536. if (PED::IS_PED_INJURED(l_48) == 0)
  2537. {
  2538. if (ENTITY::IS_ENTITY_PLAYING_ANIM(l_48, l_251, "kneeling_arrest_idle", 3) == 0)
  2539. {
  2540. AI::TASK_SMART_FLEE_PED(l_48, l_47, 150f, -1, 0, 0);
  2541. }
  2542. else
  2543. {
  2544. AI::OPEN_SEQUENCE_TASK(&l_66);
  2545. AI::TASK_PLAY_ANIM(0, l_251, "kneeling_arrest_escape", 8f, -8f, -1, 4096, 0, 0, 0, 0);
  2546. AI::TASK_SMART_FLEE_PED(0, l_47, 150f, -1, 0, 0);
  2547. AI::CLOSE_SEQUENCE_TASK(l_66);
  2548. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  2549. AI::CLEAR_SEQUENCE_TASK(&l_66);
  2550. PED::FORCE_PED_MOTION_STATE(l_48, 0xFFF7E7A4, 0, 0, 0);
  2551. PED::SET_PED_KEEP_TASK(l_48, 1);
  2552. }
  2553. PED::SET_PED_KEEP_TASK(l_48, 1);
  2554. ENTITY::SET_ENTITY_HEALTH(l_48, 101);
  2555. sub_3A08(&l_71, "REARRAU", l_262, 4, l_247, 0, 0);
  2556. l_238 = 2;
  2557. }
  2558. if (PED::IS_PED_INJURED(l_47) == 0)
  2559. {
  2560. AI::CLEAR_PED_TASKS(l_47);
  2561. l_238 = 2;
  2562. }
  2563. return;
  2564. case 2:
  2565. if (PED::IS_PED_INJURED(l_47) == 0)
  2566. {
  2567. if (PED::IS_PED_INJURED(l_48) != 0)
  2568. {
  2569. AI::TASK_WANDER_STANDARD(l_47, 0x471C4000, 0);
  2570. sub_82F9();
  2571. }
  2572. else
  2573. {
  2574. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_65, l_64);
  2575. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_64, l_65);
  2576. AI::TASK_COMBAT_PED(l_47, l_48, 0, 16);
  2577. }
  2578. PED::SET_PED_KEEP_TASK(l_47, 1);
  2579. }
  2580. l_68 = 1;
  2581. return;
  2582. }
  2583. }
  2584. }
  2585.  
  2586. var sub_387B(var A_0, var A_1)
  2587. {
  2588. var num3;
  2589. var num6;
  2590. var num9;
  2591. var num12;
  2592. var num15;
  2593. if (VEHICLE::IS_VEHICLE_DRIVEABLE(A_1, 0) == 0)
  2594. {
  2595. return -1;
  2596. }
  2597. if (PED::IS_PED_INJURED(A_0) == 0)
  2598. {
  2599. struct _s = ENTITY::GET_ENTITY_COORDS(A_0, 1);
  2600. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num3);
  2601. }
  2602. else
  2603. {
  2604. return -1;
  2605. }
  2606. struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(A_1, 1f, -0.5f, 0f);
  2607. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num6);
  2608. struct _s = &num6;
  2609. struct _s = &num3;
  2610. struct _s = vsub(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
  2611. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num12);
  2612. struct _s = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(A_1, -1f, -0.5f, 0f);
  2613. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num9);
  2614. struct _s = &num9;
  2615. struct _s = &num3;
  2616. struct _s = vsub(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8));
  2617. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num15);
  2618. struct _s = &num12;
  2619. struct _s = &num15;
  2620. if (SYSTEM::VMAG(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) < SYSTEM::VMAG(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)))
  2621. {
  2622. return 2;
  2623. }
  2624. return 1;
  2625. }
  2626.  
  2627. void sub_3908()
  2628. {
  2629. if (sub_3FA0() == 0)
  2630. {
  2631. if (l_286 == 0)
  2632. {
  2633. if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 30f, 30f, 30f, 0, 1, 0) != 0)
  2634. {
  2635. sub_3A08(&l_71, "REARRAU", "REARR_PSTOP", 4, l_247, 0, 0);
  2636. l_286 = 1;
  2637. SYSTEM::SETTIMERB(0);
  2638. }
  2639. }
  2640. else if (SYSTEM::TIMERB() > 8000)
  2641. {
  2642. if (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 99) > 50)
  2643. {
  2644. sub_3A08(&l_71, "REARRAU", "REARR_PRAND", 4, l_247, 0, 0);
  2645. }
  2646. else if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_48, 10f, 10f, 10f, 0, 1, 0) != 0)
  2647. {
  2648. sub_3A08(&l_71, "REARRAU", l_261, 4, l_247, 0, 0);
  2649. }
  2650. else if (ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, 10f, 10f, 10f, 0, 1, 0) != 0)
  2651. {
  2652. sub_3A08(&l_71, "REARRAU", l_261, 4, l_247, 0, 0);
  2653. }
  2654. else
  2655. {
  2656. sub_3A08(&l_71, "REARRAU", l_265, 4, l_247, 0, 0);
  2657. }
  2658. SYSTEM::SETTIMERB(0);
  2659. }
  2660. }
  2661. }
  2662.  
  2663. var sub_3A08(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6)
  2664. {
  2665. sub_3F4A(A_0, 143, A_1, A_4, A_5, A_6);
  2666. if (A_3 > 7)
  2667. {
  2668. A_3 = 7;
  2669. }
  2670. g_11735 = 0;
  2671. g_11737 = 0;
  2672. g_11742 = 0;
  2673. g_12699 = 0;
  2674. g_12701 = 0;
  2675. g_12705 = 0;
  2676. return sub_3A4A(A_2, A_3, 0);
  2677. }
  2678.  
  2679. var sub_3A4A(var A_0, var A_1, var A_2)
  2680. {
  2681. g_11729 = 0;
  2682. bool flag1 = g_11728 == 0;
  2683. if (!(flag1 | (g_11730 == 2)))
  2684. {
  2685. if (g_11728 != 5)
  2686. {
  2687. bool flag2 = A_1 < g_11730;
  2688. if (flag2 | (A_1 == g_11730))
  2689. {
  2690. return 0;
  2691. }
  2692. if (A_1 != 2)
  2693. {
  2694. sub_3073();
  2695. }
  2696. }
  2697. return 0;
  2698. }
  2699. if (g_11728 != 0)
  2700. {
  2701. if (A_1 <= g_11730)
  2702. {
  2703. return 0;
  2704. }
  2705. if (g_11735 != 0)
  2706. {
  2707. sub_3073();
  2708. return 0;
  2709. }
  2710. AUDIO::STOP_SCRIPTED_CONVERSATION(0);
  2711. wPtr(3, (&g_10433) + 1);
  2712. g_11728 = 0;
  2713. g_11729 = 1;
  2714. g_11761 = 0;
  2715. g_11724 = 0;
  2716. g_11725 = 0;
  2717. g_11739 = 0;
  2718. }
  2719. if (AUDIO::IS_SCRIPTED_CONVERSATION_ONGOING() != 0)
  2720. {
  2721. return 0;
  2722. }
  2723. if (sub_3F0F(8, -1) != 0)
  2724. {
  2725. return 0;
  2726. }
  2727. struct _s = &g_11778;
  2728. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11784);
  2729. sub_3EB7();
  2730. struct _s = &g_11182;
  2731. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), rPtrOfs(_s, 24), rPtrOfs(_s, 28), rPtrOfs(_s, 32), rPtrOfs(_s, 36), rPtrOfs(_s, 40), rPtrOfs(_s, 44), rPtrOfs(_s, 48), rPtrOfs(_s, 52), rPtrOfs(_s, 56), rPtrOfs(_s, 60), rPtrOfs(_s, 64), rPtrOfs(_s, 68), rPtrOfs(_s, 72), rPtrOfs(_s, 76), rPtrOfs(_s, 80), rPtrOfs(_s, 84), rPtrOfs(_s, 88), rPtrOfs(_s, 92), rPtrOfs(_s, 96), rPtrOfs(_s, 100), rPtrOfs(_s, 104), rPtrOfs(_s, 108), rPtrOfs(_s, 112), rPtrOfs(_s, 116), rPtrOfs(_s, 120), rPtrOfs(_s, 124), rPtrOfs(_s, 128), rPtrOfs(_s, 132), rPtrOfs(_s, 136), rPtrOfs(_s, 140), rPtrOfs(_s, 144), rPtrOfs(_s, 148), rPtrOfs(_s, 152), rPtrOfs(_s, 156), rPtrOfs(_s, 160), rPtrOfs(_s, 164), rPtrOfs(_s, 168), rPtrOfs(_s, 172), rPtrOfs(_s, 176), rPtrOfs(_s, 180), rPtrOfs(_s, 184), rPtrOfs(_s, 188), rPtrOfs(_s, 192), rPtrOfs(_s, 196), rPtrOfs(_s, 200), rPtrOfs(_s, 204), rPtrOfs(_s, 208), rPtrOfs(_s, 212), rPtrOfs(_s, 216), rPtrOfs(_s, 220), rPtrOfs(_s, 224), rPtrOfs(_s, 228), rPtrOfs(_s, 232), rPtrOfs(_s, 236), rPtrOfs(_s, 240), rPtrOfs(_s, 244), rPtrOfs(_s, 248), rPtrOfs(_s, 252), rPtrOfs(_s, 256), rPtrOfs(_s, 260), rPtrOfs(_s, 264), rPtrOfs(_s, 268), rPtrOfs(_s, 272), rPtrOfs(_s, 276), rPtrOfs(_s, 280), rPtrOfs(_s, 284), rPtrOfs(_s, 288), rPtrOfs(_s, 292), rPtrOfs(_s, 296), rPtrOfs(_s, 300), rPtrOfs(_s, 304), rPtrOfs(_s, 308), rPtrOfs(_s, 312), rPtrOfs(_s, 316), rPtrOfs(_s, 320), rPtrOfs(_s, 324), rPtrOfs(_s, 328), rPtrOfs(_s, 332), rPtrOfs(_s, 336), rPtrOfs(_s, 340), rPtrOfs(_s, 344), rPtrOfs(_s, 348), rPtrOfs(_s, 352), rPtrOfs(_s, 356), rPtrOfs(_s, 360), rPtrOfs(_s, 364), rPtrOfs(_s, 368), rPtrOfs(_s, 372), rPtrOfs(_s, 376), rPtrOfs(_s, 380), rPtrOfs(_s, 384), rPtrOfs(_s, 388), rPtrOfs(_s, 392), rPtrOfs(_s, 396), rPtrOfs(_s, 400), rPtrOfs(_s, 404), rPtrOfs(_s, 408), rPtrOfs(_s, 412), rPtrOfs(_s, 416), rPtrOfs(_s, 420), rPtrOfs(_s, 424), rPtrOfs(_s, 428), rPtrOfs(_s, 432), rPtrOfs(_s, 436), rPtrOfs(_s, 440), rPtrOfs(_s, 444), rPtrOfs(_s, 448), rPtrOfs(_s, 452), rPtrOfs(_s, 456), rPtrOfs(_s, 460), rPtrOfs(_s, 464), rPtrOfs(_s, 468), rPtrOfs(_s, 472), rPtrOfs(_s, 476), rPtrOfs(_s, 480), rPtrOfs(_s, 484), rPtrOfs(_s, 488), rPtrOfs(_s, 492), rPtrOfs(_s, 496), rPtrOfs(_s, 500), rPtrOfs(_s, 504), rPtrOfs(_s, 508), rPtrOfs(_s, 512), rPtrOfs(_s, 516), rPtrOfs(_s, 520), rPtrOfs(_s, 524), rPtrOfs(_s, 528), rPtrOfs(_s, 532), rPtrOfs(_s, 536), rPtrOfs(_s, 540), rPtrOfs(_s, 544), rPtrOfs(_s, 548), rPtrOfs(_s, 552), rPtrOfs(_s, 556), rPtrOfs(_s, 560), rPtrOfs(_s, 564), rPtrOfs(_s, 568), rPtrOfs(_s, 572), rPtrOfs(_s, 576), rPtrOfs(_s, 580), rPtrOfs(_s, 584), rPtrOfs(_s, 588), rPtrOfs(_s, 592), rPtrOfs(_s, 596), rPtrOfs(_s, 600), rPtrOfs(_s, 604), rPtrOfs(_s, 608), rPtrOfs(_s, 612), rPtrOfs(_s, 616), rPtrOfs(_s, 620), rPtrOfs(_s, 624), rPtrOfs(_s, 628), rPtrOfs(_s, 632), rPtrOfs(_s, 636), rPtrOfs(_s, 640), rPtrOfs(_s, 644), rPtrOfs(_s, 648), rPtrOfs(_s, 652), rPtrOfs(_s, 656), 165, &g_11017);
  2732. g_11734 = g_11735;
  2733. g_11741 = g_11742;
  2734. struct _s = &g_11749;
  2735. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11743);
  2736. g_11736 = g_11737;
  2737. g_12698 = g_12699;
  2738. struct _s = &g_12712;
  2739. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_12706);
  2740. g_12700 = g_12701;
  2741. g_12702 = g_12703;
  2742. g_12704 = g_12705;
  2743. wPtr(g_12697, (&g_11347) + 370);
  2744. wPtr(g_12695, (&g_11347) + 368);
  2745. wPtr(g_12696, (&g_11347) + 369);
  2746. g_11724 = g_11725;
  2747. if (g_11734 != 0)
  2748. {
  2749. GAMEPLAY::CLEAR_BIT(&g_1686, 20);
  2750. GAMEPLAY::CLEAR_BIT(&g_1687, 17);
  2751. GAMEPLAY::CLEAR_BIT(&g_1688, 0);
  2752. if (A_2 != null)
  2753. {
  2754. sub_3E87();
  2755. if ((rPtr(getElemPtr(0, getElemPtr(g_10433, &g_2480, 7872), 1124) + 1036) == 2) && (A_1 != 13))
  2756. {
  2757. return 0;
  2758. }
  2759. if (rPtr((&g_10433) + 1) > 3)
  2760. {
  2761. return 0;
  2762. }
  2763. }
  2764. if (g_10399 == 1)
  2765. {
  2766. return 0;
  2767. }
  2768. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0)
  2769. {
  2770. if (PED::IS_PED_IN_MELEE_COMBAT(PLAYER::PLAYER_PED_ID()) != 0)
  2771. {
  2772. return 0;
  2773. }
  2774. if (sub_3DEF() != 0)
  2775. {
  2776. return 0;
  2777. }
  2778. if (AI::IS_PED_SPRINTING(PLAYER::PLAYER_PED_ID()) != 0)
  2779. {
  2780. return 0;
  2781. }
  2782. if (PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID()) != 0)
  2783. {
  2784. return 0;
  2785. }
  2786. if (PED::0xCD71F11B(PLAYER::PLAYER_PED_ID()) != 0)
  2787. {
  2788. return 0;
  2789. }
  2790. if (WEAPON::0x8DDD0B5B(PLAYER::PLAYER_PED_ID(), 0xFBAB5776) != 0)
  2791. {
  2792. return 0;
  2793. }
  2794. if (g_59842 == 0)
  2795. {
  2796. if (ENTITY::IS_ENTITY_IN_WATER(PLAYER::PLAYER_PED_ID()) != 0)
  2797. {
  2798. return 0;
  2799. }
  2800. if (PLAYER::IS_PLAYER_CLIMBING(PLAYER::PLAYER_ID()) != 0)
  2801. {
  2802. return 0;
  2803. }
  2804. if (PED::IS_PED_PLANTING_BOMB(PLAYER::PLAYER_PED_ID()) != 0)
  2805. {
  2806. return 0;
  2807. }
  2808. if (PLAYER::IS_SPECIAL_ABILITY_ACTIVE(PLAYER::PLAYER_ID()) != 0)
  2809. {
  2810. return 0;
  2811. }
  2812. }
  2813. }
  2814. if (sub_3DC8() != 0)
  2815. {
  2816. return 0;
  2817. }
  2818. switch (rPtr((&g_10433) + 1))
  2819. {
  2820. case 7:
  2821. return 0;
  2822. case 8:
  2823. return 0;
  2824. }
  2825. if (GAMEPLAY::IS_BIT_SET(g_1686, 9) != 0)
  2826. {
  2827. return 0;
  2828. }
  2829. sub_3D35();
  2830. g_11738 = A_2;
  2831. }
  2832. g_11730 = A_1;
  2833. strcpy(A_0, &g_11347, 24);
  2834. g_10594 = 0;
  2835. sub_3D03();
  2836. return 1;
  2837. }
  2838.  
  2839. void sub_3D03()
  2840. {
  2841. var num3 = 0;
  2842. while (true)
  2843. {
  2844. if (num3 > 69)
  2845. {
  2846. break;
  2847. }
  2848. strcpy("", getElemPtr(num3, &g_10596, 24), 24);
  2849. num3++;
  2850. }
  2851. AUDIO::STOP_SCRIPTED_CONVERSATION(0);
  2852. g_11728 = 1;
  2853. }
  2854.  
  2855. void sub_3D35()
  2856. {
  2857. g_11761 = g_11760;
  2858. g_11755 = g_11756;
  2859. struct _s = &g_11790;
  2860. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11802);
  2861. struct _s = &g_11796;
  2862. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11808);
  2863. g_11763 = g_11762;
  2864. struct _s = &g_11814;
  2865. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11832);
  2866. struct _s = &g_11820;
  2867. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11838);
  2868. struct _s = &g_11826;
  2869. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11844);
  2870. struct _s = &g_11856;
  2871. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11850);
  2872. g_1477 = g_1478;
  2873. g_1479 = g_1480;
  2874. g_11739 = g_11740;
  2875. g_11741 = g_11742;
  2876. struct _s = &g_11749;
  2877. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), 6, &g_11743);
  2878. g_11732 = g_11733;
  2879. g_12724 = 0;
  2880. g_11757 = 0;
  2881. g_11758 = 0;
  2882. GAMEPLAY::CLEAR_BIT(&g_1687, 16);
  2883. }
  2884.  
  2885. var sub_3DC8()
  2886. {
  2887. bool flag1 = rPtr((&g_10433) + 1) == 1;
  2888. if (flag1 | (rPtr((&g_10433) + 1) == 0))
  2889. {
  2890. return 1;
  2891. }
  2892. return 0;
  2893. }
  2894.  
  2895. var sub_3DEF()
  2896. {
  2897. if (g_59842 != 0)
  2898. {
  2899. var num4;
  2900. var num3 = 0;
  2901. WEAPON::GET_CURRENT_PED_WEAPON(PLAYER::PLAYER_PED_ID(), &num4, 1);
  2902. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0)
  2903. {
  2904. bool flag1 = num4 == 0x5FC3C11;
  2905. bool flag2 = flag1 | (num4 == 0xC472FE2);
  2906. if (flag2 | (num4 == 0x33058E22))
  2907. {
  2908. num3 = 1;
  2909. }
  2910. }
  2911. var num1 = CAM::IS_AIM_CAM_ACTIVE();
  2912. if ((num1 & (num3 == 1)) != 0)
  2913. {
  2914. return 1;
  2915. }
  2916. return 0;
  2917. }
  2918. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0)
  2919. {
  2920. if (PED::GET_PED_CONFIG_FLAG(PLAYER::PLAYER_PED_ID(), 78, 1) != 0)
  2921. {
  2922. return 1;
  2923. }
  2924. return 0;
  2925. }
  2926. return 1;
  2927. }
  2928.  
  2929. void sub_3E87()
  2930. {
  2931. g_10433 = sub_29C1();
  2932. if (g_10433 == 143)
  2933. {
  2934. g_10433 = 3;
  2935. }
  2936. if (g_59842 != 0)
  2937. {
  2938. g_10433 = 3;
  2939. }
  2940. if (g_10433 > 3)
  2941. {
  2942. g_10433 = 3;
  2943. }
  2944. }
  2945.  
  2946. void sub_3EB7()
  2947. {
  2948. var num3 = 0;
  2949. while (true)
  2950. {
  2951. if (num3 > 15)
  2952. {
  2953. break;
  2954. }
  2955. setElem(0, num3, &g_11017, 40);
  2956. strcpy("", getElemPtr(num3, &g_11017, 40) + 4, 24);
  2957. wPtr(0, getElemPtr(num3, &g_11017, 40) + 28);
  2958. wPtr(0, getElemPtr(num3, &g_11017, 40) + 32);
  2959. num3++;
  2960. }
  2961. wPtr(-99, (&g_11017) + 161);
  2962. setStruct(0f, 0f, 0f, 3, (&g_11017) + 162);
  2963. }
  2964.  
  2965. var sub_3F0F(var A_0, var A_1)
  2966. {
  2967. switch (A_0)
  2968. {
  2969. case 5:
  2970. if (A_1 <= -1)
  2971. {
  2972. break;
  2973. }
  2974. return getElem(A_1, (&g_1355279) + 147, 4);
  2975. }
  2976. return GAMEPLAY::IS_BIT_SET(rPtr((&g_1355279) + 566), A_0);
  2977. }
  2978.  
  2979. void sub_3F4A(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
  2980. {
  2981. struct _s = A_0;
  2982. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), rPtrOfs(_s, 24), rPtrOfs(_s, 28), rPtrOfs(_s, 32), rPtrOfs(_s, 36), rPtrOfs(_s, 40), rPtrOfs(_s, 44), rPtrOfs(_s, 48), rPtrOfs(_s, 52), rPtrOfs(_s, 56), rPtrOfs(_s, 60), rPtrOfs(_s, 64), rPtrOfs(_s, 68), rPtrOfs(_s, 72), rPtrOfs(_s, 76), rPtrOfs(_s, 80), rPtrOfs(_s, 84), rPtrOfs(_s, 88), rPtrOfs(_s, 92), rPtrOfs(_s, 96), rPtrOfs(_s, 100), rPtrOfs(_s, 104), rPtrOfs(_s, 108), rPtrOfs(_s, 112), rPtrOfs(_s, 116), rPtrOfs(_s, 120), rPtrOfs(_s, 124), rPtrOfs(_s, 128), rPtrOfs(_s, 132), rPtrOfs(_s, 136), rPtrOfs(_s, 140), rPtrOfs(_s, 144), rPtrOfs(_s, 148), rPtrOfs(_s, 152), rPtrOfs(_s, 156), rPtrOfs(_s, 160), rPtrOfs(_s, 164), rPtrOfs(_s, 168), rPtrOfs(_s, 172), rPtrOfs(_s, 176), rPtrOfs(_s, 180), rPtrOfs(_s, 184), rPtrOfs(_s, 188), rPtrOfs(_s, 192), rPtrOfs(_s, 196), rPtrOfs(_s, 200), rPtrOfs(_s, 204), rPtrOfs(_s, 208), rPtrOfs(_s, 212), rPtrOfs(_s, 216), rPtrOfs(_s, 220), rPtrOfs(_s, 224), rPtrOfs(_s, 228), rPtrOfs(_s, 232), rPtrOfs(_s, 236), rPtrOfs(_s, 240), rPtrOfs(_s, 244), rPtrOfs(_s, 248), rPtrOfs(_s, 252), rPtrOfs(_s, 256), rPtrOfs(_s, 260), rPtrOfs(_s, 264), rPtrOfs(_s, 268), rPtrOfs(_s, 272), rPtrOfs(_s, 276), rPtrOfs(_s, 280), rPtrOfs(_s, 284), rPtrOfs(_s, 288), rPtrOfs(_s, 292), rPtrOfs(_s, 296), rPtrOfs(_s, 300), rPtrOfs(_s, 304), rPtrOfs(_s, 308), rPtrOfs(_s, 312), rPtrOfs(_s, 316), rPtrOfs(_s, 320), rPtrOfs(_s, 324), rPtrOfs(_s, 328), rPtrOfs(_s, 332), rPtrOfs(_s, 336), rPtrOfs(_s, 340), rPtrOfs(_s, 344), rPtrOfs(_s, 348), rPtrOfs(_s, 352), rPtrOfs(_s, 356), rPtrOfs(_s, 360), rPtrOfs(_s, 364), rPtrOfs(_s, 368), rPtrOfs(_s, 372), rPtrOfs(_s, 376), rPtrOfs(_s, 380), rPtrOfs(_s, 384), rPtrOfs(_s, 388), rPtrOfs(_s, 392), rPtrOfs(_s, 396), rPtrOfs(_s, 400), rPtrOfs(_s, 404), rPtrOfs(_s, 408), rPtrOfs(_s, 412), rPtrOfs(_s, 416), rPtrOfs(_s, 420), rPtrOfs(_s, 424), rPtrOfs(_s, 428), rPtrOfs(_s, 432), rPtrOfs(_s, 436), rPtrOfs(_s, 440), rPtrOfs(_s, 444), rPtrOfs(_s, 448), rPtrOfs(_s, 452), rPtrOfs(_s, 456), rPtrOfs(_s, 460), rPtrOfs(_s, 464), rPtrOfs(_s, 468), rPtrOfs(_s, 472), rPtrOfs(_s, 476), rPtrOfs(_s, 480), rPtrOfs(_s, 484), rPtrOfs(_s, 488), rPtrOfs(_s, 492), rPtrOfs(_s, 496), rPtrOfs(_s, 500), rPtrOfs(_s, 504), rPtrOfs(_s, 508), rPtrOfs(_s, 512), rPtrOfs(_s, 516), rPtrOfs(_s, 520), rPtrOfs(_s, 524), rPtrOfs(_s, 528), rPtrOfs(_s, 532), rPtrOfs(_s, 536), rPtrOfs(_s, 540), rPtrOfs(_s, 544), rPtrOfs(_s, 548), rPtrOfs(_s, 552), rPtrOfs(_s, 556), rPtrOfs(_s, 560), rPtrOfs(_s, 564), rPtrOfs(_s, 568), rPtrOfs(_s, 572), rPtrOfs(_s, 576), rPtrOfs(_s, 580), rPtrOfs(_s, 584), rPtrOfs(_s, 588), rPtrOfs(_s, 592), rPtrOfs(_s, 596), rPtrOfs(_s, 600), rPtrOfs(_s, 604), rPtrOfs(_s, 608), rPtrOfs(_s, 612), rPtrOfs(_s, 616), rPtrOfs(_s, 620), rPtrOfs(_s, 624), rPtrOfs(_s, 628), rPtrOfs(_s, 632), rPtrOfs(_s, 636), rPtrOfs(_s, 640), rPtrOfs(_s, 644), rPtrOfs(_s, 648), rPtrOfs(_s, 652), rPtrOfs(_s, 656), 165, &g_11182);
  2983. g_1478 = A_1;
  2984. strcpy(A_2, &g_11778, 24);
  2985. g_12697 = A_5;
  2986. if (A_3 == 0)
  2987. {
  2988. g_12695 = 1;
  2989. g_12693 = 0;
  2990. }
  2991. else
  2992. {
  2993. g_12695 = 0;
  2994. g_12693 = 1;
  2995. }
  2996. if (A_4 == 0)
  2997. {
  2998. g_12696 = 1;
  2999. g_12694 = 0;
  3000. }
  3001. else
  3002. {
  3003. g_12696 = 0;
  3004. g_12694 = 1;
  3005. }
  3006. }
  3007.  
  3008. var sub_3FA0()
  3009. {
  3010. bool flag1 = g_11728 != 0;
  3011. if (flag1 | AUDIO::IS_SCRIPTED_CONVERSATION_ONGOING())
  3012. {
  3013. return 1;
  3014. }
  3015. return 0;
  3016. }
  3017.  
  3018. var sub_3FC2()
  3019. {
  3020. var num1 = ENTITY::IS_ENTITY_AT_ENTITY(l_48, l_47, 3.5f, 3.5f, 3.5f, 0, 1, 0);
  3021. if (((num1 | sub_4055()) != 0) && (sub_4004(0x3F666666) == 0))
  3022. {
  3023. return 1;
  3024. }
  3025. return 0;
  3026. }
  3027.  
  3028. var sub_4004(var A_0)
  3029. {
  3030. var num3;
  3031. var num4;
  3032. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  3033. if (GAMEPLAY::0x64D91CED(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), &num3, &num4) != 0)
  3034. {
  3035. struct _s = &num4;
  3036. if (sub_4034(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0f, 0f, 1f) < A_0)
  3037. {
  3038. return 1;
  3039. }
  3040. }
  3041. return 0;
  3042. }
  3043.  
  3044. var sub_4034(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
  3045. {
  3046. return (((A_0 * A_3) + (rPtr((&A_0) + 4) * rPtr((&A_3) + 4))) + (rPtr((&A_0) + 8) * rPtr((&A_3) + 8)));
  3047. }
  3048.  
  3049. var sub_4055()
  3050. {
  3051. return 0;
  3052. }
  3053.  
  3054. void sub_405E()
  3055. {
  3056. if ((GAMEPLAY::GET_GAME_TIMER() - l_246) > 500)
  3057. {
  3058. bool flag1 = l_42 != 1;
  3059. bool flag2 = flag1 & (l_42 != 3);
  3060. if (flag2 & (l_42 != 2))
  3061. {
  3062. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  3063. {
  3064. UI::SET_BLIP_AS_FRIENDLY(l_52, l_241);
  3065. if (l_241 == 1)
  3066. {
  3067. l_241 = 0;
  3068. }
  3069. else
  3070. {
  3071. l_241 = 1;
  3072. }
  3073. }
  3074. }
  3075. else
  3076. {
  3077. l_281 = 1;
  3078. }
  3079. if (l_54 == 0)
  3080. {
  3081. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  3082. {
  3083. UI::SET_BLIP_AS_FRIENDLY(l_51, l_242);
  3084. if (l_242 == 1)
  3085. {
  3086. l_242 = 0;
  3087. }
  3088. else
  3089. {
  3090. l_242 = 1;
  3091. }
  3092. }
  3093. }
  3094. else
  3095. {
  3096. l_281 = 1;
  3097. }
  3098. l_246 = GAMEPLAY::GET_GAME_TIMER();
  3099. }
  3100. if (l_282 != l_281)
  3101. {
  3102. if (l_281 != 0)
  3103. {
  3104. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  3105. {
  3106. UI::0x1D99F676(l_52, 1);
  3107. }
  3108. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  3109. {
  3110. UI::0x1D99F676(l_51, 1);
  3111. }
  3112. }
  3113. else
  3114. {
  3115. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  3116. {
  3117. UI::0x1D99F676(l_52, 0);
  3118. }
  3119. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  3120. {
  3121. UI::0x1D99F676(l_51, 0);
  3122. }
  3123. }
  3124. l_282 = l_281;
  3125. }
  3126. }
  3127.  
  3128. var sub_4140(var A_0)
  3129. {
  3130. var num4;
  3131. var num5;
  3132. var num3 = 0;
  3133. setStruct(A_0, A_0, 50f, 3, &num5);
  3134. struct _s = &l_272;
  3135. struct _s = &l_275;
  3136. if (ENTITY::IS_ENTITY_IN_ANGLED_AREA(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 194.75f, 0, 1, 0) != 0)
  3137. {
  3138. return 1;
  3139. }
  3140. if (PED::IS_PED_INJURED(l_47) == 0)
  3141. {
  3142. struct _s = &num5;
  3143. if (ENTITY::IS_ENTITY_AT_ENTITY(l_47, PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0, 1, 0) != 0)
  3144. {
  3145. num3 = 1;
  3146. }
  3147. else
  3148. {
  3149. num4++;
  3150. }
  3151. }
  3152. else
  3153. {
  3154. num4++;
  3155. }
  3156. if (PED::IS_PED_INJURED(l_48) == 0)
  3157. {
  3158. struct _s = &num5;
  3159. if (ENTITY::IS_ENTITY_AT_ENTITY(l_48, PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0, 1, 0) != 0)
  3160. {
  3161. num3 = 1;
  3162. }
  3163. else
  3164. {
  3165. num4++;
  3166. }
  3167. }
  3168. else
  3169. {
  3170. num4++;
  3171. }
  3172. if (num4 == 2)
  3173. {
  3174. num3 = 0;
  3175. }
  3176. return num3;
  3177. }
  3178.  
  3179. var sub_41EA(var A_0)
  3180. {
  3181. if (sub_43A3() == 0)
  3182. {
  3183. return 0;
  3184. }
  3185. g_86831 = 1;
  3186. g_86828 = GAMEPLAY::GET_GAME_TIMER();
  3187. if (sub_4379(g_86830) != 0)
  3188. {
  3189. sub_423D(0);
  3190. }
  3191. UI::SET_MISSION_NAME(1, "RE_TITLE");
  3192. if ((A_0 & sub_4379(g_86830)) != null)
  3193. {
  3194. UI::FLASH_MINIMAP_DISPLAY();
  3195. }
  3196. return 1;
  3197. }
  3198.  
  3199. void sub_423D(var A_0)
  3200. {
  3201. switch (A_0)
  3202. {
  3203. case 0:
  3204. if ((rPtr(((&g_86838) + 23510) + 2) < 3) && (UI::IS_HELP_MESSAGE_ON_SCREEN() == 0))
  3205. {
  3206. sub_431E(sub_4335(A_0), -1);
  3207. wPtr(rPtr(((&g_86838) + 23510) + 2) + 1, ((&g_86838) + 23510) + 2);
  3208. GAMEPLAY::SET_BIT(&g_86837, 0);
  3209. }
  3210. break;
  3211. case 1:
  3212. if ((GAMEPLAY::IS_BIT_SET(g_86837, 1) == 0) && (UI::IS_HELP_MESSAGE_ON_SCREEN() == 0))
  3213. {
  3214. sub_431E(sub_4335(A_0), -1);
  3215. wPtr(rPtr(((&g_86838) + 23510) + 3) + 1, ((&g_86838) + 23510) + 3);
  3216. GAMEPLAY::SET_BIT(&g_86837, 1);
  3217. }
  3218. break;
  3219. case 2:
  3220. if ((GAMEPLAY::IS_BIT_SET(g_86837, 2) == 0) && (UI::IS_HELP_MESSAGE_ON_SCREEN() == 0))
  3221. {
  3222. sub_431E(sub_4335(A_0), -1);
  3223. wPtr(rPtr(((&g_86838) + 23510) + 4) + 1, ((&g_86838) + 23510) + 4);
  3224. GAMEPLAY::SET_BIT(&g_86837, 2);
  3225. }
  3226. break;
  3227. }
  3228. }
  3229.  
  3230. void sub_431E(var A_0, var A_1)
  3231. {
  3232. UI::0xB245FC10(A_0);
  3233. UI::0xB59B530D(0, 0, 1, A_1);
  3234. }
  3235.  
  3236. var sub_4335(var A_0)
  3237. {
  3238. var num3 = "";
  3239. switch (A_0)
  3240. {
  3241. case 0:
  3242. num3 = "AM_H_REFS";
  3243. break;
  3244. case 1:
  3245. num3 = "RE_FLASHBLIP";
  3246. break;
  3247. case 2:
  3248. num3 = "RE_HANDOVER";
  3249. break;
  3250. }
  3251. return num3;
  3252. }
  3253.  
  3254. var sub_4379(var A_0)
  3255. {
  3256. bool flag1 = A_0 != 29;
  3257. bool flag2 = flag1 & (A_0 != 30);
  3258. bool flag3 = flag2 & (A_0 != 2);
  3259. return (flag3 & (A_0 != 18));
  3260. }
  3261.  
  3262. var sub_43A3()
  3263. {
  3264. switch (sub_43D9(&g_19514, 0, 5, 0, SCRIPT::GET_ID_OF_THIS_THREAD()))
  3265. {
  3266. case 1:
  3267. return 1;
  3268. case 0:
  3269. return 1;
  3270. }
  3271. return 0;
  3272. }
  3273.  
  3274. var sub_43D9(var A_0, var A_1, var A_2, var A_3, var A_4)
  3275. {
  3276. if (A_1 == 7)
  3277. {
  3278. return 0;
  3279. }
  3280. if ((A_3 != 0) || (rPtr((&g_79091) + 44) != 1))
  3281. {
  3282. if (A_1 == 0)
  3283. {
  3284. if (sub_46E6(0) != 0)
  3285. {
  3286. return 0;
  3287. }
  3288. g_29778++;
  3289. wPtr(g_29778, A_0);
  3290. PLAYER::SET_PLAYER_INVINCIBLE(PLAYER::GET_PLAYER_INDEX(), 0);
  3291. wPtr(0, (&g_13109) + 5);
  3292. if (A_2 != 5)
  3293. {
  3294. PLAYER::FORCE_CLEANUP(8);
  3295. }
  3296. g_29814 = A_2;
  3297. g_29776 = rPtr(A_0);
  3298. g_29777 = A_4;
  3299. g_29775 = 0;
  3300. return 1;
  3301. }
  3302. if (rPtr(A_0) != -1)
  3303. {
  3304. if (g_29775 > 0)
  3305. {
  3306. var num3 = 0;
  3307. for (num3 = 0; num3 < g_29775; num3++)
  3308. {
  3309. if (getElem(num3, &g_29781, 16) == rPtr(A_0))
  3310. {
  3311. return 2;
  3312. }
  3313. }
  3314. }
  3315. else if (g_29776 == rPtr(A_0))
  3316. {
  3317. return 1;
  3318. }
  3319. wPtr(-1, A_0);
  3320. }
  3321. if (rPtr(A_0) == -1)
  3322. {
  3323. if (sub_455F(A_2) == 0)
  3324. {
  3325. return 0;
  3326. }
  3327. if (g_29775 == 8)
  3328. {
  3329. return 0;
  3330. }
  3331. g_29778++;
  3332. wPtr(g_29778, A_0);
  3333. setElem(g_29778, g_29775, &g_29781, 16);
  3334. wPtr(A_1, getElemPtr(g_29775, &g_29781, 16) + 4);
  3335. wPtr(A_2, getElemPtr(g_29775, &g_29781, 16) + 8);
  3336. wPtr(0, getElemPtr(g_29775, &g_29781, 16) + 12);
  3337. g_29775++;
  3338. if (A_4 != 0)
  3339. {
  3340. sub_4510(A_0, A_4);
  3341. }
  3342. }
  3343. }
  3344. return 2;
  3345. }
  3346.  
  3347. void sub_4510(var A_0, var A_1)
  3348. {
  3349. if ((g_29775 != 0) && (rPtr(A_0) != -1))
  3350. {
  3351. var num3 = 0;
  3352. num3 = 0;
  3353. while (true)
  3354. {
  3355. if (num3 >= g_29775)
  3356. {
  3357. break;
  3358. }
  3359. if (getElem(num3, &g_29781, 16) == rPtr(A_0))
  3360. {
  3361. wPtr(A_1, getElemPtr(num3, &g_29781, 16) + 12);
  3362. }
  3363. num3++;
  3364. }
  3365. wPtr(-1, A_0);
  3366. }
  3367. }
  3368.  
  3369. var sub_455F(var A_0)
  3370. {
  3371. return sub_4570(A_0, g_29814);
  3372. }
  3373.  
  3374. var sub_4570(var A_0, var A_1)
  3375. {
  3376. if (A_1 == 12)
  3377. {
  3378. return 1;
  3379. }
  3380. if (A_0 != 12)
  3381. {
  3382. var num3 = A_0;
  3383. switch (num3)
  3384. {
  3385. case 13:
  3386. {
  3387. bool flag1 = A_1 == 8;
  3388. if (flag1 | (A_1 == 9))
  3389. {
  3390. return 0;
  3391. }
  3392. return 1;
  3393. }
  3394. case 0:
  3395. num3 = A_1;
  3396. if ((num3 != 5) && (num3 != 14))
  3397. {
  3398. break;
  3399. }
  3400. return 1;
  3401. case 2:
  3402. case 3:
  3403. num3 = A_1;
  3404. if (((num3 != 5) && (num3 != 6)) && ((num3 != 7) && (num3 != 14)))
  3405. {
  3406. break;
  3407. }
  3408. return 1;
  3409. case 4:
  3410. switch (A_1)
  3411. {
  3412. case 14:
  3413. return 1;
  3414. }
  3415. break;
  3416. default:
  3417. if (num3 != 5)
  3418. {
  3419. if ((num3 == 6) || (num3 == 7))
  3420. {
  3421. if (A_1 != 5)
  3422. {
  3423. break;
  3424. }
  3425. return 1;
  3426. }
  3427. if (num3 == 8)
  3428. {
  3429. if (A_1 != 5)
  3430. {
  3431. break;
  3432. }
  3433. return 1;
  3434. }
  3435. if (num3 == 9)
  3436. {
  3437. num3 = A_1;
  3438. if (((num3 != 5) && (num3 != 6)) && (num3 != 14))
  3439. {
  3440. break;
  3441. }
  3442. return 1;
  3443. }
  3444. if (num3 == 10)
  3445. {
  3446. if (A_1 != 5)
  3447. {
  3448. break;
  3449. }
  3450. return 1;
  3451. }
  3452. if (num3 == 14)
  3453. {
  3454. num3 = A_1;
  3455. if (((num3 != 14) && (num3 != 11)) && (num3 != 5))
  3456. {
  3457. break;
  3458. }
  3459. return 1;
  3460. }
  3461. if ((num3 == 15) || (num3 == 11))
  3462. {
  3463. switch (A_1)
  3464. {
  3465. case 5:
  3466. case 6:
  3467. return 1;
  3468. }
  3469. break;
  3470. }
  3471. }
  3472. break;
  3473. }
  3474. }
  3475. return 0;
  3476. }
  3477.  
  3478. var sub_46E6(var A_0)
  3479. {
  3480. if (g_29814 == 12)
  3481. {
  3482. return 0;
  3483. }
  3484. if (sub_455F(A_0) != 0)
  3485. {
  3486. return 0;
  3487. }
  3488. return 1;
  3489. }
  3490.  
  3491. var sub_4708()
  3492. {
  3493. var num3 = 50f;
  3494. if (PED::IS_PED_INJURED(l_47) == 0)
  3495. {
  3496. if (PED::IS_PED_INJURED(l_48) == 0)
  3497. {
  3498. var num1 = ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_47, num3, num3, num3, 0, 1, 0);
  3499. var num7 = num1 | ENTITY::IS_ENTITY_AT_ENTITY(PLAYER::PLAYER_PED_ID(), l_48, num3, num3, num3, 0, 1, 0);
  3500. if (num7 == 0)
  3501. {
  3502. struct _s = &l_272;
  3503. struct _s = &l_275;
  3504. }
  3505. if ((num7 | ENTITY::IS_ENTITY_IN_ANGLED_AREA(PLAYER::PLAYER_PED_ID(), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 194.75f, 0, 1, 0)) == 0)
  3506. {
  3507. return 0;
  3508. }
  3509. if (UI::DOES_BLIP_EXIST(l_52) == 0)
  3510. {
  3511. l_52 = sub_4826(l_48, 0, 143);
  3512. }
  3513. if (UI::DOES_BLIP_EXIST(l_51) == 0)
  3514. {
  3515. l_51 = sub_4826(l_47, 0, 143);
  3516. }
  3517. UI::0x1D99F676(l_52, 0);
  3518. UI::0x1D99F676(l_51, 0);
  3519. SYSTEM::SETTIMERA(0);
  3520. return 1;
  3521. }
  3522. if ((PED::IS_PED_INJURED(l_47) == 0) && (UI::DOES_BLIP_EXIST(l_51) == 0))
  3523. {
  3524. l_51 = sub_4826(l_47, 0, 143);
  3525. }
  3526. if (UI::DOES_BLIP_EXIST(l_52) != 0)
  3527. {
  3528. UI::REMOVE_BLIP(&l_52);
  3529. }
  3530. return 1;
  3531. }
  3532. if ((PED::IS_PED_INJURED(l_48) == 0) && (UI::DOES_BLIP_EXIST(l_52) == 0))
  3533. {
  3534. l_52 = sub_4826(l_48, 0, 143);
  3535. }
  3536. if (UI::DOES_BLIP_EXIST(l_51) != 0)
  3537. {
  3538. UI::REMOVE_BLIP(&l_51);
  3539. }
  3540. return 1;
  3541. }
  3542.  
  3543. var sub_4826(var A_0, var A_1, var A_2)
  3544. {
  3545. var num3 = sub_4878(A_0, (A_1 == 0), 0);
  3546. bool flag1 = A_2 != 143;
  3547. bool flag2 = flag1 & UI::DOES_BLIP_EXIST(num3);
  3548. if (flag2 & UI::DOES_TEXT_LABEL_EXIST(getElemPtr(A_2, (&g_86838) + 23936, 116) + 12))
  3549. {
  3550. UI::SET_BLIP_NAME_FROM_TEXT_FILE(num3, getElemPtr(A_2, (&g_86838) + 23936, 116) + 12);
  3551. }
  3552. return num3;
  3553. }
  3554.  
  3555. var sub_4878(var A_0, var A_1, var A_2)
  3556. {
  3557. if (ENTITY::DOES_ENTITY_EXIST(A_0) == 0)
  3558. {
  3559. return 0;
  3560. }
  3561. var num3 = UI::ADD_BLIP_FOR_ENTITY(A_0);
  3562. if (ENTITY::IS_ENTITY_A_VEHICLE(A_0) != 0)
  3563. {
  3564. UI::SET_BLIP_SCALE(num3, sub_491C(NETWORK::NETWORK_IS_GAME_IN_PROGRESS(), 1f, 1f));
  3565. if (A_2 == 0)
  3566. {
  3567. UI::SET_BLIP_AS_FRIENDLY(num3, A_1);
  3568. }
  3569. else
  3570. {
  3571. UI::SET_BLIP_COLOUR(num3, 2);
  3572. }
  3573. }
  3574. else if (ENTITY::IS_ENTITY_A_PED(A_0) != 0)
  3575. {
  3576. UI::SET_BLIP_SCALE(num3, sub_491C(NETWORK::NETWORK_IS_GAME_IN_PROGRESS(), 0.7f, 0.7f));
  3577. UI::SET_BLIP_AS_FRIENDLY(num3, A_1);
  3578. }
  3579. else if (ENTITY::IS_ENTITY_AN_OBJECT(A_0) != 0)
  3580. {
  3581. UI::SET_BLIP_SCALE(num3, sub_491C(NETWORK::NETWORK_IS_GAME_IN_PROGRESS(), 0.7f, 0.7f));
  3582. }
  3583. return num3;
  3584. }
  3585.  
  3586. var sub_491C(var A_0, var A_1, var A_2)
  3587. {
  3588. if (A_0 != null)
  3589. {
  3590. return A_1;
  3591. }
  3592. return A_2;
  3593. }
  3594.  
  3595. var sub_4933()
  3596. {
  3597. var num4;
  3598. var num5;
  3599. var num8;
  3600. var num11;
  3601. var num12;
  3602. var num3 = 0xEF7135AE;
  3603. if (l_46 == 1)
  3604. {
  3605. setStruct(2429.822f, 4952.938f, 44.8892f, 3, &num5);
  3606. num11 = 218.3434f;
  3607. setStruct(2431.685f, 4945.31f, 44.6996f, 3, &num8);
  3608. num12 = 220.0087f;
  3609. setStruct(2378.284f, 4863.027f, 32.50883f, 3, &l_272);
  3610. setStruct(2512.797f, 4998.586f, 90.12283f, 3, &l_275);
  3611. l_249 = "A_M_M_HillBilly_02_WHITE_MINI_02";
  3612. l_258 = "arrestcriminal";
  3613. l_259 = "REARR_CTHANK";
  3614. l_260 = "REARR_CORUN";
  3615. l_261 = "REARR_CWTF";
  3616. l_262 = "REARR_CTURN";
  3617. l_263 = "REARR_CHELP";
  3618. l_264 = "REARR_HATE";
  3619. l_265 = "REARR_CRAND";
  3620. l_266 = "REARR_CRAND";
  3621. l_267 = "REARR_CRAND";
  3622. num4 = 0x7B0E452F;
  3623. }
  3624. else if (l_46 == 2)
  3625. {
  3626. setStruct(2592.637f, 2540.05f, 30.4162f, 3, &num5);
  3627. num11 = 90.5639f;
  3628. setStruct(2586.005f, 2541.41f, 31.0379f, 3, &num8);
  3629. num12 = 75.5943f;
  3630. setStruct(2543.135f, 2683.917f, 0.307461f, 3, &l_272);
  3631. setStruct(2597.603f, 2408.885f, 121.901f, 3, &l_275);
  3632. l_249 = "G_M_M_ArmGoon_01_White_Armenian_MINI_01";
  3633. l_258 = "arrestcriminal2";
  3634. l_259 = "REARR_THANK2";
  3635. l_260 = "REARR_CORUN2";
  3636. l_261 = "REARR_CWTF2";
  3637. l_262 = "REARR_CTURN2";
  3638. l_263 = "REARR_CHELP2";
  3639. l_264 = "REARR_HATE2";
  3640. l_265 = "REARR_CRAND2";
  3641. l_266 = "REARR_CRAND2";
  3642. l_267 = "REARR_CRAND2";
  3643. num4 = 0xFDA94268;
  3644. }
  3645. STREAMING::REQUEST_MODEL(num3);
  3646. STREAMING::REQUEST_MODEL(num4);
  3647. STREAMING::REQUEST_MODEL(0xC83B7CA7);
  3648. STREAMING::REQUEST_ANIM_DICT(l_251);
  3649. STREAMING::REQUEST_ANIM_DICT(l_252);
  3650. STREAMING::REQUEST_CLIP_SET("MOVE_M@BAIL_BOND_NOT_TAZERED");
  3651. STREAMING::REQUEST_CLIP_SET("MOVE_M@BAIL_BOND_TAZERED");
  3652. var num1 = STREAMING::HAS_MODEL_LOADED(num3);
  3653. var num16 = num1 & STREAMING::HAS_MODEL_LOADED(num4);
  3654. var num17 = num16 & STREAMING::HAS_MODEL_LOADED(0xC83B7CA7);
  3655. var num18 = num17 & STREAMING::HAS_ANIM_DICT_LOADED(l_251);
  3656. var num19 = num18 & STREAMING::HAS_ANIM_DICT_LOADED(l_252);
  3657. var num20 = num19 & STREAMING::HAS_CLIP_SET_LOADED("MOVE_M@BAIL_BOND_NOT_TAZERED");
  3658. if ((num20 & STREAMING::HAS_CLIP_SET_LOADED("MOVE_M@BAIL_BOND_TAZERED")) == 0)
  3659. {
  3660. return 0;
  3661. }
  3662. struct _s = &num5;
  3663. l_47 = PED::CREATE_PED(6, num3, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), num11, 1, 1);
  3664. PED::SET_PED_CONFIG_FLAG(l_47, 294, 1);
  3665. ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_47, 1, 0);
  3666. WEAPON::REMOVE_ALL_PED_WEAPONS(l_47, 1);
  3667. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_47, 1);
  3668. sub_4E89(&l_71, 1, l_47, "ArrestCop", 0, 1);
  3669. ENTITY::SET_ENTITY_LOAD_COLLISION_FLAG(l_47, 1);
  3670. PED::SET_PED_TARGET_LOSS_RESPONSE(l_47, 1);
  3671. struct _s = &num8;
  3672. l_48 = PED::CREATE_PED(26, num4, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), num12, 1, 1);
  3673. ENTITY::SET_ENTITY_IS_TARGET_PRIORITY(l_48, 1, 0);
  3674. PED::SET_PED_CONFIG_FLAG(l_48, 42, 1);
  3675. PED::SET_PED_CONFIG_FLAG(l_48, 281, 1);
  3676. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_48, 1);
  3677. sub_4E89(&l_71, 2, l_48, l_258, 0, 1);
  3678. ENTITY::SET_ENTITY_LOAD_COLLISION_FLAG(l_48, 1);
  3679. if (l_46 == 1)
  3680. {
  3681. PED::SET_PED_COMPONENT_VARIATION(l_48, 0, 0, 2, 0);
  3682. PED::SET_PED_COMPONENT_VARIATION(l_48, 2, 0, 0, 0);
  3683. PED::SET_PED_COMPONENT_VARIATION(l_48, 3, 2, 0, 0);
  3684. PED::SET_PED_COMPONENT_VARIATION(l_48, 4, 0, 0, 0);
  3685. }
  3686. sub_4DA8();
  3687. if (sub_29C1() == 0)
  3688. {
  3689. sub_4E89(&l_71, 0, PLAYER::PLAYER_PED_ID(), "MICHAEL", 0, 1);
  3690. }
  3691. else if (sub_29C1() == 1)
  3692. {
  3693. sub_4E89(&l_71, 0, PLAYER::PLAYER_PED_ID(), "FRANKLIN", 0, 1);
  3694. }
  3695. else if (sub_29C1() == 2)
  3696. {
  3697. sub_4E89(&l_71, 0, PLAYER::PLAYER_PED_ID(), "TREVOR", 0, 1);
  3698. }
  3699. if (WEAPON::HAS_PED_GOT_WEAPON(l_47, 0x1B06D571, 0) == 0)
  3700. {
  3701. WEAPON::GIVE_WEAPON_TO_PED(l_47, 0x1B06D571, -1, 0, 1);
  3702. }
  3703. WEAPON::SET_CURRENT_PED_WEAPON(l_47, 0x1B06D571, 1);
  3704. l_53 = OBJECT::CREATE_OBJECT(0xC83B7CA7, l_58, rPtr((&l_58) + 1), rPtr((&l_58) + 2) + (100f), 1, 1, 0);
  3705. ENTITY::SET_ENTITY_VISIBLE(l_53, 0);
  3706. struct _s = &l_58;
  3707. if (SYSTEM::VDIST(2411.32f, 4958.76f, 45.19f, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) < 10f)
  3708. {
  3709. l_46 = 1;
  3710. AI::OPEN_SEQUENCE_TASK(&l_66);
  3711. struct _s = &l_243;
  3712. n_0x6BF6E296(0, 2473.254f, 4901.651f, 43.1488f, 3f, -1, 2f, 1, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0x471C4000);
  3713. AI::TASK_SMART_FLEE_PED(0, l_47, 150f, -1, 0, 0);
  3714. AI::CLOSE_SEQUENCE_TASK(l_66);
  3715. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  3716. PED::SET_PED_KEEP_TASK(l_48, 1);
  3717. AI::CLEAR_SEQUENCE_TASK(&l_66);
  3718. PATHFIND::DISABLE_NAVMESH_IN_AREA(2544.862f, 4729.893f, 27.8986f, 2564.862f, 4749.893f, 28.8986f, 1);
  3719. }
  3720. else
  3721. {
  3722. l_46 = 2;
  3723. AI::OPEN_SEQUENCE_TASK(&l_66);
  3724. struct _s = &l_243;
  3725. n_0x6BF6E296(0, 2531.445f, 2521.749f, 38.2072f, 3f, -1, 2f, 1, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0x471C4000);
  3726. AI::TASK_SMART_FLEE_PED(0, l_47, 150f, -1, 0, 0);
  3727. AI::CLOSE_SEQUENCE_TASK(l_66);
  3728. AI::TASK_PERFORM_SEQUENCE(l_48, l_66);
  3729. PED::SET_PED_KEEP_TASK(l_48, 1);
  3730. AI::CLEAR_SEQUENCE_TASK(&l_66);
  3731. }
  3732. AI::TASK_GO_TO_ENTITY(l_47, l_48, -1, 1f, 3f, 0x40000000, 0);
  3733. PED::SET_PED_KEEP_TASK(l_47, 1);
  3734. return 1;
  3735. }
  3736.  
  3737. void sub_4DA8()
  3738. {
  3739. l_243 = 0f;
  3740. wPtr(10f, (&l_243) + 1);
  3741. PED::SET_PED_COMBAT_MOVEMENT(l_47, 2);
  3742. PED::SET_PED_COMBAT_ATTRIBUTES(l_47, 13, 1);
  3743. PED::SET_PED_COMBAT_ATTRIBUTES(l_47, 2, 1);
  3744. PED::SET_PED_COMBAT_ATTRIBUTES(l_47, 1, 1);
  3745. PED::SET_PED_COMBAT_ATTRIBUTES(l_47, 11, 0);
  3746. PED::SET_PED_COMBAT_RANGE(l_47, 0);
  3747. PED::SET_PED_COMBAT_MOVEMENT(l_48, 3);
  3748. PED::SET_PED_COMBAT_ATTRIBUTES(l_48, 17, 1);
  3749. PED::SET_PED_COMBAT_ATTRIBUTES(l_48, 6, 1);
  3750. PED::SET_PED_COMBAT_ATTRIBUTES(l_48, 1, 1);
  3751. PED::SET_PED_COMBAT_ATTRIBUTES(l_48, 11, 0);
  3752. PED::SET_PED_FLEE_ATTRIBUTES(l_48, 128, 1);
  3753. PED::SET_PED_FLEE_ATTRIBUTES(l_48, 1, 0);
  3754. PED::ADD_RELATIONSHIP_GROUP("RE_ARREST_COP", &l_64);
  3755. PED::ADD_RELATIONSHIP_GROUP("RE_ARREST_CRIM", &l_65);
  3756. PED::SET_PED_RELATIONSHIP_GROUP_HASH(l_47, l_64);
  3757. PED::SET_PED_RELATIONSHIP_GROUP_HASH(l_48, l_65);
  3758. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(4, l_65, l_64);
  3759. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(3, l_64, 0x6F0783F5);
  3760. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(3, l_65, 0x6F0783F5);
  3761. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(4, l_65, 0xA49E591C);
  3762. AUDIO::SET_AMBIENT_VOICE_NAME(l_47, l_250);
  3763. AUDIO::SET_AMBIENT_VOICE_NAME(l_48, l_249);
  3764. }
  3765.  
  3766. void sub_4E89(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
  3767. {
  3768. if (rPtr(getElemPtr(A_1, A_0, 40) + 28) == 1)
  3769. {
  3770. }
  3771. setElem(A_2, A_1, A_0, 40);
  3772. strcpy(A_3, getElemPtr(A_1, A_0, 40) + 4, 24);
  3773. wPtr(1, getElemPtr(A_1, A_0, 40) + 28);
  3774. wPtr(A_4, getElemPtr(A_1, A_0, 40) + 32);
  3775. wPtr(A_5, getElemPtr(A_1, A_0, 40) + 36);
  3776. if (g_59842 == 0)
  3777. {
  3778. if (PED::IS_PED_INJURED(A_2) == 0)
  3779. {
  3780. if (rPtr(getElemPtr(A_1, A_0, 40) + 32) == 0)
  3781. {
  3782. PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(A_2, 0);
  3783. }
  3784. else
  3785. {
  3786. PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(A_2, 1);
  3787. }
  3788. }
  3789. if (PED::IS_PED_INJURED(A_2) == 0)
  3790. {
  3791. if (rPtr(getElemPtr(A_1, A_0, 40) + 36) == 0)
  3792. {
  3793. PED::SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT(A_2, 0);
  3794. }
  3795. else
  3796. {
  3797. PED::SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT(A_2, 1);
  3798. }
  3799. }
  3800. }
  3801. }
  3802.  
  3803. var sub_4F23()
  3804. {
  3805. if (sub_455F(5) == 0)
  3806. {
  3807. return 1;
  3808. }
  3809. if (sub_4F4B(100f, 1) != -1)
  3810. {
  3811. return 1;
  3812. }
  3813. return 0;
  3814. }
  3815.  
  3816. var sub_4F4B(var A_0, var A_1)
  3817. {
  3818. var num36 = -1;
  3819. var num37 = A_0;
  3820. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0)
  3821. {
  3822. var num39 = sub_6A9B();
  3823. var num40 = 0;
  3824. for (num40 = 0; num40 < 63; num40++)
  3825. {
  3826. var num35 = num40;
  3827. var num1 = GAMEPLAY::IS_BIT_SET(getElem(num35, (&g_86838) + 15436, 24), 2);
  3828. if ((num1 & (GAMEPLAY::IS_BIT_SET(getElem(num35, (&g_86838) + 15436, 24), 3) == 0)) != 0)
  3829. {
  3830. var num3;
  3831. sub_4FF7(num35, &num3);
  3832. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0);
  3833. struct _s = (&num3) + 6;
  3834. var num38 = GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 1);
  3835. if (num38 < num37)
  3836. {
  3837. var num41 = 1;
  3838. if ((A_1 != null) && (num39 != rPtr((&num3) + 26)))
  3839. {
  3840. num41 = 0;
  3841. }
  3842. if (num41 != 0)
  3843. {
  3844. num36 = num35;
  3845. num37 = num38;
  3846. }
  3847. }
  3848. }
  3849. }
  3850. }
  3851. return num36;
  3852. }
  3853.  
  3854. void sub_4FF7(var A_0, var A_1)
  3855. {
  3856. switch ((A_0))
  3857. {
  3858. case 0:
  3859. struct _s = sub_6616(A_0);
  3860. sub_623F(A_1, "Abigail1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 0, 4, -1604.668f, 5239.1f, 3.01f, 66, "", 108, 0, "ambient_Diving", 0, 0, 1, 4, 1, 0, 2359, sub_62D0(A_0), 1, 0);
  3861. break;
  3862. case 1:
  3863. struct _s = sub_6616(A_0);
  3864. sub_623F(A_1, "Abigail2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 0, 4, -1592.84f, 5214.04f, 3.01f, 400, "", 109, 0, "", 0, 0, -1, 4, 1, 0, 2359, sub_62D0(A_0), 1, 0);
  3865. break;
  3866. case 2:
  3867. struct _s = sub_6616(A_0);
  3868. sub_623F(A_1, "Barry1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 1, 4, 190.26f, -956.35f, 29.63f, 381, "", 74, 0, "", 0, 1, -1, 4, 1, 0, 2359, sub_62D0(A_0), 1, 0);
  3869. break;
  3870. case 3:
  3871. struct _s = sub_6616(A_0);
  3872. sub_623F(A_1, "Barry2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 1, 4, 190.26f, -956.35f, 29.63f, 381, "", -1, 0, "", 0, 1, -1, 4, 4, 0, 2359, sub_62D0(A_0), 1, 1);
  3873. break;
  3874. case 4:
  3875. struct _s = sub_6616(A_0);
  3876. sub_623F(A_1, "Barry3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 1, 4, 414f, -761f, 29f, 381, "", -1, 0, "", 159, 1, -1, 0, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  3877. break;
  3878. case 5:
  3879. struct _s = sub_6616(A_0);
  3880. sub_623F(A_1, "Barry3A", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 1, 1, 0, 1199.27f, -1255.63f, 34.23f, 381, "BARSTASH", 83, 0, "", 161, 0, 7, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  3881. break;
  3882. case 6:
  3883. struct _s = sub_6616(A_0);
  3884. sub_623F(A_1, "Barry3C", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 3, 1, 0, -468.9f, -1713.06f, 18.21f, 381, "", 83, 0, "", 161, 0, 7, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  3885. break;
  3886. case 7:
  3887. struct _s = sub_6616(A_0);
  3888. sub_623F(A_1, "Barry4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 1, 4, 237.65f, -385.41f, 44.4f, 381, "", 84, 0, "postRC_Barry4", 0, 0, -1, 4, 2, 800, 2000, sub_62D0(A_0), 0, 0);
  3889. break;
  3890. case 8:
  3891. struct _s = sub_6616(A_0);
  3892. sub_623F(A_1, "Dreyfuss1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 2, 4, -1458.97f, 485.99f, 115.38f, 66, "LETTERS_HINT", 105, 0, "", 0, 0, -1, 4, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  3893. break;
  3894. case 9:
  3895. struct _s = sub_6616(A_0);
  3896. sub_623F(A_1, "Epsilon1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, -1622.89f, 4204.87f, 83.3f, 66, "", 85, 0, "", 0, 1, 10, 4, 1, 0, 2359, sub_62D0(A_0), 0, 0);
  3897. break;
  3898. case 10:
  3899. struct _s = sub_6616(A_0);
  3900. sub_623F(A_1, "Epsilon2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, 242.7f, 362.7f, 104.74f, 206, "", 86, 16, "", 0, 0, 11, 4, 1, 0, 2359, sub_62D0(A_0), 1, 0);
  3901. break;
  3902. case 11:
  3903. struct _s = sub_6616(A_0);
  3904. sub_623F(A_1, "Epsilon3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, 1835.53f, 4705.86f, 38.1f, 206, "", 87, 16, "epsCars", 0, 0, 12, 4, 1, 0, 2359, sub_62D0(A_0), 0, 0);
  3905. break;
  3906. case 12:
  3907. struct _s = sub_6616(A_0);
  3908. sub_623F(A_1, "Epsilon4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, 1826.13f, 4698.88f, 38.92f, 206, "", 89, 16, "postRC_Epsilon4", 0, 0, 13, 4, 1, 0, 2359, sub_62D0(A_0), 0, 0);
  3909. break;
  3910. case 13:
  3911. struct _s = sub_6616(A_0);
  3912. sub_623F(A_1, "Epsilon5", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, 637.02f, 119.7093f, 89.5f, 206, "", 88, 16, "epsRobes", 0, 0, 14, 4, 1, 0, 2359, sub_62D0(A_0), 1, 0);
  3913. break;
  3914. case 14:
  3915. struct _s = sub_6616(A_0);
  3916. sub_623F(A_1, "Epsilon6", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, -2892.93f, 3192.37f, 11.66f, 206, "", 92, 0, "", 0, 0, 15, 4, 1, 0, 2359, sub_62D0(A_0), 0, 1);
  3917. break;
  3918. case 15:
  3919. struct _s = sub_6616(A_0);
  3920. sub_623F(A_1, "Epsilon7", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, 524.43f, 3079.82f, 39.48f, 206, "", -1, 16, "epsDesert", 0, 0, 16, 4, 1, 0, 2359, sub_62D0(A_0), 0, 0);
  3921. break;
  3922. case 16:
  3923. struct _s = sub_6616(A_0);
  3924. sub_623F(A_1, "Epsilon8", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 3, 4, -697.75f, 45.38f, 43.03f, 206, "", 93, 16, "epsilonTract", 0, 0, -1, 4, 1, 0, 2359, sub_62D0(A_0), 1, 0);
  3925. break;
  3926. case 17:
  3927. struct _s = sub_6616(A_0);
  3928. sub_623F(A_1, "Extreme1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 4, 4, -188.22f, 1296.1f, 302.86f, 66, "", -1, 0, "", 5, 1, 18, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  3929. break;
  3930. case 18:
  3931. struct _s = sub_6616(A_0);
  3932. sub_623F(A_1, "Extreme2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 4, 4, -954.19f, -2760.05f, 14.64f, 382, "", 95, 0, "", 166, 0, 19, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  3933. break;
  3934. case 19:
  3935. struct _s = sub_6616(A_0);
  3936. sub_623F(A_1, "Extreme3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 4, 4, -63.8f, -809.5f, 321.8f, 382, "", 96, 0, "", 0, 0, 20, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  3937. break;
  3938. case 20:
  3939. struct _s = sub_6616(A_0);
  3940. sub_623F(A_1, "Extreme4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 4, 4, 1731.41f, 96.96f, 170.39f, 382, "", 97, 16, "", 0, 0, -1, 4, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  3941. break;
  3942. case 21:
  3943. struct _s = sub_6616(A_0);
  3944. sub_623F(A_1, "Fanatic1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 5, 4, -1877.82f, -440.649f, 45.05f, 405, "", 74, 0, "", 0, 1, -1, 4, 1, 700, 2000, sub_62D0(A_0), 1, 0);
  3945. break;
  3946. case 22:
  3947. struct _s = sub_6616(A_0);
  3948. sub_623F(A_1, "Fanatic2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 5, 4, 809.66f, 1279.76f, 360.49f, 405, "", -1, 0, "", 0, 1, -1, 4, 4, 700, 2000, sub_62D0(A_0), 1, 0);
  3949. break;
  3950. case 23:
  3951. struct _s = sub_6616(A_0);
  3952. sub_623F(A_1, "Fanatic3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 5, 4, -915.6f, 6139.2f, 5.5f, 405, "", -1, 0, "", 0, 1, -1, 4, 2, 700, 2000, sub_62D0(A_0), 0, 1);
  3953. break;
  3954. case 24:
  3955. struct _s = sub_6616(A_0);
  3956. sub_623F(A_1, "Hao1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 6, 4, -72.29f, -1260.63f, 28.14f, 66, "", -1, 0, "controller_Races", 14, 1, -1, 4, 2, 2000, 500, sub_62D0(A_0), 0, 1);
  3957. break;
  3958. case 25:
  3959. struct _s = sub_6616(A_0);
  3960. sub_623F(A_1, "Hunting1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 7, 4, 1804.32f, 3931.33f, 32.82f, 66, "", -1, 0, "", 169, 1, 26, 4, 4, 0, 2359, sub_62D0(A_0), 0, 1);
  3961. break;
  3962. case 26:
  3963. struct _s = sub_6616(A_0);
  3964. sub_623F(A_1, "Hunting2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 7, 4, -684.17f, 5839.16f, 16.09f, 384, "", 98, 0, "", 8, 0, -1, 4, 4, 0, 2359, sub_62D0(A_0), 0, 1);
  3965. break;
  3966. case 27:
  3967. struct _s = sub_6616(A_0);
  3968. sub_623F(A_1, "Josh1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 8, 4, -1104.93f, 291.25f, 64.3f, 66, "", -1, 0, "forSaleSigns", 0, 1, 28, 4, 4, 0, 2359, sub_62D0(A_0), 1, 0);
  3969. break;
  3970. case 28:
  3971. struct _s = sub_6616(A_0);
  3972. sub_623F(A_1, "Josh2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 8, 4, 565.39f, -1772.88f, 29.77f, 385, "", 104, 0, "", 0, 0, 29, 4, 4, 0, 2359, sub_62D0(A_0), 1, 1);
  3973. break;
  3974. case 29:
  3975. struct _s = sub_6616(A_0);
  3976. sub_623F(A_1, "Josh3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 8, 4, 565.39f, -1772.88f, 29.77f, 385, "", -1, 16, "", 0, 0, 30, 4, 4, 0, 2359, sub_62D0(A_0), 1, 1);
  3977. break;
  3978. case 30:
  3979. struct _s = sub_6616(A_0);
  3980. sub_623F(A_1, "Josh4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 8, 4, -1104.93f, 291.25f, 64.3f, 385, "", -1, 36, "", 0, 0, -1, 4, 4, 0, 2359, sub_62D0(A_0), 1, 0);
  3981. break;
  3982. case 31:
  3983. struct _s = sub_6616(A_0);
  3984. sub_623F(A_1, "Maude1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 9, 4, 2726.1f, 4145f, 44.3f, 66, "", -1, 0, "BailBond_Launcher", 0, 1, -1, 4, 4, 0, 2359, sub_62D0(A_0), 0, 1);
  3985. break;
  3986. case 32:
  3987. struct _s = sub_6616(A_0);
  3988. sub_623F(A_1, "Minute1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 10, 4, 327.85f, 3405.7f, 35.73f, 66, "", -1, 0, "", 0, 1, 33, 4, 4, 0, 2359, sub_62D0(A_0), 0, 1);
  3989. break;
  3990. case 33:
  3991. struct _s = sub_6616(A_0);
  3992. sub_623F(A_1, "Minute2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 10, 4, 18f, 4527f, 105f, 386, "", -1, 10, "", 0, 0, 34, 4, 4, 0, 2359, sub_62D0(A_0), 0, 1);
  3993. break;
  3994. case 34:
  3995. struct _s = sub_6616(A_0);
  3996. sub_623F(A_1, "Minute3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 10, 4, -303.82f, 6211.29f, 31.05f, 386, "", -1, 10, "", 0, 0, -1, 4, 4, 0, 2359, sub_62D0(A_0), 0, 1);
  3997. break;
  3998. case 35:
  3999. struct _s = sub_6616(A_0);
  4000. sub_623F(A_1, "MrsPhilips1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 11, 4, 1972.59f, 3816.43f, 32.42f, 66, "", -1, 0, "ambient_MrsPhilips", 0, 1, -1, 4, 4, 0, 2359, sub_62D0(A_0), 0, 0);
  4001. break;
  4002. case 36:
  4003. struct _s = sub_6616(A_0);
  4004. sub_623F(A_1, "MrsPhilips2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 11, 4, 0f, 0f, 0f, -1, "", -1, 0, "", 0, 1, -1, 4, 4, 0, 2359, sub_62D0(A_0), 0, 0);
  4005. break;
  4006. case 37:
  4007. struct _s = sub_6616(A_0);
  4008. sub_623F(A_1, "Nigel1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 4, -1097.16f, 790.01f, 164.52f, 66, "", -1, 0, "", 172, 1, -1, 1, 4, 0, 2359, sub_62D0(A_0), 1, 0);
  4009. break;
  4010. case 38:
  4011. struct _s = sub_6616(A_0);
  4012. sub_623F(A_1, "Nigel1A", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 1, -558.65f, 284.49f, 90.86f, 149, "NIGITEMS", 99, 0, "", 0, 0, 42, 4, 4, 0, 2359, sub_62D0(A_0), 1, 1);
  4013. break;
  4014. case 39:
  4015. struct _s = sub_6616(A_0);
  4016. sub_623F(A_1, "Nigel1B", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 1, -1034.15f, 366.08f, 80.11f, 149, "", 99, 0, "", 0, 0, 42, 4, 4, 700, 2000, sub_62D0(A_0), 1, 1);
  4017. break;
  4018. case 40:
  4019. struct _s = sub_6616(A_0);
  4020. sub_623F(A_1, "Nigel1C", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 1, -623.91f, -266.17f, 37.76f, 149, "", 99, 0, "", 0, 0, 42, 4, 4, 700, 2000, sub_62D0(A_0), 1, 1);
  4021. break;
  4022. case 41:
  4023. struct _s = sub_6616(A_0);
  4024. sub_623F(A_1, "Nigel1D", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 1, -1096.85f, 67.68f, 52.95f, 149, "", 99, 0, "", 0, 0, 42, 4, 4, 700, 2000, sub_62D0(A_0), 1, 1);
  4025. break;
  4026. case 42:
  4027. struct _s = sub_6616(A_0);
  4028. sub_623F(A_1, "Nigel2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 4, -1310.7f, -640.22f, 26.54f, 149, "", -1, 8, "", 0, 0, 43, 4, 4, 0, 2359, sub_62D0(A_0), 1, 1);
  4029. break;
  4030. case 43:
  4031. struct _s = sub_6616(A_0);
  4032. sub_623F(A_1, "Nigel3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 12, 4, -44.75f, -1288.67f, 28.21f, 149, "", -1, 16, "postRC_Nigel3", 0, 0, -1, 4, 4, 0, 2359, sub_62D0(A_0), 1, 1);
  4033. break;
  4034. case 44:
  4035. struct _s = sub_6616(A_0);
  4036. sub_623F(A_1, "Omega1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 13, 4, 2468.51f, 3437.39f, 49.9f, 66, "", -1, 0, "spaceshipParts", 0, 1, 45, 4, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  4037. break;
  4038. case 45:
  4039. struct _s = sub_6616(A_0);
  4040. sub_623F(A_1, "Omega2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 13, 4, 2319.44f, 2583.58f, 46.76f, 387, "", 106, 0, "", 0, 0, -1, 4, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  4041. break;
  4042. case 46:
  4043. struct _s = sub_6616(A_0);
  4044. sub_623F(A_1, "Paparazzo1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 14, 4, -149.75f, 285.81f, 93.67f, 66, "", -1, 0, "", 0, 1, 47, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4045. break;
  4046. case 47:
  4047. struct _s = sub_6616(A_0);
  4048. sub_623F(A_1, "Paparazzo2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 14, 4, -70.71f, 301.43f, 106.79f, 389, "", -1, 8, "", 0, 0, 48, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4049. break;
  4050. case 48:
  4051. struct _s = sub_6616(A_0);
  4052. sub_623F(A_1, "Paparazzo3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 14, 4, -257.22f, 292.85f, 90.63f, 389, "", -1, 8, "", 175, 1, -1, 2, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  4053. break;
  4054. case 49:
  4055. struct _s = sub_6616(A_0);
  4056. sub_623F(A_1, "Paparazzo3A", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 14, 2, 305.52f, 157.19f, 102.94f, 389, "PAPPHOTO", 101, 0, "", 0, 0, 51, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4057. break;
  4058. case 50:
  4059. struct _s = sub_6616(A_0);
  4060. sub_623F(A_1, "Paparazzo3B", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 14, 2, 1040.96f, -534.42f, 60.17f, 389, "", 101, 0, "", 0, 0, 51, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4061. break;
  4062. case 51:
  4063. struct _s = sub_6616(A_0);
  4064. sub_623F(A_1, "Paparazzo4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 14, 4, -484.2f, 229.68f, 82.21f, 389, "", -1, 8, "", 0, 1, -1, 4, 2, 0, 2359, sub_62D0(A_0), 0, 0);
  4065. break;
  4066. case 52:
  4067. struct _s = sub_6616(A_0);
  4068. sub_623F(A_1, "Rampage1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 15, 4, 908f, 3643.7f, 32.2f, 66, "", -1, 0, "", 0, 1, 54, 4, 4, 0, 2359, sub_62D0(A_0), 0, 0);
  4069. break;
  4070. case 54:
  4071. struct _s = sub_6616(A_0);
  4072. sub_623F(A_1, "Rampage3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 15, 4, 465.1f, -1849.3f, 27.8f, 84, "", -1, 0, "", 0, 1, 55, 4, 4, 0, 2359, sub_62D0(A_0), 1, 0);
  4073. break;
  4074. case 55:
  4075. struct _s = sub_6616(A_0);
  4076. sub_623F(A_1, "Rampage4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 15, 4, -161f, -1669.7f, 33f, 84, "", -1, 0, "", 0, 0, 56, 4, 4, 0, 2359, sub_62D0(A_0), 1, 0);
  4077. break;
  4078. case 56:
  4079. struct _s = sub_6616(A_0);
  4080. sub_623F(A_1, "Rampage5", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 15, 4, -1298.2f, 2504.14f, 21.09f, 84, "", -1, 0, "", 0, 0, 53, 4, 4, 0, 2359, sub_62D0(A_0), 0, 0);
  4081. break;
  4082. case 53:
  4083. struct _s = sub_6616(A_0);
  4084. sub_623F(A_1, "Rampage2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 15, 4, 1181.5f, -400.1f, 67.5f, 84, "", -1, 0, "rampage_controller", 0, 0, -1, 4, 4, 0, 2359, sub_62D0(A_0), 1, 0);
  4085. break;
  4086. case 57:
  4087. struct _s = sub_6616(A_0);
  4088. sub_623F(A_1, "TheLastOne", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 16, 4, -1298.98f, 4640.16f, 105.67f, 66, "", 131, 1, "", 0, 1, -1, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4089. break;
  4090. case 58:
  4091. struct _s = sub_6616(A_0);
  4092. sub_623F(A_1, "Tonya1", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 17, 4, -14.39f, -1472.69f, 29.58f, 66, "AM_H_RCFS", -1, 0, "ambient_TonyaCall", 24, 1, 59, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4093. break;
  4094. case 59:
  4095. struct _s = sub_6616(A_0);
  4096. sub_623F(A_1, "Tonya2", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 17, 4, -14.39f, -1472.69f, 29.58f, 388, "", -1, 48, "ambient_Tonya", 177, 0, 60, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4097. break;
  4098. case 60:
  4099. struct _s = sub_6616(A_0);
  4100. sub_623F(A_1, "Tonya3", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 17, 4, 0f, 0f, 0f, -1, "", -1, 0, "", 179, 0, 61, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4101. break;
  4102. case 61:
  4103. struct _s = sub_6616(A_0);
  4104. sub_623F(A_1, "Tonya4", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 17, 4, 0f, 0f, 0f, -1, "", -1, 0, "", 0, 0, 62, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4105. break;
  4106. case 62:
  4107. struct _s = sub_6616(A_0);
  4108. sub_623F(A_1, "Tonya5", rPtrOfs(_s, 0), rPtrOfs(_s, 4), 0, 17, 4, -14.39f, -1472.69f, 29.58f, 388, "", -1, 48, "", 0, 0, -1, 4, 2, 0, 2359, sub_62D0(A_0), 0, 1);
  4109. break;
  4110. }
  4111. }
  4112.  
  4113. void sub_623F(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6, var A_7, var A_8, var A_9, var A_10, var A_11, var A_12, var A_13, var A_14, var A_15, var A_16, var A_17, var A_18, var A_19, var A_20, var A_21, var A_22, var A_23, var A_24)
  4114. {
  4115. wPtr(A_5, (A_0) + 16);
  4116. wPtr(A_1, A_0);
  4117. struct _s = &A_2;
  4118. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), 2, (A_0) + 4);
  4119. wPtr(A_4, (A_0) + 12);
  4120. wPtr(A_6, (A_0) + 20);
  4121. struct _s = &A_7;
  4122. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, (A_0) + 24);
  4123. wPtr(A_10, (A_0) + 36);
  4124. strcpy(A_11, (A_0) + 40, 16);
  4125. wPtr(A_12, (A_0) + 56);
  4126. wPtr(A_13, (A_0) + 60);
  4127. strcpy(A_14, (A_0) + 64, 24);
  4128. wPtr(A_15, (A_0) + 88);
  4129. wPtr(A_16, (A_0) + 92);
  4130. wPtr(A_17, (A_0) + 96);
  4131. wPtr(A_18, (A_0) + 100);
  4132. wPtr(A_19, (A_0) + 104);
  4133. wPtr(A_20, (A_0) + 108);
  4134. wPtr(A_21, (A_0) + 112);
  4135. wPtr(A_22, (A_0) + 116);
  4136. wPtr(A_23, (A_0) + 120);
  4137. wPtr(A_24, (A_0) + 124);
  4138. }
  4139.  
  4140. var sub_62D0(var A_0)
  4141. {
  4142. switch ((A_0))
  4143. {
  4144. case 0:
  4145. return 0;
  4146. case 1:
  4147. return 0;
  4148. case 2:
  4149. return 1;
  4150. case 3:
  4151. return 1;
  4152. case 4:
  4153. return 0;
  4154. case 5:
  4155. return 1;
  4156. case 6:
  4157. return 1;
  4158. case 7:
  4159. return 0;
  4160. case 8:
  4161. return 1;
  4162. case 9:
  4163. return 0;
  4164. case 10:
  4165. return 0;
  4166. case 11:
  4167. return 0;
  4168. case 12:
  4169. return 1;
  4170. case 13:
  4171. return 0;
  4172. case 14:
  4173. return 1;
  4174. case 15:
  4175. return 0;
  4176. case 16:
  4177. return 1;
  4178. case 17:
  4179. return 1;
  4180. case 18:
  4181. return 1;
  4182. case 19:
  4183. return 1;
  4184. case 20:
  4185. return 1;
  4186. case 21:
  4187. return 1;
  4188. case 22:
  4189. return 1;
  4190. case 23:
  4191. return 1;
  4192. case 24:
  4193. return 1;
  4194. case 25:
  4195. return 1;
  4196. case 26:
  4197. return 1;
  4198. case 27:
  4199. return 0;
  4200. case 28:
  4201. return 1;
  4202. case 29:
  4203. return 1;
  4204. case 30:
  4205. return 1;
  4206. case 31:
  4207. return 0;
  4208. case 32:
  4209. return 1;
  4210. case 33:
  4211. return 1;
  4212. case 34:
  4213. return 1;
  4214. case 35:
  4215. return 0;
  4216. case 36:
  4217. return 0;
  4218. case 37:
  4219. return 0;
  4220. case 38:
  4221. return 1;
  4222. case 39:
  4223. return 1;
  4224. case 40:
  4225. return 1;
  4226. case 41:
  4227. return 1;
  4228. case 42:
  4229. return 1;
  4230. case 43:
  4231. return 1;
  4232. case 44:
  4233. return 0;
  4234. case 45:
  4235. return 0;
  4236. case 46:
  4237. return 1;
  4238. case 47:
  4239. return 1;
  4240. case 48:
  4241. return 0;
  4242. case 49:
  4243. return 1;
  4244. case 50:
  4245. return 1;
  4246. case 51:
  4247. return 1;
  4248. case 52:
  4249. return 1;
  4250. case 54:
  4251. return 1;
  4252. case 55:
  4253. return 1;
  4254. case 56:
  4255. return 1;
  4256. case 53:
  4257. return 1;
  4258. case 57:
  4259. return 1;
  4260. case 58:
  4261. return 1;
  4262. case 59:
  4263. return 1;
  4264. case 60:
  4265. return 1;
  4266. case 61:
  4267. return 1;
  4268. case 62:
  4269. return 1;
  4270. }
  4271. return 0;
  4272. }
  4273.  
  4274. var sub_6616(var A_0)
  4275. {
  4276. var num3;
  4277. var num5;
  4278. strcpy("", &num3, 8);
  4279. struct _s = sub_664E(A_0);
  4280. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), 2, &num5);
  4281. if (GAMEPLAY::IS_STRING_NULL_OR_EMPTY(&num5) == 0)
  4282. {
  4283. strcpy("RC_", &num3, 8);
  4284. sadd(&num5, &num3, 8);
  4285. }
  4286. struct _s = &num3;
  4287. return buildStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4));
  4288. }
  4289.  
  4290. var sub_664E(var A_0)
  4291. {
  4292. var num3;
  4293. strcpy("", &num3, 8);
  4294. switch (A_0)
  4295. {
  4296. case 0:
  4297. strcpy("ABI1", &num3, 8);
  4298. break;
  4299. case 1:
  4300. strcpy("ABI2", &num3, 8);
  4301. break;
  4302. case 2:
  4303. strcpy("BA1", &num3, 8);
  4304. break;
  4305. case 3:
  4306. strcpy("BA2", &num3, 8);
  4307. break;
  4308. case 4:
  4309. strcpy("BA3", &num3, 8);
  4310. break;
  4311. case 5:
  4312. strcpy("BA3A", &num3, 8);
  4313. break;
  4314. case 6:
  4315. strcpy("BA3C", &num3, 8);
  4316. break;
  4317. case 7:
  4318. strcpy("BA4", &num3, 8);
  4319. break;
  4320. case 8:
  4321. strcpy("DRE1", &num3, 8);
  4322. break;
  4323. case 9:
  4324. strcpy("EPS1", &num3, 8);
  4325. break;
  4326. case 10:
  4327. strcpy("EPS2", &num3, 8);
  4328. break;
  4329. case 11:
  4330. strcpy("EPS3", &num3, 8);
  4331. break;
  4332. case 12:
  4333. strcpy("EPS4", &num3, 8);
  4334. break;
  4335. case 13:
  4336. strcpy("EPS5", &num3, 8);
  4337. break;
  4338. case 14:
  4339. strcpy("EPS6", &num3, 8);
  4340. break;
  4341. case 15:
  4342. strcpy("EPS7", &num3, 8);
  4343. break;
  4344. case 16:
  4345. strcpy("EPS8", &num3, 8);
  4346. break;
  4347. case 17:
  4348. strcpy("EXT1", &num3, 8);
  4349. break;
  4350. case 18:
  4351. strcpy("EXT2", &num3, 8);
  4352. break;
  4353. case 19:
  4354. strcpy("EXT3", &num3, 8);
  4355. break;
  4356. case 20:
  4357. strcpy("EXT4", &num3, 8);
  4358. break;
  4359. case 21:
  4360. strcpy("FAN1", &num3, 8);
  4361. break;
  4362. case 22:
  4363. strcpy("FAN2", &num3, 8);
  4364. break;
  4365. case 23:
  4366. strcpy("FAN3", &num3, 8);
  4367. break;
  4368. case 24:
  4369. strcpy("HAO1", &num3, 8);
  4370. break;
  4371. case 25:
  4372. strcpy("HUN1", &num3, 8);
  4373. break;
  4374. case 26:
  4375. strcpy("HUN2", &num3, 8);
  4376. break;
  4377. case 27:
  4378. strcpy("JOS1", &num3, 8);
  4379. break;
  4380. case 28:
  4381. strcpy("JOS2", &num3, 8);
  4382. break;
  4383. case 29:
  4384. strcpy("JOS3", &num3, 8);
  4385. break;
  4386. case 30:
  4387. strcpy("JOS4", &num3, 8);
  4388. break;
  4389. case 31:
  4390. strcpy("MAU1", &num3, 8);
  4391. break;
  4392. case 32:
  4393. strcpy("MIN1", &num3, 8);
  4394. break;
  4395. case 33:
  4396. strcpy("MIN2", &num3, 8);
  4397. break;
  4398. case 34:
  4399. strcpy("MIN3", &num3, 8);
  4400. break;
  4401. case 35:
  4402. strcpy("MRS1", &num3, 8);
  4403. break;
  4404. case 36:
  4405. strcpy("MRS2", &num3, 8);
  4406. break;
  4407. case 37:
  4408. strcpy("NI1", &num3, 8);
  4409. break;
  4410. case 38:
  4411. strcpy("NI1A", &num3, 8);
  4412. break;
  4413. case 39:
  4414. strcpy("NI1B", &num3, 8);
  4415. break;
  4416. case 40:
  4417. strcpy("NI1C", &num3, 8);
  4418. break;
  4419. case 41:
  4420. strcpy("NI1D", &num3, 8);
  4421. break;
  4422. case 42:
  4423. strcpy("NI2", &num3, 8);
  4424. break;
  4425. case 43:
  4426. strcpy("NI3", &num3, 8);
  4427. break;
  4428. case 44:
  4429. strcpy("OME1", &num3, 8);
  4430. break;
  4431. case 45:
  4432. strcpy("OME2", &num3, 8);
  4433. break;
  4434. case 46:
  4435. strcpy("PA1", &num3, 8);
  4436. break;
  4437. case 47:
  4438. strcpy("PA2", &num3, 8);
  4439. break;
  4440. case 48:
  4441. strcpy("PA3", &num3, 8);
  4442. break;
  4443. case 49:
  4444. strcpy("PA3A", &num3, 8);
  4445. break;
  4446. case 50:
  4447. strcpy("PA3B", &num3, 8);
  4448. break;
  4449. case 51:
  4450. strcpy("PA4", &num3, 8);
  4451. break;
  4452. case 52:
  4453. strcpy("RAM1", &num3, 8);
  4454. break;
  4455. case 53:
  4456. strcpy("RAM2", &num3, 8);
  4457. break;
  4458. case 54:
  4459. strcpy("RAM3", &num3, 8);
  4460. break;
  4461. case 55:
  4462. strcpy("RAM4", &num3, 8);
  4463. break;
  4464. case 56:
  4465. strcpy("RAM5", &num3, 8);
  4466. break;
  4467. case 57:
  4468. strcpy("SAS1", &num3, 8);
  4469. break;
  4470. case 58:
  4471. strcpy("TON1", &num3, 8);
  4472. break;
  4473. case 59:
  4474. strcpy("TON2", &num3, 8);
  4475. break;
  4476. case 60:
  4477. strcpy("TON3", &num3, 8);
  4478. break;
  4479. case 61:
  4480. strcpy("TON4", &num3, 8);
  4481. break;
  4482. case 62:
  4483. strcpy("TON5", &num3, 8);
  4484. break;
  4485. }
  4486. struct _s = &num3;
  4487. return buildStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4));
  4488. }
  4489.  
  4490. var sub_6A9B()
  4491. {
  4492. sub_29DA();
  4493. switch (rPtr((((&g_86838) + 1729) + 539) + 2659))
  4494. {
  4495. case 0:
  4496. return 1;
  4497. case 1:
  4498. return 2;
  4499. case 2:
  4500. return 4;
  4501. }
  4502. return 0;
  4503. }
  4504.  
  4505. var sub_6AE1()
  4506. {
  4507. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0)
  4508. {
  4509. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  4510. struct _s = &l_37;
  4511. if (SYSTEM::VDIST2(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) < (75f * 75f))
  4512. {
  4513. return 1;
  4514. }
  4515. }
  4516. if (sub_4F4B(100f, 1) != -1)
  4517. {
  4518. return 1;
  4519. }
  4520. return 0;
  4521. }
  4522.  
  4523. void sub_6B2B(var A_0)
  4524. {
  4525. if (A_0 == -1)
  4526. {
  4527. A_0 = sub_6BA7();
  4528. }
  4529. if (A_0 != -1)
  4530. {
  4531. sub_6B99(A_0);
  4532. GAMEPLAY::SET_RANDOM_EVENT_FLAG(1);
  4533. g_86827 = 0;
  4534. sub_6B5C();
  4535. }
  4536. }
  4537.  
  4538. void sub_6B5C()
  4539. {
  4540. if (PED::IS_PED_INJURED(PLAYER::PLAYER_PED_ID()) == 0)
  4541. {
  4542. if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0) != 0)
  4543. {
  4544. VEHICLE::SET_VEHICLE_MODEL_IS_SUPPRESSED(ENTITY::GET_ENTITY_MODEL(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0)), 1);
  4545. }
  4546. PED::SET_PED_CONFIG_FLAG(PLAYER::PLAYER_PED_ID(), 32, 0);
  4547. }
  4548. }
  4549.  
  4550. void sub_6B99(var A_0)
  4551. {
  4552. g_86830 = A_0;
  4553. }
  4554.  
  4555. var sub_6BA7()
  4556. {
  4557. var num3;
  4558. strcpy(SCRIPT::GET_THIS_SCRIPT_NAME(), &num3, 64);
  4559. struct _s = &num3;
  4560. return sub_6BC4(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), rPtrOfs(_s, 24), rPtrOfs(_s, 28), rPtrOfs(_s, 32), rPtrOfs(_s, 36), rPtrOfs(_s, 40), rPtrOfs(_s, 44), rPtrOfs(_s, 48), rPtrOfs(_s, 52), rPtrOfs(_s, 56), rPtrOfs(_s, 60));
  4561. }
  4562.  
  4563. var sub_6BC4(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6, var A_7, var A_8, var A_9, var A_10, var A_11, var A_12, var A_13, var A_14, var A_15)
  4564. {
  4565. var num3 = -1;
  4566. var num4 = GAMEPLAY::GET_HASH_KEY(&A_0);
  4567. if (GAMEPLAY::GET_HASH_KEY("re_abandonedcar") == num4)
  4568. {
  4569. num3 = 23;
  4570. }
  4571. if (GAMEPLAY::GET_HASH_KEY("re_accident") == num4)
  4572. {
  4573. num3 = 0;
  4574. }
  4575. if (GAMEPLAY::GET_HASH_KEY("re_arrests") == num4)
  4576. {
  4577. num3 = 15;
  4578. }
  4579. if (GAMEPLAY::GET_HASH_KEY("re_atmrobbery") == num4)
  4580. {
  4581. num3 = 1;
  4582. }
  4583. if (GAMEPLAY::GET_HASH_KEY("re_bikethief") == num4)
  4584. {
  4585. num3 = 26;
  4586. }
  4587. if (GAMEPLAY::GET_HASH_KEY("re_border") == num4)
  4588. {
  4589. num3 = 29;
  4590. }
  4591. if (GAMEPLAY::GET_HASH_KEY("re_burials") == num4)
  4592. {
  4593. num3 = 24;
  4594. }
  4595. if (GAMEPLAY::GET_HASH_KEY("re_bus_tours") == num4)
  4596. {
  4597. num3 = 2;
  4598. }
  4599. if (GAMEPLAY::GET_HASH_KEY("re_CarTheft") == num4)
  4600. {
  4601. num3 = 17;
  4602. }
  4603. if (GAMEPLAY::GET_HASH_KEY("re_chasethieves") == num4)
  4604. {
  4605. num3 = 11;
  4606. }
  4607. if (GAMEPLAY::GET_HASH_KEY("re_crashrescue") == num4)
  4608. {
  4609. num3 = 16;
  4610. }
  4611. if (GAMEPLAY::GET_HASH_KEY("re_cultshootout") == num4)
  4612. {
  4613. num3 = 18;
  4614. }
  4615. if (GAMEPLAY::GET_HASH_KEY("re_DealGoneWrong") == num4)
  4616. {
  4617. num3 = 12;
  4618. }
  4619. if (GAMEPLAY::GET_HASH_KEY("re_domestic") == num4)
  4620. {
  4621. num3 = 3;
  4622. }
  4623. if (GAMEPLAY::GET_HASH_KEY("re_drunkdriver") == num4)
  4624. {
  4625. num3 = 27;
  4626. }
  4627. if (GAMEPLAY::GET_HASH_KEY("re_Gang_Intimidation") == num4)
  4628. {
  4629. num3 = 20;
  4630. }
  4631. if (GAMEPLAY::GET_HASH_KEY("re_gangfight") == num4)
  4632. {
  4633. num3 = 19;
  4634. }
  4635. if (GAMEPLAY::GET_HASH_KEY("re_getaway_driver") == num4)
  4636. {
  4637. num3 = 4;
  4638. }
  4639. if (GAMEPLAY::GET_HASH_KEY("re_hitch_lift") == num4)
  4640. {
  4641. num3 = 13;
  4642. }
  4643. if (GAMEPLAY::GET_HASH_KEY("re_Homeland_Security") == num4)
  4644. {
  4645. num3 = 28;
  4646. }
  4647. if (GAMEPLAY::GET_HASH_KEY("re_lured") == num4)
  4648. {
  4649. num3 = 7;
  4650. }
  4651. if (GAMEPLAY::GET_HASH_KEY("re_muggings") == num4)
  4652. {
  4653. num3 = 25;
  4654. }
  4655. if (GAMEPLAY::GET_HASH_KEY("re_paparazzi") == num4)
  4656. {
  4657. num3 = 10;
  4658. }
  4659. if (GAMEPLAY::GET_HASH_KEY("re_prisonerlift") == num4)
  4660. {
  4661. num3 = 22;
  4662. }
  4663. if (GAMEPLAY::GET_HASH_KEY("re_prisonvanbreak") == num4)
  4664. {
  4665. num3 = 21;
  4666. }
  4667. if (GAMEPLAY::GET_HASH_KEY("re_SecurityVan") == num4)
  4668. {
  4669. num3 = 9;
  4670. }
  4671. if (GAMEPLAY::GET_HASH_KEY("re_shoprobbery") == num4)
  4672. {
  4673. num3 = 5;
  4674. }
  4675. if (GAMEPLAY::GET_HASH_KEY("re_snatched") == num4)
  4676. {
  4677. num3 = 6;
  4678. }
  4679. if (GAMEPLAY::GET_HASH_KEY("re_stag_do") == num4)
  4680. {
  4681. num3 = 14;
  4682. }
  4683. if (GAMEPLAY::GET_HASH_KEY("re_yetarian") == num4)
  4684. {
  4685. num3 = 30;
  4686. }
  4687. return num3;
  4688. }
  4689.  
  4690. var sub_6DCF(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
  4691. {
  4692. if (A_3 == -1)
  4693. {
  4694. A_3 = sub_6BA7();
  4695. }
  4696. if (A_3 == -1)
  4697. {
  4698. return 0;
  4699. }
  4700. struct _s = &A_0;
  4701. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &l_37);
  4702. var num3 = 0;
  4703. if (num3 == 0)
  4704. {
  4705. bool flag5;
  4706. var num4;
  4707. var num1 = PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID());
  4708. if ((num1 & (PED::IS_PED_INJURED(PLAYER::PLAYER_PED_ID()) == 0)) != 0)
  4709. {
  4710. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  4711. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num4);
  4712. }
  4713. if (sub_82E9() != 0)
  4714. {
  4715. return 0;
  4716. }
  4717. if (sub_82B2() != 0)
  4718. {
  4719. return 0;
  4720. }
  4721. if (g_86830 != -1)
  4722. {
  4723. return 0;
  4724. }
  4725. if ((sub_2AAF(sub_29C1()) != 0) && (sub_4F4B(100f, 1) != -1))
  4726. {
  4727. return 0;
  4728. }
  4729. if ((PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) != 0) && ((rPtr((&num4) + 2) - rPtr((&l_37) + 2)) > 50f))
  4730. {
  4731. return 0;
  4732. }
  4733. if (sub_8273(A_3) == 0)
  4734. {
  4735. return 0;
  4736. }
  4737. if (sub_2AAF(sub_29C1()) != 0)
  4738. {
  4739. bool flag1 = sub_824F(sub_29C1()) == 4;
  4740. if (flag1 | (sub_824F(sub_29C1()) == 5))
  4741. {
  4742. return 0;
  4743. }
  4744. }
  4745. if ((sub_2AAF(sub_29C1()) != 0) && (sub_816B(A_3, A_4, 143) == 0))
  4746. {
  4747. return 0;
  4748. }
  4749. if (sub_8159(getElem(A_3, ((&g_86838) + 23510) + 40, 4)) == 0)
  4750. {
  4751. return 0;
  4752. }
  4753. if (((GAMEPLAY::GET_GAME_TIMER() - g_86832) < 0x249F0) && (A_3 != 30))
  4754. {
  4755. return 0;
  4756. }
  4757. if (sub_8131() != 0)
  4758. {
  4759. return 0;
  4760. }
  4761. if (GAMEPLAY::GET_MISSION_FLAG() != 0)
  4762. {
  4763. return 0;
  4764. }
  4765. if (GAMEPLAY::GET_RANDOM_EVENT_FLAG() != 0)
  4766. {
  4767. return 0;
  4768. }
  4769. if (sub_7946(4) == 0)
  4770. {
  4771. return 0;
  4772. }
  4773. if (sub_455F(5) == 0)
  4774. {
  4775. return 0;
  4776. }
  4777. var num21 = sub_7923(A_3, A_4);
  4778. if ((num21 & (A_5 == 0)) != 0)
  4779. {
  4780. return 0;
  4781. }
  4782. if ((g_3 & (A_3 != 10)) != 0)
  4783. {
  4784. return 0;
  4785. }
  4786. if (INTERIOR::IS_VALID_INTERIOR(INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID())) != 0)
  4787. {
  4788. bool flag2 = INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID()) == INTERIOR::GET_INTERIOR_AT_COORDS(377.153f, -717.567f, 10.0536f);
  4789. bool flag3 = flag2 | (INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID()) == INTERIOR::GET_INTERIOR_AT_COORDS(320.9934f, 265.2515f, 82.1221f));
  4790. if (flag3 | (INTERIOR::GET_INTERIOR_FROM_ENTITY(PLAYER::PLAYER_PED_ID()) == INTERIOR::GET_INTERIOR_AT_COORDS(-1425.564f, -244.3f, 15.8053f)))
  4791. {
  4792. return 0;
  4793. }
  4794. }
  4795. bool flag4 = A_3 == 9;
  4796. if (flag4)
  4797. {
  4798. flag5 = A_4 == 2;
  4799. }
  4800. bool flag6 = flag4 & (flag5 | (A_4 == 5));
  4801. if (flag6 & (sub_7923(0, 0) == 0))
  4802. {
  4803. return 0;
  4804. }
  4805. if (g_19601 != 0)
  4806. {
  4807. return 0;
  4808. }
  4809. var num22 = sub_8273(30);
  4810. if (((num22 & (sub_7923(30, 0) == 0)) != 0) && (A_3 != 30))
  4811. {
  4812. struct _s = &num4;
  4813. if (SYSTEM::VDIST2(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), -61.2745f, -1100.468f, 25.3752f) < 176400f)
  4814. {
  4815. return 0;
  4816. }
  4817. }
  4818. if (sub_2AAF(sub_29C1()) != 0)
  4819. {
  4820. for (var i = 0; i < 3; i++)
  4821. {
  4822. var num8;
  4823. struct _s = getElemPtr(i, (((&g_86838) + 1729) + 539) + 1086, 12);
  4824. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3, &num8);
  4825. if ((sub_7847(getElem(i, (((&g_86838) + 1729) + 539) + 1082, 4)) != 0) && (sub_7120(i) != 0))
  4826. {
  4827. struct _s = &num8;
  4828. if (sub_70F7(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 0f, 0f, 0f) == 0)
  4829. {
  4830. struct _s = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0);
  4831. struct _s = &num8;
  4832. if ((SYSTEM::VDIST2(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8)) < (210f * 210f)) && (sub_29C1() != i))
  4833. {
  4834. return 0;
  4835. }
  4836. }
  4837. }
  4838. }
  4839. }
  4840. }
  4841. return 1;
  4842. }
  4843.  
  4844. var sub_70F7(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5)
  4845. {
  4846. bool flag1 = A_0 == A_3;
  4847. bool flag2 = flag1 & (rPtr((&A_0) + 4) == rPtr((&A_3) + 4));
  4848. return (flag2 & (rPtr((&A_0) + 8) == rPtr((&A_3) + 8)));
  4849. }
  4850.  
  4851. var sub_7120(var A_0)
  4852. {
  4853. return sub_7141(getElem(A_0, (((&g_86838) + 1729) + 539) + 1082, 4));
  4854. }
  4855.  
  4856. var sub_7141(var A_0)
  4857. {
  4858. return sub_7150(A_0, 1);
  4859. }
  4860.  
  4861. var sub_7150(var A_0, var A_1)
  4862. {
  4863. if (sub_7847(A_0) != 0)
  4864. {
  4865. var num3;
  4866. var num4;
  4867. var num5;
  4868. var num6;
  4869. var num7;
  4870. var num8;
  4871. sub_71A3(A_0, &num3, &num4, &num5, &num6, &num7, &num8);
  4872. bool flag1 = num8 > 0;
  4873. bool flag2 = flag1 | (num7 > 0);
  4874. bool flag3 = flag2 | (num6 > 0);
  4875. if (flag3 | (num5 >= A_1))
  4876. {
  4877. return 1;
  4878. }
  4879. }
  4880. return 0;
  4881. }
  4882.  
  4883. void sub_71A3(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6)
  4884. {
  4885. sub_71C1(sub_7646(), A_0, A_1, A_2, A_3, A_4, A_5, A_6);
  4886. }
  4887.  
  4888. void sub_71C1(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6, var A_7)
  4889. {
  4890. var num3;
  4891. var num4;
  4892. var num5;
  4893. var num6;
  4894. var num7;
  4895. var num8;
  4896. var num9;
  4897. var num10;
  4898. if (sub_753A(A_0, A_1) != 0)
  4899. {
  4900. num3 = sub_752D(A_1);
  4901. num4 = sub_74F1(A_0);
  4902. num5 = sub_74F1(A_0) - sub_74F1(A_1);
  4903. num6 = sub_752D(A_0) - sub_752D(A_1);
  4904. num7 = sub_74DF(A_0) - sub_74DF(A_1);
  4905. num8 = sub_74CC(A_0) - sub_74CC(A_1);
  4906. num9 = sub_74B9(A_0) - sub_74B9(A_1);
  4907. num10 = sub_74A6(A_0) - sub_74A6(A_1);
  4908. }
  4909. else
  4910. {
  4911. num3 = sub_752D(A_0);
  4912. num4 = sub_74F1(A_1);
  4913. num5 = sub_74F1(A_1) - sub_74F1(A_0);
  4914. num6 = sub_752D(A_1) - sub_752D(A_0);
  4915. num7 = sub_74DF(A_1) - sub_74DF(A_0);
  4916. num8 = sub_74CC(A_1) - sub_74CC(A_0);
  4917. num9 = sub_74B9(A_1) - sub_74B9(A_0);
  4918. num10 = sub_74A6(A_1) - sub_74A6(A_0);
  4919. }
  4920. while (num10 < 0)
  4921. {
  4922. num10 += 60;
  4923. num9--;
  4924. }
  4925. while (num10 > 59)
  4926. {
  4927. num10 -= 60;
  4928. num9++;
  4929. }
  4930. while (num9 < 0)
  4931. {
  4932. num9 += 60;
  4933. num8--;
  4934. }
  4935. while (num9 > 59)
  4936. {
  4937. num9 -= 60;
  4938. num8++;
  4939. }
  4940. while (num8 < 0)
  4941. {
  4942. num8 += 24;
  4943. num7--;
  4944. }
  4945. while (num8 > 23)
  4946. {
  4947. num8 -= 24;
  4948. num7++;
  4949. }
  4950. Label_0279:
  4951. if (num7 >= 0)
  4952. {
  4953. while (num6 < 0)
  4954. {
  4955. num6 += 12;
  4956. num5--;
  4957. }
  4958. while (num6 > 12)
  4959. {
  4960. num6 -= 12;
  4961. num5++;
  4962. }
  4963. wPtr(num10, A_2);
  4964. wPtr(num9, A_3);
  4965. wPtr(num8, A_4);
  4966. wPtr(num7, A_5);
  4967. wPtr(num6, A_6);
  4968. wPtr(num5, A_7);
  4969. }
  4970. else
  4971. {
  4972. while (true)
  4973. {
  4974. if (num6 >= 0)
  4975. {
  4976. break;
  4977. }
  4978. num6 += 12;
  4979. num5--;
  4980. }
  4981. num7 += sub_7404(num3, num4);
  4982. num6--;
  4983. num3 = SYSTEM::ROUND(sub_73C2(SYSTEM::TO_FLOAT(num3 + 1), 0f, 12f));
  4984. goto Label_0279;
  4985. }
  4986. }
  4987.  
  4988. var sub_73C2(var A_0, var A_1, var A_2)
  4989. {
  4990. if (A_1 == A_2)
  4991. {
  4992. return A_1;
  4993. }
  4994. var num3 = (A_2 - A_1);
  4995. A_0 -= itof(SYSTEM::ROUND(((A_0 - A_1) / num3))) * num3;
  4996. if (A_0 < A_1)
  4997. {
  4998. A_0 += num3;
  4999. }
  5000. return A_0;
  5001. }
  5002.  
  5003. var sub_7404(var A_0, var A_1)
  5004. {
  5005. if (A_1 < 0)
  5006. {
  5007. A_1 = 0;
  5008. }
  5009. switch ((A_0))
  5010. {
  5011. case 0:
  5012. case 2:
  5013. case 4:
  5014. case 6:
  5015. case 7:
  5016. case 9:
  5017. case 11:
  5018. return 31;
  5019. case 3:
  5020. case 5:
  5021. case 8:
  5022. case 10:
  5023. return 30;
  5024. case 1:
  5025. if ((A_1 % 4) == 0)
  5026. {
  5027. if ((A_1 % 100) != 0)
  5028. {
  5029. return 29;
  5030. }
  5031. if ((A_1 % 400) == 0)
  5032. {
  5033. return 29;
  5034. }
  5035. }
  5036. return 28;
  5037. }
  5038. return 30;
  5039. }
  5040.  
  5041. var sub_74A6(var A_0)
  5042. {
  5043. return (SYSTEM::SHIFT_RIGHT(A_0, 20) & 63);
  5044. }
  5045.  
  5046. var sub_74B9(var A_0)
  5047. {
  5048. return (SYSTEM::SHIFT_RIGHT(A_0, 14) & 63);
  5049. }
  5050.  
  5051. var sub_74CC(var A_0)
  5052. {
  5053. return (SYSTEM::SHIFT_RIGHT(A_0, 9) & 31);
  5054. }
  5055.  
  5056. var sub_74DF(var A_0)
  5057. {
  5058. return (SYSTEM::SHIFT_RIGHT(A_0, 4) & 31);
  5059. }
  5060.  
  5061. var sub_74F1(var A_0)
  5062. {
  5063. return (((SYSTEM::SHIFT_RIGHT(A_0, 26) & 31) * sub_7516(GAMEPLAY::IS_BIT_SET(A_0, 31), -1, 1)) + 2011);
  5064. }
  5065.  
  5066. var sub_7516(var A_0, var A_1, var A_2)
  5067. {
  5068. if (A_0 != null)
  5069. {
  5070. return A_1;
  5071. }
  5072. return A_2;
  5073. }
  5074.  
  5075. var sub_752D(var A_0)
  5076. {
  5077. return (A_0 & 15);
  5078. }
  5079.  
  5080. var sub_753A(var A_0, var A_1)
  5081. {
  5082. bool flag1 = sub_7847(A_1) == 0;
  5083. if (flag1 | (sub_7847(A_0) == 0))
  5084. {
  5085. return 1;
  5086. }
  5087. var num3 = sub_74F1(A_0);
  5088. var num4 = sub_74F1(A_1);
  5089. if (num3 > num4)
  5090. {
  5091. return 1;
  5092. }
  5093. if (num3 >= num4)
  5094. {
  5095. num3 = sub_752D(A_0);
  5096. num4 = sub_752D(A_1);
  5097. if (num3 > num4)
  5098. {
  5099. return 1;
  5100. }
  5101. if (num3 < num4)
  5102. {
  5103. return 0;
  5104. }
  5105. num3 = sub_74DF(A_0);
  5106. num4 = sub_74DF(A_1);
  5107. if (num3 > num4)
  5108. {
  5109. return 1;
  5110. }
  5111. if (num3 < num4)
  5112. {
  5113. return 0;
  5114. }
  5115. num3 = sub_74CC(A_0);
  5116. num4 = sub_74CC(A_1);
  5117. if (num3 > num4)
  5118. {
  5119. return 1;
  5120. }
  5121. if (num3 < num4)
  5122. {
  5123. return 0;
  5124. }
  5125. num3 = sub_74B9(A_0);
  5126. num4 = sub_74B9(A_1);
  5127. if (num3 > num4)
  5128. {
  5129. return 1;
  5130. }
  5131. if (num3 < num4)
  5132. {
  5133. return 0;
  5134. }
  5135. num3 = sub_74A6(A_0);
  5136. num4 = sub_74A6(A_1);
  5137. if (num3 > num4)
  5138. {
  5139. return 1;
  5140. }
  5141. }
  5142. return 0;
  5143. }
  5144.  
  5145. var sub_7646()
  5146. {
  5147. var num3;
  5148. sub_780B(&num3, TIME::GET_CLOCK_SECONDS());
  5149. sub_77D0(&num3, TIME::GET_CLOCK_MINUTES());
  5150. sub_7796(&num3, TIME::GET_CLOCK_HOURS());
  5151. sub_7745(&num3, TIME::GET_CLOCK_DAY_OF_MONTH());
  5152. sub_7712(&num3, TIME::GET_CLOCK_MONTH());
  5153. sub_768C(&num3, TIME::GET_CLOCK_YEAR());
  5154. return num3;
  5155. }
  5156.  
  5157. void sub_768C(var A_0, var A_1)
  5158. {
  5159. if (A_1 > 0)
  5160. {
  5161. bool flag1 = A_1 > 2043;
  5162. if (!(flag1 | (A_1 < 1979)))
  5163. {
  5164. wPtr(rPtr(A_0) - (rPtr(A_0) & 0x7C000000), A_0);
  5165. if (A_1 < 2011)
  5166. {
  5167. wPtr(rPtr(A_0) | SYSTEM::SHIFT_LEFT(2011 - A_1, 26), A_0);
  5168. wPtr(rPtr(A_0) | 0x80000000, A_0);
  5169. }
  5170. else
  5171. {
  5172. wPtr(rPtr(A_0) | SYSTEM::SHIFT_LEFT((A_1) - 2011, 26), A_0);
  5173. wPtr(rPtr(A_0) - (rPtr(A_0) & 0x80000000), A_0);
  5174. }
  5175. }
  5176. }
  5177. }
  5178.  
  5179. void sub_7712(var A_0, var A_1)
  5180. {
  5181. bool flag1 = A_1 < 0;
  5182. if (!(flag1 | (A_1 > 11)))
  5183. {
  5184. wPtr(rPtr(A_0) - (rPtr(A_0) & 15), A_0);
  5185. wPtr(rPtr(A_0) | A_1, A_0);
  5186. }
  5187. }
  5188.  
  5189. void sub_7745(var A_0, var A_1)
  5190. {
  5191. var num3 = sub_752D(rPtr(A_0));
  5192. var num4 = sub_74F1(rPtr(A_0));
  5193. bool flag1 = A_1 < 1;
  5194. if (!(flag1 | (A_1 > sub_7404(num3, num4))))
  5195. {
  5196. wPtr(rPtr(A_0) - (rPtr(A_0) & 496), A_0);
  5197. wPtr(rPtr(A_0) | SYSTEM::SHIFT_LEFT(A_1, 4), A_0);
  5198. }
  5199. }
  5200.  
  5201. void sub_7796(var A_0, var A_1)
  5202. {
  5203. bool flag1 = A_1 < 0;
  5204. if (!(flag1 | (A_1 > 23)))
  5205. {
  5206. wPtr(rPtr(A_0) - (rPtr(A_0) & 15872), A_0);
  5207. wPtr(rPtr(A_0) | SYSTEM::SHIFT_LEFT(A_1, 9), A_0);
  5208. }
  5209. }
  5210.  
  5211. void sub_77D0(var A_0, var A_1)
  5212. {
  5213. bool flag1 = A_1 < 0;
  5214. if (!(flag1 | (A_1 >= 60)))
  5215. {
  5216. wPtr(rPtr(A_0) - (rPtr(A_0) & 0xFC000), A_0);
  5217. wPtr(rPtr(A_0) | SYSTEM::SHIFT_LEFT(A_1, 14), A_0);
  5218. }
  5219. }
  5220.  
  5221. void sub_780B(var A_0, var A_1)
  5222. {
  5223. bool flag1 = A_1 < 0;
  5224. if (!(flag1 | (A_1 >= 60)))
  5225. {
  5226. wPtr(rPtr(A_0) - (rPtr(A_0) & 0x3F00000), A_0);
  5227. wPtr(rPtr(A_0) | SYSTEM::SHIFT_LEFT(A_1, 20), A_0);
  5228. }
  5229. }
  5230.  
  5231. var sub_7847(var A_0)
  5232. {
  5233. if (A_0 == -15)
  5234. {
  5235. return 0;
  5236. }
  5237. var num3 = sub_74A6(A_0);
  5238. bool flag1 = num3 < 0;
  5239. if (flag1 | (num3 >= 60))
  5240. {
  5241. return 0;
  5242. }
  5243. var num4 = sub_74B9(A_0);
  5244. bool flag2 = num4 < 0;
  5245. if (flag2 | (num4 >= 60))
  5246. {
  5247. return 0;
  5248. }
  5249. var num5 = sub_74CC(A_0);
  5250. bool flag3 = num5 < 0;
  5251. if (flag3 | (num5 > 23))
  5252. {
  5253. return 0;
  5254. }
  5255. var num6 = sub_74F1(A_0);
  5256. bool flag4 = num6 <= 0;
  5257. bool flag5 = flag4 | (num6 > 2043);
  5258. if (flag5 | (num6 < 1979))
  5259. {
  5260. return 0;
  5261. }
  5262. var num7 = sub_752D(A_0);
  5263. bool flag6 = num7 < 0;
  5264. if (flag6 | (num7 > 11))
  5265. {
  5266. return 0;
  5267. }
  5268. var num8 = sub_74DF(A_0);
  5269. bool flag7 = num8 < 1;
  5270. if (flag7 | (num8 > sub_7404(num7, num6)))
  5271. {
  5272. return 0;
  5273. }
  5274. return 1;
  5275. }
  5276.  
  5277. var sub_7923(var A_0, var A_1)
  5278. {
  5279. if (GAMEPLAY::IS_BIT_SET(getElem(A_0, ((&g_86838) + 23510) + 8, 4), A_1) != 0)
  5280. {
  5281. return 1;
  5282. }
  5283. return 0;
  5284. }
  5285.  
  5286. var sub_7946(var A_0)
  5287. {
  5288. if (PLAYER::IS_PLAYER_PLAYING(PLAYER::PLAYER_ID()) == 0)
  5289. {
  5290. return 0;
  5291. }
  5292. if (ENTITY::DOES_ENTITY_EXIST(PLAYER::PLAYER_PED_ID()) == 0)
  5293. {
  5294. return 0;
  5295. }
  5296. if (PED::IS_PED_INJURED(PLAYER::PLAYER_PED_ID()) != 0)
  5297. {
  5298. return 0;
  5299. }
  5300. var num3 = sub_29C1();
  5301. if (sub_2AAF(num3) == 0)
  5302. {
  5303. return 0;
  5304. }
  5305. switch ((A_0))
  5306. {
  5307. case 9:
  5308. case 0:
  5309. {
  5310. bool flag1 = PLAYER::IS_PLAYER_READY_FOR_CUTSCENE(PLAYER::PLAYER_ID()) == 0;
  5311. bool flag2 = flag1 | ENTITY::IS_ENTITY_IN_AIR(PLAYER::PLAYER_PED_ID());
  5312. bool flag3 = flag2 | PED::IS_PED_GETTING_INTO_A_VEHICLE(PLAYER::PLAYER_PED_ID());
  5313. bool flag4 = flag3 | PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID());
  5314. bool flag5 = flag4 | PED::IS_PED_FALLING(PLAYER::PLAYER_PED_ID());
  5315. bool flag6 = flag5 | PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5316. bool flag7 = flag6 | PLAYER::IS_PLAYER_CLIMBING(PLAYER::PLAYER_ID());
  5317. bool flag8 = flag7 | PED::IS_PED_IN_COMBAT(PLAYER::PLAYER_PED_ID(), 0);
  5318. bool flag9 = flag8 | sub_8115();
  5319. bool flag10 = flag9 | g_85932;
  5320. bool flag11 = flag10 | g_19459;
  5321. bool flag12 = flag11 | sub_8109();
  5322. bool flag13 = flag12 | sub_3F0F(8, -1);
  5323. bool flag14 = flag13 | sub_80F8();
  5324. bool flag15 = flag14 | sub_80E7();
  5325. bool flag16 = flag15 | sub_80BE();
  5326. bool flag17 = flag16 | sub_80A4();
  5327. if (!(flag17 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5)))
  5328. {
  5329. break;
  5330. }
  5331. return 0;
  5332. }
  5333. case 1:
  5334. {
  5335. var num1 = PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5336. var num8 = num1 | sub_8115();
  5337. var num9 = num8 | g_85932;
  5338. var num10 = num9 | g_19459;
  5339. var num11 = num10 | sub_8109();
  5340. var num12 = num11 | sub_3F0F(8, -1);
  5341. var num13 = num12 | sub_80BE();
  5342. var num14 = num13 | sub_80F8();
  5343. var num15 = num14 | sub_80E7();
  5344. var num16 = num15 | sub_80A4();
  5345. if ((num16 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5)) == 0)
  5346. {
  5347. break;
  5348. }
  5349. return 0;
  5350. }
  5351. case 2:
  5352. {
  5353. bool flag18 = PLAYER::IS_PLAYER_READY_FOR_CUTSCENE(PLAYER::PLAYER_ID()) == 0;
  5354. bool flag19 = flag18 | ENTITY::IS_ENTITY_IN_AIR(PLAYER::PLAYER_PED_ID());
  5355. bool flag20 = flag19 | PED::IS_PED_GETTING_INTO_A_VEHICLE(PLAYER::PLAYER_PED_ID());
  5356. bool flag21 = flag20 | PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID());
  5357. bool flag22 = flag21 | PED::IS_PED_FALLING(PLAYER::PLAYER_PED_ID());
  5358. bool flag23 = flag22 | PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5359. bool flag24 = flag23 | PLAYER::IS_PLAYER_CLIMBING(PLAYER::PLAYER_ID());
  5360. bool flag25 = flag24 | PED::IS_PED_IN_COMBAT(PLAYER::PLAYER_PED_ID(), 0);
  5361. bool flag26 = flag25 | sub_8115();
  5362. bool flag27 = flag26 | g_85932;
  5363. bool flag28 = flag27 | g_19459;
  5364. bool flag29 = flag28 | sub_8109();
  5365. bool flag30 = flag29 | sub_3F0F(8, -1);
  5366. bool flag31 = flag30 | sub_80BE();
  5367. bool flag32 = flag31 | sub_80F8();
  5368. bool flag33 = flag32 | sub_80E7();
  5369. bool flag34 = flag33 | sub_80A4();
  5370. bool flag35 = flag34 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5);
  5371. if (!(flag35 | (g_30341 != -1)))
  5372. {
  5373. break;
  5374. }
  5375. return 0;
  5376. }
  5377. case 3:
  5378. {
  5379. var num17 = PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID());
  5380. var num18 = num17 | PED::IS_PED_FALLING(PLAYER::PLAYER_PED_ID());
  5381. var num19 = num18 | PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5382. var num20 = num19 | PED::IS_PED_IN_COMBAT(PLAYER::PLAYER_PED_ID(), 0);
  5383. var num21 = num20 | sub_8115();
  5384. var num22 = num21 | g_85932;
  5385. var num23 = num22 | g_19459;
  5386. var num24 = num23 | sub_8109();
  5387. var num25 = num24 | sub_3F0F(8, -1);
  5388. var num26 = num25 | sub_80F8();
  5389. var num27 = num26 | sub_80E7();
  5390. var num28 = num27 | sub_80A4();
  5391. if ((num28 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5)) == 0)
  5392. {
  5393. break;
  5394. }
  5395. return 0;
  5396. }
  5397. case 4:
  5398. {
  5399. var num29 = sub_8115();
  5400. var num30 = num29 | (PLAYER::GET_PLAYER_WANTED_LEVEL(PLAYER::PLAYER_ID()) > 0);
  5401. var num31 = num30 | sub_3F0F(8, -1);
  5402. var num32 = num31 | sub_80A4();
  5403. var num33 = num32 | sub_807E();
  5404. if ((num33 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5)) == 0)
  5405. {
  5406. break;
  5407. }
  5408. return 0;
  5409. }
  5410. case 5:
  5411. {
  5412. var num34 = sub_3F0F(8, -1);
  5413. var num35 = num34 | sub_80F8();
  5414. var num36 = num35 | sub_80E7();
  5415. var num37 = num36 | sub_807E();
  5416. if ((num37 | sub_8070()) == 0)
  5417. {
  5418. var num38 = STREAMING::STOP_PLAYER_REMAIN_ARCADE();
  5419. var num39 = num38 & (STREAMING::GET_PLAYER_SWITCH_TYPE() != 3);
  5420. if ((num39 & (STREAMING::GET_PLAYER_SWITCH_STATE() < 8)) == 0)
  5421. {
  5422. break;
  5423. }
  5424. }
  5425. return 0;
  5426. }
  5427. case 6:
  5428. {
  5429. if (ENTITY::DOES_ENTITY_EXIST(PLAYER::PLAYER_PED_ID()) == 0)
  5430. {
  5431. break;
  5432. }
  5433. var num40 = PED::IS_PED_IN_COMBAT(PLAYER::PLAYER_PED_ID(), 0);
  5434. var num41 = num40 | (PLAYER::GET_PLAYER_WANTED_LEVEL(PLAYER::PLAYER_ID()) > 0);
  5435. var num42 = num41 | ENTITY::IS_ENTITY_IN_AIR(PLAYER::PLAYER_PED_ID());
  5436. var num43 = num42 | PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID());
  5437. var num44 = num43 | PED::IS_PED_FALLING(PLAYER::PLAYER_PED_ID());
  5438. var num45 = num44 | PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5439. var num46 = num45 | PLAYER::IS_PLAYER_CLIMBING(PLAYER::PLAYER_ID());
  5440. var num47 = num46 | sub_8115();
  5441. var num48 = num47 | g_19459;
  5442. var num49 = num48 | sub_8109();
  5443. var num50 = num49 | sub_3F0F(8, -1);
  5444. var num51 = num50 | sub_80E7();
  5445. var num52 = num51 | sub_80BE();
  5446. var num53 = num52 | sub_80A4();
  5447. if ((num53 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5)) == 0)
  5448. {
  5449. break;
  5450. }
  5451. return 0;
  5452. }
  5453. case 7:
  5454. {
  5455. var num54 = PED::IS_PED_IN_COMBAT(PLAYER::PLAYER_PED_ID(), 0);
  5456. var num55 = num54 | (PLAYER::IS_PLAYER_CONTROL_ON(PLAYER::PLAYER_ID()) == 0);
  5457. var num56 = num55 | (PLAYER::IS_PLAYER_READY_FOR_CUTSCENE(PLAYER::PLAYER_ID()) == 0);
  5458. var num57 = num56 | (CAM::IS_SCREEN_FADED_IN() == 0);
  5459. var num58 = num57 | ENTITY::IS_ENTITY_IN_AIR(PLAYER::PLAYER_PED_ID());
  5460. var num59 = num58 | PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID());
  5461. var num60 = num59 | PED::IS_PED_FALLING(PLAYER::PLAYER_PED_ID());
  5462. var num61 = num60 | PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5463. var num62 = num61 | sub_8115();
  5464. var num63 = num62 | sub_80E7();
  5465. var num64 = num63 | g_85932;
  5466. var num65 = num64 | g_19459;
  5467. var num66 = num65 | sub_8109();
  5468. var num67 = num66 | g_30815;
  5469. var num68 = num67 | sub_3F0F(8, -1);
  5470. var num69 = num68 | sub_80BE();
  5471. var num70 = num69 | sub_807E();
  5472. var num71 = num70 | sub_80A4();
  5473. if ((num71 | (getElem(num3, ((&g_86838) + 5384) + 889, 4) == 5)) == 0)
  5474. {
  5475. break;
  5476. }
  5477. return 0;
  5478. }
  5479. case 8:
  5480. {
  5481. var num72 = PED::IS_PED_IN_COMBAT(PLAYER::PLAYER_PED_ID(), 0);
  5482. var num73 = num72 | (PLAYER::IS_PLAYER_CONTROL_ON(PLAYER::PLAYER_ID()) == 0);
  5483. var num74 = num73 | (PLAYER::IS_PLAYER_READY_FOR_CUTSCENE(PLAYER::PLAYER_ID()) == 0);
  5484. var num75 = num74 | (CAM::IS_SCREEN_FADED_IN() == 0);
  5485. var num76 = num75 | PLAYER::IS_PLAYER_WANTED_LEVEL_GREATER(PLAYER::PLAYER_ID(), 0);
  5486. var num77 = num76 | ENTITY::IS_ENTITY_IN_AIR(PLAYER::PLAYER_PED_ID());
  5487. var num78 = num77 | PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 1);
  5488. var num79 = num78 | PED::IS_PED_RAGDOLL(PLAYER::PLAYER_PED_ID());
  5489. var num80 = num79 | PED::IS_PED_FALLING(PLAYER::PLAYER_PED_ID());
  5490. var num81 = num80 | PED::IS_PED_SWIMMING(PLAYER::PLAYER_PED_ID());
  5491. var num82 = num81 | PLAYER::IS_PLAYER_BEING_ARRESTED(PLAYER::PLAYER_ID(), 1);
  5492. var num83 = num82 | PLAYER::IS_PLAYER_CLIMBING(PLAYER::PLAYER_ID());
  5493. var num84 = num83 | sub_8115();
  5494. var num85 = num84 | g_85932;
  5495. var num86 = num85 | g_19459;
  5496. var num87 = num86 | sub_8109();
  5497. var num88 = num87 | sub_3F0F(8, -1);
  5498. var num89 = num88 | sub_80BE();
  5499. var num90 = num89 | sub_807E();
  5500. var num91 = num90 | sub_80F8();
  5501. var num92 = num91 | sub_80E7();
  5502. if ((num92 | sub_80A4()) == 0)
  5503. {
  5504. break;
  5505. }
  5506. return 0;
  5507. }
  5508. }
  5509. return 1;
  5510. }
  5511.  
  5512. var sub_8070()
  5513. {
  5514. return rPtr((&g_80916) + 1);
  5515. }
  5516.  
  5517. var sub_807E()
  5518. {
  5519. if (g_78538 != -1)
  5520. {
  5521. return GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(g_78538, &g_72553, 136) + 60), 13);
  5522. }
  5523. return 0;
  5524. }
  5525.  
  5526. var sub_80A4()
  5527. {
  5528. if (SCRIPT::0x029D3841(0xAB140056) > 0)
  5529. {
  5530. return 1;
  5531. }
  5532. return 0;
  5533. }
  5534.  
  5535. var sub_80BE()
  5536. {
  5537. if (g_60102 != 0)
  5538. {
  5539. return 1;
  5540. }
  5541. if ((g_46765 & (g_46771 == 0)) != 0)
  5542. {
  5543. return 1;
  5544. }
  5545. return 0;
  5546. }
  5547.  
  5548. var sub_80E7()
  5549. {
  5550. return (rPtr((&g_80929) + 291) > 0);
  5551. }
  5552.  
  5553. var sub_80F8()
  5554. {
  5555. return (rPtr((&g_80929) + 290) > 0);
  5556. }
  5557.  
  5558. var sub_8109()
  5559. {
  5560. return g_1344102;
  5561. }
  5562.  
  5563. var sub_8115()
  5564. {
  5565. if (NETWORK::NETWORK_IS_GAME_IN_PROGRESS() == 0)
  5566. {
  5567. return (rPtr((&g_79091) + 44) == 1);
  5568. }
  5569. return 0;
  5570. }
  5571.  
  5572. var sub_8131()
  5573. {
  5574. sub_3E87();
  5575. if (rPtr(getElemPtr(0, getElemPtr(g_10433, &g_2480, 7872), 1124) + 1036) == 2)
  5576. {
  5577. return 1;
  5578. }
  5579. return 0;
  5580. }
  5581.  
  5582. var sub_8159(var A_0)
  5583. {
  5584. return sub_753A(sub_7646(), A_0);
  5585. }
  5586.  
  5587. var sub_816B(var A_0, var A_1, var A_2)
  5588. {
  5589. bool flag3;
  5590. var num3 = 0;
  5591. var num4 = sub_29C1();
  5592. bool flag1 = A_2 != 143;
  5593. if (flag1)
  5594. {
  5595. bool flag2 = A_2 == 0;
  5596. flag3 = flag2 | (A_2 == 1);
  5597. }
  5598. if (flag1 & (flag3 | (A_2 == 2)))
  5599. {
  5600. num4 = A_2;
  5601. }
  5602. num4 = A_0;
  5603. switch (num4)
  5604. {
  5605. case 18:
  5606. if (num4 == 2)
  5607. {
  5608. num3 = 1;
  5609. }
  5610. break;
  5611. case 19:
  5612. if (num4 != 2)
  5613. {
  5614. num3 = 1;
  5615. }
  5616. break;
  5617. case 20:
  5618. if (num4 != 1)
  5619. {
  5620. num3 = 1;
  5621. }
  5622. break;
  5623. case 28:
  5624. if (num4 != 2)
  5625. {
  5626. num3 = 1;
  5627. }
  5628. break;
  5629. case 13:
  5630. if (num4 != 0)
  5631. {
  5632. num3 = 1;
  5633. break;
  5634. }
  5635. if (A_1 == 2)
  5636. {
  5637. num3 = 0;
  5638. }
  5639. else
  5640. {
  5641. num3 = 1;
  5642. }
  5643. break;
  5644. case 22:
  5645. {
  5646. bool flag4 = A_1 == 2;
  5647. if (flag4 | (num4 != 2))
  5648. {
  5649. num3 = 1;
  5650. }
  5651. break;
  5652. }
  5653. case 30:
  5654. if (num4 != 2)
  5655. {
  5656. num3 = 1;
  5657. }
  5658. break;
  5659. default:
  5660. num3 = 1;
  5661. break;
  5662. }
  5663. return num3;
  5664. }
  5665.  
  5666. var sub_824F(var A_0)
  5667. {
  5668. if (sub_2AAF(A_0) == 0)
  5669. {
  5670. return 7;
  5671. }
  5672. return getElem(A_0, ((&g_86838) + 5384) + 889, 4);
  5673. }
  5674.  
  5675. var sub_8273(var A_0)
  5676. {
  5677. var num4;
  5678. var num3 = A_0;
  5679. if (num3 < 31)
  5680. {
  5681. num4 = GAMEPLAY::IS_BIT_SET(rPtr((&g_86838) + 23510), num3);
  5682. }
  5683. else
  5684. {
  5685. num3 -= 31;
  5686. num4 = GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 23510) + 1), num3);
  5687. }
  5688. return num4;
  5689. }
  5690.  
  5691. var sub_82B2()
  5692. {
  5693. if (g_19604 != 0)
  5694. {
  5695. var num3 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
  5696. if ((VEHICLE::IS_VEHICLE_DRIVEABLE(num3, 0) != 0) && (PED::IS_PED_INJURED(VEHICLE::GET_PED_IN_VEHICLE_SEAT(num3, 0)) == 0))
  5697. {
  5698. return 1;
  5699. }
  5700. }
  5701. return 0;
  5702. }
  5703.  
  5704. var sub_82E9()
  5705. {
  5706. return GAMEPLAY::IS_BIT_SET(g_60090, 0);
  5707. }
  5708.  
  5709. void sub_82F9()
  5710. {
  5711. if (GAMEPLAY::GET_RANDOM_EVENT_FLAG() != 0)
  5712. {
  5713. switch (l_42)
  5714. {
  5715. case 2:
  5716. sub_9C27(6);
  5717. sub_8CFC();
  5718. break;
  5719. case 3:
  5720. sub_9C27(5);
  5721. sub_8CFC();
  5722. break;
  5723. }
  5724. if (ENTITY::DOES_ENTITY_EXIST(l_48) != 0)
  5725. {
  5726. bool flag1 = PED::IS_PED_INJURED(l_48) == 0;
  5727. if (flag1 & (ENTITY::IS_ENTITY_DEAD(l_48) == 0))
  5728. {
  5729. ENTITY::IS_ENTITY_DEAD(l_47);
  5730. if (ENTITY::DOES_ENTITY_EXIST(l_47) != 0)
  5731. {
  5732. struct _s = ENTITY::GET_ENTITY_COORDS(l_47, 1);
  5733. AI::TASK_SMART_FLEE_COORD(l_48, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 60000f, -1, 0, 0);
  5734. }
  5735. else
  5736. {
  5737. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  5738. AI::TASK_SMART_FLEE_COORD(l_48, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 60000f, -1, 0, 0);
  5739. }
  5740. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_48, 0);
  5741. PED::SET_PED_KEEP_TASK(l_48, 1);
  5742. }
  5743. }
  5744. if ((ENTITY::DOES_ENTITY_EXIST(l_47) != 0) && (PED::IS_PED_INJURED(l_47) == 0))
  5745. {
  5746. PED::SET_PED_KEEP_TASK(l_47, 1);
  5747. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_47, 0);
  5748. PED::SET_PED_AS_COP(l_47, 1);
  5749. PED::SET_PED_CAN_BE_TARGETTED(l_47, 1);
  5750. }
  5751. if ((ENTITY::DOES_ENTITY_EXIST(l_49) != 0) && (PED::IS_PED_INJURED(l_49) == 0))
  5752. {
  5753. if (PLAYER::IS_PLAYER_WANTED_LEVEL_GREATER(PLAYER::PLAYER_ID(), 0) != 0)
  5754. {
  5755. sub_34EB();
  5756. }
  5757. PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_49, 0);
  5758. PED::SET_PED_AS_COP(l_49, 1);
  5759. }
  5760. if (sub_8CD1() != 0)
  5761. {
  5762. PLAYER::SET_WANTED_LEVEL_MULTIPLIER(1f);
  5763. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_65, l_64);
  5764. PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_64, l_65);
  5765. g_19513 = 0;
  5766. }
  5767. if (l_70 != 0)
  5768. {
  5769. VEHICLE::SET_RANDOM_TRAINS(1);
  5770. }
  5771. }
  5772. PATHFIND::SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA(2551.038f, 4708.613f, 32.6775f, 2536.979f, 5022.179f, 43.8519f, 300f);
  5773. if (l_280 != 0)
  5774. {
  5775. PLAYER::SET_PLAYER_WANTED_LEVEL_NO_DROP(PLAYER::PLAYER_ID(), 3, 0);
  5776. PLAYER::SET_PLAYER_WANTED_LEVEL_NOW(PLAYER::PLAYER_ID(), 0);
  5777. }
  5778. sub_8489(-1);
  5779. SYSTEM::WAIT(0);
  5780. SCRIPT::TERMINATE_THIS_THREAD();
  5781. }
  5782.  
  5783. void sub_8489(var A_0)
  5784. {
  5785. if (A_0 == -1)
  5786. {
  5787. A_0 = sub_6BA7();
  5788. }
  5789. if (A_0 != -1)
  5790. {
  5791. if (sub_8CD1() != 0)
  5792. {
  5793. var num3;
  5794. sub_8847(A_0);
  5795. UI::SET_MISSION_NAME(0, 0);
  5796. g_86832 = GAMEPLAY::GET_GAME_TIMER();
  5797. sub_8835(30000);
  5798. strcpy(sub_862C(g_86830, 1), &num3, 64);
  5799. if (sub_857B(g_86830) > 0)
  5800. {
  5801. sadd(" Variation ", &num3, 64);
  5802. saddi(g_86829, &num3, 64);
  5803. }
  5804. STATS::0xAC2C7C63(&num3, g_86827, GAMEPLAY::GET_GAME_TIMER() - g_86828, 0);
  5805. }
  5806. else
  5807. {
  5808. var num1 = GAMEPLAY::IS_BIT_SET(g_86837, 0);
  5809. if ((num1 & (rPtr(((&g_86838) + 23510) + 2) < 3)) != 0)
  5810. {
  5811. GAMEPLAY::CLEAR_BIT(&g_86837, 0);
  5812. }
  5813. }
  5814. sub_853E(&g_19514);
  5815. g_86831 = 0;
  5816. sub_6B99(-1);
  5817. }
  5818. }
  5819.  
  5820. void sub_853E(var A_0)
  5821. {
  5822. if (rPtr(A_0) != -1)
  5823. {
  5824. if (rPtr(A_0) != g_29776)
  5825. {
  5826. wPtr(-1, A_0);
  5827. }
  5828. else
  5829. {
  5830. wPtr(-1, A_0);
  5831. g_29775 = 0;
  5832. g_29777 = 0;
  5833. g_29814 = 12;
  5834. g_46768 = 0;
  5835. g_46769 = 0;
  5836. }
  5837. }
  5838. }
  5839.  
  5840. var sub_857B(var A_0)
  5841. {
  5842. var num3 = 1;
  5843. switch ((A_0))
  5844. {
  5845. case 1:
  5846. num3 = 5;
  5847. break;
  5848. case 5:
  5849. num3 = 2;
  5850. break;
  5851. case 9:
  5852. num3 = 10;
  5853. break;
  5854. case 11:
  5855. num3 = 4;
  5856. break;
  5857. case 13:
  5858. num3 = 4;
  5859. break;
  5860. case 15:
  5861. num3 = 2;
  5862. break;
  5863. case 17:
  5864. num3 = 2;
  5865. break;
  5866. case 22:
  5867. num3 = 2;
  5868. break;
  5869. case 23:
  5870. num3 = 2;
  5871. break;
  5872. case 25:
  5873. num3 = 3;
  5874. break;
  5875. case 26:
  5876. num3 = 2;
  5877. break;
  5878. case 27:
  5879. num3 = 2;
  5880. break;
  5881. case 29:
  5882. num3 = 3;
  5883. break;
  5884. }
  5885. return num3;
  5886. }
  5887.  
  5888. var sub_862C(var A_0, var A_1)
  5889. {
  5890. switch (A_0)
  5891. {
  5892. case 0:
  5893. return "RE_ACCIDENT";
  5894. case 1:
  5895. return "RE_ATMROBBERY";
  5896. case 2:
  5897. return "RE_BUSTOUR";
  5898. case 3:
  5899. return "RE_DOMESTIC";
  5900. case 4:
  5901. return "RE_GETAWAYDRIVER";
  5902. case 5:
  5903. return "RE_SHOPROBBERY";
  5904. case 6:
  5905. return "RE_SNATCHED";
  5906. case 7:
  5907. return "RE_LURED";
  5908. case 8:
  5909. return "RE_BIKETHIEFSTAMP";
  5910. case 9:
  5911. return "RE_SECURITYVAN";
  5912. case 10:
  5913. return "RE_PAPARAZZI";
  5914. case 11:
  5915. return "RE_CHASETHIEVES";
  5916. case 12:
  5917. return "RE_DEALGONEWRONG";
  5918. case 13:
  5919. return "RE_HITCHLIFT";
  5920. case 14:
  5921. return "RE_STAG";
  5922. case 15:
  5923. return "RE_ARREST";
  5924. case 16:
  5925. return "RE_CRASHRESCUE";
  5926. case 17:
  5927. return "RE_CARTHEFT";
  5928. case 18:
  5929. return "RE_CULTSHOOTOUT";
  5930. case 19:
  5931. return "RE_GANGFIGHT";
  5932. case 20:
  5933. return "RE_GANGINTIMIDATION";
  5934. case 21:
  5935. return "RE_PRISONVANBREAK";
  5936. case 22:
  5937. return "RE_PRISONERLIFT";
  5938. case 23:
  5939. return "RE_ABANDONEDCAR";
  5940. case 24:
  5941. return "RE_BURIAL";
  5942. case 25:
  5943. return "RE_MUGGING";
  5944. case 26:
  5945. return "RE_BIKETHIEF";
  5946. case 27:
  5947. return "RE_DRUNKDRIVER";
  5948. case 28:
  5949. return "RE_HOMELANDSECURITY";
  5950. case 29:
  5951. return "RE_BORDERPATROL";
  5952. case 30:
  5953. return "RE_SIMEONYETARIAN";
  5954. }
  5955. return "UNKNOWN";
  5956. }
  5957.  
  5958. void sub_8835(var A_0)
  5959. {
  5960. g_30345 = GAMEPLAY::GET_GAME_TIMER() + A_0;
  5961. }
  5962.  
  5963. void sub_8847(var A_0)
  5964. {
  5965. sub_885C(A_0, 0, sub_8B2E(A_0));
  5966. }
  5967.  
  5968. void sub_885C(var A_0, var A_1, var A_2)
  5969. {
  5970. var num4;
  5971. var num3 = sub_7646();
  5972. sub_8974(&num3, 0, 0, A_2, A_1, 0, 0);
  5973. sub_895C(A_0, &num3);
  5974. struct _s = sub_888B(&num3);
  5975. setStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), rPtrOfs(_s, 24), rPtrOfs(_s, 28), rPtrOfs(_s, 32), rPtrOfs(_s, 36), rPtrOfs(_s, 40), rPtrOfs(_s, 44), rPtrOfs(_s, 48), rPtrOfs(_s, 52), rPtrOfs(_s, 56), rPtrOfs(_s, 60), 16, &num4);
  5976. }
  5977.  
  5978. var sub_888B(var A_0)
  5979. {
  5980. var num3;
  5981. strcpy("", &num3, 64);
  5982. var num19 = sub_74CC(rPtr(A_0));
  5983. if (num19 < 10)
  5984. {
  5985. saddi(0, &num3, 64);
  5986. }
  5987. saddi(num19, &num3, 64);
  5988. sadd(":", &num3, 64);
  5989. num19 = sub_74B9(rPtr(A_0));
  5990. if (num19 < 10)
  5991. {
  5992. saddi(0, &num3, 64);
  5993. }
  5994. saddi(num19, &num3, 64);
  5995. sadd(":", &num3, 64);
  5996. num19 = sub_74A6(rPtr(A_0));
  5997. if (num19 < 10)
  5998. {
  5999. saddi(0, &num3, 64);
  6000. }
  6001. saddi(num19, &num3, 64);
  6002. sadd(" ", &num3, 64);
  6003. num19 = sub_74DF(rPtr(A_0));
  6004. if (num19 < 10)
  6005. {
  6006. saddi(0, &num3, 64);
  6007. }
  6008. saddi(num19, &num3, 64);
  6009. sadd("/", &num3, 64);
  6010. num19 = sub_752D(rPtr(A_0));
  6011. if (num19 < 9)
  6012. {
  6013. saddi(0, &num3, 64);
  6014. }
  6015. saddi(num19 + 1, &num3, 64);
  6016. sadd("/", &num3, 64);
  6017. saddi(sub_74F1(rPtr(A_0)), &num3, 64);
  6018. struct _s = &num3;
  6019. return buildStruct(rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), rPtrOfs(_s, 12), rPtrOfs(_s, 16), rPtrOfs(_s, 20), rPtrOfs(_s, 24), rPtrOfs(_s, 28), rPtrOfs(_s, 32), rPtrOfs(_s, 36), rPtrOfs(_s, 40), rPtrOfs(_s, 44), rPtrOfs(_s, 48), rPtrOfs(_s, 52), rPtrOfs(_s, 56), rPtrOfs(_s, 60));
  6020. }
  6021.  
  6022. void sub_895C(var A_0, var A_1)
  6023. {
  6024. setElem(rPtr(A_1), A_0, ((&g_86838) + 23510) + 40, 4);
  6025. }
  6026.  
  6027. void sub_8974(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6)
  6028. {
  6029. var num3 = sub_74F1(rPtr(A_0));
  6030. var num4 = sub_752D(rPtr(A_0));
  6031. var num5 = sub_74DF(rPtr(A_0));
  6032. var num6 = sub_74CC(rPtr(A_0));
  6033. var num7 = sub_74B9(rPtr(A_0));
  6034. var num8 = sub_74A6(rPtr(A_0));
  6035. bool flag1 = A_6 == 0;
  6036. bool flag2 = flag1 & (A_5 == 0);
  6037. bool flag3 = flag2 & (A_4 == 0);
  6038. bool flag4 = flag3 & (A_3 == 0);
  6039. bool flag5 = flag4 & (A_2 == 0);
  6040. if ((((((!(flag5 & (A_1 == 0)) && (A_1 >= 0)) && (A_2 >= 0)) && (A_3 >= 0)) && (A_4 >= 0)) && (A_5 >= 0)) && (A_6 >= 0))
  6041. {
  6042. num8 += A_1;
  6043. while (true)
  6044. {
  6045. if (num8 < 60)
  6046. {
  6047. break;
  6048. }
  6049. A_2 += 1;
  6050. num8 -= 60;
  6051. }
  6052. num7 += A_2;
  6053. while (true)
  6054. {
  6055. if (num7 < 60)
  6056. {
  6057. break;
  6058. }
  6059. A_3 += 1;
  6060. num7 -= 60;
  6061. }
  6062. num6 += A_3;
  6063. while (true)
  6064. {
  6065. if (num6 < 24)
  6066. {
  6067. break;
  6068. }
  6069. A_4 += 1;
  6070. num6 -= 24;
  6071. }
  6072. num5 += A_4;
  6073. var num9 = sub_7404(num4, num3);
  6074. while (true)
  6075. {
  6076. if (num5 <= num9)
  6077. {
  6078. break;
  6079. }
  6080. A_5 += 1;
  6081. num5 -= num9;
  6082. if (num4 > 11)
  6083. {
  6084. A_6 += 1;
  6085. num4 -= 12;
  6086. }
  6087. num9 = sub_7404(num4, num3);
  6088. }
  6089. num4 += A_5;
  6090. while (true)
  6091. {
  6092. if (num4 <= 11)
  6093. {
  6094. break;
  6095. }
  6096. A_6 += 1;
  6097. num4 -= 12;
  6098. }
  6099. num3 += A_6;
  6100. sub_8AF6(A_0, num8, num7, num6, num5, num4, num3);
  6101. }
  6102. }
  6103.  
  6104. void sub_8AF6(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6)
  6105. {
  6106. sub_780B(A_0, A_1);
  6107. sub_77D0(A_0, A_2);
  6108. sub_7796(A_0, A_3);
  6109. sub_7745(A_0, A_4);
  6110. sub_7712(A_0, A_5);
  6111. sub_768C(A_0, A_6);
  6112. }
  6113.  
  6114. var sub_8B2E(var A_0)
  6115. {
  6116. var num3;
  6117. switch ((A_0))
  6118. {
  6119. case 23:
  6120. num3 = 30;
  6121. break;
  6122. case 0:
  6123. num3 = 30;
  6124. break;
  6125. case 15:
  6126. num3 = 30;
  6127. break;
  6128. case 1:
  6129. num3 = 200;
  6130. break;
  6131. case 26:
  6132. num3 = 30;
  6133. break;
  6134. case 8:
  6135. num3 = 30;
  6136. break;
  6137. case 29:
  6138. num3 = 30;
  6139. break;
  6140. case 24:
  6141. num3 = 30;
  6142. break;
  6143. case 2:
  6144. num3 = 0;
  6145. break;
  6146. case 17:
  6147. num3 = 30;
  6148. break;
  6149. case 11:
  6150. num3 = 30;
  6151. break;
  6152. case 16:
  6153. num3 = 30;
  6154. break;
  6155. case 18:
  6156. num3 = 30;
  6157. break;
  6158. case 12:
  6159. num3 = 120;
  6160. break;
  6161. case 3:
  6162. num3 = 60;
  6163. break;
  6164. case 27:
  6165. num3 = 60;
  6166. break;
  6167. case 19:
  6168. num3 = 30;
  6169. break;
  6170. case 20:
  6171. num3 = 30;
  6172. break;
  6173. case 4:
  6174. num3 = 60;
  6175. break;
  6176. case 28:
  6177. num3 = 30;
  6178. break;
  6179. case 13:
  6180. num3 = 35;
  6181. break;
  6182. case 7:
  6183. num3 = 30;
  6184. break;
  6185. case 25:
  6186. num3 = 40;
  6187. break;
  6188. case 10:
  6189. num3 = 30;
  6190. break;
  6191. case 22:
  6192. num3 = 30;
  6193. break;
  6194. case 21:
  6195. num3 = 30;
  6196. break;
  6197. case 5:
  6198. num3 = 30;
  6199. break;
  6200. case 30:
  6201. num3 = 60;
  6202. break;
  6203. case 9:
  6204. num3 = 60;
  6205. break;
  6206. case 6:
  6207. num3 = 40;
  6208. break;
  6209. case 14:
  6210. num3 = 40;
  6211. break;
  6212. }
  6213. return num3;
  6214. }
  6215.  
  6216. var sub_8CD1()
  6217. {
  6218. bool flag1 = g_86830 == sub_6BA7();
  6219. bool flag2 = flag1 & GAMEPLAY::GET_RANDOM_EVENT_FLAG();
  6220. if (flag2 & g_86831)
  6221. {
  6222. return 1;
  6223. }
  6224. return 0;
  6225. }
  6226.  
  6227. void sub_8CFC()
  6228. {
  6229. if (l_69 == 0)
  6230. {
  6231. sub_9C1E();
  6232. }
  6233. sub_8D72(15, l_46);
  6234. sub_8D1B();
  6235. }
  6236.  
  6237. void sub_8D1B()
  6238. {
  6239. sub_8D28();
  6240. }
  6241.  
  6242. var sub_8D28()
  6243. {
  6244. if (sub_82E9() != 0)
  6245. {
  6246. return 0;
  6247. }
  6248. if (rPtr((&g_80916) + 8) != 0)
  6249. {
  6250. if (rPtr((&g_80916) + 10) > 0)
  6251. {
  6252. return 0;
  6253. }
  6254. }
  6255. else if (rPtr((&g_80916) + 10) > 1)
  6256. {
  6257. return 0;
  6258. }
  6259. wPtr(rPtr((&g_80916) + 10) + 1, (&g_80916) + 10);
  6260. return 1;
  6261. }
  6262.  
  6263. void sub_8D72(var A_0, var A_1)
  6264. {
  6265. if (A_0 == -1)
  6266. {
  6267. A_0 = sub_6BA7();
  6268. }
  6269. if ((A_0 != -1) && (A_1 <= sub_857B(A_0)))
  6270. {
  6271. sub_9C03(A_0, A_1);
  6272. if (sub_9BC0(51) == 0)
  6273. {
  6274. sub_98AB("RE_REWARD", 1, 0, 4000, 10000, sub_6A9B(), 0, 136, 0);
  6275. sub_9869(51);
  6276. }
  6277. if (sub_4379(A_0) != 0)
  6278. {
  6279. wPtr(3, ((&g_86838) + 23510) + 2);
  6280. }
  6281. if (sub_9522(A_0, A_1) != 319)
  6282. {
  6283. sub_8E76(sub_9522(A_0, A_1), l_37, rPtr((&l_37) + 1));
  6284. }
  6285. g_86829 = A_1;
  6286. if (g_86827 == 0)
  6287. {
  6288. bool flag1 = g_86830 == 1;
  6289. bool flag2 = flag1 | (g_86830 == 5);
  6290. bool flag3 = flag2 | (g_86830 == 11);
  6291. if (flag3 | (g_86830 == 25))
  6292. {
  6293. sub_9C27(2);
  6294. }
  6295. else
  6296. {
  6297. bool flag4 = g_86830 == 26;
  6298. bool flag5 = flag4 | (g_86830 == 8);
  6299. if (flag5 | (g_86830 == 17))
  6300. {
  6301. sub_9C27(7);
  6302. }
  6303. else
  6304. {
  6305. sub_9C27(1);
  6306. }
  6307. }
  6308. }
  6309. }
  6310. }
  6311.  
  6312. void sub_8E76(var A_0, var A_1, var A_2)
  6313. {
  6314. bool flag1 = A_0 == 318;
  6315. if (!(flag1 | (A_0 > 318)))
  6316. {
  6317. sub_93E7(891 + A_0, 1, -1, 1);
  6318. }
  6319. var num3 = 1;
  6320. if (rPtr(getElemPtr(A_0, (&g_86838) + 7793, 48) + 20) == 1)
  6321. {
  6322. bool flag2 = rPtr(getElemPtr(A_0, (&g_86838) + 7793, 48) + 24) == 11;
  6323. if (flag2 | (rPtr(getElemPtr(A_0, (&g_86838) + 7793, 48) + 24) == 12))
  6324. {
  6325. num3 = 0;
  6326. }
  6327. }
  6328. else
  6329. {
  6330. wPtr(1, getElemPtr(A_0, (&g_86838) + 7793, 48) + 20);
  6331. wPtr(A_1, getElemPtr(A_0, (&g_86838) + 7793, 48) + 40);
  6332. wPtr(A_2, getElemPtr(A_0, (&g_86838) + 7793, 48) + 44);
  6333. if (A_0 == 287)
  6334. {
  6335. STATS::0x4AC39C6C(0x86267624, 50, 0);
  6336. }
  6337. if (A_0 == 286)
  6338. {
  6339. STATS::0x4AC39C6C(0x52AF42B, 50, 0);
  6340. }
  6341. if (A_0 == 299)
  6342. {
  6343. STATS::0x4AC39C6C(0xE99D3D10, 50, 0);
  6344. }
  6345. }
  6346. if (num3 != 0)
  6347. {
  6348. sub_8F5E();
  6349. }
  6350. }
  6351.  
  6352. void sub_8F5E()
  6353. {
  6354. var num3 = 0;
  6355. g_86617 = 0;
  6356. g_86618 = 0;
  6357. g_86619 = 0;
  6358. g_86620 = 0;
  6359. g_86621 = 0;
  6360. g_86622 = 0;
  6361. g_86623 = 0;
  6362. var num4 = 0f;
  6363. var num5 = 0f;
  6364. var num6 = 0f;
  6365. var num7 = 0f;
  6366. var num8 = 0f;
  6367. var num9 = 0f;
  6368. var num10 = 0f;
  6369. wPtr(0f, ((&g_86838) + 7793) + 3817);
  6370. Label_00A9:
  6371. if (num3 >= 318)
  6372. {
  6373. var num11;
  6374. if ((g_86600 > 0) && (g_86617 == g_86600))
  6375. {
  6376. num4 = 55f;
  6377. }
  6378. if ((g_86601 > 0) && (g_86618 == g_86601))
  6379. {
  6380. num5 = 10f;
  6381. }
  6382. if ((g_86602 > 0) && (g_86619 == g_86602))
  6383. {
  6384. num6 = 0f;
  6385. }
  6386. if ((g_86603 > 0) && (g_86620 == g_86603))
  6387. {
  6388. num7 = 10f;
  6389. }
  6390. if (g_86604 > 0)
  6391. {
  6392. bool flag1 = g_86621 == g_86604;
  6393. bool flag2 = flag1 | (((g_86604 * 10) / g_86621) < 41);
  6394. bool flag3 = flag2 | (g_86621 > g_86607);
  6395. if (flag3 | (g_86621 == g_86607))
  6396. {
  6397. if ((GAMEPLAY::IS_BIT_SET(rPtr(((&g_86838) + 7793) + 3820), 14) == 0) && (g_86621 == g_86604))
  6398. {
  6399. STATS::0x4AC39C6C(0x817B5488, g_86604, 0);
  6400. GAMEPLAY::SET_BIT(((&g_86838) + 7793) + 3820, 14);
  6401. }
  6402. num8 = 5f;
  6403. }
  6404. }
  6405. if ((g_86605 > 0) && (g_86622 == g_86605))
  6406. {
  6407. num9 = 15f;
  6408. }
  6409. if ((g_86606 > 0) && (g_86623 == g_86606))
  6410. {
  6411. num10 = 5f;
  6412. }
  6413. wPtr((((((num4 + num5) + num6) + num7) + num8) + num9) + num10, ((&g_86838) + 7793) + 3817);
  6414. bool flag4 = g_86621 > g_86607;
  6415. if (flag4 | (g_86621 == g_86607))
  6416. {
  6417. num11 = g_86607;
  6418. }
  6419. else
  6420. {
  6421. num11 = g_86621;
  6422. }
  6423. STATS::STAT_SET_INT(0xC115F6B0, g_86617, 1);
  6424. STATS::STAT_SET_INT(0xE6FB1EBC, g_86600, 1);
  6425. STATS::STAT_SET_INT(0x4F5B53BA, g_86618, 1);
  6426. STATS::STAT_SET_INT(0x2053B0A0, g_86601, 1);
  6427. STATS::STAT_SET_INT(0x5D0E88A9, g_86619, 1);
  6428. STATS::STAT_SET_INT(0x214A068C, g_86602, 1);
  6429. STATS::STAT_SET_INT(0xCD2D71F9, g_86620, 1);
  6430. STATS::STAT_SET_INT(0xFEC8B0D8, g_86603, 1);
  6431. STATS::STAT_SET_INT(0x817B5488, num11, 1);
  6432. STATS::STAT_SET_INT(0xF32498EA, g_86607, 1);
  6433. STATS::STAT_SET_INT(0xF82362EF, g_86623 + g_86622, 1);
  6434. STATS::STAT_SET_INT(0x83A486E8, g_86606 + g_86605, 1);
  6435. g_86624 = (g_86617 * 100) / g_86600;
  6436. g_86626 = ((g_86619 + g_86618) * 100) / (g_86602 + g_86601);
  6437. g_86625 = ((g_86620 + num11) * 100) / (g_86603 + g_86607);
  6438. g_86627 = ((g_86622 + g_86623) * 100) / (g_86605 + g_86606);
  6439. STATS::STAT_SET_FLOAT(0x486CDCFF, rPtr(((&g_86838) + 7793) + 3817), 1);
  6440. STATS::STAT_SET_INT(0x6C11A0FD, g_86624, 1);
  6441. STATS::STAT_SET_INT(0xB82247AC, g_86625, 1);
  6442. STATS::STAT_SET_INT(0x1CA274FA, g_86626, 1);
  6443. if ((DATAFILE::0x5DCD0796() == 0) && (g_59842 == 0))
  6444. {
  6445. bool flag5 = sub_93DC() != 2;
  6446. if (flag5 & (NETWORK::NETWORK_IS_GAME_IN_PROGRESS() == 0))
  6447. {
  6448. if (NETWORK::NETWORK_IS_CLOUD_AVAILABLE() != 0)
  6449. {
  6450. g_86615 = 0;
  6451. }
  6452. if (g_46771 == 0)
  6453. {
  6454. sub_8D28();
  6455. }
  6456. }
  6457. }
  6458. }
  6459. else
  6460. {
  6461. if (rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 20) == 1)
  6462. {
  6463. switch (rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 24))
  6464. {
  6465. case 1:
  6466. g_86617++;
  6467. num4 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
  6468. break;
  6469. case 3:
  6470. g_86618++;
  6471. num5 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
  6472. break;
  6473. case 5:
  6474. g_86619++;
  6475. num6 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
  6476. break;
  6477. case 7:
  6478. g_86620++;
  6479. num7 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
  6480. break;
  6481. case 9:
  6482. g_86621++;
  6483. num8 += (rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16) * 4f);
  6484. break;
  6485. case 11:
  6486. g_86622++;
  6487. num9 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
  6488. break;
  6489. case 13:
  6490. g_86623++;
  6491. num10 += rPtr(getElemPtr(num3, (&g_86838) + 7793, 48) + 16);
  6492. break;
  6493. }
  6494. }
  6495. num3++;
  6496. goto Label_00A9;
  6497. }
  6498. }
  6499.  
  6500. var sub_93DC()
  6501. {
  6502. return g_19455;
  6503. }
  6504.  
  6505. var sub_93E7(var A_0, var A_1, var A_2, var A_3)
  6506. {
  6507. if (A_2 == -1)
  6508. {
  6509. A_2 = sub_9516();
  6510. }
  6511. var num3 = 0;
  6512. bool flag1 = A_0 >= 0;
  6513. if (flag1 & (A_0 < 192))
  6514. {
  6515. var num4 = STATS::0xB5BF87B2((A_0) - 0, 0, 1, A_2);
  6516. var num5 = ((A_0) - 0) - (STATS::0xDFC25D66((A_0) - 0) * 64);
  6517. num3 = STATS::STAT_SET_BOOL_MASKED(num4, A_1, num5, A_3);
  6518. }
  6519. else
  6520. {
  6521. bool flag2 = A_0 >= 192;
  6522. if (flag2 & (A_0 < 384))
  6523. {
  6524. var num6 = STATS::0xB5BF87B2((A_0) - 192, 1, 1, A_2);
  6525. var num7 = ((A_0) - 192) - (STATS::0xDFC25D66((A_0) - 192) * 64);
  6526. num3 = STATS::STAT_SET_BOOL_MASKED(num6, A_1, num7, A_3);
  6527. }
  6528. else
  6529. {
  6530. bool flag3 = A_0 >= 513;
  6531. if (flag3 & (A_0 < 705))
  6532. {
  6533. var num8 = STATS::0xB5BF87B2((A_0) - 513, 0, 0, 0);
  6534. var num9 = ((A_0) - 513) - (STATS::0xDFC25D66((A_0) - 513) * 64);
  6535. num3 = STATS::STAT_SET_BOOL_MASKED(num8, A_1, num9, A_3);
  6536. }
  6537. else
  6538. {
  6539. bool flag4 = A_0 >= 705;
  6540. if (flag4 & (A_0 < 1281))
  6541. {
  6542. var num10 = STATS::0xB5BF87B2((A_0) - 705, 1, 0, 0);
  6543. var num11 = ((A_0) - 705) - (STATS::0xDFC25D66((A_0) - 705) * 64);
  6544. num3 = STATS::STAT_SET_BOOL_MASKED(num10, A_1, num11, A_3);
  6545. }
  6546. }
  6547. }
  6548. }
  6549. return num3;
  6550. }
  6551.  
  6552. var sub_9516()
  6553. {
  6554. return g_1338478;
  6555. }
  6556.  
  6557. var sub_9522(var A_0, var A_1)
  6558. {
  6559. switch ((A_0))
  6560. {
  6561. case 0:
  6562. return 250;
  6563. case 1:
  6564. return 226;
  6565. case 2:
  6566. return 243;
  6567. case 3:
  6568. return 256;
  6569. case 4:
  6570. return 259;
  6571. case 5:
  6572. if (A_1 == 1)
  6573. {
  6574. return 281;
  6575. }
  6576. if (A_1 != 2)
  6577. {
  6578. break;
  6579. }
  6580. return 282;
  6581. case 6:
  6582. return 265;
  6583. case 7:
  6584. return 218;
  6585. case 9:
  6586. if (A_1 == 1)
  6587. {
  6588. return 271;
  6589. }
  6590. if (A_1 == 2)
  6591. {
  6592. return 272;
  6593. }
  6594. if (A_1 == 3)
  6595. {
  6596. return 273;
  6597. }
  6598. if (A_1 == 4)
  6599. {
  6600. return 274;
  6601. }
  6602. if (A_1 == 5)
  6603. {
  6604. return 275;
  6605. }
  6606. if (A_1 == 6)
  6607. {
  6608. return 276;
  6609. }
  6610. if (A_1 == 7)
  6611. {
  6612. return 277;
  6613. }
  6614. if (A_1 == 8)
  6615. {
  6616. return 278;
  6617. }
  6618. if (A_1 == 9)
  6619. {
  6620. return 279;
  6621. }
  6622. if (A_1 != 10)
  6623. {
  6624. break;
  6625. }
  6626. return 280;
  6627. case 10:
  6628. return 219;
  6629. case 11:
  6630. if (A_1 == 1)
  6631. {
  6632. return 246;
  6633. }
  6634. if (A_1 == 2)
  6635. {
  6636. return 247;
  6637. }
  6638. if (A_1 == 3)
  6639. {
  6640. return 248;
  6641. }
  6642. if (A_1 != 4)
  6643. {
  6644. break;
  6645. }
  6646. return 249;
  6647. case 12:
  6648. return 254;
  6649. case 13:
  6650. if (A_1 == 1)
  6651. {
  6652. return 260;
  6653. }
  6654. if (A_1 == 2)
  6655. {
  6656. return 261;
  6657. }
  6658. if (A_1 == 3)
  6659. {
  6660. return 262;
  6661. }
  6662. if (A_1 != 4)
  6663. {
  6664. break;
  6665. }
  6666. return 264;
  6667. case 14:
  6668. return 283;
  6669. case 15:
  6670. if (A_1 == 1)
  6671. {
  6672. return 224;
  6673. }
  6674. if (A_1 != 2)
  6675. {
  6676. break;
  6677. }
  6678. return 225;
  6679. case 16:
  6680. return 252;
  6681. case 17:
  6682. if (A_1 == 1)
  6683. {
  6684. return 244;
  6685. }
  6686. if (A_1 != 2)
  6687. {
  6688. break;
  6689. }
  6690. return 245;
  6691. case 18:
  6692. return 253;
  6693. case 19:
  6694. return 215;
  6695. case 20:
  6696. return 216;
  6697. case 21:
  6698. return 251;
  6699. case 22:
  6700. if (A_1 == 1)
  6701. {
  6702. return 221;
  6703. }
  6704. if (A_1 != 2)
  6705. {
  6706. break;
  6707. }
  6708. return 222;
  6709. case 23:
  6710. if (A_1 == 1)
  6711. {
  6712. return 213;
  6713. }
  6714. if (A_1 != 2)
  6715. {
  6716. break;
  6717. }
  6718. return 214;
  6719. case 24:
  6720. return 242;
  6721. case 25:
  6722. if (A_1 == 1)
  6723. {
  6724. return 267;
  6725. }
  6726. if (A_1 == 2)
  6727. {
  6728. return 268;
  6729. }
  6730. if (A_1 != 3)
  6731. {
  6732. break;
  6733. }
  6734. return 269;
  6735. case 8:
  6736. return 255;
  6737. case 26:
  6738. if (A_1 == 1)
  6739. {
  6740. return 227;
  6741. }
  6742. if (A_1 != 2)
  6743. {
  6744. break;
  6745. }
  6746. return 228;
  6747. case 27:
  6748. if (A_1 == 1)
  6749. {
  6750. return 257;
  6751. }
  6752. if (A_1 != 2)
  6753. {
  6754. break;
  6755. }
  6756. return 258;
  6757. case 28:
  6758. return 217;
  6759. case 29:
  6760. if (A_1 == 1)
  6761. {
  6762. return 229;
  6763. }
  6764. if (A_1 == 2)
  6765. {
  6766. return 230;
  6767. }
  6768. if (A_1 != 3)
  6769. {
  6770. break;
  6771. }
  6772. return 231;
  6773. case 30:
  6774. return 285;
  6775. }
  6776. return 319;
  6777. }
  6778.  
  6779. void sub_9869(var A_0)
  6780. {
  6781. var num3 = A_0;
  6782. var num4 = 0;
  6783. while (true)
  6784. {
  6785. if (num3 <= 31)
  6786. {
  6787. break;
  6788. }
  6789. num3 -= 32;
  6790. num4++;
  6791. }
  6792. if (num4 < 2)
  6793. {
  6794. GAMEPLAY::SET_BIT(getElemPtr(num4, ((&g_86838) + 19806) + 102, 4), num3);
  6795. }
  6796. }
  6797.  
  6798. void sub_98AB(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6, var A_7, var A_8)
  6799. {
  6800. sub_98CD(A_0, "", A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8);
  6801. }
  6802.  
  6803. void sub_98CD(var A_0, var A_1, var A_2, var A_3, var A_4, var A_5, var A_6, var A_7, var A_8, var A_9)
  6804. {
  6805. if ((GAMEPLAY::ARE_STRINGS_EQUAL(A_0, "") == 0) && (A_3 >= 0))
  6806. {
  6807. bool flag1 = A_5 < 500;
  6808. if (!(flag1 & (A_5 != -1)))
  6809. {
  6810. bool flag2 = A_4 < 0;
  6811. if (!(flag2 & (A_4 != -1)))
  6812. {
  6813. bool flag3 = A_6 < 1;
  6814. if ((!(flag3 | (A_6 > 7)) && (A_7 != 215)) && (A_8 != 215))
  6815. {
  6816. var num3 = 0;
  6817. while (true)
  6818. {
  6819. if (num3 >= rPtr(((&g_86838) + 19806) + 97))
  6820. {
  6821. break;
  6822. }
  6823. if (GAMEPLAY::ARE_STRINGS_EQUAL(getElemPtr(num3, (&g_86838) + 19806, 64), A_0) != 0)
  6824. {
  6825. return;
  6826. }
  6827. num3++;
  6828. }
  6829. if (rPtr(((&g_86838) + 19806) + 97) < 6)
  6830. {
  6831. strcpy(A_0, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64), 16);
  6832. strcpy(A_1, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 16, 16);
  6833. wPtr(GAMEPLAY::GET_GAME_TIMER() + A_3, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 32);
  6834. wPtr(A_5, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 36);
  6835. wPtr(A_6, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 44);
  6836. wPtr(A_2, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 48);
  6837. wPtr(A_7, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 52);
  6838. wPtr(A_8, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 56);
  6839. wPtr(A_9, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 60);
  6840. if (A_4 != -1)
  6841. {
  6842. wPtr((GAMEPLAY::GET_GAME_TIMER() + A_3) + A_4, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 40);
  6843. }
  6844. else
  6845. {
  6846. wPtr(-1, getElemPtr(rPtr(((&g_86838) + 19806) + 97), (&g_86838) + 19806, 64) + 40);
  6847. }
  6848. wPtr(rPtr(((&g_86838) + 19806) + 97) + 1, ((&g_86838) + 19806) + 97);
  6849. sub_9AA0();
  6850. }
  6851. }
  6852. }
  6853. }
  6854. }
  6855. }
  6856.  
  6857. void sub_9AA0()
  6858. {
  6859. var num3 = 0;
  6860. while (true)
  6861. {
  6862. if (num3 >= 3)
  6863. {
  6864. break;
  6865. }
  6866. setElem(0, num3, ((&g_86838) + 19806) + 98, 4);
  6867. num3++;
  6868. }
  6869. for (num3 = 0; num3 < rPtr(((&g_86838) + 19806) + 97); num3++)
  6870. {
  6871. if ((GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 44), 0) != 0) && (rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 48) > getElem(0, ((&g_86838) + 19806) + 98, 4)))
  6872. {
  6873. setElem(rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 48), 0, ((&g_86838) + 19806) + 98, 4);
  6874. }
  6875. if ((GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 44), 1) != 0) && (rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 48) > getElem(1, ((&g_86838) + 19806) + 98, 4)))
  6876. {
  6877. setElem(rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 48), 1, ((&g_86838) + 19806) + 98, 4);
  6878. }
  6879. if ((GAMEPLAY::IS_BIT_SET(rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 44), 2) != 0) && (rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 48) > getElem(2, ((&g_86838) + 19806) + 98, 4)))
  6880. {
  6881. setElem(rPtr(getElemPtr(num3, (&g_86838) + 19806, 64) + 48), 2, ((&g_86838) + 19806) + 98, 4);
  6882. }
  6883. }
  6884. }
  6885.  
  6886. var sub_9BC0(var A_0)
  6887. {
  6888. var num3 = A_0;
  6889. var num4 = 0;
  6890. while (true)
  6891. {
  6892. if (num3 <= 31)
  6893. {
  6894. break;
  6895. }
  6896. num3 -= 32;
  6897. num4++;
  6898. }
  6899. if (num4 < 2)
  6900. {
  6901. return GAMEPLAY::IS_BIT_SET(getElem(num4, ((&g_86838) + 19806) + 102, 4), num3);
  6902. }
  6903. return 0;
  6904. }
  6905.  
  6906. void sub_9C03(var A_0, var A_1)
  6907. {
  6908. GAMEPLAY::SET_BIT(getElemPtr(A_0, ((&g_86838) + 23510) + 8, 4), A_1);
  6909. }
  6910.  
  6911. var sub_9C1E()
  6912. {
  6913. return 1;
  6914. }
  6915.  
  6916. void sub_9C27(var A_0)
  6917. {
  6918. g_86827 = A_0;
  6919. }
  6920.  
  6921. void sub_9C35()
  6922. {
  6923. bool flag1 = l_67 == 0;
  6924. if (flag1 & (l_44 == 0))
  6925. {
  6926. bool flag2 = PED::IS_PED_INJURED(l_47) == 0;
  6927. if (flag2 & (PED::IS_PED_INJURED(l_48) == 0))
  6928. {
  6929. struct _s = ENTITY::GET_ENTITY_COORDS(l_48, 1);
  6930. AI::TASK_GO_STRAIGHT_TO_COORD(l_47, rPtrOfs(_s, 0), rPtrOfs(_s, 4), rPtrOfs(_s, 8), 3f, 20000, 0x471C4000, 0x3F000000);
  6931. PED::SET_PED_KEEP_TASK(l_47, 1);
  6932. SYSTEM::WAIT(0);
  6933. }
  6934. }
  6935. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement