forked from MottZilla/SotN-Randomizer
-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
1062 lines (1062 loc) · 45.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html>
<head>
<title>Castlevania: Symphony of the Night Randomizer</title>
<link rel="stylesheet"
href="https://unpkg.com/[email protected]/build/pure-min.css">
<link rel="stylesheet"
href="https://unpkg.com/[email protected]/build/grids-responsive-min.css">
<link rel="stylesheet"
href="https://d1azc1qln24ryf.cloudfront.net/114779/Socicon/style-cf.css?u8vidh">
<link rel="stylesheet" href="index.css">
</head>
<body>
<div id="version"></div>
<div id="content">
<h1>Castlevania: Symphony of the Night Randomizer</h1>
<div>
by Wild Mouse,
<a class="contact" href="https://twitter.com/3snow_p7im">
<img height="16" width="16"
src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitter.svg">
</a>
<a class="contact" href="https://twitch.tv/3snow_p7im">
<img height="16" width="16"
src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitch.svg"></a>
, eldri7ch
<a class="contact" href="https://twitter.com/eldri7ch">
<img height="16" width="16"
src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitter.svg">
</a>
<a class="contact" href="https://twitch.tv/eldri7ch">
<img height="16" width="16"
src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitch.svg"></a>
, MottZilla
<a class="contact" href="https://twitch.tv/MottZilla0">
<img height="16" width="16"
src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitch.svg"></a>
, and SacredLucy
<a class="contact" href="https://twitch.tv/sacredlucyy">
<img height="16" width="16"
src="https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitch.svg"></a>
</div>
<form id="form" class="pure-u-1">
<fieldset id="output" class="pure-u-1">
<legend>Output</legend>
<div class="pure-u-2-24">
<input id="output-bin"
name="output"
type="radio"
value="bin">
<label for="output-bin">.bin</label>
</div>
<div class="pure-u-2-24">
<input id="output-ppf"
name="output"
type="radio"
value="ppf">
<label for="output-ppf">.ppf</label>
</div>
<div id="target-container" class="pure-u-1">
<div>
<div id="target" class="hidden">
<div>
<span id="status"></span>
<input id="file" type="file" accept=".bin,.iso">
</div>
</div>
</div>
</div>
</fieldset>
<div class="pure-u-1">
<fieldset>
<legend>Randomizations</legend>
<div class="pure-g">
<div class="pure-u-12-24">
<label for="seed">Seed:</label>
</div>
<div class="pure-u-12-24">
<input id="seed" type="text" placeholder="Optional">
</div>
<div class="pure-u-12-24">
<input id="preset" type="checkbox">
<label for="preset">Preset</label>
</div>
<div id="preset-select" class="pure-u-12-24">
<select id="preset-id"></select>
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
<span id="preset-description"></span>
<span id="preset-author"></span>
</span>
</span>
</span>
</div>
<fieldset id="options">
<div class="pure-g">
<div class="pure-u-12-24">
<label for="complexity">Complexity</label>
</div>
<div class="pure-u-12-24">
<input id="complexity" type="number" min="1">
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Lower complexities generate faster but may be easier
to beat.
</span>
</span>
</span>
</div>
<div class="pure-u-12-24">
<fieldset id="relic-locations-set">
<legend>
<input id="relic-locations" type="checkbox">
<label for="relic-locations">Relic locations</label>
</legend>
<div>
<input id="extension-guarded"
name="extension"
type="radio"
value="guarded">
<label for="extension-guarded">
Guarded
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Relics and progression items may appear in
rooms guarded by bosses. 36 Check locations.
</span>
</span>
</span>
</label>
</div>
<div>
<input id="extension-spread"
name="extension"
type="radio"
value="spread">
<label for="extension-spread">
Spread<span style="color: red;">*</span>
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Add to guarded locations with more checks on
left side of second castle. 38 Check locations. <span style="color: red;">*May create incompletable seeds if generated from website.</span>
</span>
</span>
</span>
</label>
</div>
<div>
<input id="extension-equipment"
name="extension"
type="radio"
value="equipment">
<label for="extension-equipment">
Equipment<span style="color: red;">*</span>
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Relics and progression items may appear in
place of equipment tiles. 90 Check locations. <span style="color: red;">*May create incompletable seeds if generated from website.</span>
</span>
</span>
</span>
</label>
</div>
<div>
<input id="extension-tourist"
name="extension"
type="radio"
value="tourist">
<label for="extension-tourist">
Tourist<span style="color: red;">*</span>
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Relics and progression items may appear in
place of equipment tiles or in unique
locations in either castle. 103 Check locations. <span style="color: red;">*May create incompletable seeds if generated from website.</span>
</span>
</span>
</span>
</label>
</div>
<div>
<input id="extension-wanderer"
name="extension"
type="radio"
value="wanderer">
<label for="extension-wanderer">
Wanderer<span style="color: red;">*</span>
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Relics and progression items may appear in
place of <i>limited</i> equipment tiles or in unique
locations in either castle. 69 Check locations. <span style="color: red;">*May create incompletable seeds if generated from website.</span>
</span>
</span>
</span>
</label>
</div>
<div>
<input id="extension-classic"
name="extension"
type="radio"
value="classic">
<label for="extension-classic">
Classic
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Relics and progression items will only be
randomized among the game's original relic
and progression item locations.
</span>
</span>
</span>
</label>
</div>
</fieldset>
</div>
<input id="enemy-drops-arg"
type="text"
disabled="disabled"
style="display: none">
<input id="starting-equipment-arg"
type="text"
disabled="disabled"
style="display: none">
<input id="item-locations-arg"
type="text"
disabled="disabled"
style="display: none">
<input id="prologue-rewards-arg"
type="text"
disabled="disabled"
style="display: none">
<input id="relic-locations-arg"
type="text"
disabled="disabled"
style="display: none">
<input id="writes"
type="text"
disabled="disabled"
style="display: none">
</div>
</fieldset>
<div class="pure-u-1"> <input id="clear"
type="submit"
class="pure-button hidden"
value="Clear">
</div>
</div>
</fieldset>
<fieldset>
<legend>Options</legend>
<div class="pure-g">
<div class="pure-u-12-24">
<label for="theme">Theme</label>
</div>
<div class="pure-u-12-24">
<select id="theme" type="checkbox">
<option value="menu">Menu</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
</div>
<div class="pure-u-1"></div>
<div class="pure-u-1-2">
<input id="append-seed" type="checkbox">
<label for="append-seed">Append seed to filename
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Appends the seed to the filename of the randomized bin.
You will need to modify your cue file track listing to
reference the new filename.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="colorrando-mode" type="checkbox">
<label for="colorrando-mode">Color Rando mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Randomize various color palettes. Ex: Cape colors, gravity boots trails, hydrostorm.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="tournament-mode" type="checkbox">
<label for="tournament-mode">Tournament mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Prevents displaying the relic locations and solutions.
Sets the library shop relic cost to 0.
Permanently opens the clock room statue.
For use when racing.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="magicmax-mode" type="checkbox">
<label for="magicmax-mode">Magic Max mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Replace Heart Max Up with Magic Max Up.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="accessibility-patches" type="checkbox">
<label for="accessibility-patches">Apply accessibility patches
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Reduces screen flashing from use items, adjusts some relics for better visibility and patches some softlocks.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="antifreeze-mode" type="checkbox">
<label for="antifreeze-mode">Anti-Freeze mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Remove screen freezes on level-up, relic and vessel acquisition.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="show-spoilers" type="checkbox">
<label for="show-spoilers">Show spoilers</label>
</div>
<div class="pure-u-1-2">
<input id="mypurse-mode" type="checkbox">
<label for="mypurse-mode">That's my purse! mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Prevents Death from stealing your gear.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="show-relics" type="checkbox">
<label for="show-relics">Show relic locations</label>
</div>
<div class="pure-u-1-2">
<input id="iws-mode" type="checkbox">
<label for="iws-mode">Infinite Wing Smash mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Enables infinite Wing Smash for one input.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="show-solutions" type="checkbox">
<label for="show-solutions">Show solutions</label>
</div>
<div class="pure-u-1-2">
<input id="fastwarp-mode" type="checkbox">
<label for="fastwarp-mode">Fast Warp mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Quickens warp animation when using teleporters.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-12-24">
<input id="enemy-drops" type="checkbox">
<label for="enemy-drops">Enemy drops</label>
</div>
<div class="pure-u-1-2">
<input id="noprologue-mode" type="checkbox">
<label for="noprologue-mode">No Prologue mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Removes the Prologue from being required to play. <span style="color: red;">(Will remove potential prologue rewards.)</span>
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-12-24">
<input id="stats" type="checkbox">
<label for="stats">Item stats</label>
</div>
<div class="pure-u-1-2">
<input id="unlocked-mode" type="checkbox">
<label for="unlocked-mode">Unlocked mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Opens all five shortcuts in first castle and one in second castle. <span style="color: red;">(Will break logic for most presets.)</span>
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-12-24">
<input id="turkey-mode" type="checkbox">
<label for="turkey-mode">Turkey mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Replaces the subweapons in the glass vats at Alchemy Lab and Black Marble Gallery with useless turkeys.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-1-2">
<input id="surprise-mode" type="checkbox">
<label for="surprise-mode">Surprise mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
All relics are hidden behind the same sprite and palette. The player cannot tell what the relic is until they collect it.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-12-24">
<input id="music" type="checkbox">
<label for="music">Music</label>
</div>
<div class="pure-u-1-2">
<input id="enemyStatRando-mode" type="checkbox">
<label for="enemyStatRando-mode">Enemy Stat Randomizer mode
<span class="tooltip-wrapper">
<span class="tooltip-indicator">?</span>
<span class="tooltip hidden">
<span>
Enemy stats are randomized ranging from 25% to 200% of their original value and their attack and defense types are randomized to include random elements.
</span>
</span>
</span>
</label>
</div>
<div class="pure-u-12-24">
<input id="item-locations" type="checkbox">
<label for="item-locations">Item locations</label>
</div>
<div class="pure-u-1-2"></div>
<div class="pure-u-12-24">
<input id="starting-equipment" type="checkbox" disabled>
<label for="starting-equipment">Starting equipment</label>
</div>
<div class="pure-u-1-2"></div>
<div class="pure-u-12-24">
<input id="prologue-rewards" type="checkbox">
<label for="prologue-rewards">Prologue rewards</label>
</div>
</div>
</fieldset>
</div>
<div class="pure-u-9-24">
<div id="spoilers-container" class="hide" style="display: none">
<textarea id="spoilers" rows="8" cols="32"></textarea>
</div>
</div>
<p id="buttons" class="pure-u-1">
<input id="randomize"
type="submit"
class="primary"
disabled="disabled"
value="Randomize">
<input id="copy"
type="submit"
disabled="disabled"
value="Copy seed">
</p>
<a id="download" style="display:none"></a>
<div id="loader"></div>
</form>
<div id="notification"><span>Copied to clipboard<span></div>
<hr>
<h2><a name="version">Version 3.16.0</a></h2>
<hr>
<h2><a name="links">Links</a></h2>
<ul>
<li><a href="/faq">FAQ</a></li>
<li>
<a href="https://taliczealot.github.io/#/apps/sotnrandotools">Rando Tools</a>,
a collection of tools to enhance the randomizer experience.
</li>
<li><a href="https://ppf.sotn.io">PPF Patcher [Browser version]</a></li>
<li><a href="https://discord.gg/dzbKhQDjrs">The Long Library</a>,
a SotN discord server with a dedicated <code>#randomizer</code>
channel.</li>
<li><a href="https://www.symphonyrando.fun">SymphonyRando.Fun</a>,
SotN Randomizer Database, containing tutorials, glossaries, and breakdowns.</li>
<li><a href="https://github.com/LuciaRolon/SotNRandomizerLauncher/releases">SotNRandomizerLauncher</a>,
A PC-based launcher for the randomizer that helps you get started.</li>
<li><a href="https://github.com/MottZilla/BountyHunterTool/releases/">Bounty Hunter Tool</a>,
The key ingredient in the highly popular Bounty Hunter preset.</li>
</ul>
</ul>
<hr>
<h2><a name="changelog">Changelog</a></h2>
<h3><time>September 10, 2024</time></h3>
<ul>
<li>Added First Castle Preset.</li>
<li>Added Lucky Sevens Preset.</li>
<li>Added Surprise mode to hide relic's true identity until collected.</li>
<li>Added Enemy Stat Randomizer mode to randomize enemy stats like attack, defense, and HP.</li>
<li>Updated preset descriptions to do their job better.</li>
<li>Updated website animations in and out of Menu Mode.</li>
<li>Moved Starting Equipment, Enemy Drops, Item Location, Turkey Mode, Item Stats and Prologue Rewards to the Options section.</li>
<li>Choosing presets on site will now check boxes of options used in preset files.</li>
<li>Certain presets on site will disable incompatible options.</li>
<li>Formatting updates.</li>
<li>Fixed Glitch logic yet again.</li>
</ul>
<h3><time>August 12, 2024</time></h3>
<ul>
<li>Updated logic to be more intuitive in equipment and tourist extensions.</li>
<li>Added new option: Unlocked Mode to open shortcuts.</li>
<li>Restored dev mode for webpage when not on SOTN.io.</li>
<li>Removed map color preset compatibility to fix preset options offset. (CLI / Launcher only)</li>
<li>Restored pink map color to be able to be selected. (CLI / Launcher only)</li>
<li>Added two new "colors" for the map: Black and Invisible. (CLI / Launcher only)</li>
<li>Added track exclusion from the music rando. (CLI / Launcher only)</li>
<li>Removed error where Aperture map reveal allowed early reverse Library card.</li>
<li>Corrected Skinwalker logic to force early transformations.</li>
<li>Added Wing Smash trail color randomization provided by Bismurphy.</li>
<li>Removed zero-relic Faerie Card logic and replaced with more accessible options in Glitch.</li>
<li>Removed softlock with Maria Silver Ring cutscene in Glitch.</li>
<li>Fixed Glitch logic again.</li>
</ul>
<h3><time>July 19, 2024</time></h3>
<ul>
<li>Added new seed naming scheme.</li>
<li>Performance enhancement: Presets now load on demand instead of being loaded every randomization iteration.</li>
<li>Performance enhancement: Added debug mode foundation to Command Line.</li>
</ul>
<h3><time>July 16, 2024</time></h3>
<ul>
<li>Added Brawler preset.</li>
<li>Added Infinite Wing Smash mode, Fast Warps mode, and No Prologue mode.</li>
<li>Adjusted options layout to ease confusion.</li>
<li>Added Wanderer and Tourist extensions as options to website.</li>
<li>Added check counts to extension descriptions.</li>
<li>Added generation time as an output when using spoilers in Command Line.</li>
<li>Added $5000 chest to items list. (May or may not appear)</li>
<li>Changed how Maria First Meeting room spawns removing the need to change how time attack reads for it.</li>
</ul>
<h3><time>July 10, 2024</time></h3>
<ul>
<li>Updated Glitch to remove guaranteed Duplicator, made preset-associated items infinite, made Heart Refresh animation faster.</li>
</ul>
<h3><time>June 11, 2024</time></h3>
<ul>
<li>Added Bounty Hunter, Hitman, Chaos Lite, and Bounty Hunter - Target Confirmed. All of these need to be applied to the BIN and then use <a href="https://github.com/MottZilla/BountyHunterTool/releases/">MottZilla's Bounty Hunter Tool</a> to patch the enemy drops.</li>
</ul>
<h3><time>June 10, 2024</time></h3>
<ul>
<li>Added Agonize 2020 preset. Simulates the Agonize preset just prior to 3/27/2020.</li>
<li>Added Season 2 Safe preset. Simulates the Safe logic from Season 2.</li>
<li>Added Open preset. Simulates the the resulting preset if Safe with open shortcuts and teleporters was finalized with a few conveniences.</li>
<li>Replaced Glitch preset with optimized Glitch Remastered. Reduces load times for the preset and adds logic for more glitches/exploits. Glitch Legacy is still a JSON in files.</li>
</ul>
<h3><time>June 8, 2024</time></h3>
<ul>
<li>Added map color feature for CLI.</li>
<li>Added "That's my purse!" to stop Death from stealing items.</li>
</ul>
<h3><time>June 5, 2024</time></h3>
<ul>
<li>Added Doppleganger's capes, Gravity Boots trails, and Hydrostorm color rando.</li>
<li>Separated color rando from Turkey mode.</li>
<li>Patch for Clear Game status without having a Clear File on memory card.</li>
<li>New patch to add back Japan-only Sprite and Nosedevil Cards to menu.</li>
<li>Added Magic Max Up option to replace Heart Max Up.</li>
<li>Added Anti-Freeze option to remove freeze on pickup of relic or max up and on level up.</li>
<li>Added Tourist and Wanderer location extensions.</li>
<li>Added presets including Magic Mirror, Leg Day, Boss Rush, Big Toss, Aperture and more.</li>
<li>Patch Clock Room softlock.</li>
<li>Removed Estoc from pool of Thrust Swords in logic.</li>
<li>Backend ~ Improved data write system for non-userdata auto skip.</li>
<li>Backend ~ Added Random options (random1, random3, random10, random99, and randomrelic) for preset writes.</li>
<li>Backend ~ Removed space after Spectral Sword in enemies.js which was causing errors.</li>
<li>Backend ~ Added new item replacement list parameter & Fixed item aliasing issues.</li>
<li>And more!</li>
<li>The listed above were added between the last log and the date above.</li>
</ul>
<h3><time>April 2, 2023</time></h3>
<ul>
<li>Add Rat Race preset.</li>
</ul>
<h3><time>March 15, 2023</time></h3>
<ul>
<li>Update tournament mode to include free shop relic and open clock
room statue.</li>
<li>Update accessibility mode to patch soft locks at Olrox, Scylla, and
Minotaur & Werewolf.</li>
</ul>
<h3><time>October 5, 2022</time></h3>
<ul>
<li>Prevent Clock Tower puzzle softlock in Equipment extension.</li>
</ul>
<h3><time>July 20, 2022</time></h3>
<ul>
<li>Add Warlock preset.</li>
</ul>
<h3><time>July 9, 2022</time></h3>
<ul>
<li>Add Expedition preset.</li>
<li>Add Lycanthrope preset.</li>
</ul>
<h3><time>April 20, 2022</time></h3>
<ul>
<li>Add Nimble preset.</li>
</ul>
<h3><time>April 2, 2022</time></h3>
<ul>
<li>Add Third Castle preset.</li>
</ul>
<h3><time>February 24, 2022</time></h3>
<ul>
<li>Fix stat randomization for club weapons.</li>
</ul>
<h3><time>January 11, 2022</time></h3>
<ul>
<li>Add Guarded O.G. preset.</li>
</ul>
<a id="show-older" href="#older">Show older changes</a>
<div id="older" class="hidden">
<h3><time>December 26, 2021</time></h3>
<ul>
<li>Add Spread relic locations extension.</li>
<li>Add Bat Master preset.</li>
</ul>
<h3><time>May 17, 2021</time></h3>
<ul>
<li>Use Guarded relic locations for Casual preset.</li>
</ul>
<h3><time>April 27, 2021</time></h3>
<ul>
<li>Reject disc images that are not valid, vanilla backups.</li>
</ul>
<h3><time>April 2, 2021</time></h3>
<ul>
<li>Add Gem Farmer preset.</li>
</ul>
<h3><time>March 12, 2021</time></h3>
<ul>
<li>Add O.G. preset.</li>
</ul>
<h3><time>February 27, 2021</time></h3>
<ul>
<li>Add item stats randomization.</li>
</ul>
<h3><time>February 15, 2021</time></h3>
<ul>
<li>Add PPF output option.</li>
</ul>
<h3><time>February 7, 2021</time></h3>
<ul>
<li>Add Trio as a possible relic location in Guarded and Equipment
extensions.</li>
</ul>
<h3><time>January 18, 2021</time></h3>
<ul>
<li>Add Thrust Sword logic to Speedrun preset.</li>
<li>Increase minimum complexities for Safe and enture
presets.</li>
</ul>
<h3><time>September 19, 2020</time></h3>
<ul>
<li>Add Tournament Mode.</li>
</ul>
<h3><time>August 11, 2020</time></h3>
<ul>
<li>Add Scavenger preset.</li>
</ul>
<h3><time>August 7, 2020</time></h3>
<ul>
<li>Make Leap Stone a 0-relic check in Speedrun preset.</li>
</ul>
<h3><time>July 27, 2020</time></h3>
<ul>
<li>Add music randomizer.</li>
</ul>
<h3><time>July 10, 2020</time></h3>
<ul>
<li>Fix escape requirements not being honored when a location is
empty.</li>
</ul>
<h3><time>June 22, 2020</time></h3>
<ul>
<li>Add Jewel of Open + Soul of Wolf + Leap Stone as Gold Ring
location lock for Speedrun preset.</li>
</ul>
<h3><time>June 3, 2020</time></h3>
<ul>
<li>Fix duped progression item in Cave.</li>
</ul>
<h3><time>Map 26, 2020</time></h3>
<ul>
<li>Add Forbidden Library Opal location to enture preset.</li>
</ul>
<h3><time>April 30, 2020</time></h3>
<ul>
<li>Add Pixie singing "Nocturne" when sitting in a chair.</li>
</ul>
<h3><time>April 25, 2020</time></h3>
<ul>
<li>Increase worker performance.</li>
<li>Add <a href="/faq">FAQ</a>.</li>
</ul>
<h3><time>April 21, 2020</time></h3>
<ul>
<li>Add Jewel of Open + Soul of Wolf + Skill of Wolf to Gold Ring
location locks in Speedrun preset.</li>
<li>Fix missing cape color layer.</li>
</ul>
<h3><time>April 17, 2020</time></h3>
<ul>
<li>Add solutions to spoiler log.</li>
<li>Increase minimum complexities.</li>
</ul>
<h3><time>April 12, 2020</time></h3>
<ul>
<li>Prevent generation of seeds that softlock at Holy Glasses.</li>
<li>Show preset ID at file select menu.</li>
<li>Increase minimum complexities.</li>
</ul>
<h3><time>April 10, 2020</time></h3>
<ul>
<li>Add "Menu" theme.</li>
</ul>
<h3><time>April 8, 2020</time></h3>
<ul>
<li>Add multithreaded seed generation strategy.</li>
</ul>
<h3><time>April 5, 2020</time></h3>
<ul>
<li>Add Sprite and Nosedevil familiars in Guarded and Equipment
extensions.</li>
</ul>
<h3><time>April 3, 2020</time></h3>
<ul>
<li>Add Speedrun preset.</li>
<li>Randomize all cape colors.</li>
<li>Fix erasing Ring of Vlad location.</li>
</ul>
<h3><time>April 2, 2020</time></h3>
<ul>
<li>Add enture preset.</li>
<li>Add Empty hand preset.</li>
<li>Add night mode.</li>
</ul>
<h3><time>March 31, 2020</time></h3>
<ul>
<li>Fix exception when replacing Holy Glasses with relic.</li>
</ul>
<h3><time>March 30, 2020</time></h3>
<ul>
<li>Fix gold ring duping.</li>
</ul>
<h3><time>March 29, 2020</time></h3>
<ul>
<li>Fix progression item duping at relic bosses.</li>
<li>Fix missing progression item at Scylla.</li>
</ul>
<h3><time>March 28, 2020</time></h3>
<ul>
<li>Fix information leak of progression item randomization.</li>
<li>Fix progression item randomization in Outer Wall.</li>
</ul>
<h3><time>March 27, 2020</time></h3>
<ul>
<li>Add progression item randomization.</li>
<li>Fix icons of equipment stolen by Death.</li>
</ul>
<h3><time>March 17, 2020</time></h3>
<ul>
<li>Fix disappearing items.</li>
</ul>
<h3><time>March 15, 2020</time></h3>
<ul>
<li>Fix duping item that replaces Cube of Zoe.</li>
</ul>
<h3><time>March 13, 2020</time></h3>
<ul>
<li>Fix relic placement in miscellaneous presets.</li>
<li>Fix missing replacement item at Soul of Bat.</li>
<li>Add extra agony to agonize preset.</li>
</ul>
<h3><time>March 12, 2020</time></h3>
<ul>
<li>Add relic locations extension with new Guarded option.</li>
<li>Fix softlock in Lesser Demon fight.</li>
</ul>
<h3><time>March 4, 2020</time></h3>
<ul>
<li>Add Joseph's Cloak color randomization to Turkey Mode.</li>
</ul>
<h3><time>February 27, 2020</time></h3>
<ul>
<li>Fix relic duping when performing glitches.</li>
</ul>
<h3><time>February 5, 2020</time></h3>
<ul>
<li>Update links section.</li>
</ul>
<h3><time>October 26, 2019</time></h3>
<ul>
<li>"The Manly Update": Add Jewel + Power + Wolf to locks on Demon
Card location.</li>
<li>Add extra agony to agonize preset.</li>
</ul>
<h3><time>October 1, 2019</time></h3>
<ul>
<li>Fix some candles not being randomized.</li>
<li>Add extra agony to agonize preset.</li>
</ul>
<h3><time>August 15, 2019</time></h3>
<ul>
<li>Fix crash related to transfering data to web worker.</li>
</ul>
<h3><time>August 11, 2019</time></h3>
<ul>
<li>Fix uncurse being placed in random candles.</li>
<li>Add support for custom enemy drops from enemies that have no
vanilla drops.</li>
</ul>
<h3><time>May 23, 2019</time></h3>
<ul>
<li>Add support for custom enemy drops, starting equipment, item
locations, and prologue rewards.</li>
<li>Deprecate relic logic selector in favor of
<a href="https://github.com/eldri7ch2/SotN-Randomizer#presets">presets</a>.</li>
</ul>
<h3><time>May 11, 2019</time></h3>
<ul>
<li>Add selector for built-in relic logic schemes.</li>
</ul>
<h3><time>May 8, 2019</time></h3>
<ul>
<li>Add support for custom relic logic.</li>
</ul>
<h3><time>May 3, 2019</time></h3>
<ul>
<li>Add file input as alternative to drag API.</li>
</ul>
<h3><time>April 30, 2019</time></h3>
<ul>
<li>Use web worker.</li>
</ul>
<h3><time>April 28, 2019</time></h3>
<ul>
<li>Add drop randomization.</li>
</ul>
<h3><time>April 23, 2019</time></h3>
<ul>
<li>Add checksum verification.</li>
</ul>
<h3><time>April 22, 2019</time></h3>
<ul>
<li>Add turkey mode.</li>
</ul>
<h3><time>April 20, 2019</time></h3>
<ul>
<li>Add candle randomization.</li>
<li>Add prologue reward item randomization.</li>
<li>Add Axe Lord and Luck Mode starting equipment
randomization.</li>
<li>Add copy seed button.</li>
</ul>
<h3><time>April 15, 2019</time></h3>
<ul>
<li>Display seed at file select menu.</li>
<li>Distribute jewel types with same frequency as vanilla.</li>
</ul>
<h3><time>April 14, 2019</time></h3>
<ul>
<li>Add option to show relic locations in spoilers.</li>
</ul>
<h3><time>April 13, 2019</time></h3>
<ul>
<li>Fix Maria cutscene skip in Richter mode.</li>
</ul>
<h3><time>April 11, 2019</time></h3>
<ul>
<li>Remove Maria cutscene in Marble Gallery to avoid confusion.</li>
<li>Add spoilers option.</li>
</ul>
<h3><time>April 8, 2019</time></h3>
<ul>
<li>Fix bug that allowed salable gems to be sold in shop menu.</li>
<li>Items are now placed by type with same frequency as
vanilla.</li>
</ul>
<h3><time>April 7, 2019</time></h3>
<ul>
<li>Add item location randomization.</li>
</ul>
<h3><time>April 5, 2019</time></h3>
<ul>
<li>Add <a href="relics">relic distribution</a>
(thx Soba)</li>
<li>Fix relic duping in Medusa room.</li>
<li>Fix shop relic name not being updated in shop menu.</li>
<li>Produce more uniform relic distribution (thx Soba).</li>
</ul>
<h3><time>April 4, 2019</time></h3>
<ul>
<li>Remove Maria cutscene in Alchemy Lab to avoid softlock.</li>
<li>Fix 2nd castle relic locations (thx Soba).</li>
<li>Fix randomized equipment by same type.</li>
</ul>
<h3><time>April 3, 2019</time></h3>
<ul>
<li>Fix random seed not being reproducible.</li>
<li>Fix crash after Scylla fight.</li>
<li>Fix faerie scroll duping.</li>
<li>Fix same seed causes different randomizations.</li>
</ul>
<h3><time>April 2, 2019</time></h3>
<ul>
<li>Fix equipment randomization.</li>
<li>
Fix bug that allowed bat relic to be placed in 2nd castle without
ability to get spike breaker armor.
</li>
<li>Download file name contains seed value.</li>
</ul>
<h3><time>April 1, 2019</time></h3>
<ul>
<li>Fix shop relic glitch.</li>
<li>Fix relic duping in clock tower and outer wall.</li>
</ul>
<h3><time>March 31, 2019</time></h3>
<ul>
<li>Add equipment location randomization.</li>
</ul>
<h3><time>March 28, 2019</time></h3>
<ul>
<li>Add starting equipment randomization.</li>
</ul>
<h3><time>March 27, 2019</time></h3>
<ul>
<li>Ported setz's
<a href="https://github.com/josephstevenspgh/SotN-Relic-Randomizer">relic randomizer</a>
to javascript.</li>
</ul>
</div>