diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/ruby/unit.rb | 14 | ||||
| -rw-r--r-- | plugins/sort.cpp | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/plugins/ruby/unit.rb b/plugins/ruby/unit.rb index 5289229a..139a375b 100644 --- a/plugins/ruby/unit.rb +++ b/plugins/ruby/unit.rb @@ -12,9 +12,15 @@ module DFHack ref.unit_tg if ref.kind_of?(GeneralRefUnit) when :viewscreen_unitlistst v = curview - # TODO fix xml to use enums everywhere - page = DFHack::ViewscreenUnitlistst_TPage.int(v.page) - v.units[page][v.cursor_pos[page]] + v.units[v.page][v.cursor_pos[v.page]] + when :viewscreen_petst + v = curview + case v.mode + when :List + v.animal[v.cursor].unit if !v.is_vermin[v.cursor] + when :SelectTrainer + v.trainer_unit[v.trainer_cursor] + end else case ui.main.mode when :ViewUnits @@ -48,7 +54,7 @@ module DFHack } end - def unit_iscitizen(u) + def unit_iscitizen(u) u.race == ui.race_id and u.civ_id == ui.civ_id and !u.flags1.dead and !u.flags1.merchant and !u.flags1.forest and !u.flags1.diplomat and !u.flags2.resident and !u.flags3.ghostly and !u.curse.add_tags1.OPPOSED_TO_LIFE and !u.curse.add_tags1.CRAZED and diff --git a/plugins/sort.cpp b/plugins/sort.cpp index 4b2bf7bb..95ae109a 100644 --- a/plugins/sort.cpp +++ b/plugins/sort.cpp @@ -356,7 +356,7 @@ DEFINE_SORT_HANDLER(unit_sorters, pet, "/List", animals) std::vector<df::unit*> units; for (size_t i = 0; i < animals->animal.size(); i++) - units.push_back(animals->is_vermin[i] ? NULL : (df::unit*)animals->animal[i]); + units.push_back(animals->is_vermin[i] ? NULL : animals->animal[i].unit); if (compute_order(*pout, L, top, &order, units)) { |
