public override ModItemDataXML TransformItemData(string id, OSRSItem osrsItem, ModItemDataXML modItemData)
        {
            modItemData.ItemID     = id;
            modItemData.Name       = osrsItem.Name;
            modItemData.Desc       = osrsItem.Description;
            modItemData.IsValid    = true;
            modItemData.IsEnabled  = true;
            modItemData.LockedDD   = true;
            modItemData.LockedCR   = false;
            modItemData.LockedSU   = true;
            modItemData.MinCSPrice = -1;
            if (osrsItem.CanStack)
            {
                modItemData.StackSize = int.MaxValue;
            }
            else
            {
                modItemData.StackSize = 1;
            }
            modItemData.Durability      = 0;
            modItemData.StrikeDamage    = 0;
            modItemData.StrikeReach     = 0;
            modItemData.HealPower       = 0;
            modItemData.BurnTime        = 0;
            modItemData.SmeltTime       = 0;
            modItemData.ParticleLight   = 0;
            modItemData.CanDropIfLocked = false;
            modItemData.DropChance      = 0;
            modItemData.Plural          = PluralType.None;

            return(modItemData);
        }
        public override ModItemTypeDataXML TransformItemTypeData(string id, OSRSItem osrsItem, ModItemTypeDataXML modItemTypeData)
        {
            modItemTypeData.ItemID  = id;
            modItemTypeData.Use     = ItemUse.Item;
            modItemTypeData.Type    = ItemType.Item;
            modItemTypeData.SubType = ItemSubType.None;
            modItemTypeData.Class   = ItemTypeClass.None;
            modItemTypeData.Inv     = ItemInvType.Other;
            modItemTypeData.Combat  = CombatItem.None;
            modItemTypeData.Model   = ItemModelType.MediumItem;
            modItemTypeData.Swing   = ItemSwingType.Item;
            modItemTypeData.Equip   = Utils.RStoTMSlot(osrsItem.Slot);

            return(modItemTypeData);
        }
        public override bool ShouldTransform(string id, OSRSItem osrsItem)
        {
            switch (id)
            {
            case "RedPartyhat":
            case "BluePartyhat":
            case "YellowPartyhat":
            case "PurplePartyhat":
            case "WhitePartyhat":
            case "GreenPartyhat":
                return(true);

            default:
                return(false);
            }
        }
Exemple #4
0
        static void AddItem(OSRSItem osrsItem, List <ModItemDataXML> itemDataList, List <ModItemTypeDataXML> itemTypeDataList, List <ItemXML> texturesList, MagickImageCollection imageCollection)
        {
            int dupes;

            if (itemDataList.Exists(e => e.ItemID.Equals(NormalizeItemName(osrsItem.Name), StringComparison.InvariantCultureIgnoreCase)))
            {
                dupes = itemDataList.Where(e => e.ItemID.StartsWith(NormalizeItemName(osrsItem.Name) + "_", StringComparison.InvariantCultureIgnoreCase)).Count() + 1;
            }
            else
            {
                dupes = 0;
            }
            string itemid;

            if (dupes > 0)
            {
                itemid = $"{NormalizeItemName(osrsItem.Name)}_{dupes + 1}";
            }
            else
            {
                itemid = NormalizeItemName(osrsItem.Name);
            }
            if (!imageCached)
            {
                var img = new MagickImage(GetItemPathPng(osrsItem.Id));
                img.Crop(0, 0, 32, 32);
                imageCollection.Add(img);
                texturesList.Add(new ItemXML {
                    ItemID = itemid
                });
            }
            var itemData     = new ModItemDataXML();
            var itemTypeData = new ModItemTypeDataXML();

            foreach (Rule rule in rules)
            {
                if (rule.ShouldTransform(itemid, osrsItem))
                {
                    itemData     = rule.TransformItemData(itemid, osrsItem, itemData);
                    itemTypeData = rule.TransformItemTypeData(itemid, osrsItem, itemTypeData);
                }
            }

            itemDataList.Add(itemData);
            itemTypeDataList.Add(itemTypeData);
        }
 public override bool ShouldTransform(string id, OSRSItem osrsItem)
 {
     return(true);
 }
 public override ModItemTypeDataXML TransformItemTypeData(string id, OSRSItem osrsItem, ModItemTypeDataXML modItemTypeData)
 {
     modItemTypeData.Inv = ItemInvType.Jewelry;
     return(modItemTypeData);
 }
 public override ModItemDataXML TransformItemData(string id, OSRSItem osrsItem, ModItemDataXML modItemData)
 {
     return(modItemData);
 }
Exemple #8
0
 public abstract ModItemTypeDataXML TransformItemTypeData(string id, OSRSItem osrsItem, ModItemTypeDataXML modItemTypeData);
Exemple #9
0
 public abstract bool ShouldTransform(string id, OSRSItem osrsItem);