git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3745 c06c8d41-db1a-0410-9941-cceddc491573
LM764EO6YIFOKMRXWZ5S4GYZB4BHZQDTEFP7MEVYO4NN4EDOFGNQC
RMCZDJKEYYT6TTZNJGBVZTG74CVLF72NWKON6IJ2HNTCA23INPJQC
SLNUAONKHB6N7IBY5BH5I7L3TWV3ZX2ZCZ6MM3SZQSNO5JILFVPAC
GGDX26OLH2EBB2ZBJCBIE3UDPHWEMTMSOEJBJIWCBLUK3HEY3PKQC
PBKRKGKARGZSLVFVDTK5NWDXQD26NHNN67LDSSB75CLEWBR6TLEQC
L5YS6SNTQW7YRR5LGCDSLHLNFJ73IWHU4A7S3MY6KYLG67N2KPGAC
72GIZBEMQLEF3TITOHABWHRLL5TE7KOUSVWOUEHFMO2OZQ4EIB7AC
KYKFOLADMUWUGJG2YWH2SSQRPRU5VOLSORANZKHDYGJSLIKVAXUQC
KYVZGUJXV23ELA4CKPVQZO3NTJCODXMCWYAZJYWVWJVLPETNHLGQC
NMZFCCM6O3KO2GJWKOSULN27B3QIZKWPBOB62PAILXMRQD4JMIMAC
MG6LLF3XYCOEBQRX7TJ4MUTKM3IROYWUMZGCMYVW4TGDG36CJMJQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
PEXHYCLRKDG2PVOJ3DDCMUZUK2HTSPU5WKH4MODFL4FTBQRQTY5QC
XMX2Y7QSEXGV2SPDOFDNM2BQJH3S3WTMYLJYUREYV72NWTURHMSQC
WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC
ONKB2ZZ2MWY7UGPBHW6EE4N3EEPJONPRRALEFZZR2YTZHNEIGV5AC
3NFVCXRVGHN2CHLLWFZES5RBS4R2BCDS4EEQNSDCFYIFQWQK7MUQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
SS6MUIJYTGIVBYU356Z563QJWLJ47QNHSJWS7GJTS7EATZH2ESJQC
RRNEVUYOK5S4M4QH77N34IXSSNUXVQAIZQLXAQKQCRITMPUKGP6AC
6A3UHWB2EORRGBKEWCL2SPBH2BGCYRWWPNKCQLGFJHOLEQZLTFLAC
NLQNXH3SVJ52CWXEV35FSSZP32VHC4QFGN3HINF4KO5GZHZMOBKQC
CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC
EJKHYV2Z6UPRVYUAL4WRW33GBNHYBFPMPA57HMBX2LQKXHIUO5VQC
5UVDIVD4NSXA52U4QMQIVST3GSZJ2A2YZK3RUEXKPM43YVQ7LI5AC
64RZSOR4B4T5QO3FAERBTH2QJIQFSCIFHI4WYK3MDAEAZVAHRLVQC
BMHUBADDGIOZRVN4P3O5QKIDUYD4RFWBS7MP5X6LZWAYHUBRVD2QC
G5WLU3B4MR3ZDJLGR6OHNIMLZXGQS2EWBJ5YYY5J2GWM6DTD44BAC
YM3U5YZEFIYLRJVDWQCSP75JL56WC36XLQSL5ZBT4IWSXYJRBCBAC
{
const char *messages[3] = {
"Beogh fumes, \"This is no small sin, orc. Repent!\"",
"Beogh whispers, \"You will pay for this transgression.\"",
"Beogh rages, \"An eye for an eye...\""
};
revenge = RANDOM_ELEMENT(messages);
}
revenge = _get_beogh_speech("idol follower");
{
const char *messages[2] = {
"Beogh's voice booms out: \"Heretic, die!\"",
"You hear Beogh's thundering voice: \"Suffer, infidel!\""
};
revenge = RANDOM_ELEMENT(messages);
}
revenge = _get_beogh_speech("idol hill orc");
{
const char *messages[2] = {
"Beogh is not amused about the destruction of his idols.",
"Beogh seems highly displeased."
};
revenge = RANDOM_ELEMENT(messages);
}
revenge = _get_beogh_speech("idol other");
static void good_god_holy_being_attitude_change_speech(
std::ostream &chan,
const monsters *holy)
static void _print_good_god_neutral_holy_being_speech(const std::string key,
monsters *mon,
msg_channel_type channel)
switch (random2(3))
{
case 0:
chan << " is calmed by your holy aura.";
break;
case 1:
chan << " relaxes its fighting stance.";
break;
case 2:
chan << " salutes you.";
break;
}
chan << std::endl;
if (!one_chance_in(3))
{
std::ostream& tchan = msg::streams(MSGCH_TALK);
tchan << holy->pronoun(PRONOUN_CAP) << " ";
switch (random2(3))
{
case 0:
tchan << "shouts, \"Continue thy quest, mortal!\"";
break;
case 1:
tchan << "says, \"Forge ahead, servant of "
<< god_name(you.religion) << "!\"";
break;
case 2:
tchan << "says, \"Carry on, mortal.\"";
break;
}
tchan << std::endl;
}
}
std::string msg = getSpeakString("good_god_neutral_holy_being_" + key);
case 0: chan << " surrenders. "; break;
case 1: chan << " falls to " << orc->pronoun(PRONOUN_NOCAP_POSSESSIVE)
<< " knees. "; break;
case 2: chan << " raises " << orc->pronoun(PRONOUN_NOCAP_POSSESSIVE)
<< " hands in surrender. "; break;
msg = do_mon_str_replacements(msg, mon);
mpr(msg.c_str(), channel);
chan << std::endl;
static const char *mercy_message[] =
{
" shouts, \"I'll follow you, let me live!\"",
" says, \"You must be the Messiah, I see it now!\"",
" yells, \"Beogh is my god, I swear it!\""
};
msg::streams(MSGCH_TALK) << orc->pronoun(PRONOUN_CAP)
<< RANDOM_ELEMENT(mercy_message)
<< std::endl;
static void beogh_orc_spontaneous_conversion_speech(
std::ostream &chan,
const monsters *orc)
{
switch (random2(3))
{
case 0:
chan << " stares at you in amazement and kneels.";
break;
case 1:
chan << " relaxes " << orc->pronoun(PRONOUN_NOCAP_POSSESSIVE)
<< " fighting stance and smiles at you.";
break;
case 2:
chan << " falls on " << orc->pronoun(PRONOUN_NOCAP_POSSESSIVE)
<< " knees before you.";
break;
}
chan << std::endl;
if (!one_chance_in(3))
{
std::ostream& tchan = msg::streams(MSGCH_TALK);
tchan << orc->pronoun(PRONOUN_CAP) << " ";
switch (random2(4))
{
case 0:
tchan << "shouts, \"I'll follow thee gladly!\"";
break;
case 1:
tchan << "shouts, \"Surely Beogh must have "
"sent you!\"";
break;
case 2:
tchan << "asks, \"Are you our saviour?\"";
break;
case 3:
tchan << "says, \"I'm so glad you are here now.\"";
break;
}
tchan << std::endl;
}
}
void beogh_convert_orc(monsters *orc, bool emergency)
static void _print_converted_orc_speech(const std::string key,
monsters *mon,
msg_channel_type channel)
{
std::string msg = getSpeakString("beogh_converted_orc_" + key);
if (!msg.empty())
{
msg = do_mon_str_replacements(msg, mon);
mpr(msg.c_str(), channel);
}
}
void beogh_convert_orc(monsters *orc, bool emergency,
bool converted_by_follower)
beogh_orc_emergency_conversion_speech(chan, orc);
{
if (converted_by_follower)
{
_print_converted_orc_speech("reaction_battle_follower", orc,
MSGCH_MONSTER_ENCHANT);
_print_converted_orc_speech("speech_battle_follower", orc,
MSGCH_TALK);
}
else
{
_print_converted_orc_speech("reaction_battle", orc,
MSGCH_MONSTER_ENCHANT);
_print_converted_orc_speech("speech_battle", orc, MSGCH_TALK);
}
}
// Don't allow "player's Doom" type names for god gifts (except Xom!)
if (name.find("@player_name@'s", 0) != std::string::npos
&& god_gift != GOD_NO_GOD && god_gift != GOD_XOM)
// Don't allow "player's Death" type names for god gifts (except Xom!)
if (god_gift != GOD_NO_GOD && god_gift != GOD_XOM
&& name.find("@player_name@'s", 0) != std::string::npos
&& name.find("Death", 0) != std::string::npos)
%%%%
###############################
# orc conversion speech
###############################
# on sight
beogh_converted_orc_reaction_sight
@The_monster@ stares at you in amazement and kneels.
@The_monster@ relaxes @pronoun@ fighting stance and smiles at you.
@The_monster@ falls on @pronoun@ knees before you.
%%%%
beogh_converted_orc_speech_sight
@Pronoun@ shouts, "I'll follow thee gladly!"
@Pronoun@ shouts, "Surely Beogh must have sent you!"
@Pronoun@ asks, "Are you our saviour?"
@Pronoun@ says, "I'm so glad you are here now."
%%%%
# through battle
beogh_converted_orc_reaction_battle
@The_monster@ surrenders.
@The_monster@ falls to @pronoun@ knees.
@The_monster@ raises @pronoun@ hands in surrender.
@Pronoun@ shouts, "I'll follow you, let me live!"
@Pronoun@ says, "You must be the Messiah, I see it now!"
@Pronoun@ yells, "Beogh is my god, I swear it!"
%%%%
########################################################
# Maybe use different speech if converted by a follower.
########################################################
beogh_converted_orc_reaction_battle_follower
@beogh_converted_orc_reaction_battle@
%%%%
beogh_converted_orc_reaction_speech_follower
@beogh_converted_orc_reaction_speech@
%%%%
%%%%
############################################
# Beogh rants on destroying an orcish idol #
############################################
# Beogh's messiah has destroyed an idol
Beogh idol follower
Beogh fumes, "This is no small sin, orc. Repent!"
Beogh whispers, "You will pay for this transgression.",
Beogh rages, "An eye for an eye..."
%%%%
# an unbelieving hill orc has destroyed an idol
Beogh idol hill orc
Beogh's voice booms out: "Heretic, die!"
You hear Beogh's thundering voice: "Suffer, infidel!"
Beogh seems highly displeased.
%%%%