Compare commits

..

No commits in common. "17685e76d8d5b9e7c484a55f9d101ec54e2d1e41" and "20c1290a0e92721976e03d2ad3d75dcd8723f55e" have entirely different histories.

32 changed files with 279 additions and 284 deletions

View File

@ -48,13 +48,8 @@ public class AuthenticationController : Controller {
} else {
user = ctx.Users.FirstOrDefault(e => e.Username == data.UserName);
}
if (user is null) {
return Ok(new ParentLoginInfo { Status = MembershipUserStatus.InvalidUserName });
}
PasswordVerificationResult result = new PasswordHasher<object>().VerifyHashedPassword(null, user.Password, data.Password);
if (result == PasswordVerificationResult.Failed) {
if (user is null || result == PasswordVerificationResult.Failed) {
return Ok(new ParentLoginInfo { Status = MembershipUserStatus.InvalidPassword });
}

View File

@ -1,5 +1,5 @@
# Use the official .NET SDK image for building the application
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
# Copy the source code
@ -13,7 +13,7 @@ RUN mv src/mods /app && ln -s /app/mods src/
RUN mv src/assets /app && ln -s /app/assets src/
# Create clean run environment (without source and sdk)
# FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
# FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
# WORKDIR /app
# COPY --from=build /app .

View File

@ -5,11 +5,11 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "AR", Namespace = "")]
[Serializable]
public class AchievementReward {
public AchievementReward() { }
public AchievementReward() {}
public AchievementReward(AchievementReward other) {
if (other.UserItem != null)
UserItem = new UserItemData(other.UserItem);
if (other.UserItem != null)
UserItem = new UserItemData(other.UserItem);
Amount = other.Amount;
PointTypeID = other.PointTypeID;
@ -26,45 +26,45 @@ public class AchievementReward {
}
[XmlElement(ElementName = "ui", IsNullable = true)]
public UserItemData UserItem { get; set; }
public UserItemData UserItem { get; set; }
[XmlElement(ElementName = "a")]
public int? Amount;
[XmlElement(ElementName = "a")]
public int? Amount;
[XmlElement(ElementName = "p", IsNullable = true)]
public AchievementPointTypes? PointTypeID;
[XmlElement(ElementName = "p", IsNullable = true)]
public AchievementPointTypes? PointTypeID;
[XmlElement(ElementName = "ii")]
public int ItemID;
[XmlElement(ElementName = "ii")]
public int ItemID;
[XmlElement(ElementName = "i", IsNullable = true)]
public Guid? EntityID;
[XmlElement(ElementName = "i", IsNullable = true)]
public Guid? EntityID;
[XmlElement(ElementName = "t")]
public int EntityTypeID;
[XmlElement(ElementName = "t")]
public int EntityTypeID;
[XmlElement(ElementName = "r")]
public int RewardID;
[XmlElement(ElementName = "r")]
public int RewardID;
[XmlElement(ElementName = "ai")]
public int AchievementID;
[XmlElement(ElementName = "ai")]
public int AchievementID;
[XmlElement(ElementName = "amulti")]
public bool AllowMultiple;
[XmlElement(ElementName = "amulti")]
public bool AllowMultiple;
[XmlElement(ElementName = "mina", IsNullable = true)]
public int? MinAmount;
[XmlElement(ElementName = "mina", IsNullable = true)]
public int? MinAmount;
[XmlElement(ElementName = "maxa", IsNullable = true)]
public int? MaxAmount;
[XmlElement(ElementName = "maxa", IsNullable = true)]
public int? MaxAmount;
[XmlElement(ElementName = "d", IsNullable = true)]
public DateTime? Date;
[XmlElement(ElementName = "d", IsNullable = true)]
public DateTime? Date;
[XmlElement(ElementName = "cid")]
public int CommonInventoryID;
[XmlElement(ElementName = "cid")]
public int CommonInventoryID;
public AchievementReward Clone() {
return (AchievementReward)this.MemberwiseClone();
}
public AchievementReward Clone() {
return (AchievementReward) this.MemberwiseClone();
}
}

View File

@ -6,7 +6,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "BP", Namespace = "", IsNullable = true)]
[Serializable]
public class BluePrint {
public BluePrint() { }
public BluePrint() {}
public BluePrint(BluePrint other) {
Deductibles = other.Deductibles.Select(d => new BluePrintDeductibleConfig(d)).ToList();
@ -15,11 +15,11 @@ public class BluePrint {
}
[XmlElement(ElementName = "BPDC", IsNullable = true)]
public List<BluePrintDeductibleConfig> Deductibles { get; set; }
public List<BluePrintDeductibleConfig> Deductibles { get; set; }
[XmlElement(ElementName = "ING", IsNullable = false)]
public List<BluePrintSpecification> Ingredients { get; set; }
[XmlElement(ElementName = "ING", IsNullable = false)]
public List<BluePrintSpecification> Ingredients { get; set; }
[XmlElement(ElementName = "OUT", IsNullable = false)]
public List<BluePrintSpecification> Outputs { get; set; }
[XmlElement(ElementName = "OUT", IsNullable = false)]
public List<BluePrintSpecification> Outputs { get; set; }
}

View File

@ -15,14 +15,14 @@ public class BluePrintDeductibleConfig {
}
[XmlElement(ElementName = "BPIID", IsNullable = false)]
public int BluePrintItemID { get; set; }
public int BluePrintItemID { get; set; }
[XmlElement(ElementName = "DT", IsNullable = false)]
public DeductibleType DeductibleType { get; set; }
[XmlElement(ElementName = "DT", IsNullable = false)]
public DeductibleType DeductibleType { get; set; }
[XmlElement(ElementName = "IID", IsNullable = true)]
public int? ItemID { get; set; }
[XmlElement(ElementName = "IID", IsNullable = true)]
public int? ItemID { get; set; }
[XmlElement(ElementName = "QTY", IsNullable = false)]
public int Quantity { get; set; }
[XmlElement(ElementName = "QTY", IsNullable = false)]
public int Quantity { get; set; }
}

View File

@ -3,7 +3,7 @@ using System.Xml.Serialization;
namespace sodoff.Schema;
public class BluePrintSpecification {
public BluePrintSpecification() { }
public BluePrintSpecification() {}
public BluePrintSpecification(BluePrintSpecification other) {
BluePrintSpecID = other.BluePrintSpecID;
@ -17,30 +17,30 @@ public class BluePrintSpecification {
}
[XmlElement(ElementName = "BPSID", IsNullable = false)]
public int BluePrintSpecID { get; set; }
public int BluePrintSpecID { get; set; }
[XmlElement(ElementName = "BPIID", IsNullable = false)]
public int BluePrintItemID { get; set; }
[XmlElement(ElementName = "BPIID", IsNullable = false)]
public int BluePrintItemID { get; set; }
public bool ShouldSerializeBluePrintItemID() { return BluePrintItemID != 0; }
public bool ShouldSerializeBluePrintItemID() { return BluePrintItemID != 0; }
[XmlElement(ElementName = "IID", IsNullable = true)]
public int? ItemID { get; set; }
[XmlElement(ElementName = "IID", IsNullable = true)]
public int? ItemID { get; set; }
[XmlElement(ElementName = "CID", IsNullable = true)]
public int? CategoryID { get; set; }
[XmlElement(ElementName = "CID", IsNullable = true)]
public int? CategoryID { get; set; }
[XmlElement(ElementName = "IR", IsNullable = true)]
public ItemRarity? ItemRarity { get; set; }
[XmlElement(ElementName = "IR", IsNullable = true)]
public ItemRarity? ItemRarity { get; set; }
[XmlElement(ElementName = "T", IsNullable = true)]
public ItemTier? Tier { get; set; }
[XmlElement(ElementName = "T", IsNullable = true)]
public ItemTier? Tier { get; set; }
[XmlElement(ElementName = "QTY", IsNullable = false)]
public int Quantity { get; set; }
[XmlElement(ElementName = "QTY", IsNullable = false)]
public int Quantity { get; set; }
[XmlElement(ElementName = "ST", IsNullable = true)]
public SpecificationType? SpecificationType { get; set; }
[XmlElement(ElementName = "ST", IsNullable = true)]
public SpecificationType? SpecificationType { get; set; }
public bool ShouldSerializeSpecificationType() { return SpecificationType != null; }
public bool ShouldSerializeSpecificationType() { return SpecificationType != null; }
}

View File

@ -4,12 +4,12 @@ namespace sodoff.Schema;
[Serializable]
public class CompletionAction {
public CompletionAction() { }
public CompletionAction() {}
public CompletionAction(CompletionAction other) {
Transition = other.Transition;
}
[XmlElement(ElementName = "Transition")]
public StateTransition Transition;
public StateTransition Transition;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "AT", Namespace = "")]
[Serializable]
public class ItemAttribute {
public ItemAttribute() { }
public ItemAttribute() {}
public ItemAttribute(ItemAttribute other) {
Key = other.Key;
@ -13,8 +13,8 @@ public class ItemAttribute {
}
[XmlElement(ElementName = "k")]
public string Key;
public string Key;
[XmlElement(ElementName = "v")]
public string Value;
[XmlElement(ElementName = "v")]
public string Value;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "Availability", Namespace = "")]
[Serializable]
public class ItemAvailability {
public ItemAvailability() { }
public ItemAvailability() {}
public ItemAvailability(ItemAvailability other) {
StartDate = other.StartDate;
@ -13,8 +13,8 @@ public class ItemAvailability {
}
[XmlElement(ElementName = "sdate", IsNullable = true)]
public DateTime? StartDate;
public DateTime? StartDate;
[XmlElement(ElementName = "edate", IsNullable = true)]
public DateTime? EndDate;
[XmlElement(ElementName = "edate", IsNullable = true)]
public DateTime? EndDate;
}

View File

@ -4,7 +4,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "I", Namespace = "", IsNullable = true)]
public class ItemData {
public ItemData() { }
public ItemData() {}
public ItemData(ItemData other) {
ItemStates = other.ItemStates.Select(s => new ItemState(s)).ToList();
@ -43,108 +43,108 @@ public class ItemData {
}
[XmlElement(ElementName = "is")]
public List<ItemState> ItemStates { get; set; }
public List<ItemState> ItemStates { get; set; }
[XmlElement(ElementName = "ir", IsNullable = true)]
public ItemRarity? ItemRarity { get; set; }
[XmlElement(ElementName = "ir", IsNullable = true)]
public ItemRarity? ItemRarity { get; set; }
[XmlElement(ElementName = "ipsm", IsNullable = true)]
public ItemPossibleStatsMap PossibleStatsMap { get; set; }
[XmlElement(ElementName = "ipsm", IsNullable = true)]
public ItemPossibleStatsMap PossibleStatsMap { get; set; }
[XmlElement(ElementName = "ism", IsNullable = true)]
public ItemStatsMap ItemStatsMap { get; set; }
[XmlElement(ElementName = "ism", IsNullable = true)]
public ItemStatsMap ItemStatsMap { get; set; }
[XmlElement(ElementName = "iscs", IsNullable = true)]
public ItemSaleConfig[] ItemSaleConfigs { get; set; }
[XmlElement(ElementName = "iscs", IsNullable = true)]
public ItemSaleConfig[] ItemSaleConfigs { get; set; }
[XmlElement(ElementName = "bp", IsNullable = true)]
public BluePrint BluePrint { get; set; }
[XmlElement(ElementName = "bp", IsNullable = true)]
public BluePrint BluePrint { get; set; }
[XmlElement(ElementName = "an")]
public string AssetName;
[XmlElement(ElementName = "an")]
public string AssetName;
[XmlElement(ElementName = "at", IsNullable = true)]
public ItemAttribute[] Attribute;
[XmlElement(ElementName = "at", IsNullable = true)]
public ItemAttribute[] Attribute;
[XmlElement(ElementName = "c")]
public ItemDataCategory[] Category;
[XmlElement(ElementName = "c")]
public ItemDataCategory[] Category;
[XmlElement(ElementName = "ct")]
public int Cost;
[XmlElement(ElementName = "ct")]
public int Cost;
[XmlElement(ElementName = "ct2")]
public int CashCost;
[XmlElement(ElementName = "ct2")]
public int CashCost;
[XmlElement(ElementName = "cp")]
public int CreativePoints;
[XmlElement(ElementName = "cp")]
public int CreativePoints;
[XmlElement(ElementName = "d")]
public string Description;
[XmlElement(ElementName = "d")]
public string Description;
[XmlElement(ElementName = "icn")]
public string IconName;
[XmlElement(ElementName = "icn")]
public string IconName;
[XmlElement(ElementName = "im")]
public int InventoryMax;
[XmlElement(ElementName = "im")]
public int InventoryMax;
[XmlElement(ElementName = "id")]
public int ItemID;
[XmlElement(ElementName = "id")]
public int ItemID;
[XmlElement(ElementName = "itn")]
public string ItemName;
[XmlElement(ElementName = "itn")]
public string ItemName;
[XmlElement(ElementName = "itnp")]
public string ItemNamePlural;
[XmlElement(ElementName = "itnp")]
public string ItemNamePlural;
[XmlElement(ElementName = "l")]
public bool Locked;
[XmlElement(ElementName = "l")]
public bool Locked;
[XmlElement(ElementName = "g", IsNullable = true)]
public string Geometry2;
[XmlElement(ElementName = "g", IsNullable = true)]
public string Geometry2;
[XmlElement(ElementName = "ro", IsNullable = true)]
public ItemDataRollover Rollover;
[XmlElement(ElementName = "ro", IsNullable = true)]
public ItemDataRollover Rollover;
[XmlElement(ElementName = "rid", IsNullable = true)]
public int? RankId;
[XmlElement(ElementName = "rid", IsNullable = true)]
public int? RankId;
[XmlElement(ElementName = "r")]
public ItemDataRelationship[] Relationship;
[XmlElement(ElementName = "r")]
public ItemDataRelationship[] Relationship;
[XmlElement(ElementName = "s")]
public bool Stackable;
[XmlElement(ElementName = "s")]
public bool Stackable;
[XmlElement(ElementName = "as")]
public bool AllowStacking;
[XmlElement(ElementName = "as")]
public bool AllowStacking;
[XmlElement(ElementName = "sf")]
public int SaleFactor;
[XmlElement(ElementName = "sf")]
public int SaleFactor;
[XmlElement(ElementName = "t")]
public ItemDataTexture[] Texture;
[XmlElement(ElementName = "t")]
public ItemDataTexture[] Texture;
[XmlElement(ElementName = "u")]
public int Uses;
[XmlElement(ElementName = "u")]
public int Uses;
[XmlElement(ElementName = "av")]
public ItemAvailability[] Availability;
[XmlElement(ElementName = "av")]
public ItemAvailability[] Availability;
[XmlElement(ElementName = "rtid")]
public int RewardTypeID;
[XmlElement(ElementName = "rtid")]
public int RewardTypeID;
[XmlElement(ElementName = "p", IsNullable = true)]
public int? Points;
[XmlElement(ElementName = "p", IsNullable = true)]
public int? Points;
[XmlIgnore]
public float NormalDiscoutModifier;
[XmlIgnore]
public float NormalDiscoutModifier;
[XmlIgnore]
public float MemberDiscountModifier;
[XmlIgnore]
public float MemberDiscountModifier;
[XmlIgnore]
public float FinalDiscoutModifier {
get {
return Math.Min(1f, (1f - NormalDiscoutModifier) * (1f - MemberDiscountModifier));
[XmlIgnore]
public float FinalDiscoutModifier {
get {
return Math.Min(1f, (1f - NormalDiscoutModifier) * (1f - MemberDiscountModifier));
}
}
}
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "IC", Namespace = "")]
[Serializable]
public class ItemDataCategory {
public ItemDataCategory() { }
public ItemDataCategory() {}
public ItemDataCategory(ItemDataCategory other) {
CategoryId = other.CategoryId;
@ -14,11 +14,11 @@ public class ItemDataCategory {
}
[XmlElement(ElementName = "cid")]
public int CategoryId;
public int CategoryId;
[XmlElement(ElementName = "cn")]
public string CategoryName;
[XmlElement(ElementName = "cn")]
public string CategoryName;
[XmlElement(ElementName = "i", IsNullable = true)]
public string IconName;
[XmlElement(ElementName = "i", IsNullable = true)]
public string IconName;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "IRE", Namespace = "")]
[Serializable]
public class ItemDataRelationship {
public ItemDataRelationship() { }
public ItemDataRelationship() {}
public ItemDataRelationship(ItemDataRelationship other) {
Type = other.Type;
@ -16,17 +16,17 @@ public class ItemDataRelationship {
}
[XmlElement(ElementName = "t")]
public string Type;
public string Type;
[XmlElement(ElementName = "id")]
public int ItemId;
[XmlElement(ElementName = "id")]
public int ItemId;
[XmlElement(ElementName = "wt")]
public int Weight;
[XmlElement(ElementName = "wt")]
public int Weight;
[XmlElement(ElementName = "q")]
public int Quantity;
[XmlElement(ElementName = "q")]
public int Quantity;
[XmlElement(ElementName = "mxq")]
public int? MaxQuantity;
[XmlElement(ElementName = "mxq")]
public int? MaxQuantity;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "IRO", Namespace = "")]
[Serializable]
public class ItemDataRollover {
public ItemDataRollover() { }
public ItemDataRollover() {}
public ItemDataRollover(ItemDataRollover other) {
DialogName = other.DialogName;
@ -13,8 +13,8 @@ public class ItemDataRollover {
}
[XmlElement(ElementName = "d")]
public string DialogName;
public string DialogName;
[XmlElement(ElementName = "b")]
public string Bundle;
[XmlElement(ElementName = "b")]
public string Bundle;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "IT", Namespace = "")]
[Serializable]
public class ItemDataTexture {
public ItemDataTexture() { }
public ItemDataTexture() {}
public ItemDataTexture(ItemDataTexture other) {
TextureName = other.TextureName;
@ -15,14 +15,14 @@ public class ItemDataTexture {
}
[XmlElement(ElementName = "n")]
public string TextureName;
public string TextureName;
[XmlElement(ElementName = "t")]
public string TextureTypeName;
[XmlElement(ElementName = "t")]
public string TextureTypeName;
[XmlElement(ElementName = "x", IsNullable = true)]
public float? OffsetX;
[XmlElement(ElementName = "x", IsNullable = true)]
public float? OffsetX;
[XmlElement(ElementName = "y", IsNullable = true)]
public float? OffsetY;
[XmlElement(ElementName = "y", IsNullable = true)]
public float? OffsetY;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "IPSM", Namespace = "", IsNullable = false)]
[Serializable]
public class ItemPossibleStatsMap {
public ItemPossibleStatsMap() { }
public ItemPossibleStatsMap() {}
public ItemPossibleStatsMap(ItemPossibleStatsMap other) {
ItemID = other.ItemID;
@ -15,14 +15,14 @@ public class ItemPossibleStatsMap {
}
[XmlElement(ElementName = "IID", IsNullable = false)]
public int ItemID { get; set; }
public int ItemID { get; set; }
[XmlElement(ElementName = "SC", IsNullable = false)]
public int ItemStatsCount { get; set; }
[XmlElement(ElementName = "SC", IsNullable = false)]
public int ItemStatsCount { get; set; }
[XmlElement(ElementName = "SID", IsNullable = false)]
public int SetID { get; set; }
[XmlElement(ElementName = "SID", IsNullable = false)]
public int SetID { get; set; }
[XmlElement(ElementName = "SS", IsNullable = false)]
public List<Stat> Stats { get; set; }
[XmlElement(ElementName = "SS", IsNullable = false)]
public List<Stat> Stats { get; set; }
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "ISC", Namespace = "", IsNullable = true)]
[Serializable]
public class ItemSaleConfig {
public ItemSaleConfig() { }
public ItemSaleConfig() {}
public ItemSaleConfig(ItemSaleConfig other) {
ItemID = other.ItemID;
@ -16,17 +16,17 @@ public class ItemSaleConfig {
}
[XmlElement(ElementName = "IID", IsNullable = true)]
public int? ItemID { get; set; }
public int? ItemID { get; set; }
[XmlElement(ElementName = "CID", IsNullable = true)]
public int? CategoryID { get; set; }
[XmlElement(ElementName = "CID", IsNullable = true)]
public int? CategoryID { get; set; }
[XmlElement(ElementName = "RID", IsNullable = true)]
public int? RarityID { get; set; }
[XmlElement(ElementName = "RID", IsNullable = true)]
public int? RarityID { get; set; }
[XmlElement(ElementName = "QTY", IsNullable = false)]
public int Quantity { get; set; }
[XmlElement(ElementName = "QTY", IsNullable = false)]
public int Quantity { get; set; }
[XmlElement(ElementName = "RIID", IsNullable = false)]
public int RewardItemID { get; set; }
[XmlElement(ElementName = "RIID", IsNullable = false)]
public int RewardItemID { get; set; }
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "IS", Namespace = "")]
[Serializable]
public class ItemStat {
public ItemStat() { }
public ItemStat() {}
public ItemStat(ItemStat other) {
ItemStatID = other.ItemStatID;
@ -15,14 +15,14 @@ public class ItemStat {
}
[XmlElement(ElementName = "ID")]
public int ItemStatID { get; set; }
public int ItemStatID { get; set; }
[XmlElement(ElementName = "N")]
public string Name { get; set; }
[XmlElement(ElementName = "N")]
public string Name { get; set; }
[XmlElement(ElementName = "V")]
public string Value { get; set; }
[XmlElement(ElementName = "V")]
public string Value { get; set; }
[XmlElement(ElementName = "DTI")]
public DataTypeInfo DataType { get; set; }
[XmlElement(ElementName = "DTI")]
public DataTypeInfo DataType { get; set; }
}

View File

@ -17,20 +17,20 @@ public class ItemState {
}
[XmlElement(ElementName = "ItemStateID")]
public int ItemStateID;
public int ItemStateID;
[XmlElement(ElementName = "Name")]
public string Name;
[XmlElement(ElementName = "Name")]
public string Name;
[XmlElement(ElementName = "Rule")]
public ItemStateRule Rule;
[XmlElement(ElementName = "Rule")]
public ItemStateRule Rule;
[XmlElement(ElementName = "Order")]
public int Order;
[XmlElement(ElementName = "Order")]
public int Order;
[XmlElement(ElementName = "AchievementID", IsNullable = true)]
public int? AchievementID;
[XmlElement(ElementName = "AchievementID", IsNullable = true)]
public int? AchievementID;
[XmlElement(ElementName = "Rewards")]
public AchievementReward[] Rewards;
[XmlElement(ElementName = "Rewards")]
public AchievementReward[] Rewards;
}

View File

@ -11,12 +11,12 @@ namespace sodoff.Schema;
[XmlInclude(typeof(ItemStateCriteriaExpiry))]
[Serializable]
public class ItemStateCriteria {
public ItemStateCriteria() { }
public ItemStateCriteria() {}
public ItemStateCriteria(ItemStateCriteria other) {
Type = other.Type;
}
[XmlElement(ElementName = "Type")]
public ItemStateCriteriaType Type;
public ItemStateCriteriaType Type;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "ItemStateRule", Namespace = "")]
[Serializable]
public class ItemStateRule {
public ItemStateRule() { }
public ItemStateRule() {}
public ItemStateRule(ItemStateRule other) {
Criterias = other.Criterias.Select(c => new ItemStateCriteria(c)).ToList();
@ -13,8 +13,8 @@ public class ItemStateRule {
}
[XmlElement(ElementName = "Criterias")]
public List<ItemStateCriteria> Criterias;
public List<ItemStateCriteria> Criterias;
[XmlElement(ElementName = "CompletionAction")]
public CompletionAction CompletionAction;
[XmlElement(ElementName = "CompletionAction")]
public CompletionAction CompletionAction;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "ISM", Namespace = "", IsNullable = false)]
[Serializable]
public class ItemStatsMap {
public ItemStatsMap() { }
public ItemStatsMap() {}
public ItemStatsMap(ItemStatsMap other) {
ItemID = other.ItemID;
@ -14,11 +14,11 @@ public class ItemStatsMap {
}
[XmlElement(ElementName = "IID", IsNullable = false)]
public int ItemID { get; set; }
public int ItemID { get; set; }
[XmlElement(ElementName = "IT", IsNullable = false)]
public ItemTier ItemTier { get; set; }
[XmlElement(ElementName = "IT", IsNullable = false)]
public ItemTier ItemTier { get; set; }
[XmlElement(ElementName = "ISS", IsNullable = false)]
public ItemStat[] ItemStats { get; set; }
[XmlElement(ElementName = "ISS", IsNullable = false)]
public ItemStat[] ItemStats { get; set; }
}

View File

@ -3,9 +3,9 @@
namespace sodoff.Schema;
[XmlRoot(ElementName = "Mission", Namespace = "")]
[Serializable]
[Serializable] // FIXME: Remove serializable once we have a different way of deep copying than BinaryFormatter
public class Mission {
public Mission() { }
public Mission() {}
public Mission(Mission other) {
if (other == null) throw new ArgumentNullException(nameof(other));

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "MissionCriteria", Namespace = "")]
[Serializable]
public class MissionCriteria {
public MissionCriteria() { }
public MissionCriteria() {}
public MissionCriteria(MissionCriteria other) {
Type = other.Type;

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "MissionRule", Namespace = "")]
[Serializable]
public class MissionRule {
public MissionRule() { }
public MissionRule() {}
public MissionRule(MissionRule other) {
Prerequisites = other.Prerequisites.Select(p => new PrerequisiteItem(p)).ToList();

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "Pair", Namespace = "")]
[Serializable]
public class Pair {
public Pair() { }
public Pair() {}
public Pair(Pair other) {
PairKey = other.PairKey;
@ -14,11 +14,11 @@ public class Pair {
}
[XmlElement(ElementName = "PairKey")]
public string PairKey;
[XmlElement(ElementName = "PairValue")]
public string PairValue;
[XmlElement(ElementName = "UpdateDate")]
public DateTime UpdateDate;
public string PairKey;
[XmlElement(ElementName = "PairValue")]
public string PairValue;
[XmlElement(ElementName = "UpdateDate")]
public DateTime UpdateDate;
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "Pairs", Namespace = "", IsNullable = true)]
[Serializable]
public class PairData {
public PairData() { }
public PairData() {}
public PairData(PairData other) {
Pairs = other.Pairs.Select(p => new Pair(p)).ToArray();

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "PrerequisiteItem", Namespace = "")]
[Serializable]
public class PrerequisiteItem {
public PrerequisiteItem() { }
public PrerequisiteItem() {}
public PrerequisiteItem(PrerequisiteItem other) {
Type = other.Type;

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "RuleItem", Namespace = "")]
[Serializable]
public class RuleItem {
public RuleItem() { }
public RuleItem() {}
public RuleItem(RuleItem other) {
Type = other.Type;

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "STAT", Namespace = "", IsNullable = false)]
[Serializable]
public class Stat {
public Stat() { }
public Stat() {}
public Stat(Stat other) {
ItemID = other.ItemID;
@ -16,17 +16,17 @@ public class Stat {
}
[XmlElement(ElementName = "IID", IsNullable = false)]
public int ItemID { get; set; }
public int ItemID { get; set; }
[XmlElement(ElementName = "ISID", IsNullable = false)]
public int ItemStatsID { get; set; }
[XmlElement(ElementName = "ISID", IsNullable = false)]
public int ItemStatsID { get; set; }
[XmlElement(ElementName = "SID", IsNullable = false)]
public int SetID { get; set; }
[XmlElement(ElementName = "SID", IsNullable = false)]
public int SetID { get; set; }
[XmlElement(ElementName = "PROB", IsNullable = false)]
public int Probability { get; set; }
[XmlElement(ElementName = "PROB", IsNullable = false)]
public int Probability { get; set; }
[XmlElement(ElementName = "ISRM", IsNullable = false)]
public List<StatRangeMap> ItemStatsRangeMaps { get; set; }
[XmlElement(ElementName = "ISRM", IsNullable = false)]
public List<StatRangeMap> ItemStatsRangeMaps { get; set; }
}

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "SRM", Namespace = "", IsNullable = false)]
[Serializable]
public class StatRangeMap {
public StatRangeMap() { }
public StatRangeMap() {}
public StatRangeMap(StatRangeMap other) {
ItemStatsID = other.ItemStatsID;
@ -16,17 +16,17 @@ public class StatRangeMap {
}
[XmlElement(ElementName = "ISID", IsNullable = false)]
public int ItemStatsID { get; set; }
public int ItemStatsID { get; set; }
[XmlElement(ElementName = "ISN", IsNullable = false)]
public string ItemStatsName { get; set; }
[XmlElement(ElementName = "ISN", IsNullable = false)]
public string ItemStatsName { get; set; }
[XmlElement(ElementName = "ITID", IsNullable = false)]
public int ItemTierID { get; set; }
[XmlElement(ElementName = "ITID", IsNullable = false)]
public int ItemTierID { get; set; }
[XmlElement(ElementName = "SR", IsNullable = false)]
public int StartRange { get; set; }
[XmlElement(ElementName = "SR", IsNullable = false)]
public int StartRange { get; set; }
[XmlElement(ElementName = "ER", IsNullable = false)]
public int EndRange { get; set; }
[XmlElement(ElementName = "ER", IsNullable = false)]
public int EndRange { get; set; }
}

View File

@ -8,7 +8,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "Task", Namespace = "")]
[Serializable]
public class Task {
public Task() { }
public Task() {}
public Task(Task other) {
TaskID = other.TaskID;

View File

@ -5,7 +5,7 @@ namespace sodoff.Schema;
[XmlRoot(ElementName = "UserItem", Namespace = "")]
[Serializable]
public class UserItemData {
public UserItemData() { }
public UserItemData() {}
public UserItemData(UserItemData other) {
ItemID = other.ItemID;
@ -21,32 +21,32 @@ public class UserItemData {
}
[XmlElement(ElementName = "iid")]
public int ItemID { get; set; }
public int ItemID { get; set; }
[XmlElement(ElementName = "md", IsNullable = true)]
public DateTime? ModifiedDate { get; set; }
[XmlElement(ElementName = "md", IsNullable = true)]
public DateTime? ModifiedDate { get; set; }
[XmlElement(ElementName = "uia", IsNullable = true)]
public PairData UserItemAttributes { get; set; }
[XmlElement(ElementName = "uia", IsNullable = true)]
public PairData UserItemAttributes { get; set; }
[XmlElement(ElementName = "iss", IsNullable = true)]
public ItemStat[] ItemStats { get; set; }
[XmlElement(ElementName = "iss", IsNullable = true)]
public ItemStat[] ItemStats { get; set; }
[XmlElement(ElementName = "IT", IsNullable = true)]
public ItemTier? ItemTier { get; set; }
[XmlElement(ElementName = "IT", IsNullable = true)]
public ItemTier? ItemTier { get; set; }
[XmlElement(ElementName = "cd", IsNullable = true)]
public DateTime? CreatedDate { get; set; }
[XmlElement(ElementName = "cd", IsNullable = true)]
public DateTime? CreatedDate { get; set; }
[XmlElement(ElementName = "uiid")]
public int UserInventoryID;
[XmlElement(ElementName = "uiid")]
public int UserInventoryID;
[XmlElement(ElementName = "q")]
public int Quantity;
[XmlElement(ElementName = "q")]
public int Quantity;
[XmlElement(ElementName = "u")]
public int Uses;
[XmlElement(ElementName = "u")]
public int Uses;
[XmlElement(ElementName = "i")]
public ItemData Item;
[XmlElement(ElementName = "i")]
public ItemData Item;
}