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); }