The problem with quests is that they need some prerequisites to work, but those premises are different depending on the type.
- Clear quests need all spawns/sleepers to be reset for them to work
- Fetch quests need to place a satchel in an hidden compartment or block that must be still there
So when someone destroys the POI or kills the zombies in there the starting conditions are not valid anymore.
The most logical and realistic solution would be to treat quests like we'd do in a real situation.
If a POI has already been cleared the game must check that and exclude that POI from the list of "Clear" type quests.
At the same time, the Fetch quests, could work anyway, since you'd just have to place the satchel somewhere upon quest activation.
Using this approach you don't need to magically rebuild POIs upon quest activation, they will stay the same for the rest of the game.
Now the problem becomes that in MP games all POIs would at some point become looted and cleared.
We have several possible solutions to this:
- The normal zombie respawn rate for sleepers will take care of the Clear type quests automatically (placed will be filled again after some time)
- The normal loot respawn rate for containers will take care of the scarcity of loot in MP games (it already works like this)
- We need a new type of quest called (i.e.) "Rebuild/Refurbish" where you are sent to a POI to repair it and will succeed only after you have repaired a number of blocks and furniture to their original status.
This way the quest activation marker will become just a normal quest-start point while the POIs will always be in the state the player/s left them (unless you rebuild them with the appropriate new quest type that is).