lextpf / lextpf/rift

[Feature] Add weather.set <name> console command (naming consistency with weather.* family)

Open
#9 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
Dominant language
C++
Stars
1
Forks
2
PR merge metrics
No merged PRs in 30d

Description

### Problem statement

The weather command family is `weather.intensity`, `weather.next`, `weather.random` - but the direct
setter for weather state is registered as `time.weather` (`ConsoleCommands.cpp:3565`). This breaks the
user's mental model: weather setters live under `weather.*` everywhere except the most important
one. Users hunting for "how do I set the weather" reasonably type `weather.set Clear` and get
"unknown command". The mismatch is also visible in tab completion: typing weather. does not
surface the setter.

## Suggested implementation
Add a parallel registration block right after the `weather.random` registration at `~line 3607`:
```cpp
m_Registry.Register(
"weather.set",
" - set weather state (alias of time.weather)",
[makeContext](auto args, Console&)
{
CommandContext ctx = makeContext();
(void)Cmd_TimeWeather(args, ctx); // intentional: shared handler
},
{"weather"},
[](std::size_t argIndex) -> std::vector
{
// Copy the tab-completion body from time.weather's registration,
// OR factor both into a single named lambda above the registration block.
});
```

### Proposed solution

Add weather.set as a thin alias to `Cmd_TimeWeather`. Both commands continue to work (no
breaking change). Tab completion for the new alias should provide the same state-name suggestions
that `time.weather` already provides. The existing tab-completion lambda at
`ConsoleCommands.cpp:3574-3583` can be reused.

### Alternatives considered

Not applicable - this approach is simple

### Scope

Not applicable - the scope is clear

### Pre-submission checklist

- [x] I searched existing issues and this proposal is not a duplicate.
- [x] This is a user-facing capability or improvement and not a purely internal task.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.