private void CreateDefaultOverrides()
        {
            try
            {
                // Creates an instance of the XmlSerializer class;
                // specifies the type of object to serialize.
                XmlSerializer serializer =
                    new XmlSerializer(typeof(OutwardItemOverrides));
                TextWriter           writer = new StreamWriter(Path.Combine(basePath, "Default.xml"));
                OutwardItemOverrides po     = new OutwardItemOverrides();


                // Creates an ItemOverride.
                ItemOverride i1 = new ItemOverride();
                i1.ItemID = 2000090;

                // Creates an WeaponOverrideData
                WeaponOverrideData o1 = new WeaponOverrideData();
                o1.OverrideType   = OverrideType.WEAPON;
                o1.WeaponStatType = WeaponStatType.DAMAGE;
                o1.DmgType        = DamageType.Types.Fire;
                o1.Value          = 200;

                // Creates an ItemOverrideData
                ItemOverrideData o2 = new ItemOverrideData();
                o2.OverrideType = OverrideType.ITEMSTAT;
                o2.ItemStatType = ItemStatType.MAXDURABILITY;
                o2.Value        = 25.0f;

                // Add them to the list of overrides
                i1.Data = new List <OverrideData>();
                i1.Data.Add(o1);
                i1.Data.Add(o2);

                // Inserts the item into the array.
                po.ItemOverrides = i1;

                // Set DebugMode to default OFF
                po.DebugMode = false;

                // Serializes the WeaponOverrideData, and closes the TextWriter.
                serializer.Serialize(writer, po);
                writer.Close();
            } catch (Exception e)
            {
                throw e;
            }
        }
        private T[] GetItems <T>(Content content, Func <int, T> func, int count) where T : BaseItem
        {
            BaseItem[] items;
            T[]        typedItems;

            if (ItemOverride != null && ItemOverride.TryGetValue(content, out items))
            {
                typedItems = items.Cast <T>().ToArray();
            }
            else
            {
                typedItems = GetItems(func, count);
            }

            return(typedItems);
        }
        private void ParseItemOverrides(ItemOverride itemOverride, Item item)
        {
            foreach (var overrideData in itemOverride.Data)
            {
                switch (overrideData.OverrideType)
                {
                case OverrideType.NONE:
                case OverrideType.ARMOUR:
                case OverrideType.SPELL:
                case OverrideType.BAG:
                    break;

                case OverrideType.ITEMSTAT:
                    ParseItemStatChanges((ItemOverrideData)overrideData, item);
                    break;

                case OverrideType.WEAPON:
                    ParseWeaponChanges((WeaponOverrideData)overrideData, item);
                    break;
                }
            }
        }
예제 #4
0
 public override void UpdateArmorSet(Player player)
 {
     player.setBonus = "“你的身体看起来……没有顺序?”\n" +
                       "-\n" +
                       "[c/0000FF:魔法消耗]减少60%,[c/00FFFF:召唤物]击退增加10%,[c/FF0000:生命恢复]增加100\n" +
                       "[c/7F7F7F:耐力]增加70%,免疫熔浆,[c/FF0000:红心拾取范围]加大\n" +
                       "[c/00FFFF:最大随从]增加10个,[c/000000:所有伤害]乘以6.66\n" +
                       "改为65%不[c/00007F:消耗弹药]\n" +
                       "[c/00FFFF:召唤星辰守护者]为你而战,拥有[c/FF00FF:星云套]效果\n" +
                       "改为双击下键进入隐身状态";
     player.manaCost           -= 0.6f;
     player.minionKB           += 0.1f;
     player.allDamage          *= 6.66f;
     player.endurance          += 0.7f;
     player.lifeRegen          += 100;
     player.setNebula           = true;
     player.lavaImmune          = true;
     player.lifeMagnet          = true;
     player.maxMinions         += 10;
     player.vortexStealthActive = true;
     Player.crystalLeafKB       = 4;
     Player.crystalLeafDamage   = 444;
     ItemOverride.漂浮叶绿水晶(player);
 }