git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3950 c06c8d41-db1a-0410-9941-cceddc491573
7UIFNKK5IU2VUAGKWDB6KOETOVQOCOVDHZHB4OPAM2CQRCWV4AGQC
MPL4NSRZ4TMXOMYDRRLFF5MPEDI4RZIRCOAF6BEH4AKJLRYTMLMQC
DKRSOHZXL6EPSLKOKHF7GJXSZEJVY7CXGACSHWLM5B5FTRETWWCAC
KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC
QYQKV4R47PTERXVFQNNWWQVICGSOMBHW6WM5TAZAKLIYOLLPUAJAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC
RSIUBEQUGNU4LO6KH4PKVROWQS33DAKSY4XFVGN7T3CEKSXABCSAC
/* ***********************************************************************
* called from: fight
* *********************************************************************** */
bool wounded_damaged(int wound_class);
// last updated 08jun2000 {dlb}
/* ***********************************************************************
* called from: bang - beam - effects - fight - monstuff - mstuff2 -
* spells2 - spells3 - spells4
* *********************************************************************** */
// Might not be ideal, but it's better that insta-killing
// the monster... maybe try for a short blinki instead? -- bwr
// Might not be ideal, but it's better than insta-killing
// the monster... maybe try for a short blink instead? -- bwr
// prevents segfault -- cannot use info[] here {dlb}
char str_wound[INFO_SIZE];
int dam_level;
if (monster->hit_points <= monster->max_hit_points / 6)
{
desc += "almost ";
desc += _wounded_damaged(monster->type) ? "destroyed" : "dead";
dam_level = MDAM_ALMOST_DEAD;
return;
}
if (monster->hit_points <= monster->max_hit_points / 6)
{
desc += "horribly ";
dam_level = MDAM_HORRIBLY_DAMAGED;
}
else if (monster->hit_points <= monster->max_hit_points / 3)
{
desc += "heavily ";
dam_level = MDAM_HEAVILY_DAMAGED;
}
else if (monster->hit_points <= 3 * (monster-> max_hit_points / 4))
{
desc += "moderately ";
dam_level = MDAM_MODERATELY_DAMAGED;
}
else
{
desc += "lightly ";
dam_level = MDAM_LIGHTLY_DAMAGED;
}
desc += _wounded_damaged(monster->type) ? "damaged" : "wounded";
}
void print_wounds(const monsters *monster)
{
strcpy(str_wound, " is ");
if (monster->hit_points <= monster->max_hit_points / 6)
{
strcat(str_wound, "almost ");
strcat(str_wound, wounded_damaged(monster->type) ? "destroyed"
: "dead");
dam_level = MDAM_ALMOST_DEAD;
}
else
{
if (monster->hit_points <= monster->max_hit_points / 6)
{
strcat(str_wound, "horribly ");
dam_level = MDAM_HORRIBLY_DAMAGED;
}
else if (monster->hit_points <= monster->max_hit_points / 3)
{
strcat(str_wound, "heavily " );
dam_level = MDAM_HEAVILY_DAMAGED;
}
else if (monster->hit_points <= 3 * (monster-> max_hit_points / 4))
{
strcat(str_wound, "moderately ");
dam_level = MDAM_MODERATELY_DAMAGED;
}
else
{
strcat(str_wound, "lightly ");
dam_level = MDAM_LIGHTLY_DAMAGED;
}