|
|
|
@ -1155,52 +1155,107 @@ struct preference_map
|
|
|
|
|
|
|
|
|
|
string getItemLabel()
|
|
|
|
|
{
|
|
|
|
|
df::world_raws::T_itemdefs &defs = world->raws.itemdefs;
|
|
|
|
|
label = ENUM_ATTR_STR(item_type, caption, pref.item_type);
|
|
|
|
|
switch (pref.item_type)
|
|
|
|
|
{
|
|
|
|
|
case (df::item_type::WEAPON):
|
|
|
|
|
label = defs.weapons[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.weapons, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::TRAPCOMP):
|
|
|
|
|
label = defs.trapcomps[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.trapcomps, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::TOY):
|
|
|
|
|
label = defs.toys[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.toys, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::TOOL):
|
|
|
|
|
label = defs.tools[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.tools, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::INSTRUMENT):
|
|
|
|
|
label = defs.instruments[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.instruments, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::ARMOR):
|
|
|
|
|
label = defs.armor[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.armor, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::AMMO):
|
|
|
|
|
label = defs.ammo[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.ammo, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::SIEGEAMMO):
|
|
|
|
|
label = defs.siege_ammo[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.siege_ammo, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::GLOVES):
|
|
|
|
|
label = defs.gloves[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.gloves, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::SHOES):
|
|
|
|
|
label = defs.shoes[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.shoes, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::SHIELD):
|
|
|
|
|
label = defs.shields[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.shields, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::HELM):
|
|
|
|
|
label = defs.helms[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.helms, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::PANTS):
|
|
|
|
|
label = defs.pants[pref.item_subtype]->name_plural;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.pants, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name_plural;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (df::item_type::FOOD):
|
|
|
|
|
label = defs.food[pref.item_subtype]->name;
|
|
|
|
|
{
|
|
|
|
|
auto *def = vector_get(world->raws.itemdefs.food, pref.item_subtype);
|
|
|
|
|
if (def)
|
|
|
|
|
label = def->name;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
label = ENUM_ATTR_STR(item_type, caption, pref.item_type);
|
|
|
|
|