Advertisement
Guest User

Бильярд San Andreas

a guest
Sep 5th, 2010
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Basic4GL 180.96 KB | None | 0 0
  1. :POOL2
  2. thread 'POOL2'
  3. gosub @POOL2_47
  4. if
  5. wasted_or_busted
  6. else_jump @POOL2_38
  7. gosub @POOL2_60776
  8.  
  9. :POOL2_38
  10. gosub @POOL2_60828
  11. end_thread
  12.  
  13. :POOL2_47
  14. increment_mission_attempts
  15. $ONMISSION = 1
  16. 01BD: 181@ = current_time_in_ms
  17. 34@ = 0
  18. 35@ = 0
  19. 37@ = 0
  20. 38@ = 0
  21. 178@ = 0
  22. 208@ = -0.957
  23. 210@ = -0.49
  24. 209@ = 0.957
  25. 211@ = 0.49
  26. 203@ = 0.05
  27. 204@ = 2.0
  28. 127@ = 1
  29.  
  30. :POOL2_163
  31. wait 0
  32. 01BD: 39@ = current_time_in_ms
  33. 0085: 182@ = 39@ // (int)
  34. 0062: 182@ -= 181@ // (int)
  35. 0085: 181@ = 39@ // (int)
  36. 005A: 183@ += 182@ // (int)
  37. 005A: 205@ += 182@ // (int)
  38. 005A: 206@ += 182@ // (int)
  39. gosub @POOL2_2290
  40.  
  41. :POOL2_227
  42. 0871: init_jump_table 34@ total_jumps 13 default_jump 0 @POOL2_537 jumps 0 @POOL2_355 1 @POOL2_369 2 @POOL2_383 3 @POOL2_397 4 @POOL2_411 5 @POOL2_425 6 @POOL2_439
  43. 0872: jump_table_jumps 7 @POOL2_453 8 @POOL2_467 9 @POOL2_481 10 @POOL2_495 11 @POOL2_509 12 @POOL2_523 -1 @POOL2_537 -1 @POOL2_537 -1 @POOL2_537
  44.  
  45. :POOL2_355
  46. gosub @POOL2_680
  47. jump @POOL2_537
  48.  
  49. :POOL2_369
  50. gosub @POOL2_5410
  51. jump @POOL2_537
  52.  
  53. :POOL2_383
  54. gosub @POOL2_8958
  55. jump @POOL2_537
  56.  
  57. :POOL2_397
  58. gosub @POOL2_9675
  59. jump @POOL2_537
  60.  
  61. :POOL2_411
  62. gosub @POOL2_10505
  63. jump @POOL2_537
  64.  
  65. :POOL2_425
  66. gosub @POOL2_12137
  67. jump @POOL2_537
  68.  
  69. :POOL2_439
  70. gosub @POOL2_15511
  71. jump @POOL2_537
  72.  
  73. :POOL2_453
  74. gosub @POOL2_15513
  75. jump @POOL2_537
  76.  
  77. :POOL2_467
  78. gosub @POOL2_20853
  79. jump @POOL2_537
  80.  
  81. :POOL2_481
  82. gosub @POOL2_21376
  83. jump @POOL2_537
  84.  
  85. :POOL2_495
  86. gosub @POOL2_22768
  87. jump @POOL2_537
  88.  
  89. :POOL2_509
  90. gosub @POOL2_24866
  91. jump @POOL2_537
  92.  
  93. :POOL2_523
  94. gosub @POOL2_26060
  95. jump @POOL2_537
  96.  
  97. :POOL2_537
  98. if
  99. 803B:   not  179@ == 34@ // (int)
  100. else_jump @POOL2_571
  101. 0085: 179@ = 34@ // (int)
  102. jump @POOL2_227
  103.  
  104. :POOL2_571
  105. gosub @POOL2_26186
  106. if
  107.   108@ == 0
  108. else_jump @POOL2_678
  109. if
  110.   38@ == 0
  111. else_jump @POOL2_662
  112. if
  113.   37@ == 0
  114. else_jump @POOL2_646
  115. jump @POOL2_163
  116. jump @POOL2_655
  117.  
  118. :POOL2_646
  119. gosub @POOL2_60794
  120. return
  121.  
  122. :POOL2_655
  123. jump @POOL2_671
  124.  
  125. :POOL2_662
  126. gosub @POOL2_60776
  127. return
  128.  
  129. :POOL2_671
  130. jump @POOL2_680
  131.  
  132. :POOL2_678
  133. return
  134.  
  135. :POOL2_680
  136. if
  137.   35@ == -1
  138. else_jump @POOL2_972
  139. 163@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  140. $9457 = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  141. 164@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  142. $9458 = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  143. 168@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  144. 358@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  145. 359@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  146. 82@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  147. $9459 = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  148. 347@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  149. 213@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  150. 214@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  151.  
  152. :POOL2_972
  153. if
  154.   35@ == 0
  155. else_jump @POOL2_1158
  156. if
  157.    Object.Exists($9457)
  158. else_jump @POOL2_1158
  159. 008B: 163@ = $9457 // (int)
  160. 008B: 164@ = $9458 // (int)
  161. if
  162.    not Actor.Dead(164@)
  163. else_jump @POOL2_1082
  164. 02A9: set_actor 164@ immune_to_nonplayer 1
  165. Actor.SetImmunities(164@, 1, 1, 1, 1, 1)
  166. 0619: enable_actor 164@ collision_detection 0
  167. 060A: create_decision_maker_type 0 store_to 207@ // decision\allowed\m_.ped files
  168. 060B: set_actor 164@ decision_maker_to 207@
  169.  
  170. :POOL2_1082
  171. Object.StorePos(163@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  172. 0395: clear_area 1 at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 radius 100.0
  173. 03DE: set_pedestrians_density_multiplier_to 0.0
  174. 041D: set_camera_near_clip 0.01
  175. 08F5: save_player_group
  176. 129@ = 0
  177. 108@ = 0
  178. gosub @POOL2_57818
  179. 35@ += 1
  180.  
  181. :POOL2_1158
  182. if
  183.   35@ == 1
  184. else_jump @POOL2_1336
  185. if
  186.    Object.Exists(163@)
  187. else_jump @POOL2_1336
  188. Object.StorePos(163@, 102@, 103@, 104@)
  189. 105@ = Object.Angle(163@)
  190. 104@ += -0.1
  191. 054C: use_GXT_table 'POOL'
  192. 03CF: load_wav 1802 as 4
  193. Model.Load(#K_POOLQ)
  194. 04ED: load_animation "POOL"
  195.  
  196. :POOL2_1254
  197. if or
  198. 84EE:   not animation "POOL" loaded
  199.    not Model.Available(#K_POOLQ)
  200. 83D0:   not wav 4 loaded
  201. else_jump @POOL2_1292
  202. wait 0
  203. jump @POOL2_1254
  204.  
  205. :POOL2_1292
  206. 0390: load_txd_dictionary 'LD_POOL'
  207. 038F: load_texture "BALL" as 1 // Load dictionary with 0390 first
  208. 038F: load_texture "NIB" as 2 // Load dictionary with 0390 first
  209. 125@ = 0
  210. 35@ += 1
  211.  
  212. :POOL2_1336
  213. if
  214.   35@ == 2
  215. else_jump @POOL2_1368
  216. 34@ += 1
  217. 35@ = 0
  218.  
  219. :POOL2_1368
  220. return
  221. 0052: NOP 98@ 100@ $TEMPVAR_FLOAT_3 99@ 100@ $TEMPVAR_FLOAT_3
  222. 0052: NOP 98@ 100@ $TEMPVAR_FLOAT_3 98@ 101@ $TEMPVAR_FLOAT_3
  223. 0052: NOP 99@ 101@ $TEMPVAR_FLOAT_3 99@ 100@ $TEMPVAR_FLOAT_3
  224. 0052: NOP 99@ 101@ $TEMPVAR_FLOAT_3 98@ 101@ $TEMPVAR_FLOAT_3
  225. if
  226. 0736:   NOP_false 129
  227. else_jump @POOL2_1476
  228. 208@ += -0.0001
  229.  
  230. :POOL2_1476
  231. if
  232. 0736:   NOP_false 128
  233. else_jump @POOL2_1502
  234. 208@ += 0.0001
  235.  
  236. :POOL2_1502
  237. if
  238. 0736:   NOP_false 131
  239. else_jump @POOL2_1528
  240. 210@ += -0.0001
  241.  
  242. :POOL2_1528
  243. if
  244. 0736:   NOP_false 130
  245. else_jump @POOL2_1554
  246. 210@ += 0.0001
  247.  
  248. :POOL2_1554
  249. if
  250. 0736:   NOP_false 141
  251. else_jump @POOL2_1580
  252. 209@ += -0.0001
  253.  
  254. :POOL2_1580
  255. if
  256. 0736:   NOP_false 143
  257. else_jump @POOL2_1606
  258. 209@ += 0.0001
  259.  
  260. :POOL2_1606
  261. if
  262. 0736:   NOP_false 139
  263. else_jump @POOL2_1632
  264. 211@ += -0.0001
  265.  
  266. :POOL2_1632
  267. if
  268. 0736:   NOP_false 145
  269. else_jump @POOL2_1658
  270. 211@ += 0.0001
  271.  
  272. :POOL2_1658
  273. if
  274. 0736:   NOP_false 137
  275. else_jump @POOL2_2222
  276. 03A9: NOP
  277. 05B6: 13 // EDIT_X1 =
  278. 03A8: NOP 208@
  279. 03A9: NOP
  280. 05B6: 14 // EDIT_Y1 =
  281. 03A8: NOP 210@
  282. 03A9: NOP
  283. 05B6: 15 // EDIT_X2 =
  284. 03A8: NOP 209@
  285. 03A9: NOP
  286. 05B6: 16 // EDIT_Y2 =
  287. 03A8: NOP 211@
  288.  
  289. :POOL2_2222
  290. if
  291.    Object.Exists(163@)
  292. else_jump @POOL2_2288
  293. 0400: store_coords_to 98@ 100@ $TEMPVAR_FLOAT_3 from_object 163@ with_offset 208@ 210@ 0.7
  294. 0400: store_coords_to 99@ 101@ $TEMPVAR_FLOAT_3 from_object 163@ with_offset 209@ 211@ 0.7
  295.  
  296. :POOL2_2288
  297. return
  298.  
  299. :POOL2_2290
  300. if
  301. 0736:   NOP_false 32
  302. else_jump @POOL2_2339
  303. 212@ += 1
  304. if
  305.   212@ > 11
  306. else_jump @POOL2_2337
  307. 212@ = 0
  308.  
  309. :POOL2_2337
  310. 086A: NOP
  311.  
  312. :POOL2_2339
  313. if
  314.   212@ == 1
  315. else_jump @POOL2_2556
  316. 008A: $6443 = 34@ // (int)
  317. 008A: $6444 = 35@ // (int)
  318. 008A: $6445 = 36@ // (int)
  319. 008A: $6446 = 108@ // (int)
  320. 008A: $6447 = 125@ // (int)
  321. 008A: $6448 = 129@ // (int)
  322. 008A: $6449 = 217@ // (int)
  323. 008A: $6450 = 218@ // (int)
  324. 065D: NOP $6443 "M_STAGE"
  325. 065D: NOP $6444 "M_GOALS"
  326. 065D: NOP $6445 "FLAG3"
  327. 065D: NOP $6446 "QUIT"
  328. 065D: NOP $6447 "PL_CIRCLE_PRESSED"
  329. 065D: NOP $6448 "OUTPUT_TEXT"
  330. 065D: NOP $6449 "PLAYER1_COLOUR"
  331. 065D: NOP $6450 "PLAYER2_COLOUR"
  332.  
  333. :POOL2_2556
  334. if
  335.   212@ == 2
  336. else_jump @POOL2_2806
  337. 008A: $6443 = 66@ // (int)
  338. 008A: $6444 = 67@ // (int)
  339. 008A: $6445 = 68@ // (int)
  340. 008A: $6446 = 69@ // (int)
  341. 008A: $6447 = 70@ // (int)
  342. 008A: $6448 = 71@ // (int)
  343. 008A: $6449 = 72@ // (int)
  344. 008A: $6450 = 73@ // (int)
  345. 065D: NOP $6443 "BALL_POTTED[0]"
  346. 065D: NOP $6444 "BALL_POTTED[1]"
  347. 065D: NOP $6445 "BALL_POTTED[2]"
  348. 065D: NOP $6446 "BALL_POTTED[3]"
  349. 065D: NOP $6447 "BALL_POTTED[4]"
  350. 065D: NOP $6448 "BALL_POTTED[5]"
  351. 065D: NOP $6449 "BALL_POTTED[6]"
  352. 065D: NOP $6450 "BALL_POTTED[7]"
  353.  
  354. :POOL2_2806
  355. if
  356.   212@ == 3
  357. else_jump @POOL2_3062
  358. 008A: $6443 = 74@ // (int)
  359. 008A: $6444 = 75@ // (int)
  360. 008A: $6445 = 76@ // (int)
  361. 008A: $6446 = 77@ // (int)
  362. 008A: $6447 = 78@ // (int)
  363. 008A: $6448 = 79@ // (int)
  364. 008A: $6449 = 80@ // (int)
  365. 008A: $6450 = 81@ // (int)
  366. 065D: NOP $6443 "BALL_POTTED[8]"
  367. 065D: NOP $6444 "BALL_POTTED[9]"
  368. 065D: NOP $6445 "BALL_POTTED[10]"
  369. 065D: NOP $6446 "BALL_POTTED[11]"
  370. 065D: NOP $6447 "BALL_POTTED[12]"
  371. 065D: NOP $6448 "BALL_POTTED[13]"
  372. 065D: NOP $6449 "BALL_POTTED[14]"
  373. 065D: NOP $6450 "BALL_POTTED[15]"
  374.  
  375. :POOL2_3062
  376. if
  377.   212@ == 4
  378. else_jump @POOL2_3319
  379. 008A: $6443 = 219@ // (int)
  380. 008A: $6444 = 220@ // (int)
  381. 008A: $6445 = 229@ // (int)
  382. 008A: $6446 = 230@ // (int)
  383. 008A: $6447 = 231@ // (int)
  384. 008A: $6448 = 232@ // (int)
  385. 008A: $6449 = 251@ // (int)
  386. 008A: $6450 = 250@ // (int)
  387. 065D: NOP $6443 "PLAYER1_IS_HUMAN"
  388. 065D: NOP $6444 "PLAYER2_IS_HUMAN"
  389. 065D: NOP $6445 "TURN_PLAYER"
  390. 065D: NOP $6446 "CURRENT_CHAR_IS_HUMAN"
  391. 065D: NOP $6447 "TURN_COLOUR"
  392. 065D: NOP $6448 "TURN_IS_SCRATCH"
  393. 065D: NOP $6449 "THIS_CHAR_GOT_TASK"
  394. 065D: NOP $6450 "SHOT_PLAYED"
  395.  
  396. :POOL2_3319
  397. if
  398.   212@ == 5
  399. else_jump @POOL2_3547
  400. 008A: $6444 = 233@ // (int)
  401. 008A: $6445 = 271@ // (int)
  402. 008A: $6446 = 272@ // (int)
  403. 008A: $6447 = 273@ // (int)
  404. 008A: $6448 = 274@ // (int)
  405. 008A: $6449 = 278@ // (int)
  406. 008A: $6450 = 236@ // (int)
  407. 065D: NOP $6444 "SKIP_CHALK_CUE"
  408. 065D: NOP $6445 "NO_OF_BALLS_POTTED_THIS_TURN"
  409. 065D: NOP $6446 "SPOTS_POTTED"
  410. 065D: NOP $6447 "STRIPES_POTTED"
  411. 065D: NOP $6448 "FOUL_TYPE"
  412. 065D: NOP $6449 "FIRST_MOVING_BALL"
  413. 065D: NOP $6450 "CAMERA_MODE"
  414.  
  415. :POOL2_3547
  416. if
  417.   212@ == 6
  418. else_jump @POOL2_3885
  419. 008A: $6443 = 255@ // (int)
  420. 008A: $6444 = 256@ // (int)
  421. 008A: $6445 = 257@ // (int)
  422. 008A: $6446 = 258@ // (int)
  423. 008A: $6447 = 259@ // (int)
  424. 008A: $6448 = 260@ // (int)
  425. 008A: $6449 = 261@ // (int)
  426. 008A: $6450 = 262@ // (int)
  427. 065D: NOP $6443 "BALLS_POTTED_THIS_TURN[0]"
  428. 065D: NOP $6444 "BALLS_POTTED_THIS_TURN[1]"
  429. 065D: NOP $6445 "BALLS_POTTED_THIS_TURN[2]"
  430. 065D: NOP $6446 "BALLS_POTTED_THIS_TURN[3]"
  431. 065D: NOP $6447 "BALLS_POTTED_THIS_TURN[4]"
  432. 065D: NOP $6448 "BALLS_POTTED_THIS_TURN[5]"
  433. 065D: NOP $6449 "BALLS_POTTED_THIS_TURN[6]"
  434. 065D: NOP $6450 "BALLS_POTTED_THIS_TURN[7]"
  435.  
  436. :POOL2_3885
  437. if
  438.   212@ == 7
  439. else_jump @POOL2_4229
  440. 008A: $6443 = 263@ // (int)
  441. 008A: $6444 = 264@ // (int)
  442. 008A: $6445 = 265@ // (int)
  443. 008A: $6446 = 266@ // (int)
  444. 008A: $6447 = 267@ // (int)
  445. 008A: $6448 = 268@ // (int)
  446. 008A: $6449 = 269@ // (int)
  447. 008A: $6450 = 270@ // (int)
  448. 065D: NOP $6443 "BALLS_POTTED_THIS_TURN[8]"
  449. 065D: NOP $6444 "BALLS_POTTED_THIS_TURN[9]"
  450. 065D: NOP $6445 "BALLS_POTTED_THIS_TURN[10]"
  451. 065D: NOP $6446 "BALLS_POTTED_THIS_TURN[11]"
  452. 065D: NOP $6447 "BALLS_POTTED_THIS_TURN[12]"
  453. 065D: NOP $6448 "BALLS_POTTED_THIS_TURN[13]"
  454. 065D: NOP $6449 "BALLS_POTTED_THIS_TURN[14]"
  455. 065D: NOP $6450 "BALLS_POTTED_THIS_TURN[15]"
  456.  
  457. :POOL2_4229
  458. if
  459.   212@ == 8
  460. else_jump @POOL2_4535
  461. 008A: $6443 = 109@ // (int)
  462. 008A: $6444 = 110@ // (int)
  463. 008A: $6445 = 111@ // (int)
  464. 008A: $6446 = 112@ // (int)
  465. 008A: $6447 = 113@ // (int)
  466. 008A: $6448 = 114@ // (int)
  467. 008A: $6449 = 115@ // (int)
  468. 008A: $6450 = 116@ // (int)
  469. 065D: NOP $6443 "BALL_IS_STATIONARY[0]"
  470. 065D: NOP $6444 "BALL_IS_STATIONARY[1]"
  471. 065D: NOP $6445 "BALL_IS_STATIONARY[2]"
  472. 065D: NOP $6446 "BALL_IS_STATIONARY[3]"
  473. 065D: NOP $6447 "BALL_IS_STATIONARY[4]"
  474. 065D: NOP $6448 "BALL_IS_STATIONARY[5]"
  475. 065D: NOP $6449 "BALL_IS_STATIONARY[6]"
  476. 065D: NOP $6450 "BALL_IS_STATIONARY[7]"
  477.  
  478. :POOL2_4535
  479. if
  480.   212@ == 9
  481. else_jump @POOL2_4847
  482. 008A: $6443 = 117@ // (int)
  483. 008A: $6444 = 118@ // (int)
  484. 008A: $6445 = 119@ // (int)
  485. 008A: $6446 = 120@ // (int)
  486. 008A: $6447 = 121@ // (int)
  487. 008A: $6448 = 122@ // (int)
  488. 008A: $6449 = 123@ // (int)
  489. 008A: $6450 = 124@ // (int)
  490. 065D: NOP $6443 "BALL_IS_STATIONARY[8]"
  491. 065D: NOP $6444 "BALL_IS_STATIONARY[9]"
  492. 065D: NOP $6445 "BALL_IS_STATIONARY[10]"
  493. 065D: NOP $6446 "BALL_IS_STATIONARY[11]"
  494. 065D: NOP $6447 "BALL_IS_STATIONARY[12]"
  495. 065D: NOP $6448 "BALL_IS_STATIONARY[13]"
  496. 065D: NOP $6449 "BALL_IS_STATIONARY[14]"
  497. 065D: NOP $6450 "BALL_IS_STATIONARY[15]"
  498.  
  499. :POOL2_4847
  500. if
  501.   212@ == 10
  502. else_jump @POOL2_5105
  503. 0088: $6451 = 48@ // (float)
  504. 0088: $6452 = 49@ // (float)
  505. 0088: $6453 = 50@ // (float)
  506. 0088: $6454 = 51@ // (float)
  507. 0088: $6455 = 98@ // (float)
  508. 0088: $6456 = 99@ // (float)
  509. 0088: $6457 = 100@ // (float)
  510. 0088: $6458 = 101@ // (float)
  511. 065E: NOP $6451 "CUE_BALL_SPEED"
  512. 065E: NOP $6452 "CUE_BALL_ROT_X"
  513. 065E: NOP $6453 "CUE_BALL_ROT_Y"
  514. 065E: NOP $6454 "CUE_BALL_ROT_Z"
  515. 065E: NOP $6455 "POOL_TABLE_MIN_X"
  516. 065E: NOP $6456 "POOL_TABLE_MAX_X"
  517. 065E: NOP $6457 "POOL_TABLE_MIN_Y"
  518. 065E: NOP $6458 "POOL_TABLE_MAX_Y"
  519.  
  520. :POOL2_5105
  521. if
  522.   212@ == 11
  523. else_jump @POOL2_5304
  524. 008A: $6443 = 32@ // (int)
  525. 008A: $6444 = 33@ // (int)
  526. 0088: $6453 = 650@ // (float)
  527. 0088: $6454 = 203@ // (float)
  528. 0088: $6455 = 204@ // (float)
  529. 008A: $6448 = 277@ // (int)
  530. 065D: NOP $6443 "TIMERA"
  531. 065D: NOP $6444 "TIMERB"
  532. 065E: NOP $6453 "BALL_TURN_MASS"
  533. 065E: NOP $6454 "POOL_STOP_VELOCITY"
  534. 065E: NOP $6455 "POOL_STOP_ROTATION_VELOCITY"
  535. 065D: NOP $6448 "BALL_STRIKES_CUSHION"
  536.  
  537. :POOL2_5304
  538. if
  539. 0736:   NOP_false 65
  540. else_jump @POOL2_5408
  541. if
  542.   219@ == 1
  543. else_jump @POOL2_5378
  544. 219@ = 0
  545. 0662: NOP "CHEAT_PLAYER1_NOT_HUMAN"
  546. jump @POOL2_5408
  547.  
  548. :POOL2_5378
  549. 219@ = 1
  550. 0662: NOP "CHEAT_PLAYER1_HUMAN"
  551.  
  552. :POOL2_5408
  553. return
  554.  
  555. :POOL2_5410
  556. if
  557.   35@ == -1
  558. else_jump @POOL2_5450
  559. 107@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  560.  
  561. :POOL2_5450
  562. if
  563.   35@ == 0
  564. else_jump @POOL2_7124
  565. 0826: enable_hud 1
  566. 0581: enable_radar 0
  567. $BJACK_PLAYER_CASH = Player.Money($PLAYER_CHAR)
  568. if
  569. 001C:   $9460 > $BJACK_PLAYER_CASH // (int)
  570. else_jump @POOL2_5523
  571. 108@ = 1
  572. 00BE: text_clear_all
  573. Camera.SetBehindPlayer
  574. Camera.Restore_WithJumpCut
  575. jump @POOL2_7078
  576.  
  577. :POOL2_5523
  578. 0395: clear_area 1 at 102@ 103@ 104@ radius 15.0
  579. Object.PutAt(163@, 102@, 103@, 104@)
  580. 0400: store_coords_to 98@ 100@ $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.9098 -0.4589 0.7
  581. 0400: store_coords_to 99@ 101@ $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.9242 0.4809 0.7
  582. if
  583. 0025:   98@ > 99@ // (float)
  584. else_jump @POOL2_5656
  585. 0088: $TEMPVAR_FLOAT_1 = 98@ // (float)
  586. 0087: 98@ = 99@ // (float)
  587. 0089: 99@ = $TEMPVAR_FLOAT_1 // (float)
  588.  
  589. :POOL2_5656
  590. if
  591. 0025:   100@ > 101@ // (float)
  592. else_jump @POOL2_5699
  593. 0088: $TEMPVAR_FLOAT_2 = 100@ // (float)
  594. 0087: 100@ = 101@ // (float)
  595. 0089: 101@ = $TEMPVAR_FLOAT_2 // (float)
  596.  
  597. :POOL2_5699
  598. 0830: unknown_rectangle_cornerA 98@ 100@ $TEMPVAR_FLOAT_3 cornerB 99@ 101@ $TEMPVAR_FLOAT_3
  599. 0400: store_coords_to 175@ 176@ 177@ from_object 163@ with_offset 0.0 0.0 1.5
  600. 0509: 42@ = distance_between_XY 98@ 100@ and_XY 99@ 100@
  601. 0509: 43@ = distance_between_XY 98@ 100@ and_XY 98@ 101@
  602. if
  603. 0025:   42@ > 43@ // (float)
  604. else_jump @POOL2_5866
  605. 0087: 42@ = 98@ // (float)
  606. 005B: 42@ += 99@ // (float)
  607. 42@ /= 2.0
  608. 0087: 55@ = 42@ // (float)
  609. 0087: 61@ = 100@ // (float)
  610. 0087: 58@ = 42@ // (float)
  611. 0087: 64@ = 101@ // (float)
  612. jump @POOL2_5924
  613.  
  614. :POOL2_5866
  615. 0087: 42@ = 100@ // (float)
  616. 005B: 42@ += 101@ // (float)
  617. 42@ /= 2.0
  618. 0087: 55@ = 98@ // (float)
  619. 0087: 61@ = 42@ // (float)
  620. 0087: 58@ = 99@ // (float)
  621. 0087: 64@ = 42@ // (float)
  622.  
  623. :POOL2_5924
  624. 0087: 54@ = 98@ // (float)
  625. 0087: 60@ = 100@ // (float)
  626. 0087: 56@ = 98@ // (float)
  627. 0087: 62@ = 101@ // (float)
  628. 0087: 57@ = 99@ // (float)
  629. 0087: 63@ = 101@ // (float)
  630. 0087: 59@ = 99@ // (float)
  631. 0087: 65@ = 100@ // (float)
  632. 52@ = 0.037
  633. 0087: 53@ = 52@ // (float)
  634. 53@ *= 2.0
  635. 39@ = 0
  636.  
  637. :POOL2_6023
  638. if
  639.   16 > 39@
  640. else_jump @POOL2_6084
  641. if
  642.    Object.Exists(82@(39@,16i))
  643. else_jump @POOL2_6070
  644. Object.Destroy(82@(39@,16i))
  645.  
  646. :POOL2_6070
  647. 39@ += 1
  648. jump @POOL2_6023
  649.  
  650. :POOL2_6084
  651. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.2734375 -0.0546875 0.9296875
  652. 82@ = Object.Init(#K_POOLBALLCUE, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  653. $TEMPVAR_ANGLE = Object.Angle(163@)
  654. $TEMPVAR_ANGLE += 270.0
  655. Object.Angle(82@) = $TEMPVAR_ANGLE
  656. 0400: store_coords_to 558@ 559@ 560@ from_object 163@ with_offset 0.3408 -0.0284 0.9297
  657. 561@ = Object.Angle(163@)
  658. 561@ += 90.0
  659. 83@ = Object.Init(#K_POOLBALLSPT01, 558@, 559@, 560@)
  660. 84@ = Object.Init(#K_POOLBALLSPT02, 0.0, 0.0, 0.0)
  661. 85@ = Object.Init(#K_POOLBALLSPT03, 0.0, 0.0, 0.0)
  662. 86@ = Object.Init(#K_POOLBALLSPT04, 0.0, 0.0, 0.0)
  663. 87@ = Object.Init(#K_POOLBALLSPT05, 0.0, 0.0, 0.0)
  664. 88@ = Object.Init(#K_POOLBALLSPT06, 0.0, 0.0, 0.0)
  665. 89@ = Object.Init(#K_POOLBALLSPT07, 0.0, 0.0, 0.0)
  666. 90@ = Object.Init(#K_POOLBALL8, 0.0, 0.0, 0.0)
  667. 91@ = Object.Init(#K_POOLBALLSTP01, 0.0, 0.0, 0.0)
  668. 92@ = Object.Init(#K_POOLBALLSTP02, 0.0, 0.0, 0.0)
  669. 93@ = Object.Init(#K_POOLBALLSTP03, 0.0, 0.0, 0.0)
  670. 94@ = Object.Init(#K_POOLBALLSTP04, 0.0, 0.0, 0.0)
  671. 95@ = Object.Init(#K_POOLBALLSTP05, 0.0, 0.0, 0.0)
  672. 96@ = Object.Init(#K_POOLBALLSTP06, 0.0, 0.0, 0.0)
  673. 97@ = Object.Init(#K_POOLBALLSTP07, 0.0, 0.0, 0.0)
  674. gosub @POOL2_50546
  675. 0581: enable_radar 0
  676. Player.CanMove($PLAYER_CHAR) = False
  677. 03E6: remove_text_box
  678. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.5261 -1.9684 1.637
  679. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  680. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.0746 -1.0853 1.5092
  681. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  682. if
  683.    not Actor.Dead(164@)
  684. else_jump @POOL2_6892
  685. 0792: disembark_instantly_actor 164@
  686. 070B: set_actor 164@ onbone_attached_object_operation 0
  687. if
  688.    Object.Exists($9459)
  689. else_jump @POOL2_6692
  690. Object.Destroy($9459)
  691.  
  692. :POOL2_6692
  693. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0219 -1.1236 0.0363
  694. Actor.PutAt(164@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  695. 0087: 42@ = 105@ // (float)
  696. 42@ += 130.0
  697. Actor.Angle(164@) = 42@
  698. 0615: define_AS_pack_begin 47@
  699. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.5261 -1.9684 1.637
  700. 06A9: AS_actor -1 look_at_point $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 999999 ms
  701. if
  702.   108@ == 0
  703. else_jump @POOL2_6874
  704. 0812: AS_actor -1 perform_animation "POOL_IDLE_STANCE" IFP_file "POOL" 1000.0 loopA 1 lockX 0 lockY 0 lockF 1 time -1 // versionB
  705.  
  706. :POOL2_6874
  707. 0616: define_AS_pack_end 47@
  708. 0618: assign_actor 164@ to_AS_pack 47@
  709. 061B: remove_references_to_AS_pack 47@
  710.  
  711. :POOL2_6892
  712. if
  713.    not Object.Exists(107@)
  714. else_jump @POOL2_6937
  715. 107@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  716. Object.CollisionDetection(107@) = False
  717.  
  718. :POOL2_6937
  719. if
  720.    Player.Defined($PLAYER_CHAR)
  721. else_jump @POOL2_7051
  722. 0792: disembark_instantly_actor $PLAYER_ACTOR
  723. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -1.9295 -2.2083 0.0363
  724. Actor.PutAt($PLAYER_ACTOR, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  725. 0089: 221@ = $TEMPVAR_FLOAT_1 // (float)
  726. 0089: 222@ = $TEMPVAR_FLOAT_2 // (float)
  727. 0089: 223@ = $TEMPVAR_FLOAT_3 // (float)
  728. 0087: 42@ = 105@ // (float)
  729. 42@ += 390.0
  730. Actor.Angle($PLAYER_ACTOR) = 42@
  731.  
  732. :POOL2_7051
  733. 0085: 358@ = 164@ // (int)
  734. 0085: 359@ = 107@ // (int)
  735. gosub @POOL2_30670
  736. 0A3F: unknown_flag 0
  737.  
  738. :POOL2_7078
  739. create_thread @CLEANAU
  740. fade 1 1000
  741.  
  742. :POOL2_7093
  743. if
  744. fading
  745. else_jump @POOL2_7117
  746. wait 0
  747. jump @POOL2_7093
  748.  
  749. :POOL2_7117
  750. 35@ += 1
  751.  
  752. :POOL2_7124
  753. if
  754.   35@ == 1
  755. else_jump @POOL2_7557
  756. if
  757.    not Actor.Dead(164@)
  758. else_jump @POOL2_7539
  759. if
  760.    Actor.Model(164@) == #BMYPOL1
  761. else_jump @POOL2_7361
  762. 0209: 39@ = random_int_in_ranges 0 3
  763. 0871: init_jump_table 39@ total_jumps 3 default_jump 0 @POOL2_7335 jumps 0 @POOL2_7248 1 @POOL2_7277 2 @POOL2_7306 -1 @POOL2_7335 -1 @POOL2_7335 -1 @POOL2_7335 -1 @POOL2_7335
  764.  
  765. :POOL2_7248
  766. 05A9: s$ACTOR_SPEECH_GXT_REFERENCE = 'POOL_B1'  // ~z~Let's make a little wager.
  767. 04AE: $ACTOR_SPEECH_WAV_FILE = 31600 // $ = any
  768. jump @POOL2_7335
  769.  
  770. :POOL2_7277
  771. 05A9: s$ACTOR_SPEECH_GXT_REFERENCE = 'POOL_B2'  // ~z~Game of pool ain't the same without a little money involved.
  772. 04AE: $ACTOR_SPEECH_WAV_FILE = 31601 // $ = any
  773. jump @POOL2_7335
  774.  
  775. :POOL2_7306
  776. 05A9: s$ACTOR_SPEECH_GXT_REFERENCE = 'POOL_B3'  // ~z~Show me the color of your money
  777. 04AE: $ACTOR_SPEECH_WAV_FILE = 31602 // $ = any
  778. jump @POOL2_7335
  779.  
  780. :POOL2_7335
  781. create_thread @AUDIOL 164@ 0 1 1 0
  782. jump @POOL2_7539
  783.  
  784. :POOL2_7361
  785. 0209: 39@ = random_int_in_ranges 0 3
  786. 0871: init_jump_table 39@ total_jumps 3 default_jump 0 @POOL2_7520 jumps 0 @POOL2_7433 1 @POOL2_7462 2 @POOL2_7491 -1 @POOL2_7520 -1 @POOL2_7520 -1 @POOL2_7520 -1 @POOL2_7520
  787.  
  788. :POOL2_7433
  789. 05A9: s$ACTOR_SPEECH_GXT_REFERENCE = 'POOL_B4'  // ~z~I'll only play you if you want to make it interesting.
  790. 04AE: $ACTOR_SPEECH_WAV_FILE = 31603 // $ = any
  791. jump @POOL2_7520
  792.  
  793. :POOL2_7462
  794. 05A9: s$ACTOR_SPEECH_GXT_REFERENCE = 'POOL_B5'  // ~z~You want to place a small wager?
  795. 04AE: $ACTOR_SPEECH_WAV_FILE = 31604 // $ = any
  796. jump @POOL2_7520
  797.  
  798. :POOL2_7491
  799. 05A9: s$ACTOR_SPEECH_GXT_REFERENCE = 'POOL_B6'  // ~z~C'mon, put your money where your mouth is playa.
  800. 04AE: $ACTOR_SPEECH_WAV_FILE = 31605 // $ = any
  801. jump @POOL2_7520
  802.  
  803. :POOL2_7520
  804. create_thread @AUDIOL 164@ 0 1 1 0
  805.  
  806. :POOL2_7539
  807. 03F0: enable_text_draw 1
  808. 32@ = 0
  809. 35@ += 1
  810.  
  811. :POOL2_7557
  812. if
  813.   35@ == 2
  814. else_jump @POOL2_7717
  815. if or
  816. 876F:   not text_priority_displayed
  817. 00E1:   player 0 pressed_key 16
  818. else_jump @POOL2_7717
  819. 00BE: text_clear_all
  820. if
  821.    Player.Defined($PLAYER_CHAR)
  822. else_jump @POOL2_7620
  823. 159@ = Player.Money($PLAYER_CHAR)
  824.  
  825. :POOL2_7620
  826. 0989: set_text_boxes_width 200
  827. 0512: show_permanent_text_box 'PL_H1'  // ~k~~PED_JUMPING~ Increase Wager~N~~k~~PED_FIREWEAPON~ Decrease Wager~N~~k~~PED_SPRINT~ Proceed~N~~k~~VEHICLE_ENTER_EXIT~ Quit
  828. $9460 = 50
  829. $9461 = 1000
  830. 008B: 161@ = $9460 // (int)
  831. 008B: 162@ = $9460 // (int)
  832. 008B: 155@ = $9460 // (int)
  833. 008B: 39@ = $9460 // (int)
  834. 39@ *= -1
  835. Player.Money($PLAYER_CHAR) += 39@
  836. 02A3: enable_widescreen 0
  837. create_thread @CLEANAU
  838. 35@ += 1
  839.  
  840. :POOL2_7717
  841. if
  842.   35@ == 3
  843. else_jump @POOL2_8897
  844. gosub @POOL2_54522
  845. $BJACK_PLAYER_CASH = Player.Money($PLAYER_CHAR)
  846. if
  847. 00E1:   player 0 pressed_key 14
  848. else_jump @POOL2_8176
  849. if and
  850.    not 126@ == 1
  851.    not 126@ == -1
  852. else_jump @POOL2_8125
  853. if
  854.   155@ >= 10000
  855. else_jump @POOL2_7826
  856. 160@ = 1000
  857. jump @POOL2_7930
  858.  
  859. :POOL2_7826
  860. if
  861.   155@ >= 1000
  862. else_jump @POOL2_7859
  863. 160@ = 100
  864. jump @POOL2_7930
  865.  
  866. :POOL2_7859
  867. if
  868.   155@ >= 100
  869. else_jump @POOL2_7891
  870. 160@ = 10
  871. jump @POOL2_7930
  872.  
  873. :POOL2_7891
  874. if
  875.   155@ == 0
  876. else_jump @POOL2_7923
  877. 160@ = 2
  878. jump @POOL2_7930
  879.  
  880. :POOL2_7923
  881. 160@ = 1
  882.  
  883. :POOL2_7930
  884. if
  885. 001F:   160@ > $BJACK_PLAYER_CASH // (int)
  886. else_jump @POOL2_7957
  887. 008B: 160@ = $BJACK_PLAYER_CASH // (int)
  888.  
  889. :POOL2_7957
  890. 0085: 39@ = 155@ // (int)
  891. 005A: 39@ += 160@ // (int)
  892. if
  893. 001F:   39@ > $9461 // (int)
  894. else_jump @POOL2_8008
  895. 008B: 160@ = $9461 // (int)
  896. 0062: 160@ -= 155@ // (int)
  897.  
  898. :POOL2_8008
  899. if
  900.   0 > 160@
  901. else_jump @POOL2_8033
  902. 160@ *= -1
  903.  
  904. :POOL2_8033
  905. 005A: 155@ += 160@ // (int)
  906. 005A: 161@ += 160@ // (int)
  907. 005A: 162@ += 160@ // (int)
  908. 160@ *= -1
  909. Player.Money($PLAYER_CHAR) += 160@
  910. 126@ += 1
  911. if
  912.   126@ > 1
  913. else_jump @POOL2_8111
  914. 126@ = 2
  915. jump @POOL2_8118
  916.  
  917. :POOL2_8111
  918. 32@ = 0
  919.  
  920. :POOL2_8118
  921. jump @POOL2_8169
  922.  
  923. :POOL2_8125
  924. if
  925.   126@ == 1
  926. else_jump @POOL2_8169
  927. if
  928.   32@ > 500
  929. else_jump @POOL2_8169
  930. 126@ = 2
  931.  
  932. :POOL2_8169
  933. jump @POOL2_8550
  934.  
  935. :POOL2_8176
  936. if
  937.    not 126@ == 0
  938. else_jump @POOL2_8201
  939. 126@ = 0
  940.  
  941. :POOL2_8201
  942. if
  943. 00E1:   player 0 pressed_key 17
  944. else_jump @POOL2_8525
  945. if
  946.    not 128@ == 1
  947. else_jump @POOL2_8492
  948. if
  949.   155@ > 10000
  950. else_jump @POOL2_8270
  951. 160@ = -1000
  952. jump @POOL2_8342
  953.  
  954. :POOL2_8270
  955. if
  956.   155@ > 1000
  957. else_jump @POOL2_8303
  958. 160@ = -100
  959. jump @POOL2_8342
  960.  
  961. :POOL2_8303
  962. if
  963.   155@ > 100
  964. else_jump @POOL2_8335
  965. 160@ = -10
  966. jump @POOL2_8342
  967.  
  968. :POOL2_8335
  969. 160@ = -1
  970.  
  971. :POOL2_8342
  972. 0085: 39@ = 155@ // (int)
  973. 005A: 39@ += 160@ // (int)
  974. if
  975. 001E:   $9460 > 39@ // (int)
  976. else_jump @POOL2_8400
  977. 0085: 160@ = 155@ // (int)
  978. 0064: 160@ -= $9460 // (int)
  979. 160@ *= -1
  980.  
  981. :POOL2_8400
  982. 005A: 155@ += 160@ // (int)
  983. 005A: 161@ += 160@ // (int)
  984. 005A: 162@ += 160@ // (int)
  985. 160@ *= -1
  986. Player.Money($PLAYER_CHAR) += 160@
  987. 128@ += 1
  988. if
  989.   128@ > 1
  990. else_jump @POOL2_8478
  991. 128@ = 2
  992. jump @POOL2_8485
  993.  
  994. :POOL2_8478
  995. 32@ = 0
  996.  
  997. :POOL2_8485
  998. jump @POOL2_8518
  999.  
  1000. :POOL2_8492
  1001. if
  1002.   32@ > 500
  1003. else_jump @POOL2_8518
  1004. 128@ = 2
  1005.  
  1006. :POOL2_8518
  1007. jump @POOL2_8550
  1008.  
  1009. :POOL2_8525
  1010. if
  1011.    not 128@ == 0
  1012. else_jump @POOL2_8550
  1013. 128@ = 0
  1014.  
  1015. :POOL2_8550
  1016. if
  1017. 00E1:   player 0 pressed_key 16
  1018. else_jump @POOL2_8619
  1019. if
  1020.    not Actor.Dead(164@)
  1021. else_jump @POOL2_8591
  1022. 03FE: set_actor 164@ money 162@
  1023.  
  1024. :POOL2_8591
  1025. 161@ = 0
  1026. 178@ = 0
  1027. 35@ = 99
  1028. jump @POOL2_8680
  1029.  
  1030. :POOL2_8619
  1031. if
  1032. 00E1:   player 1 pressed_key 12
  1033. else_jump @POOL2_8680
  1034. 09D8: NOP 1
  1035. 0A3F: unknown_flag 1
  1036. $1904 = 1
  1037. Player.Money($PLAYER_CHAR) += 161@
  1038. 161@ = 0
  1039. 178@ = 1
  1040. 35@ = 99
  1041.  
  1042. :POOL2_8680
  1043. if
  1044. 00E1:   player 0 pressed_key 15
  1045. else_jump @POOL2_8872
  1046. if
  1047.   127@ == 0
  1048. else_jump @POOL2_8865
  1049. if
  1050.    not Actor.Dead(213@)
  1051. else_jump @POOL2_8782
  1052. 223@ += 1.1
  1053. 0792: disembark_instantly_actor 213@
  1054. 02CE: 223@ = ground_z_at 221@ 222@ 223@
  1055. Actor.PutAt(213@, 221@, 222@, 223@)
  1056. Actor.Angle(213@) = 224@
  1057.  
  1058. :POOL2_8782
  1059. if
  1060.    not Actor.Dead(214@)
  1061. else_jump @POOL2_8849
  1062. 227@ += 1.1
  1063. 0792: disembark_instantly_actor 214@
  1064. 02CE: 227@ = ground_z_at 225@ 226@ 227@
  1065. Actor.PutAt(214@, 225@, 226@, 227@)
  1066. Actor.Angle(214@) = 228@
  1067.  
  1068. :POOL2_8849
  1069. 03E6: remove_text_box
  1070. 108@ = 1
  1071. 127@ = 1
  1072.  
  1073. :POOL2_8865
  1074. jump @POOL2_8897
  1075.  
  1076. :POOL2_8872
  1077. if
  1078.   127@ == 1
  1079. else_jump @POOL2_8897
  1080. 127@ = 0
  1081.  
  1082. :POOL2_8897
  1083. if
  1084.   35@ == 99
  1085. else_jump @POOL2_8956
  1086. if
  1087.    not Actor.Dead(164@)
  1088. else_jump @POOL2_8936
  1089. 0647: unknown_actor 164@ look_task
  1090.  
  1091. :POOL2_8936
  1092. 0826: enable_hud 0
  1093. 03E6: remove_text_box
  1094. 35@ = 0
  1095. 34@ += 1
  1096.  
  1097. :POOL2_8956
  1098. return
  1099.  
  1100. :POOL2_8958
  1101. if
  1102.   35@ == -1
  1103. else_jump @POOL2_9114
  1104. 213@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  1105. 214@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  1106. 215@ = Actor.Create(CivMale, #MALE01, 0.0, 0.0, 0.0)
  1107. 106@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  1108. 107@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  1109. 216@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  1110.  
  1111. :POOL2_9114
  1112. if
  1113.   35@ == 0
  1114. else_jump @POOL2_9673
  1115. if
  1116.   178@ == 0
  1117. else_jump @POOL2_9185
  1118. 217@ = -1
  1119. 218@ = -1
  1120. 219@ = 1
  1121. 220@ = 0
  1122. jump @POOL2_9213
  1123.  
  1124. :POOL2_9185
  1125. 217@ = -1
  1126. 218@ = -1
  1127. 219@ = 1
  1128. 220@ = 1
  1129.  
  1130. :POOL2_9213
  1131. 0400: store_coords_to 221@ 222@ 223@ from_object 163@ with_offset 0.0 1.8 0.0
  1132. 0087: 224@ = 105@ // (float)
  1133. 224@ += 180.0
  1134. 0400: store_coords_to 225@ 226@ 227@ from_object 163@ with_offset 0.0 -1.8 0.0
  1135. 0087: 228@ = 105@ // (float)
  1136. 008B: 213@ = $PLAYER_ACTOR // (int)
  1137. 0085: 214@ = 164@ // (int)
  1138. if
  1139.    not Object.Exists(106@)
  1140. else_jump @POOL2_9358
  1141. 106@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  1142. Object.CollisionDetection(106@) = False
  1143.  
  1144. :POOL2_9358
  1145. if
  1146.    not Object.Exists(107@)
  1147. else_jump @POOL2_9403
  1148. 107@ = Object.Create(#K_POOLQ, 0.0, 0.0, 0.0)
  1149. Object.CollisionDetection(107@) = False
  1150.  
  1151. :POOL2_9403
  1152. if
  1153.    not Actor.Dead(213@)
  1154. else_jump @POOL2_9448
  1155. Actor.PutAt(213@, 221@, 222@, 223@)
  1156. Actor.Angle(213@) = 224@
  1157. 06AB: set_actor 213@ all_weapons_hidden 1
  1158.  
  1159. :POOL2_9448
  1160. if
  1161.    not Actor.Dead(214@)
  1162. else_jump @POOL2_9493
  1163. Actor.PutAt(214@, 225@, 226@, 227@)
  1164. Actor.Angle(214@) = 228@
  1165. 06AB: set_actor 214@ all_weapons_hidden 1
  1166.  
  1167. :POOL2_9493
  1168. 229@ = 1
  1169. 0085: 215@ = 213@ // (int)
  1170. 0085: 216@ = 106@ // (int)
  1171. 0085: 230@ = 219@ // (int)
  1172. 0085: 231@ = 217@ // (int)
  1173. 232@ = 1
  1174. 04AF: 180@ = 0 // @ = any
  1175. 278@ = -1
  1176. 279@ = 0
  1177. 236@ = 1
  1178. if
  1179.   236@ == 0
  1180. else_jump @POOL2_9622
  1181. 242@ = 10.0
  1182. 243@ = 0.02
  1183. 244@ = 0.0
  1184. jump @POOL2_9652
  1185.  
  1186. :POOL2_9622
  1187. 242@ = 22.5
  1188. 243@ = 0.02
  1189. 244@ = 0.0
  1190.  
  1191. :POOL2_9652
  1192. 184@ = 1
  1193. 35@ = 0
  1194. 34@ += 1
  1195.  
  1196. :POOL2_9673
  1197. return
  1198.  
  1199. :POOL2_9675
  1200. if
  1201.   233@ == 0
  1202. else_jump @POOL2_10212
  1203. if
  1204.   35@ == 0
  1205. else_jump @POOL2_10060
  1206. if
  1207.    not Actor.Dead(213@)
  1208. else_jump @POOL2_9773
  1209. 223@ += 1.0
  1210. 02CE: 223@ = ground_z_at 221@ 222@ 223@
  1211. Actor.PutAt(213@, 221@, 222@, 223@)
  1212. Actor.Angle(213@) = 224@
  1213.  
  1214. :POOL2_9773
  1215. if
  1216.    not Actor.Dead(214@)
  1217. else_jump @POOL2_9835
  1218. 227@ += 1.1
  1219. 02CE: 227@ = ground_z_at 225@ 226@ 227@
  1220. Actor.PutAt(214@, 225@, 226@, 227@)
  1221. Actor.Angle(214@) = 228@
  1222.  
  1223. :POOL2_9835
  1224. if
  1225.    not Actor.Dead(215@)
  1226. else_jump @POOL2_10060
  1227. 070B: set_actor 215@ onbone_attached_object_operation 0
  1228. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset 1.0 3.0 1.0
  1229. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  1230. Camera.OnPed(215@, 15, 2)
  1231. 0615: define_AS_pack_begin 47@
  1232. 0812: AS_actor -1 perform_animation "POOL_CHALKCUE" IFP_file "POOL" 1000.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB
  1233. 0812: AS_actor -1 perform_animation "POOL_IDLE_STANCE" IFP_file "POOL" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB
  1234. 0616: define_AS_pack_end 47@
  1235. if
  1236.   108@ == 0
  1237. else_jump @POOL2_10041
  1238. 0618: assign_actor 215@ to_AS_pack 47@
  1239.  
  1240. :POOL2_10041
  1241. 061B: remove_references_to_AS_pack 47@
  1242. 32@ = 0
  1243. 35@ += 1
  1244.  
  1245. :POOL2_10060
  1246. if
  1247.   35@ == 1
  1248. else_jump @POOL2_10138
  1249. if
  1250.    not Actor.Dead(215@)
  1251. else_jump @POOL2_10138
  1252. 062E: unknown_get_actor 215@ task 1560 status_store_to 39@ // ret 7 if not found
  1253. if or
  1254. 04A4:   39@ == 7 // @ == any
  1255.   32@ > 3000
  1256. else_jump @POOL2_10138
  1257. 35@ = 99
  1258.  
  1259. :POOL2_10138
  1260. if
  1261.   32@ > 500
  1262. else_jump @POOL2_10205
  1263. if
  1264. 00E1:   player 180@ pressed_key 16
  1265. else_jump @POOL2_10205
  1266. if
  1267.    not Actor.Dead(215@)
  1268. else_jump @POOL2_10205
  1269. 126@ = 1
  1270. 35@ = 99
  1271.  
  1272. :POOL2_10205
  1273. jump @POOL2_10235
  1274.  
  1275. :POOL2_10212
  1276. if
  1277.    not Actor.Dead(215@)
  1278. else_jump @POOL2_10235
  1279. 35@ = 99
  1280.  
  1281. :POOL2_10235
  1282. if
  1283.   35@ == 99
  1284. else_jump @POOL2_10280
  1285. 040D: unload_wav 4
  1286. 03E6: remove_text_box
  1287. 32@ = 0
  1288. 34@ += 1
  1289. 35@ = 0
  1290.  
  1291. :POOL2_10280
  1292. if
  1293. 00E1:   player 180@ pressed_key 15
  1294. else_jump @POOL2_10471
  1295. if and
  1296.   127@ == 0
  1297.   183@ > 1000
  1298. else_jump @POOL2_10464
  1299. if
  1300.    not Actor.Dead(213@)
  1301. else_jump @POOL2_10386
  1302. 223@ += 1.1
  1303. 02CE: 223@ = ground_z_at 221@ 222@ 223@
  1304. Actor.PutAt(213@, 221@, 222@, 223@)
  1305. Actor.Angle(213@) = 224@
  1306.  
  1307. :POOL2_10386
  1308. if
  1309.    not Actor.Dead(214@)
  1310. else_jump @POOL2_10448
  1311. 227@ += 1.1
  1312. 02CE: 227@ = ground_z_at 225@ 226@ 227@
  1313. Actor.PutAt(214@, 225@, 226@, 227@)
  1314. Actor.Angle(214@) = 228@
  1315.  
  1316. :POOL2_10448
  1317. 03E6: remove_text_box
  1318. 108@ = 1
  1319. 127@ = 1
  1320.  
  1321. :POOL2_10464
  1322. jump @POOL2_10503
  1323.  
  1324. :POOL2_10471
  1325. if
  1326.   127@ == 1
  1327. else_jump @POOL2_10496
  1328. 127@ = 0
  1329.  
  1330. :POOL2_10496
  1331. 183@ = 0
  1332.  
  1333. :POOL2_10503
  1334. return
  1335.  
  1336. :POOL2_10505
  1337. if and
  1338.    not 232@ == 0
  1339.   230@ == 1
  1340. else_jump @POOL2_10537
  1341. gosub @POOL2_59389
  1342.  
  1343. :POOL2_10537
  1344. if
  1345.    not 232@ == 0
  1346. else_jump @POOL2_10821
  1347. if
  1348.   66@ == 1
  1349. else_jump @POOL2_10706
  1350. if
  1351.    not Object.Exists(82@)
  1352. else_jump @POOL2_10699
  1353. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.35 0.0 0.9296875
  1354. 0089: 627@ = $TEMPVAR_FLOAT_1 // (float)
  1355. 0089: 628@ = $TEMPVAR_FLOAT_2 // (float)
  1356. gosub @POOL2_54002
  1357. 0088: $TEMPVAR_FLOAT_1 = 627@ // (float)
  1358. 0088: $TEMPVAR_FLOAT_2 = 628@ // (float)
  1359. 82@ = Object.Init(#K_POOLBALLCUE, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1360. $TEMPVAR_ANGLE = Object.Angle(163@)
  1361. $TEMPVAR_ANGLE += 270.0
  1362. Object.Angle(82@) = $TEMPVAR_ANGLE
  1363.  
  1364. :POOL2_10699
  1365. 66@ = 0
  1366.  
  1367. :POOL2_10706
  1368. if
  1369. 00E1:   player 180@ pressed_key 14
  1370. else_jump @POOL2_10796
  1371. if
  1372.   128@ == 0
  1373. else_jump @POOL2_10789
  1374. if
  1375.   198@ == 2
  1376. else_jump @POOL2_10774
  1377. 198@ = 0
  1378. jump @POOL2_10782
  1379.  
  1380. :POOL2_10774
  1381. 205@ = 3001
  1382.  
  1383. :POOL2_10782
  1384. 128@ = 1
  1385.  
  1386. :POOL2_10789
  1387. jump @POOL2_10821
  1388.  
  1389. :POOL2_10796
  1390. if
  1391.   128@ == 1
  1392. else_jump @POOL2_10821
  1393. 128@ = 0
  1394.  
  1395. :POOL2_10821
  1396. if
  1397.   232@ == 1
  1398. else_jump @POOL2_11055
  1399. if
  1400.   35@ == 0
  1401. else_jump @POOL2_11055
  1402. if
  1403.   230@ == 1
  1404. else_jump @POOL2_10972
  1405. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.35 0.0 0.0
  1406. $TEMPVAR_ANGLE = Object.Angle(163@)
  1407. $TEMPVAR_ANGLE += 270.0
  1408. Object.PutAt(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 560@)
  1409. Object.Angle(82@) = $TEMPVAR_ANGLE
  1410. 32@ = 0
  1411. 35@ = 99
  1412. jump @POOL2_12101
  1413. jump @POOL2_11055
  1414.  
  1415. :POOL2_10972
  1416. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.35 0.0 0.0
  1417. $TEMPVAR_ANGLE = Object.Angle(163@)
  1418. $TEMPVAR_ANGLE += 270.0
  1419. Object.PutAt(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 560@)
  1420. Object.Angle(82@) = $TEMPVAR_ANGLE
  1421. 35@ = 99
  1422. jump @POOL2_12101
  1423.  
  1424. :POOL2_11055
  1425. if
  1426.   232@ == 2
  1427. else_jump @POOL2_11846
  1428. if
  1429.   35@ == 0
  1430. else_jump @POOL2_11471
  1431. if
  1432.   230@ == 1
  1433. else_jump @POOL2_11349
  1434. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.35 0.0 0.0
  1435. $TEMPVAR_ANGLE = Object.Angle(163@)
  1436. $TEMPVAR_ANGLE += 270.0
  1437. 0089: 627@ = $TEMPVAR_FLOAT_1 // (float)
  1438. 0089: 628@ = $TEMPVAR_FLOAT_2 // (float)
  1439. gosub @POOL2_54002
  1440. 0088: $TEMPVAR_FLOAT_1 = 627@ // (float)
  1441. 0088: $TEMPVAR_FLOAT_2 = 628@ // (float)
  1442. Object.PutAt(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 560@)
  1443. Object.Angle(82@) = $TEMPVAR_ANGLE
  1444. 32@ = 0
  1445. 35@ += 1
  1446. 198@ = 0
  1447. 205@ = 0
  1448. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 -0.001 2.5
  1449. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  1450. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 0.001 0.0
  1451. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  1452. jump @POOL2_11471
  1453.  
  1454. :POOL2_11349
  1455. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.35 0.0 0.0
  1456. $TEMPVAR_ANGLE = Object.Angle(163@)
  1457. $TEMPVAR_ANGLE += 270.0
  1458. 0089: 627@ = $TEMPVAR_FLOAT_1 // (float)
  1459. 0089: 628@ = $TEMPVAR_FLOAT_2 // (float)
  1460. gosub @POOL2_54002
  1461. 0088: $TEMPVAR_FLOAT_1 = 627@ // (float)
  1462. 0088: $TEMPVAR_FLOAT_2 = 628@ // (float)
  1463. Object.PutAt(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 560@)
  1464. Object.Angle(82@) = $TEMPVAR_ANGLE
  1465. 35@ = 99
  1466. jump @POOL2_12101
  1467.  
  1468. :POOL2_11471
  1469. if
  1470.   35@ == 1
  1471. else_jump @POOL2_11846
  1472. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1473. 39@ = 0
  1474. if or
  1475. 00E1:   player 180@ pressed_key 0
  1476. 00E1:   player 180@ pressed_key 1
  1477. else_jump @POOL2_11542
  1478. 39@ = 1
  1479.  
  1480. :POOL2_11542
  1481. if
  1482.   39@ == 1
  1483. else_jump @POOL2_11757
  1484. 0494: get_joystick 180@ data_to $MOVE_AXIS_X $MOVE_AXIS_Y $SPECIAL_AXIS_X $SPECIAL_AXIS_Y
  1485. 008F: 235@ = integer $MOVE_AXIS_X to_float
  1486. 008F: 234@ = integer $MOVE_AXIS_Y to_float
  1487. 235@ /= 128.0
  1488. 234@ /= -128.0
  1489. 235@ *= 0.01
  1490. 234@ *= 0.01
  1491. gosub @POOL2_54371
  1492. 006D: $6466 *= 234@ // (float)
  1493. 006D: $6468 *= 234@ // (float)
  1494. 0059: $TEMPVAR_FLOAT_1 += $6466 // (float)
  1495. 0059: $TEMPVAR_FLOAT_2 += $6468 // (float)
  1496. 006D: $6467 *= 235@ // (float)
  1497. 006D: $6469 *= 235@ // (float)
  1498. 0059: $TEMPVAR_FLOAT_1 += $6467 // (float)
  1499. 0059: $TEMPVAR_FLOAT_2 += $6469 // (float)
  1500. 0089: 627@ = $TEMPVAR_FLOAT_1 // (float)
  1501. 0089: 628@ = $TEMPVAR_FLOAT_2 // (float)
  1502. gosub @POOL2_54002
  1503. 0088: $TEMPVAR_FLOAT_1 = 627@ // (float)
  1504. 0088: $TEMPVAR_FLOAT_2 = 628@ // (float)
  1505. Object.PutAt(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 560@)
  1506.  
  1507. :POOL2_11757
  1508. if
  1509. 00E1:   player 180@ pressed_key 16
  1510. else_jump @POOL2_11821
  1511. if
  1512.   126@ == 0
  1513. else_jump @POOL2_11814
  1514. 35@ = 99
  1515. 126@ = 1
  1516. jump @POOL2_12101
  1517.  
  1518. :POOL2_11814
  1519. jump @POOL2_11846
  1520.  
  1521. :POOL2_11821
  1522. if
  1523.   126@ == 1
  1524. else_jump @POOL2_11846
  1525. 126@ = 0
  1526.  
  1527. :POOL2_11846
  1528. if
  1529.   232@ == 0
  1530. else_jump @POOL2_11878
  1531. 35@ = 99
  1532. jump @POOL2_12101
  1533.  
  1534. :POOL2_11878
  1535. if
  1536. 00E1:   player 180@ pressed_key 15
  1537. else_jump @POOL2_12069
  1538. if and
  1539.   127@ == 0
  1540.   183@ > 1000
  1541. else_jump @POOL2_12062
  1542. if
  1543.    not Actor.Dead(213@)
  1544. else_jump @POOL2_11984
  1545. 223@ += 1.1
  1546. 02CE: 223@ = ground_z_at 221@ 222@ 223@
  1547. Actor.PutAt(213@, 221@, 222@, 223@)
  1548. Actor.Angle(213@) = 224@
  1549.  
  1550. :POOL2_11984
  1551. if
  1552.    not Actor.Dead(214@)
  1553. else_jump @POOL2_12046
  1554. 227@ += 1.1
  1555. 02CE: 227@ = ground_z_at 225@ 226@ 227@
  1556. Actor.PutAt(214@, 225@, 226@, 227@)
  1557. Actor.Angle(214@) = 228@
  1558.  
  1559. :POOL2_12046
  1560. 03E6: remove_text_box
  1561. 108@ = 1
  1562. 127@ = 1
  1563.  
  1564. :POOL2_12062
  1565. jump @POOL2_12101
  1566.  
  1567. :POOL2_12069
  1568. if
  1569.   127@ == 1
  1570. else_jump @POOL2_12094
  1571. 127@ = 0
  1572.  
  1573. :POOL2_12094
  1574. 183@ = 0
  1575.  
  1576. :POOL2_12101
  1577. if
  1578.   35@ == 99
  1579. else_jump @POOL2_12135
  1580. 34@ += 1
  1581. 35@ = 0
  1582. 03E6: remove_text_box
  1583.  
  1584. :POOL2_12135
  1585. return
  1586.  
  1587. :POOL2_12137
  1588. if
  1589.   230@ == 1
  1590. else_jump @POOL2_15142
  1591. gosub @POOL2_57034
  1592. if
  1593.   35@ == -1
  1594. else_jump @POOL2_12202
  1595. 238@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  1596.  
  1597. :POOL2_12202
  1598. if
  1599.   35@ == 0
  1600. else_jump @POOL2_13396
  1601. if
  1602.    not Actor.Dead(213@)
  1603. else_jump @POOL2_12282
  1604. 223@ += 1.1
  1605. 02CE: 223@ = ground_z_at 221@ 222@ 223@
  1606. Actor.PutAt(213@, 221@, 222@, 223@)
  1607. Actor.Angle(213@) = 224@
  1608.  
  1609. :POOL2_12282
  1610. if
  1611.    not Actor.Dead(214@)
  1612. else_jump @POOL2_12344
  1613. 227@ += 1.1
  1614. 02CE: 227@ = ground_z_at 225@ 226@ 227@
  1615. Actor.PutAt(214@, 225@, 226@, 227@)
  1616. Actor.Angle(214@) = 228@
  1617.  
  1618. :POOL2_12344
  1619. if
  1620.    not Actor.Dead(215@)
  1621. else_jump @POOL2_12405
  1622. Actor.StorePos(215@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1623. $TEMPVAR_FLOAT_3 += -10.0
  1624. Actor.PutAt(215@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1625. Actor.LockInCurrentPosition(215@) = True
  1626.  
  1627. :POOL2_12405
  1628. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 -0.001 2.5
  1629. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 0.001 0.0
  1630. if
  1631.    Object.Exists(82@)
  1632. else_jump @POOL2_12505
  1633. $TEMPVAR_ANGLE = Object.Angle(82@)
  1634. 0453: set_object 82@ XY_rotation 0.0 0.0 angle $TEMPVAR_ANGLE
  1635.  
  1636. :POOL2_12505
  1637. if
  1638.    not Object.Exists(238@)
  1639. else_jump @POOL2_12594
  1640. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 0.0 -10.0
  1641. 238@ = Object.Init(#K_POOLQ2, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1642. Object.ToggleInMovingList(238@) = False
  1643. Object.CollisionDetection(238@) = False
  1644. 0418: unknown_object 238@ flag 1
  1645. jump @POOL2_12615
  1646.  
  1647. :POOL2_12594
  1648. Object.ToggleInMovingList(238@) = False
  1649. Object.CollisionDetection(238@) = False
  1650. 0418: unknown_object 238@ flag 1
  1651.  
  1652. :POOL2_12615
  1653. 205@ = 0
  1654. 198@ = 0
  1655. if
  1656.   245@ == 0
  1657. else_jump @POOL2_13348
  1658. 239@ = -1
  1659. 42@ = 99999.9
  1660. if
  1661.    Object.Exists(82@)
  1662. else_jump @POOL2_13197
  1663. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1664. if
  1665.   231@ == -1
  1666. else_jump @POOL2_12848
  1667. 39@ = 1
  1668.  
  1669. :POOL2_12719
  1670. if
  1671.   16 > 39@
  1672. else_jump @POOL2_12841
  1673. if
  1674.    Object.Exists(82@(39@,16i))
  1675. else_jump @POOL2_12827
  1676. Object.StorePos(82@(39@,16i), 165@, 166@, 167@)
  1677. 0509: 43@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 165@ 166@
  1678. if
  1679. 0025:   42@ > 43@ // (float)
  1680. else_jump @POOL2_12827
  1681. 0085: 239@ = 39@ // (int)
  1682. 0087: 42@ = 43@ // (float)
  1683.  
  1684. :POOL2_12827
  1685. 39@ += 1
  1686. jump @POOL2_12719
  1687.  
  1688. :POOL2_12841
  1689. jump @POOL2_13197
  1690.  
  1691. :POOL2_12848
  1692. if
  1693.   231@ == 0
  1694. else_jump @POOL2_13002
  1695. 39@ = 1
  1696.  
  1697. :POOL2_12873
  1698. if
  1699.   8 > 39@
  1700. else_jump @POOL2_12995
  1701. if
  1702.    Object.Exists(82@(39@,16i))
  1703. else_jump @POOL2_12981
  1704. Object.StorePos(82@(39@,16i), 165@, 166@, 167@)
  1705. 0509: 43@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 165@ 166@
  1706. if
  1707. 0025:   42@ > 43@ // (float)
  1708. else_jump @POOL2_12981
  1709. 0085: 239@ = 39@ // (int)
  1710. 0087: 42@ = 43@ // (float)
  1711.  
  1712. :POOL2_12981
  1713. 39@ += 1
  1714. jump @POOL2_12873
  1715.  
  1716. :POOL2_12995
  1717. jump @POOL2_13197
  1718.  
  1719. :POOL2_13002
  1720. if
  1721.   231@ == 1
  1722. else_jump @POOL2_13156
  1723. 39@ = 9
  1724.  
  1725. :POOL2_13027
  1726. if
  1727.   16 > 39@
  1728. else_jump @POOL2_13149
  1729. if
  1730.    Object.Exists(82@(39@,16i))
  1731. else_jump @POOL2_13135
  1732. Object.StorePos(82@(39@,16i), 165@, 166@, 167@)
  1733. 0509: 43@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 165@ 166@
  1734. if
  1735. 0025:   42@ > 43@ // (float)
  1736. else_jump @POOL2_13135
  1737. 0085: 239@ = 39@ // (int)
  1738. 0087: 42@ = 43@ // (float)
  1739.  
  1740. :POOL2_13135
  1741. 39@ += 1
  1742. jump @POOL2_13027
  1743.  
  1744. :POOL2_13149
  1745. jump @POOL2_13197
  1746.  
  1747. :POOL2_13156
  1748. if
  1749.   231@ == 2
  1750. else_jump @POOL2_13197
  1751. if
  1752.    Object.Exists(90@)
  1753. else_jump @POOL2_13197
  1754. 239@ = 8
  1755.  
  1756. :POOL2_13197
  1757. if and
  1758.    not 239@ == -1
  1759.   16 > 239@
  1760. else_jump @POOL2_13341
  1761. if
  1762.    Object.Exists(82@)
  1763. else_jump @POOL2_13341
  1764. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  1765. if
  1766.    Object.Exists(82@(239@,16i))
  1767. else_jump @POOL2_13290
  1768. Object.StorePos(82@(239@,16i), 165@, 166@, 167@)
  1769.  
  1770. :POOL2_13290
  1771. 0087: 169@ = 165@ // (float)
  1772. 0065: 169@ -= $TEMPVAR_FLOAT_1 // (float)
  1773. 0087: 170@ = 166@ // (float)
  1774. 0065: 170@ -= $TEMPVAR_FLOAT_2 // (float)
  1775. 0604: get_Z_angle_for_point 169@ 170@ store_to 42@
  1776. Object.Angle(82@) = 42@
  1777.  
  1778. :POOL2_13341
  1779. jump @POOL2_13355
  1780.  
  1781. :POOL2_13348
  1782. 245@ = 0
  1783.  
  1784. :POOL2_13355
  1785. 240@ = 0
  1786. gosub @POOL2_28396
  1787. 199@ = 0.0
  1788. 200@ = 0.0
  1789. 35@ += 1
  1790.  
  1791. :POOL2_13396
  1792. if
  1793.   35@ == 1
  1794. else_jump @POOL2_13627
  1795. if
  1796. 00E1:   player 180@ pressed_key 13
  1797. else_jump @POOL2_13602
  1798. if
  1799.   237@ == 0
  1800. else_jump @POOL2_13510
  1801. if
  1802.   236@ == 0
  1803. else_jump @POOL2_13489
  1804. 236@ = 1
  1805. 237@ = 1
  1806. jump @POOL2_13503
  1807.  
  1808. :POOL2_13489
  1809. 236@ = 0
  1810. 237@ = 1
  1811.  
  1812. :POOL2_13503
  1813. 205@ = 0
  1814.  
  1815. :POOL2_13510
  1816. if
  1817.   236@ == 0
  1818. else_jump @POOL2_13565
  1819. 242@ = 10.0
  1820. 243@ = 0.02
  1821. 244@ = 0.0
  1822. jump @POOL2_13595
  1823.  
  1824. :POOL2_13565
  1825. 242@ = 22.5
  1826. 243@ = 0.02
  1827. 244@ = 0.0
  1828.  
  1829. :POOL2_13595
  1830. jump @POOL2_13627
  1831.  
  1832. :POOL2_13602
  1833. if
  1834.   237@ == 1
  1835. else_jump @POOL2_13627
  1836. 237@ = 0
  1837.  
  1838. :POOL2_13627
  1839. 0A4A: store_joystick_X_offset_to 201@ Y_offset_to 202@
  1840. if or
  1841. 00E1:   player 180@ pressed_key 0
  1842.   201@ > 0.01
  1843.   -0.01 > 201@
  1844. else_jump @POOL2_13780
  1845. $TEMPVAR_ANGLE = Object.Angle(82@)
  1846. 0494: get_joystick 180@ data_to $MOVE_AXIS_X $MOVE_AXIS_Y $SPECIAL_AXIS_X $SPECIAL_AXIS_Y
  1847. 008F: 42@ = integer $MOVE_AXIS_X to_float
  1848. 42@ /= 128.0
  1849. 42@ *= 1.0
  1850. 005F: $TEMPVAR_ANGLE += 42@ // (float)
  1851. 201@ *= -0.4
  1852. 005F: $TEMPVAR_ANGLE += 201@ // (float)
  1853. 0453: set_object 82@ XY_rotation 0.0 0.0 angle 0.0
  1854. Object.Angle(82@) = $TEMPVAR_ANGLE
  1855.  
  1856. :POOL2_13780
  1857. if
  1858.   236@ == 0
  1859. else_jump @POOL2_13895
  1860. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 -0.001 2.5
  1861. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  1862. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.0 0.001 0.0
  1863. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  1864.  
  1865. :POOL2_13895
  1866. if
  1867.   236@ == 1
  1868. else_jump @POOL2_14010
  1869. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 82@ with_offset 0.0 -0.5 0.3
  1870. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  1871. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 82@ with_offset 0.0 0.5 0.0
  1872. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  1873.  
  1874. :POOL2_14010
  1875. if
  1876.   236@ == 0
  1877. else_jump @POOL2_14143
  1878. if
  1879. 00E1:   player 180@ pressed_key 14
  1880. else_jump @POOL2_14118
  1881. if
  1882.   128@ == 0
  1883. else_jump @POOL2_14111
  1884. if
  1885.   198@ == 2
  1886. else_jump @POOL2_14096
  1887. 198@ = 0
  1888. jump @POOL2_14104
  1889.  
  1890. :POOL2_14096
  1891. 205@ = 3001
  1892.  
  1893. :POOL2_14104
  1894. 128@ = 1
  1895.  
  1896. :POOL2_14111
  1897. jump @POOL2_14143
  1898.  
  1899. :POOL2_14118
  1900. if
  1901.   128@ == 1
  1902. else_jump @POOL2_14143
  1903. 128@ = 0
  1904.  
  1905. :POOL2_14143
  1906. if
  1907.    Object.Exists(238@)
  1908. else_jump @POOL2_14282
  1909. if
  1910.   236@ == 0
  1911. else_jump @POOL2_14209
  1912. 0400: store_coords_to 165@ 166@ 167@ from_object 82@ with_offset 244@ -0.05 243@
  1913. jump @POOL2_14234
  1914.  
  1915. :POOL2_14209
  1916. 0400: store_coords_to 165@ 166@ 167@ from_object 82@ with_offset 244@ -0.05 243@
  1917.  
  1918. :POOL2_14234
  1919. $TEMPVAR_ANGLE = Object.Angle(82@)
  1920. $TEMPVAR_ANGLE += 180.0
  1921. Object.PutAt(238@, 165@, 166@, 167@)
  1922. 0453: set_object 238@ XY_rotation 242@ 0.0 angle $TEMPVAR_ANGLE
  1923.  
  1924. :POOL2_14282
  1925. if
  1926. 80E1:   not player 180@ pressed_key 0
  1927. else_jump @POOL2_14321
  1928. 240@ = 0
  1929. gosub @POOL2_28396
  1930. jump @POOL2_14421
  1931.  
  1932. :POOL2_14321
  1933. if
  1934.    not 240@ == 0
  1935. else_jump @POOL2_14407
  1936. 39@ = 0
  1937.  
  1938. :POOL2_14346
  1939. if
  1940.   10 > 39@
  1941. else_jump @POOL2_14407
  1942. if
  1943.    Object.Exists(347@(39@,10i))
  1944. else_jump @POOL2_14393
  1945. Object.Destroy(347@(39@,10i))
  1946.  
  1947. :POOL2_14393
  1948. 39@ += 1
  1949. jump @POOL2_14346
  1950.  
  1951. :POOL2_14407
  1952. 240@ = 0
  1953. 32@ = 0
  1954.  
  1955. :POOL2_14421
  1956. if
  1957. 0736:   NOP_false 131
  1958. else_jump @POOL2_14447
  1959. 242@ += 0.5
  1960.  
  1961. :POOL2_14447
  1962. if
  1963. 0736:   NOP_false 130
  1964. else_jump @POOL2_14473
  1965. 242@ += -0.5
  1966.  
  1967. :POOL2_14473
  1968. if
  1969. 0736:   NOP_false 87
  1970. else_jump @POOL2_14498
  1971. 243@ += 0.001
  1972.  
  1973. :POOL2_14498
  1974. if
  1975. 0736:   NOP_false 83
  1976. else_jump @POOL2_14523
  1977. 243@ += -0.001
  1978.  
  1979. :POOL2_14523
  1980. if
  1981. 0736:   NOP_false 128
  1982. else_jump @POOL2_14549
  1983. 244@ += 0.0001
  1984.  
  1985. :POOL2_14549
  1986. if
  1987. 0736:   NOP_false 129
  1988. else_jump @POOL2_14575
  1989. 244@ += -0.0001
  1990.  
  1991. :POOL2_14575
  1992. if
  1993. 0736:   NOP_false 137
  1994. else_jump @POOL2_15002
  1995. 03A9: NOP
  1996. 05B6: 17 // BUTT_ANGLE =
  1997. 03A8: NOP 242@
  1998. 03A9: NOP
  1999. 05B6: 18 // RAISE_CUE =
  2000. 03A8: NOP 243@
  2001. 03A9: NOP
  2002. 05B6: 19 // CUE_X_CORRECTION =
  2003. 03A8: NOP 244@
  2004.  
  2005. :POOL2_15002
  2006. if
  2007. 00E1:   player 180@ pressed_key 16
  2008. else_jump @POOL2_15080
  2009. if
  2010.   126@ == 0
  2011. else_jump @POOL2_15073
  2012. if
  2013.    Object.Exists(238@)
  2014. else_jump @POOL2_15059
  2015. Object.Destroy(238@)
  2016.  
  2017. :POOL2_15059
  2018. 35@ = 99
  2019. 126@ = 1
  2020.  
  2021. :POOL2_15073
  2022. jump @POOL2_15105
  2023.  
  2024. :POOL2_15080
  2025. if
  2026.   126@ == 1
  2027. else_jump @POOL2_15105
  2028. 126@ = 0
  2029.  
  2030. :POOL2_15105
  2031. if
  2032. 0735:   NOP_false 72
  2033. else_jump @POOL2_15135
  2034. gosub @POOL2_33712
  2035. Object.Angle(82@) = 363@
  2036.  
  2037. :POOL2_15135
  2038. jump @POOL2_15164
  2039.  
  2040. :POOL2_15142
  2041. gosub @POOL2_33712
  2042. Object.Angle(82@) = 363@
  2043. 35@ = 99
  2044.  
  2045. :POOL2_15164
  2046. if
  2047. 00E1:   player 180@ pressed_key 15
  2048. else_jump @POOL2_15355
  2049. if and
  2050.   127@ == 0
  2051.   183@ > 1000
  2052. else_jump @POOL2_15348
  2053. if
  2054.    not Actor.Dead(213@)
  2055. else_jump @POOL2_15270
  2056. 223@ += 1.1
  2057. 02CE: 223@ = ground_z_at 221@ 222@ 223@
  2058. Actor.PutAt(213@, 221@, 222@, 223@)
  2059. Actor.Angle(213@) = 224@
  2060.  
  2061. :POOL2_15270
  2062. if
  2063.    not Actor.Dead(214@)
  2064. else_jump @POOL2_15332
  2065. 227@ += 1.1
  2066. 02CE: 227@ = ground_z_at 225@ 226@ 227@
  2067. Actor.PutAt(214@, 225@, 226@, 227@)
  2068. Actor.Angle(214@) = 228@
  2069.  
  2070. :POOL2_15332
  2071. 03E6: remove_text_box
  2072. 108@ = 1
  2073. 127@ = 1
  2074.  
  2075. :POOL2_15348
  2076. jump @POOL2_15387
  2077.  
  2078. :POOL2_15355
  2079. if
  2080.   127@ == 1
  2081. else_jump @POOL2_15380
  2082. 127@ = 0
  2083.  
  2084. :POOL2_15380
  2085. 183@ = 0
  2086.  
  2087. :POOL2_15387
  2088. if
  2089.   35@ == 99
  2090. else_jump @POOL2_15509
  2091. 39@ = 0
  2092.  
  2093. :POOL2_15412
  2094. if
  2095.   10 > 39@
  2096. else_jump @POOL2_15473
  2097. if
  2098.    Object.Exists(347@(39@,10i))
  2099. else_jump @POOL2_15459
  2100. Object.Destroy(347@(39@,10i))
  2101.  
  2102. :POOL2_15459
  2103. 39@ += 1
  2104. jump @POOL2_15412
  2105.  
  2106. :POOL2_15473
  2107. 199@ = 0.0
  2108. 200@ = 0.0
  2109. 34@ += 2
  2110. 35@ = 0
  2111. 03E6: remove_text_box
  2112.  
  2113. :POOL2_15509
  2114. return
  2115.  
  2116. :POOL2_15511
  2117. return
  2118.  
  2119. :POOL2_15513
  2120. gosub @POOL2_57034
  2121. if
  2122.   230@ == 1
  2123. else_jump @POOL2_16275
  2124. if
  2125. 00E1:   player 180@ pressed_key 15
  2126. else_jump @POOL2_15609
  2127. if
  2128.   127@ == 0
  2129. else_jump @POOL2_15602
  2130. 34@ = 5
  2131. 35@ = 0
  2132. 127@ = 1
  2133. 245@ = 1
  2134.  
  2135. :POOL2_15602
  2136. jump @POOL2_16268
  2137.  
  2138. :POOL2_15609
  2139. if
  2140.   127@ == 1
  2141. else_jump @POOL2_15634
  2142. 127@ = 0
  2143.  
  2144. :POOL2_15634
  2145. if
  2146.   35@ == 0
  2147. else_jump @POOL2_15666
  2148. gosub @POOL2_18801
  2149. 35@ += 1
  2150.  
  2151. :POOL2_15666
  2152. if
  2153.   250@ == 0
  2154. else_jump @POOL2_15691
  2155. gosub @POOL2_53449
  2156.  
  2157. :POOL2_15691
  2158. if
  2159.   250@ == 0
  2160. else_jump @POOL2_15993
  2161. gosub @POOL2_16733
  2162. if
  2163.   252@ == 1
  2164. else_jump @POOL2_15983
  2165. if
  2166. 0A4B:   controls_set_to_joystick
  2167. else_jump @POOL2_15852
  2168. if
  2169. 00E1:   player 180@ pressed_key 3
  2170. else_jump @POOL2_15835
  2171. 0494: get_joystick 180@ data_to $MOVE_AXIS_X $MOVE_AXIS_Y $SPECIAL_AXIS_X $SPECIAL_AXIS_Y
  2172. 008F: 42@ = integer $SPECIAL_AXIS_Y to_float
  2173. 42@ /= 128.0
  2174. 42@ *= -0.2
  2175. 246@ = 0.2
  2176. 005B: 246@ += 42@ // (float)
  2177. jump @POOL2_15845
  2178.  
  2179. :POOL2_15835
  2180. 246@ = 0.2
  2181.  
  2182. :POOL2_15845
  2183. jump @POOL2_15976
  2184.  
  2185. :POOL2_15852
  2186. 0A4A: store_joystick_X_offset_to 201@ Y_offset_to 202@
  2187. 005B: 200@ += 202@ // (float)
  2188. if
  2189.   200@ > 128.0
  2190. else_jump @POOL2_15899
  2191. 200@ = 128.0
  2192.  
  2193. :POOL2_15899
  2194. if
  2195.   -128.0 > 200@
  2196. else_jump @POOL2_15930
  2197. 200@ = -128.0
  2198.  
  2199. :POOL2_15930
  2200. 0087: 42@ = 200@ // (float)
  2201. 42@ /= 128.0
  2202. 42@ *= -0.2
  2203. 246@ = 0.2
  2204. 005B: 246@ += 42@ // (float)
  2205.  
  2206. :POOL2_15976
  2207. jump @POOL2_15993
  2208.  
  2209. :POOL2_15983
  2210. 246@ = 0.0
  2211.  
  2212. :POOL2_15993
  2213. if
  2214.   250@ == 0
  2215. else_jump @POOL2_16053
  2216. if
  2217.   246@ > 0.25
  2218. else_jump @POOL2_16046
  2219. gosub @POOL2_19798
  2220. jump @POOL2_16053
  2221.  
  2222. :POOL2_16046
  2223. gosub @POOL2_18640
  2224.  
  2225. :POOL2_16053
  2226. if
  2227.   35@ == 1
  2228. else_jump @POOL2_16101
  2229. if
  2230.    not Actor.Dead(215@)
  2231. else_jump @POOL2_16101
  2232. gosub @POOL2_18983
  2233. 35@ += 1
  2234.  
  2235. :POOL2_16101
  2236. if
  2237.   35@ == 2
  2238. else_jump @POOL2_16126
  2239. gosub @POOL2_16987
  2240.  
  2241. :POOL2_16126
  2242. if
  2243.   35@ == 3
  2244. else_jump @POOL2_16227
  2245. if
  2246.    not Actor.Dead(215@)
  2247. else_jump @POOL2_16227
  2248. 592@ += 1.1
  2249. 02CE: 592@ = ground_z_at 584@ 588@ 592@
  2250. Actor.PutAt(215@, 584@, 588@, 592@)
  2251. Actor.Angle(215@) = 596@
  2252. 0619: enable_actor 215@ collision_detection 1
  2253. 32@ = 0
  2254. 35@ = 99
  2255.  
  2256. :POOL2_16227
  2257. if
  2258.   35@ == 99
  2259. else_jump @POOL2_16268
  2260. 03E6: remove_text_box
  2261. 32@ = 0
  2262. 34@ += 1
  2263. 35@ = 0
  2264.  
  2265. :POOL2_16268
  2266. jump @POOL2_16731
  2267.  
  2268. :POOL2_16275
  2269. if
  2270.   35@ == 0
  2271. else_jump @POOL2_16307
  2272. gosub @POOL2_18801
  2273. 35@ += 1
  2274.  
  2275. :POOL2_16307
  2276. if
  2277.   250@ == 0
  2278. else_jump @POOL2_16456
  2279. gosub @POOL2_16733
  2280. if
  2281.   252@ == 1
  2282. else_jump @POOL2_16439
  2283. if
  2284.   2000 > 32@
  2285. else_jump @POOL2_16386
  2286. 246@ = 0.2
  2287. jump @POOL2_16432
  2288.  
  2289. :POOL2_16386
  2290. if
  2291.   3000 > 32@
  2292. else_jump @POOL2_16422
  2293. 246@ = 0.0
  2294. jump @POOL2_16432
  2295.  
  2296. :POOL2_16422
  2297. 246@ = 1.0
  2298.  
  2299. :POOL2_16432
  2300. jump @POOL2_16456
  2301.  
  2302. :POOL2_16439
  2303. 32@ = 0
  2304. 246@ = 0.0
  2305.  
  2306. :POOL2_16456
  2307. if
  2308.   250@ == 0
  2309. else_jump @POOL2_16516
  2310. if
  2311.   246@ > 0.25
  2312. else_jump @POOL2_16509
  2313. gosub @POOL2_19798
  2314. jump @POOL2_16516
  2315.  
  2316. :POOL2_16509
  2317. gosub @POOL2_18640
  2318.  
  2319. :POOL2_16516
  2320. if
  2321.   35@ == 1
  2322. else_jump @POOL2_16564
  2323. if
  2324.    not Actor.Dead(215@)
  2325. else_jump @POOL2_16564
  2326. gosub @POOL2_18983
  2327. 35@ += 1
  2328.  
  2329. :POOL2_16564
  2330. if
  2331.   35@ == 2
  2332. else_jump @POOL2_16589
  2333. gosub @POOL2_16987
  2334.  
  2335. :POOL2_16589
  2336. if
  2337.   35@ == 3
  2338. else_jump @POOL2_16690
  2339. if
  2340.    not Actor.Dead(215@)
  2341. else_jump @POOL2_16690
  2342. 592@ += 1.1
  2343. 02CE: 592@ = ground_z_at 584@ 588@ 592@
  2344. Actor.PutAt(215@, 584@, 588@, 592@)
  2345. Actor.Angle(215@) = 596@
  2346. 0619: enable_actor 215@ collision_detection 1
  2347. 32@ = 0
  2348. 35@ = 99
  2349.  
  2350. :POOL2_16690
  2351. if
  2352.   35@ == 99
  2353. else_jump @POOL2_16731
  2354. 03E6: remove_text_box
  2355. 32@ = 0
  2356. 34@ += 1
  2357. 35@ = 0
  2358.  
  2359. :POOL2_16731
  2360. return
  2361.  
  2362. :POOL2_16733
  2363. 252@ = 0
  2364. if
  2365.    not Actor.Dead(215@)
  2366. else_jump @POOL2_16985
  2367. if
  2368.   600@ == 1
  2369. else_jump @POOL2_16814
  2370. if
  2371.    Actor.Animation(215@) == "POOL_SHORT_SHOT"
  2372. else_jump @POOL2_16814
  2373. 252@ = 1
  2374.  
  2375. :POOL2_16814
  2376. if
  2377.   600@ == 2
  2378. else_jump @POOL2_16870
  2379. if
  2380.    Actor.Animation(215@) == "POOL_MED_SHOT"
  2381. else_jump @POOL2_16870
  2382. 252@ = 1
  2383.  
  2384. :POOL2_16870
  2385. if
  2386.   600@ == 3
  2387. else_jump @POOL2_16927
  2388. if
  2389.    Actor.Animation(215@) == "POOL_LONG_SHOT"
  2390. else_jump @POOL2_16927
  2391. 252@ = 1
  2392.  
  2393. :POOL2_16927
  2394. if
  2395.   600@ == 4
  2396. else_jump @POOL2_16985
  2397. if
  2398.    Actor.Animation(215@) == "POOL_XLONG_SHOT"
  2399. else_jump @POOL2_16985
  2400. 252@ = 1
  2401.  
  2402. :POOL2_16985
  2403. return
  2404.  
  2405. :POOL2_16987
  2406. if
  2407.    not Actor.Dead(215@)
  2408. else_jump @POOL2_17598
  2409. if
  2410.   251@ == 0
  2411. else_jump @POOL2_17598
  2412. if
  2413.   600@ == 1
  2414. else_jump @POOL2_17165
  2415. 0615: define_AS_pack_begin 47@
  2416. 0812: AS_actor -1 perform_animation "POOL_SHORT_START" IFP_file "POOL" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB
  2417. 0812: AS_actor -1 perform_animation "POOL_SHORT_SHOT" IFP_file "POOL" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB
  2418. 0616: define_AS_pack_end 47@
  2419. if
  2420.   108@ == 0
  2421. else_jump @POOL2_17160
  2422. 0618: assign_actor 215@ to_AS_pack 47@
  2423.  
  2424. :POOL2_17160
  2425. 061B: remove_references_to_AS_pack 47@
  2426.  
  2427. :POOL2_17165
  2428. if
  2429.   600@ == 2
  2430. else_jump @POOL2_17305
  2431. 0615: define_AS_pack_begin 47@
  2432. 0812: AS_actor -1 perform_animation "POOL_MED_START" IFP_file "POOL" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB
  2433. 0812: AS_actor -1 perform_animation "POOL_MED_SHOT" IFP_file "POOL" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB
  2434. 0616: define_AS_pack_end 47@
  2435. if
  2436.   108@ == 0
  2437. else_jump @POOL2_17300
  2438. 0618: assign_actor 215@ to_AS_pack 47@
  2439.  
  2440. :POOL2_17300
  2441. 061B: remove_references_to_AS_pack 47@
  2442.  
  2443. :POOL2_17305
  2444. if
  2445.   600@ == 3
  2446. else_jump @POOL2_17447
  2447. 0615: define_AS_pack_begin 47@
  2448. 0812: AS_actor -1 perform_animation "POOL_LONG_START" IFP_file "POOL" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB
  2449. 0812: AS_actor -1 perform_animation "POOL_LONG_SHOT" IFP_file "POOL" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB
  2450. 0616: define_AS_pack_end 47@
  2451. if
  2452.   108@ == 0
  2453. else_jump @POOL2_17442
  2454. 0618: assign_actor 215@ to_AS_pack 47@
  2455.  
  2456. :POOL2_17442
  2457. 061B: remove_references_to_AS_pack 47@
  2458.  
  2459. :POOL2_17447
  2460. if
  2461.   600@ == 4
  2462. else_jump @POOL2_17591
  2463. 0615: define_AS_pack_begin 47@
  2464. 0812: AS_actor -1 perform_animation "POOL_XLONG_START" IFP_file "POOL" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB
  2465. 0812: AS_actor -1 perform_animation "POOL_XLONG_SHOT" IFP_file "POOL" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB
  2466. 0616: define_AS_pack_end 47@
  2467. if
  2468.   108@ == 0
  2469. else_jump @POOL2_17586
  2470. 0618: assign_actor 215@ to_AS_pack 47@
  2471.  
  2472. :POOL2_17586
  2473. 061B: remove_references_to_AS_pack 47@
  2474.  
  2475. :POOL2_17591
  2476. 251@ += 1
  2477.  
  2478. :POOL2_17598
  2479. if
  2480.   251@ == 1
  2481. else_jump @POOL2_18116
  2482. if
  2483.   250@ == 0
  2484. else_jump @POOL2_18102
  2485. if
  2486.    not Actor.Dead(215@)
  2487. else_jump @POOL2_18095
  2488. 062E: unknown_get_actor 215@ task 1560 status_store_to 39@ // ret 7 if not found
  2489. if
  2490. 84A4:   not  39@ == 7 // @ == any
  2491. else_jump @POOL2_18081
  2492. if
  2493.   600@ == 1
  2494. else_jump @POOL2_17780
  2495. if
  2496.    Actor.Animation(215@) == "POOL_SHORT_SHOT"
  2497. else_jump @POOL2_17780
  2498. 0614: set_actor 215@ animation "POOL_SHORT_SHOT" progress_to 247@ // 0.0 to 1.0
  2499. 0393: actor 215@ perform_animation "POOL_SHORT_SHOT" at 248@ times_normal_rate
  2500.  
  2501. :POOL2_17780
  2502. if
  2503.   600@ == 2
  2504. else_jump @POOL2_17875
  2505. if
  2506.    Actor.Animation(215@) == "POOL_MED_SHOT"
  2507. else_jump @POOL2_17875
  2508. 0614: set_actor 215@ animation "POOL_MED_SHOT" progress_to 247@ // 0.0 to 1.0
  2509. 0393: actor 215@ perform_animation "POOL_MED_SHOT" at 248@ times_normal_rate
  2510.  
  2511. :POOL2_17875
  2512. if
  2513.   600@ == 3
  2514. else_jump @POOL2_17973
  2515. if
  2516.    Actor.Animation(215@) == "POOL_LONG_SHOT"
  2517. else_jump @POOL2_17973
  2518. 0614: set_actor 215@ animation "POOL_LONG_SHOT" progress_to 247@ // 0.0 to 1.0
  2519. 0393: actor 215@ perform_animation "POOL_LONG_SHOT" at 248@ times_normal_rate
  2520.  
  2521. :POOL2_17973
  2522. if
  2523.   600@ == 4
  2524. else_jump @POOL2_18074
  2525. if
  2526.    Actor.Animation(215@) == "POOL_XLONG_SHOT"
  2527. else_jump @POOL2_18074
  2528. 0614: set_actor 215@ animation "POOL_XLONG_SHOT" progress_to 247@ // 0.0 to 1.0
  2529. 0393: actor 215@ perform_animation "POOL_XLONG_SHOT" at 248@ times_normal_rate
  2530.  
  2531. :POOL2_18074
  2532. jump @POOL2_18095
  2533.  
  2534. :POOL2_18081
  2535. 32@ = 0
  2536. 251@ += 1
  2537.  
  2538. :POOL2_18095
  2539. jump @POOL2_18116
  2540.  
  2541. :POOL2_18102
  2542. 32@ = 0
  2543. 251@ += 1
  2544.  
  2545. :POOL2_18116
  2546. if
  2547.   251@ == 2
  2548. else_jump @POOL2_18535
  2549. if
  2550.    not Actor.Dead(215@)
  2551. else_jump @POOL2_18535
  2552. 062E: unknown_get_actor 215@ task 1560 status_store_to 39@ // ret 7 if not found
  2553. if and
  2554. 84A4:   not  39@ == 7 // @ == any
  2555.   5000 > 32@
  2556. else_jump @POOL2_18528
  2557. 42@ = 1.0
  2558. 0063: 42@ -= 248@ // (float)
  2559. 42@ /= 20.0
  2560. 005B: 248@ += 42@ // (float)
  2561. if
  2562.   0.8 > 248@
  2563. else_jump @POOL2_18254
  2564. 248@ += 0.01
  2565.  
  2566. :POOL2_18254
  2567. if and
  2568.   1.2 > 248@
  2569.   248@ > 0.8
  2570. else_jump @POOL2_18295
  2571. 248@ = 1.0
  2572.  
  2573. :POOL2_18295
  2574. if
  2575.    Actor.Animation(215@) == "POOL_SHORT_SHOT"
  2576. else_jump @POOL2_18353
  2577. 0393: actor 215@ perform_animation "POOL_SHORT_SHOT" at 248@ times_normal_rate
  2578.  
  2579. :POOL2_18353
  2580. if
  2581.    Actor.Animation(215@) == "POOL_MED_SHOT"
  2582. else_jump @POOL2_18407
  2583. 0393: actor 215@ perform_animation "POOL_MED_SHOT" at 248@ times_normal_rate
  2584.  
  2585. :POOL2_18407
  2586. if
  2587.    Actor.Animation(215@) == "POOL_LONG_SHOT"
  2588. else_jump @POOL2_18463
  2589. 0393: actor 215@ perform_animation "POOL_LONG_SHOT" at 248@ times_normal_rate
  2590.  
  2591. :POOL2_18463
  2592. if
  2593.    Actor.Animation(215@) == "POOL_XLONG_SHOT"
  2594. else_jump @POOL2_18521
  2595. 0393: actor 215@ perform_animation "POOL_XLONG_SHOT" at 248@ times_normal_rate
  2596.  
  2597. :POOL2_18521
  2598. jump @POOL2_18535
  2599.  
  2600. :POOL2_18528
  2601. 251@ += 1
  2602.  
  2603. :POOL2_18535
  2604. if
  2605.   251@ == 3
  2606. else_jump @POOL2_18638
  2607. if
  2608.    not Actor.Dead(215@)
  2609. else_jump @POOL2_18631
  2610. if
  2611.   108@ == 0
  2612. else_jump @POOL2_18631
  2613. 0812: AS_actor 215@ perform_animation "POOL_IDLE_STANCE" IFP_file "POOL" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB
  2614.  
  2615. :POOL2_18631
  2616. 35@ += 1
  2617.  
  2618. :POOL2_18638
  2619. return
  2620.  
  2621. :POOL2_18640
  2622. 0087: 42@ = 246@ // (float)
  2623. 0063: 42@ -= 247@ // (float)
  2624. if or
  2625.   42@ >= 0.05
  2626.   -0.05 >= 42@
  2627. else_jump @POOL2_18791
  2628. 42@ /= 3.0
  2629. if and
  2630.   0.01 > 42@
  2631.   42@ > -0.01
  2632. else_jump @POOL2_18776
  2633. if
  2634.   42@ > 0.0
  2635. else_jump @POOL2_18766
  2636. 42@ = 0.01
  2637. jump @POOL2_18776
  2638.  
  2639. :POOL2_18766
  2640. 42@ = -0.01
  2641.  
  2642. :POOL2_18776
  2643. 005B: 247@ += 42@ // (float)
  2644. jump @POOL2_18799
  2645.  
  2646. :POOL2_18791
  2647. 0087: 247@ = 246@ // (float)
  2648.  
  2649. :POOL2_18799
  2650. return
  2651.  
  2652. :POOL2_18801
  2653. 250@ = 0
  2654. 251@ = 0
  2655. 618@ = 565.0
  2656. 619@ = 386.0
  2657. 0087: 622@ = 618@ // (float)
  2658. 0087: 623@ = 619@ // (float)
  2659. 621@ = 67.0
  2660. 620@ = 78.0
  2661. 624@ = 19.0
  2662. 625@ = 16.0
  2663. 248@ = 0.0
  2664. 247@ = 0.0
  2665. 248@ = 0.0
  2666. 246@ = 0.0
  2667. 32@ = 0
  2668. 33@ = 0
  2669. if
  2670.    not 230@ == 0
  2671. else_jump @POOL2_18974
  2672. 0512: show_permanent_text_box 'PL_H4'  // Use the view controls to strike the cue ball.~N~Use the movement controls to position cue tip.~N~~k~~VEHICLE_ENTER_EXIT~ Back to aiming.
  2673.  
  2674. :POOL2_18974
  2675. gosub @POOL2_51426
  2676. return
  2677.  
  2678. :POOL2_18983
  2679. 0619: enable_actor 215@ collision_detection 0
  2680. 0087: 42@ = 104@ // (float)
  2681. 42@ += 1.0
  2682. 02CE: 594@ = ground_z_at 102@ 103@ 42@
  2683. Actor.PutAt(215@, 586@, 590@, 594@)
  2684. Actor.Angle(215@) = 598@
  2685. if
  2686. 003B:   213@ == 215@ // (int)
  2687. else_jump @POOL2_19249
  2688. if
  2689.    not Actor.Dead(213@)
  2690. else_jump @POOL2_19242
  2691. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 213@ with_offset 0.0 -1.5 0.0
  2692. if
  2693.    not Actor.Dead(214@)
  2694. else_jump @POOL2_19242
  2695. Actor.PutAt(214@, 225@, 226@, 227@)
  2696. if
  2697. 00EC:   actor 214@ 0 near_point $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 radius 2.0 2.0
  2698. else_jump @POOL2_19215
  2699. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 214@ with_offset -2.0 0.0 -1.0
  2700. Actor.PutAt(214@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  2701.  
  2702. :POOL2_19215
  2703. if
  2704.    Object.Exists(82@)
  2705. else_jump @POOL2_19242
  2706. 0655: AS_actor 214@ look_at_object 82@ 10000 ms
  2707.  
  2708. :POOL2_19242
  2709. jump @POOL2_19428
  2710.  
  2711. :POOL2_19249
  2712. if
  2713.    not Actor.Dead(214@)
  2714. else_jump @POOL2_19428
  2715. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 214@ with_offset 0.0 -1.5 0.0
  2716. if
  2717.    not Actor.Dead(213@)
  2718. else_jump @POOL2_19428
  2719. Actor.PutAt(213@, 221@, 222@, 223@)
  2720. if
  2721. 00EC:   actor 213@ 0 near_point $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 radius 2.0 2.0
  2722. else_jump @POOL2_19428
  2723. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 213@ with_offset -2.0 0.0 -1.0
  2724. Actor.PutAt(213@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  2725. if
  2726.    Object.Exists(82@)
  2727. else_jump @POOL2_19428
  2728. 0655: AS_actor 213@ look_at_object 82@ 10000 ms
  2729.  
  2730. :POOL2_19428
  2731. if
  2732.   600@ == 1
  2733. else_jump @POOL2_19543
  2734. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset 0.1532 -0.9733 1.1819
  2735. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  2736. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset -0.0267 -0.3468 0.4236
  2737. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  2738.  
  2739. :POOL2_19543
  2740. if
  2741.   600@ == 2
  2742. else_jump @POOL2_19591
  2743. $TEMPVAR_FLOAT_1 = 0.4
  2744. $TEMPVAR_FLOAT_2 = -1.0
  2745. $TEMPVAR_FLOAT_3 = 1.0
  2746.  
  2747. :POOL2_19591
  2748. if
  2749.   600@ == 3
  2750. else_jump @POOL2_19639
  2751. $TEMPVAR_FLOAT_1 = 0.3
  2752. $TEMPVAR_FLOAT_2 = -0.5
  2753. $TEMPVAR_FLOAT_3 = 1.0
  2754.  
  2755. :POOL2_19639
  2756. if
  2757.   600@ == 4
  2758. else_jump @POOL2_19687
  2759. $TEMPVAR_FLOAT_1 = 0.3
  2760. $TEMPVAR_FLOAT_2 = -0.5
  2761. $TEMPVAR_FLOAT_3 = 1.0
  2762.  
  2763. :POOL2_19687
  2764. if
  2765.    not 600@ == 1
  2766. else_jump @POOL2_19796
  2767. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  2768. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  2769. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 82@ with_offset 0.0 0.3 0.0
  2770. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  2771.  
  2772. :POOL2_19796
  2773. return
  2774.  
  2775. :POOL2_19798
  2776. if
  2777.   230@ == 1
  2778. else_jump @POOL2_19898
  2779. 0087: 249@ = 246@ // (float)
  2780. 0063: 249@ -= 247@ // (float)
  2781. 249@ /= 0.1
  2782. 0087: 248@ = 249@ // (float)
  2783. 248@ *= 2.0
  2784. if
  2785.   0.6 > 248@
  2786. else_jump @POOL2_19891
  2787. 248@ = 0.6
  2788.  
  2789. :POOL2_19891
  2790. jump @POOL2_19955
  2791.  
  2792. :POOL2_19898
  2793. 0087: 248@ = 364@ // (float)
  2794. 248@ *= 2.0
  2795. if
  2796.   0.6 > 248@
  2797. else_jump @POOL2_19947
  2798. 248@ = 0.6
  2799.  
  2800. :POOL2_19947
  2801. 0087: 249@ = 364@ // (float)
  2802.  
  2803. :POOL2_19955
  2804. if
  2805.    Object.Exists(82@)
  2806. else_jump @POOL2_20844
  2807. $TEMPVAR_ANGLE = Object.Angle(82@)
  2808. 02F6: 42@ = sine $TEMPVAR_ANGLE // (float)
  2809. 0087: 169@ = 42@ // (float)
  2810. 169@ *= -1.0
  2811. 02F7: 42@ = cosine $TEMPVAR_ANGLE // (float)
  2812. 0087: 170@ = 42@ // (float)
  2813. 171@ = 0.0
  2814. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  2815. 0089: 165@ = $TEMPVAR_FLOAT_1 // (float)
  2816. 005B: 165@ += 169@ // (float)
  2817. 0089: 166@ = $TEMPVAR_FLOAT_2 // (float)
  2818. 005B: 166@ += 170@ // (float)
  2819. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 165@ 166@
  2820. 0073: 169@ /= 42@ // (float)
  2821. 0073: 170@ /= 42@ // (float)
  2822. 006B: 169@ *= 249@ // (float)
  2823. 006B: 170@ *= 249@ // (float)
  2824. Object.KeepInMemory(82@) = False
  2825. Object.CollisionDetection(82@) = False
  2826. Object.ToggleInMovingList(82@) = False
  2827. Object.Throw(82@, 169@, 170@, 171@)
  2828. 278@ = -1
  2829. 279@ = 0
  2830. 277@ = 0
  2831. 206@ = 0
  2832. 39@ = 0
  2833.  
  2834. :POOL2_20196
  2835. if
  2836.   16 > 39@
  2837. else_jump @POOL2_20239
  2838. 109@(39@,16i) = 0
  2839. 39@ += 1
  2840. jump @POOL2_20196
  2841.  
  2842. :POOL2_20239
  2843. 097B: play_audio_at_object 82@ event 1014
  2844. 253@ = 0.0
  2845. 254@ = 0.0
  2846. 0088: $TEMPVAR_FLOAT_1 = 622@ // (float)
  2847. 0067: $TEMPVAR_FLOAT_1 -= 618@ // (float)
  2848. 0088: $TEMPVAR_FLOAT_2 = 623@ // (float)
  2849. 0067: $TEMPVAR_FLOAT_2 -= 619@ // (float)
  2850. 0075: $TEMPVAR_FLOAT_1 /= 620@ // (float)
  2851. 0075: $TEMPVAR_FLOAT_2 /= 621@ // (float)
  2852. if
  2853.   230@ == 0
  2854. else_jump @POOL2_20363
  2855. 0208: $TEMPVAR_FLOAT_1 = random_float_in_ranges -0.2 0.2
  2856. 0208: $TEMPVAR_FLOAT_2 = random_float_in_ranges -0.2 0.2
  2857.  
  2858. :POOL2_20363
  2859. if or
  2860.   $TEMPVAR_FLOAT_1 > 0.2
  2861.   -0.2 > $TEMPVAR_FLOAT_1
  2862.   $TEMPVAR_FLOAT_2 > 0.2
  2863.   -0.2 > $TEMPVAR_FLOAT_2
  2864.   230@ == 0
  2865. else_jump @POOL2_20534
  2866. 006D: $TEMPVAR_FLOAT_1 *= 249@ // (float)
  2867. 006D: $TEMPVAR_FLOAT_2 *= 249@ // (float)
  2868. 0089: 253@ = $TEMPVAR_FLOAT_1 // (float)
  2869. 253@ *= 0.5
  2870. 0089: 254@ = $TEMPVAR_FLOAT_2 // (float)
  2871. 254@ *= -0.5
  2872. $TEMPVAR_FLOAT_1 *= 10.0
  2873. $TEMPVAR_FLOAT_2 *= 10.0
  2874. if
  2875.   230@ == 1
  2876. else_jump @POOL2_20527
  2877. 05A2: set_object 82@ rotation_velocity_about_an_axis $TEMPVAR_FLOAT_2 0.0 $TEMPVAR_FLOAT_1 through_center_of_mass
  2878.  
  2879. :POOL2_20527
  2880. jump @POOL2_20554
  2881.  
  2882. :POOL2_20534
  2883. 253@ = 0.0
  2884. 254@ = 0.0
  2885.  
  2886. :POOL2_20554
  2887. 622@ = 559.0
  2888. 623@ = 381.0
  2889. if
  2890.   129@ == 1
  2891. else_jump @POOL2_20744
  2892. 03A9: NOP
  2893. 05B6: 20 // CUE BALL DATA =
  2894. 03A8: NOP 249@
  2895. 03A8: NOP $TEMPVAR_FLOAT_1
  2896. 03A8: NOP $TEMPVAR_FLOAT_2
  2897. 03A8: NOP $TEMPVAR_FLOAT_3
  2898.  
  2899. :POOL2_20744
  2900. Object.CollisionDetection(82@) = True
  2901. Object.ToggleInMovingList(82@) = True
  2902. if
  2903.    not Actor.Dead(213@)
  2904. else_jump @POOL2_20801
  2905. if
  2906.    Object.Exists(82@)
  2907. else_jump @POOL2_20801
  2908. 0655: AS_actor 213@ look_at_object 82@ 10000 ms
  2909.  
  2910. :POOL2_20801
  2911. if
  2912.    not Actor.Dead(214@)
  2913. else_jump @POOL2_20844
  2914. if
  2915.    Object.Exists(82@)
  2916. else_jump @POOL2_20844
  2917. 0655: AS_actor 214@ look_at_object 82@ 10000 ms
  2918.  
  2919. :POOL2_20844
  2920. 250@ = 1
  2921. return
  2922.  
  2923. :POOL2_20853
  2924. if
  2925.   35@ == 0
  2926. else_jump @POOL2_21171
  2927. if
  2928.    not Actor.Dead(215@)
  2929. else_jump @POOL2_21171
  2930. Object.StorePos(163@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  2931. 0089: 169@ = $TEMPVAR_FLOAT_1 // (float)
  2932. 0063: 169@ -= 584@ // (float)
  2933. 0089: 170@ = $TEMPVAR_FLOAT_2 // (float)
  2934. 0063: 170@ -= 588@ // (float)
  2935. 005F: $TEMPVAR_FLOAT_1 += 169@ // (float)
  2936. 005F: $TEMPVAR_FLOAT_2 += 170@ // (float)
  2937. $TEMPVAR_FLOAT_3 += 2.5
  2938. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  2939. Object.StorePos(163@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  2940. $TEMPVAR_FLOAT_3 += 0.5
  2941. Camera.PointAt($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 2)
  2942. 32@ = 0
  2943. 04C4: store_coords_to 165@ 166@ 167@ from_actor 215@ with_offset 0.0 -0.2 0.0
  2944. 02CE: 167@ = ground_z_at 165@ 166@ 167@
  2945. $TEMPVAR_ANGLE = Actor.Angle(215@)
  2946. Actor.PutAt(215@, 610@, 611@, 612@)
  2947. Actor.Angle(215@) = $TEMPVAR_ANGLE
  2948. if
  2949.   108@ == 0
  2950. else_jump @POOL2_21164
  2951. 0812: AS_actor 215@ perform_animation "POOL_IDLE_STANCE" IFP_file "POOL" 1000.0 loopA 1 lockX 1 lockY 1 lockF 0 time -1 // versionB
  2952.  
  2953. :POOL2_21164
  2954. 35@ += 1
  2955.  
  2956. :POOL2_21171
  2957. if
  2958.   35@ == 1
  2959. else_jump @POOL2_21296
  2960. 39@ = 0
  2961. 40@ = 0
  2962.  
  2963. :POOL2_21203
  2964. if
  2965.   16 > 39@
  2966. else_jump @POOL2_21264
  2967. if
  2968.   109@(39@,16i) == 1
  2969. else_jump @POOL2_21250
  2970. 40@ += 1
  2971.  
  2972. :POOL2_21250
  2973. 39@ += 1
  2974. jump @POOL2_21203
  2975.  
  2976. :POOL2_21264
  2977. if
  2978.   40@ == 16
  2979. else_jump @POOL2_21296
  2980. 35@ += 1
  2981. 32@ = 0
  2982.  
  2983. :POOL2_21296
  2984. if
  2985.   35@ == 2
  2986. else_jump @POOL2_21340
  2987. if
  2988.   32@ > 700
  2989. else_jump @POOL2_21340
  2990. 35@ = 99
  2991.  
  2992. :POOL2_21340
  2993. if
  2994.   35@ == 99
  2995. else_jump @POOL2_21374
  2996. 03E6: remove_text_box
  2997. 34@ += 1
  2998. 35@ = 0
  2999.  
  3000. :POOL2_21374
  3001. return
  3002.  
  3003. :POOL2_21376
  3004. if
  3005.   35@ == 0
  3006. else_jump @POOL2_21408
  3007. 274@ = 0
  3008. 35@ += 1
  3009.  
  3010. :POOL2_21408
  3011. if
  3012.   35@ == 1
  3013. else_jump @POOL2_21458
  3014. if
  3015.   278@ == -1
  3016. else_jump @POOL2_21451
  3017. 274@ = 1
  3018.  
  3019. :POOL2_21451
  3020. 35@ += 1
  3021.  
  3022. :POOL2_21458
  3023. if
  3024.   35@ == 2
  3025. else_jump @POOL2_21694
  3026. if
  3027.    not 278@ == -1
  3028. else_jump @POOL2_21687
  3029. if
  3030.   231@ == -1
  3031. else_jump @POOL2_21544
  3032. if
  3033.   278@ == 8
  3034. else_jump @POOL2_21537
  3035. 274@ = 2
  3036.  
  3037. :POOL2_21537
  3038. jump @POOL2_21687
  3039.  
  3040. :POOL2_21544
  3041. if
  3042.   231@ == 0
  3043. else_jump @POOL2_21594
  3044. if
  3045.   278@ >= 8
  3046. else_jump @POOL2_21587
  3047. 274@ = 2
  3048.  
  3049. :POOL2_21587
  3050. jump @POOL2_21687
  3051.  
  3052. :POOL2_21594
  3053. if
  3054.   231@ == 1
  3055. else_jump @POOL2_21644
  3056. if
  3057.   8 >= 278@
  3058. else_jump @POOL2_21637
  3059. 274@ = 2
  3060.  
  3061. :POOL2_21637
  3062. jump @POOL2_21687
  3063.  
  3064. :POOL2_21644
  3065. if
  3066.   231@ == 2
  3067. else_jump @POOL2_21687
  3068. if
  3069.    not 278@ == 8
  3070. else_jump @POOL2_21687
  3071. 274@ = 2
  3072.  
  3073. :POOL2_21687
  3074. 35@ += 1
  3075.  
  3076. :POOL2_21694
  3077. if
  3078.   35@ == 3
  3079. else_jump @POOL2_21744
  3080. if
  3081.   255@ == 1
  3082. else_jump @POOL2_21737
  3083. 274@ = 3
  3084.  
  3085. :POOL2_21737
  3086. 35@ += 1
  3087.  
  3088. :POOL2_21744
  3089. if
  3090.   35@ == 4
  3091. else_jump @POOL2_22338
  3092. if
  3093.   271@ == 1
  3094. else_jump @POOL2_22016
  3095. if
  3096.    not 274@ == 3
  3097. else_jump @POOL2_22009
  3098. if
  3099.   231@ == -1
  3100. else_jump @POOL2_21859
  3101. if
  3102.    not 263@ == 1
  3103. else_jump @POOL2_21852
  3104. if
  3105.   184@ == 0
  3106. else_jump @POOL2_21852
  3107.  
  3108. :POOL2_21852
  3109. jump @POOL2_22009
  3110.  
  3111. :POOL2_21859
  3112. if
  3113.   231@ == 0
  3114. else_jump @POOL2_21909
  3115. if
  3116.   273@ > 0
  3117. else_jump @POOL2_21902
  3118. 274@ = 4
  3119.  
  3120. :POOL2_21902
  3121. jump @POOL2_22009
  3122.  
  3123. :POOL2_21909
  3124. if
  3125.   231@ == 1
  3126. else_jump @POOL2_21959
  3127. if
  3128.   272@ > 0
  3129. else_jump @POOL2_21952
  3130. 274@ = 4
  3131.  
  3132. :POOL2_21952
  3133. jump @POOL2_22009
  3134.  
  3135. :POOL2_21959
  3136. if
  3137.   231@ == 2
  3138. else_jump @POOL2_22009
  3139. if or
  3140.   272@ > 0
  3141.   273@ > 0
  3142. else_jump @POOL2_22009
  3143. 274@ = 4
  3144.  
  3145. :POOL2_22009
  3146. jump @POOL2_22331
  3147.  
  3148. :POOL2_22016
  3149. if
  3150.   271@ > 1
  3151. else_jump @POOL2_22331
  3152. if
  3153.   231@ == -1
  3154. else_jump @POOL2_22181
  3155. if and
  3156.   272@ > 0
  3157.   273@ == 0
  3158. else_jump @POOL2_22113
  3159. if
  3160.    not 263@ == 1
  3161. else_jump @POOL2_22113
  3162. if
  3163.   184@ == 0
  3164. else_jump @POOL2_22113
  3165.  
  3166. :POOL2_22113
  3167. if and
  3168.   272@ == 0
  3169.   273@ > 0
  3170. else_jump @POOL2_22174
  3171. if
  3172.    not 263@ == 1
  3173. else_jump @POOL2_22174
  3174. if
  3175.   184@ == 0
  3176. else_jump @POOL2_22174
  3177.  
  3178. :POOL2_22174
  3179. jump @POOL2_22331
  3180.  
  3181. :POOL2_22181
  3182. if
  3183.   231@ == 0
  3184. else_jump @POOL2_22231
  3185. if
  3186.   273@ > 0
  3187. else_jump @POOL2_22224
  3188. 274@ = 4
  3189.  
  3190. :POOL2_22224
  3191. jump @POOL2_22331
  3192.  
  3193. :POOL2_22231
  3194. if
  3195.   231@ == 1
  3196. else_jump @POOL2_22281
  3197. if
  3198.   272@ > 0
  3199. else_jump @POOL2_22274
  3200. 274@ = 4
  3201.  
  3202. :POOL2_22274
  3203. jump @POOL2_22331
  3204.  
  3205. :POOL2_22281
  3206. if
  3207.   231@ == 2
  3208. else_jump @POOL2_22331
  3209. if or
  3210.   273@ > 0
  3211.   272@ > 0
  3212. else_jump @POOL2_22331
  3213. 274@ = 4
  3214.  
  3215. :POOL2_22331
  3216. 35@ += 1
  3217.  
  3218. :POOL2_22338
  3219. if
  3220.   35@ == 5
  3221. else_jump @POOL2_22456
  3222. if
  3223.    not 231@ == 2
  3224. else_jump @POOL2_22406
  3225. if
  3226.   263@ == 1
  3227. else_jump @POOL2_22399
  3228. 274@ = 5
  3229.  
  3230. :POOL2_22399
  3231. jump @POOL2_22449
  3232.  
  3233. :POOL2_22406
  3234. if
  3235.   263@ == 1
  3236. else_jump @POOL2_22449
  3237. if
  3238.    not 274@ == 0
  3239. else_jump @POOL2_22449
  3240. 274@ = 5
  3241.  
  3242. :POOL2_22449
  3243. 35@ += 1
  3244.  
  3245. :POOL2_22456
  3246. if
  3247.   35@ == 6
  3248. else_jump @POOL2_22542
  3249. if
  3250.   274@ == 0
  3251. else_jump @POOL2_22535
  3252. if
  3253.   271@ == 0
  3254. else_jump @POOL2_22535
  3255. if
  3256.   277@ == 0
  3257. else_jump @POOL2_22535
  3258. 274@ = 6
  3259.  
  3260. :POOL2_22535
  3261. 35@ = 99
  3262.  
  3263. :POOL2_22542
  3264. if
  3265.   35@ == 99
  3266. else_jump @POOL2_22766
  3267. if and
  3268.   274@ == 0
  3269.   184@ == 0
  3270.   271@ > 0
  3271.   231@ == -1
  3272. else_jump @POOL2_22750
  3273. if
  3274. 001D:   272@ > 273@ // (int)
  3275. else_jump @POOL2_22678
  3276. if
  3277.   229@ == 1
  3278. else_jump @POOL2_22657
  3279. 217@ = 0
  3280. 218@ = 1
  3281. jump @POOL2_22671
  3282.  
  3283. :POOL2_22657
  3284. 217@ = 1
  3285. 218@ = 0
  3286.  
  3287. :POOL2_22671
  3288. jump @POOL2_22750
  3289.  
  3290. :POOL2_22678
  3291. if
  3292. 001D:   273@ > 272@ // (int)
  3293. else_jump @POOL2_22750
  3294. if
  3295.   229@ == 1
  3296. else_jump @POOL2_22736
  3297. 217@ = 1
  3298. 218@ = 0
  3299. jump @POOL2_22750
  3300.  
  3301. :POOL2_22736
  3302. 217@ = 0
  3303. 218@ = 1
  3304.  
  3305. :POOL2_22750
  3306. 03E6: remove_text_box
  3307. 35@ = 0
  3308. 34@ += 1
  3309.  
  3310. :POOL2_22766
  3311. return
  3312.  
  3313. :POOL2_22768
  3314. if
  3315.   35@ == 0
  3316. else_jump @POOL2_24594
  3317. 32@ = 0
  3318. if and
  3319.   67@ == 1
  3320.   68@ == 1
  3321.   69@ == 1
  3322.   70@ == 1
  3323.   71@ == 1
  3324. else_jump @POOL2_22914
  3325. if and
  3326.   72@ == 1
  3327.   73@ == 1
  3328. else_jump @POOL2_22914
  3329. if
  3330.   217@ == 0
  3331. else_jump @POOL2_22889
  3332. 217@ = 2
  3333.  
  3334. :POOL2_22889
  3335. if
  3336.   218@ == 0
  3337. else_jump @POOL2_22914
  3338. 218@ = 2
  3339.  
  3340. :POOL2_22914
  3341. if and
  3342.   75@ == 1
  3343.   76@ == 1
  3344.   77@ == 1
  3345.   78@ == 1
  3346.   79@ == 1
  3347. else_jump @POOL2_23035
  3348. if and
  3349.   80@ == 1
  3350.   81@ == 1
  3351. else_jump @POOL2_23035
  3352. if
  3353.   217@ == 1
  3354. else_jump @POOL2_23010
  3355. 217@ = 2
  3356.  
  3357. :POOL2_23010
  3358. if
  3359.   218@ == 1
  3360. else_jump @POOL2_23035
  3361. 218@ = 2
  3362.  
  3363. :POOL2_23035
  3364. 0871: init_jump_table 274@ total_jumps 7 default_jump 0 @POOL2_24479 jumps 0 @POOL2_23098 1 @POOL2_23429 2 @POOL2_23627 3 @POOL2_23825 4 @POOL2_24023 5 @POOL2_24221 6 @POOL2_24281
  3365.  
  3366. :POOL2_23098
  3367. if
  3368.   271@ > 0
  3369. else_jump @POOL2_23231
  3370. if
  3371.    not 74@ == 1
  3372. else_jump @POOL2_23203
  3373. 232@ = 0
  3374. 233@ = 1
  3375. if
  3376.   229@ == 1
  3377. else_jump @POOL2_23181
  3378. 0085: 231@ = 217@ // (int)
  3379. jump @POOL2_23189
  3380.  
  3381. :POOL2_23181
  3382. 0085: 231@ = 218@ // (int)
  3383.  
  3384. :POOL2_23189
  3385. 35@ = 99
  3386. jump @POOL2_23224
  3387.  
  3388. :POOL2_23203
  3389. 276@ = 1
  3390. 275@ = 1
  3391. 35@ = 99
  3392.  
  3393. :POOL2_23224
  3394. jump @POOL2_23422
  3395.  
  3396. :POOL2_23231
  3397. if
  3398.   229@ == 1
  3399. else_jump @POOL2_23355
  3400. 232@ = 0
  3401. 229@ = 2
  3402. 0085: 215@ = 214@ // (int)
  3403. 0085: 216@ = 107@ // (int)
  3404. 0085: 230@ = 220@ // (int)
  3405. 233@ = 0
  3406. 0085: 231@ = 218@ // (int)
  3407. if
  3408.   220@ == 1
  3409. else_jump @POOL2_23334
  3410. 04AF: 180@ = 1 // @ = any
  3411. jump @POOL2_23341
  3412.  
  3413. :POOL2_23334
  3414. 04AF: 180@ = 0 // @ = any
  3415.  
  3416. :POOL2_23341
  3417. 35@ = 99
  3418. jump @POOL2_23422
  3419.  
  3420. :POOL2_23355
  3421. 232@ = 0
  3422. 229@ = 1
  3423. 0085: 215@ = 213@ // (int)
  3424. 0085: 216@ = 106@ // (int)
  3425. 0085: 230@ = 219@ // (int)
  3426. 233@ = 0
  3427. 0085: 231@ = 217@ // (int)
  3428. 04AF: 180@ = 0 // @ = any
  3429. 35@ = 99
  3430.  
  3431. :POOL2_23422
  3432. jump @POOL2_24479
  3433.  
  3434. :POOL2_23429
  3435. if
  3436.   229@ == 1
  3437. else_jump @POOL2_23553
  3438. 229@ = 2
  3439. 0085: 215@ = 214@ // (int)
  3440. 0085: 216@ = 107@ // (int)
  3441. 0085: 230@ = 220@ // (int)
  3442. 232@ = 2
  3443. 233@ = 0
  3444. 0085: 231@ = 218@ // (int)
  3445. if
  3446.   220@ == 1
  3447. else_jump @POOL2_23532
  3448. 04AF: 180@ = 1 // @ = any
  3449. jump @POOL2_23539
  3450.  
  3451. :POOL2_23532
  3452. 04AF: 180@ = 0 // @ = any
  3453.  
  3454. :POOL2_23539
  3455. 35@ = 99
  3456. jump @POOL2_23620
  3457.  
  3458. :POOL2_23553
  3459. 229@ = 1
  3460. 0085: 215@ = 213@ // (int)
  3461. 0085: 216@ = 106@ // (int)
  3462. 0085: 230@ = 219@ // (int)
  3463. 232@ = 2
  3464. 233@ = 0
  3465. 0085: 231@ = 217@ // (int)
  3466. 04AF: 180@ = 0 // @ = any
  3467. 35@ = 99
  3468.  
  3469. :POOL2_23620
  3470. jump @POOL2_24479
  3471.  
  3472. :POOL2_23627
  3473. if
  3474.   229@ == 1
  3475. else_jump @POOL2_23751
  3476. 229@ = 2
  3477. 0085: 215@ = 214@ // (int)
  3478. 0085: 216@ = 107@ // (int)
  3479. 0085: 230@ = 220@ // (int)
  3480. 232@ = 2
  3481. 233@ = 0
  3482. 0085: 231@ = 218@ // (int)
  3483. if
  3484.   220@ == 1
  3485. else_jump @POOL2_23730
  3486. 04AF: 180@ = 1 // @ = any
  3487. jump @POOL2_23737
  3488.  
  3489. :POOL2_23730
  3490. 04AF: 180@ = 0 // @ = any
  3491.  
  3492. :POOL2_23737
  3493. 35@ = 99
  3494. jump @POOL2_23818
  3495.  
  3496. :POOL2_23751
  3497. 229@ = 1
  3498. 0085: 215@ = 213@ // (int)
  3499. 0085: 216@ = 106@ // (int)
  3500. 0085: 230@ = 219@ // (int)
  3501. 232@ = 2
  3502. 233@ = 0
  3503. 0085: 231@ = 217@ // (int)
  3504. 04AF: 180@ = 0 // @ = any
  3505. 35@ = 99
  3506.  
  3507. :POOL2_23818
  3508. jump @POOL2_24479
  3509.  
  3510. :POOL2_23825
  3511. if
  3512.   229@ == 1
  3513. else_jump @POOL2_23949
  3514. 229@ = 2
  3515. 0085: 215@ = 214@ // (int)
  3516. 0085: 216@ = 107@ // (int)
  3517. 0085: 230@ = 220@ // (int)
  3518. 232@ = 2
  3519. 233@ = 0
  3520. 0085: 231@ = 218@ // (int)
  3521. if
  3522.   220@ == 1
  3523. else_jump @POOL2_23928
  3524. 04AF: 180@ = 1 // @ = any
  3525. jump @POOL2_23935
  3526.  
  3527. :POOL2_23928
  3528. 04AF: 180@ = 0 // @ = any
  3529.  
  3530. :POOL2_23935
  3531. 35@ = 99
  3532. jump @POOL2_24016
  3533.  
  3534. :POOL2_23949
  3535. 229@ = 1
  3536. 0085: 215@ = 213@ // (int)
  3537. 0085: 216@ = 106@ // (int)
  3538. 0085: 230@ = 219@ // (int)
  3539. 232@ = 2
  3540. 233@ = 0
  3541. 0085: 231@ = 217@ // (int)
  3542. 04AF: 180@ = 0 // @ = any
  3543. 35@ = 99
  3544.  
  3545. :POOL2_24016
  3546. jump @POOL2_24479
  3547.  
  3548. :POOL2_24023
  3549. if
  3550.   229@ == 1
  3551. else_jump @POOL2_24147
  3552. 229@ = 2
  3553. 0085: 215@ = 214@ // (int)
  3554. 0085: 216@ = 107@ // (int)
  3555. 0085: 230@ = 220@ // (int)
  3556. 232@ = 2
  3557. 233@ = 0
  3558. 0085: 231@ = 218@ // (int)
  3559. if
  3560.   220@ == 1
  3561. else_jump @POOL2_24126
  3562. 04AF: 180@ = 1 // @ = any
  3563. jump @POOL2_24133
  3564.  
  3565. :POOL2_24126
  3566. 04AF: 180@ = 0 // @ = any
  3567.  
  3568. :POOL2_24133
  3569. 35@ = 99
  3570. jump @POOL2_24214
  3571.  
  3572. :POOL2_24147
  3573. 229@ = 1
  3574. 0085: 215@ = 213@ // (int)
  3575. 0085: 216@ = 106@ // (int)
  3576. 0085: 230@ = 219@ // (int)
  3577. 232@ = 2
  3578. 233@ = 0
  3579. 0085: 231@ = 217@ // (int)
  3580. 04AF: 180@ = 0 // @ = any
  3581. 35@ = 99
  3582.  
  3583. :POOL2_24214
  3584. jump @POOL2_24479
  3585.  
  3586. :POOL2_24221
  3587. if
  3588.   184@ == 0
  3589. else_jump @POOL2_24253
  3590. 275@ = 0
  3591. jump @POOL2_24260
  3592.  
  3593. :POOL2_24253
  3594. 275@ = 1
  3595.  
  3596. :POOL2_24260
  3597. 276@ = 1
  3598. 35@ = 99
  3599. jump @POOL2_24479
  3600.  
  3601. :POOL2_24281
  3602. if
  3603.   229@ == 1
  3604. else_jump @POOL2_24405
  3605. 229@ = 2
  3606. 0085: 215@ = 214@ // (int)
  3607. 0085: 216@ = 107@ // (int)
  3608. 0085: 230@ = 220@ // (int)
  3609. 232@ = 2
  3610. 233@ = 0
  3611. 0085: 231@ = 218@ // (int)
  3612. if
  3613.   220@ == 1
  3614. else_jump @POOL2_24384
  3615. 04AF: 180@ = 1 // @ = any
  3616. jump @POOL2_24391
  3617.  
  3618. :POOL2_24384
  3619. 04AF: 180@ = 0 // @ = any
  3620.  
  3621. :POOL2_24391
  3622. 35@ = 99
  3623. jump @POOL2_24472
  3624.  
  3625. :POOL2_24405
  3626. 229@ = 1
  3627. 0085: 215@ = 213@ // (int)
  3628. 0085: 216@ = 106@ // (int)
  3629. 0085: 230@ = 219@ // (int)
  3630. 232@ = 2
  3631. 233@ = 0
  3632. 0085: 231@ = 217@ // (int)
  3633. 04AF: 180@ = 0 // @ = any
  3634. 35@ = 99
  3635.  
  3636. :POOL2_24472
  3637. jump @POOL2_24479
  3638.  
  3639. :POOL2_24479
  3640. if
  3641.   178@ == 0
  3642. else_jump @POOL2_24533
  3643. if
  3644.   230@ == 1
  3645. else_jump @POOL2_24526
  3646. 0512: show_permanent_text_box 'PL_H5'  // ~k~~PED_SPRINT~ Continue.
  3647.  
  3648. :POOL2_24526
  3649. jump @POOL2_24580
  3650.  
  3651. :POOL2_24533
  3652. if
  3653. 04A4:   180@ == 0 // @ == any
  3654. else_jump @POOL2_24569
  3655. 0512: show_permanent_text_box 'PL_H8'  // Player 1 press ~k~~PED_SPRINT~ to continue.
  3656. jump @POOL2_24580
  3657.  
  3658. :POOL2_24569
  3659. 0512: show_permanent_text_box 'PL_H9'  // Player 2 press ~k~~PED_SPRINT~ to continue.
  3660.  
  3661. :POOL2_24580
  3662. 32@ = 0
  3663. 33@ = 0
  3664.  
  3665. :POOL2_24594
  3666. if
  3667.   35@ == 99
  3668. else_jump @POOL2_24702
  3669. gosub @POOL2_54829
  3670. if
  3671.   230@ == 1
  3672. else_jump @POOL2_24669
  3673. if
  3674. 00E1:   player 180@ pressed_key 16
  3675. else_jump @POOL2_24662
  3676. 35@ += 1
  3677.  
  3678. :POOL2_24662
  3679. jump @POOL2_24702
  3680.  
  3681. :POOL2_24669
  3682. if or
  3683.   33@ > 2000
  3684. 00E1:   player 180@ pressed_key 16
  3685. else_jump @POOL2_24702
  3686. 35@ += 1
  3687.  
  3688. :POOL2_24702
  3689. if
  3690.   35@ == 100
  3691. else_jump @POOL2_24864
  3692. 03E6: remove_text_box
  3693. 39@ = 0
  3694. 271@ = 0
  3695.  
  3696. :POOL2_24736
  3697. if
  3698.   16 > 39@
  3699. else_jump @POOL2_24779
  3700. 255@(39@,16i) = 0
  3701. 39@ += 1
  3702. jump @POOL2_24736
  3703.  
  3704. :POOL2_24779
  3705. 272@ = 0
  3706. 273@ = 0
  3707. if
  3708.   276@ == 1
  3709. else_jump @POOL2_24839
  3710. 184@ = 1
  3711. 34@ += 1
  3712. 35@ = 0
  3713. jump @POOL2_24860
  3714.  
  3715. :POOL2_24839
  3716. 184@ = 0
  3717. 34@ = 3
  3718. 35@ = 0
  3719.  
  3720. :POOL2_24860
  3721. wait 0
  3722.  
  3723. :POOL2_24864
  3724. return
  3725.  
  3726. :POOL2_24866
  3727. if
  3728.   35@ == 0
  3729. else_jump @POOL2_25319
  3730. if
  3731.   275@ == 0
  3732. else_jump @POOL2_24966
  3733. if
  3734.   229@ == 1
  3735. else_jump @POOL2_24943
  3736. 0085: 215@ = 214@ // (int)
  3737. 0085: 216@ = 107@ // (int)
  3738. jump @POOL2_24959
  3739.  
  3740. :POOL2_24943
  3741. 0085: 215@ = 213@ // (int)
  3742. 0085: 216@ = 106@ // (int)
  3743.  
  3744. :POOL2_24959
  3745. jump @POOL2_25023
  3746.  
  3747. :POOL2_24966
  3748. if
  3749.   229@ == 1
  3750. else_jump @POOL2_25007
  3751. 0085: 215@ = 213@ // (int)
  3752. 0085: 216@ = 106@ // (int)
  3753. jump @POOL2_25023
  3754.  
  3755. :POOL2_25007
  3756. 0085: 215@ = 214@ // (int)
  3757. 0085: 216@ = 107@ // (int)
  3758.  
  3759. :POOL2_25023
  3760. if
  3761.    not Actor.Dead(215@)
  3762. else_jump @POOL2_25319
  3763. 04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset 1.0 2.0 0.0
  3764. Camera.SetPosition($TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3, 0.0, 0.0, 0.0)
  3765. Camera.OnPed(215@, 15, 2)
  3766. if
  3767.   178@ == 0
  3768. else_jump @POOL2_25247
  3769. if
  3770. 003B:   215@ == 213@ // (int)
  3771. else_jump @POOL2_25209
  3772. 0085: 39@ = 162@ // (int)
  3773. 39@ *= 2
  3774. Player.Money($PLAYER_CHAR) += 39@
  3775. create_thread @CASHWIN 39@ 5000 80
  3776. if
  3777.    not Actor.Dead(164@)
  3778. else_jump @POOL2_25202
  3779. 03FE: set_actor 164@ money 0
  3780.  
  3781. :POOL2_25202
  3782. jump @POOL2_25240
  3783.  
  3784. :POOL2_25209
  3785. 0085: 39@ = 162@ // (int)
  3786. 39@ *= -1
  3787. create_thread @CASHWIN 39@ 5000 80
  3788.  
  3789. :POOL2_25240
  3790. jump @POOL2_25305
  3791.  
  3792. :POOL2_25247
  3793. if
  3794. 003B:   215@ == 213@ // (int)
  3795. else_jump @POOL2_25289
  3796. 00BA: show_text_styled GXT 'PL_08' time 5000 style 1  // Player 1 Wins!
  3797. jump @POOL2_25305
  3798.  
  3799. :POOL2_25289
  3800. 00BA: show_text_styled GXT 'PL_09' time 5000 style 1  // Player 2 Wins!
  3801.  
  3802. :POOL2_25305
  3803. 32@ = 0
  3804. 35@ += 1
  3805.  
  3806. :POOL2_25319
  3807. if
  3808.   35@ == 1
  3809. else_jump @POOL2_25363
  3810. if
  3811.   32@ > 5000
  3812. else_jump @POOL2_25363
  3813. 35@ += 1
  3814.  
  3815. :POOL2_25363
  3816. if
  3817.   35@ == 2
  3818. else_jump @POOL2_25936
  3819. fade 0 500
  3820.  
  3821. :POOL2_25388
  3822. if
  3823. fading
  3824. else_jump @POOL2_25412
  3825. wait 0
  3826. jump @POOL2_25388
  3827.  
  3828. :POOL2_25412
  3829. 39@ = 0
  3830.  
  3831. :POOL2_25419
  3832. if
  3833.   16 > 39@
  3834. else_jump @POOL2_25480
  3835. if
  3836.    Object.Exists(82@(39@,16i))
  3837. else_jump @POOL2_25466
  3838. Object.Destroy(82@(39@,16i))
  3839.  
  3840. :POOL2_25466
  3841. 39@ += 1
  3842. jump @POOL2_25419
  3843.  
  3844. :POOL2_25480
  3845. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.2734375 -0.0546875 0.9296875
  3846. 82@ = Object.Init(#K_POOLBALLCUE, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  3847. $TEMPVAR_ANGLE = Object.Angle(163@)
  3848. $TEMPVAR_ANGLE += 270.0
  3849. Object.Angle(82@) = $TEMPVAR_ANGLE
  3850. 0400: store_coords_to 558@ 559@ 560@ from_object 163@ with_offset 0.3408 -0.0284 0.9297
  3851. 561@ = Object.Angle(163@)
  3852. 561@ += 90.0
  3853. 83@ = Object.Init(#K_POOLBALLSPT01, 558@, 559@, 560@)
  3854. 84@ = Object.Init(#K_POOLBALLSPT02, 0.0, 0.0, 0.0)
  3855. 85@ = Object.Init(#K_POOLBALLSPT03, 0.0, 0.0, 0.0)
  3856. 86@ = Object.Init(#K_POOLBALLSPT04, 0.0, 0.0, 0.0)
  3857. 87@ = Object.Init(#K_POOLBALLSPT05, 0.0, 0.0, 0.0)
  3858. 88@ = Object.Init(#K_POOLBALLSPT06, 0.0, 0.0, 0.0)
  3859. 89@ = Object.Init(#K_POOLBALLSPT07, 0.0, 0.0, 0.0)
  3860. 90@ = Object.Init(#K_POOLBALL8, 0.0, 0.0, 0.0)
  3861. 91@ = Object.Init(#K_POOLBALLSTP01, 0.0, 0.0, 0.0)
  3862. 92@ = Object.Init(#K_POOLBALLSTP02, 0.0, 0.0, 0.0)
  3863. 93@ = Object.Init(#K_POOLBALLSTP03, 0.0, 0.0, 0.0)
  3864. 94@ = Object.Init(#K_POOLBALLSTP04, 0.0, 0.0, 0.0)
  3865. 95@ = Object.Init(#K_POOLBALLSTP05, 0.0, 0.0, 0.0)
  3866. 96@ = Object.Init(#K_POOLBALLSTP06, 0.0, 0.0, 0.0)
  3867. 97@ = Object.Init(#K_POOLBALLSTP07, 0.0, 0.0, 0.0)
  3868. gosub @POOL2_50546
  3869. 35@ = 99
  3870.  
  3871. :POOL2_25936
  3872. if
  3873.   35@ == 99
  3874. else_jump @POOL2_25970
  3875. 03E6: remove_text_box
  3876. 34@ += 1
  3877. 35@ = 0
  3878.  
  3879. :POOL2_25970
  3880. return
  3881. 03E4: enable_text_draw_align_right 0
  3882. 0341: unknown_text_draw_flag 0
  3883. 0343: set_text_draw_linewidth 640.0
  3884. 0348: enable_text_draw_proportional 1
  3885. 0345: enable_text_draw_background 0
  3886. 033F: set_text_draw_letter_size 1.3 3.36
  3887. 0342: enable_text_draw_centered 1
  3888. 081C: draw_text_outline 2 RGBA 0 0 0 255
  3889. 0349: set_text_draw_font 3
  3890. 0904: get_interface 6 color_RGBA_to $COLOR_RED $COLOR_GREEN $GAMBLES_CASHWIN $3400
  3891. 0340: set_text_draw_RGBA $COLOR_RED $COLOR_GREEN $GAMBLES_CASHWIN 255
  3892. return
  3893.  
  3894. :POOL2_26060
  3895. 275@ = 0
  3896. 271@ = 0
  3897. 272@ = 0
  3898. 273@ = 0
  3899. 274@ = 0
  3900. 39@ = 0
  3901.  
  3902. :POOL2_26102
  3903. if
  3904.   16 > 39@
  3905. else_jump @POOL2_26156
  3906. 255@(39@,16i) = 0
  3907. 66@(39@,16i) = 0
  3908. 39@ += 1
  3909. jump @POOL2_26102
  3910.  
  3911. :POOL2_26156
  3912. 232@ = 0
  3913. 276@ = 0
  3914. 34@ = 1
  3915. 35@ = 0
  3916. return
  3917.  
  3918. :POOL2_26186
  3919. if
  3920.    Object.Exists(163@)
  3921. else_jump @POOL2_26234
  3922. Object.StorePos(163@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  3923. 0395: clear_area 1 at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 radius 10.0
  3924.  
  3925. :POOL2_26234
  3926. if
  3927.    Object.Exists(82@)
  3928. else_jump @POOL2_26272
  3929. 05A8: get_object 82@ speed_to 48@
  3930. 05A6: get_object 82@ rotation_velocity_about_an_axis_X 49@ axis_Y 50@ axis_Z 51@ through_center_of_body
  3931.  
  3932. :POOL2_26272
  3933. if
  3934.   206@ > 2000
  3935. else_jump @POOL2_26762
  3936. 0088: $TEMPVAR_FLOAT_1 = 204@ // (float)
  3937. $TEMPVAR_FLOAT_1 *= -1.0
  3938. 39@ = 0
  3939.  
  3940. :POOL2_26316
  3941. if
  3942.   16 > 39@
  3943. else_jump @POOL2_26762
  3944. if
  3945.    Object.Exists(82@(39@,16i))
  3946. else_jump @POOL2_26737
  3947. 05A8: get_object 82@(39@,16i) speed_to 42@
  3948. if
  3949. 0025:   203@ > 42@ // (float)
  3950. else_jump @POOL2_26719
  3951. if
  3952.   0.005 > 42@
  3953. else_jump @POOL2_26635
  3954. 05A6: get_object 82@(39@,16i) rotation_velocity_about_an_axis_X 42@ axis_Y 43@ axis_Z 44@ through_center_of_body
  3955. 40@ = 0
  3956. if or
  3957. 0025:   42@ > 204@ // (float)
  3958. 0026:   $TEMPVAR_FLOAT_1 > 42@ // (float)
  3959. else_jump @POOL2_26465
  3960. 40@ = 1
  3961.  
  3962. :POOL2_26465
  3963. if or
  3964. 0025:   43@ > 204@ // (float)
  3965. 0026:   $TEMPVAR_FLOAT_1 > 43@ // (float)
  3966. else_jump @POOL2_26499
  3967. 40@ = 1
  3968.  
  3969. :POOL2_26499
  3970. if or
  3971. 0025:   44@ > 204@ // (float)
  3972. 0026:   $TEMPVAR_FLOAT_1 > 44@ // (float)
  3973. else_jump @POOL2_26533
  3974. 40@ = 1
  3975.  
  3976. :POOL2_26533
  3977. if
  3978.   40@ == 0
  3979. else_jump @POOL2_26617
  3980. Object.Throw(82@(39@,16i), 0.0, 0.0, 0.0)
  3981. 05A2: set_object 82@(39@,16i) rotation_velocity_about_an_axis 0.0 0.0 0.0 through_center_of_mass
  3982. 109@(39@,16i) = 1
  3983. jump @POOL2_26628
  3984.  
  3985. :POOL2_26617
  3986. 109@(39@,16i) = 0
  3987.  
  3988. :POOL2_26628
  3989. jump @POOL2_26712
  3990.  
  3991. :POOL2_26635
  3992. 059F: get_object 82@(39@,16i) velocity_in_direction $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  3993. $TEMPVAR_FLOAT_1 *= 0.9
  3994. $TEMPVAR_FLOAT_2 *= 0.9
  3995. $TEMPVAR_FLOAT_3 *= 0.9
  3996. Object.Throw(82@(39@,16i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  3997. 109@(39@,16i) = 0
  3998.  
  3999. :POOL2_26712
  4000. jump @POOL2_26730
  4001.  
  4002. :POOL2_26719
  4003. 109@(39@,16i) = 0
  4004.  
  4005. :POOL2_26730
  4006. jump @POOL2_26748
  4007.  
  4008. :POOL2_26737
  4009. 109@(39@,16i) = 1
  4010.  
  4011. :POOL2_26748
  4012. 39@ += 1
  4013. jump @POOL2_26316
  4014.  
  4015. :POOL2_26762
  4016. if
  4017.    not 108@ == 1
  4018. else_jump @POOL2_26826
  4019. 0085: 358@ = 213@ // (int)
  4020. 0085: 359@ = 106@ // (int)
  4021. gosub @POOL2_30670
  4022. 0085: 358@ = 214@ // (int)
  4023. 0085: 359@ = 107@ // (int)
  4024. gosub @POOL2_30670
  4025.  
  4026. :POOL2_26826
  4027. 253@ *= 0.98
  4028. 254@ *= 0.98
  4029. 39@ = 0
  4030.  
  4031. :POOL2_26853
  4032. if
  4033.   16 > 39@
  4034. else_jump @POOL2_27127
  4035. if
  4036.    Object.Exists(82@(39@,16i))
  4037. else_jump @POOL2_27113
  4038. Object.StorePos(82@(39@,16i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4039. 0087: 43@ = 52@ // (float)
  4040. 43@ *= 2.0
  4041. 0087: 42@ = 560@ // (float)
  4042. 0063: 42@ -= 43@ // (float)
  4043. if
  4044. 0027:   42@ > $TEMPVAR_FLOAT_3 // (float)
  4045. else_jump @POOL2_27113
  4046. if
  4047.   66@(39@,16i) == 0
  4048. else_jump @POOL2_27113
  4049. 097A: play_audio_at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 event 1017
  4050. if
  4051.    Object.Exists(82@(39@,16i))
  4052. else_jump @POOL2_27027
  4053. Object.Destroy(82@(39@,16i))
  4054.  
  4055. :POOL2_27027
  4056. 66@(39@,16i) = 1
  4057. 255@(39@,16i) = 1
  4058. 271@ += 1
  4059. if and
  4060.   39@ > 0
  4061.   8 > 39@
  4062. else_jump @POOL2_27088
  4063. 272@ += 1
  4064.  
  4065. :POOL2_27088
  4066. if
  4067.   39@ > 8
  4068. else_jump @POOL2_27113
  4069. 273@ += 1
  4070.  
  4071. :POOL2_27113
  4072. 39@ += 1
  4073. jump @POOL2_26853
  4074.  
  4075. :POOL2_27127
  4076. 39@ = 0
  4077.  
  4078. :POOL2_27134
  4079. if
  4080.   16 > 39@
  4081. else_jump @POOL2_27513
  4082. if
  4083.    Object.Exists(82@(39@,16i))
  4084. else_jump @POOL2_27499
  4085. if
  4086. 08FF:   object 82@(39@,16i) received_damage_type 54
  4087. else_jump @POOL2_27226
  4088. 277@ += 1
  4089. if
  4090.   39@ == 0
  4091. else_jump @POOL2_27226
  4092. 279@ = 1
  4093.  
  4094. :POOL2_27226
  4095. if
  4096.   278@ == -1
  4097. else_jump @POOL2_27342
  4098. if
  4099.   39@ > 0
  4100. else_jump @POOL2_27342
  4101. if
  4102. 08FF:   object 82@(39@,16i) received_damage_type 53
  4103. else_jump @POOL2_27342
  4104. 0085: 278@ = 39@ // (int)
  4105. if
  4106.   279@ == 0
  4107. else_jump @POOL2_27342
  4108. if
  4109.    Object.Exists(82@)
  4110. else_jump @POOL2_27342
  4111. 05A7: set_object 82@ velocity_in_direction_X 253@ direction_Y 254@ direction_Z 0.0
  4112.  
  4113. :POOL2_27342
  4114. if
  4115. 08FF:   object 82@(39@,16i) received_damage_type 50
  4116. else_jump @POOL2_27490
  4117. 277@ += 1
  4118. if
  4119.   39@ == 0
  4120. else_jump @POOL2_27396
  4121. 279@ = 1
  4122.  
  4123. :POOL2_27396
  4124. if
  4125.   278@ == -1
  4126. else_jump @POOL2_27490
  4127. if
  4128.   39@ > 0
  4129. else_jump @POOL2_27490
  4130. 0085: 278@ = 39@ // (int)
  4131. if
  4132.   279@ == 0
  4133. else_jump @POOL2_27490
  4134. if
  4135.    Object.Exists(82@)
  4136. else_jump @POOL2_27490
  4137. 05A7: set_object 82@ velocity_in_direction_X 253@ direction_Y 254@ direction_Z 0.0
  4138.  
  4139. :POOL2_27490
  4140. 0900: unknown_set_object 82@(39@,16i)
  4141.  
  4142. :POOL2_27499
  4143. 39@ += 1
  4144. jump @POOL2_27134
  4145.  
  4146. :POOL2_27513
  4147. if
  4148. 0736:   NOP_false 68
  4149. else_jump @POOL2_27604
  4150. if
  4151.   129@ == 1
  4152. else_jump @POOL2_27579
  4153. 129@ = 0
  4154. 0662: NOP "OUTPUT_TEXT_OFF"
  4155. jump @POOL2_27604
  4156.  
  4157. :POOL2_27579
  4158. 129@ = 1
  4159. 0662: NOP "OUTPUT_TEXT_ON"
  4160.  
  4161. :POOL2_27604
  4162. if
  4163.    not Object.Exists(163@)
  4164. else_jump @POOL2_27627
  4165. 34@ = 99
  4166.  
  4167. :POOL2_27627
  4168. if
  4169.    not Actor.Dead(164@)
  4170. else_jump @POOL2_27651
  4171. $6459 = Actor.Health(164@)
  4172.  
  4173. :POOL2_27651
  4174. if
  4175.    Actor.Dead(164@)
  4176. else_jump @POOL2_27674
  4177. 34@ = 99
  4178.  
  4179. :POOL2_27674
  4180. if
  4181.   108@ == 1
  4182. else_jump @POOL2_28237
  4183. 0826: enable_hud 1
  4184. if
  4185.   161@ > 0
  4186. else_jump @POOL2_27722
  4187. Player.Money($PLAYER_CHAR) += 161@
  4188.  
  4189. :POOL2_27722
  4190. if
  4191.    not Actor.Dead(164@)
  4192. else_jump @POOL2_27794
  4193. Actor.LockInCurrentPosition(164@) = False
  4194. 065C: release_decision_maker 207@
  4195. 060A: create_decision_maker_type 2 store_to 207@ // decision\allowed\m_.ped files
  4196. 060B: set_actor 164@ decision_maker_to 207@
  4197. 0619: enable_actor 164@ collision_detection 1
  4198. Actor.SetImmunities(164@, 0, 0, 0, 0, 0)
  4199. 06AB: set_actor 164@ all_weapons_hidden 1
  4200.  
  4201. :POOL2_27794
  4202. 03DE: set_pedestrians_density_multiplier_to 1.0
  4203. 03F0: enable_text_draw 0
  4204. 0581: enable_radar 1
  4205. 39@ = 0
  4206.  
  4207. :POOL2_27816
  4208. if
  4209.   16 > 39@
  4210. else_jump @POOL2_27857
  4211. Object.RemoveReferences(82@(39@,16i))
  4212. 39@ += 1
  4213. jump @POOL2_27816
  4214.  
  4215. :POOL2_27857
  4216. Camera.Restore_WithJumpCut
  4217. if
  4218.    Object.Exists(238@)
  4219. else_jump @POOL2_27880
  4220. Object.Destroy(238@)
  4221.  
  4222. :POOL2_27880
  4223. 104@ += 0.1
  4224. Object.PutAt(163@, 102@, 103@, 104@)
  4225. 0400: store_coords_to 98@ 100@ $TEMPVAR_FLOAT_3 from_object 163@ with_offset -0.96 -0.49 0.7
  4226. 0400: store_coords_to 99@ 101@ $TEMPVAR_FLOAT_3 from_object 163@ with_offset 0.96 0.49 0.7
  4227. if
  4228. 0025:   98@ > 99@ // (float)
  4229. else_jump @POOL2_28005
  4230. 0088: $TEMPVAR_FLOAT_1 = 98@ // (float)
  4231. 0087: 98@ = 99@ // (float)
  4232. 0089: 99@ = $TEMPVAR_FLOAT_1 // (float)
  4233.  
  4234. :POOL2_28005
  4235. if
  4236. 0025:   100@ > 101@ // (float)
  4237. else_jump @POOL2_28048
  4238. 0088: $TEMPVAR_FLOAT_2 = 100@ // (float)
  4239. 0087: 100@ = 101@ // (float)
  4240. 0089: 101@ = $TEMPVAR_FLOAT_2 // (float)
  4241.  
  4242. :POOL2_28048
  4243. 0830: unknown_rectangle_cornerA 98@ 100@ $TEMPVAR_FLOAT_3 cornerB 99@ 101@ $TEMPVAR_FLOAT_3
  4244. 39@ = 0
  4245.  
  4246. :POOL2_28075
  4247. if
  4248.   16 > 39@
  4249. else_jump @POOL2_28173
  4250. if
  4251.    Object.Exists(82@(39@,16i))
  4252. else_jump @POOL2_28159
  4253. Object.StorePos(82@(39@,16i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4254. $TEMPVAR_FLOAT_3 += 0.1
  4255. Object.PutAt(82@(39@,16i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4256.  
  4257. :POOL2_28159
  4258. 39@ += 1
  4259. jump @POOL2_28075
  4260.  
  4261. :POOL2_28173
  4262. if
  4263.    Player.Defined($PLAYER_CHAR)
  4264. else_jump @POOL2_28215
  4265. 0792: disembark_instantly_actor $PLAYER_ACTOR
  4266. Actor.LockInCurrentPosition($PLAYER_ACTOR) = False
  4267. Player.CanMove($PLAYER_CHAR) = True
  4268. 0619: enable_actor $PLAYER_ACTOR collision_detection 1
  4269.  
  4270. :POOL2_28215
  4271. Object.Destroy(106@)
  4272. Object.Destroy(107@)
  4273. Model.Destroy(#K_POOLQ)
  4274. 04EF: release_animation "POOL"
  4275.  
  4276. :POOL2_28237
  4277. if and
  4278.   34@ == 99
  4279.   108@ == 0
  4280. else_jump @POOL2_28282
  4281. 03F0: enable_text_draw 0
  4282. 0581: enable_radar 1
  4283. 34@ = 0
  4284. wait 500
  4285.  
  4286. :POOL2_28282
  4287. if
  4288. 0736:   NOP_false 73
  4289. else_jump @POOL2_28394
  4290. if
  4291.    Object.Exists(82@)
  4292. else_jump @POOL2_28394
  4293. Object.KeepInMemory(82@) = False
  4294. Object.CollisionDetection(82@) = False
  4295. Object.ToggleInMovingList(82@) = False
  4296. 0208: $TEMPVAR_FLOAT_1 = random_float_in_ranges -5.0 5.0
  4297. 0208: $TEMPVAR_FLOAT_2 = random_float_in_ranges -5.0 5.0
  4298. Object.Throw(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 0.0)
  4299. Object.CollisionDetection(82@) = True
  4300. Object.ToggleInMovingList(82@) = True
  4301.  
  4302. :POOL2_28394
  4303. return
  4304.  
  4305. :POOL2_28396
  4306. 281@ = 0
  4307. 280@ = 1.7
  4308. if
  4309.    Object.Exists(82@)
  4310. else_jump @POOL2_28619
  4311. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4312. 0087: 42@ = 98@ // (float)
  4313. 42@ += 0.02
  4314. if
  4315. 0027:   42@ > $TEMPVAR_FLOAT_1 // (float)
  4316. else_jump @POOL2_28487
  4317. 281@ = 99
  4318.  
  4319. :POOL2_28487
  4320. 0087: 42@ = 99@ // (float)
  4321. 42@ -= 0.02
  4322. if
  4323. 0026:   $TEMPVAR_FLOAT_1 > 42@ // (float)
  4324. else_jump @POOL2_28531
  4325. 281@ = 99
  4326.  
  4327. :POOL2_28531
  4328. 0087: 42@ = 100@ // (float)
  4329. 42@ += 0.02
  4330. if
  4331. 0027:   42@ > $TEMPVAR_FLOAT_2 // (float)
  4332. else_jump @POOL2_28575
  4333. 281@ = 99
  4334.  
  4335. :POOL2_28575
  4336. 0087: 42@ = 101@ // (float)
  4337. 42@ -= 0.02
  4338. if
  4339. 0026:   $TEMPVAR_FLOAT_2 > 42@ // (float)
  4340. else_jump @POOL2_28619
  4341. 281@ = 99
  4342.  
  4343. :POOL2_28619
  4344. if
  4345.    not 281@ == 99
  4346. else_jump @POOL2_30668
  4347. if
  4348.    not 240@ == 0
  4349. else_jump @POOL2_28662
  4350. 281@ = 2
  4351.  
  4352. :POOL2_28662
  4353. if
  4354.   281@ == 0
  4355. else_jump @POOL2_29271
  4356. if
  4357.    Object.Exists(82@)
  4358. else_jump @POOL2_29271
  4359. 39@ = 0
  4360.  
  4361. :POOL2_28703
  4362. if
  4363.   3 > 39@
  4364. else_jump @POOL2_28847
  4365. 304@(39@,3f) = -999999.9
  4366. 307@(39@,3f) = -999999.9
  4367. 310@(39@,3f) = -999999.9
  4368. 313@(39@,3f) = -999999.9
  4369. 316@(39@,3f) = -999999.9
  4370. 319@(39@,3f) = -999999.9
  4371. 322@(39@,3f) = -999999.9
  4372. 325@(39@,3f) = -999999.9
  4373. 39@ += 1
  4374. jump @POOL2_28703
  4375.  
  4376. :POOL2_28847
  4377. 0087: 301@ = 280@ // (float)
  4378. 0087: 301@ = 280@ // (float)
  4379. 0087: 300@ = 280@ // (float)
  4380. 300@ /= 10.0
  4381. $TEMPVAR_ANGLE = Object.Angle(82@)
  4382. 0453: set_object 82@ XY_rotation 0.0 0.0 angle $TEMPVAR_ANGLE
  4383. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4384. if
  4385. 0027:   98@ > $TEMPVAR_FLOAT_1 // (float)
  4386. else_jump @POOL2_28958
  4387. 0088: $TEMPVAR_FLOAT_1 = 98@ // (float)
  4388. $TEMPVAR_FLOAT_1 += 0.01
  4389.  
  4390. :POOL2_28958
  4391. if
  4392. 0026:   $TEMPVAR_FLOAT_1 > 99@ // (float)
  4393. else_jump @POOL2_28995
  4394. 0088: $TEMPVAR_FLOAT_1 = 99@ // (float)
  4395. $TEMPVAR_FLOAT_1 -= 0.01
  4396.  
  4397. :POOL2_28995
  4398. if
  4399. 0027:   100@ > $TEMPVAR_FLOAT_2 // (float)
  4400. else_jump @POOL2_29032
  4401. 0088: $TEMPVAR_FLOAT_2 = 100@ // (float)
  4402. $TEMPVAR_FLOAT_2 += 0.01
  4403.  
  4404. :POOL2_29032
  4405. if
  4406. 0026:   $TEMPVAR_FLOAT_2 > 101@ // (float)
  4407. else_jump @POOL2_29069
  4408. 0088: $TEMPVAR_FLOAT_2 = 101@ // (float)
  4409. $TEMPVAR_FLOAT_2 -= 0.01
  4410.  
  4411. :POOL2_29069
  4412. 0400: store_coords_to 165@ 166@ 167@ from_object 82@ with_offset 0.0 1.0 0.0
  4413. 0087: 282@ = 165@ // (float)
  4414. 0065: 282@ -= $TEMPVAR_FLOAT_1 // (float)
  4415. 0087: 283@ = 166@ // (float)
  4416. 0065: 283@ -= $TEMPVAR_FLOAT_2 // (float)
  4417. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 165@ 166@
  4418. 0073: 282@ /= 42@ // (float)
  4419. 0073: 283@ /= 42@ // (float)
  4420. 006B: 282@ *= 301@ // (float)
  4421. 006B: 283@ *= 301@ // (float)
  4422. 0089: 487@ = $TEMPVAR_FLOAT_1 // (float)
  4423. 0089: 488@ = $TEMPVAR_FLOAT_2 // (float)
  4424. 0089: 304@ = $TEMPVAR_FLOAT_1 // (float)
  4425. 0089: 307@ = $TEMPVAR_FLOAT_2 // (float)
  4426. 0089: 483@ = $TEMPVAR_FLOAT_1 // (float)
  4427. 005B: 483@ += 282@ // (float)
  4428. 0089: 484@ = $TEMPVAR_FLOAT_2 // (float)
  4429. 005B: 484@ += 283@ // (float)
  4430. 284@ = 0
  4431. 328@ = 0
  4432. 515@ = 0
  4433. 281@ += 1
  4434.  
  4435. :POOL2_29271
  4436. if
  4437.   281@ == 1
  4438. else_jump @POOL2_29690
  4439. 241@ = 0
  4440.  
  4441. :POOL2_29296
  4442. if and
  4443.   301@ > 0.0
  4444.   3 > 284@
  4445. else_jump @POOL2_29676
  4446. gosub @POOL2_48189
  4447. 0087: 310@(284@,3f) = 505@ // (float)
  4448. 0087: 313@(284@,3f) = 506@ // (float)
  4449. 0085: 39@ = 284@ // (int)
  4450. 39@ += 1
  4451. if
  4452.   3 > 39@
  4453. else_jump @POOL2_29412
  4454. 0087: 304@(39@,3f) = 505@ // (float)
  4455. 0087: 307@(39@,3f) = 506@ // (float)
  4456.  
  4457. :POOL2_29412
  4458. 0509: 42@ = distance_between_XY 304@(284@,3f) 307@(284@,3f) and_XY 310@(284@,3f) 313@(284@,3f)
  4459. 0063: 301@ -= 42@ // (float)
  4460. if
  4461.   485@ == 0
  4462. else_jump @POOL2_29662
  4463. if
  4464.    not 504@ == -1
  4465. else_jump @POOL2_29506
  4466. 301@ *= 0.5
  4467. jump @POOL2_29516
  4468.  
  4469. :POOL2_29506
  4470. 301@ *= 0.75
  4471.  
  4472. :POOL2_29516
  4473. if
  4474.   328@ == 0
  4475. else_jump @POOL2_29584
  4476. if
  4477.    not 504@ == -1
  4478. else_jump @POOL2_29584
  4479. 0085: 328@ = 504@ // (int)
  4480. 0087: 329@ = 301@ // (float)
  4481. 0087: 330@ = 509@ // (float)
  4482. 0087: 331@ = 510@ // (float)
  4483.  
  4484. :POOL2_29584
  4485. 0087: 487@ = 505@ // (float)
  4486. 0087: 488@ = 506@ // (float)
  4487. 006B: 507@ *= 301@ // (float)
  4488. 006B: 508@ *= 301@ // (float)
  4489. 0087: 483@ = 487@ // (float)
  4490. 005B: 483@ += 507@ // (float)
  4491. 0087: 484@ = 488@ // (float)
  4492. 005B: 484@ += 508@ // (float)
  4493. 284@ += 1
  4494. jump @POOL2_29669
  4495.  
  4496. :POOL2_29662
  4497. 284@ = 3
  4498.  
  4499. :POOL2_29669
  4500. jump @POOL2_29296
  4501.  
  4502. :POOL2_29676
  4503. 240@ += 1
  4504. 281@ += 1
  4505.  
  4506. :POOL2_29690
  4507. if
  4508.   281@ == 2
  4509. else_jump @POOL2_30636
  4510. 39@ = 0
  4511.  
  4512. :POOL2_29715
  4513. if
  4514.   10 > 39@
  4515. else_jump @POOL2_29827
  4516. if
  4517.    Object.Exists(347@(39@,10i))
  4518. else_jump @POOL2_29762
  4519. Object.Destroy(347@(39@,10i))
  4520.  
  4521. :POOL2_29762
  4522. 347@(39@,10i) = Object.Create(#K_POOLBALLCUE, 0.0, 0.0, 0.0)
  4523. Object.CollisionDetection(347@(39@,10i)) = False
  4524. 08D2: object 347@(39@,10i) scale_model 0.3
  4525. 39@ += 1
  4526. jump @POOL2_29715
  4527.  
  4528. :POOL2_29827
  4529. 357@ = 0
  4530. 343@ = 0.005
  4531. 007B: 342@ += unknown_float * 343@ // (float)
  4532. if
  4533. 0025:   342@ > 300@ // (float)
  4534. else_jump @POOL2_29879
  4535. 0063: 342@ -= 300@ // (float)
  4536.  
  4537. :POOL2_29879
  4538. 346@ = 0.0
  4539. 39@ = 0
  4540.  
  4541. :POOL2_29896
  4542. if
  4543.   3 > 39@
  4544. else_jump @POOL2_30629
  4545. if and
  4546.   304@(39@,3f) > -9999.9
  4547.   307@(39@,3f) > -9999.9
  4548.   310@(39@,3f) > -9999.9
  4549.   313@(39@,3f) > -9999.9
  4550. else_jump @POOL2_30615
  4551. 0509: 42@ = distance_between_XY 304@(39@,3f) 307@(39@,3f) and_XY 310@(39@,3f) 313@(39@,3f)
  4552. 0087: 169@ = 310@(39@,3f) // (float)
  4553. 0063: 169@ -= 304@(39@,3f) // (float)
  4554. 0087: 170@ = 313@(39@,3f) // (float)
  4555. 0063: 170@ -= 307@(39@,3f) // (float)
  4556. 0087: 43@ = 42@ // (float)
  4557. 0073: 43@ /= 300@ // (float)
  4558. 0092: 40@ = float 43@ to_integer
  4559. 40@ += 1
  4560. 0073: 169@ /= 42@ // (float)
  4561. 0073: 170@ /= 42@ // (float)
  4562. 0087: 344@ = 169@ // (float)
  4563. 0087: 345@ = 170@ // (float)
  4564. 006B: 344@ *= 342@ // (float)
  4565. 006B: 345@ *= 342@ // (float)
  4566. 006B: 169@ *= 300@ // (float)
  4567. 006B: 170@ *= 300@ // (float)
  4568. if
  4569.    Object.Exists(82@)
  4570. else_jump @POOL2_30335
  4571. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4572. if
  4573. 0027:   98@ > $TEMPVAR_FLOAT_1 // (float)
  4574. else_jump @POOL2_30224
  4575. 0088: $TEMPVAR_FLOAT_1 = 98@ // (float)
  4576. $TEMPVAR_FLOAT_1 += 0.01
  4577.  
  4578. :POOL2_30224
  4579. if
  4580. 0026:   $TEMPVAR_FLOAT_1 > 99@ // (float)
  4581. else_jump @POOL2_30261
  4582. 0088: $TEMPVAR_FLOAT_1 = 99@ // (float)
  4583. $TEMPVAR_FLOAT_1 -= 0.01
  4584.  
  4585. :POOL2_30261
  4586. if
  4587. 0027:   100@ > $TEMPVAR_FLOAT_2 // (float)
  4588. else_jump @POOL2_30298
  4589. 0088: $TEMPVAR_FLOAT_2 = 100@ // (float)
  4590. $TEMPVAR_FLOAT_2 += 0.01
  4591.  
  4592. :POOL2_30298
  4593. if
  4594. 0026:   $TEMPVAR_FLOAT_2 > 101@ // (float)
  4595. else_jump @POOL2_30335
  4596. 0088: $TEMPVAR_FLOAT_2 = 101@ // (float)
  4597. $TEMPVAR_FLOAT_2 -= 0.01
  4598.  
  4599. :POOL2_30335
  4600. 0087: 196@ = 304@(39@,3f) // (float)
  4601. 0063: 196@ -= 169@ // (float)
  4602. 0087: 197@ = 307@(39@,3f) // (float)
  4603. 0063: 197@ -= 170@ // (float)
  4604. 005B: 196@ += 344@ // (float)
  4605. 005B: 197@ += 345@ // (float)
  4606. 005A: 40@ += 357@ // (int)
  4607.  
  4608. :POOL2_30399
  4609. if and
  4610. 001D:   40@ > 357@ // (int)
  4611.   10 > 357@
  4612. else_jump @POOL2_30615
  4613. 0088: $TEMPVAR_FLOAT_1 = 196@ // (float)
  4614. 005F: $TEMPVAR_FLOAT_1 += 169@ // (float)
  4615. 0088: $TEMPVAR_FLOAT_2 = 197@ // (float)
  4616. 005F: $TEMPVAR_FLOAT_2 += 170@ // (float)
  4617. 0089: 196@ = $TEMPVAR_FLOAT_1 // (float)
  4618. 0089: 197@ = $TEMPVAR_FLOAT_2 // (float)
  4619. if
  4620.    Object.Exists(347@(357@,10i))
  4621. else_jump @POOL2_30601
  4622. if or
  4623. 0026:   $TEMPVAR_FLOAT_1 > 99@ // (float)
  4624. 0027:   98@ > $TEMPVAR_FLOAT_1 // (float)
  4625. 0026:   $TEMPVAR_FLOAT_2 > 101@ // (float)
  4626. 0027:   100@ > $TEMPVAR_FLOAT_2 // (float)
  4627. else_jump @POOL2_30572
  4628. 0750: set_object 347@(357@,10i) visibility 0
  4629. Object.PutAt(347@(357@,10i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4630. jump @POOL2_30601
  4631.  
  4632. :POOL2_30572
  4633. 0750: set_object 347@(357@,10i) visibility 1
  4634. Object.PutAt(347@(357@,10i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4635.  
  4636. :POOL2_30601
  4637. 357@ += 1
  4638. jump @POOL2_30399
  4639.  
  4640. :POOL2_30615
  4641. 39@ += 1
  4642. jump @POOL2_29896
  4643.  
  4644. :POOL2_30629
  4645. 281@ += 1
  4646.  
  4647. :POOL2_30636
  4648. if
  4649.   281@ == 3
  4650. else_jump @POOL2_30661
  4651. 281@ = 99
  4652.  
  4653. :POOL2_30661
  4654. jump @POOL2_28619
  4655.  
  4656. :POOL2_30668
  4657. return
  4658.  
  4659. :POOL2_30670
  4660. if
  4661.    not Actor.Dead(358@)
  4662. else_jump @POOL2_33710
  4663. if
  4664. 07D6:   358@ == $PLAYER_ACTOR // integer vars
  4665. else_jump @POOL2_30719
  4666. 360@ = 0
  4667. jump @POOL2_30726
  4668.  
  4669. :POOL2_30719
  4670. 360@ = 1
  4671.  
  4672. :POOL2_30726
  4673. if
  4674.    Actor.Animation(358@) == "POOL_XLONG_SHOT"
  4675. else_jump @POOL2_30992
  4676. if
  4677. 8737:   not actor 358@ lifting_object 359@
  4678. else_jump @POOL2_30819
  4679. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4680.  
  4681. :POOL2_30819
  4682. 0613: 42@ = actor 358@ animation "POOL_XLONG_SHOT" time
  4683. if
  4684. 0837:   object 359@ animation == "POOL_XLONG_SHOT_O"
  4685. else_jump @POOL2_30913
  4686. 083A: set_object 359@ animation "POOL_XLONG_SHOT_O" progress_to 42@
  4687. jump @POOL2_30992
  4688.  
  4689. :POOL2_30913
  4690. if
  4691. 075A: set_object 359@ animation "POOL_XLONG_SHOT_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4692. else_jump @POOL2_30992
  4693. 0836: set_object 359@ animation "POOL_XLONG_SHOT_O" at 0.0 times_normal_rate
  4694.  
  4695. :POOL2_30992
  4696. if and
  4697.    Actor.Animation(358@) == "POOL_XLONG_START"
  4698.    not Actor.Animation(358@) == "POOL_XLONG_SHOT"
  4699. else_jump @POOL2_31286
  4700. if
  4701. 8737:   not actor 358@ lifting_object 359@
  4702. else_jump @POOL2_31108
  4703. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4704.  
  4705. :POOL2_31108
  4706. 0613: 42@ = actor 358@ animation "POOL_XLONG_START" time
  4707. if
  4708. 0837:   object 359@ animation == "POOL_XLONG_START_O"
  4709. else_jump @POOL2_31205
  4710. 083A: set_object 359@ animation "POOL_XLONG_START_O" progress_to 42@
  4711. jump @POOL2_31286
  4712.  
  4713. :POOL2_31205
  4714. if
  4715. 075A: set_object 359@ animation "POOL_XLONG_START_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4716. else_jump @POOL2_31286
  4717. 0836: set_object 359@ animation "POOL_XLONG_START_O" at 0.0 times_normal_rate
  4718.  
  4719. :POOL2_31286
  4720. if
  4721.    Actor.Animation(358@) == "POOL_LONG_SHOT"
  4722. else_jump @POOL2_31546
  4723. if
  4724. 8737:   not actor 358@ lifting_object 359@
  4725. else_jump @POOL2_31378
  4726. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4727.  
  4728. :POOL2_31378
  4729. 0613: 42@ = actor 358@ animation "POOL_LONG_SHOT" time
  4730. if
  4731. 0837:   object 359@ animation == "POOL_LONG_SHOT_O"
  4732. else_jump @POOL2_31469
  4733. 083A: set_object 359@ animation "POOL_LONG_SHOT_O" progress_to 42@
  4734. jump @POOL2_31546
  4735.  
  4736. :POOL2_31469
  4737. if
  4738. 075A: set_object 359@ animation "POOL_LONG_SHOT_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4739. else_jump @POOL2_31546
  4740. 0836: set_object 359@ animation "POOL_LONG_SHOT_O" at 0.0 times_normal_rate
  4741.  
  4742. :POOL2_31546
  4743. if and
  4744.    Actor.Animation(358@) == "POOL_LONG_START"
  4745.    not Actor.Animation(358@) == "POOL_LONG_SHOT"
  4746. else_jump @POOL2_31833
  4747. if
  4748. 8737:   not actor 358@ lifting_object 359@
  4749. else_jump @POOL2_31660
  4750. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4751.  
  4752. :POOL2_31660
  4753. 0613: 42@ = actor 358@ animation "POOL_LONG_START" time
  4754. if
  4755. 0837:   object 359@ animation == "POOL_LONG_START_O"
  4756. else_jump @POOL2_31754
  4757. 083A: set_object 359@ animation "POOL_LONG_START_O" progress_to 42@
  4758. jump @POOL2_31833
  4759.  
  4760. :POOL2_31754
  4761. if
  4762. 075A: set_object 359@ animation "POOL_LONG_START_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4763. else_jump @POOL2_31833
  4764. 0836: set_object 359@ animation "POOL_LONG_START_O" at 0.0 times_normal_rate
  4765.  
  4766. :POOL2_31833
  4767. if
  4768.    Actor.Animation(358@) == "POOL_MED_SHOT"
  4769. else_jump @POOL2_32087
  4770. if
  4771. 8737:   not actor 358@ lifting_object 359@
  4772. else_jump @POOL2_31924
  4773. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4774.  
  4775. :POOL2_31924
  4776. 0613: 42@ = actor 358@ animation "POOL_MED_SHOT" time
  4777. if
  4778. 0837:   object 359@ animation == "POOL_MED_SHOT_O"
  4779. else_jump @POOL2_32012
  4780. 083A: set_object 359@ animation "POOL_MED_SHOT_O" progress_to 42@
  4781. jump @POOL2_32087
  4782.  
  4783. :POOL2_32012
  4784. if
  4785. 075A: set_object 359@ animation "POOL_MED_SHOT_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4786. else_jump @POOL2_32087
  4787. 0836: set_object 359@ animation "POOL_MED_SHOT_O" at 0.0 times_normal_rate
  4788.  
  4789. :POOL2_32087
  4790. if and
  4791.    Actor.Animation(358@) == "POOL_MED_START"
  4792.    not Actor.Animation(358@) == "POOL_MED_SHOT"
  4793. else_jump @POOL2_32367
  4794. if
  4795. 8737:   not actor 358@ lifting_object 359@
  4796. else_jump @POOL2_32199
  4797. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4798.  
  4799. :POOL2_32199
  4800. 0613: 42@ = actor 358@ animation "POOL_MED_START" time
  4801. if
  4802. 0837:   object 359@ animation == "POOL_MED_START_O"
  4803. else_jump @POOL2_32290
  4804. 083A: set_object 359@ animation "POOL_MED_START_O" progress_to 42@
  4805. jump @POOL2_32367
  4806.  
  4807. :POOL2_32290
  4808. if
  4809. 075A: set_object 359@ animation "POOL_MED_START_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4810. else_jump @POOL2_32367
  4811. 0836: set_object 359@ animation "POOL_MED_START_O" at 0.0 times_normal_rate
  4812.  
  4813. :POOL2_32367
  4814. if
  4815.    Actor.Animation(358@) == "POOL_SHORT_SHOT"
  4816. else_jump @POOL2_32633
  4817. if
  4818. 8737:   not actor 358@ lifting_object 359@
  4819. else_jump @POOL2_32460
  4820. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4821.  
  4822. :POOL2_32460
  4823. 0613: 42@ = actor 358@ animation "POOL_SHORT_SHOT" time
  4824. if
  4825. 0837:   object 359@ animation == "POOL_SHORT_SHOT_O"
  4826. else_jump @POOL2_32554
  4827. 083A: set_object 359@ animation "POOL_SHORT_SHOT_O" progress_to 42@
  4828. jump @POOL2_32633
  4829.  
  4830. :POOL2_32554
  4831. if
  4832. 075A: set_object 359@ animation "POOL_SHORT_SHOT_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4833. else_jump @POOL2_32633
  4834. 0836: set_object 359@ animation "POOL_SHORT_SHOT_O" at 0.0 times_normal_rate
  4835.  
  4836. :POOL2_32633
  4837. if and
  4838.    Actor.Animation(358@) == "POOL_SHORT_START"
  4839.    not Actor.Animation(358@) == "POOL_SHORT_SHOT"
  4840. else_jump @POOL2_32927
  4841. if
  4842. 8737:   not actor 358@ lifting_object 359@
  4843. else_jump @POOL2_32749
  4844. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4845.  
  4846. :POOL2_32749
  4847. 0613: 42@ = actor 358@ animation "POOL_SHORT_START" time
  4848. if
  4849. 0837:   object 359@ animation == "POOL_SHORT_START_O"
  4850. else_jump @POOL2_32846
  4851. 083A: set_object 359@ animation "POOL_SHORT_START_O" progress_to 42@
  4852. jump @POOL2_32927
  4853.  
  4854. :POOL2_32846
  4855. if
  4856. 075A: set_object 359@ animation "POOL_SHORT_START_O" IFP_file "POOL" 10000.0 lockF 0 loop 1 // IF AND SET
  4857. else_jump @POOL2_32927
  4858. 0836: set_object 359@ animation "POOL_SHORT_START_O" at 0.0 times_normal_rate
  4859.  
  4860. :POOL2_32927
  4861. if
  4862.    Actor.Animation(358@) == "POOL_CHALKCUE"
  4863. else_jump @POOL2_33130
  4864. if
  4865. 8737:   not actor 358@ lifting_object 359@
  4866. else_jump @POOL2_33018
  4867. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4868.  
  4869. :POOL2_33018
  4870. 0613: 42@ = actor 358@ animation "POOL_CHALKCUE" time
  4871. if
  4872.   42@ > 0.28
  4873. else_jump @POOL2_33123
  4874. if
  4875.    not 361@(360@,2i) == 1
  4876. else_jump @POOL2_33123
  4877. Object.StorePos(359@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  4878. 097A: play_audio_at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 event 1018
  4879. 361@(360@,2i) = 1
  4880.  
  4881. :POOL2_33123
  4882. jump @POOL2_33163
  4883.  
  4884. :POOL2_33130
  4885. if
  4886.    not 361@(360@,2i) == 0
  4887. else_jump @POOL2_33163
  4888. 361@(360@,2i) = 0
  4889.  
  4890. :POOL2_33163
  4891. if
  4892.    Actor.Animation(358@) == "POOL_IDLE_STANCE"
  4893. else_jump @POOL2_33257
  4894. if
  4895. 8737:   not actor 358@ lifting_object 359@
  4896. else_jump @POOL2_33257
  4897. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4898.  
  4899. :POOL2_33257
  4900. if
  4901.    Actor.Animation(358@) == "POOL_WALK"
  4902. else_jump @POOL2_33344
  4903. if
  4904. 8737:   not actor 358@ lifting_object 359@
  4905. else_jump @POOL2_33344
  4906. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4907.  
  4908. :POOL2_33344
  4909. if
  4910.    Actor.Animation(358@) == "POOL_WALK_START"
  4911. else_jump @POOL2_33437
  4912. if
  4913. 8737:   not actor 358@ lifting_object 359@
  4914. else_jump @POOL2_33437
  4915. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4916.  
  4917. :POOL2_33437
  4918. 39@ = 0
  4919. if and
  4920.    Actor.Animation(358@) == "IDLE_STANCE"
  4921. 803B:   not  215@ == 358@ // (int)
  4922. else_jump @POOL2_33488
  4923. 39@ = 1
  4924.  
  4925. :POOL2_33488
  4926. if and
  4927.    Actor.Animation(358@) == "IDLE_STANCE"
  4928.   35@ == 6
  4929. else_jump @POOL2_33531
  4930. 39@ = 1
  4931.  
  4932. :POOL2_33531
  4933. if
  4934.   39@ == 1
  4935. else_jump @POOL2_33710
  4936. 062E: unknown_get_actor 358@ task 1560 status_store_to 40@ // ret 7 if not found
  4937. if
  4938. 04A4:   40@ == 7 // @ == any
  4939. else_jump @POOL2_33710
  4940. 070B: set_actor 358@ onbone_attached_object_operation 0
  4941. 070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
  4942. 0615: define_AS_pack_begin 47@
  4943. 0812: AS_actor -1 perform_animation "POOL_IDLE_STANCE" IFP_file "POOL" 4.0 loopA 1 lockX 1 lockY 1 lockF 0 time -1 // versionB
  4944. 0616: define_AS_pack_end 47@
  4945. if
  4946.   108@ == 0
  4947. else_jump @POOL2_33705
  4948. 0618: assign_actor 358@ to_AS_pack 47@
  4949.  
  4950. :POOL2_33705
  4951. 061B: remove_references_to_AS_pack 47@
  4952.  
  4953. :POOL2_33710
  4954. return
  4955.  
  4956. :POOL2_33712
  4957. 369@ = 99999.9
  4958. 370@ = 99999.9
  4959. 371@ = 99999.9
  4960. 363@ = 99999.9
  4961. 365@ = 0.0
  4962. 364@ = 99999.9
  4963. 366@ = 0
  4964.  
  4965. :POOL2_33779
  4966. if
  4967.   6 > 366@
  4968. else_jump @POOL2_34021
  4969. 382@(366@,6f) = 0.0
  4970. 388@(366@,6f) = 0.0
  4971. 394@(366@,6f) = 0.0
  4972. 400@(366@,6f) = 0.0
  4973. 406@(366@,6f) = 0.0
  4974. 412@(366@,6f) = 0.0
  4975. 418@(366@,6f) = 0.0
  4976. 424@(366@,6f) = 0.0
  4977. 430@(366@,6f) = 0.0
  4978. 436@(366@,6f) = 0.0
  4979. 442@(366@,6f) = 0.0
  4980. 448@(366@,6f) = 0.0
  4981. 454@(366@,6f) = 0.0
  4982. 460@(366@,6f) = 0.0
  4983. 466@(366@,6f) = 0.0
  4984. 366@ += 1
  4985. jump @POOL2_33779
  4986.  
  4987. :POOL2_34021
  4988. 366@ = 1
  4989.  
  4990. :POOL2_34028
  4991. if
  4992.   16 > 366@
  4993. else_jump @POOL2_38299
  4994. wait 0
  4995. 381@ = 0
  4996. if
  4997.    Object.Exists(82@(366@,16i))
  4998. else_jump @POOL2_37232
  4999. if
  5000.   66@(366@,16i) == 0
  5001. else_jump @POOL2_37218
  5002. if
  5003.   8 > 366@
  5004. else_jump @POOL2_34131
  5005. 368@ = 0
  5006. jump @POOL2_34170
  5007.  
  5008. :POOL2_34131
  5009. if
  5010.   366@ == 8
  5011. else_jump @POOL2_34163
  5012. 368@ = 2
  5013. jump @POOL2_34170
  5014.  
  5015. :POOL2_34163
  5016. 368@ = 1
  5017.  
  5018. :POOL2_34170
  5019. if or
  5020. 003B:   368@ == 231@ // (int)
  5021.   231@ == -1
  5022. else_jump @POOL2_37204
  5023. if and
  5024.   231@ == -1
  5025.   368@ == 2
  5026. else_jump @POOL2_34235
  5027. 381@ = 1
  5028. jump @POOL2_37197
  5029.  
  5030. :POOL2_34235
  5031. if
  5032.   129@ == 1
  5033. else_jump @POOL2_34392
  5034. 03A9: NOP
  5035. 03A9: NOP
  5036. 05B6: 21 // BALL
  5037. 03A7: NOP 366@
  5038.  
  5039. :POOL2_34392
  5040. 367@ = 0
  5041.  
  5042. :POOL2_34399
  5043. if
  5044.   6 > 367@
  5045. else_jump @POOL2_37197
  5046. if
  5047.   129@ == 1
  5048. else_jump @POOL2_34572
  5049. 03A9: NOP
  5050. 05B6: 22 // POCKET
  5051. 03A7: NOP 367@
  5052.  
  5053. :POOL2_34572
  5054. 0085: 516@ = 82@(366@,16i) // (int)
  5055. 0085: 517@ = 367@ // (int)
  5056. gosub @POOL2_48775
  5057. if
  5058.   129@ == 1
  5059. else_jump @POOL2_34754
  5060. 03A9: NOP
  5061. 05B6: 23 //  REQUIRED ANGLE =
  5062. 03A8: NOP 519@
  5063.  
  5064. :POOL2_34754
  5065. if
  5066.   518@ == 1
  5067. else_jump @POOL2_36740
  5068. 0085: 481@ = 82@(366@,16i) // (int)
  5069. 482@ = 0
  5070. 0087: 483@ = 54@(367@,6f) // (float)
  5071. 0087: 484@ = 60@(367@,6f) // (float)
  5072. gosub @POOL2_46939
  5073. if
  5074.   485@ == 1
  5075. else_jump @POOL2_34857
  5076. 473@ = 1.0
  5077. jump @POOL2_34903
  5078.  
  5079. :POOL2_34857
  5080. if
  5081. 003B:   486@ == 368@ // (int)
  5082. else_jump @POOL2_34893
  5083. 473@ = 0.2
  5084. jump @POOL2_34903
  5085.  
  5086. :POOL2_34893
  5087. 473@ = 0.1
  5088.  
  5089. :POOL2_34903
  5090. if
  5091.   129@ == 1
  5092. else_jump @POOL2_35058
  5093. 03A9: NOP
  5094. 05B6: 24 //  POCKET_PATH_SCORE =
  5095. 03A8: NOP 473@
  5096.  
  5097. :POOL2_35058
  5098. Object.StorePos(82@(366@,16i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  5099. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 54@(367@,6f) 60@(367@,6f)
  5100. 475@ = 2.3
  5101. 0063: 475@ -= 42@ // (float)
  5102. 475@ /= 2.3
  5103. if
  5104.   129@ == 1
  5105. else_jump @POOL2_35284
  5106. 03A9: NOP
  5107. 05B6: 25 //  POCKET_DIST_SCORE =
  5108. 03A8: NOP 475@
  5109.  
  5110. :POOL2_35284
  5111. 476@ = 90.0
  5112. 0063: 476@ -= 519@ // (float)
  5113. 476@ /= 90.0
  5114. if
  5115.   129@ == 1
  5116. else_jump @POOL2_35467
  5117. 03A9: NOP
  5118. 05B6: 26 //  POCKET_ANGLE_SCORE =
  5119. 03A8: NOP 476@
  5120.  
  5121. :POOL2_35467
  5122. 0085: 481@ = 82@ // (int)
  5123. 0085: 482@ = 82@(366@,16i) // (int)
  5124. 0087: 483@ = 526@ // (float)
  5125. 0087: 484@ = 527@ // (float)
  5126. gosub @POOL2_46939
  5127. if
  5128.   485@ == 1
  5129. else_jump @POOL2_35545
  5130. 474@ = 1.0
  5131. jump @POOL2_35776
  5132.  
  5133. :POOL2_35545
  5134. if
  5135.   129@ == 1
  5136. else_jump @POOL2_35695
  5137. 03A9: NOP
  5138. 05B6: 27 //    (PATH NOT CLEAR FROM CUE BALL TO THIS BALL)
  5139.  
  5140. :POOL2_35695
  5141. if
  5142.   231@ == -1
  5143. else_jump @POOL2_35730
  5144. 474@ = 0.05
  5145. jump @POOL2_35776
  5146.  
  5147. :POOL2_35730
  5148. if
  5149. 003B:   486@ == 231@ // (int)
  5150. else_jump @POOL2_35766
  5151. 474@ = 0.05
  5152. jump @POOL2_35776
  5153.  
  5154. :POOL2_35766
  5155. 474@ = -1000.0
  5156.  
  5157. :POOL2_35776
  5158. if
  5159.   129@ == 1
  5160. else_jump @POOL2_35931
  5161. 03A9: NOP
  5162. 05B6: 28 //  CUE_PATH_SCORE =
  5163. 03A8: NOP 474@
  5164.  
  5165. :POOL2_35931
  5166. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  5167. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 526@ 527@
  5168. if
  5169.   0.3 > 42@
  5170. else_jump @POOL2_36019
  5171. 43@ = 0.3
  5172. 0063: 43@ -= 42@ // (float)
  5173. 42@ = 0.3
  5174. 005B: 42@ += 43@ // (float)
  5175.  
  5176. :POOL2_36019
  5177. 42@ += -0.3
  5178. 43@ = 2.0
  5179. 0063: 43@ -= 42@ // (float)
  5180. 43@ /= 2.0
  5181. 0087: 472@ = 43@ // (float)
  5182. if
  5183.   129@ == 1
  5184. else_jump @POOL2_36220
  5185. 03A9: NOP
  5186. 05B6: 29 //  CUE_DIST_SCORE =
  5187. 03A8: NOP 472@
  5188.  
  5189. :POOL2_36220
  5190. 473@ *= 1.0
  5191. 474@ *= 1.0
  5192. 472@ *= 0.3
  5193. 475@ *= 0.4
  5194. 476@ *= 0.8
  5195. 0087: 477@ = 473@ // (float)
  5196. 005B: 477@ += 474@ // (float)
  5197. 005B: 477@ += 472@ // (float)
  5198. 005B: 477@ += 475@ // (float)
  5199. 005B: 477@ += 476@ // (float)
  5200. 477@ /= 5.0
  5201. 0871: init_jump_table 366@ total_jumps 15 default_jump 0 @POOL2_36733 jumps 1 @POOL2_36448 2 @POOL2_36467 3 @POOL2_36486 4 @POOL2_36505 5 @POOL2_36524 6 @POOL2_36543 7 @POOL2_36562
  5202. 0872: jump_table_jumps 8 @POOL2_36581 9 @POOL2_36600 10 @POOL2_36619 11 @POOL2_36638 12 @POOL2_36657 13 @POOL2_36676 14 @POOL2_36695 15 @POOL2_36714 -1 @POOL2_36733
  5203.  
  5204. :POOL2_36448
  5205. 0087: 382@(367@,6f) = 477@ // (float)
  5206. jump @POOL2_36733
  5207.  
  5208. :POOL2_36467
  5209. 0087: 388@(367@,6f) = 477@ // (float)
  5210. jump @POOL2_36733
  5211.  
  5212. :POOL2_36486
  5213. 0087: 394@(367@,6f) = 477@ // (float)
  5214. jump @POOL2_36733
  5215.  
  5216. :POOL2_36505
  5217. 0087: 400@(367@,6f) = 477@ // (float)
  5218. jump @POOL2_36733
  5219.  
  5220. :POOL2_36524
  5221. 0087: 406@(367@,6f) = 477@ // (float)
  5222. jump @POOL2_36733
  5223.  
  5224. :POOL2_36543
  5225. 0087: 412@(367@,6f) = 477@ // (float)
  5226. jump @POOL2_36733
  5227.  
  5228. :POOL2_36562
  5229. 0087: 418@(367@,6f) = 477@ // (float)
  5230. jump @POOL2_36733
  5231.  
  5232. :POOL2_36581
  5233. 0087: 424@(367@,6f) = 477@ // (float)
  5234. jump @POOL2_36733
  5235.  
  5236. :POOL2_36600
  5237. 0087: 430@(367@,6f) = 477@ // (float)
  5238. jump @POOL2_36733
  5239.  
  5240. :POOL2_36619
  5241. 0087: 436@(367@,6f) = 477@ // (float)
  5242. jump @POOL2_36733
  5243.  
  5244. :POOL2_36638
  5245. 0087: 442@(367@,6f) = 477@ // (float)
  5246. jump @POOL2_36733
  5247.  
  5248. :POOL2_36657
  5249. 0087: 448@(367@,6f) = 477@ // (float)
  5250. jump @POOL2_36733
  5251.  
  5252. :POOL2_36676
  5253. 0087: 454@(367@,6f) = 477@ // (float)
  5254. jump @POOL2_36733
  5255.  
  5256. :POOL2_36695
  5257. 0087: 460@(367@,6f) = 477@ // (float)
  5258. jump @POOL2_36733
  5259.  
  5260. :POOL2_36714
  5261. 0087: 466@(367@,6f) = 477@ // (float)
  5262. jump @POOL2_36733
  5263.  
  5264. :POOL2_36733
  5265. jump @POOL2_37183
  5266.  
  5267. :POOL2_36740
  5268. 0871: init_jump_table 366@ total_jumps 15 default_jump 0 @POOL2_37183 jumps 1 @POOL2_36868 2 @POOL2_36889 3 @POOL2_36910 4 @POOL2_36931 5 @POOL2_36952 6 @POOL2_36973 7 @POOL2_36994
  5269. 0872: jump_table_jumps 8 @POOL2_37015 9 @POOL2_37036 10 @POOL2_37057 11 @POOL2_37078 12 @POOL2_37099 13 @POOL2_37120 14 @POOL2_37141 15 @POOL2_37162 -1 @POOL2_37183
  5270.  
  5271. :POOL2_36868
  5272. 382@(367@,6f) = -1.0
  5273. jump @POOL2_37183
  5274.  
  5275. :POOL2_36889
  5276. 388@(367@,6f) = -1.0
  5277. jump @POOL2_37183
  5278.  
  5279. :POOL2_36910
  5280. 394@(367@,6f) = -1.0
  5281. jump @POOL2_37183
  5282.  
  5283. :POOL2_36931
  5284. 400@(367@,6f) = -1.0
  5285. jump @POOL2_37183
  5286.  
  5287. :POOL2_36952
  5288. 406@(367@,6f) = -1.0
  5289. jump @POOL2_37183
  5290.  
  5291. :POOL2_36973
  5292. 412@(367@,6f) = -1.0
  5293. jump @POOL2_37183
  5294.  
  5295. :POOL2_36994
  5296. 418@(367@,6f) = -1.0
  5297. jump @POOL2_37183
  5298.  
  5299. :POOL2_37015
  5300. 424@(367@,6f) = -1.0
  5301. jump @POOL2_37183
  5302.  
  5303. :POOL2_37036
  5304. 430@(367@,6f) = -1.0
  5305. jump @POOL2_37183
  5306.  
  5307. :POOL2_37057
  5308. 436@(367@,6f) = -1.0
  5309. jump @POOL2_37183
  5310.  
  5311. :POOL2_37078
  5312. 442@(367@,6f) = -1.0
  5313. jump @POOL2_37183
  5314.  
  5315. :POOL2_37099
  5316. 448@(367@,6f) = -1.0
  5317. jump @POOL2_37183
  5318.  
  5319. :POOL2_37120
  5320. 454@(367@,6f) = -1.0
  5321. jump @POOL2_37183
  5322.  
  5323. :POOL2_37141
  5324. 460@(367@,6f) = -1.0
  5325. jump @POOL2_37183
  5326.  
  5327. :POOL2_37162
  5328. 466@(367@,6f) = -1.0
  5329. jump @POOL2_37183
  5330.  
  5331. :POOL2_37183
  5332. 367@ += 1
  5333. jump @POOL2_34399
  5334.  
  5335. :POOL2_37197
  5336. jump @POOL2_37211
  5337.  
  5338. :POOL2_37204
  5339. 381@ = 1
  5340.  
  5341. :POOL2_37211
  5342. jump @POOL2_37225
  5343.  
  5344. :POOL2_37218
  5345. 381@ = 1
  5346.  
  5347. :POOL2_37225
  5348. jump @POOL2_37239
  5349.  
  5350. :POOL2_37232
  5351. 381@ = 1
  5352.  
  5353. :POOL2_37239
  5354. if
  5355.   381@ == 1
  5356. else_jump @POOL2_38285
  5357. 0871: init_jump_table 366@ total_jumps 15 default_jump 0 @POOL2_38285 jumps 1 @POOL2_37385 2 @POOL2_37445 3 @POOL2_37505 4 @POOL2_37565 5 @POOL2_37625 6 @POOL2_37685 7 @POOL2_37745
  5358. 0872: jump_table_jumps 8 @POOL2_37805 9 @POOL2_37865 10 @POOL2_37925 11 @POOL2_37985 12 @POOL2_38045 13 @POOL2_38105 14 @POOL2_38165 15 @POOL2_38225 -1 @POOL2_38285
  5359.  
  5360. :POOL2_37385
  5361. 367@ = 0
  5362.  
  5363. :POOL2_37392
  5364. if
  5365.   6 > 367@
  5366. else_jump @POOL2_37438
  5367. 382@(367@,6f) = -1.0
  5368. 367@ += 1
  5369. jump @POOL2_37392
  5370.  
  5371. :POOL2_37438
  5372. jump @POOL2_38285
  5373.  
  5374. :POOL2_37445
  5375. 367@ = 0
  5376.  
  5377. :POOL2_37452
  5378. if
  5379.   6 > 367@
  5380. else_jump @POOL2_37498
  5381. 388@(367@,6f) = -1.0
  5382. 367@ += 1
  5383. jump @POOL2_37452
  5384.  
  5385. :POOL2_37498
  5386. jump @POOL2_38285
  5387.  
  5388. :POOL2_37505
  5389. 367@ = 0
  5390.  
  5391. :POOL2_37512
  5392. if
  5393.   6 > 367@
  5394. else_jump @POOL2_37558
  5395. 394@(367@,6f) = -1.0
  5396. 367@ += 1
  5397. jump @POOL2_37512
  5398.  
  5399. :POOL2_37558
  5400. jump @POOL2_38285
  5401.  
  5402. :POOL2_37565
  5403. 367@ = 0
  5404.  
  5405. :POOL2_37572
  5406. if
  5407.   6 > 367@
  5408. else_jump @POOL2_37618
  5409. 400@(367@,6f) = -1.0
  5410. 367@ += 1
  5411. jump @POOL2_37572
  5412.  
  5413. :POOL2_37618
  5414. jump @POOL2_38285
  5415.  
  5416. :POOL2_37625
  5417. 367@ = 0
  5418.  
  5419. :POOL2_37632
  5420. if
  5421.   6 > 367@
  5422. else_jump @POOL2_37678
  5423. 406@(367@,6f) = -1.0
  5424. 367@ += 1
  5425. jump @POOL2_37632
  5426.  
  5427. :POOL2_37678
  5428. jump @POOL2_38285
  5429.  
  5430. :POOL2_37685
  5431. 367@ = 0
  5432.  
  5433. :POOL2_37692
  5434. if
  5435.   6 > 367@
  5436. else_jump @POOL2_37738
  5437. 412@(367@,6f) = -1.0
  5438. 367@ += 1
  5439. jump @POOL2_37692
  5440.  
  5441. :POOL2_37738
  5442. jump @POOL2_38285
  5443.  
  5444. :POOL2_37745
  5445. 367@ = 0
  5446.  
  5447. :POOL2_37752
  5448. if
  5449.   6 > 367@
  5450. else_jump @POOL2_37798
  5451. 418@(367@,6f) = -1.0
  5452. 367@ += 1
  5453. jump @POOL2_37752
  5454.  
  5455. :POOL2_37798
  5456. jump @POOL2_38285
  5457.  
  5458. :POOL2_37805
  5459. 367@ = 0
  5460.  
  5461. :POOL2_37812
  5462. if
  5463.   6 > 367@
  5464. else_jump @POOL2_37858
  5465. 424@(367@,6f) = -1.0
  5466. 367@ += 1
  5467. jump @POOL2_37812
  5468.  
  5469. :POOL2_37858
  5470. jump @POOL2_38285
  5471.  
  5472. :POOL2_37865
  5473. 367@ = 0
  5474.  
  5475. :POOL2_37872
  5476. if
  5477.   6 > 367@
  5478. else_jump @POOL2_37918
  5479. 430@(367@,6f) = -1.0
  5480. 367@ += 1
  5481. jump @POOL2_37872
  5482.  
  5483. :POOL2_37918
  5484. jump @POOL2_38285
  5485.  
  5486. :POOL2_37925
  5487. 367@ = 0
  5488.  
  5489. :POOL2_37932
  5490. if
  5491.   6 > 367@
  5492. else_jump @POOL2_37978
  5493. 436@(367@,6f) = -1.0
  5494. 367@ += 1
  5495. jump @POOL2_37932
  5496.  
  5497. :POOL2_37978
  5498. jump @POOL2_38285
  5499.  
  5500. :POOL2_37985
  5501. 367@ = 0
  5502.  
  5503. :POOL2_37992
  5504. if
  5505.   6 > 367@
  5506. else_jump @POOL2_38038
  5507. 442@(367@,6f) = -1.0
  5508. 367@ += 1
  5509. jump @POOL2_37992
  5510.  
  5511. :POOL2_38038
  5512. jump @POOL2_38285
  5513.  
  5514. :POOL2_38045
  5515. 367@ = 0
  5516.  
  5517. :POOL2_38052
  5518. if
  5519.   6 > 367@
  5520. else_jump @POOL2_38098
  5521. 448@(367@,6f) = -1.0
  5522. 367@ += 1
  5523. jump @POOL2_38052
  5524.  
  5525. :POOL2_38098
  5526. jump @POOL2_38285
  5527.  
  5528. :POOL2_38105
  5529. 367@ = 0
  5530.  
  5531. :POOL2_38112
  5532. if
  5533.   6 > 367@
  5534. else_jump @POOL2_38158
  5535. 454@(367@,6f) = -1.0
  5536. 367@ += 1
  5537. jump @POOL2_38112
  5538.  
  5539. :POOL2_38158
  5540. jump @POOL2_38285
  5541.  
  5542. :POOL2_38165
  5543. 367@ = 0
  5544.  
  5545. :POOL2_38172
  5546. if
  5547.   6 > 367@
  5548. else_jump @POOL2_38218
  5549. 460@(367@,6f) = -1.0
  5550. 367@ += 1
  5551. jump @POOL2_38172
  5552.  
  5553. :POOL2_38218
  5554. jump @POOL2_38285
  5555.  
  5556. :POOL2_38225
  5557. 367@ = 0
  5558.  
  5559. :POOL2_38232
  5560. if
  5561.   6 > 367@
  5562. else_jump @POOL2_38278
  5563. 466@(367@,6f) = -1.0
  5564. 367@ += 1
  5565. jump @POOL2_38232
  5566.  
  5567. :POOL2_38278
  5568. jump @POOL2_38285
  5569.  
  5570. :POOL2_38285
  5571. 366@ += 1
  5572. jump @POOL2_34028
  5573.  
  5574. :POOL2_38299
  5575. 478@ = -9999.9
  5576. 479@ = -1
  5577. 480@ = -1
  5578. 366@ = 0
  5579. if
  5580.   129@ == 1
  5581. else_jump @POOL2_38480
  5582. 03A9: NOP
  5583. 05B6: 30 // POOL AI POTENTIAL SHOT SCORES
  5584.  
  5585. :POOL2_38480
  5586. if
  5587.   6 > 366@
  5588. else_jump @POOL2_41804
  5589. if
  5590.   129@ == 1
  5591. else_jump @POOL2_38794
  5592. 03A9: NOP
  5593. 05B6: 31 // POCKET
  5594. 03A7: NOP 366@
  5595. 03A9: NOP
  5596. 05B6: 32 // BALL 01 =
  5597. 03A8: NOP 382@(366@,6f)
  5598.  
  5599. :POOL2_38794
  5600. if
  5601. 0025:   382@(366@,6f) > 478@ // (float)
  5602. else_jump @POOL2_38844
  5603. 0087: 478@ = 382@(366@,6f) // (float)
  5604. 479@ = 1
  5605. 0085: 480@ = 366@ // (int)
  5606.  
  5607. :POOL2_38844
  5608. if
  5609.   129@ == 1
  5610. else_jump @POOL2_39003
  5611. 03A9: NOP
  5612. 05B6: 33 // BALL 02 =
  5613. 03A8: NOP 388@(366@,6f)
  5614.  
  5615. :POOL2_39003
  5616. if
  5617. 0025:   388@(366@,6f) > 478@ // (float)
  5618. else_jump @POOL2_39053
  5619. 0087: 478@ = 388@(366@,6f) // (float)
  5620. 479@ = 2
  5621. 0085: 480@ = 366@ // (int)
  5622.  
  5623. :POOL2_39053
  5624. if
  5625.   129@ == 1
  5626. else_jump @POOL2_39212
  5627. 03A9: NOP
  5628. 05B6: 34 // BALL 03 =
  5629. 03A8: NOP 394@(366@,6f)
  5630.  
  5631. :POOL2_39212
  5632. if
  5633. 0025:   394@(366@,6f) > 478@ // (float)
  5634. else_jump @POOL2_39262
  5635. 0087: 478@ = 394@(366@,6f) // (float)
  5636. 479@ = 3
  5637. 0085: 480@ = 366@ // (int)
  5638.  
  5639. :POOL2_39262
  5640. if
  5641.   129@ == 1
  5642. else_jump @POOL2_39421
  5643. 03A9: NOP
  5644. 05B6: 35 // BALL 04 =
  5645. 03A8: NOP 400@(366@,6f)
  5646.  
  5647. :POOL2_39421
  5648. if
  5649. 0025:   400@(366@,6f) > 478@ // (float)
  5650. else_jump @POOL2_39471
  5651. 0087: 478@ = 400@(366@,6f) // (float)
  5652. 479@ = 4
  5653. 0085: 480@ = 366@ // (int)
  5654.  
  5655. :POOL2_39471
  5656. if
  5657.   129@ == 1
  5658. else_jump @POOL2_39630
  5659. 03A9: NOP
  5660. 05B6: 36 // BALL 05 =
  5661. 03A8: NOP 406@(366@,6f)
  5662.  
  5663. :POOL2_39630
  5664. if
  5665. 0025:   406@(366@,6f) > 478@ // (float)
  5666. else_jump @POOL2_39680
  5667. 0087: 478@ = 406@(366@,6f) // (float)
  5668. 479@ = 5
  5669. 0085: 480@ = 366@ // (int)
  5670.  
  5671. :POOL2_39680
  5672. if
  5673.   129@ == 1
  5674. else_jump @POOL2_39839
  5675. 03A9: NOP
  5676. 05B6: 37 // BALL 06 =
  5677. 03A8: NOP 412@(366@,6f)
  5678.  
  5679. :POOL2_39839
  5680. if
  5681. 0025:   412@(366@,6f) > 478@ // (float)
  5682. else_jump @POOL2_39889
  5683. 0087: 478@ = 412@(366@,6f) // (float)
  5684. 479@ = 6
  5685. 0085: 480@ = 366@ // (int)
  5686.  
  5687. :POOL2_39889
  5688. if
  5689.   129@ == 1
  5690. else_jump @POOL2_40048
  5691. 03A9: NOP
  5692. 05B6: 38 // BALL 07 =
  5693. 03A8: NOP 418@(366@,6f)
  5694.  
  5695. :POOL2_40048
  5696. if
  5697. 0025:   418@(366@,6f) > 478@ // (float)
  5698. else_jump @POOL2_40098
  5699. 0087: 478@ = 418@(366@,6f) // (float)
  5700. 479@ = 7
  5701. 0085: 480@ = 366@ // (int)
  5702.  
  5703. :POOL2_40098
  5704. if
  5705.   129@ == 1
  5706. else_jump @POOL2_40257
  5707. 03A9: NOP
  5708. 05B6: 39 // BALL 08 =
  5709. 03A8: NOP 424@(366@,6f)
  5710.  
  5711. :POOL2_40257
  5712. if
  5713. 0025:   424@(366@,6f) > 478@ // (float)
  5714. else_jump @POOL2_40307
  5715. 0087: 478@ = 424@(366@,6f) // (float)
  5716. 479@ = 8
  5717. 0085: 480@ = 366@ // (int)
  5718.  
  5719. :POOL2_40307
  5720. if
  5721.   129@ == 1
  5722. else_jump @POOL2_40466
  5723. 03A9: NOP
  5724. 05B6: 40 // BALL 09 =
  5725. 03A8: NOP 430@(366@,6f)
  5726.  
  5727. :POOL2_40466
  5728. if
  5729. 0025:   430@(366@,6f) > 478@ // (float)
  5730. else_jump @POOL2_40516
  5731. 0087: 478@ = 430@(366@,6f) // (float)
  5732. 479@ = 9
  5733. 0085: 480@ = 366@ // (int)
  5734.  
  5735. :POOL2_40516
  5736. if
  5737.   129@ == 1
  5738. else_jump @POOL2_40675
  5739. 03A9: NOP
  5740. 05B6: 41 // BALL 10 =
  5741. 03A8: NOP 436@(366@,6f)
  5742.  
  5743. :POOL2_40675
  5744. if
  5745. 0025:   436@(366@,6f) > 478@ // (float)
  5746. else_jump @POOL2_40725
  5747. 0087: 478@ = 436@(366@,6f) // (float)
  5748. 479@ = 10
  5749. 0085: 480@ = 366@ // (int)
  5750.  
  5751. :POOL2_40725
  5752. if
  5753.   129@ == 1
  5754. else_jump @POOL2_40884
  5755. 03A9: NOP
  5756. 05B6: 42 // BALL 11 =
  5757. 03A8: NOP 442@(366@,6f)
  5758.  
  5759. :POOL2_40884
  5760. if
  5761. 0025:   442@(366@,6f) > 478@ // (float)
  5762. else_jump @POOL2_40934
  5763. 0087: 478@ = 442@(366@,6f) // (float)
  5764. 479@ = 11
  5765. 0085: 480@ = 366@ // (int)
  5766.  
  5767. :POOL2_40934
  5768. if
  5769.   129@ == 1
  5770. else_jump @POOL2_41093
  5771. 03A9: NOP
  5772. 05B6: 43 // BALL 12 =
  5773. 03A8: NOP 448@(366@,6f)
  5774.  
  5775. :POOL2_41093
  5776. if
  5777. 0025:   448@(366@,6f) > 478@ // (float)
  5778. else_jump @POOL2_41143
  5779. 0087: 478@ = 448@(366@,6f) // (float)
  5780. 479@ = 12
  5781. 0085: 480@ = 366@ // (int)
  5782.  
  5783. :POOL2_41143
  5784. if
  5785.   129@ == 1
  5786. else_jump @POOL2_41302
  5787. 03A9: NOP
  5788. 05B6: 44 // BALL 13 =
  5789. 03A8: NOP 454@(366@,6f)
  5790.  
  5791. :POOL2_41302
  5792. if
  5793. 0025:   454@(366@,6f) > 478@ // (float)
  5794. else_jump @POOL2_41352
  5795. 0087: 478@ = 454@(366@,6f) // (float)
  5796. 479@ = 13
  5797. 0085: 480@ = 366@ // (int)
  5798.  
  5799. :POOL2_41352
  5800. if
  5801.   129@ == 1
  5802. else_jump @POOL2_41511
  5803. 03A9: NOP
  5804. 05B6: 45 // BALL 14 =
  5805. 03A8: NOP 460@(366@,6f)
  5806.  
  5807. :POOL2_41511
  5808. if
  5809. 0025:   460@(366@,6f) > 478@ // (float)
  5810. else_jump @POOL2_41561
  5811. 0087: 478@ = 460@(366@,6f) // (float)
  5812. 479@ = 14
  5813. 0085: 480@ = 366@ // (int)
  5814.  
  5815. :POOL2_41561
  5816. if
  5817.   129@ == 1
  5818. else_jump @POOL2_41720
  5819. 03A9: NOP
  5820. 05B6: 46 // BALL 15 =
  5821. 03A8: NOP 466@(366@,6f)
  5822.  
  5823. :POOL2_41720
  5824. if
  5825. 0025:   466@(366@,6f) > 478@ // (float)
  5826. else_jump @POOL2_41770
  5827. 0087: 478@ = 466@(366@,6f) // (float)
  5828. 479@ = 15
  5829. 0085: 480@ = 366@ // (int)
  5830.  
  5831. :POOL2_41770
  5832. if
  5833.   129@ == 1
  5834. else_jump @POOL2_41790
  5835. 03A9: NOP
  5836.  
  5837. :POOL2_41790
  5838. 366@ += 1
  5839. jump @POOL2_38480
  5840.  
  5841. :POOL2_41804
  5842. if
  5843.   478@ > 0.0
  5844. else_jump @POOL2_42225
  5845. Object.StorePos(82@(479@,16i), 372@, 373@, 374@)
  5846. Object.StorePos(82@, 378@, 379@, 380@)
  5847. 0087: 375@ = 54@(480@,6f) // (float)
  5848. 0063: 375@ -= 372@ // (float)
  5849. 0087: 376@ = 60@(480@,6f) // (float)
  5850. 0063: 376@ -= 373@ // (float)
  5851. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 54@(480@,6f) 60@(480@,6f)
  5852. 0073: 375@ /= 42@ // (float)
  5853. 0073: 376@ /= 42@ // (float)
  5854. 0087: 43@ = 52@ // (float)
  5855. 43@ *= -2.0
  5856. 006B: 375@ *= 43@ // (float)
  5857. 006B: 376@ *= 43@ // (float)
  5858. 0087: 369@ = 372@ // (float)
  5859. 005B: 369@ += 375@ // (float)
  5860. 0087: 370@ = 373@ // (float)
  5861. 005B: 370@ += 376@ // (float)
  5862. 0088: $TEMPVAR_FLOAT_1 = 372@ // (float)
  5863. 0067: $TEMPVAR_FLOAT_1 -= 369@ // (float)
  5864. 0088: $TEMPVAR_FLOAT_2 = 373@ // (float)
  5865. 0067: $TEMPVAR_FLOAT_2 -= 370@ // (float)
  5866. 0087: 169@ = 369@ // (float)
  5867. 0063: 169@ -= 378@ // (float)
  5868. 0087: 170@ = 370@ // (float)
  5869. 0063: 170@ -= 379@ // (float)
  5870. 05A4: get_angle_between_vectors_origin_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_origin_to 169@ 170@ store_to 365@
  5871. 0087: 42@ = 365@ // (float)
  5872. 42@ /= 90.0
  5873. 42@ *= 0.25
  5874. 006D: $TEMPVAR_FLOAT_1 *= 42@ // (float)
  5875. 006D: $TEMPVAR_FLOAT_2 *= 42@ // (float)
  5876. 005D: 369@ += $TEMPVAR_FLOAT_1 // (float)
  5877. 005D: 370@ += $TEMPVAR_FLOAT_2 // (float)
  5878. 0509: 42@ = distance_between_XY 378@ 379@ and_XY 369@ 370@
  5879. 0509: 43@ = distance_between_XY 372@ 373@ and_XY 369@ 370@
  5880. 0087: 371@ = 42@ // (float)
  5881. 005B: 371@ += 43@ // (float)
  5882. 0208: 42@ = random_float_in_ranges 2.0 6.0
  5883. 006B: 371@ *= 42@ // (float)
  5884. jump @POOL2_46712
  5885.  
  5886. :POOL2_42225
  5887. if
  5888.   129@ == 1
  5889. else_jump @POOL2_42375
  5890. 03A9: NOP
  5891. 05B6: 47 // HIT AND HOPE
  5892.  
  5893. :POOL2_42375
  5894. 366@ = 1
  5895.  
  5896. :POOL2_42382
  5897. if
  5898.   16 > 366@
  5899. else_jump @POOL2_42981
  5900. wait 0
  5901. if
  5902.    Object.Exists(82@(366@,16i))
  5903. else_jump @POOL2_42967
  5904. if
  5905.   66@(366@,16i) == 0
  5906. else_jump @POOL2_42967
  5907. if
  5908.   366@ == 0
  5909. else_jump @POOL2_42478
  5910. 368@ = 3
  5911. jump @POOL2_42549
  5912.  
  5913. :POOL2_42478
  5914. if
  5915.   8 > 366@
  5916. else_jump @POOL2_42510
  5917. 368@ = 0
  5918. jump @POOL2_42549
  5919.  
  5920. :POOL2_42510
  5921. if
  5922.   366@ == 8
  5923. else_jump @POOL2_42542
  5924. 368@ = 2
  5925. jump @POOL2_42549
  5926.  
  5927. :POOL2_42542
  5928. 368@ = 1
  5929.  
  5930. :POOL2_42549
  5931. if or
  5932. 003B:   368@ == 231@ // (int)
  5933.   231@ == -1
  5934. else_jump @POOL2_42967
  5935. if and
  5936.   231@ == 0
  5937.   368@ == 2
  5938. else_jump @POOL2_42607
  5939. jump @POOL2_42967
  5940.  
  5941. :POOL2_42607
  5942. 0085: 528@ = 82@ // (int)
  5943. 0085: 529@ = 82@(366@,16i) // (int)
  5944. gosub @POOL2_49095
  5945. if
  5946.    not 530@ == 0
  5947. else_jump @POOL2_42967
  5948. if
  5949.   530@ == 1
  5950. else_jump @POOL2_42693
  5951. 0087: 369@ = 539@ // (float)
  5952. 0087: 370@ = 540@ // (float)
  5953. jump @POOL2_42898
  5954.  
  5955. :POOL2_42693
  5956. if
  5957.   530@ == 2
  5958. else_jump @POOL2_42734
  5959. 0087: 369@ = 541@ // (float)
  5960. 0087: 370@ = 542@ // (float)
  5961. jump @POOL2_42898
  5962.  
  5963. :POOL2_42734
  5964. 0088: $TEMPVAR_FLOAT_1 = 541@ // (float)
  5965. 0067: $TEMPVAR_FLOAT_1 -= 539@ // (float)
  5966. 0088: $TEMPVAR_FLOAT_2 = 542@ // (float)
  5967. 0067: $TEMPVAR_FLOAT_2 -= 540@ // (float)
  5968. 0509: 42@ = distance_between_XY 539@ 540@ and_XY 541@ 542@
  5969. 0075: $TEMPVAR_FLOAT_1 /= 42@ // (float)
  5970. 0075: $TEMPVAR_FLOAT_2 /= 42@ // (float)
  5971. 0087: 42@ = 52@ // (float)
  5972. 42@ *= 2.0
  5973. 42@ *= 0.8
  5974. 42@ *= 2.0
  5975. 0208: 43@ = random_float_in_ranges 0.0 42@
  5976. 006D: $TEMPVAR_FLOAT_1 *= 43@ // (float)
  5977. 006D: $TEMPVAR_FLOAT_2 *= 43@ // (float)
  5978. 0087: 369@ = 539@ // (float)
  5979. 005D: 369@ += $TEMPVAR_FLOAT_1 // (float)
  5980. 0087: 370@ = 540@ // (float)
  5981. 005D: 370@ += $TEMPVAR_FLOAT_2 // (float)
  5982.  
  5983. :POOL2_42898
  5984. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  5985. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 369@ 370@
  5986. 0208: 43@ = random_float_in_ranges 2.0 5.0
  5987. 0087: 371@ = 42@ // (float)
  5988. 006B: 371@ *= 43@ // (float)
  5989. 366@ = 16
  5990.  
  5991. :POOL2_42967
  5992. 366@ += 1
  5993. jump @POOL2_42382
  5994.  
  5995. :POOL2_42981
  5996. if and
  5997.   369@ == 99999.9
  5998.   370@ == 99999.9
  5999. else_jump @POOL2_45009
  6000. if
  6001.   129@ == 1
  6002. else_jump @POOL2_43162
  6003. 03A9: NOP
  6004. 05B6: 48 // BOUNCE OFF CUSHION
  6005.  
  6006. :POOL2_43162
  6007. 366@ = 1
  6008.  
  6009. :POOL2_43169
  6010. if
  6011.   16 > 366@
  6012. else_jump @POOL2_45009
  6013. wait 0
  6014. if
  6015.    Object.Exists(82@(366@,16i))
  6016. else_jump @POOL2_44995
  6017. if
  6018.   66@(366@,16i) == 0
  6019. else_jump @POOL2_44995
  6020. if
  6021.   366@ == 0
  6022. else_jump @POOL2_43265
  6023. 368@ = 3
  6024. jump @POOL2_43336
  6025.  
  6026. :POOL2_43265
  6027. if
  6028.   8 > 366@
  6029. else_jump @POOL2_43297
  6030. 368@ = 0
  6031. jump @POOL2_43336
  6032.  
  6033. :POOL2_43297
  6034. if
  6035.   366@ == 8
  6036. else_jump @POOL2_43329
  6037. 368@ = 2
  6038. jump @POOL2_43336
  6039.  
  6040. :POOL2_43329
  6041. 368@ = 1
  6042.  
  6043. :POOL2_43336
  6044. if or
  6045. 003B:   368@ == 231@ // (int)
  6046.   231@ == -1
  6047. else_jump @POOL2_44995
  6048. if and
  6049.   231@ == -1
  6050.   368@ == 2
  6051. else_jump @POOL2_43394
  6052. jump @POOL2_44995
  6053.  
  6054. :POOL2_43394
  6055. Object.StorePos(82@, 372@, 373@, 374@)
  6056. Object.StorePos(82@(366@,16i), 375@, 376@, 377@)
  6057. if
  6058.   129@ == 1
  6059. else_jump @POOL2_43576
  6060. 03A9: NOP
  6061. 05B6: 49 //   CUSHION 1 DATA =
  6062.  
  6063. :POOL2_43576
  6064. 0087: 378@ = 372@ // (float)
  6065. 005B: 378@ += 375@ // (float)
  6066. 378@ /= 2.0
  6067. 0087: 379@ = 100@ // (float)
  6068. 0087: 543@ = 378@ // (float)
  6069. 0087: 544@ = 379@ // (float)
  6070. gosub @POOL2_49698
  6071. if
  6072.   545@ == 0
  6073. else_jump @POOL2_43808
  6074. 0085: 549@ = 82@ // (int)
  6075. 0085: 550@ = 82@(366@,16i) // (int)
  6076. 0087: 551@ = 378@ // (float)
  6077. 0087: 552@ = 379@ // (float)
  6078. gosub @POOL2_49954
  6079. if
  6080.   553@ == 1
  6081. else_jump @POOL2_43808
  6082. 0087: 369@ = 378@ // (float)
  6083. 0087: 370@ = 379@ // (float)
  6084. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6085. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6086. 0087: 371@ = 42@ // (float)
  6087. 005B: 371@ += 43@ // (float)
  6088. 0208: 42@ = random_float_in_ranges 3.0 6.0
  6089. 006B: 371@ *= 42@ // (float)
  6090. 366@ = 16
  6091.  
  6092. :POOL2_43808
  6093. if and
  6094.   369@ == 99999.9
  6095.   370@ == 99999.9
  6096. else_jump @POOL2_44195
  6097. if
  6098.   129@ == 1
  6099. else_jump @POOL2_43989
  6100. 03A9: NOP
  6101. 05B6: 50 //   CUSHION 2 DATA =
  6102.  
  6103. :POOL2_43989
  6104. 0087: 379@ = 101@ // (float)
  6105. 0087: 543@ = 378@ // (float)
  6106. 0087: 544@ = 379@ // (float)
  6107. gosub @POOL2_49698
  6108. if
  6109.   545@ == 0
  6110. else_jump @POOL2_44195
  6111. 0085: 549@ = 82@ // (int)
  6112. 0085: 550@ = 82@(366@,16i) // (int)
  6113. 0087: 551@ = 378@ // (float)
  6114. 0087: 552@ = 379@ // (float)
  6115. gosub @POOL2_49954
  6116. if
  6117.   553@ == 1
  6118. else_jump @POOL2_44195
  6119. 0087: 369@ = 378@ // (float)
  6120. 0087: 370@ = 379@ // (float)
  6121. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6122. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6123. 0087: 371@ = 42@ // (float)
  6124. 005B: 371@ += 43@ // (float)
  6125. 0208: 42@ = random_float_in_ranges 3.0 6.0
  6126. 006B: 371@ *= 42@ // (float)
  6127. 366@ = 16
  6128.  
  6129. :POOL2_44195
  6130. if and
  6131.   369@ == 99999.9
  6132.   370@ == 99999.9
  6133. else_jump @POOL2_44608
  6134. if
  6135.   129@ == 1
  6136. else_jump @POOL2_44376
  6137. 03A9: NOP
  6138. 05B6: 51 //   CUSHION 3 DATA =
  6139.  
  6140. :POOL2_44376
  6141. 0087: 379@ = 373@ // (float)
  6142. 005B: 379@ += 376@ // (float)
  6143. 379@ /= 2.0
  6144. 0087: 378@ = 98@ // (float)
  6145. 0087: 543@ = 378@ // (float)
  6146. 0087: 544@ = 379@ // (float)
  6147. gosub @POOL2_49698
  6148. if
  6149.   545@ == 0
  6150. else_jump @POOL2_44608
  6151. 0085: 549@ = 82@ // (int)
  6152. 0085: 550@ = 82@(366@,16i) // (int)
  6153. 0087: 551@ = 378@ // (float)
  6154. 0087: 552@ = 379@ // (float)
  6155. gosub @POOL2_49954
  6156. if
  6157.   553@ == 1
  6158. else_jump @POOL2_44608
  6159. 0087: 369@ = 378@ // (float)
  6160. 0087: 370@ = 379@ // (float)
  6161. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6162. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6163. 0087: 371@ = 42@ // (float)
  6164. 005B: 371@ += 43@ // (float)
  6165. 0208: 42@ = random_float_in_ranges 3.0 6.0
  6166. 006B: 371@ *= 42@ // (float)
  6167. 366@ = 16
  6168.  
  6169. :POOL2_44608
  6170. if and
  6171.   369@ == 99999.9
  6172.   370@ == 99999.9
  6173. else_jump @POOL2_44995
  6174. if
  6175.   129@ == 1
  6176. else_jump @POOL2_44789
  6177. 03A9: NOP
  6178. 05B6: 52 //   CUSHION 4 DATA =
  6179.  
  6180. :POOL2_44789
  6181. 0087: 378@ = 99@ // (float)
  6182. 0087: 543@ = 378@ // (float)
  6183. 0087: 544@ = 379@ // (float)
  6184. gosub @POOL2_49698
  6185. if
  6186.   545@ == 0
  6187. else_jump @POOL2_44995
  6188. 0085: 549@ = 82@ // (int)
  6189. 0085: 550@ = 82@(366@,16i) // (int)
  6190. 0087: 551@ = 378@ // (float)
  6191. 0087: 552@ = 379@ // (float)
  6192. gosub @POOL2_49954
  6193. if
  6194.   553@ == 1
  6195. else_jump @POOL2_44995
  6196. 0087: 369@ = 378@ // (float)
  6197. 0087: 370@ = 379@ // (float)
  6198. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6199. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6200. 0087: 371@ = 42@ // (float)
  6201. 005B: 371@ += 43@ // (float)
  6202. 0208: 42@ = random_float_in_ranges 3.0 6.0
  6203. 006B: 371@ *= 42@ // (float)
  6204. 366@ = 16
  6205.  
  6206. :POOL2_44995
  6207. 366@ += 1
  6208. jump @POOL2_43169
  6209.  
  6210. :POOL2_45009
  6211. if and
  6212.   369@ == 99999.9
  6213.   370@ == 99999.9
  6214. else_jump @POOL2_46481
  6215. if
  6216.   129@ == 1
  6217. else_jump @POOL2_45190
  6218. 03A9: NOP
  6219. 05B6: 53 // SNOOKER - BOUNCE 2
  6220.  
  6221. :POOL2_45190
  6222. 366@ = 1
  6223.  
  6224. :POOL2_45197
  6225. if
  6226.   16 > 366@
  6227. else_jump @POOL2_46481
  6228. wait 0
  6229. if
  6230.    Object.Exists(82@(366@,16i))
  6231. else_jump @POOL2_46467
  6232. if
  6233.   66@(366@,16i) == 0
  6234. else_jump @POOL2_46467
  6235. if
  6236.   366@ == 0
  6237. else_jump @POOL2_45293
  6238. 368@ = 3
  6239. jump @POOL2_45364
  6240.  
  6241. :POOL2_45293
  6242. if
  6243.   8 > 366@
  6244. else_jump @POOL2_45325
  6245. 368@ = 0
  6246. jump @POOL2_45364
  6247.  
  6248. :POOL2_45325
  6249. if
  6250.   366@ == 8
  6251. else_jump @POOL2_45357
  6252. 368@ = 2
  6253. jump @POOL2_45364
  6254.  
  6255. :POOL2_45357
  6256. 368@ = 1
  6257.  
  6258. :POOL2_45364
  6259. if or
  6260. 003B:   368@ == 231@ // (int)
  6261.   231@ == -1
  6262. else_jump @POOL2_46467
  6263. if and
  6264.   231@ == -1
  6265.   368@ == 2
  6266. else_jump @POOL2_45422
  6267. jump @POOL2_46467
  6268.  
  6269. :POOL2_45422
  6270. Object.StorePos(82@, 372@, 373@, 374@)
  6271. Object.StorePos(82@(366@,16i), 375@, 376@, 377@)
  6272. 0087: 378@ = 372@ // (float)
  6273. 005B: 378@ += 375@ // (float)
  6274. 378@ /= 2.0
  6275. 0087: 379@ = 100@ // (float)
  6276. 0087: 543@ = 378@ // (float)
  6277. 0087: 544@ = 379@ // (float)
  6278. gosub @POOL2_49698
  6279. if
  6280.   545@ == 0
  6281. else_jump @POOL2_45697
  6282. 0085: 554@ = 82@ // (int)
  6283. 0087: 555@ = 378@ // (float)
  6284. 0087: 556@ = 379@ // (float)
  6285. gosub @POOL2_50474
  6286. if
  6287.   557@ == 1
  6288. else_jump @POOL2_45697
  6289. 0087: 369@ = 378@ // (float)
  6290. 0208: 42@ = random_float_in_ranges -0.05 0.05
  6291. 005B: 369@ += 42@ // (float)
  6292. 0087: 370@ = 379@ // (float)
  6293. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6294. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6295. 0087: 371@ = 42@ // (float)
  6296. 005B: 371@ += 43@ // (float)
  6297. 0208: 42@ = random_float_in_ranges 5.0 8.0
  6298. 006B: 371@ *= 42@ // (float)
  6299. 366@ = 16
  6300.  
  6301. :POOL2_45697
  6302. if and
  6303.   369@ == 99999.9
  6304.   370@ == 99999.9
  6305. else_jump @POOL2_45945
  6306. 0087: 379@ = 101@ // (float)
  6307. 0087: 543@ = 378@ // (float)
  6308. 0087: 544@ = 379@ // (float)
  6309. gosub @POOL2_49698
  6310. if
  6311.   545@ == 0
  6312. else_jump @POOL2_45945
  6313. 0085: 554@ = 82@ // (int)
  6314. 0087: 555@ = 378@ // (float)
  6315. 0087: 556@ = 379@ // (float)
  6316. gosub @POOL2_50474
  6317. if
  6318.   557@ == 1
  6319. else_jump @POOL2_45945
  6320. 0087: 369@ = 378@ // (float)
  6321. 0208: 42@ = random_float_in_ranges -0.05 0.05
  6322. 005B: 369@ += 42@ // (float)
  6323. 0087: 370@ = 379@ // (float)
  6324. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6325. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6326. 0087: 371@ = 42@ // (float)
  6327. 005B: 371@ += 43@ // (float)
  6328. 0208: 42@ = random_float_in_ranges 5.0 8.0
  6329. 006B: 371@ *= 42@ // (float)
  6330. 366@ = 16
  6331.  
  6332. :POOL2_45945
  6333. if and
  6334.   369@ == 99999.9
  6335.   370@ == 99999.9
  6336. else_jump @POOL2_46219
  6337. 0087: 379@ = 373@ // (float)
  6338. 005B: 379@ += 376@ // (float)
  6339. 379@ /= 2.0
  6340. 0087: 378@ = 98@ // (float)
  6341. 0087: 543@ = 378@ // (float)
  6342. 0087: 544@ = 379@ // (float)
  6343. gosub @POOL2_49698
  6344. if
  6345.   545@ == 0
  6346. else_jump @POOL2_46219
  6347. 0085: 554@ = 82@ // (int)
  6348. 0087: 555@ = 378@ // (float)
  6349. 0087: 556@ = 379@ // (float)
  6350. gosub @POOL2_50474
  6351. if
  6352.   557@ == 1
  6353. else_jump @POOL2_46219
  6354. 0087: 369@ = 378@ // (float)
  6355. 0087: 370@ = 379@ // (float)
  6356. 0208: 42@ = random_float_in_ranges -0.05 0.05
  6357. 005B: 370@ += 42@ // (float)
  6358. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6359. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6360. 0087: 371@ = 42@ // (float)
  6361. 005B: 371@ += 43@ // (float)
  6362. 0208: 42@ = random_float_in_ranges 5.0 8.0
  6363. 006B: 371@ *= 42@ // (float)
  6364. 366@ = 16
  6365.  
  6366. :POOL2_46219
  6367. if and
  6368.   369@ == 99999.9
  6369.   370@ == 99999.9
  6370. else_jump @POOL2_46467
  6371. 0087: 378@ = 99@ // (float)
  6372. 0087: 543@ = 378@ // (float)
  6373. 0087: 544@ = 379@ // (float)
  6374. gosub @POOL2_49698
  6375. if
  6376.   545@ == 0
  6377. else_jump @POOL2_46467
  6378. 0085: 554@ = 82@ // (int)
  6379. 0087: 555@ = 378@ // (float)
  6380. 0087: 556@ = 379@ // (float)
  6381. gosub @POOL2_50474
  6382. if
  6383.   557@ == 1
  6384. else_jump @POOL2_46467
  6385. 0087: 369@ = 378@ // (float)
  6386. 0087: 370@ = 379@ // (float)
  6387. 0208: 42@ = random_float_in_ranges -0.05 0.05
  6388. 005B: 370@ += 42@ // (float)
  6389. 0509: 42@ = distance_between_XY 372@ 373@ and_XY 378@ 379@
  6390. 0509: 43@ = distance_between_XY 375@ 376@ and_XY 378@ 379@
  6391. 0087: 371@ = 42@ // (float)
  6392. 005B: 371@ += 43@ // (float)
  6393. 0208: 42@ = random_float_in_ranges 5.0 8.0
  6394. 006B: 371@ *= 42@ // (float)
  6395. 366@ = 16
  6396.  
  6397. :POOL2_46467
  6398. 366@ += 1
  6399. jump @POOL2_45197
  6400.  
  6401. :POOL2_46481
  6402. if and
  6403.   369@ == 99999.9
  6404.   370@ == 99999.9
  6405. else_jump @POOL2_46712
  6406. if
  6407.   129@ == 1
  6408. else_jump @POOL2_46662
  6409. 03A9: NOP
  6410. 05B6: 54 // SNOOKER - LAST RESORT
  6411.  
  6412. :POOL2_46662
  6413. 0208: 363@ = random_float_in_ranges 0.0 360.0
  6414. 0208: 364@ = random_float_in_ranges 4.0 8.0
  6415. 369@ = 0.0
  6416. 370@ = 0.0
  6417.  
  6418. :POOL2_46712
  6419. if and
  6420.   363@ == 99999.9
  6421.   364@ == 99999.9
  6422. else_jump @POOL2_46875
  6423. Object.StorePos(82@, 372@, 373@, 374@)
  6424. 0087: 375@ = 369@ // (float)
  6425. 0063: 375@ -= 372@ // (float)
  6426. 0087: 376@ = 370@ // (float)
  6427. 0063: 376@ -= 373@ // (float)
  6428. 0604: get_Z_angle_for_point 375@ 376@ store_to 363@
  6429. 0087: 364@ = 371@ // (float)
  6430. 364@ *= 1.0
  6431. if
  6432.   90.0 > 365@
  6433. else_jump @POOL2_46875
  6434. 0087: 42@ = 365@ // (float)
  6435. 42@ /= 90.0
  6436. 42@ *= 2.0
  6437. 005B: 364@ += 42@ // (float)
  6438.  
  6439. :POOL2_46875
  6440. if
  6441.   0.7 > 364@
  6442. else_jump @POOL2_46906
  6443. 364@ = 0.7
  6444.  
  6445. :POOL2_46906
  6446. if
  6447.   364@ > 4.0
  6448. else_jump @POOL2_46937
  6449. 364@ = 4.0
  6450.  
  6451. :POOL2_46937
  6452. return
  6453.  
  6454. :POOL2_46939
  6455. jump @POOL2_46990
  6456. 481@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  6457. 482@ = Object.Create(#WOODENBOX, 0.0, 0.0, 0.0)
  6458.  
  6459. :POOL2_46990
  6460. 485@ = 1
  6461. 504@ = -1
  6462. if
  6463.    Object.Exists(481@)
  6464. else_jump @POOL2_47083
  6465. Object.StorePos(481@, 487@, 488@, $TEMPVAR_FLOAT_3)
  6466. 0087: 491@ = 483@ // (float)
  6467. 0063: 491@ -= 487@ // (float)
  6468. 0087: 492@ = 484@ // (float)
  6469. 0063: 492@ -= 488@ // (float)
  6470. 0509: 497@ = distance_between_XY 487@ 488@ and_XY 483@ 484@
  6471.  
  6472. :POOL2_47083
  6473. wait 0
  6474. if or
  6475.   231@ == -1
  6476.   231@ == 2
  6477.   231@ == 1
  6478. else_jump @POOL2_47172
  6479. 501@ = 1
  6480.  
  6481. :POOL2_47126
  6482. if
  6483.   16 > 501@
  6484. else_jump @POOL2_47165
  6485. gosub @POOL2_47267
  6486. 501@ += 1
  6487. jump @POOL2_47126
  6488.  
  6489. :POOL2_47165
  6490. jump @POOL2_47258
  6491.  
  6492. :POOL2_47172
  6493. 503@ = 1
  6494.  
  6495. :POOL2_47179
  6496. if
  6497.   16 > 503@
  6498. else_jump @POOL2_47258
  6499. 0085: 501@ = 503@ // (int)
  6500. 501@ += 7
  6501. if
  6502.   501@ > 15
  6503. else_jump @POOL2_47237
  6504. 501@ += -15
  6505.  
  6506. :POOL2_47237
  6507. gosub @POOL2_47267
  6508. 503@ += 1
  6509. jump @POOL2_47179
  6510.  
  6511. :POOL2_47258
  6512. 482@ = 0
  6513. return
  6514.  
  6515. :POOL2_47267
  6516. if
  6517.    Object.Exists(82@(501@,16i))
  6518. else_jump @POOL2_48187
  6519. if
  6520.   66@(501@,16i) == 0
  6521. else_jump @POOL2_48187
  6522. if
  6523. 803B:   not  82@(501@,16i) == 481@ // (int)
  6524. else_jump @POOL2_48187
  6525. 502@ = 0
  6526. if
  6527.    Object.Exists(482@)
  6528. else_jump @POOL2_47385
  6529. if
  6530. 003B:   82@(501@,16i) == 482@ // (int)
  6531. else_jump @POOL2_47385
  6532. 502@ = 1
  6533.  
  6534. :POOL2_47385
  6535. if
  6536.   502@ == 0
  6537. else_jump @POOL2_48187
  6538. Object.StorePos(82@(501@,16i), 489@, 490@, $TEMPVAR_FLOAT_3)
  6539. 0087: 493@ = 489@ // (float)
  6540. 0063: 493@ -= 487@ // (float)
  6541. 0087: 494@ = 490@ // (float)
  6542. 0063: 494@ -= 488@ // (float)
  6543. 0509: 498@ = distance_between_XY 487@ 488@ and_XY 489@ 490@
  6544. 05A4: get_angle_between_vectors_origin_to 491@ 492@ and_origin_to 493@ 494@ store_to 42@
  6545. 0509: 499@ = distance_between_XY 489@ 490@ and_XY 483@ 484@
  6546. if
  6547. 0025:   53@ > 499@ // (float)
  6548. else_jump @POOL2_47817
  6549. if
  6550.   501@ == 0
  6551. else_jump @POOL2_47555
  6552. 486@ = 3
  6553. jump @POOL2_47626
  6554.  
  6555. :POOL2_47555
  6556. if
  6557.   8 > 501@
  6558. else_jump @POOL2_47587
  6559. 486@ = 0
  6560. jump @POOL2_47626
  6561.  
  6562. :POOL2_47587
  6563. if
  6564.   501@ == 8
  6565. else_jump @POOL2_47619
  6566. 486@ = 2
  6567. jump @POOL2_47626
  6568.  
  6569. :POOL2_47619
  6570. 486@ = 1
  6571.  
  6572. :POOL2_47626
  6573. if
  6574.   129@ == 1
  6575. else_jump @POOL2_47781
  6576. 03A9: NOP
  6577. 05B6: 55 //     BALL OBSTRUCTING PATH (TOO CLOSE TO TARGET DESTINATION) =
  6578. 03A7: NOP 501@
  6579.  
  6580. :POOL2_47781
  6581. 0085: 504@ = 501@ // (int)
  6582. 485@ = 0
  6583. 501@ = 16
  6584. 503@ = 16
  6585. jump @POOL2_48187
  6586.  
  6587. :POOL2_47817
  6588. if
  6589.   90.0 >= 42@
  6590. else_jump @POOL2_48187
  6591. if
  6592. 0025:   497@ > 498@ // (float)
  6593. else_jump @POOL2_48187
  6594. 02F6: 500@ = sine 42@ // (float)
  6595. 0087: 42@ = 500@ // (float)
  6596. 006B: 42@ *= 498@ // (float)
  6597. if
  6598. 0025:   53@ > 42@ // (float)
  6599. else_jump @POOL2_48187
  6600. if
  6601.   501@ == 0
  6602. else_jump @POOL2_47932
  6603. 486@ = 3
  6604. jump @POOL2_48003
  6605.  
  6606. :POOL2_47932
  6607. if
  6608.   8 > 501@
  6609. else_jump @POOL2_47964
  6610. 486@ = 0
  6611. jump @POOL2_48003
  6612.  
  6613. :POOL2_47964
  6614. if
  6615.   501@ == 8
  6616. else_jump @POOL2_47996
  6617. 486@ = 2
  6618. jump @POOL2_48003
  6619.  
  6620. :POOL2_47996
  6621. 486@ = 1
  6622.  
  6623. :POOL2_48003
  6624. if
  6625.   129@ == 1
  6626. else_jump @POOL2_48158
  6627. 03A9: NOP
  6628. 05B6: 56 //     BALL OBSTRUCTING PATH (OVERLAPPING PATH) =
  6629. 03A7: NOP 501@
  6630.  
  6631. :POOL2_48158
  6632. 0085: 504@ = 501@ // (int)
  6633. 485@ = 0
  6634. 501@ = 16
  6635. 503@ = 16
  6636.  
  6637. :POOL2_48187
  6638. return
  6639.  
  6640. :POOL2_48189
  6641. 485@ = 1
  6642. 504@ = -1
  6643. 0087: 491@ = 483@ // (float)
  6644. 0063: 491@ -= 487@ // (float)
  6645. 0087: 492@ = 484@ // (float)
  6646. 0063: 492@ -= 488@ // (float)
  6647. if or
  6648. 0025:   98@ > 483@ // (float)
  6649. 0025:   483@ > 99@ // (float)
  6650. 0025:   100@ > 484@ // (float)
  6651. 0025:   484@ > 101@ // (float)
  6652. else_jump @POOL2_48750
  6653. 505@ = -99999.9
  6654. 506@ = -99999.9
  6655. 39@ = 0
  6656. if and
  6657. 05B0:   unknown_calculate 487@ 488@ 483@ 484@ 98@ 100@ 98@ 101@ store_to 505@ 506@ // IF and SET
  6658.    not 515@ == 1
  6659. else_jump @POOL2_48369
  6660. 39@ = 1
  6661. jump @POOL2_48554
  6662.  
  6663. :POOL2_48369
  6664. if and
  6665. 05B0:   unknown_calculate 487@ 488@ 483@ 484@ 99@ 100@ 99@ 101@ store_to 505@ 506@ // IF and SET
  6666.    not 515@ == 2
  6667. else_jump @POOL2_48433
  6668. 39@ = 2
  6669. jump @POOL2_48554
  6670.  
  6671. :POOL2_48433
  6672. if and
  6673. 05B0:   unknown_calculate 487@ 488@ 483@ 484@ 98@ 100@ 99@ 100@ store_to 505@ 506@ // IF and SET
  6674.    not 515@ == 3
  6675. else_jump @POOL2_48497
  6676. 39@ = 3
  6677. jump @POOL2_48554
  6678.  
  6679. :POOL2_48497
  6680. if and
  6681. 05B0:   unknown_calculate 487@ 488@ 483@ 484@ 98@ 101@ 99@ 101@ store_to 505@ 506@ // IF and SET
  6682.    not 515@ == 4
  6683. else_jump @POOL2_48554
  6684. 39@ = 4
  6685.  
  6686. :POOL2_48554
  6687. 0509: 42@ = distance_between_XY 483@ 484@ and_XY 487@ 488@
  6688. if
  6689.   42@ > 0.0
  6690. else_jump @POOL2_48608
  6691. 0073: 491@ /= 42@ // (float)
  6692. 0073: 492@ /= 42@ // (float)
  6693.  
  6694. :POOL2_48608
  6695. if or
  6696.   39@ == 1
  6697.   39@ == 2
  6698. else_jump @POOL2_48659
  6699. 0087: 507@ = 491@ // (float)
  6700. 507@ *= -1.0
  6701. 0087: 508@ = 492@ // (float)
  6702.  
  6703. :POOL2_48659
  6704. if or
  6705.   39@ == 3
  6706.   39@ == 4
  6707. else_jump @POOL2_48710
  6708. 0087: 507@ = 491@ // (float)
  6709. 0087: 508@ = 492@ // (float)
  6710. 508@ *= -1.0
  6711.  
  6712. :POOL2_48710
  6713. if
  6714.    not 39@ == 0
  6715. else_jump @POOL2_48736
  6716. 0085: 515@ = 39@ // (int)
  6717.  
  6718. :POOL2_48736
  6719. 485@ = 0
  6720. jump @POOL2_48773
  6721.  
  6722. :POOL2_48750
  6723. 0087: 505@ = 483@ // (float)
  6724. 0087: 506@ = 484@ // (float)
  6725. 485@ = 1
  6726.  
  6727. :POOL2_48773
  6728. return
  6729.  
  6730. :POOL2_48775
  6731. if
  6732.    Object.Exists(516@)
  6733. else_jump @POOL2_48845
  6734. Object.StorePos(516@, 526@, 527@, $TEMPVAR_FLOAT_3)
  6735. 0087: 520@ = 54@(517@,6f) // (float)
  6736. 0063: 520@ -= 526@ // (float)
  6737. 0087: 521@ = 60@(517@,6f) // (float)
  6738. 0063: 521@ -= 527@ // (float)
  6739.  
  6740. :POOL2_48845
  6741. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 54@(517@,6f) 60@(517@,6f)
  6742. 0087: 522@ = 520@ // (float)
  6743. 0073: 522@ /= 42@ // (float)
  6744. 0087: 523@ = 521@ // (float)
  6745. 0073: 523@ /= 42@ // (float)
  6746. 522@ *= -1.0
  6747. 523@ *= -1.0
  6748. 0087: 42@ = 52@ // (float)
  6749. 42@ *= 2.0
  6750. 006B: 522@ *= 42@ // (float)
  6751. 006B: 523@ *= 42@ // (float)
  6752. 005B: 526@ += 522@ // (float)
  6753. 005B: 527@ += 523@ // (float)
  6754. if
  6755.    Object.Exists(82@)
  6756. else_jump @POOL2_49034
  6757. Object.StorePos(82@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6758. 0087: 524@ = 526@ // (float)
  6759. 0065: 524@ -= $TEMPVAR_FLOAT_1 // (float)
  6760. 0087: 525@ = 527@ // (float)
  6761. 0065: 525@ -= $TEMPVAR_FLOAT_2 // (float)
  6762.  
  6763. :POOL2_49034
  6764. 05A4: get_angle_between_vectors_origin_to 520@ 521@ and_origin_to 524@ 525@ store_to 519@
  6765. if
  6766.   90.0 > 519@
  6767. else_jump @POOL2_49086
  6768. 518@ = 1
  6769. jump @POOL2_49093
  6770.  
  6771. :POOL2_49086
  6772. 518@ = 0
  6773.  
  6774. :POOL2_49093
  6775. return
  6776.  
  6777. :POOL2_49095
  6778. 530@ = 0
  6779. 531@ = 0
  6780. 532@ = 0
  6781. if and
  6782.    Object.Exists(528@)
  6783.    Object.Exists(529@)
  6784. else_jump @POOL2_49696
  6785. Object.StorePos(528@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6786. Object.StorePos(529@, 537@, 538@, $TEMPVAR_FLOAT_3)
  6787. 0087: 533@ = 537@ // (float)
  6788. 0065: 533@ -= $TEMPVAR_FLOAT_1 // (float)
  6789. 0087: 534@ = 538@ // (float)
  6790. 0065: 534@ -= $TEMPVAR_FLOAT_2 // (float)
  6791. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 537@ 538@
  6792. 0073: 533@ /= 42@ // (float)
  6793. 0073: 534@ /= 42@ // (float)
  6794. 0087: 535@ = 534@ // (float)
  6795. 0087: 536@ = 533@ // (float)
  6796. 536@ *= -1.0
  6797. 0087: 42@ = 52@ // (float)
  6798. 42@ *= 2.0
  6799. 42@ *= 0.8
  6800. 0087: 43@ = 535@ // (float)
  6801. 006B: 43@ *= 42@ // (float)
  6802. 0087: 539@ = 537@ // (float)
  6803. 005B: 539@ += 43@ // (float)
  6804. 0087: 43@ = 536@ // (float)
  6805. 006B: 43@ *= 42@ // (float)
  6806. 0087: 540@ = 538@ // (float)
  6807. 005B: 540@ += 43@ // (float)
  6808. 0085: 481@ = 528@ // (int)
  6809. 0085: 482@ = 529@ // (int)
  6810. 0087: 483@ = 539@ // (float)
  6811. 0087: 484@ = 540@ // (float)
  6812. gosub @POOL2_46939
  6813. if
  6814.   485@ == 1
  6815. else_jump @POOL2_49412
  6816. 531@ = 1
  6817.  
  6818. :POOL2_49412
  6819. 0087: 42@ = 52@ // (float)
  6820. 42@ *= 2.0
  6821. 42@ *= -0.8
  6822. 0087: 43@ = 535@ // (float)
  6823. 006B: 43@ *= 42@ // (float)
  6824. 0087: 541@ = 537@ // (float)
  6825. 005B: 541@ += 43@ // (float)
  6826. 0087: 43@ = 536@ // (float)
  6827. 006B: 43@ *= 42@ // (float)
  6828. 0087: 542@ = 538@ // (float)
  6829. 005B: 542@ += 43@ // (float)
  6830. 0085: 481@ = 528@ // (int)
  6831. 0085: 482@ = 529@ // (int)
  6832. 0087: 483@ = 541@ // (float)
  6833. 0087: 484@ = 542@ // (float)
  6834. gosub @POOL2_46939
  6835. if
  6836.   485@ == 1
  6837. else_jump @POOL2_49568
  6838. 532@ = 1
  6839.  
  6840. :POOL2_49568
  6841. if and
  6842.   531@ == 0
  6843.   532@ == 0
  6844. else_jump @POOL2_49600
  6845. 530@ = 0
  6846.  
  6847. :POOL2_49600
  6848. if and
  6849.   531@ == 1
  6850.   532@ == 0
  6851. else_jump @POOL2_49632
  6852. 530@ = 1
  6853.  
  6854. :POOL2_49632
  6855. if and
  6856.   531@ == 0
  6857.   532@ == 1
  6858. else_jump @POOL2_49664
  6859. 530@ = 2
  6860.  
  6861. :POOL2_49664
  6862. if and
  6863.   531@ == 1
  6864.   532@ == 1
  6865. else_jump @POOL2_49696
  6866. 530@ = 3
  6867.  
  6868. :POOL2_49696
  6869. return
  6870.  
  6871. :POOL2_49698
  6872. 545@ = 0
  6873. 547@ = 2.5
  6874. 006B: 547@ *= 52@ // (float)
  6875. 548@ = 0
  6876.  
  6877. :POOL2_49730
  6878. if
  6879.   6 > 548@
  6880. else_jump @POOL2_49952
  6881. 0509: 546@ = distance_between_XY 543@ 544@ and_XY 54@(548@,6f) 60@(548@,6f)
  6882. if
  6883. 0025:   547@ > 546@ // (float)
  6884. else_jump @POOL2_49938
  6885. 03A9: NOP
  6886. 05B6: 57 //     POINT LIES ON POCKET
  6887. 545@ = 1
  6888. 548@ = 6
  6889.  
  6890. :POOL2_49938
  6891. 548@ += 1
  6892. jump @POOL2_49730
  6893.  
  6894. :POOL2_49952
  6895. return
  6896.  
  6897. :POOL2_49954
  6898. 553@ = 0
  6899. 03A9: NOP
  6900. 05B6: 58 //        BOUNCE_SHOT_PATH_CLEAR DATA =
  6901. 0085: 481@ = 549@ // (int)
  6902. 482@ = 0
  6903. 0087: 483@ = 551@ // (float)
  6904. 0087: 484@ = 552@ // (float)
  6905. gosub @POOL2_46939
  6906. if
  6907.   485@ == 1
  6908. else_jump @POOL2_50472
  6909. 05B6: 59 // 1ST PATH CLEAR
  6910. 0085: 481@ = 550@ // (int)
  6911. 482@ = 0
  6912. 0087: 483@ = 551@ // (float)
  6913. 0087: 484@ = 552@ // (float)
  6914. gosub @POOL2_46939
  6915. if
  6916.   485@ == 1
  6917. else_jump @POOL2_50472
  6918. 05B6: 60 // 2ND PATH CLEAR
  6919. 553@ = 1
  6920.  
  6921. :POOL2_50472
  6922. return
  6923.  
  6924. :POOL2_50474
  6925. 557@ = 0
  6926. 0085: 481@ = 549@ // (int)
  6927. 482@ = 0
  6928. 0087: 483@ = 551@ // (float)
  6929. 0087: 484@ = 552@ // (float)
  6930. gosub @POOL2_46939
  6931. if
  6932.   485@ == 1
  6933. else_jump @POOL2_50544
  6934. 557@ = 1
  6935.  
  6936. :POOL2_50544
  6937. return
  6938.  
  6939. :POOL2_50546
  6940. 0087: 565@ = 52@ // (float)
  6941. 565@ *= 2.0
  6942. 0087: 562@ = 52@ // (float)
  6943. 562@ *= -1.0
  6944. 0087: 566@ = 565@ // (float)
  6945. 566@ *= -1.0
  6946. 0087: 42@ = 565@ // (float)
  6947. 006B: 42@ *= 565@ // (float)
  6948. 0087: 43@ = 52@ // (float)
  6949. 006B: 43@ *= 52@ // (float)
  6950. 0087: 563@ = 42@ // (float)
  6951. 0063: 563@ -= 43@ // (float)
  6952. 01FB: 563@ = square_root 563@
  6953. 0087: 564@ = 563@ // (float)
  6954. 564@ *= -1.0
  6955. 567@ = 1
  6956.  
  6957. :POOL2_50681
  6958. if
  6959.   15 > 567@
  6960. else_jump @POOL2_50724
  6961. Object.KeepInMemory(82@(567@,16i)) = False
  6962. 567@ += 1
  6963. jump @POOL2_50681
  6964.  
  6965. :POOL2_50724
  6966. Object.PutAt(83@, 558@, 559@, 560@)
  6967. Object.Angle(83@) = 561@
  6968. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 83@ with_offset 562@ 564@ 0.0
  6969. Object.PutAt(91@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6970. Object.Angle(91@) = 561@
  6971. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 91@ with_offset 565@ 0.0 0.0
  6972. Object.PutAt(85@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6973. Object.Angle(85@) = 561@
  6974. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 91@ with_offset 562@ 564@ 0.0
  6975. Object.PutAt(89@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6976. Object.Angle(89@) = 561@
  6977. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 89@ with_offset 565@ 0.0 0.0
  6978. Object.PutAt(90@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6979. Object.Angle(90@) = 561@
  6980. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 90@ with_offset 565@ 0.0 0.0
  6981. Object.PutAt(92@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6982. Object.Angle(92@) = 561@
  6983. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 89@ with_offset 562@ 564@ 0.0
  6984. Object.PutAt(93@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6985. Object.Angle(93@) = 561@
  6986. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 93@ with_offset 565@ 0.0 0.0
  6987. Object.PutAt(84@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6988. Object.Angle(84@) = 561@
  6989. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 84@ with_offset 565@ 0.0 0.0
  6990. Object.PutAt(97@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6991. Object.Angle(97@) = 561@
  6992. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 97@ with_offset 565@ 0.0 0.0
  6993. Object.PutAt(87@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6994. Object.Angle(87@) = 561@
  6995. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 93@ with_offset 562@ 564@ 0.0
  6996. Object.PutAt(88@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  6997. Object.Angle(88@) = 561@
  6998. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 88@ with_offset 565@ 0.0 0.0
  6999. Object.PutAt(94@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  7000. Object.Angle(94@) = 561@
  7001. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 94@ with_offset 565@ 0.0 0.0
  7002. Object.PutAt(95@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  7003. Object.Angle(95@) = 561@
  7004. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 95@ with_offset 565@ 0.0 0.0
  7005. Object.PutAt(86@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  7006. Object.Angle(86@) = 561@
  7007. 0400: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_object 86@ with_offset 565@ 0.0 0.0
  7008. Object.PutAt(96@, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  7009. Object.Angle(96@) = 561@
  7010. return
  7011.  
  7012. :POOL2_51426
  7013. 602@ = -0.96
  7014. 603@ = 0.49
  7015. 604@ = 0.97
  7016. 605@ = 0.49
  7017. 606@ = 0.97
  7018. 607@ = -0.49
  7019. 608@ = -0.96
  7020. 609@ = -0.49
  7021. 0400: store_coords_to 571@ 572@ 573@ from_object 82@ with_offset 0.0 -5.0 0.0
  7022. Object.StorePos(82@, 574@, 575@, 576@)
  7023. 02CE: $TEMPVAR_FLOAT_3 = ground_z_at 574@ 575@ 576@
  7024. 0400: store_coords_to 577@ 578@ 579@ from_object 163@ with_offset 602@ 603@ 0.0
  7025. 0400: store_coords_to 580@ 581@ 582@ from_object 163@ with_offset 604@ 605@ 0.0
  7026. if
  7027. 05B0:   unknown_calculate 571@ 572@ 574@ 575@ 577@ 578@ 580@ 581@ store_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 // IF and SET
  7028. else_jump @POOL2_51712
  7029. 0089: 585@ = $TEMPVAR_FLOAT_1 // (float)
  7030. 0089: 589@ = $TEMPVAR_FLOAT_2 // (float)
  7031. 0089: 593@ = $TEMPVAR_FLOAT_3 // (float)
  7032. 0087: 616@ = 604@ // (float)
  7033. 0063: 616@ -= 602@ // (float)
  7034. 0087: 617@ = 605@ // (float)
  7035. 0063: 617@ -= 603@ // (float)
  7036.  
  7037. :POOL2_51712
  7038. 0400: store_coords_to 577@ 578@ 579@ from_object 163@ with_offset 606@ 607@ 0.0
  7039. if
  7040. 05B0:   unknown_calculate 571@ 572@ 574@ 575@ 577@ 578@ 580@ 581@ store_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 // IF and SET
  7041. else_jump @POOL2_51836
  7042. 0089: 585@ = $TEMPVAR_FLOAT_1 // (float)
  7043. 0089: 589@ = $TEMPVAR_FLOAT_2 // (float)
  7044. 0089: 593@ = $TEMPVAR_FLOAT_3 // (float)
  7045. 0087: 616@ = 606@ // (float)
  7046. 0063: 616@ -= 604@ // (float)
  7047. 0087: 617@ = 607@ // (float)
  7048. 0063: 617@ -= 605@ // (float)
  7049.  
  7050. :POOL2_51836
  7051. 0400: store_coords_to 580@ 581@ 582@ from_object 163@ with_offset 608@ 609@ 0.0
  7052. if
  7053. 05B0:   unknown_calculate 571@ 572@ 574@ 575@ 577@ 578@ 580@ 581@ store_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 // IF and SET
  7054. else_jump @POOL2_51960
  7055. 0089: 585@ = $TEMPVAR_FLOAT_1 // (float)
  7056. 0089: 589@ = $TEMPVAR_FLOAT_2 // (float)
  7057. 0089: 593@ = $TEMPVAR_FLOAT_3 // (float)
  7058. 0087: 616@ = 608@ // (float)
  7059. 0063: 616@ -= 606@ // (float)
  7060. 0087: 617@ = 609@ // (float)
  7061. 0063: 617@ -= 607@ // (float)
  7062.  
  7063. :POOL2_51960
  7064. 0400: store_coords_to 577@ 578@ 579@ from_object 163@ with_offset 602@ 603@ 0.0
  7065. if
  7066. 05B0:   unknown_calculate 571@ 572@ 574@ 575@ 577@ 578@ 580@ 581@ store_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 // IF and SET
  7067. else_jump @POOL2_52084
  7068. 0089: 585@ = $TEMPVAR_FLOAT_1 // (float)
  7069. 0089: 589@ = $TEMPVAR_FLOAT_2 // (float)
  7070. 0089: 593@ = $TEMPVAR_FLOAT_3 // (float)
  7071. 0087: 616@ = 602@ // (float)
  7072. 0063: 616@ -= 608@ // (float)
  7073. 0087: 617@ = 603@ // (float)
  7074. 0063: 617@ -= 609@ // (float)
  7075.  
  7076. :POOL2_52084
  7077. 0087: 614@ = 574@ // (float)
  7078. 0063: 614@ -= 571@ // (float)
  7079. 0087: 615@ = 575@ // (float)
  7080. 0063: 615@ -= 572@ // (float)
  7081. 05A4: get_angle_between_vectors_origin_to 614@ 615@ and_origin_to 616@ 617@ store_to 613@
  7082. if
  7083.   613@ > 90.0
  7084. else_jump @POOL2_52174
  7085. 613@ += -180.0
  7086. 613@ *= -1.0
  7087.  
  7088. :POOL2_52174
  7089. 0087: 169@ = 574@ // (float)
  7090. 0063: 169@ -= 585@ // (float)
  7091. 0087: 170@ = 575@ // (float)
  7092. 0063: 170@ -= 589@ // (float)
  7093. 0087: 171@ = 576@ // (float)
  7094. 0063: 171@ -= 593@ // (float)
  7095. 0604: get_Z_angle_for_point 169@ 170@ store_to 597@
  7096. 0087: 595@ = 597@ // (float)
  7097. 0087: 596@ = 597@ // (float)
  7098. 0087: 598@ = 597@ // (float)
  7099. 0087: 594@ = 593@ // (float)
  7100. 0087: 591@ = 593@ // (float)
  7101. 0087: 592@ = 593@ // (float)
  7102. 0509: 599@ = distance_between_XY 574@ 575@ and_XY 585@ 589@
  7103. 0073: 169@ /= 599@ // (float)
  7104. 0073: 170@ /= 599@ // (float)
  7105. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7106. $TEMPVAR_FLOAT_1 *= 3.0
  7107. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7108. $TEMPVAR_FLOAT_2 *= 3.0
  7109. 0087: 583@ = 585@ // (float)
  7110. 0065: 583@ -= $TEMPVAR_FLOAT_1 // (float)
  7111. 0087: 587@ = 589@ // (float)
  7112. 0065: 587@ -= $TEMPVAR_FLOAT_2 // (float)
  7113. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7114. $TEMPVAR_FLOAT_1 *= 1.0
  7115. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7116. $TEMPVAR_FLOAT_2 *= 1.0
  7117. 0087: 610@ = 585@ // (float)
  7118. 0065: 610@ -= $TEMPVAR_FLOAT_1 // (float)
  7119. 0087: 611@ = 589@ // (float)
  7120. 0065: 611@ -= $TEMPVAR_FLOAT_2 // (float)
  7121. 0087: 612@ = 593@ // (float)
  7122. if
  7123.   0.25 > 599@
  7124. else_jump @POOL2_52493
  7125. 600@ = 1
  7126. jump @POOL2_52570
  7127.  
  7128. :POOL2_52493
  7129. if
  7130.   0.65 > 599@
  7131. else_jump @POOL2_52528
  7132. 600@ = 2
  7133. jump @POOL2_52570
  7134.  
  7135. :POOL2_52528
  7136. if
  7137.   1.1 > 599@
  7138. else_jump @POOL2_52563
  7139. 600@ = 3
  7140. jump @POOL2_52570
  7141.  
  7142. :POOL2_52563
  7143. 600@ = 4
  7144.  
  7145. :POOL2_52570
  7146. if
  7147.   613@ > 70.0
  7148. else_jump @POOL2_52623
  7149. 600@ += 1
  7150. if
  7151.   600@ > 4
  7152. else_jump @POOL2_52623
  7153. 600@ = 4
  7154.  
  7155. :POOL2_52623
  7156. if
  7157.   600@ == 1
  7158. else_jump @POOL2_52709
  7159. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7160. $TEMPVAR_FLOAT_1 *= 0.615
  7161. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7162. $TEMPVAR_FLOAT_2 *= 0.615
  7163. 0087: 584@ = 574@ // (float)
  7164. 0065: 584@ -= $TEMPVAR_FLOAT_1 // (float)
  7165. 0087: 588@ = 575@ // (float)
  7166. 0065: 588@ -= $TEMPVAR_FLOAT_2 // (float)
  7167.  
  7168. :POOL2_52709
  7169. if
  7170.   600@ == 2
  7171. else_jump @POOL2_52795
  7172. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7173. $TEMPVAR_FLOAT_1 *= 1.0
  7174. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7175. $TEMPVAR_FLOAT_2 *= 1.0
  7176. 0087: 584@ = 574@ // (float)
  7177. 0065: 584@ -= $TEMPVAR_FLOAT_1 // (float)
  7178. 0087: 588@ = 575@ // (float)
  7179. 0065: 588@ -= $TEMPVAR_FLOAT_2 // (float)
  7180.  
  7181. :POOL2_52795
  7182. if
  7183.   600@ == 3
  7184. else_jump @POOL2_52881
  7185. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7186. $TEMPVAR_FLOAT_1 *= 1.6
  7187. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7188. $TEMPVAR_FLOAT_2 *= 1.6
  7189. 0087: 584@ = 574@ // (float)
  7190. 0065: 584@ -= $TEMPVAR_FLOAT_1 // (float)
  7191. 0087: 588@ = 575@ // (float)
  7192. 0065: 588@ -= $TEMPVAR_FLOAT_2 // (float)
  7193.  
  7194. :POOL2_52881
  7195. if
  7196.   600@ == 4
  7197. else_jump @POOL2_52967
  7198. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7199. $TEMPVAR_FLOAT_1 *= 2.1
  7200. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7201. $TEMPVAR_FLOAT_2 *= 2.1
  7202. 0087: 584@ = 574@ // (float)
  7203. 0065: 584@ -= $TEMPVAR_FLOAT_1 // (float)
  7204. 0087: 588@ = 575@ // (float)
  7205. 0065: 588@ -= $TEMPVAR_FLOAT_2 // (float)
  7206.  
  7207. :POOL2_52967
  7208. 0509: $DISTANCE_BETWEEN_POINTS = distance_between_XY 574@ 575@ and_XY 584@ 588@
  7209. 0087: 42@ = 599@ // (float)
  7210. 42@ += 0.3
  7211. if
  7212. 0027:   42@ > $DISTANCE_BETWEEN_POINTS // (float)
  7213. else_jump @POOL2_53103
  7214. 0087: 42@ = 599@ // (float)
  7215. 42@ += 0.3
  7216. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7217. 006D: $TEMPVAR_FLOAT_1 *= 42@ // (float)
  7218. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7219. 006D: $TEMPVAR_FLOAT_2 *= 42@ // (float)
  7220. 0087: 584@ = 574@ // (float)
  7221. 0065: 584@ -= $TEMPVAR_FLOAT_1 // (float)
  7222. 0087: 588@ = 575@ // (float)
  7223. 0065: 588@ -= $TEMPVAR_FLOAT_2 // (float)
  7224.  
  7225. :POOL2_53103
  7226. if
  7227.   600@ == 1
  7228. else_jump @POOL2_53189
  7229. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7230. $TEMPVAR_FLOAT_1 *= 0.655
  7231. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7232. $TEMPVAR_FLOAT_2 *= 0.655
  7233. 0087: 586@ = 574@ // (float)
  7234. 0065: 586@ -= $TEMPVAR_FLOAT_1 // (float)
  7235. 0087: 590@ = 575@ // (float)
  7236. 0065: 590@ -= $TEMPVAR_FLOAT_2 // (float)
  7237.  
  7238. :POOL2_53189
  7239. if
  7240.   600@ == 2
  7241. else_jump @POOL2_53275
  7242. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7243. $TEMPVAR_FLOAT_1 *= 1.0
  7244. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7245. $TEMPVAR_FLOAT_2 *= 1.0
  7246. 0087: 586@ = 574@ // (float)
  7247. 0065: 586@ -= $TEMPVAR_FLOAT_1 // (float)
  7248. 0087: 590@ = 575@ // (float)
  7249. 0065: 590@ -= $TEMPVAR_FLOAT_2 // (float)
  7250.  
  7251. :POOL2_53275
  7252. if
  7253.   600@ == 3
  7254. else_jump @POOL2_53361
  7255. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7256. $TEMPVAR_FLOAT_1 *= 1.6
  7257. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7258. $TEMPVAR_FLOAT_2 *= 1.6
  7259. 0087: 586@ = 574@ // (float)
  7260. 0065: 586@ -= $TEMPVAR_FLOAT_1 // (float)
  7261. 0087: 590@ = 575@ // (float)
  7262. 0065: 590@ -= $TEMPVAR_FLOAT_2 // (float)
  7263.  
  7264. :POOL2_53361
  7265. if
  7266.   600@ == 4
  7267. else_jump @POOL2_53447
  7268. 0088: $TEMPVAR_FLOAT_1 = 169@ // (float)
  7269. $TEMPVAR_FLOAT_1 *= 2.1
  7270. 0088: $TEMPVAR_FLOAT_2 = 170@ // (float)
  7271. $TEMPVAR_FLOAT_2 *= 2.1
  7272. 0087: 586@ = 574@ // (float)
  7273. 0065: 586@ -= $TEMPVAR_FLOAT_1 // (float)
  7274. 0087: 590@ = 575@ // (float)
  7275. 0065: 590@ -= $TEMPVAR_FLOAT_2 // (float)
  7276.  
  7277. :POOL2_53447
  7278. return
  7279.  
  7280. :POOL2_53449
  7281. 038D: draw_texture 1 position 618@ 619@ size 620@ 621@ RGBA 128 128 128 255
  7282. 038D: draw_texture 2 position 622@ 623@ size 624@ 625@ RGBA 128 128 128 255
  7283. if or
  7284. 00E1:   player 180@ pressed_key 1
  7285. 00E1:   player 180@ pressed_key 0
  7286. else_jump @POOL2_54000
  7287. 0494: get_joystick 180@ data_to $MOVE_AXIS_X $MOVE_AXIS_Y $SPECIAL_AXIS_X $SPECIAL_AXIS_Y
  7288. 008D: $TEMPVAR_FLOAT_1 = integer $MOVE_AXIS_X to_float
  7289. 008D: $TEMPVAR_FLOAT_2 = integer $MOVE_AXIS_Y to_float
  7290. $TEMPVAR_FLOAT_1 /= 128.0
  7291. $TEMPVAR_FLOAT_2 /= 128.0
  7292. $TEMPVAR_FLOAT_1 *= 5.0
  7293. $TEMPVAR_FLOAT_2 *= 5.0
  7294. 0087: 42@ = 622@ // (float)
  7295. 005D: 42@ += $TEMPVAR_FLOAT_1 // (float)
  7296. 0087: 44@ = 620@ // (float)
  7297. 44@ /= 2.0
  7298. 0087: 43@ = 618@ // (float)
  7299. 005B: 43@ += 44@ // (float)
  7300. if
  7301. 0025:   43@ > 42@ // (float)
  7302. else_jump @POOL2_53715
  7303. 0087: 43@ = 618@ // (float)
  7304. 0063: 43@ -= 44@ // (float)
  7305. if
  7306. 0025:   42@ > 43@ // (float)
  7307. else_jump @POOL2_53715
  7308. 0088: $TEMPVAR_FLOAT_1 = 42@ // (float)
  7309.  
  7310. :POOL2_53715
  7311. 0087: 42@ = 623@ // (float)
  7312. 005D: 42@ += $TEMPVAR_FLOAT_2 // (float)
  7313. 0087: 44@ = 621@ // (float)
  7314. 44@ /= 2.0
  7315. 0087: 43@ = 619@ // (float)
  7316. 005B: 43@ += 44@ // (float)
  7317. if
  7318. 0025:   43@ > 42@ // (float)
  7319. else_jump @POOL2_53827
  7320. 0087: 43@ = 619@ // (float)
  7321. 0063: 43@ -= 44@ // (float)
  7322. if
  7323. 0025:   42@ > 43@ // (float)
  7324. else_jump @POOL2_53827
  7325. 0088: $TEMPVAR_FLOAT_2 = 42@ // (float)
  7326.  
  7327. :POOL2_53827
  7328. 0509: 42@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 618@ 619@
  7329. 0087: 43@ = 620@ // (float)
  7330. 43@ /= 3.2
  7331. if
  7332. 0025:   42@ > 43@ // (float)
  7333. else_jump @POOL2_53984
  7334. 0089: 169@ = $TEMPVAR_FLOAT_1 // (float)
  7335. 0063: 169@ -= 618@ // (float)
  7336. 0089: 170@ = $TEMPVAR_FLOAT_2 // (float)
  7337. 0063: 170@ -= 619@ // (float)
  7338. 0073: 169@ /= 42@ // (float)
  7339. 0073: 170@ /= 42@ // (float)
  7340. 006B: 169@ *= 43@ // (float)
  7341. 006B: 170@ *= 43@ // (float)
  7342. 0087: 622@ = 618@ // (float)
  7343. 005B: 622@ += 169@ // (float)
  7344. 0087: 623@ = 619@ // (float)
  7345. 005B: 623@ += 170@ // (float)
  7346. jump @POOL2_54000
  7347.  
  7348. :POOL2_53984
  7349. 0089: 622@ = $TEMPVAR_FLOAT_1 // (float)
  7350. 0089: 623@ = $TEMPVAR_FLOAT_2 // (float)
  7351.  
  7352. :POOL2_54000
  7353. return
  7354.  
  7355. :POOL2_54002
  7356. 0087: 631@ = 52@ // (float)
  7357. 631@ *= 2.0
  7358. 629@ = 1
  7359.  
  7360. :POOL2_54027
  7361. if
  7362.   16 > 629@
  7363. else_jump @POOL2_54229
  7364. if
  7365.    Object.Exists(82@(629@,16i))
  7366. else_jump @POOL2_54215
  7367. Object.StorePos(82@(629@,16i), $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  7368. 0509: 630@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 627@ 628@
  7369. if
  7370. 0025:   631@ > 630@ // (float)
  7371. else_jump @POOL2_54215
  7372. 0087: 632@ = 627@ // (float)
  7373. 0065: 632@ -= $TEMPVAR_FLOAT_1 // (float)
  7374. 0087: 633@ = 628@ // (float)
  7375. 0065: 633@ -= $TEMPVAR_FLOAT_2 // (float)
  7376. 0073: 632@ /= 630@ // (float)
  7377. 0073: 633@ /= 630@ // (float)
  7378. 006B: 632@ *= 631@ // (float)
  7379. 006B: 633@ *= 631@ // (float)
  7380. 0089: 627@ = $TEMPVAR_FLOAT_1 // (float)
  7381. 005B: 627@ += 632@ // (float)
  7382. 0089: 628@ = $TEMPVAR_FLOAT_2 // (float)
  7383. 005B: 628@ += 633@ // (float)
  7384.  
  7385. :POOL2_54215
  7386. 629@ += 1
  7387. jump @POOL2_54027
  7388.  
  7389. :POOL2_54229
  7390. 0087: 630@ = 98@ // (float)
  7391. if
  7392. 0025:   630@ > 627@ // (float)
  7393. else_jump @POOL2_54264
  7394. 0087: 627@ = 630@ // (float)
  7395.  
  7396. :POOL2_54264
  7397. 0087: 630@ = 99@ // (float)
  7398. if
  7399. 0025:   627@ > 630@ // (float)
  7400. else_jump @POOL2_54299
  7401. 0087: 627@ = 630@ // (float)
  7402.  
  7403. :POOL2_54299
  7404. 0087: 630@ = 100@ // (float)
  7405. if
  7406. 0025:   630@ > 628@ // (float)
  7407. else_jump @POOL2_54334
  7408. 0087: 628@ = 630@ // (float)
  7409.  
  7410. :POOL2_54334
  7411. 0087: 630@ = 101@ // (float)
  7412. if
  7413. 0025:   628@ > 630@ // (float)
  7414. else_jump @POOL2_54369
  7415. 0087: 628@ = 630@ // (float)
  7416.  
  7417. :POOL2_54369
  7418. return
  7419.  
  7420. :POOL2_54371
  7421. 0400: store_coords_to $6460 $6461 $6462 from_object 163@ with_offset 0.0 0.0 0.0
  7422. 0400: store_coords_to $6463 $6464 $6465 from_object 163@ with_offset 0.0 -1.0 0.0
  7423. 0086: $6466 = $6460 // (float)
  7424. 0061: $6466 -= $6463 // (float)
  7425. 0086: $6468 = $6461 // (float)
  7426. 0061: $6468 -= $6464 // (float)
  7427. 0509: $6470 = distance_between_XY $6460 $6461 and_XY $6463 $6464
  7428. 0071: $6466 /= $6470 // (float)
  7429. 0071: $6468 /= $6470 // (float)
  7430. 0086: $6467 = $6468 // (float)
  7431. 0086: $6469 = $6466 // (float)
  7432. $6469 *= -1.0
  7433. return
  7434.  
  7435. :POOL2_54522
  7436. 0937: text_draw_box_cornerA 29.0 220.0 cornerB 641@ 647@ GXT_reference 'BJ_TITL' style 2  // Wager
  7437. gosub @POOL2_60436
  7438. 0340: set_text_draw_RGBA 134 155 184 255
  7439. 0343: set_text_draw_linewidth 640.0
  7440. 033E: set_draw_text_position 36.0 240.0 GXT 'BJ_01'  // Total Wager
  7441. gosub @POOL2_60436
  7442. 033F: set_text_draw_letter_size 0.6253 2.7876
  7443. 045A: draw_text_1number 36.0 260.0 GXT 'DOLLAR' number 155@  // $~1~
  7444. gosub @POOL2_60436
  7445. 0340: set_text_draw_RGBA 134 155 184 255
  7446. 0343: set_text_draw_linewidth 640.0
  7447. 033E: set_draw_text_position 36.0 290.0 GXT 'BJ_02'  // Min Wager
  7448. gosub @POOL2_60436
  7449. 033F: set_text_draw_letter_size 0.6253 2.7876
  7450. 045A: draw_text_1number 36.0 310.0 GXT 'DOLLAR' number $9460  // $~1~
  7451. gosub @POOL2_60436
  7452. 0340: set_text_draw_RGBA 134 155 184 255
  7453. 0343: set_text_draw_linewidth 640.0
  7454. 033E: set_draw_text_position 36.0 340.0 GXT 'BJ_03'  // Max Wager
  7455. gosub @POOL2_60436
  7456. 033F: set_text_draw_letter_size 0.6253 2.7876
  7457. 045A: draw_text_1number 36.0 360.0 GXT 'DOLLAR' number $9461  // $~1~
  7458. return
  7459.  
  7460. :POOL2_54829
  7461. if and
  7462.   274@ == 0
  7463.   271@ == 0
  7464. else_jump @POOL2_54875
  7465. 635@ = 1
  7466. gosub @POOL2_57034
  7467. jump @POOL2_56226
  7468.  
  7469. :POOL2_54875
  7470. 0937: text_draw_box_cornerA 29.0 220.0 cornerB 637@ 643@ GXT_reference 'SCORE' style 2  // Info
  7471. gosub @POOL2_60436
  7472. 0340: set_text_draw_RGBA 134 155 184 255
  7473. 033E: set_draw_text_position 36.0 240.0 GXT 'PL_01'  // Player 1
  7474. gosub @POOL2_60436
  7475. 033F: set_text_draw_letter_size 636@ 642@
  7476. if
  7477.   217@ == 0
  7478. else_jump @POOL2_55000
  7479. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_12'  // Solids
  7480.  
  7481. :POOL2_55000
  7482. if
  7483.   217@ == 1
  7484. else_jump @POOL2_55039
  7485. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_13'  // Stripes
  7486.  
  7487. :POOL2_55039
  7488. if
  7489.   217@ == -1
  7490. else_jump @POOL2_55078
  7491. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_15'  // Open Table
  7492.  
  7493. :POOL2_55078
  7494. if
  7495.   217@ == 2
  7496. else_jump @POOL2_55117
  7497. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_14'  // Black
  7498.  
  7499. :POOL2_55117
  7500. gosub @POOL2_60436
  7501. 0340: set_text_draw_RGBA 134 155 184 255
  7502. if
  7503.   178@ == 1
  7504. else_jump @POOL2_55184
  7505. 033E: set_draw_text_position 36.0 290.0 GXT 'PL_02'  // Player 2
  7506. jump @POOL2_55205
  7507.  
  7508. :POOL2_55184
  7509. 033E: set_draw_text_position 36.0 290.0 GXT 'PL_03'  // CPU
  7510.  
  7511. :POOL2_55205
  7512. gosub @POOL2_60436
  7513. 033F: set_text_draw_letter_size 636@ 642@
  7514. if
  7515.   218@ == 0
  7516. else_jump @POOL2_55259
  7517. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_12'  // Solids
  7518.  
  7519. :POOL2_55259
  7520. if
  7521.   218@ == 1
  7522. else_jump @POOL2_55298
  7523. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_13'  // Stripes
  7524.  
  7525. :POOL2_55298
  7526. if
  7527.   218@ == -1
  7528. else_jump @POOL2_55337
  7529. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_15'  // Open Table
  7530.  
  7531. :POOL2_55337
  7532. if
  7533.   218@ == 2
  7534. else_jump @POOL2_55376
  7535. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_14'  // Black
  7536.  
  7537. :POOL2_55376
  7538. if
  7539.   274@ > 0
  7540. else_jump @POOL2_55696
  7541. gosub @POOL2_60436
  7542. 0340: set_text_draw_RGBA 134 155 184 255
  7543. 033E: set_draw_text_position 36.0 340.0 GXT 'PL_04'  // Foul!
  7544. gosub @POOL2_60436
  7545. 033F: set_text_draw_letter_size 636@ 642@
  7546. 0871: init_jump_table 274@ total_jumps 7 default_jump 0 @POOL2_55689 jumps 0 @POOL2_55514 1 @POOL2_55521 2 @POOL2_55549 3 @POOL2_55577 4 @POOL2_55605 5 @POOL2_55633 6 @POOL2_55661
  7547.  
  7548. :POOL2_55514
  7549. jump @POOL2_55689
  7550.  
  7551. :POOL2_55521
  7552. 033E: set_draw_text_position 36.0 360.0 GXT 'FOUL1'  // Missed all balls
  7553. jump @POOL2_55689
  7554.  
  7555. :POOL2_55549
  7556. 033E: set_draw_text_position 36.0 360.0 GXT 'FOUL2'  // Hit wrong ball first!
  7557. jump @POOL2_55689
  7558.  
  7559. :POOL2_55577
  7560. 033E: set_draw_text_position 36.0 360.0 GXT 'FOUL3'  // Pocketed white!
  7561. jump @POOL2_55689
  7562.  
  7563. :POOL2_55605
  7564. 033E: set_draw_text_position 36.0 360.0 GXT 'FOUL4'  // Pocketed wrong color!
  7565. jump @POOL2_55689
  7566.  
  7567. :POOL2_55633
  7568. 033E: set_draw_text_position 36.0 360.0 GXT 'FOUL5'  // Pocketed black out of turn!
  7569. jump @POOL2_55689
  7570.  
  7571. :POOL2_55661
  7572. 033E: set_draw_text_position 36.0 360.0 GXT 'FOUL6'  // No balls hit the rail!
  7573. jump @POOL2_55689
  7574.  
  7575. :POOL2_55689
  7576. jump @POOL2_56226
  7577.  
  7578. :POOL2_55696
  7579. if
  7580.   271@ > 0
  7581. else_jump @POOL2_56226
  7582. if
  7583.   271@ == 1
  7584. else_jump @POOL2_55888
  7585. gosub @POOL2_60436
  7586. 0340: set_text_draw_RGBA 134 155 184 255
  7587. 033E: set_draw_text_position 36.0 340.0 GXT 'PL_05'  // Pocketed Ball!
  7588. 39@ = 1
  7589.  
  7590. :POOL2_55781
  7591. if
  7592.   16 > 39@
  7593. else_jump @POOL2_55881
  7594. if
  7595.    not 255@(39@,16i) == 0
  7596. else_jump @POOL2_55867
  7597. gosub @POOL2_60436
  7598. 033F: set_text_draw_letter_size 636@ 642@
  7599. 045A: draw_text_1number 36.0 360.0 GXT 'NUM' number 39@  // ~1~
  7600. 39@ = 16
  7601.  
  7602. :POOL2_55867
  7603. 39@ += 1
  7604. jump @POOL2_55781
  7605.  
  7606. :POOL2_55881
  7607. jump @POOL2_56226
  7608.  
  7609. :POOL2_55888
  7610. gosub @POOL2_60436
  7611. 0340: set_text_draw_RGBA 134 155 184 255
  7612. 033E: set_draw_text_position 36.0 340.0 GXT 'PL_06'  // Pocketed Balls!
  7613. 39@ = 1
  7614. 0085: 40@ = 271@ // (int)
  7615. 42@ = 36.0
  7616.  
  7617. :POOL2_55955
  7618. if
  7619.   40@ > 0
  7620. else_jump @POOL2_56226
  7621.  
  7622. :POOL2_55973
  7623. if
  7624.   16 > 39@
  7625. else_jump @POOL2_56219
  7626. if
  7627.    not 255@(39@,16i) == 0
  7628. else_jump @POOL2_56180
  7629. if
  7630.   40@ > 1
  7631. else_jump @POOL2_56122
  7632. gosub @POOL2_60436
  7633. 033F: set_text_draw_letter_size 636@ 642@
  7634. 0A08: get_gxt_string_1number 'COMMA' number 39@ width_to 41@  // ~1~,
  7635. 0093: 43@ = integer 41@ to_float
  7636. 045A: draw_text_1number 42@ 360.0 GXT 'COMMA' number 39@  // ~1~,
  7637. 005B: 42@ += 43@ // (float)
  7638. 39@ += 1
  7639. 40@ -= 1
  7640. jump @POOL2_56173
  7641.  
  7642. :POOL2_56122
  7643. gosub @POOL2_60436
  7644. 033F: set_text_draw_letter_size 636@ 642@
  7645. 045A: draw_text_1number 42@ 360.0 GXT 'NUM' number 39@  // ~1~
  7646. 40@ = -1
  7647. 39@ = 16
  7648.  
  7649. :POOL2_56173
  7650. jump @POOL2_56187
  7651.  
  7652. :POOL2_56180
  7653. 39@ += 1
  7654.  
  7655. :POOL2_56187
  7656. if
  7657.   39@ >= 16
  7658. else_jump @POOL2_56212
  7659. 40@ = -1
  7660.  
  7661. :POOL2_56212
  7662. jump @POOL2_55973
  7663.  
  7664. :POOL2_56219
  7665. jump @POOL2_55955
  7666.  
  7667. :POOL2_56226
  7668. return
  7669. if or
  7670. 0736:   NOP_false 131
  7671. 0736:   NOP_false 87
  7672. else_jump @POOL2_56258
  7673. 621@ += 1.0
  7674.  
  7675. :POOL2_56258
  7676. if or
  7677. 0736:   NOP_false 130
  7678. 0736:   NOP_false 90
  7679. else_jump @POOL2_56288
  7680. 621@ += -1.0
  7681.  
  7682. :POOL2_56288
  7683. if or
  7684. 0736:   NOP_false 128
  7685. 0736:   NOP_false 68
  7686. else_jump @POOL2_56318
  7687. 620@ += 1.0
  7688.  
  7689. :POOL2_56318
  7690. if or
  7691. 0736:   NOP_false 129
  7692. 0736:   NOP_false 65
  7693. else_jump @POOL2_56348
  7694. 620@ += -1.0
  7695.  
  7696. :POOL2_56348
  7697. if or
  7698. 0736:   NOP_false 145
  7699. 0736:   NOP_false 87
  7700. else_jump @POOL2_56378
  7701. 624@ += 1.0
  7702.  
  7703. :POOL2_56378
  7704. if or
  7705. 0736:   NOP_false 139
  7706. 0736:   NOP_false 90
  7707. else_jump @POOL2_56408
  7708. 624@ += -1.0
  7709.  
  7710. :POOL2_56408
  7711. if or
  7712. 0736:   NOP_false 143
  7713. 0736:   NOP_false 68
  7714. else_jump @POOL2_56438
  7715. 625@ += 1.0
  7716.  
  7717. :POOL2_56438
  7718. if or
  7719. 0736:   NOP_false 141
  7720. 0736:   NOP_false 65
  7721. else_jump @POOL2_56468
  7722. 625@ += -1.0
  7723.  
  7724. :POOL2_56468
  7725. if
  7726. 0736:   NOP_false 137
  7727. else_jump @POOL2_57032
  7728. 03A9: NOP
  7729. 05B6: 61 // BALL_SPRITE_HEIGHT =
  7730. 03A8: NOP 621@
  7731. 03A9: NOP
  7732. 05B6: 62 // BALL_SPRITE_WIDTH =
  7733. 03A8: NOP 620@
  7734. 03A9: NOP
  7735. 05B6: 63 // NIB_SPRITE_HEIGHT =
  7736. 03A8: NOP 624@
  7737. 03A9: NOP
  7738. 05B6: 64 // NIB_SPRITE_WIDTH =
  7739. 03A8: NOP 625@
  7740.  
  7741. :POOL2_57032
  7742. return
  7743.  
  7744. :POOL2_57034
  7745. if
  7746.   635@ == 0
  7747. else_jump @POOL2_57283
  7748. 39@ = 0
  7749. if
  7750.   3000 > 205@
  7751. else_jump @POOL2_57085
  7752. 39@ = 1
  7753.  
  7754. :POOL2_57085
  7755. if
  7756.   236@ == 1
  7757. else_jump @POOL2_57142
  7758. 205@ = 0
  7759. 39@ = 1
  7760. if
  7761.   198@ > 1
  7762. else_jump @POOL2_57142
  7763. 198@ = 0
  7764.  
  7765. :POOL2_57142
  7766. if
  7767.   198@ == 0
  7768. else_jump @POOL2_57187
  7769. 03E6: remove_text_box
  7770. 0512: show_permanent_text_box 'PL_H3'  // Use movement controls to aim the cue.~N~~k~~CAMERA_CHANGE_VIEW_ALL_SITUATIONS~ to change view. ~N~~k~~PED_SPRINT~ Proceed to shooting.~N~~k~~VEHICLE_ENTER_EXIT~ Hold to quit.
  7771. 205@ = 0
  7772. 198@ += 1
  7773.  
  7774. :POOL2_57187
  7775. if
  7776.   34@ == 5
  7777. else_jump @POOL2_57269
  7778. if
  7779.   198@ == 1
  7780. else_jump @POOL2_57262
  7781. if
  7782.   205@ > 3000
  7783. else_jump @POOL2_57262
  7784. 03E6: remove_text_box
  7785. 0512: show_permanent_text_box 'PL_H7'  // ~k~~PED_JUMPING~ Display information.
  7786. 198@ += 1
  7787.  
  7788. :POOL2_57262
  7789. jump @POOL2_57276
  7790.  
  7791. :POOL2_57269
  7792. 39@ = 1
  7793.  
  7794. :POOL2_57276
  7795. jump @POOL2_57297
  7796.  
  7797. :POOL2_57283
  7798. 39@ = 1
  7799. 635@ = 0
  7800.  
  7801. :POOL2_57297
  7802. if
  7803.   39@ == 1
  7804. else_jump @POOL2_57816
  7805. 0937: text_draw_box_cornerA 29.0 270.0 cornerB 638@ 644@ GXT_reference 'SCORE' style 2  // Info
  7806. gosub @POOL2_60436
  7807. 0340: set_text_draw_RGBA 134 155 184 255
  7808. 033E: set_draw_text_position 36.0 290.0 GXT 'PL_01'  // Player 1
  7809. gosub @POOL2_60436
  7810. 033F: set_text_draw_letter_size 636@ 642@
  7811. if
  7812.   217@ == 0
  7813. else_jump @POOL2_57440
  7814. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_12'  // Solids
  7815.  
  7816. :POOL2_57440
  7817. if
  7818.   217@ == 1
  7819. else_jump @POOL2_57479
  7820. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_13'  // Stripes
  7821.  
  7822. :POOL2_57479
  7823. if
  7824.   217@ == -1
  7825. else_jump @POOL2_57518
  7826. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_15'  // Open Table
  7827.  
  7828. :POOL2_57518
  7829. if
  7830.   217@ == 2
  7831. else_jump @POOL2_57557
  7832. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_14'  // Black
  7833.  
  7834. :POOL2_57557
  7835. gosub @POOL2_60436
  7836. 0340: set_text_draw_RGBA 134 155 184 255
  7837. if
  7838.   178@ == 1
  7839. else_jump @POOL2_57624
  7840. 033E: set_draw_text_position 36.0 340.0 GXT 'PL_02'  // Player 2
  7841. jump @POOL2_57645
  7842.  
  7843. :POOL2_57624
  7844. 033E: set_draw_text_position 36.0 340.0 GXT 'PL_03'  // CPU
  7845.  
  7846. :POOL2_57645
  7847. gosub @POOL2_60436
  7848. 033F: set_text_draw_letter_size 636@ 642@
  7849. if
  7850.   218@ == 0
  7851. else_jump @POOL2_57699
  7852. 033E: set_draw_text_position 36.0 360.0 GXT 'PL_12'  // Solids
  7853.  
  7854. :POOL2_57699
  7855. if
  7856.   218@ == 1
  7857. else_jump @POOL2_57738
  7858. 033E: set_draw_text_position 36.0 360.0 GXT 'PL_13'  // Stripes
  7859.  
  7860. :POOL2_57738
  7861. if
  7862.   218@ == -1
  7863. else_jump @POOL2_57777
  7864. 033E: set_draw_text_position 36.0 360.0 GXT 'PL_15'  // Open Table
  7865.  
  7866. :POOL2_57777
  7867. if
  7868.   218@ == 2
  7869. else_jump @POOL2_57816
  7870. 033E: set_draw_text_position 36.0 360.0 GXT 'PL_14'  // Black
  7871.  
  7872. :POOL2_57816
  7873. return
  7874.  
  7875. :POOL2_57818
  7876. 636@ = 0.4753
  7877. 642@ = 2.3176
  7878. 0871: init_jump_table $CURRENT_LANGUAGE total_jumps 4 default_jump 1 @POOL2_58009 jumps 1 @POOL2_57901 2 @POOL2_57955 3 @POOL2_57982 4 @POOL2_57928 -1 @POOL2_58036 -1 @POOL2_58036 -1 @POOL2_58036
  7879.  
  7880. :POOL2_57901
  7881. 637@ = 210.6556
  7882. 643@ = 426.4957
  7883. jump @POOL2_58036
  7884.  
  7885. :POOL2_57928
  7886. 637@ = 175.0805
  7887. 643@ = 426.4957
  7888. jump @POOL2_58036
  7889.  
  7890. :POOL2_57955
  7891. 637@ = 190.782
  7892. 643@ = 409.0
  7893. jump @POOL2_58036
  7894.  
  7895. :POOL2_57982
  7896. 637@ = 214.9799
  7897. 643@ = 409.0
  7898. jump @POOL2_58036
  7899.  
  7900. :POOL2_58009
  7901. 637@ = 174.4835
  7902. 643@ = 409.0
  7903. jump @POOL2_58036
  7904.  
  7905. :POOL2_58036
  7906. 0871: init_jump_table $CURRENT_LANGUAGE total_jumps 3 default_jump 1 @POOL2_58180 jumps 2 @POOL2_58126 3 @POOL2_58153 4 @POOL2_58099 -1 @POOL2_58207 -1 @POOL2_58207 -1 @POOL2_58207 -1 @POOL2_58207
  7907.  
  7908. :POOL2_58099
  7909. 638@ = 179.098
  7910. 644@ = 396.8582
  7911. jump @POOL2_58207
  7912.  
  7913. :POOL2_58126
  7914. 638@ = 166.0992
  7915. 644@ = 396.8582
  7916. jump @POOL2_58207
  7917.  
  7918. :POOL2_58153
  7919. 638@ = 205.4915
  7920. 644@ = 396.8582
  7921. jump @POOL2_58207
  7922.  
  7923. :POOL2_58180
  7924. 638@ = 157.0
  7925. 644@ = 396.8582
  7926. jump @POOL2_58207
  7927.  
  7928. :POOL2_58207
  7929. 0871: init_jump_table $CURRENT_LANGUAGE total_jumps 1 default_jump 1 @POOL2_58295 jumps 3 @POOL2_58270 -1 @POOL2_58322 -1 @POOL2_58322 -1 @POOL2_58322 -1 @POOL2_58322 -1 @POOL2_58322 -1 @POOL2_58322
  7930.  
  7931. :POOL2_58270
  7932. 0087: 639@ = 638@ // (float)
  7933. 645@ = 394.4953
  7934. jump @POOL2_58322
  7935.  
  7936. :POOL2_58295
  7937. 639@ = 168.1938
  7938. 645@ = 394.4953
  7939. jump @POOL2_58322
  7940.  
  7941. :POOL2_58322
  7942. 640@ = 0.4914
  7943. 646@ = 2.3977
  7944. 0871: init_jump_table $CURRENT_LANGUAGE total_jumps 1 default_jump 1 @POOL2_58432 jumps 3 @POOL2_58405 -1 @POOL2_58459 -1 @POOL2_58459 -1 @POOL2_58459 -1 @POOL2_58459 -1 @POOL2_58459 -1 @POOL2_58459
  7945.  
  7946. :POOL2_58405
  7947. 641@ = 178.0981
  7948. 647@ = 409.0
  7949. jump @POOL2_58459
  7950.  
  7951. :POOL2_58432
  7952. 641@ = 157.0
  7953. 647@ = 409.0
  7954. jump @POOL2_58459
  7955.  
  7956. :POOL2_58459
  7957. return
  7958. if
  7959. 0736:   NOP_false 67
  7960. else_jump @POOL2_58526
  7961. 648@ += 1
  7962. if
  7963.   648@ > 5
  7964. else_jump @POOL2_58508
  7965. 648@ = 0
  7966.  
  7967. :POOL2_58508
  7968. 0663: NOP "SCREEN_EDIT" 648@
  7969.  
  7970. :POOL2_58526
  7971. if
  7972. 0736:   NOP_false 131
  7973. else_jump @POOL2_58556
  7974. 642@(648@,6f) += -0.1
  7975.  
  7976. :POOL2_58556
  7977. if
  7978. 0736:   NOP_false 130
  7979. else_jump @POOL2_58586
  7980. 642@(648@,6f) += 0.1
  7981.  
  7982. :POOL2_58586
  7983. if
  7984. 0736:   NOP_false 128
  7985. else_jump @POOL2_58616
  7986. 636@(648@,6f) += 0.1
  7987.  
  7988. :POOL2_58616
  7989. if
  7990. 0736:   NOP_false 129
  7991. else_jump @POOL2_58646
  7992. 636@(648@,6f) += -0.1
  7993.  
  7994. :POOL2_58646
  7995. if
  7996. 0736:   NOP_false 137
  7997. else_jump @POOL2_59387
  7998. 03A9: NOP
  7999. 05B6: 65 // POOL - SCREEN_COORDS
  8000. 03A9: NOP
  8001. 39@ = 0
  8002.  
  8003. :POOL2_58803
  8004. if
  8005.   6 > 39@
  8006. else_jump @POOL2_59387
  8007. 05B6: 66 // SCREEN_COORD_X[
  8008. 03A7: NOP 39@
  8009. 05B6: 67 // ] =
  8010. 03A8: NOP 636@(39@,6f)
  8011. 03A9: NOP
  8012. 05B6: 68 // SCREEN_COORD_Y[
  8013. 03A7: NOP 39@
  8014. 05B6: 69 // ] =
  8015. 03A8: NOP 642@(39@,6f)
  8016. 03A9: NOP
  8017. 39@ += 1
  8018. jump @POOL2_58803
  8019.  
  8020. :POOL2_59387
  8021. return
  8022.  
  8023. :POOL2_59389
  8024. 39@ = 0
  8025. if
  8026.   3000 > 205@
  8027. else_jump @POOL2_59422
  8028. 39@ = 1
  8029.  
  8030. :POOL2_59422
  8031. if
  8032.   198@ == 0
  8033. else_jump @POOL2_59467
  8034. 03E6: remove_text_box
  8035. 0512: show_permanent_text_box 'PL_H6'  // Use the movement controls to position the cue ball.~N~~k~~PED_SPRINT~ Continue.~N~~k~~VEHICLE_ENTER_EXIT~ Hold to QUIT.
  8036. 205@ = 0
  8037. 198@ += 1
  8038.  
  8039. :POOL2_59467
  8040. if
  8041.   34@ == 4
  8042. else_jump @POOL2_59542
  8043. if
  8044.   198@ == 1
  8045. else_jump @POOL2_59542
  8046. if
  8047.   205@ > 3000
  8048. else_jump @POOL2_59542
  8049. 03E6: remove_text_box
  8050. 0512: show_permanent_text_box 'PL_H7'  // ~k~~PED_JUMPING~ Display information.
  8051. 198@ += 1
  8052.  
  8053. :POOL2_59542
  8054. if
  8055.   39@ == 1
  8056. else_jump @POOL2_60139
  8057. 0937: text_draw_box_cornerA 29.0 220.0 cornerB 639@ 645@ GXT_reference 'SCORE' style 2  // Info
  8058. gosub @POOL2_60436
  8059. 0340: set_text_draw_RGBA 134 155 184 255
  8060. 033E: set_draw_text_position 36.0 240.0 GXT 'PL_01'  // Player 1
  8061. gosub @POOL2_60436
  8062. 033F: set_text_draw_letter_size 636@ 642@
  8063. if
  8064.   217@ == 0
  8065. else_jump @POOL2_59685
  8066. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_12'  // Solids
  8067.  
  8068. :POOL2_59685
  8069. if
  8070.   217@ == 1
  8071. else_jump @POOL2_59724
  8072. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_13'  // Stripes
  8073.  
  8074. :POOL2_59724
  8075. if
  8076.   217@ == -1
  8077. else_jump @POOL2_59763
  8078. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_15'  // Open Table
  8079.  
  8080. :POOL2_59763
  8081. if
  8082.   217@ == 2
  8083. else_jump @POOL2_59802
  8084. 033E: set_draw_text_position 36.0 260.0 GXT 'PL_14'  // Black
  8085.  
  8086. :POOL2_59802
  8087. gosub @POOL2_60436
  8088. 0340: set_text_draw_RGBA 134 155 184 255
  8089. if
  8090.   178@ == 1
  8091. else_jump @POOL2_59869
  8092. 033E: set_draw_text_position 36.0 290.0 GXT 'PL_02'  // Player 2
  8093. jump @POOL2_59890
  8094.  
  8095. :POOL2_59869
  8096. 033E: set_draw_text_position 36.0 290.0 GXT 'PL_03'  // CPU
  8097.  
  8098. :POOL2_59890
  8099. gosub @POOL2_60436
  8100. 033F: set_text_draw_letter_size 636@ 642@
  8101. if
  8102.   218@ == 0
  8103. else_jump @POOL2_59944
  8104. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_12'  // Solids
  8105.  
  8106. :POOL2_59944
  8107. if
  8108.   218@ == 1
  8109. else_jump @POOL2_59983
  8110. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_13'  // Stripes
  8111.  
  8112. :POOL2_59983
  8113. if
  8114.   218@ == -1
  8115. else_jump @POOL2_60022
  8116. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_15'  // Open Table
  8117.  
  8118. :POOL2_60022
  8119. if
  8120.   218@ == 2
  8121. else_jump @POOL2_60061
  8122. 033E: set_draw_text_position 36.0 310.0 GXT 'PL_14'  // Black
  8123.  
  8124. :POOL2_60061
  8125. gosub @POOL2_60436
  8126. 0340: set_text_draw_RGBA 134 155 184 255
  8127. 033E: set_draw_text_position 36.0 340.0 GXT 'PL_16'  // Scratch
  8128. gosub @POOL2_60436
  8129. 033F: set_text_draw_letter_size 636@ 642@
  8130. 033E: set_draw_text_position 36.0 360.0 GXT 'PL_17'  // Ball in hand
  8131.  
  8132. :POOL2_60139
  8133. return
  8134. 033F: set_text_draw_letter_size 0.4487 1.5974
  8135. 0340: set_text_draw_RGBA 128 148 178 255
  8136. 0341: unknown_text_draw_flag 1
  8137. 0343: set_text_draw_linewidth 2000.0
  8138. 0348: enable_text_draw_proportional 1
  8139. return
  8140. 033F: set_text_draw_letter_size 0.4487 1.5974
  8141. 0340: set_text_draw_RGBA 128 148 178 255
  8142. 03E4: enable_text_draw_align_right 1
  8143. 0343: set_text_draw_linewidth 2000.0
  8144. 0348: enable_text_draw_proportional 1
  8145. return
  8146. 033F: set_text_draw_letter_size 0.9 2.4
  8147. 0340: set_text_draw_RGBA 128 148 178 255
  8148. 0342: enable_text_draw_centered 1
  8149. 0343: set_text_draw_linewidth 2000.0
  8150. 0348: enable_text_draw_proportional 1
  8151. return
  8152. 033F: set_text_draw_letter_size 0.9 2.4
  8153. 0340: set_text_draw_RGBA 81 25 29 255
  8154. 0342: enable_text_draw_centered 1
  8155. 0343: set_text_draw_linewidth 2000.0
  8156. 0348: enable_text_draw_proportional 1
  8157. return
  8158. 033F: set_text_draw_letter_size 0.54 1.44
  8159. 0340: set_text_draw_RGBA 128 148 178 255
  8160. 0341: unknown_text_draw_flag 1
  8161. 0343: set_text_draw_linewidth 2000.0
  8162. 0348: enable_text_draw_proportional 1
  8163. return
  8164. 033F: set_text_draw_letter_size 0.405 1.08
  8165. 0340: set_text_draw_RGBA 128 148 178 255
  8166. 0341: unknown_text_draw_flag 1
  8167. 0343: set_text_draw_linewidth 2000.0
  8168. 0348: enable_text_draw_proportional 1
  8169. return
  8170. 033F: set_text_draw_letter_size 0.54 1.44
  8171. 0340: set_text_draw_RGBA 81 25 29 255
  8172. 0341: unknown_text_draw_flag 1
  8173. 0343: set_text_draw_linewidth 2000.0
  8174. 0348: enable_text_draw_proportional 1
  8175. return
  8176.  
  8177. :POOL2_60436
  8178. 0340: set_text_draw_RGBA 180 180 180 255
  8179. 033F: set_text_draw_letter_size 640@ 646@
  8180. 03E4: enable_text_draw_align_right 0
  8181. 0341: unknown_text_draw_flag 0
  8182. 0342: enable_text_draw_centered 0
  8183. 0087: 649@ = 637@ // (float)
  8184. 649@ -= 20.0
  8185. 0343: set_text_draw_linewidth 649@
  8186. 0348: enable_text_draw_proportional 1
  8187. 0345: enable_text_draw_background 0
  8188. return
  8189. if
  8190. 0736:   NOP_false 130
  8191. else_jump @POOL2_60600
  8192. 650@ += -0.0001
  8193. 39@ = 0
  8194.  
  8195. :POOL2_60536
  8196. if
  8197.   16 > 39@
  8198. else_jump @POOL2_60600
  8199. if
  8200.    Object.Exists(82@(39@,16i))
  8201. else_jump @POOL2_60586
  8202. 0908: set_object 82@(39@,16i) turn_mass_to 650@ // float
  8203.  
  8204. :POOL2_60586
  8205. 39@ += 1
  8206. jump @POOL2_60536
  8207.  
  8208. :POOL2_60600
  8209. if
  8210. 0736:   NOP_false 137
  8211. else_jump @POOL2_60680
  8212.  
  8213. :POOL2_60616
  8214. if
  8215.   16 > 39@
  8216. else_jump @POOL2_60680
  8217. if
  8218.    Object.Exists(82@(39@,16i))
  8219. else_jump @POOL2_60666
  8220. 0908: set_object 82@(39@,16i) turn_mass_to 650@ // float
  8221.  
  8222. :POOL2_60666
  8223. 39@ += 1
  8224. jump @POOL2_60616
  8225.  
  8226. :POOL2_60680
  8227. if
  8228. 0736:   NOP_false 145
  8229. else_jump @POOL2_60696
  8230.  
  8231. :POOL2_60696
  8232. if
  8233. 0736:   NOP_false 139
  8234. else_jump @POOL2_60722
  8235. 203@ += -0.001
  8236.  
  8237. :POOL2_60722
  8238. if
  8239. 0736:   NOP_false 143
  8240. else_jump @POOL2_60748
  8241. 204@ += 0.001
  8242.  
  8243. :POOL2_60748
  8244. if
  8245. 0736:   NOP_false 141
  8246. else_jump @POOL2_60774
  8247. 204@ += -0.001
  8248.  
  8249. :POOL2_60774
  8250. return
  8251.  
  8252. :POOL2_60776
  8253. 00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED!
  8254. return
  8255.  
  8256. :POOL2_60794
  8257. 01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 5000 style 1  // MISSION PASSED!~n~~w~$~1~
  8258. Player.Money($PLAYER_CHAR) += 10000
  8259. Player.ClearWantedLevel($PLAYER_CHAR)
  8260. return
  8261.  
  8262. :POOL2_60828
  8263. 08F6: restore_player_group
  8264. 09D8: NOP 0
  8265. 0A3F: unknown_flag 0
  8266. $1904 = 0
  8267. 040D: unload_wav 4
  8268. 39@ = 0
  8269.  
  8270. :POOL2_60856
  8271. if
  8272.   10 > 39@
  8273. else_jump @POOL2_60917
  8274. if
  8275.    Object.Exists(347@(39@,10i))
  8276. else_jump @POOL2_60903
  8277. Object.Destroy(347@(39@,10i))
  8278.  
  8279. :POOL2_60903
  8280. 39@ += 1
  8281. jump @POOL2_60856
  8282.  
  8283. :POOL2_60917
  8284. if
  8285.    not Actor.Dead($9458)
  8286. else_jump @POOL2_60982
  8287. 0647: unknown_actor $9458 look_task
  8288. Actor.StorePos($9458, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  8289. 02CE: $TEMPVAR_FLOAT_3 = ground_z_at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  8290. 0089: 223@ = $TEMPVAR_FLOAT_3 // (float)
  8291. 0089: 227@ = $TEMPVAR_FLOAT_3 // (float)
  8292.  
  8293. :POOL2_60982
  8294. if
  8295.    not Actor.Dead($9458)
  8296. else_jump @POOL2_61026
  8297. Actor.StorePos($9458, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  8298. Actor.PutAt($9458, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, 227@)
  8299.  
  8300. :POOL2_61026
  8301. if
  8302.    Player.Defined($PLAYER_CHAR)
  8303. else_jump @POOL2_61151
  8304. Actor.StorePos($PLAYER_ACTOR, $TEMPVAR_FLOAT_1, $TEMPVAR_FLOAT_2, $TEMPVAR_FLOAT_3)
  8305. Actor.PutAt($PLAYER_ACTOR, 221@, 222@, 223@)
  8306. if
  8307.    not Actor.Dead($9458)
  8308. else_jump @POOL2_61100
  8309. Actor.StorePos($9458, 165@, 166@, 167@)
  8310.  
  8311. :POOL2_61100
  8312. 0087: 169@ = 165@ // (float)
  8313. 0065: 169@ -= $TEMPVAR_FLOAT_1 // (float)
  8314. 0087: 170@ = 166@ // (float)
  8315. 0065: 170@ -= $TEMPVAR_FLOAT_2 // (float)
  8316. 0604: get_Z_angle_for_point 169@ 170@ store_to $TEMPVAR_ANGLE
  8317. Actor.Angle($PLAYER_ACTOR) = $TEMPVAR_ANGLE
  8318.  
  8319. :POOL2_61151
  8320. Model.Load(#POOLCUE)
  8321.  
  8322. :POOL2_61156
  8323. if
  8324.    not Model.Available(#POOLCUE)
  8325. else_jump @POOL2_61183
  8326. wait 0
  8327. jump @POOL2_61156
  8328.  
  8329. :POOL2_61183
  8330. if
  8331.    Player.Defined($PLAYER_CHAR)
  8332. else_jump @POOL2_61223
  8333. 06AB: set_actor $PLAYER_ACTOR all_weapons_hidden 0
  8334. 070B: set_actor $PLAYER_ACTOR onbone_attached_object_operation 0
  8335. 01B2: give_actor $PLAYER_ACTOR weapon 7 ammo 9999 // Load the weapon model before using this
  8336.  
  8337. :POOL2_61223
  8338. if
  8339.    Object.Exists(106@)
  8340. else_jump @POOL2_61244
  8341. Object.Destroy(106@)
  8342.  
  8343. :POOL2_61244
  8344. if
  8345.    Object.Exists(107@)
  8346. else_jump @POOL2_61265
  8347. Object.Destroy(107@)
  8348.  
  8349. :POOL2_61265
  8350. if
  8351.    Object.Exists(238@)
  8352. else_jump @POOL2_61286
  8353. Object.Destroy(238@)
  8354.  
  8355. :POOL2_61286
  8356. if
  8357.    Object.Exists($9459)
  8358. else_jump @POOL2_61307
  8359. Object.Destroy($9459)
  8360.  
  8361. :POOL2_61307
  8362. Model.Destroy(#POOLCUE)
  8363. Model.Destroy(#K_POOLQ)
  8364. 04EF: release_animation "POOL"
  8365. if
  8366.    Player.Defined($PLAYER_CHAR)
  8367. else_jump @POOL2_61352
  8368. 0792: disembark_instantly_actor $PLAYER_ACTOR
  8369. 0619: enable_actor $PLAYER_ACTOR collision_detection 1
  8370.  
  8371. :POOL2_61352
  8372. 03DE: set_pedestrians_density_multiplier_to 1.0
  8373. 01EB: set_traffic_density_multiplier_to 1.0
  8374. 00BE: text_clear_all
  8375. 03E6: remove_text_box
  8376. $ONMISSION = 0
  8377. if
  8378.    Player.Defined($PLAYER_CHAR)
  8379. else_jump @POOL2_61458
  8380. 0792: disembark_instantly_actor $PLAYER_ACTOR
  8381. 0792: disembark_instantly_actor $PLAYER_ACTOR
  8382. 0792: disembark_instantly_actor $PLAYER_ACTOR
  8383. 0792: disembark_instantly_actor $PLAYER_ACTOR
  8384. 0792: disembark_instantly_actor $PLAYER_ACTOR
  8385. 0647: unknown_actor $PLAYER_ACTOR look_task
  8386. 0615: define_AS_pack_begin 47@
  8387. 05BA: AS_actor -1 move_mouth 1 ms
  8388. 05B9: AS_actor -1 stay_idle 1 ms
  8389. 0616: define_AS_pack_end 47@
  8390. 0618: assign_actor $PLAYER_ACTOR to_AS_pack 47@
  8391. 061B: remove_references_to_AS_pack 47@
  8392.  
  8393. :POOL2_61458
  8394. mission_cleanup
  8395. return
  8396. 0454: useless_store_debug_camera_position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  8397. if
  8398.    Object.Exists(163@)
  8399. else_jump @POOL2_61511
  8400. Object.StorePos(163@, 165@, 166@, 167@)
  8401. $TEMPVAR_ANGLE = Object.Angle(163@)
  8402.  
  8403. :POOL2_61511
  8404. $TEMPVAR_ANGLE *= -1.0
  8405. 02F7: 42@ = cosine $TEMPVAR_ANGLE // (float)
  8406. 02F6: 43@ = sine $TEMPVAR_ANGLE // (float)
  8407. 0089: 169@ = $TEMPVAR_FLOAT_1 // (float)
  8408. 0063: 169@ -= 165@ // (float)
  8409. 0089: 170@ = $TEMPVAR_FLOAT_2 // (float)
  8410. 0063: 170@ -= 166@ // (float)
  8411. 0089: 171@ = $TEMPVAR_FLOAT_3 // (float)
  8412. 0063: 171@ -= 167@ // (float)
  8413. 0087: 172@ = 169@ // (float)
  8414. 006B: 172@ *= 42@ // (float)
  8415. 0087: 44@ = 170@ // (float)
  8416. 006B: 44@ *= 43@ // (float)
  8417. 0063: 172@ -= 44@ // (float)
  8418. 0087: 173@ = 169@ // (float)
  8419. 006B: 173@ *= 43@ // (float)
  8420. 0087: 44@ = 170@ // (float)
  8421. 006B: 44@ *= 42@ // (float)
  8422. 005B: 173@ += 44@ // (float)
  8423. 03A9: NOP
  8424. 05B6: 70 // FIXED_CAMERA_POSITION - OFFSET FROM TABLE =
  8425. 03A8: NOP 172@
  8426. 03A8: NOP 173@
  8427. 03A8: NOP 171@
  8428. 0463: useless_store_debug_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  8429. 0089: 169@ = $TEMPVAR_FLOAT_1 // (float)
  8430. 0063: 169@ -= 165@ // (float)
  8431. 0089: 170@ = $TEMPVAR_FLOAT_2 // (float)
  8432. 0063: 170@ -= 166@ // (float)
  8433. 0089: 171@ = $TEMPVAR_FLOAT_3 // (float)
  8434. 0063: 171@ -= 167@ // (float)
  8435. 0087: 172@ = 169@ // (float)
  8436. 006B: 172@ *= 42@ // (float)
  8437. 0087: 44@ = 170@ // (float)
  8438. 006B: 44@ *= 43@ // (float)
  8439. 0063: 172@ -= 44@ // (float)
  8440. 0087: 173@ = 169@ // (float)
  8441. 006B: 173@ *= 43@ // (float)
  8442. 0087: 44@ = 170@ // (float)
  8443. 006B: 44@ *= 42@ // (float)
  8444. 005B: 173@ += 44@ // (float)
  8445. 03A9: NOP
  8446. 05B6: 71 // CAMERA_POINT_AT -       OFFSET FROM TABLE =
  8447. 03A8: NOP 172@
  8448. 03A8: NOP 173@
  8449. 03A8: NOP 171@
  8450. return
  8451. 0454: useless_store_debug_camera_position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  8452. if
  8453.    Actor.Defined(215@)
  8454. else_jump @POOL2_62165
  8455. if
  8456.    not Actor.Dead(215@)
  8457. else_jump @POOL2_62165
  8458. Actor.StorePos(215@, 165@, 166@, 167@)
  8459. $TEMPVAR_ANGLE = Actor.Angle(215@)
  8460.  
  8461. :POOL2_62165
  8462. $TEMPVAR_ANGLE *= -1.0
  8463. 02F7: 42@ = cosine $TEMPVAR_ANGLE // (float)
  8464. 02F6: 43@ = sine $TEMPVAR_ANGLE // (float)
  8465. 0089: 169@ = $TEMPVAR_FLOAT_1 // (float)
  8466. 0063: 169@ -= 165@ // (float)
  8467. 0089: 170@ = $TEMPVAR_FLOAT_2 // (float)
  8468. 0063: 170@ -= 166@ // (float)
  8469. 0089: 171@ = $TEMPVAR_FLOAT_3 // (float)
  8470. 0063: 171@ -= 167@ // (float)
  8471. 0087: 172@ = 169@ // (float)
  8472. 006B: 172@ *= 42@ // (float)
  8473. 0087: 44@ = 170@ // (float)
  8474. 006B: 44@ *= 43@ // (float)
  8475. 0063: 172@ -= 44@ // (float)
  8476. 0087: 173@ = 169@ // (float)
  8477. 006B: 173@ *= 43@ // (float)
  8478. 0087: 44@ = 170@ // (float)
  8479. 006B: 44@ *= 42@ // (float)
  8480. 005B: 173@ += 44@ // (float)
  8481. 03A9: NOP
  8482. 05B6: 72 // FIXED_CAMERA_POSITION - OFFSET FROM CHAR =
  8483. 03A8: NOP 172@
  8484. 03A8: NOP 173@
  8485. 03A8: NOP 171@
  8486. 0463: useless_store_debug_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  8487. 0089: 169@ = $TEMPVAR_FLOAT_1 // (float)
  8488. 0063: 169@ -= 165@ // (float)
  8489. 0089: 170@ = $TEMPVAR_FLOAT_2 // (float)
  8490. 0063: 170@ -= 166@ // (float)
  8491. 0089: 171@ = $TEMPVAR_FLOAT_3 // (float)
  8492. 0063: 171@ -= 167@ // (float)
  8493. 0087: 172@ = 169@ // (float)
  8494. 006B: 172@ *= 42@ // (float)
  8495. 0087: 44@ = 170@ // (float)
  8496. 006B: 44@ *= 43@ // (float)
  8497. 0063: 172@ -= 44@ // (float)
  8498. 0087: 173@ = 169@ // (float)
  8499. 006B: 173@ *= 43@ // (float)
  8500. 0087: 44@ = 170@ // (float)
  8501. 006B: 44@ *= 42@ // (float)
  8502. 005B: 173@ += 44@ // (float)
  8503. 03A9: NOP
  8504. 05B6: 73 // CAMERA_POINT_AT -       OFFSET FROM CHAR =
  8505. 03A8: NOP 172@
  8506. 03A8: NOP 173@
  8507. 03A8: NOP 171@
  8508. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement