MCPcopy Create free account
hub / github.com/DFHack/dfhack / validateMaterialCategory

Function validateMaterialCategory

plugins/autoclothing.cpp:390–418  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

388}
389
390static bool validateMaterialCategory(ClothingRequirement& requirement) {
391 auto itemDef = Items::getSubtypeDef(requirement.itemType, requirement.item_subtype);
392 switch (requirement.itemType)
393 {
394 case item_type::ARMOR:
395 if (STRICT_VIRTUAL_CAST_VAR(armor, df::itemdef_armorst, itemDef))
396 return armorFlagsMatch(armor->props.flags, requirement.material_category);
397 break;
398 case item_type::GLOVES:
399 if (STRICT_VIRTUAL_CAST_VAR(armor, df::itemdef_glovesst, itemDef))
400 return armorFlagsMatch(armor->props.flags, requirement.material_category);
401 break;
402 case item_type::SHOES:
403 if (STRICT_VIRTUAL_CAST_VAR(armor, df::itemdef_shoesst, itemDef))
404 return armorFlagsMatch(armor->props.flags, requirement.material_category);
405 break;
406 case item_type::HELM:
407 if (STRICT_VIRTUAL_CAST_VAR(armor, df::itemdef_helmst, itemDef))
408 return armorFlagsMatch(armor->props.flags, requirement.material_category);
409 break;
410 case item_type::PANTS:
411 if (STRICT_VIRTUAL_CAST_VAR(armor, df::itemdef_pantsst, itemDef))
412 return armorFlagsMatch(armor->props.flags, requirement.material_category);
413 break;
414 default:
415 break;
416 }
417 return false;
418}
419
420// A command! It sits around and looks pretty. And it's nice and friendly.
421command_result autoclothing(color_ostream &out, vector<string> &parameters)

Callers 1

createFromParametersMethod · 0.85

Calls 1

armorFlagsMatchFunction · 0.85

Tested by

no test coverage detected