diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-03 19:20:02 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-03 19:20:02 +0000 |
commit | 67b94bd317dbd364b953d0a2663cc5a96d887649 (patch) | |
tree | c978639fb555ca33eae84cdb207459a3c89d3d0f /crawl-ref | |
parent | ae90cd6d8e608f787675f527acc98846af5c02c4 (diff) | |
download | crawl-ref-67b94bd317dbd364b953d0a2663cc5a96d887649.tar.gz crawl-ref-67b94bd317dbd364b953d0a2663cc5a96d887649.zip |
Outsourcing weapon noises to speak.txt, and adding more
messages.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2310 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/dat/speak.txt | 503 | ||||
-rw-r--r-- | crawl-ref/source/it_use3.cc | 164 | ||||
-rw-r--r-- | crawl-ref/source/item_use.cc | 2 |
3 files changed, 569 insertions, 100 deletions
diff --git a/crawl-ref/source/dat/speak.txt b/crawl-ref/source/dat/speak.txt index d58da9d2d6..76214f39ac 100644 --- a/crawl-ref/source/dat/speak.txt +++ b/crawl-ref/source/dat/speak.txt @@ -1802,3 +1802,506 @@ yak @The_monster@ snorts and paws the @surface@. %%%% +############################################## +############################################## +# Weapons that make noises. +############################################## +# The Singing Sword loves to sing and sometimes talks. +singing sword + +w:4 +@weapon_sings@ + +w:1 +@weapon_talks@ + +%%%% +# Noisy weapons like to chatter and imitate dungeon noises. +noisy weapon + +w:2 +@weapon_talks@ + +w:1 +SOUND:You hear @weapon_noise@ +%%%% +# for the Singing Sword only! +weapon_sings + +#sings +@The_weapon@ hums a little @tune_or_melody@. + +@The_weapon@ breaks into glorious song! + +@The_weapon@ sings. + +@The_weapon@ sings loudly. + +@The_weapon@ sings off-key. + +@The_weapon@ sings, "Tra-la-la..." + +@The_weapon@ sings a lullaby. + +@The_weapon@ whines plaintively. + +@The_weapon@ wails mournfully. + +@The_weapon@ practices its scales. + +@The_weapon@ lilts tunefully. + +@The_weapon@ yodels. + +@The_weapon@ hums tunelessly. + +@The_weapon@ makes a painfully high-pitched squeak. + +@The_weapon@ sings a sudden staccato note. + +@The_weapon@ sings a catchy @tune_or_melody@. + +@The_weapon@ hums a slow waltz. + +@The_weapon@ whistles merrily. + +#Beethoven +@The_weapon@ goes "Da-da-da-dum". + +@The_weapon@ chants serenely. + +@The_weapon@ trills happily. + +@The_weapon@ chants a little melody. + +@The_weapon@ sings a deeply moving song. + +@The_weapon@ hums an eerie @tune_or_melody@. + +@The_weapon@ hums a slow and mournful tune. + +@The_weapon@ launches into yet another solo. + +@The_weapon@ strikes up a merry @tune_or_melody@. + +@The_weapon@ emits a series of high-pitched trills. + +@The_weapon@ composes a new song. + +@The_weapon@ makes a sound as if to clear its throat. + +@The_weapon@ sings a quivering drawn-out note. + +@The_weapon@ sings a little jingle. + +@The_weapon@ strikes up a funeral march. + +@The_weapon@ merrily whistles a melody. + +In a hysteric voice, @the_weapon@ strikes up a march. + +@The_weapon@ sings @several@ chords at once. + +@The_weapon@ trains the @kind_of_scales@ scales. + +@The_weapon@ pulls out all the stops. + +@The_weapon@ sets up a furious crescendo. + +@The_weapon@ plays a requiem for the unknown sword. + +@The_weapon@ strikes up a @dance@. + +@The_weapon@ intonates @an_aria_or_fugue@. + +@The_weapon@ @nearly_or_clearly@ @hits_or_misses@ the concert pitch. + +#imitates instruments +@The_weapon@ makes a twanging sound. + +@The_weapon@ chimes melodiously. + +@The_weapon@ chimes harmoniously. + +@The_weapon@ makes beautiful music. + +@The_weapon@ produces a loud orchestral chord. + +@The_weapon@ tinkles. + +@The_weapon@ rings like a bell. + +@The_weapon@ imitates a saxophone. + +@The_weapon@ chimes like a gong. + +@The_weapon@ applauds itself. + +@The_weapon@ goes toot-toot! + +@The_weapon@ does a drum roll. + +@The_weapon@ holds a dissonant chord. + +@The_weapon@ beats time. + +#speaks +@The_weapon@ says, "Hi! I'm the Singing Sword!" + +@The_weapon@ shouts, "Sing along with me!" + +@The_weapon@ shouts, "One, two, three..." + +@The_weapon@ spouts musical wisdom. + +@The_weapon@ chants, "I am golden and pointed, and with blood well anointed." + +@The_weapon@ dictates a lengthy tome entitled 'The Well-Tempered Blade'. + +@The_weapon@ @points_out@ the lack of singing @not_swords@. + +@The_weapon@ embarks on a lenghty monologue about murderous music. + +@The_weapon@ curses its smith: "I was supposed to be the Stinging Sword!" + +@The_weapon@ muses how they don't make such fine swords anymore. + +@The_weapon@ tries to improvise rhymes, and fails miserably. + +@The_weapon@ complains about @double_or_triple@ swords. + +@The_weapon@ derides short swords. + +@The_weapon@ yells, "Ploughshares to swords!" and giggles. + +@The_weapon@ chants, "Rather stab than club, rather slice than rub!" + +# end Singing Sword +%%%% +# general chatter for noisy weapons, +# including Singing Sword +weapon_talks + +#speaks +@Your_weapon@ shouts, "Whoopee!" + +@Your_weapon@ argues with itself. + +@Your_weapon@ complains about the scenery. + +@Your_weapon@ says, "I'm bored." + +@Your_weapon@ shouts out instructions! + +@Your_weapon@ says, "Ssh! Did you hear that?" + +@Your_weapon@ cheers you on. + +@Your_weapon@ calls out a warning! + +@Your_weapon@ hurls insults at you. + +@Your_weapon@ chatters happily. + +@Your_weapon@ recites a poem. + +@Your_weapon@ prattles on and on. + +@Your_weapon@ regales you with its life story. + +@Your_weapon@ speaks gibberish. + +@Your_weapon@ raves incoherently. + +@Your_weapon@ shouts, "Help!" + +@Your_weapon@ happily shouts, "Violence is virtue, silence is sin." + +@Your_weapon@ says, "They will have to pry me from your cold, dead hands." + +@Your_weapon@ longs back for the days in the arena. + +#song by the Misfits +@Your_weapon@ asks plaintively, "Mommy, can I go out and kill tonight?" + +@Your_weapon@ cries, "Don't ditch me yet! I promise to be forever silent." + +@Your_weapon@ amuses itself with detailed descriptions of past executions. + +@Your_weapon@ wails, "I am too young to rust!" + +@Your_weapon@ wishes everyone in the dungeon @unpleasant_or_sudden@ @demise_or_death@. + +@Your_weapon@ fumes, "Being battered, bent and broken sure is better than this boredom!" + +@Your_weapon@ yells, "No battle, no fun!" + +@Your_weapon@ shouts, "This level is mine! Um, ours." + +@Your_weapon@ cracks jokes of @questionable@ humour. + +@Your_weapon@ dwells on sagas on the glory of old. + +@Your_weapon@ belts out, "Dying in battle is most honourable!" + +@Your_weapon@ gleefully confesses its misdeeds. + +@Your_weapon@ groans, "That's what you call fighting?" + +@Your_weapon@ shouts, "Left! No, no, right!". + +@Your_weapon@ says, "How I wish you were a better fighter." + +@Your_weapon@ grouses, "Could you please kill something? I'm itching all over." + +@Your_weapon@ shouts, "Make war, not love!" + +#makes noises +@Your_weapon@ growls menacingly. + +@Your_weapon@ sputters and hisses. + +@Your_weapon@ hollers! + +@Your_weapon@ pants and wheezes. + +@Your_weapon@ barks abruptly. + +@Your_weapon@ sighs. + +@Your_weapon@ wails. + +@Your_weapon@ howls with laughter! + +@Your_weapon@ laughs crazily. + +@Your_weapon@ burps! + +@Your_weapon@ goes snicker-snack! + +@Your_weapon@ lets out a mournful sigh. + +@Your_weapon@ yells in some weird language. + +@Your_weapon@ makes a horrible noise. + +@Your_weapon@ makes a deep moaning sound. + +@Your_weapon@ gives off a wolf whistle. + +@Your_weapon@ wails. + +@Your_weapon@ giggles. + +@Your_weapon@ lets out a whoop! + +@Your_weapon@ yawns loudly. + +@Your_weapon@ intones a prayer. + +@Your_weapon@ cries out! + +@Your_weapon@ swears loudly. + +@Your_weapon@ inquires about your family. + +@Your_weapon@ coughs loudly. + +@Your_weapon@ burbles away merrily. + +@Your_weapon@ gurgles. + +@Your_weapon@ suddenly shrieks! + +@Your_weapon@ cackles. + +@Your_weapon@ warbles. + +@Your_weapon@ suddenly bursts into laughter! + +@Your_weapon@ snorts. + +@Your_weapon@ comments on the weather. + +@Your_weapon@ makes a deep, guttural noise. + +@Your_weapon@ gives off a sizzling sound. + +@Your_weapon@ whistles innocently. + +@Your_weapon@ makes a popping sound. + +@Your_weapon@ yelps loudly! + +@Your_weapon@ lets out a series of bird calls. + +# end weapon chatter +%%%% +# noises for weapons with NOISES property (not Singing Sword!) +weapon_noise + +#dungeon noises +a shout. + +an angry hiss. + +a high-pitched scream! + +a roar! + +a hideous shriek! + +a piteous moan. + +a screech! + +a bellow! + +a loud, deep croak! + +an angry buzzing noise. + +an irritating high-pitched whine. + +a splashing noise. + +a sizzling sound. + +a loud clanging noise! + +a grinding noise. + +a mighty clap of thunder! + +a hideous screaming! + +a bark! + +a rumbling sound. + +a crunching sound. + +a distant "Zot"! + +the distant roaring of an enraged frog. + +# other noises, usually not found in the dungeon +a voice call your name. + +a very strange noise. + +someone snoring. + +the sound of rushing water. + +someone calling for help! + +strange voices. + +a knock. + +maniacal laughter. + +snatches of song. + +a twanging sound. + +the chiming of a distant gong. + +the tinkle of an enormous bell. + +an echo. + +the wailing of sirens. + +a flourish of trumpets! + +# end weapon noises +%%%% +#synonyms for weapon noises +several + +several + +three or four + +a multitude of +%%%% +kind_of_scales + +pentatonic + +chromatic + +diatonic +%%%% +not_swords + +clubs + +axes + +polearms +%%%% +points_out + +points out + +remarks in passing on +%%%% +dance + +bossanova + +waltz + +menuet +%%%% +an_aria_or_fugue + +an aria + +a fugue +%%%% +nearly_or_clearly + +nearly + +clearly +%%%% +hits_or_misses + +hits + +misses +%%%% +tune_or_melody + +tune + +melody +%%%% +unpleasant_or_sudden + +an unpleasant + +a sudden +%%%% +demise_or_death + +demise + +death +%%%% +questionable + +questionable + +doubtful +%%%% +double_or_triple + +double + +triple +%%%%
\ No newline at end of file diff --git a/crawl-ref/source/it_use3.cc b/crawl-ref/source/it_use3.cc index 96b5bc1f98..79b0ba0cde 100644 --- a/crawl-ref/source/it_use3.cc +++ b/crawl-ref/source/it_use3.cc @@ -23,6 +23,7 @@ #include "beam.h" #include "cloud.h" +#include "database.h" #include "decks.h" #include "direct.h" #include "effects.h" @@ -78,118 +79,83 @@ void special_wielded() if (makes_noise) { - // Singing Sword only: singing and other musical noises - const char* suffixes_sing[] = { - "hums a little tune.", "breaks into glorious song!", - "sings.", "sings loudly.", "chimes melodiously.", - "sings off-key.", "sings 'tra-la-la'.", "sings a lullaby.", - "chimes harmoniously.", "makes beautiful music.", - "produces a loud orchestral chord.", "whines plaintively.", - "tinkles.", "rings like a bell.", "wails mournfully.", - "practices its scales.", "lilts tunefully.", "yodels.", - "hums tunelessly.", "makes a painfully high-pitched squeak.", - "sings a sudden staccato note.", "sings a catchy tune.", - "says 'Hi! I'm the Singing Sword!'", "hums a slow waltz.", - "imitates a saxophone.", "shouts 'Sing with me!'", - "chimes like a gong.", "applauds itself.", "whistles merrily.", - "goes 'Da-da-da-dum.", "goes toot-toot!", "chants serenely.", - "trills happily.", "shouts 'One, two, three...'", - "chants a little melody.", "sings a deeply moving song.", - "hums an eerie melody.", "hums a slow and mournful tune.", - "launches into yet another solo.", "strikes up a merry tune.", - "emits a series of high-pitched trills.", "does a drum roll.", - "holds a dissonant chord.", "composes a new song.", - "makes a sound as if to clear its throat.", "beats time.", - "sings a quivering drawn-out note.", "sings a little jingle.", - "makes a twanging sound.", "spouts musical wisdom." - }; - - // mostly chatter and other human-like sounds - const char* suffixes_talk[] = { - "speaks gibberish.", "raves incoherently.", "shouts 'Help!'", - "growls menacingly.", "sputters and hisses.", "hollers!", - "pants and wheezes.", "barks abruptly.", "sighs.", "wails.", - "howls with laughter!", "laughs crazily.", "burps!", - "goes snicker-snack!", "lets out a mournful sigh.", - "yells in some weird language.", "makes a horrible noise.", - "makes a deep moaning sound.", "gives off a wolf whistle.", - "wails.", "giggles.", "lets out a whoop!", "yawns loudly.", - "chatters happily.", "recites a poem.", "prattles on and on.", - "regales you with its life story.", "intones a prayer.", - "shouts 'Whoopee!'", "hurls insults at you.", "cries out!", - "argues with itself.", "complains about the scenery.", - "says 'I'm bored.'", "calls out a warning!", "swears loudly.", - "inquires about your family.", "coughs loudly.", - "burbles away merrily.", "gurgles.", "suddenly shrieks!", - "cackles.", "warbles.", "suddenly bursts into laughter!", - "shouts out instructions!", "cheers you on.", "snorts.", - "comments on the weather.", "makes a deep, guttural noise.", - "gives off a sizzling sound.", "whistles innocently.", - "makes a popping sound.", "says 'Ssh! Did you hear that?'", - "yelps loudly!", "lets out a series of bird calls." - }; - - // noises in the form "Your hear ...", mostly in-game noises - const char* suffixes_sounds[] = { - "a voice call your name.", "a shout.", "an angry hiss.", - "a very strange noise.", "a high-pitched scream!", - "a roar!", "someone snoring.", "a hideous shriek!", - "a piteous moan.", "a screech!", "a bellow!", - "a loud, deep croak!", "an angry buzzing noise.", - "an irritating high-pitched whine.", "a splashing noise.", - "the sound of rushing water.", "a sizzling sound.", - "someone calling for help!", "strange voices.", - "a loud clanging noise!", "a grinding noise.", "a knock.", - "a mighty clap of thunder!", "maniacal laughter.", - "a hideous screaming!", "snatches of song.", "a bark!", - "a rumbling sound.", "a twanging sound.", "an echo. Echo.", - "the chiming of a distant gong.", "a crunching sound.", - "the tinkle of an enormous bell.", "a distant \"Zot\"!", - "the distant roaring of an enraged frog.", "an echo.", - "the wailing of sirens.", "a flourish of trumpets!" - }; - - int num_suffixes; - std::string message; - msg_channel_type channel = MSGCH_TALK; - + std::string msg; + if (you.special_wield == SPWLD_SING) { - message = "The Singing Sword "; - if (!one_chance_in(5)) // sings + msg = getSpeakString("Singing Sword"); + if (msg != "") { - num_suffixes = sizeof(suffixes_sing) - / sizeof(suffixes_sing[0]); - message += suffixes_sing[random2(num_suffixes)]; + // "Your Singing Sword" sounds disrespectful + // (as if there could be more than one!) + msg = replace_all(msg, "@Your_weapon@", "@The_weapon@"); + msg = replace_all(msg, "@your_weapon@", "@the_weapon@"); } - else // talks + } + else // SPWLD_NOISE + { + msg = getSpeakString("noisy weapon"); + if (msg != "") { - num_suffixes = sizeof(suffixes_talk) - / sizeof(suffixes_talk[0]); - message += suffixes_talk[random2(num_suffixes)]; + msg = replace_all(msg, "@Your_weapon@", "Your @weapon@"); + msg = replace_all(msg, "@your_weapon@", "your @weapon@"); } } - else // SPWLD_NOISE + + // set appropriate channel (will usually be TALK) + msg_channel_type channel = MSGCH_TALK; + + // disallow anything with VISUAL in it; + if (msg != "" && msg.find("VISUAL") != std::string::npos) + msg = ""; + + if (msg != "") { - if (one_chance_in(3)) // "You hear..." noises + std::string param = ""; + std::string::size_type pos = msg.find(":"); + + if (pos != std::string::npos) + param = msg.substr(0, pos); + + if (!param.empty()) { - message = "You hear "; - num_suffixes = sizeof(suffixes_sounds) - / sizeof(suffixes_sounds[0]); - message += suffixes_sounds[random2(num_suffixes)]; - channel = MSGCH_SOUND; + bool match = true; + + if (param == "DANGER") + channel = MSGCH_DANGER; + else if (param == "WARN") + channel = MSGCH_WARN; + else if (param == "SOUND") + channel = MSGCH_SOUND; + else if (param == "PLAIN") + channel = MSGCH_PLAIN; + else if (param == "SPELL" || param == "ENCHANT") + msg = ""; // disallow these as well, channel stays TALK + else if (param != "TALK") + match = false; + + if (match && msg != "") + msg = msg.substr(pos + 1); } - else // normal chatter + } + + if (msg == "") // give default noises + { + if (you.special_wield == SPWLD_SING) + msg = "@The_weapon@ sings."; + else { - message = "Your "; - message += you.inv[wpn].name(DESC_BASENAME); - message += " "; - num_suffixes = sizeof(suffixes_talk) - / sizeof(suffixes_talk[0]); - message += suffixes_talk[random2(num_suffixes)]; + channel = MSGCH_SOUND; + msg = "You hear a strange noise."; } } - mpr(message.c_str(), channel); + + // replace weapon references + msg = replace_all(msg, "@The_weapon@", "The @weapon@"); + msg = replace_all(msg, "@the_weapon@", "the @weapon@"); + msg = replace_all(msg, "@weapon@", you.inv[wpn].name(DESC_BASENAME)); + + mpr(msg.c_str(), channel); } // makes_noise break; diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index e1cdbb2bce..ed073cc415 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -540,7 +540,7 @@ void wield_effects(int item_wield_2, bool showMsgs) case SPWPN_SINGING_SWORD: if (!was_known) - mprf(MSGCH_TALK, "%s says, 'Hi! I'm the Singing Sword!'", old_desc); + mprf(MSGCH_TALK, "%s says, \"Hi! I'm the Singing Sword!\"", old_desc); else mpr("The Singing Sword hums in delight!", MSGCH_TALK); break; |