public void Initialize() { foreach (var i in this.Items.Split(',')) { if (i.Trim() != "") { this.ItemsList.Add(int.Parse(i.Trim())); } } int lvl = 2; foreach (var s in this.Bonus.Split(';')) { var allBonus = new List <World.Handlers.Items.Effect>(); this.BonusList.Add(lvl, allBonus); if (s.Trim() != "") { foreach (var b in s.Trim().Split(',')) { if (b.Trim() != "") { try { var bData = b.Trim().Split(':'); var bonus = new World.Handlers.Items.Effect() { ID = int.Parse(bData[0].Trim()), }; bonus.Des.Fix = int.Parse(bData[1].Trim()); allBonus.Add(bonus); } catch { //Utilities.ConsoleStyle.Debug("Can't load effect for item set : " + this.Name); } } } } lvl++; } }
public void ApplyEffect(World.Handlers.Items.Effect effect, bool remove = false) { //Console.WriteLine(effect.ID.ToString()); int value = effect.Des.Fix; if (remove) { value = -value; } switch ((Enums.ItemEffectEnum)effect.ID) { case Enums.ItemEffectEnum.Strenght: Strenght.Items += value; break; case Enums.ItemEffectEnum.Wisdom: Wisdom.Items += value; break; case Enums.ItemEffectEnum.Life: Life.Items += value; this._character.CurrentLife += value; break; case Enums.ItemEffectEnum.Fire: Fire.Items += value; break; case Enums.ItemEffectEnum.Agility: Agility.Items += value; break; case Enums.ItemEffectEnum.Water: Water.Items += value; break; case Enums.ItemEffectEnum.AP: ActionPoints.Items += value; break; case Enums.ItemEffectEnum.MP: MovementPoints.Items += value; break; case Enums.ItemEffectEnum.DamagePoint: FixPointBonus.Items += value; break; case Enums.ItemEffectEnum.DamagePercent: PercentPointBonus.Items += value; break; case Enums.ItemEffectEnum.HealPoint: HealPointBonus.Items += value; break; case Enums.ItemEffectEnum.ViewPoint: ViewBonus.Items += value; break; case Enums.ItemEffectEnum.CriticalPoint: CriticalBonus.Items += value; break; case Enums.ItemEffectEnum.SummonPoint: SummonBonus.Items += value; break; case Enums.ItemEffectEnum.AddPods: PodsBonus.Items += value; break; case Enums.ItemEffectEnum.ReverseDamage: ReverseDamagesBonus.Items = value; break; } }