From 45cfa25911f203314e542ff92039ddd4cecf3ebe Mon Sep 17 00:00:00 2001 From: Phillip Tarrant Date: Fri, 28 Nov 2025 10:37:57 -0600 Subject: [PATCH] adding more enemies --- api/app/data/enemies/harpy.yaml | 58 ++++++++ api/app/data/enemies/harpy_matriarch.yaml | 119 +++++++++++++++ api/app/data/enemies/harpy_scout.yaml | 64 ++++++++ api/app/data/enemies/harpy_screamer.yaml | 76 ++++++++++ api/app/data/enemies/imp.yaml | 64 ++++++++ api/app/data/enemies/imp_fiery.yaml | 76 ++++++++++ api/app/data/enemies/imp_overlord.yaml | 116 +++++++++++++++ api/app/data/enemies/imp_trickster.yaml | 77 ++++++++++ api/app/data/enemies/kobold.yaml | 58 ++++++++ api/app/data/enemies/kobold_sorcerer.yaml | 76 ++++++++++ api/app/data/enemies/kobold_taskmaster.yaml | 91 ++++++++++++ api/app/data/enemies/kobold_trapper.yaml | 73 +++++++++ api/app/data/enemies/lizardfolk.yaml | 64 ++++++++ api/app/data/enemies/lizardfolk_champion.yaml | 109 ++++++++++++++ api/app/data/enemies/lizardfolk_hunter.yaml | 75 ++++++++++ api/app/data/enemies/lizardfolk_shaman.yaml | 89 +++++++++++ api/app/data/enemies/ogre.yaml | 64 ++++++++ api/app/data/enemies/ogre_brute.yaml | 85 +++++++++++ api/app/data/enemies/ogre_chieftain.yaml | 118 +++++++++++++++ api/app/data/enemies/ogre_magi.yaml | 107 ++++++++++++++ api/app/data/enemies/slime.yaml | 55 +++++++ api/app/data/enemies/slime_giant.yaml | 84 +++++++++++ api/app/data/enemies/slime_king.yaml | 122 +++++++++++++++ api/app/data/enemies/slime_toxic.yaml | 70 +++++++++ api/app/data/enemies/spider.yaml | 56 +++++++ api/app/data/enemies/spider_broodmother.yaml | 90 ++++++++++++ api/app/data/enemies/spider_hatchling.yaml | 51 +++++++ api/app/data/enemies/spider_venomous.yaml | 66 +++++++++ api/app/data/enemies/troll.yaml | 59 ++++++++ api/app/data/enemies/troll_cave.yaml | 68 +++++++++ api/app/data/enemies/troll_shaman.yaml | 75 ++++++++++ api/app/data/enemies/troll_warlord.yaml | 101 +++++++++++++ api/app/data/enemies/wraith.yaml | 61 ++++++++ api/app/data/enemies/wraith_banshee.yaml | 85 +++++++++++ api/app/data/enemies/wraith_lord.yaml | 139 ++++++++++++++++++ api/app/data/enemies/wraith_shadow.yaml | 72 +++++++++ api/app/data/enemies/zombie.yaml | 58 ++++++++ api/app/data/enemies/zombie_brute.yaml | 69 +++++++++ api/app/data/enemies/zombie_plague.yaml | 85 +++++++++++ api/app/data/enemies/zombie_shambler.yaml | 53 +++++++ 40 files changed, 3178 insertions(+) create mode 100644 api/app/data/enemies/harpy.yaml create mode 100644 api/app/data/enemies/harpy_matriarch.yaml create mode 100644 api/app/data/enemies/harpy_scout.yaml create mode 100644 api/app/data/enemies/harpy_screamer.yaml create mode 100644 api/app/data/enemies/imp.yaml create mode 100644 api/app/data/enemies/imp_fiery.yaml create mode 100644 api/app/data/enemies/imp_overlord.yaml create mode 100644 api/app/data/enemies/imp_trickster.yaml create mode 100644 api/app/data/enemies/kobold.yaml create mode 100644 api/app/data/enemies/kobold_sorcerer.yaml create mode 100644 api/app/data/enemies/kobold_taskmaster.yaml create mode 100644 api/app/data/enemies/kobold_trapper.yaml create mode 100644 api/app/data/enemies/lizardfolk.yaml create mode 100644 api/app/data/enemies/lizardfolk_champion.yaml create mode 100644 api/app/data/enemies/lizardfolk_hunter.yaml create mode 100644 api/app/data/enemies/lizardfolk_shaman.yaml create mode 100644 api/app/data/enemies/ogre.yaml create mode 100644 api/app/data/enemies/ogre_brute.yaml create mode 100644 api/app/data/enemies/ogre_chieftain.yaml create mode 100644 api/app/data/enemies/ogre_magi.yaml create mode 100644 api/app/data/enemies/slime.yaml create mode 100644 api/app/data/enemies/slime_giant.yaml create mode 100644 api/app/data/enemies/slime_king.yaml create mode 100644 api/app/data/enemies/slime_toxic.yaml create mode 100644 api/app/data/enemies/spider.yaml create mode 100644 api/app/data/enemies/spider_broodmother.yaml create mode 100644 api/app/data/enemies/spider_hatchling.yaml create mode 100644 api/app/data/enemies/spider_venomous.yaml create mode 100644 api/app/data/enemies/troll.yaml create mode 100644 api/app/data/enemies/troll_cave.yaml create mode 100644 api/app/data/enemies/troll_shaman.yaml create mode 100644 api/app/data/enemies/troll_warlord.yaml create mode 100644 api/app/data/enemies/wraith.yaml create mode 100644 api/app/data/enemies/wraith_banshee.yaml create mode 100644 api/app/data/enemies/wraith_lord.yaml create mode 100644 api/app/data/enemies/wraith_shadow.yaml create mode 100644 api/app/data/enemies/zombie.yaml create mode 100644 api/app/data/enemies/zombie_brute.yaml create mode 100644 api/app/data/enemies/zombie_plague.yaml create mode 100644 api/app/data/enemies/zombie_shambler.yaml diff --git a/api/app/data/enemies/harpy.yaml b/api/app/data/enemies/harpy.yaml new file mode 100644 index 0000000..77004b4 --- /dev/null +++ b/api/app/data/enemies/harpy.yaml @@ -0,0 +1,58 @@ +# Harpy - Easy flying humanoid +# A vicious bird-woman that attacks from above + +enemy_id: harpy +name: Harpy +description: > + A creature with the body of a vulture and the head and torso + of a woman, though twisted by cruelty into something inhuman. + Matted feathers cover her body, and her hands end in razor-sharp + talons. She shrieks with maddening fury as she dives at her prey. + +base_stats: + strength: 8 + dexterity: 14 + constitution: 8 + intelligence: 6 + wisdom: 10 + charisma: 10 + luck: 8 + +abilities: + - basic_attack + - talon_slash + - dive_attack + +loot_table: + - item_id: harpy_feather + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 5 + - item_id: harpy_talon + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + - item_id: gold_coin + drop_chance: 0.40 + quantity_min: 2 + quantity_max: 10 + +experience_reward: 22 +gold_reward_min: 3 +gold_reward_max: 12 +difficulty: easy + +tags: + - monstrosity + - harpy + - flying + - female + +location_tags: + - mountain + - cliff + - ruins + +base_damage: 6 +crit_chance: 0.10 +flee_chance: 0.55 diff --git a/api/app/data/enemies/harpy_matriarch.yaml b/api/app/data/enemies/harpy_matriarch.yaml new file mode 100644 index 0000000..a3261b4 --- /dev/null +++ b/api/app/data/enemies/harpy_matriarch.yaml @@ -0,0 +1,119 @@ +# Harpy Matriarch - Hard elite leader +# The ancient ruler of a harpy flock + +enemy_id: harpy_matriarch +name: Harpy Matriarch +description: > + An ancient harpy of terrible beauty and cruelty, her plumage + a striking mix of midnight black and blood red. She towers + over her lesser kin, her voice carrying both enchanting allure + and devastating power. The Matriarch rules her flock absolutely, + and her nest is decorated with the bones and treasures of + countless victims. + +base_stats: + strength: 12 + dexterity: 16 + constitution: 14 + intelligence: 12 + wisdom: 14 + charisma: 20 + luck: 12 + +abilities: + - basic_attack + - talon_slash + - dive_attack + - stunning_screech + - luring_song + - sonic_blast + - call_flock + - wing_buffet + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: harpy_feather + drop_chance: 1.0 + quantity_min: 5 + quantity_max: 10 + - loot_type: static + item_id: harpy_talon + drop_chance: 1.0 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: matriarch_plume + drop_chance: 0.80 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: screamer_vocal_cords + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 1 + + # Nest treasures + - loot_type: static + item_id: gold_coin + drop_chance: 1.0 + quantity_min: 30 + quantity_max: 80 + - loot_type: static + item_id: gemstone + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: silver_ring + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: health_potion_medium + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_grace + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + + # Procedural equipment + - loot_type: procedural + item_type: accessory + drop_chance: 0.25 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.20 + rarity_bonus: 0.10 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 90 +gold_reward_min: 40 +gold_reward_max: 100 +difficulty: hard + +tags: + - monstrosity + - harpy + - flying + - leader + - elite + - sonic + +location_tags: + - mountain + - cliff + - ruins + +base_damage: 12 +crit_chance: 0.15 +flee_chance: 0.20 diff --git a/api/app/data/enemies/harpy_scout.yaml b/api/app/data/enemies/harpy_scout.yaml new file mode 100644 index 0000000..281464f --- /dev/null +++ b/api/app/data/enemies/harpy_scout.yaml @@ -0,0 +1,64 @@ +# Harpy Scout - Easy fast variant +# A swift harpy that spots prey from great distances + +enemy_id: harpy_scout +name: Harpy Scout +description: > + A sleek harpy with dark plumage that blends with the sky. + Scouts are the eyes of their flock, ranging far ahead to + spot potential prey. They are faster and more agile than + common harpies, preferring quick strikes and retreat over + prolonged combat. + +base_stats: + strength: 6 + dexterity: 18 + constitution: 6 + intelligence: 8 + wisdom: 12 + charisma: 8 + luck: 10 + +abilities: + - basic_attack + - talon_slash + - dive_attack + - evasive_flight + +loot_table: + - loot_type: static + item_id: harpy_feather + drop_chance: 0.80 + quantity_min: 3 + quantity_max: 6 + - loot_type: static + item_id: swift_wing_feather + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: gold_coin + drop_chance: 0.45 + quantity_min: 3 + quantity_max: 12 + +experience_reward: 25 +gold_reward_min: 5 +gold_reward_max: 15 +difficulty: easy + +tags: + - monstrosity + - harpy + - flying + - scout + - fast + +location_tags: + - mountain + - cliff + - wilderness + +base_damage: 5 +crit_chance: 0.15 +flee_chance: 0.65 diff --git a/api/app/data/enemies/harpy_screamer.yaml b/api/app/data/enemies/harpy_screamer.yaml new file mode 100644 index 0000000..7bff7ef --- /dev/null +++ b/api/app/data/enemies/harpy_screamer.yaml @@ -0,0 +1,76 @@ +# Harpy Screamer - Medium sonic attacker +# A harpy whose voice is a weapon + +enemy_id: harpy_screamer +name: Harpy Screamer +description: > + A harpy with an unnaturally large throat that bulges when + she takes breath. Her voice is her deadliest weapon, capable + of shattering stone and stunning prey into helplessness. + The screamer's song lures victims close before unleashing + a devastating sonic assault. + +base_stats: + strength: 6 + dexterity: 12 + constitution: 10 + intelligence: 8 + wisdom: 12 + charisma: 16 + luck: 10 + +abilities: + - basic_attack + - talon_slash + - stunning_screech + - luring_song + - sonic_blast + +loot_table: + - loot_type: static + item_id: harpy_feather + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: harpy_talon + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: screamer_vocal_cords + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: gold_coin + drop_chance: 0.55 + quantity_min: 5 + quantity_max: 18 + - loot_type: static + item_id: earwax_plug + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 2 + +experience_reward: 40 +gold_reward_min: 10 +gold_reward_max: 25 +difficulty: medium + +tags: + - monstrosity + - harpy + - flying + - sonic + - dangerous + +location_tags: + - mountain + - cliff + - ruins + - coast + +base_damage: 5 +crit_chance: 0.12 +flee_chance: 0.45 diff --git a/api/app/data/enemies/imp.yaml b/api/app/data/enemies/imp.yaml new file mode 100644 index 0000000..93c6fda --- /dev/null +++ b/api/app/data/enemies/imp.yaml @@ -0,0 +1,64 @@ +# Imp - Easy minor demon +# A small, mischievous fiend from the lower planes + +enemy_id: imp +name: Imp +description: > + A tiny red-skinned devil no larger than a cat, with leathery + bat wings, a barbed tail, and small curved horns. Its beady + yellow eyes gleam with malicious intelligence, and it cackles + as it hurls tiny bolts of hellfire at its victims. + +base_stats: + strength: 4 + dexterity: 16 + constitution: 6 + intelligence: 10 + wisdom: 10 + charisma: 8 + luck: 12 + +abilities: + - basic_attack + - fire_bolt + - invisibility + +loot_table: + - item_id: imp_horn + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - item_id: hellfire_ember + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - item_id: demon_blood + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + - item_id: gold_coin + drop_chance: 0.35 + quantity_min: 2 + quantity_max: 8 + +experience_reward: 18 +gold_reward_min: 3 +gold_reward_max: 10 +difficulty: easy + +tags: + - fiend + - demon + - imp + - small + - flying + +location_tags: + - dungeon + - ruins + - hellscape + - volcano + +base_damage: 4 +crit_chance: 0.10 +flee_chance: 0.60 diff --git a/api/app/data/enemies/imp_fiery.yaml b/api/app/data/enemies/imp_fiery.yaml new file mode 100644 index 0000000..1ca8290 --- /dev/null +++ b/api/app/data/enemies/imp_fiery.yaml @@ -0,0 +1,76 @@ +# Fiery Imp - Medium fire-focused variant +# An imp that has absorbed excess hellfire + +enemy_id: imp_fiery +name: Fiery Imp +description: > + An imp wreathed in flickering flames, its body glowing like + hot coals. Flames dance along its wings and trail from its + barbed tail. It has absorbed so much hellfire that its very + touch ignites whatever it touches, and it can unleash + devastating bursts of flame. + +base_stats: + strength: 6 + dexterity: 14 + constitution: 10 + intelligence: 12 + wisdom: 10 + charisma: 10 + luck: 12 + +abilities: + - basic_attack + - fire_bolt + - flame_burst + - fire_shield + - immolate + +loot_table: + - loot_type: static + item_id: imp_horn + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: hellfire_ember + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: demon_blood + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: fire_essence + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: gold_coin + drop_chance: 0.45 + quantity_min: 5 + quantity_max: 15 + +experience_reward: 35 +gold_reward_min: 8 +gold_reward_max: 20 +difficulty: medium + +tags: + - fiend + - demon + - imp + - small + - flying + - fire + +location_tags: + - dungeon + - hellscape + - volcano + +base_damage: 6 +crit_chance: 0.12 +flee_chance: 0.50 diff --git a/api/app/data/enemies/imp_overlord.yaml b/api/app/data/enemies/imp_overlord.yaml new file mode 100644 index 0000000..16ef3ce --- /dev/null +++ b/api/app/data/enemies/imp_overlord.yaml @@ -0,0 +1,116 @@ +# Imp Overlord - Hard elite variant +# A greater imp that commands lesser fiends + +enemy_id: imp_overlord +name: Imp Overlord +description: > + A massive imp standing three feet tall, its body crackling + with infernal power. Unlike its lesser kin, the Overlord + has earned power through cunning deals and brutal dominance. + It wears a tiny crown of blackened iron and commands squads + of lesser imps to do its bidding, all while hurling deadly + magic at its enemies. + +base_stats: + strength: 10 + dexterity: 16 + constitution: 14 + intelligence: 18 + wisdom: 14 + charisma: 16 + luck: 14 + +abilities: + - basic_attack + - fire_bolt + - flame_burst + - invisibility + - summon_imps + - hellfire_blast + - dark_pact + - magic_shield + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: imp_horn + drop_chance: 1.0 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: hellfire_ember + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: demon_blood + drop_chance: 0.80 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: overlord_crown + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: infernal_contract + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: mana_potion_medium + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_intellect + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + + # Treasure + - loot_type: static + item_id: gold_coin + drop_chance: 1.0 + quantity_min: 25 + quantity_max: 60 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.20 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: accessory + drop_chance: 0.25 + rarity_bonus: 0.20 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 85 +gold_reward_min: 35 +gold_reward_max: 80 +difficulty: hard + +tags: + - fiend + - demon + - imp + - leader + - elite + - flying + - caster + +location_tags: + - dungeon + - ruins + - hellscape + - volcano + +base_damage: 10 +crit_chance: 0.15 +flee_chance: 0.25 diff --git a/api/app/data/enemies/imp_trickster.yaml b/api/app/data/enemies/imp_trickster.yaml new file mode 100644 index 0000000..505c053 --- /dev/null +++ b/api/app/data/enemies/imp_trickster.yaml @@ -0,0 +1,77 @@ +# Imp Trickster - Medium cunning variant +# A devious imp that excels in deception and mischief + +enemy_id: imp_trickster +name: Imp Trickster +description: > + A clever imp with a knowing smirk and eyes that gleam with + cunning. It prefers tricks and illusions to direct combat, + creating phantom doubles, stealing equipment, and leading + adventurers into traps. It chatters constantly, mocking its + victims in a high-pitched voice. + +base_stats: + strength: 4 + dexterity: 18 + constitution: 6 + intelligence: 16 + wisdom: 12 + charisma: 14 + luck: 16 + +abilities: + - basic_attack + - fire_bolt + - invisibility + - mirror_image + - steal_item + - confusion + +loot_table: + - loot_type: static + item_id: imp_horn + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: hellfire_ember + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: trickster_charm + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: arcane_dust + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: gold_coin + drop_chance: 0.70 + quantity_min: 10 + quantity_max: 30 + +experience_reward: 40 +gold_reward_min: 15 +gold_reward_max: 35 +difficulty: medium + +tags: + - fiend + - demon + - imp + - small + - flying + - trickster + +location_tags: + - dungeon + - ruins + - hellscape + +base_damage: 4 +crit_chance: 0.15 +flee_chance: 0.65 diff --git a/api/app/data/enemies/kobold.yaml b/api/app/data/enemies/kobold.yaml new file mode 100644 index 0000000..b17424f --- /dev/null +++ b/api/app/data/enemies/kobold.yaml @@ -0,0 +1,58 @@ +# Kobold - Easy small reptilian humanoid +# A cunning, trap-loving creature that serves dragons + +enemy_id: kobold +name: Kobold +description: > + A small, dog-like reptilian creature with rusty orange scales + and a long snout filled with sharp teeth. Kobolds are cowardly + individually but cunning in groups, preferring traps and ambushes + to fair fights. They worship dragons with fanatical devotion. + +base_stats: + strength: 6 + dexterity: 14 + constitution: 6 + intelligence: 8 + wisdom: 8 + charisma: 4 + luck: 10 + +abilities: + - basic_attack + - pack_tactics + +loot_table: + - item_id: kobold_scale + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 3 + - item_id: crude_trap_parts + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 2 + - item_id: gold_coin + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 5 + +experience_reward: 12 +gold_reward_min: 2 +gold_reward_max: 8 +difficulty: easy + +tags: + - humanoid + - kobold + - reptilian + - small + - pack + +location_tags: + - dungeon + - cave + - mine + +base_damage: 4 +crit_chance: 0.06 +flee_chance: 0.65 diff --git a/api/app/data/enemies/kobold_sorcerer.yaml b/api/app/data/enemies/kobold_sorcerer.yaml new file mode 100644 index 0000000..cdcc604 --- /dev/null +++ b/api/app/data/enemies/kobold_sorcerer.yaml @@ -0,0 +1,76 @@ +# Kobold Sorcerer - Medium caster variant +# A kobold with innate draconic magic + +enemy_id: kobold_sorcerer +name: Kobold Sorcerer +description: > + A kobold with scales that shimmer with an inner light, marking + it as one blessed by dragon blood. Small horns sprout from its + head, and its eyes glow with arcane power. Sorcerers are rare + among kobolds and treated with reverence, channeling the magic + of their dragon masters. + +base_stats: + strength: 4 + dexterity: 12 + constitution: 8 + intelligence: 14 + wisdom: 12 + charisma: 12 + luck: 12 + +abilities: + - basic_attack + - fire_bolt + - dragon_breath + - magic_shield + - minor_heal + +loot_table: + - loot_type: static + item_id: kobold_scale + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: dragon_scale_fragment + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: mana_potion_small + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: arcane_dust + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: gold_coin + drop_chance: 0.60 + quantity_min: 5 + quantity_max: 15 + +experience_reward: 35 +gold_reward_min: 10 +gold_reward_max: 25 +difficulty: medium + +tags: + - humanoid + - kobold + - reptilian + - small + - caster + - draconic + +location_tags: + - dungeon + - cave + - mine + +base_damage: 4 +crit_chance: 0.10 +flee_chance: 0.50 diff --git a/api/app/data/enemies/kobold_taskmaster.yaml b/api/app/data/enemies/kobold_taskmaster.yaml new file mode 100644 index 0000000..7997527 --- /dev/null +++ b/api/app/data/enemies/kobold_taskmaster.yaml @@ -0,0 +1,91 @@ +# Kobold Taskmaster - Hard leader variant +# A brutal kobold leader that drives its minions to fight + +enemy_id: kobold_taskmaster +name: Kobold Taskmaster +description: > + A larger-than-average kobold with scarred scales and a cruel + gleam in its eyes. It carries a whip in one hand and a curved + blade in the other, driving lesser kobolds before it with + threats and violence. Taskmasters answer only to the dragon + their warren serves, and rule their kin through fear. + +base_stats: + strength: 12 + dexterity: 14 + constitution: 12 + intelligence: 12 + wisdom: 10 + charisma: 14 + luck: 10 + +abilities: + - basic_attack + - whip_crack + - rally_minions + - sneak_attack + - intimidating_shout + +loot_table: + # Static drops + - loot_type: static + item_id: kobold_scale + drop_chance: 1.0 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: taskmaster_whip + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: dragon_scale_fragment + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: kobold_chief_token + drop_chance: 0.70 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: health_potion_small + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: alchemist_fire + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 2 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.20 + rarity_bonus: 0.10 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 60 +gold_reward_min: 20 +gold_reward_max: 45 +difficulty: hard + +tags: + - humanoid + - kobold + - reptilian + - leader + - elite + +location_tags: + - dungeon + - cave + - mine + +base_damage: 10 +crit_chance: 0.12 +flee_chance: 0.30 diff --git a/api/app/data/enemies/kobold_trapper.yaml b/api/app/data/enemies/kobold_trapper.yaml new file mode 100644 index 0000000..71c6e2e --- /dev/null +++ b/api/app/data/enemies/kobold_trapper.yaml @@ -0,0 +1,73 @@ +# Kobold Trapper - Easy specialist variant +# A kobold expert in traps and ambush tactics + +enemy_id: kobold_trapper +name: Kobold Trapper +description: > + A kobold with a bandolier of alchemical vials and pouches full + of trap components. Its scales are stained with various chemicals, + and it moves with practiced stealth. Trappers are valued members + of any kobold warren, turning simple tunnels into death mazes. + +base_stats: + strength: 6 + dexterity: 16 + constitution: 6 + intelligence: 12 + wisdom: 10 + charisma: 4 + luck: 12 + +abilities: + - basic_attack + - lay_trap + - alchemist_fire + - sneak_attack + +loot_table: + - loot_type: static + item_id: kobold_scale + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: trap_kit + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: alchemist_fire + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: caltrops + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 3 + - loot_type: static + item_id: gold_coin + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 8 + +experience_reward: 20 +gold_reward_min: 5 +gold_reward_max: 15 +difficulty: easy + +tags: + - humanoid + - kobold + - reptilian + - small + - trapper + +location_tags: + - dungeon + - cave + - mine + +base_damage: 5 +crit_chance: 0.12 +flee_chance: 0.60 diff --git a/api/app/data/enemies/lizardfolk.yaml b/api/app/data/enemies/lizardfolk.yaml new file mode 100644 index 0000000..32253b5 --- /dev/null +++ b/api/app/data/enemies/lizardfolk.yaml @@ -0,0 +1,64 @@ +# Lizardfolk - Easy reptilian humanoid +# A cold-blooded tribal warrior from the swamps + +enemy_id: lizardfolk +name: Lizardfolk +description: > + A muscular humanoid covered in green and brown scales, with + a long tail and a snout filled with sharp teeth. Lizardfolk + are pragmatic hunters who view all creatures as either + predator, prey, or irrelevant. This one carries a bone-tipped + spear and a shield made from a giant turtle shell. + +base_stats: + strength: 12 + dexterity: 10 + constitution: 12 + intelligence: 6 + wisdom: 10 + charisma: 4 + luck: 6 + +abilities: + - basic_attack + - bite + - tail_swipe + +loot_table: + - item_id: lizard_scale + drop_chance: 0.65 + quantity_min: 2 + quantity_max: 5 + - item_id: lizardfolk_spear + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + - item_id: beast_meat + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - item_id: gold_coin + drop_chance: 0.30 + quantity_min: 2 + quantity_max: 8 + +experience_reward: 25 +gold_reward_min: 3 +gold_reward_max: 12 +difficulty: easy + +tags: + - humanoid + - lizardfolk + - reptilian + - tribal + +location_tags: + - swamp + - river + - coast + - jungle + +base_damage: 7 +crit_chance: 0.08 +flee_chance: 0.40 diff --git a/api/app/data/enemies/lizardfolk_champion.yaml b/api/app/data/enemies/lizardfolk_champion.yaml new file mode 100644 index 0000000..45844bc --- /dev/null +++ b/api/app/data/enemies/lizardfolk_champion.yaml @@ -0,0 +1,109 @@ +# Lizardfolk Champion - Hard elite warrior +# The mightiest warrior of a lizardfolk tribe + +enemy_id: lizardfolk_champion +name: Lizardfolk Champion +description: > + A massive lizardfolk standing over seven feet tall, its body + rippling with corded muscle beneath scarred, battle-hardened + scales. The Champion has proven itself through countless hunts + and trials, earning the right to wield the tribe's sacred + weapons. Its cold, calculating eyes assess every opponent + as prey to be efficiently slaughtered. + +base_stats: + strength: 18 + dexterity: 12 + constitution: 16 + intelligence: 8 + wisdom: 12 + charisma: 10 + luck: 8 + +abilities: + - basic_attack + - bite + - tail_swipe + - cleave + - shield_bash + - frenzy + - primal_roar + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: lizard_scale + drop_chance: 1.0 + quantity_min: 5 + quantity_max: 10 + - loot_type: static + item_id: champion_fang + drop_chance: 0.80 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: sacred_lizardfolk_weapon + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: tribal_champion_token + drop_chance: 0.70 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: health_potion_medium + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_strength + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + + # Treasure + - loot_type: static + item_id: gold_coin + drop_chance: 0.80 + quantity_min: 20 + quantity_max: 55 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.25 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.20 + rarity_bonus: 0.10 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 80 +gold_reward_min: 30 +gold_reward_max: 70 +difficulty: hard + +tags: + - humanoid + - lizardfolk + - reptilian + - warrior + - leader + - elite + +location_tags: + - swamp + - river + - jungle + - dungeon + +base_damage: 14 +crit_chance: 0.12 +flee_chance: 0.15 diff --git a/api/app/data/enemies/lizardfolk_hunter.yaml b/api/app/data/enemies/lizardfolk_hunter.yaml new file mode 100644 index 0000000..260df26 --- /dev/null +++ b/api/app/data/enemies/lizardfolk_hunter.yaml @@ -0,0 +1,75 @@ +# Lizardfolk Hunter - Easy ranged variant +# A skilled tracker and ambush predator + +enemy_id: lizardfolk_hunter +name: Lizardfolk Hunter +description: > + A lean lizardfolk with mottled scales that blend perfectly + with swamp vegetation. Hunters are the elite scouts of their + tribes, tracking prey through marshes and striking from hiding + with poisoned javelins. Their patient, predatory nature makes + them terrifyingly effective ambushers. + +base_stats: + strength: 10 + dexterity: 14 + constitution: 10 + intelligence: 8 + wisdom: 14 + charisma: 4 + luck: 8 + +abilities: + - basic_attack + - javelin_throw + - poison_dart + - camouflage + - sneak_attack + +loot_table: + - loot_type: static + item_id: lizard_scale + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: poison_dart + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 5 + - loot_type: static + item_id: hunter_javelin + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: swamp_poison + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: gold_coin + drop_chance: 0.40 + quantity_min: 3 + quantity_max: 12 + +experience_reward: 30 +gold_reward_min: 5 +gold_reward_max: 18 +difficulty: easy + +tags: + - humanoid + - lizardfolk + - reptilian + - hunter + - ranged + +location_tags: + - swamp + - river + - jungle + +base_damage: 6 +crit_chance: 0.12 +flee_chance: 0.45 diff --git a/api/app/data/enemies/lizardfolk_shaman.yaml b/api/app/data/enemies/lizardfolk_shaman.yaml new file mode 100644 index 0000000..594802e --- /dev/null +++ b/api/app/data/enemies/lizardfolk_shaman.yaml @@ -0,0 +1,89 @@ +# Lizardfolk Shaman - Medium caster variant +# A spiritual leader who communes with primal spirits + +enemy_id: lizardfolk_shaman +name: Lizardfolk Shaman +description: > + An elderly lizardfolk adorned with feathers, bones, and + mystical totems. The shaman communes with the spirits of + the swamp, calling upon ancestral power to curse enemies + and bless allies. Its scales have faded to pale green with + age, but its eyes burn with primal wisdom and power. + +base_stats: + strength: 8 + dexterity: 10 + constitution: 12 + intelligence: 10 + wisdom: 16 + charisma: 12 + luck: 10 + +abilities: + - basic_attack + - spirit_bolt + - entangling_vines + - healing_waters + - curse_of_weakness + - summon_swamp_creature + +loot_table: + - loot_type: static + item_id: lizard_scale + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 3 + - loot_type: static + item_id: shaman_totem + drop_chance: 0.45 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: spirit_essence + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: swamp_herb + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 4 + + # Consumables + - loot_type: static + item_id: mana_potion_small + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: health_potion_small + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + + - loot_type: static + item_id: gold_coin + drop_chance: 0.50 + quantity_min: 8 + quantity_max: 25 + +experience_reward: 45 +gold_reward_min: 12 +gold_reward_max: 35 +difficulty: medium + +tags: + - humanoid + - lizardfolk + - reptilian + - shaman + - caster + +location_tags: + - swamp + - river + - jungle + +base_damage: 5 +crit_chance: 0.10 +flee_chance: 0.35 diff --git a/api/app/data/enemies/ogre.yaml b/api/app/data/enemies/ogre.yaml new file mode 100644 index 0000000..8a974a9 --- /dev/null +++ b/api/app/data/enemies/ogre.yaml @@ -0,0 +1,64 @@ +# Ogre - Medium brutish giant +# A dim-witted but dangerous giant humanoid + +enemy_id: ogre +name: Ogre +description: > + A hulking brute standing ten feet tall with grayish-green skin, + a protruding gut, and a slack-jawed face of dull malevolence. + Ogres are simple creatures driven by hunger and greed, but their + immense strength makes them deadly opponents. This one carries + a massive club made from a tree trunk. + +base_stats: + strength: 18 + dexterity: 6 + constitution: 16 + intelligence: 4 + wisdom: 6 + charisma: 4 + luck: 6 + +abilities: + - basic_attack + - crushing_blow + - grab + +loot_table: + - item_id: ogre_hide + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 2 + - item_id: ogre_tooth + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 3 + - item_id: beast_meat + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 4 + - item_id: gold_coin + drop_chance: 0.60 + quantity_min: 10 + quantity_max: 30 + +experience_reward: 55 +gold_reward_min: 15 +gold_reward_max: 40 +difficulty: medium + +tags: + - giant + - ogre + - large + - brute + +location_tags: + - wilderness + - cave + - swamp + - dungeon + +base_damage: 14 +crit_chance: 0.08 +flee_chance: 0.20 diff --git a/api/app/data/enemies/ogre_brute.yaml b/api/app/data/enemies/ogre_brute.yaml new file mode 100644 index 0000000..2cda098 --- /dev/null +++ b/api/app/data/enemies/ogre_brute.yaml @@ -0,0 +1,85 @@ +# Ogre Brute - Medium armored variant +# An ogre equipped with scavenged armor and weapons + +enemy_id: ogre_brute +name: Ogre Brute +description: > + A massive ogre wearing a patchwork of stolen armor plates + and wielding a crude greataxe forged by enslaved smiths. + Smarter and more disciplined than common ogres, brutes + serve as shock troops for warlords or guard valuable + territory. Its armor bears the dents and bloodstains + of many battles. + +base_stats: + strength: 20 + dexterity: 6 + constitution: 18 + intelligence: 6 + wisdom: 6 + charisma: 4 + luck: 6 + +abilities: + - basic_attack + - crushing_blow + - cleave + - intimidating_shout + - grab + +loot_table: + - loot_type: static + item_id: ogre_hide + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: ogre_tooth + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: iron_ore + drop_chance: 0.40 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: gold_coin + drop_chance: 0.70 + quantity_min: 20 + quantity_max: 50 + + # Procedural equipment - scavenged gear + - loot_type: procedural + item_type: weapon + drop_chance: 0.15 + rarity_bonus: 0.0 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.12 + rarity_bonus: 0.0 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 70 +gold_reward_min: 25 +gold_reward_max: 55 +difficulty: medium + +tags: + - giant + - ogre + - large + - brute + - armed + +location_tags: + - wilderness + - cave + - dungeon + +base_damage: 16 +crit_chance: 0.10 +flee_chance: 0.15 diff --git a/api/app/data/enemies/ogre_chieftain.yaml b/api/app/data/enemies/ogre_chieftain.yaml new file mode 100644 index 0000000..ad4a284 --- /dev/null +++ b/api/app/data/enemies/ogre_chieftain.yaml @@ -0,0 +1,118 @@ +# Ogre Chieftain - Hard elite leader +# The massive ruler of an ogre tribe + +enemy_id: ogre_chieftain +name: Ogre Chieftain +description: > + A mountain of muscle and fury standing nearly fifteen feet + tall, this ancient ogre has crushed all challengers to claim + leadership of its tribe. Covered in ritual scars and trophy + piercings, the Chieftain wears a necklace of skulls from + its greatest kills. It wields a massive maul that has ended + the lives of countless heroes. + +base_stats: + strength: 22 + dexterity: 8 + constitution: 22 + intelligence: 8 + wisdom: 10 + charisma: 12 + luck: 8 + +abilities: + - basic_attack + - crushing_blow + - cleave + - ground_slam + - intimidating_shout + - berserker_rage + - grab + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: ogre_hide + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: ogre_tooth + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 6 + - loot_type: static + item_id: chieftain_skull_necklace + drop_chance: 0.80 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: ogre_warlord_token + drop_chance: 0.70 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: health_potion_large + drop_chance: 0.45 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_strength + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_fortitude + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 1 + + # Treasure + - loot_type: static + item_id: gold_coin + drop_chance: 1.0 + quantity_min: 50 + quantity_max: 120 + - loot_type: static + item_id: gemstone + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 3 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.30 + rarity_bonus: 0.20 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.25 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 140 +gold_reward_min: 60 +gold_reward_max: 150 +difficulty: hard + +tags: + - giant + - ogre + - large + - leader + - elite + - brute + +location_tags: + - wilderness + - cave + - dungeon + +base_damage: 20 +crit_chance: 0.12 +flee_chance: 0.08 diff --git a/api/app/data/enemies/ogre_magi.yaml b/api/app/data/enemies/ogre_magi.yaml new file mode 100644 index 0000000..1340f7b --- /dev/null +++ b/api/app/data/enemies/ogre_magi.yaml @@ -0,0 +1,107 @@ +# Ogre Magi - Hard caster variant +# A rare ogre with innate magical abilities + +enemy_id: ogre_magi +name: Ogre Magi +description: > + A towering ogre with blue-tinged skin and eyes that glow + with arcane power. Unlike its brutish kin, the magi possesses + cunning intelligence and dangerous magical abilities. It wears + robes of stolen finery and carries a staff topped with a + glowing crystal. Ogre magi are natural leaders, using their + magic and intelligence to dominate lesser giants. + +base_stats: + strength: 16 + dexterity: 8 + constitution: 16 + intelligence: 14 + wisdom: 12 + charisma: 12 + luck: 10 + +abilities: + - basic_attack + - crushing_blow + - frost_bolt + - darkness + - invisibility + - cone_of_cold + - fly + - regeneration + +loot_table: + - loot_type: static + item_id: ogre_hide + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: magi_crystal + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: arcane_dust + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: frost_essence + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + + # Consumables + - loot_type: static + item_id: mana_potion_medium + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: health_potion_medium + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + + # Treasure + - loot_type: static + item_id: gold_coin + drop_chance: 0.80 + quantity_min: 30 + quantity_max: 70 + - loot_type: static + item_id: gemstone + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.20 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 95 +gold_reward_min: 40 +gold_reward_max: 90 +difficulty: hard + +tags: + - giant + - ogre + - large + - caster + - intelligent + +location_tags: + - wilderness + - cave + - dungeon + - ruins + +base_damage: 12 +crit_chance: 0.12 +flee_chance: 0.25 diff --git a/api/app/data/enemies/slime.yaml b/api/app/data/enemies/slime.yaml new file mode 100644 index 0000000..5013aaf --- /dev/null +++ b/api/app/data/enemies/slime.yaml @@ -0,0 +1,55 @@ +# Slime - Easy ooze creature +# A simple gelatinous creature that dissolves organic matter + +enemy_id: slime +name: Green Slime +description: > + A quivering mass of translucent green ooze about the size of + a large dog. It moves by flowing across surfaces, extending + pseudopods to sense its surroundings. Its acidic body dissolves + organic matter on contact, making it a dangerous opponent + despite its mindless nature. + +base_stats: + strength: 8 + dexterity: 4 + constitution: 14 + intelligence: 1 + wisdom: 4 + charisma: 1 + luck: 4 + +abilities: + - basic_attack + - acid_touch + - split + +loot_table: + - item_id: slime_residue + drop_chance: 0.70 + quantity_min: 1 + quantity_max: 3 + - item_id: acid_gland + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 15 +gold_reward_min: 0 +gold_reward_max: 3 +difficulty: easy + +tags: + - ooze + - slime + - acidic + - mindless + +location_tags: + - dungeon + - cave + - sewer + +base_damage: 5 +crit_chance: 0.02 +flee_chance: 0.10 diff --git a/api/app/data/enemies/slime_giant.yaml b/api/app/data/enemies/slime_giant.yaml new file mode 100644 index 0000000..fc7f41a --- /dev/null +++ b/api/app/data/enemies/slime_giant.yaml @@ -0,0 +1,84 @@ +# Giant Slime - Medium large variant +# A massive slime that has consumed many victims + +enemy_id: slime_giant +name: Giant Slime +description: > + A massive blob of semi-transparent ooze the size of a wagon, + filled with the partially dissolved remains of its many victims. + Bones, armor, and the occasional glint of treasure can be seen + slowly dissolving within its acidic mass. It can engulf entire + creatures, digesting them alive. + +base_stats: + strength: 14 + dexterity: 2 + constitution: 20 + intelligence: 1 + wisdom: 4 + charisma: 1 + luck: 6 + +abilities: + - basic_attack + - acid_touch + - engulf + - split + - slam + +loot_table: + - loot_type: static + item_id: slime_residue + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 6 + - loot_type: static + item_id: acid_gland + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: undigested_treasure + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: gold_coin + drop_chance: 0.70 + quantity_min: 10 + quantity_max: 30 + + # Procedural - partially digested equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.15 + rarity_bonus: -0.10 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.15 + rarity_bonus: -0.10 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 55 +gold_reward_min: 15 +gold_reward_max: 40 +difficulty: medium + +tags: + - ooze + - slime + - acidic + - large + - mindless + +location_tags: + - dungeon + - cave + - sewer + +base_damage: 10 +crit_chance: 0.04 +flee_chance: 0.00 diff --git a/api/app/data/enemies/slime_king.yaml b/api/app/data/enemies/slime_king.yaml new file mode 100644 index 0000000..1dc8eba --- /dev/null +++ b/api/app/data/enemies/slime_king.yaml @@ -0,0 +1,122 @@ +# Slime King - Hard elite variant +# An ancient slime of immense size and cunning + +enemy_id: slime_king +name: Slime King +description: > + A gargantuan ooze that fills entire chambers, its body a + churning mass of emerald gel studded with the treasures and + bones of centuries of victims. Unlike lesser slimes, the + King possesses a malevolent intelligence, having absorbed + the minds of countless victims. A crown of corroded gold + floats within its core, the last remnant of a king it + consumed long ago. + +base_stats: + strength: 18 + dexterity: 2 + constitution: 24 + intelligence: 8 + wisdom: 10 + charisma: 4 + luck: 10 + +abilities: + - basic_attack + - acid_touch + - engulf + - split + - slam + - acid_wave + - spawn_slimes + - regeneration + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: royal_slime_essence + drop_chance: 1.0 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: slime_residue + drop_chance: 1.0 + quantity_min: 5 + quantity_max: 10 + - loot_type: static + item_id: acid_gland + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: corroded_crown + drop_chance: 0.80 + quantity_min: 1 + quantity_max: 1 + + # Treasure from victims + - loot_type: static + item_id: gold_coin + drop_chance: 1.0 + quantity_min: 50 + quantity_max: 150 + - loot_type: static + item_id: gemstone + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 3 + + # Consumables + - loot_type: static + item_id: health_potion_large + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_fortitude + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 1 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.30 + rarity_bonus: 0.20 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.30 + rarity_bonus: 0.20 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: accessory + drop_chance: 0.25 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 150 +gold_reward_min: 75 +gold_reward_max: 200 +difficulty: hard + +tags: + - ooze + - slime + - acidic + - large + - elite + - boss + - intelligent + +location_tags: + - dungeon + - cave + - sewer + +base_damage: 16 +crit_chance: 0.08 +flee_chance: 0.00 diff --git a/api/app/data/enemies/slime_toxic.yaml b/api/app/data/enemies/slime_toxic.yaml new file mode 100644 index 0000000..9effb48 --- /dev/null +++ b/api/app/data/enemies/slime_toxic.yaml @@ -0,0 +1,70 @@ +# Toxic Slime - Medium poisonous variant +# A slime that has absorbed toxic substances + +enemy_id: slime_toxic +name: Toxic Slime +description: > + A sickly purple ooze that bubbles and hisses as it moves. + This slime has absorbed countless poisonous substances, + becoming a living vat of toxins. Its mere presence fouls + the air, and physical contact can cause paralysis or death. + +base_stats: + strength: 10 + dexterity: 4 + constitution: 16 + intelligence: 1 + wisdom: 4 + charisma: 1 + luck: 4 + +abilities: + - basic_attack + - acid_touch + - poison_spray + - toxic_aura + - split + +loot_table: + - loot_type: static + item_id: toxic_residue + drop_chance: 0.75 + quantity_min: 1 + quantity_max: 3 + - loot_type: static + item_id: acid_gland + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: poison_sac + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: antidote + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 35 +gold_reward_min: 0 +gold_reward_max: 5 +difficulty: medium + +tags: + - ooze + - slime + - acidic + - poisonous + - mindless + +location_tags: + - dungeon + - cave + - sewer + - swamp + +base_damage: 7 +crit_chance: 0.04 +flee_chance: 0.05 diff --git a/api/app/data/enemies/spider.yaml b/api/app/data/enemies/spider.yaml new file mode 100644 index 0000000..2082dd0 --- /dev/null +++ b/api/app/data/enemies/spider.yaml @@ -0,0 +1,56 @@ +# Spider - Easy beast enemy (DEX-focused) +# A common dungeon-dwelling predator that lurks in shadows + +enemy_id: spider +name: Giant Spider +description: > + A spider the size of a large dog, with glistening black chitin and + eight beady eyes that reflect the faintest light. It moves with + unsettling speed, its fangs dripping with paralyzing venom. + +base_stats: + strength: 8 + dexterity: 14 + constitution: 8 + intelligence: 2 + wisdom: 10 + charisma: 2 + luck: 6 + +abilities: + - basic_attack + - venomous_bite + +loot_table: + - item_id: spider_silk + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 3 + - item_id: spider_venom + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + - item_id: spider_fang + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 2 + +experience_reward: 20 +gold_reward_min: 0 +gold_reward_max: 5 +difficulty: easy + +tags: + - beast + - spider + - venomous + - ambusher + +location_tags: + - dungeon + - cave + - forest + +base_damage: 5 +crit_chance: 0.08 +flee_chance: 0.50 diff --git a/api/app/data/enemies/spider_broodmother.yaml b/api/app/data/enemies/spider_broodmother.yaml new file mode 100644 index 0000000..3b4ca66 --- /dev/null +++ b/api/app/data/enemies/spider_broodmother.yaml @@ -0,0 +1,90 @@ +# Spider Broodmother - Hard elite spider +# A massive spider that rules over an entire nest + +enemy_id: spider_broodmother +name: Spider Broodmother +description: > + A horrifying arachnid the size of a cart, her bloated abdomen + pulsing with unborn spawn. Ancient and cunning, the Broodmother + has survived countless adventurers, decorating her web with their + bones. She fights with terrifying intelligence and can call her + children to swarm any threat. + +base_stats: + strength: 16 + dexterity: 12 + constitution: 18 + intelligence: 6 + wisdom: 14 + charisma: 4 + luck: 10 + +abilities: + - basic_attack + - venomous_bite + - web_trap + - summon_hatchlings + - poison_spray + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: spider_silk + drop_chance: 1.0 + quantity_min: 5 + quantity_max: 10 + - loot_type: static + item_id: broodmother_fang + drop_chance: 0.80 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: potent_spider_venom + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: spider_egg_sac + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + + # Consumable drops + - loot_type: static + item_id: health_potion_medium + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: antidote + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + + # Procedural equipment drops + - loot_type: procedural + item_type: armor + drop_chance: 0.20 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 100 +gold_reward_min: 25 +gold_reward_max: 60 +difficulty: hard + +tags: + - beast + - spider + - elite + - large + - venomous + +location_tags: + - dungeon + - cave + +base_damage: 14 +crit_chance: 0.12 +flee_chance: 0.15 diff --git a/api/app/data/enemies/spider_hatchling.yaml b/api/app/data/enemies/spider_hatchling.yaml new file mode 100644 index 0000000..a7b7117 --- /dev/null +++ b/api/app/data/enemies/spider_hatchling.yaml @@ -0,0 +1,51 @@ +# Spider Hatchling - Easy swarm creature +# Young spiders that attack in overwhelming numbers + +enemy_id: spider_hatchling +name: Spider Hatchling +description: > + A swarm of palm-sized spiderlings with pale, translucent bodies. + Individually weak, they overwhelm prey through sheer numbers, + skittering over victims in a horrifying wave of legs and fangs. + +base_stats: + strength: 4 + dexterity: 16 + constitution: 4 + intelligence: 1 + wisdom: 6 + charisma: 1 + luck: 4 + +abilities: + - basic_attack + - swarm_attack + +loot_table: + - item_id: spider_silk + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - item_id: small_spider_fang + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 5 + +experience_reward: 10 +gold_reward_min: 0 +gold_reward_max: 2 +difficulty: easy + +tags: + - beast + - spider + - swarm + - small + +location_tags: + - dungeon + - cave + +base_damage: 3 +crit_chance: 0.05 +flee_chance: 0.70 diff --git a/api/app/data/enemies/spider_venomous.yaml b/api/app/data/enemies/spider_venomous.yaml new file mode 100644 index 0000000..c64fa61 --- /dev/null +++ b/api/app/data/enemies/spider_venomous.yaml @@ -0,0 +1,66 @@ +# Venomous Spider - Medium deadly variant +# A spider with especially potent venom + +enemy_id: spider_venomous +name: Venomous Spider +description: > + A mottled brown and red spider with swollen venom glands visible + beneath its translucent exoskeleton. Its bite delivers a toxin + that burns through the veins like liquid fire, leaving victims + paralyzed and helpless. + +base_stats: + strength: 10 + dexterity: 14 + constitution: 10 + intelligence: 2 + wisdom: 12 + charisma: 2 + luck: 8 + +abilities: + - basic_attack + - venomous_bite + - poison_spray + +loot_table: + - loot_type: static + item_id: spider_silk + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: potent_spider_venom + drop_chance: 0.45 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: spider_fang + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: antidote + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 35 +gold_reward_min: 0 +gold_reward_max: 8 +difficulty: medium + +tags: + - beast + - spider + - venomous + - dangerous + +location_tags: + - dungeon + - cave + - swamp + +base_damage: 7 +crit_chance: 0.10 +flee_chance: 0.40 diff --git a/api/app/data/enemies/troll.yaml b/api/app/data/enemies/troll.yaml new file mode 100644 index 0000000..a14edbe --- /dev/null +++ b/api/app/data/enemies/troll.yaml @@ -0,0 +1,59 @@ +# Troll - Medium regenerating brute +# A hulking creature with remarkable healing abilities + +enemy_id: troll +name: Troll +description: > + A towering creature with mottled green skin, long arms that + nearly drag on the ground, and a hunched posture. Its beady + yellow eyes peer out from beneath a heavy brow, and its mouth + is filled with jagged, broken teeth. Most terrifying is its + ability to regenerate wounds almost instantly. + +base_stats: + strength: 16 + dexterity: 8 + constitution: 18 + intelligence: 4 + wisdom: 6 + charisma: 4 + luck: 6 + +abilities: + - basic_attack + - regeneration + - rending_claws + +loot_table: + - item_id: troll_hide + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 2 + - item_id: troll_blood + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - item_id: beast_meat + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 4 + +experience_reward: 50 +gold_reward_min: 5 +gold_reward_max: 20 +difficulty: medium + +tags: + - giant + - troll + - regenerating + - large + +location_tags: + - swamp + - forest + - cave + +base_damage: 12 +crit_chance: 0.08 +flee_chance: 0.25 diff --git a/api/app/data/enemies/troll_cave.yaml b/api/app/data/enemies/troll_cave.yaml new file mode 100644 index 0000000..607c4cd --- /dev/null +++ b/api/app/data/enemies/troll_cave.yaml @@ -0,0 +1,68 @@ +# Cave Troll - Medium variant adapted to underground life +# A blind but deadly subterranean hunter + +enemy_id: troll_cave +name: Cave Troll +description: > + A pale, eyeless troll that has adapted to life in the deepest + caves. Its skin is white and rubbery, its ears enlarged to + hunt by sound alone. What it lacks in sight it makes up for + with uncanny hearing and a savage ferocity when cornered + in its territory. + +base_stats: + strength: 18 + dexterity: 6 + constitution: 20 + intelligence: 4 + wisdom: 10 + charisma: 2 + luck: 6 + +abilities: + - basic_attack + - regeneration + - rending_claws + - echo_sense + +loot_table: + - loot_type: static + item_id: cave_troll_hide + drop_chance: 0.65 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: troll_blood + drop_chance: 0.50 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: glowing_mushroom + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 3 + - loot_type: static + item_id: cave_crystal + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 60 +gold_reward_min: 5 +gold_reward_max: 25 +difficulty: medium + +tags: + - giant + - troll + - regenerating + - large + - blind + +location_tags: + - cave + - dungeon + +base_damage: 14 +crit_chance: 0.06 +flee_chance: 0.20 diff --git a/api/app/data/enemies/troll_shaman.yaml b/api/app/data/enemies/troll_shaman.yaml new file mode 100644 index 0000000..3db9b42 --- /dev/null +++ b/api/app/data/enemies/troll_shaman.yaml @@ -0,0 +1,75 @@ +# Troll Shaman - Medium caster variant +# A rare troll with crude magical abilities + +enemy_id: troll_shaman +name: Troll Shaman +description: > + An ancient troll draped in bones, feathers, and tribal fetishes. + Rare among its kind, this creature has developed a primitive + understanding of dark magic, calling upon primal spirits to + curse its enemies and heal its allies. Its regeneration is + enhanced by the dark powers it commands. + +base_stats: + strength: 12 + dexterity: 8 + constitution: 16 + intelligence: 10 + wisdom: 14 + charisma: 8 + luck: 10 + +abilities: + - basic_attack + - regeneration + - curse_of_weakness + - dark_heal + - spirit_bolt + +loot_table: + - loot_type: static + item_id: troll_hide + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: troll_blood + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: shaman_fetish + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: mana_potion_small + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: dark_essence + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 65 +gold_reward_min: 15 +gold_reward_max: 35 +difficulty: medium + +tags: + - giant + - troll + - regenerating + - caster + - shaman + +location_tags: + - swamp + - forest + - cave + +base_damage: 8 +crit_chance: 0.10 +flee_chance: 0.30 diff --git a/api/app/data/enemies/troll_warlord.yaml b/api/app/data/enemies/troll_warlord.yaml new file mode 100644 index 0000000..5e307bb --- /dev/null +++ b/api/app/data/enemies/troll_warlord.yaml @@ -0,0 +1,101 @@ +# Troll Warlord - Hard elite variant +# A massive, battle-scarred troll that leads others of its kind + +enemy_id: troll_warlord +name: Troll Warlord +description: > + A massive troll standing nearly twelve feet tall, its body + covered in ritual scars and the marks of a hundred battles. + It wears crude armor made from the shields and weapons of + fallen warriors, and wields a massive club made from an + entire tree trunk. Its regeneration is legendary, and it + commands lesser trolls through sheer brutality. + +base_stats: + strength: 20 + dexterity: 8 + constitution: 22 + intelligence: 6 + wisdom: 8 + charisma: 10 + luck: 8 + +abilities: + - basic_attack + - regeneration + - rending_claws + - ground_slam + - intimidating_shout + - berserker_rage + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: troll_hide + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: troll_blood + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: troll_warlord_trophy + drop_chance: 0.80 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: regeneration_gland + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: health_potion_large + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_fortitude + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.25 + rarity_bonus: 0.15 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.20 + rarity_bonus: 0.10 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 120 +gold_reward_min: 30 +gold_reward_max: 75 +difficulty: hard + +tags: + - giant + - troll + - regenerating + - large + - leader + - elite + +location_tags: + - swamp + - forest + - cave + - dungeon + +base_damage: 18 +crit_chance: 0.12 +flee_chance: 0.10 diff --git a/api/app/data/enemies/wraith.yaml b/api/app/data/enemies/wraith.yaml new file mode 100644 index 0000000..43fe3e4 --- /dev/null +++ b/api/app/data/enemies/wraith.yaml @@ -0,0 +1,61 @@ +# Wraith - Medium incorporeal undead +# A malevolent spirit of hatred and despair + +enemy_id: wraith +name: Wraith +description: > + A shadowy figure shrouded in tattered darkness, its form + only vaguely humanoid. Where its face should be, two points + of cold blue light burn with hatred for the living. The + wraith's touch drains the very life force from its victims, + leaving them weakened and hollow. + +base_stats: + strength: 4 + dexterity: 14 + constitution: 8 + intelligence: 10 + wisdom: 12 + charisma: 14 + luck: 10 + +abilities: + - basic_attack + - life_drain + - incorporeal_movement + - create_spawn + +loot_table: + - item_id: soul_essence + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 2 + - item_id: shadow_residue + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 3 + - item_id: death_essence + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 45 +gold_reward_min: 0 +gold_reward_max: 10 +difficulty: medium + +tags: + - undead + - incorporeal + - wraith + - drain + +location_tags: + - crypt + - ruins + - dungeon + - graveyard + +base_damage: 8 +crit_chance: 0.10 +flee_chance: 0.30 diff --git a/api/app/data/enemies/wraith_banshee.yaml b/api/app/data/enemies/wraith_banshee.yaml new file mode 100644 index 0000000..83647cc --- /dev/null +++ b/api/app/data/enemies/wraith_banshee.yaml @@ -0,0 +1,85 @@ +# Banshee - Hard wailing spirit variant +# A female spirit whose scream can kill + +enemy_id: wraith_banshee +name: Banshee +description: > + The spirit of a woman who died in terrible anguish, her face + frozen in an eternal scream of grief and rage. Her form is + more distinct than other wraiths, wearing tattered remnants + of a burial gown. When she wails, the sound is so filled + with despair that it can stop hearts and shatter minds. + +base_stats: + strength: 4 + dexterity: 12 + constitution: 10 + intelligence: 12 + wisdom: 14 + charisma: 18 + luck: 12 + +abilities: + - basic_attack + - life_drain + - incorporeal_movement + - wail_of_despair + - horrifying_visage + - keening + +loot_table: + - loot_type: static + item_id: soul_essence + drop_chance: 0.80 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: banshee_tear + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: death_essence + drop_chance: 0.45 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: ectoplasm + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 4 + + # Sometimes carries jewelry from her mortal life + - loot_type: static + item_id: silver_ring + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: gemstone + drop_chance: 0.25 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 75 +gold_reward_min: 5 +gold_reward_max: 25 +difficulty: hard + +tags: + - undead + - incorporeal + - wraith + - banshee + - sonic + - female + +location_tags: + - crypt + - ruins + - graveyard + - haunted + +base_damage: 6 +crit_chance: 0.12 +flee_chance: 0.20 diff --git a/api/app/data/enemies/wraith_lord.yaml b/api/app/data/enemies/wraith_lord.yaml new file mode 100644 index 0000000..429564f --- /dev/null +++ b/api/app/data/enemies/wraith_lord.yaml @@ -0,0 +1,139 @@ +# Wraith Lord - Hard elite undead commander +# An ancient and powerful wraith that rules over lesser spirits + +enemy_id: wraith_lord +name: Wraith Lord +description: > + An ancient spirit of terrible power, once a great lord or + mage in life, now a being of pure malevolence. The Wraith + Lord retains its intelligence and ambition, commanding + legions of lesser undead from its shadow throne. Its form + is more defined than common wraiths, wearing spectral armor + and wielding a blade of condensed darkness that severs both + flesh and soul. + +base_stats: + strength: 8 + dexterity: 14 + constitution: 14 + intelligence: 16 + wisdom: 16 + charisma: 20 + luck: 14 + +abilities: + - basic_attack + - soul_blade + - life_drain + - incorporeal_movement + - create_spawn + - command_undead + - death_wave + - dark_aura + - fear + +loot_table: + # Static drops - guaranteed materials + - loot_type: static + item_id: soul_essence + drop_chance: 1.0 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: shadow_residue + drop_chance: 1.0 + quantity_min: 4 + quantity_max: 8 + - loot_type: static + item_id: death_essence + drop_chance: 0.80 + quantity_min: 2 + quantity_max: 3 + - loot_type: static + item_id: wraith_lord_crown + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: spectral_blade_shard + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + + # Treasure from mortal life + - loot_type: static + item_id: gold_coin + drop_chance: 0.80 + quantity_min: 40 + quantity_max: 100 + - loot_type: static + item_id: gemstone + drop_chance: 0.60 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: ancient_jewelry + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 1 + + # Consumables + - loot_type: static + item_id: health_potion_large + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: mana_potion_large + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: elixir_of_wisdom + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + + # Procedural equipment + - loot_type: procedural + item_type: weapon + drop_chance: 0.30 + rarity_bonus: 0.25 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: armor + drop_chance: 0.25 + rarity_bonus: 0.20 + quantity_min: 1 + quantity_max: 1 + - loot_type: procedural + item_type: accessory + drop_chance: 0.30 + rarity_bonus: 0.20 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 130 +gold_reward_min: 50 +gold_reward_max: 125 +difficulty: hard + +tags: + - undead + - incorporeal + - wraith + - leader + - elite + - boss + - intelligent + +location_tags: + - crypt + - ruins + - dungeon + - haunted + +base_damage: 14 +crit_chance: 0.15 +flee_chance: 0.05 diff --git a/api/app/data/enemies/wraith_shadow.yaml b/api/app/data/enemies/wraith_shadow.yaml new file mode 100644 index 0000000..a4c6300 --- /dev/null +++ b/api/app/data/enemies/wraith_shadow.yaml @@ -0,0 +1,72 @@ +# Shadow Wraith - Medium stealth variant +# A wraith that lurks in darkness, striking unseen + +enemy_id: wraith_shadow +name: Shadow Wraith +description: > + A wraith so deeply attuned to darkness that it becomes nearly + invisible in shadow. It moves silently through dim places, + reaching out to touch the living and drain their strength + before fading back into the gloom. Only in bright light does + its terrible form become visible. + +base_stats: + strength: 4 + dexterity: 18 + constitution: 8 + intelligence: 10 + wisdom: 14 + charisma: 12 + luck: 12 + +abilities: + - basic_attack + - life_drain + - incorporeal_movement + - shadow_step + - darkness + - sneak_attack + +loot_table: + - loot_type: static + item_id: soul_essence + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: shadow_residue + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: shadow_heart + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: dark_essence + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 50 +gold_reward_min: 0 +gold_reward_max: 12 +difficulty: medium + +tags: + - undead + - incorporeal + - wraith + - shadow + - stealthy + +location_tags: + - crypt + - ruins + - dungeon + - cave + +base_damage: 7 +crit_chance: 0.15 +flee_chance: 0.35 diff --git a/api/app/data/enemies/zombie.yaml b/api/app/data/enemies/zombie.yaml new file mode 100644 index 0000000..d1cc1fb --- /dev/null +++ b/api/app/data/enemies/zombie.yaml @@ -0,0 +1,58 @@ +# Zombie - Easy undead shambler +# A reanimated corpse driven by dark magic + +enemy_id: zombie +name: Zombie +description: > + A shambling corpse with rotting flesh hanging from its bones. + Its eyes are milky and unfocused, but it is drawn inexorably + toward the living, driven by an insatiable hunger. It moves + slowly but relentlessly, and feels no pain. + +base_stats: + strength: 10 + dexterity: 4 + constitution: 12 + intelligence: 2 + wisdom: 4 + charisma: 2 + luck: 4 + +abilities: + - basic_attack + - infectious_bite + +loot_table: + - item_id: rotting_flesh + drop_chance: 0.70 + quantity_min: 1 + quantity_max: 2 + - item_id: bone_fragment + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 3 + - item_id: tattered_cloth + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + +experience_reward: 18 +gold_reward_min: 0 +gold_reward_max: 5 +difficulty: easy + +tags: + - undead + - zombie + - shambler + - fearless + +location_tags: + - crypt + - ruins + - dungeon + - graveyard + +base_damage: 6 +crit_chance: 0.05 +flee_chance: 0.00 diff --git a/api/app/data/enemies/zombie_brute.yaml b/api/app/data/enemies/zombie_brute.yaml new file mode 100644 index 0000000..48d164b --- /dev/null +++ b/api/app/data/enemies/zombie_brute.yaml @@ -0,0 +1,69 @@ +# Zombie Brute - Medium powerful variant +# A massive reanimated corpse, possibly a former warrior + +enemy_id: zombie_brute +name: Zombie Brute +description: > + The reanimated corpse of what was once a mighty warrior or + perhaps an ogre. Standing head and shoulders above normal + zombies, its massive frame is swollen with death-bloat and + unnatural strength. It swings its fists like clubs, crushing + anything in its path. + +base_stats: + strength: 16 + dexterity: 4 + constitution: 18 + intelligence: 2 + wisdom: 4 + charisma: 2 + luck: 4 + +abilities: + - basic_attack + - crushing_blow + - infectious_bite + - undead_fortitude + +loot_table: + - loot_type: static + item_id: rotting_flesh + drop_chance: 0.80 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: bone_fragment + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 5 + - loot_type: static + item_id: death_essence + drop_chance: 0.20 + quantity_min: 1 + quantity_max: 1 + - loot_type: static + item_id: iron_ore + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 2 + +experience_reward: 45 +gold_reward_min: 5 +gold_reward_max: 15 +difficulty: medium + +tags: + - undead + - zombie + - brute + - large + - fearless + +location_tags: + - crypt + - ruins + - dungeon + +base_damage: 12 +crit_chance: 0.08 +flee_chance: 0.00 diff --git a/api/app/data/enemies/zombie_plague.yaml b/api/app/data/enemies/zombie_plague.yaml new file mode 100644 index 0000000..cb02b87 --- /dev/null +++ b/api/app/data/enemies/zombie_plague.yaml @@ -0,0 +1,85 @@ +# Plague Zombie - Hard infectious variant +# A zombie carrying a deadly disease that spreads with each bite + +enemy_id: zombie_plague +name: Plague Zombie +description: > + A bloated, pustule-covered corpse that exudes a noxious green + miasma. Every wound on its body weeps infectious fluid, and + its mere presence causes nausea in the living. Those bitten + by a plague zombie rarely survive the infection, and those + that die often rise again to join the horde. + +base_stats: + strength: 12 + dexterity: 6 + constitution: 16 + intelligence: 2 + wisdom: 6 + charisma: 2 + luck: 6 + +abilities: + - basic_attack + - infectious_bite + - plague_breath + - death_burst + - disease_aura + +loot_table: + # Static drops + - loot_type: static + item_id: rotting_flesh + drop_chance: 0.90 + quantity_min: 3 + quantity_max: 5 + - loot_type: static + item_id: plague_ichor + drop_chance: 0.60 + quantity_min: 1 + quantity_max: 3 + - loot_type: static + item_id: bone_fragment + drop_chance: 0.70 + quantity_min: 2 + quantity_max: 4 + - loot_type: static + item_id: death_essence + drop_chance: 0.35 + quantity_min: 1 + quantity_max: 2 + + # Consumables + - loot_type: static + item_id: antidote + drop_chance: 0.30 + quantity_min: 1 + quantity_max: 2 + - loot_type: static + item_id: cure_disease_potion + drop_chance: 0.15 + quantity_min: 1 + quantity_max: 1 + +experience_reward: 70 +gold_reward_min: 10 +gold_reward_max: 30 +difficulty: hard + +tags: + - undead + - zombie + - plague + - infectious + - fearless + - dangerous + +location_tags: + - crypt + - ruins + - dungeon + - swamp + +base_damage: 10 +crit_chance: 0.10 +flee_chance: 0.00 diff --git a/api/app/data/enemies/zombie_shambler.yaml b/api/app/data/enemies/zombie_shambler.yaml new file mode 100644 index 0000000..41f1a17 --- /dev/null +++ b/api/app/data/enemies/zombie_shambler.yaml @@ -0,0 +1,53 @@ +# Zombie Shambler - Easy weak variant +# A decrepit zombie barely holding together + +enemy_id: zombie_shambler +name: Zombie Shambler +description: > + A decrepit corpse in an advanced state of decay, missing limbs + and dragging itself forward with single-minded determination. + What it lacks in strength it makes up for in persistence, + continuing to crawl toward prey even when reduced to a torso. + +base_stats: + strength: 6 + dexterity: 2 + constitution: 8 + intelligence: 1 + wisdom: 2 + charisma: 1 + luck: 2 + +abilities: + - basic_attack + - grasp + +loot_table: + - item_id: rotting_flesh + drop_chance: 0.50 + quantity_min: 1 + quantity_max: 1 + - item_id: bone_fragment + drop_chance: 0.40 + quantity_min: 1 + quantity_max: 2 + +experience_reward: 10 +gold_reward_min: 0 +gold_reward_max: 2 +difficulty: easy + +tags: + - undead + - zombie + - shambler + - weak + +location_tags: + - crypt + - ruins + - graveyard + +base_damage: 4 +crit_chance: 0.02 +flee_chance: 0.00