diff --git a/src/database/seed-craft-drops.ts b/src/database/seed-craft-drops.ts index 3e967fd..ffeba7f 100644 --- a/src/database/seed-craft-drops.ts +++ b/src/database/seed-craft-drops.ts @@ -10,6 +10,12 @@ import { Monster } from '../monster/monster.entity'; // ────────────────────────────────────────────── const NEW_MATERIALS: Partial[] = [ + // Marais (Sprint 3 — re-seed si absents après migration MySQL) + { name: 'Bave de Têtard', description: 'Substance visqueuse sécrétée par les têtards vases.', rarity: 'common' }, + { name: 'Écailles de Grenouille', description: 'Écailles dures et brillantes de grenouilles boueuses.', rarity: 'common' }, + { name: 'Venin de Serpent', description: 'Venin concentré extrait d\'un serpent des marais.', rarity: 'rare' }, + { name: 'Spores Vénéneuses', description: 'Spores toxiques récoltées sur les champi vénéneux.', rarity: 'rare' }, + { name: 'Fragment de Boue', description: 'Éclat de boue cristallisée prélevé sur un golem.', rarity: 'common' }, // Égouts { name: 'Poil de Rat', description: 'Poil rêche arraché à un rat d\'égout. Sert de rembourrage.', rarity: 'common' }, { name: 'Gelée Toxique', description: 'Substance corrosive récupérée sur un slime.', rarity: 'common' }, @@ -29,6 +35,12 @@ const NEW_MATERIALS: Partial[] = [ // ────────────────────────────────────────────── const NEW_ITEMS: Partial[] = [ + // Marais — Sprint 3 (re-seed si absents après migration MySQL) + { name: 'Bâton de Roseau', type: 'weapon', rarity: 'common', attackBonus: 3, buyPrice: 0, minLevel: 1, description: 'Un bâton taillé dans un roseau des marais.' }, + { name: 'Dague Rouillée', type: 'weapon', rarity: 'common', attackBonus: 5, buyPrice: 0, minLevel: 1, description: 'Une dague usée mais encore tranchante.' }, + { name: 'Épée Courte', type: 'weapon', rarity: 'rare', attackBonus: 9, buyPrice: 0, minLevel: 3, description: 'Une épée courte bien équilibrée.' }, + { name: 'Gilet de Cuir', type: 'armor', rarity: 'common', defenseBonus: 3, buyPrice: 0, minLevel: 1, description: 'Un gilet de cuir tanné offrant une protection basique.' }, + { name: 'Cotte de Mailles', type: 'armor', rarity: 'rare', defenseBonus: 7, buyPrice: 0, minLevel: 3, description: 'Une cotte de mailles robuste.' }, // Marais (2 nouveaux) { name: 'Potion Antipoison', type: 'consumable', rarity: 'common', attackBonus: 0, defenseBonus: 0, forceBonus: 20, buyPrice: 0, minLevel: 1, zone: null, description: 'Neutralise les poisons et restaure 20 endurance.' }, { name: 'Bouclier de Boue', type: 'armor', rarity: 'common', attackBonus: 0, defenseBonus: 4, buyPrice: 0, minLevel: 2, zone: 'marais', description: 'Forgé dans la boue cristallisée des golems.' }, @@ -51,6 +63,12 @@ const NEW_ITEMS: Partial[] = [ // ────────────────────────────────────────────── const MONSTER_LOOT: Record = { + // Marais (re-seed si absents après migration MySQL) + 'Têtard Vase': 'Bave de Têtard', + 'Grenouille Boueuse': 'Écailles de Grenouille', + 'Serpent des Marais': 'Venin de Serpent', + 'Champi Vénéneux': 'Spores Vénéneuses', + 'Golem de Boue': 'Fragment de Boue', // Égouts 'Rat d\'Égout': 'Poil de Rat', 'Slime Toxique': 'Gelée Toxique', @@ -78,7 +96,39 @@ interface RecipeDef { } const NEW_RECIPES: RecipeDef[] = [ - // Marais (2) + // Marais — Sprint 3 (re-seed si absents) + { + name: 'Craft Dague Rouillée', + resultItemName: 'Dague Rouillée', + craftDurationSeconds: 15, + enduranceCost: 8, + ingredientNames: [ + { materialName: 'Bave de Têtard', quantity: 3 }, + { materialName: 'Écailles de Grenouille', quantity: 1 }, + ], + }, + { + name: 'Craft Gilet de Cuir', + resultItemName: 'Gilet de Cuir', + craftDurationSeconds: 30, + enduranceCost: 10, + ingredientNames: [ + { materialName: 'Écailles de Grenouille', quantity: 3 }, + { materialName: 'Fragment de Boue', quantity: 2 }, + ], + }, + { + name: 'Craft Épée Courte', + resultItemName: 'Épée Courte', + craftDurationSeconds: 60, + enduranceCost: 15, + ingredientNames: [ + { materialName: 'Venin de Serpent', quantity: 2 }, + { materialName: 'Fragment de Boue', quantity: 3 }, + { materialName: 'Écailles de Grenouille', quantity: 2 }, + ], + }, + // Marais (2 nouveaux) { name: 'Craft Potion Antipoison', resultItemName: 'Potion Antipoison',