# Priority System

When V moves to a new location or enters a new context, Dynamic Wardrobe picks the best outfit using a strict order. Higher priority always wins.

## Quest Outfits

When the game forces V into a quest outfit (e.g. the diving suit), Dynamic Wardrobe steps back completely — no swaps of any kind until the quest outfit is removed.

## Pinned Outfits

A `!`-prefixed outfit blocks everything — no location, region, combat, or danger zone swaps. Only scenes that naturally change V's appearance (home entry, shower) can override it, and doing so consumes the pin. Ripper outfits temporarily override the pin but restore it when the session ends. See [Pinned Outfits](https://strahlimeier.gitbook.io/dynamic-wardrobe/advanced/pinned) for details.

## Home, Nude & Ripper

These activate based on game context, regardless of location. Home and nude consume the pin; ripper temporarily overrides it but restores the pinned outfit afterward.

| Context    | When It's Active                              |
| ---------- | --------------------------------------------- |
| **home**   | V is inside a supported apartment             |
| **nude**   | The game undresses V (shower, romance scenes) |
| **ripper** | V is sitting in a ripperdoc chair             |

## Vehicle Outfits

When V mounts a vehicle, vehicle outfits take priority. All location, combat, weather, and shuffle changes are paused while mounted. On dismount, the mod picks a fresh outfit for V's current location. If no full vehicle outfit matches, [accessories](https://strahlimeier.gitbook.io/dynamic-wardrobe/advanced/vehicles/accessories) are layered on top of V's current outfit instead. See [Vehicle Outfits](https://strahlimeier.gitbook.io/dynamic-wardrobe/advanced/vehicles) for details.

## Combat & Danger Zones

When V enters combat or a hostile area, combat outfits take priority over all location matching. Combat outfits can be location-aware too — see [Combat & Danger Zones](https://strahlimeier.gitbook.io/dynamic-wardrobe/advanced/combat) for details.

## Clubs & Venues

At supported clubs, the mod applies club-specific outfits using the same matching logic as outdoor locations — but scoped to `club`-prefixed outfits. See [Custom Places](https://strahlimeier.gitbook.io/dynamic-wardrobe/configuration/places) for the list of supported clubs.

1. **Club + location keyword** — `club afterlife` only at Afterlife
2. **Club + region keyword** — `club corpo` at clubs in corpo areas
3. **Plain `club`** — fallback for any club without a specific match
4. If no club outfits exist, falls through to normal location matching below

## Location Matching

When none of the above contexts apply, the mod picks an outfit based on where V is:

1. **Exact location** — an outfit named after a specific location wins (e.g. `afterlife`)
2. **Region keywords** — broad area matches like `corpo`, `street`, `wild`, `club`
3. **`outdoor`** — the fallback when nothing else matches

Within each tier, [weather and time keywords](https://strahlimeier.gitbook.io/dynamic-wardrobe/advanced/weather-time) (`rain`, `dry`, `day`, `night`) act as tiebreakers — an outfit with matching conditions wins over one without, but never jumps to a higher tier.

For details on how matching, separators, and keyword stacking work, see [Priority Details](https://strahlimeier.gitbook.io/dynamic-wardrobe/advanced/priority-advanced).

<details>

<summary>Visual Summary</summary>

```mermaid
flowchart TD
    A[V enters a new context] --> Q{Quest outfit active?}
    Q -- Yes --> R[All swaps disabled]
    Q -- No --> B{Pinned outfit?}
    B -- Yes --> C[Skip all swaps]
    B -- No --> V{In a vehicle?}
    V -- Yes --> W{Full vehicle outfit?}
    W -- Yes --> X[Vehicle outfit]
    W -- No --> Y[Layer accessories]
    V -- No --> D{Combat or hostile area?}
    D -- Yes --> E[Combat outfit]
    D -- No --> F{Inside an apartment?}
    F -- Yes --> G{Shower Deferral on?}
    G -- No --> H[Home outfit immediately]
    G -- Yes --> I[Defer until undressed]
    I --> H
    F -- No --> P{At a club/venue?}
    P -- Yes --> S[Club outfit]
    P -- No --> J{Exact location match?}
    J -- Yes --> K[Use it]
    J -- No --> L{Region keyword match?}
    L -- Yes --> M[Best match]
    L -- No --> N[Outdoor outfit]

    style O fill:none,stroke:#888,stroke-dasharray: 5 5
    O["Ripper outfits are temporary scene overrides. Weather/time keywords are tiebreakers within each tier."]
```

</details>
