coh-content-db-homecoming 2.0.0-rc.12 → 2.0.0-rc.14

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 (102) hide show
  1. package/.github/workflows/build.yml +1 -1
  2. package/CHANGELOG.md +4 -1
  3. package/README.md +9 -6
  4. package/dist/bundle.head.json +1 -1
  5. package/dist/bundle.json +1 -1
  6. package/dist/coh-content-db-homecoming.js +419 -164
  7. package/dist/coh-content-db-homecoming.js.map +1 -1
  8. package/dist/coh-content-db-homecoming.mjs +420 -165
  9. package/dist/coh-content-db-homecoming.mjs.map +1 -1
  10. package/package.json +18 -18
  11. package/src/main/ts/badge/accolade/atlas-tour-guide.ts +2 -2
  12. package/src/main/ts/badge/accolade/walked-down-memory-lane.ts +2 -2
  13. package/src/main/ts/badge/event/_event-badges.ts +46 -46
  14. package/src/main/ts/badge/history/christie-consolidation.ts +1 -1
  15. package/src/main/ts/zone/_zones.ts +0 -2
  16. package/src/main/ts/zone/abandoned-sewer-network.ts +3 -0
  17. package/src/main/ts/zone/abandoned-sewers-trial.ts +3 -0
  18. package/src/main/ts/zone/architect-entertainment-buildings.ts +1 -0
  19. package/src/main/ts/zone/arena-cage-match.ts +2 -0
  20. package/src/main/ts/zone/atlas-park.ts +3 -0
  21. package/src/main/ts/zone/black-shroud-dimension.ts +5 -1
  22. package/src/main/ts/zone/bloody-bay.ts +3 -0
  23. package/src/main/ts/zone/boomtown.ts +3 -0
  24. package/src/main/ts/zone/breakout.ts +3 -0
  25. package/src/main/ts/zone/brickstown.ts +3 -0
  26. package/src/main/ts/zone/cap-au-diable.ts +3 -0
  27. package/src/main/ts/zone/cascade-archipelago.ts +3 -0
  28. package/src/main/ts/zone/cimerora.ts +3 -0
  29. package/src/main/ts/zone/creys-folly.ts +3 -0
  30. package/src/main/ts/zone/croatoa.ts +3 -0
  31. package/src/main/ts/zone/dark-astoria.ts +3 -0
  32. package/src/main/ts/zone/echo-atlas-park.ts +7 -1
  33. package/src/main/ts/zone/echo-dark-astoria.ts +3 -0
  34. package/src/main/ts/zone/echo-faultline.ts +7 -1
  35. package/src/main/ts/zone/echo-galaxy-city.ts +3 -0
  36. package/src/main/ts/zone/echo-rikti-crash-site.ts +4 -1
  37. package/src/main/ts/zone/eden.ts +3 -0
  38. package/src/main/ts/zone/faultline.ts +3 -0
  39. package/src/main/ts/zone/firebase-zulu.ts +3 -0
  40. package/src/main/ts/zone/first-ward.ts +3 -0
  41. package/src/main/ts/zone/founders-falls.ts +3 -0
  42. package/src/main/ts/zone/grandville.ts +3 -0
  43. package/src/main/ts/zone/hydra-missions.ts +7 -1
  44. package/src/main/ts/zone/imperial-city.ts +3 -0
  45. package/src/main/ts/zone/independence-port.ts +3 -0
  46. package/src/main/ts/zone/kallisti-wharf.ts +4 -0
  47. package/src/main/ts/zone/kings-row.ts +3 -0
  48. package/src/main/ts/zone/mayhem-atlas-park.ts +3 -0
  49. package/src/main/ts/zone/mayhem-brickstown.ts +3 -0
  50. package/src/main/ts/zone/mayhem-founders-falls.ts +3 -0
  51. package/src/main/ts/zone/mayhem-independence-port.ts +3 -0
  52. package/src/main/ts/zone/mayhem-kings-row.ts +3 -0
  53. package/src/main/ts/zone/mayhem-peregrine-island.ts +3 -0
  54. package/src/main/ts/zone/mayhem-skyway-city.ts +3 -0
  55. package/src/main/ts/zone/mayhem-steel-canyon.ts +3 -0
  56. package/src/main/ts/zone/mayhem-talos-island.ts +3 -0
  57. package/src/main/ts/zone/mercy-island.ts +3 -0
  58. package/src/main/ts/zone/midnighter-club.ts +3 -0
  59. package/src/main/ts/zone/monster-island.ts +3 -0
  60. package/src/main/ts/zone/nerva-archipelago.ts +3 -0
  61. package/src/main/ts/zone/neutropolis.ts +3 -0
  62. package/src/main/ts/zone/night-ward.ts +3 -0
  63. package/src/main/ts/zone/nova-praetoria.ts +3 -0
  64. package/src/main/ts/zone/ouroboros.ts +3 -0
  65. package/src/main/ts/zone/paragon-dance-party.ts +3 -0
  66. package/src/main/ts/zone/peregrine-island.ts +3 -0
  67. package/src/main/ts/zone/perez-park.ts +3 -0
  68. package/src/main/ts/zone/phone.ts +2 -0
  69. package/src/main/ts/zone/pocket-d.ts +3 -0
  70. package/src/main/ts/zone/port-oakes.ts +3 -0
  71. package/src/main/ts/zone/recluses-victory.ts +3 -0
  72. package/src/main/ts/zone/rikti-war-zone.ts +3 -0
  73. package/src/main/ts/zone/safeguard-atlas-park.ts +3 -0
  74. package/src/main/ts/zone/safeguard-brickstown.ts +3 -0
  75. package/src/main/ts/zone/safeguard-founders-falls.ts +3 -0
  76. package/src/main/ts/zone/safeguard-independence-port.ts +3 -0
  77. package/src/main/ts/zone/safeguard-kings-row.ts +3 -0
  78. package/src/main/ts/zone/safeguard-peregrine-island.ts +3 -0
  79. package/src/main/ts/zone/safeguard-skyway-city.ts +3 -0
  80. package/src/main/ts/zone/safeguard-steel-canyon.ts +3 -0
  81. package/src/main/ts/zone/safeguard-talos-island.ts +3 -0
  82. package/src/main/ts/zone/sewer-network.ts +3 -0
  83. package/src/main/ts/zone/sharkhead-isle.ts +3 -0
  84. package/src/main/ts/zone/sirens-call.ts +3 -0
  85. package/src/main/ts/zone/skyway-city.ts +3 -0
  86. package/src/main/ts/zone/st-martial.ts +3 -0
  87. package/src/main/ts/zone/steel-canyon.ts +3 -0
  88. package/src/main/ts/zone/striga-isle.ts +3 -0
  89. package/src/main/ts/zone/studio-55.ts +6 -1
  90. package/src/main/ts/zone/talos-island.ts +3 -0
  91. package/src/main/ts/zone/terra-volta.ts +3 -0
  92. package/src/main/ts/zone/the-abyss.ts +3 -0
  93. package/src/main/ts/zone/the-chantry.ts +3 -0
  94. package/src/main/ts/zone/the-hive.ts +3 -0
  95. package/src/main/ts/zone/the-hollows.ts +3 -0
  96. package/src/main/ts/zone/the-labyrinth-of-fog.ts +3 -0
  97. package/src/main/ts/zone/the-storm-palace.ts +3 -0
  98. package/src/main/ts/zone/underground-imperial.ts +3 -0
  99. package/src/main/ts/zone/underground-neutropolis.ts +3 -0
  100. package/src/main/ts/zone/underground-nova.ts +3 -0
  101. package/src/main/ts/zone/warburg.ts +3 -0
  102. package/src/main/ts/zone/praetoria.ts +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coh-content-db-homecoming",
3
- "version": "2.0.0-rc.12",
3
+ "version": "2.0.0-rc.14",
4
4
  "description": "City of Heroes Homecoming Content Database",
5
5
  "homepage": "https://github.com/n15g/coh-content-db-homecoming#readme",
6
6
  "bugs": {
@@ -26,30 +26,30 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@rollup/plugin-json": "^6.1.0",
29
- "@rollup/plugin-replace": "^6.0.2",
30
- "@stylistic/eslint-plugin": "^3.1.0",
31
- "@stylistic/eslint-plugin-ts": "^3.1.0",
32
- "@types/jest": "^29.5.14",
29
+ "@rollup/plugin-replace": "^6.0.3",
30
+ "@stylistic/eslint-plugin": "^5.6.1",
31
+ "@stylistic/eslint-plugin-ts": "^4.4.1",
32
+ "@types/jest": "^30.0.0",
33
33
  "@types/valid-url": "^1.0.7",
34
- "@typescript-eslint/rule-tester": "^8.29.0",
35
- "@typescript-eslint/utils": "^8.29.0",
34
+ "@typescript-eslint/rule-tester": "^8.48.0",
35
+ "@typescript-eslint/utils": "^8.48.0",
36
36
  "efate": "^1.5.1",
37
- "eslint": "^9.20.0",
38
- "eslint-plugin-unicorn": "^56.0.1",
39
- "globals": "^15.14.0",
40
- "jest": "^29.7.0",
41
- "rollup": "^4.34.6",
42
- "rollup-plugin-dts": "^6.1.1",
43
- "rollup-plugin-esbuild": "^6.2.0",
44
- "ts-jest": "^29.2.5",
37
+ "eslint": "^9.39.1",
38
+ "eslint-plugin-unicorn": "^62.0.0",
39
+ "globals": "^16.5.0",
40
+ "jest": "^30.2.0",
41
+ "rollup": "^4.53.3",
42
+ "rollup-plugin-dts": "^6.2.3",
43
+ "rollup-plugin-esbuild": "^6.2.1",
44
+ "ts-jest": "^29.4.5",
45
45
  "ts-mockito": "^2.6.1",
46
46
  "ts-node": "^10.9.2",
47
- "typescript": "^5.7.3",
48
- "typescript-eslint": "^8.24.0",
47
+ "typescript": "^5.9.3",
48
+ "typescript-eslint": "^8.48.0",
49
49
  "valid-url": "^1.0.9"
50
50
  },
51
51
  "dependencies": {
52
- "coh-content-db": "^2.0.0-rc.13"
52
+ "coh-content-db": "^2.0.0-rc.17"
53
53
  },
54
54
  "engines": {
55
55
  "node": ">=22"
@@ -1,6 +1,6 @@
1
1
  import { BadgeData } from 'coh-content-db'
2
2
  import { Undefeated } from '../exploration/undefeated'
3
- import { SilentSentinel } from '../exploration/silent-sentinel'
3
+ import { Rookie } from '../exploration/rookie'
4
4
  import { HeroCorpsInsider } from '../exploration/hero-corps-insider'
5
5
  import { Patriot } from '../exploration/patriot'
6
6
  import { TopDog } from '../exploration/top-dog'
@@ -22,7 +22,7 @@ export const AtlasTourGuide: BadgeData = {
22
22
  icon: 'https://n15g.github.io/coh-content-db-homecoming/images/badges/accolade/explore-acc-h.png',
23
23
  requirements: [
24
24
  { key: Undefeated.key, type: 'badge', badgeKey: Undefeated.key },
25
- { key: SilentSentinel.key, type: 'badge', badgeKey: SilentSentinel.key },
25
+ { key: Rookie.key, type: 'badge', badgeKey: Rookie.key },
26
26
  { key: HeroCorpsInsider.key, type: 'badge', badgeKey: HeroCorpsInsider.key },
27
27
  { key: Patriot.key, type: 'badge', badgeKey: Patriot.key },
28
28
  { key: TopDog.key, type: 'badge', badgeKey: TopDog.key },
@@ -2,7 +2,7 @@ import { BadgeData } from 'coh-content-db'
2
2
  import { Trustworthy } from '../exploration/trustworthy'
3
3
  import { Knowledgeable } from '../exploration/knowledgeable'
4
4
  import { Virtuous } from '../exploration/virtuous'
5
- import { Rookie } from '../exploration/rookie'
5
+ import { SilentSentinel } from '../exploration/silent-sentinel'
6
6
  import { Condemned } from '../exploration/condemned'
7
7
  import { Resilient } from '../exploration/resilient'
8
8
  import { OutOfHarmsWay } from '../exploration/out-of-harms-way'
@@ -24,7 +24,7 @@ export const WalkedDownMemoryLane: BadgeData = {
24
24
  { key: Trustworthy.key, type: 'badge', badgeKey: Trustworthy.key },
25
25
  { key: Knowledgeable.key, type: 'badge', badgeKey: Knowledgeable.key },
26
26
  { key: Virtuous.key, type: 'badge', badgeKey: Virtuous.key },
27
- { key: Rookie.key, type: 'badge', badgeKey: Rookie.key },
27
+ { key: SilentSentinel.key, type: 'badge', badgeKey: SilentSentinel.key },
28
28
  { key: Condemned.key, type: 'badge', badgeKey: Condemned.key },
29
29
  { key: Resilient.key, type: 'badge', badgeKey: Resilient.key },
30
30
  { key: OutOfHarmsWay.key, type: 'badge', badgeKey: OutOfHarmsWay.key },
@@ -127,13 +127,36 @@ export const EVENT_BADGES: BadgeData[] = [
127
127
  Unquenchable,
128
128
  Unforgettable,
129
129
  Reunited,
130
- TimeKeeper,
131
130
  Cheers,
131
+ Pursuer,
132
+ TimeKeeper,
132
133
  Gardener,
133
134
  ZetaReticulan,
134
135
  Mafioso,
135
136
  SkullKiller,
136
- Pursuer,
137
+ ANemesisPlot,
138
+ HeartOfLight,
139
+ Partygoer,
140
+ Handsome,
141
+ Toothbreaker,
142
+ MatchMaker,
143
+ MissedConnection,
144
+ WidowMaker,
145
+ BestMan,
146
+ WeddingCrasher,
147
+ Officiator,
148
+ DownInFront,
149
+ ChaosSpiel,
150
+ DoubleFeature,
151
+ HellenicBeauty,
152
+ MansBestFriend,
153
+ NinjaMonkey,
154
+ Invictus,
155
+ ThePerfectHitter,
156
+ ThePerfectHacker,
157
+ ThePerfectGrifter,
158
+ ThePerfectThief,
159
+ Roleplayer,
137
160
  HallowSpirit,
138
161
  IronWarrior,
139
162
  Hunter,
@@ -156,39 +179,6 @@ export const EVENT_BADGES: BadgeData[] = [
156
179
  SafetyInNumbers,
157
180
  EvilsResident,
158
181
  ApocalypseSurvivor,
159
- LongbowReservist,
160
- HolidaySpirit,
161
- ToyCollector,
162
- Miraculous,
163
- Joyful,
164
- Frosty,
165
- Crystallized,
166
- ColdFront,
167
- Gifted,
168
- Festive,
169
- LordOfWinter,
170
- Frostbitten,
171
- ColdWarrior,
172
- FrozenFury,
173
- ColdAsIce,
174
- GiftGetter,
175
- GiftWhichKeepsGiving,
176
- Snowbound,
177
- LicenseToChill,
178
- HomeForTheHolidays,
179
- Hypothermia,
180
- HeartOfLight,
181
- Handsome,
182
- Toothbreaker,
183
- Partygoer,
184
- MatchMaker,
185
- MissedConnection,
186
- WidowMaker,
187
- BestMan,
188
- WeddingCrasher,
189
- Officiator,
190
- DownInFront,
191
- ChaosSpiel,
192
182
  ClothesHorse,
193
183
  Fashionable,
194
184
  Ostentatious,
@@ -202,15 +192,25 @@ export const EVENT_BADGES: BadgeData[] = [
202
192
  TrickedOut,
203
193
  ItsAlive,
204
194
  SinisterSummoner,
205
- DoubleFeature,
206
- HellenicBeauty,
207
- MansBestFriend,
208
- NinjaMonkey,
209
- Invictus,
210
- ThePerfectHitter,
211
- ThePerfectHacker,
212
- ThePerfectGrifter,
213
- ThePerfectThief,
214
- Roleplayer,
215
- ANemesisPlot,
195
+ LongbowReservist,
196
+ ColdFront,
197
+ Gifted,
198
+ Frostbitten,
199
+ Festive,
200
+ Snowbound,
201
+ LicenseToChill,
202
+ HomeForTheHolidays,
203
+ Hypothermia,
204
+ ColdWarrior,
205
+ FrozenFury,
206
+ HolidaySpirit,
207
+ ToyCollector,
208
+ Crystallized,
209
+ Frosty,
210
+ Joyful,
211
+ Miraculous,
212
+ LordOfWinter,
213
+ ColdAsIce,
214
+ GiftGetter,
215
+ GiftWhichKeepsGiving,
216
216
  ]
@@ -24,7 +24,7 @@ As one of the first directives to restoring the Wharf, Mr. Christie spent consid
24
24
  {
25
25
  key: 'chri-1',
26
26
  type: 'monument',
27
- location: { zoneKey: KallistiWharf.key, coords: [5800.6, 65, 1719.5], icon: 'pedestal', iconText: '4' },
27
+ location: { zoneKey: KallistiWharf.key, coords: [5793.3, 66.78, 1726.2], icon: 'pedestal', iconText: '4' },
28
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
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
30
  We want to reiterate that nobody was hurt, and the only damage occurred to CC's own vehicles!`,
@@ -55,7 +55,6 @@ import { PerezPark } from './perez-park'
55
55
  import { Phone } from './phone'
56
56
  import { PocketD } from './pocket-d'
57
57
  import { PortOakes } from './port-oakes'
58
- import { Praetoria } from './praetoria'
59
58
  import { ReclusesVictory } from './recluses-victory'
60
59
  import { RiktiWarZone } from './rikti-war-zone'
61
60
  import { SafeguardAtlasPark } from './safeguard-atlas-park'
@@ -144,7 +143,6 @@ export const ZONES: ZoneData[] = [
144
143
  Phone,
145
144
  PocketD,
146
145
  PortOakes,
147
- Praetoria,
148
146
  ReclusesVictory,
149
147
  RiktiWarZone,
150
148
  SafeguardAtlasPark,
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const AbandonedSewerNetwork: ZoneData = {
4
4
  key: 'abandoned-sewer-network',
5
5
  name: 'Abandoned Sewer Network',
6
+ type: 'trial',
7
+ morality: 'heroic',
8
+ levelRange: [36, 40],
6
9
  links: [{ title: 'Abandoned Sewer Network', href: 'https://homecoming.wiki/wiki/Abandoned_Sewer_Network' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const AbandonedSewersTrial: ZoneData = {
4
4
  key: 'abandoned-sewers-trial',
5
5
  name: 'Abandoned Sewers Trial',
6
+ type: 'trial',
7
+ morality: 'heroic',
8
+ levelRange: 38,
6
9
  links: [{ title: 'Abandoned Sewers Trial', href: 'https://homecoming.wiki/wiki/Abandoned_Sewers_Trial' }],
7
10
  }
@@ -3,5 +3,6 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const ArchitectEntertainmentBuildings: ZoneData = {
4
4
  key: 'architect-entertainment-buildings',
5
5
  name: 'Architect Entertainment Buildings',
6
+ type: 'building',
6
7
  links: [{ title: 'Architect Entertainment Buildings', href: 'https://homecoming.wiki/wiki/Architect_Entertainment_Buildings' }],
7
8
  }
@@ -3,4 +3,6 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const ArenaCageMatch: ZoneData = {
4
4
  key: 'arena-cage-match',
5
5
  name: 'Arena: Cage Match',
6
+ type: 'arena',
7
+ links: [{ title: 'Arena', href: 'https://homecoming.wiki/wiki/Arena' }],
6
8
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const AtlasPark: ZoneData = {
4
4
  key: 'atlas-park',
5
5
  name: 'Atlas Park',
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [1, 6],
6
9
  links: [{ title: 'Atlas Park', href: 'https://homecoming.wiki/wiki/Atlas_Park' }],
7
10
  }
@@ -1,7 +1,11 @@
1
- import { ZoneData } from 'coh-content-db'
1
+ import { missionLink, ZoneData } from 'coh-content-db'
2
+ import { TakeDownNightstar } from '../mission/take-down-nightstar'
3
+ import { BringCitizensToVahzilokSurgeons } from '../mission/bring-citizens-to-vahzilok-surgeons'
2
4
 
3
5
  export const BlackShroudDimension: ZoneData = {
4
6
  key: 'black-shroud-dimension',
5
7
  name: 'Black Shroud Dimension',
8
+ type: 'mission',
9
+ notes: `Located in the ${missionLink(TakeDownNightstar)} and ${missionLink(BringCitizensToVahzilokSurgeons)} missions.`,
6
10
  links: [{ title: 'Shrouded Badge', href: 'https://homecoming.wiki/wiki/Shrouded_Badge' }],
7
11
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const BloodyBay: ZoneData = {
4
4
  key: 'bloody-bay',
5
5
  name: 'Bloody Bay',
6
+ type: 'pvp',
7
+ morality: 'all',
8
+ levelRange: [25, 25],
6
9
  links: [{ title: 'Bloody Bay', href: 'https://homecoming.wiki/wiki/Bloody_Bay' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Boomtown: ZoneData = {
4
4
  key: 'boomtown',
5
5
  name: 'Boomtown',
6
+ type: 'hazard',
7
+ morality: 'heroic',
8
+ levelRange: [11, 19],
6
9
  links: [{ title: 'Boomtown', href: 'https://homecoming.wiki/wiki/Boomtown' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Breakout: ZoneData = {
4
4
  key: 'breakout',
5
5
  name: 'Breakout',
6
+ type: 'tutorial',
7
+ morality: 'villain',
8
+ levelRange: [1, 1],
6
9
  links: [{ title: 'Breakout', href: 'https://homecoming.wiki/wiki/Breakout' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Brickstown: ZoneData = {
4
4
  key: 'brickstown',
5
5
  name: 'Brickstown',
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [30, 38],
6
9
  links: [{ title: 'Brickstown', href: 'https://homecoming.wiki/wiki/Brickstown' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const CapAuDiable: ZoneData = {
4
4
  key: 'cap-au-diable',
5
5
  name: 'Cap Au Diable',
6
+ type: 'city',
7
+ morality: 'villainous',
8
+ levelRange: [8, 20],
6
9
  links: [{ title: 'Cap Au Diable', href: 'https://homecoming.wiki/wiki/Cap_au_Diable' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const CascadeArchipelago: ZoneData = {
4
4
  key: 'cascade-archipelago',
5
5
  name: 'Cascade Archipelago',
6
+ type: 'hazard',
7
+ morality: 'heroic',
8
+ levelRange: [40, 44],
6
9
  links: [{ title: 'Cascade Archipelago', href: 'https://homecoming.wiki/wiki/Cascade_Archipelago' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Cimerora: ZoneData = {
4
4
  key: 'cimerora',
5
5
  name: 'Cimerora',
6
+ type: 'co-op',
7
+ morality: 'all',
8
+ levelRange: 35,
6
9
  links: [{ title: 'Cimerora', href: 'https://homecoming.wiki/wiki/Cimerora' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const CreysFolly: ZoneData = {
4
4
  key: 'creys-folly',
5
5
  name: `Crey's Folly`,
6
+ type: 'hazard',
7
+ morality: 'heroic',
8
+ levelRange: [31, 39],
6
9
  links: [{ title: `Crey's Folly`, href: 'https://homecoming.wiki/wiki/Crey%27s_Folly' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Croatoa: ZoneData = {
4
4
  key: 'croatoa',
5
5
  name: 'Croatoa',
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [25, 34],
6
9
  links: [{ title: 'Croatoa', href: 'https://homecoming.wiki/wiki/Croatoa' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const DarkAstoria: ZoneData = {
4
4
  key: 'dark-astoria',
5
5
  name: 'Dark Astoria',
6
+ type: 'co-op',
7
+ morality: 'all',
8
+ levelRange: [50, 54],
6
9
  links: [{ title: 'Dark Astoria', href: 'https://homecoming.wiki/wiki/Dark_Astoria' }],
7
10
  }
@@ -3,5 +3,11 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const EchoAtlasPark: ZoneData = {
4
4
  key: 'echo-atlas-park',
5
5
  name: 'Echo: Atlas Park',
6
- links: [{ title: 'Echo: Atlas Park Badge Guide', href: 'https://forums.homecomingservers.com/topic/881-echo-atlas-park-badge-guide/' }],
6
+ type: 'echo',
7
+ morality: 'heroic',
8
+ levelRange: [1, 6],
9
+ links: [
10
+ { title: 'Echo: Atlas Park', href: 'https://homecoming.wiki/wiki/Echo:_Atlas_Park' },
11
+ { title: 'Echo: Atlas Park Badge Guide', href: 'https://forums.homecomingservers.com/topic/881-echo-atlas-park-badge-guide/' },
12
+ ],
7
13
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const EchoDarkAstoria: ZoneData = {
4
4
  key: 'echo-dark-astoria',
5
5
  name: 'Echo: Dark Astoria',
6
+ type: 'echo',
7
+ morality: 'heroic',
8
+ levelRange: [21, 29],
6
9
  links: [{ title: 'Echo: Dark Astoria', href: 'https://homecoming.wiki/wiki/Echo:_Dark_Astoria' }],
7
10
  }
@@ -3,5 +3,11 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const EchoFaultline: ZoneData = {
4
4
  key: 'echo-faultline',
5
5
  name: 'Echo: Faultline',
6
- links: [{ title: 'I25 Faultline badge changes', href: 'https://forums.homecomingservers.com/topic/931-echo-falutline-badger-hunter-helpline/' }],
6
+ type: 'echo',
7
+ morality: 'heroic',
8
+ levelRange: [15, 25],
9
+ links: [
10
+ { title: 'Echo: Faultline', href: 'https://homecoming.wiki/wiki/Echo:_Faultline' },
11
+ { title: 'I25 Faultline badge changes', href: 'https://forums.homecomingservers.com/topic/931-echo-falutline-badger-hunter-helpline/' },
12
+ ],
7
13
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const EchoGalaxyCity: ZoneData = {
4
4
  key: 'echo-galaxy-city',
5
5
  name: 'Echo: Galaxy City',
6
+ type: 'echo',
7
+ morality: 'heroic',
8
+ levelRange: [1, 6],
6
9
  links: [{ title: 'Echo: Galaxy City', href: 'https://homecoming.wiki/wiki/Echo:_Galaxy_City' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const EchoRiktiCrashSite: ZoneData = {
4
4
  key: 'echo-rikti-crash-site',
5
5
  name: 'Echo: Rikti Crash Site',
6
- links: [{ title: 'Rikti Crash Site (Legacy)', href: 'https://homecoming.wiki/wiki/Rikti_Crash_Site' }],
6
+ type: 'echo',
7
+ morality: 'heroic',
8
+ levelRange: [40, 50],
9
+ links: [{ title: 'Echo: Rikti Crash Site', href: 'https://homecoming.wiki/wiki/Echo:_Rikti_Crash_Site' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Eden: ZoneData = {
4
4
  key: 'eden',
5
5
  name: 'Eden',
6
+ type: 'trial',
7
+ morality: 'heroic',
8
+ levelRange: [33, 39],
6
9
  links: [{ title: 'Eden', href: 'https://homecoming.wiki/wiki/Eden' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Faultline: ZoneData = {
4
4
  key: 'faultline',
5
5
  name: 'Faultline',
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [15, 25],
6
9
  links: [{ title: 'Faultline', href: 'https://homecoming.wiki/wiki/Faultline' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const FirebaseZulu: ZoneData = {
4
4
  key: 'firebase-zulu',
5
5
  name: 'Firebase Zulu',
6
+ type: 'hazard',
7
+ morality: 'heroic',
8
+ levelRange: [40, 44],
6
9
  links: [{ title: 'Firebase Zulu', href: 'https://homecoming.wiki/wiki/Firebase_Zulu' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const FirstWard: ZoneData = {
4
4
  key: 'first-ward',
5
5
  name: 'First Ward',
6
+ type: 'co-op',
7
+ morality: 'all',
8
+ levelRange: [20, 30],
6
9
  links: [{ title: 'First Ward', href: 'https://homecoming.wiki/wiki/First_Ward' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const FoundersFalls: ZoneData = {
4
4
  key: 'founders-falls',
5
5
  name: `Founders' Falls`,
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [31, 40],
6
9
  links: [{ title: `Founders' Falls`, href: 'https://homecoming.wiki/wiki/Founders%27_Falls' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const Grandville: ZoneData = {
4
4
  key: 'grandville',
5
5
  name: 'Grandville',
6
+ type: 'city',
7
+ morality: 'villainous',
8
+ levelRange: [40, 50],
6
9
  links: [{ title: 'Grandville', href: 'https://homecoming.wiki/wiki/Grandville' }],
7
10
  }
@@ -1,7 +1,13 @@
1
- import { ZoneData } from 'coh-content-db'
1
+ import { missionLink, ZoneData } from 'coh-content-db'
2
+ import { TheHydraDimension } from '../mission/the-hydra-dimension'
3
+ import { GetSomeSamplesOfHydraManDna } from '../mission/get-some-samples-of-hydra-man-dna'
2
4
 
3
5
  export const HydraMissionMap: ZoneData = {
4
6
  key: 'hydra-mission-map',
5
7
  name: 'Hydra Mission Map',
8
+ type: 'mission',
9
+ morality: 'heroic',
10
+ levelRange: [36, 40],
11
+ notes: `Located within the ${missionLink(TheHydraDimension)} and ${missionLink(GetSomeSamplesOfHydraManDna)} missions.`,
6
12
  links: [{ title: 'Hydra Missions', href: 'https://homecoming.wiki/wiki/Multidimensional_Badge' }],
7
13
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const ImperialCity: ZoneData = {
4
4
  key: 'imperial-city',
5
5
  name: 'Imperial City',
6
+ type: 'city',
7
+ morality: 'praetorian',
8
+ levelRange: [9, 15],
6
9
  links: [{ title: 'Imperial City', href: 'https://homecoming.wiki/wiki/Imperial_City' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const IndependencePort: ZoneData = {
4
4
  key: 'independence-port',
5
5
  name: 'Independence Port',
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [20, 30],
6
9
  links: [{ title: 'Independence Port', href: 'https://homecoming.wiki/wiki/Independence_Port' }],
7
10
  }
@@ -3,4 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const KallistiWharf: ZoneData = {
4
4
  key: 'kallisti-wharf',
5
5
  name: 'Kallisti Wharf',
6
+ type: 'co-op',
7
+ morality: 'all',
8
+ levelRange: [40, 50],
9
+ links: [{ title: 'Kallisti Wharf', href: 'https://homecoming.wiki/wiki/Kallisti_Wharf' }],
6
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const KingsRow: ZoneData = {
4
4
  key: 'kings-row',
5
5
  name: 'Kings Row',
6
+ type: 'city',
7
+ morality: 'heroic',
8
+ levelRange: [5, 10],
6
9
  links: [{ title: 'Kings Row', href: 'https://homecoming.wiki/wiki/Kings_Row' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const MayhemAtlasPark: ZoneData = {
4
4
  key: 'mayhem-atlas-park',
5
5
  name: 'Mayhem: Atlas Park',
6
+ type: 'mayhem',
7
+ morality: 'villainous',
8
+ levelRange: [5, 10],
6
9
  links: [{ title: 'Mayhem Mission', href: 'https://homecoming.wiki/wiki/Mayhem_Mission' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const MayhemBrickstown: ZoneData = {
4
4
  key: 'mayhem-brickstown',
5
5
  name: 'Mayhem: Brickstown',
6
+ type: 'mayhem',
7
+ morality: 'villainous',
8
+ levelRange: [35, 40],
6
9
  links: [{ title: 'Mayhem Mission', href: 'https://homecoming.wiki/wiki/Mayhem_Mission' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const MayhemFoundersFalls: ZoneData = {
4
4
  key: 'mayhem-founders-falls',
5
5
  name: `Mayhem: Founder's Falls`,
6
+ type: 'mayhem',
7
+ morality: 'villainous',
8
+ levelRange: [40, 45],
6
9
  links: [{ title: 'Mayhem Mission', href: 'https://homecoming.wiki/wiki/Mayhem_Mission' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const MayhemIndependencePort: ZoneData = {
4
4
  key: 'mayhem-independence-port',
5
5
  name: 'Mayhem: Independence Port',
6
+ type: 'mayhem',
7
+ morality: 'villainous',
8
+ levelRange: [25, 30],
6
9
  links: [{ title: 'Mayhem Mission', href: 'https://homecoming.wiki/wiki/Mayhem_Mission' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const MayhemKingsRow: ZoneData = {
4
4
  key: 'mayhem-kings-row',
5
5
  name: 'Mayhem: Kings Row',
6
+ type: 'mayhem',
7
+ morality: 'villainous',
8
+ levelRange: [10, 15],
6
9
  links: [{ title: 'Mayhem Mission', href: 'https://homecoming.wiki/wiki/Mayhem_Mission' }],
7
10
  }
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
3
3
  export const MayhemPeregrineIsland: ZoneData = {
4
4
  key: 'mayhem-peregrine-island',
5
5
  name: 'Mayhem: Peregrine Island',
6
+ type: 'mayhem',
7
+ morality: 'villainous',
8
+ levelRange: [45, 50],
6
9
  links: [{ title: 'Mayhem Mission', href: 'https://homecoming.wiki/wiki/Mayhem_Mission' }],
7
10
  }