Advertisement
Guest User

Untitled

a guest
Feb 24th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.07 KB | None | 0 0
  1. #script_determine_team_flags
  2. # INPUT: none
  3. # OUTPUT: none
  4. ("determine_team_flags",
  5. [
  6. (store_script_param, ":team_no", 1),
  7.  
  8. (try_begin),
  9. (eq, "$g_multiplayer_game_type", multiplayer_game_type_capture_the_flag),
  10.  
  11. (try_begin),
  12. (eq, ":team_no", 0),
  13.  
  14. (team_get_faction, ":team_faction_no", 0),
  15. (try_begin),
  16. (eq, ":team_faction_no", "fac_kingdom_1"),
  17. (assign, "$team_1_flag_scene_prop", "spr_ctf_flag_kingdom_4"),
  18. (else_try),
  19. (eq, ":team_faction_no", "fac_kingdom_2"),
  20. (assign, "$team_1_flag_scene_prop", "spr_ctf_flag_kingdom_1"),
  21. (else_try),
  22. (eq, ":team_faction_no", "fac_kingdom_3"),
  23. (assign, "$team_1_flag_scene_prop", "spr_ctf_flag_kingdom_3"),
  24. (else_try),
  25. (eq, ":team_faction_no", "fac_kingdom_4"),
  26. (assign, "$team_1_flag_scene_prop", "spr_ctf_flag_kingdom_2"),
  27. (else_try),
  28. (eq, ":team_faction_no", "fac_kingdom_5"),
  29. (assign, "$team_1_flag_scene_prop", "spr_ctf_flag_kingdom_5"),
  30. (try_end),
  31. (else_try),
  32. (team_get_faction, ":team_faction_no", 1),
  33. (try_begin),
  34. (eq, ":team_faction_no", "fac_kingdom_1"),
  35. (assign, "$team_2_flag_scene_prop", "spr_ctf_flag_kingdom_4"),
  36. (else_try),
  37. (eq, ":team_faction_no", "fac_kingdom_2"),
  38. (assign, "$team_2_flag_scene_prop", "spr_ctf_flag_kingdom_1"),
  39. (else_try),
  40. (eq, ":team_faction_no", "fac_kingdom_3"),
  41. (assign, "$team_2_flag_scene_prop", "spr_ctf_flag_kingdom_3"),
  42. (else_try),
  43. (eq, ":team_faction_no", "fac_kingdom_4"),
  44. (assign, "$team_2_flag_scene_prop", "spr_ctf_flag_kingdom_2"),
  45. (else_try),
  46. (eq, ":team_faction_no", "fac_kingdom_5"),
  47. (assign, "$team_2_flag_scene_prop", "spr_ctf_flag_kingdom_5"),
  48. (try_end),
  49.  
  50. (try_begin),
  51. (eq, "$team_1_flag_scene_prop", "$team_2_flag_scene_prop"),
  52. (assign, "$team_2_flag_scene_prop", "spr_ctf_flag_kingdom_7"),
  53. (try_end),
  54. (try_end),
  55. (else_try),
  56. (try_begin),
  57. (eq, ":team_no", 0),
  58.  
  59. (team_get_faction, ":team_faction_no", 0),
  60. (try_begin),
  61. (eq, ":team_faction_no", "fac_kingdom_1"),
  62. (assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_nord"),
  63. (else_try),
  64. (eq, ":team_faction_no", "fac_kingdom_2"),
  65. (assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_swadian"),
  66. (else_try),
  67. (eq, ":team_faction_no", "fac_kingdom_3"),
  68. (assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_khergit"),
  69. (else_try),
  70. (eq, ":team_faction_no", "fac_kingdom_4"),
  71. (assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_vaegir"),
  72. (else_try),
  73. (eq, ":team_faction_no", "fac_kingdom_5"),
  74. (assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_rhodok"),
  75. (try_end),
  76. (else_try),
  77. (team_get_faction, ":team_faction_no", 1),
  78. (try_begin),
  79. (eq, ":team_faction_no", "fac_kingdom_1"),
  80. (assign, "$team_2_flag_scene_prop", "spr_headquarters_flag_nord"),
  81. (else_try),
  82. (eq, ":team_faction_no", "fac_kingdom_2"),
  83. (assign, "$team_2_flag_scene_prop", "spr_headquarters_flag_swadian"),
  84. (else_try),
  85. (eq, ":team_faction_no", "fac_kingdom_3"),
  86. (assign, "$team_2_flag_scene_prop", "spr_headquarters_flag_khergit"),
  87. (else_try),
  88. (eq, ":team_faction_no", "fac_kingdom_4"),
  89. (assign, "$team_2_flag_scene_prop", "spr_headquarters_flag_vaegir"),
  90. (else_try),
  91. (eq, ":team_faction_no", "fac_kingdom_5"),
  92. (assign, "$team_2_flag_scene_prop", "spr_headquarters_flag_rhodok"),
  93. (try_end),
  94. (try_end),
  95. ]),
  96.  
  97.  
  98. #script_calculate_flag_move_time
  99. # INPUT: arg1 = number_of_total_agents_around_flag, arg2 = dist_between_flag_and_its_pole
  100. # OUTPUT: reg0 = flag move time
  101. ("calculate_flag_move_time",
  102. [
  103. (store_script_param, ":number_of_total_agents_around_flag", 1),
  104. (store_script_param, ":dist_between_flag_and_its_target", 2),
  105.  
  106. (try_begin), #(if no one is around flag it again moves to its current owner situation but 5 times slower than normal)
  107. (eq, ":number_of_total_agents_around_flag", 0),
  108. (store_mul, reg0, ":dist_between_flag_and_its_target", 2500),#5.00 * 1.00 * (500 stable) = 2000
  109. (else_try),
  110. (eq, ":number_of_total_agents_around_flag", 1),
  111. (store_mul, reg0, ":dist_between_flag_and_its_target", 500), #1.00 * (500 stable) = 500
  112. (else_try),
  113. (eq, ":number_of_total_agents_around_flag", 2),
  114. (store_mul, reg0, ":dist_between_flag_and_its_target", 300), #0.60(0.60) * (500 stable) = 300
  115. (else_try),
  116. (eq, ":number_of_total_agents_around_flag", 3),
  117. (store_mul, reg0, ":dist_between_flag_and_its_target", 195), #0.39(0.60 * 0.65) * (500 stable) = 195
  118. (else_try),
  119. (eq, ":number_of_total_agents_around_flag", 4),
  120. (store_mul, reg0, ":dist_between_flag_and_its_target", 137), #0.273(0.60 * 0.65 * 0.70) * (500 stable) = 136.5 >rounding> 137
  121. (else_try),
  122. (eq, ":number_of_total_agents_around_flag", 5),
  123. (store_mul, reg0, ":dist_between_flag_and_its_target", 102), #0.20475(0.60 * 0.65 * 0.70 * 0.75) * (500 stable) = 102.375 >rounding> 102
  124. (else_try),
  125. (eq, ":number_of_total_agents_around_flag", 6),
  126. (store_mul, reg0, ":dist_between_flag_and_its_target", 82), #0.1638(0.60 * 0.65 * 0.70 * 0.75 * 0.80) * (500 stable) = 81.9 >rounding> 82
  127. (else_try),
  128. (eq, ":number_of_total_agents_around_flag", 7),
  129. (store_mul, reg0, ":dist_between_flag_and_its_target", 66), #0.13104(0.60 * 0.65 * 0.70 * 0.75 * 0.80 * 0.85) * (500 stable) = 65.52 >rounding> 66
  130. (else_try),
  131. (eq, ":number_of_total_agents_around_flag", 8),
  132. (store_mul, reg0, ":dist_between_flag_and_its_target", 59), #0.117936(0.60 * 0.65 * 0.70 * 0.75 * 0.80 * 0.85 * 0.90) * (500 stable) = 58.968 >rounding> 59
  133. (else_try),
  134. (store_mul, reg0, ":dist_between_flag_and_its_target", 56), #0.1120392(0.60 * 0.65 * 0.70 * 0.75 * 0.80 * 0.85 * 0.90 * 0.95) * (500 stable) = 56.0196 >rounding> 56
  135. (try_end),
  136.  
  137. (assign, ":number_of_players", 0),
  138. (get_max_players, ":num_players"),
  139. (try_for_range, ":cur_player", 0, ":num_players"),
  140. (player_is_active, ":cur_player"),
  141. (val_add, ":number_of_players", 1),
  142. (try_end),
  143.  
  144. (try_begin),
  145. (lt, ":number_of_players", 10),
  146. (val_mul, reg0, 50),
  147. (else_try),
  148. (lt, ":number_of_players", 35),
  149. (store_sub, ":number_of_players_multipication", 35, ":number_of_players"),
  150. (val_mul, ":number_of_players_multipication", 2),
  151. (store_sub, ":number_of_players_multipication", 100, ":number_of_players_multipication"),
  152. (val_mul, reg0, ":number_of_players_multipication"),
  153. (else_try),
  154. (val_mul, reg0, 100),
  155. (try_end),
  156.  
  157. (try_begin),
  158. (this_or_next|eq, "$g_multiplayer_game_type", multiplayer_game_type_siege),
  159. (eq, "$g_multiplayer_game_type", multiplayer_game_type_captain_siege),
  160. (val_mul, reg0, 2),
  161. (try_end),
  162.  
  163. (val_div, reg0, 10000), #100x for number of players around flag, 100x for number of players in game
  164. ]),
  165.  
  166. #script_move_death_mode_flags_down
  167. # INPUT: none
  168. # OUTPUT: none
  169. ("move_death_mode_flags_down",
  170. [
  171. (try_begin),
  172. (scene_prop_get_instance, ":pole_1_id", "spr_headquarters_pole_code_only", 0),
  173. (prop_instance_get_position, pos0, ":pole_1_id"),
  174. (position_move_z, pos0, -2000),
  175. (prop_instance_set_position, ":pole_1_id", pos0),
  176. (try_end),
  177.  
  178. (try_begin),
  179. (scene_prop_get_instance, ":pole_2_id", "spr_headquarters_pole_code_only", 1),
  180. (prop_instance_get_position, pos1, ":pole_2_id"),
  181. (position_move_z, pos1, -2000),
  182. (prop_instance_set_position, ":pole_2_id", pos1),
  183. (try_end),
  184.  
  185. (try_begin),
  186. (scene_prop_get_instance, ":pole_1_id", "spr_headquarters_pole_code_only", 0),
  187. (prop_instance_get_position, pos0, ":pole_1_id"),
  188. (scene_prop_get_instance, ":flag_1_id", "$team_1_flag_scene_prop", 0),
  189. (prop_instance_stop_animating, ":flag_1_id"),
  190. (position_move_z, pos0, multi_headquarters_flag_initial_height),
  191. (prop_instance_set_position, ":flag_1_id", pos0),
  192. (try_end),
  193.  
  194. (try_begin),
  195. (scene_prop_get_instance, ":pole_2_id", "spr_headquarters_pole_code_only", 1),
  196. (prop_instance_get_position, pos1, ":pole_2_id"),
  197. (scene_prop_get_instance, ":flag_2_id", "$team_2_flag_scene_prop", 0),
  198. (prop_instance_stop_animating, ":flag_2_id"),
  199. (position_move_z, pos1, multi_headquarters_flag_initial_height),
  200. (prop_instance_set_position, ":flag_2_id", pos1),
  201. (try_end),
  202. ]),
  203.  
  204. #script_move_flag
  205. # INPUT: arg1 = shown_flag_id, arg2 = move time in seconds, pos0 = target position
  206. # OUTPUT: none
  207. ("move_flag",
  208. [
  209. (store_script_param, ":shown_flag_id", 1),
  210. (store_script_param, ":shown_flag_move_time", 2),
  211.  
  212. (try_begin),
  213. (multiplayer_is_server), #added after auto-animating
  214.  
  215. (try_begin),
  216. (eq, ":shown_flag_move_time", 0), #stop
  217. (prop_instance_stop_animating, ":shown_flag_id"),
  218. (else_try),
  219. (prop_instance_animate_to_position, ":shown_flag_id", pos0, ":shown_flag_move_time"),
  220. (try_end),
  221. (try_end),
  222. ]),
  223.  
  224. #script_move_headquarters_flags
  225. # INPUT: arg1 = current_owner, arg2 = number_of_agents_around_flag_team_1, arg3 = number_of_agents_around_flag_team_2
  226. # OUTPUT: none
  227. ("move_headquarters_flags",
  228. [
  229. (store_script_param, ":flag_no", 1),
  230. (store_script_param, ":number_of_agents_around_flag_team_1", 2),
  231. (store_script_param, ":number_of_agents_around_flag_team_2", 3),
  232.  
  233. (store_add, ":cur_flag_slot", multi_data_flag_owner_begin, ":flag_no"),
  234. (troop_get_slot, ":current_owner", "trp_multiplayer_data", ":cur_flag_slot"),
  235.  
  236. (scene_prop_get_num_instances, ":num_instances", "spr_headquarters_flag_gray_code_only"),
  237. (try_begin),
  238. (assign, ":visibility", 0),
  239. (lt, ":flag_no", ":num_instances"),
  240. (scene_prop_get_instance, ":flag_id", "spr_headquarters_flag_gray_code_only", ":flag_no"),
  241. (scene_prop_get_visibility, ":visibility", ":flag_id"),
  242. (try_end),
  243.  
  244. (try_begin),
  245. (eq, ":visibility", 1),
  246. (assign, ":shown_flag", 0),
  247. (assign, ":shown_flag_id", ":flag_id"),
  248. (else_try),
  249. (scene_prop_get_num_instances, ":num_instances", "$team_1_flag_scene_prop"),
  250. (try_begin),
  251. (assign, ":visibility", 0),
  252. (lt, ":flag_no", ":num_instances"),
  253. (scene_prop_get_instance, ":flag_id", "$team_1_flag_scene_prop", ":flag_no"),
  254. (scene_prop_get_visibility, ":visibility", ":flag_id"),
  255. (try_end),
  256.  
  257. #(scene_prop_get_instance, ":flag_id", "$team_1_flag_scene_prop", ":flag_no"),
  258. #(scene_prop_get_visibility, ":visibility", ":flag_id"),
  259. (try_begin),
  260. (eq, ":visibility", 1),
  261. (assign, ":shown_flag", 1),
  262. (assign, ":shown_flag_id", ":flag_id"),
  263. (else_try),
  264. (scene_prop_get_num_instances, ":num_instances", "$team_2_flag_scene_prop"),
  265. (try_begin),
  266. (assign, ":visibility", 0),
  267. (lt, ":flag_no", ":num_instances"),
  268. (scene_prop_get_instance, ":flag_id", "$team_2_flag_scene_prop", ":flag_no"),
  269. (scene_prop_get_visibility, ":visibility", ":flag_id"),
  270. (try_end),
  271.  
  272. #(scene_prop_get_instance, ":flag_id", "$team_2_flag_scene_prop", ":flag_no"),
  273. #(scene_prop_get_visibility, ":visibility", ":flag_id"),
  274. (try_begin),
  275. (eq, ":visibility", 1),
  276. (assign, ":shown_flag", 2),
  277. (assign, ":shown_flag_id", ":flag_id"),
  278. (try_end),
  279. (try_end),
  280. (try_end),
  281.  
  282. (try_begin),
  283. (scene_prop_get_instance, ":pole_id", "spr_headquarters_pole_code_only", ":flag_no"),
  284. (try_end),
  285.  
  286. (try_begin),
  287. (eq, ":shown_flag", ":current_owner"), #situation 1 : (current owner is equal shown flag)
  288. (try_begin),
  289. (ge, ":number_of_agents_around_flag_team_1", 1),
  290. (ge, ":number_of_agents_around_flag_team_2", 1),
  291. (assign, ":flag_movement", 0), #0:stop
  292. (else_try),
  293. (eq, ":number_of_agents_around_flag_team_1", 0),
  294. (eq, ":number_of_agents_around_flag_team_2", 0),
  295. (assign, ":flag_movement", 1), #1:rise (slow)
  296. (else_try),
  297. (try_begin),
  298. (ge, ":number_of_agents_around_flag_team_1", 1),
  299. (eq, ":number_of_agents_around_flag_team_2", 0),
  300. (eq, ":current_owner", 1),
  301. (assign, ":flag_movement", 1), #1:rise (fast)
  302. (else_try),
  303. (eq, ":number_of_agents_around_flag_team_1", 0),
  304. (ge, ":number_of_agents_around_flag_team_2", 1),
  305. (eq, ":current_owner", 2),
  306. (assign, ":flag_movement", 1), #1:rise (fast)
  307. (else_try),
  308. (assign, ":flag_movement", -1), #-1:drop (fast)
  309. (try_end),
  310. (try_end),
  311. (else_try), #situation 2 : (current owner is different than shown flag)
  312. (try_begin),
  313. (ge, ":number_of_agents_around_flag_team_1", 1),
  314. (ge, ":number_of_agents_around_flag_team_2", 1),
  315. (assign, ":flag_movement", 0), #0:stop
  316. (else_try),
  317. (eq, ":number_of_agents_around_flag_team_1", 0),
  318. (eq, ":number_of_agents_around_flag_team_2", 0),
  319. (assign, ":flag_movement", -1), #-1:drop (slow)
  320. (else_try),
  321. (try_begin),
  322. (ge, ":number_of_agents_around_flag_team_1", 1),
  323. (eq, ":number_of_agents_around_flag_team_2", 0),
  324. (try_begin),
  325. (eq, ":shown_flag", 1),
  326. (assign, ":flag_movement", 1), #1:rise (fast)
  327. (else_try),
  328. (neq, ":current_owner", 1),
  329. (assign, ":flag_movement", -1), #-1:drop (fast)
  330. (try_end),
  331. (else_try),
  332. (eq, ":number_of_agents_around_flag_team_1", 0),
  333. (ge, ":number_of_agents_around_flag_team_2", 1),
  334. (try_begin),
  335. (eq, ":shown_flag", 2),
  336. (assign, ":flag_movement", 1), #1:rise (fast)
  337. (else_try),
  338. (neq, ":current_owner", 2),
  339. (assign, ":flag_movement", -1), #-1:drop (fast)
  340. (try_end),
  341. (try_end),
  342. (try_end),
  343. (try_end),
  344.  
  345. (store_add, ":number_of_total_agents_around_flag", ":number_of_agents_around_flag_team_1", ":number_of_agents_around_flag_team_2"),
  346.  
  347. (try_begin),
  348. (eq, ":flag_movement", 0),
  349. (assign, reg0, 0),
  350. (else_try),
  351. (eq, ":flag_movement", 1),
  352. (prop_instance_get_position, pos1, ":shown_flag_id"),
  353. (prop_instance_get_position, pos0, ":pole_id"),
  354. (position_move_z, pos0, multi_headquarters_pole_height),
  355. (get_distance_between_positions, ":dist_between_flag_and_its_target", pos0, pos1),
  356. (call_script, "script_calculate_flag_move_time", ":number_of_total_agents_around_flag", ":dist_between_flag_and_its_target"),
  357. (else_try),
  358. (eq, ":flag_movement", -1),
  359. (prop_instance_get_position, pos1, ":shown_flag_id"),
  360. (prop_instance_get_position, pos0, ":pole_id"),
  361. (get_distance_between_positions, ":dist_between_flag_and_its_target", pos0, pos1),
  362. (call_script, "script_calculate_flag_move_time", ":number_of_total_agents_around_flag", ":dist_between_flag_and_its_target"),
  363. (try_end),
  364.  
  365. (call_script, "script_move_flag", ":shown_flag_id", reg0), #pos0 : target position
  366. ]),
  367.  
  368. #script_set_num_agents_around_flag
  369. # INPUT: arg1 = flag_no, arg2 = owner_code
  370. # OUTPUT: none
  371. ("set_num_agents_around_flag",
  372. [
  373. (store_script_param, ":flag_no", 1),
  374. (store_script_param, ":current_owner_code", 2),
  375.  
  376. (store_div, ":number_of_agents_around_flag_team_1", ":current_owner_code", 100),
  377. (store_mod, ":number_of_agents_around_flag_team_2", ":current_owner_code", 100),
  378.  
  379. (store_add, ":cur_flag_owner_counts_slot", multi_data_flag_players_around_begin, ":flag_no"),
  380. (troop_set_slot, "trp_multiplayer_data", ":cur_flag_owner_counts_slot", ":current_owner_code"),
  381.  
  382. (call_script, "script_move_headquarters_flags", ":flag_no", ":number_of_agents_around_flag_team_1", ":number_of_agents_around_flag_team_2"),
  383. ]),
  384.  
  385. #script_change_flag_owner
  386. # INPUT: arg1 = flag_no, arg2 = owner_code
  387. # OUTPUT: none
  388. ("change_flag_owner",
  389. [
  390. (store_script_param, ":flag_no", 1),
  391. (store_script_param, ":owner_code", 2),
  392.  
  393. (try_begin),
  394. (lt, ":owner_code", 0),
  395. (val_add, ":owner_code", 1),
  396. (val_mul, ":owner_code", -1),
  397. (try_end),
  398.  
  399. (store_div, ":owner_team_no", ":owner_code", 100),
  400. (store_mod, ":shown_flag_no", ":owner_code", 100),
  401.  
  402. (store_add, ":cur_flag_slot", multi_data_flag_owner_begin, ":flag_no"),
  403. (troop_get_slot, ":older_owner_team_no", "trp_multiplayer_data", ":cur_flag_slot"),
  404.  
  405. (store_add, ":cur_flag_slot", multi_data_flag_owner_begin, ":flag_no"),
  406. (troop_set_slot, "trp_multiplayer_data", ":cur_flag_slot", ":owner_team_no"),
  407.  
  408. #senchronizing flag positions
  409. (try_begin),
  410. #(this_or_next|eq, ":initial_flags", 0), #moved after auto-animating
  411. (multiplayer_is_server),
  412.  
  413. (scene_prop_get_instance, ":pole_id", "spr_headquarters_pole_code_only", ":flag_no"),
  414. (try_begin),
  415. (eq, ":owner_team_no", 0), #if new owner team is 0 then flags are at bottom
  416. (neq, ":older_owner_team_no", -1), #clients
  417. (assign, ":continue", 1),
  418. (try_begin),
  419. (multiplayer_is_server),
  420. (eq, "$g_placing_initial_flags", 1),
  421. (assign, ":continue", 0),
  422. (try_end),
  423. (eq, ":continue", 1),
  424. (prop_instance_get_position, pos0, ":pole_id"),
  425. (position_move_z, pos0, multi_headquarters_distance_to_change_flag),
  426. (else_try),
  427. (prop_instance_get_position, pos0, ":pole_id"), #if new owner team is not 0 then flags are at top
  428. (position_move_z, pos0, multi_headquarters_pole_height),
  429. (try_end),
  430.  
  431. (scene_prop_get_instance, ":flag_id", "$team_1_flag_scene_prop", ":flag_no"),
  432. (prop_instance_stop_animating, ":flag_id"),
  433. (prop_instance_set_position, ":flag_id", pos0),
  434.  
  435. (scene_prop_get_instance, ":flag_id", "$team_2_flag_scene_prop", ":flag_no"),
  436. (prop_instance_stop_animating, ":flag_id"),
  437. (prop_instance_set_position, ":flag_id", pos0),
  438.  
  439. (scene_prop_get_instance, ":flag_id", "spr_headquarters_flag_gray_code_only", ":flag_no"),
  440. (prop_instance_stop_animating, ":flag_id"),
  441. (prop_instance_set_position, ":flag_id", pos0),
  442. (try_end),
  443.  
  444. #setting visibilities of flags
  445. (try_begin),
  446. (eq, ":shown_flag_no", 0),
  447. (scene_prop_get_instance, ":flag_id", "$team_1_flag_scene_prop", ":flag_no"),
  448. (scene_prop_set_visibility, ":flag_id", 0),
  449. (scene_prop_get_instance, ":flag_id", "$team_2_flag_scene_prop", ":flag_no"),
  450. (scene_prop_set_visibility, ":flag_id", 0),
  451. (scene_prop_get_instance, ":flag_id", "spr_headquarters_flag_gray_code_only", ":flag_no"),
  452. (scene_prop_set_visibility, ":flag_id", 1),
  453. (else_try),
  454. (eq, ":shown_flag_no", 1),
  455. (scene_prop_get_instance, ":flag_id", "$team_1_flag_scene_prop", ":flag_no"),
  456. (scene_prop_set_visibility, ":flag_id", 1),
  457. (scene_prop_get_instance, ":flag_id", "$team_2_flag_scene_prop", ":flag_no"),
  458. (scene_prop_set_visibility, ":flag_id", 0),
  459. (scene_prop_get_instance, ":flag_id", "spr_headquarters_flag_gray_code_only", ":flag_no"),
  460. (scene_prop_set_visibility, ":flag_id", 0),
  461. (else_try),
  462. (eq, ":shown_flag_no", 2),
  463. (scene_prop_get_instance, ":flag_id", "$team_1_flag_scene_prop", ":flag_no"),
  464. (scene_prop_set_visibility, ":flag_id", 0),
  465. (scene_prop_get_instance, ":flag_id", "$team_2_flag_scene_prop", ":flag_no"),
  466. (scene_prop_set_visibility, ":flag_id", 1),
  467. (scene_prop_get_instance, ":flag_id", "spr_headquarters_flag_gray_code_only", ":flag_no"),
  468. (scene_prop_set_visibility, ":flag_id", 0),
  469. (try_end),
  470.  
  471. #other
  472. (store_add, ":cur_flag_players_around_slot", multi_data_flag_players_around_begin, ":flag_no"),
  473. (troop_get_slot, ":players_around_code", "trp_multiplayer_data", ":cur_flag_players_around_slot"),
  474.  
  475. (store_div, ":number_of_agents_around_flag_team_1", ":players_around_code", 100),
  476. (store_mod, ":number_of_agents_around_flag_team_2", ":players_around_code", 100),
  477.  
  478. (call_script, "script_move_headquarters_flags", ":flag_no", ":number_of_agents_around_flag_team_1", ":number_of_agents_around_flag_team_2"),
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement