acdream/tools/ace-mods/SetTime/README.md

33 lines
1.4 KiB
Markdown

# SetTime — ACE mod for side-by-side sky/weather comparisons
`@settime <hour|fraction> [Sunny|Rainy|Clear|Cloudy|<dayGroupIndex>]`
Jumps the server's Dereth clock **forward** (never back) so retail and
acdream — both driven by ACE's TimeSync — show the same hour and the same
authored day group:
- `@settime 3` → the next 3 o'clock (day fraction 0.125);
- `@settime 0.125 Rainy` → 3 o'clock on the next day whose roll is a Rainy group;
- `@settime 12 16` → noon on the next day that rolls day group 16.
Dev servers only: a forward jump fires every pending `DelayAction` early.
The command needs `AccessLevel.Admin`.
## Build and install
```powershell
dotnet build tools/ace-mods/SetTime -c Release
New-Item -ItemType Directory -Force C:\ACE\Mods\SetTime | Out-Null
Copy-Item tools/ace-mods/SetTime/bin/Release/net10.0/SetTime.dll, tools/ace-mods/SetTime/Meta.json C:\ACE\Mods\SetTime\
```
Then either restart ACE or, from an Admin character, run `@mod find` — ACE
rescans `ModsDirectory` and loads the new mod without a restart (`@mod list`
shows its status).
`AceServerDir` (default `C:\ACE\Server`) can be overridden with
`-p:AceServerDir=...` if the server lives elsewhere.
The calendar and day-group roll are the same retail ports acdream uses
(`DerethDateTime`, `SkyDayGroupSelector`; retail
`SkyDesc::CalcPresentDayGroup @0x00500E10`), so the group the command
predicts is the group both clients will render.