feat(content): migrate ItemType, seed Räuberabzeichen/Grenzwacht/turn-ins, zero direct monster rewards
This commit is contained in:
@@ -16,7 +16,13 @@ import { LocationMonster } from '../../monsters/entities/location-monster.entity
|
||||
import { MonsterDefinition } from '../../monsters/entities/monster-definition.entity';
|
||||
import { LocationConnection } from '../../world/entities/location-connection.entity';
|
||||
import { LocationDefinition } from '../../world/entities/location-definition.entity';
|
||||
import { ITEM_DEFINITIONS, LOOT_TABLES, LOOT_TABLE_ENTRIES } from './item-content';
|
||||
import { ReputationFaction } from '../../reputation/entities/reputation-faction.entity';
|
||||
import { TurnInDefinition } from '../../turn-in/entities/turn-in-definition.entity';
|
||||
import {
|
||||
ITEM_DEFINITIONS,
|
||||
LOOT_TABLES,
|
||||
LOOT_TABLE_ENTRIES,
|
||||
} from './item-content';
|
||||
import {
|
||||
ASH_RAT_LOOT_TABLE_ID,
|
||||
ITEM_IDS,
|
||||
@@ -26,6 +32,8 @@ import {
|
||||
BURNED_ROAD_LOCAL_CONTENT,
|
||||
SOUTH_GATE_LOCAL_CONTENT,
|
||||
} from './local-location.content';
|
||||
import { REPUTATION_FACTIONS } from './reputation-content';
|
||||
import { TURN_IN_DEFINITIONS } from './turn-in-content';
|
||||
import {
|
||||
ASH_RAT_MONSTER_ID,
|
||||
BURNED_ROAD_ID,
|
||||
@@ -46,6 +54,9 @@ export async function seedVisibleVerticalSlice(
|
||||
const itemRepository = dataSource.getRepository(ItemDefinition);
|
||||
const lootTableRepository = dataSource.getRepository(LootTable);
|
||||
const lootEntryRepository = dataSource.getRepository(LootTableEntry);
|
||||
const reputationFactionRepository =
|
||||
dataSource.getRepository(ReputationFaction);
|
||||
const turnInDefinitionRepository = dataSource.getRepository(TurnInDefinition);
|
||||
|
||||
const locations = [
|
||||
{
|
||||
@@ -125,6 +136,8 @@ export async function seedVisibleVerticalSlice(
|
||||
'lootTableId',
|
||||
'itemDefinitionId',
|
||||
]);
|
||||
await reputationFactionRepository.upsert(REPUTATION_FACTIONS, ['key']);
|
||||
await turnInDefinitionRepository.upsert(TURN_IN_DEFINITIONS, ['key']);
|
||||
|
||||
const monsters = [
|
||||
{
|
||||
@@ -135,9 +148,8 @@ export async function seedVisibleVerticalSlice(
|
||||
maxHp: 45,
|
||||
attack: 5,
|
||||
armor: 0,
|
||||
experienceReward: 8,
|
||||
silverMin: 4,
|
||||
silverMax: 7,
|
||||
silverMin: 0,
|
||||
silverMax: 0,
|
||||
artworkPath: '/images/monsters/ash-rat.png',
|
||||
iconPath: '/images/combat/icons/ash-rat-128.png',
|
||||
lootTableId: ASH_RAT_LOOT_TABLE_ID,
|
||||
@@ -150,9 +162,8 @@ export async function seedVisibleVerticalSlice(
|
||||
maxHp: 55,
|
||||
attack: 7,
|
||||
armor: 0,
|
||||
experienceReward: 11,
|
||||
silverMin: 5,
|
||||
silverMax: 9,
|
||||
silverMin: 0,
|
||||
silverMax: 0,
|
||||
artworkPath: '/images/monsters/wild-road-dog.png',
|
||||
iconPath: '/images/combat/icons/wild-road-dog-128.png',
|
||||
// Shares the beast table: both are scorched road animals that leave a
|
||||
@@ -167,9 +178,8 @@ export async function seedVisibleVerticalSlice(
|
||||
maxHp: 75,
|
||||
attack: 9,
|
||||
armor: 5,
|
||||
experienceReward: 16,
|
||||
silverMin: 9,
|
||||
silverMax: 15,
|
||||
silverMin: 0,
|
||||
silverMax: 0,
|
||||
artworkPath: '/images/monsters/road-bandit.png',
|
||||
iconPath: '/images/combat/icons/road-bandit-128.png',
|
||||
lootTableId: ROAD_BANDIT_LOOT_TABLE_ID,
|
||||
@@ -182,9 +192,8 @@ export async function seedVisibleVerticalSlice(
|
||||
maxHp: 85,
|
||||
attack: 11,
|
||||
armor: 6,
|
||||
experienceReward: 20,
|
||||
silverMin: 12,
|
||||
silverMax: 19,
|
||||
silverMin: 0,
|
||||
silverMax: 0,
|
||||
artworkPath: '/images/monsters/charred-looter.png',
|
||||
iconPath: '/images/combat/icons/charred-looter-128.png',
|
||||
// Shares the raider table: same gear, taken from the same caravans.
|
||||
@@ -237,8 +246,7 @@ export async function seedVisibleVerticalSlice(
|
||||
await characterRepository.insert({
|
||||
id: DEMO_CHARACTER_ID,
|
||||
name: 'Aric Duskwalker',
|
||||
level: 1,
|
||||
experience: 0,
|
||||
renown: 1,
|
||||
silver: 0,
|
||||
baseHp: 100,
|
||||
baseAttack: 6,
|
||||
@@ -248,7 +256,8 @@ export async function seedVisibleVerticalSlice(
|
||||
}
|
||||
|
||||
const characterItemRepository = dataSource.getRepository(CharacterItem);
|
||||
const characterEquipmentRepository = dataSource.getRepository(CharacterEquipment);
|
||||
const characterEquipmentRepository =
|
||||
dataSource.getRepository(CharacterEquipment);
|
||||
|
||||
// Starting loadout is weapon-only -- no starter armor piece exists in
|
||||
// content yet -- so the demo character's effective armor (sum of equipped
|
||||
|
||||
Reference in New Issue
Block a user