public void Update(DestinyItemQualityBlockDefinition?other)
 {
     if (other is null)
     {
         return;
     }
     if (!ItemLevels.DeepEqualsListNaive(other.ItemLevels))
     {
         ItemLevels = other.ItemLevels;
         OnPropertyChanged(nameof(ItemLevels));
     }
     if (QualityLevel != other.QualityLevel)
     {
         QualityLevel = other.QualityLevel;
         OnPropertyChanged(nameof(QualityLevel));
     }
     if (InfusionCategoryName != other.InfusionCategoryName)
     {
         InfusionCategoryName = other.InfusionCategoryName;
         OnPropertyChanged(nameof(InfusionCategoryName));
     }
     if (InfusionCategoryHash != other.InfusionCategoryHash)
     {
         InfusionCategoryHash = other.InfusionCategoryHash;
         OnPropertyChanged(nameof(InfusionCategoryHash));
     }
     if (!InfusionCategoryHashes.DeepEqualsListNaive(other.InfusionCategoryHashes))
     {
         InfusionCategoryHashes = other.InfusionCategoryHashes;
         OnPropertyChanged(nameof(InfusionCategoryHashes));
     }
     if (ProgressionLevelRequirementHash != other.ProgressionLevelRequirementHash)
     {
         ProgressionLevelRequirementHash = other.ProgressionLevelRequirementHash;
         OnPropertyChanged(nameof(ProgressionLevelRequirementHash));
     }
     if (CurrentVersion != other.CurrentVersion)
     {
         CurrentVersion = other.CurrentVersion;
         OnPropertyChanged(nameof(CurrentVersion));
     }
     if (!Versions.DeepEqualsList(other.Versions))
     {
         Versions = other.Versions;
         OnPropertyChanged(nameof(Versions));
     }
     if (!DisplayVersionWatermarkIcons.DeepEqualsListNaive(other.DisplayVersionWatermarkIcons))
     {
         DisplayVersionWatermarkIcons = other.DisplayVersionWatermarkIcons;
         OnPropertyChanged(nameof(DisplayVersionWatermarkIcons));
     }
 }
 public bool DeepEquals(DestinyItemQualityBlockDefinition?other)
 {
     return(other is not null &&
            ItemLevels.DeepEqualsListNaive(other.ItemLevels) &&
            QualityLevel == other.QualityLevel &&
            InfusionCategoryName == other.InfusionCategoryName &&
            InfusionCategoryHash == other.InfusionCategoryHash &&
            InfusionCategoryHashes.DeepEqualsListNaive(other.InfusionCategoryHashes) &&
            ProgressionLevelRequirementHash == other.ProgressionLevelRequirementHash &&
            CurrentVersion == other.CurrentVersion &&
            Versions.DeepEqualsList(other.Versions) &&
            DisplayVersionWatermarkIcons.DeepEqualsListNaive(other.DisplayVersionWatermarkIcons));
 }
Beispiel #3
0
 public bool DeepEquals(InventoryItemQualityBlock other)
 {
     return(other != null &&
            CurrentVersion == other.CurrentVersion &&
            DisplayVersionWatermarkIcons.DeepEqualsReadOnlySimpleCollection(other.DisplayVersionWatermarkIcons) &&
            InfusionCategoryHash == other.InfusionCategoryHash &&
            InfusionCategoryHashes.DeepEqualsReadOnlySimpleCollection(other.InfusionCategoryHashes) &&
            InfusionCategoryName == other.InfusionCategoryName &&
            ItemLevels.DeepEqualsReadOnlySimpleCollection(other.ItemLevels) &&
            ProgressionLevelRequirement.DeepEquals(other.ProgressionLevelRequirement) &&
            QualityLevel == other.QualityLevel &&
            Versions.DeepEqualsReadOnlyCollections(other.Versions));
 }
        public bool Equals(DestinyItemQualityBlockDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     ItemLevels == input.ItemLevels ||
                     (ItemLevels != null && ItemLevels.SequenceEqual(input.ItemLevels))
                     ) &&
                 (
                     QualityLevel == input.QualityLevel ||
                     (QualityLevel.Equals(input.QualityLevel))
                 ) &&
                 (
                     InfusionCategoryName == input.InfusionCategoryName ||
                     (InfusionCategoryName != null && InfusionCategoryName.Equals(input.InfusionCategoryName))
                 ) &&
                 (
                     InfusionCategoryHash == input.InfusionCategoryHash ||
                     (InfusionCategoryHash.Equals(input.InfusionCategoryHash))
                 ) &&
                 (
                     InfusionCategoryHashes == input.InfusionCategoryHashes ||
                     (InfusionCategoryHashes != null && InfusionCategoryHashes.SequenceEqual(input.InfusionCategoryHashes))
                 ) &&
                 (
                     ProgressionLevelRequirementHash == input.ProgressionLevelRequirementHash ||
                     (ProgressionLevelRequirementHash.Equals(input.ProgressionLevelRequirementHash))
                 ) &&
                 (
                     CurrentVersion == input.CurrentVersion ||
                     (CurrentVersion.Equals(input.CurrentVersion))
                 ) &&
                 (
                     Versions == input.Versions ||
                     (Versions != null && Versions.SequenceEqual(input.Versions))
                 ) &&
                 (
                     DisplayVersionWatermarkIcons == input.DisplayVersionWatermarkIcons ||
                     (DisplayVersionWatermarkIcons != null && DisplayVersionWatermarkIcons.SequenceEqual(input.DisplayVersionWatermarkIcons))
                 ));
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            var manager = new FileManager(@"C:\Hellgate");

            manager.BeginAllDatReadAccess();
            manager.LoadTableFiles();
            manager.EndAllDatAccess();

            //TODO: hp/power regen is messed up when displaying the full formula because I guess the itemdisplay formula isn't used

            //note: "display dmg" is ilvl multi*item dmg*dmg% (before "increments" are applied), where dmg% is the first or second argument in dmg_elec(100,100)

            //TODO: weapon ranges
            //TODO: add affix names to properties
            //TODO: sword attack rates
            //TODO: wtf is up with ilvls that don't match any of the listed numbers (maxlevel, fixedlevel, level)?

            //long term TODO: assign unit types so "isa" functions (among other things) work

            args = new[] { "ITEMS" };

            //new Items(manager).WriteAllUniqueLegendaryItemPages();
            //return;

            string     sqlStatement;
            WikiScript script;

            foreach (string arg in args)
            {
                switch (arg)
                {
                case "ACHIEVEMENTS":
                    script = new Achievements(manager);
                    break;

                case "AFFIXES":
                    script = new Affixes(manager);
                    break;

                case "BASEWAVES":
                    script = new BaseDefenseWaves(manager);
                    break;

                case "MONSTERAFFIXES":
                    script = new MonsterAffixes(manager);
                    break;

                case "ARMORAFFIXES":
                    script = new ArmorAffixes(manager);
                    break;

                case "ITEMLEVELS":
                    script = new ItemLevels(manager);
                    break;

                case "LEVELS":
                    script = new Levels(manager);
                    break;

                case "MONSTERS":
                    script = new Monsters(manager);
                    break;

                case "PVPRANKS":
                    script = new PVPRanks(manager);
                    break;

                case "LEVELSCALING":
                    script = new LevelScaling(manager);
                    break;

                case "ITEMS":
                    script = new Items(manager);
                    break;

                case "ITEM_QUALITY":
                    script = new ItemQuality(manager);
                    break;

                case "TREASURE":
                    script = new NewTreasure(manager);
                    break;

                case "MONSTER_QUALITY":
                    script = new MonsterQuality(manager);
                    break;

                case "RECIPES":
                    script = new Recipes(manager);
                    break;

                case "ITEM_SETS":
                    script = new Sets(manager);
                    break;

                default:
                    throw new Exception("Unknown WikiScript: " + arg);
                }

                sqlStatement = script.ExportTableInsertScript();

                File.WriteAllText(arg.ToLower() + ".sql", sqlStatement);
            }

            return;
        }