4 class PinkMazeGameMaster < RDGC::Scene::GameMaster
7 case self.params[:game_mode]
11 produce_endless_dungeon
13 produce_endless_dungeon
17 def produce_normal_dungeon
18 factroy = ROgue01::Dungeon::PinkMazeMonsterFactory.new(self.floor)
19 factroy.game_mode = self.params[:game_mode]
23 maze = ROgue01::Dungeon::PinkMaze.create(self.player, self.floor,
24 :monster_factory => factroy, :downstep => false, :monster_max_ratio => 5.0,
25 :monster_pop_time=> RDGC::Util::Config.act_max_count*3, :visible_level => :normal)
28 maze = ROgue01::Dungeon::PinkMaze.create(self.player, self.floor,
29 :monster_factory => factroy, :visible_level => :normal)
31 maze = ROgue01::Dungeon::PinkMaze.create(
32 self.player, self.floor, :monster_factory => factroy)
38 def produce_endless_dungeon
39 m = ROgue01::Dungeon::PinkMaze.create(self.player, self.floor)
40 return m unless m.board.blind_mode == :normal
43 dark_max = (m.board.rooms.size.to_f / 3.0).ceil
44 dark_count = range_rand(0, dark_max)
46 m.board.rooms.choice.set_blind(:dark)
50 m.board.open_blind(m.player.x, m.player.y, m.player.view_range)
57 if @boss && @boss.disable?
58 RDGC::Messages << %Q(#{@boss.name}から"熟しきったリンゴ"を手に入れた!)
59 RDGC::Messages << "Press SPACE..."
64 if self.params[:game_mode] == :normal
66 add_turn_count if act_rsl.to_s.match(/^player/)
78 x, y = d.random_point(false)
81 @boss = Monster::PinkBig.create(floor*3, x, y)
82 @boss.boss_flag = true