-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some factions claim only one OMT #77428
Some factions claim only one OMT #77428
Conversation
This seems a bit odd. A faction should claim the area owned by the faction, not whatever their members happen to see at the time. Thus, the occupied lumber mill survivor camp's members should claim the stuff inside their camp, but not the surrounding tiles, for example. It seems this is something that ought to be specified as part of the definition of the map special (or building, or whatever other OMT level type it is). If you're going through with this, you should probably add the Scrapper to the set. |
I'm not sure we're on the same page here. -This has nothing to do with line of sight. -'claim' and 'owed' are synonyms here, it's just a matter of whether their claim/ownership extends the entire reality bubble or not -The e.g. lumbermill still claims the entire reality bubble (as far as they can without some new method of delimiting their area) If you see the example image, that's the grey flame faction 'healer's respite' from magiclysm. You can see how it is vexing and nonsensical that they would claim an entire city block despite occupying only one structure. Now they claim the structure they occupy, and nothing else. There is potential for a faction which 'squats' on city buildings, but they can simply not set limited_area_claim |
I too was using "claim" and "own" as synonyms. Likewise my usage of "see" essentially means the same thing as the reality bubble (the lumber mill tends to have people stationed at the periphery). I agree it's desirable to limit claims to what should be the faction's territory, but I'd prefer to see something that did that, rather than doing it only in one specific case. As far as I can see, this is a band aid to help with some particularly annoying cases, but it doesn't fix the underlying issue, so it will have to be fixed properly eventually (and that probably involves removing this band aid). One example it won't do anything about is a deserter area of 2*2 OMTs in a city. If they're hostile it probably doesn't matter, but if they aren't it does (I've never been close enough to them to find out if they are). |
The deserters are hostile but I agree it would be better if this was more modifiable on a case by case basis by making it a mapgen definable zone (https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/MAPGEN.md#place-a-zone-for-an-npc-faction-with-zones (I don't think this documentation is exhaustive)) for instance. |
A zone would be a possible way, although it may be more convoluted than necessary, given that you'd probably want to cover all of the faction's OMTs anyway (and zones are currently limited to being rectangular in shape). However, a flag in the definition of the site might well be implemented as a new type of zone. |
Clang tidy error |
Summary
Balance "Some factions claim only one OMT"
Purpose of change
Does not close the issue.
This was a particular problem for two of the Magiclysm factions, since they could spawn inside of cities and 'claim' a very wide area.
Describe the solution
Give factions a new json field,
limited_area_claim
, defaults false. Factions with this set to true will only care about the single OMT their camp(s) is on, instead of the entire reality bubble.So if you encounter the Magiclysm magic shop guy, he only cares if you start breaking stuff in his shop. You can knock down the neighboring buildings without a complaint.
Gave it to the following factions:
Lapin, Grey Flame(Magicylsm, magic shop guy), The Ancient Ones(Magiclysm, wizard tower guy), and the dinomod swamper guys, since they occupy a single church tile.
Describe alternatives you've considered
We could store and track this on a camp-by-camp basis, but that would take more effort and I don't see any need for that right now.
Testing
Moved one tile outside of a magic shop's OMT, smashed. Was allowed to.
Moved one tile back into magic shop's OMT, smashed. Got the warning.
Additional context
Claimed area before and after: