aboutsummaryrefslogtreecommitdiff
path: root/building_guide/mobs.md
diff options
context:
space:
mode:
Diffstat (limited to 'building_guide/mobs.md')
-rw-r--r--building_guide/mobs.md39
1 files changed, 33 insertions, 6 deletions
diff --git a/building_guide/mobs.md b/building_guide/mobs.md
index d10f685..32ee408 100644
--- a/building_guide/mobs.md
+++ b/building_guide/mobs.md
@@ -77,18 +77,46 @@ ranged_defense: 3
### Protected/Unique Mobs
-Mob with talk behavior — can be talked to via `talk:` inline config:
+Protected mobs cannot be attacked. All combat and stat fields (`attack`, `strength`,
+`defense`, `hp`, `speed`, `attack_type`, `attack_bonus`, `strength_bonus`,
+`*_defense`, `weakness`, `size`, `drops`, `aggressive`, `respawn_ticks`) are
+**optional for protected mobs** — omit them entirely. Protected mobs don't show
+a combat level in room listings or when examined.
+
+Minimal protected mob (shopkeeper, quest giver, NPC):
+```yaml
+name: flight attendant
+description: A smiling flight attendant in a crisp uniform.
+unique: true # displays as "Flight attendant" not "a flight attendant"
+protected: true # cannot be attacked, combat stats are optional
+idle_descriptions:
+ - adjusts her name badge
+ - smiles politely at passengers
+talk: # inline talk config
+ nodes:
+ start:
+ message: "\"Welcome aboard!\""
+ options:
+ - text: "\"What should I do?\""
+ goto: check_sign
+ - text: "\"Goodbye.\""
+ check_sign:
+ message: "\"Review the safety information.\""
+ options:
+ - text: "\"Will do.\""
+```
+
+Protected mob with combat stats (for internal testing or debug purposes):
```yaml
name: "Guard"
-talk: # inline talk config (no separate behavior file)
+unique: true
+protected: true
+talk:
nodes:
start:
message: "\"Halt! Who goes there?\""
options:
- text: "\"Just passing through.\""
- end: true
-unique: true # displays as "Guard" not "a guard"
-protected: true # cannot be attacked
attack: 5
strength: 5
defense: 5
@@ -106,7 +134,6 @@ science_defense: -5
ranged_defense: 12
idle_descriptions:
- "scans the area with a watchful eye"
- - "adjusts the grip on his weapon"
```
Note: `wander_rooms` and `wander_interval` are NOT set on the mob definition. Wander config