Advertisement
VADemon

TaE original code

Jan 1st, 2014
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 148.53 KB | None | 0 0
  1. // Troll and Elves Final version (md5: 9de99fcba4b6971fbb4aaa1cb095fa4b) Original gameplay (obfuscated) JASS code:
  2.  
  3. function GI takes nothing returns boolean
  4. local real locReal_1 = GetDestructableX(GetFilterDestructable()) - real_12
  5. local real locReal_2 = GetDestructableY(GetFilterDestructable()) - real_13
  6.  
  7. return (locReal_1 * locReal_1 + locReal_2 * locReal_2 <= bj_enumDestructableRadius)
  8. endfunction
  9.  
  10. function HI takes rect paramRect_1 returns group
  11. set group_2 = CreateGroup()
  12. call GroupEnumUnitsInRect(group_2, paramRect_1, boolexpr_1)
  13. return group_2
  14. endfunction
  15.  
  16. function JI takes real paramReal_1, location paramLocation_1, boolexpr paramBoolexpr_1 returns group
  17. set group_2 = CreateGroup()
  18. call GroupEnumUnitsInRangeOfLoc(group_2, paramLocation_1, paramReal_1, paramBoolexpr_1)
  19. return group_2
  20. endfunction
  21.  
  22. function PI takes real paramReal_1, location paramLocation_1 returns group
  23. set group_2 = CreateGroup()
  24. call GroupEnumUnitsInRangeOfLoc(group_2, paramLocation_1, paramReal_1, boolexpr_1)
  25. return group_2
  26. endfunction
  27.  
  28. function QI takes integer paramInteger_1 returns group
  29. set group_2 = CreateGroup()
  30. call GroupEnumUnitsOfType(group_2, UnitId2String(paramInteger_1), boolexpr_1)
  31. return group_2
  32. endfunction
  33.  
  34. function TI takes player paramPlayer_1 returns group
  35. set group_2 = CreateGroup()
  36. call GroupEnumUnitsOfPlayer(group_2, paramPlayer_1, boolexpr_1)
  37. return group_2
  38. endfunction
  39.  
  40. function WI takes boolexpr paramBoolexpr_1 returns force
  41. set force_5 = CreateForce()
  42. call ForceEnumPlayers(force_5, paramBoolexpr_1)
  43. call DestroyBoolExpr(paramBoolexpr_1)
  44. return force_5
  45. endfunction
  46.  
  47. function YI takes itemtype paramItemtype_1, integer paramInteger_1 returns nothing
  48. local group locGroup_1
  49.  
  50. set bj_stockPickedItemType = paramItemtype_1
  51. set bj_stockPickedItemLevel = paramInteger_1
  52. set locGroup_1 = CreateGroup()
  53. call GroupEnumUnitsOfType(locGroup_1, "marketplace", boolexpr_1)
  54. call ForGroup(locGroup_1, function UpdateEachStockBuildingEnum)
  55. call DestroyGroup(locGroup_1)
  56. set locGroup_1 = null
  57. endfunction
  58.  
  59. //Calls:
  60. // YI
  61. function EA takes nothing returns nothing
  62. local integer locInteger_1
  63. local itemtype locItemtype_1
  64. local integer locInteger_2 = 0
  65. local integer locInteger_3 = 0
  66. local integer locInteger_4
  67.  
  68. set locInteger_4 = 1
  69. loop
  70. if bj_stockAllowedPermanent[locInteger_4] then
  71. set locInteger_3 = locInteger_3 + 1
  72. if (GetRandomInt(1, locInteger_3) == 1) then
  73. set locItemtype_1 = ITEM_TYPE_PERMANENT
  74. set locInteger_2 = locInteger_4
  75. endif
  76. endif
  77. if bj_stockAllowedCharged[locInteger_4] then
  78. set locInteger_3 = locInteger_3 + 1
  79. if (GetRandomInt(1, locInteger_3) == 1) then
  80. set locItemtype_1 = ITEM_TYPE_CHARGED
  81. set locInteger_2 = locInteger_4
  82. endif
  83. endif
  84. if bj_stockAllowedArtifact[locInteger_4] then
  85. set locInteger_3 = locInteger_3 + 1
  86. if (GetRandomInt(1, locInteger_3) == 1) then
  87. set locItemtype_1 = ITEM_TYPE_ARTIFACT
  88. set locInteger_2 = locInteger_4
  89. endif
  90. endif
  91. set locInteger_4 = locInteger_4 + 1
  92. exitwhen locInteger_4 > 10
  93. endloop
  94. if (locInteger_3 == 0) then
  95. set locItemtype_1 = null
  96. return
  97. endif
  98. call YI(locItemtype_1, locInteger_2)
  99. set locItemtype_1 = null
  100. endfunction
  101.  
  102. //Calls:
  103. // EA
  104. //Functions as argument:
  105. // EA
  106. function IA takes nothing returns nothing
  107. call EA()
  108. call TimerStart(bj_stockUpdateTimer, bj_STOCK_RESTOCK_INTERVAL, true, function EA)
  109. endfunction
  110.  
  111. function NA takes nothing returns boolean
  112. return true
  113. endfunction
  114.  
  115. function FA takes nothing returns nothing
  116. call SetPlayerAllianceStateBJ(GetEnumPlayer(), player_1, 3)
  117. call SetPlayerAllianceStateBJ(player_1, GetEnumPlayer(), 3)
  118. endfunction
  119.  
  120. function GA takes nothing returns nothing
  121. call SetPlayerAllianceStateBJ(GetEnumPlayer(), player_1, 0)
  122. call SetPlayerAllianceStateBJ(player_1, GetEnumPlayer(), 0)
  123. endfunction
  124.  
  125. function HA takes nothing returns nothing
  126. call SetPlayerAllianceStateBJ(player_1, GetEnumPlayer(), 1)
  127. call SetPlayerAllianceStateBJ(GetEnumPlayer(), player_1, 0)
  128. endfunction
  129.  
  130. function JA takes nothing returns player
  131. call StoreInteger(gamecache_2, "missionKey", "key", GetPlayerId(GetLocalPlayer()) + 1)
  132. call TriggerSyncStart()
  133. call SyncStoredInteger(gamecache_2, "missionKey", "key")
  134. call TriggerSyncReady()
  135. return Player(GetStoredInteger(gamecache_2, "missionKey", "key") - 1)
  136. endfunction
  137.  
  138. function KA takes player paramPlayer_1, integer paramInteger_1, unit paramUnit_1, boolean paramBoolean_1 returns nothing
  139. local texttag locTexttag_1 = CreateTextTag()
  140. local string locString_1 = "+"
  141. local real locReal_1 = GetUnitX(paramUnit_1)
  142. local real locReal_2 = GetUnitY(paramUnit_1)
  143.  
  144. call AdjustPlayerStateBJ(paramInteger_1, paramPlayer_1, PLAYER_STATE_RESOURCE_GOLD)
  145. if paramInteger_1 < 0 then
  146. set locString_1 = ""
  147. endif
  148. call SetTextTagText(locTexttag_1, locString_1 + I2S(paramInteger_1), .025)
  149. call SetTextTagPos(locTexttag_1, locReal_1, locReal_2, .0)
  150. call SetTextTagColor(locTexttag_1, 255, 220, 0, 255)
  151. call SetTextTagVelocity(locTexttag_1, 0, .03)
  152. if IsPlayerAlly(paramPlayer_1, GetLocalPlayer()) or paramBoolean_1 then
  153. call SetTextTagVisibility(locTexttag_1, true)
  154. set locString_1 = "UI\\Feedback\\GoldCredit\\GoldCredit.mdl"
  155. else
  156. call SetTextTagVisibility(locTexttag_1, false)
  157. set locString_1 = ""
  158. endif
  159. if IsUnitType(paramUnit_1, UNIT_TYPE_STRUCTURE) then
  160. set locString_1 = ""
  161. endif
  162. call DestroyEffect(AddSpecialEffect(locString_1, locReal_1, locReal_2))
  163. call SetTextTagFadepoint(locTexttag_1, 2)
  164. call SetTextTagLifespan(locTexttag_1, 3)
  165. call SetTextTagPermanent(locTexttag_1, false)
  166. endfunction
  167.  
  168. function QA takes player paramPlayer_1 returns string
  169. local playercolor locPlayercolor_1 = GetPlayerColor(paramPlayer_1)
  170.  
  171. if locPlayercolor_1 == PLAYER_COLOR_RED then
  172. return "00FF0303"
  173. endif
  174. if locPlayercolor_1 == PLAYER_COLOR_BLUE then
  175. return "000042FF"
  176. endif
  177. if locPlayercolor_1 == PLAYER_COLOR_CYAN then
  178. return "001CE6B9"
  179. endif
  180. if locPlayercolor_1 == PLAYER_COLOR_PURPLE then
  181. return "00540081"
  182. endif
  183. if locPlayercolor_1 == PLAYER_COLOR_YELLOW then
  184. return "00FFFC01"
  185. endif
  186. if locPlayercolor_1 == PLAYER_COLOR_ORANGE then
  187. return "00FE8A0E"
  188. endif
  189. if locPlayercolor_1 == PLAYER_COLOR_GREEN then
  190. return "0020C000"
  191. endif
  192. if locPlayercolor_1 == PLAYER_COLOR_PINK then
  193. return "00E55BB0"
  194. endif
  195. if locPlayercolor_1 == PLAYER_COLOR_LIGHT_GRAY then
  196. return "00959697"
  197. endif
  198. if locPlayercolor_1 == PLAYER_COLOR_LIGHT_BLUE then
  199. return "007EBFF1"
  200. endif
  201. if locPlayercolor_1 == PLAYER_COLOR_AQUA then
  202. return "00106246"
  203. endif
  204. if locPlayercolor_1 == PLAYER_COLOR_BROWN then
  205. return "004E2A04"
  206. endif
  207. return null
  208. endfunction
  209.  
  210. function TA takes string paramString_1 returns player
  211. local playercolor locPlayercolor_1 = null
  212. local boolean locBoolean_1 = false
  213. local integer locInteger_1 = -1
  214.  
  215. set paramString_1 = StringCase(paramString_1, false)
  216. if paramString_1 == "red" or paramString_1 == "rouge" then
  217. set locPlayercolor_1 = PLAYER_COLOR_RED
  218. set locBoolean_1 = true
  219. endif
  220. if paramString_1 == "blue" or paramString_1 == "bleu" then
  221. set locPlayercolor_1 = PLAYER_COLOR_BLUE
  222. set locBoolean_1 = true
  223. endif
  224. if paramString_1 == "teal" or paramString_1 == "cyan" then
  225. set locPlayercolor_1 = PLAYER_COLOR_CYAN
  226. set locBoolean_1 = true
  227. endif
  228. if paramString_1 == "purple" or paramString_1 == "violet" then
  229. set locPlayercolor_1 = PLAYER_COLOR_PURPLE
  230. set locBoolean_1 = true
  231. endif
  232. if paramString_1 == "yellow" or paramString_1 == "jaune" then
  233. set locPlayercolor_1 = PLAYER_COLOR_YELLOW
  234. set locBoolean_1 = true
  235. endif
  236. if paramString_1 == "orange" or paramString_1 == "orange" then
  237. set locPlayercolor_1 = PLAYER_COLOR_ORANGE
  238. set locBoolean_1 = true
  239. endif
  240. if paramString_1 == "green" or paramString_1 == "vert" then
  241. set locPlayercolor_1 = PLAYER_COLOR_GREEN
  242. set locBoolean_1 = true
  243. endif
  244. if paramString_1 == "pink" or paramString_1 == "rose" then
  245. set locPlayercolor_1 = PLAYER_COLOR_PINK
  246. set locBoolean_1 = true
  247. endif
  248. if paramString_1 == "grey" or paramString_1 == "gris" then
  249. set locPlayercolor_1 = PLAYER_COLOR_LIGHT_GRAY
  250. set locBoolean_1 = true
  251. endif
  252. if paramString_1 == "light blue" or paramString_1 == "lightblue" or paramString_1 == "bleu clair" then
  253. set locPlayercolor_1 = PLAYER_COLOR_LIGHT_BLUE
  254. set locBoolean_1 = true
  255. endif
  256. if paramString_1 == "dark green" or paramString_1 == "darkgreen" or paramString_1 == "vert fonce" or paramString_1 == "vert fonce" then
  257. set locPlayercolor_1 = PLAYER_COLOR_AQUA
  258. set locBoolean_1 = true
  259. endif
  260. if paramString_1 == "brown" or paramString_1 == "marron" then
  261. set locPlayercolor_1 = PLAYER_COLOR_BROWN
  262. set locBoolean_1 = true
  263. endif
  264. if locBoolean_1 == false then
  265. set bj_forLoopAIndex = 0
  266. loop
  267. exitwhen bj_forLoopAIndex > 11
  268. if StringCase(GetPlayerName(Player(bj_forLoopAIndex)), false) == paramString_1 then
  269. set locInteger_1 = bj_forLoopAIndex
  270. endif
  271. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  272. endloop
  273. if locInteger_1 == -1 then
  274. set locInteger_1 = S2I(paramString_1) - 1
  275. endif
  276. else
  277. set bj_forLoopAIndex = 0
  278. loop
  279. exitwhen bj_forLoopAIndex > 11
  280. if GetPlayerColor(Player(bj_forLoopAIndex)) == locPlayercolor_1 and GetPlayerSlotState(Player(bj_forLoopAIndex)) == PLAYER_SLOT_STATE_PLAYING then
  281. set locInteger_1 = bj_forLoopAIndex
  282. endif
  283. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  284. endloop
  285. endif
  286. if locInteger_1 < 0 then
  287. return null
  288. endif
  289. if locInteger_1 > 11 then
  290. return null
  291. endif
  292. if GetPlayerSlotState(Player(locInteger_1)) != PLAYER_SLOT_STATE_PLAYING then
  293. return null
  294. endif
  295. return Player(locInteger_1)
  296. endfunction
  297.  
  298. function ZA takes nothing returns nothing
  299. set integer_3 = integer_3 + 1
  300. loop
  301. exitwhen boolean_1 == false or boolean_2
  302. call TriggerSleepAction(real_10)
  303. endloop
  304. endfunction
  305.  
  306. //Calls:
  307. // ZA
  308. // QA
  309. function VN takes unit paramUnit_1, string paramString_1, sound paramSound_1, string paramString_2 returns boolean
  310. if integer_3 >= integer_2 then
  311. return false
  312. endif
  313. call ZA()
  314. if boolean_2 then
  315. set integer_3 = integer_3 - 1
  316. return false
  317. endif
  318. set boolean_1 = true
  319. call SetCineModeVolumeGroupsImmediateBJ()
  320. call DoTransmissionBasicsXYBJ(GetUnitTypeId(paramUnit_1), GetPlayerColor(GetOwningPlayer(paramUnit_1)), GetUnitX(paramUnit_1), GetUnitY(paramUnit_1), paramSound_1, "|c" + QA(GetOwningPlayer(paramUnit_1)) + paramString_1, paramString_2, GetSoundDurationBJ(paramSound_1))
  321. if IsUnitVisible(paramUnit_1, GetLocalPlayer()) then
  322. call UnitAddIndicator(paramUnit_1, bj_TRANSMISSION_IND_RED, bj_TRANSMISSION_IND_BLUE, bj_TRANSMISSION_IND_GREEN, bj_TRANSMISSION_IND_ALPHA)
  323. endif
  324. call TriggerWaitForSound(paramSound_1, 0)
  325. call VolumeGroupReset()
  326. call TriggerSleepAction(real_11)
  327. set integer_3 = integer_3 - 1
  328. set boolean_1 = false
  329. return true
  330. endfunction
  331.  
  332. //Calls:
  333. // ZA
  334. function IN takes nothing returns nothing
  335. local integer locInteger_1 = integer_2
  336.  
  337. set integer_2 = 0
  338. set boolean_2 = true
  339. call TriggerSleepAction(real_10 + .5)
  340. set boolean_2 = false
  341. call ZA()
  342. set integer_3 = 0
  343. set integer_2 = locInteger_1
  344. endfunction
  345.  
  346. function NN takes nothing returns boolean
  347. local integer locInteger_1 = GetUnitTypeId(GetFilterUnit())
  348.  
  349. if IsUnitDeadBJ(GetFilterUnit()) then
  350. return false
  351. endif
  352. if locInteger_1 == 'u000' then
  353. return true
  354. endif
  355. return false
  356. endfunction
  357.  
  358. //Calls:
  359. // JI
  360. //Functions as argument:
  361. // NN
  362. function CN takes unit paramUnit_1 returns unit
  363. local location locLocation_1 = GetUnitLoc(paramUnit_1)
  364. local group locGroup_1 = JI(real_4, locLocation_1, Condition(function NN))
  365. local unit locUnit_1 = GroupPickRandomUnit(locGroup_1)
  366.  
  367. call RemoveLocation(locLocation_1)
  368. call DestroyGroup(locGroup_1)
  369. set locLocation_1 = null
  370. set locGroup_1 = null
  371. return locUnit_1
  372. endfunction
  373.  
  374. function GN takes nothing returns boolean
  375. local integer locInteger_1 = GetUnitTypeId(GetFilterUnit())
  376.  
  377. if IsUnitDeadBJ(GetFilterUnit()) then
  378. return false
  379. endif
  380. if locInteger_1 == 'H000' then
  381. return true
  382. endif
  383. return false
  384. endfunction
  385.  
  386. //Calls:
  387. // JI
  388. //Functions as argument:
  389. // GN
  390. function HN takes unit paramUnit_1 returns unit
  391. local location locLocation_1 = GetUnitLoc(paramUnit_1)
  392. local group locGroup_1 = JI(real_4, locLocation_1, Condition(function GN))
  393. local unit locUnit_1 = GroupPickRandomUnit(locGroup_1)
  394.  
  395. call RemoveLocation(locLocation_1)
  396. call DestroyGroup(locGroup_1)
  397. set locLocation_1 = null
  398. set locGroup_1 = null
  399. return locUnit_1
  400. endfunction
  401.  
  402. function JN takes nothing returns boolean
  403. local integer locInteger_1 = GetUnitTypeId(GetFilterUnit())
  404.  
  405. if IsUnitDeadBJ(GetFilterUnit()) then
  406. return false
  407. endif
  408. if locInteger_1 == 'h001' then
  409. return true
  410. endif
  411. if locInteger_1 == 'h002' then
  412. return true
  413. endif
  414. if locInteger_1 == 'h003' then
  415. return true
  416. endif
  417. if locInteger_1 == 'h004' then
  418. return true
  419. endif
  420. if locInteger_1 == 'h005' then
  421. return true
  422. endif
  423. if locInteger_1 == 'h006' then
  424. return true
  425. endif
  426. if locInteger_1 == 'h007' then
  427. return true
  428. endif
  429. if locInteger_1 == 'h008' then
  430. return true
  431. endif
  432. if locInteger_1 == 'h009' then
  433. return true
  434. endif
  435. if locInteger_1 == 'h00A' then
  436. return true
  437. endif
  438. if locInteger_1 == 'h00B' then
  439. return true
  440. endif
  441. if locInteger_1 == 'h00E' then
  442. return true
  443. endif
  444. if locInteger_1 == 'h00F' then
  445. return true
  446. endif
  447. return false
  448. endfunction
  449.  
  450. //Calls:
  451. // JI
  452. //Functions as argument:
  453. // JN
  454. function KN takes unit paramUnit_1 returns boolean
  455. local location locLocation_1 = GetUnitLoc(paramUnit_1)
  456. local group locGroup_1 = JI(real_4, locLocation_1, Condition(function JN))
  457. local integer locInteger_1 = CountUnitsInGroup(locGroup_1)
  458.  
  459. call RemoveLocation(locLocation_1)
  460. call DestroyGroup(locGroup_1)
  461. set locLocation_1 = null
  462. set locGroup_1 = null
  463. if locInteger_1 == 0 then
  464. return false
  465. endif
  466. return true
  467. endfunction
  468.  
  469. function MN takes unit paramUnit_1 returns boolean
  470. local integer locInteger_1 = GetUnitTypeId(paramUnit_1)
  471.  
  472. if locInteger_1 == 'u002' then
  473. return true
  474. endif
  475. if locInteger_1 == 'u003' then
  476. return true
  477. endif
  478. if locInteger_1 == 'u004' then
  479. return true
  480. endif
  481. if locInteger_1 == 'u005' then
  482. return true
  483. endif
  484. if locInteger_1 == 'u006' then
  485. return true
  486. endif
  487. if locInteger_1 == 'u00G' then
  488. return true
  489. endif
  490. if locInteger_1 == 'u00K' then
  491. return true
  492. endif
  493. if locInteger_1 == 'u00L' then
  494. return true
  495. endif
  496. if locInteger_1 == 'u00M' then
  497. return true
  498. endif
  499. if locInteger_1 == 'u00N' then
  500. return true
  501. endif
  502. if locInteger_1 == 'u010' then
  503. return true
  504. endif
  505. if locInteger_1 == 'u011' then
  506. return true
  507. endif
  508. if locInteger_1 == 'u012' then
  509. return true
  510. endif
  511. if locInteger_1 == 'u00Y' then
  512. return true
  513. endif
  514. if locInteger_1 == 'u00Z' then
  515. return true
  516. endif
  517. if locInteger_1 == 'u013' then
  518. return true
  519. endif
  520. if locInteger_1 == 'u00E' then
  521. return true
  522. endif
  523. if locInteger_1 == 'u00F' then
  524. return true
  525. endif
  526. return false
  527. endfunction
  528.  
  529. //Calls:
  530. // MN
  531. function PN takes nothing returns boolean
  532. if IsUnitDeadBJ(GetFilterUnit()) then
  533. return false
  534. endif
  535. return MN(GetFilterUnit())
  536. endfunction
  537.  
  538. //Calls:
  539. // PI
  540. function QN takes unit paramUnit_1 returns boolean
  541. local location locLocation_1 = GetUnitLoc(paramUnit_1)
  542. local group locGroup_1 = PI(real_4, locLocation_1)
  543. local player locPlayer_1 = GetOwningPlayer(paramUnit_1)
  544. local unit locUnit_1 = null
  545.  
  546. call RemoveLocation(locLocation_1)
  547. set locLocation_1 = null
  548. loop
  549. set locUnit_1 = FirstOfGroup(locGroup_1)
  550. exitwhen locUnit_1 == null
  551. if IsUnitEnemy(locUnit_1, locPlayer_1) and IsUnitAliveBJ(locUnit_1) and IsUnitVisible(locUnit_1, GetOwningPlayer(paramUnit_1)) then
  552. call DestroyGroup(locGroup_1)
  553. set locPlayer_1 = null
  554. set locUnit_1 = null
  555. return true
  556. endif
  557. call GroupRemoveUnit(locGroup_1, locUnit_1)
  558. endloop
  559. call DestroyGroup(locGroup_1)
  560. set locPlayer_1 = null
  561. set locUnit_1 = null
  562. return false
  563. endfunction
  564.  
  565. //Calls:
  566. // QN
  567. // MN
  568. // KN
  569. // CN
  570. // VN
  571. function SN takes unit paramUnit_1 returns nothing
  572. local unit locUnit_1
  573. local unit locUnit_2
  574. local integer locInteger_1 = GetUnitTypeId(paramUnit_1)
  575. local boolean array locBooleanArr_1
  576. local boolean locBoolean_1 = true
  577. local real locReal_1 = GetUnitLifePercent(paramUnit_1)
  578. local real locReal_2 = .0
  579. local timer locTimer_1 = CreateTimer()
  580. local integer locInteger_2 = 0
  581. local real locReal_3 = .0
  582. local integer locInteger_3 = 0
  583.  
  584. call SetUnitUserData(paramUnit_1, 1)
  585. call TimerStart(locTimer_1, 600, false, null)
  586. loop
  587. exitwhen locInteger_3 > 16
  588. set locBooleanArr_1[locInteger_3] = false
  589. set locInteger_3 = locInteger_3 + 1
  590. endloop
  591. call TriggerSleepAction(real_6)
  592. loop
  593. set locInteger_2 = locInteger_2 + 1
  594. set locBoolean_1 = QN(paramUnit_1)
  595. exitwhen locBoolean_1 == false
  596. if locInteger_2 > 1 and TimerGetElapsed(locTimer_1) > real_9 then
  597. set locReal_2 = (GetUnitLifePercent(paramUnit_1) - locReal_1) / TimerGetElapsed(locTimer_1)
  598. set locReal_1 = GetUnitLifePercent(paramUnit_1)
  599. call TimerStart(locTimer_1, 600, false, null)
  600. endif
  601. if MN(paramUnit_1) then
  602. set locReal_3 = GetRandomReal(.0, 1.)
  603. if KN(paramUnit_1) == false and locBooleanArr_1[0] == false and locReal_3 < .6 then
  604. set locUnit_1 = CN(paramUnit_1)
  605. if locUnit_1 != null then
  606. set locBooleanArr_1[0] = VN(locUnit_1, "Elf", sound_8, "Hmm ... Defensive towers ... No, this is a stupid idea ... It will never work ...")
  607. call TriggerSleepAction(real_5)
  608. endif
  609. endif
  610. if GetUnitLifePercent(paramUnit_1) <= real_7 then
  611. set locUnit_1 = CN(paramUnit_1)
  612. if locUnit_1 != null then
  613. set locReal_3 = GetRandomReal(.0, 1.)
  614. if locReal_3 < .3 and locBooleanArr_1[1] == false then
  615. set locBooleanArr_1[1] = VN(locUnit_1, "Elf", sound_10, "That's it, I'm dead")
  616. call TriggerSleepAction(real_5)
  617. elseif locReal_3 < .5 and locBooleanArr_1[9] == false then
  618. set locBooleanArr_1[9] = VN(locUnit_1, "Elf", sound_23, "Anyway who cares: in 100 years we'll be all dead")
  619. call TriggerSleepAction(real_5)
  620. elseif locReal_3 < .8 and locBooleanArr_1[10] == false then
  621. set locBooleanArr_1[10] = VN(locUnit_1, "Elf", sound_24, "Euhwaaaeuh...")
  622. call TriggerSleepAction(real_5)
  623. elseif locBooleanArr_1[17] == false then
  624. set locBooleanArr_1[17] = VN(locUnit_1, "Elf", sound_27, "It worthlessness that being good has to be")
  625. call TriggerSleepAction(real_5)
  626. endif
  627. endif
  628. endif
  629. set locUnit_1 = CN(paramUnit_1)
  630. if locInteger_2 > 1 and locReal_2 >= real_8 and locUnit_1 != null then
  631. set locReal_3 = GetRandomReal(.0, 1.)
  632. if locReal_3 < .5 and locBooleanArr_1[2] == false then
  633. set locBooleanArr_1[2] = VN(locUnit_1, "Elf", sound_9, "Chances of success? None!")
  634. call TriggerSleepAction(real_5)
  635. elseif locBooleanArr_1[14] == false then
  636. set locBooleanArr_1[14] = VN(locUnit_1, "Elf", sound_28, "It's too easy ...")
  637. call TriggerSleepAction(real_5)
  638. endif
  639. endif
  640. set locUnit_1 = CN(paramUnit_1)
  641. if locUnit_1 != null then
  642. set locReal_3 = GetRandomReal(.0, 1.)
  643. if locReal_3 < .05 and locBooleanArr_1[11] == false then
  644. set locBooleanArr_1[11] = VN(locUnit_1, "Elf", sound_31, "In the four corners of Paris, you will find scattered in small pieces of the puzzle!")
  645. call TriggerSleepAction(real_5)
  646. elseif locReal_3 < .1 and locBooleanArr_1[12] == false then
  647. set locBooleanArr_1[12] = VN(locUnit_1, "Elf", sound_32, "I hear from my father to become a farmer ...")
  648. call TriggerSleepAction(real_5)
  649. elseif locReal_3 < .15 and locBooleanArr_1[13] == false then
  650. set locBooleanArr_1[13] = VN(locUnit_1, "Elf", sound_30, "Help! There is a pec threatens me! It has an acorn in his hand!")
  651. call TriggerSleepAction(real_5)
  652. elseif locReal_3 < .2 and locBooleanArr_1[15] == false then
  653. set locBooleanArr_1[15] = VN(locUnit_1, "Elf", sound_33, "As if the orcs were not enough ...")
  654. call TriggerSleepAction(real_5)
  655. endif
  656. endif
  657. endif
  658. if locInteger_1 == 'H000' then
  659. set locUnit_1 = CN(paramUnit_1)
  660. if locInteger_2 > 1 and locReal_2 >= real_8 and locUnit_1 != null then
  661. set locReal_3 = GetRandomReal(.0, 1.)
  662. if locReal_3 < .4 and locBooleanArr_1[3] == false then
  663. set locBooleanArr_1[3] = VN(paramUnit_1, "Chaos Troll", sound_6, "Worse than you, no ca ...")
  664. call TriggerSleepAction(real_5)
  665. elseif locReal_3 < .8 and locBooleanArr_1[7] == false then
  666. set locBooleanArr_1[7] = VN(locUnit_1, "Elf", sound_18, "It's simple: you take the emulator phase hydro, and plug the transmitter on the particle transdimansionnel photonics. And voila: a new tower!")
  667. call TriggerSleepAction(real_5)
  668. elseif locBooleanArr_1[16] == false then
  669. set locBooleanArr_1[16] = VN(locUnit_1, "Elf", sound_29, "When, 900 years old like me you have, the less you will fit.")
  670. call TriggerSleepAction(real_5)
  671. endif
  672. endif
  673. if GetUnitLifePercent(paramUnit_1) > real_7 then
  674. set locReal_3 = GetRandomReal(.0, 1.)
  675. if locReal_3 < .075 and locBooleanArr_1[4] == false then
  676. set locBooleanArr_1[4] = VN(paramUnit_1, "Chaos Troll", sound_4, "Rum! Women and beer dammit!")
  677. call TriggerSleepAction(real_5)
  678. elseif locReal_3 < .15 and locBooleanArr_1[5] == false then
  679. set locBooleanArr_1[5] = VN(paramUnit_1, "Chaos Troll", sound_3, "Why not clafoutis? Everyone loves the clafoutis ...")
  680. call TriggerSleepAction(real_5)
  681. elseif locReal_3 < .225 and locBooleanArr_1[8] == false then
  682. set locBooleanArr_1[8] = VN(paramUnit_1, "Chaos Troll", sound_22, "No quarters!")
  683. call TriggerSleepAction(real_5)
  684. elseif locReal_3 < .3 and locBooleanArr_1[18] == false then
  685. set locBooleanArr_1[18] = VN(paramUnit_1, "Chaos Troll", sound_21, "I, will kill!")
  686. call TriggerSleepAction(real_5)
  687. elseif locReal_3 < .375 and locBooleanArr_1[19] == false then
  688. set locBooleanArr_1[19] = VN(paramUnit_1, "Chaos Troll", sound_20, "Tazdingo !")
  689. call TriggerSleepAction(real_5)
  690. elseif locReal_3 < .45 and locBooleanArr_1[20] == false then
  691. set locBooleanArr_1[20] = VN(paramUnit_1, "Chaos Troll", sound_14, "Will soon suffer!")
  692. call TriggerSleepAction(real_5)
  693. endif
  694. endif
  695. if GetUnitLifePercent(paramUnit_1) <= real_7 and locBooleanArr_1[6] == false then
  696. set locBooleanArr_1[6] = VN(paramUnit_1, "Chaos Troll", sound_17, "I passed the age of this crap!")
  697. call TriggerSleepAction(real_5)
  698. endif
  699. endif
  700. if IsUnitDeadBJ(paramUnit_1) then
  701. set locBoolean_1 = false
  702. endif
  703. call TriggerSleepAction(real_5)
  704. endloop
  705. call SetUnitUserData(paramUnit_1, 0)
  706. call DestroyTimer(locTimer_1)
  707. set locTimer_1 = null
  708. set paramUnit_1 = null
  709. set locUnit_2 = null
  710. set locUnit_1 = null
  711. endfunction
  712.  
  713. function RB takes unit paramUnit_1 returns boolean
  714. return (GetUnitUserData(paramUnit_1) == 0 or GetUnitUserData(paramUnit_1) == 2)
  715. endfunction
  716.  
  717. //Calls:
  718. // RB
  719. // SN
  720. function IB takes nothing returns nothing
  721. if RB(GetTriggerUnit()) then
  722. call SN(GetTriggerUnit())
  723. endif
  724. endfunction
  725.  
  726. //Calls:
  727. // RB
  728. // SN
  729. function AB takes nothing returns nothing
  730. if RB(GetAttacker()) then
  731. call SN(GetAttacker())
  732. endif
  733. endfunction
  734.  
  735. //Functions as argument:
  736. // IB
  737. // AB
  738. function NB takes nothing returns nothing
  739. local trigger locTrigger_1
  740.  
  741. set locTrigger_1 = CreateTrigger()
  742. call TriggerRegisterAnyUnitEventBJ(locTrigger_1, EVENT_PLAYER_UNIT_ATTACKED)
  743. call TriggerAddAction(locTrigger_1, function IB)
  744. set locTrigger_1 = CreateTrigger()
  745. call TriggerRegisterAnyUnitEventBJ(locTrigger_1, EVENT_PLAYER_UNIT_ATTACKED)
  746. call TriggerAddAction(locTrigger_1, function AB)
  747. set locTrigger_1 = null
  748. endfunction
  749.  
  750. function CB takes player paramPlayer_1 returns nothing
  751. call GroupClear(groupArr_1[GetPlayerId(paramPlayer_1)])
  752. call ClearSelectionForPlayer(paramPlayer_1)
  753. endfunction
  754.  
  755. //Calls:
  756. // CB
  757. function DB takes unit paramUnit_1, player paramPlayer_1 returns nothing
  758. call CB(paramPlayer_1)
  759. call SelectUnitForPlayerSingle(paramUnit_1, paramPlayer_1)
  760. endfunction
  761.  
  762. function FB takes player paramPlayer_1 returns group
  763. local group locGroup_1 = CreateGroup()
  764.  
  765. call GroupAddGroup(groupArr_1[GetPlayerId(paramPlayer_1)], locGroup_1)
  766. return locGroup_1
  767. endfunction
  768.  
  769. function GB takes nothing returns nothing
  770. call GroupAddUnit(groupArr_1[GetPlayerId(GetTriggerPlayer())], GetTriggerUnit())
  771. endfunction
  772.  
  773. function HB takes nothing returns nothing
  774. call GroupRemoveUnit(groupArr_1[GetPlayerId(GetTriggerPlayer())], GetTriggerUnit())
  775. endfunction
  776.  
  777. //Functions as argument:
  778. // GB
  779. // HB
  780. function JB takes nothing returns nothing
  781. local integer locInteger_1 = 0
  782. local trigger locTrigger_1 = CreateTrigger()
  783. local trigger locTrigger_2 = CreateTrigger()
  784.  
  785. loop
  786. exitwhen locInteger_1 > 11
  787. call TriggerRegisterPlayerSelectionEventBJ(locTrigger_1, Player(locInteger_1), true)
  788. call TriggerRegisterPlayerSelectionEventBJ(locTrigger_2, Player(locInteger_1), false)
  789. set groupArr_1[locInteger_1] = CreateGroup()
  790. set locInteger_1 = locInteger_1 + 1
  791. endloop
  792. call TriggerAddAction(locTrigger_1, function GB)
  793. call TriggerAddAction(locTrigger_2, function HB)
  794. endfunction
  795.  
  796. function MB takes nothing returns nothing
  797. local weathereffect locWeathereffect_1
  798.  
  799. set rect_1 = Rect(3648., 2272., 4800., 3328.)
  800. set rect_2 = Rect(16928., 5792., 17856., 6624.)
  801. set rect_3 = Rect(13728., -2144., 14944., -960.)
  802. set rect_4 = Rect(25216., -1856., 26080., -1152.)
  803. set rect_5 = Rect(25120., 5440., 26080., 6336.)
  804. set rect_6 = Rect(19744., 17344., 20928., 18464.)
  805. set rect_7 = Rect(6720., 14912., 7616., 15776.)
  806. set rect_8 = Rect(6592., 23744., 7744., 24864.)
  807. endfunction
  808.  
  809. //Calls:
  810. // JA
  811. // QA
  812. function PB takes nothing returns nothing
  813. set player_3 = JA()
  814. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Map will be choosen by |c" + QA(player_3) + GetPlayerName(player_3))
  815. call TriggerRegisterPlayerEvent(trigger_33, player_3, EVENT_PLAYER_ARROW_LEFT_DOWN)
  816. call TriggerRegisterPlayerEvent(trigger_34, player_3, EVENT_PLAYER_ARROW_RIGHT_DOWN)
  817. call TriggerRegisterPlayerEvent(trigger_35, player_3, EVENT_PLAYER_ARROW_DOWN_DOWN)
  818. call TriggerRegisterPlayerEvent(trigger_36, player_3, EVENT_PLAYER_ARROW_UP_DOWN)
  819. endfunction
  820.  
  821. function QB takes nothing returns nothing
  822. call RemoveUnit(GetEnumUnit())
  823. endfunction
  824.  
  825. //Calls:
  826. // HI
  827. //Functions as argument:
  828. // QB
  829. function SB takes nothing returns nothing
  830. local rect locRect_1 = GetWorldBounds()
  831. local group locGroup_1 = HI(locRect_1)
  832.  
  833. call ForGroup(locGroup_1, function QB)
  834. call RemoveRect(locRect_1)
  835. call DestroyGroup(locGroup_1)
  836. set locRect_1 = null
  837. set locGroup_1 = null
  838. endfunction
  839.  
  840. function WB takes location paramLocation_1 returns nothing
  841. local real locReal_1 = GetLocationX(paramLocation_1)
  842. local real locReal_2 = GetLocationY(paramLocation_1)
  843.  
  844. set unit_1 = CreateUnit(Player(11), 'u00B', locReal_1, locReal_2, 270.)
  845. call CreateUnit(Player(11), 'u00I', locReal_1 - 256, locReal_2 + 384, 270.)
  846. call CreateUnit(Player(11), 'u00U', locReal_1 - 384, locReal_2 + 384, 270.)
  847. call CreateUnit(Player(11), 'u00D', locReal_1 - 384, locReal_2 + 256, 270.)
  848. call CreateUnit(Player(11), 'u00C', locReal_1 + 384, locReal_2 + 256, 270.)
  849. call CreateUnit(Player(11), 'u015', locReal_1 + 384, locReal_2 + 384, 270.)
  850. call CreateUnit(Player(11), 'u00J', locReal_1 + 256, locReal_2 + 384, 270.)
  851. endfunction
  852.  
  853. //Calls:
  854. // SB
  855. // WB
  856. function YB takes integer paramInteger_1 returns nothing
  857. call DestroyTextTag(bj_lastCreatedTextTag)
  858. call SB()
  859. call WB(locationArr_1[paramInteger_1])
  860. call CameraSetupApplyForceDuration(camerasetupArr_1[paramInteger_1], true, .0)
  861. call CreateTextTagUnitBJ(stringArr_4[paramInteger_1], unit_1, 0, 10, 100, 100, 100, 0)
  862. call TriggerSleepAction(.01)
  863. call SetCameraTargetController(unit_1, 0, 0, false)
  864. endfunction
  865.  
  866. function VC takes nothing returns boolean
  867. return not(GetPlayerSlotState(GetFilterPlayer()) != PLAYER_SLOT_STATE_PLAYING) and not(GetFilterPlayer() == Player(11))
  868. endfunction
  869.  
  870. //Calls:
  871. // WI
  872. //Functions as argument:
  873. // VC
  874. function EC takes nothing returns integer
  875. local force locForce_1 = WI(Condition(function VC))
  876. local integer locInteger_1 = CountPlayersInForceBJ(locForce_1)
  877.  
  878. call DestroyForce(locForce_1)
  879. return locInteger_1
  880. endfunction
  881.  
  882. function XC takes nothing returns nothing
  883. call DialogDisplay(GetEnumPlayer(), dialog_3, false)
  884. call DialogDisplay(GetEnumPlayer(), dialog_4, false)
  885. call SetPlayerTechMaxAllowed(GetEnumPlayer(), 'u001', 1)
  886. call PanCameraToTimedLocForPlayer(GetEnumPlayer(), locationArr_1[integer_7], 0)
  887. set bj_forLoopAIndex = 0
  888. loop
  889. exitwhen bj_forLoopAIndex > 11
  890. call SetPlayerAllianceStateBJ(GetEnumPlayer(), Player(bj_forLoopAIndex), 3)
  891. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  892. endloop
  893. set integerArr_7[GetPlayerId(GetEnumPlayer()) + 1] = 0
  894. set integerArr_8[GetPlayerId(GetEnumPlayer()) + 1] = 0
  895. call SetPlayerState(GetEnumPlayer(), PLAYER_STATE_RESOURCE_LUMBER, 0)
  896. call SetPlayerState(GetEnumPlayer(), PLAYER_STATE_RESOURCE_GOLD, 0)
  897. endfunction
  898.  
  899. function OC takes nothing returns nothing
  900. call DialogSetMessage(dialog_3, "Do you want to be a Troll?")
  901. call DialogDisplay(GetEnumPlayer(), dialog_3, true)
  902. endfunction
  903.  
  904. //Functions as argument:
  905. // XC
  906. // OC
  907. function RC takes nothing returns nothing
  908. call DisableTrigger(trigger_33)
  909. call DisableTrigger(trigger_34)
  910. call DisableTrigger(trigger_35)
  911. call DisableTrigger(trigger_36)
  912. call DisableTrigger(trigger_32)
  913. call DestroyTextTag(bj_lastCreatedTextTag)
  914. set integer_2 = 3
  915. set integer_10 = integer_8
  916. set integer_11 = integer_9
  917. set integer_12 = 5
  918. call ResetToGameCamera(.25)
  919. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "The chosen map is: " + stringArr_3[integer_7])
  920. call ForForce(bj_FORCE_ALL_PLAYERS, function XC)
  921. call TriggerSleepAction(2.)
  922. call ForForce(bj_FORCE_ALL_PLAYERS, function OC)
  923. set timerdialog_1 = CreateTimerDialogBJ(timer_1, "Beginning in: ")
  924. call StartTimerBJ(timer_1, false, 10.)
  925. call TimerDialogDisplay(timerdialog_1, true)
  926. call SetCineModeVolumeGroupsImmediateBJ()
  927. call TransmissionFromUnitTypeWithNameBJ(bj_FORCE_ALL_PLAYERS, Player(11), 'H000', "Chaos Troll", locationArr_1[integer_7], sound_2, "To be or not to be? .. That is the question ...", 0, 0, true)
  928. call VolumeGroupReset()
  929. endfunction
  930.  
  931. function IC takes nothing returns nothing
  932. call RemoveItem(GetEnumItem())
  933. endfunction
  934.  
  935. //Calls:
  936. // SB
  937. // YB
  938. //Functions as argument:
  939. // IC
  940. function AC takes nothing returns nothing
  941. set boolean_3 = false
  942. call ForceClear(force_1)
  943. call ForceClear(force_2)
  944. call ForceClear(force_4)
  945. call ForceClear(force_3)
  946. call MultiboardClear(multiboard_1)
  947. call EnumItemsInRect(bj_mapInitialPlayableArea, null, function IC)
  948. call SB()
  949. call TriggerSleepAction(.0)
  950. call MultiboardDisplay(multiboard_1, false)
  951. call SB()
  952. call PauseTimerBJ(true, timer_3)
  953. call PauseTimerBJ(true, timer_4)
  954. call PauseTimerBJ(true, timer_2)
  955. call PauseTimerBJ(true, timer_5)
  956. call DestroyTimerDialog(timerdialog_2)
  957. call DestroyTimerDialog(timerdialog_3)
  958. set integer_5 = GetRandomInt(1, 8)
  959. set integer_7 = integer_5
  960. call YB(integer_7)
  961. call FogEnable(false)
  962. call FogMaskEnable(false)
  963. call EnableTrigger(trigger_33)
  964. call EnableTrigger(trigger_34)
  965. call EnableTrigger(trigger_35)
  966. call EnableTrigger(trigger_36)
  967. call EnableTrigger(trigger_32)
  968. call StartTimerBJ(timer_5, false, 15)
  969. endfunction
  970.  
  971. //Calls:
  972. // QI
  973. function NC takes nothing returns boolean
  974. local group locGroup_1 = QI('u000')
  975.  
  976. if IsUnitGroupDeadBJ(locGroup_1) then
  977. call DestroyGroup(locGroup_1)
  978. return false
  979. endif
  980. if IsUnitGroupEmptyBJ(locGroup_1) then
  981. call DestroyGroup(locGroup_1)
  982. return false
  983. endif
  984. call DestroyGroup(locGroup_1)
  985. return true
  986. endfunction
  987.  
  988. //Calls:
  989. // QA
  990. function BC takes nothing returns nothing
  991. call CreateTextTagUnitBJ("|c" + QA(GetOwningPlayer(GetEventDamageSource())) + I2S(R2I(GetEventDamage())), GetTriggerUnit(), 0, 10, 100, 100, 100, 0)
  992. call SetTextTagPermanent(bj_lastCreatedTextTag, false)
  993. call SetTextTagLifespan(bj_lastCreatedTextTag, 3)
  994. call SetTextTagFadepoint(bj_lastCreatedTextTag, 2)
  995. call SetTextTagVelocity(bj_lastCreatedTextTag, 0, .03)
  996. endfunction
  997.  
  998. //Calls:
  999. // QA
  1000. function CC takes nothing returns nothing
  1001. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|c" + QA(GetEnumPlayer()) + GetPlayerName(GetEnumPlayer()))
  1002. call MultiboardSetItemIconBJ(multiboard_1, 2, integer_6, "ReplaceableTextures\\CommandButtons\\BTNSpiritWolf.blp")
  1003. set integer_6 = integer_6 + 1
  1004. endfunction
  1005.  
  1006. //Calls:
  1007. // QA
  1008. function DC takes nothing returns nothing
  1009. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|c" + QA(GetEnumPlayer()) + GetPlayerName(GetEnumPlayer()))
  1010. call MultiboardSetItemIconBJ(multiboard_1, 2, integer_6, "ReplaceableTextures\\CommandButtons\\BTNElfVillager.blp")
  1011. set integer_6 = integer_6 + 1
  1012. endfunction
  1013.  
  1014. //Calls:
  1015. // QA
  1016. function FC takes nothing returns nothing
  1017. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|c" + QA(GetEnumPlayer()) + GetPlayerName(GetEnumPlayer()))
  1018. call MultiboardSetItemIconBJ(multiboard_1, 2, integer_6, "ReplaceableTextures\\CommandButtons\\BTNJaina.blp")
  1019. set integer_6 = integer_6 + 1
  1020. endfunction
  1021.  
  1022. //Calls:
  1023. // QA
  1024. //Functions as argument:
  1025. // CC
  1026. // DC
  1027. // FC
  1028. function GC takes nothing returns nothing
  1029. if boolean_3 == false then
  1030. return
  1031. endif
  1032. call MultiboardClear(multiboard_1)
  1033. call TriggerSleepAction(.001)
  1034. call MultiboardSetRowCount(multiboard_1, 6 + CountPlayersInForceBJ(force_3) + CountPlayersInForceBJ(force_2) + CountPlayersInForceBJ(force_4))
  1035. call MultiboardSetColumnCount(multiboard_1, 2)
  1036. call MultiboardSetItemWidthBJ(multiboard_1, 1, 0, 9.)
  1037. call MultiboardSetItemWidthBJ(multiboard_1, 2, 0, 3.)
  1038. call MultiboardSetItemStyleBJ(multiboard_1, 1, 0, true, false)
  1039. call MultiboardSetItemStyleBJ(multiboard_1, 2, 0, false, true)
  1040. set integer_6 = 1
  1041. call MultiboardSetItemStyleBJ(multiboard_1, 2, integer_6, true, false)
  1042. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|cffffcc00Troll")
  1043. call MultiboardSetItemValueBJ(multiboard_1, 2, integer_6, "|cffffcc00" + I2S(CountPlayersInForceBJ(force_3) + 1))
  1044. set integer_6 = integer_6 + 1
  1045. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|c" + QA(player_2) + GetPlayerName(player_2))
  1046. call MultiboardSetItemIconBJ(multiboard_1, 2, integer_6, "ReplaceableTextures\\CommandButtons\\BTNDarkTroll.blp")
  1047. set integer_6 = integer_6 + 1
  1048. call ForForce(force_3, function CC)
  1049. call MultiboardSetItemStyleBJ(multiboard_1, 2, integer_6, true, false)
  1050. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|cffffcc00Or the hidding")
  1051. call MultiboardSetItemValueBJ(multiboard_1, 2, integer_6, "|cffffff00" + I2S(integer_4))
  1052. set integer_6 = integer_6 + 1
  1053. call MultiboardSetItemStyleBJ(multiboard_1, 2, integer_6, true, false)
  1054. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|cffffcc00Elves")
  1055. call MultiboardSetItemValueBJ(multiboard_1, 2, integer_6, "|cffffcc00" + I2S(CountPlayersInForceBJ(force_2) + CountPlayersInForceBJ(force_4)))
  1056. set integer_6 = integer_6 + 1
  1057. call ForForce(force_2, function DC)
  1058. call ForForce(force_4, function FC)
  1059. call MultiboardSetItemStyleBJ(multiboard_1, 2, integer_6, true, false)
  1060. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|cff00ff00Buy Wood for:")
  1061. call MultiboardSetItemValueBJ(multiboard_1, 2, integer_6, "|cff00ff00" + I2S(integer_11))
  1062. set integer_6 = integer_6 + 1
  1063. call MultiboardSetItemStyleBJ(multiboard_1, 2, integer_6, true, false)
  1064. call MultiboardSetItemValueBJ(multiboard_1, 1, integer_6, "|cffffff00Sell Wood for:")
  1065. call MultiboardSetItemValueBJ(multiboard_1, 2, integer_6, "|cffffff00" + I2S(integer_10))
  1066. call MultiboardDisplay(multiboard_1, true)
  1067. endfunction
  1068.  
  1069. function HC takes nothing returns nothing
  1070. call CreateQuestBJ(0, "TRIGSTR_2850", "TRIGSTR_2851", "ReplaceableTextures\\CommandButtons\\BTNScrollOfRegenerationGreen.blp")
  1071. call CreateQuestBJ(0, "TRIGSTR_2847", "TRIGSTR_2848", "ReplaceableTextures\\CommandButtons\\BTNEngineeringUpgrade.blp")
  1072. call CreateQuestBJ(0, "TRIGSTR_2856", "TRIGSTR_2857", "ReplaceableTextures\\CommandButtons\\BTNMove.blp")
  1073. call QuestMessageBJ(bj_FORCE_ALL_PLAYERS, 1, "TRIGSTR_2844")
  1074. call CreateQuestBJ(2, "TRIGSTR_2842", "TRIGSTR_2843", "ReplaceableTextures\\CommandButtons\\BTNForestTroll.blp")
  1075. call CreateQuestBJ(2, "TRIGSTR_2845", "TRIGSTR_2846", "ReplaceableTextures\\CommandButtons\\BTNElfVillager.blp")
  1076. call CreateQuestBJ(2, "TRIGSTR_2852", "TRIGSTR_2853", "ReplaceableTextures\\CommandButtons\\BTNJaina.blp")
  1077. call CreateQuestBJ(2, "TRIGSTR_2854", "TRIGSTR_2855", "ReplaceableTextures\\CommandButtons\\BTNSpiritWolf.blp")
  1078. endfunction
  1079.  
  1080. //Calls:
  1081. // PB
  1082. // AC
  1083. function KC takes nothing returns nothing
  1084. call TriggerSleepAction(.01)
  1085. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Initializing Map ...")
  1086. set stringArr_3[1] = "Original"
  1087. set stringArr_4[1] = "
  1088. Original
  1089.  
  1090. Size: Very big
  1091. Difficulty: Medium
  1092. Special: Many various bases"
  1093. set rectArr_1[1] = rect_1
  1094. set camerasetupArr_1[1] = camerasetup_1
  1095. set locationArr_1[1] = Location(4224., 2688.)
  1096. set locationArr_2[1] = Location(3840, 9856)
  1097. set integerArr_9[1] = 30
  1098. set integerArr_10[1] = 50
  1099. set integerArr_11[1] = 30
  1100. set stringArr_3[2] = "The Forest"
  1101. set stringArr_4[2] = "The Forest
  1102.  
  1103. Size: Medium
  1104. Difficulty: Easy
  1105. Special: A lot of dual-bases"
  1106. set rectArr_1[2] = rect_2
  1107. set camerasetupArr_1[2] = camerasetup_2
  1108. set locationArr_1[2] = Location(17408., 6016.)
  1109. set locationArr_2[2] = Location(21376, 6530)
  1110. set integerArr_9[2] = 30
  1111. set integerArr_10[2] = 50
  1112. set integerArr_11[2] = 30
  1113. set stringArr_3[3] = "Assault"
  1114. set stringArr_4[3] = "Assault
  1115.  
  1116. Size: Very Small
  1117. Difficulty: Extreme
  1118. Special: A huge base has 3 Survivors defensible minimum."
  1119. set rectArr_1[3] = rect_3
  1120. set camerasetupArr_1[3] = camerasetup_3
  1121. set locationArr_1[3] = Location(14336., -1536.)
  1122. set locationArr_2[3] = Location(13332, -1536)
  1123. set integerArr_9[3] = 25
  1124. set integerArr_10[3] = 75
  1125. set integerArr_11[3] = 35
  1126. set stringArr_3[4] = "Small Land"
  1127. set stringArr_4[4] = "
  1128. Petites Terres
  1129.  
  1130. Size: Very Small
  1131. Difficulty: Very Easy
  1132. Special: A perfect place to play a 2 or 3."
  1133. set rectArr_1[4] = rect_4
  1134. set camerasetupArr_1[4] = camerasetup_4
  1135. set locationArr_1[4] = Location(25600., -1728.)
  1136. set locationArr_2[4] = Location(25856., -128.)
  1137. set integerArr_9[4] = 40
  1138. set integerArr_10[4] = 75
  1139. set integerArr_11[4] = 45
  1140. set stringArr_3[5] = "The Dusters"
  1141. set stringArr_4[5] = "
  1142. The Dusters
  1143.  
  1144. Size: Small
  1145. Difficulty: Normal
  1146. Special characteristics: The bases are on the lower level, it weakened slightly vision of Survivors."
  1147. set rectArr_1[5] = rect_5
  1148. set camerasetupArr_1[5] = camerasetup_5
  1149. set locationArr_1[5] = Location(25600., 5824.)
  1150. set locationArr_2[5] = Location(25600., 9600.)
  1151. set integerArr_9[5] = 30
  1152. set integerArr_10[5] = 60
  1153. set integerArr_11[5] = 40
  1154. set stringArr_3[6] = "The Great Hills"
  1155. set stringArr_4[6] = "
  1156. The Great Hills
  1157.  
  1158. Size: Very Large
  1159. Difficulty: Normal
  1160. Special Feature: Similar to the original, but with many more large bases."
  1161. set rectArr_1[6] = rect_6
  1162. set camerasetupArr_1[6] = camerasetup_6
  1163. set locationArr_1[6] = Location(20352., 17792.)
  1164. set locationArr_2[6] = Location(21760., 11904.)
  1165. set integerArr_9[6] = 30
  1166. set integerArr_10[6] = 50
  1167. set integerArr_11[6] = 30
  1168. set stringArr_3[7] = "The snowy plains"
  1169. set stringArr_4[7] = "
  1170. The snowy plains
  1171.  
  1172. Size: Medium
  1173. Difficulty: Difficult
  1174. Special: A good map with large bases, very well defensible map, hard enough for the Troll"
  1175. set rectArr_1[7] = rect_7
  1176. set camerasetupArr_1[7] = camerasetup_7
  1177. set locationArr_1[7] = Location(7168., 15360.)
  1178. set locationArr_2[7] = Location(6656., 19456.)
  1179. set integerArr_9[7] = 30
  1180. set integerArr_10[7] = 50
  1181. set integerArr_11[7] = 30
  1182. set stringArr_3[8] = "Islands tracked"
  1183. set stringArr_4[8] = "
  1184. Islands tracked
  1185.  
  1186. Size: Small
  1187. Difficulty: Extreme
  1188. Special: A small map consisting of islands as bases. Very hard for Survivors."
  1189. set rectArr_1[8] = rect_8
  1190. set camerasetupArr_1[8] = camerasetup_8
  1191. set locationArr_1[8] = Location(7168., 24320.)
  1192. set locationArr_2[8] = Location(7168., 21634.)
  1193. set integerArr_9[8] = 30
  1194. set integerArr_10[8] = 50
  1195. set integerArr_11[8] = 45
  1196. set button_1 = DialogAddButton(dialog_6, "|cff00ff00Y|cff30ff30es", 89)
  1197. call DialogAddButton(dialog_6, "|cffff0000N|cffff3030o", 78)
  1198. set buttonArr_7[0] = DialogAddButton(dialog_3, "|cff00ff00Y|cff30ff30es", 89)
  1199. set buttonArr_7[1] = DialogAddButton(dialog_3, "|cffff0000N|cffff3030o", 78)
  1200. set buttonArr_8[0] = DialogAddButton(dialog_4, "|cff00ff00E|cff30ff30lves", 69)
  1201. set buttonArr_8[1] = DialogAddButton(dialog_4, "|cffff0000T|cffff3030roll", 84)
  1202. call DialogAddButton(dialog_5, "I'm done!", 0)
  1203. set multiboard_1 = CreateMultiboard()
  1204. call MultiboardSetTitleText(multiboard_1, "Players:")
  1205. call SetPlayerColor(Player(9), PLAYER_COLOR_BROWN)
  1206. call SetPlayerColor(Player(12), PLAYER_COLOR_AQUA)
  1207. call PB()
  1208. call AC()
  1209. endfunction
  1210.  
  1211. function MC takes nothing returns boolean
  1212. return not(GetSpellTargetUnit() != unit_1) and not(GetSpellAbilityId() != 'A01G')
  1213. endfunction
  1214.  
  1215. //Calls:
  1216. // KA
  1217. function PC takes nothing returns nothing
  1218. call KA(GetOwningPlayer(GetTriggerUnit()), integer_4, GetTriggerUnit(), true)
  1219. endfunction
  1220.  
  1221. function SC takes nothing returns boolean
  1222. return GetUnitTypeId(GetFilterUnit()) == 'H000'
  1223. endfunction
  1224.  
  1225. //Calls:
  1226. // JI
  1227. //Functions as argument:
  1228. // SC
  1229. function TC takes nothing returns boolean
  1230. local location locLocation_1 = GetUnitLoc(GetSpellAbilityUnit())
  1231. local group locGroup_1 = JI(1200., locLocation_1, Condition(function SC))
  1232.  
  1233. call RemoveLocation(locLocation_1)
  1234. if GetUnitState(GetTriggerUnit(), UNIT_STATE_LIFE) != GetUnitState(GetTriggerUnit(), UNIT_STATE_MAX_LIFE) then
  1235. return false
  1236. endif
  1237. if GetSpellAbilityId() != 'A00R' then
  1238. return false
  1239. endif
  1240. if CountUnitsInGroup(locGroup_1) != 0 then
  1241. call DestroyGroup(locGroup_1)
  1242. return false
  1243. endif
  1244. call DestroyGroup(locGroup_1)
  1245. return true
  1246. endfunction
  1247.  
  1248. function UC takes nothing returns nothing
  1249. call TriggerSleepAction(.25)
  1250. call KillUnit(GetTriggerUnit())
  1251. endfunction
  1252.  
  1253. function YC takes nothing returns boolean
  1254. return TimerGetRemaining(timer_1) > .0
  1255. endfunction
  1256.  
  1257. //Calls:
  1258. // QA
  1259. // EC
  1260. function ZC takes nothing returns nothing
  1261. if GetClickedButton() == buttonArr_7[0] then
  1262. call ForceAddPlayer(force_1, GetTriggerPlayer())
  1263. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rwants to be troll")
  1264. endif
  1265. if GetClickedButton() == buttonArr_7[1] then
  1266. call ForceAddPlayer(force_2, GetTriggerPlayer())
  1267. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rdoesn't want to be troll")
  1268. endif
  1269. if CountPlayersInForceBJ(force_1) + CountPlayersInForceBJ(force_2) == EC() then
  1270. call TimerStart(timer_1, .0, false, null)
  1271. endif
  1272. endfunction
  1273.  
  1274. function ED takes nothing returns nothing
  1275. if IsPlayerInForce(GetEnumPlayer(), force_1) then
  1276. return
  1277. endif
  1278. if IsPlayerInForce(GetEnumPlayer(), force_2) then
  1279. return
  1280. endif
  1281. call DialogDisplayBJ(false, dialog_3, GetEnumPlayer())
  1282. call ForceAddPlayer(force_2, GetEnumPlayer())
  1283. endfunction
  1284.  
  1285. //Calls:
  1286. // DB
  1287. function XD takes nothing returns nothing
  1288. local location locLocation_1
  1289. local unit locUnit_1
  1290.  
  1291. if (GetEnumPlayer() != player_2) then
  1292. call SetPlayerStateBJ(GetEnumPlayer(), PLAYER_STATE_RESOURCE_GOLD, integerArr_9[integer_7])
  1293. set locLocation_1 = GetRandomLocInRect(rectArr_1[integer_7])
  1294. set locUnit_1 = CreateUnitAtLoc(GetEnumPlayer(), 'u000', locLocation_1, bj_UNIT_FACING)
  1295. call DB(locUnit_1, GetEnumPlayer())
  1296. call SetUnitMoveSpeed(locUnit_1, 522)
  1297. call RemoveLocation(locLocation_1)
  1298. call ForceAddPlayer(force_2, GetEnumPlayer())
  1299. call SetPlayerAllianceStateBJ(GetEnumPlayer(), player_2, 0)
  1300. call SetPlayerAllianceStateBJ(player_2, GetEnumPlayer(), 0)
  1301. endif
  1302. endfunction
  1303.  
  1304. function OD takes nothing returns nothing
  1305. call SetUnitOwner(GetEnumUnit(), player_2, true)
  1306. endfunction
  1307.  
  1308. //Calls:
  1309. // WI
  1310. // QA
  1311. // TI
  1312. // GC
  1313. // VN
  1314. // CN
  1315. //Functions as argument:
  1316. // VC
  1317. // ED
  1318. // OD
  1319. // XD
  1320. function RD takes nothing returns nothing
  1321. local force locForce_1 = WI(Condition(function VC))
  1322.  
  1323. call DestroyTimerDialog(timerdialog_1)
  1324. call FogEnable(true)
  1325. call ForForce(locForce_1, function ED)
  1326. if CountPlayersInForceBJ(force_1) > 0 then
  1327. call TriggerSleepAction(2.)
  1328. set player_2 = ForcePickRandomPlayer(force_1)
  1329. else
  1330. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Nobody wants to be a troll ... pfff")
  1331. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "I took a random")
  1332. call TriggerSleepAction(2.)
  1333. set player_2 = ForcePickRandomPlayer(force_2)
  1334. endif
  1335. set boolean_3 = true
  1336. call TimerStart(timer_2, integerArr_11[integer_7], false, null)
  1337. call ForceClear(force_1)
  1338. call ForceClear(force_2)
  1339. set locForce_1 = WI(Condition(function VC))
  1340. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "The Troll is : |c" + QA(player_2) + GetPlayerName(player_2))
  1341. call ForGroup(TI(Player(11)), function OD)
  1342. call ForForce(locForce_1, function XD)
  1343. call DestroyForce(locForce_1)
  1344. set integer_4 = 10
  1345. call GC()
  1346. set timerdialog_2 = CreateTimerDialogBJ(timer_2, "The Troll comes in:")
  1347. call TimerStart(timer_4, 480, false, null)
  1348. call TimerStart(timer_3, 120, true, null)
  1349. call DialogSetMessage(dialog_5, "Taking up:" + I2S(integerArr_11[integer_7]))
  1350. call DialogDisplay(player_2, dialog_5, true)
  1351. call TimerDialogDisplay(timerdialog_2, true)
  1352. call VN(CN(unit_1), "Plump Elf", sound_26, "The only chance we have of winning the war is in front, they are also cons here ...")
  1353. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "You are walking in the woods, while the troll is coming ...")
  1354. endfunction
  1355.  
  1356. function AD takes nothing returns nothing
  1357. call SetUnitMoveSpeed(GetEnumUnit(), GetUnitDefaultMoveSpeed(GetEnumUnit()))
  1358. endfunction
  1359.  
  1360. //Calls:
  1361. // QI
  1362. // DB
  1363. // GC
  1364. // VN
  1365. //Functions as argument:
  1366. // AD
  1367. function ND takes nothing returns nothing
  1368. local unit locUnit_1
  1369. local group locGroup_1 = QI('u000')
  1370.  
  1371. call ForGroup(locGroup_1, function AD)
  1372. call DestroyGroup(locGroup_1)
  1373. call DestroyTimerDialog(timerdialog_2)
  1374. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "The troll arrived to the village ... prepare to fight!")
  1375. call SetPlayerState(player_2, PLAYER_STATE_RESOURCE_GOLD, integerArr_10[integer_7])
  1376. set locUnit_1 = CreateUnitAtLoc(player_2, 'H000', locationArr_1[integer_7], bj_UNIT_FACING)
  1377. call DB(locUnit_1, player_2)
  1378. call DialogDisplay(player_2, dialog_5, false)
  1379. call GC()
  1380. call VN(locUnit_1, "Chaos Troll", sound_1, "Lets take a look here ...")
  1381. endfunction
  1382.  
  1383. //Calls:
  1384. // WI
  1385. // EC
  1386. //Functions as argument:
  1387. // VC
  1388. function CD takes nothing returns player
  1389. local force locForce_1 = WI(Condition(function VC))
  1390. local player locPlayer_1 = ForcePickRandomPlayer(locForce_1)
  1391.  
  1392. call DestroyForce(locForce_1)
  1393. if EC() != 1 then
  1394. return null
  1395. endif
  1396. return locPlayer_1
  1397. endfunction
  1398.  
  1399. function DD takes player paramPlayer_1 returns nothing
  1400. call ForceRemovePlayer(force_2, paramPlayer_1)
  1401. call ForceRemovePlayer(force_1, paramPlayer_1)
  1402. call ForceRemovePlayer(force_3, paramPlayer_1)
  1403. call ForceRemovePlayer(force_4, paramPlayer_1)
  1404. call TriggerSleepAction(.001)
  1405. endfunction
  1406.  
  1407. //Calls:
  1408. // TI
  1409. // EC
  1410. // CD
  1411. // PB
  1412. // QA
  1413. // AC
  1414. // NC
  1415. // DD
  1416. // GC
  1417. //Functions as argument:
  1418. // QB
  1419. function FD takes nothing returns nothing
  1420. local group locGroup_1 = TI(GetTriggerPlayer())
  1421.  
  1422. call ForGroup(locGroup_1, function QB)
  1423. call DestroyGroup(locGroup_1)
  1424. if EC() == 1 then
  1425. call CustomDefeatBJ(CD(), "Everyone left the party!")
  1426. endif
  1427. if GetTriggerPlayer() == player_3 then
  1428. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Host has left from the game")
  1429. call TriggerSyncReady()
  1430. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Detection of new host")
  1431. call PB()
  1432. endif
  1433. if boolean_3 then
  1434. if GetTriggerPlayer() == player_2 then
  1435. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Troll |c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rhas left from the game.")
  1436. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Lets start a new round!")
  1437. call TriggerSleepAction(2.)
  1438. call AC()
  1439. endif
  1440. if IsPlayerInForce(GetTriggerPlayer(), force_2) then
  1441. if NC() then
  1442. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |r(elf) has left from the game.")
  1443. else
  1444. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "The last survivor |c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rhas left from the game.")
  1445. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "Lets start a new round!")
  1446. call TriggerSleepAction(2.)
  1447. call AC()
  1448. endif
  1449. endif
  1450. if IsPlayerInForce(GetTriggerPlayer(), force_4) then
  1451. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |r(Angel)has left from the game!")
  1452. endif
  1453. if IsPlayerInForce(GetTriggerPlayer(), force_3) then
  1454. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |r(Troll's dog) has left from the game!")
  1455. endif
  1456. call DD(GetTriggerPlayer())
  1457. else
  1458. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rhas left from the game.")
  1459. call DD(GetTriggerPlayer())
  1460. if CountPlayersInForceBJ(force_1) + CountPlayersInForceBJ(force_2) == EC() then
  1461. call TimerStart(timer_1, .0, false, null)
  1462. endif
  1463. endif
  1464. call GC()
  1465. endfunction
  1466.  
  1467. //Calls:
  1468. // QA
  1469. //Functions as argument:
  1470. // HA
  1471. function HD takes integer paramInteger_1, integer paramInteger_2 returns nothing
  1472. if paramInteger_1 == 0 and paramInteger_2 == 0 then
  1473. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "Your home has been destroyed ...")
  1474. else
  1475. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "Your home has been destroyed ... you win |cffffff00 " + I2S(paramInteger_1) + " gold |rand |cff00ff00 " + I2S(paramInteger_2) + " wood |rfor you again!")
  1476. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD, paramInteger_1)
  1477. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER, paramInteger_2)
  1478. endif
  1479. call SetPlayerTechMaxAllowed(GetOwningPlayer(GetTriggerUnit()), 'u001', 1)
  1480. if TimerGetRemaining(timer_4) <= 0 and TimerGetTimeout(timer_4) == 120 then
  1481. call SetPlayerAllianceStateBJ(GetOwningPlayer(GetTriggerUnit()), player_2, 1)
  1482. set player_1 = GetOwningPlayer(GetTriggerUnit())
  1483. call ForForce(force_3, function HA)
  1484. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetOwningPlayer(GetTriggerUnit())) + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) + " |r, build house! Revealing enemies will precedence sudden death.")
  1485. call DestroyTimerDialog(timerdialogArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))])
  1486. call PauseTimer(timerArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))])
  1487. endif
  1488. endfunction
  1489.  
  1490. //Calls:
  1491. // QA
  1492. // KA
  1493. // GC
  1494. // NC
  1495. // HN
  1496. // TI
  1497. // VN
  1498. // IN
  1499. // AC
  1500. // DB
  1501. // HD
  1502. //Functions as argument:
  1503. // QB
  1504. function JD takes nothing returns nothing
  1505. local location locLocation_1
  1506. local group locGroup_1
  1507. local integer locInteger_1 = GetUnitTypeId(GetTriggerUnit())
  1508. local player locPlayer_1 = GetOwningPlayer(GetTriggerUnit())
  1509. local unit locUnit_1
  1510.  
  1511. if locInteger_1 == 'u000' then
  1512. call DestroyTimerDialog(timerdialogArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))])
  1513. call PauseTimer(timerArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))])
  1514. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(locPlayer_1) + GetPlayerName(locPlayer_1) + " |ris dead!")
  1515. call ForceRemovePlayer(force_2, GetOwningPlayer(GetTriggerUnit()))
  1516. call KA(GetOwningPlayer(GetKillingUnit()), GetPlayerState(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD), GetTriggerUnit(), true)
  1517. call GC()
  1518. set locLocation_1 = GetUnitLoc(GetTriggerUnit())
  1519. call PanCameraToTimedLocForPlayer(locPlayer_1, locLocation_1, 1.)
  1520. call RemoveLocation(locLocation_1)
  1521. if NC() then
  1522. call TriggerSleepAction(2.)
  1523. call SetPlayerStateBJ(locPlayer_1, PLAYER_STATE_RESOURCE_GOLD, 0)
  1524. call SetPlayerStateBJ(locPlayer_1, PLAYER_STATE_RESOURCE_LUMBER, 0)
  1525. set locUnit_1 = HN(GetTriggerUnit())
  1526. set locGroup_1 = TI(locPlayer_1)
  1527. call ForGroup(locGroup_1, function QB)
  1528. call DestroyGroup(locGroup_1)
  1529. call DialogSetMessage(dialog_4, "You want to help :")
  1530. call DialogDisplay(locPlayer_1, dialog_4, true)
  1531. if locUnit_1 != null then
  1532. call VN(locUnit_1, "Chaos Troll", sound_7, "And Crack! A wad pif!")
  1533. endif
  1534. else
  1535. call TriggerSleepAction(2.)
  1536. set locUnit_1 = HN(GetTriggerUnit())
  1537. set locGroup_1 = TI(locPlayer_1)
  1538. call ForGroup(locGroup_1, function QB)
  1539. call DestroyGroup(locGroup_1)
  1540. call FogEnable(false)
  1541. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "The troll |c" + QA(player_2) + GetPlayerName(player_2) + " |reliminated all the survivors!")
  1542. if locUnit_1 != null then
  1543. set integer_2 = 1
  1544. set real_11 = .0
  1545. call IN()
  1546. call VN(locUnit_1, "Chaos Troll", sound_5, "Be serious for once!")
  1547. set real_11 = 2.
  1548. set integer_2 = 0
  1549. endif
  1550. call AC()
  1551. endif
  1552. endif
  1553. if locInteger_1 == 'H000' then
  1554. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "The Troll |c" + QA(locPlayer_1) + GetPlayerName(locPlayer_1) + " |ris dead! !")
  1555. set locLocation_1 = GetUnitLoc(GetTriggerUnit())
  1556. set bj_forLoopAIndex = 0
  1557. set bj_forLoopAIndexEnd = 10
  1558. loop
  1559. exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
  1560. call PanCameraToTimedLocForPlayer(Player(bj_forLoopAIndex), locLocation_1, 2.)
  1561. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  1562. endloop
  1563. set integer_2 = 1
  1564. set real_11 = .0
  1565. call IN()
  1566. call VN(GetTriggerUnit(), "Chaos Troll", sound_13, "When I see you again? Wonderful country ...")
  1567. set real_11 = 2.
  1568. set integer_2 = 0
  1569. call RemoveLocation(locLocation_1)
  1570. call TriggerSleepAction(3.)
  1571. call RemoveUnit(GetTriggerUnit())
  1572. call AC()
  1573. endif
  1574. if locInteger_1 == 'H00D' then
  1575. if IsUnitEnemy(GetTriggerUnit(), GetOwningPlayer(GetKillingUnit())) then
  1576. call KA(GetOwningPlayer(GetKillingUnit()), 5 * integer_4, GetTriggerUnit(), true)
  1577. endif
  1578. call TriggerSleepAction(5.)
  1579. if boolean_3 then
  1580. call PanCameraToTimedLocForPlayer(locPlayer_1, locationArr_1[integer_7], 1.)
  1581. call ReviveHeroLoc(GetTriggerUnit(), locationArr_1[integer_7], true)
  1582. call DB(GetTriggerUnit(), locPlayer_1)
  1583. endif
  1584. endif
  1585. if locInteger_1 == 'u00R' then
  1586. if IsUnitIllusion(GetTriggerUnit()) == false then
  1587. if IsUnitEnemy(GetTriggerUnit(), GetOwningPlayer(GetKillingUnit())) then
  1588. call KA(GetOwningPlayer(GetKillingUnit()), 5 * integer_4, GetTriggerUnit(), true)
  1589. endif
  1590. if HN(GetTriggerUnit()) != null then
  1591. call VN(HN(GetTriggerUnit()), "Chaos Troll", sound_7, "And Crack! A wad pif!")
  1592. endif
  1593. if boolean_3 then
  1594. call TriggerSleepAction(5.)
  1595. call PanCameraToTimedLocForPlayer(locPlayer_1, locationArr_2[integer_7], 1.)
  1596. set locUnit_1 = CreateUnitAtLoc(locPlayer_1, 'u00R', locationArr_2[integer_7], bj_UNIT_FACING)
  1597. call DB(locUnit_1, locPlayer_1)
  1598. call SetUnitInvulnerable(locUnit_1, true)
  1599. call TriggerSleepAction(5.)
  1600. call SetUnitInvulnerable(locUnit_1, false)
  1601. endif
  1602. endif
  1603. endif
  1604. if locInteger_1 == 'u001' then
  1605. call HD(0, 0)
  1606. endif
  1607. if locInteger_1 == 'u007' then
  1608. call HD(50, 0)
  1609. endif
  1610. if locInteger_1 == 'u008' then
  1611. call HD(150, 0)
  1612. endif
  1613. if locInteger_1 == 'u009' then
  1614. call HD(350, 0)
  1615. endif
  1616. if locInteger_1 == 'u00Q' then
  1617. call HD(750, 0)
  1618. endif
  1619. if locInteger_1 == 'u00S' then
  1620. call HD(1550, 32)
  1621. endif
  1622. if locInteger_1 == 'u00T' then
  1623. call HD(3150, 96)
  1624. endif
  1625. if locInteger_1 == 'u00W' then
  1626. call HD(6350, 224)
  1627. endif
  1628. if locInteger_1 == 'u017' then
  1629. call HD(12750, 480)
  1630. endif
  1631. if locInteger_1 == 'u018' then
  1632. call HD(23550, 992)
  1633. endif
  1634. endfunction
  1635.  
  1636. function PD takes nothing returns boolean
  1637. return boolean_3
  1638. endfunction
  1639.  
  1640. //Calls:
  1641. // DB
  1642. // QA
  1643. // GC
  1644. //Functions as argument:
  1645. // GA
  1646. // FA
  1647. function QD takes nothing returns nothing
  1648. local location locLocation_1
  1649.  
  1650. if GetClickedButton() == buttonArr_8[0] then
  1651. call DB(CreateUnitAtLoc(GetTriggerPlayer(), 'u00R', locationArr_2[integer_7], bj_UNIT_FACING), GetTriggerPlayer())
  1652. call PanCameraToTimedLocForPlayer(GetTriggerPlayer(), locationArr_2[integer_7], 1.)
  1653. call ForceAddPlayer(force_4, GetTriggerPlayer())
  1654. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rhas chosen to help elves!")
  1655. call SetPlayerAllianceStateBJ(GetTriggerPlayer(), player_2, 0)
  1656. call SetPlayerAllianceStateBJ(player_2, GetTriggerPlayer(), 0)
  1657. set player_1 = GetTriggerPlayer()
  1658. call ForForce(force_3, function GA)
  1659. endif
  1660. if GetClickedButton() == buttonArr_8[1] then
  1661. call ForceAddPlayer(force_3, GetTriggerPlayer())
  1662. call DB(CreateUnitAtLoc(GetTriggerPlayer(), 'H00D', locationArr_1[integer_7], bj_UNIT_FACING), GetTriggerPlayer())
  1663. call SetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD, R2I(3.75 * Pow(I2R(integer_4), 1.25)))
  1664. call PanCameraToTimedLocForPlayer(GetTriggerPlayer(), locationArr_1[integer_7], 1.)
  1665. set player_1 = GetTriggerPlayer()
  1666. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + " |rhas chosen to help the troll!")
  1667. call SetPlayerAllianceStateBJ(GetTriggerPlayer(), player_2, 3)
  1668. call SetPlayerAllianceStateBJ(player_2, GetTriggerPlayer(), 3)
  1669. call ForForce(force_4, function GA)
  1670. call ForForce(force_2, function GA)
  1671. call ForForce(force_3, function FA)
  1672. endif
  1673. call MultiboardDisplay(multiboard_1, true)
  1674. call GC()
  1675. endfunction
  1676.  
  1677. function TD takes nothing returns nothing
  1678. call TriggerRegisterUnitEvent(trigger_22, GetTriggerUnit(), EVENT_UNIT_DAMAGED)
  1679. endfunction
  1680.  
  1681. //Calls:
  1682. // BC
  1683. function WD takes nothing returns boolean
  1684. if GetEventDamage() == 0 then
  1685. return false
  1686. endif
  1687. call BC()
  1688. if IsPlayerEnemy(GetOwningPlayer(GetTriggerUnit()), GetOwningPlayer(GetEventDamageSource())) == false then
  1689. return false
  1690. endif
  1691. if GetUnitTypeId(GetEventDamageSource()) == 'H00D' then
  1692. return true
  1693. endif
  1694. if GetUnitTypeId(GetEventDamageSource()) == 'H000' then
  1695. return true
  1696. endif
  1697. return false
  1698. endfunction
  1699.  
  1700. function YD takes nothing returns nothing
  1701. call SetPlayerState(GetOwningPlayer(GetEventDamageSource()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEventDamageSource()), PLAYER_STATE_RESOURCE_GOLD) + R2I(GetEventDamage()))
  1702. endfunction
  1703.  
  1704. function VF takes nothing returns boolean
  1705. return (GetUnitTypeId(GetTriggerUnit()) == 'e009') or (GetUnitTypeId(GetTriggerUnit()) == 'e00K') or (GetUnitTypeId(GetTriggerUnit()) == 'e001') or (GetUnitTypeId(GetTriggerUnit()) == 'e00J') or (GetUnitTypeId(GetTriggerUnit()) == 'e00M') or (GetUnitTypeId(GetTriggerUnit()) == 'e008') or (GetUnitTypeId(GetTriggerUnit()) == 'e00L') or (GetUnitTypeId(GetTriggerUnit()) == 'e005')
  1706. endfunction
  1707.  
  1708. function EF takes nothing returns nothing
  1709. local location locLocation_1 = GetUnitLoc(GetConstructedStructure())
  1710. local unit locUnit_1 = CreateUnitAtLoc(GetOwningPlayer(GetTriggerUnit()), 'e006', locLocation_1, bj_UNIT_FACING)
  1711.  
  1712. call SetResourceAmount(GetConstructedStructure(), 10000000)
  1713. call IssueTargetOrderById(locUnit_1, 851971, GetConstructedStructure())
  1714. call RemoveLocation(locLocation_1)
  1715. endfunction
  1716.  
  1717. function OF takes nothing returns boolean
  1718. return boolean_3
  1719. endfunction
  1720.  
  1721. //Calls:
  1722. // KA
  1723. function RF takes nothing returns nothing
  1724. if boolean_4 == false then
  1725. call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 1)
  1726. else
  1727. call KA(GetOwningPlayer(GetEnumUnit()), 1, GetEnumUnit(), false)
  1728. endif
  1729. endfunction
  1730.  
  1731. //Calls:
  1732. // KA
  1733. function IF takes nothing returns nothing
  1734. if boolean_4 == false then
  1735. call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 2)
  1736. else
  1737. call KA(GetOwningPlayer(GetEnumUnit()), 2, GetEnumUnit(), false)
  1738. endif
  1739. endfunction
  1740.  
  1741. //Calls:
  1742. // KA
  1743. function AF takes nothing returns nothing
  1744. if boolean_4 == false then
  1745. call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 4)
  1746. else
  1747. call KA(GetOwningPlayer(GetEnumUnit()), 4, GetEnumUnit(), false)
  1748. endif
  1749. endfunction
  1750.  
  1751. //Calls:
  1752. // KA
  1753. function NF takes nothing returns nothing
  1754. if boolean_4 == false then
  1755. call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 8)
  1756. else
  1757. call KA(GetOwningPlayer(GetEnumUnit()), 8, GetEnumUnit(), false)
  1758. endif
  1759. endfunction
  1760.  
  1761. //Calls:
  1762. // KA
  1763. function BF takes nothing returns nothing
  1764. call KA(GetOwningPlayer(GetEnumUnit()), 16, GetEnumUnit(), false)
  1765. endfunction
  1766.  
  1767. //Calls:
  1768. // KA
  1769. function CF takes nothing returns nothing
  1770. call KA(GetOwningPlayer(GetEnumUnit()), 32, GetEnumUnit(), false)
  1771. endfunction
  1772.  
  1773. //Calls:
  1774. // KA
  1775. function DF takes nothing returns nothing
  1776. call KA(GetOwningPlayer(GetEnumUnit()), 64, GetEnumUnit(), false)
  1777. endfunction
  1778.  
  1779. //Calls:
  1780. // KA
  1781. function FF takes nothing returns nothing
  1782. call KA(GetOwningPlayer(GetEnumUnit()), 128, GetEnumUnit(), false)
  1783. endfunction
  1784.  
  1785. //Calls:
  1786. // KA
  1787. function GF takes nothing returns nothing
  1788. call KA(GetOwningPlayer(GetEnumUnit()), 256, GetEnumUnit(), false)
  1789. endfunction
  1790.  
  1791. //Calls:
  1792. // KA
  1793. function HF takes nothing returns nothing
  1794. call KA(GetOwningPlayer(GetEnumUnit()), 512, GetEnumUnit(), false)
  1795. endfunction
  1796.  
  1797. //Calls:
  1798. // KA
  1799. // QI
  1800. //Functions as argument:
  1801. // RF
  1802. // IF
  1803. // AF
  1804. // NF
  1805. // BF
  1806. // CF
  1807. // DF
  1808. // FF
  1809. // GF
  1810. // HF
  1811. function JF takes nothing returns nothing
  1812. local group locGroup_1
  1813.  
  1814. if TimerGetRemaining(timer_2) <= 0 then
  1815. set boolean_4 = false
  1816. if GetUnitTypeId(unit_1) == 'u00B' then
  1817. call KA(player_2, 1, unit_1, false)
  1818. set locGroup_1 = QI('H00D')
  1819. call ForGroup(locGroup_1, function RF)
  1820. call DestroyGroup(locGroup_1)
  1821. endif
  1822. if GetUnitTypeId(unit_1) == 'u01A' then
  1823. call KA(player_2, 2, unit_1, false)
  1824. set locGroup_1 = QI('H00D')
  1825. call ForGroup(locGroup_1, function IF)
  1826. call DestroyGroup(locGroup_1)
  1827. endif
  1828. if GetUnitTypeId(unit_1) == 'u019' then
  1829. call KA(player_2, 4, unit_1, false)
  1830. set locGroup_1 = QI('H00D')
  1831. call ForGroup(locGroup_1, function AF)
  1832. call DestroyGroup(locGroup_1)
  1833. endif
  1834. if GetUnitTypeId(unit_1) == 'u01B' then
  1835. call KA(player_2, 8, unit_1, false)
  1836. set locGroup_1 = QI('H00D')
  1837. call ForGroup(locGroup_1, function NF)
  1838. call DestroyGroup(locGroup_1)
  1839. endif
  1840. set boolean_4 = true
  1841. endif
  1842. set locGroup_1 = QI('u001')
  1843. call ForGroup(locGroup_1, function RF)
  1844. call DestroyGroup(locGroup_1)
  1845. set locGroup_1 = QI('u007')
  1846. call ForGroup(locGroup_1, function IF)
  1847. call DestroyGroup(locGroup_1)
  1848. set locGroup_1 = QI('u008')
  1849. call ForGroup(locGroup_1, function AF)
  1850. call DestroyGroup(locGroup_1)
  1851. set locGroup_1 = QI('u009')
  1852. call ForGroup(locGroup_1, function NF)
  1853. call DestroyGroup(locGroup_1)
  1854. set locGroup_1 = QI('u00Q')
  1855. call ForGroup(locGroup_1, function BF)
  1856. call DestroyGroup(locGroup_1)
  1857. set locGroup_1 = QI('u00S')
  1858. call ForGroup(locGroup_1, function CF)
  1859. call DestroyGroup(locGroup_1)
  1860. set locGroup_1 = QI('u00T')
  1861. call ForGroup(locGroup_1, function DF)
  1862. call DestroyGroup(locGroup_1)
  1863. set locGroup_1 = QI('u00W')
  1864. call ForGroup(locGroup_1, function FF)
  1865. call DestroyGroup(locGroup_1)
  1866. set locGroup_1 = QI('u017')
  1867. call ForGroup(locGroup_1, function GF)
  1868. call DestroyGroup(locGroup_1)
  1869. set locGroup_1 = QI('u018')
  1870. call ForGroup(locGroup_1, function HF)
  1871. call DestroyGroup(locGroup_1)
  1872. endfunction
  1873.  
  1874. //Calls:
  1875. // GC
  1876. function LF takes nothing returns nothing
  1877. set integer_4 = R2I((1.5 * I2R(integer_4)))
  1878. call GC()
  1879. endfunction
  1880.  
  1881. function PF takes nothing returns nothing
  1882. if TimerGetTimeout(timer_4) == 480. then
  1883. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "In 2 minutes, there will be sudden death.
  1884. After your home is destroyed, you will be revealed to the enemy until
  1885. you build a new one and for another 1 minute after.")
  1886. call StartTimerBJ(timer_4, false, 120.)
  1887. set timerdialog_3 = CreateTimerDialogBJ(timer_4, "Sudden Death")
  1888. call TimerDialogDisplay(timerdialog_3, true)
  1889. else
  1890. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "After your home is destroyed, you will be
  1891. revealed to the enemy, until you build a new one and for another 1 minute after.")
  1892. call DestroyTimerDialog(timerdialog_3)
  1893. endif
  1894. endfunction
  1895.  
  1896. //Calls:
  1897. // QA
  1898. //Functions as argument:
  1899. // GA
  1900. function SF takes nothing returns nothing
  1901. set bj_forLoopAIndex = 0
  1902. loop
  1903. exitwhen GetExpiredTimer() == timerArr_1[bj_forLoopAIndex]
  1904. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  1905. endloop
  1906. call DestroyTimerDialog(timerdialogArr_1[bj_forLoopAIndex])
  1907. call PauseTimer(GetExpiredTimer())
  1908. call SetPlayerAllianceStateBJ(Player(bj_forLoopAIndex), player_2, 0)
  1909. call ForForce(force_3, function GA)
  1910. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(Player(bj_forLoopAIndex)) + GetPlayerName(Player(bj_forLoopAIndex)) + "|r has not be revealed")
  1911. endfunction
  1912.  
  1913. function UF takes nothing returns boolean
  1914. local boolean locBoolean_1 = false
  1915.  
  1916. if GetUnitTypeId(GetTriggerUnit()) == 'u001' then
  1917. set locBoolean_1 = true
  1918. endif
  1919. if GetUnitTypeId(GetTriggerUnit()) == 'u007' then
  1920. set locBoolean_1 = true
  1921. endif
  1922. if GetUnitTypeId(GetTriggerUnit()) == 'u008' then
  1923. set locBoolean_1 = true
  1924. endif
  1925. if GetUnitTypeId(GetTriggerUnit()) == 'u009' then
  1926. set locBoolean_1 = true
  1927. endif
  1928. if GetUnitTypeId(GetTriggerUnit()) == 'u00Q' then
  1929. set locBoolean_1 = true
  1930. endif
  1931. if GetUnitTypeId(GetTriggerUnit()) == 'u00S' then
  1932. set locBoolean_1 = true
  1933. endif
  1934. if GetUnitTypeId(GetTriggerUnit()) == 'u00T' then
  1935. set locBoolean_1 = true
  1936. endif
  1937. if GetUnitTypeId(GetTriggerUnit()) == 'u00W' then
  1938. set locBoolean_1 = true
  1939. endif
  1940. if GetUnitTypeId(GetTriggerUnit()) == 'u017' then
  1941. set locBoolean_1 = true
  1942. endif
  1943. if GetUnitTypeId(GetTriggerUnit()) == 'u018' then
  1944. set locBoolean_1 = true
  1945. endif
  1946. if locBoolean_1 then
  1947. call SetPlayerTechMaxAllowed(GetOwningPlayer(GetTriggerUnit()), 'u001', 0)
  1948. if TimerGetRemaining(timer_4) > .0 then
  1949. return false
  1950. endif
  1951. if TimerGetTimeout(timer_4) != 120. then
  1952. return false
  1953. endif
  1954. return true
  1955. endif
  1956. return false
  1957. endfunction
  1958.  
  1959. //Calls:
  1960. // QA
  1961. function YF takes nothing returns nothing
  1962. call TimerStart(timerArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))], 60., false, null)
  1963. set timerdialogArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))] = CreateTimerDialogBJ(timerArr_1[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))], "|c" + QA(GetOwningPlayer(GetTriggerUnit())) + GetPlayerName(GetOwningPlayer(GetTriggerUnit())))
  1964. call TimerDialogDisplay(bj_lastCreatedTimerDialog, true)
  1965. endfunction
  1966.  
  1967. //Calls:
  1968. // GC
  1969. function VG takes nothing returns nothing
  1970. if GetSpellAbilityId() == 'A031' then
  1971. if (GetPlayerState(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD) < integer_11) then
  1972. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "|cffff0000You do not have enough gold: p")
  1973. return
  1974. endif
  1975. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "You bought |cff00ff0010 wood |rfor |cffffff00" + I2S(integer_11) + " gold")
  1976. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD, integer_11)
  1977. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER, 10)
  1978. set integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] - integer_11
  1979. set integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] + 10
  1980. set integer_11 = integer_11 + integer_12
  1981. set integer_10 = integer_10 + integer_12
  1982. call GC()
  1983. endif
  1984. if GetSpellAbilityId() == 'A032' and integer_10 >= integer_12 then
  1985. if (GetPlayerState(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER) < 10) then
  1986. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "|cffff0000You do not have enough wood: p")
  1987. return
  1988. endif
  1989. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "You sold |cff00ff0010 wood |rfor |cffffff00" + I2S(integer_10) + " gold")
  1990. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD, integer_10)
  1991. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER, -10)
  1992. set integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] + integer_10
  1993. set integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] - 10
  1994. set integer_11 = integer_11 - integer_12
  1995. set integer_10 = integer_10 - integer_12
  1996. call GC()
  1997. endif
  1998. if GetSpellAbilityId() == 'A030' and integer_10 >= integer_12 * 20 then
  1999. if (GetPlayerState(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER) < 200) then
  2000. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "|cffff0000You do not have enough wood :p")
  2001. return
  2002. endif
  2003. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "You sold |cff00ff00200 wood |rfor |cffffff00" + I2S(20 * integer_10 - integer_12 * 190) + " gold")
  2004. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD, 20 * integer_10 - integer_12 * 190)
  2005. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER, -200)
  2006. set integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] + 20 * integer_10 - integer_12 * 190
  2007. set integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] - 200
  2008. set integer_11 = integer_11 - integer_12 * 20
  2009. set integer_10 = integer_10 - integer_12 * 20
  2010. call GC()
  2011. endif
  2012. if GetSpellAbilityId() == 'A02Z' then
  2013. if (GetPlayerState(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD) < 20 * integer_11 + integer_12 * 190) then
  2014. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "|cffff0000You do not have enough gold: p")
  2015. return
  2016. endif
  2017. call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()), 0, 0, "You bought |cff00ff00200 wood |rfor |cffffff00" + I2S(20 * integer_11 + integer_12 * 190) + " gold")
  2018. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_GOLD, (-20 * integer_11 + integer_12 * 190))
  2019. call AdjustPlayerStateSimpleBJ(GetOwningPlayer(GetTriggerUnit()), PLAYER_STATE_RESOURCE_LUMBER, 200)
  2020. set integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_7[GetPlayerId(GetTriggerPlayer()) + 1] - (20 * integer_11 + integer_12 * 190)
  2021. set integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] = integerArr_8[GetPlayerId(GetTriggerPlayer()) + 1] + 200
  2022. set integer_11 = integer_11 + integer_12 * 20
  2023. set integer_10 = integer_10 + integer_12 * 20
  2024. call GC()
  2025. endif
  2026. endfunction
  2027.  
  2028. function XG takes nothing returns boolean
  2029. if IsPlayerEnemy(GetTriggerPlayer(), GetOwningPlayer(GetTriggerUnit())) then
  2030. return false
  2031. endif
  2032. if GetUnitTypeId(GetTriggerUnit()) == 'u00P' then
  2033. return true
  2034. endif
  2035. if GetUnitTypeId(GetTriggerUnit()) == 'u00O' then
  2036. return true
  2037. endif
  2038. if GetUnitTypeId(GetTriggerUnit()) == 'u00H' then
  2039. return true
  2040. endif
  2041. return false
  2042. endfunction
  2043.  
  2044. //Calls:
  2045. // QA
  2046. function OG takes nothing returns nothing
  2047. if GetOwningPlayer(GetTriggerUnit()) == GetLocalPlayer() then
  2048. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "You've traded |cffffff00" + I2S(integerArr_7[GetPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1]) + " gold |rand |cff00ff00" + I2S(integerArr_8[GetPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1]) + " wood|r in Market")
  2049. else
  2050. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|c" + QA(GetOwningPlayer(GetTriggerUnit())) + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) + " |rexchanged for |cffffff00" + I2S(integerArr_7[GetPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1]) + " gold |rand |cff00ff00" + I2S(integerArr_8[GetPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1]) + " wood|r in Market")
  2051. endif
  2052. endfunction
  2053.  
  2054. function IG takes nothing returns nothing
  2055. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "TRIGSTR_2775")
  2056. endfunction
  2057.  
  2058. function NG takes nothing returns nothing
  2059. call CameraSetupApply(camerasetupArr_1[integer_7], true, false)
  2060. endfunction
  2061.  
  2062. //Calls:
  2063. // YB
  2064. function CG takes nothing returns nothing
  2065. set integer_5 = integer_5 - 1
  2066. if (integer_5 == 0) then
  2067. set integer_5 = 8
  2068. endif
  2069. call CinematicFadeBJ(2, 1., "ReplaceableTextures\\CameraMasks\\Black_mask.blp", 0, 0, 0, 0)
  2070. call TriggerSleepAction(.5)
  2071. set integer_7 = integer_5
  2072. call YB(integer_7)
  2073. call PauseTimer(timer_5)
  2074. endfunction
  2075.  
  2076. //Calls:
  2077. // YB
  2078. function FG takes nothing returns nothing
  2079. set integer_5 = integer_5 + 1
  2080. if (integer_5 == 8 + 1) then
  2081. set integer_5 = 1
  2082. endif
  2083. call CinematicFadeBJ(2, 2, "ReplaceableTextures\\CameraMasks\\Black_mask.blp", 0, 0, 0, 0)
  2084. call TriggerSleepAction(1.)
  2085. set integer_7 = integer_5
  2086. call YB(integer_7)
  2087. call PauseTimer(timer_5)
  2088. endfunction
  2089.  
  2090. //Calls:
  2091. // YB
  2092. function HG takes nothing returns nothing
  2093. set integer_5 = GetRandomInt(1, 8)
  2094. call CinematicFadeBJ(2, 2, "ReplaceableTextures\\CameraMasks\\Black_mask.blp", 0, 0, 0, 0)
  2095. call TriggerSleepAction(1.)
  2096. set integer_7 = integer_5
  2097. call YB(integer_7)
  2098. call PauseTimer(timer_5)
  2099. endfunction
  2100.  
  2101. function KG takes nothing returns nothing
  2102. call DialogSetMessage(dialog_6, "Do you want to choose this area?")
  2103. call DialogDisplay(GetTriggerPlayer(), dialog_6, true)
  2104. call PauseTimer(timer_5)
  2105. endfunction
  2106.  
  2107. function MG takes nothing returns boolean
  2108. return (GetClickedButton() == button_1)
  2109. endfunction
  2110.  
  2111. //Calls:
  2112. // RC
  2113. function PG takes nothing returns nothing
  2114. call RC()
  2115. endfunction
  2116.  
  2117. //Calls:
  2118. // RC
  2119. function SG takes nothing returns nothing
  2120. call RC()
  2121. endfunction
  2122.  
  2123. //Calls:
  2124. // PB
  2125. function UG takes nothing returns nothing
  2126. call PB()
  2127. endfunction
  2128.  
  2129. //Calls:
  2130. // QA
  2131. function YG takes player paramPlayer_1, player paramPlayer_2 returns nothing
  2132. if paramPlayer_2 != paramPlayer_1 then
  2133. call SetPlayerAlliance(paramPlayer_1, paramPlayer_2, ALLIANCE_SHARED_CONTROL, true)
  2134. call SetPlayerAlliance(paramPlayer_1, paramPlayer_2, ALLIANCE_SHARED_ADVANCED_CONTROL, true)
  2135. call DisplayTextToPlayer(paramPlayer_2, 0, 0, "|c" + QA(paramPlayer_1) + GetPlayerName(paramPlayer_1) + "|r you share your units")
  2136. endif
  2137. endfunction
  2138.  
  2139. //Calls:
  2140. // YG
  2141. // TA
  2142. // QA
  2143. function VH takes nothing returns nothing
  2144. local player locPlayer_1 = null
  2145.  
  2146. if StringLength(GetEventPlayerChatString()) == 4 then
  2147. set bj_forLoopAIndex = 0
  2148. loop
  2149. exitwhen bj_forLoopAIndex > 11
  2150. if IsPlayerAlly(Player(bj_forLoopAIndex), GetTriggerPlayer()) then
  2151. call YG(GetTriggerPlayer(), Player(bj_forLoopAIndex))
  2152. endif
  2153. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  2154. endloop
  2155. else
  2156. set locPlayer_1 = TA(SubString(GetEventPlayerChatString(), 5, StringLength(GetEventPlayerChatString())))
  2157. if locPlayer_1 == null then
  2158. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "players have not been recognized")
  2159. set locPlayer_1 = null
  2160. return
  2161. endif
  2162. call YG(GetTriggerPlayer(), locPlayer_1)
  2163. endif
  2164. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + "|r is afk")
  2165. call DialogSetMessage(dialog_7, "afk...")
  2166. call DialogDisplay(GetTriggerPlayer(), dialog_7, true)
  2167. set locPlayer_1 = null
  2168. endfunction
  2169.  
  2170. //Calls:
  2171. // QA
  2172. function XH takes nothing returns nothing
  2173. set bj_forLoopAIndex = 0
  2174. loop
  2175. exitwhen bj_forLoopAIndex > 11
  2176. if GetTriggerPlayer() != Player(bj_forLoopAIndex) and GetPlayerAlliance(GetTriggerPlayer(), Player(bj_forLoopAIndex), ALLIANCE_SHARED_ADVANCED_CONTROL) then
  2177. call SetPlayerAlliance(GetTriggerPlayer(), Player(bj_forLoopAIndex), ALLIANCE_SHARED_CONTROL, false)
  2178. call SetPlayerAlliance(Player(bj_forLoopAIndex), GetTriggerPlayer(), ALLIANCE_SHARED_CONTROL, false)
  2179. call SetPlayerAlliance(GetTriggerPlayer(), Player(bj_forLoopAIndex), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
  2180. endif
  2181. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  2182. endloop
  2183. call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + "|r is back.")
  2184. endfunction
  2185.  
  2186. //Calls:
  2187. // FB
  2188. // QA
  2189. function RH takes nothing returns nothing
  2190. local group locGroup_1 = FB(GetTriggerPlayer())
  2191. local unit locUnit_1 = FirstOfGroup(locGroup_1)
  2192. local player locPlayer_1 = GetOwningPlayer(locUnit_1)
  2193. local integer locInteger_1 = 0
  2194. local boolean locBoolean_1 = false
  2195.  
  2196. if SubString(GetEventPlayerChatString(), 0, 10) == "-givegold " then
  2197. set locInteger_1 = S2I(SubString(GetEventPlayerChatString(), 10, StringLength(GetEventPlayerChatString())))
  2198. set locBoolean_1 = true
  2199. endif
  2200. if SubString(GetEventPlayerChatString(), 0, 4) == "-gg " then
  2201. set locInteger_1 = S2I(SubString(GetEventPlayerChatString(), 4, StringLength(GetEventPlayerChatString())))
  2202. set locBoolean_1 = true
  2203. endif
  2204. if locBoolean_1 == false then
  2205. call DestroyGroup(locGroup_1)
  2206. return
  2207. endif
  2208. if CountUnitsInGroup(locGroup_1) == 0 then
  2209. call DestroyGroup(locGroup_1)
  2210. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You must select any unit which belong to another player")
  2211. return
  2212. endif
  2213. call DestroyGroup(locGroup_1)
  2214. if locPlayer_1 == GetTriggerPlayer() then
  2215. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You must select any unit which belong to another player")
  2216. return
  2217. endif
  2218. if locPlayer_1 == Player(11) then
  2219. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You can not give gold to this player")
  2220. return
  2221. endif
  2222. if IsPlayerAlly(GetTriggerPlayer(), locPlayer_1) == false then
  2223. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Do you want to give gold to your enemy? lol?")
  2224. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Bah too bad! But i will not tell to everybody that you're a traitor: p")
  2225. return
  2226. endif
  2227. if locInteger_1 <= 0 then
  2228. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You can not give a negative quantity of gold: p")
  2229. return
  2230. endif
  2231. if locInteger_1 > GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD) then
  2232. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You do not have enough gold: p")
  2233. return
  2234. endif
  2235. call AdjustPlayerStateSimpleBJ(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD, locInteger_1)
  2236. call AdjustPlayerStateSimpleBJ(locPlayer_1, PLAYER_STATE_RESOURCE_GOLD, locInteger_1)
  2237. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "You gave |cffffff00" + I2S(locInteger_1) + " or|r a |c" + QA(locPlayer_1) + GetPlayerName(locPlayer_1))
  2238. call DisplayTextToPlayer(locPlayer_1, 0, 0, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + "|rgave you |cffffff00" + I2S(locInteger_1) + " gold")
  2239. endfunction
  2240.  
  2241. //Calls:
  2242. // FB
  2243. // QA
  2244. function NH takes nothing returns nothing
  2245. local group locGroup_1 = FB(GetTriggerPlayer())
  2246. local unit locUnit_1 = FirstOfGroup(locGroup_1)
  2247. local player locPlayer_1 = GetOwningPlayer(locUnit_1)
  2248. local integer locInteger_1 = 0
  2249. local boolean locBoolean_1 = false
  2250.  
  2251. if SubString(GetEventPlayerChatString(), 0, 12) == "-givelumber " then
  2252. set locInteger_1 = S2I(SubString(GetEventPlayerChatString(), 12, StringLength(GetEventPlayerChatString())))
  2253. set locBoolean_1 = true
  2254. endif
  2255. if SubString(GetEventPlayerChatString(), 0, 4) == "-gl " then
  2256. set locInteger_1 = S2I(SubString(GetEventPlayerChatString(), 4, StringLength(GetEventPlayerChatString())))
  2257. set locBoolean_1 = true
  2258. endif
  2259. if locBoolean_1 == false then
  2260. call DestroyGroup(locGroup_1)
  2261. return
  2262. endif
  2263. if CountUnitsInGroup(locGroup_1) == 0 then
  2264. call DestroyGroup(locGroup_1)
  2265. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You must select any unit which belong to another player")
  2266. return
  2267. endif
  2268. call DestroyGroup(locGroup_1)
  2269. if locPlayer_1 == GetTriggerPlayer() then
  2270. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You must select any unit which belong to another player")
  2271. return
  2272. endif
  2273. if locPlayer_1 == Player(11) then
  2274. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You can not give wood to this player")
  2275. return
  2276. endif
  2277. if IsPlayerAlly(GetTriggerPlayer(), locPlayer_1) == false then
  2278. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Do you want to give wood to your enemy? lol?")
  2279. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Bah too bad! But i will not tell to everybody that you're a traitor: p")
  2280. return
  2281. endif
  2282. if locInteger_1 <= 0 then
  2283. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You can not give a negative quantity of wood: p")
  2284. return
  2285. endif
  2286. if locInteger_1 > GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER) then
  2287. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You do not have enough wood: p")
  2288. return
  2289. endif
  2290. call AdjustPlayerStateSimpleBJ(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER, locInteger_1)
  2291. call AdjustPlayerStateSimpleBJ(locPlayer_1, PLAYER_STATE_RESOURCE_LUMBER, locInteger_1)
  2292. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "You gave |cff00ff00" + I2S(locInteger_1) + " wood|r a |c" + QA(locPlayer_1) + GetPlayerName(locPlayer_1))
  2293. call DisplayTextToPlayer(locPlayer_1, 0, 0, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + "|rgave you |cff00ff00" + I2S(locInteger_1) + " wood")
  2294. endfunction
  2295.  
  2296. function CH takes nothing returns nothing
  2297. local boolean locBoolean_1 = true
  2298.  
  2299. if GetOwningPlayer(GetEnumUnit()) != GetTriggerPlayer() then
  2300. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Unable to give units " + GetUnitName(GetEnumUnit()) + " (do not belong)")
  2301. call GroupRemoveUnit(group_1, GetEnumUnit())
  2302. return
  2303. elseif GetUnitTypeId(GetEnumUnit()) == 'u000' then
  2304. set locBoolean_1 = false
  2305. elseif GetUnitTypeId(GetEnumUnit()) == 'u00R' then
  2306. set locBoolean_1 = false
  2307. elseif GetUnitTypeId(GetEnumUnit()) == 'u001' then
  2308. set locBoolean_1 = false
  2309. elseif GetUnitTypeId(GetEnumUnit()) == 'u007' then
  2310. set locBoolean_1 = false
  2311. elseif GetUnitTypeId(GetEnumUnit()) == 'u008' then
  2312. set locBoolean_1 = false
  2313. elseif GetUnitTypeId(GetEnumUnit()) == 'u009' then
  2314. set locBoolean_1 = false
  2315. elseif GetUnitTypeId(GetEnumUnit()) == 'u00Q' then
  2316. set locBoolean_1 = false
  2317. elseif GetUnitTypeId(GetEnumUnit()) == 'u00S' then
  2318. set locBoolean_1 = false
  2319. elseif GetUnitTypeId(GetEnumUnit()) == 'u00T' then
  2320. set locBoolean_1 = false
  2321. elseif GetUnitTypeId(GetEnumUnit()) == 'u00W' then
  2322. set locBoolean_1 = false
  2323. elseif GetUnitTypeId(GetEnumUnit()) == 'u017' then
  2324. set locBoolean_1 = false
  2325. elseif GetUnitTypeId(GetEnumUnit()) == 'u018' then
  2326. set locBoolean_1 = false
  2327. elseif GetUnitTypeId(GetEnumUnit()) == 'u016' then
  2328. set locBoolean_1 = false
  2329. elseif GetUnitTypeId(GetEnumUnit()) == 'u00J' then
  2330. set locBoolean_1 = false
  2331. elseif GetUnitTypeId(GetEnumUnit()) == 'u015' then
  2332. set locBoolean_1 = false
  2333. elseif GetUnitTypeId(GetEnumUnit()) == 'u00C' then
  2334. set locBoolean_1 = false
  2335. elseif GetUnitTypeId(GetEnumUnit()) == 'u00I' then
  2336. set locBoolean_1 = false
  2337. elseif GetUnitTypeId(GetEnumUnit()) == 'u00U' then
  2338. set locBoolean_1 = false
  2339. elseif GetUnitTypeId(GetEnumUnit()) == 'u00D' then
  2340. set locBoolean_1 = false
  2341. elseif GetUnitTypeId(GetEnumUnit()) == 'u00A' then
  2342. set locBoolean_1 = false
  2343. elseif GetUnitTypeId(GetEnumUnit()) == 'H000' then
  2344. set locBoolean_1 = false
  2345. elseif GetUnitTypeId(GetEnumUnit()) == 'H00D' then
  2346. set locBoolean_1 = false
  2347. endif
  2348. if (locBoolean_1 == false) then
  2349. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Unable to give units " + GetUnitName(GetEnumUnit()) + " (unit is related to you)")
  2350. call GroupRemoveUnit(group_1, GetEnumUnit())
  2351. endif
  2352. set integer_13 = integer_13 + GetUnitFoodUsed(GetEnumUnit())
  2353. return
  2354. endfunction
  2355.  
  2356. function FH takes nothing returns nothing
  2357. call SetUnitOwner(GetEnumUnit(), player_4, true)
  2358. endfunction
  2359.  
  2360. //Calls:
  2361. // TA
  2362. // FB
  2363. // QA
  2364. // CB
  2365. //Functions as argument:
  2366. // CH
  2367. // FH
  2368. function GH takes nothing returns nothing
  2369. local boolean locBoolean_1 = false
  2370.  
  2371. set integer_13 = 0
  2372. set player_4 = null
  2373. if SubString(GetEventPlayerChatString(), 0, 11) == "-giveunits " then
  2374. set player_4 = TA(SubString(GetEventPlayerChatString(), 11, StringLength(GetEventPlayerChatString())))
  2375. set locBoolean_1 = true
  2376. endif
  2377. if SubString(GetEventPlayerChatString(), 0, 4) == "-gu " then
  2378. set player_4 = TA(SubString(GetEventPlayerChatString(), 4, StringLength(GetEventPlayerChatString())))
  2379. set locBoolean_1 = true
  2380. endif
  2381. if locBoolean_1 == false then
  2382. return
  2383. endif
  2384. set group_1 = FB(GetTriggerPlayer())
  2385. call ForGroup(group_1, function CH)
  2386. if CountUnitsInGroup(group_1) == 0 then
  2387. call DestroyGroup(group_1)
  2388. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You must select ally to give him units")
  2389. return
  2390. endif
  2391. if player_4 == null then
  2392. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Name/Color/id of the player have not been recognized or it is left.")
  2393. call DestroyGroup(group_1)
  2394. return
  2395. endif
  2396. if IsPlayerAlly(GetTriggerPlayer(), player_4) != true then
  2397. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Do you want to give units to your enemy? lol?")
  2398. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000Bah too bad! But i will not tell to everybody that you're a traitor: p")
  2399. call DestroyGroup(group_1)
  2400. return
  2401. endif
  2402. if player_4 == GetTriggerPlayer() then
  2403. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000wants to give his own units!")
  2404. call DestroyGroup(group_1)
  2405. return
  2406. endif
  2407. if player_4 == Player(11) then
  2408. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000You can not give this units to player!")
  2409. call DestroyGroup(group_1)
  2410. return
  2411. endif
  2412. if GetPlayerState(player_4, PLAYER_STATE_RESOURCE_FOOD_CAP) - GetPlayerState(player_4, PLAYER_STATE_RESOURCE_FOOD_USED) < integer_13 then
  2413. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "|cffff0000The player does not produce enough food!")
  2414. endif
  2415. call ForGroup(group_1, function FH)
  2416. call DisplayTextToPlayer(GetTriggerPlayer(), 0, 0, "You gave" + I2S(CountUnitsInGroup(group_1)) + " unit(s) a |c" + QA(player_4) + GetPlayerName(player_4))
  2417. call DisplayTextToPlayer(player_4, 0, 0, "|c" + QA(GetTriggerPlayer()) + GetPlayerName(GetTriggerPlayer()) + "|rgave you " + I2S(CountUnitsInGroup(group_1)) + " unit(s)")
  2418. call CB(player_4)
  2419. call DestroyGroup(group_1)
  2420. endfunction
  2421.  
  2422. //Calls:
  2423. // CB
  2424. function JH takes nothing returns nothing
  2425. call CB(GetTriggerPlayer())
  2426. endfunction
  2427.  
  2428. function InitCustomTeams takes nothing returns nothing
  2429. call SetPlayerTeam(Player(0), 0)
  2430. call SetPlayerTeam(Player(1), 0)
  2431. call SetPlayerTeam(Player(2), 0)
  2432. call SetPlayerTeam(Player(3), 0)
  2433. call SetPlayerTeam(Player(4), 0)
  2434. call SetPlayerTeam(Player(5), 0)
  2435. call SetPlayerTeam(Player(6), 0)
  2436. call SetPlayerTeam(Player(7), 0)
  2437. call SetPlayerTeam(Player(8), 0)
  2438. call SetPlayerTeam(Player(9), 0)
  2439. call SetPlayerTeam(Player(10), 0)
  2440. call SetPlayerAllianceStateAllyBJ(Player(0), Player(1), true)
  2441. call SetPlayerAllianceStateAllyBJ(Player(0), Player(2), true)
  2442. call SetPlayerAllianceStateAllyBJ(Player(0), Player(3), true)
  2443. call SetPlayerAllianceStateAllyBJ(Player(0), Player(4), true)
  2444. call SetPlayerAllianceStateAllyBJ(Player(0), Player(5), true)
  2445. call SetPlayerAllianceStateAllyBJ(Player(0), Player(6), true)
  2446. call SetPlayerAllianceStateAllyBJ(Player(0), Player(7), true)
  2447. call SetPlayerAllianceStateAllyBJ(Player(0), Player(8), true)
  2448. call SetPlayerAllianceStateAllyBJ(Player(0), Player(9), true)
  2449. call SetPlayerAllianceStateAllyBJ(Player(0), Player(10), true)
  2450. call SetPlayerAllianceStateAllyBJ(Player(1), Player(0), true)
  2451. call SetPlayerAllianceStateAllyBJ(Player(1), Player(2), true)
  2452. call SetPlayerAllianceStateAllyBJ(Player(1), Player(3), true)
  2453. call SetPlayerAllianceStateAllyBJ(Player(1), Player(4), true)
  2454. call SetPlayerAllianceStateAllyBJ(Player(1), Player(5), true)
  2455. call SetPlayerAllianceStateAllyBJ(Player(1), Player(6), true)
  2456. call SetPlayerAllianceStateAllyBJ(Player(1), Player(7), true)
  2457. call SetPlayerAllianceStateAllyBJ(Player(1), Player(8), true)
  2458. call SetPlayerAllianceStateAllyBJ(Player(1), Player(9), true)
  2459. call SetPlayerAllianceStateAllyBJ(Player(1), Player(10), true)
  2460. call SetPlayerAllianceStateAllyBJ(Player(2), Player(0), true)
  2461. call SetPlayerAllianceStateAllyBJ(Player(2), Player(1), true)
  2462. call SetPlayerAllianceStateAllyBJ(Player(2), Player(3), true)
  2463. call SetPlayerAllianceStateAllyBJ(Player(2), Player(4), true)
  2464. call SetPlayerAllianceStateAllyBJ(Player(2), Player(5), true)
  2465. call SetPlayerAllianceStateAllyBJ(Player(2), Player(6), true)
  2466. call SetPlayerAllianceStateAllyBJ(Player(2), Player(7), true)
  2467. call SetPlayerAllianceStateAllyBJ(Player(2), Player(8), true)
  2468. call SetPlayerAllianceStateAllyBJ(Player(2), Player(9), true)
  2469. call SetPlayerAllianceStateAllyBJ(Player(2), Player(10), true)
  2470. call SetPlayerAllianceStateAllyBJ(Player(3), Player(0), true)
  2471. call SetPlayerAllianceStateAllyBJ(Player(3), Player(1), true)
  2472. call SetPlayerAllianceStateAllyBJ(Player(3), Player(2), true)
  2473. call SetPlayerAllianceStateAllyBJ(Player(3), Player(4), true)
  2474. call SetPlayerAllianceStateAllyBJ(Player(3), Player(5), true)
  2475. call SetPlayerAllianceStateAllyBJ(Player(3), Player(6), true)
  2476. call SetPlayerAllianceStateAllyBJ(Player(3), Player(7), true)
  2477. call SetPlayerAllianceStateAllyBJ(Player(3), Player(8), true)
  2478. call SetPlayerAllianceStateAllyBJ(Player(3), Player(9), true)
  2479. call SetPlayerAllianceStateAllyBJ(Player(3), Player(10), true)
  2480. call SetPlayerAllianceStateAllyBJ(Player(4), Player(0), true)
  2481. call SetPlayerAllianceStateAllyBJ(Player(4), Player(1), true)
  2482. call SetPlayerAllianceStateAllyBJ(Player(4), Player(2), true)
  2483. call SetPlayerAllianceStateAllyBJ(Player(4), Player(3), true)
  2484. call SetPlayerAllianceStateAllyBJ(Player(4), Player(5), true)
  2485. call SetPlayerAllianceStateAllyBJ(Player(4), Player(6), true)
  2486. call SetPlayerAllianceStateAllyBJ(Player(4), Player(7), true)
  2487. call SetPlayerAllianceStateAllyBJ(Player(4), Player(8), true)
  2488. call SetPlayerAllianceStateAllyBJ(Player(4), Player(9), true)
  2489. call SetPlayerAllianceStateAllyBJ(Player(4), Player(10), true)
  2490. call SetPlayerAllianceStateAllyBJ(Player(5), Player(0), true)
  2491. call SetPlayerAllianceStateAllyBJ(Player(5), Player(1), true)
  2492. call SetPlayerAllianceStateAllyBJ(Player(5), Player(2), true)
  2493. call SetPlayerAllianceStateAllyBJ(Player(5), Player(3), true)
  2494. call SetPlayerAllianceStateAllyBJ(Player(5), Player(4), true)
  2495. call SetPlayerAllianceStateAllyBJ(Player(5), Player(6), true)
  2496. call SetPlayerAllianceStateAllyBJ(Player(5), Player(7), true)
  2497. call SetPlayerAllianceStateAllyBJ(Player(5), Player(8), true)
  2498. call SetPlayerAllianceStateAllyBJ(Player(5), Player(9), true)
  2499. call SetPlayerAllianceStateAllyBJ(Player(5), Player(10), true)
  2500. call SetPlayerAllianceStateAllyBJ(Player(6), Player(0), true)
  2501. call SetPlayerAllianceStateAllyBJ(Player(6), Player(1), true)
  2502. call SetPlayerAllianceStateAllyBJ(Player(6), Player(2), true)
  2503. call SetPlayerAllianceStateAllyBJ(Player(6), Player(3), true)
  2504. call SetPlayerAllianceStateAllyBJ(Player(6), Player(4), true)
  2505. call SetPlayerAllianceStateAllyBJ(Player(6), Player(5), true)
  2506. call SetPlayerAllianceStateAllyBJ(Player(6), Player(7), true)
  2507. call SetPlayerAllianceStateAllyBJ(Player(6), Player(8), true)
  2508. call SetPlayerAllianceStateAllyBJ(Player(6), Player(9), true)
  2509. call SetPlayerAllianceStateAllyBJ(Player(6), Player(10), true)
  2510. call SetPlayerAllianceStateAllyBJ(Player(7), Player(0), true)
  2511. call SetPlayerAllianceStateAllyBJ(Player(7), Player(1), true)
  2512. call SetPlayerAllianceStateAllyBJ(Player(7), Player(2), true)
  2513. call SetPlayerAllianceStateAllyBJ(Player(7), Player(3), true)
  2514. call SetPlayerAllianceStateAllyBJ(Player(7), Player(4), true)
  2515. call SetPlayerAllianceStateAllyBJ(Player(7), Player(5), true)
  2516. call SetPlayerAllianceStateAllyBJ(Player(7), Player(6), true)
  2517. call SetPlayerAllianceStateAllyBJ(Player(7), Player(8), true)
  2518. call SetPlayerAllianceStateAllyBJ(Player(7), Player(9), true)
  2519. call SetPlayerAllianceStateAllyBJ(Player(7), Player(10), true)
  2520. call SetPlayerAllianceStateAllyBJ(Player(8), Player(0), true)
  2521. call SetPlayerAllianceStateAllyBJ(Player(8), Player(1), true)
  2522. call SetPlayerAllianceStateAllyBJ(Player(8), Player(2), true)
  2523. call SetPlayerAllianceStateAllyBJ(Player(8), Player(3), true)
  2524. call SetPlayerAllianceStateAllyBJ(Player(8), Player(4), true)
  2525. call SetPlayerAllianceStateAllyBJ(Player(8), Player(5), true)
  2526. call SetPlayerAllianceStateAllyBJ(Player(8), Player(6), true)
  2527. call SetPlayerAllianceStateAllyBJ(Player(8), Player(7), true)
  2528. call SetPlayerAllianceStateAllyBJ(Player(8), Player(9), true)
  2529. call SetPlayerAllianceStateAllyBJ(Player(8), Player(10), true)
  2530. call SetPlayerAllianceStateAllyBJ(Player(9), Player(0), true)
  2531. call SetPlayerAllianceStateAllyBJ(Player(9), Player(1), true)
  2532. call SetPlayerAllianceStateAllyBJ(Player(9), Player(2), true)
  2533. call SetPlayerAllianceStateAllyBJ(Player(9), Player(3), true)
  2534. call SetPlayerAllianceStateAllyBJ(Player(9), Player(4), true)
  2535. call SetPlayerAllianceStateAllyBJ(Player(9), Player(5), true)
  2536. call SetPlayerAllianceStateAllyBJ(Player(9), Player(6), true)
  2537. call SetPlayerAllianceStateAllyBJ(Player(9), Player(7), true)
  2538. call SetPlayerAllianceStateAllyBJ(Player(9), Player(8), true)
  2539. call SetPlayerAllianceStateAllyBJ(Player(9), Player(10), true)
  2540. call SetPlayerAllianceStateAllyBJ(Player(10), Player(0), true)
  2541. call SetPlayerAllianceStateAllyBJ(Player(10), Player(1), true)
  2542. call SetPlayerAllianceStateAllyBJ(Player(10), Player(2), true)
  2543. call SetPlayerAllianceStateAllyBJ(Player(10), Player(3), true)
  2544. call SetPlayerAllianceStateAllyBJ(Player(10), Player(4), true)
  2545. call SetPlayerAllianceStateAllyBJ(Player(10), Player(5), true)
  2546. call SetPlayerAllianceStateAllyBJ(Player(10), Player(6), true)
  2547. call SetPlayerAllianceStateAllyBJ(Player(10), Player(7), true)
  2548. call SetPlayerAllianceStateAllyBJ(Player(10), Player(8), true)
  2549. call SetPlayerAllianceStateAllyBJ(Player(10), Player(9), true)
  2550. call SetPlayerAllianceStateVisionBJ(Player(0), Player(1), true)
  2551. call SetPlayerAllianceStateVisionBJ(Player(0), Player(2), true)
  2552. call SetPlayerAllianceStateVisionBJ(Player(0), Player(3), true)
  2553. call SetPlayerAllianceStateVisionBJ(Player(0), Player(4), true)
  2554. call SetPlayerAllianceStateVisionBJ(Player(0), Player(5), true)
  2555. call SetPlayerAllianceStateVisionBJ(Player(0), Player(6), true)
  2556. call SetPlayerAllianceStateVisionBJ(Player(0), Player(7), true)
  2557. call SetPlayerAllianceStateVisionBJ(Player(0), Player(8), true)
  2558. call SetPlayerAllianceStateVisionBJ(Player(0), Player(9), true)
  2559. call SetPlayerAllianceStateVisionBJ(Player(0), Player(10), true)
  2560. call SetPlayerAllianceStateVisionBJ(Player(1), Player(0), true)
  2561. call SetPlayerAllianceStateVisionBJ(Player(1), Player(2), true)
  2562. call SetPlayerAllianceStateVisionBJ(Player(1), Player(3), true)
  2563. call SetPlayerAllianceStateVisionBJ(Player(1), Player(4), true)
  2564. call SetPlayerAllianceStateVisionBJ(Player(1), Player(5), true)
  2565. call SetPlayerAllianceStateVisionBJ(Player(1), Player(6), true)
  2566. call SetPlayerAllianceStateVisionBJ(Player(1), Player(7), true)
  2567. call SetPlayerAllianceStateVisionBJ(Player(1), Player(8), true)
  2568. call SetPlayerAllianceStateVisionBJ(Player(1), Player(9), true)
  2569. call SetPlayerAllianceStateVisionBJ(Player(1), Player(10), true)
  2570. call SetPlayerAllianceStateVisionBJ(Player(2), Player(0), true)
  2571. call SetPlayerAllianceStateVisionBJ(Player(2), Player(1), true)
  2572. call SetPlayerAllianceStateVisionBJ(Player(2), Player(3), true)
  2573. call SetPlayerAllianceStateVisionBJ(Player(2), Player(4), true)
  2574. call SetPlayerAllianceStateVisionBJ(Player(2), Player(5), true)
  2575. call SetPlayerAllianceStateVisionBJ(Player(2), Player(6), true)
  2576. call SetPlayerAllianceStateVisionBJ(Player(2), Player(7), true)
  2577. call SetPlayerAllianceStateVisionBJ(Player(2), Player(8), true)
  2578. call SetPlayerAllianceStateVisionBJ(Player(2), Player(9), true)
  2579. call SetPlayerAllianceStateVisionBJ(Player(2), Player(10), true)
  2580. call SetPlayerAllianceStateVisionBJ(Player(3), Player(0), true)
  2581. call SetPlayerAllianceStateVisionBJ(Player(3), Player(1), true)
  2582. call SetPlayerAllianceStateVisionBJ(Player(3), Player(2), true)
  2583. call SetPlayerAllianceStateVisionBJ(Player(3), Player(4), true)
  2584. call SetPlayerAllianceStateVisionBJ(Player(3), Player(5), true)
  2585. call SetPlayerAllianceStateVisionBJ(Player(3), Player(6), true)
  2586. call SetPlayerAllianceStateVisionBJ(Player(3), Player(7), true)
  2587. call SetPlayerAllianceStateVisionBJ(Player(3), Player(8), true)
  2588. call SetPlayerAllianceStateVisionBJ(Player(3), Player(9), true)
  2589. call SetPlayerAllianceStateVisionBJ(Player(3), Player(10), true)
  2590. call SetPlayerAllianceStateVisionBJ(Player(4), Player(0), true)
  2591. call SetPlayerAllianceStateVisionBJ(Player(4), Player(1), true)
  2592. call SetPlayerAllianceStateVisionBJ(Player(4), Player(2), true)
  2593. call SetPlayerAllianceStateVisionBJ(Player(4), Player(3), true)
  2594. call SetPlayerAllianceStateVisionBJ(Player(4), Player(5), true)
  2595. call SetPlayerAllianceStateVisionBJ(Player(4), Player(6), true)
  2596. call SetPlayerAllianceStateVisionBJ(Player(4), Player(7), true)
  2597. call SetPlayerAllianceStateVisionBJ(Player(4), Player(8), true)
  2598. call SetPlayerAllianceStateVisionBJ(Player(4), Player(9), true)
  2599. call SetPlayerAllianceStateVisionBJ(Player(4), Player(10), true)
  2600. call SetPlayerAllianceStateVisionBJ(Player(5), Player(0), true)
  2601. call SetPlayerAllianceStateVisionBJ(Player(5), Player(1), true)
  2602. call SetPlayerAllianceStateVisionBJ(Player(5), Player(2), true)
  2603. call SetPlayerAllianceStateVisionBJ(Player(5), Player(3), true)
  2604. call SetPlayerAllianceStateVisionBJ(Player(5), Player(4), true)
  2605. call SetPlayerAllianceStateVisionBJ(Player(5), Player(6), true)
  2606. call SetPlayerAllianceStateVisionBJ(Player(5), Player(7), true)
  2607. call SetPlayerAllianceStateVisionBJ(Player(5), Player(8), true)
  2608. call SetPlayerAllianceStateVisionBJ(Player(5), Player(9), true)
  2609. call SetPlayerAllianceStateVisionBJ(Player(5), Player(10), true)
  2610. call SetPlayerAllianceStateVisionBJ(Player(6), Player(0), true)
  2611. call SetPlayerAllianceStateVisionBJ(Player(6), Player(1), true)
  2612. call SetPlayerAllianceStateVisionBJ(Player(6), Player(2), true)
  2613. call SetPlayerAllianceStateVisionBJ(Player(6), Player(3), true)
  2614. call SetPlayerAllianceStateVisionBJ(Player(6), Player(4), true)
  2615. call SetPlayerAllianceStateVisionBJ(Player(6), Player(5), true)
  2616. call SetPlayerAllianceStateVisionBJ(Player(6), Player(7), true)
  2617. call SetPlayerAllianceStateVisionBJ(Player(6), Player(8), true)
  2618. call SetPlayerAllianceStateVisionBJ(Player(6), Player(9), true)
  2619. call SetPlayerAllianceStateVisionBJ(Player(6), Player(10), true)
  2620. call SetPlayerAllianceStateVisionBJ(Player(7), Player(0), true)
  2621. call SetPlayerAllianceStateVisionBJ(Player(7), Player(1), true)
  2622. call SetPlayerAllianceStateVisionBJ(Player(7), Player(2), true)
  2623. call SetPlayerAllianceStateVisionBJ(Player(7), Player(3), true)
  2624. call SetPlayerAllianceStateVisionBJ(Player(7), Player(4), true)
  2625. call SetPlayerAllianceStateVisionBJ(Player(7), Player(5), true)
  2626. call SetPlayerAllianceStateVisionBJ(Player(7), Player(6), true)
  2627. call SetPlayerAllianceStateVisionBJ(Player(7), Player(8), true)
  2628. call SetPlayerAllianceStateVisionBJ(Player(7), Player(9), true)
  2629. call SetPlayerAllianceStateVisionBJ(Player(7), Player(10), true)
  2630. call SetPlayerAllianceStateVisionBJ(Player(8), Player(0), true)
  2631. call SetPlayerAllianceStateVisionBJ(Player(8), Player(1), true)
  2632. call SetPlayerAllianceStateVisionBJ(Player(8), Player(2), true)
  2633. call SetPlayerAllianceStateVisionBJ(Player(8), Player(3), true)
  2634. call SetPlayerAllianceStateVisionBJ(Player(8), Player(4), true)
  2635. call SetPlayerAllianceStateVisionBJ(Player(8), Player(5), true)
  2636. call SetPlayerAllianceStateVisionBJ(Player(8), Player(6), true)
  2637. call SetPlayerAllianceStateVisionBJ(Player(8), Player(7), true)
  2638. call SetPlayerAllianceStateVisionBJ(Player(8), Player(9), true)
  2639. call SetPlayerAllianceStateVisionBJ(Player(8), Player(10), true)
  2640. call SetPlayerAllianceStateVisionBJ(Player(9), Player(0), true)
  2641. call SetPlayerAllianceStateVisionBJ(Player(9), Player(1), true)
  2642. call SetPlayerAllianceStateVisionBJ(Player(9), Player(2), true)
  2643. call SetPlayerAllianceStateVisionBJ(Player(9), Player(3), true)
  2644. call SetPlayerAllianceStateVisionBJ(Player(9), Player(4), true)
  2645. call SetPlayerAllianceStateVisionBJ(Player(9), Player(5), true)
  2646. call SetPlayerAllianceStateVisionBJ(Player(9), Player(6), true)
  2647. call SetPlayerAllianceStateVisionBJ(Player(9), Player(7), true)
  2648. call SetPlayerAllianceStateVisionBJ(Player(9), Player(8), true)
  2649. call SetPlayerAllianceStateVisionBJ(Player(9), Player(10), true)
  2650. call SetPlayerAllianceStateVisionBJ(Player(10), Player(0), true)
  2651. call SetPlayerAllianceStateVisionBJ(Player(10), Player(1), true)
  2652. call SetPlayerAllianceStateVisionBJ(Player(10), Player(2), true)
  2653. call SetPlayerAllianceStateVisionBJ(Player(10), Player(3), true)
  2654. call SetPlayerAllianceStateVisionBJ(Player(10), Player(4), true)
  2655. call SetPlayerAllianceStateVisionBJ(Player(10), Player(5), true)
  2656. call SetPlayerAllianceStateVisionBJ(Player(10), Player(6), true)
  2657. call SetPlayerAllianceStateVisionBJ(Player(10), Player(7), true)
  2658. call SetPlayerAllianceStateVisionBJ(Player(10), Player(8), true)
  2659. call SetPlayerAllianceStateVisionBJ(Player(10), Player(9), true)
  2660. call SetPlayerTeam(Player(11), 1)
  2661. endfunction
  2662.  
  2663. //Calls:
  2664. // on8Sg_AMH7
  2665. // MB
  2666. //Functions as argument:
  2667. // NA
  2668. // GI
  2669. // IA
  2670. // LH
  2671. // NB
  2672. // JB
  2673. // HC
  2674. // KC
  2675. // MC
  2676. // PC
  2677. // TC
  2678. // UC
  2679. // YC
  2680. // ZC
  2681. // RD
  2682. // ND
  2683. // FD
  2684. // JD
  2685. // PD
  2686. // QD
  2687. // TD
  2688. // WD
  2689. // YD
  2690. // VF
  2691. // EF
  2692. // OF
  2693. // JF
  2694. // LF
  2695. // PF
  2696. // SF
  2697. // UF
  2698. // YF
  2699. // VG
  2700. // XG
  2701. // OG
  2702. // IG
  2703. // NG
  2704. // CG
  2705. // FG
  2706. // HG
  2707. // KG
  2708. // MG
  2709. // PG
  2710. // SG
  2711. // UG
  2712. // VH
  2713. // XH
  2714. // RH
  2715. // NH
  2716. // GH
  2717. // JH
  2718. // passW
  2719. // Mr7Yes
  2720. // imbA
  2721. function main2 takes nothing returns nothing
  2722. local weathereffect locWeathereffect_1
  2723. local integer locInteger_1
  2724. local integer locInteger_2
  2725. local integer locInteger_3
  2726. local version locVersion_1
  2727. local integer locInteger_4
  2728.  
  2729. call on8Sg_AMH7()
  2730. call SetCameraBounds(-3328. + GetCameraMargin(CAMERA_MARGIN_LEFT), -3584. + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 27904. - GetCameraMargin(CAMERA_MARGIN_RIGHT), 27648. - GetCameraMargin(CAMERA_MARGIN_TOP), -3328. + GetCameraMargin(CAMERA_MARGIN_LEFT), 27648. - GetCameraMargin(CAMERA_MARGIN_TOP), 27904. - GetCameraMargin(CAMERA_MARGIN_RIGHT), -3584. + GetCameraMargin(CAMERA_MARGIN_BOTTOM))
  2731. call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
  2732. set locWeathereffect_1 = AddWeatherEffect(Rect(-4096., -4096., 28672., 28672.), 'RLlr')
  2733. call EnableWeatherEffect(locWeathereffect_1, true)
  2734. call NewSoundEnvironment("Default")
  2735. call SetAmbientDaySound("LordaeronWinterDay")
  2736. call SetAmbientNightSound("LordaeronWinterNight")
  2737. call SetMapMusic("Music", true, 0)
  2738. set sound_1 = CreateSound("Units\\Creeps\\ForestTroll\\ForestTrollPissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2739. call SetSoundParamsFromLabel(sound_1, "ForestTrollPissed")
  2740. call SetSoundDuration(sound_1, 3039)
  2741. call SetSoundChannel(sound_1, 0)
  2742. set sound_2 = CreateSound("Units\\Creeps\\IceTroll\\IceTrollPissed2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2743. call SetSoundParamsFromLabel(sound_2, "IceTrollPissed")
  2744. call SetSoundDuration(sound_2, 2243)
  2745. call SetSoundChannel(sound_2, 0)
  2746. set sound_3 = CreateSound("Units\\Creeps\\IceTroll\\IceTrollPissed4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2747. call SetSoundParamsFromLabel(sound_3, "IceTrollPissed")
  2748. call SetSoundDuration(sound_3, 1293)
  2749. call SetSoundChannel(sound_3, 0)
  2750. set sound_4 = CreateSound("Units\\Human\\HeroMountainKing\\HeroMountainKingPissed7.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2751. call SetSoundParamsFromLabel(sound_4, "HeroMountainKingPissed")
  2752. call SetSoundDuration(sound_4, 1916)
  2753. call SetSoundChannel(sound_4, 0)
  2754. set sound_5 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterPissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2755. call SetSoundParamsFromLabel(sound_5, "HeroShadowHunterPissed")
  2756. call SetSoundDuration(sound_5, 2351)
  2757. call SetSoundChannel(sound_5, 0)
  2758. set sound_6 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterPissed4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2759. call SetSoundParamsFromLabel(sound_6, "HeroShadowHunterPissed")
  2760. call SetSoundDuration(sound_6, 3318)
  2761. call SetSoundChannel(sound_6, 0)
  2762. set sound_7 = CreateSound("Units\\Creeps\\Ogre\\OgreReady1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2763. call SetSoundParamsFromLabel(sound_7, "OgreReady")
  2764. call SetSoundDuration(sound_7, 2134)
  2765. call SetSoundChannel(sound_7, 0)
  2766. set sound_8 = CreateSound("Units\\Critters\\BloodElfPeasant\\BloodElfEngineerPissed6.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2767. call SetSoundParamsFromLabel(sound_8, "BloodElfEngineerPissed")
  2768. call SetSoundDuration(sound_8, 3474)
  2769. call SetSoundChannel(sound_8, 0)
  2770. set sound_9 = CreateSound("Units\\Critters\\BloodElfPeasant\\BloodElfEngineerYesAttack1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2771. call SetSoundParamsFromLabel(sound_9, "BloodElfEngineerYesAttack")
  2772. call SetSoundDuration(sound_9, 2377)
  2773. call SetSoundChannel(sound_9, 0)
  2774. set sound_10 = CreateSound("Units\\Human\\Peasant\\PeasantYesAttack4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2775. call SetSoundParamsFromLabel(sound_10, "PeasantYesAttack")
  2776. call SetSoundDuration(sound_10, 1921)
  2777. call SetSoundChannel(sound_10, 0)
  2778. set sound_11 = CreateSound("Units\\Orc\\HeadHunter\\HeadHunterPissed2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2779. call SetSoundParamsFromLabel(sound_11, "HeadHunterPissed")
  2780. call SetSoundDuration(sound_11, 3005)
  2781. call SetSoundChannel(sound_11, 0)
  2782. set sound_12 = CreateSound("Units\\Orc\\WitchDoctor\\WitchDoctorPissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2783. call SetSoundParamsFromLabel(sound_12, "WitchDoctorPissed")
  2784. call SetSoundDuration(sound_12, 1345)
  2785. call SetSoundChannel(sound_12, 0)
  2786. set sound_13 = CreateSound("Units\\Orc\\WitchDoctor\\WitchDoctorPissed6.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2787. call SetSoundParamsFromLabel(sound_13, "WitchDoctorPissed")
  2788. call SetSoundDuration(sound_13, 3006)
  2789. call SetSoundChannel(sound_13, 0)
  2790. set sound_14 = CreateSound("Units\\Orc\\HeadHunter\\HeadHunterYesAttack2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2791. call SetSoundParamsFromLabel(sound_14, "HeadHunterYesAttack")
  2792. call SetSoundDuration(sound_14, 1867)
  2793. call SetSoundChannel(sound_14, 0)
  2794. set sound_15 = CreateSound("Units\\Orc\\HeadHunter\\HeadHunterYes4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2795. call SetSoundParamsFromLabel(sound_15, "HeadHunterYes")
  2796. call SetSoundDuration(sound_15, 2186)
  2797. call SetSoundChannel(sound_15, 0)
  2798. set sound_16 = CreateSound("Units\\Human\\Muradin\\MuradinPissed5.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2799. call SetSoundParamsFromLabel(sound_16, "MuradinPissed")
  2800. call SetSoundDuration(sound_16, 1979)
  2801. call SetSoundChannel(sound_16, 0)
  2802. set sound_17 = CreateSound("Units\\Creeps\\IceTroll\\IceTrollPissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2803. call SetSoundParamsFromLabel(sound_17, "IceTrollPissed")
  2804. call SetSoundDuration(sound_17, 2624)
  2805. call SetSoundChannel(sound_17, 0)
  2806. set sound_18 = CreateSound("Units\\Critters\\BloodElfPeasant\\BloodElfEngineerPissed4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2807. call SetSoundParamsFromLabel(sound_18, "BloodElfEngineerPissed")
  2808. call SetSoundDuration(sound_18, 6687)
  2809. call SetSoundChannel(sound_18, 0)
  2810. set sound_19 = CreateSound("Units\\Orc\\HeadHunter\\HeadHunterPissed5.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2811. call SetSoundParamsFromLabel(sound_19, "HeadHunterPissed")
  2812. call SetSoundDuration(sound_19, 2450)
  2813. call SetSoundChannel(sound_19, 0)
  2814. set sound_20 = CreateSound("Units\\Orc\\HeadHunter\\HeadHunterWarcry1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2815. call SetSoundParamsFromLabel(sound_20, "HeadHunterWarcry")
  2816. call SetSoundDuration(sound_20, 1369)
  2817. call SetSoundChannel(sound_20, 0)
  2818. set sound_21 = CreateSound("Units\\Creeps\\IceTroll\\IceTrollYesAttack2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2819. call SetSoundParamsFromLabel(sound_21, "IceTrollYesAttack")
  2820. call SetSoundDuration(sound_21, 1718)
  2821. call SetSoundChannel(sound_21, 0)
  2822. set sound_22 = CreateSound("Units\\Creeps\\ForestTroll\\ForestTrollReady1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2823. call SetSoundParamsFromLabel(sound_22, "ForestTrollReady")
  2824. call SetSoundDuration(sound_22, 2173)
  2825. call SetSoundChannel(sound_22, 0)
  2826. set sound_23 = CreateSound("Units\\Undead\\Acolyte\\AcolytePissed2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2827. call SetSoundParamsFromLabel(sound_23, "AcolytePissed")
  2828. call SetSoundDuration(sound_23, 2118)
  2829. call SetSoundChannel(sound_23, 0)
  2830. set sound_24 = CreateSound("Units\\Human\\Peasant\\PeasantWarcry1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2831. call SetSoundParamsFromLabel(sound_24, "PeasantWarcry")
  2832. call SetSoundDuration(sound_24, 1304)
  2833. call SetSoundChannel(sound_24, 0)
  2834. set sound_25 = CreateSound("Sound\\Dialogue\\Extra\\MuradinTaunt1.mp3", false, false, false, 10, 10, "HeroAcksEAX")
  2835. call SetSoundParamsFromLabel(sound_25, "MuradinTaunt1")
  2836. call SetSoundDuration(sound_25, 1828)
  2837. set sound_26 = CreateSound("Units\\Human\\HeroArchMage\\HeroArchMagePissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2838. call SetSoundParamsFromLabel(sound_26, "HeroArchMagePissed")
  2839. call SetSoundDuration(sound_26, 2200)
  2840. call SetSoundChannel(sound_26, 0)
  2841. set sound_27 = CreateSound("Units\\Human\\Kael\\KaelPissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2842. call SetSoundParamsFromLabel(sound_27, "KaelPissed")
  2843. call SetSoundDuration(sound_27, 4023)
  2844. call SetSoundChannel(sound_27, 0)
  2845. set sound_28 = CreateSound("Units\\Human\\Kael\\KaelYesAttack3.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2846. call SetSoundParamsFromLabel(sound_28, "KaelYesAttack")
  2847. call SetSoundDuration(sound_28, 1907)
  2848. call SetSoundChannel(sound_28, 0)
  2849. set sound_29 = CreateSound("Units\\Human\\Priest\\PriestPissed3.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2850. call SetSoundParamsFromLabel(sound_29, "PriestPissed")
  2851. call SetSoundDuration(sound_29, 1016)
  2852. call SetSoundChannel(sound_29, 0)
  2853. set sound_30 = CreateSound("Units\\Human\\Priest\\PriestPissed4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2854. call SetSoundParamsFromLabel(sound_30, "PriestPissed")
  2855. call SetSoundDuration(sound_30, 2842)
  2856. call SetSoundChannel(sound_30, 0)
  2857. set sound_31 = CreateSound("Units\\Human\\Priest\\PriestPissed6.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2858. call SetSoundParamsFromLabel(sound_31, "PriestPissed")
  2859. call SetSoundDuration(sound_31, 10844)
  2860. call SetSoundChannel(sound_31, 0)
  2861. set sound_32 = CreateSound("Units\\Human\\TheCaptain\\CaptainPissed1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2862. call SetSoundParamsFromLabel(sound_32, "CaptainPissed")
  2863. call SetSoundDuration(sound_32, 2842)
  2864. call SetSoundChannel(sound_32, 0)
  2865. set sound_33 = CreateSound("Units\\Human\\Uther\\UtherPissed2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2866. call SetSoundParamsFromLabel(sound_33, "UtherPissed")
  2867. call SetSoundDuration(sound_33, 2349)
  2868. call SetSoundChannel(sound_33, 0)
  2869. set sound_34 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterWhat1.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2870. call SetSoundParamsFromLabel(sound_34, "HeroShadowHunterWhat")
  2871. call SetSoundDuration(sound_34, 2038)
  2872. call SetSoundChannel(sound_34, 0)
  2873. set sound_35 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterYes5.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2874. call SetSoundParamsFromLabel(sound_35, "HeroShadowHunterYes")
  2875. call SetSoundDuration(sound_35, 2090)
  2876. call SetSoundChannel(sound_35, 0)
  2877. set sound_36 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterYes6.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2878. call SetSoundParamsFromLabel(sound_36, "HeroShadowHunterYes")
  2879. call SetSoundDuration(sound_36, 2377)
  2880. call SetSoundChannel(sound_36, 0)
  2881. set sound_37 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterYesAttack2.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2882. call SetSoundParamsFromLabel(sound_37, "HeroShadowHunterYesAttack")
  2883. call SetSoundDuration(sound_37, 1857)
  2884. call SetSoundChannel(sound_37, 0)
  2885. set sound_38 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterYesAttack3.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2886. call SetSoundParamsFromLabel(sound_38, "HeroShadowHunterYesAttack")
  2887. call SetSoundDuration(sound_38, 2038)
  2888. call SetSoundChannel(sound_38, 0)
  2889. set sound_39 = CreateSound("Units\\Orc\\HeroShadowHunter\\ShadowHunterYesAttack4.wav", false, false, true, 10, 10, "HeroAcksEAX")
  2890. call SetSoundParamsFromLabel(sound_39, "HeroShadowHunterYesAttack")
  2891. call SetSoundDuration(sound_39, 1149)
  2892. call SetSoundChannel(sound_39, 0)
  2893. call MB()
  2894. set camerasetup_1 = CreateCameraSetup()
  2895. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_ZOFFSET, .0, .0)
  2896. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_ROTATION, 126.1, .0)
  2897. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_ANGLE_OF_ATTACK, 327.5, .0)
  2898. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_TARGET_DISTANCE, 1862.8, .0)
  2899. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_ROLL, .0, .0)
  2900. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2901. call CameraSetupSetField(camerasetup_1, CAMERA_FIELD_FARZ, 5500., .0)
  2902. call CameraSetupSetDestPosition(camerasetup_1, 4519.1, 2646.5, .0)
  2903. set camerasetup_2 = CreateCameraSetup()
  2904. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_ZOFFSET, .0, .0)
  2905. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_ROTATION, 134.5, .0)
  2906. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_ANGLE_OF_ATTACK, 325.1, .0)
  2907. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_TARGET_DISTANCE, 2049., .0)
  2908. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_ROLL, .0, .0)
  2909. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2910. call CameraSetupSetField(camerasetup_2, CAMERA_FIELD_FARZ, 5500., .0)
  2911. call CameraSetupSetDestPosition(camerasetup_2, 17807.6, 5839.2, .0)
  2912. set camerasetup_3 = CreateCameraSetup()
  2913. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_ZOFFSET, .0, .0)
  2914. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_ROTATION, 54.7, .0)
  2915. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_ANGLE_OF_ATTACK, 310.8, .0)
  2916. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_TARGET_DISTANCE, 1442.1, .0)
  2917. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_ROLL, .0, .0)
  2918. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2919. call CameraSetupSetField(camerasetup_3, CAMERA_FIELD_FARZ, 10000., .0)
  2920. call CameraSetupSetDestPosition(camerasetup_3, 14217.4, -1670.6, .0)
  2921. set camerasetup_4 = CreateCameraSetup()
  2922. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_ZOFFSET, .0, .0)
  2923. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_ROTATION, 47., .0)
  2924. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_ANGLE_OF_ATTACK, 327.3, .0)
  2925. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_TARGET_DISTANCE, 1744.9, .0)
  2926. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_ROLL, .0, .0)
  2927. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2928. call CameraSetupSetField(camerasetup_4, CAMERA_FIELD_FARZ, 10000., .0)
  2929. call CameraSetupSetDestPosition(camerasetup_4, 25189.6, -2037.5, .0)
  2930. set camerasetup_5 = CreateCameraSetup()
  2931. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_ZOFFSET, .0, .0)
  2932. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_ROTATION, 66., .0)
  2933. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_ANGLE_OF_ATTACK, 329.2, .0)
  2934. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_TARGET_DISTANCE, 1442.1, .0)
  2935. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_ROLL, .0, .0)
  2936. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2937. call CameraSetupSetField(camerasetup_5, CAMERA_FIELD_FARZ, 10000., .0)
  2938. call CameraSetupSetDestPosition(camerasetup_5, 25476.5, 5665.6, .0)
  2939. set camerasetup_6 = CreateCameraSetup()
  2940. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_ZOFFSET, .0, .0)
  2941. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_ROTATION, 115.3, .0)
  2942. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_ANGLE_OF_ATTACK, 329.7, .0)
  2943. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_TARGET_DISTANCE, 2415.8, .0)
  2944. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_ROLL, .0, .0)
  2945. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2946. call CameraSetupSetField(camerasetup_6, CAMERA_FIELD_FARZ, 10000., .0)
  2947. call CameraSetupSetDestPosition(camerasetup_6, 20827.5, 17520.3, .0)
  2948. set camerasetup_7 = CreateCameraSetup()
  2949. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_ZOFFSET, .0, .0)
  2950. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_ROTATION, 68.9, .0)
  2951. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_ANGLE_OF_ATTACK, 308.3, .0)
  2952. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_TARGET_DISTANCE, 1650., .0)
  2953. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_ROLL, .0, .0)
  2954. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2955. call CameraSetupSetField(camerasetup_7, CAMERA_FIELD_FARZ, 10000., .0)
  2956. call CameraSetupSetDestPosition(camerasetup_7, 7202.5, 15381., .0)
  2957. set camerasetup_8 = CreateCameraSetup()
  2958. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_ZOFFSET, .0, .0)
  2959. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_ROTATION, 123.9, .0)
  2960. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_ANGLE_OF_ATTACK, 313.1, .0)
  2961. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_TARGET_DISTANCE, 2196.1, .0)
  2962. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_ROLL, .0, .0)
  2963. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_FIELD_OF_VIEW, 70., .0)
  2964. call CameraSetupSetField(camerasetup_8, CAMERA_FIELD_FARZ, 8052.5, .0)
  2965. call CameraSetupSetDestPosition(camerasetup_8, 7310.7, 24306., .0)
  2966. call ConfigureNeutralVictim()
  2967. set boolexpr_1 = Filter(function NA)
  2968. set filterIssueHauntOrderAtLocBJ = Filter(function IssueHauntOrderAtLocBJFilter)
  2969. set filterEnumDestructablesInCircleBJ = Filter(function GI)
  2970. set filterGetUnitsInRectOfPlayer = Filter(function GetUnitsInRectOfPlayerFilter)
  2971. set filterGetUnitsOfTypeIdAll = Filter(function GetUnitsOfTypeIdAllFilter)
  2972. set filterGetUnitsOfPlayerAndTypeId = Filter(function GetUnitsOfPlayerAndTypeIdFilter)
  2973. set filterMeleeTrainedUnitIsHeroBJ = Filter(function MeleeTrainedUnitIsHeroBJFilter)
  2974. set filterLivingPlayerUnitsOfTypeId = Filter(function LivingPlayerUnitsOfTypeIdFilter)
  2975. set locInteger_2 = 0
  2976. loop
  2977. exitwhen locInteger_2 == 16
  2978. set bj_FORCE_PLAYER[locInteger_2] = CreateForce()
  2979. call ForceAddPlayer(bj_FORCE_PLAYER[locInteger_2], Player(locInteger_2))
  2980. set locInteger_2 = locInteger_2 + 1
  2981. endloop
  2982. set bj_FORCE_ALL_PLAYERS = CreateForce()
  2983. call ForceEnumPlayers(bj_FORCE_ALL_PLAYERS, null)
  2984. set bj_cineModePriorSpeed = GetGameSpeed()
  2985. set bj_cineModePriorFogSetting = IsFogEnabled()
  2986. set bj_cineModePriorMaskSetting = IsFogMaskEnabled()
  2987. set locInteger_2 = 0
  2988. loop
  2989. exitwhen locInteger_2 >= bj_MAX_QUEUED_TRIGGERS
  2990. set bj_queuedExecTriggers[locInteger_2] = null
  2991. set bj_queuedExecUseConds[locInteger_2] = false
  2992. set locInteger_2 = locInteger_2 + 1
  2993. endloop
  2994. set bj_isSinglePlayer = false
  2995. set locInteger_3 = 0
  2996. set locInteger_2 = 0
  2997. loop
  2998. exitwhen locInteger_2 >= 12
  2999. if (GetPlayerController(Player(locInteger_2)) == MAP_CONTROL_USER and GetPlayerSlotState(Player(locInteger_2)) == PLAYER_SLOT_STATE_PLAYING) then
  3000. set locInteger_3 = locInteger_3 + 1
  3001. endif
  3002. set locInteger_2 = locInteger_2 + 1
  3003. endloop
  3004. set bj_isSinglePlayer = (locInteger_3 == 1)
  3005. set bj_rescueSound = CreateSoundFromLabel("Rescue", false, false, false, 10000, 10000)
  3006. set bj_questDiscoveredSound = CreateSoundFromLabel("QuestNew", false, false, false, 10000, 10000)
  3007. set bj_questUpdatedSound = CreateSoundFromLabel("QuestUpdate", false, false, false, 10000, 10000)
  3008. set bj_questCompletedSound = CreateSoundFromLabel("QuestCompleted", false, false, false, 10000, 10000)
  3009. set bj_questFailedSound = CreateSoundFromLabel("QuestFailed", false, false, false, 10000, 10000)
  3010. set bj_questHintSound = CreateSoundFromLabel("Hint", false, false, false, 10000, 10000)
  3011. set bj_questSecretSound = CreateSoundFromLabel("SecretFound", false, false, false, 10000, 10000)
  3012. set bj_questItemAcquiredSound = CreateSoundFromLabel("ItemReward", false, false, false, 10000, 10000)
  3013. set bj_questWarningSound = CreateSoundFromLabel("Warning", false, false, false, 10000, 10000)
  3014. set bj_victoryDialogSound = CreateSoundFromLabel("QuestCompleted", false, false, false, 10000, 10000)
  3015. set bj_defeatDialogSound = CreateSoundFromLabel("QuestFailed", false, false, false, 10000, 10000)
  3016. call DelayedSuspendDecayCreate()
  3017. set locVersion_1 = VersionGet()
  3018. if (locVersion_1 == VERSION_REIGN_OF_CHAOS) then
  3019. set bj_MELEE_MAX_TWINKED_HEROES = bj_MELEE_MAX_TWINKED_HEROES_V0
  3020. else
  3021. set bj_MELEE_MAX_TWINKED_HEROES = bj_MELEE_MAX_TWINKED_HEROES_V1
  3022. endif
  3023. call InitQueuedTriggers()
  3024. call InitRescuableBehaviorBJ()
  3025. call InitDNCSounds()
  3026. call InitMapRects()
  3027. call InitSummonableCaps()
  3028. set locInteger_4 = 0
  3029. loop
  3030. set bj_stockAllowedPermanent[locInteger_4] = false
  3031. set bj_stockAllowedCharged[locInteger_4] = false
  3032. set bj_stockAllowedArtifact[locInteger_4] = false
  3033. set locInteger_4 = locInteger_4 + 1
  3034. exitwhen locInteger_4 > 10
  3035. endloop
  3036. call SetAllItemTypeSlots(11)
  3037. call SetAllUnitTypeSlots(11)
  3038. set bj_stockUpdateTimer = CreateTimer()
  3039. call TimerStart(bj_stockUpdateTimer, bj_STOCK_RESTOCK_INITIAL_DELAY, false, function IA)
  3040. set bj_stockItemPurchased = CreateTrigger()
  3041. call TriggerRegisterPlayerUnitEvent(bj_stockItemPurchased, Player(15), EVENT_PLAYER_UNIT_SELL_ITEM, null)
  3042. call TriggerAddAction(bj_stockItemPurchased, function RemovePurchasedItem)
  3043. call DetectGameStarted()
  3044. call ExecuteFunc("LH")
  3045. call ExecuteFunc("NB")
  3046. call ExecuteFunc("JB")
  3047. set locInteger_1 = 0
  3048. set dialog_3 = DialogCreate()
  3049. set force_1 = CreateForce()
  3050. set force_2 = CreateForce()
  3051. set timer_1 = CreateTimer()
  3052. set timer_2 = CreateTimer()
  3053. set force_3 = CreateForce()
  3054. set dialog_4 = DialogCreate()
  3055. set force_4 = CreateForce()
  3056. set dialog_5 = DialogCreate()
  3057. set integer_4 = 10
  3058. set timer_3 = CreateTimer()
  3059. set timer_4 = CreateTimer()
  3060. set dialog_6 = DialogCreate()
  3061. set timer_5 = CreateTimer()
  3062. set locInteger_1 = 0
  3063. loop
  3064. exitwhen (locInteger_1 > 11)
  3065. set timerArr_1[locInteger_1] = CreateTimer()
  3066. set locInteger_1 = locInteger_1 + 1
  3067. endloop
  3068. set trigger_11 = CreateTrigger()
  3069. call TriggerRegisterTimerEventSingle(trigger_11, 1.)
  3070. call TriggerAddAction(trigger_11, function HC)
  3071. set trigger_12 = CreateTrigger()
  3072. call TriggerAddAction(trigger_12, function KC)
  3073. set trigger_13 = CreateTrigger()
  3074. call TriggerRegisterAnyUnitEventBJ(trigger_13, EVENT_PLAYER_UNIT_SPELL_CAST)
  3075. call TriggerAddCondition(trigger_13, Condition(function MC))
  3076. call TriggerAddAction(trigger_13, function PC)
  3077. set trigger_14 = CreateTrigger()
  3078. call TriggerRegisterAnyUnitEventBJ(trigger_14, EVENT_PLAYER_UNIT_SPELL_CAST)
  3079. call TriggerAddCondition(trigger_14, Condition(function TC))
  3080. call TriggerAddAction(trigger_14, function UC)
  3081. set trigger_15 = CreateTrigger()
  3082. call TriggerRegisterDialogEvent(trigger_15, dialog_3)
  3083. call TriggerAddCondition(trigger_15, Condition(function YC))
  3084. call TriggerAddAction(trigger_15, function ZC)
  3085. set trigger_16 = CreateTrigger()
  3086. call TriggerRegisterTimerExpireEvent(trigger_16, timer_1)
  3087. call TriggerAddAction(trigger_16, function RD)
  3088. set trigger_17 = CreateTrigger()
  3089. call TriggerRegisterTimerExpireEvent(trigger_17, timer_2)
  3090. call TriggerAddAction(trigger_17, function ND)
  3091. set trigger_18 = CreateTrigger()
  3092. call TriggerRegisterPlayerEventLeave(trigger_18, Player(0))
  3093. call TriggerRegisterPlayerEventLeave(trigger_18, Player(1))
  3094. call TriggerRegisterPlayerEventLeave(trigger_18, Player(2))
  3095. call TriggerRegisterPlayerEventLeave(trigger_18, Player(3))
  3096. call TriggerRegisterPlayerEventLeave(trigger_18, Player(4))
  3097. call TriggerRegisterPlayerEventLeave(trigger_18, Player(5))
  3098. call TriggerRegisterPlayerEventLeave(trigger_18, Player(6))
  3099. call TriggerRegisterPlayerEventLeave(trigger_18, Player(7))
  3100. call TriggerRegisterPlayerEventLeave(trigger_18, Player(8))
  3101. call TriggerRegisterPlayerEventLeave(trigger_18, Player(9))
  3102. call TriggerRegisterPlayerEventLeave(trigger_18, Player(10))
  3103. call TriggerAddAction(trigger_18, function FD)
  3104. set trigger_19 = CreateTrigger()
  3105. call TriggerRegisterAnyUnitEventBJ(trigger_19, EVENT_PLAYER_UNIT_DEATH)
  3106. call TriggerAddAction(trigger_19, function JD)
  3107. set trigger_20 = CreateTrigger()
  3108. call TriggerRegisterDialogEvent(trigger_20, dialog_4)
  3109. call TriggerAddCondition(trigger_20, Condition(function PD))
  3110. call TriggerAddAction(trigger_20, function QD)
  3111. set trigger_21 = CreateTrigger()
  3112. call TriggerRegisterEnterRectSimple(trigger_21, GetWorldBounds())
  3113. call TriggerAddAction(trigger_21, function TD)
  3114. set trigger_22 = CreateTrigger()
  3115. call TriggerAddCondition(trigger_22, Condition(function WD))
  3116. call TriggerAddAction(trigger_22, function YD)
  3117. set trigger_23 = CreateTrigger()
  3118. call TriggerRegisterAnyUnitEventBJ(trigger_23, EVENT_PLAYER_UNIT_CONSTRUCT_FINISH)
  3119. call TriggerAddCondition(trigger_23, Condition(function VF))
  3120. call TriggerAddAction(trigger_23, function EF)
  3121. set trigger_24 = CreateTrigger()
  3122. call TriggerRegisterTimerEventPeriodic(trigger_24, 1.)
  3123. call TriggerAddCondition(trigger_24, Condition(function OF))
  3124. call TriggerAddAction(trigger_24, function JF)
  3125. set trigger_25 = CreateTrigger()
  3126. call TriggerRegisterTimerExpireEvent(trigger_25, timer_3)
  3127. call TriggerAddAction(trigger_25, function LF)
  3128. set trigger_26 = CreateTrigger()
  3129. call TriggerRegisterTimerExpireEvent(trigger_26, timer_4)
  3130. call TriggerAddAction(trigger_26, function PF)
  3131. set trigger_27 = CreateTrigger()
  3132. set bj_forLoopAIndex = 0
  3133. loop
  3134. exitwhen bj_forLoopAIndex > 11
  3135. call TriggerRegisterTimerExpireEvent(trigger_27, timerArr_1[bj_forLoopAIndex])
  3136. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3137. endloop
  3138. call TriggerAddAction(trigger_27, function SF)
  3139. set trigger_28 = CreateTrigger()
  3140. call TriggerRegisterAnyUnitEventBJ(trigger_28, EVENT_PLAYER_UNIT_CONSTRUCT_FINISH)
  3141. call TriggerAddCondition(trigger_28, Condition(function UF))
  3142. call TriggerAddAction(trigger_28, function YF)
  3143. set trigger_29 = CreateTrigger()
  3144. call TriggerRegisterAnyUnitEventBJ(trigger_29, EVENT_PLAYER_UNIT_SPELL_CAST)
  3145. call TriggerAddAction(trigger_29, function VG)
  3146. set trigger_30 = CreateTrigger()
  3147. set bj_forLoopAIndex = 0
  3148. loop
  3149. exitwhen bj_forLoopAIndex > 11
  3150. call TriggerRegisterPlayerSelectionEventBJ(trigger_30, Player(bj_forLoopAIndex), true)
  3151. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3152. endloop
  3153. call TriggerAddCondition(trigger_30, Condition(function XG))
  3154. call TriggerAddAction(trigger_30, function OG)
  3155. set trigger_31 = CreateTrigger()
  3156. call TriggerRegisterTimerEventPeriodic(trigger_31, 450.)
  3157. call TriggerRegisterPlayerChatEvent(trigger_31, Player(0), "-pub", true)
  3158. call TriggerRegisterPlayerChatEvent(trigger_31, Player(1), "-pub", true)
  3159. call TriggerRegisterPlayerChatEvent(trigger_31, Player(2), "-pub", true)
  3160. call TriggerRegisterPlayerChatEvent(trigger_31, Player(3), "-pub", true)
  3161. call TriggerRegisterPlayerChatEvent(trigger_31, Player(4), "-pub", true)
  3162. call TriggerRegisterPlayerChatEvent(trigger_31, Player(5), "-pub", true)
  3163. call TriggerRegisterPlayerChatEvent(trigger_31, Player(6), "-pub", true)
  3164. call TriggerRegisterPlayerChatEvent(trigger_31, Player(7), "-pub", true)
  3165. call TriggerRegisterPlayerChatEvent(trigger_31, Player(8), "-pub", true)
  3166. call TriggerRegisterPlayerChatEvent(trigger_31, Player(9), "-pub", true)
  3167. call TriggerRegisterPlayerChatEvent(trigger_31, Player(10), "-pub", true)
  3168. call TriggerAddAction(trigger_31, function IG)
  3169. set trigger_32 = CreateTrigger()
  3170. call TriggerRegisterTimerEvent(trigger_32, .01, true)
  3171. call TriggerAddAction(trigger_32, function NG)
  3172. call DisableTrigger(trigger_32)
  3173. set trigger_33 = CreateTrigger()
  3174. call TriggerAddAction(trigger_33, function CG)
  3175. call DisableTrigger(trigger_33)
  3176. set trigger_34 = CreateTrigger()
  3177. call TriggerAddAction(trigger_34, function FG)
  3178. call DisableTrigger(trigger_34)
  3179. set trigger_35 = CreateTrigger()
  3180. call TriggerAddAction(trigger_35, function HG)
  3181. call DisableTrigger(trigger_35)
  3182. set trigger_36 = CreateTrigger()
  3183. call TriggerAddAction(trigger_36, function KG)
  3184. call DisableTrigger(trigger_36)
  3185. set trigger_37 = CreateTrigger()
  3186. call TriggerRegisterDialogEvent(trigger_37, dialog_6)
  3187. call TriggerAddCondition(trigger_37, Condition(function MG))
  3188. call TriggerAddAction(trigger_37, function PG)
  3189. set trigger_38 = CreateTrigger()
  3190. call TriggerRegisterTimerExpireEvent(trigger_38, timer_5)
  3191. call TriggerAddAction(trigger_38, function SG)
  3192. set trigger_39 = CreateTrigger()
  3193. set bj_forLoopAIndex = 0
  3194. loop
  3195. exitwhen bj_forLoopAIndex > 11
  3196. call TriggerRegisterPlayerChatEvent(trigger_39, Player(bj_forLoopAIndex), "-stuck", true)
  3197. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3198. endloop
  3199. call TriggerAddAction(trigger_39, function UG)
  3200. set trigger_40 = CreateTrigger()
  3201. set bj_forLoopAIndex = 0
  3202. loop
  3203. exitwhen bj_forLoopAIndex > 11
  3204. call TriggerRegisterPlayerChatEvent(trigger_40, Player(bj_forLoopAIndex), "-afk", false)
  3205. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3206. endloop
  3207. call TriggerAddAction(trigger_40, function VH)
  3208. set dialog_7 = DialogCreate()
  3209. call DialogAddButton(dialog_7, "I'm back!", 0)
  3210. set trigger_41 = CreateTrigger()
  3211. call TriggerRegisterDialogEvent(trigger_41, dialog_7)
  3212. call TriggerAddAction(trigger_41, function XH)
  3213. set trigger_42 = CreateTrigger()
  3214. set bj_forLoopAIndex = 0
  3215. loop
  3216. exitwhen bj_forLoopAIndex > 11
  3217. call TriggerRegisterPlayerChatEvent(trigger_42, Player(bj_forLoopAIndex), "-givegold ", false)
  3218. call TriggerRegisterPlayerChatEvent(trigger_42, Player(bj_forLoopAIndex), "-gg ", false)
  3219. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3220. endloop
  3221. call TriggerAddAction(trigger_42, function RH)
  3222. set trigger_43 = CreateTrigger()
  3223. set bj_forLoopAIndex = 0
  3224. loop
  3225. exitwhen bj_forLoopAIndex > 11
  3226. call TriggerRegisterPlayerChatEvent(trigger_43, Player(bj_forLoopAIndex), "-givelumber ", false)
  3227. call TriggerRegisterPlayerChatEvent(trigger_43, Player(bj_forLoopAIndex), "-gl ", false)
  3228. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3229. endloop
  3230. call TriggerAddAction(trigger_43, function NH)
  3231. set trigger_44 = CreateTrigger()
  3232. set bj_forLoopAIndex = 0
  3233. loop
  3234. exitwhen bj_forLoopAIndex > 11
  3235. call TriggerRegisterPlayerChatEvent(trigger_44, Player(bj_forLoopAIndex), "-giveunits ", false)
  3236. call TriggerRegisterPlayerChatEvent(trigger_44, Player(bj_forLoopAIndex), "-gu ", false)
  3237. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3238. endloop
  3239. call TriggerAddAction(trigger_44, function GH)
  3240. set trigger_45 = CreateTrigger()
  3241. set bj_forLoopAIndex = 0
  3242. loop
  3243. exitwhen bj_forLoopAIndex > 11
  3244. call TriggerRegisterPlayerChatEvent(trigger_45, Player(bj_forLoopAIndex), "-clear", true)
  3245. set bj_forLoopAIndex = bj_forLoopAIndex + 1
  3246. endloop
  3247. call TriggerAddAction(trigger_45, function JH)
  3248. call ConditionalTriggerExecute(trigger_12)
  3249. call TriggerRegisterPlayerChatEvent(trigger_1, Player(0), " ", false)
  3250. call TriggerRegisterPlayerChatEvent(trigger_1, Player(1), " ", false)
  3251. call TriggerRegisterPlayerChatEvent(trigger_1, Player(2), " ", false)
  3252. call TriggerRegisterPlayerChatEvent(trigger_1, Player(3), " ", false)
  3253. call TriggerRegisterPlayerChatEvent(trigger_1, Player(4), " ", false)
  3254. call TriggerRegisterPlayerChatEvent(trigger_1, Player(5), " ", false)
  3255. call TriggerRegisterPlayerChatEvent(trigger_1, Player(6), " ", false)
  3256. call TriggerRegisterPlayerChatEvent(trigger_1, Player(7), " ", false)
  3257. call TriggerRegisterPlayerChatEvent(trigger_1, Player(8), " ", false)
  3258. call TriggerRegisterPlayerChatEvent(trigger_1, Player(9), " ", false)
  3259. call TriggerRegisterPlayerChatEvent(trigger_1, Player(10), " ", false)
  3260. call TriggerRegisterPlayerChatEvent(trigger_1, Player(11), " ", false)
  3261. call TriggerAddCondition(trigger_1, Condition(function passW))
  3262. call TriggerAddCondition(trigger_2, Condition(function Mr7Yes))
  3263. call TriggerAddAction(trigger_2, function imbA)
  3264. endfunction
  3265.  
  3266. function InitTrig_Script takes nothing returns nothing
  3267. call main2()
  3268. endfunction
  3269.  
  3270. //Calls:
  3271. // InitCustomTeams
  3272. function config2 takes nothing returns nothing
  3273. call SetMapName("TRIGSTR_001")
  3274. call SetMapDescription("TRIGSTR_003")
  3275. call SetPlayers(12)
  3276. call SetTeams(12)
  3277. call SetGamePlacement(MAP_PLACEMENT_TEAMS_TOGETHER)
  3278. call DefineStartLocation(0, 4096., 2432.)
  3279. call DefineStartLocation(1, 4288., 2432.)
  3280. call DefineStartLocation(2, 3904., 2432.)
  3281. call DefineStartLocation(3, 4480., 2432.)
  3282. call DefineStartLocation(4, 4096., 3008.)
  3283. call DefineStartLocation(5, 4288., 3008.)
  3284. call DefineStartLocation(6, 3904., 3008.)
  3285. call DefineStartLocation(7, 4480., 3008.)
  3286. call DefineStartLocation(8, 3904., 2624.)
  3287. call DefineStartLocation(9, 3904., 2816.)
  3288. call DefineStartLocation(10, 4480., 2624.)
  3289. call DefineStartLocation(11, 4480., 2816.)
  3290. call SetPlayerStartLocation(Player(0), 0)
  3291. call SetPlayerColor(Player(0), ConvertPlayerColor(0))
  3292. call SetPlayerRacePreference(Player(0), RACE_PREF_NIGHTELF)
  3293. call SetPlayerRaceSelectable(Player(0), false)
  3294. call SetPlayerController(Player(0), MAP_CONTROL_USER)
  3295. call SetPlayerStartLocation(Player(1), 1)
  3296. call SetPlayerColor(Player(1), ConvertPlayerColor(1))
  3297. call SetPlayerRacePreference(Player(1), RACE_PREF_NIGHTELF)
  3298. call SetPlayerRaceSelectable(Player(1), false)
  3299. call SetPlayerController(Player(1), MAP_CONTROL_USER)
  3300. call SetPlayerStartLocation(Player(2), 2)
  3301. call SetPlayerColor(Player(2), ConvertPlayerColor(2))
  3302. call SetPlayerRacePreference(Player(2), RACE_PREF_NIGHTELF)
  3303. call SetPlayerRaceSelectable(Player(2), false)
  3304. call SetPlayerController(Player(2), MAP_CONTROL_USER)
  3305. call SetPlayerStartLocation(Player(3), 3)
  3306. call SetPlayerColor(Player(3), ConvertPlayerColor(3))
  3307. call SetPlayerRacePreference(Player(3), RACE_PREF_NIGHTELF)
  3308. call SetPlayerRaceSelectable(Player(3), false)
  3309. call SetPlayerController(Player(3), MAP_CONTROL_USER)
  3310. call SetPlayerStartLocation(Player(4), 4)
  3311. call SetPlayerColor(Player(4), ConvertPlayerColor(4))
  3312. call SetPlayerRacePreference(Player(4), RACE_PREF_NIGHTELF)
  3313. call SetPlayerRaceSelectable(Player(4), false)
  3314. call SetPlayerController(Player(4), MAP_CONTROL_USER)
  3315. call SetPlayerStartLocation(Player(5), 5)
  3316. call SetPlayerColor(Player(5), ConvertPlayerColor(5))
  3317. call SetPlayerRacePreference(Player(5), RACE_PREF_NIGHTELF)
  3318. call SetPlayerRaceSelectable(Player(5), false)
  3319. call SetPlayerController(Player(5), MAP_CONTROL_USER)
  3320. call SetPlayerStartLocation(Player(6), 6)
  3321. call SetPlayerColor(Player(6), ConvertPlayerColor(6))
  3322. call SetPlayerRacePreference(Player(6), RACE_PREF_NIGHTELF)
  3323. call SetPlayerRaceSelectable(Player(6), false)
  3324. call SetPlayerController(Player(6), MAP_CONTROL_USER)
  3325. call SetPlayerStartLocation(Player(7), 7)
  3326. call SetPlayerColor(Player(7), ConvertPlayerColor(7))
  3327. call SetPlayerRacePreference(Player(7), RACE_PREF_NIGHTELF)
  3328. call SetPlayerRaceSelectable(Player(7), false)
  3329. call SetPlayerController(Player(7), MAP_CONTROL_USER)
  3330. call SetPlayerStartLocation(Player(8), 8)
  3331. call SetPlayerColor(Player(8), ConvertPlayerColor(8))
  3332. call SetPlayerRacePreference(Player(8), RACE_PREF_NIGHTELF)
  3333. call SetPlayerRaceSelectable(Player(8), false)
  3334. call SetPlayerController(Player(8), MAP_CONTROL_USER)
  3335. call SetPlayerStartLocation(Player(9), 9)
  3336. call SetPlayerColor(Player(9), ConvertPlayerColor(9))
  3337. call SetPlayerRacePreference(Player(9), RACE_PREF_NIGHTELF)
  3338. call SetPlayerRaceSelectable(Player(9), false)
  3339. call SetPlayerController(Player(9), MAP_CONTROL_USER)
  3340. call SetPlayerStartLocation(Player(10), 10)
  3341. call SetPlayerColor(Player(10), ConvertPlayerColor(10))
  3342. call SetPlayerRacePreference(Player(10), RACE_PREF_NIGHTELF)
  3343. call SetPlayerRaceSelectable(Player(10), false)
  3344. call SetPlayerController(Player(10), MAP_CONTROL_USER)
  3345. call SetPlayerStartLocation(Player(11), 11)
  3346. call SetPlayerColor(Player(11), ConvertPlayerColor(11))
  3347. call SetPlayerRacePreference(Player(11), RACE_PREF_ORC)
  3348. call SetPlayerRaceSelectable(Player(11), false)
  3349. call SetPlayerController(Player(11), MAP_CONTROL_COMPUTER)
  3350. call InitCustomTeams()
  3351. call SetStartLocPrioCount(0, 3)
  3352. call SetStartLocPrio(0, 0, 1, MAP_LOC_PRIO_HIGH)
  3353. call SetStartLocPrio(0, 1, 2, MAP_LOC_PRIO_HIGH)
  3354. call SetStartLocPrio(0, 2, 8, MAP_LOC_PRIO_LOW)
  3355. call SetStartLocPrioCount(1, 3)
  3356. call SetStartLocPrio(1, 0, 0, MAP_LOC_PRIO_HIGH)
  3357. call SetStartLocPrio(1, 1, 3, MAP_LOC_PRIO_HIGH)
  3358. call SetStartLocPrio(1, 2, 10, MAP_LOC_PRIO_LOW)
  3359. call SetStartLocPrioCount(2, 2)
  3360. call SetStartLocPrio(2, 0, 0, MAP_LOC_PRIO_HIGH)
  3361. call SetStartLocPrio(2, 1, 8, MAP_LOC_PRIO_HIGH)
  3362. call SetStartLocPrioCount(3, 2)
  3363. call SetStartLocPrio(3, 0, 1, MAP_LOC_PRIO_HIGH)
  3364. call SetStartLocPrio(3, 1, 10, MAP_LOC_PRIO_HIGH)
  3365. call SetStartLocPrioCount(4, 3)
  3366. call SetStartLocPrio(4, 0, 5, MAP_LOC_PRIO_HIGH)
  3367. call SetStartLocPrio(4, 1, 6, MAP_LOC_PRIO_HIGH)
  3368. call SetStartLocPrio(4, 2, 9, MAP_LOC_PRIO_LOW)
  3369. call SetStartLocPrioCount(5, 2)
  3370. call SetStartLocPrio(5, 0, 4, MAP_LOC_PRIO_HIGH)
  3371. call SetStartLocPrio(5, 1, 7, MAP_LOC_PRIO_HIGH)
  3372. call SetStartLocPrioCount(6, 2)
  3373. call SetStartLocPrio(6, 0, 4, MAP_LOC_PRIO_HIGH)
  3374. call SetStartLocPrio(6, 1, 9, MAP_LOC_PRIO_HIGH)
  3375. call SetStartLocPrioCount(7, 1)
  3376. call SetStartLocPrio(7, 0, 5, MAP_LOC_PRIO_HIGH)
  3377. call SetStartLocPrioCount(8, 3)
  3378. call SetStartLocPrio(8, 0, 0, MAP_LOC_PRIO_LOW)
  3379. call SetStartLocPrio(8, 1, 2, MAP_LOC_PRIO_HIGH)
  3380. call SetStartLocPrio(8, 2, 9, MAP_LOC_PRIO_HIGH)
  3381. call SetStartLocPrioCount(9, 3)
  3382. call SetStartLocPrio(9, 0, 4, MAP_LOC_PRIO_LOW)
  3383. call SetStartLocPrio(9, 1, 6, MAP_LOC_PRIO_HIGH)
  3384. call SetStartLocPrio(9, 2, 8, MAP_LOC_PRIO_HIGH)
  3385. call SetStartLocPrioCount(10, 2)
  3386. call SetStartLocPrio(10, 0, 1, MAP_LOC_PRIO_LOW)
  3387. call SetStartLocPrio(10, 1, 3, MAP_LOC_PRIO_HIGH)
  3388. endfunction
  3389.  
  3390. function LH takes nothing returns nothing
  3391. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement