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; } } }
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); }