coh-content-db-homecoming 2.0.0-rc.8 → 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.
- package/.github/workflows/build.yml +1 -1
- package/CHANGELOG.md +10 -2
- package/README.md +32 -15
- package/dist/bundle.head.json +1 -1
- package/dist/bundle.json +1 -1
- package/dist/coh-content-db-homecoming.js +1424 -192
- package/dist/coh-content-db-homecoming.js.map +1 -1
- package/dist/coh-content-db-homecoming.mjs +1425 -193
- package/dist/coh-content-db-homecoming.mjs.map +1 -1
- package/jest.config.mjs +4 -0
- package/package.json +18 -17
- package/rollup.config.mjs +9 -0
- package/src/main/resources/images/badges/accolade/mazebreaker.png +0 -0
- package/src/main/resources/images/badges/accomplishment/brass-tax.png +0 -0
- package/src/main/resources/images/badges/accomplishment/business-savvy.png +0 -0
- package/src/main/resources/images/badges/accomplishment/chromatic-combatant.png +0 -0
- package/src/main/resources/images/badges/accomplishment/front-person.png +0 -0
- package/src/main/resources/images/badges/accomplishment/generational-trauma.png +0 -0
- package/src/main/resources/images/badges/accomplishment/heart-of-gold.png +0 -0
- package/src/main/resources/images/badges/accomplishment/justified-ends.png +0 -0
- package/src/main/resources/images/badges/accomplishment/psychopomp.png +0 -0
- package/src/main/resources/images/badges/accomplishment/staring-into-the-abyss.png +0 -0
- package/src/main/resources/images/badges/accomplishment/tested-by-combat.png +0 -0
- package/src/main/resources/images/badges/accomplishment/thicker-than-water.png +0 -0
- package/src/main/resources/images/badges/accomplishment/truth-seeker.png +0 -0
- package/src/main/resources/images/badges/accomplishment/uncomfortable-truths.png +0 -0
- package/src/main/resources/images/badges/achievement/master-of-zoes-task-force.png +0 -0
- package/src/main/resources/images/badges/achievement/tf-zoe.png +0 -0
- package/src/main/resources/images/badges/achievement/variety-act-h.png +0 -0
- package/src/main/resources/images/badges/achievement/variety-act-v.png +0 -0
- package/src/main/resources/images/badges/defeat/mutated-marauder.png +0 -0
- package/src/main/resources/images/badges/defeat/peacekeeper.png +0 -0
- package/src/main/resources/images/badges/defeat/two-birds-one-stone.png +0 -0
- package/src/main/resources/images/badges/event/home-for-the-holidays.png +0 -0
- package/src/main/resources/images/badges/event/hypothermia.png +0 -0
- package/src/main/resources/images/badges/event/license-to-chill.png +0 -0
- package/src/main/ts/badge/accolade/_accolade-badges.ts +4 -0
- package/src/main/ts/badge/accolade/atlas-tour-guide.ts +2 -2
- package/src/main/ts/badge/accolade/between-realities.ts +1 -1
- package/src/main/ts/badge/accolade/mazebreaker.ts +23 -0
- package/src/main/ts/badge/accolade/protector-of-paragon-city.ts +2 -2
- package/src/main/ts/badge/accolade/the-prettiest-one.ts +33 -0
- package/src/main/ts/badge/accolade/walked-down-memory-lane.ts +2 -2
- package/src/main/ts/badge/accomplishment/_accomplishment-badges.ts +26 -0
- package/src/main/ts/badge/accomplishment/brass-tax.ts +20 -0
- package/src/main/ts/badge/accomplishment/business-savvy.ts +19 -0
- package/src/main/ts/badge/accomplishment/chromatic-combatant.ts +17 -0
- package/src/main/ts/badge/accomplishment/front-person.ts +19 -0
- package/src/main/ts/badge/accomplishment/generational-trauma.ts +21 -0
- package/src/main/ts/badge/accomplishment/heart-of-gold.ts +19 -0
- package/src/main/ts/badge/accomplishment/justified-ends.ts +19 -0
- package/src/main/ts/badge/accomplishment/psychopomp.ts +20 -0
- package/src/main/ts/badge/accomplishment/staring-into-the-abyss.ts +20 -0
- package/src/main/ts/badge/accomplishment/tested-by-combat.ts +17 -0
- package/src/main/ts/badge/accomplishment/thicker-than-water.ts +19 -0
- package/src/main/ts/badge/accomplishment/truth-seeker.ts +20 -0
- package/src/main/ts/badge/accomplishment/uncomfortable-truths.ts +20 -0
- package/src/main/ts/badge/achievement/_achievement-badges.ts +12 -0
- package/src/main/ts/badge/achievement/cataclysmic.ts +1 -1
- package/src/main/ts/badge/achievement/decimator.ts +1 -1
- package/src/main/ts/badge/achievement/eliminator.ts +1 -1
- package/src/main/ts/badge/achievement/eradicator.ts +1 -1
- package/src/main/ts/badge/achievement/executioner.ts +1 -1
- package/src/main/ts/badge/achievement/jailbreaker.ts +17 -0
- package/src/main/ts/badge/achievement/knockback-king.ts +20 -0
- package/src/main/ts/badge/achievement/master-of-zoes-task-force.ts +26 -0
- package/src/main/ts/badge/achievement/relentless.ts +1 -1
- package/src/main/ts/badge/achievement/snow-warning.ts +17 -0
- package/src/main/ts/badge/achievement/subterranean-striker.ts +17 -0
- package/src/main/ts/badge/achievement/until-the-end-of-the-world.ts +1 -1
- package/src/main/ts/badge/defeat/_defeat-badges.ts +6 -0
- package/src/main/ts/badge/defeat/mutated-marauder.ts +17 -0
- package/src/main/ts/badge/defeat/peacekeeper.ts +21 -0
- package/src/main/ts/badge/defeat/two-birds-one-stone.ts +17 -0
- package/src/main/ts/badge/event/_event-badges.ts +46 -46
- package/src/main/ts/badge/event/home-for-the-holidays.ts +1 -1
- package/src/main/ts/badge/event/hypothermia.ts +1 -1
- package/src/main/ts/badge/event/license-to-chill.ts +1 -1
- package/src/main/ts/badge/event/snowbound.ts +1 -1
- package/src/main/ts/badge/exploration/_exploration-badges.ts +10 -2
- package/src/main/ts/badge/exploration/fueled-by-greed.ts +21 -0
- package/src/main/ts/badge/exploration/in-their-prime.ts +22 -0
- package/src/main/ts/badge/exploration/lucid-dreamer.ts +20 -0
- package/src/main/ts/badge/exploration/marked-out.ts +19 -0
- package/src/main/ts/badge/exploration/on-the-shoulders-of-giants.ts +1 -1
- package/src/main/ts/badge/exploration/protest-too-much.ts +20 -0
- package/src/main/ts/badge/exploration/quay-to-the-city.ts +22 -0
- package/src/main/ts/badge/exploration/raving-mad.ts +19 -0
- package/src/main/ts/badge/exploration/tourist-trapped.ts +20 -0
- package/src/main/ts/badge/exploration/tried-and-true.ts +2 -2
- package/src/main/ts/badge/gladiator/mob-specialist.ts +1 -1
- package/src/main/ts/badge/history/_history-badges.ts +6 -0
- package/src/main/ts/badge/history/bicentennial.ts +1 -1
- package/src/main/ts/badge/history/christie-consolidation.ts +92 -0
- package/src/main/ts/badge/history/flagtown-memorialist.ts +68 -0
- package/src/main/ts/badge/history/patron-of-the-arts.ts +49 -0
- package/src/main/ts/contact/_contacts.ts +14 -0
- package/src/main/ts/contact/adelard-ziegler.ts +12 -0
- package/src/main/ts/contact/alexander-the-great.ts +12 -0
- package/src/main/ts/contact/dap-dap-tha-deal-maka.ts +12 -0
- package/src/main/ts/contact/erin-west.ts +12 -0
- package/src/main/ts/contact/robert-kogan.ts +12 -0
- package/src/main/ts/contact/wyllie-galloway.ts +12 -0
- package/src/main/ts/contact/zoe-langston.ts +12 -0
- package/src/main/ts/homecoming.ts +3 -2
- package/src/main/ts/mission/_missions.ts +14 -0
- package/src/main/ts/mission/cutting-back-old-growth.ts +18 -0
- package/src/main/ts/mission/death-resurrected.ts +19 -0
- package/src/main/ts/mission/hunting-the-hunters.ts +18 -0
- package/src/main/ts/mission/know-thy-enemy.ts +18 -0
- package/src/main/ts/mission/mergers-and-acquisitions.ts +18 -0
- package/src/main/ts/mission/the-sunlight-and-the-spotlight.ts +18 -0
- package/src/main/ts/mission/zoe-task-force.ts +14 -0
- package/src/main/ts/utils/bundle-metadata.ts +11 -0
- package/src/main/ts/zone/_zones.ts +0 -2
- package/src/main/ts/zone/abandoned-sewer-network.ts +3 -0
- package/src/main/ts/zone/abandoned-sewers-trial.ts +3 -0
- package/src/main/ts/zone/architect-entertainment-buildings.ts +1 -0
- package/src/main/ts/zone/arena-cage-match.ts +2 -0
- package/src/main/ts/zone/atlas-park.ts +3 -0
- package/src/main/ts/zone/black-shroud-dimension.ts +5 -1
- package/src/main/ts/zone/bloody-bay.ts +3 -0
- package/src/main/ts/zone/boomtown.ts +3 -0
- package/src/main/ts/zone/breakout.ts +3 -0
- package/src/main/ts/zone/brickstown.ts +3 -0
- package/src/main/ts/zone/cap-au-diable.ts +3 -0
- package/src/main/ts/zone/cascade-archipelago.ts +3 -0
- package/src/main/ts/zone/cimerora.ts +3 -0
- package/src/main/ts/zone/creys-folly.ts +3 -0
- package/src/main/ts/zone/croatoa.ts +3 -0
- package/src/main/ts/zone/dark-astoria.ts +3 -0
- package/src/main/ts/zone/echo-atlas-park.ts +7 -1
- package/src/main/ts/zone/echo-dark-astoria.ts +3 -0
- package/src/main/ts/zone/echo-faultline.ts +7 -1
- package/src/main/ts/zone/echo-galaxy-city.ts +3 -0
- package/src/main/ts/zone/echo-rikti-crash-site.ts +4 -1
- package/src/main/ts/zone/eden.ts +3 -0
- package/src/main/ts/zone/faultline.ts +3 -0
- package/src/main/ts/zone/firebase-zulu.ts +3 -0
- package/src/main/ts/zone/first-ward.ts +3 -0
- package/src/main/ts/zone/founders-falls.ts +3 -0
- package/src/main/ts/zone/grandville.ts +3 -0
- package/src/main/ts/zone/hydra-missions.ts +7 -1
- package/src/main/ts/zone/imperial-city.ts +3 -0
- package/src/main/ts/zone/independence-port.ts +3 -0
- package/src/main/ts/zone/kallisti-wharf.ts +4 -0
- package/src/main/ts/zone/kings-row.ts +3 -0
- package/src/main/ts/zone/mayhem-atlas-park.ts +3 -0
- package/src/main/ts/zone/mayhem-brickstown.ts +3 -0
- package/src/main/ts/zone/mayhem-founders-falls.ts +3 -0
- package/src/main/ts/zone/mayhem-independence-port.ts +3 -0
- package/src/main/ts/zone/mayhem-kings-row.ts +3 -0
- package/src/main/ts/zone/mayhem-peregrine-island.ts +3 -0
- package/src/main/ts/zone/mayhem-skyway-city.ts +3 -0
- package/src/main/ts/zone/mayhem-steel-canyon.ts +3 -0
- package/src/main/ts/zone/mayhem-talos-island.ts +3 -0
- package/src/main/ts/zone/mercy-island.ts +3 -0
- package/src/main/ts/zone/midnighter-club.ts +3 -0
- package/src/main/ts/zone/monster-island.ts +3 -0
- package/src/main/ts/zone/nerva-archipelago.ts +3 -0
- package/src/main/ts/zone/neutropolis.ts +3 -0
- package/src/main/ts/zone/night-ward.ts +3 -0
- package/src/main/ts/zone/nova-praetoria.ts +3 -0
- package/src/main/ts/zone/ouroboros.ts +3 -0
- package/src/main/ts/zone/paragon-dance-party.ts +3 -0
- package/src/main/ts/zone/peregrine-island.ts +3 -0
- package/src/main/ts/zone/perez-park.ts +3 -0
- package/src/main/ts/zone/phone.ts +2 -0
- package/src/main/ts/zone/pocket-d.ts +3 -0
- package/src/main/ts/zone/port-oakes.ts +3 -0
- package/src/main/ts/zone/recluses-victory.ts +3 -0
- package/src/main/ts/zone/rikti-war-zone.ts +3 -0
- package/src/main/ts/zone/safeguard-atlas-park.ts +3 -0
- package/src/main/ts/zone/safeguard-brickstown.ts +3 -0
- package/src/main/ts/zone/safeguard-founders-falls.ts +3 -0
- package/src/main/ts/zone/safeguard-independence-port.ts +3 -0
- package/src/main/ts/zone/safeguard-kings-row.ts +3 -0
- package/src/main/ts/zone/safeguard-peregrine-island.ts +3 -0
- package/src/main/ts/zone/safeguard-skyway-city.ts +3 -0
- package/src/main/ts/zone/safeguard-steel-canyon.ts +3 -0
- package/src/main/ts/zone/safeguard-talos-island.ts +3 -0
- package/src/main/ts/zone/sewer-network.ts +3 -0
- package/src/main/ts/zone/sharkhead-isle.ts +3 -0
- package/src/main/ts/zone/sirens-call.ts +3 -0
- package/src/main/ts/zone/skyway-city.ts +3 -0
- package/src/main/ts/zone/st-martial.ts +3 -0
- package/src/main/ts/zone/steel-canyon.ts +3 -0
- package/src/main/ts/zone/striga-isle.ts +3 -0
- package/src/main/ts/zone/studio-55.ts +6 -1
- package/src/main/ts/zone/talos-island.ts +3 -0
- package/src/main/ts/zone/terra-volta.ts +3 -0
- package/src/main/ts/zone/the-abyss.ts +3 -0
- package/src/main/ts/zone/the-chantry.ts +3 -0
- package/src/main/ts/zone/the-hive.ts +3 -0
- package/src/main/ts/zone/the-hollows.ts +3 -0
- package/src/main/ts/zone/the-labyrinth-of-fog.ts +3 -0
- package/src/main/ts/zone/the-storm-palace.ts +3 -0
- package/src/main/ts/zone/underground-imperial.ts +3 -0
- package/src/main/ts/zone/underground-neutropolis.ts +3 -0
- package/src/main/ts/zone/underground-nova.ts +3 -0
- package/src/main/ts/zone/warburg.ts +3 -0
- package/src/test/ts/link-tests.test.ts +1 -1
- package/src/test/ts/mission.test.ts +20 -0
- package/src/main/lint/utils/bundle-version.ts +0 -3
- package/src/main/ts/zone/praetoria.ts +0 -7
- /package/src/main/resources/images/badges/event/{winter-login.png → snowbound.png} +0 -0
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const PortOakes: ZoneData = {
|
|
4
4
|
key: 'port-oakes',
|
|
5
5
|
name: 'Port Oakes',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'villainous',
|
|
8
|
+
levelRange: [7, 12],
|
|
6
9
|
links: [{ title: 'Port Oakes', href: 'https://homecoming.wiki/wiki/Port_Oakes' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const ReclusesVictory: ZoneData = {
|
|
4
4
|
key: 'recluses-victory',
|
|
5
5
|
name: `Recluse's Victory`,
|
|
6
|
+
type: 'pvp',
|
|
7
|
+
morality: 'all',
|
|
8
|
+
levelRange: [50, 50],
|
|
6
9
|
links: [{ title: `Recluse's Victory`, href: 'https://homecoming.wiki/wiki/Recluse%27s_Victory' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const RiktiWarZone: ZoneData = {
|
|
4
4
|
key: 'rikti-war-zone',
|
|
5
5
|
name: 'Rikti War Zone',
|
|
6
|
+
type: 'co-op',
|
|
7
|
+
morality: 'all',
|
|
8
|
+
levelRange: [35, 50],
|
|
6
9
|
links: [{ title: 'Rikti War Zone', href: 'https://homecoming.wiki/wiki/Rikti_War_Zone' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardAtlasPark: ZoneData = {
|
|
4
4
|
key: 'safeguard-atlas-park',
|
|
5
5
|
name: 'Safeguard: Atlas Park',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [5, 10],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardBrickstown: ZoneData = {
|
|
4
4
|
key: 'safeguard-brickstown',
|
|
5
5
|
name: 'Safeguard: Brickstown',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [35, 40],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardFoundersFalls: ZoneData = {
|
|
4
4
|
key: 'safeguard-founders-falls',
|
|
5
5
|
name: `Safeguard: Founder's Falls`,
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [40, 45],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardIndependencePort: ZoneData = {
|
|
4
4
|
key: 'safeguard-independence-port',
|
|
5
5
|
name: 'Safeguard: Independence Port',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [25, 30],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardKingsRow: ZoneData = {
|
|
4
4
|
key: 'safeguard-kings-row',
|
|
5
5
|
name: 'Safeguard: Kings Row',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [10, 15],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardPeregrineIsland: ZoneData = {
|
|
4
4
|
key: 'safeguard-peregrine-island',
|
|
5
5
|
name: 'Safeguard: Peregrine Island',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [45, 50],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardSkywayCity: ZoneData = {
|
|
4
4
|
key: 'safeguard-skyway-city',
|
|
5
5
|
name: 'Safeguard: Skyway City',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [15, 20],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardSteelCanyon: ZoneData = {
|
|
4
4
|
key: 'safeguard-steel-canyon',
|
|
5
5
|
name: 'Safeguard: Steel Canyon',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [20, 25],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SafeguardTalosIsland: ZoneData = {
|
|
4
4
|
key: 'safeguard-talos-island',
|
|
5
5
|
name: 'Safeguard: Talos Island',
|
|
6
|
+
type: 'safeguard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [30, 35],
|
|
6
9
|
links: [{ title: 'Safeguard Mission', href: 'https://homecoming.wiki/wiki/Safeguard_Mission' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SewerNetwork: ZoneData = {
|
|
4
4
|
key: 'sewer-network',
|
|
5
5
|
name: 'Sewer Network',
|
|
6
|
+
type: 'trial',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [3, 10],
|
|
6
9
|
links: [{ title: 'Sewer Network', href: 'https://homecoming.wiki/wiki/Sewer_Network' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SharkheadIsle: ZoneData = {
|
|
4
4
|
key: 'sharkhead-isle',
|
|
5
5
|
name: 'Sharkhead Isle',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'villainous',
|
|
8
|
+
levelRange: [20, 30],
|
|
6
9
|
links: [{ title: 'Sharkhead Isle', href: 'https://homecoming.wiki/wiki/Sharkhead_Isle' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SirensCall: ZoneData = {
|
|
4
4
|
key: 'sirens-call',
|
|
5
5
|
name: `Siren's Call`,
|
|
6
|
+
type: 'pvp',
|
|
7
|
+
morality: 'all',
|
|
8
|
+
levelRange: [30, 30],
|
|
6
9
|
links: [{ title: `Siren's Call`, href: 'https://homecoming.wiki/wiki/Siren%27s_Call' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SkywayCity: ZoneData = {
|
|
4
4
|
key: 'skyway-city',
|
|
5
5
|
name: 'Skyway City',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [10, 19],
|
|
6
9
|
links: [{ title: 'Skyway City', href: 'https://homecoming.wiki/wiki/Skyway_City' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const StMartial: ZoneData = {
|
|
4
4
|
key: 'st-martial',
|
|
5
5
|
name: 'St. Martial',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'villainous',
|
|
8
|
+
levelRange: [29, 40],
|
|
6
9
|
links: [{ title: 'St. Martial', href: 'https://homecoming.wiki/wiki/St._Martial' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const SteelCanyon: ZoneData = {
|
|
4
4
|
key: 'steel-canyon',
|
|
5
5
|
name: 'Steel Canyon',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [10, 19],
|
|
6
9
|
links: [{ title: 'Steel Canyon', href: 'https://homecoming.wiki/wiki/Steel_Canyon' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const StrigaIsle: ZoneData = {
|
|
4
4
|
key: 'striga-isle',
|
|
5
5
|
name: 'Striga Isle',
|
|
6
|
+
type: 'co-op',
|
|
7
|
+
morality: 'all',
|
|
8
|
+
levelRange: [20, 29],
|
|
6
9
|
links: [{ title: 'Striga Isle', href: 'https://homecoming.wiki/wiki/Striga_Isle' }],
|
|
7
10
|
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { ZoneData } from 'coh-content-db'
|
|
1
|
+
import { ZoneData, zoneLink } from 'coh-content-db'
|
|
2
|
+
import { PocketD } from './pocket-d'
|
|
2
3
|
|
|
3
4
|
export const Studio55: ZoneData = {
|
|
4
5
|
key: 'studio-55',
|
|
5
6
|
name: 'Studio 55',
|
|
7
|
+
type: 'building',
|
|
8
|
+
morality: 'all',
|
|
9
|
+
levelRange: 1,
|
|
10
|
+
notes: `Acts as the Praetorian Earth's connection to the ${zoneLink(PocketD)} zone.`,
|
|
6
11
|
links: [{ title: 'Studio 55', href: 'https://homecoming.wiki/wiki/Studio_55' }],
|
|
7
12
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TalosIsland: ZoneData = {
|
|
4
4
|
key: 'talos-island',
|
|
5
5
|
name: 'Talos Island',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [20, 27],
|
|
6
9
|
links: [{ title: 'Talos Island', href: 'https://homecoming.wiki/wiki/Talos_Island' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TerraVolta: ZoneData = {
|
|
4
4
|
key: 'terra-volta',
|
|
5
5
|
name: 'Terra Volta',
|
|
6
|
+
type: 'trial',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [20, 29],
|
|
6
9
|
links: [{ title: 'Terra Volta', href: 'https://homecoming.wiki/wiki/Terra_Volta' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TheAbyss: ZoneData = {
|
|
4
4
|
key: 'the-abyss',
|
|
5
5
|
name: 'The Abyss',
|
|
6
|
+
type: 'co-op',
|
|
7
|
+
morality: 'all',
|
|
8
|
+
levelRange: [45, 50],
|
|
6
9
|
links: [{ title: 'The Abyss', href: 'https://homecoming.wiki/wiki/The_Abyss' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TheChantry: ZoneData = {
|
|
4
4
|
key: 'the-chantry',
|
|
5
5
|
name: 'The Chantry',
|
|
6
|
+
type: 'hazard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [44, 47],
|
|
6
9
|
links: [{ title: 'The Chantry', href: 'https://homecoming.wiki/wiki/The_Chantry' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TheHollows: ZoneData = {
|
|
4
4
|
key: 'the-hollows',
|
|
5
5
|
name: 'The Hollows',
|
|
6
|
+
type: 'hazard',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [5, 15],
|
|
6
9
|
links: [{ title: 'The Hollows', href: 'https://homecoming.wiki/wiki/The_Hollows' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TheLabyrinthOfFog: ZoneData = {
|
|
4
4
|
key: 'the-labyrinth-of-fog',
|
|
5
5
|
name: 'The Labyrinth of Fog',
|
|
6
|
+
type: 'co-op',
|
|
7
|
+
morality: 'all',
|
|
8
|
+
levelRange: [45, 50],
|
|
6
9
|
links: [{ title: 'The Labyrinth of Fog', href: 'https://homecoming.wiki/wiki/The_Labyrinth_of_Fog' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const TheStormPalace: ZoneData = {
|
|
4
4
|
key: 'the-storm-palace',
|
|
5
5
|
name: 'The Storm Palace',
|
|
6
|
+
type: 'trial',
|
|
7
|
+
morality: 'heroic',
|
|
8
|
+
levelRange: [48, 53],
|
|
6
9
|
links: [{ title: 'The Storm Palace', href: 'https://homecoming.wiki/wiki/The_Storm_Palace' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const UndergroundImperial: ZoneData = {
|
|
4
4
|
key: 'underground-imperial',
|
|
5
5
|
name: 'Underground Imperial',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'praetorian',
|
|
8
|
+
levelRange: [9, 15],
|
|
6
9
|
links: [{ title: 'Underground Imperial', href: 'https://homecoming.wiki/wiki/Underground_Imperial' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const UndergroundNeutropolis: ZoneData = {
|
|
4
4
|
key: 'underground-neutropolis',
|
|
5
5
|
name: 'Underground Neutropolis',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'praetorian',
|
|
8
|
+
levelRange: [15, 20],
|
|
6
9
|
links: [{ title: 'Underground Neutropolis', href: 'https://homecoming.wiki/wiki/Underground_Neutropolis' }],
|
|
7
10
|
}
|
|
@@ -3,5 +3,8 @@ import { ZoneData } from 'coh-content-db'
|
|
|
3
3
|
export const UndergroundNova: ZoneData = {
|
|
4
4
|
key: 'underground-nova',
|
|
5
5
|
name: 'Underground Nova',
|
|
6
|
+
type: 'city',
|
|
7
|
+
morality: 'praetorian',
|
|
8
|
+
levelRange: [1, 10],
|
|
6
9
|
links: [{ title: 'Underground Nova', href: 'https://homecoming.wiki/wiki/Underground_Nova' }],
|
|
7
10
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CohContentDatabase } from 'coh-content-db'
|
|
2
|
+
import { HOMECOMING } from '../../main/ts'
|
|
3
|
+
|
|
4
|
+
const TEST_DATABASE = new CohContentDatabase(HOMECOMING)
|
|
5
|
+
|
|
6
|
+
describe('Mission', () => {
|
|
7
|
+
test('should only contain valid contacts', () => {
|
|
8
|
+
const errors: string[] = []
|
|
9
|
+
|
|
10
|
+
for (const mission of TEST_DATABASE.missions) {
|
|
11
|
+
for (const contactKey of mission.contactKeys ?? []) {
|
|
12
|
+
if (!TEST_DATABASE.getContact(contactKey)) errors.push(`['${mission.key}'].contactKey['${contactKey}']`)
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (errors.length > 0) {
|
|
17
|
+
throw `Some requirements have invalid links:\n${errors.join('\n')}`
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
})
|
|
File without changes
|