diff options
| author | Will Rogers | 2012-04-03 14:03:06 -0400 |
|---|---|---|
| committer | Will Rogers | 2012-04-03 14:03:06 -0400 |
| commit | 59d7b6faabdfbf662ca8a71b66b3893542d0ec45 (patch) | |
| tree | e1a7c3084b5d0a9db6c4bf1fbdfcac0ec8bbdd7d /library/RemoteTools.cpp | |
| parent | 467f4108ae9ad52fee6e0e95579be5544d52e4ee (diff) | |
| download | dfhack-59d7b6faabdfbf662ca8a71b66b3893542d0ec45.tar.gz dfhack-59d7b6faabdfbf662ca8a71b66b3893542d0ec45.tar.bz2 dfhack-59d7b6faabdfbf662ca8a71b66b3893542d0ec45.tar.xz | |
Add ListJobSkills.
Diffstat (limited to 'library/RemoteTools.cpp')
| -rw-r--r-- | library/RemoteTools.cpp | 22 |
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); |
