summaryrefslogtreecommitdiff
path: root/library/RemoteTools.cpp
diff options
context:
space:
mode:
authorWill Rogers2012-04-03 14:03:06 -0400
committerWill Rogers2012-04-03 14:03:06 -0400
commit59d7b6faabdfbf662ca8a71b66b3893542d0ec45 (patch)
treee1a7c3084b5d0a9db6c4bf1fbdfcac0ec8bbdd7d /library/RemoteTools.cpp
parent467f4108ae9ad52fee6e0e95579be5544d52e4ee (diff)
downloaddfhack-59d7b6faabdfbf662ca8a71b66b3893542d0ec45.tar.gz
dfhack-59d7b6faabdfbf662ca8a71b66b3893542d0ec45.tar.bz2
dfhack-59d7b6faabdfbf662ca8a71b66b3893542d0ec45.tar.xz
Add ListJobSkills.
Diffstat (limited to 'library/RemoteTools.cpp')
-rw-r--r--library/RemoteTools.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/library/RemoteTools.cpp b/library/RemoteTools.cpp
index 0ac4d580..4ff7ce69 100644
--- a/library/RemoteTools.cpp
+++ b/library/RemoteTools.cpp
@@ -338,6 +338,21 @@ void DFHack::describeUnit(BasicUnitInfo *info, df::unit *unit,
info->add_burrows(unit->burrows[i]);
}
+void DFHack::describeJobSkills(RepeatedPtrField<JobSkillInfo> *pf)
+{
+ FOR_ENUM_ITEMS(job_skill, skill)
+ {
+ auto item = pf->Add();
+
+ item->set_id(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));
+ }
+}
+
static command_result GetVersion(color_ostream &stream,
const EmptyMessage *, StringMessage *out)
{
@@ -445,6 +460,12 @@ static command_result ListEnums(color_ostream &stream,
#undef BITFIELD
}
+static command_result ListJobSkills(color_ostream &stream, const EmptyMessage *, ListJobSkillsOut *out)
+{
+ describeJobSkills(out->mutable_value());
+ return CR_OK;
+}
+
static void listMaterial(ListMaterialsOut *out, int type, int index, const BasicMaterialInfoMask *mask)
{
MaterialInfo info(type, index);
@@ -590,6 +611,7 @@ CoreService::CoreService() {
addFunction("GetWorldInfo", GetWorldInfo);
addFunction("ListEnums", ListEnums, SF_CALLED_ONCE | SF_DONT_SUSPEND);
+ addFunction("ListJobSkills", ListJobSkills, SF_CALLED_ONCE | SF_DONT_SUSPEND);
addFunction("ListMaterials", ListMaterials, SF_CALLED_ONCE);
addFunction("ListUnits", ListUnits);