tweaks to make his speech and casting work correctly. Turns up around the same time as Erolcha and Grum.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10774 c06c8d41-db1a-0410-9941-cceddc491573
Q6QWWEURCCP5CRAMRDPFPMM7B6FLLOQZZMI553QKG4KEYVMXARCAC QQZOPIYCZZUGZ47DMLBVANROL2U67OJAV4JYFDH47CLG35DZF4QQC LBQL2RAWT6GFWH7FQKOHYS7ZJFUQVO4UP36YK37VAEBJKM5JCDPQC FBLTPG3A4ZEAVOJBHH4DCPUF4ZBLOTN5WWVZJADVCFTEKRHK5R6QC N5EBTOIR3CFMRSZ3EXXQIVAJ7NGXYWS75AKHEKYBOFBZXKI3Q5BAC DMAHEX6B3PA6ALJAOQUBF2OWOIKJXHYARWNRIN64252SECR23N4QC MWC7UO2WOLGKBKIDEJZT27MG6N7UAZ2LHCVYXO55S4FKMFAVRZVQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC TXVL24IFH5SK7EJAN7JAUHAZJHJV7GB364UU65P745GUBWJS6Q6AC 3XRTONH32W5DNI2V2SGAHXN3EHOZQ26ZXMVYL5TRP6HLQN7P4HNAC UAJN2CFA2QHYDHW2UFAVPPHDQFCD54RKM6V2UC4AMEDJUBBLNWIQC ZEFGFQHN6J2S6EIPX7EPDG22C5YXTI6DMKQHHRCLWN5MQC44KY3AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC 5JS3QSE3EIXSBVI4DATH2EIFD7QN3POAFEUM7MK4NRMPH5JOPAAQC OC4O235ESV5UO3LREKILJWWIXYFVTYGF2RXQEB5AWPJUKLF5T3YAC NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC IQSZTU2RGJGJTGGX4MFIKQD2BX5MLFI6JWMHXPELHTWEOCXPTYLAC ORZ4ZAHPUVIWAI6UODCKDS3TB4U4Y6GL3TYSNL3ALNBERG3K4UHQC UQ4P6W76CTKR2MQNH3EWPS4QPDXE3YRLJRR6744ZJJ32XKYPXQQQC JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC ASH5CK6CPBKMLGGIRJ5GKTWMS5W3OBVHTL66RTYZIPFM6KFBYA3QC PQYLCUBDA6P4UY7X3NLIUUKMJ5GTQTB5X64VNSQVMCFS6ONMXXOQC 2FHNLTLN3DVVD67N4QMAQ2LO7YY4GVZWXJAOIWGCCYYGIX7UHSVQC 3WHI3KM43ZCN4ITJLFQQBQBC4OJPRS7QTBPIQ6QBCUVKRSK476SAC PC6K5OQF3BWPMWTIN5JXAKHTZF453JQOELDWRUOSBZXR256FTUYQC DTO3EUKWHZ5RJNGNCFYXSOVTIPVXPP637F2W7WFGYKJ7JK7VNKNQC 5ZV2CS7GWT4FJWA5WCIZ52T4L5OLNVWMNRCBWV3UCFPNPRK4ZQTAC 6XJP54KUBUB46BX7ANY5DHMN24Q7EHJSQKS7U2BHCAUQUKNJD7DQC CCDQMJMMVC6MIZRZ6JSKKCMEDPUGEVVSFPJUOC5WP63J6SX35MXAC LDVACFLGUCRX2JCTH6U7YQYLABQ7DEKAIVUID7PQB63UYNYVUY3QC G7ZXJ4RUQB3U5NL2DEWXMTHRRDT7WTONWKTPOOGWFCE46ZWUVLOQC DO6W27HYFNVFMX7FSGG4RCX5UW32ORCVYZBQYPCUD4VCHMA4LFFQC BNE3OKRCLL3BVGH7RSLHXU7E6IVDNII3GUCUDM6W4T7UCU6XQ7HQC I7QLYOTE6DLQZM7YWUWYLKHRJRB2A3STQ42ALSRGQICEWKD2QTEQC Y56C5OMUQ5XF2G6DKDV4R5MED44UOIUPTBBQVWQBUHYIXYA5MOZAC KZWOHH536QBWAPWROR32EOXEK5LRY6I5VHVL7HHI7GOFKCMQTCSQC 4RFKVDJKTCRBZU6WPJ2E5OVI5IRPY3UTRPOBLC5QHY4CQJJTLZKQC KVPP3CYPEFADQCL5Y56ELSUBA47SFNAJNCSVCSOK2GF67DHVMBCQC 774O5HM4CU5QYP4MPKKLHIVZQ5JLLZETYIDZZYBAPOJSO6ILC5RAC C4KYBBVGJVUJ6PRLOUZXSNIHS2TEYQTBV5NSDGGPEXQHE6JUXMZQC BMHUBADDGIOZRVN4P3O5QKIDUYD4RFWBS7MP5X6LZWAYHUBRVD2QC // Messages about the monster influencing itself.const char* buff_msgs[] = { " glows brightly for a moment."," looks stronger."," becomes somewhat translucent.","'s eyes start to glow." };// Messages about the monster influencing you.const char* other_msgs[] = {"You feel troubled.","You feel a wave of unholy energy pass over you."};
if (monster->type == MONS_GASTRONOK){bool has_mon_foe = !invalid_monster_index(monster->foe);std::string slugform = "";if (buff_only || crawl_state.arena && !has_mon_foe|| friendly && !has_mon_foe || coinflip()){slugform = getSpeakString("gastronok_self_buff");if (!slugform.empty()){slugform = replace_all(slugform, "@The_monster@",monster->name(DESC_CAP_THE));mpr(slugform.c_str(), channel);}}else if (!friendly && !has_mon_foe){mons_cast_noise(monster, pbolt, spell_cast);
if (buff_only || crawl_state.arena || x_chance_in_y(2,3))simple_monster_message(monster, RANDOM_ELEMENT(buff_msgs), channel);else if (friendly)simple_monster_message(monster, " shimmers for a moment.", channel);
// "Enchant" the player.slugform = getSpeakString("gastronok_debuff");if (!slugform.empty()&& (slugform.find("legs") == std::string::npos|| _legs_msg_applicable())){mpr(slugform.c_str());}}else{// "Enchant" another monster.const monsters* foe= dynamic_cast<const monsters*>(monster->get_foe());slugform = getSpeakString("gastronok_other_buff");if (!slugform.empty()){slugform = replace_all(slugform, "@The_monster@",foe->name(DESC_CAP_THE));mpr(slugform.c_str(), MSGCH_MONSTER_ENCHANT);}}}
mpr(RANDOM_ELEMENT(other_msgs));
{// Messages about the monster influencing itself.const char* buff_msgs[] = { " glows brightly for a moment."," looks stronger."," becomes somewhat translucent.","'s eyes start to glow." };// Messages about the monster influencing you.const char* other_msgs[] = {"You feel troubled.","You feel a wave of unholy energy pass over you."};
if (buff_only || crawl_state.arena || x_chance_in_y(2,3)){simple_monster_message(monster, RANDOM_ELEMENT(buff_msgs),channel);}else if (friendly){simple_monster_message(monster, " shimmers for a moment.",channel);}else // "Enchant" the player.{mons_cast_noise(monster, pbolt, spell_cast);mpr(RANDOM_ELEMENT(other_msgs));}}
{MONS_ELEPHANT_SLUG, 'j', LIGHTGREY, "elephant slug",M_NO_SKELETON,MR_VUL_POISON,1500, 10, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,{ {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 20, 5, 3, 0 },2, 1, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT, I_INSECT,HT_LAND, 4, DEFAULT_ENERGY, MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG},
{MONS_ELEPHANT_SLUG, 'j', LIGHTGREY, "elephant slug",M_NO_SKELETON,MR_VUL_POISON,1500, 10, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,{ {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 20, 5, 3, 0 },2, 1, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT, I_INSECT,HT_LAND, 4, DEFAULT_ENERGY, MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG},
{MONS_GASTRONOK, 'j', LIGHTRED, "Gastronok",M_NO_SKELETON | M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS| M_SPEAKS,MR_RES_FIRE | MR_RES_COLD,700, 10, MONS_GIANT_SLUG, MONS_GIANT_SLUG, MH_NATURAL, -4,{ {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 10, 0, 0, 90 },1, 2, MST_GASTRONOK, CE_POISONOUS, Z_NOZOMBIE, S_GURGLE, I_NORMAL,HT_AMPHIBIOUS_LAND, 5, DEFAULT_ENERGY, MONUSE_STARTING_EQUIPMENT, MONEAT_FOOD, SIZE_LARGE},
pbolt.name = "airstrike";pbolt.flavour = BEAM_MISSILE;pbolt.aux_source = "by the air";damage_taken = 8 + random2(random2(4) + (random2(source->hit_dice*5) / 6)+ (random2(source->hit_dice*5) / 7));if (defender->flight_mode() != FL_NONE){damage_taken *= 3;damage_taken /= 2;}damage_taken -= defender->armour_class();break;
MONS_MICHAEL, MONS_EUSTACHIO, MONS_SONJA,MONS_JOSEPH, MONS_ERICA, MONS_JOSEPHINE, MONS_GRUM,MONS_HAROLD, MONS_NORBERT, MONS_JOZEF, -1);
MONS_MICHAEL, MONS_EUSTACHIO, MONS_SONJA, MONS_GRUM,MONS_JOSEPH, MONS_ERICA, MONS_JOSEPHINE, MONS_JOZEF,MONS_HAROLD, MONS_NORBERT, MONS_GASTRONOK, -1);
%%%%GastronokA voracious and surprisingly intelligent slug, devoted to eating everything and everyone he comes across, with a pointed hat perched rakishly atop his head. He acquired the hat the same way he acquired his intelligence and his knowledge of spells: by consuming their former owner, a powerful wizard.
%%%%############ Gastronok ### A rather hungry wizard-slug# Cantrip messages:gastronok_self_buff@_gastronok_self_buff_@%%%%gastronok_other_buff@_gastronok_other_buff_@%%%%gastronok_debuff@_gastronok_debuff_@%%%%_gastronok_self_buff_@The_monster@ bubbles merrily.@The_monster@ glows a brilliant shade of cerise.@The_monster@ wobbles crazily.@The_monster@'s eyestalks stretch out, then return to normal size.%%%%# When targeting other monsters._gastronok_other_buff_@The_monster@ wobbles.@The_monster@ slows momentarily.
# Slugform affecting the player._gastronok_debuff_w:20You feel sluggish.You feel an sudden, passing aversion to salt.Your skin takes on a slight green cast.# Doesn't work for Naga and transformed Merfolk.# There's a hack in mstuff2.cc to prevent it from being used in those cases.Your legs wobble like jelly.w:5You feel a sudden urge to swivel your nonexistent eyestalks around.%%%%# And finally, his speech.Gastronok@_Gastronok_common_@w:4@_Gastronok_rare_@%%%%_Gastronok_common_VISUAL:@The_monster@ sloshes about.@The_monster@ gurgles, "I'll eat you, I will!"@The_monster@ gurgles, "A snack! A snack!"@The_monster@ gurgles.@The_monster@ makes a strange noise.%%%%_Gastronok_rare_VISUAL:@The_monster@'s mouth opens, radula flailing wildly.VISUAL:@The_monster@ is buffeted by a sudden breeze.VISUAL:@The_monster@'s eyestalks wobble, almost dislodging @possessive@ wizard hat.@The_monster@ gurgles, "You're how I like my food. Fast!"@The_monster@ gurgles, "Slow down, so I can eat you."@The_monster@ gurgles, "Are you a wizard? Wizards taste nice..."@The_monster@ gurgles, "Huuuuuuuuuuungry!"@The_monster@ gurgles, "It's true, you are what you eat."@The_monster@ gurgles, "I bet you'll be tasty."%%%%