I created a semi-reliable place to get pet item - The Veterinarian’s Clinic. Ive got it running and got the items to spawn in what I consider to be a roughly balanced way. Ive gotten the items and car to spawn where they should Ive gotten the game to accept it as a thing, and Ive been able to debug it into existence just fine.
A minor gripe is that Ive only ever seen 1 cat and 1 zdog in it.
A far larger one is that I cant get it to spawn naturally, despite cranking its weight up to absurd levels.
Why isnt this spawning? I dont get it, and depending on what mapgen file you look at its formatted slightly different.
{
“type” : “overmap_terrain”,
“id” : “veterinarian”,
“name” : “veterinarian clinic”,
“rotate” : true,
“sym” : [94, 62, 118, 60],
“color” : “i_pink”,
“see_cost” : 5,
“extras” : “build”,
“mondensity” : 2,
“sidewalk” : true,
“mapgen”: [ {
“weight”: 400,
“method”: “json”,
“object”: {
“fill_ter”: “t_floor”,
“rows”: [
" “,
” “,
” “,
” “,
” “,
” ~~~~~~~~~~~~~~~~~~~~~~ “,
” –OO–OO–::-------- “,
” -TccccccTy…#%.c-#R- “,
” -…#c.d-sl- “,
” -.ccccccT…–±--± “,
” -…-E.#…- “,
” –±--±–…-E…T.- “,
” -ll-y…-…+…T.- “,
” -sl-.ddd.-+±–i---- “,
” -lt-].c…+…-rr…==- “,
” ----------…-#…^l- “,
” **~~~~~~~~;…-#…==-* “,
” ~-…i…^l-* “,
” ~-i–#…==-* “,
” D-.r-d…^l-* “,
” -.$-]]%.==- “,
” ----------- “,
” ************* “,
” "
],
[
{
"type": "vehicle_group",
"id": "VETS",
"vehicles": [
[ "car", 300 ],
[ "pickup", 100 ],
[ "suv", 50 ]
]
},{
"type": "item_group",
"id": "vet_softdrug",
"items": [
["bandages", 50],
["1st_aid", 10],
["saline", 20],
["gummy_vitamins", 15],
["nyquil", 10],
["disinfectant", 15],
["vaccine_shot", 10],
["protein_powder", 30],
["smoxygen_tank", 20],
["elec_hairtrimmer", 10],
["survnote", 5],
["mask_dust", 65],
["glasses_safety", 10],
["towel", 50],
["scissors", 50],
["fungicide", 10],
["soap", 20],
["chem_hydrogen_peroxide", 10],
["canister_empty", 5],
["stethoscope", 5],
["scalpel", 55],
["gloves_medical", 50],
["medical_gauze", 25],
["quikclot", 10],
["hacksaw", 5],
["gloves_rubber", 25],
["knife_butcher", 5],
["machete", 5],
["rag_bloody", 10],
["bag_plastic", 20],
["string_6", 5]
]
},{
"type": "item_group",
"id": "vet_utility",
"items": [
["dog_whistle", 10],
["pet_carrier", 30],
["dogfood", 30],
["catfood", 30],
["towel", 20],
["soap", 10],
["gloves_medical", 20],
["rag", 15],
["rag_bloody", 2],
["bag_plastic", 20],
["jerky", 40]
]
},{
"type": "item_group",
"id": "vet_hardrug",
"items": [
["syringe", 10],
["diazepam", 10],
["antifungal", 30],
["antiparasitic", 30],
["antibiotics", 20],
["thorazine", 7],
["morphine", 50],
["codeine", 15],
["saline", 15],
["smoxygen_tank", 10],
["1st_aid", 60],
["medical_tape", 35],
["blood", 5],
["vaccine_shot", 15]
]
},{
"type": "monstergroup",
"name": "GROUP_VETS",
"default": "mon_null",
"monsters": [
{ "monster": "mon_zombie_dog", "freq": 10, "cost_multiplier": 0 },
{ "monster": "mon_dog_zombie_rot", "freq": 10, "cost_multiplier": 0 },
{ "monster": "mon_squirrel", "freq": 1, "cost_multiplier": 0 },
{ "monster": "mon_cat", "freq": 25, "cost_multiplier": 0 },
{ "monster": "mon_dog", "freq": 25, "cost_multiplier": 0 }
]
},{
"type" : "overmap_terrain",
"id" : "veterinarian",
"name" : "veterinarian clinic",
"rotate" : true,
"sym" : [94, 62, 118, 60],
"color" : "i_pink",
"see_cost" : 5,
"extras" : "build",
"mondensity" : 2,
"sidewalk" : true,
"mapgen": [ {
"weight": 400,
"method": "json",
"object": {
"fill_ter": "t_floor",
"rows": [
" ",
" ",
" ",
" ",
" ",
" ~~~~~~~~~~~~~~~~~~~~~~ ",
" *--OO--OO--::--------* ",
" *-TccccccTy..#%.c-#R-* ",
" *-...........#c.d-sl-* ",
" *-.ccccccT...--+---+-* ",
" *-...........-E.#...-* ",
" *--+---+---..-E...T.-* ",
" *-ll-y....-..+....T.-* ",
" *-sl-.ddd.-++---i----* ",
" *-lt-].c..+..-rr..==-* ",
" *----------..-#...^l-* ",
" **~~~~~~~~;..-#...==-* ",
" ~-..i....^l-* ",
" ~-i--#...==-* ",
" D-.r-d...^l-* ",
" *-.$-]]%.==-* ",
" *-----------* ",
" ************* ",
" "
],
"terrain": {
".": "t_floor",
"*": "t_shrub",
"-": "t_wall",
"+": "t_door_c",
";": "t_door_locked",
"i": ["t_door_locked_interior", "t_door_locked_interior", "t_door_c"],
":": "t_door_glass_c",
"O": "t_window",
"=": "t_chainfence_h",
"^": "t_chaingate_c",
"%": "t_console_broken",
" ": "t_pavement",
",": "t_pavement_y",
"~": "t_sidewalk",
"l": "t_linoleum_white"
},
"furniture": {
"#": "f_counter",
"c": "f_chair",
"T": "f_table",
"R": "f_locker",
"r": "f_rack",
"$": "f_safe_l",
"d": "f_desk",
"]": "f_bookcase",
"s": "f_sink",
"E": "f_cupboard",
"y": "f_indoor_plant",
"D": "f_trashcan"
},
"toilets": {
"t": { }
},
"place_vehicles": [
{ "x": 6, "y": 19, "vehicle": "VETS", "chance": 25 },
{ "x": 7, "y": 2, "vehicle": "VETS", "rotation": [ 2, 3 ], "chance": 15 },
{ "x": 15, "y": 2, "vehicle": "VETS", "rotation": [ 2, 3 ], "chance": 15 },
{ "x": 23, "y": 2, "vehicle": "VETS", "rotation": [ 2, 3 ], "chance": 15 }
],
"place_monsters": [
{ "x": 21, "y": 20, "monster": "GROUP_VETS", "chance": 40 },
{ "x": 21, "y": 18, "monster": "GROUP_VETS", "chance": 40 },
{ "x": 21, "y": 16, "monster": "GROUP_VETS", "chance": 40 }
],
"place_items": [
{ "item": "trash", "chance": 20, "x": 10, "y": 19, "repeat": [1,3] },
{ "item": "vet_softdrug", "chance": 40, "x": 17, "y": 10, "repeat": [2,5] },
{ "item": "vet_softdrug", "chance": 20, "x": 15, "y": [10, 11], "repeat": [1,2] },
{ "item": "vet_softdrug", "chance": 10, "x": 20, "y": 8, "repeat": [1,3] },
{ "item": "vet_softdrug", "chance": 10, "x": [16, 17], "y": 15, "repeat": [1,3] },
{ "item": "vet_hardrug", "chance": 80, "x": 13, "y": 20, "repeat": [4,9] },
{ "item": "waitingroom", "chance": 25, "x": 10, "y": 7, "repeat": [1,3] },
{ "item": "waitingroom", "chance": 25, "x": 10, "y": 9, "repeat": [1,3] },
{ "item": "waitingroom", "chance": 25, "x": 3, "y": 7, "repeat": [2,3] },
{ "item": "cleaning", "chance": 50, "x": 20, "y": 7, "repeat": [1,2] },
{ "item": "cleaning", "chance": 35, "x": 13, "y": 19, "repeat": [1,3] },
{ "item": "vet_utility", "chance": 35, "x": 3, "y": 7, "repeat": [2,3] },
{ "item": "vet_utility", "chance": 50, "x": 15, "y": [15, 16], "repeat": [2,5] },
{ "item": "vet_utility", "chance": 25, "x": 15, "y": 18, "repeat": [2,5] },
{ "item": "office", "chance": 40, "x": [15, 16], "y": 20, "repeat": [1,2] },
{ "item": "office", "chance": 25, "x": 17, "y": 8, "repeat": [1,2] },
{ "item": "office", "chance": 20, "x": [7, 10], "y": 13, "repeat": [2,5] },
{ "item": "doctors_books", "chance": 35, "x": 5, "y": 14, "repeat": [1,3] }
]
}
}
]
}
]
Im at the point where Im banging my head against a wall.