aboutsummaryrefslogtreecommitdiff
path: root/data/mobs/vesta
diff options
context:
space:
mode:
Diffstat (limited to 'data/mobs/vesta')
-rw-r--r--data/mobs/vesta/apprentice_frame.yaml41
-rw-r--r--data/mobs/vesta/brumalia_chandler.yaml31
-rw-r--r--data/mobs/vesta/brumalia_cook.yaml25
-rw-r--r--data/mobs/vesta/brumalia_reagent.yaml43
-rw-r--r--data/mobs/vesta/brumalia_resident.yaml14
-rw-r--r--data/mobs/vesta/brumalia_tackle.yaml34
-rw-r--r--data/mobs/vesta/casino_archivist.yaml15
-rw-r--r--data/mobs/vesta/casino_cashier.yaml15
-rw-r--r--data/mobs/vesta/casino_host.yaml16
-rw-r--r--data/mobs/vesta/casino_patron.yaml61
-rw-r--r--data/mobs/vesta/corporate_auditor.yaml61
-rw-r--r--data/mobs/vesta/dock_factor.yaml61
-rw-r--r--data/mobs/vesta/domita_assayer.yaml32
-rw-r--r--data/mobs/vesta/domita_contracts.yaml75
-rw-r--r--data/mobs/vesta/domita_resident.yaml14
-rw-r--r--data/mobs/vesta/domita_supplier.yaml34
-rw-r--r--data/mobs/vesta/domita_surgeon.yaml29
-rw-r--r--data/mobs/vesta/domita_technician.yaml29
-rw-r--r--data/mobs/vesta/forest_warden.yaml16
-rw-r--r--data/mobs/vesta/harbor_winch.yaml41
-rw-r--r--data/mobs/vesta/irrigation_frame.yaml41
-rw-r--r--data/mobs/vesta/joanna_lucci.yaml15
-rw-r--r--data/mobs/vesta/numisia_carpenter.yaml22
-rw-r--r--data/mobs/vesta/numisia_chemist.yaml25
-rw-r--r--data/mobs/vesta/numisia_contracts.yaml65
-rw-r--r--data/mobs/vesta/numisia_engineer.yaml39
-rw-r--r--data/mobs/vesta/numisia_fisher.yaml25
-rw-r--r--data/mobs/vesta/numisia_grocer.yaml28
-rw-r--r--data/mobs/vesta/numisia_guide.yaml15
-rw-r--r--data/mobs/vesta/numisia_outfitter.yaml34
-rw-r--r--data/mobs/vesta/numisia_potter.yaml34
-rw-r--r--data/mobs/vesta/numisia_tailor.yaml25
-rw-r--r--data/mobs/vesta/survey_frame.yaml41
-rw-r--r--data/mobs/vesta/tuccia_carpenter.yaml25
-rw-r--r--data/mobs/vesta/tuccia_contracts.yaml75
-rw-r--r--data/mobs/vesta/tuccia_estate_broker.yaml70
-rw-r--r--data/mobs/vesta/tuccia_fletcher.yaml26
-rw-r--r--data/mobs/vesta/tuccia_herbalist.yaml35
-rw-r--r--data/mobs/vesta/tuccia_reclaimer.yaml23
-rw-r--r--data/mobs/vesta/tuccia_resident.yaml14
-rw-r--r--data/mobs/vesta/vestalia_botanist.yaml29
-rw-r--r--data/mobs/vesta/vestalia_seedkeeper.yaml59
42 files changed, 1452 insertions, 0 deletions
diff --git a/data/mobs/vesta/apprentice_frame.yaml b/data/mobs/vesta/apprentice_frame.yaml
new file mode 100644
index 0000000..86f5305
--- /dev/null
+++ b/data/mobs/vesta/apprentice_frame.yaml
@@ -0,0 +1,41 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ kind: task
+ respawn_ticks: 40
+ size: medium
+ stats:
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 1
+ defenses:
+ crush_defense: 0
+ ranged_defense: 10
+ science_defense: 10
+ slash_defense: 40
+ stab_defense: 40
+ hp: 12
+ max_melee_hit: 0
+ speed: 5
+description: A public maintenance worksite. Work on it to practice combat skills without fighting; completed
+ jobs pay credits.
+drops:
+ loot:
+ - item_id: credits
+ quantity: 20
+ weight: 1
+idle_descriptions:
+- stands half-assembled, panels waiting to be fitted
+- has loose cabling dangling from an open junction box
+- catches the light on its few mounted panels
+name: apprentice panel frame
+task:
+ complete_message: The mechanism passes its final check. Your maintenance payment is ready to collect.
+ progress_noun: assembly
+ verb: assemble
diff --git a/data/mobs/vesta/brumalia_chandler.yaml b/data/mobs/vesta/brumalia_chandler.yaml
new file mode 100644
index 0000000..3f9eed2
--- /dev/null
+++ b/data/mobs/vesta/brumalia_chandler.yaml
@@ -0,0 +1,31 @@
+name: Dena the chandler
+description: Dena smells faintly of wax and sea salt.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Every ship needs a saw. Every traveler eventually needs a light.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: saw
+ stock: 15
+ restock_ticks: 100
+ - item_id: hammer
+ stock: 15
+ restock_ticks: 100
+ - item_id: firesteel
+ stock: 15
+ restock_ticks: 100
+ - item_id: lighter
+ stock: 15
+ restock_ticks: 100
+ - item_id: empty_bucket
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/brumalia_cook.yaml b/data/mobs/vesta/brumalia_cook.yaml
new file mode 100644
index 0000000..c4928a6
--- /dev/null
+++ b/data/mobs/vesta/brumalia_cook.yaml
@@ -0,0 +1,25 @@
+name: Ressa the galley cook
+description: Ressa tests the stove with a drop of water.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - A raw shark is no use in a fight. The public galley is next door.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: salt
+ stock: 15
+ restock_ticks: 100
+ - item_id: pot_of_flour
+ stock: 15
+ restock_ticks: 100
+ - item_id: chocolate_dust
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/brumalia_reagent.yaml b/data/mobs/vesta/brumalia_reagent.yaml
new file mode 100644
index 0000000..7e3e3b0
--- /dev/null
+++ b/data/mobs/vesta/brumalia_reagent.yaml
@@ -0,0 +1,43 @@
+name: Jun the reagent factor
+description: Jun stores reagent bottles in padded cargo crates.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Coastal salvage feeds the hydro and cosmic altars. Do not enter the wreck holds unprepared.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: hydro_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: cosmic_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: chaos_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: vial
+ stock: 100
+ restock_ticks: 100
+ - item_id: arachnid_enzyme
+ stock: 15
+ restock_ticks: 100
+ - item_id: lawjunk
+ stock: 250
+ restock_ticks: 20
+ - item_id: naturejunk
+ stock: 250
+ restock_ticks: 20
+ - item_id: cosmicjunk
+ stock: 250
+ restock_ticks: 20
+ - item_id: chaosjunk
+ stock: 250
+ restock_ticks: 20
diff --git a/data/mobs/vesta/brumalia_resident.yaml b/data/mobs/vesta/brumalia_resident.yaml
new file mode 100644
index 0000000..172d85f
--- /dev/null
+++ b/data/mobs/vesta/brumalia_resident.yaml
@@ -0,0 +1,14 @@
+name: Leto the sail mender
+description: Leto’s fingers move constantly around a half-finished seam.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - People arrive with fortunes and leave with stories. I would settle for a dry roof.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/brumalia_tackle.yaml b/data/mobs/vesta/brumalia_tackle.yaml
new file mode 100644
index 0000000..bd9cdd5
--- /dev/null
+++ b/data/mobs/vesta/brumalia_tackle.yaml
@@ -0,0 +1,34 @@
+name: Captain Orso
+description: Orso has retired from sailing, not from arguing about fish.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - 'The outer piers are safe. '
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: fly_fishing_rod
+ stock: 15
+ restock_ticks: 100
+ - item_id: big_fishing_net
+ stock: 15
+ restock_ticks: 100
+ - item_id: lobster_pot
+ stock: 15
+ restock_ticks: 100
+ - item_id: harpoon
+ stock: 15
+ restock_ticks: 100
+ - item_id: fishing_bait
+ stock: 100
+ restock_ticks: 100
+ - item_id: feather
+ stock: 100
+ restock_ticks: 100
diff --git a/data/mobs/vesta/casino_archivist.yaml b/data/mobs/vesta/casino_archivist.yaml
new file mode 100644
index 0000000..197497e
--- /dev/null
+++ b/data/mobs/vesta/casino_archivist.yaml
@@ -0,0 +1,15 @@
+name: Marlo the archivist
+description: Marlo files building plans under obsolete company names.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The corporation owns the lights, the pavement and most of the debts. The original town charter
+ is in the civic archive, not in this building.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/casino_cashier.yaml b/data/mobs/vesta/casino_cashier.yaml
new file mode 100644
index 0000000..c02cd10
--- /dev/null
+++ b/data/mobs/vesta/casino_cashier.yaml
@@ -0,0 +1,15 @@
+name: Fel the cashier
+description: Fel counts credits beneath a brass grille.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The bank booth handles your storage. Tables and machines wager credits directly; there is no chip
+ exchange fee. Read the limits in each room before joining.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/casino_host.yaml b/data/mobs/vesta/casino_host.yaml
new file mode 100644
index 0000000..8d3e4da
--- /dev/null
+++ b/data/mobs/vesta/casino_host.yaml
@@ -0,0 +1,16 @@
+name: Cassia the floor host
+description: Cassia’s golden lapel bears the Icarus Leisure seal.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Welcome to the House of Icarus. Every game has its own room and posted rules. The upper floors
+ are open to visitors but their gaming halls are not operating yet. No membership or wager is needed
+ to explore.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/casino_patron.yaml b/data/mobs/vesta/casino_patron.yaml
new file mode 100644
index 0000000..ae7e236
--- /dev/null
+++ b/data/mobs/vesta/casino_patron.yaml
@@ -0,0 +1,61 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ combat_descriptions:
+ - jabs a syringe at %s
+ - is being overpowered by %s
+ - fights desperately against %s
+ kind: combat
+ respawn_ticks: 50
+ size: small
+ stats:
+ attack: 6
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 5
+ defenses:
+ crush_defense: 0
+ ranged_defense: 0
+ science_defense: 0
+ slash_defense: 0
+ stab_defense: 0
+ hp: 25
+ max_melee_hit: 1
+ speed: 5
+ strength: 4
+description: A prosperous local with a guarded purse. Pickpocketing is an optional risk; this person never
+ initiates combat otherwise.
+drops:
+ loot:
+ - item_id: sweetcorn_seed
+ quantity: 2
+ weight: 30
+ - item_id: strawberry_seed
+ quantity: 1
+ weight: 25
+ - item_id: watermelon_seed
+ quantity: 1
+ weight: 15
+ - item_id: ranarr_seed
+ quantity: 1
+ weight: 5
+ remains: bones
+idle_descriptions:
+- scribbles notes on a clipboard
+- carefully inspects a vial of green liquid
+- adjusts her safety goggles
+- mutters about gene splicing yields
+name: casino patron
+steal:
+ level: 40
+ speed: 5
+ xp: 50
+ drops:
+ - table: farmer_steal
+ weight: 1
diff --git a/data/mobs/vesta/corporate_auditor.yaml b/data/mobs/vesta/corporate_auditor.yaml
new file mode 100644
index 0000000..281d7bf
--- /dev/null
+++ b/data/mobs/vesta/corporate_auditor.yaml
@@ -0,0 +1,61 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ combat_descriptions:
+ - jabs a syringe at %s
+ - is being overpowered by %s
+ - fights desperately against %s
+ kind: combat
+ respawn_ticks: 50
+ size: small
+ stats:
+ attack: 6
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 5
+ defenses:
+ crush_defense: 0
+ ranged_defense: 0
+ science_defense: 0
+ slash_defense: 0
+ stab_defense: 0
+ hp: 25
+ max_melee_hit: 1
+ speed: 5
+ strength: 4
+description: A prosperous local with a guarded purse. Pickpocketing is an optional risk; this person never
+ initiates combat otherwise.
+drops:
+ loot:
+ - item_id: sweetcorn_seed
+ quantity: 2
+ weight: 30
+ - item_id: strawberry_seed
+ quantity: 1
+ weight: 25
+ - item_id: watermelon_seed
+ quantity: 1
+ weight: 15
+ - item_id: ranarr_seed
+ quantity: 1
+ weight: 5
+ remains: bones
+idle_descriptions:
+- scribbles notes on a clipboard
+- carefully inspects a vial of green liquid
+- adjusts her safety goggles
+- mutters about gene splicing yields
+name: corporate auditor
+steal:
+ level: 30
+ speed: 5
+ xp: 38
+ drops:
+ - table: farmer_steal
+ weight: 1
diff --git a/data/mobs/vesta/dock_factor.yaml b/data/mobs/vesta/dock_factor.yaml
new file mode 100644
index 0000000..310b163
--- /dev/null
+++ b/data/mobs/vesta/dock_factor.yaml
@@ -0,0 +1,61 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ combat_descriptions:
+ - jabs a syringe at %s
+ - is being overpowered by %s
+ - fights desperately against %s
+ kind: combat
+ respawn_ticks: 50
+ size: small
+ stats:
+ attack: 6
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 5
+ defenses:
+ crush_defense: 0
+ ranged_defense: 0
+ science_defense: 0
+ slash_defense: 0
+ stab_defense: 0
+ hp: 25
+ max_melee_hit: 1
+ speed: 5
+ strength: 4
+description: A prosperous local with a guarded purse. Pickpocketing is an optional risk; this person never
+ initiates combat otherwise.
+drops:
+ loot:
+ - item_id: sweetcorn_seed
+ quantity: 2
+ weight: 30
+ - item_id: strawberry_seed
+ quantity: 1
+ weight: 25
+ - item_id: watermelon_seed
+ quantity: 1
+ weight: 15
+ - item_id: ranarr_seed
+ quantity: 1
+ weight: 5
+ remains: bones
+idle_descriptions:
+- scribbles notes on a clipboard
+- carefully inspects a vial of green liquid
+- adjusts her safety goggles
+- mutters about gene splicing yields
+name: dock factor
+steal:
+ level: 25
+ speed: 5
+ xp: 30
+ drops:
+ - table: farmer_steal
+ weight: 1
diff --git a/data/mobs/vesta/domita_assayer.yaml b/data/mobs/vesta/domita_assayer.yaml
new file mode 100644
index 0000000..29f1b60
--- /dev/null
+++ b/data/mobs/vesta/domita_assayer.yaml
@@ -0,0 +1,32 @@
+name: Vesper the assayer
+description: Vesper distrusts both counterfeit chips and fool’s gold.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The western quarry supplies coal and gold. The maintained mine galleries have no roaming monsters.
+ Richer ores lie in regions beyond our present survey.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: chisel
+ stock: 15
+ restock_ticks: 100
+ - item_id: ring_mould
+ stock: 15
+ restock_ticks: 100
+ - item_id: necklace_mould
+ stock: 15
+ restock_ticks: 100
+ - item_id: bracelet_mould
+ stock: 15
+ restock_ticks: 100
+ - item_id: amulet_mould
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/domita_contracts.yaml b/data/mobs/vesta/domita_contracts.yaml
new file mode 100644
index 0000000..b6af5be
--- /dev/null
+++ b/data/mobs/vesta/domita_contracts.yaml
@@ -0,0 +1,75 @@
+name: Commissioner Sable
+description: A practical official keeps a stack of field reports beside a stamped ledger.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Choose a contract suited to your equipment. You can hold one at a time; use task to check progress.
+ Supplies are sold here.
+ options:
+ - text: 15 rat — Numisia drainage ditch (Assassin 1).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: rat
+ assassin_task_remaining: 15
+ assassin_task_total: 15
+ goto: assigned
+ - text: 15 drone — forest relay enclosure (Assassin 15).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: drone
+ assassin_task_remaining: 15
+ assassin_task_total: 15
+ goto: assigned
+ - text: 12 crawler — Tuccia root cellar; use acid vial to finish (Assassin 30).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: crawler
+ assassin_task_remaining: 12
+ assassin_task_total: 12
+ goto: assigned
+ - text: Cancel my current contract (resets streak).
+ condition:
+ player_flag: assassin_task_mob
+ action:
+ set_player_flags:
+ assassin_task_mob: ''
+ assassin_task_remaining: 0
+ assassin_task_total: 0
+ assassin_streak: 0
+ goto: start
+ - text: Goodbye.
+ assigned:
+ messages:
+ - Contract recorded. Follow the directions in the job listing. You gain Assassin experience only
+ for your assigned targets.
+ options:
+ - text: Understood.
+shop:
+ items:
+ - item_id: salt
+ stock: 15
+ restock_ticks: 100
+ - item_id: acid_vial
+ stock: 15
+ restock_ticks: 100
+ - item_id: insulated_gloves
+ stock: 15
+ restock_ticks: 100
+ - item_id: spectral_visor
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/domita_resident.yaml b/data/mobs/vesta/domita_resident.yaml
new file mode 100644
index 0000000..626b132
--- /dev/null
+++ b/data/mobs/vesta/domita_resident.yaml
@@ -0,0 +1,14 @@
+name: Nessa the night porter
+description: Nessa carries three keys and a lunch wrapped in yesterday’s odds sheet.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - They call the casino a public amenity. My rent says otherwise. At least the roads are still ours.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/domita_supplier.yaml b/data/mobs/vesta/domita_supplier.yaml
new file mode 100644
index 0000000..44abbc5
--- /dev/null
+++ b/data/mobs/vesta/domita_supplier.yaml
@@ -0,0 +1,34 @@
+name: Merrit the instrument seller
+description: Merrit oils tools rather than gambling on the next delivery.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Ore makes better tools. I sell the instruments to build them, not your next suit of armour.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: hammer
+ stock: 15
+ restock_ticks: 100
+ - item_id: saw
+ stock: 15
+ restock_ticks: 100
+ - item_id: chisel
+ stock: 15
+ restock_ticks: 100
+ - item_id: needle
+ stock: 15
+ restock_ticks: 100
+ - item_id: thread
+ stock: 100
+ restock_ticks: 100
+ - item_id: lighter
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/domita_surgeon.yaml b/data/mobs/vesta/domita_surgeon.yaml
new file mode 100644
index 0000000..3fb0bb3
--- /dev/null
+++ b/data/mobs/vesta/domita_surgeon.yaml
@@ -0,0 +1,29 @@
+name: Doctor Myrrh
+description: Myrrh writes prescriptions on casino stationery with the logo crossed out.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Local farms supply herbs for your first compounds. Greater remedies will take ingredients from
+ other regions.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: vial
+ stock: 100
+ restock_ticks: 100
+ - item_id: arachnid_enzyme
+ stock: 15
+ restock_ticks: 100
+ - item_id: chocolate_dust
+ stock: 15
+ restock_ticks: 100
+ - item_id: eye_of_newt
+ stock: 100
+ restock_ticks: 100
diff --git a/data/mobs/vesta/domita_technician.yaml b/data/mobs/vesta/domita_technician.yaml
new file mode 100644
index 0000000..9a72698
--- /dev/null
+++ b/data/mobs/vesta/domita_technician.yaml
@@ -0,0 +1,29 @@
+name: Archivist Pell
+description: Pell’s coat pockets bulge with obsolete connectors.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Cosmic identification needs 27 Scavenging, eco 28 and chaos 35. The northern relays are apprentice
+ survey equipment, not the ancient deep arrays.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: cosmic_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: eco_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: chaos_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: vial
+ stock: 100
+ restock_ticks: 100
diff --git a/data/mobs/vesta/forest_warden.yaml b/data/mobs/vesta/forest_warden.yaml
new file mode 100644
index 0000000..fda7480
--- /dev/null
+++ b/data/mobs/vesta/forest_warden.yaml
@@ -0,0 +1,16 @@
+name: Warden Sabin
+description: Sabin marks trees with washable chalk.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The surfaced fork reaches Domita northwest and Tuccia south. The managed timber stands supply
+ common logs, oak, willow and a small teak plantation. The great forests lie beyond this district.
+ Red markers mean combat, not a shortcut.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/harbor_winch.yaml b/data/mobs/vesta/harbor_winch.yaml
new file mode 100644
index 0000000..0a5f1d6
--- /dev/null
+++ b/data/mobs/vesta/harbor_winch.yaml
@@ -0,0 +1,41 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ kind: task
+ respawn_ticks: 40
+ size: medium
+ stats:
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 20
+ defenses:
+ crush_defense: 0
+ ranged_defense: 10
+ science_defense: 10
+ slash_defense: 40
+ stab_defense: 40
+ hp: 50
+ max_melee_hit: 0
+ speed: 5
+description: A public maintenance worksite. Work on it to practice combat skills without fighting; completed
+ jobs pay credits.
+drops:
+ loot:
+ - item_id: credits
+ quantity: 70
+ weight: 1
+idle_descriptions:
+- stands half-assembled, panels waiting to be fitted
+- has loose cabling dangling from an open junction box
+- catches the light on its few mounted panels
+name: harbor winch frame
+task:
+ complete_message: The mechanism passes its final check. Your maintenance payment is ready to collect.
+ progress_noun: assembly
+ verb: assemble
diff --git a/data/mobs/vesta/irrigation_frame.yaml b/data/mobs/vesta/irrigation_frame.yaml
new file mode 100644
index 0000000..ce5b020
--- /dev/null
+++ b/data/mobs/vesta/irrigation_frame.yaml
@@ -0,0 +1,41 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ kind: task
+ respawn_ticks: 40
+ size: medium
+ stats:
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 10
+ defenses:
+ crush_defense: 0
+ ranged_defense: 10
+ science_defense: 10
+ slash_defense: 40
+ stab_defense: 40
+ hp: 35
+ max_melee_hit: 0
+ speed: 5
+description: A public maintenance worksite. Work on it to practice combat skills without fighting; completed
+ jobs pay credits.
+drops:
+ loot:
+ - item_id: credits
+ quantity: 45
+ weight: 1
+idle_descriptions:
+- stands half-assembled, panels waiting to be fitted
+- has loose cabling dangling from an open junction box
+- catches the light on its few mounted panels
+name: irrigation pump frame
+task:
+ complete_message: The mechanism passes its final check. Your maintenance payment is ready to collect.
+ progress_noun: assembly
+ verb: assemble
diff --git a/data/mobs/vesta/joanna_lucci.yaml b/data/mobs/vesta/joanna_lucci.yaml
new file mode 100644
index 0000000..f0b9fcf
--- /dev/null
+++ b/data/mobs/vesta/joanna_lucci.yaml
@@ -0,0 +1,15 @@
+name: Director Joanna Lucci
+description: The director wears a plain jacket with a repaired cuff.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - 'Welcome to Numisia. The north road reaches Vestalia Terra, east reaches Brumalia, and west enters
+ the forest. Stay on the marked roads: no toll, no contract, no fighting required.'
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/numisia_carpenter.yaml b/data/mobs/vesta/numisia_carpenter.yaml
new file mode 100644
index 0000000..75c2747
--- /dev/null
+++ b/data/mobs/vesta/numisia_carpenter.yaml
@@ -0,0 +1,22 @@
+name: Ada the joiner
+description: Ada’s measuring rule is polished with use.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Common logs become planks at a workbench with a saw. Oak, teak and mahogany will take more practice.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: saw
+ stock: 15
+ restock_ticks: 100
+ - item_id: hammer
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_chemist.yaml b/data/mobs/vesta/numisia_chemist.yaml
new file mode 100644
index 0000000..820aa80
--- /dev/null
+++ b/data/mobs/vesta/numisia_chemist.yaml
@@ -0,0 +1,25 @@
+name: Doctor Vale
+description: Vale labels each bottle twice.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Clean guam from the northern herb beds, then mix it with water and eye of newt.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: vial
+ stock: 100
+ restock_ticks: 100
+ - item_id: eye_of_newt
+ stock: 100
+ restock_ticks: 100
+ - item_id: antitoxin_powder
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_contracts.yaml b/data/mobs/vesta/numisia_contracts.yaml
new file mode 100644
index 0000000..44e4304
--- /dev/null
+++ b/data/mobs/vesta/numisia_contracts.yaml
@@ -0,0 +1,65 @@
+name: Inspector Cato
+description: A practical official keeps a stack of field reports beside a stamped ledger.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Choose a contract suited to your equipment. You can hold one at a time; use task to check progress.
+ Supplies are sold here.
+ options:
+ - text: 12 rat — Numisia drainage ditch (Assassin 1).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: rat
+ assassin_task_remaining: 12
+ assassin_task_total: 12
+ goto: assigned
+ - text: 10 slug — Vestalia irrigation sump; use salt to finish (Assassin 1).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: slug
+ assassin_task_remaining: 10
+ assassin_task_total: 10
+ goto: assigned
+ - text: Cancel my current contract (resets streak).
+ condition:
+ player_flag: assassin_task_mob
+ action:
+ set_player_flags:
+ assassin_task_mob: ''
+ assassin_task_remaining: 0
+ assassin_task_total: 0
+ assassin_streak: 0
+ goto: start
+ - text: Goodbye.
+ assigned:
+ messages:
+ - Contract recorded. Follow the directions in the job listing. You gain Assassin experience only
+ for your assigned targets.
+ options:
+ - text: Understood.
+shop:
+ items:
+ - item_id: salt
+ stock: 15
+ restock_ticks: 100
+ - item_id: acid_vial
+ stock: 15
+ restock_ticks: 100
+ - item_id: insulated_gloves
+ stock: 15
+ restock_ticks: 100
+ - item_id: spectral_visor
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_engineer.yaml b/data/mobs/vesta/numisia_engineer.yaml
new file mode 100644
index 0000000..a736404
--- /dev/null
+++ b/data/mobs/vesta/numisia_engineer.yaml
@@ -0,0 +1,39 @@
+name: Ivo the radio mender
+description: Ivo listens to a silent receiver.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Mine scrap at the reclamation yard. A solar identifier and the field altar turn it into Science
+ supplies. Use the training relay to improve Technology. I also stock imported elemental junk so
+ beginners can trigger bio strike before they learn identification.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: basic_deck
+ stock: 15
+ restock_ticks: 100
+ - item_id: solar_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: hydro_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: biojunk
+ stock: 250
+ restock_ticks: 20
+ - item_id: hydrojunk
+ stock: 250
+ restock_ticks: 20
+ - item_id: ecojunk
+ stock: 250
+ restock_ticks: 20
+ - item_id: solarjunk
+ stock: 250
+ restock_ticks: 20
diff --git a/data/mobs/vesta/numisia_fisher.yaml b/data/mobs/vesta/numisia_fisher.yaml
new file mode 100644
index 0000000..d9aa957
--- /dev/null
+++ b/data/mobs/vesta/numisia_fisher.yaml
@@ -0,0 +1,25 @@
+name: Neri the netmaker
+description: A knotted cord measures every net Neri makes.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The nursery pools are south of town. Brumalia has deep-water tackle.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: small_fishing_net
+ stock: 15
+ restock_ticks: 100
+ - item_id: fishing_rod
+ stock: 15
+ restock_ticks: 100
+ - item_id: fishing_bait
+ stock: 100
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_grocer.yaml b/data/mobs/vesta/numisia_grocer.yaml
new file mode 100644
index 0000000..0af3cd9
--- /dev/null
+++ b/data/mobs/vesta/numisia_grocer.yaml
@@ -0,0 +1,28 @@
+name: Pella the grocer
+description: Pella weighs produce on a balance made from spoons.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The kitchens are public. Grow or catch your meals; I sell the pantry odds and ends.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: pot_of_flour
+ stock: 15
+ restock_ticks: 100
+ - item_id: empty_jug
+ stock: 15
+ restock_ticks: 100
+ - item_id: salt
+ stock: 15
+ restock_ticks: 100
+ - item_id: chocolate_dust
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_guide.yaml b/data/mobs/vesta/numisia_guide.yaml
new file mode 100644
index 0000000..c486092
--- /dev/null
+++ b/data/mobs/vesta/numisia_guide.yaml
@@ -0,0 +1,15 @@
+name: Tavi the arrivals guide
+description: Tavi carries a board with a lovingly redrawn map.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Tools are west along the market street. Free starter supplies are on the arrivals shelf. Train
+ on rats or repair worksites outside the walls; follow the road, not the red danger markers.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/numisia_outfitter.yaml b/data/mobs/vesta/numisia_outfitter.yaml
new file mode 100644
index 0000000..a3ee8e6
--- /dev/null
+++ b/data/mobs/vesta/numisia_outfitter.yaml
@@ -0,0 +1,34 @@
+name: Mara the outfitter
+description: Mara stitches a torn pack between customers.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Tools last longer than luck. Take a net to the south shore or a pick to the eastern quarry.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: bronze_pickaxe
+ stock: 15
+ restock_ticks: 100
+ - item_id: bronze_axe
+ stock: 15
+ restock_ticks: 100
+ - item_id: hammer
+ stock: 15
+ restock_ticks: 100
+ - item_id: knife
+ stock: 15
+ restock_ticks: 100
+ - item_id: matches
+ stock: 15
+ restock_ticks: 100
+ - item_id: small_fishing_net
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_potter.yaml b/data/mobs/vesta/numisia_potter.yaml
new file mode 100644
index 0000000..66a1d20
--- /dev/null
+++ b/data/mobs/vesta/numisia_potter.yaml
@@ -0,0 +1,34 @@
+name: Olin the potter
+description: Clay fingerprints cover Olin’s apron.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Mine clay east of town. Wet it, shape it at my wheel, then fire it in the kiln.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: empty_bucket
+ stock: 15
+ restock_ticks: 100
+ - item_id: empty_jug
+ stock: 15
+ restock_ticks: 100
+ - item_id: empty_pot
+ stock: 15
+ restock_ticks: 100
+ - item_id: chisel
+ stock: 15
+ restock_ticks: 100
+ - item_id: ring_mould
+ stock: 15
+ restock_ticks: 100
+ - item_id: amulet_mould
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/numisia_tailor.yaml b/data/mobs/vesta/numisia_tailor.yaml
new file mode 100644
index 0000000..6b65752
--- /dev/null
+++ b/data/mobs/vesta/numisia_tailor.yaml
@@ -0,0 +1,25 @@
+name: Sera the tailor
+description: Sera pins a pattern cut from an old shipping manifest.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Shear the sheep in Vestalia Terra. Spin wool here; cowhides go to the tanner.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: needle
+ stock: 15
+ restock_ticks: 100
+ - item_id: thread
+ stock: 100
+ restock_ticks: 100
+ - item_id: shears
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/survey_frame.yaml b/data/mobs/vesta/survey_frame.yaml
new file mode 100644
index 0000000..f1f240c
--- /dev/null
+++ b/data/mobs/vesta/survey_frame.yaml
@@ -0,0 +1,41 @@
+combat:
+ aggressive: false
+ attack_types:
+ - crush
+ kind: task
+ respawn_ticks: 40
+ size: medium
+ stats:
+ bonuses:
+ attack_bonus: 0
+ ranged_bonus: 0
+ ranged_strength_bonus: 0
+ science_bonus: 0
+ science_percent_bonus: 0
+ strength_bonus: 0
+ defense: 30
+ defenses:
+ crush_defense: 0
+ ranged_defense: 10
+ science_defense: 10
+ slash_defense: 40
+ stab_defense: 40
+ hp: 65
+ max_melee_hit: 0
+ speed: 5
+description: A public maintenance worksite. Work on it to practice combat skills without fighting; completed
+ jobs pay credits.
+drops:
+ loot:
+ - item_id: credits
+ quantity: 95
+ weight: 1
+idle_descriptions:
+- stands half-assembled, panels waiting to be fitted
+- has loose cabling dangling from an open junction box
+- catches the light on its few mounted panels
+name: survey instrument frame
+task:
+ complete_message: The mechanism passes its final check. Your maintenance payment is ready to collect.
+ progress_noun: assembly
+ verb: assemble
diff --git a/data/mobs/vesta/tuccia_carpenter.yaml b/data/mobs/vesta/tuccia_carpenter.yaml
new file mode 100644
index 0000000..c394b4f
--- /dev/null
+++ b/data/mobs/vesta/tuccia_carpenter.yaml
@@ -0,0 +1,25 @@
+name: Bell the carpenter
+description: Bell keeps offcuts sorted by the sound they make.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The estate office registers houses. My benches are open whether you own one or not.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: saw
+ stock: 15
+ restock_ticks: 100
+ - item_id: hammer
+ stock: 15
+ restock_ticks: 100
+ - item_id: chisel
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/tuccia_contracts.yaml b/data/mobs/vesta/tuccia_contracts.yaml
new file mode 100644
index 0000000..6b08016
--- /dev/null
+++ b/data/mobs/vesta/tuccia_contracts.yaml
@@ -0,0 +1,75 @@
+name: Agent Venn
+description: A practical official keeps a stack of field reports beside a stamped ledger.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Choose a contract suited to your equipment. You can hold one at a time; use task to check progress.
+ Supplies are sold here.
+ options:
+ - text: 15 slug — Vestalia irrigation sump; use salt to finish (Assassin 1).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: slug
+ assassin_task_remaining: 15
+ assassin_task_total: 15
+ goto: assigned
+ - text: 12 drone — forest relay enclosure (Assassin 15).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: drone
+ assassin_task_remaining: 12
+ assassin_task_total: 12
+ goto: assigned
+ - text: 10 crawler — Tuccia root cellar; use acid vial to finish (Assassin 30).
+ condition:
+ player_flag: assassin_task_mob
+ not: true
+ action:
+ set_player_flags:
+ assassin_task_mob: crawler
+ assassin_task_remaining: 10
+ assassin_task_total: 10
+ goto: assigned
+ - text: Cancel my current contract (resets streak).
+ condition:
+ player_flag: assassin_task_mob
+ action:
+ set_player_flags:
+ assassin_task_mob: ''
+ assassin_task_remaining: 0
+ assassin_task_total: 0
+ assassin_streak: 0
+ goto: start
+ - text: Goodbye.
+ assigned:
+ messages:
+ - Contract recorded. Follow the directions in the job listing. You gain Assassin experience only
+ for your assigned targets.
+ options:
+ - text: Understood.
+shop:
+ items:
+ - item_id: salt
+ stock: 15
+ restock_ticks: 100
+ - item_id: acid_vial
+ stock: 15
+ restock_ticks: 100
+ - item_id: insulated_gloves
+ stock: 15
+ restock_ticks: 100
+ - item_id: spectral_visor
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/tuccia_estate_broker.yaml b/data/mobs/vesta/tuccia_estate_broker.yaml
new file mode 100644
index 0000000..6f79940
--- /dev/null
+++ b/data/mobs/vesta/tuccia_estate_broker.yaml
@@ -0,0 +1,70 @@
+description: Elia has drawn a small house beside every paid entry in the neighborhood ledger.
+idle_descriptions:
+- flashes a professional smile
+name: Elia the estate broker
+protected: true
+talk:
+ nodes:
+ already_own:
+ messages:
+ - Yes, you're already a proud homeowner here! Your house is waiting for you. Use the Estate Directory
+ to enter it, and use its workshop.
+ options:
+ - goto: start
+ text: Good to know.
+ goodbye:
+ messages:
+ - Come back when you're ready to invest in your future!
+ info:
+ messages:
+ - Each house comes with an entrance hall and a workshop equipped with a workbench. You can use the
+ workbench with a saw to turn logs into planks, or assemble planks into furniture. Furniture can
+ be sold for a profit or displayed in your home. Future developments will allow adding more rooms
+ to your house.
+ options:
+ - action:
+ credits: -10
+ set_player_flags:
+ owns_house_local_neighborhood: local_neighborhood
+ condition:
+ all_of:
+ - player_flag: owns_house_local_neighborhood
+ not: true
+ - min_credits: 10
+ goto: purchased
+ text: Sounds great! I'll buy one.
+ - goto: goodbye
+ text: Maybe later.
+ purchased:
+ messages:
+ - Excellent! The plot is yours. You'll find your new home in the Local Neighborhood south of the
+ town square, west of the south gate. Use the Estate Directory terminal to enter your house. The
+ home comes with a workshop — perfect for construction projects.
+ options:
+ - goto: start
+ text: Thanks!
+ start:
+ messages:
+ - Welcome to the Local Neighborhood development! I'm selling premium housing plots for only 10 credits.
+ Interested in buying a house?
+ options:
+ - action:
+ credits: -10
+ set_player_flags:
+ owns_house_local_neighborhood: local_neighborhood
+ condition:
+ all_of:
+ - player_flag: owns_house_local_neighborhood
+ not: true
+ - min_credits: 10
+ goto: purchased
+ text: Yes, I'd like to buy a house.
+ - condition:
+ player_flag: owns_house_local_neighborhood
+ goto: already_own
+ text: I already own a house here.
+ - goto: goodbye
+ text: No thanks.
+ - goto: info
+ text: What do I get with a house?
+unique: true
diff --git a/data/mobs/vesta/tuccia_fletcher.yaml b/data/mobs/vesta/tuccia_fletcher.yaml
new file mode 100644
index 0000000..b6c40f1
--- /dev/null
+++ b/data/mobs/vesta/tuccia_fletcher.yaml
@@ -0,0 +1,26 @@
+name: Rook the fletcher
+description: Rook straightens arrow shafts against a scarred tabletop.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Willows along the marsh and teak in the western forest make fine bows. Bring a knife and work
+ your own wood.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: knife
+ stock: 15
+ restock_ticks: 100
+ - item_id: feather
+ stock: 100
+ restock_ticks: 100
+ - item_id: thread
+ stock: 100
+ restock_ticks: 100
diff --git a/data/mobs/vesta/tuccia_herbalist.yaml b/data/mobs/vesta/tuccia_herbalist.yaml
new file mode 100644
index 0000000..411ac5c
--- /dev/null
+++ b/data/mobs/vesta/tuccia_herbalist.yaml
@@ -0,0 +1,35 @@
+name: Aunt Celandine
+description: Celandine dries leaves in the lining of her hat.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The marsh boardwalk is safe; the crypts are not. Bring your own herbs and I can supply the second
+ ingredients.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: vial
+ stock: 100
+ restock_ticks: 100
+ - item_id: limpwurt_root
+ stock: 15
+ restock_ticks: 100
+ - item_id: white_berries
+ stock: 15
+ restock_ticks: 100
+ - item_id: snape_grass
+ stock: 15
+ restock_ticks: 100
+ - item_id: antitoxin_powder
+ stock: 15
+ restock_ticks: 100
+ - item_id: blight_spore
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/tuccia_reclaimer.yaml b/data/mobs/vesta/tuccia_reclaimer.yaml
new file mode 100644
index 0000000..07978a1
--- /dev/null
+++ b/data/mobs/vesta/tuccia_reclaimer.yaml
@@ -0,0 +1,23 @@
+name: Moss the reclaimer
+description: Moss wears circuit boards as sleeve patches.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Eco is 28 Scavenging. The woodland altar is outside town, not in my back room. Seek the other
+ old arrays in regions beyond this district.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: eco_identifier
+ stock: 15
+ restock_ticks: 100
+ - item_id: chaos_identifier
+ stock: 15
+ restock_ticks: 100
diff --git a/data/mobs/vesta/tuccia_resident.yaml b/data/mobs/vesta/tuccia_resident.yaml
new file mode 100644
index 0000000..492a515
--- /dev/null
+++ b/data/mobs/vesta/tuccia_resident.yaml
@@ -0,0 +1,14 @@
+name: Old Mera
+description: Mera has lived through three proposals to drain the marsh.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The mist does not hurt anyone. What lives beneath the ruined chapel is a different matter.
+ options:
+ - text: Thank you.
diff --git a/data/mobs/vesta/vestalia_botanist.yaml b/data/mobs/vesta/vestalia_botanist.yaml
new file mode 100644
index 0000000..e250a54
--- /dev/null
+++ b/data/mobs/vesta/vestalia_botanist.yaml
@@ -0,0 +1,29 @@
+name: Professor Senna
+description: Senna has soil under every fingernail.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - The research terraces beyond the granary are open to everyone. Learn with the local seeds before
+ seeking rarer varieties in distant regions.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: ranarr_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: toadflax_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: sweetcorn_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: strawberry_seed
+ stock: 100
+ restock_ticks: 100
diff --git a/data/mobs/vesta/vestalia_seedkeeper.yaml b/data/mobs/vesta/vestalia_seedkeeper.yaml
new file mode 100644
index 0000000..10c964e
--- /dev/null
+++ b/data/mobs/vesta/vestalia_seedkeeper.yaml
@@ -0,0 +1,59 @@
+name: Livia the seedkeeper
+description: Livia keeps seed envelopes in an old ammunition chest.
+protected: true
+unique: true
+idle_descriptions:
+- looks up as footsteps approach
+- checks a pencilled list
+talk:
+ nodes:
+ start:
+ messages:
+ - Allotments, flowers and herbs grow in separate fields. Higher-level seeds need better Farming,
+ not a city permit.
+ options:
+ - text: Thank you.
+shop:
+ items:
+ - item_id: potato_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: onion_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: cabbage_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: tomato_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: sweetcorn_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: strawberry_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: guam_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: marrentill_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: tarromin_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: harralander_seed
+ stock: 100
+ restock_ticks: 100
+ - item_id: rake
+ stock: 15
+ restock_ticks: 100
+ - item_id: spade
+ stock: 15
+ restock_ticks: 100
+ - item_id: watering_can
+ stock: 15
+ restock_ticks: 100
+ - item_id: plant_cure
+ stock: 15
+ restock_ticks: 100