| 473 | alt_whistle_str[] = "produce a %s, sharp vibration."; |
| 474 | |
| 475 | staticfn void |
| 476 | use_whistle(struct obj *obj) |
| 477 | { |
| 478 | if (!can_blow(&gy.youmonst)) { |
| 479 | You("are incapable of using the whistle."); |
| 480 | } else if (Underwater) { |
| 481 | You("blow bubbles through %s.", yname(obj)); |
| 482 | } else { |
| 483 | if (Deaf) |
| 484 | You_feel("rushing air tickle your %s.", body_part(NOSE)); |
| 485 | else |
| 486 | You(whistle_str, obj->cursed ? "shrill" : "high"); |
| 487 | Soundeffect(se_shrill_whistle, 50); |
| 488 | wake_nearby(TRUE); |
| 489 | if (obj->cursed) |
| 490 | vault_summon_gd(); |
| 491 | } |
| 492 | } |
| 493 | |
| 494 | staticfn void |
| 495 | use_magic_whistle(struct obj *obj) |
no test coverage detected