Timers and other features for Heroes of the Storm
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

317 lines
7.4 KiB

  1. /*
  2. * Copyright © 2021 Adrien Agez <adrien.agez@pm.me>
  3. *
  4. * This file is part of Nexus Timers.
  5. *
  6. * Nexus Timers is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU Affero General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Nexus Timers is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU Affero General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Affero General Public License
  17. * along with Nexus Timers. If not, see <https://www.gnu.org/licenses/>.
  18. */
  19. /**
  20. * This file contains informations about all the battlegrounds of the game
  21. * It includes informations about all objectives and camps, and will define the layout of the battleground page
  22. *
  23. * The 'objectives' field is an array, each item being an array representing a line on the battleground page
  24. */
  25. import { CAMPS, MAP } from './objectives'
  26. // TODO adjust camp size, especially on BoE, Blackheart, Gardens, Towers
  27. const BLUE = 'blue side'
  28. const RED = 'red side'
  29. const TOP = 'top'
  30. const BOT = 'bottom'
  31. export default {
  32. alteracPass: {
  33. name: 'Alterac Pass',
  34. backgroundUrl: '/static/backgrounds/alterac-pass.jpg',
  35. objectives: [
  36. [
  37. MAP.cavalryPrison
  38. ],
  39. [
  40. {...CAMPS.iceGiant, position: TOP}
  41. ],
  42. [
  43. {...CAMPS.gnolls, position: BLUE},
  44. {...CAMPS.gnolls, position: RED}
  45. ],
  46. [
  47. {...CAMPS.iceGiant, position: BOT}
  48. ]
  49. ]
  50. },
  51. battlefieldOfEternity: {
  52. name: 'Battlefield of Eternity',
  53. backgroundUrl: '/static/backgrounds/battlefield-of-eternity.jpg',
  54. objectives: [
  55. [
  56. MAP.immortals
  57. ],
  58. [
  59. {...CAMPS.impalers, position: TOP}
  60. ],
  61. [
  62. {...CAMPS.shamans, position: BLUE},
  63. {...CAMPS.shamans, position: RED}
  64. ],
  65. [
  66. {...CAMPS.impalers, position: BOT}
  67. ]
  68. ]
  69. },
  70. blackheartSBay: {
  71. name: "Blackheart's Bay",
  72. backgroundUrl: '/static/backgrounds/blackhearts-bay.jpg',
  73. objectives: [
  74. [
  75. CAMPS.graveGolem
  76. ],
  77. [
  78. {...CAMPS.knights, position: BLUE},
  79. {...CAMPS.knights, position: RED}
  80. ],
  81. [
  82. {...CAMPS.skeletalPirates, position: BLUE},
  83. {...CAMPS.skeletalPirates, position: RED}
  84. ],
  85. [
  86. {...CAMPS.giants, position: BLUE},
  87. {...CAMPS.giants, position: RED}
  88. ],
  89. [
  90. {...CAMPS.knights, position: BOT}
  91. ]
  92. ]
  93. },
  94. gardenOfTerror: {
  95. name: 'Garden of Terror',
  96. backgroundUrl: '/static/backgrounds/garden-of-terror.jpg',
  97. objectives: [
  98. [
  99. {...CAMPS.giants, position: 'blue top'},
  100. {...CAMPS.knights, position: RED}
  101. ],
  102. [
  103. {...CAMPS.giants, position: 'red top'}
  104. ],
  105. [
  106. {...CAMPS.giants, position: 'blue bottom'}
  107. ],
  108. [
  109. {...CAMPS.knights, position: BLUE},
  110. {...CAMPS.giants, position: 'red bottom'}
  111. ]
  112. ]
  113. },
  114. hanamuraTemple: {
  115. name: 'Hanamura Temple',
  116. backgroundUrl: '/static/backgrounds/hanamura.jpg',
  117. objectives: [
  118. [
  119. {...CAMPS.fortifiaction, position: TOP}
  120. ],
  121. [
  122. {...CAMPS.recon, position: BLUE},
  123. {...CAMPS.sentinel, position: RED}
  124. ],
  125. [
  126. {...CAMPS.sentinel, position: BLUE},
  127. {...CAMPS.recon, position: RED}
  128. ],
  129. [
  130. {...CAMPS.fortifiaction, position: BOT}
  131. ]
  132. ]
  133. },
  134. volskayaFoundry: {
  135. name: 'Volskaya Foundry',
  136. backgroundUrl: '/static/backgrounds/volskaya.jpg',
  137. objectives: [
  138. [
  139. MAP.capturePoints
  140. ],
  141. [
  142. {...CAMPS.sentinel, position: BLUE},
  143. CAMPS.support,
  144. {...CAMPS.sentinel, position: RED}
  145. ],
  146. [
  147. {...CAMPS.fortifiaction, position: BLUE},
  148. {...CAMPS.fortifiaction, position: RED}
  149. ]
  150. ]
  151. },
  152. hauntedMines: {
  153. name: 'Haunted Mines',
  154. objectives: [
  155. [
  156. {
  157. name: 'Get this map back into the game',
  158. initialSpawnTime: 31104000
  159. }
  160. ]
  161. ]
  162. },
  163. towersOfDoom: {
  164. name: 'Towers of Doom',
  165. backgroundUrl: '/static/backgrounds/towers-of-doom.jpg',
  166. objectives: [
  167. [
  168. MAP.altars
  169. ],
  170. [
  171. {...CAMPS.sappers, position: TOP}
  172. ],
  173. [
  174. {...CAMPS.headlessHorseman}
  175. ],
  176. [
  177. {...CAMPS.sappers, position: BLUE},
  178. {...CAMPS.sappers, position: RED}
  179. ]
  180. ]
  181. },
  182. infernalShrines: {
  183. name: 'Infernal Shrines',
  184. backgroundUrl: '/static/backgrounds/infernal-shrines.jpg',
  185. objectives: [
  186. [
  187. MAP.shrine
  188. ],
  189. [
  190. {...CAMPS.shamans, position: BLUE},
  191. {...CAMPS.shamans, position: RED}
  192. ],
  193. [
  194. {...CAMPS.impalers, position: BLUE},
  195. {...CAMPS.impalers, position: RED}
  196. ],
  197. [
  198. {...CAMPS.impalers, position: BOT}
  199. ]
  200. ]
  201. },
  202. tombOfTheSpiderQueen: {
  203. name: 'Tomb of the Spider Queen',
  204. backgroundUrl: '/static/backgrounds/tomb-of-spider-queen.jpg',
  205. objectives: [
  206. [
  207. CAMPS.sandGolem
  208. ],
  209. [
  210. {...CAMPS.knights, position: BLUE},
  211. {...CAMPS.knights, position: RED}
  212. ],
  213. [
  214. CAMPS.giants
  215. ]
  216. ]
  217. },
  218. skyTemple: {
  219. name: 'Sky Temple',
  220. backgroundUrl: '/static/backgrounds/sky-temple.jpg',
  221. objectives: [
  222. [
  223. MAP.temples
  224. ],
  225. [
  226. {...CAMPS.knights, position: BLUE},
  227. {...CAMPS.knights, position: RED}
  228. ],
  229. [
  230. {...CAMPS.sandGolem}
  231. ],
  232. [
  233. {...CAMPS.giants, position: BLUE},
  234. {...CAMPS.giants, position: RED}
  235. ]
  236. ]
  237. },
  238. dragonShire: {
  239. name: 'Dragon Shire',
  240. backgroundUrl: '/static/backgrounds/dragon-shire.jpg',
  241. objectives: [
  242. [
  243. MAP.dragon
  244. ],
  245. [
  246. {...CAMPS.knights, position: BLUE},
  247. {...CAMPS.knights, position: RED}
  248. ],
  249. [
  250. {...CAMPS.giants, position: BLUE},
  251. {...CAMPS.giants, position: RED}
  252. ]
  253. ]
  254. },
  255. cursedHollow: {
  256. name: 'Cursed Hollow',
  257. backgroundUrl: '/static/backgrounds/cursed-hollow.jpg',
  258. objectives: [
  259. [
  260. {...CAMPS.graveGolem, position: RED}
  261. ],
  262. [
  263. {...CAMPS.giants, position: BLUE},
  264. {...CAMPS.knights, position: RED}
  265. ],
  266. [
  267. {...CAMPS.knights, position: BLUE},
  268. {...CAMPS.giants, position: RED}
  269. ],
  270. [
  271. {...CAMPS.graveGolem, position: BLUE}
  272. ]
  273. ]
  274. },
  275. braxisHoldout: {
  276. name: 'Braxis Holdout',
  277. backgroundUrl: '/static/backgrounds/braxis-holdout.jpg',
  278. objectives: [
  279. [
  280. {...CAMPS.goliaths, position: BLUE},
  281. {...CAMPS.hellbats, position: RED}
  282. ],
  283. [
  284. CAMPS.archangel
  285. ],
  286. [
  287. {...CAMPS.hellbats, position: BLUE},
  288. {...CAMPS.goliaths, position: RED}
  289. ]
  290. ]
  291. },
  292. warheadJunction: {
  293. name: 'Warhead Junction',
  294. backgroundUrl: '/static/backgrounds/warhead-junction.jpg',
  295. objectives: [
  296. [
  297. {...CAMPS.slime, position: TOP}
  298. ],
  299. [
  300. {...CAMPS.goliaths, position: BLUE},
  301. {...CAMPS.goliaths, position: RED}
  302. ],
  303. [
  304. {...CAMPS.hellbats, position: BLUE},
  305. {...CAMPS.hellbats, position: RED}
  306. ],
  307. [
  308. {...CAMPS.slime, position: BOT}
  309. ]
  310. ]
  311. }
  312. }