Advertisement
kensuaga

NemesisCode 07.19.18

Jul 19th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.30 KB | None | 0 0
  1. function onLoad()
  2.  
  3. --Game board
  4. gameBoardGUID = '0ed963'
  5. gameBoardObj = getObjectFromGUID(gameBoardGUID)
  6.  
  7. --Game box
  8. gameBoxGUID = '144d41'
  9. gameBoxObj = getObjectFromGUID(gameBoxGUID)
  10.  
  11. --infinte cube bag
  12. cubeBagGUID = '35f952'
  13. cubeBagObj = getObjectFromGUID(cubeBagGUID)
  14.  
  15. --3D Hex bags
  16. levelOneRoomGUID = '069477'
  17. levelTwoRoomGUID = '32cb67'
  18. levelOneRoomObj = getObjectFromGUID(levelOneRoomGUID)
  19. levelTwoRoomObj = getObjectFromGUID(levelTwoRoomGUID)
  20.  
  21. exploreTokenBagGUID = 'f736bf'
  22. exploreTokenBagObj = getObjectFromGUID(exploreTokenBagGUID)
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. intruderadultBagGUID = 'f6237f' --soon to be hex bag
  39. intruderyoungBagGUID = '1c3892' --soon to be hex bag
  40. intruderlarvaBagGUID = '1dfe74' --soon to be hex bag
  41. intruderadultBagObj = getObjectFromGUID(intruderadultBagGUID)
  42.  
  43. intrudersBagGUID = 'be3b6a'
  44. intrudersBagObj = getObjectFromGUID(intrudersBagGUID)
  45.  
  46. --Turn Order Cards/Deck
  47. turnOrderOneCardGUID = '4f75a5'
  48. turnOrderTwoCardGUID = 'ce2e5b'
  49. turnOrderThreeCardGUID = 'e2599f'
  50. turnOrderFourCardGUID = '348fc2'
  51. turnOrderFiveCardGUID = '2b9c1f'
  52.  
  53. turnOrderBagGUID = '4707b0'
  54. turnOrderBag = getObjectFromGUID(turnOrderBagGUID)
  55.  
  56.  
  57. --Primary Objective Player Count Cards/Deck
  58. primaryObjective2PCardGUIDsTable = {'f52fae', '267c36', '8f566a'}
  59. primaryObjective3PCardGUIDsTable = {'a84897', 'de8581', '0a9166'}
  60. primaryObjective4PCardGUIDsTable = {'6082bd', '6c009a'}
  61. primaryObjective5PCardGUIDsTable = {'ca9f96'}
  62.  
  63. primaryObjectivesZoneGUID = '547716'
  64. primaryObjectivesDeckGUID = getDeckGUID(primaryObjectivesZoneGUID)--'6ee332'
  65. primaryObjectivesDeck = getObjectFromGUID(primaryObjectivesDeckGUID)
  66.  
  67.  
  68. --Card Decks
  69.  
  70. contaminationDeckZoneGUID = '23efb6'
  71. --Must be declaired for shuffle timer
  72. contaminationDeckZone = getObjectFromGUID(contaminationDeckZoneGUID)
  73. contaminationDeckGUID = getDeckGUID(contaminationDeckZoneGUID)
  74. contaminationDeck = getObjectFromGUID(contaminationDeckGUID)
  75.  
  76.  
  77.  
  78. panicZoneGUID = '5793fe'
  79. panicDeckGUID = getDeckGUID(panicZoneGUID)--'9dd4fa'
  80. panicDeck = getObjectFromGUID(panicDeckGUID)
  81.  
  82. intruderAttackZoneGUID= '82d5bc'
  83. intruderAttackDeckGUID = getDeckGUID(intruderAttackZoneGUID)--'2d45fa'
  84. intruderAttackDeck = getObjectFromGUID(intruderAttackDeckGUID)
  85.  
  86. seriousWoundZoneGUID = '624f56'
  87. seriousWoundDeckGUID = getDeckGUID(seriousWoundZoneGUID)--d'1d28ca'
  88. seriousWoundDeck = getObjectFromGUID(seriousWoundDeckGUID)
  89.  
  90. altObjectiveZoneGUID = '8de77a'
  91. altObjectiveDeckGUID = getDeckGUID(altObjectiveZoneGUID)--'c12e82'
  92. altObjectiveDeck = getObjectFromGUID(altObjectiveDeckGUID)
  93.  
  94. eventZoneGUID = '3e087d'
  95. eventDeckGUID = getDeckGUID(eventZoneGUID) -- '58cc16'
  96. eventDeck = getObjectFromGUID(eventDeckGUID)
  97.  
  98. intruderWeakZoneGUID = '3cb4c1'
  99. intruderWeakDeckGUID = getDeckGUID(intruderWeakZoneGUID) --'d489b8'
  100. intruderWeakDeck = getObjectFromGUID(intruderWeakDeckGUID)
  101.  
  102. coordinateZoneGUID = '86e9e9'
  103. coordinateDeckGUID = getDeckGUID(coordinateZoneGUID)--'363b4a'
  104. coordinateDeck= getObjectFromGUID(coordinateDeckGUID)
  105.  
  106.  
  107.  
  108. engineZoneOneGUID = '2e0815'
  109. engineZoneTwoGUID = '9b1dd5'
  110. engineZoneThreeGUID = '0992b1'
  111. engineOneGUID = getDeckGUID(engineZoneOneGUID)
  112. engineTwoGUID = getDeckGUID(engineZoneTwoGUID)
  113. engineThreeGUID = getDeckGUID(engineZoneThreeGUID)
  114. engineOneDeck = getObjectFromGUID(engineOneGUID)
  115. engineTwoDeck = getObjectFromGUID(engineTwoGUID)
  116. engineThreeDeck = getObjectFromGUID(engineThreeGUID)
  117.  
  118.  
  119. equipmentGreenZoneGUID = 'b52876'
  120. equipmentRedZoneGUID = '2ef465'
  121. equipmentYellowZoneGUID = 'f6a09b'
  122. equipmentGreenDeckGUID = getDeckGUID(equipmentGreenZoneGUID)--'467a07'
  123. equipmentRedDeckGUID = getDeckGUID(equipmentRedZoneGUID)--'73f74d'
  124. equipmentYellowDeckGUID = getDeckGUID(equipmentYellowZoneGUID)--'4c94e8'
  125. equipmentGreenDeck = getObjectFromGUID(equipmentGreenDeckGUID)
  126. equipmentRedDeck = getObjectFromGUID(equipmentRedDeckGUID)
  127. equipmentYellowDeck = getObjectFromGUID(equipmentYellowDeckGUID)
  128.  
  129. --Escape Pod tokens
  130. escapePodThreeGUID = 'd62a18'
  131. escapePodFourGUID = 'e57f0e'
  132.  
  133.  
  134. --AR Logo Token. Used to prevent game setup from loading when it's missing during back up history
  135. --For now this has been converted to The Beard
  136. arLogoTokenGUID = '1c663a'
  137. arLogoToken = getObjectFromGUID(arLogoTokenGUID)
  138.  
  139.  
  140. --player mat assests
  141. playerMat01GUID = 'c5eb18'
  142. playerMat01 = getObjectFromGUID(playerMat01GUID)
  143. playerMat01ZoneGUID = '30c8b4'
  144.  
  145. playerMat02GUID = 'b89552'
  146. playerMat02 = getObjectFromGUID(playerMat02GUID)
  147. playerMat02ZoneGUID = '6f9266'
  148.  
  149.  
  150. playerMat03GUID = 'beb6c6'
  151. playerMat03 = getObjectFromGUID(playerMat03GUID)
  152. playerMat03ZoneGUID = '541ad0'
  153.  
  154. playerMat04GUID = '777b28'
  155. playerMat04 = getObjectFromGUID(playerMat04GUID)
  156. playerMat04ZoneGUID = 'f56f2a'
  157.  
  158. playerMat05GUID = '1ea963'
  159. playerMat05 = getObjectFromGUID(playerMat05GUID)
  160. playerMat05ZoneGUID = 'e28056'
  161.  
  162. playerMatTable = {playerMat01,playerMat02,playerMat03,playerMat04,playerMat05,}
  163.  
  164. playerMatZoneGUIDTable = {playerMat01ZoneGUID, playerMat02ZoneGUID, playerMat03ZoneGUID, playerMat04ZoneGUID, playerMat05ZoneGUID}
  165.  
  166.  
  167. --Crew Members game pieces
  168. captainPlayMatGUID = '174ff9'
  169. captainFigureGUID = '369dfb'
  170. captainEquip01ZoneGUID = '839806'
  171. captainEquip02ZoneGUID = '24867a'
  172. captainEquip01GUID = getDeckGUID(captainEquip01ZoneGUID)
  173. captainEquip02GUID = getDeckGUID(captainEquip02ZoneGUID)
  174. captinDeckZoneGUID = '23f141'
  175. captainDeckGUID = getDeckGUID(captinDeckZoneGUID)
  176. captainDeck = getObjectFromGUID(captainDeckGUID)
  177.  
  178. pilotPlayMatGUID = 'f59473'
  179. pilotFigureGUID = '6c38c1'
  180. pilotEquip01ZoneGUID = '22f0c8'
  181. pilotEquip02ZoneGUID = '69b4c3'
  182. pilotEquip01GUID = getDeckGUID(pilotEquip01ZoneGUID)
  183. pilotEquip02GUID = getDeckGUID(pilotEquip02ZoneGUID)
  184. pilotDeckZoneGUID = '92607f'
  185. pilotDeckGUID = getDeckGUID(pilotDeckZoneGUID)
  186. pilotDeck = getObjectFromGUID(pilotDeckGUID)
  187.  
  188. scientistPlayMatGUID = 'ae9dd5'
  189. scientistFigureGUID = '688a9c'
  190. scientistEquip01ZoneGUID = 'a048ac'
  191. scientistEquip02ZoneGUID = '6b3cec'
  192. scientistEquip01GUID = getDeckGUID(scientistEquip01ZoneGUID)
  193. scientistEquip02GUID = getDeckGUID(scientistEquip02ZoneGUID)
  194. scientistDeckZoneGUID = 'e96177'
  195. scientistDeckGUID = getDeckGUID(scientistDeckZoneGUID)
  196. scientistDeck = getObjectFromGUID(scientistDeckGUID)
  197.  
  198. scoutPlayMatGUID = '2bcc1b'
  199. scoutFigureGUID = 'bdedbb'
  200. scoutEquip01ZoneGUID = '47ff90'
  201. scoutEquip02ZoneGUID = '38af5a'
  202. scoutEquip01GUID = getDeckGUID(scoutEquip01ZoneGUID)
  203. scoutEquip02GUID = getDeckGUID(scoutEquip02ZoneGUID)
  204. scoutDeckZoneGUID = '57d901'
  205. scoutDeckGUID = getDeckGUID(scoutDeckZoneGUID)
  206. scoutDeck = getObjectFromGUID(scoutDeckGUID)
  207.  
  208. soldierPlayMatGUID = 'c80252'
  209. soldierFigureGUID = '366347'
  210. soldierEquip01ZoneGUID = '77e208'
  211. soldierEquip02ZoneGUID = 'e5706a'
  212. soldierEquip01GUID = getDeckGUID(soldierEquip01ZoneGUID)
  213. soldierEquip02GUID = getDeckGUID(soldierEquip02ZoneGUID)
  214. soldierDeckZoneGUID = '5683ef'
  215. soldierDeckGUID = getDeckGUID(soldierDeckZoneGUID)
  216. soldierDeck = getObjectFromGUID(soldierDeckGUID)
  217.  
  218. mechanicPlayMatGUID = 'e510d6'
  219. mechanicFigureGUID = '007c84'
  220. mechanicEquip01ZoneGUID = 'c4d87c'
  221. mechanicEquip02ZoneGUID = '8ef9e5'
  222. mechanicEquip01GUID = getDeckGUID(mechanicEquip01ZoneGUID)
  223. mechanicEquip02GUID = getDeckGUID(mechanicEquip02ZoneGUID)
  224. mechanicDeckZoneGUID = '4f1b0f'
  225. mechanicDeckGUID = getDeckGUID(mechanicDeckZoneGUID)
  226. mechanicDeck = getObjectFromGUID(mechanicDeckGUID)
  227.  
  228. medicPlayMatGUID = '8f2474'
  229. medicFigureGUID = 'da5a93'
  230. medicEquip01ZoneGUID = '92433e'
  231. medicEquip02ZoneGUID = '88b94a'
  232. medicEquip01GUID = getDeckGUID(medicEquip01ZoneGUID)
  233. medicEquip02GUID = getDeckGUID(medicEquip02ZoneGUID)
  234. medicDeckZoneGUID = '0e0932'
  235. medicDeckGUID = getDeckGUID(medicDeckZoneGUID)
  236. medicDeck = getObjectFromGUID(medicDeckGUID)
  237.  
  238. crewMatTable = {captainPlayMatGUID,pilotPlayMatGUID,scientistPlayMatGUID,scoutPlayMatGUID,
  239. soldierPlayMatGUID,mechanicPlayMatGUID,medicPlayMatGUID}
  240.  
  241. --Call the functoin to build the equipment list and positions table
  242. buildCrewsEquipmentTable()
  243. --Call the functoin to build the position table
  244. buildPositionsTable()
  245.  
  246. --AR Logo Token. Used to prevent game setup from loading when it's missing during back up history
  247. --For now this has been converted to The Beard
  248. arLogoTokenGUID = '1c663a'
  249. arLogoToken = getObjectFromGUID(arLogoTokenGUID)
  250.  
  251. --Checks to see if the automated game set up has run. If not it will start it.
  252. --It will will only run if the AR arLogoToken is out on the table.
  253. --Once it's done it will remove to token to prevent this script from running again.
  254. if arLogoToken ~= nil then
  255.  
  256. --Creates the button to call board setup function
  257. gameBoardObj.createButton(
  258. {click_function='setupFullGame', function_owner=Global, label='Full Setup',
  259. position={0.2,1.5,0}, rotation={0,0,0}, width=675, height=225, font_size=100,
  260. scale={0.4,0.4,0.4}, tooltip='Completely Automated Setup'}
  261. )
  262.  
  263. gameBoardObj.createButton(
  264. {click_function='setupGameBoard', function_owner=Global, label='Board Only',
  265. position={0.055,1.5,0.15}, rotation={0,0,0}, width=600, height=225, font_size=100,
  266. scale={0.2,0.2,0.2}, tooltip='Rooms & Exploration Tokens only'}
  267. )
  268.  
  269. gameBoardObj.createButton(
  270. {click_function='skipSetup', function_owner=Global, label='Skip',
  271. position={0.34,1.5,0.15}, rotation={0,0,0}, width=600, height=225, font_size=100,
  272. scale={0.2,0.2,0.2}, tooltip='Manual Setup'}
  273. )
  274.  
  275. --Delete later
  276. gameBoardObj.createButton(
  277. {click_function='newStuff', function_owner=Global, label='New Rooms &\n Explore Tokens',
  278. position={0.8,1.5,0}, rotation={0,0,0}, width=675, height=225, font_size=90,
  279. scale={0.4,0.4,0.4}, tooltip='Click to use new rooms and tokens for the game setup.'}
  280. )
  281.  
  282. --note = 'Thank you for playing Nemesis \n Get the rules on the TTS workshop page \n \nTo begin, select a setup option.'
  283. --note = note .. '\n \n Join our AR/TTS Discord - Talk about the game or find other players. https://discord.gg/Ncu7ny3\n'
  284. note = '\n \n Join our AR/TTS LFG Discord - Talk about the game or find other players. https://discord.gg/Ncu7ny3\n\n'
  285. note = note .. 'You can find the updated content in the large bag on the top right corner of the table. Feel free to try and mix it into the game.\n\n'
  286. note = note .. 'I am going to wait for AR to release the new rulebook before officially updating the mod.'
  287.  
  288. setNotes(note)
  289.  
  290. --Shuffles eveything on the table that needs to be random
  291. shuffleEverything()
  292.  
  293. else
  294.  
  295. note = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
  296. note = note .. 'Any rule question? \n\n'
  297. note = note .. '- Check FAQ: https://goo.gl/ybd5qE \n\n'
  298. note = note .. '- Answer not found, ask here: https://goo.gl/DJf4cV \n\n'
  299. setNotes(note)
  300.  
  301.  
  302. end
  303.  
  304. --Creates a Timer to shuffle the intruder bag if its contents change.
  305. Timer.create({
  306. identifier = 'shuffleCheckTimer',
  307. function_name = 'shuffleCheck',
  308. function_owner = self,
  309. delay = 1,
  310. repetitions = 0,
  311. })
  312.  
  313. end
  314.  
  315.  
  316. --this function is sent a GUID for a script zone and it will return the GUID
  317. --for the deck or card found in that zone.
  318. function getDeckGUID(zoneGUID)
  319. deckZone = getObjectFromGUID(zoneGUID)
  320. objInZone = deckZone.getObjects()
  321.  
  322. if #objInZone == 1 then
  323. deckGUID = objInZone[1].getGUID()
  324. return deckGUID
  325. else
  326. if arLogoToken ~= nil then
  327. string = 'Zone GUID ' .. tostring(zoneGUID) .. ' is empty or has more then one object'
  328. broadcastToAll(string, red)
  329. end
  330. end
  331. end
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339. --This function is tempoary -- It will declaire the new bags as the bags to pull from.
  340. function newStuff()
  341.  
  342. levelOneRoomGUID = '0c9ec4'
  343. levelTwoRoomGUID = '766516'
  344. levelOneRoomObj = getObjectFromGUID(levelOneRoomGUID)
  345. levelTwoRoomObj = getObjectFromGUID(levelTwoRoomGUID)
  346.  
  347. exploreTokenBagGUID = '9e104a'
  348. exploreTokenBagObj = getObjectFromGUID(exploreTokenBagGUID)
  349.  
  350. Wait.time(setupFullGame, 1)
  351.  
  352. end
  353.  
  354.  
  355.  
  356.  
  357.  
  358. function setupFullGame()
  359.  
  360. setupGameBoard()
  361.  
  362. Timer.create({
  363. identifier = 'playerCountTimer',
  364. function_name = 'getPlayerCount',
  365. function_owner = self,
  366. delay = 0.5,
  367. })
  368.  
  369. end
  370.  
  371.  
  372.  
  373. function setupGameBoard()
  374.  
  375. --Clears the buttons from the game board
  376. gameBoardObj.clearButtons()
  377. --Puts the Beard in the box to prevent onload functoin from starting initial setup
  378. gameBoxObj.putObject(arLogoToken)
  379.  
  380.  
  381.  
  382. --Loop to pull room tiles from the bag and place them on the board
  383. for _, entries in ipairs(gamePiecePosTable) do
  384. --pulls the object from each Room container and places them on the board
  385. entries.objToPullFrom.takeObject({
  386. position = entries.pos_object,
  387. rotation = entries.rot_object,
  388. })
  389. end
  390.  
  391. end
  392.  
  393.  
  394. function shuffleEverything()
  395.  
  396. thingsToShuffle = {
  397. --decks - starting from top left and around clockwise
  398. coordinateDeck,
  399. contaminationDeck,
  400. panicDeck,
  401. intruderAttackDeck,
  402. seriousWoundDeck,
  403. altObjectiveDeck,
  404. eventDeck,
  405. intruderWeakDeck,
  406. primaryObjectivesDeck,
  407.  
  408. engineOneDeck, engineTwoDeck, engineThreeDeck,
  409. soldierDeck, scoutDeck, scientistDeck, pilotDeck, captainDeck,mechanicDeck,medicDeck,
  410. equipmentGreenDeck, equipmentRedDeck, equipmentYellowDeck,
  411.  
  412. --bags
  413. levelOneRoomObj, levelTwoRoomObj,
  414. exploreTokenBagObj,
  415. turnOrderBag,
  416. intrudersBagObj,
  417.  
  418. }
  419.  
  420. for _, entries in ipairs(thingsToShuffle) do
  421. entries.shuffle()
  422. end
  423.  
  424. end
  425.  
  426.  
  427.  
  428. function getPlayerCount()
  429. gameBoardObj.createButton(
  430. {click_function='none', function_owner=Global, label='How Many Players?',
  431. position={0.2,1.5,0}, rotation={0,0,0}, width=900, height=225, font_size=100,
  432. scale={0.4,0.4,0.4}}
  433. )
  434.  
  435. gameBoardObj.createButton(
  436. {click_function='onePlayerClick', function_owner=Global, label='1',
  437. position={-0.1,1.5,0.15}, rotation={0,0,0}, width=300, height=225, font_size=100,
  438. scale={0.2,0.2,0.2}}
  439. )
  440.  
  441. gameBoardObj.createButton(
  442. {click_function='twoPlayerClick', function_owner=Global, label='2',
  443. position={0.05,1.5,0.15}, rotation={0,0,0}, width=300, height=225, font_size=100,
  444. scale={0.2,0.2,0.2}}
  445. )
  446.  
  447. gameBoardObj.createButton(
  448. {click_function='threePlayerClick', function_owner=Global, label='3',
  449. position={0.2,1.5,0.15}, rotation={0,0,0}, width=300, height=225, font_size=100,
  450. scale={0.2,0.2,0.2}}
  451. )
  452.  
  453. gameBoardObj.createButton(
  454. {click_function='fourPlayerClick', function_owner=Global, label='4',
  455. position={0.35,1.5,0.15}, rotation={0,0,0}, width=300, height=225, font_size=100,
  456. scale={0.2,0.2,0.2}}
  457. )
  458. gameBoardObj.createButton(
  459. {click_function='fivePlayerClick', function_owner=Global, label='5',
  460. position={0.5,1.5,0.15}, rotation={0,0,0}, width=300, height=225, font_size=100,
  461. scale={0.2,0.2,0.2}}
  462. )
  463.  
  464. note = 'Select the number of players. \n \n If more people join after this point you will need to reload the mod.'
  465. setNotes(note)
  466.  
  467. end
  468.  
  469. function onePlayerClick()
  470. playerCount = 1
  471. allPlayersSeatedCheck()
  472. end
  473.  
  474. function twoPlayerClick()
  475. playerCount = 2
  476. allPlayersSeatedCheck()
  477. end
  478.  
  479. function threePlayerClick()
  480. playerCount = 3
  481. allPlayersSeatedCheck()
  482. end
  483.  
  484. function fourPlayerClick()
  485. playerCount = 4
  486. allPlayersSeatedCheck()
  487. end
  488.  
  489. function fivePlayerClick()
  490. playerCount = 5
  491. allPlayersSeatedCheck()
  492. end
  493.  
  494.  
  495. function allPlayersSeatedCheck()
  496.  
  497. if #getSeatedPlayers() == playerCount then
  498. playerSetup()
  499. else
  500. gameBoardObj.clearButtons()
  501. gameBoardObj.createButton(
  502. {click_function='playerSetup', function_owner=Global, label='Continue',
  503. position={0.2,1.5,0}, rotation={0,0,0}, width=900, height=225, font_size=100,
  504. scale={0.4,0.4,0.4}}
  505. )
  506.  
  507. broadcastToAll('Players not in a seat will have to draw manually. \n Make sure eveyone is seated', {0.956, 0.392, 0.113})
  508. end
  509. end
  510.  
  511.  
  512. function playerSetup()
  513.  
  514. gameBoardObj.clearButtons()
  515.  
  516. --This will remove a random Crew memeber from the table.
  517. if playerCount ~= 5 then
  518. crewNameTable = {'Captain','Pilot','Scientist','Scout','Soldier','Mechanic','Medic'}
  519.  
  520. stuffToClearTable = {
  521. --Captain's stuff table
  522. {captainPlayMatGUID, captainFigureGUID, captainDeckGUID,captainEquip01GUID,captainEquip02GUID},
  523. --Pilots stuff table
  524. {pilotPlayMatGUID, pilotFigureGUID, pilotDeckGUID,pilotEquip01GUID,pilotEquip02GUID},
  525. --Scientist's stuff table
  526. {scientistPlayMatGUID, scientistFigureGUID, scientistDeckGUID,scientistEquip01GUID,scientistEquip02GUID},
  527. --Scout's stuff table
  528. {scoutPlayMatGUID, scoutFigureGUID, scoutDeckGUID,scoutEquip01GUID,scoutEquip02GUID},
  529. --Soldier's stuff table
  530. {soldierPlayMatGUID, soldierFigureGUID, soldierDeckGUID,soldierEquip01GUID,soldierEquip02GUID},
  531. --Mechanic's stuff table
  532. {mechanicPlayMatGUID, mechanicFigureGUID, mechanicDeckGUID,mechanicEquip01GUID,mechanicEquip02GUID},
  533. --Soldier's stuff table
  534. {medicPlayMatGUID, medicFigureGUID, medicDeckGUID,medicEquip01GUID,medicEquip02GUID},
  535. }
  536.  
  537. crewToKill = math.random(1,5)
  538.  
  539. for _, obj_GUID in ipairs(stuffToClearTable[crewToKill]) do
  540. obj = getObjectFromGUID(obj_GUID)
  541. gameBoxObj.putObject(obj)
  542. end
  543.  
  544. message = 'The ' .. crewNameTable[crewToKill] .. ' has been found dead!'
  545. broadcastToAll(message, {0.905, 0.898, 0.172})
  546.  
  547. end
  548.  
  549.  
  550. --This function will remove all game pieces not valild for the current player count
  551. removeUnusedGamePieces()
  552.  
  553.  
  554. --Checks again for all playes seat incase there was a change.
  555. playersInSeatTable = getSeatedPlayers()
  556.  
  557.  
  558. aboveIntruderBag = intrudersBagObj.getPosition()
  559.  
  560.  
  561. for i, entries in ipairs(playersInSeatTable) do
  562.  
  563. turnOrderBag.deal(1, entries, int)
  564.  
  565. primaryObjectivesDeck.deal(2, entries, int)
  566.  
  567. --Adds one adult intruder for that playerCount
  568. aboveIntruderBag.y = aboveIntruderBag.y+1
  569.  
  570. intruderadultBagObj.takeObject({
  571. position = aboveIntruderBag,
  572. })
  573.  
  574. if i == playerCount then break end
  575. i = i + 1
  576. end
  577.  
  578.  
  579. --Creates the button to call board setup function
  580. gameBoardObj.createButton(
  581. {click_function='playersReadyCheck', function_owner=Global, label='Begin Game',
  582. position={0.2,1.5,0}, rotation={0,0,0}, width=675, height=225, font_size=100,
  583. scale={0.4,0.4,0.4}}
  584. )
  585.  
  586.  
  587. gameBoardObj.createButton(
  588. {click_function='skipSetup', function_owner=Global, label='Skip',
  589. position={0.34,1.5,0.15}, rotation={0,0,0}, width=600, height=225, font_size=100,
  590. scale={0.2,0.2,0.2}}
  591. )
  592.  
  593. note = 'Each player will need to select a Crew Member.\n\n'
  594. note = note .. 'Once everyone is ready select Begin Game. \n\n\n\n'
  595. note = note .. 'Thank you for choosing Nemesis and Fly Safe.'
  596.  
  597. setNotes(note)
  598.  
  599. Timer.create({
  600. identifier = 'buildCrewButtons',
  601. function_name = 'buildCrewPickButtons',
  602. function_owner = self,
  603. delay = 0.5,
  604. })
  605.  
  606. end
  607.  
  608. function playersReadyCheck()
  609.  
  610. selectCrewCount = 0
  611.  
  612. for _, matGUID in ipairs(crewMatTable) do
  613.  
  614. obj = getObjectFromGUID(matGUID)
  615.  
  616. if obj ~= nil then
  617. if obj.getLock() == true then
  618. selectCrewCount = selectCrewCount + 1
  619. end
  620. end
  621.  
  622.  
  623.  
  624. end
  625.  
  626. if playerCount <= selectCrewCount then
  627. finalSetupStep()
  628. else
  629. broadcastToAll('Each Player needs to select a Crew Member.\n Press Begin Game when ready.', {0.905, 0.898, 0.172})
  630. end
  631. end
  632.  
  633.  
  634.  
  635.  
  636. function buildCrewPickButtons()
  637. buttonsParametersTable = {
  638. {playMatGUID = captainPlayMatGUID, click_function = 'pickCaptain', label = 'Captain', position = {0.0,0.3,-0.3}},
  639. {playMatGUID = pilotPlayMatGUID, click_function = 'pickPilot', label = 'Pilot', position = {0.0,0.3,-0.15}},
  640. {playMatGUID = scientistPlayMatGUID, click_function = 'pickScientist', label = 'Scientist', position = {0.0,0.3,0.0}},
  641. {playMatGUID = scoutPlayMatGUID, click_function = 'pickScout', label = 'Scout', position = {0.0,0.3,0.15}},
  642. {playMatGUID = soldierPlayMatGUID, click_function = 'pickSoldier', label = 'Soldier', position = {0.45,0.3,-0.3}},
  643. {playMatGUID = mechanicPlayMatGUID, click_function = 'pickMechanic', label = 'Mechanic', position = {0.45,0.3,-0.15}},
  644. {playMatGUID = medicPlayMatGUID, click_function = 'pickMedic', label = 'Medic', position = {0.45,0.3,0.0}},
  645. }
  646.  
  647.  
  648. for _, obj in ipairs(playerMatTable) do
  649.  
  650. for _, entries in ipairs(buttonsParametersTable) do
  651.  
  652. stillAlive = getObjectFromGUID(entries.playMatGUID)
  653.  
  654. if stillAlive ~= nil then
  655. obj.createButton({
  656. click_function = entries.click_function,
  657. function_owner = obj,
  658. label = entries.label,
  659. position = entries.position,
  660. scale = {0.4,0.4,0.4},
  661. width = 500,
  662. height = 160,
  663. font_size = 100,
  664. })
  665.  
  666. else
  667. obj.createButton({
  668. click_function = 'crewNotAvailable',
  669. function_owner = Global,
  670. label = '',
  671. position = entries.position,
  672. scale = {0.4,0.4,0.4},
  673. width = 500,
  674. height = 160,
  675. font_size = 100,
  676. })
  677. end
  678. end
  679. end
  680. end
  681.  
  682.  
  683.  
  684. function crewNotAvailable()
  685. broadcastToAll('Sorry this crew member is not available', {0.956, 0.392, 0.113})
  686. end
  687.  
  688. function pickCrewMember(passTable)
  689. --Table index 1 is playerMatGUID -passTable[1]
  690. --Table index 2 is crewMemberIndex - passTable[2]
  691.  
  692.  
  693.  
  694. playerMatGUID = passTable[1]
  695. centerPos = getObjectFromGUID(playerMatGUID).getPosition()
  696.  
  697. crewMemberSelectedGUID = crewMatTable[passTable[2]]
  698. crewMemberSelected = getObjectFromGUID(crewMemberSelectedGUID)
  699.  
  700. posX = centerPos[1] + 2.75
  701. posY = centerPos[2] + 0.05
  702. posZ = centerPos[3] + 0.65
  703.  
  704. crewMemberSelected.setPosition({posX, posY , posZ})
  705.  
  706. getObjectFromGUID(playerMatGUID).clearButtons()
  707.  
  708. --this loop will remove the buttons for the sleceted crew from the other boards.
  709.  
  710. buttonIndex = passTable[2] - 1
  711.  
  712. for _, playMat in ipairs(playerMatTable) do
  713.  
  714. if playMat.getButtons() ~= nil then
  715. playMat.editButton({
  716. index = buttonIndex,
  717. click_function = 'crewNotAvailable',
  718. function_owner = Global,
  719. label = '',
  720. })
  721. end
  722. end
  723. end
  724.  
  725.  
  726. function onObjectEnterScriptingZone(zone, enter_object)
  727. if enter_object.getDescription() == 'Crew Member' then
  728.  
  729. zoneGUID = zone.getGUID()
  730.  
  731. if zoneGUID == playerMat01ZoneGUID then
  732. posCenter = playerMat01.getPosition()
  733. placeCrewMember(1,enter_object,posCenter,zone)
  734. else
  735. if zoneGUID == playerMat02ZoneGUID then
  736. posCenter = playerMat02.getPosition()
  737. placeCrewMember(2,enter_object,posCenter,zone)
  738. else
  739. if zoneGUID == playerMat03ZoneGUID then
  740. posCenter = playerMat03.getPosition()
  741. placeCrewMember(3,enter_object,posCenter,zone)
  742. else
  743. if zoneGUID == playerMat04ZoneGUID then
  744. posCenter = playerMat04.getPosition()
  745. placeCrewMember(4,enter_object,posCenter,zone)
  746. else
  747. if zoneGUID == playerMat05ZoneGUID then
  748. posCenter = playerMat05.getPosition()
  749. placeCrewMember(5,enter_object,posCenter,zone)
  750. end
  751. end
  752. end
  753. end
  754. end
  755. end
  756. end
  757.  
  758.  
  759. function placeCrewMember(playerNumber,enter_object,posCenter,zone)
  760.  
  761.  
  762.  
  763. findCrewsEquipTable = {
  764. {matGUID = captainPlayMatGUID, equipTable = captainEquipList, cubePosTable = captainCubeTable, figureGUID = captainFigureGUID},
  765. {matGUID = pilotPlayMatGUID, equipTable = pilotEquipList, cubePosTable = pilotCubeTable, figureGUID = pilotFigureGUID},
  766. {matGUID = scientistPlayMatGUID, equipTable = scientistEquipList, cubePosTable = scientistCubeTable, figureGUID = scientistFigureGUID},
  767. {matGUID = scoutPlayMatGUID, equipTable = scoutEquipList, cubePosTable = scoutCubeTable, figureGUID = scoutFigureGUID},
  768. {matGUID = soldierPlayMatGUID, equipTable = soldierEquipList, cubePosTable = soldierCubeTable, figureGUID = soldierFigureGUID},
  769. {matGUID = mechanicPlayMatGUID, equipTable = mechanicEquipList, cubePosTable = mechanicCubeTable, figureGUID = mechanicFigureGUID},
  770. {matGUID = medicPlayMatGUID, equipTable = medicEquipList, cubePosTable = medicCubeTable, figureGUID = medicFigureGUID},
  771. }
  772.  
  773. zone.destruct()
  774.  
  775. for _, entries in pairs(findCrewsEquipTable) do
  776. --find the selected crew memebers equipment lists
  777. if enter_object.getGUID() == entries.matGUID then
  778.  
  779. crewEquipTable = entries.equipTable
  780. cubesToSpawnPosTable = entries.cubePosTable
  781. figureToPlaceGUID = entries.figureGUID
  782.  
  783. end
  784. end
  785.  
  786. enter_object.setLock(true)
  787. enter_object.setDescription('Keep')
  788.  
  789. --places the figure on the board acording to player position
  790. figurePosTable = {{3.80, 2.01, 0.05},{5.13, 2.02, -1.50},{5.09, 2.03, 1.65},{3.40, 2.04, -3.37},{3.93, 2.05, 3.65}}
  791.  
  792. selctedCrewFigureObj = getObjectFromGUID(figureToPlaceGUID)
  793. selctedCrewFigureObj.setPosition(figurePosTable[playerNumber])
  794.  
  795.  
  796. --Place crew members equipment cards on the selected mat
  797. for _, entries in ipairs(crewEquipTable) do
  798. obj = getObjectFromGUID(entries.objGUID)
  799.  
  800. posX = posCenter[1] + entries.pos[1]
  801. posZ = posCenter[3] + entries.pos[3]
  802.  
  803. obj.setPosition({ posX , 1.8 , posZ })
  804.  
  805. end
  806.  
  807. --places the cubes needed for the selected crew memebers
  808. for _, entries in ipairs(cubesToSpawnPosTable) do
  809.  
  810. posX = posCenter[1] + entries[1]
  811. posZ = posCenter[3] + entries[3]
  812.  
  813. cubeBagObj.takeObject({ position = { posX , 2.0 , posZ },})
  814.  
  815. end
  816.  
  817. end
  818.  
  819.  
  820.  
  821. function removeUnusedGamePieces()
  822. --Removes itmes not valid for current player count.
  823. aboveGameBox = gameBoxObj.getPosition()
  824. aboveGameBox.y = aboveGameBox.y+6
  825. if playerCount <= 4 then
  826. turnOrderBag.takeObject({
  827. position = aboveGameBox,
  828. guid = turnOrderFiveCardGUID,
  829. })
  830. aboveGameBox.y = aboveGameBox.y+2
  831. for _, entries in ipairs(primaryObjective5PCardGUIDsTable) do
  832. primaryObjectivesDeck.takeObject({
  833. position = aboveGameBox,
  834. guid = entries,
  835. })
  836. aboveGameBox.y = aboveGameBox.y+2
  837. end
  838. end
  839.  
  840. if playerCount <= 3 then
  841.  
  842. turnOrderBag.takeObject({
  843. position = aboveGameBox,
  844. guid = turnOrderFourCardGUID,
  845. })
  846. aboveGameBox.y = aboveGameBox.y+2
  847.  
  848. for _, entries in ipairs(primaryObjective4PCardGUIDsTable) do
  849. primaryObjectivesDeck.takeObject({
  850. position = aboveGameBox,
  851. guid = entries,
  852. })
  853. aboveGameBox.y = aboveGameBox.y+2
  854. end
  855.  
  856. gameBoxObj.putObject(getObjectFromGUID(escapePodThreeGUID))
  857.  
  858. end
  859.  
  860. if playerCount <= 2 then
  861. turnOrderBag.takeObject({
  862. position = aboveGameBox,
  863. guid = turnOrderThreeCardGUID,
  864. })
  865. aboveGameBox.y = aboveGameBox.y+2
  866. for _, entries in ipairs(primaryObjective3PCardGUIDsTable) do
  867. primaryObjectivesDeck.takeObject({
  868. position = aboveGameBox,
  869. guid = entries,
  870. })
  871. aboveGameBox.y = aboveGameBox.y+2
  872. end
  873. end
  874.  
  875. if playerCount == 1 then
  876. turnOrderBag.takeObject({
  877. position = aboveGameBox,
  878. guid = turnOrderTwoCardGUID,
  879. })
  880. aboveGameBox.y = aboveGameBox.y+2
  881. for _, entries in ipairs(primaryObjective2PCardGUIDsTable) do
  882. primaryObjectivesDeck.takeObject({
  883. position = aboveGameBox,
  884. guid = entries,
  885. })
  886. aboveGameBox.y = aboveGameBox.y+2
  887. end
  888.  
  889. gameBoxObj.putObject(getObjectFromGUID(escapePodFourGUID))
  890.  
  891. end
  892. end
  893.  
  894.  
  895. function skipSetup()
  896. gameBoardObj.clearButtons()
  897. end
  898.  
  899.  
  900.  
  901.  
  902.  
  903. function finalSetupStep()
  904.  
  905. gameBoardObj.clearButtons()
  906.  
  907. note = '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
  908. note = note .. 'Any rule question? \n\n'
  909. note = note .. '- Check FAQ: https://goo.gl/ybd5qE \n\n'
  910. note = note .. '- Answer not found, ask here: https://goo.gl/DJf4cV \n\n'
  911. setNotes(note)
  912.  
  913.  
  914.  
  915. gameBoxObj.putObject(levelOneRoomObj)
  916. gameBoxObj.putObject(levelTwoRoomObj)
  917. gameBoxObj.putObject(coordinateDeck)
  918. gameBoxObj.putObject(primaryObjectivesDeck)
  919. gameBoxObj.putObject(turnOrderBag)
  920.  
  921.  
  922. for _, playMat in ipairs(playerMatTable) do
  923.  
  924. if playMat.getButtons() ~= nil then
  925. gameBoxObj.putObject(playMat)
  926. end
  927.  
  928. end
  929.  
  930.  
  931. for _, zoneGUID in ipairs(playerMatZoneGUIDTable) do
  932.  
  933. zoneObj = getObjectFromGUID(zoneGUID)
  934. if zoneObj ~= nil then
  935. zoneObj.destruct()
  936. end
  937.  
  938. end
  939.  
  940. --This will put unused crew memebers in the box
  941. for _, entries in ipairs(findCrewsEquipTable) do
  942.  
  943. onTheTable = getObjectFromGUID(entries.matGUID)
  944. if onTheTable ~= nil and onTheTable.getDescription() ~= 'Keep' then
  945.  
  946.  
  947. crewEquipTable = entries.equipTable
  948. for _, equipEntries in ipairs(crewEquipTable) do
  949. gameBoxObj.putObject(getObjectFromGUID(equipEntries.objGUID))
  950. end
  951.  
  952. figureToPlaceGUID = entries.figureGUID
  953. gameBoxObj.putObject(getObjectFromGUID(figureToPlaceGUID))
  954.  
  955. gameBoxObj.putObject(onTheTable)
  956. end
  957. end
  958.  
  959. end
  960.  
  961. function shuffleCheck()
  962.  
  963.  
  964.  
  965. currentCountInBag = intrudersBagObj.getObjects()
  966.  
  967. if getObjectFromGUID(contaminationDeck.guid) ~= nil then
  968. currentCountInDeck = contaminationDeck.getObjects()
  969. end
  970.  
  971.  
  972. --sets the initial count for these variables
  973. if contaminationCount == nil or intruderPoolCount == nil then
  974. contaminationCount = 25
  975. intruderPoolCount = 8
  976. end
  977.  
  978.  
  979. if #currentCountInBag > intruderPoolCount then
  980. intrudersBagObj.shuffle()
  981. intruderPoolCount = #currentCountInBag
  982. else
  983. intruderPoolCount = #currentCountInBag
  984. end
  985.  
  986. if #contaminationDeckZone.getObjects() ~= 0 then
  987. if getObjectFromGUID(contaminationDeck.guid) ~= nil then
  988. if #currentCountInDeck > contaminationCount then
  989. contaminationDeck.shuffle()
  990. contaminationCount = #currentCountInDeck
  991. else
  992. contaminationCount = #currentCountInDeck
  993. end
  994. else
  995. objInContamDeckZone = contaminationDeckZone.getObjects()
  996.  
  997. if objInContamDeckZone[1].tag == 'Deck' then
  998. contaminationDeck = objInContamDeckZone[1]
  999. contaminationDeck.shuffle()
  1000. end
  1001. end
  1002. else
  1003. contaminationCount = 0
  1004. end
  1005.  
  1006. end
  1007.  
  1008.  
  1009. --Builds a table for the locatoins to place game pieces.
  1010. function buildPositionsTable()
  1011. gamePiecePosTable = {
  1012.  
  1013. --Level One Rooms
  1014. {objToPullFrom = levelOneRoomObj, pos_object = {-13.69, 2, 0.45}, rot_object = {0.0, 180, 0.0}},
  1015. {objToPullFrom = levelOneRoomObj, pos_object = {-12.43, 2, 9.50}, rot_object = {0.0, 180, 0.0}},
  1016. {objToPullFrom = levelOneRoomObj, pos_object = {-4.30, 2, 12.47}, rot_object = {0.0, 180, 0.0}},
  1017. {objToPullFrom = levelOneRoomObj, pos_object = {2.83, 2, 10.85}, rot_object = {0.0, 180, 0.0}},
  1018. {objToPullFrom = levelOneRoomObj, pos_object = {10.65, 2, 10.08}, rot_object = {0.0, 180, 0.0}},
  1019. {objToPullFrom = levelOneRoomObj, pos_object = {13.68, 2, 4.66}, rot_object = {0.0, 180, 0.0}},
  1020. {objToPullFrom = levelOneRoomObj, pos_object = {13.71, 2, -3.75}, rot_object = {0.0, 180, 0.0}},
  1021. {objToPullFrom = levelOneRoomObj, pos_object = {10.56, 2, -9.09}, rot_object = {0.0, 180, 0.0}},
  1022. {objToPullFrom = levelOneRoomObj, pos_object = {2.77, 2, -9.89}, rot_object = {0.0, 180, 0.0}},
  1023. {objToPullFrom = levelOneRoomObj, pos_object = {-4.43, 2, -11.43}, rot_object = {0.0, 180, 0.0}},
  1024. {objToPullFrom = levelOneRoomObj, pos_object = {-12.47, 2, -8.23}, rot_object = {0.0, 180, 0.0}},
  1025.  
  1026. --Level Two Rooms
  1027. {objToPullFrom = levelTwoRoomObj, pos_object = {-7.88, 2, 0.33}, rot_object = {0.0, 180, 0.0}},
  1028. {objToPullFrom = levelTwoRoomObj, pos_object = {-3.48, 2, 6.01}, rot_object = {0.0, 180, 0.0}},
  1029. {objToPullFrom = levelTwoRoomObj, pos_object = {7.34, 2, 4.26}, rot_object = {0.0, 180, 0.0}},
  1030. {objToPullFrom = levelTwoRoomObj, pos_object = {7.32, 2, -3.21}, rot_object = {0.0, 180, 0.0}},
  1031. {objToPullFrom = levelTwoRoomObj, pos_object = {-3.41, 2, -5.16}, rot_object = {0.0, 180, 0.0}},
  1032.  
  1033. --Explore Tokens
  1034. {objToPullFrom = exploreTokenBagObj, pos_object = {-13.69, 2.5, 0.45}, rot_object = {0.0, 180, 0.0}},
  1035. {objToPullFrom = exploreTokenBagObj, pos_object = {-12.43, 2.5, 9.50}, rot_object = {0.0, 180, 0.0}},
  1036. {objToPullFrom = exploreTokenBagObj, pos_object = {-4.30, 2.5, 12.47}, rot_object = {0.0, 180, 0.0}},
  1037. {objToPullFrom = exploreTokenBagObj, pos_object = {2.83, 2.5, 10.85}, rot_object = {0.0, 180, 0.0}},
  1038. {objToPullFrom = exploreTokenBagObj, pos_object = {10.65, 2.5, 10.08}, rot_object = {0.0, 180, 0.0}},
  1039. {objToPullFrom = exploreTokenBagObj, pos_object = {13.68, 2.5, 4.66}, rot_object = {0.0, 180, 0.0}},
  1040. {objToPullFrom = exploreTokenBagObj, pos_object = {13.71, 2.5, -3.75}, rot_object = {0.0, 180, 0.0}},
  1041. {objToPullFrom = exploreTokenBagObj, pos_object = {10.56, 2.5, -9.09}, rot_object = {0.0, 180, 0.0}},
  1042. {objToPullFrom = exploreTokenBagObj, pos_object = {2.77, 2.5, -9.89}, rot_object = {0.0, 180, 0.0}},
  1043. {objToPullFrom = exploreTokenBagObj, pos_object = {-4.43, 2.5, -11.43}, rot_object = {0.0, 180, 0.0}},
  1044. {objToPullFrom = exploreTokenBagObj, pos_object = {-12.47, 2.5, -8.23}, rot_object = {0.0, 180, 0.0}},
  1045. {objToPullFrom = exploreTokenBagObj, pos_object = {-7.88, 2.5, 0.33}, rot_object = {0.0, 180, 0.0}},
  1046. {objToPullFrom = exploreTokenBagObj, pos_object = {-3.48, 2.5, 6.01}, rot_object = {0.0, 180, 0.0}},
  1047. {objToPullFrom = exploreTokenBagObj, pos_object = {7.34, 2.5, 4.26}, rot_object = {0.0, 180, 0.0}},
  1048. {objToPullFrom = exploreTokenBagObj, pos_object = {7.32, 2.5, -3.21}, rot_object = {0.0, 180, 0.0}},
  1049. {objToPullFrom = exploreTokenBagObj, pos_object = {-3.41, 2.5, -5.16}, rot_object = {0.0, 180, 0.0}},
  1050.  
  1051.  
  1052. --Intruder Weakness Deck
  1053. {objToPullFrom = intruderWeakDeck, pos_object = {13.80, 1.64, 17.42}, rot_object = {0.0, 180, 180}},
  1054. {objToPullFrom = intruderWeakDeck, pos_object = {17.00, 1.64, 17.41}, rot_object = {0.0, 180, 180}},
  1055. {objToPullFrom = intruderWeakDeck, pos_object = {20.17, 1.63, 17.42}, rot_object = {0.0, 180, 180}},
  1056.  
  1057. --Coordiantes Deck
  1058. {objToPullFrom = coordinateDeck, pos_object = {-21.65, 5, 6.36} , rot_object = {0, 90, 180} },
  1059. }
  1060.  
  1061. end
  1062.  
  1063.  
  1064. function buildCrewsEquipmentTable()
  1065.  
  1066. captainEquipList = {
  1067. {objGUID = captainDeckGUID , pos = {-4.15,3,0.65}},
  1068. {objGUID = captainEquip01GUID , pos = {9.0,3,1.3}},
  1069. {objGUID = captainEquip02GUID , pos = {9.0,3,-3.2}},
  1070. }
  1071.  
  1072. captainCubeTable = {
  1073. {9.5,4,3},
  1074. {8.8,4,3},
  1075. }
  1076.  
  1077. pilotEquipList = {
  1078. {objGUID = pilotDeckGUID , pos = {-4.15,3,0.65}},
  1079. {objGUID = pilotEquip01GUID , pos = {9.0,3,1.3}},
  1080. {objGUID = pilotEquip02GUID , pos = {9.0,3,-3.2}},
  1081. }
  1082.  
  1083. pilotCubeTable = {
  1084. {9.5,4,3},
  1085. {8.8,4,3},
  1086. }
  1087.  
  1088. scientistEquipList = {
  1089. {objGUID = scientistDeckGUID , pos = {-4.15,3,0.65}},
  1090. {objGUID = scientistEquip01GUID , pos = {9.0,3,1.3}},
  1091. {objGUID = scientistEquip02GUID , pos = {9.0,3,-3.2}},
  1092. }
  1093.  
  1094. scientistCubeTable = {
  1095. {9.6,4,3},
  1096. {9,4,3},
  1097. {8.4,4,3},
  1098. }
  1099.  
  1100. scoutEquipList = {
  1101. {objGUID = scoutDeckGUID , pos = {-4.15,3,0.65}},
  1102. {objGUID = scoutEquip01GUID , pos = {9.0,3,1.3}},
  1103. {objGUID = scoutEquip02GUID , pos = {9.0,3,-3.2}},
  1104. }
  1105.  
  1106. scoutCubeTable = {
  1107. {10.0,4,3},
  1108. {9.5,4,3},
  1109. {9,4,3},
  1110. {8.5,4,3},
  1111. {8.0,4,3},
  1112. {9.5,4,-1.5},
  1113. {8.8,4,-1.5},
  1114. }
  1115.  
  1116. soldierEquipList = {
  1117. {objGUID = soldierDeckGUID , pos = {-4.15,3,0.65}},
  1118. {objGUID = soldierEquip01GUID , pos = {9.0,3,1.3}},
  1119. {objGUID = soldierEquip02GUID , pos = {9.0,3,-3.2}},
  1120. }
  1121.  
  1122. soldierCubeTable = {
  1123. {10.0,4,3},
  1124. {9.5,4,3},
  1125. {9,4,3},
  1126. {8.5,4,3},
  1127. {8.0,4,3},
  1128. }
  1129.  
  1130. mechanicEquipList = {
  1131. {objGUID = mechanicDeckGUID , pos = {-4.15,3,0.65}},
  1132. {objGUID = mechanicEquip01GUID , pos = {9.0,3,1.3}},
  1133. {objGUID = mechanicEquip02GUID , pos = {9.0,3,-3.2}},
  1134. }
  1135.  
  1136. mechanicCubeTable = {
  1137. {9.5,4,3},
  1138. {8.8,4,3},
  1139. }
  1140.  
  1141. medicEquipList = {
  1142. {objGUID = medicDeckGUID , pos = {-4.15,3,0.65}},
  1143. {objGUID = medicEquip01GUID , pos = {9.0,3,1.3}},
  1144. {objGUID = medicEquip02GUID , pos = {9.0,3,-3.2}},
  1145. }
  1146.  
  1147. medicCubeTable = {
  1148. {10.0,4,3},
  1149. {9.5,4,3},
  1150. {9,4,3},
  1151. {8.5,4,3},
  1152. {8.0,4,3},
  1153. }
  1154.  
  1155.  
  1156.  
  1157.  
  1158. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement