Draconian shifters are no longer helpless blinkers. Draconian callers are a little more evil.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@467 c06c8d41-db1a-0410-9941-cceddc491573
KEYK3CH5J46U6TTOKTWRNMYTZXMQXFVEAZUC4ZQ4QCOSJHVIBDRQC create_monster( rand_dragon( DRAGON_LIZARD ), duration,SAME_ATTITUDE(monster),monster->x, monster->y, monster->foe, 250 );
std::vector<int> monsters;for (sumcount = 0; sumcount < sumcount2; sumcount++){const int mons = rand_dragon( DRAGON_LIZARD );if (mons == MONS_DRAGON){monsters.clear();monsters.push_back( rand_dragon(DRAGON_DRAGON) );break;}monsters.push_back( mons );}for (int i = 0, size = monsters.size(); i < size; ++i){create_monster( monsters[i], duration,SAME_ATTITUDE(monster),monster->x, monster->y, monster->foe, 250 );}
summoned = ((temp_rand > 85) ? MONS_GIANT_GECKO :(temp_rand > 59) ? MONS_GIANT_LIZARD :(temp_rand > 34) ? MONS_GIANT_IGUANA :(temp_rand > 22) ? MONS_GILA_MONSTER :(temp_rand > 11) ? MONS_KOMODO_DRAGON :(temp_rand > 8) ? MONS_FIREDRAKE :(temp_rand > 2) ? MONS_SWAMP_DRAKE: MONS_DEATH_DRAKE );
summoned = ((temp_rand > 80) ? MONS_SWAMP_DRAKE :(temp_rand > 59) ? MONS_KOMODO_DRAGON :(temp_rand > 34) ? MONS_FIREDRAKE :(temp_rand > 11) ? MONS_DEATH_DRAKE :MONS_DRAGON);
static std::string describe_draconian_role(const monsters *mon){switch (mon->type){case MONS_DRACONIAN_SHIFTER:return "It darts around disconcertingly without taking a step.";case MONS_DRACONIAN_SCORCHER:return "Its scales are sooty black from years of magical pyrotechnics.";case MONS_DRACONIAN_ZEALOT:return "In its gaze you see all the malefic power of its ""terrible god.";case MONS_DRACONIAN_ANNIHILATOR:return "Crackling balls of pure energy hum and spark up and down its ""scaled fists and arms.";case MONS_DRACONIAN_CALLER:return "It looks especially reptilian, and eager for company.";case MONS_DRACONIAN_MONK:return "It looks unnaturally strong and dangerous with its fists.";case MONS_DRACONIAN_KNIGHT:return "It wields a deadly weapon with menacing efficiency.";}return ("");}
static std::string describe_draconian_colour(int species){switch (species){case MONS_BLACK_DRACONIAN:return "Sparks crackle and flare out of its mouth and nostrils.";case MONS_MOTTLED_DRACONIAN:return "Liquid flames drip from its mouth.";case MONS_YELLOW_DRACONIAN:return "Acid fumes swirl around it.";case MONS_GREEN_DRACONIAN:return "Venom steams and drips from its jaws.";case MONS_PURPLE_DRACONIAN:return "Its outline shimmers with wild energies.";case MONS_RED_DRACONIAN:return "Smoke pours from its nostrils.";case MONS_WHITE_DRACONIAN:return "Frost pours from its nostrils.";case MONS_PALE_DRACONIAN:return "It is cloaked in a pall of superheated steam.";}return ("");}static std::string describe_draconian(const monsters *mon){std::string description;const int subsp = draco_subspecies( mon );if (subsp == MONS_DRACONIAN)description += "A ";elsedescription += "An enormous, muscular ";switch (subsp){case MONS_DRACONIAN: description += "brown-"; break;case MONS_BLACK_DRACONIAN: description += "black-"; break;case MONS_MOTTLED_DRACONIAN: description += "mottled-"; break;case MONS_YELLOW_DRACONIAN: description += "yellow-"; break;case MONS_GREEN_DRACONIAN: description += "green-"; break;case MONS_PURPLE_DRACONIAN: description += "purple-"; break;case MONS_RED_DRACONIAN: description += "red-"; break;case MONS_WHITE_DRACONIAN: description += "white-"; break;case MONS_PALE_DRACONIAN: description += "pale-"; break;default:break;}description += "scaled humanoid with wings.";if (subsp != MONS_DRACONIAN)description += " " + describe_draconian_colour(subsp);if (subsp != mon->type)description += " " + describe_draconian_role(mon);return (description);}
description += "A ";const int subsp = draco_subspecies( &menv[which_mons] );switch (subsp){case MONS_DRACONIAN: description += "brown "; break;case MONS_BLACK_DRACONIAN: description += "black "; break;case MONS_MOTTLED_DRACONIAN: description += "mottled "; break;case MONS_YELLOW_DRACONIAN: description += "yellow "; break;case MONS_GREEN_DRACONIAN: description += "green "; break;case MONS_PURPLE_DRACONIAN: description += "purple "; break;case MONS_RED_DRACONIAN: description += "red "; break;case MONS_WHITE_DRACONIAN: description += "white "; break;case MONS_PALE_DRACONIAN: description += "pale "; break;default:break;}description += "scaled humanoid with wings.";
description += describe_draconian( &menv[which_mons] );