Example #1
0
        public void OnSelect(Item item)
        {
            var sword = item as ShortSword;

            if (sword != null)
            {
                Sample.Instance.Play(Assets.SND_EVOKE);
                ScrollOfUpgrade.Upgrade(item.CurUser);
                Item.Evoke(item.CurUser);

                GLog.Warning(ShortSword.TxtReforged, item.Name);

                ((MeleeWeapon)item).SafeUpgrade();
                item.CurUser.SpendAndNext(ShortSword.TimeToReforge);

                Badge.ValidateItemLevelAquired(item);
            }
            else
            {
                if (item is Boomerang)
                {
                    GLog.Warning(ShortSword.TxtNotBoomerang);
                }

                if (item.IsEquipped(item.CurUser))
                {
                    item.CurUser.Belongings.Weapon = item as Weapon;
                }
                else
                {
                    item.Collect(item.CurUser.Belongings.Backpack);
                }
            }
        }
Example #2
0
        public void OnSelect(Item item)
        {
            if (item != null)
            {
                Sample.Instance.Play(Assets.SND_EVOKE);
                ScrollOfUpgrade.Upgrade(item.CurUser);
                Item.Evoke(item.CurUser);

                GLog.Warning(WandOfMagicMissile.TxtDisenchanted, item.Name);

                item.Upgrade();
                item.CurUser.SpendAndNext(WandOfMagicMissile.TimeToDisenchant);

                Badge.ValidateItemLevelAquired(item);
            }
            else
            {
                //TODO: WandOfMagicMissile
                var wand = item as WandOfMagicMissile;

                if (wand != null)
                {
                    if (wand.DisenchantEquipped)
                    {
                        item.CurUser.Belongings.Weapon = item as KindOfWeapon;
                        item.UpdateQuickslot();
                    }
                    else
                    {
                        item.Collect(item.CurUser.Belongings.Backpack);
                    }
                }
            }
        }
Example #3
0
        public void Upgrade(Item item1, Item item2)
        {
            Item first, second;

            if (item2.level > item1.level)
            {
                first  = item2;
                second = item1;
            }
            else
            {
                first  = item1;
                second = item2;
            }

            Sample.Instance.Play(Assets.SND_EVOKE);
            ScrollOfUpgrade.Upgrade(Dungeon.Hero);
            Item.Evoke(Dungeon.Hero);

            if (first.IsEquipped(Dungeon.Hero))
            {
                ((EquipableItem)first).DoUnequip(Dungeon.Hero, true);
            }

            first.Upgrade();
            GLog.Positive(TXT_LOOKS_BETTER, first.Name);
            Dungeon.Hero.SpendAndNext(2f);
            Badge.ValidateItemLevelAquired(first);

            if (second.IsEquipped(Dungeon.Hero))
            {
                ((EquipableItem)second).DoUnequip(Dungeon.Hero, false);
            }

            second.DetachAll(Dungeon.Hero.Belongings.Backpack);

            Quest.reforged = true;

            Journal.Remove(Journal.Feature.TROLL);
        }