augment the Plane of Fire; called from goto_level() when arriving and moveloop_core() when on the level */
| 1481 | /* augment the Plane of Fire; called from goto_level() when arriving and |
| 1482 | moveloop_core() when on the level */ |
| 1483 | void |
| 1484 | fumaroles(void) |
| 1485 | { |
| 1486 | xint16 n, nmax = rn2(3); |
| 1487 | int sizemin = 5; |
| 1488 | boolean snd = FALSE, loud = FALSE; |
| 1489 | |
| 1490 | if (Is_firelevel(&u.uz)) { |
| 1491 | nmax++; |
| 1492 | sizemin += 5; |
| 1493 | } |
| 1494 | if (svl.level.flags.temperature > 0) { |
| 1495 | nmax++; |
| 1496 | sizemin += 5; |
| 1497 | } |
| 1498 | |
| 1499 | for (n = nmax; n; n--) { |
| 1500 | coordxy x = rn1(COLNO - 4, 3); |
| 1501 | coordxy y = rn1(ROWNO - 4, 3); |
| 1502 | |
| 1503 | if (levl[x][y].typ == LAVAPOOL) { |
| 1504 | NhRegion *r = create_gas_cloud(x, y, rn1(10, sizemin), rn1(10, 5)); |
| 1505 | |
| 1506 | clear_heros_fault(r); |
| 1507 | snd = TRUE; |
| 1508 | if (distu(x, y) < 15) |
| 1509 | loud = TRUE; |
| 1510 | } |
| 1511 | } |
| 1512 | if (snd && !Deaf) |
| 1513 | Norep("You hear a %swhoosh!", loud ? "loud " : ""); /* Deaf-aware */ |
| 1514 | } |
| 1515 | |
| 1516 | /* |
| 1517 | * Special waterlevel stuff in endgame (TH). |
no test coverage detected