--- type: User Story title: "US-008: Unlock Base IV visitor access" description: Let players spend diamonds to permit controlled, cooldown-limited visitor teleports to their base. status: done --- # US-008: Unlock Base IV visitor access As a **player with Base III**, I want to open my base to visitors so that other players can conveniently join me there under my control. ## Acceptance criteria - [x] Base IV requires Base III and an established base. - [x] `/basesettings upgrade` offers the Base IV purchase for a configurable price that defaults to 128 diamonds, replacing `/base upgrade` and `/home upgrade`. - [x] A successful purchase removes the complete price atomically from the player's direct inventory. - [x] Insufficient funds, an invalid state, or a failed persistence operation does not consume any diamonds or grant Base IV. - [x] `/basesettings visitors allowed` permits visitor access idempotently for a Base IV owner, and `/basesettings visitors blocked` blocks it idempotently. - [x] Invalid visitor arguments show command usage, and `allowed` and `blocked` are offered through autocomplete. - [x] The visitor-access preference persists across reconnects and restarts. - [x] `/gotobase ` autocompletes bases that the requesting player is currently eligible to visit. - [x] `/visit ` aliases `/gotobase ` with identical autocomplete, including eligible bases whose owners are offline. - [x] Enabled bases remain visitable while their owners are offline. - [x] A visitor teleport uses the destination owner's current warm-up tier, but always requires at least a one-second stationary warm-up; `/visit` and `/gotobase` never teleport instantly. - [x] Looking around is permitted, while movement between block coordinates, damage, teleportation, world change, death, logout, or a conflicting teleport cancels the visitor warm-up. - [x] Cancellation or destination failure does not consume a visitor cooldown. - [x] A safe destination is resolved at or near the owner's recorded base center. - [x] Each visitor has an independent cooldown for each destination owner. - [x] On successful teleport, the visitor cooldown duration is captured from the destination owner's current cooldown tier. - [x] A later owner cooldown upgrade applies to future visits without rewriting a cooldown already in progress. - [x] Visiting another base does not consume or modify the owner's personal `/base` cooldown or the visitor's personal `/base` cooldown. - [x] Disabling visits prevents new requests but does not interrupt a teleport that has already completed. ## Related - [US-005: Unlock Base III teleportation](us-005-unlock-base-teleportation.md) - [US-006: Reduce the base teleport warm-up](us-006-reduce-teleport-warmup.md) - [US-007: Reduce the base teleport cooldown](us-007-reduce-teleport-cooldown.md)