forked from akanyan/mu3-mods
60 lines
1.4 KiB
C#
60 lines
1.4 KiB
C#
using MonoMod;
|
|
|
|
namespace MU3.User;
|
|
|
|
class patch_UserOption: UserOption {
|
|
[MonoModEnumReplace]
|
|
public new enum eRating {
|
|
OFF = 0,
|
|
Default = 1,
|
|
ON = 1,
|
|
Naive = 2,
|
|
Reachable = 3,
|
|
MAX = 3
|
|
}
|
|
|
|
[MonoModEnumReplace]
|
|
public new enum eAbort {
|
|
OFF = 0,
|
|
S = 1,
|
|
SS = 2,
|
|
SSS = 3,
|
|
SSS1 = 4,
|
|
PB = 5,
|
|
FB = 6,
|
|
AA = 7,
|
|
MAX = 7,
|
|
Default = 0
|
|
}
|
|
|
|
class patch_DataSet: DataSet {
|
|
private eRating rating = eRating.ON;
|
|
private eAbort abort;
|
|
|
|
public extern bool orig_isMax(OptionName id);
|
|
public new bool isMax(OptionName id) {
|
|
if(id == OptionName.Rating) {
|
|
return rating == eRating.MAX;
|
|
}
|
|
return orig_isMax(id);
|
|
}
|
|
public void set_Rating(eRating value) {
|
|
if(eRating.MAX < value) {
|
|
rating = eRating.MAX;
|
|
} else if(value < eRating.OFF) {
|
|
rating = eRating.OFF;
|
|
} else {
|
|
rating = value;
|
|
}
|
|
}
|
|
public void set_Abort(eAbort value) {
|
|
if(eAbort.MAX < value) {
|
|
abort = eAbort.AA;
|
|
} else if(value < eAbort.OFF) {
|
|
abort = eAbort.OFF;
|
|
} else {
|
|
abort = value;
|
|
}
|
|
}
|
|
}
|
|
} |