Exemple #1
0
        public override void Press(int cell, Character ch)
        {
            base.Press(cell, ch);

            if (ch != Dungeon.Hero || _enteredArena || !RoomExit.Inside(cell))
            {
                return;
            }

            _enteredArena = true;

            int pos;

            do
            {
                pos = RoomExit.Random();
            }while (pos == cell || Actor.FindChar(pos) != null);

            var boss = Bestiary.Mob(Dungeon.Depth);

            boss.State = boss.HUNTING;
            boss.pos   = pos;
            GameScene.Add(boss);
            boss.Notice();

            MobPress(boss);

            Set(_arenaDoor, Terrain.LOCKED_DOOR);
            GameScene.UpdateMap(_arenaDoor);
            Dungeon.Observe();
        }
        protected internal override void CreateMobs()
        {
            var mob = Bestiary.Mob(Dungeon.Depth);

            mob.pos = RoomExit.Random();
            mobs.Add(mob);
        }