This is a lot more lightweight
Reviewed-on: OpenWF/SpaceNinjaServer#2253
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
for Jade Shadows' spy mission with 4 vaults. will simply do ABCC in this case.
Closes#2250
Reviewed-on: OpenWF/SpaceNinjaServer#2251
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
It definitely has some benefits:
- It starts up insanely quickly compared to Node.
- It can run typescript directly, allow the build step to be reduced to verify/noEmit.
It does not implement NodeJS APIs perfectly, so I've had to add some special handling for Bun, but I think that's okay.
Reviewed-on: OpenWF/SpaceNinjaServer#2254
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
I'm not the biggest fan of this, but it's a semi-regular problem and this should help affected users quickly discover it.
Reviewed-on: OpenWF/SpaceNinjaServer#2243
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This way, mission completion rewards are given. This is especially import for junction rewards like quest keys (Closes#2229).
Reviewed-on: OpenWF/SpaceNinjaServer#2241
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
A bit of a rough initial implementation, but already works pretty well.
Closes#2224
Reviewed-on: OpenWF/SpaceNinjaServer#2239
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
Fixed abandoned build processes sometimes still triggering a start (causing double-starts) made it more robust in regards to webui changes being intermixed: making the fetch a fire-and-forget to avoid errors, and waiting for the websocket connection to be re-established to avoid the browser attempting to reload when the server may not be up for a few seconds.
Reviewed-on: OpenWF/SpaceNinjaServer#2234
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
Now when logging in and out of the game, the webui is notified so it can refresh the nonce, removing the need for constant login requests to revalidate it.
Closes#2223
Reviewed-on: OpenWF/SpaceNinjaServer#2226
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
I went through a few of the still-hardcoded vendors and they seemed to "just work" with autogeneration so I think it's time to say: Closes#1225 and disable the `noVendorPurchaseLimits` cheat by default.
Reviewed-on: OpenWF/SpaceNinjaServer#2225
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
For now just handles changes to config.json but in the future might keep the inventory tabs up-to-date with in-game actions.
Reviewed-on: OpenWF/SpaceNinjaServer#2221
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
Related to #388
this should fix incorect rewards for deimos filed bounties
Reviewed-on: OpenWF/SpaceNinjaServer#2207
Reviewed-by: Sainan <sainan@calamity.inc>
Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
So the kuva offer is refreshed every week.
Reviewed-on: OpenWF/SpaceNinjaServer#2208
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
It seems that now we're on version 7, so let's just not hard-code it.
Reviewed-on: OpenWF/SpaceNinjaServer#2190
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
No more "preprocessing" needed now. Some good progress for #1225, I'd say.
Reviewed-on: OpenWF/SpaceNinjaServer#2187
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This has a bug where the client shows a negative time for "Xtra cheese starts in ..." until it refreshes the world state. This is because we're only providing the new activation as soon as that time/date is reached. However, this is 100% faithful to live.
Reviewed-on: OpenWF/SpaceNinjaServer#2191
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
Any given focus school can be undefined in this object due to importing.
Reviewed-on: OpenWF/SpaceNinjaServer#2182
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
Having this item in the inventory unlocks the helminth option which is helpfully called "remove cyst" to install and uninstall it on a frame.
Reviewed-on: OpenWF/SpaceNinjaServer#2177
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
For example, debt-bonds at ticker always expire in at least 2 hours so visiting him, you'd never see an offer with an expiry less than that. The solution here is simply generating offers for the last few hours.
Reviewed-on: OpenWF/SpaceNinjaServer#2168
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>