coh-content-db-homecoming 2.0.0-rc.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/.github/workflows/build.yml +1 -1
  2. package/CHANGELOG.md +8 -1
  3. package/README.md +32 -15
  4. package/dist/bundle.head.json +1 -1
  5. package/dist/bundle.json +1 -1
  6. package/dist/coh-content-db-homecoming.js +1421 -187
  7. package/dist/coh-content-db-homecoming.js.map +1 -1
  8. package/dist/coh-content-db-homecoming.mjs +1422 -188
  9. package/dist/coh-content-db-homecoming.mjs.map +1 -1
  10. package/jest.config.mjs +4 -0
  11. package/package.json +18 -18
  12. package/src/main/resources/images/badges/accolade/mazebreaker.png +0 -0
  13. package/src/main/resources/images/badges/accomplishment/brass-tax.png +0 -0
  14. package/src/main/resources/images/badges/accomplishment/business-savvy.png +0 -0
  15. package/src/main/resources/images/badges/accomplishment/chromatic-combatant.png +0 -0
  16. package/src/main/resources/images/badges/accomplishment/front-person.png +0 -0
  17. package/src/main/resources/images/badges/accomplishment/generational-trauma.png +0 -0
  18. package/src/main/resources/images/badges/accomplishment/heart-of-gold.png +0 -0
  19. package/src/main/resources/images/badges/accomplishment/justified-ends.png +0 -0
  20. package/src/main/resources/images/badges/accomplishment/psychopomp.png +0 -0
  21. package/src/main/resources/images/badges/accomplishment/staring-into-the-abyss.png +0 -0
  22. package/src/main/resources/images/badges/accomplishment/tested-by-combat.png +0 -0
  23. package/src/main/resources/images/badges/accomplishment/thicker-than-water.png +0 -0
  24. package/src/main/resources/images/badges/accomplishment/truth-seeker.png +0 -0
  25. package/src/main/resources/images/badges/accomplishment/uncomfortable-truths.png +0 -0
  26. package/src/main/resources/images/badges/achievement/master-of-zoes-task-force.png +0 -0
  27. package/src/main/resources/images/badges/achievement/tf-zoe.png +0 -0
  28. package/src/main/resources/images/badges/achievement/variety-act-h.png +0 -0
  29. package/src/main/resources/images/badges/achievement/variety-act-v.png +0 -0
  30. package/src/main/resources/images/badges/defeat/mutated-marauder.png +0 -0
  31. package/src/main/resources/images/badges/defeat/peacekeeper.png +0 -0
  32. package/src/main/resources/images/badges/defeat/two-birds-one-stone.png +0 -0
  33. package/src/main/resources/images/badges/event/home-for-the-holidays.png +0 -0
  34. package/src/main/resources/images/badges/event/hypothermia.png +0 -0
  35. package/src/main/resources/images/badges/event/license-to-chill.png +0 -0
  36. package/src/main/ts/badge/accolade/_accolade-badges.ts +4 -0
  37. package/src/main/ts/badge/accolade/atlas-tour-guide.ts +2 -2
  38. package/src/main/ts/badge/accolade/between-realities.ts +1 -1
  39. package/src/main/ts/badge/accolade/mazebreaker.ts +23 -0
  40. package/src/main/ts/badge/accolade/protector-of-paragon-city.ts +2 -2
  41. package/src/main/ts/badge/accolade/the-prettiest-one.ts +33 -0
  42. package/src/main/ts/badge/accolade/walked-down-memory-lane.ts +2 -2
  43. package/src/main/ts/badge/accomplishment/_accomplishment-badges.ts +26 -0
  44. package/src/main/ts/badge/accomplishment/brass-tax.ts +20 -0
  45. package/src/main/ts/badge/accomplishment/business-savvy.ts +19 -0
  46. package/src/main/ts/badge/accomplishment/chromatic-combatant.ts +17 -0
  47. package/src/main/ts/badge/accomplishment/front-person.ts +19 -0
  48. package/src/main/ts/badge/accomplishment/generational-trauma.ts +21 -0
  49. package/src/main/ts/badge/accomplishment/heart-of-gold.ts +19 -0
  50. package/src/main/ts/badge/accomplishment/justified-ends.ts +19 -0
  51. package/src/main/ts/badge/accomplishment/psychopomp.ts +20 -0
  52. package/src/main/ts/badge/accomplishment/staring-into-the-abyss.ts +20 -0
  53. package/src/main/ts/badge/accomplishment/tested-by-combat.ts +17 -0
  54. package/src/main/ts/badge/accomplishment/thicker-than-water.ts +19 -0
  55. package/src/main/ts/badge/accomplishment/truth-seeker.ts +20 -0
  56. package/src/main/ts/badge/accomplishment/uncomfortable-truths.ts +20 -0
  57. package/src/main/ts/badge/achievement/_achievement-badges.ts +12 -0
  58. package/src/main/ts/badge/achievement/cataclysmic.ts +1 -1
  59. package/src/main/ts/badge/achievement/decimator.ts +1 -1
  60. package/src/main/ts/badge/achievement/eliminator.ts +1 -1
  61. package/src/main/ts/badge/achievement/eradicator.ts +1 -1
  62. package/src/main/ts/badge/achievement/executioner.ts +1 -1
  63. package/src/main/ts/badge/achievement/jailbreaker.ts +17 -0
  64. package/src/main/ts/badge/achievement/knockback-king.ts +20 -0
  65. package/src/main/ts/badge/achievement/master-of-zoes-task-force.ts +26 -0
  66. package/src/main/ts/badge/achievement/relentless.ts +1 -1
  67. package/src/main/ts/badge/achievement/snow-warning.ts +17 -0
  68. package/src/main/ts/badge/achievement/subterranean-striker.ts +17 -0
  69. package/src/main/ts/badge/achievement/until-the-end-of-the-world.ts +1 -1
  70. package/src/main/ts/badge/defeat/_defeat-badges.ts +6 -0
  71. package/src/main/ts/badge/defeat/mutated-marauder.ts +17 -0
  72. package/src/main/ts/badge/defeat/peacekeeper.ts +21 -0
  73. package/src/main/ts/badge/defeat/two-birds-one-stone.ts +17 -0
  74. package/src/main/ts/badge/event/_event-badges.ts +46 -46
  75. package/src/main/ts/badge/event/home-for-the-holidays.ts +1 -1
  76. package/src/main/ts/badge/event/hypothermia.ts +1 -1
  77. package/src/main/ts/badge/event/license-to-chill.ts +1 -1
  78. package/src/main/ts/badge/event/snowbound.ts +1 -1
  79. package/src/main/ts/badge/exploration/_exploration-badges.ts +10 -2
  80. package/src/main/ts/badge/exploration/fueled-by-greed.ts +21 -0
  81. package/src/main/ts/badge/exploration/in-their-prime.ts +22 -0
  82. package/src/main/ts/badge/exploration/lucid-dreamer.ts +20 -0
  83. package/src/main/ts/badge/exploration/marked-out.ts +19 -0
  84. package/src/main/ts/badge/exploration/on-the-shoulders-of-giants.ts +1 -1
  85. package/src/main/ts/badge/exploration/protest-too-much.ts +20 -0
  86. package/src/main/ts/badge/exploration/quay-to-the-city.ts +22 -0
  87. package/src/main/ts/badge/exploration/raving-mad.ts +19 -0
  88. package/src/main/ts/badge/exploration/tourist-trapped.ts +20 -0
  89. package/src/main/ts/badge/exploration/tried-and-true.ts +2 -2
  90. package/src/main/ts/badge/gladiator/mob-specialist.ts +1 -1
  91. package/src/main/ts/badge/history/_history-badges.ts +6 -0
  92. package/src/main/ts/badge/history/bicentennial.ts +1 -1
  93. package/src/main/ts/badge/history/christie-consolidation.ts +92 -0
  94. package/src/main/ts/badge/history/flagtown-memorialist.ts +68 -0
  95. package/src/main/ts/badge/history/patron-of-the-arts.ts +49 -0
  96. package/src/main/ts/contact/_contacts.ts +14 -0
  97. package/src/main/ts/contact/adelard-ziegler.ts +12 -0
  98. package/src/main/ts/contact/alexander-the-great.ts +12 -0
  99. package/src/main/ts/contact/dap-dap-tha-deal-maka.ts +12 -0
  100. package/src/main/ts/contact/erin-west.ts +12 -0
  101. package/src/main/ts/contact/robert-kogan.ts +12 -0
  102. package/src/main/ts/contact/wyllie-galloway.ts +12 -0
  103. package/src/main/ts/contact/zoe-langston.ts +12 -0
  104. package/src/main/ts/homecoming.ts +1 -1
  105. package/src/main/ts/mission/_missions.ts +14 -0
  106. package/src/main/ts/mission/cutting-back-old-growth.ts +18 -0
  107. package/src/main/ts/mission/death-resurrected.ts +19 -0
  108. package/src/main/ts/mission/hunting-the-hunters.ts +18 -0
  109. package/src/main/ts/mission/know-thy-enemy.ts +18 -0
  110. package/src/main/ts/mission/mergers-and-acquisitions.ts +18 -0
  111. package/src/main/ts/mission/the-sunlight-and-the-spotlight.ts +18 -0
  112. package/src/main/ts/mission/zoe-task-force.ts +14 -0
  113. package/src/main/ts/zone/_zones.ts +0 -2
  114. package/src/main/ts/zone/abandoned-sewer-network.ts +3 -0
  115. package/src/main/ts/zone/abandoned-sewers-trial.ts +3 -0
  116. package/src/main/ts/zone/architect-entertainment-buildings.ts +1 -0
  117. package/src/main/ts/zone/arena-cage-match.ts +2 -0
  118. package/src/main/ts/zone/atlas-park.ts +3 -0
  119. package/src/main/ts/zone/black-shroud-dimension.ts +5 -1
  120. package/src/main/ts/zone/bloody-bay.ts +3 -0
  121. package/src/main/ts/zone/boomtown.ts +3 -0
  122. package/src/main/ts/zone/breakout.ts +3 -0
  123. package/src/main/ts/zone/brickstown.ts +3 -0
  124. package/src/main/ts/zone/cap-au-diable.ts +3 -0
  125. package/src/main/ts/zone/cascade-archipelago.ts +3 -0
  126. package/src/main/ts/zone/cimerora.ts +3 -0
  127. package/src/main/ts/zone/creys-folly.ts +3 -0
  128. package/src/main/ts/zone/croatoa.ts +3 -0
  129. package/src/main/ts/zone/dark-astoria.ts +3 -0
  130. package/src/main/ts/zone/echo-atlas-park.ts +7 -1
  131. package/src/main/ts/zone/echo-dark-astoria.ts +3 -0
  132. package/src/main/ts/zone/echo-faultline.ts +7 -1
  133. package/src/main/ts/zone/echo-galaxy-city.ts +3 -0
  134. package/src/main/ts/zone/echo-rikti-crash-site.ts +4 -1
  135. package/src/main/ts/zone/eden.ts +3 -0
  136. package/src/main/ts/zone/faultline.ts +3 -0
  137. package/src/main/ts/zone/firebase-zulu.ts +3 -0
  138. package/src/main/ts/zone/first-ward.ts +3 -0
  139. package/src/main/ts/zone/founders-falls.ts +3 -0
  140. package/src/main/ts/zone/grandville.ts +3 -0
  141. package/src/main/ts/zone/hydra-missions.ts +7 -1
  142. package/src/main/ts/zone/imperial-city.ts +3 -0
  143. package/src/main/ts/zone/independence-port.ts +3 -0
  144. package/src/main/ts/zone/kallisti-wharf.ts +4 -0
  145. package/src/main/ts/zone/kings-row.ts +3 -0
  146. package/src/main/ts/zone/mayhem-atlas-park.ts +3 -0
  147. package/src/main/ts/zone/mayhem-brickstown.ts +3 -0
  148. package/src/main/ts/zone/mayhem-founders-falls.ts +3 -0
  149. package/src/main/ts/zone/mayhem-independence-port.ts +3 -0
  150. package/src/main/ts/zone/mayhem-kings-row.ts +3 -0
  151. package/src/main/ts/zone/mayhem-peregrine-island.ts +3 -0
  152. package/src/main/ts/zone/mayhem-skyway-city.ts +3 -0
  153. package/src/main/ts/zone/mayhem-steel-canyon.ts +3 -0
  154. package/src/main/ts/zone/mayhem-talos-island.ts +3 -0
  155. package/src/main/ts/zone/mercy-island.ts +3 -0
  156. package/src/main/ts/zone/midnighter-club.ts +3 -0
  157. package/src/main/ts/zone/monster-island.ts +3 -0
  158. package/src/main/ts/zone/nerva-archipelago.ts +3 -0
  159. package/src/main/ts/zone/neutropolis.ts +3 -0
  160. package/src/main/ts/zone/night-ward.ts +3 -0
  161. package/src/main/ts/zone/nova-praetoria.ts +3 -0
  162. package/src/main/ts/zone/ouroboros.ts +3 -0
  163. package/src/main/ts/zone/paragon-dance-party.ts +3 -0
  164. package/src/main/ts/zone/peregrine-island.ts +3 -0
  165. package/src/main/ts/zone/perez-park.ts +3 -0
  166. package/src/main/ts/zone/phone.ts +2 -0
  167. package/src/main/ts/zone/pocket-d.ts +3 -0
  168. package/src/main/ts/zone/port-oakes.ts +3 -0
  169. package/src/main/ts/zone/recluses-victory.ts +3 -0
  170. package/src/main/ts/zone/rikti-war-zone.ts +3 -0
  171. package/src/main/ts/zone/safeguard-atlas-park.ts +3 -0
  172. package/src/main/ts/zone/safeguard-brickstown.ts +3 -0
  173. package/src/main/ts/zone/safeguard-founders-falls.ts +3 -0
  174. package/src/main/ts/zone/safeguard-independence-port.ts +3 -0
  175. package/src/main/ts/zone/safeguard-kings-row.ts +3 -0
  176. package/src/main/ts/zone/safeguard-peregrine-island.ts +3 -0
  177. package/src/main/ts/zone/safeguard-skyway-city.ts +3 -0
  178. package/src/main/ts/zone/safeguard-steel-canyon.ts +3 -0
  179. package/src/main/ts/zone/safeguard-talos-island.ts +3 -0
  180. package/src/main/ts/zone/sewer-network.ts +3 -0
  181. package/src/main/ts/zone/sharkhead-isle.ts +3 -0
  182. package/src/main/ts/zone/sirens-call.ts +3 -0
  183. package/src/main/ts/zone/skyway-city.ts +3 -0
  184. package/src/main/ts/zone/st-martial.ts +3 -0
  185. package/src/main/ts/zone/steel-canyon.ts +3 -0
  186. package/src/main/ts/zone/striga-isle.ts +3 -0
  187. package/src/main/ts/zone/studio-55.ts +6 -1
  188. package/src/main/ts/zone/talos-island.ts +3 -0
  189. package/src/main/ts/zone/terra-volta.ts +3 -0
  190. package/src/main/ts/zone/the-abyss.ts +3 -0
  191. package/src/main/ts/zone/the-chantry.ts +3 -0
  192. package/src/main/ts/zone/the-hive.ts +3 -0
  193. package/src/main/ts/zone/the-hollows.ts +3 -0
  194. package/src/main/ts/zone/the-labyrinth-of-fog.ts +3 -0
  195. package/src/main/ts/zone/the-storm-palace.ts +3 -0
  196. package/src/main/ts/zone/underground-imperial.ts +3 -0
  197. package/src/main/ts/zone/underground-neutropolis.ts +3 -0
  198. package/src/main/ts/zone/underground-nova.ts +3 -0
  199. package/src/main/ts/zone/warburg.ts +3 -0
  200. package/src/test/ts/link-tests.test.ts +1 -1
  201. package/src/test/ts/mission.test.ts +20 -0
  202. package/src/main/ts/zone/praetoria.ts +0 -7
  203. /package/src/main/resources/images/badges/event/{winter-login.png → snowbound.png} +0 -0
  204. /package/src/main/{lint/utils/rollup-replace.ts → ts/utils/bundle-metadata.ts} +0 -0
@@ -8,7 +8,7 @@ export const MobSpecialist: BadgeData = {
8
8
  releaseDate: '2012-11-30',
9
9
  morality: 'heroic',
10
10
  badgeText: 'Crey has authorized these men for your Arena teams.',
11
- acquisition: 'Defeat 200 Prisoner Bosses.',
11
+ acquisition: 'Defeat 100 Prisoner Bosses.',
12
12
  links: [
13
13
  { title: 'Mob Specialist Badge', href: 'https://homecoming.wiki/wiki/Mob_Specialist_Badge' },
14
14
  ],
@@ -26,6 +26,9 @@ import { Technofreak } from './technofreak'
26
26
  import { TheLastWord } from './the-last-word'
27
27
  import { Bicentennial } from './bicentennial'
28
28
  import { GreekPhilosopher } from './greek-philosopher'
29
+ import { ChristieConsolidation } from './christie-consolidation'
30
+ import { FlagtownMemorialist } from './flagtown-memorialist'
31
+ import { PatronOfTheArts } from './patron-of-the-arts'
29
32
 
30
33
  export const HISTORY_BADGES: BadgeData[] = [
31
34
  Lorekeeper,
@@ -55,4 +58,7 @@ export const HISTORY_BADGES: BadgeData[] = [
55
58
  Alumnus,
56
59
  Bicentennial,
57
60
  GreekPhilosopher,
61
+ PatronOfTheArts,
62
+ FlagtownMemorialist,
63
+ ChristieConsolidation,
58
64
  ]
@@ -150,7 +150,7 @@ This plaque memorializes the citizens of Paragon City, whether powered or not, w
150
150
  {
151
151
  key: 'bicn-8',
152
152
  type: 'monument',
153
- location: { zoneKey: KallistiWharf.key, coords: [5337.95, 50.95, 4543.9], icon: 'plaque', iconText: '1' },
153
+ location: { zoneKey: KallistiWharf.key, coords: [2380, 56, 1132], icon: 'plaque', iconText: '1' },
154
154
  monumentText: `On June 28, 1969, American police raided the gay bar known as the Stonewall Inn in Lower Manhattan, NYC.
155
155
  This would trigger a violent riot that would spark the flame of progress all across the United States of America.
156
156
  Paragon City was not excluded from this sweeping push for progress, with both civilians and heroes making a stand side-by-side and campaigning for equal rights for gay, lesbian, bisexual, and transgender individuals across the nation.
@@ -0,0 +1,92 @@
1
+ import { BadgeData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../../zone/kallisti-wharf'
3
+
4
+ export const ChristieConsolidation: BadgeData = {
5
+ type: 'history',
6
+ key: 'christie-consolidation',
7
+ setTitleId: [2558],
8
+ name: 'Christie Consolidation',
9
+ releaseDate: '2025-06-17',
10
+ morality: 'all',
11
+ badgeText: `You have read up on the many gambles that Emil Christie has taken to recover the Wharf after the Rikti War.`,
12
+ links: [
13
+ { title: 'Christie Consolidation Badge', href: 'https://homecoming.wiki/wiki/Christie_Consolidation_Badge' },
14
+ ],
15
+ icon: 'https://n15g.github.io/coh-content-db-homecoming/images/badges/history/history-h.png',
16
+ requirements: [
17
+ {
18
+ key: 'chri-0',
19
+ type: 'monument',
20
+ location: { zoneKey: KallistiWharf.key, coords: [6080.9, 80, 1031.6], icon: 'pedestal', iconText: '3' },
21
+ monumentText: `Welcome, Paragonian, to Kallisti Wharf! If you are reading this, then you most likely just came down from the local tram line that Emil Christie lobbied for personally.
22
+ As one of the first directives to restoring the Wharf, Mr. Christie spent considerable time and influence getting tram service reconnected to our district.`,
23
+ },
24
+ {
25
+ key: 'chri-1',
26
+ type: 'monument',
27
+ location: { zoneKey: KallistiWharf.key, coords: [5793.3, 66.78, 1726.2], icon: 'pedestal', iconText: '4' },
28
+ monumentText: `This area of the city may look familiar to you. If you think you saw it on ClikClak as a viral meme, you're right!
29
+ During a field test for self-driving cars, Christie Consolidated discovered and isolated a bug in the LIDAR recognition of its Autonomous Drive Software, but not before everyone started calling out the infamous 'Carnado' on social media.
30
+ We want to reiterate that nobody was hurt, and the only damage occurred to CC's own vehicles!`,
31
+ },
32
+ {
33
+ key: 'chri-2',
34
+ type: 'monument',
35
+ location: { zoneKey: KallistiWharf.key, coords: [7356, 77.7, 527.5], icon: 'plaque', iconText: '2' },
36
+ monumentText: `It was an easy decision to allow Vanguard a residency in our district. With the rich history, booming tech sector, and scars of the Rikti War here in the Wharf, Vanguard set up an office here as soon as recovery efforts had concluded.
37
+ Vanguard has been crucial in acclimating the influx of Praetorian Refugees - a safehouse policy that Mr. Christie launched as soon as the Praetorian War ended. Earth for Humans!`,
38
+ },
39
+ {
40
+ key: 'chri-3',
41
+ type: 'monument',
42
+ location: { zoneKey: KallistiWharf.key, coords: [7141.8, 57, 2650], icon: 'pedestal', iconText: '5' },
43
+ monumentText: `When Emil Christie was looking to rebuild the Wharf, corporate patronage was at the top of his priority list.
44
+ Crey Biotech was one of the first in line, along with Hero Corps and Langston, to help rebuild the area. Now, these twin pillars of progress stand tall to remind us that Kallisti Wharf will endure!`,
45
+ },
46
+ {
47
+ key: 'chri-4',
48
+ type: 'monument',
49
+ location: { zoneKey: KallistiWharf.key, coords: [5782.5, 53, 4698.9], icon: 'plaque', iconText: '6' },
50
+ monumentText: `'Integrity Above All' was the motto that the PPD of Kallisti Wharf used to live by.
51
+ But in the years after the Rikti War, more than 80 percent of the force was commuting into the area and none of the top brass were local sons and daughters of the community.
52
+ As such, the PPD transformed into a rather cold and authoritative force within the Wharf, lacking the ability to truly understand the community they were trying to protect.
53
+ Despite efforts to reform, the city nearly caught fire when Kieran Holt died within the walls of the Precinct in 2008.
54
+ Emil Christie sought for a peaceful solution, but could not placate the residents who had lived through so much since the Rikti War and riots seemed inevitable.
55
+ As a compromise, he contracted with Blackwing Industries, a low-profile corporate paramilitary peacekeeping force, with specific instructions to integrate with the community they were to protect.
56
+ Crime is down 46 percent over the last 5 years, and polls show that residents regard Blackwing as a pivotal reason for their peace of mind.`,
57
+ },
58
+ {
59
+ key: 'chri-5',
60
+ type: 'monument',
61
+ location: { zoneKey: KallistiWharf.key, coords: [1550, 66, 4720], icon: 'plaque', iconText: '7' },
62
+ monumentText: `The Adamstown Infirmary was built during World War I and expanded during World War II to help care for soldiers who were shipped home with injuries when nearby Fort Steuben ran out of space to house them.
63
+ The infirmary later served the role of a field hospital during the Rikti War. Emil Christie confirmed its status as a protected historical site, and it still operates to this day as emergency care for super and non-super citizens alike.`,
64
+ },
65
+ {
66
+ key: 'chri-6',
67
+ type: 'monument',
68
+ location: { zoneKey: KallistiWharf.key, coords: [580.7, 60.8, 4698.9], icon: 'pedestal', iconText: '8' },
69
+ monumentText: `The Old Slough began as a communal field for Adamstown, known for its murky pond and fertile soil.
70
+ The shipping business in Kallisti Wharf may have been collapsing in the 1930s and 40s, but it was being rapidly replaced with industry.
71
+ Factories began to pop up across Old Slough, replacing its dairy farms. Seemingly overnight the Slough was building planes, tanks, and weapons, eventually consuming every last bit of the old field, until all that remained was the name.
72
+ This area too plunged into poverty during the decline in the 1970s, punctuated by the fire at Manny's Gas Station that took the life of Luigi 'Lou' Spagnolo and sounded a death knell for the community in the area.`,
73
+ },
74
+ {
75
+ key: 'chri-7',
76
+ type: 'monument',
77
+ location: { zoneKey: KallistiWharf.key, coords: [666.5, 71, 3750.8], icon: 'plaque', iconText: '9' },
78
+ monumentText: `Halsted Aeronautics made this site their home in 1974, and was field testing VTOL for public transit until 1986.
79
+ The company went belly-up after a disastrous field test that claimed the lives of three test pilots and a film crew at the Marina docks.
80
+ The assets were sold off to various companies and to the Paragon Transit Authority, who used some of their tech for the buses that run day and night in Paragon City.
81
+ Christie Consolidated championed the LIDAR research and developed it for self-driving cars. Langston Corporation settled in this building in 2018, and the sweet smell of chocolate can be found in the air on Tuesdays and Fridays.`,
82
+ },
83
+ {
84
+ key: 'chri-8',
85
+ type: 'monument',
86
+ location: { zoneKey: KallistiWharf.key, coords: [1719.4, 13, -79], icon: 'pedestal', iconText: '10' },
87
+ monumentText: `Welcome, friend, to Kallisti Wharf! If you are reading this, then you're probably still trying to lose your sea legs after a nice relaxing boat ride from outside the walls.
88
+ If you look out to the Northern walls of the district, you'll see the massive War-Wall sea gates that allow for marine trade and travel.
89
+ Another district improvement that Mr. Christie lobbied for to help restore the Wharf and its community!`,
90
+ },
91
+ ],
92
+ }
@@ -0,0 +1,68 @@
1
+ import { BadgeData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../../zone/kallisti-wharf'
3
+
4
+ export const FlagtownMemorialist: BadgeData = {
5
+ type: 'history',
6
+ key: 'flagtown-memorialist',
7
+ setTitleId: [2557],
8
+ name: 'Flagtown Memorialist',
9
+ releaseDate: '2025-06-17',
10
+ morality: 'all',
11
+ badgeText: `You are now considered an academic in the history of Flagtown in Kallisti Wharf.`,
12
+ links: [
13
+ { title: 'Flagtown Memorialist Badge', href: 'https://homecoming.wiki/wiki/Flagtown_Memorialist_Badge' },
14
+ ],
15
+ icon: 'https://n15g.github.io/coh-content-db-homecoming/images/badges/history/history-h.png',
16
+ requirements: [
17
+ {
18
+ key: 'flag-0',
19
+ type: 'monument',
20
+ location: { zoneKey: KallistiWharf.key, coords: [6642.4, 71, 1663.6], icon: 'plaque', iconText: '11' },
21
+ monumentText: `This hospital is dedicated to Dr. Padma Wadkar, a.k.a. Brightshield. Her glowing shield was often seen as a beacon of hope in a dark world.
22
+ During the Rikti bombing of Flagtown, Brightshield ushered as many people as she could through a portal that she opened to a safer area of the city.
23
+ The Rikti first tried to destroy her with ordnance from their dropships, and when they failed, they sent ground troops after her amidst the carnage.
24
+ In solemn remembrance and gratitude for her sacrifice, Emil Christie dedicated the new hospital to her memory, so that we may never forget her.`,
25
+ },
26
+ {
27
+ key: 'flag-1',
28
+ type: 'monument',
29
+ location: { zoneKey: KallistiWharf.key, coords: [6083.7, 47, 2714.6], icon: 'pedestal', iconText: '12' },
30
+ monumentText: `Flagtown is the metropolitan area that once took up most of the West Bank.
31
+ Like its East Bank counterpart, it was built up heavily in the 1910s and 1920s as a major commercial shipping port, and fell into decline during the 1930s.
32
+ It saw some revitalization during the war as factories popped up and replaced many of its warehouses, but it's one constant throughout all of that was Fort Steuben, which took up the lower third of the area, where the Paragon Trade Center now stands.`,
33
+ },
34
+ {
35
+ key: 'flag-2',
36
+ type: 'monument',
37
+ location: { zoneKey: KallistiWharf.key, coords: [7286.4, 55.5, 3581.4], icon: 'plaque', iconText: '13' },
38
+ monumentText: `Fort Steuben was closed in the 1970s, however it was reactivated during the Rikti War as a forward base of operations, flying the flag once again outside its gates.
39
+ When the base proved itself to be a more serious threat than much of the rest of the city, the Rikti utilized drop ships to bomb the entire West Bank into dust, annihilating Fort Steuben and the rest of Flagtown along with it.
40
+ On the morning of the second Rikti assault wave, the flagpole came down at 7:34 A.M., a time that most residents remember as the time hope faltered.`,
41
+ },
42
+ {
43
+ key: 'flag-3',
44
+ type: 'monument',
45
+ location: { zoneKey: KallistiWharf.key, coords: [6977, 65, 3917.7], icon: 'pedestal', iconText: '15' },
46
+ monumentText: `Before the park was built, a military base proudly stood here for almost a hundred years.
47
+ Fort Steuben was named for Baron Friedrich Wilhelm von Steuben, a Prussian-American who served in the continental army during the revolutionary war and taught basic military drills and tactics.
48
+ Appropriately, Fort Steuben was a training base founded in the late 19th century by the US Army.
49
+ It trained many of the men who fought during both World Wars. Its chief landmark was an immense 300 foot high flag pole that could be seen from anywhere in the Wharf, from which Flagtown got its name.`,
50
+ },
51
+ {
52
+ key: 'flag-4',
53
+ type: 'monument',
54
+ location: { zoneKey: KallistiWharf.key, coords: [6930.1, 66.8, 4279.7], icon: 'plaque', iconText: '16' },
55
+ monumentText: `Flagtown Memorial Park was built on the site of the former gates to Fort Steuben, where the eponymous flag once stood.
56
+ Enshrined there is an eternal flame and a memorial wall with the names of all the dead and missing that were lost when Flagtown was destroyed.
57
+ Many residents who still remember the recovery efforts call this time the 'Sleepless Nights', an homage to a popular song sung by an unnamed street performer from Theatre Row who would sing to the survivors and the rescue crews every night for three weeks to keep their morale high.`,
58
+ },
59
+ {
60
+ key: 'flag-5',
61
+ type: 'monument',
62
+ location: { zoneKey: KallistiWharf.key, coords: [6404.9, 70, 3917.6], icon: 'pedestal', iconText: '14' },
63
+ monumentText: `This section of the city, New Flagtown, is a dedicated residential complex consisting largely of high-rise apartments that can house thousands.
64
+ When Emil Christie sold off the various properties in the area, he made sure that the new owners were bound by contracts which ensured the housing was affordable, and that anyone who previously lived in Flagtown prior to its destruction and survived could move back.
65
+ Very few took the offer, as the scars of the Rikti War and the destruction of Flagtown ran deep, but there are some who live among its towers of steel and glass that remember.`,
66
+ },
67
+ ],
68
+ }
@@ -0,0 +1,49 @@
1
+ import { BadgeData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../../zone/kallisti-wharf'
3
+
4
+ export const PatronOfTheArts: BadgeData = {
5
+ type: 'history',
6
+ key: 'patron-of-the-arts',
7
+ setTitleId: [2556],
8
+ name: 'Patron of the Arts',
9
+ releaseDate: '2025-06-17',
10
+ morality: 'all',
11
+ badgeText: `You are considered a Patron of the Arts for showing a vested interest in Theatre Row and its struggles through the past and present century.`,
12
+ links: [
13
+ { title: 'Patron of the Arts Badge', href: 'https://homecoming.wiki/wiki/Patron_of_the_Arts_Badge' },
14
+ ],
15
+ icon: 'https://n15g.github.io/coh-content-db-homecoming/images/badges/history/history-h.png',
16
+ requirements: [
17
+ {
18
+ key: 'patr-0',
19
+ type: 'monument',
20
+ location: { zoneKey: KallistiWharf.key, coords: [1997.9, 47.5, 423], icon: 'plaque', iconText: '20' },
21
+ monumentText: `Theatre Row was a place of fashion and culture for decades. It truly rose to fame in the 1910s and 1920s when Kallisti Wharf was booming with trade, shipping, and immigration.
22
+ It was renowned for its unique street food, art festivals, and numerous theaters, quickly developing into a major tourist trap.
23
+ By the late 1930s the Paragon Showcase sprang up, a rival film festival to the nascent Cannes and Venice Film Festivals.`,
24
+ },
25
+ {
26
+ key: 'patr-1',
27
+ type: 'monument',
28
+ location: { zoneKey: KallistiWharf.key, coords: [1308.5, 18.4, 923], icon: 'plaque', iconText: '19' },
29
+ monumentText: `In the aftermath of Mark Maxwell's corruption case, Emil Christie sought to bring back some positivity and good will to the area.
30
+ The site was sold to David 'Odysseus' Hill and his foundation as a philanthropic endeavor to build the area up as a nod to the Greek immigrants that settled it.
31
+ The plans are to have a multi-faceted entertainment complex in the form of a traditional colosseum, which can also be converted within hours to be a forum for live outdoor theater.
32
+ This about-face for the area won Emil Christie his re-election handily.`,
33
+ },
34
+ {
35
+ key: 'patr-2',
36
+ type: 'monument',
37
+ location: { zoneKey: KallistiWharf.key, coords: [1837.5, 42, 1208.9], icon: 'pedestal', iconText: '18' },
38
+ monumentText: `In the early 2000s, there was a movement to revitalize the area, but the Rikti War put an end to that when Flagtown and much of the Wharf were devastated, plunging the area into a depression.
39
+ Some years later, several of the theaters were bought by land tycoon Mark Maxwell after a tense set of townhall forums.`,
40
+ },
41
+ {
42
+ key: 'patr-3',
43
+ type: 'monument',
44
+ location: { zoneKey: KallistiWharf.key, coords: [1954.8, 48.5, 1685.5], icon: 'plaque', iconText: '17' },
45
+ monumentText: `In the early 1950s, a string of corruption and tax fraud charges at the Showcase sent it spiraling into bankruptcy, tarnishing the reputation of the area.
46
+ The Row began its long decline, and the street for which it was named fell fully into disrepair during the 1970s. Most of the theatres were abandoned and condemned, a haven for squatters and the criminals who preyed upon them.`,
47
+ },
48
+ ],
49
+ }
@@ -3,11 +3,13 @@ import { ContactData } from 'coh-content-db'
3
3
  import { AaronThiery } from './aaron-thiery'
4
4
  import { AaronWalker } from './aaron-walker'
5
5
  import { AdaWellington } from './ada-wellington'
6
+ import { AdelardZiegler } from './adelard-ziegler'
6
7
  import { AdmiralSutter } from './admiral-sutter'
7
8
  import { AgentG } from './agent-g'
8
9
  import { AgentHassell } from './agent-hassell'
9
10
  import { AgentWatkins } from './agent-watkins'
10
11
  import { AlecParson } from './alec-parson'
12
+ import { AlexanderTheGreat } from './alexander-the-great'
11
13
  import { AndreaMitchell } from './andrea-mitchell'
12
14
  import { AndrewFiore } from './andrew-fiore'
13
15
  import { AngeloVendetti } from './angelo-vendetti'
@@ -43,6 +45,7 @@ import { Cleopatra } from './cleopatra'
43
45
  import { Crimson } from './crimson'
44
46
  import { Crow } from './crow'
45
47
  import { DJZero } from './dj-zero'
48
+ import { DapDapThaDealMaka } from './dap-dap-tha-deal-maka'
46
49
  import { DarkWatcher } from './dark-watcher'
47
50
  import { DarrenWade } from './darren-wade'
48
51
  import { DavidWincott } from './david-wincott'
@@ -71,6 +74,7 @@ import { DreamDoctor } from './dream-doctor'
71
74
  import { EagleEye } from './eagle-eye'
72
75
  import { EfficiencyExpertPither } from './efficiency-expert-pither'
73
76
  import { ElizaThorpe } from './eliza-thorpe'
77
+ import { ErinWest } from './erin-west'
74
78
  import { ErnestoHess } from './ernesto-hess'
75
79
  import { FaathimTheKind } from './faathim-the-kind'
76
80
  import { FatherTime } from './father-time'
@@ -185,6 +189,7 @@ import { Ractespriel } from './ractespriel'
185
189
  import { Reese } from './reese'
186
190
  import { Ricochet } from './ricochet'
187
191
  import { RobertFlores } from './robert-flores'
192
+ import { RobertKogan } from './robert-kogan'
188
193
  import { RoyCooling } from './roy-cooling'
189
194
  import { SaraMoore } from './sara-moore'
190
195
  import { Scirocco } from './scirocco'
@@ -236,16 +241,20 @@ import { Warrant } from './warrant'
236
241
  import { WillyWheeler } from './willy-wheeler'
237
242
  import { WilmaPeterson } from './wilma-peterson'
238
243
  import { Woodsman } from './woodsman'
244
+ import { WyllieGalloway } from './wyllie-galloway'
245
+ import { ZoeLangston } from './zoe-langston'
239
246
 
240
247
  export const CONTACTS: ContactData[] = [
241
248
  AaronThiery,
242
249
  AaronWalker,
243
250
  AdaWellington,
251
+ AdelardZiegler,
244
252
  AdmiralSutter,
245
253
  AgentG,
246
254
  AgentHassell,
247
255
  AgentWatkins,
248
256
  AlecParson,
257
+ AlexanderTheGreat,
249
258
  AndreaMitchell,
250
259
  AndrewFiore,
251
260
  AngeloVendetti,
@@ -281,6 +290,7 @@ export const CONTACTS: ContactData[] = [
281
290
  Crimson,
282
291
  Crow,
283
292
  DJZero,
293
+ DapDapThaDealMaka,
284
294
  DarkWatcher,
285
295
  DarrenWade,
286
296
  DavidWincott,
@@ -309,6 +319,7 @@ export const CONTACTS: ContactData[] = [
309
319
  EagleEye,
310
320
  EfficiencyExpertPither,
311
321
  ElizaThorpe,
322
+ ErinWest,
312
323
  ErnestoHess,
313
324
  FaathimTheKind,
314
325
  FatherTime,
@@ -423,6 +434,7 @@ export const CONTACTS: ContactData[] = [
423
434
  Reese,
424
435
  Ricochet,
425
436
  RobertFlores,
437
+ RobertKogan,
426
438
  RoyCooling,
427
439
  SaraMoore,
428
440
  Scirocco,
@@ -474,4 +486,6 @@ export const CONTACTS: ContactData[] = [
474
486
  WillyWheeler,
475
487
  WilmaPeterson,
476
488
  Woodsman,
489
+ WyllieGalloway,
490
+ ZoeLangston,
477
491
  ]
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const AdelardZiegler: ContactData = {
5
+ key: 'adelard-ziegler',
6
+ name: 'Adelard Ziegler',
7
+ title: 'International Intelligence Liaison',
8
+ morality: 'heroic',
9
+ location: { zoneKey: KallistiWharf.key, coords: [6072, 65, 1304] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: 'Adelard Ziegler', href: 'https://homecoming.wiki/wiki/Adelard_Ziegler' }],
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const AlexanderTheGreat: ContactData = {
5
+ key: 'alexander-the-great',
6
+ name: 'Alexander the Great',
7
+ title: 'Ex-Warrior',
8
+ morality: 'rogue',
9
+ location: { zoneKey: KallistiWharf.key, coords: [2147.2, 11.9, -423.5] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: 'Alexander the Great', href: 'https://homecoming.wiki/wiki/Alexander_the_Great' }],
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const DapDapThaDealMaka: ContactData = {
5
+ key: 'dap-dap-tha-deal-maka',
6
+ name: 'Dap-Dap tha Deal-Maka',
7
+ title: 'Acquisition Specialist',
8
+ morality: 'villainous',
9
+ location: { zoneKey: KallistiWharf.key, coords: [1578, 47, 4995] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: 'Dap-Dap tha Deal-Maka', href: 'https://homecoming.wiki/wiki/Dap-Dap_tha_Deal-Maka' }],
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const ErinWest: ContactData = {
5
+ key: 'erin-west',
6
+ name: 'Erin West',
7
+ title: 'Public Relations Specialist',
8
+ morality: 'rogue',
9
+ location: { zoneKey: KallistiWharf.key, coords: [7213, 55, 2649] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: 'Erin West', href: 'https://homecoming.wiki/wiki/Erin_West' }],
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const RobertKogan: ContactData = {
5
+ key: 'robert-kogan',
6
+ name: 'Robert Kogan',
7
+ title: 'Nil',
8
+ morality: 'vigilante',
9
+ location: { zoneKey: KallistiWharf.key, coords: [1789, 57, 3436] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: 'Robert Kogan', href: 'https://homecoming.wiki/wiki/Robert_Kogan' }],
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const WyllieGalloway: ContactData = {
5
+ key: 'wyllie-galloway',
6
+ name: 'Wyllie Galloway',
7
+ title: 'Mystic Librarian',
8
+ morality: 'heroic',
9
+ location: { zoneKey: KallistiWharf.key, coords: [3564, 84, 3295] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: 'Wyllie Galloway', href: 'https://homecoming.wiki/wiki/Wyllie_Galloway' }],
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ContactData } from 'coh-content-db'
2
+ import { KallistiWharf } from '../zone/kallisti-wharf'
3
+
4
+ export const ZoeLangston: ContactData = {
5
+ key: 'zoe-langston',
6
+ name: `Marigold 'Zoe' Langston`,
7
+ title: 'Heiress to the Langston Dynasty',
8
+ morality: 'all',
9
+ location: { zoneKey: KallistiWharf.key, coords: [475, -280, 3899] },
10
+ levelRange: [40, 50],
11
+ links: [{ title: `Marigold 'Zoe' Langston`, href: `https://homecoming.wiki/wiki/Zoe_Langston` }],
12
+ }
@@ -3,7 +3,7 @@ import { ZONES } from './zone/_zones'
3
3
  import { BADGES } from './badge/_badges'
4
4
  import { CONTACTS } from './contact/_contacts'
5
5
  import { MISSIONS } from './mission/_missions'
6
- import { BUNDLE_UPDATE_TIME, BUNDLE_VERSION } from '../lint/utils/rollup-replace'
6
+ import { BUNDLE_UPDATE_TIME, BUNDLE_VERSION } from './utils/bundle-metadata'
7
7
 
8
8
  export const HOMECOMING: BundleData = {
9
9
  header: {
@@ -39,7 +39,9 @@ import { CollateralDamage } from './collateral-damage'
39
39
  import { CorpWars } from './corp-wars'
40
40
  import { CriminalsOfWar } from './criminals-of-war'
41
41
  import { CrossingOver } from './crossing-over'
42
+ import { CuttingBackOldGrowth } from './cutting-back-old-growth'
42
43
  import { DeathFromBelow } from './death-from-below'
44
+ import { DeathResurrected } from './death-resurrected'
43
45
  import { DefeatMarauderAndDestroyThePortal } from './defeat-marauder-and-destroy-the-portal'
44
46
  import { DefeatSelestar } from './defeat-selestar'
45
47
  import { DestinyFollows } from './destiny-follows'
@@ -84,6 +86,7 @@ import { HigherPurpose } from './higher-purpose'
84
86
  import { HippocraticOath } from './hippocratic-oath'
85
87
  import { HitList } from './hit-list'
86
88
  import { HonorTheFallen } from './honor-the-fallen'
89
+ import { HuntingTheHunters } from './hunting-the-hunters'
87
90
  import { HurtTheTraitorousVendettiRetainer } from './hurt-the-traitorous-vendetti-retainer'
88
91
  import { IDestroyThereforeIAm } from './i-destroy-therefore-i-am'
89
92
  import { ILostMyDaddy } from './i-lost-my-daddy'
@@ -102,6 +105,7 @@ import { KeyesIslandReactorTrial } from './keyes-island-reactor-trial'
102
105
  import { KickLongbowOutOfBase } from './kick-longbow-out-of-base'
103
106
  import { KidnapDiocletian } from './kidnap-diocletian'
104
107
  import { KillerInstinct } from './killer-instinct'
108
+ import { KnowThyEnemy } from './know-thy-enemy'
105
109
  import { LambdaSectorTrial } from './lambda-sector-trial'
106
110
  import { LastRites } from './last-rites'
107
111
  import { LayDownYourBurdens } from './lay-down-your-burdens'
@@ -115,6 +119,7 @@ import { MagisteriumTrial } from './magisterium-trial'
115
119
  import { ManticoreTaskForce } from './manticore-task-force'
116
120
  import { MarketCrashTrial } from './market-crash-trial'
117
121
  import { MeMyselfAndMyOtherSelves } from './me-myself-and-my-other-selves'
122
+ import { MergersAndAcquisitions } from './mergers-and-acquisitions'
118
123
  import { MidnightDrawsNear } from './midnight-draws-near'
119
124
  import { MidnightsHand } from './midnights-hand'
120
125
  import { MindFreedom } from './mind-freedom'
@@ -230,6 +235,7 @@ import { TheShiningStarsWithFriendsLikeThese } from './the-shining-stars-with-fr
230
235
  import { TheSpiritCityOfHequat } from './the-spirit-city-of-hequat'
231
236
  import { TheStrangeCaseOfBenjaminADecker } from './the-strange-case-of-benjamin-a-decker'
232
237
  import { TheStrongSurvive } from './the-strong-survive'
238
+ import { TheSunlightAndTheSpotlight } from './the-sunlight-and-the-spotlight'
233
239
  import { TheSurge } from './the-surge'
234
240
  import { TheTrashCollectors } from './the-trash-collectors'
235
241
  import { TheTruthHurts } from './the-truth-hurts'
@@ -268,6 +274,7 @@ import { WhatWasBuiltUponthePast } from './what-was-built-upon-the-past'
268
274
  import { WhatWasLost } from './what-was-lost'
269
275
  import { WhoNeedsEnemies } from './who-needs-enemies'
270
276
  import { YouCantGoHome } from './you-cant-go-home'
277
+ import { ZoeTaskForce } from './zoe-task-force'
271
278
 
272
279
  export const MISSIONS: MissionData[] = [
273
280
  AFaultlineInTheSandsOfTime,
@@ -310,6 +317,7 @@ export const MISSIONS: MissionData[] = [
310
317
  CriminalsOfWar,
311
318
  CrossingOver,
312
319
  DeathFromBelow,
320
+ DeathResurrected,
313
321
  DefeatMarauderAndDestroyThePortal,
314
322
  DefeatSelestar,
315
323
  DestinyFollows,
@@ -538,4 +546,10 @@ export const MISSIONS: MissionData[] = [
538
546
  WhatWasLost,
539
547
  WhoNeedsEnemies,
540
548
  YouCantGoHome,
549
+ MergersAndAcquisitions,
550
+ CuttingBackOldGrowth,
551
+ TheSunlightAndTheSpotlight,
552
+ KnowThyEnemy,
553
+ HuntingTheHunters,
554
+ ZoeTaskForce,
541
555
  ]
@@ -0,0 +1,18 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { ErinWest } from '../contact/erin-west'
3
+
4
+ export const CuttingBackOldGrowth: MissionData = {
5
+ key: 'cutting-back-old-growth',
6
+ name: 'Cutting Back Old Growth',
7
+ type: 'story-arc',
8
+ morality: 'rogue',
9
+ contactKeys: ErinWest.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'Cutting Back Old Growth', href: 'https://homecoming.wiki/wiki/Erin_West#Cutting_Back_Old_Growth' },
13
+ ],
14
+ flashback: {
15
+ id: '28.03',
16
+ levelRange: [50],
17
+ },
18
+ }
@@ -0,0 +1,19 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { WyllieGalloway } from '../contact/wyllie-galloway'
3
+
4
+ export const DeathResurrected: MissionData = {
5
+ key: 'death-resurrected',
6
+ name: 'Death Resurrected',
7
+ type: 'story-arc',
8
+ morality: 'heroic',
9
+ contactKeys: WyllieGalloway.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'Death Resurrected', href: `https://homecoming.wiki/wiki/Wyllie_Galloway#Death_Resurrected` },
13
+ ],
14
+ flashback: {
15
+ id: '28.04',
16
+ levelRange: [50],
17
+ morality: 'heroic',
18
+ },
19
+ }
@@ -0,0 +1,18 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { AdelardZiegler } from '../contact/adelard-ziegler'
3
+
4
+ export const HuntingTheHunters: MissionData = {
5
+ key: 'hunting-the-hunters',
6
+ name: 'Hunting the Hunters',
7
+ type: 'story-arc',
8
+ morality: 'heroic',
9
+ contactKeys: AdelardZiegler.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'Hunting the Hunters', href: 'https://homecoming.wiki/wiki/Adelard_Ziegler#Hunting_the_Hunters' },
13
+ ],
14
+ flashback: {
15
+ id: '28.06',
16
+ levelRange: [50],
17
+ },
18
+ }
@@ -0,0 +1,18 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { AlexanderTheGreat } from '../contact/alexander-the-great'
3
+
4
+ export const KnowThyEnemy: MissionData = {
5
+ key: 'know-thy-enemy',
6
+ name: 'Know Thy Enemy',
7
+ type: 'story-arc',
8
+ morality: 'heroic',
9
+ contactKeys: AlexanderTheGreat.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'Know Thy Enemy', href: 'https://homecoming.wiki/wiki/Alexander_the_Great#Know_Thy_Enemy' },
13
+ ],
14
+ flashback: {
15
+ id: '28.04',
16
+ levelRange: [50],
17
+ },
18
+ }
@@ -0,0 +1,18 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { DapDapThaDealMaka } from '../contact/dap-dap-tha-deal-maka'
3
+
4
+ export const MergersAndAcquisitions: MissionData = {
5
+ key: 'mergers-and-acquisitions',
6
+ name: 'Mergers and Acquisitions',
7
+ type: 'story-arc',
8
+ morality: 'villainous',
9
+ contactKeys: DapDapThaDealMaka.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'Mergers and Acquisitions', href: 'https://homecoming.wiki/wiki/Dap-Dap_tha_Deal-Maka#Mergers_and_Acquisitions' },
13
+ ],
14
+ flashback: {
15
+ id: '28.02',
16
+ levelRange: [50],
17
+ },
18
+ }
@@ -0,0 +1,18 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { RobertKogan } from '../contact/robert-kogan'
3
+
4
+ export const TheSunlightAndTheSpotlight: MissionData = {
5
+ key: 'the-sunlight-and-the-spotlight',
6
+ name: 'The Sunlight and the Spotlight',
7
+ type: 'story-arc',
8
+ morality: 'vigilante',
9
+ contactKeys: RobertKogan.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'The Sunlight and the Spotlight', href: 'https://homecoming.wiki/wiki/Robert_Kogan#The_Sunlight_and_the_Spotlight' },
13
+ ],
14
+ flashback: {
15
+ id: '28.04',
16
+ levelRange: [50],
17
+ },
18
+ }
@@ -0,0 +1,14 @@
1
+ import { MissionData } from 'coh-content-db'
2
+ import { ZoeLangston } from '../contact/zoe-langston'
3
+
4
+ export const ZoeTaskForce: MissionData = {
5
+ key: 'zoe-task-force',
6
+ name: 'Zoe Task Force',
7
+ type: 'task-force',
8
+ morality: 'all',
9
+ contactKeys: ZoeLangston.key,
10
+ levelRange: [40, 50],
11
+ links: [
12
+ { title: 'Zoe Task Force', href: 'https://homecoming.wiki/wiki/Zoe_Task_Force' },
13
+ ],
14
+ }