--- /dev/null
+import { InventoryType, Rarity } from '@prisma/client';
+import {prisma} from '../../src/lib/db';
+
+const equipmentDef = [
+ {
+ name: 'Rusty Sword',
+ type: [InventoryType.R_ARM, InventoryType.L_ARM, InventoryType.WEAPON],
+ durability: 30,
+ minLevelDrop: 1,
+ rarityDropRates: [
+ {
+ rarity: Rarity.COMMON,
+ weight: 0.9,
+ },
+ {
+ rarity: Rarity.UNCOMMON,
+ weight: 0.1
+ }
+ ],
+ statModifiers: {
+ stats: [
+ {
+ name: 'pow',
+ min: 2,
+ max :5
+ }
+ ],
+ required: ['pow']
+ }
+ },
+ {
+ name: 'Shortsword',
+ type: [InventoryType.L_ARM, InventoryType.R_ARM, InventoryType.WEAPON],
+ durability: 50,
+ minLevelDrop: 2,
+ rarityDropRates: [
+ {
+ rarity: Rarity.COMMON,
+ weight: 0.8
+ },
+ {
+ rarity: Rarity.UNCOMMON,
+ weight: 0.2
+ }
+ ],
+ statModifiers: {
+ stats: [
+ {
+ name: 'pow',
+ min: 3,
+ max: 8
+ }
+ ],
+ required: ['pow']
+ }
+ },
+ {
+ name: 'Polearm',
+ type: [InventoryType.BOTH_ARMS, InventoryType.WEAPON],
+ durability: 45,
+ minLevelDrop: 2,
+ rarityDropRates: [
+ {
+ rarity: Rarity.COMMON,
+ weight: 0.8
+ },
+ {
+ rarity: Rarity.COMMON,
+ weight: 0.2
+ }
+ ],
+ statModifiers: {
+ stats: [
+ {
+ name: 'pow',
+ min: 3,
+ max: 5
+ }
+ ],
+ required: ['pow']
+ }
+ },
+ {
+ name: 'Old Shirt',
+ type: [InventoryType.ARMOUR, InventoryType.TORSO],
+ durability: 20,
+ minLevelDrop: 1,
+ rarityDropRates: [
+ {
+ rarity: Rarity.COMMON,
+ weight: 0.8,
+ },
+ {
+ rarity: Rarity.UNCOMMON,
+ weight: 0.1
+ }
+ ],
+ statModifiers: {
+ stats: [
+ {
+ name: 'zest',
+ min: 1,
+ max: 3
+ }
+ ],
+ required: ['zest']
+ }
+ },
+ {
+ name: 'Gloves',
+ type: [InventoryType.L_ARM, InventoryType.R_ARM, InventoryType.ARMOUR],
+ durability: 20,
+ minLevelDrop: 1,
+ rarityDropRates: [
+ {
+ rarity: Rarity.COMMON,
+ weight: 0.8
+ },
+ {
+ rarity: Rarity.UNCOMMON,
+ weight: 0.1
+ }
+ ],
+ statModifiers: {
+ stats: [
+ {
+ name: 'zest',
+ min: 1,
+ max: 2
+ }
+ ],
+ required: ['zest']
+ }
+ }
+];
+
+export async function down() {
+ await prisma.inventory.deleteMany();
+ await prisma.lootTable.deleteMany();
+ await prisma.item.deleteMany();
+}
+
+export async function up() {
+ await prisma.item.createMany({
+ data: equipmentDef
+ });
+}