Combat Backend & Data Models
- Implement Combat Service - Implement Damage Calculator - Implement Effect Processor - Implement Combat Actions - Created Combat API Endpoints
This commit is contained in:
55
api/app/data/enemies/bandit.yaml
Normal file
55
api/app/data/enemies/bandit.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
# Bandit - Medium humanoid with weapon
|
||||
# A highway robber armed with sword and dagger
|
||||
|
||||
enemy_id: bandit
|
||||
name: Bandit Rogue
|
||||
description: >
|
||||
A rough-looking human in worn leather armor, their face partially hidden
|
||||
by a tattered hood. They fight with a chipped sword and keep a dagger
|
||||
ready for backstabs. Desperation has made them dangerous.
|
||||
|
||||
base_stats:
|
||||
strength: 12
|
||||
dexterity: 14
|
||||
constitution: 10
|
||||
intelligence: 10
|
||||
wisdom: 8
|
||||
charisma: 8
|
||||
luck: 10
|
||||
|
||||
abilities:
|
||||
- basic_attack
|
||||
- quick_strike
|
||||
- dirty_trick
|
||||
|
||||
loot_table:
|
||||
- item_id: bandit_sword
|
||||
drop_chance: 0.20
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: leather_armor
|
||||
drop_chance: 0.15
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: lockpick
|
||||
drop_chance: 0.25
|
||||
quantity_min: 1
|
||||
quantity_max: 3
|
||||
- item_id: gold_coin
|
||||
drop_chance: 0.80
|
||||
quantity_min: 5
|
||||
quantity_max: 20
|
||||
|
||||
experience_reward: 35
|
||||
gold_reward_min: 10
|
||||
gold_reward_max: 30
|
||||
difficulty: medium
|
||||
|
||||
tags:
|
||||
- humanoid
|
||||
- rogue
|
||||
- armed
|
||||
|
||||
base_damage: 8
|
||||
crit_chance: 0.12
|
||||
flee_chance: 0.45
|
||||
52
api/app/data/enemies/dire_wolf.yaml
Normal file
52
api/app/data/enemies/dire_wolf.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
# Dire Wolf - Medium beast enemy
|
||||
# A large, ferocious predator
|
||||
|
||||
enemy_id: dire_wolf
|
||||
name: Dire Wolf
|
||||
description: >
|
||||
A massive wolf the size of a horse, with matted black fur and eyes
|
||||
that glow with predatory intelligence. Its fangs are as long as daggers,
|
||||
and its growl rumbles like distant thunder.
|
||||
|
||||
base_stats:
|
||||
strength: 14
|
||||
dexterity: 14
|
||||
constitution: 12
|
||||
intelligence: 4
|
||||
wisdom: 10
|
||||
charisma: 6
|
||||
luck: 8
|
||||
|
||||
abilities:
|
||||
- basic_attack
|
||||
- savage_bite
|
||||
- pack_howl
|
||||
|
||||
loot_table:
|
||||
- item_id: wolf_pelt
|
||||
drop_chance: 0.60
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: wolf_fang
|
||||
drop_chance: 0.40
|
||||
quantity_min: 1
|
||||
quantity_max: 2
|
||||
- item_id: beast_meat
|
||||
drop_chance: 0.70
|
||||
quantity_min: 1
|
||||
quantity_max: 3
|
||||
|
||||
experience_reward: 40
|
||||
gold_reward_min: 0
|
||||
gold_reward_max: 5
|
||||
difficulty: medium
|
||||
|
||||
tags:
|
||||
- beast
|
||||
- wolf
|
||||
- large
|
||||
- pack
|
||||
|
||||
base_damage: 10
|
||||
crit_chance: 0.10
|
||||
flee_chance: 0.40
|
||||
45
api/app/data/enemies/goblin.yaml
Normal file
45
api/app/data/enemies/goblin.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# Goblin - Easy melee enemy (STR-focused)
|
||||
# A small, cunning creature that attacks in groups
|
||||
|
||||
enemy_id: goblin
|
||||
name: Goblin Scout
|
||||
description: >
|
||||
A small, green-skinned creature with pointed ears and sharp teeth.
|
||||
Goblins are cowardly alone but dangerous in groups, using crude weapons
|
||||
and dirty tactics to overwhelm their prey.
|
||||
|
||||
base_stats:
|
||||
strength: 8
|
||||
dexterity: 12
|
||||
constitution: 6
|
||||
intelligence: 6
|
||||
wisdom: 6
|
||||
charisma: 4
|
||||
luck: 8
|
||||
|
||||
abilities:
|
||||
- basic_attack
|
||||
|
||||
loot_table:
|
||||
- item_id: rusty_dagger
|
||||
drop_chance: 0.15
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: gold_coin
|
||||
drop_chance: 0.50
|
||||
quantity_min: 1
|
||||
quantity_max: 3
|
||||
|
||||
experience_reward: 15
|
||||
gold_reward_min: 2
|
||||
gold_reward_max: 8
|
||||
difficulty: easy
|
||||
|
||||
tags:
|
||||
- humanoid
|
||||
- goblinoid
|
||||
- small
|
||||
|
||||
base_damage: 4
|
||||
crit_chance: 0.05
|
||||
flee_chance: 0.60
|
||||
52
api/app/data/enemies/goblin_shaman.yaml
Normal file
52
api/app/data/enemies/goblin_shaman.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
# Goblin Shaman - Easy caster enemy (INT-focused)
|
||||
# A goblin spellcaster that provides magical support
|
||||
|
||||
enemy_id: goblin_shaman
|
||||
name: Goblin Shaman
|
||||
description: >
|
||||
A hunched goblin wrapped in tattered robes, clutching a staff adorned
|
||||
with bones and feathers. It mutters dark incantations and hurls bolts
|
||||
of sickly green fire at its enemies.
|
||||
|
||||
base_stats:
|
||||
strength: 4
|
||||
dexterity: 10
|
||||
constitution: 6
|
||||
intelligence: 12
|
||||
wisdom: 10
|
||||
charisma: 6
|
||||
luck: 10
|
||||
|
||||
abilities:
|
||||
- basic_attack
|
||||
- fire_bolt
|
||||
- minor_heal
|
||||
|
||||
loot_table:
|
||||
- item_id: shaman_staff
|
||||
drop_chance: 0.10
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: mana_potion_small
|
||||
drop_chance: 0.20
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: gold_coin
|
||||
drop_chance: 0.60
|
||||
quantity_min: 3
|
||||
quantity_max: 8
|
||||
|
||||
experience_reward: 25
|
||||
gold_reward_min: 5
|
||||
gold_reward_max: 15
|
||||
difficulty: easy
|
||||
|
||||
tags:
|
||||
- humanoid
|
||||
- goblinoid
|
||||
- caster
|
||||
- small
|
||||
|
||||
base_damage: 3
|
||||
crit_chance: 0.08
|
||||
flee_chance: 0.55
|
||||
58
api/app/data/enemies/orc_berserker.yaml
Normal file
58
api/app/data/enemies/orc_berserker.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
# Orc Berserker - Hard heavy hitter
|
||||
# A fearsome orc warrior in a battle rage
|
||||
|
||||
enemy_id: orc_berserker
|
||||
name: Orc Berserker
|
||||
description: >
|
||||
A towering mass of green muscle and fury, covered in tribal war paint
|
||||
and scars from countless battles. Foam flecks at the corners of its
|
||||
mouth as it swings a massive greataxe with terrifying speed. In its
|
||||
battle rage, it feels no pain and shows no mercy.
|
||||
|
||||
base_stats:
|
||||
strength: 18
|
||||
dexterity: 10
|
||||
constitution: 16
|
||||
intelligence: 6
|
||||
wisdom: 6
|
||||
charisma: 4
|
||||
luck: 8
|
||||
|
||||
abilities:
|
||||
- basic_attack
|
||||
- cleave
|
||||
- berserker_rage
|
||||
- intimidating_shout
|
||||
|
||||
loot_table:
|
||||
- item_id: orc_greataxe
|
||||
drop_chance: 0.20
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: orc_war_paint
|
||||
drop_chance: 0.35
|
||||
quantity_min: 1
|
||||
quantity_max: 2
|
||||
- item_id: beast_hide_armor
|
||||
drop_chance: 0.15
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: gold_coin
|
||||
drop_chance: 0.70
|
||||
quantity_min: 15
|
||||
quantity_max: 40
|
||||
|
||||
experience_reward: 80
|
||||
gold_reward_min: 20
|
||||
gold_reward_max: 50
|
||||
difficulty: hard
|
||||
|
||||
tags:
|
||||
- humanoid
|
||||
- orc
|
||||
- berserker
|
||||
- large
|
||||
|
||||
base_damage: 15
|
||||
crit_chance: 0.15
|
||||
flee_chance: 0.30
|
||||
52
api/app/data/enemies/skeleton_warrior.yaml
Normal file
52
api/app/data/enemies/skeleton_warrior.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
# Skeleton Warrior - Medium undead melee
|
||||
# An animated skeleton wielding ancient weapons
|
||||
|
||||
enemy_id: skeleton_warrior
|
||||
name: Skeleton Warrior
|
||||
description: >
|
||||
The animated remains of a long-dead soldier, held together by dark magic.
|
||||
Its empty eye sockets glow with pale blue fire, and it wields a rusted
|
||||
but deadly sword with unnatural precision. It knows no fear and feels no pain.
|
||||
|
||||
base_stats:
|
||||
strength: 12
|
||||
dexterity: 10
|
||||
constitution: 10
|
||||
intelligence: 4
|
||||
wisdom: 6
|
||||
charisma: 2
|
||||
luck: 6
|
||||
|
||||
abilities:
|
||||
- basic_attack
|
||||
- shield_bash
|
||||
- bone_rattle
|
||||
|
||||
loot_table:
|
||||
- item_id: ancient_sword
|
||||
drop_chance: 0.15
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
- item_id: bone_fragment
|
||||
drop_chance: 0.80
|
||||
quantity_min: 2
|
||||
quantity_max: 5
|
||||
- item_id: soul_essence
|
||||
drop_chance: 0.10
|
||||
quantity_min: 1
|
||||
quantity_max: 1
|
||||
|
||||
experience_reward: 45
|
||||
gold_reward_min: 0
|
||||
gold_reward_max: 10
|
||||
difficulty: medium
|
||||
|
||||
tags:
|
||||
- undead
|
||||
- skeleton
|
||||
- armed
|
||||
- fearless
|
||||
|
||||
base_damage: 9
|
||||
crit_chance: 0.08
|
||||
flee_chance: 0.50
|
||||
Reference in New Issue
Block a user