fix: seed craft-drops — inclure matériaux/items/recettes Sprint 3 (migration MySQL)
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 31s

This commit is contained in:
2026-03-24 20:10:44 +01:00
parent 47c90e4d55
commit ec6d91b0f9

View File

@@ -10,6 +10,12 @@ import { Monster } from '../monster/monster.entity';
// ────────────────────────────────────────────── // ──────────────────────────────────────────────
const NEW_MATERIALS: Partial<Material>[] = [ const NEW_MATERIALS: Partial<Material>[] = [
// 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 // Égouts
{ name: 'Poil de Rat', description: 'Poil rêche arraché à un rat d\'égout. Sert de rembourrage.', rarity: 'common' }, { 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' }, { name: 'Gelée Toxique', description: 'Substance corrosive récupérée sur un slime.', rarity: 'common' },
@@ -29,6 +35,12 @@ const NEW_MATERIALS: Partial<Material>[] = [
// ────────────────────────────────────────────── // ──────────────────────────────────────────────
const NEW_ITEMS: Partial<Item>[] = [ const NEW_ITEMS: Partial<Item>[] = [
// 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) // 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: '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.' }, { 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<Item>[] = [
// ────────────────────────────────────────────── // ──────────────────────────────────────────────
const MONSTER_LOOT: Record<string, string> = { const MONSTER_LOOT: Record<string, string> = {
// 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 // Égouts
'Rat d\'Égout': 'Poil de Rat', 'Rat d\'Égout': 'Poil de Rat',
'Slime Toxique': 'Gelée Toxique', 'Slime Toxique': 'Gelée Toxique',
@@ -78,7 +96,39 @@ interface RecipeDef {
} }
const NEW_RECIPES: 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', name: 'Craft Potion Antipoison',
resultItemName: 'Potion Antipoison', resultItemName: 'Potion Antipoison',