Is there a way to blacklist overmap specials?

I’m making diferent mods related to robotics and sci fi content but I always found the same situation: farms, more farms and even more farms. Even Vorm complain about the farm hell.

I’m aware that you can ban certain types of overmap specials like in the mod No_Fungi:

{
“type”: “region_overlay”,
“regions”: [ “all” ],
“overmap_feature_flag_settings”: { “blacklist”: [ “FUNGAL” ] }
}

But that feature’s very limiting of what you can do with it, I want to specificly blacklist certain types of buildings like farms and others but no more than that.

Farms spawn its mentioned often. You can manipulate map generator, like distance between city, and farm dont appear or just few.
I know this is not the answer you seek but perhaps help.

Maybe this post help

How about "overmap_feature_flag_settings": { "blacklist": [ "FARM" ] }? It get’s rid of all farms, only exception the “ranch_camp”.

For other buildings, there are not many options - you’ll need to take the long way and remove them “manually”, as in: Check the data->json->overmap->overmap_special->specials.json file for the id of the building and create a file in your mod that contains "type": "overmap_special", that id, an empty "overmaps" list and "occurrences": [ 0, 0 ]. For example…:

Get rid of all the prisons
[
  {
    "type": "overmap_special",
    "id": "Prison",
    "overmaps": [],
    "occurrences": [ 0, 0 ]
  },
  {
    "type": "overmap_special",
    "id": "Alcatraz Prison",
    "overmaps": [],
    "occurrences": [ 0, 0 ]
  },
  {
    "type": "overmap_special",
    "id": "Prison Hidden Lab",
    "overmaps": [],
    "occurrences": [ 0, 0 ]
  }
]

If you want to get rid of certain city buildings, you probably can tweak them in your regional_map_settings.json “replacement”, specifically in the "city"->"houses" and "shops" list.

But I’m not experienced at modding building spawn rates, so maybe it wont work as I expect it to.

1 Like

Thanks, I’m gonna test your info right away.

The first things definitely works but it doesn’t get rid of rural houses and the second it doesn’t but anyways it’s amazing the results. Now I just need a way to blacklist starting scenario sites, not scenarios as a whole just the site, because if you select a blacklist site to start it will not generate the region and a error pop-ups.

You could add in “WILDERNESS” to the blacklist ("blacklist": [ "FARM", "WILDERNESS" ]), but it will also get rid of some other stuff which you may or may not want to keep…:

Buildings with WILDERNESS flag
  1. Riverside Dwelling
  2. Rural Gas Station
  3. Cabin (all of them)
  4. Strangle Temple
  5. Standing stones
  6. Radio Tower (not all of them, as hub01 has one built in)
  7. Mine
  8. Spider Pit
  9. Cave
  10. Bandit Camp
  11. Campsite (all)
  12. Rest Stop (multiple)
  13. Garage with Gas Station (outside of city)
  14. Pond
  15. Basin
  16. Bog
  17. Swamp Shack
  18. State Park
  19. Fishing Pond
  20. Derelict Property
  21. Hunting Blind
  22. Desolate Barn
  23. Rural House (all)
  24. Moonshine Still (all)
  25. Giant Sinkhole
  26. Fire Lookout Tower
  27. Regional Dump
  28. Lumbermill (might still generate in city vicinity as it’s listed in the city generator, not sure)
  29. Island (multiple)
  30. Crashed Airliner

Uh… what exactly doesn’t work? I’ve tested that when I’ve wrote that post and now again (build 10530) and it seems to work fine? It’s exactly how the No_Rail_Stations mod does it, just in an abbreviated version.
Maybe a loading order issue? Or, if you tried to blacklist rural houses with that, did you made sure you got all of them (each one on its own segment, of course: rural_house, rural_house_turn and rural_house_yard)? Did it throw an error message?

Basically the same thing as how to remove a specific overmap special. You could do it with the data->json->start_locations.json data, but it will turn out ugly. Better use the ids in the data->json->scenarios.json file instead. Create a file in your mod folder, go to the file for the scenarios, copy them over to your file, and change them like…:

Example

Original:

 [
   {
     "type": "scenario",
     "ident": "isolationist",
     "name": "Safe Place",
     "points": 1,
     "description": "You've found some distant safe place, devoid of the living dead.  Looks like you're on your own...",
     "allowed_locs": [
       "sloc_refugee_center",
       "sloc_hermit_shack",
       "sloc_farm_survivalist",
       "sloc_cabin",
       "sloc_lmoe",
       "sloc_horse_ranch",
       "sloc_lighthouse_ground",
       "sloc_cabin_lake"
     ],
     "start_name": "Safe Building",
     "flags": [ "LONE_START" ]
   },
 ]

Changes to:

 [
   {
     "type": "scenario",
     "ident": "isolationist",
     "name": "Safe Place",
     "points": 1,
     "description": "You've found some distant safe place, devoid of the living dead.  Looks like you're on your own...",
     "allowed_locs": [
       "sloc_refugee_center",
       "sloc_lmoe",
       "sloc_lighthouse_ground"
     ],
     "start_name": "Safe Building",
     "flags": [ "LONE_START" ]
   },
 ]

Sadly, it seems to be necessary to copy the whole section of the scenario over, you can’t just modify one line/list. You can just add in the "type": "scenario", "ident": "THE_ID_OF_THE_SCENARIO" and then use "copy-from": "THE_ID_OF_THE_SCENARIO", ending it with "allowed_locs": .... This is a much cleaner solution.

If you remove the last allowed_locs you’ll either need to replace it with a different location or completely remove (blacklist) the scenario in a new file, with "type": "SCENARIO_BLACKLIST" and "subtype": "blacklist".

For a better understanding on how to use these things I’ve just named, check out these files:

  • data/mods/No_Rail_Stations/overmap_specials.json on how to remove some specific locations.
  • data/mods/more_classes_scenarios/cs_scenarios.json on how to change existing scenarios.
  • data/mods/Dark-Skies-Above/blacklists/scenario_blacklist.json on how a blacklist looks.
1 Like

I don’t know what I’m doing wrong but I just not able to blacklist rural houses

Summary

[
{
“type”: “overmap_special”,
“id”: “rural_house”,
“overmaps”: [ ],
“occurrences”: [ 0, 0 ]
},
{
“type”: “overmap_special”,
“id”: “rural_house1”,
“overmaps”: [ ],
“occurrences”: [ 0, 0 ]
},
{
“type”: “overmap_special”,
“id”: “rural_house2”,
“overmaps”: [ ],
“occurrences”: [ 0, 0 ]
},
{
“type”: “overmap_special”,
“id”: “rural_yard”,
“overmaps”: [ ],
“occurrences”: [ 0, 0 ]
},
{
“type”: “overmap_special”,
“id”: “rural_turn”,
“overmaps”: [ ],
“occurrences”: [ 0, 0 ]
}
]

yes I make sure that all variants of the rural houses are in the blacklist but still appearing in the regions. I think I lack something or just miss a big, dumb and clear mistake.

Hm, I’m not sure what version you’re playing / trying this on, but in the newest one there is no “rural_house1” (or _2, _yard & _turn for that matter) in the “specials.json” file.
The names I found are "rural_house", "rural_house_turn" and "rural_house_yard".

Searching through the files shows that a "rural_house1" & "rural_house2" do exist, but they are linked to the city. To get rid of them, you’ll need to tweak them in your regional_map_settings.json “replacement” file.

Something like this
[
  {
    "type": "region_overlay",
    "regions": [ "all" ],
    "city":
    {
      "houses":
      {
        "rural_house1": 0,
        "rural_house2": 0
      }
    }
  }
]

Or if you want to combine it with the farm blacklist…:

[
  {
    "type": "region_overlay",
    "regions": [ "all" ],
    "overmap_feature_flag_settings": { "blacklist": [ "FARM" ] },
    "city":
    {
      "houses":
      {
        "rural_house1": 0,
        "rural_house2": 0
      }
    }
  }
]

I’ve tested it and it seemed to work, but I can’t say for sure.

Also, if you didn’t blacklist farms, there is one that comes with its own rural house, namely "farm_lot_forest". That one would then again go into your “overmap_special” blacklist.

So, try again and see if it works :smile: ?

1 Like

I still got the same problem and I updated to the version 0.E-767-g8786b2b (tiles) (10535). But ya know what? This is unnecessary, the problem I wanted to attend was the farm hell problem and I already solved that, now this is polishing small things that doesn’t affect that much the gameplay of the player. I prefer to focus now in the developing of the remake and maybe you can help me.

I’m making a mod that’s the remake of the Salvaged Robots mod, it’s more a remake because I’m doing from scratch, taking some ideas but mostly giving it a feeling of actually repairing and upgrading robots, it’s easy to make a 100 types of turrets and robots that shots various types of projectiles like acid, laser, scrap metal, bearing, bullets, etc. But I think that CDDA is already too combat centric, at the end it’s not so diferent from arming NPCs with melee weapons and armor, so I planned to add automation to make the life of the player a bit more easier.

My idea is to allow the player to craft with the inactive robots something easy to do, like disassemble ropes into thread. I know how to make new recipes and put it into books but I don’t know how to make a item that passed certain amount of time allows to activate it and drop the desire item. Like tanning leather, I researched for that item id but I only found it’s recipe, not the item itself.

Never mind, I found it :3

1 Like