… | |
… | |
46 | total_experience = 0; |
46 | total_experience = 0; |
47 | failed_placements = 0; |
47 | failed_placements = 0; |
48 | exp_per_sq = 0; |
48 | exp_per_sq = 0; |
49 | while (exp_per_sq <= level_exp (difficulty, 1.0) && failed_placements < 100 && number_monsters < (RP->Xsize * RP->Ysize) / 8) |
49 | while (exp_per_sq <= level_exp (difficulty, 1.0) && failed_placements < 100 && number_monsters < (RP->Xsize * RP->Ysize) / 8) |
50 | { |
50 | { |
51 | object *this_monster = style_map->pick_random_object (); |
51 | object *this_monster = style_map->pick_random_object (rmg_rndm); |
52 | int x, y, freeindex; |
52 | int x, y, freeindex; |
53 | |
53 | |
54 | if (this_monster == NULL) |
54 | if (this_monster == NULL) |
55 | return; /* no monster?? */ |
55 | return; /* no monster?? */ |
56 | |
56 | |
57 | x = rndm (RP->Xsize); |
57 | x = rmg_rndm (RP->Xsize); |
58 | y = rndm (RP->Ysize); |
58 | y = rmg_rndm (RP->Ysize); |
59 | freeindex = find_first_free_spot (this_monster, map, x, y); |
59 | freeindex = find_first_free_spot (this_monster, map, x, y); |
60 | if (freeindex != -1) |
60 | if (freeindex != -1) |
61 | { |
61 | { |
62 | object *new_monster = this_monster->deep_clone (); |
62 | object *new_monster = this_monster->deep_clone (); |
63 | x += freearr_x[freeindex]; |
63 | x += freearr_x[freeindex]; |