Fix inability to set special nodes outdoors

This commit is contained in:
2017-02-07 20:09:15 -05:00
parent ed0c41c3ce
commit 61816b7529

View File

@@ -2182,24 +2182,22 @@ void place_edit_special(location loc) {
return;
}
auto& specials = editing_town ? town->special_locs : current_terrain->special_locs;
if(editing_town) {
for(short i = 0; i < specials.size(); i++)
if(specials[i] == loc && specials[i].spec >= 0) {
edit_spec_enc(specials[i].spec, editing_town ? 2 : 1, nullptr);
return;
}
// new special
short spec = get_fresh_spec(editing_town ? 2 : 1);
for(short i = 0; i <= specials.size(); i++) {
if(i == specials.size())
specials.emplace_back(-1,-1,-1);
if(specials[i].spec < 0) {
if(edit_spec_enc(spec, editing_town ? 2: 1, nullptr)) {
specials[i] = loc;
specials[i].spec = spec;
}
break;
for(short i = 0; i < specials.size(); i++)
if(specials[i] == loc && specials[i].spec >= 0) {
edit_spec_enc(specials[i].spec, editing_town ? 2 : 1, nullptr);
return;
}
// new special
short spec = get_fresh_spec(editing_town ? 2 : 1);
for(short i = 0; i <= specials.size(); i++) {
if(i == specials.size())
specials.emplace_back(-1,-1,-1);
if(specials[i].spec < 0) {
if(edit_spec_enc(spec, editing_town ? 2: 1, nullptr)) {
specials[i] = loc;
specials[i].spec = spec;
}
break;
}
}
}