Exemple #1
0
        public override bool AttachTo(Character target)
        {
            if (!base.AttachTo(target))
            {
                return(false);
            }
            target.Paralysed = true;

            Buff.Detach <Burning>(target);

            var hero = target as Hero;

            if (hero == null)
            {
                return(true);
            }

            var item = hero.Belongings.RandomUnequipped();

            if (!(item is MysteryMeat))
            {
                return(true);
            }

            item.Detach(hero.Belongings.Backpack);

            var carpaccio = new FrozenCarpaccio();

            if (!carpaccio.Collect(hero.Belongings.Backpack))
            {
                Dungeon.Level.Drop(carpaccio, hero.pos).Sprite.Drop();
            }

            return(true);
        }
Exemple #2
0
        public virtual void Freeze()
        {
            if (HeapType != Type.Heap)
            {
                return;
            }

            var frozen = false;

            foreach (var item in Items.OfType <MysteryMeat>())
            {
                Replace(item, FrozenCarpaccio.Cook(item));
                frozen = true;
            }

            if (!frozen)
            {
                return;
            }

            if (IsEmpty)
            {
                Destroy();
            }
            else
            if (Sprite != null)
            {
                Sprite.View(Image(), Glowing());
            }
        }