Skip to content

Commit

Permalink
Adds military helipad location (#36732)
Browse files Browse the repository at this point in the history
* Adds military helipad location

* JSON fixes.

* Moster placing fix.

* Terrain id fix.

* Replace mech lifter with a forklift.

* Review changes

* Set of small fixes - spawns etc.

* Reduce number of perimeter turrets to 4.
  • Loading branch information
CountAlex authored and I-am-Erk committed Jan 8, 2020
1 parent 29351f0 commit 89ef868
Show file tree
Hide file tree
Showing 6 changed files with 394 additions and 0 deletions.
18 changes: 18 additions & 0 deletions data/json/furniture_and_terrain/terrain-floors-outdoors.json
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,24 @@
"items": [ { "item": "rock", "count": [ 2, 15 ] }, { "item": "rebar", "count": [ 0, 4 ] } ]
}
},
{
"type": "terrain",
"id": "t_concrete_y",
"name": "concrete",
"description": "A newer segment of poured concrete with surface finishes for aesthetics and resistance to freeze-thaw cycles. Covered with a streak of yellow paint.",
"symbol": ".",
"color": "yellow",
"looks_like": "t_wall_y",
"move_cost": 2,
"flags": [ "TRANSPARENT", "FLAT", "ROAD", "MINEABLE" ],
"bash": {
"ter_set": "t_null",
"str_min": 50,
"str_max": 400,
"str_min_supported": 100,
"items": [ { "item": "rock", "count": [ 2, 15 ] }, { "item": "rebar", "count": [ 0, 4 ] } ]
}
},
{
"type": "terrain",
"id": "t_floor_noroof",
Expand Down
11 changes: 11 additions & 0 deletions data/json/itemgroups/supplies.json
Original file line number Diff line number Diff line change
Expand Up @@ -496,5 +496,16 @@
[ "whistle", 5 ],
[ "airhorn", 2 ]
]
},
{
"id": "fuel_barrel",
"type": "item_group",
"//": "barrel with gasoline, diesel or motor oil like you would find at fuel depot",
"subtype": "distribution",
"entries": [
{ "item": "gasoline", "charges": [ 0, 50000 ], "container-item": "30gal_drum", "prob": 30 },
{ "item": "diesel", "charges": [ 0, 50000 ], "container-item": "30gal_drum", "prob": 10 },
{ "item": "motor_oil", "charges": [ 0, 10000 ], "container-item": "jerrycan", "prob": 5 }
]
}
]
213 changes: 213 additions & 0 deletions data/json/mapgen/helipad.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
[
{
"method": "json",
"om_terrain": [ [ "helipad_nw", "helipad_ne" ], [ "helipad_sw", "helipad_se" ] ],
"type": "mapgen",
"weight": 500,
"object": {
"fill_ter": "t_floor",
"rows": [
"FFF.......pppppppp...........................FFF",
"FTFFWWWWWF!!!!!!!!FFFFFFFFFFFFFFFFFFFFFFFFFFFFTF",
"FFG.W4ddw.pppppppp...........................GFF",
".F..W-c?w.pppppppp...|||||||||||||||||||||||..F.",
".F..WmWWW.pppppppp...|%_____________C__B___|..F.",
".F..pppppppppppppppppM___C_________C_CC_B__|..F.",
".F..pppppppppppppppppM____________CCCCC____|..F.",
".F..pppppppppppppppppM_B__C___B__B___C_B___|..F.",
".F..pppppyppppyppppppM________*_________B__|..F.",
".F..pppppyppppyppppppM__B___C___B__C__B____|..F.",
".F..pppppyppppyppp...|____C___B____________|..F.",
".F..pppppyppppypppooom___________B______%__|..F.",
".F..pppppyppppyppp...||||||||m|MMMMMMMMM||||..F.",
".F..pppppyppppyppp...|_rrrr|____________%__|..F.",
".F..oooooooooooooo...|_____|_______________|..F.",
".F..............oo...|_rrrr|___IIIIIIIII_RR|..F.",
".F..WwWWwWwwWwwW++WwW|M|||||___IUUUUUUUI_sR|..F.",
".F..W----+-----+-----m_____m___IUUUUUUUI_75|..F.",
".F..W-?ddWdc--dW--WWW|||||||___IUUUUUUUI___|..F.",
".F..Wz-cfWd?f?dW--W&W|_____m___IUUUUUUUI_RR|..F.",
".F..WWWWWWWWWWWWz-+-W|ggggg|___IUUUUUUUI_sR|..F.",
".F..W[[[HH##O#SW--WSW|||||||___IUUUUUUUI_85|..F.",
".F..W----------+--WWW|lllll|___IUUUUUUUI___|..F.",
".F..W-cttc---1WW--+-W|_____M___IUUUUUUUI___|..F.",
".F..W-cttc-z-2W<--WhW|lllll|___IUUUUUUUI%__|..F.",
".F..WWwwwWwwwWWW++WWW||||||||m|MMMMMMMMM||||..F.",
".F.......3P.....oo...........o.=========6666..F.",
".F..========================================..F.",
".F..========================================..F.",
".F..========================================..F.",
".F..========================================..F.",
".F...o,,,,,o..o,,,,,,,,,,,,,,,,,,o..o,,,,,o...F.",
".F...o=====o..o==================o..o=====o...F.",
".F..$=========o$==,,========,,$==o==========..F.",
".F..==========o===,,========,,===o==========..F.",
".F..=,=====,==o===,,========,,===o=,=====,==..F.",
".F..=,=====,==o===,,========,,===o=,=====,==..F.",
".F..=,=====,==o===,,,,,,,,,,,,===o=,=====,==..F.",
".F..=,,,,,,,==o===,,,,,,,,,,,,===o=,,,,,,,==..F.",
".F..=,,,,,,,==o===,,========,,===o=,,,,,,,==..F.",
".F..=,=====,==o===,,========,,===o=,=====,==..F.",
".F..=,=====,==o===,,========,,===o=,=====,==..F.",
".F..=,=====,==o===,,========,,===o=,=====,==..F.",
".F..==========o==================o==========..F.",
".F..==========o==================o==========..F.",
"FFG..........................................GFF",
"FTFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFTF",
"FFF..........................................FFF"
],
"palettes": [ "helipad_palette" ],
"toilets": { "&": { } },
"gaspumps": { "$": { } },
"items": {
"B": {
"item": {
"subtype": "distribution",
"entries": [ { "group": "fuel_barrel", "prob": 30 }, { "item": "30gal_drum", "prob": 70 } ]
},
"chance": 75
},
"C": {
"item": {
"subtype": "distribution",
"entries": [
{ "group": "military_patrol_food", "prob": 50, "count": [ 3, 5 ] },
{ "group": "infantry_common_gear", "prob": 5, "count": [ 1, 2 ] },
{ "group": "mil_food", "prob": 40, "count": [ 1, 5 ] },
{ "group": "infantry_medical_gear", "prob": 5, "count": [ 1, 2 ] },
{ "group": "supplies_metal", "prob": 150, "count": [ 2, 6 ] },
{ "group": "supplies_mechanics", "prob": 50, "count": [ 0, 3 ] }
]
},
"chance": 50
},
"r": {
"item": {
"subtype": "distribution",
"entries": [ { "group": "military_standard_assault_rifles", "prob": 45 }, { "group": "military_standard_shotguns", "prob": 5 } ]
},
"chance": 10
},
"l": {
"item": {
"subtype": "distribution",
"entries": [
{ "group": "army_personal_locker", "prob": 150 },
{ "group": "military_patrol_food", "prob": 50 },
{ "group": "supplies_plumbing", "prob": 20 },
{ "group": "supplies_electronics", "prob": 20 },
{ "group": "supplies_metal", "prob": 20 },
{ "group": "supplies_mechanics", "prob": 20 },
{ "group": "hardware", "prob": 20 }
]
},
"chance": 50,
"repeat": [ 2, 6 ]
},
"L": { "item": "army_personal_locker", "chance": 50, "repeat": [ 0, 4 ] },
"d": { "item": "SUS_office_desk", "chance": 50 },
"f": { "item": "SUS_office_filing_cabinet", "chance": 90 },
"4": { "item": "military_standard_shotguns", "chance": 50 },
"#": { "item": "SUS_utensils", "chance": 25, "repeat": [ 1, 3 ] },
"t": { "item": "SUS_dishes", "chance": 50, "repeat": [ 1, 2 ] },
"[": { "item": "SUS_fridge", "chance": 50 },
"O": { "item": "SUS_oven", "chance": 75, "repeat": [ 0, 2 ] },
"H": { "item": "SUS_spice_collection", "chance": 75 },
"&": { "item": "SUS_toilet", "chance": 50 }
},
"place_monsters": [ { "monster": "GROUP_MIL_STRONG", "x": 36, "y": 15 }, { "monster": "GROUP_MIL_WEAK", "x": 24, "y": 30, "density": 2 } ],
"monster": { "T": { "monster": "mon_turret_rifle" } },
"place_vehicles": [
{ "vehicle": "forklift", "x": 29, "y": 6, "chance": 95, "rotation": 180, "status": 1 },
{ "vehicle": "parkinglotbasic", "x": 4, "y": 9, "chance": 75, "rotation": 270, "status": -1 },
{ "vehicle": "flatbed_truck", "x": 11, "y": 4, "chance": 25, "rotation": 270, "status": -1 },
{ "vehicle": "helicopter_wreck_3a", "x": 9, "y": 42, "chance": 10, "rotation": 90, "status": -1 },
{ "vehicle": "helicopter_wreck_1a", "x": 18, "y": 34, "chance": 10, "rotation": 270, "status": -1 },
{ "vehicle": "helicopter_wreck_3a", "x": 39, "y": 42, "chance": 10, "rotation": 90, "status": -1 }
]
}
},
{
"method": "json",
"om_terrain": [ [ "helipad2f_nw", "helipad2f_ne" ], [ "helipad2f_sw", "helipad2f_se" ] ],
"type": "mapgen",
"weight": 500,
"object": {
"fill_ter": "t_floor",
"rows": [
"************************************************",
"****RRRRR***************************************",
"****RRRRR***************************************",
"****RRRRR************=======================****",
"****RRRRR************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"*********************=======================****",
"****WWWWWWWWWWWWWWWWW=======================****",
"****WbttbWbttbWSjjWhW=======================****",
"****Wb--bWb--bW-----W=======================****",
"****WL--LWL--LW-LLWhW=======================****",
"****WW+WWWW+WWW+WWWWW=======================****",
"****W-----------W&-SW=======================****",
"****WW+WWWW+WWW-WW+WW=======================****",
"****WL--LWL--LW-----+=======================****",
"****Wb--bWb--bW-WW+WW=======================****",
"****WbttbWbttbW>W&-SW===================DD==****",
"****WWWWWWWWWWWWWWWWW=======================****",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************",
"************************************************"
],
"palettes": [ "helipad_palette_roof" ],
"toilets": { "&": { } },
"items": {
"t": { "item": "bedroom", "chance": 50, "repeat": [ 0, 4 ] },
"b": { "item": "bed", "repeat": [ 0, 3 ], "chance": 90 },
"h": { "item": "SUS_bathroom_sink", "chance": 50 },
"S": { "item": "SUS_bathroom_sink", "chance": 90 },
"L": { "item": "army_personal_locker", "repeat": [ 0, 4 ], "chance": 50 },
"=": { "item": "roof_trash", "chance": 2 },
"&": { "item": "SUS_toilet", "chance": 50 }
},
"place_monsters": [ { "monster": "GROUP_MIL_WEAK", "x": 10, "y": 20, "density": 0.5 } ],
"place_nested": [
{
"chunks": [ [ "roof_2x2_infrastructure", 40 ], [ "roof_2x2_infrastructure_2", 30 ], [ "roof_2x2_utilities", 30 ] ],
"x": [ 24, 42 ],
"y": [ 4, 13 ]
},
{
"chunks": [ [ "roof_2x2_infrastructure", 40 ], [ "roof_2x2_infrastructure_2", 30 ], [ "roof_2x2_utilities", 30 ] ],
"x": [ 24, 42 ],
"y": [ 14, 22 ]
}
]
}
}
]
83 changes: 83 additions & 0 deletions data/json/mapgen_palettes/helipad.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
[
{
"type": "palette",
"id": "helipad_palette",
"terrain": {
"+": "t_door_c",
"W": "t_wall_w",
"-": "t_floor",
"w": "t_window",
"G": "t_chaingate_c",
"|": "t_concrete_wall",
"F": "t_chainfence",
"!": "t_guardrail",
"p": "t_pavement",
"m": "t_door_metal_c",
"y": "t_pavement_y",
".": "t_region_groundcover_urban",
"T": "t_region_groundcover_urban",
"=": "t_concrete",
"%": "t_gates_mech_control",
"_": "t_thconc_floor",
"B": "t_thconc_floor",
"C": "t_thconc_floor",
"r": "t_thconc_floor",
"l": "t_thconc_floor",
"R": "t_thconc_floor",
"s": "t_thconc_floor",
"*": "t_thconc_floor",
"7": "t_thconc_floor",
"8": "t_thconc_floor",
"M": "t_door_metal_locked",
",": "t_concrete_y",
"o": "t_sidewalk",
"?": "t_console_broken",
"g": "t_generator_broken",
"P": "t_water_pump",
"5": "t_machinery_light",
"6": "t_bulk_tank",
"I": "t_thconc_y",
"U": "t_metal_floor",
"<": "t_stairs_up"
},
"furniture": {
"C": "f_crate_c",
"r": "f_rack",
"z": [ "f_indoor_plant_y", "f_indoor_plant" ],
"L": "f_locker",
"4": "f_locker",
"c": "f_chair",
"s": "f_chair",
"l": "f_utility_shelf",
"d": "f_desk",
"f": "f_filing_cabinet",
"[": "f_fridge",
"O": "f_oven",
"S": "f_sink",
"t": "f_table",
"R": "f_workbench",
"3": "f_standing_tank",
"H": "f_cupboard",
"7": "f_drill_press",
"8": "f_router",
"h": "f_shower",
"#": "f_counter"
}
},
{
"type": "palette",
"id": "helipad_palette_roof",
"terrain": {
"+": "t_door_c",
"W": "t_wall_w",
"-": "t_floor",
"w": "t_window_domestic",
"*": "t_open_air",
"=": "t_flat_roof",
"R": "t_flat_roof",
"D": "t_flat_roof",
">": "t_stairs_down"
},
"furniture": { "L": "f_locker", "b": "f_bed", "h": "f_shower", "S": "f_sink", "t": "f_table", "D": "f_small_satelitte_dish" }
}
]
20 changes: 20 additions & 0 deletions data/json/overmap/overmap_special/specials.json
Original file line number Diff line number Diff line change
Expand Up @@ -6441,5 +6441,25 @@
"city_sizes": [ 4, 20 ],
"occurrences": [ 0, 2 ],
"flags": [ "CLASSIC" ]
},
{
"type": "overmap_special",
"id": "military helipad",
"overmaps": [
{ "point": [ 0, 0, 0 ], "overmap": "helipad_nw_north" },
{ "point": [ 1, 0, 0 ], "overmap": "helipad_ne_north" },
{ "point": [ 0, 1, 0 ], "overmap": "helipad_sw_north" },
{ "point": [ 1, 1, 0 ], "overmap": "helipad_se_north" },
{ "point": [ 0, 0, 1 ], "overmap": "helipad2f_nw_north" },
{ "point": [ 1, 0, 1 ], "overmap": "helipad2f_ne_north" },
{ "point": [ 0, 1, 1 ], "overmap": "helipad2f_sw_north" },
{ "point": [ 1, 1, 1 ], "overmap": "helipad2f_se_north" }
],
"locations": [ "land" ],
"connections": [ { "point": [ 0, -1, 0 ], "terrain": "road", "connection": "local_road" } ],
"city_distance": [ 10, 100 ],
"city_sizes": [ 3, 12 ],
"occurrences": [ 0, 2 ],
"flags": [ "CLASSIC" ]
}
]
Loading

0 comments on commit 89ef868

Please sign in to comment.