08d4a03c50
fix: use the correct magic number for crew member seeds ( #2451 )
...
Closes #2444
Reviewed-on: OpenWF/SpaceNinjaServer#2451
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 20:52:24 -07:00
45feff682b
feat: give on call crew gear item for command rank 9 ( #2450 )
...
Closes #2445
Reviewed-on: OpenWF/SpaceNinjaServer#2450
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 20:52:14 -07:00
dcb26471c9
feat: handle all slot types in inventorySlots.php ( #2443 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2443
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 20:51:35 -07:00
5a75d88385
feat: give skiajati and umbra mods alongside umbra, with max rank and potatoes ( #2442 )
...
Not 100% sure if the response format is correct and if this is even the correct time/place to do it, but impossible to say without a log from live.
Closes #1054
Reviewed-on: OpenWF/SpaceNinjaServer#2442
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 20:51:18 -07:00
98ed2b5ee4
chore: use ideal time when going backwards to satisfy constraints ( #2438 )
...
"Before next expected world state refresh" is now used as a bare minimum constraint. If it cannot be met, we align to the ideal second. Compromising when multiple constraints are in use to avoid having to go back like 7 years, as this would break navigation.
Closes #2434
Reviewed-on: OpenWF/SpaceNinjaServer#2438
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 20:50:10 -07:00
7aa1b12306
fix: show multiplied relic reward amount on eom screen ( #2437 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2437
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 20:49:46 -07:00
1dffcf979f
feat: send tennokai email after WitW quest completion ( #2433 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2433
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 00:29:16 -07:00
2c499cec3d
fix: set proper dominant traits for helminth charger ( #2429 )
...
Closes #2417
Reviewed-on: OpenWF/SpaceNinjaServer#2429
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 00:28:56 -07:00
d6145561fd
chore: improve randomness of void storm missions ( #2428 )
...
Instead of alternating the mission pool every hour, we now use sequentiallyUniqueRandomElement which should ensure that we don't duplicate any of the last x missions (x = 3 for Lith & Axi and x = 1 Meso & Neo).
Reviewed-on: OpenWF/SpaceNinjaServer#2428
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-08 00:28:49 -07:00
1545cdb8ce
fix(webui): handle config having no worldState entry at all ( #2427 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2427
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-06 20:14:05 -07:00
80b5e2df7f
feat: random recessive traits for beasts ( #2426 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2426
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-06 20:13:59 -07:00
76e61129bf
fix: skip birthdays of characters we can't talk to ( #2425 )
...
Closes #2424
Reviewed-on: OpenWF/SpaceNinjaServer#2425
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-06 20:13:50 -07:00
ea3e299861
fix: ensure nightwave weekly challenges are unique ( #2423 )
...
Re #2411
Reviewed-on: OpenWF/SpaceNinjaServer#2423
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-06 20:13:42 -07:00
3d8c1d036a
fix: ensure nightwave daily challenges are unique ( #2422 )
...
When generating a daily challenge, we now use sequentiallyUniqueRandomElement with a lookbehind of 2 to ensure the 2 previous (and still active) daily challenges are not duplicated.
Re #2411
Reviewed-on: OpenWF/SpaceNinjaServer#2422
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-06 20:13:32 -07:00
a40ff27fea
fix: add InitialStartDate to PrimeVaultTrader ( #2419 )
...
Closes #2414
Reviewed-on: OpenWF/SpaceNinjaServer#2419
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-05 20:18:01 -07:00
b54fd96098
chore: fix cyclic includes due to saveConfig used in controllers ( #2409 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2409
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-05 06:23:10 -07:00
c7c7fd4ea0
chore: enforce consistent imports ( #2408 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2408
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-04 17:40:06 -07:00
a75e6d6b95
chore: add warning coverage for cyclic includes ( #2407 )
...
and some initial refactoring to avoid it where possible
Reviewed-on: OpenWF/SpaceNinjaServer#2407
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-04 16:49:25 -07:00
5089f67146
chore: improve ship customization stuff ( #2402 )
...
The only functionally relevant change is that orbiter scenes are now saved via SkinFlavourItem (as of U39?).
The rest is cleanup of the types because the ship customization stuff was duplicated all over the place.
Reviewed-on: OpenWF/SpaceNinjaServer#2402
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-04 15:19:15 -07:00
0416221d15
feat: reset custom obstable course leaderboard ( #2401 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2401
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-04 15:19:03 -07:00
26729ce21a
feat: railjack skins ( #2400 )
...
Technically worked before but some weird behaviour. Also updating saveLoadout again. I think warn is a more appropriate severity. It's certainly not a progession stopper if some category is unimplemented.
Closes #2397
Reviewed-on: OpenWF/SpaceNinjaServer#2400
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-04 15:18:53 -07:00
ee4adc7d55
feat: Varzia (Prime Resurgence) rotation ( #2390 )
...
Also closes #1059
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Reviewed-on: OpenWF/SpaceNinjaServer#2390
Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
2025-07-04 15:18:41 -07:00
e09e5ebec2
fix: infinite loop when attempting to generate loid commisions ( #2399 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2399
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-04 03:26:41 -07:00
b2de8608c6
chore: fix duplicate import
2025-07-04 11:46:49 +02:00
2b23db1433
chore: remove usage of markModified ( #2403 )
...
Only this one remained, but not needed because it's schema'd.
Reviewed-on: OpenWF/SpaceNinjaServer#2403
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-03 22:45:07 -07:00
41686aea88
fix: properly cap negative syndicate standing ( #2393 )
...
Closes #2388
Reviewed-on: OpenWF/SpaceNinjaServer#2393
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-03 11:08:57 -07:00
8c85cdcd1d
feat(webui): "add maxed" for mods ( #2387 )
...
Closes #2382
Reviewed-on: OpenWF/SpaceNinjaServer#2387
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-02 14:18:24 -07:00
aa6191f033
feat: relic rng cheats ( #2386 )
...
Closes #2370
Reviewed-on: OpenWF/SpaceNinjaServer#2386
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-02 14:17:14 -07:00
499ca23ffb
chore(webui): update inventory when equipment was forma'd ( #2383 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2383
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-02 14:14:13 -07:00
363028c9ce
chore: clarify log output related to saveLoadout ( #2379 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2379
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-01 07:48:03 -07:00
1d60745f18
feat: year rollover kiss emails ( #2376 )
...
Closes #2375
Reviewed-on: OpenWF/SpaceNinjaServer#2376
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-01 07:45:41 -07:00
a9b3b16d31
feat: dojo visitors ( #2374 )
...
Closes #2373
Reviewed-on: OpenWF/SpaceNinjaServer#2374
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-01 07:45:12 -07:00
75832afdbe
feat: relicRewardItemCountMultiplier cheat ( #2369 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2369
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-01 07:44:13 -07:00
aa916d2820
feat: sell genetic imprints ( #2368 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2368
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-07-01 07:44:05 -07:00
5a5f6106a3
chore: save inventory and account in parallel when claiming login reward ( #2371 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2371
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-30 17:55:06 -07:00
24d9dc27e2
chore(webui): update inventory when login reward was claimed ( #2367 )
...
Closes #2360
Reviewed-on: OpenWF/SpaceNinjaServer#2367
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-30 13:30:09 -07:00
5e05a15743
fix: update calendar progress at daily reset ( #2365 )
...
Closes #2364
Reviewed-on: OpenWF/SpaceNinjaServer#2365
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-30 13:28:27 -07:00
545b949202
feat: sell crew members ( #2366 )
...
Closes #2363
Reviewed-on: OpenWF/SpaceNinjaServer#2366
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-30 12:58:24 -07:00
0c9b27a29b
chore: optimise creditsController ( #2359 )
...
Doing both lookups in parallel saves around 1 ms in the happy case (20% of baseline time), and in case nonce does not match, the error is simply raised as per usual with the inventory request being lightweight enough to be negligible.
Noteworthy that this reasoning doesn't really work for other controllers because in the error case, the inventory request would still be quite significant, even if the HTTP request itself would still finish quickly.
Reviewed-on: OpenWF/SpaceNinjaServer#2359
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-30 11:05:49 -07:00
cfa750b6f7
fix: handle crafting of archwing summon for versions prior to U39 ( #2358 )
...
Closes #2356
Reviewed-on: OpenWF/SpaceNinjaServer#2358
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-30 11:05:16 -07:00
1a2d8ab19a
chore: continue execution if subsequent JSON.parse on config failed ( #2353 )
...
By calling JSON.parse before setting everything to undefined, we don't lose the old config in case of an error.
Reviewed-on: OpenWF/SpaceNinjaServer#2353
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-29 11:54:20 -07:00
d1c860c693
feat(webui): Valence Bonus ( #2348 )
...
Closes #1181
Reviewed-on: OpenWF/SpaceNinjaServer#2348
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>
2025-06-29 09:28:28 -07:00
69f9d5ebc5
fix: handle setPlacedDecoInfo for non-ship boot locations ( #2349 )
...
Closes #2347
Reviewed-on: OpenWF/SpaceNinjaServer#2349
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-29 09:08:44 -07:00
00cea6788e
fix: sync config with db only after connection is established ( #2346 )
...
The error message had regressed in the case where connection could not be established.
Reviewed-on: OpenWF/SpaceNinjaServer#2346
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-28 15:08:36 -07:00
c4c622d82b
feat: baro's void surplus ( #2334 )
...
Closes #2284
Reviewed-on: OpenWF/SpaceNinjaServer#2334
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-28 09:50:40 -07:00
44a129ab0b
feat: create genetic imprint ( #2337 )
...
Re #2212
Reviewed-on: OpenWF/SpaceNinjaServer#2337
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-28 09:48:12 -07:00
5a7caa5ba9
feat: disableDailyTribute config ( #2338 )
...
Reviewed-on: OpenWF/SpaceNinjaServer#2338
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-28 09:47:39 -07:00
a9c5e30994
chore: deal with visiting navigation not resyncing inventory ( #2340 )
...
Closes #2339
Reviewed-on: OpenWF/SpaceNinjaServer#2340
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-28 09:46:45 -07:00
ef3d3b92c7
feat: darvo deal ( #2261 )
...
Closes #2260
Reviewed-on: OpenWF/SpaceNinjaServer#2261
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-28 09:39:41 -07:00
a9359bd989
feat(webui): the circuit override ( #2335 )
...
Re #2312
Reviewed-on: OpenWF/SpaceNinjaServer#2335
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-06-27 20:28:44 -07:00