From edbb46d293cfc03a4f5f2077b494d62f7c0873e0 Mon Sep 17 00:00:00 2001 From: haranp Date: Mon, 23 Jul 2007 22:12:21 +0000 Subject: More spoken monster lines (lemuel - 1748862) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1921 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/monspeak.cc | 231 ++++++++++++++++++++++++++++++------------- 1 file changed, 165 insertions(+), 66 deletions(-) (limited to 'crawl-ref/source/monspeak.cc') diff --git a/crawl-ref/source/monspeak.cc b/crawl-ref/source/monspeak.cc index 6a4077704a..30d59d123d 100644 --- a/crawl-ref/source/monspeak.cc +++ b/crawl-ref/source/monspeak.cc @@ -503,71 +503,119 @@ bool mons_speaks(const monsters *monster) } // friendly imps are too common so they speak very very rarely - if ((monster->type == MONS_IMP) && (random2(10))) - return (false); + if (monster->type == MONS_IMP) + { + if (!one_chance_in(10)) + return (false); - switch (random2(18)) + switch (random2(12)) + { + case 0: + strcat(info, " says, \"Just to tell me who NOT to kill.\""); + break; + case 1: + strcat(info, " says, \"OK Boss!\""); + break; + case 2: + strcat(info, " grins impishly at you."); + break; + case 3: + strcat(info, " picks up some beetles from the floor " + "and offers them to you."); + break; + case 4: + strcat(info, " blows smoke rings."); + break; + case 5: + strcat(info, " shouts, \"Over here! I found it!\""); + break; + case 6: + strcat(info, " says, \"The Orb is all yours.\""); + break; + case 7: + strcat(info, " says, \"Isn't this more fun with friends?\""); + break; + case 8: + strcat(info, " says, \"Uh-oh! Wait. OK.\""); + break; + case 9: + strcat(info, " shouts, \"Stay back! It could be a trick.\""); + break; + case 10: + strcat(info, " says, \"You're so much nicer than " + "my last boss.\""); + break; + case 11: + strcat(info, " jumps up and down with excitement.\""); + break; + } + } + + else { - case 0: - strcat(info, " yells, \"Run! I'll cover you!\""); - break; - case 1: - strcat(info, " shouts, \"Die, monster!\""); - break; - case 2: - strcat(info, " says, \"It's nice to have friends.\""); - break; + switch (random2(18)) + { + case 0: + strcat(info, " yells, \"Run! I'll cover you!\""); + break; + case 1: + strcat(info, " shouts, \"Die, monster!\""); + break; + case 2: + strcat(info, " says, \"It's nice to have friends.\""); + break; - case 3: - strcat(info, " looks at you."); - break; - case 4: - strcat(info, " smiles at you."); - break; - case 5: - strcat(info, " says, \""); - strcat(info, you.your_name); - strcat(info, ", you are my only friend.\""); - break; - case 6: - strcat(info, " says, \""); - strcat(info, you.your_name); - strcat(info, ", I like you.\""); - break; + case 3: + strcat(info, " looks at you."); + break; + case 4: + strcat(info, " smiles at you."); + break; + case 5: + strcat(info, " says, \""); + strcat(info, you.your_name); + strcat(info, ", you are my only friend.\""); + break; + case 6: + strcat(info, " says, \""); + strcat(info, you.your_name); + strcat(info, ", I like you.\""); + break; - case 7: - strcat(info, " waves at you."); - break; - case 8: - strcat(info, " says, \"Be careful!\""); - break; - case 9: - strcat(info, " says, \"Don't worry. I'm here with you.\""); - break; - case 10: - strcat(info, " smiles happily."); - break; - case 11: - strcat(info, " shouts, \"No mercy! Kill them all!"); - break; - case 12: - strcat(info, " winks at you."); - break; - case 13: - strcat(info, " says, \"Me and you. It sounds cool.\""); - break; - case 14: - strcat(info, " says, \"I'll never leave you.\""); - break; - case 15: - strcat(info, " says, \"I would die for you.\""); - break; - case 16: - strcat(info, " shouts, \"Beware of monsters!\""); - break; - case 17: - strcat(info, " looks friendly."); - break; + case 7: + strcat(info, " waves at you."); + break; + case 8: + strcat(info, " says, \"Be careful!\""); + break; + case 9: + strcat(info, " says, \"Don't worry. I'm here with you.\""); + break; + case 10: + strcat(info, " smiles happily."); + break; + case 11: + strcat(info, " shouts, \"No mercy! Kill them all!"); + break; + case 12: + strcat(info, " winks at you."); + break; + case 13: + strcat(info, " says, \"Me and you. It sounds cool.\""); + break; + case 14: + strcat(info, " says, \"I'll never leave you.\""); + break; + case 15: + strcat(info, " says, \"I would die for you.\""); + break; + case 16: + strcat(info, " shouts, \"Beware of monsters!\""); + break; + case 17: + strcat(info, " looks friendly."); + break; + } } } else @@ -588,7 +636,7 @@ bool mons_speaks(const monsters *monster) break; case 3: snprintf( info, INFO_SIZE, "%s shouts, \"%s!!!\"", - m_name.c_str(), coinflip() ? "ATTACK" : "DIE"); + m_name.c_str(), coinflip() ? "ATTACK" : "DIE"); break; case 4: strcat(info, " says, \"How do you enjoy it?\""); @@ -610,14 +658,14 @@ bool mons_speaks(const monsters *monster) break; case 10: snprintf( info, INFO_SIZE, "%s says, \"Don't try to defend, it's %s.\"", - m_name.c_str(), coinflip() ? "pointless" : "senseless"); + m_name.c_str(), coinflip() ? "pointless" : "senseless"); break; case 11: strcat(info, " bares his teeth."); break; case 12: snprintf( info, INFO_SIZE, "%s says, \"I'll show you few %s.\"", - m_name.c_str(), coinflip() ? "tricks" : "ploys."); + m_name.c_str(), coinflip() ? "tricks" : "ploys."); break; case 13: strcat(info, " screams, \"I want your blood.\""); @@ -740,7 +788,7 @@ bool mons_speaks(const monsters *monster) case MONS_ORC_HIGH_PRIEST: // priest, servants of dark ancient god case MONS_DEEP_ELF_HIGH_PRIEST: - switch (random2(9)) + switch (random2(12)) { case 0: case 1: @@ -773,6 +821,18 @@ bool mons_speaks(const monsters *monster) case 8: strcat(info, " shouts, \"You must be punished.\""); break; + case 9: + strcat(info, " intones a terrible prayer."); + msg_type = MSGCH_MONSTER_SPELL; + break; + case 10: + strcat(info, " says, \" Right in the middle of my " + "sermon, too.\""); + break; + case 11: + strcat(info, " says, \"The wages of sin are death, " + "you know.\""); + break; } break; // end priests @@ -1134,7 +1194,7 @@ bool mons_speaks(const monsters *monster) return (true); case MONS_PLAYER_GHOST: // ghost of unsuccesful player - switch (random2(24)) + switch (random2(29)) { case 0: strcat(info, " laughs crazily."); @@ -1149,13 +1209,36 @@ bool mons_speaks(const monsters *monster) break; case 3: // mv: ghosts are usually wailing, aren't ? + strcat(info, " says, \"I have seen your future. " + "And it's all used up.\""); + break; case 4: + strcat(info, " makes a sound of rattling chains."); + break; + case 5: + strcat(info, " says, \"They lied to you. " + "The Dungeon just goes down and down forever.\""); + break; case 6: + strcat(info, " says, \"Do you think the gods " + "will protect you?\""); + break; case 7: + strcat(info, " says, \"I was like you once.\""); + break; case 8: + strcat(info, " says, \"Very impressive. But it won't help. " + "Nothing will.\""); + break; case 9: + strcat(info, " whispers, \"They're coming for you...\""); + break; case 10: + strcat(info, " says, \"What have you got " + "that I didn't have?\""); + break; + case 11: strcat(info, " wails."); break; @@ -1204,6 +1287,22 @@ bool mons_speaks(const monsters *monster) case 23: strcat(info, " wails, \"Death is your only future.\""); break; + case 24: + strcat(info, " says, \"The more you struggle now, " + "the more you'll suffer later.\""); + break; + case 25: + strcat(info, " whispers, \"Trust me. Just give in.\""); + break; + case 26: + strcat(info, " says very slowly, \"There's no hope.\""); + break; + case 27: + strcat(info, " lets out a mournful wail."); + break; + case 28: + strcat(info, " keens inconsolably."); + break; } break; // end players ghost -- cgit v1.2.3-54-g00ecf