'use strict'; const ENEMY_TYPES = [ { id: 'slime', name: 'Slime', hp: 2, damage: 1, defense: 0, behavior: 'patrol', speed: 1.0, attackRange: 1, colors: { body: '#6B8E23', eye: '#000', accent: '#8FBC8F' }, drawFunction: 'drawSlime', drops: [ { item: 'rupee_green', weight: 80 }, { item: 'rupee_blue', weight: 15 }, { item: 'healing_potion', weight: 5 } ] }, { id: 'slime_red', name: 'Red Slime', hp: 4, damage: 2, defense: 0, behavior: 'patrol', speed: 1.2, attackRange: 1, colors: { body: '#B22222', eye: '#000', accent: '#FF6347' }, drawFunction: 'drawSlime', drops: [ { item: 'rupee_blue', weight: 70 }, { item: 'rupee_red', weight: 20 }, { item: 'healing_potion', weight: 10 } ] }, { id: 'slime_blue', name: 'Blue Slime', hp: 6, damage: 3, defense: 1, behavior: 'patrol', speed: 0.8, attackRange: 1, colors: { body: '#4169E1', eye: '#000', accent: '#87CEEB' }, drawFunction: 'drawSlime', drops: [ { item: 'rupee_red', weight: 60 }, { item: 'rupee_yellow', weight: 30 }, { item: 'healing_potion', weight: 10 } ] }, { id: 'keese', name: 'Keese', hp: 1, damage: 1, defense: 0, behavior: 'chase', speed: 2.0, attackRange: 1, colors: { body: '#4B0082', eye: '#FFFF00', accent: '#800080' }, drawFunction: 'drawKeese', drops: [ { item: 'rupee_green', weight: 90 }, { item: 'healing_potion', weight: 10 } ] }, { id: 'octorok', name: 'Octorok', hp: 3, damage: 0, defense: 0, behavior: 'ranged', speed: 0.5, attackRange: 4, projectileSpeed: 3, colors: { body: '#8B4513', eye: '#FFF', accent: '#D2691E' }, drawFunction: 'drawOctorok', drops: [ { item: 'rupee_green', weight: 70 }, { item: 'rupee_blue', weight: 20 }, { item: 'arrow', weight: 10 } ] }, { id: 'moblin', name: 'Moblin', hp: 8, damage: 4, defense: 2, behavior: 'chase', speed: 1.5, attackRange: 1, colors: { body: '#2E8B57', eye: '#FF0000', accent: '#228B22' }, drawFunction: 'drawMoblin', drops: [ { item: 'rupee_blue', weight: 60 }, { item: 'rupee_red', weight: 25 }, { item: 'healing_potion', weight: 10 }, { item: 'sword', weight: 2 }, { item: 'arrow', weight: 3 } ] }, { id: 'stalfos', name: 'Stalfos', hp: 5, damage: 3, defense: 1, behavior: 'chase', speed: 1.8, attackRange: 1, colors: { body: '#F5F5DC', eye: '#FF0000', accent: '#DDA0DD' }, drawFunction: 'drawStalfos', drops: [ { item: 'rupee_red', weight: 50 }, { item: 'rupee_yellow', weight: 30 }, { item: 'healing_potion', weight: 15 }, { item: 'bomb', weight: 5 } ] }, { id: 'goriya', name: 'Goriya', hp: 6, damage: 3, defense: 2, behavior: 'chase', speed: 1.6, attackRange: 2, colors: { body: '#DC143C', eye: '#FFF', accent: '#FF6347' }, drawFunction: 'drawGoriya', drops: [ { item: 'rupee_red', weight: 50 }, { item: 'rupee_yellow', weight: 25 }, { item: 'healing_potion', weight: 15 }, { item: 'bow', weight: 5 }, { item: 'arrow', weight: 5 } ] }, { id: 'armos', name: 'Armos Knight', hp: 10, damage: 5, defense: 3, behavior: 'stationary', speed: 0, attackRange: 1, colors: { body: '#FFD700', eye: '#000080', accent: '#FF8C00' }, drawFunction: 'drawArmos', drops: [ { item: 'rupee_yellow', weight: 50 }, { item: 'healing_potion', weight: 30 }, { item: 'hammer', weight: 5 }, { item: 'heart_piece', weight: 2 } ] }, { id: 'lynel', name: 'Lynel', hp: 20, damage: 8, defense: 4, behavior: 'charge', speed: 2.5, attackRange: 2, colors: { body: '#8B0000', eye: '#FFD700', accent: '#FF4500' }, drawFunction: 'drawLynel', drops: [ { item: 'rupee_yellow', weight: 40 }, { item: 'healing_potion', weight: 30 }, { item: 'heart_piece', weight: 10 }, { item: 'sword', weight: 5 }, { item: 'arrow', weight: 5 }, { item: 'bomb', weight: 5 }, { item: 'boomerang', weight: 2 }, { item: 'magic_potion', weight: 3 } ] }, { id: 'like', name: 'Like Like', hp: 4, damage: 2, defense: 1, behavior: 'chase', speed: 1.2, attackRange: 1, colors: { body: '#708090', eye: '#FF0000', accent: '#A9A9A9' }, drawFunction: 'drawSlime', drops: [ { item: 'rupee_blue', weight: 60 }, { item: 'rupee_red', weight: 30 }, { item: 'healing_potion', weight: 10 } ] }, { id: 'bub', name: 'Bub', hp: 3, damage: 2, defense: 0, behavior: 'patrol', speed: 1.0, attackRange: 1, colors: { body: '#696969', eye: '#FFF', accent: '#808080' }, drawFunction: 'drawKeese', drops: [ { item: 'rupee_green', weight: 70 }, { item: 'rupee_blue', weight: 20 }, { item: 'healing_potion', weight: 10 } ] }, { id: 'reedeath', name: 'Reedeath', hp: 3, damage: 1, defense: 0, behavior: 'stationary', speed: 0, attackRange: 1, colors: { body: '#228B22', eye: '#FFF', accent: '#32CD32' }, drawFunction: 'drawStalfos', drops: [ { item: 'rupee_green', weight: 80 }, { item: 'healing_potion', weight: 15 }, { item: 'bomb', weight: 5 } ] }, { id: 'wallmaster', name: 'Wallmaster', hp: 2, damage: 15, defense: 0, behavior: 'teleport', speed: 0, attackRange: 1, colors: { body: '#8B0000', eye: '#FFD700', accent: '#4B0082' }, drawFunction: 'drawKeese', drops: [ { item: 'rupee_yellow', weight: 60 }, { item: 'heart_piece', weight: 20 }, { item: 'healing_potion', weight: 20 } ] }, { id: 'manhandla', name: 'Manhandla', hp: 12, damage: 6, defense: 2, behavior: 'charge', speed: 2.0, attackRange: 1, colors: { body: '#8B4513', eye: '#FF0000', accent: '#D2691E' }, drawFunction: 'drawSlime', drops: [ { item: 'rupee_red', weight: 50 }, { item: 'rupee_yellow', weight: 30 }, { item: 'healing_potion', weight: 15 }, { item: 'heart_piece', weight: 5 } ] }, { id: 'tektite', name: 'Tektite', hp: 2, damage: 1, defense: 0, behavior: 'patrol', speed: 1.5, attackRange: 1, colors: { body: '#A0522D', eye: '#FFD700', accent: '#CD853F' }, drawFunction: 'drawKeese', drops: [ { item: 'rupee_green', weight: 80 }, { item: 'healing_potion', weight: 15 }, { item: 'rupee_blue', weight: 5 } ] }, { id: 'leever', name: 'Leever', hp: 4, damage: 2, defense: 1, behavior: 'charge', speed: 2.0, attackRange: 1, colors: { body: '#DAA520', eye: '#000', accent: '#FFD700' }, drawFunction: 'drawKeese', drops: [ { item: 'rupee_blue', weight: 60 }, { item: 'rupee_red', weight: 25 }, { item: 'healing_potion', weight: 15 } ] }, { id: 'skullwallma', name: 'Skullwallma', hp: 5, damage: 3, defense: 1, behavior: 'stationary', speed: 0, attackRange: 1, colors: { body: '#F5F5DC', eye: '#FF0000', accent: '#DDA0DD' }, drawFunction: 'drawStalfos', drops: [ { item: 'rupee_red', weight: 50 }, { item: 'healing_potion', weight: 30 }, { item: 'bomb', weight: 15 }, { item: 'heart_piece', weight: 5 } ] }, { id: 'ironknuckle', name: 'Iron Knuckle', hp: 15, damage: 7, defense: 4, behavior: 'chase', speed: 1.8, attackRange: 2, colors: { body: '#708090', eye: '#FF0000', accent: '#C0C0C0' }, drawFunction: 'drawMoblin', drops: [ { item: 'rupee_yellow', weight: 40 }, { item: 'healing_potion', weight: 30 }, { item: 'sword', weight: 10 }, { item: 'heart_piece', weight: 10 }, { item: 'arrow', weight: 10 } ] }, { id: 'darknut', name: 'Darknut', hp: 18, damage: 6, defense: 5, behavior: 'chase', speed: 1.4, attackRange: 1, colors: { body: '#2F4F4F', eye: '#FF0000', accent: '#708090' }, drawFunction: 'drawMoblin', drops: [ { item: 'rupee_yellow', weight: 40 }, { item: 'healing_potion', weight: 25 }, { item: 'heart_piece', weight: 15 }, { item: 'hammer', weight: 10 }, { item: 'boomerang', weight: 10 } ] }, { id: 'wizzrobe', name: 'Wizzrobe', hp: 8, damage: 5, defense: 1, behavior: 'teleport', speed: 0, attackRange: 4, colors: { body: '#4B0082', eye: '#FFFF00', accent: '#800080' }, drawFunction: 'drawStalfos', drops: [ { item: 'rupee_yellow', weight: 40 }, { item: 'healing_potion', weight: 20 }, { item: 'heart_piece', weight: 15 }, { item: 'magic_potion', weight: 15 }, { item: 'fire_rod', weight: 5 }, { item: 'ice_rod', weight: 5 } ] }, { id: 'peahat', name: 'Peahat', hp: 2, damage: 1, defense: 0, behavior: 'stationary', speed: 0, attackRange: 1, colors: { body: '#228B22', eye: '#FFD700', accent: '#FF69B4' }, drawFunction: 'drawStalfos', drops: [ { item: 'rupee_green', weight: 80 }, { item: 'healing_potion', weight: 15 }, { item: 'rupee_blue', weight: 5 } ] } ]; function getEnemyType(id) { return ENEMY_TYPES.find(e => e.id === id); } if (typeof module !== 'undefined' && module.exports) { module.exports = { ENEMY_TYPES, getEnemyType }; }