Ejemplo n.º 1
0
        /// <summary>
        /// Adds a piece of equipment to this.
        /// </summary>
        /// <param name="inventory">The inventory to take the item from.</param>
        /// <param name="caster">The one equipping the equip onto this equipment.</param>
        /// <param name="equippableItem">The equippable item to equip.</param>
        public void AddEquip(Inventory inventory, BuffParams caster, EquippableItem equippableItem)
        {
            inventory.Remove(equippableItem);
            if (Contains(equippableItem.Type))
            {
                RemoveEquip(inventory, equippableItem.Type);
            }

            Buff buff = equippableItem.CreateBuff();

            if (buff != null)
            {
                buff.Caster = caster;
                itemBuffs.Add(equippableItem.Type, buff);
                AddBuff(buff);
            }

            equipped.Add(equippableItem.Type, equippableItem);
            foreach (KeyValuePair <StatType, int> pair in equippableItem.StatBonuses)
            {
                Util.Assert(StatType.ASSIGNABLES.Contains(pair.Key), "Invalid stat type on equipment.");
                this.statBonuses[pair.Key] += pair.Value;
                AddSplat(new SplatDetails(pair.Key, pair.Value, string.Empty));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AddBuff"/> class.
 /// </summary>
 /// <param name="caster">The caster.</param>
 /// <param name="target">The target.</param>
 /// <param name="buff">The buff.</param>
 public AddBuff(BuffParams caster, Buffs target, Buff buff) : base(1)
 {
     this.target      = target;
     this.buff        = buff;
     this.buff.Caster = caster;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EquipItemEffect"/> class.
 /// </summary>
 /// <param name="ep">The ep.</param>
 /// <param name="bp">The bp.</param>
 public EquipItemEffect(EquipParams ep, BuffParams bp) : base(1)
 {
     this.ep = ep;
     this.bp = bp;
 }