Ejemplo n.º 1
0
        public String GetImagePath(SpecialItemType type)
        {
            switch (type)
            {
            case SpecialItemType.怪物手册:
                return("/res/icons/item/e0.png");

            case SpecialItemType.楼层飞跃器:
                return("/res/icons/item/e2.png");

            case SpecialItemType.大金币:
                return("/res/icons/item/e3.png");

            case SpecialItemType.圣水:
                return("/res/icons/item/c11.png");

            case SpecialItemType.十字架:
                return("/res/icons/item/e9.png");

            case SpecialItemType.解毒剂:
                return("/res/icons/item/c4.png");

            case SpecialItemType.解衰剂:
                return("/res/icons/item/c5.png");
            }
            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 特殊物品构造函数
        /// </summary>
        /// <param name="specialItemModel">Special item model.</param>
        /// <param name="itemCount">Item count.</param>
        public SpecialItem(SpecialItemModel specialItemModel, int itemCount)
        {
            InitBaseProperties(specialItemModel);

            this.itemType = ItemType.SpecialItem;

            this.itemCount = itemCount;

            this.specialItemType = specialItemModel.specialItemType;

            this.isShowInBagOnly = specialItemModel.isShowInBagOnly;
        }
Ejemplo n.º 3
0
    public bool HasSpecialItem(SpecialItemType type)
    {
        foreach (var i in ItemDB.Instance.GetSpecialItems())
        {
            if (i.Special == type)
            {
                return(i.IsOwned);
            }
        }

        return(false);
    }
Ejemplo n.º 4
0
        private DropItemGroup GetDropItemGroup(int chance, SpecialItemType itemType, bool addItem)
        {
            var dropItemGroup = MockRepository.GenerateStub <DropItemGroup>();

            dropItemGroup.Chance   = chance / 10000.0;
            dropItemGroup.ItemType = itemType;
            var itemList = new List <ItemDefinition>();

            dropItemGroup.Stub(g => g.PossibleItems).Return(itemList);
            if (addItem)
            {
                var itemDefinition = MockRepository.GenerateStub <ItemDefinition>();
                itemDefinition.DropsFromMonsters = true;
                itemDefinition.Stub(d => d.PossibleItemSetGroups).Return(new List <ItemSetGroup>());
                itemDefinition.Stub(d => d.PossibleItemOptions).Return(new List <ItemOptionDefinition>());
                itemList.Add(itemDefinition);
            }

            return(dropItemGroup);
        }
Ejemplo n.º 5
0
        private DropItemGroup GetDropItemGroup(int chance, SpecialItemType itemType, bool addItem)
        {
            var dropItemGroup = new Mock <DropItemGroup>();

            dropItemGroup.SetupAllProperties();
            dropItemGroup.Object.Chance   = chance / 10000.0;
            dropItemGroup.Object.ItemType = itemType;
            var itemList = new List <ItemDefinition>();

            dropItemGroup.Setup(g => g.PossibleItems).Returns(itemList);
            if (addItem)
            {
                var itemDefinition = new Mock <ItemDefinition>();
                itemDefinition.SetupAllProperties();
                itemDefinition.Object.DropsFromMonsters = true;
                itemDefinition.Setup(d => d.PossibleItemSetGroups).Returns(new List <ItemSetGroup>());
                itemDefinition.Setup(d => d.PossibleItemOptions).Returns(new List <ItemOptionDefinition>());
                itemList.Add(itemDefinition.Object);
            }

            return(dropItemGroup.Object);
        }
Ejemplo n.º 6
0
 internal DestinyInventoryItemDefinition(uint acquireRewardSiteHash, uint acquireUnlockHash, bool allowActions, DestinyColor backgroundColor, InventoryItemAction action,
                                         DestinyBreakerTypes breakerType, DestinyClassType classType, DestinyDefinitionDisplayProperties displayProperties, DamageType defaultDamageType, string displaySource,
                                         bool doesPostmasterPullHaveSideEffects, bool equippable, InventoryItemEquippingBlock equippingBlock, string iconWatermark, string iconWatermarkShelved,
                                         InventoryItemInventoryBlock inventory, InventoryItemInvestmentStat[] investmentStats, bool isWrapper, uint[] itemCategoryHashes, ItemSubType itemSubType,
                                         ItemType itemType, string itemTypeAndTierDisplayName, string itemTypeDisplayName, bool nonTransferrable, InventoryItemPerk[] perks, InventoryItemPreviewBlock preview,
                                         InventoryItemQualityBlock quality, string screenshot, InventoryItemSocketsBlock sockets, SpecialItemType specialItemType, InventoryItemStatsBlock stats, uint summaryItemHash,
                                         InventoryItemTalentGrid talentGrid, InventoryItemTooltipNotification[] tooltipNotifications, string[] traitIds, InventoryItemTranslationBlock translationBlock,
                                         string uiItemDisplayStyle, uint collectibleHash, InventoryItemPlugBlock plug, InventoryItemObjectivesBlock objectives, string secondaryIcon, InventoryItemValueBlock value,
                                         InventoryItemSetDataBlock setData, InventoryItemSackBlock sack, InventoryItemGearsetBlock gearset, string secondaryOverlay, string secondarySpecial,
                                         string tooltipStyle, uint?emblemObjectiveHash, InventoryItemSourceBlock sourceData, InventoryItemMetricBlock metrics, InventoryItemSummaryBlock summary,
                                         uint?loreHash, InventoryItemAnimationReference[] animations, HyperlinkReference[] links, uint?breakerTypeHash, uint[] damageTypeHashes, DamageType[] damageTypes,
                                         uint?defaultDamageTypeHash, uint?seasonHash, bool blacklisted, uint hash, int index, bool redacted)
 {
     AcquireRewardSiteHash = acquireRewardSiteHash;
     AcquireUnlockHash     = acquireUnlockHash;
     AllowActions          = allowActions;
     BackgroundColor       = backgroundColor;
     Action                            = action;
     DisplayProperties                 = displayProperties;
     BreakerTypeEnumValue              = breakerType;
     ClassType                         = classType;
     Collectible                       = new DefinitionHashPointer <DestinyCollectibleDefinition>(collectibleHash, DefinitionsEnum.DestinyCollectibleDefinition);
     DefaultDamageTypeEnumValue        = defaultDamageType;
     DisplaySource                     = displaySource;
     DoesPostmasterPullHaveSideEffects = doesPostmasterPullHaveSideEffects;
     Equippable                        = equippable;
     EquippingBlock                    = equippingBlock;
     IconWatermark                     = iconWatermark;
     IconWatermarkShelved              = iconWatermarkShelved;
     Inventory                         = inventory;
     InvestmentStats                   = investmentStats.AsReadOnlyOrEmpty();
     IsWrapper                         = isWrapper;
     ItemCategories                    = itemCategoryHashes.DefinitionsAsReadOnlyOrEmpty <DestinyItemCategoryDefinition>(DefinitionsEnum.DestinyItemCategoryDefinition);
     ItemSubType                       = itemSubType;
     ItemType                          = itemType;
     ItemTypeAndTierDisplayName        = itemTypeAndTierDisplayName;
     ItemTypeDisplayName               = itemTypeDisplayName;
     NonTransferrable                  = nonTransferrable;
     Objectives                        = objectives;
     Perks                = perks.AsReadOnlyOrEmpty();
     Plug                 = plug;
     Preview              = preview;
     Quality              = quality;
     Screenshot           = screenshot;
     Sockets              = sockets;
     SpecialItemType      = specialItemType;
     Stats                = stats;
     SummaryItem          = new DefinitionHashPointer <DestinyInventoryItemDefinition>(summaryItemHash, DefinitionsEnum.DestinyInventoryItemDefinition);
     TalentGrid           = talentGrid;
     TooltipNotifications = tooltipNotifications.AsReadOnlyOrEmpty();
     TraitIds             = traitIds.AsReadOnlyOrEmpty();
     TranslationBlock     = translationBlock;
     UiItemDisplayStyle   = uiItemDisplayStyle;
     SecondaryIcon        = secondaryIcon;
     Value                = value;
     SetData              = setData;
     Sack                 = sack;
     Gearset              = gearset;
     Blacklisted          = blacklisted;
     Hash                 = hash;
     Index                = index;
     Redacted             = redacted;
     SecondaryOverlay     = secondaryOverlay;
     SecondarySpecial     = secondarySpecial;
     TooltipStyle         = tooltipStyle;
     EmblemObjective      = new DefinitionHashPointer <DestinyObjectiveDefinition>(emblemObjectiveHash, DefinitionsEnum.DestinyObjectiveDefinition);
     SourceData           = sourceData;
     Metrics              = metrics;
     Summary              = summary;
     Lore                 = new DefinitionHashPointer <DestinyLoreDefinition>(loreHash, DefinitionsEnum.DestinyLoreDefinition);
     Animations           = animations.AsReadOnlyOrEmpty();
     Links                = links.AsReadOnlyOrEmpty();
     BreakerType          = new DefinitionHashPointer <DestinyBreakerTypeDefinition>(breakerTypeHash, DefinitionsEnum.DestinyBreakerTypeDefinition);
     DamageTypes          = damageTypeHashes.DefinitionsAsReadOnlyOrEmpty <DestinyDamageTypeDefinition>(DefinitionsEnum.DestinyDamageTypeDefinition);
     DamageTypeEnumValues = damageTypes.AsReadOnlyOrEmpty();
     DefaultDamageType    = new DefinitionHashPointer <DestinyDamageTypeDefinition>(defaultDamageTypeHash, DefinitionsEnum.DestinyDamageTypeDefinition);
     Season               = new DefinitionHashPointer <DestinySeasonDefinition>(seasonHash, DefinitionsEnum.DestinySeasonDefinition);
 }
Ejemplo n.º 7
0
 public static byte[] Build(SpecialItemType action, uint uid)
 {
     return new byte[] { 0x7c, ((byte) action), ((byte) uid), ((byte) (uid >> 8)), ((byte) (uid >> 0x10)), ((byte) (uid >> 0x18)) };
 }
Ejemplo n.º 8
0
 public UseSpecialItem(SpecialItemType action, uint uid)
     : base(Build(action, uid))
 {
     this.action = action;
     this.uid = uid;
 }
Ejemplo n.º 9
0
 // Methods
 public UseSpecialItem(byte[] data)
     : base(data)
 {
     this.action = (SpecialItemType) data[1];
     this.uid = BitConverter.ToUInt32(data, 2);
 }
Ejemplo n.º 10
0
 public SpecialItemImage(SpecialItemType type) : base()
 {
     SetImageSource(GetImagePath(type));
     coarseType = Atype.特殊物品;
     fineType   = type;
 }
Ejemplo n.º 11
0
        public bool Equals(DestinyInventoryItemDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     DisplayProperties == input.DisplayProperties ||
                     (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties))
                     ) &&
                 (
                     TooltipNotifications == input.TooltipNotifications ||
                     (TooltipNotifications != null && TooltipNotifications.SequenceEqual(input.TooltipNotifications))
                 ) &&
                 (
                     CollectibleHash == input.CollectibleHash ||
                     (CollectibleHash.Equals(input.CollectibleHash))
                 ) &&
                 (
                     IconWatermark == input.IconWatermark ||
                     (IconWatermark != null && IconWatermark.Equals(input.IconWatermark))
                 ) &&
                 (
                     IconWatermarkShelved == input.IconWatermarkShelved ||
                     (IconWatermarkShelved != null && IconWatermarkShelved.Equals(input.IconWatermarkShelved))
                 ) &&
                 (
                     SecondaryIcon == input.SecondaryIcon ||
                     (SecondaryIcon != null && SecondaryIcon.Equals(input.SecondaryIcon))
                 ) &&
                 (
                     SecondaryOverlay == input.SecondaryOverlay ||
                     (SecondaryOverlay != null && SecondaryOverlay.Equals(input.SecondaryOverlay))
                 ) &&
                 (
                     SecondarySpecial == input.SecondarySpecial ||
                     (SecondarySpecial != null && SecondarySpecial.Equals(input.SecondarySpecial))
                 ) &&
                 (
                     BackgroundColor == input.BackgroundColor ||
                     (BackgroundColor != null && BackgroundColor.Equals(input.BackgroundColor))
                 ) &&
                 (
                     Screenshot == input.Screenshot ||
                     (Screenshot != null && Screenshot.Equals(input.Screenshot))
                 ) &&
                 (
                     ItemTypeDisplayName == input.ItemTypeDisplayName ||
                     (ItemTypeDisplayName != null && ItemTypeDisplayName.Equals(input.ItemTypeDisplayName))
                 ) &&
                 (
                     FlavorText == input.FlavorText ||
                     (FlavorText != null && FlavorText.Equals(input.FlavorText))
                 ) &&
                 (
                     UiItemDisplayStyle == input.UiItemDisplayStyle ||
                     (UiItemDisplayStyle != null && UiItemDisplayStyle.Equals(input.UiItemDisplayStyle))
                 ) &&
                 (
                     ItemTypeAndTierDisplayName == input.ItemTypeAndTierDisplayName ||
                     (ItemTypeAndTierDisplayName != null && ItemTypeAndTierDisplayName.Equals(input.ItemTypeAndTierDisplayName))
                 ) &&
                 (
                     DisplaySource == input.DisplaySource ||
                     (DisplaySource != null && DisplaySource.Equals(input.DisplaySource))
                 ) &&
                 (
                     TooltipStyle == input.TooltipStyle ||
                     (TooltipStyle != null && TooltipStyle.Equals(input.TooltipStyle))
                 ) &&
                 (
                     Action == input.Action ||
                     (Action != null && Action.Equals(input.Action))
                 ) &&
                 (
                     Inventory == input.Inventory ||
                     (Inventory != null && Inventory.Equals(input.Inventory))
                 ) &&
                 (
                     SetData == input.SetData ||
                     (SetData != null && SetData.Equals(input.SetData))
                 ) &&
                 (
                     Stats == input.Stats ||
                     (Stats != null && Stats.Equals(input.Stats))
                 ) &&
                 (
                     EmblemObjectiveHash == input.EmblemObjectiveHash ||
                     (EmblemObjectiveHash.Equals(input.EmblemObjectiveHash))
                 ) &&
                 (
                     EquippingBlock == input.EquippingBlock ||
                     (EquippingBlock != null && EquippingBlock.Equals(input.EquippingBlock))
                 ) &&
                 (
                     TranslationBlock == input.TranslationBlock ||
                     (TranslationBlock != null && TranslationBlock.Equals(input.TranslationBlock))
                 ) &&
                 (
                     Preview == input.Preview ||
                     (Preview != null && Preview.Equals(input.Preview))
                 ) &&
                 (
                     Quality == input.Quality ||
                     (Quality != null && Quality.Equals(input.Quality))
                 ) &&
                 (
                     Value == input.Value ||
                     (Value != null && Value.Equals(input.Value))
                 ) &&
                 (
                     SourceData == input.SourceData ||
                     (SourceData != null && SourceData.Equals(input.SourceData))
                 ) &&
                 (
                     Objectives == input.Objectives ||
                     (Objectives != null && Objectives.Equals(input.Objectives))
                 ) &&
                 (
                     Metrics == input.Metrics ||
                     (Metrics != null && Metrics.Equals(input.Metrics))
                 ) &&
                 (
                     Plug == input.Plug ||
                     (Plug != null && Plug.Equals(input.Plug))
                 ) &&
                 (
                     Gearset == input.Gearset ||
                     (Gearset != null && Gearset.Equals(input.Gearset))
                 ) &&
                 (
                     Sack == input.Sack ||
                     (Sack != null && Sack.Equals(input.Sack))
                 ) &&
                 (
                     Sockets == input.Sockets ||
                     (Sockets != null && Sockets.Equals(input.Sockets))
                 ) &&
                 (
                     Summary == input.Summary ||
                     (Summary != null && Summary.Equals(input.Summary))
                 ) &&
                 (
                     TalentGrid == input.TalentGrid ||
                     (TalentGrid != null && TalentGrid.Equals(input.TalentGrid))
                 ) &&
                 (
                     InvestmentStats == input.InvestmentStats ||
                     (InvestmentStats != null && InvestmentStats.SequenceEqual(input.InvestmentStats))
                 ) &&
                 (
                     Perks == input.Perks ||
                     (Perks != null && Perks.SequenceEqual(input.Perks))
                 ) &&
                 (
                     LoreHash == input.LoreHash ||
                     (LoreHash.Equals(input.LoreHash))
                 ) &&
                 (
                     SummaryItemHash == input.SummaryItemHash ||
                     (SummaryItemHash.Equals(input.SummaryItemHash))
                 ) &&
                 (
                     Animations == input.Animations ||
                     (Animations != null && Animations.SequenceEqual(input.Animations))
                 ) &&
                 (
                     AllowActions == input.AllowActions ||
                     (AllowActions != null && AllowActions.Equals(input.AllowActions))
                 ) &&
                 (
                     Links == input.Links ||
                     (Links != null && Links.SequenceEqual(input.Links))
                 ) &&
                 (
                     DoesPostmasterPullHaveSideEffects == input.DoesPostmasterPullHaveSideEffects ||
                     (DoesPostmasterPullHaveSideEffects != null && DoesPostmasterPullHaveSideEffects.Equals(input.DoesPostmasterPullHaveSideEffects))
                 ) &&
                 (
                     NonTransferrable == input.NonTransferrable ||
                     (NonTransferrable != null && NonTransferrable.Equals(input.NonTransferrable))
                 ) &&
                 (
                     ItemCategoryHashes == input.ItemCategoryHashes ||
                     (ItemCategoryHashes != null && ItemCategoryHashes.SequenceEqual(input.ItemCategoryHashes))
                 ) &&
                 (
                     SpecialItemType == input.SpecialItemType ||
                     (SpecialItemType != null && SpecialItemType.Equals(input.SpecialItemType))
                 ) &&
                 (
                     ItemType == input.ItemType ||
                     (ItemType != null && ItemType.Equals(input.ItemType))
                 ) &&
                 (
                     ItemSubType == input.ItemSubType ||
                     (ItemSubType != null && ItemSubType.Equals(input.ItemSubType))
                 ) &&
                 (
                     ClassType == input.ClassType ||
                     (ClassType != null && ClassType.Equals(input.ClassType))
                 ) &&
                 (
                     BreakerType == input.BreakerType ||
                     (BreakerType != null && BreakerType.Equals(input.BreakerType))
                 ) &&
                 (
                     BreakerTypeHash == input.BreakerTypeHash ||
                     (BreakerTypeHash.Equals(input.BreakerTypeHash))
                 ) &&
                 (
                     Equippable == input.Equippable ||
                     (Equippable != null && Equippable.Equals(input.Equippable))
                 ) &&
                 (
                     DamageTypeHashes == input.DamageTypeHashes ||
                     (DamageTypeHashes != null && DamageTypeHashes.SequenceEqual(input.DamageTypeHashes))
                 ) &&
                 (
                     DamageTypes == input.DamageTypes ||
                     (DamageTypes != null && DamageTypes.SequenceEqual(input.DamageTypes))
                 ) &&
                 (
                     DefaultDamageType == input.DefaultDamageType ||
                     (DefaultDamageType != null && DefaultDamageType.Equals(input.DefaultDamageType))
                 ) &&
                 (
                     DefaultDamageTypeHash == input.DefaultDamageTypeHash ||
                     (DefaultDamageTypeHash.Equals(input.DefaultDamageTypeHash))
                 ) &&
                 (
                     SeasonHash == input.SeasonHash ||
                     (SeasonHash.Equals(input.SeasonHash))
                 ) &&
                 (
                     IsWrapper == input.IsWrapper ||
                     (IsWrapper != null && IsWrapper.Equals(input.IsWrapper))
                 ) &&
                 (
                     TraitIds == input.TraitIds ||
                     (TraitIds != null && TraitIds.SequenceEqual(input.TraitIds))
                 ) &&
                 (
                     TraitHashes == input.TraitHashes ||
                     (TraitHashes != null && TraitHashes.SequenceEqual(input.TraitHashes))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }