summaryrefslogtreecommitdiff
path: root/library/RemoteTools.cpp
diff options
context:
space:
mode:
authorWill Rogers2012-04-04 11:53:47 -0400
committerWill Rogers2012-04-04 11:53:47 -0400
commit1b6f5f3f343d572be72a58ce49a11818986c52a4 (patch)
tree729cc365f58c616a60935bc4228bf15af33a3c8f /library/RemoteTools.cpp
parent7e896277ec4076c0c441d9b3cda766493eb82d15 (diff)
downloaddfhack-1b6f5f3f343d572be72a58ce49a11818986c52a4.tar.gz
dfhack-1b6f5f3f343d572be72a58ce49a11818986c52a4.tar.bz2
dfhack-1b6f5f3f343d572be72a58ce49a11818986c52a4.tar.xz
Add additional related data to ListJobSkills.
Add the attributes for profession and unit_labor, and (re)name the protobuf messages JobSkillAttr, ProfessionAttr, and UnitLaborAttr to better reflect their content and distinguish them from e.g. the SkillInfo message included in BasicUnitInfo.
Diffstat (limited to 'library/RemoteTools.cpp')
-rw-r--r--library/RemoteTools.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/library/RemoteTools.cpp b/library/RemoteTools.cpp
index 5103b756..229e5a70 100644
--- a/library/RemoteTools.cpp
+++ b/library/RemoteTools.cpp
@@ -447,18 +447,41 @@ static command_result ListEnums(color_ostream &stream,
static command_result ListJobSkills(color_ostream &stream, const EmptyMessage *, ListJobSkillsOut *out)
{
- auto pf = out->mutable_value();
-
+ auto pf_skill = out->mutable_skill();
FOR_ENUM_ITEMS(job_skill, skill)
{
- auto item = pf->Add();
+ auto item = pf_skill->Add();
item->set_id(skill);
+ item->set_key(ENUM_KEY_STR(job_skill, skill));
item->set_caption(ENUM_ATTR_STR(job_skill, caption, skill));
item->set_caption_noun(ENUM_ATTR_STR(job_skill, caption_noun, skill));
item->set_profession(ENUM_ATTR(job_skill, profession, skill));
item->set_labor(ENUM_ATTR(job_skill, labor, skill));
- item->set_type(ENUM_ATTR(job_skill, type, skill));
+ item->set_type(ENUM_KEY_STR(job_skill_class, ENUM_ATTR(job_skill, type, skill)));
+ }
+
+ auto pf_profession = out->mutable_profession();
+ FOR_ENUM_ITEMS(profession, p)
+ {
+ auto item = pf_profession->Add();
+
+ item->set_id(p);
+ item->set_key(ENUM_KEY_STR(profession, p));
+ item->set_caption(ENUM_ATTR_STR(profession, caption, p));
+ item->set_military(ENUM_ATTR(profession, military, p));
+ item->set_can_assign_labor(ENUM_ATTR(profession, can_assign_labor, p));
+ item->set_parent(ENUM_ATTR(profession, parent, p));
+ }
+
+ auto pf_labor = out->mutable_labor();
+ FOR_ENUM_ITEMS(unit_labor, labor)
+ {
+ auto item = pf_labor->Add();
+
+ item->set_id(labor);
+ item->set_key(ENUM_KEY_STR(unit_labor, labor));
+ item->set_caption(ENUM_ATTR_STR(unit_labor, caption, labor));
}
return CR_OK;