mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-09-19 14:18:36 -07:00
Docs: Added new documentation for DS3's enemy randomization (random_enemy_preset) (#5738)
--------- Co-authored-by: Nicholas Saylor <[email protected]>
This commit is contained in:
co-authored by
Nicholas Saylor
parent
e0810022f8
commit
d0407a74d6
@@ -296,11 +296,9 @@ class ImpatientMimicsOption(Toggle):
|
||||
class RandomEnemyPresetOption(OptionDict):
|
||||
"""The YAML preset for the static enemy randomizer.
|
||||
|
||||
See the static randomizer documentation in `randomizer\\presets\\README.txt` for details.
|
||||
See the online enemy randomization documentation for all available options.
|
||||
Include this as nested YAML. For example:
|
||||
|
||||
.. code-block:: YAML
|
||||
|
||||
random_enemy_preset:
|
||||
RemoveSource: Ancient Wyvern; Darkeater Midir
|
||||
DontRandomize: Iudex Gundyr
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# Dark Souls III
|
||||
|
||||
Game Page | [Items] | [Locations]
|
||||
Game Page | [Setup] | [Items] | [Locations] | [Enemy Randomization]
|
||||
|
||||
[Setup]: /tutorial/Dark%20Souls%20III/setup/en
|
||||
[Items]: /tutorial/Dark%20Souls%20III/items/en
|
||||
[Locations]: /tutorial/Dark%20Souls%20III/locations/en
|
||||
[Enemy Randomization]: /tutorial/Dark%20Souls%20III/enemy-randomization/en
|
||||
|
||||
## What do I need to do to randomize DS3?
|
||||
|
||||
@@ -138,6 +140,14 @@ Check out the [item guide], which explains the named groups available for items.
|
||||
|
||||
[item guide]: /tutorial/Dark%20Souls%20III/items/en
|
||||
|
||||
## How can I change what enemies get randomized?
|
||||
|
||||
The [enemy randomization guide] explains how to further customize enemy randomization
|
||||
for challenge runs or convenience. You can target specific enemies or entire
|
||||
categories and even remove annoying enemy types outright.
|
||||
|
||||
[enemy randomization guide]: /tutorial/Dark%20Souls%20III/enemy-randomization/en
|
||||
|
||||
## What's new from 2.x.x?
|
||||
|
||||
Version 3.0.0 of the Dark Souls III Archipelago client has a number of
|
||||
|
||||
@@ -0,0 +1,411 @@
|
||||
# Dark Souls III Enemy Randomization
|
||||
|
||||
[Game Page] | [Setup] | [Items] | [Locations] | Enemy Randomization
|
||||
|
||||
[Game Page]: /games/Dark%20Souls%20III/info/en
|
||||
[Setup]: /tutorial/Dark%20Souls%20III/setup/en
|
||||
[Items]: /tutorial/Dark%20Souls%20III/items/en
|
||||
[Locations]: /tutorial/Dark%20Souls%20III/locations/en
|
||||
|
||||
If `randomize_enemies` in your Dark Souls 3 player config YAML is enabled, bosses, minibosses and basic enemies will
|
||||
be shuffled with themselves respectively.
|
||||
|
||||
To further customize enemy randomization beyond that, there is a section called `random_enemy_preset`.
|
||||
|
||||
This tutorial will show all the ways how to configure that preset.
|
||||
|
||||
## Table of Contents
|
||||
- [The Basics](#the-basics)
|
||||
- [Individual Assignments](#individual-assignments)
|
||||
- [Pools](#pools)
|
||||
* [Pool Groups](#pool-groups)
|
||||
+ [RandomByType](#randombytype)
|
||||
* [Weights](#weights)
|
||||
- [Settings](#settings)
|
||||
* [Boss](#boss)
|
||||
* [Miniboss](#miniboss)
|
||||
* [Basic](#basic)
|
||||
+ [BuffBasicEnemiesAsBosses](#buffbasicenemiesasbosses)
|
||||
* [Enemies](#enemies)
|
||||
* [DontRandomize](#dontrandomize)
|
||||
* [RemoveSource](#removesource)
|
||||
* [OopsAll](#oopsall)
|
||||
- [Enemy Categories](#enemy-categories)
|
||||
|
||||
## The Basics
|
||||
|
||||
There are two main ways to assign an enemy to be randomized: [individual enemy assignments](#individual-assignments)
|
||||
to target a singular enemy placement and setting up [Pools](#pools) to target a category of enemies.
|
||||
|
||||
Custom pools are recommended unless you specifically want to single out one enemy placement.
|
||||
|
||||
All bosses also have their own category, so individual assignment is not necessary in those cases.
|
||||
|
||||
Be aware of correct indentation of your YAML file. Every example in this document will need to be nested under the
|
||||
`random_enemy_preset:` section.
|
||||
|
||||
Disable the preset by leaving just empty brackets `{}`. Like usual with YAML, you can add comments by using `#`.
|
||||
|
||||
For further examples, check out the "presets" folder of the standalone randomizer.
|
||||
|
||||
## Individual Assignments
|
||||
|
||||
Individual enemy assignment allows you to target individual enemies, rather than a category as under pools.
|
||||
|
||||
This overrides pools and any other configuration, will usually ignore progression, and can possibly cause you to have to
|
||||
fight Yhorm the Giant without Storm Ruler.
|
||||
|
||||
You use it in the [`Enemies`](#enemies) section by selecting a specific enemy using its unique
|
||||
ID, or its specific name followed by its ID.
|
||||
|
||||
See the '/randomizer/preset/Template.txt' file of the static randomizer for all available IDs.
|
||||
|
||||
There are also some special target names available for individual assignments:
|
||||
|
||||
- `any`: This is the default and allows any enemy in the pool to appear there.
|
||||
|
||||
- `norandom`: Assigns an enemy to itself. This has the same effect as adding the enemy name to [`DontRandomize`](#dontrandomize).
|
||||
|
||||
## Pools
|
||||
|
||||
A pool is a collection of enemies. A pool can both be a randomization target and an eligible group of random enemies to
|
||||
be drawn from for randomization. See [Enemy Categories](#enemy-categories) for all available pools.
|
||||
|
||||
Pool assignment generally respects progression, like requiring Storm Ruler to be accessible before Yhorm the Giant.
|
||||
|
||||
By default, using a boss as another boss, or a miniboss as another miniboss, takes the source enemy out of the default
|
||||
pool for that category, so each enemy will still be used once if possible. However, the enemy can still appear more
|
||||
than once if used in a custom pool.
|
||||
|
||||
### Pool Groups
|
||||
|
||||
Pools can be joined into a pool group by joining several names, separated by a semicolon.
|
||||
|
||||
```yaml
|
||||
# All basic enemies are just different hollows now
|
||||
Basic:
|
||||
- Weight: 100
|
||||
Pool: Hollow Soldiers; Large Hollow Soldiers
|
||||
```
|
||||
|
||||
#### RandomByType
|
||||
|
||||
By default, selection will be random across all eligible enemies. In our example above it would select from:
|
||||
|
||||
- Hollow Soldier
|
||||
- Road of Sacrifices Hollow Soldier
|
||||
- Cathedral Hollow Soldier
|
||||
- Lothric Castle Hollow Soldier
|
||||
- Grand Archives Hollow Soldier
|
||||
|
||||
and
|
||||
|
||||
- Large Hollow Soldier
|
||||
- Cathedral Large Hollow Soldier
|
||||
- Lothric Castle Large Hollow Soldier
|
||||
|
||||
However, this would make it more likely to select a regular soldier instead of a large one (5 out of 8), just because
|
||||
there are fewer entries in the latter category.
|
||||
|
||||
You can specify `RandomByType: true` to select randomly from the list itself (Hollow Soldiers, Large Hollow Soldiers)
|
||||
and make our previous example a true 50/50 split.
|
||||
|
||||
```yaml
|
||||
# All basic enemies are just different hollows now
|
||||
Basic:
|
||||
- Weight: 100
|
||||
Pool: Hollow Soldiers; Large Hollow Soldiers
|
||||
RandomByType: true # To make it truly 50/50 between the categories
|
||||
```
|
||||
|
||||
### Weights
|
||||
|
||||
Weights can be used to select multiple different outcomes within a pool, weighted to give different probabilities each.
|
||||
|
||||
Weights don't necessarily have to add up to 100, but doing it that way makes estimating probabilities very intuitive.
|
||||
|
||||
```yaml
|
||||
Boss:
|
||||
- Weight: 79 # 79% of bosses will still be bosses
|
||||
Pool: default
|
||||
- Weight: 20 # Replace 20% of all bosses with minibosses
|
||||
Pool: Miniboss
|
||||
- Weight: 1 # Replace 1% of all bosses with regular enemies. It's always funny
|
||||
Pool: Basic
|
||||
```
|
||||
|
||||
Be aware that weights will not work in the [`Enemies`](#enemies) section.
|
||||
|
||||
## Settings
|
||||
|
||||
### Boss
|
||||
|
||||
This setting indicates which enemies can be used as replacements for bosses.
|
||||
By default, this is the pool of all 29 bosses.
|
||||
|
||||
```yaml
|
||||
Boss:
|
||||
- Weight: 80
|
||||
Pool: default
|
||||
- Weight: 20 # Replace 20% of all bosses with minibosses
|
||||
Pool: Miniboss
|
||||
```
|
||||
|
||||
### Miniboss
|
||||
|
||||
This setting indicates which enemies can be used as replacements for minibosses.
|
||||
By default, this is the pool of all 32 minibosses (including duplicates).
|
||||
|
||||
```yaml
|
||||
Miniboss:
|
||||
- Weight: 80
|
||||
Pool: default
|
||||
- Weight: 20 # Replace 20% of all minibosses with bosses
|
||||
Pool: Boss
|
||||
```
|
||||
|
||||
### Basic
|
||||
|
||||
This setting indicates which enemies can be used as replacements for all other enemies, so non-bosses and non-minibosses.
|
||||
By default, this is the pool of all ~2000 basic enemies (including duplicates).
|
||||
|
||||
```yaml
|
||||
Basic:
|
||||
- Weight: 94
|
||||
Pool: default
|
||||
- Weight: 5 # Replace 5% of all basic enemies with minibosses
|
||||
Pool: Miniboss
|
||||
- Weight: 1 # Replace 1% of all basic enemies with bosses
|
||||
Pool: Boss
|
||||
```
|
||||
|
||||
#### BuffBasicEnemiesAsBosses
|
||||
|
||||
If enabled, this causes basic enemies to become a lot stronger when randomized into the slot of a boss.
|
||||
|
||||
```yaml
|
||||
Boss:
|
||||
- Weight: 100 # All bosses are just basic enemies...
|
||||
Pool: Basic
|
||||
|
||||
BuffBasicEnemiesAsBosses: true # ...but they are strong
|
||||
```
|
||||
|
||||
### Enemies
|
||||
|
||||
Under the `Enemies:` setting you can add more nuanced replacements of random enemies.
|
||||
There are two ways you can adjust enemies:
|
||||
- Assign to a group of enemies using their category pool (see [Enemy Categories](#enemy-categories))
|
||||
- Assign to one specifc enemy by using its number (see [Individual Assignments](#individual-assignments))
|
||||
|
||||
```yaml
|
||||
Enemies:
|
||||
# Replace only the very first Ravenous Crystal Lizard with the final boss
|
||||
Ravenous Crystal Lizard 4000380: Lords of Cinder
|
||||
|
||||
# Replace all regular soldiers with skeletons or small crabs
|
||||
Hollow Soldiers: Skeletons; Lesser Crab
|
||||
|
||||
# Knights remain knights, but variants (i.e. weapons) are still shuffled within the category
|
||||
High Wall Lothric Knight: High Wall Lothric Knight
|
||||
```
|
||||
|
||||
### DontRandomize
|
||||
|
||||
A semicolon-separated list of enemies or enemy types to not randomize (assign to themselves).
|
||||
It is taken out of its default pool and also custom pools in this case, but it can still be assigned to
|
||||
[individual enemies](#individual-assignments).
|
||||
|
||||
```yaml
|
||||
DontRandomize: Iudex Gundyr # Iudex Gundyr will be at his vanilla location
|
||||
|
||||
Boss:
|
||||
- Weight: 100
|
||||
Pool: default # Boss slots other than Iudex Gundyr will never become him
|
||||
```
|
||||
|
||||
### RemoveSource
|
||||
|
||||
A semicolon-separated list of enemies or enemy types to remove from all pools.
|
||||
It can still be assigned to individual enemies.
|
||||
This is overridden by [`DontRandomize`](#dontrandomize) directives.
|
||||
|
||||
```yaml
|
||||
# Remove the most annoying enemies from all pools
|
||||
RemoveSource: Bridge Darkeater Midir; Ancient Wyvern Mob; Curse-rotted Greatwood; High Lord Wolnir; Carthus Sandworm
|
||||
```
|
||||
|
||||
### OopsAll
|
||||
|
||||
Assigning an enemy or a pool to `OopsAll` sets all pools to that specific enemy or category of enemy. This can still be
|
||||
overridden using [individual enemy assginments](#individual-assignments), but otherwise every enemy is replaced by
|
||||
this setting.
|
||||
|
||||
```yaml
|
||||
# This run suddenly got very spooky
|
||||
OopsAll: Skeletons
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Enemy Categories
|
||||
|
||||
The following enemy category pools are available:
|
||||
|
||||
- Any
|
||||
- Bosses
|
||||
- Minibosses
|
||||
- Bosses and Minibosses
|
||||
- Basic
|
||||
- Abyss Watchers
|
||||
- Aldrich, Devourer of Gods
|
||||
- Ancient Wyvern
|
||||
- Ancient Wyvern Mob
|
||||
- Angel Pilgrim
|
||||
- Basilisk
|
||||
- Black Knight
|
||||
- Blackflame Friede
|
||||
- Boreal Outrider Knight
|
||||
- Bridge Darkeater Midir
|
||||
- Cage Spider
|
||||
- Carthus Sandworm
|
||||
- Cathedral Evangelist
|
||||
- Cathedral Knight
|
||||
- Cemetery Hollow
|
||||
- Champion Gundyr
|
||||
- Champion's Gravetender and Gravetender Greatwolf
|
||||
- Consumed King Oceiros
|
||||
- Corpse-grub
|
||||
- Corvian
|
||||
- Corvian Knight
|
||||
- Corvian Settler
|
||||
- Crabs
|
||||
- Lesser Crab
|
||||
- Greater Crab
|
||||
- Ariandel Greater Crab
|
||||
- Crystal Lizard
|
||||
- Crystal Sage
|
||||
- Crystal Sage in Archives
|
||||
- Curse-rotted Greatwood
|
||||
- Dancer of the Boreal Valley
|
||||
- Darkeater Midir
|
||||
- Darkwraith
|
||||
- Deacon
|
||||
- Cathedral Deacon
|
||||
- Wide Deacon
|
||||
- Irirthyll Deacon
|
||||
- Irirthyll Tall Deacon
|
||||
- Deacons of the Deep
|
||||
- Deep Accursed
|
||||
- Demon
|
||||
- Demon Cleric
|
||||
- Demon Prince
|
||||
- Demonic Statue
|
||||
- Dragonslayer Armour
|
||||
- Dreg Heap Thrall
|
||||
- Elder Ghru
|
||||
- Father Ariandel
|
||||
- Farron Follower
|
||||
- Fire Witch
|
||||
- Gargoyles
|
||||
- Profaned Capital Gargoyle
|
||||
- Archives Gargoyle
|
||||
- Ghru Grunt
|
||||
- Giant Fly
|
||||
- Giant Slave
|
||||
- Grand Archives Scholar
|
||||
- Grave Warden
|
||||
- Halflight, Spear of the Church
|
||||
- Harald Legion Knight
|
||||
- High Lord Wolnir
|
||||
- Hobbled Cleric
|
||||
- Hollow Manservant
|
||||
- Hollow Soldiers
|
||||
- Hollow Soldier
|
||||
- Road of Sacrifices Hollow Soldier
|
||||
- Cathedral Hollow Soldier
|
||||
- Lothric Castle Hollow Soldier
|
||||
- Grand Archives Hollow Soldier
|
||||
- Hound Rat
|
||||
- Infested Corpse
|
||||
- Irirthyll Dungeon Peasant Hollow
|
||||
- Irithyll Giant Slave
|
||||
- Irithyll Starved Hound
|
||||
- Irithyllian Slave
|
||||
- Iudex Gundyr
|
||||
- Jailer
|
||||
- Judicator
|
||||
- King of the Storm
|
||||
- Large Hollow Soldiers
|
||||
- Large Hollow Soldier
|
||||
- Cathedral Large Hollow Soldier
|
||||
- Lothric Castle Large Hollow Soldier
|
||||
- Large Hound Rat
|
||||
- Large Serpent-Man
|
||||
- Large Starved Hound
|
||||
- Locust Preacher
|
||||
- Lords of Cinder (actually called "Soul of Cinder" ingame)
|
||||
- Lorian, Elder Prince
|
||||
- Lothric Knights
|
||||
- High Wall Lothric Knight
|
||||
- Lothric Castle Lothric Knight
|
||||
- Dreg Heap Lothric Knight
|
||||
- Red-Eyed Lothric Knight
|
||||
- Lothric Priest
|
||||
- Lothric, Younger Prince
|
||||
- Lycanthrope
|
||||
- Lycanthrope Hunter
|
||||
- Maggot Belly Starved Hound
|
||||
- Millwood Knight
|
||||
- Mimic Chest
|
||||
- Monstrosity of Sin
|
||||
- Murkman
|
||||
- Murkman Summoner
|
||||
- Nameless King
|
||||
- Old Demon King
|
||||
- Passive Locust Preacher
|
||||
- Peasant Hollow
|
||||
- Poisonhorn Bug
|
||||
- Pontiff Knight
|
||||
- Pontiff Sulyvahn
|
||||
- Pus of Man
|
||||
- Ravenous Crystal Lizard
|
||||
- Reanimated Corpse
|
||||
- Ringed City Cleric
|
||||
- Ringed Knight
|
||||
- Road of Sacrifices Sorcerer
|
||||
- Rock Lizard
|
||||
- Rotten Slug
|
||||
- Serpent-Man
|
||||
- Serpent-Man Summoner
|
||||
- Sewer Centipede
|
||||
- Silver Knight
|
||||
- Sister Friede
|
||||
- Skeletons
|
||||
- Skeleton
|
||||
- Bonewheel Skeleton
|
||||
- Carthus Curved Sword Skeleton
|
||||
- Carthus Shotel Skeleton
|
||||
- Ringed City Skeleton
|
||||
- Slave Knight Gael
|
||||
- Slave Knight Gael 1
|
||||
- Slave Knight Gael 2
|
||||
- Small Locust Preacher
|
||||
- Smouldering Ghru Grunt
|
||||
- Starved Hound
|
||||
- Stray Demon
|
||||
- Sulyvahn's Beast
|
||||
- Thrall
|
||||
- Tree Woman
|
||||
- Vordt of the Boreal Valley
|
||||
- Winged Knight
|
||||
- Wolves
|
||||
- Smaller Wolf
|
||||
- Larger Wolf
|
||||
- Greatwolf
|
||||
- Wretch
|
||||
- Writhing Flesh
|
||||
- Catacombs Writhing Flesh
|
||||
- Smouldering Writhing Flesh
|
||||
- Anor Londo Writhing Flesh
|
||||
- Yhorm the Giant
|
||||
@@ -1,9 +1,11 @@
|
||||
# Dark Souls III Items
|
||||
|
||||
[Game Page] | Items | [Locations]
|
||||
[Game Page] | [Setup] | Items | [Locations] | [Enemy Randomization]
|
||||
|
||||
[Game Page]: /games/Dark%20Souls%20III/info/en
|
||||
[Setup]: /tutorial/Dark%20Souls%20III/setup/en
|
||||
[Locations]: /tutorial/Dark%20Souls%20III/locations/en
|
||||
[Enemy Randomization]: /tutorial/Dark%20Souls%20III/enemy-randomization/en
|
||||
|
||||
## Item Groups
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# Dark Souls III Locations
|
||||
|
||||
[Game Page] | [Items] | Locations
|
||||
[Game Page] | [Setup] | [Items] | Locations | [Enemy Randomization]
|
||||
|
||||
[Game Page]: /games/Dark%20Souls%20III/info/en
|
||||
[Setup]: /tutorial/Dark%20Souls%20III/setup/en
|
||||
[Items]: /tutorial/Dark%20Souls%20III/items/en
|
||||
[Enemy Randomization]: /tutorial/Dark%20Souls%20III/enemy-randomization/en
|
||||
|
||||
## Table of Contents
|
||||
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# Dark Souls III Randomizer Setup Guide
|
||||
|
||||
[Game Page] | Setup | [Items] | [Locations] | [Enemy Randomization]
|
||||
|
||||
[Game Page]: /games/Dark%20Souls%20III/info/en
|
||||
[Items]: /tutorial/Dark%20Souls%20III/items/en
|
||||
[Locations]: /tutorial/Dark%20Souls%20III/locations/en
|
||||
[Enemy Randomization]: /tutorial/Dark%20Souls%20III/enemy-randomization/en
|
||||
|
||||
## Required Software
|
||||
|
||||
- [Dark Souls III](https://store.steampowered.com/app/374320/DARK_SOULS_III/)
|
||||
|
||||
Reference in New Issue
Block a user