0.C-10600-ged89130 - Roadblock turrets vanished

OK, so I came upon a military bunker, and outside the bunker, pretty much diagonally next to the bunker, there was a roadblock, with two police cars and two 9mm turrets. I managed to stay outside the turrets’ range, circled around to the bunker entrance, and used a military ID card to gain access, leaving the roadblock turrets on the other side of the building. I proceeded downstairs, checked the loot there, and came back up. I then find that the 9mm turrets had disappeared (!) My CSI skills determined they hadn’t exploded but instead just vanished, based on the damage that the nearby items on the ground had sustained but I can’t be 100% certain (90% sure though). I sure as hell didn’t hear them explode at any point, and I surely would’ve heard that.

I’m just theorizing that maybe the bunker turret mechanism somehow messed with 9mm turrets? Maybe they disappeared as soon as I had used the ID card to gain access? I never had line of sight from the entrance. This is an old game, too. The world dates back several versions, months in realtime.

Not a huge deal I reckon, because it’s a rare occurrence to come upon a bunker next to a roadblock, but I’m just putting this out here.

That could be it:

//TODO only despawn turrets "behind" the door for (int i = 0; i < (int)g->num_zombies(); i++) { if ( (g->zombie(i).type->id == mon_turret) || (g->zombie(i).type->id == mon_turret_rifle) ) { g->remove_zombie(i); i--; } }

Looks like it despawns all turrets.

Ah. Undestandable, I suppose. Can’t quite narrow down the area.
I suppose it wipes all turrets within the reality bubble?
Same happens with lab front doors and science ID cards?

Maybe bunker/lab/roadblock turrets should each be their own monster type? Like, copy the current turrets but give them their own designation/group. Then wipe only turrets of that group.

For example:
mon_turret_9mm_lab
mon_turret_223_lab

mon_turret_9mm_bunker
mon_turret_223_bunker

(mon_turret_9mm_roadblock)?
(mon_turret_233_roadblock)?

Nah, that’s way too hacky.
The proper fix would involve fixing the computer code that causes it by adding some extra data to the computer. Maybe also by flagging the turrets as lab turrets on spawn and having the computer only delete the nearest x turrets.

Last time i checked there is already a variation of this function that replaces hardened-glass tiles with floor tiles in a specific radius. This is used in labs for accessing CBM’s (and admittedly bugs out in that a successful hacking of one computer seems to also affect other compures in the area)

But the point is that one could mod this exact function to remove turrets in a radius :wink:
Or even rewrite it to work for any ter_id -> new_ter_id