diff --git a/library/DFMemInfo.cpp b/library/DFMemInfo.cpp index 8b2e11833..e8cee4b0c 100644 --- a/library/DFMemInfo.cpp +++ b/library/DFMemInfo.cpp @@ -646,6 +646,7 @@ string memory_info::getProfession (const uint32_t key) const string memory_info::getJob (const uint32_t key) const { if(d->jobs.size() > key) + { return d->jobs[key]; } diff --git a/library/include/dfhack/modules/Creatures.h b/library/include/dfhack/modules/Creatures.h index d566662e8..93a8fe23d 100644 --- a/library/include/dfhack/modules/Creatures.h +++ b/library/include/dfhack/modules/Creatures.h @@ -390,6 +390,7 @@ namespace DFHack bool WriteMood(const uint32_t index, const uint16_t mood); bool WriteMoodSkill(const uint32_t index, const uint16_t moodSkill); bool WritePos(const uint32_t index, const t_creature &creature); + bool WriteCiv(const uint32_t index, const int32_t civ); private: struct Private; diff --git a/library/modules/Creatures.cpp b/library/modules/Creatures.cpp index 5ed6ddeae..a467a9e6b 100644 --- a/library/modules/Creatures.cpp +++ b/library/modules/Creatures.cpp @@ -532,6 +532,19 @@ bool Creatures::WritePos(const uint32_t index, const t_creature &creature) return true; } +bool Creatures::WriteCiv(const uint32_t index, const int32_t civ) +{ + if(!d->Started) + { + return false; + } + + uint32_t temp = d->p_cre->at (index); + Process * p = d->owner; + p->writeDWord(temp + d->creatures.civ_offset, civ); + return true; +} + uint32_t Creatures::GetDwarfRaceIndex() { if(!d->Inited) return 0;