diff options
Diffstat (limited to 'worldbuilding_guide/mobs.md')
| -rw-r--r-- | worldbuilding_guide/mobs.md | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/worldbuilding_guide/mobs.md b/worldbuilding_guide/mobs.md deleted file mode 100644 index c19efff..0000000 --- a/worldbuilding_guide/mobs.md +++ /dev/null @@ -1,179 +0,0 @@ -## Mobs - -Basic combat mob with per-type defense bonuses: -```yaml -id: "man" -name: "man" -description: "A shabby-looking man." -attack: 1 -strength: 1 -defense: 1 -hp: 7 -speed: 5 -aggressive: false -respawn_ticks: 30 -attack_type: crush # stab/slash/crush/ranged/science (default: crush) -stab_defense: 0 # per-type defense bonuses -slash_defense: 0 -crush_defense: 0 -science_defense: 0 -ranged_defense: 0 -drops: - remains: "bones" # always dropped on death - loot: - - item_id: "credits" - weight: 98 - quantity: 10 - - item_id: "credits" - weight: 2 - quantity: 150 -idle_descriptions: - - "scribbles something in a small notebook" - - "gazes skyward at the clouds" -combat_descriptions: - - "is engaged in a fight to the death with %s" -``` - -### Aggressive Mobs - -Mobs with `aggressive: true` auto-attack players entering their room (1-tick delay). Only aggros if the player's combat level is at most double the mob's combat level. Checked on room enter and login. - -```yaml -id: goblin -name: goblin -aggressive: true # attacks players on sight -attack: 1 -strength: 3 -defense: 3 -hp: 12 -attack_type: slash -attack_bonus: 3 # equipment-equivalent attack bonus for mob's attack roll -strength_bonus: 2 # equipment-equivalent strength bonus for mob's max hit -stab_defense: 4 -slash_defense: 3 -crush_defense: -2 # weak to crush — negative defense is valid -science_defense: 0 -ranged_defense: 3 -``` - -### Mob Attack/Defense Fields - -| Field | Description | -|---|---| -| `attack` | Attack level (base accuracy) | -| `strength` | Strength level (base max hit) | -| `defense` | Defense level (base defense) | -| `hp` | Hit points | -| `ranged` | Ranged level (for ranged/science mobs) | -| `science` | Science level | -| `attack_bonus` | Equipment-equivalent attack bonus (added to attack roll) | -| `strength_bonus` | Equipment-equivalent strength bonus (added to max hit) | -| `attack_type` | Determines which player defense is used against this mob | -| `stab_defense` through `ranged_defense` | Per-type defense bonuses | -| `weakness` | Elemental weakness (solar/hydro/eco/bio) — for future Science combat | -| `size` | Mob size for safespot blocking: small/medium/large/massive (default: medium) | - -### Protected/Unique Mobs - -Mob with talk behavior — can be talked to via `talk:` inline config: -```yaml -id: "guard" -name: "Guard" -talk: # inline talk config (no separate behavior file) - 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 -hp: 30 -speed: 5 -aggressive: false -respawn_ticks: 60 -attack_type: slash -attack_bonus: 8 -strength_bonus: 6 -stab_defense: 12 -slash_defense: 15 -crush_defense: 10 -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 -is per-instance in the room YAML (see Rooms > Mobs section above). - -### Stealable Mobs - -Mobs can be stealable via the `steal` command. On failure, the mob turns hostile and attacks. - -```yaml -id: farmer -name: Farmer -steal_table: farmer_steal # Drop table for steal loot -steal_level: 10 # Required thieving level -steal_xp: 15 # XP per successful steal -steal_speed: 4 # Ticks per steal attempt -``` - -| Field | Description | -|---|---| -| `steal_table` | Drop table ID for loot when stealing | -| `steal_level` | Required thieving level | -| `steal_xp` | XP awarded per successful steal | -| `steal_speed` | Ticks per steal attempt (base wait) | - -### Assassin Mobs - -Assassin (Slayer) mobs restrict combat by assassin level and introduce finishing blows and protective equipment: - -```yaml -id: slug -name: slug -assassin_level: 1 # required assassin level to attack -finishing_blow: salt # item required to kill (mob stays at 1 HP otherwise) -attack: 3 -strength: 3 -defense: 1 -hp: 15 -speed: 6 -drops: - remains: slug_mucus - loot: - - item_id: credits - weight: 100 - quantity: 15 -``` - -Damage-without mobs deal 1.5x damage unless the player has the specified item equipped: -```yaml -id: drone -name: drone -assassin_level: 15 -damage_without: insulated_gloves # 1.5x damage without this item equipped -attack: 15 -strength: 14 -defense: 12 -hp: 45 -speed: 4 -aggressive: true -``` - -| Field | Description | -|---|---| -| `assassin_level` | Required assassin skill level to attack this mob | -| `finishing_blow` | Item ID required to kill this mob (mob stays at 1 HP until used via `use <item> on <target>`) | -| `damage_without` | Item ID for protection — mob deals 1.5x damage if player doesn't have it equipped | - -Mobs without these fields work normally (assassin_level defaults to 0, finishing_blow and damage_without default to empty). - ---- - |
