From d97b0497b354927bc4f1ed79c52c9cf1d1dba002 Mon Sep 17 00:00:00 2001 From: Japa Illo Date: Thu, 2 Feb 2017 12:12:28 +0530 Subject: [PATCH 1/2] Add prosession and noble position info to units. --- plugins/proto/RemoteFortressReader.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/proto/RemoteFortressReader.proto b/plugins/proto/RemoteFortressReader.proto index c0ed000c7..fdfc25d99 100644 --- a/plugins/proto/RemoteFortressReader.proto +++ b/plugins/proto/RemoteFortressReader.proto @@ -322,6 +322,8 @@ message UnitDefinition optional int32 blood_max = 14; optional int32 blood_count = 15; optional UnitAppearance appearance = 16; + optional int32 profession_id = 17; + repeated string noble_positions = 18; } message UnitList From c8e6845a7fceec83cfc0d69928762c43e1673d5a Mon Sep 17 00:00:00 2001 From: Japa Illo Date: Fri, 3 Feb 2017 10:08:35 +0530 Subject: [PATCH 2/2] Send noble positions and professions along with Units. --- .../remotefortressreader/remotefortressreader.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/remotefortressreader/remotefortressreader.cpp b/plugins/remotefortressreader/remotefortressreader.cpp index d1803dc0b..3ebd2ea35 100644 --- a/plugins/remotefortressreader/remotefortressreader.cpp +++ b/plugins/remotefortressreader/remotefortressreader.cpp @@ -96,6 +96,7 @@ #include "df/world_region_details.h" #include "df/world_site.h" #include "df/world_site_realization.h" +#include "df/entity_position.h" #if DF_VERSION > 40001 #include "df/plant_growth.h" @@ -1800,6 +1801,19 @@ static command_result GetUnitList(color_ostream &stream, const EmptyMessage *in, for (int j = 0; j < unit->appearance.colors.size(); j++) appearance->add_colors(unit->appearance.colors[j]); appearance->set_size_modifier(unit->appearance.size_modifier); + + send_unit->set_profession_id(unit->profession); + + std::vector pvec; + + if (Units::getNoblePositions(&pvec, unit)) + { + for (int j = 0; j < pvec.size(); j++) + { + auto noble_positon = pvec[j]; + send_unit->add_noble_positions(noble_positon.position->code); + } + } } return CR_OK; }