mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-17 05:48:44 +00:00
Handle some vs message suggestions
This commit is contained in:
parent
12a8dc66b6
commit
bb84ec4e89
4 changed files with 40 additions and 8 deletions
|
@ -5,5 +5,10 @@
|
|||
public int Start { get; set; }
|
||||
public int Stop { get; set; }
|
||||
public bool Reverse { get; set; }
|
||||
|
||||
public override bool Equals(object obj) => obj is BoxManipParam p && p.Start == Start && p.Stop == Stop && p.Reverse == Reverse;
|
||||
public override int GetHashCode() => -1;
|
||||
public static bool operator ==(BoxManipParam left, BoxManipParam right) => left.Equals(right);
|
||||
public static bool operator !=(BoxManipParam left, BoxManipParam right) => !(left == right);
|
||||
}
|
||||
}
|
|
@ -229,5 +229,16 @@ namespace PKHeX.Core
|
|||
_ => new MemoryVariableSet(LegalityCheckStrings.L_XOT, 0, 0, 0, 0)
|
||||
};
|
||||
}
|
||||
|
||||
public override bool Equals(object obj) => obj is MemoryVariableSet v
|
||||
&& v.Handler == Handler
|
||||
&& v.MemoryID == MemoryID
|
||||
&& v.Variable == Variable
|
||||
&& v.Intensity == Intensity
|
||||
&& v.Feeling == Feeling;
|
||||
|
||||
public override int GetHashCode() => -1;
|
||||
public static bool operator ==(MemoryVariableSet left, MemoryVariableSet right) => left.Equals(right);
|
||||
public static bool operator !=(MemoryVariableSet left, MemoryVariableSet right) => !(left == right);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace PKHeX.Core
|
|||
}
|
||||
}
|
||||
|
||||
public struct LearnVersion
|
||||
public readonly struct LearnVersion
|
||||
{
|
||||
public readonly GameVersion Game;
|
||||
public readonly int Level;
|
||||
|
@ -34,5 +34,10 @@ namespace PKHeX.Core
|
|||
}
|
||||
|
||||
public bool IsLevelUp => Level >= 0;
|
||||
|
||||
public override bool Equals(object obj) => obj is LearnVersion v && v.Game == Game && v.Level == Level;
|
||||
public override int GetHashCode() => -1;
|
||||
public static bool operator ==(LearnVersion left, LearnVersion right) => left.Equals(right);
|
||||
public static bool operator !=(LearnVersion left, LearnVersion right) => !(left == right);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,21 @@
|
|||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
public struct SeedInfo
|
||||
public readonly struct SeedInfo
|
||||
{
|
||||
public uint Seed;
|
||||
public bool Charm3;
|
||||
public readonly uint Seed;
|
||||
public readonly bool Charm3;
|
||||
|
||||
private SeedInfo(uint seed, bool charm3 = false)
|
||||
{
|
||||
Seed = seed;
|
||||
Charm3 = charm3;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj) => obj is SeedInfo s && s.Charm3 == Charm3 && s.Seed == Seed;
|
||||
public override int GetHashCode() => -1;
|
||||
public static bool operator ==(SeedInfo left, SeedInfo right) => left.Equals(right);
|
||||
public static bool operator !=(SeedInfo left, SeedInfo right) => !(left == right);
|
||||
|
||||
/// <summary>
|
||||
/// Yields an enumerable list of seeds until another valid PID breaks the chain.
|
||||
|
@ -18,7 +29,7 @@ namespace PKHeX.Core
|
|||
bool charm3 = false;
|
||||
|
||||
var seed = pidiv.OriginSeed;
|
||||
yield return new SeedInfo { Seed = seed };
|
||||
yield return new SeedInfo(seed);
|
||||
|
||||
var s1 = seed;
|
||||
var s2 = RNG.LCRNG.Prev(s1);
|
||||
|
@ -42,7 +53,7 @@ namespace PKHeX.Core
|
|||
s1 = RNG.LCRNG.Prev(s2);
|
||||
s2 = RNG.LCRNG.Prev(s1);
|
||||
|
||||
yield return new SeedInfo { Seed = s1, Charm3 = charm3 };
|
||||
yield return new SeedInfo(s1, charm3);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,7 +67,7 @@ namespace PKHeX.Core
|
|||
public static IEnumerable<SeedInfo> GetSeedsUntilUnownForm(PIDIV pidiv, FrameGenerator info, int form)
|
||||
{
|
||||
var seed = pidiv.OriginSeed;
|
||||
yield return new SeedInfo { Seed = seed };
|
||||
yield return new SeedInfo(seed);
|
||||
|
||||
var s1 = seed;
|
||||
var s2 = RNG.LCRNG.Prev(s1);
|
||||
|
@ -80,7 +91,7 @@ namespace PKHeX.Core
|
|||
s1 = RNG.LCRNG.Prev(s2);
|
||||
s2 = RNG.LCRNG.Prev(s1);
|
||||
|
||||
yield return new SeedInfo { Seed = s1 };
|
||||
yield return new SeedInfo(s1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue