aboutsummaryrefslogtreecommitdiff
path: root/data/mobs
diff options
context:
space:
mode:
authorworkhorse <workhorse@localhost.localdomain>2026-06-19 03:57:06 -0400
committerworkhorse <workhorse@localhost.localdomain>2026-06-19 03:57:06 -0400
commit52a3ce6a4b4a254dc5d3067979a09e93c060fa20 (patch)
tree167c62990013733bc8669c1387078bc86ea48db5 /data/mobs
parentfbd1c30d7b9777c9df6653f0c393afa7a7dfa519 (diff)
downloadthehouseoficarus-52a3ce6a4b4a254dc5d3067979a09e93c060fa20.tar.gz
feat: shops and rough assassin skill
Diffstat (limited to 'data/mobs')
-rw-r--r--data/mobs/bioengineer.yaml44
-rw-r--r--data/mobs/client.yaml20
-rw-r--r--data/mobs/crawler.yaml32
-rw-r--r--data/mobs/drone.yaml32
-rw-r--r--data/mobs/farmer.yaml44
-rw-r--r--data/mobs/general_store_clerk.yaml24
-rw-r--r--data/mobs/man.yaml4
-rw-r--r--data/mobs/phantom.yaml32
-rw-r--r--data/mobs/slug.yaml27
-rw-r--r--data/mobs/weapons_smith.yaml24
10 files changed, 283 insertions, 0 deletions
diff --git a/data/mobs/bioengineer.yaml b/data/mobs/bioengineer.yaml
new file mode 100644
index 0000000..a6f2823
--- /dev/null
+++ b/data/mobs/bioengineer.yaml
@@ -0,0 +1,44 @@
+id: bioengineer
+name: Bioengineer
+description: "A lab-coated scientist carrying a satchel of genetically modified seeds. Her pockets are stuffed with rare specimens."
+combat_descriptions:
+ - "jabs a syringe at %s"
+ - "is being overpowered by %s"
+ - "fights desperately against %s"
+idle_descriptions:
+ - "scribbles notes on a clipboard"
+ - "carefully inspects a vial of green liquid"
+ - "adjusts her safety goggles"
+ - "mutters about gene splicing yields"
+attack: 6
+strength: 4
+defense: 5
+hp: 25
+speed: 5
+aggressive: false
+respawn_ticks: 50
+attack_type: crush
+stab_defense: 0
+slash_defense: 0
+crush_defense: 0
+science_defense: 0
+ranged_defense: 0
+steal_table: bioengineer_steal
+steal_level: 38
+steal_xp: 45
+steal_speed: 4
+drops:
+ remains: "bones"
+ loot:
+ - item_id: "sweetcorn_seed"
+ weight: 30
+ quantity: 2
+ - item_id: "strawberry_seed"
+ weight: 25
+ quantity: 1
+ - item_id: "watermelon_seed"
+ weight: 15
+ quantity: 1
+ - item_id: "ranarr_seed"
+ weight: 5
+ quantity: 1 \ No newline at end of file
diff --git a/data/mobs/client.yaml b/data/mobs/client.yaml
new file mode 100644
index 0000000..9bcae4e
--- /dev/null
+++ b/data/mobs/client.yaml
@@ -0,0 +1,20 @@
+id: client
+name: The Client
+description: "A shadowy figure in a dark coat. They speak in clipped, measured tones and seem to know everything about every creature in the sector."
+unique: true
+protected: true
+behavior: client_talk
+attack: 1
+strength: 1
+defense: 1
+hp: 100
+speed: 5
+aggressive: false
+respawn_ticks: 30
+idle_descriptions:
+ - "reviews a holographic dossier"
+ - "marks a location on a worn star chart"
+ - "flips a credit chit between their fingers"
+ - "mutters coordinates under their breath"
+ - "glances at you appraisingly"
+ - "taps a data pad with a stylus"
diff --git a/data/mobs/crawler.yaml b/data/mobs/crawler.yaml
new file mode 100644
index 0000000..ace034b
--- /dev/null
+++ b/data/mobs/crawler.yaml
@@ -0,0 +1,32 @@
+id: crawler
+name: crawler
+description: "A heavily armored bio-mechanical creature with a chitinous exoskeleton. Its regenerative biology prevents death unless dissolved with acid."
+assassin_level: 30
+finishing_blow: acid_vial
+attack: 25
+strength: 22
+defense: 30
+hp: 80
+speed: 5
+aggressive: false
+respawn_ticks: 45
+idle_descriptions:
+ - "scrapes its mandibles together menacingly"
+ - "clicks and chitters in an alien rhythm"
+ - "tests the air with feathered antennae"
+ - "coils its segmented body defensively"
+combat_descriptions:
+ - "snaps its mandibles at %s"
+ - "lashes out with a barbed tail at %s"
+ - "charges headlong into %s"
+drops:
+ remains: chitin_plate
+ loot:
+ - item_id: credits
+ weight: 70
+ quantity: 250
+ - item_id: acid_vial
+ weight: 10
+ - item_id: credits
+ weight: 20
+ quantity: 500
diff --git a/data/mobs/drone.yaml b/data/mobs/drone.yaml
new file mode 100644
index 0000000..4ceafc0
--- /dev/null
+++ b/data/mobs/drone.yaml
@@ -0,0 +1,32 @@
+id: drone
+name: drone
+description: "A malfunctioning security drone crackling with electrical discharge. Its attacks are especially dangerous to anyone not wearing insulated gloves."
+assassin_level: 15
+damage_without: insulated_gloves
+attack: 15
+strength: 14
+defense: 12
+hp: 45
+speed: 4
+aggressive: true
+respawn_ticks: 35
+idle_descriptions:
+ - "hovers erratically, sparking"
+ - "emits a high-pitched whine"
+ - "scans the area with a flickering red beam"
+ - "rotates its weapon array with a mechanical click"
+combat_descriptions:
+ - "fires an electrical bolt at %s"
+ - "charges its capacitors and zaps %s"
+ - "swoops down on %s with crackling energy"
+drops:
+ remains: circuit_board
+ loot:
+ - item_id: credits
+ weight: 80
+ quantity: 75
+ - item_id: insulated_gloves
+ weight: 5
+ - item_id: credits
+ weight: 15
+ quantity: 200
diff --git a/data/mobs/farmer.yaml b/data/mobs/farmer.yaml
new file mode 100644
index 0000000..7b12b9f
--- /dev/null
+++ b/data/mobs/farmer.yaml
@@ -0,0 +1,44 @@
+id: farmer
+name: Farmer
+description: "A weathered farmer in muddy overalls, pockets bulging with seeds."
+combat_descriptions:
+ - "swings a shovel at %s"
+ - "is getting beaten by %s"
+ - "grapples with %s"
+idle_descriptions:
+ - "examines a handful of seeds"
+ - "wipes dirt from his hands"
+ - "mutters about the growing season"
+ - "adjusts his wide-brimmed hat"
+attack: 3
+strength: 3
+defense: 3
+hp: 15
+speed: 5
+aggressive: false
+respawn_ticks: 40
+attack_type: crush
+stab_defense: 0
+slash_defense: 0
+crush_defense: 0
+science_defense: 0
+ranged_defense: 0
+steal_table: farmer_steal
+steal_level: 10
+steal_xp: 15
+steal_speed: 4
+drops:
+ remains: "bones"
+ loot:
+ - item_id: "potato_seed"
+ weight: 40
+ quantity: 3
+ - item_id: "onion_seed"
+ weight: 30
+ quantity: 2
+ - item_id: "cabbage_seed"
+ weight: 20
+ quantity: 2
+ - item_id: "tomato_seed"
+ weight: 10
+ quantity: 1 \ No newline at end of file
diff --git a/data/mobs/general_store_clerk.yaml b/data/mobs/general_store_clerk.yaml
new file mode 100644
index 0000000..842a98b
--- /dev/null
+++ b/data/mobs/general_store_clerk.yaml
@@ -0,0 +1,24 @@
+id: general_store_clerk
+name: Shopkeeper
+description: "A friendly merchant with a tidy apron, standing behind a well-stocked counter."
+behavior: general_store
+unique: true
+protected: true
+hp: 50
+attack: 1
+strength: 1
+defense: 1
+speed: 5
+aggressive: false
+respawn_ticks: 30
+attack_type: crush
+stab_defense: 0
+slash_defense: 0
+crush_defense: 0
+science_defense: 0
+ranged_defense: 0
+idle_descriptions:
+ - "arranges items on the shelves"
+ - "polishes the counter"
+ - "counts credits in the register"
+ - "greets a passerby with a nod" \ No newline at end of file
diff --git a/data/mobs/man.yaml b/data/mobs/man.yaml
index fe60cbd..c65f85c 100644
--- a/data/mobs/man.yaml
+++ b/data/mobs/man.yaml
@@ -21,6 +21,10 @@ hp: 7
speed: 5
aggressive: false
respawn_ticks: 30
+steal_table: man_steal
+steal_level: 1
+steal_xp: 8
+steal_speed: 4
attack_type: crush
stab_defense: 0
slash_defense: 0
diff --git a/data/mobs/phantom.yaml b/data/mobs/phantom.yaml
new file mode 100644
index 0000000..3fb1893
--- /dev/null
+++ b/data/mobs/phantom.yaml
@@ -0,0 +1,32 @@
+id: phantom
+name: phantom
+description: "A semi-transparent entity that phases in and out of visible light. Its psychic attacks are devastating to anyone without a spectral visor."
+assassin_level: 45
+damage_without: spectral_visor
+attack: 35
+strength: 30
+defense: 25
+hp: 100
+speed: 3
+aggressive: true
+respawn_ticks: 50
+idle_descriptions:
+ - "flickers between visible and invisible"
+ - "emits a low, resonant hum"
+ - "drifts through a wall and back again"
+ - "stares at you with hollow, glowing eyes"
+combat_descriptions:
+ - "blasts %s with a psychic wave"
+ - "phases through %s's defenses"
+ - "unleashes a spectral shriek at %s"
+drops:
+ remains: ectoplasm
+ loot:
+ - item_id: credits
+ weight: 60
+ quantity: 500
+ - item_id: spectral_visor
+ weight: 3
+ - item_id: credits
+ weight: 37
+ quantity: 1000
diff --git a/data/mobs/slug.yaml b/data/mobs/slug.yaml
new file mode 100644
index 0000000..2275ca7
--- /dev/null
+++ b/data/mobs/slug.yaml
@@ -0,0 +1,27 @@
+id: slug
+name: slug
+description: "A bloated, translucent slug the size of a dog. Its skin glistens with toxic mucus. It cannot be killed by conventional means — only salt can destroy it."
+assassin_level: 1
+finishing_blow: salt
+attack: 3
+strength: 3
+defense: 1
+hp: 15
+speed: 6
+aggressive: false
+respawn_ticks: 25
+idle_descriptions:
+ - "oozes along the floor leaving a slimy trail"
+ - "contracts and expands rhythmically"
+ - "extends its eyestalks toward you"
+ - "secretes a glob of toxic mucus"
+combat_descriptions:
+ - "lunges slimily at %s"
+ - "sprays mucus toward %s"
+ - "writhes in combat with %s"
+drops:
+ remains: slug_mucus
+ loot:
+ - item_id: credits
+ weight: 100
+ quantity: 15
diff --git a/data/mobs/weapons_smith.yaml b/data/mobs/weapons_smith.yaml
new file mode 100644
index 0000000..da6ef3b
--- /dev/null
+++ b/data/mobs/weapons_smith.yaml
@@ -0,0 +1,24 @@
+id: weapons_smith
+name: Weaponsmith
+description: "A burly smith with soot-stained hands and a heavy leather apron, standing proudly by the forge."
+behavior: weapons_shop
+unique: true
+protected: true
+hp: 80
+attack: 1
+strength: 1
+defense: 1
+speed: 5
+aggressive: false
+respawn_ticks: 30
+attack_type: crush
+stab_defense: 0
+slash_defense: 0
+crush_defense: 0
+science_defense: 0
+ranged_defense: 0
+idle_descriptions:
+ - "hammers at a glowing blade on the anvil"
+ - "wipes soot from his brow"
+ - "inspects a finished sword"
+ - "tends to the furnace fire" \ No newline at end of file