PageRenderTime 52ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/BuildingGym2.hx

http://portable-monsters.googlecode.com/
Haxe | 480 lines | 425 code | 49 blank | 6 comment | 47 complexity | 61b055545cafc5fcd907d371060b9275 MD5 | raw file
  1. import flash.display.Sprite;
  2. import flash.display.Bitmap;
  3. import flash.display.BitmapData;
  4. import flash.events.Event;
  5. import flash.events.KeyboardEvent;
  6. import flash.geom.Point;
  7. import flash.geom.Rectangle;
  8. import flash.utils.Timer;
  9. import haxe.Timer;
  10. import Images;
  11. import Kongregate;
  12. class BuildingGym2 extends Building{
  13. public static inline var MAX_TILE_SIZE:Int = 32;
  14. public function new(){
  15. super();
  16. Cost = 1000;
  17. ExitLocation.x = 12;ExitLocation.y = 69;
  18. MapDoorLocation.x = 12;MapDoorLocation.y = 68;
  19. //flash.Lib.current.addChild(this);
  20. // myTimer = new Timer(12);
  21. // myTimer.addEventListener("timer", OnEnter);
  22. // myTimer.start();
  23. }
  24. override public function initializeCharacters()
  25. {
  26. }
  27. override public function getTrainerNextLine()
  28. {
  29. currentTalkingStep++;
  30. if(currentTrainer.ID == 1)
  31. {
  32. if(!currentTrainer.Battled)
  33. {
  34. if(currentTalkingStep == 0)
  35. {
  36. Text.htmlText = "<font size='16'>I hate Water.</font>";
  37. }
  38. else
  39. {
  40. WorldMap.removeChild(TextBox);
  41. State = "BattleFlash1";
  42. currentTalkingStep = -1;
  43. }
  44. }
  45. else
  46. {
  47. if(currentTalkingStep == 0)
  48. {
  49. Text.htmlText = "<font size='16'>Fire is just so cool, who'd want to use anything else?</font>";
  50. }
  51. else
  52. {
  53. WorldMap.removeChild(TextBox);
  54. State = "Playing";
  55. currentTalkingStep = -1;
  56. currentTrainer = null;
  57. }
  58. }
  59. }
  60. if(currentTrainer.ID == 2)
  61. {
  62. if(!currentTrainer.Battled)
  63. {
  64. if(currentTalkingStep == 0)
  65. {
  66. Text.htmlText = "<font size='16'>This place used to be number one in the region, until an insane amount of new trainers started out with water types. It's all that Youth Center's fault! </font>";
  67. }
  68. else
  69. {
  70. WorldMap.removeChild(TextBox);
  71. State = "BattleFlash1";
  72. currentTalkingStep = -1;
  73. }
  74. }
  75. else
  76. {
  77. if(currentTalkingStep == 0)
  78. {
  79. Text.htmlText = "<font size='16'>Now I'm just a hack...</font>";
  80. }
  81. else
  82. {
  83. WorldMap.removeChild(TextBox);
  84. State = "Playing";
  85. currentTalkingStep = -1;
  86. currentTrainer = null;
  87. }
  88. }
  89. }
  90. if(currentTrainer.ID == 3)
  91. {
  92. if(!currentTrainer.Battled)
  93. {
  94. if(currentTalkingStep == 0)
  95. {
  96. Text.htmlText = "<font size='16'>I only cause pain for those around me. Like a wildfire spreading</font>";
  97. }
  98. else
  99. {
  100. WorldMap.removeChild(TextBox);
  101. State = "BattleFlash1";
  102. currentTalkingStep = -1;
  103. }
  104. }
  105. else
  106. {
  107. if(currentTalkingStep == 0)
  108. {
  109. Text.htmlText = "<font size='16'>They say fire can be used to create or destory. I wonder if that's true.</font>";
  110. }
  111. else
  112. {
  113. _backgroundMap[6][8] = -1;
  114. _backgroundMap[7][8] = -1;
  115. _backgroundMap[6][6] = -1;
  116. _backgroundMap[7][6] = -1;
  117. redraw();
  118. for(char in Characters)
  119. {
  120. drawGameObject(char, _foregroundBitmapData);
  121. }
  122. for(trainer in Trainers)
  123. {
  124. drawGameObject(trainer.Model, _foregroundBitmapData);
  125. }
  126. drawGameObject(_MainCharacterModel, _foregroundBitmapData);
  127. WorldMap.removeChild(TextBox);
  128. State = "Playing";
  129. currentTalkingStep = -1;
  130. currentTrainer = null;
  131. }
  132. }
  133. }
  134. if(currentTrainer.ID == 4)
  135. {
  136. if(!currentTrainer.Battled)
  137. {
  138. if(currentTalkingStep == 0)
  139. {
  140. Text.htmlText = "<font size='16'>Have you ever done something you regreted?</font>";
  141. }
  142. else
  143. {
  144. WorldMap.removeChild(TextBox);
  145. State = "BattleFlash1";
  146. currentTalkingStep = -1;
  147. }
  148. }
  149. else
  150. {
  151. if(currentTalkingStep == 0)
  152. {
  153. Text.htmlText = "<font size='16'>...</font>";
  154. }
  155. else if(currentTalkingStep == 1)
  156. {
  157. Text.htmlText = "<font size='16'>You recieved the Anger Badge.</font>";
  158. currentPlot.AngerBadge = true;
  159. }
  160. else
  161. {
  162. WorldMap.removeChild(TextBox);
  163. State = "Playing";
  164. currentTalkingStep = -1;
  165. currentTrainer = null;
  166. }
  167. }
  168. }
  169. }
  170. override public function startTrainerBattle(trainer:EnemyTrainer)
  171. {
  172. if(trainer.ID == 1)
  173. {
  174. _backgroundMap[5][6] = -1;
  175. }
  176. if(trainer.ID == 2)
  177. {
  178. _backgroundMap[4][7] = -1;
  179. }
  180. if(trainer.ID == 3)
  181. {
  182. _backgroundMap[5][8] = -1;
  183. }
  184. redraw();
  185. for(char in Characters)
  186. {
  187. drawGameObject(char, _foregroundBitmapData);
  188. }
  189. for(trainer in Trainers)
  190. {
  191. drawGameObject(trainer.Model, _foregroundBitmapData);
  192. }
  193. drawGameObject(_MainCharacterModel, _foregroundBitmapData);
  194. super.startTrainerBattle(trainer);
  195. }
  196. override public function initializeTrainers()
  197. {
  198. //
  199. var tileSheetColumn:Int = 3;
  200. var tileSheetRow:Int = 10;
  201. var Row = 5; var Column = 0;
  202. var TrainerModel = new TileModel
  203. (
  204. MAX_TILE_SIZE,
  205. tileSheetColumn, tileSheetRow,
  206. Row, Column,
  207. MAX_TILE_SIZE, MAX_TILE_SIZE
  208. );
  209. var RandomTrainer1 = new EnemyTrainer(TrainerModel);
  210. RandomTrainer1.ID = 1;
  211. RandomTrainer1.AvatarTile = 0106;
  212. RandomTrainer1.Model.direction = "right";
  213. RandomTrainer1.CurrentMonster = new Monster();
  214. RandomTrainer1.CurrentMonster.Character = "Ember Bug";
  215. RandomTrainer1.CurrentMonster.XP = 1000;
  216. RandomTrainer1.CurrentMonster.LevelUp();
  217. RandomTrainer1.addNewMonster(RandomTrainer1.CurrentMonster);
  218. var newMonster = new Monster();
  219. newMonster.Character = "Ember Bug";
  220. newMonster.XP = 1036;
  221. newMonster.LevelUp();
  222. RandomTrainer1.addNewMonster(newMonster);
  223. var newMonster = new Monster();
  224. newMonster.Character = "Ember Bug";
  225. newMonster.XP = 1082;
  226. newMonster.LevelUp();
  227. RandomTrainer1.addNewMonster(newMonster);
  228. _trainerMap[RandomTrainer1.Model.centerY][RandomTrainer1.Model.centerX] = RandomTrainer1.ID;
  229. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+1,RandomTrainer1.Model.centerY));
  230. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+2,RandomTrainer1.Model.centerY));
  231. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+3,RandomTrainer1.Model.centerY));
  232. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+4,RandomTrainer1.Model.centerY));
  233. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+5,RandomTrainer1.Model.centerY));
  234. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+6,RandomTrainer1.Model.centerY));
  235. RandomTrainer1.SightMap.add(new Point(RandomTrainer1.Model.centerX+7,RandomTrainer1.Model.centerY));
  236. var tileSheetColumn:Int = 2;
  237. var tileSheetRow:Int = 10;
  238. var Row = 0; var Column = 7;
  239. var TrainerModel = new TileModel
  240. (
  241. MAX_TILE_SIZE,
  242. tileSheetColumn, tileSheetRow,
  243. Row, Column,
  244. MAX_TILE_SIZE, MAX_TILE_SIZE
  245. );
  246. var RandomTrainer2 = new EnemyTrainer(TrainerModel);
  247. RandomTrainer2.ID = 2;
  248. RandomTrainer2.AvatarTile = 0107;
  249. RandomTrainer2.CurrentMonster = new Monster();
  250. RandomTrainer2.CurrentMonster.Character = "Ember Bug";
  251. RandomTrainer2.CurrentMonster.XP = 1082;
  252. RandomTrainer2.CurrentMonster.LevelUp();
  253. RandomTrainer2.addNewMonster(RandomTrainer2.CurrentMonster);
  254. var newMonster = new Monster();
  255. newMonster.Character = "Pyro Cat";
  256. newMonster.XP = 1130;
  257. newMonster.LevelUp();
  258. RandomTrainer2.addNewMonster(newMonster);
  259. var newMonster = new Monster();
  260. newMonster.Character = "Pyro Cat";
  261. newMonster.XP = 1130;
  262. newMonster.LevelUp();
  263. RandomTrainer2.addNewMonster(newMonster);
  264. _trainerMap[RandomTrainer2.Model.centerY][RandomTrainer2.Model.centerX] = RandomTrainer2.ID;
  265. RandomTrainer2.SightMap.add(new Point(RandomTrainer2.Model.centerX,RandomTrainer2.Model.centerY+5));
  266. var tileSheetColumn:Int = 4;
  267. var tileSheetRow:Int = 10;
  268. var Row = 5; var Column = 13;
  269. var TrainerModel = new TileModel
  270. (
  271. MAX_TILE_SIZE,
  272. tileSheetColumn, tileSheetRow,
  273. Row, Column,
  274. MAX_TILE_SIZE, MAX_TILE_SIZE
  275. );
  276. var RandomTrainer3 = new EnemyTrainer(TrainerModel);
  277. RandomTrainer3.ID = 3;
  278. RandomTrainer3.AvatarTile = 0207;
  279. RandomTrainer3.CurrentMonster = new Monster();
  280. RandomTrainer3.CurrentMonster.Character = "Flame Fox";
  281. RandomTrainer3.CurrentMonster.XP = 1485;
  282. RandomTrainer3.CurrentMonster.LevelUp();
  283. RandomTrainer3.addNewMonster(RandomTrainer3.CurrentMonster);
  284. _trainerMap[RandomTrainer3.Model.centerY][RandomTrainer3.Model.centerX] = RandomTrainer3.ID;
  285. RandomTrainer3.SightMap.add(new Point(RandomTrainer3.Model.centerX-6,RandomTrainer3.Model.centerY));
  286. RandomTrainer3.Model.direction = "left";
  287. Trainers.add(RandomTrainer3);
  288. Trainers.add(RandomTrainer2);
  289. Trainers.add(RandomTrainer1);
  290. var tileSheetColumn:Int = 4;
  291. var tileSheetRow:Int = 9;
  292. var Row = 0; var Column = 19;
  293. var TrainerModel = new TileModel
  294. (
  295. MAX_TILE_SIZE,
  296. tileSheetColumn, tileSheetRow,
  297. Row, Column,
  298. MAX_TILE_SIZE, MAX_TILE_SIZE
  299. );
  300. var GymLeader = new EnemyTrainer(TrainerModel);
  301. GymLeader.ID = 4;
  302. GymLeader.AvatarTile = 0206;
  303. Trainers.add(GymLeader);
  304. GymLeader.CurrentMonster = new Monster();
  305. GymLeader.CurrentMonster.Character = "Fire Bat";
  306. GymLeader.CurrentMonster.XP = 1771;
  307. GymLeader.CurrentMonster.LevelUp();
  308. GymLeader.addNewMonster(GymLeader.CurrentMonster);
  309. _trainerMap[GymLeader.Model.centerY][GymLeader.Model.centerX] = GymLeader.ID;
  310. }
  311. public override function checkBoundaries()
  312. {
  313. var maxX = (MAP_COLUMNS * MAX_TILE_SIZE);
  314. var minX = 0;
  315. if (_MainCharacterModel.xPos + (_MainCharacterModel.width) > maxX)
  316. {
  317. _MainCharacterModel.setX = maxX - (_MainCharacterModel.width);
  318. _MainCharacterModel.vx = 0;
  319. }
  320. else if (_MainCharacterModel.xPos < minX)
  321. {
  322. _MainCharacterModel.setX = minX;
  323. _MainCharacterModel.vx = 0;
  324. }
  325. var maxY = (MAP_ROWS * MAX_TILE_SIZE);
  326. var minY = 0;
  327. if (_MainCharacterModel.yPos <= minY )
  328. {
  329. _MainCharacterModel.setY = minY;
  330. _MainCharacterModel.vy = 0;
  331. }
  332. else if (_MainCharacterModel.yPos + _MainCharacterModel.height >= maxY)
  333. {
  334. _MainCharacterModel.setY = maxY - _MainCharacterModel.height;
  335. _MainCharacterModel.vy = 0;
  336. }
  337. }
  338. override public function LoadMapData()
  339. {
  340. MAP_COLUMNS = 20;
  341. MAP_ROWS = 10;
  342. MAP_WIDTH = 20;
  343. MAP_HEIGHT = 10;
  344. _terrainBitmapData = new BitmapData(MAP_COLUMNS * MAX_TILE_SIZE,
  345. MAP_ROWS * MAX_TILE_SIZE, true, 0);
  346. _terrainBitmap = new Bitmap(_terrainBitmapData);
  347. _backgroundBitmapData = new BitmapData(MAP_COLUMNS * MAX_TILE_SIZE,
  348. MAP_ROWS * MAX_TILE_SIZE, true, 0);
  349. _backgroundBitmap = new Bitmap(_backgroundBitmapData);
  350. _frontBitmapData = new BitmapData(MAP_COLUMNS * MAX_TILE_SIZE,
  351. MAP_ROWS * MAX_TILE_SIZE, true, 0);
  352. _frontBitmap = new Bitmap(_frontBitmapData);
  353. _doorsBitmapData = new BitmapData(MAP_COLUMNS * MAX_TILE_SIZE,
  354. MAP_ROWS * MAX_TILE_SIZE, true, 0);
  355. _doorsBitmap = new Bitmap(_doorsBitmapData);
  356. _itemsBitmapData = new BitmapData(MAP_COLUMNS * MAX_TILE_SIZE,
  357. MAP_ROWS * MAX_TILE_SIZE, true, 0);
  358. _itemsBitmap = new Bitmap(_itemsBitmapData);
  359. _foregroundBitmapData = new BitmapData(MAP_COLUMNS * MAX_TILE_SIZE,
  360. MAP_ROWS * MAX_TILE_SIZE, true, 0);
  361. _foregroundBitmap = new Bitmap(_foregroundBitmapData);
  362. _backgroundMap =
  363. [
  364. [-100,-100,-100,-100,-100,RTIL,RTIL,-100,RTIL,RTIL,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100],
  365. [-100,-100,-100,-100,-100,RTIL,RTIL,-100,RTIL,RTIL,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100],
  366. [-100,-100,-100,-100,RTIL,RTIL,RTIL,-100,RTIL,RTIL,RTIL,-100,-100,-100,-100,-100,-100,-100,-100,-100],
  367. [RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,-100,-100,-199,RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,-100,-100,-100,-100],
  368. [RTIL,RTIL,RTIL,RTIL,RTIL,-100,-100,FEDN,-100,-100,RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,-100,-100,-100,-100],
  369. [-100,-100,-100,-100,-100,-100,FERT,-100,FELT,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100],
  370. [RTIL,RTIL,RTIL,RTIL,RTIL,-100,FERT,-100,FELT,-100,RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,-100,-100,-100,-100],
  371. [RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,FERT,-100,FELT,RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,RTIL,-100,-100,-100,-100],
  372. [-100,-100,-100,-100,RTIL,RTIL,RTIL,-100,RTIL,RTIL,RTIL,-100,-100,-100,-100,-100,-100,-100,-100,-100],
  373. [-100,-100,-100,-100,-100,RTIL,RTIL,-100,RTIL,RTIL,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100]
  374. ];
  375. _doorsMap =
  376. [
  377. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  378. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  379. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  380. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  381. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  382. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  383. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  384. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  385. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  386. [-1,-1,-1,-1,-1,-1,-1,EXIT,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]
  387. ];
  388. _frontMap =
  389. [
  390. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  391. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  392. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  393. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  394. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  395. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  396. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  397. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  398. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  399. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]
  400. ];
  401. _terrainMap =
  402. [
  403. // 01 02 03 04 05 06 07 08 09 10
  404. /*01*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  405. /*02*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  406. /*03*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  407. /*04*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  408. /*05*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  409. /*06*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  410. /*07*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  411. /*08*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  412. /*09*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR],
  413. /*10*/[OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR,OFLR]
  414. ];
  415. _gameObjectMap =
  416. [
  417. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  418. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  419. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  420. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  421. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  422. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  423. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  424. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  425. [-1,-1,-1,-1,-1,-1,-1,MAIN,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
  426. [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]
  427. ];
  428. buildItems();
  429. initBlankArrays();
  430. }
  431. }