undo/redo edit placed creatures

This commit is contained in:
2025-06-11 20:37:12 -05:00
parent 8eec250cd5
commit e695e69b2b
5 changed files with 52 additions and 1 deletions

View File

@@ -1034,4 +1034,22 @@ bool cMonster::operator==(const cMonster& other) {
CHECK_EQ(other, ambient_sound);
CHECK_EQ(other, see_spec);
return true;
}
bool cTownperson::operator==(const cTownperson& other) {
CHECK_EQ(other, number);
CHECK_EQ(other, start_attitude);
CHECK_EQ(other, start_loc);
CHECK_EQ(other, mobility);
CHECK_EQ(other, time_flag);
CHECK_EQ(other, spec1);
CHECK_EQ(other, spec2);
CHECK_EQ(other, spec_enc_code);
CHECK_EQ(other, time_code);
CHECK_EQ(other, monster_time);
CHECK_EQ(other, personality);
CHECK_EQ(other, special_on_kill);
CHECK_EQ(other, special_on_talk);
CHECK_EQ(other, facial_pic);
return true;
}

View File

@@ -98,6 +98,10 @@ public:
short special_on_kill, special_on_talk;
pic_num_t facial_pic;
// For detecting actual changes to town monsters in the editor
bool operator==(const cTownperson& other);
bool operator!=(const cTownperson& other) { return !(*this == other); }
void import_legacy(legacy::creature_start_type old);
cTownperson();
cTownperson(location loc, mon_num_t num, const cMonster& monst);