Parse settings from request for generation
This commit is contained in:
@@ -1,27 +1,44 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace ALttPRandomizer.Model {
|
||||
using ALttPRandomizer.Settings;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace ALttPRandomizer.Model {
|
||||
public class SeedSettings {
|
||||
public const string Omit = "<null>";
|
||||
|
||||
public Mode Mode { get; set; } = Mode.Open;
|
||||
|
||||
public Weapons Weapons { get; set; } = Weapons.Randomized;
|
||||
public Weapons Weapons { get; set; } = Weapons.Random;
|
||||
|
||||
public Goal Goal { get; set; } = Goal.Ganon;
|
||||
|
||||
public EntranceShuffle EntranceShuffle { get; set; } = EntranceShuffle.None;
|
||||
public EntranceShuffle EntranceShuffle { get; set; } = EntranceShuffle.Vanilla;
|
||||
public SkullWoodsShuffle SkullWoods { get; set; } = SkullWoodsShuffle.Original;
|
||||
public LinkedDrops LinkedDrops { get; set; } = LinkedDrops.Unset;
|
||||
|
||||
public BossShuffle BossShuffle { get; set; } = BossShuffle.None;
|
||||
public BossShuffle BossShuffle { get; set; } = BossShuffle.Vanilla;
|
||||
|
||||
public EnemyShuffle EnemyShuffle { get; set; } = EnemyShuffle.Vanilla;
|
||||
|
||||
[CommonValue("keyshuffle")]
|
||||
public DungeonItemLocations SmallKeys { get; set; } = DungeonItemLocations.Dungeon;
|
||||
|
||||
[CommonValue("bigkeyshuffle")]
|
||||
[DeniedValues(DungeonItemLocations.Universal)]
|
||||
public DungeonItemLocations BigKeys { get; set; } = DungeonItemLocations.Dungeon;
|
||||
|
||||
[CommonValue("mapshuffle")]
|
||||
[DeniedValues(DungeonItemLocations.Universal)]
|
||||
public DungeonItemLocations Maps { get; set; } = DungeonItemLocations.Dungeon;
|
||||
|
||||
[CommonValue("compassshuffle")]
|
||||
[DeniedValues(DungeonItemLocations.Universal)]
|
||||
public DungeonItemLocations Compasses { get; set; } = DungeonItemLocations.Dungeon;
|
||||
|
||||
public ShopShuffle ShopShuffle { get; set; } = ShopShuffle.Vanilla;
|
||||
public DropShuffle DropShuffle { get; set; } = DropShuffle.Vanilla;
|
||||
public Pottery Pottery { get; set; } = Pottery.Vanilla;
|
||||
|
||||
public PrizeShuffle PrizeShuffle { get; set; } = PrizeShuffle.Vanilla;
|
||||
}
|
||||
|
||||
public enum Mode {
|
||||
@@ -30,8 +47,9 @@ namespace ALttPRandomizer.Model {
|
||||
Inverted,
|
||||
}
|
||||
|
||||
[CommonValue("swords")]
|
||||
public enum Weapons {
|
||||
Randomized,
|
||||
Random,
|
||||
Assured,
|
||||
Vanilla,
|
||||
Swordless,
|
||||
@@ -39,33 +57,90 @@ namespace ALttPRandomizer.Model {
|
||||
|
||||
public enum Goal {
|
||||
Ganon,
|
||||
FastGanon,
|
||||
AllDungeons,
|
||||
[CommonValue("crystals")] FastGanon,
|
||||
[CommonValue("dungeons")] AllDungeons,
|
||||
Pedestal,
|
||||
TriforceHunt,
|
||||
[CommonValue("triforcehunt")]TriforceHunt,
|
||||
GanonHunt,
|
||||
Completionist,
|
||||
}
|
||||
|
||||
[CommonValue("shuffle")]
|
||||
public enum EntranceShuffle {
|
||||
None,
|
||||
Vanilla,
|
||||
Full,
|
||||
Crossed,
|
||||
Decoupled,
|
||||
Swapped,
|
||||
[CommonValue("insanity")] Decoupled,
|
||||
}
|
||||
|
||||
[CommonValue("skullwoods")]
|
||||
public enum SkullWoodsShuffle {
|
||||
Original,
|
||||
Restricted,
|
||||
Loose,
|
||||
FollowLinked,
|
||||
}
|
||||
|
||||
[CommonValue("linked_drops")]
|
||||
public enum LinkedDrops {
|
||||
Unset,
|
||||
Linked,
|
||||
Independent,
|
||||
}
|
||||
|
||||
[CommonValue("shufflebosses")]
|
||||
public enum BossShuffle {
|
||||
None,
|
||||
[CommonValue("none")] Vanilla,
|
||||
Simple,
|
||||
Full,
|
||||
Random,
|
||||
PrizeUnique,
|
||||
[CommonValue("unique")] PrizeUnique,
|
||||
}
|
||||
|
||||
[CommonValue("shuffleenemies")]
|
||||
public enum EnemyShuffle {
|
||||
[CommonValue("none")] Vanilla,
|
||||
Shuffled,
|
||||
Mimics,
|
||||
}
|
||||
|
||||
public enum DungeonItemLocations {
|
||||
Dungeon,
|
||||
[CommonValue("none")] Dungeon,
|
||||
Wild,
|
||||
Nearby,
|
||||
Universal,
|
||||
}
|
||||
|
||||
[CommonValue("shopsanity")]
|
||||
public enum ShopShuffle {
|
||||
[CommonValue(SeedSettings.Omit)] Vanilla,
|
||||
[CommonValue("true")] Shuffled,
|
||||
}
|
||||
|
||||
public enum DropShuffle {
|
||||
[CommonValue("none")] Vanilla,
|
||||
Keys,
|
||||
Underworld,
|
||||
}
|
||||
|
||||
public enum Pottery {
|
||||
[CommonValue("none")] Vanilla,
|
||||
Keys,
|
||||
Cave,
|
||||
CaveKeys,
|
||||
Reduced,
|
||||
Clustered,
|
||||
NonEmpty,
|
||||
Dungeon,
|
||||
Lottery,
|
||||
}
|
||||
|
||||
public enum PrizeShuffle {
|
||||
[CommonValue("none")] Vanilla,
|
||||
Dungeon,
|
||||
Nearby,
|
||||
Wild,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user