|
|
|
@ -1273,6 +1273,36 @@ static string get_caste_name(df::unit* unit) {
|
|
|
|
|
return raw->caste[caste]->caste_name[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// must subtract 1 from animal_training_level value to index this array
|
|
|
|
|
static const char * training_quality_table[] = {
|
|
|
|
|
"trained", // Trained
|
|
|
|
|
"-trained-", // WellTrained
|
|
|
|
|
"+trained+", // SkilfullyTrained
|
|
|
|
|
"*trained*", // ExpertlyTrained
|
|
|
|
|
"\xF0trained\xF0", // (≡) ExceptionallyTrained
|
|
|
|
|
"\x0Ftrained\x0F" // (☼) MasterfullyTrained
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const char * getTameTag(df::unit *unit) {
|
|
|
|
|
int32_t level = unit->training_level;
|
|
|
|
|
switch (level) {
|
|
|
|
|
case df::animal_training_level::SemiWild:
|
|
|
|
|
return "semi-wild";
|
|
|
|
|
case df::animal_training_level::Trained:
|
|
|
|
|
case df::animal_training_level::WellTrained:
|
|
|
|
|
case df::animal_training_level::SkilfullyTrained:
|
|
|
|
|
case df::animal_training_level::ExpertlyTrained:
|
|
|
|
|
case df::animal_training_level::ExceptionallyTrained:
|
|
|
|
|
case df::animal_training_level::MasterfullyTrained:
|
|
|
|
|
return training_quality_table[level-1];
|
|
|
|
|
case df::animal_training_level::Domesticated:
|
|
|
|
|
return "tame";
|
|
|
|
|
case df::animal_training_level::WildUntamed:
|
|
|
|
|
default:
|
|
|
|
|
return "wild";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string Units::getReadableName(df::unit* unit) {
|
|
|
|
|
string race_name = isBaby(unit) ? getRaceBabyName(unit) :
|
|
|
|
|
(isChild(unit) ? getRaceChildName(unit) : get_caste_name(unit));
|
|
|
|
@ -1282,6 +1312,8 @@ string Units::getReadableName(df::unit* unit) {
|
|
|
|
|
race_name = "hunter " + race_name;
|
|
|
|
|
if (isWar(unit))
|
|
|
|
|
race_name = "war " + race_name;
|
|
|
|
|
if (unit->flags4.bits.agitated_wilderness_creature)
|
|
|
|
|
race_name = "agitated " + race_name;
|
|
|
|
|
string name = Translation::TranslateName(getVisibleName(unit), false);
|
|
|
|
|
if (name.empty()) {
|
|
|
|
|
name = race_name;
|
|
|
|
@ -1302,6 +1334,11 @@ string Units::getReadableName(df::unit* unit) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (isTame(unit)) {
|
|
|
|
|
name += " (";
|
|
|
|
|
name += getTameTag(unit);
|
|
|
|
|
name += ")";
|
|
|
|
|
}
|
|
|
|
|
return name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|