/**
* A small metal harmonica.
* By Liceas - 17/07/02
*/
inherit HELD_OBJ;
/** @ignore yes */
void setup() {
set_name("harmonica");
set_short("small metal harmonica");
add_adjective("small metal");
set_long("Consisting of a grid of two by fifteen square holes in a metal "
"casing, this small harmonica has been designed for bards on the "
"move. The metal casing has been painted black, while the "
"occasional blue splodge dotting its surface gives the instrument "
"character.\n");
set_weight(5);
set_value(600);
} /* setup() */
/** @ignore yes */
int do_blow() {
if( !query_holder() ) {
add_failed_mess("You have to hold $D before you can play "
"$V$0=it,them$V$.\n");
return 0;
}
switch( random(12) ) {
case 0:
add_succeeded_mess("$N take$s a deep breath of air and raise$s $D to "
"$p lips, then blow$s out while moving $D from left to right, "
"giving a short run up the scales.\n");
return 1;
case 1:
add_succeeded_mess("$N snort$s in some air and raise$s $D to $p "
"lips and blow$s the air out while moving $D from right to "
"left, giving a run down the musical scale.\n");
return 1;
case 2:
add_succeeded_mess("$N take$s a hefty lungful of air, raise$s $D to "
"$p lips and blow$s the air out, playing a brief and shaky "
"tune.\n");
return 1;
case 3:
add_succeeded_mess("$N suck$s in a shallow lungful of air, raise$s "
"$D to $p lips and blow$s the air out while moving $D from left "
"to right, playing a short but snappy tune.\n");
return 1;
case 4:
add_succeeded_mess("$N inhale$s deeply, then raise$s $D to just "
"under $p lips and blow$s the air out while moving $D quickly, "
"playing a fast paced tune.\n");
return 1;
case 5:
add_succeeded_mess("$N blow$s $D without taking in any air, playing "
"a mixture of notes that produce a horrible sound.\n");
return 1;
case 6:
add_succeeded_mess("$N take$s a deep breath, raise$s $D to $p lips "
"and blows the air out while moving $D from side to side, "
"producing a long serenade with a slow tempo.\n");
return 1;
case 7:
add_succeeded_mess("$N suck$s in some air, raise$s $D to $p lips "
"and moves $D with style, producing a well-played melody with a "
"fast beat.\n");
return 1;
case 8:
add_succeeded_mess("$N take$s a deep breath and raise$s $D to $p "
"lips, then move$s it from side to side while blowing out the "
"air and produce$s a soft but short piece of music.\n");
return 1;
case 9:
add_succeeded_mess("$N snort$s some air in, raise$s $D to $p lips "
"and produce$s a long and boring tune while moving $D from side "
"to side.\n");
return 1;
case 10:
add_succeeded_mess("$N sniff$s in a shallow lungful of air, raise$s "
"$D to $p lips and produce$s a calming ballad while moving $D "
"slowly.\n");
return 1;
default:
add_succeeded_mess("$N take$s a hefty lungful of air, raise$s $D "
"to just under $p lips and make$s a loud beep.\n");
return 1;
}
} /* do_blow() */
/** @ignore yes */
int do_play() { return do_blow(); }
/** @ignore yes */
void init() {
add_command("blow");
add_command("play");
} /* init() */