I have a roof access door made, but I want to close it from the inside and I’m not clear about the best way to do that.
/furniture_and_terrain/terrain-roofs.json
{
"type": "terrain",
"id": "t_roof_access_door",
"name": "closed metal roof access door",
"description": "A closed roof access door or hinged opening of some kind.",
"symbol": "o",
"looks_like": "t_scrap_floor",
"color": "light_gray",
"move_cost": 2,
"flags": [ "TRANSPARENT", "FLAT", "OPENCLOSE_INSIDE", "BARRICADABLE_DOOR", "REDUCE_SCENT", "LOCKED" ],
"examine_action": "locked_object",
"open": "t_roof_access_door_open",
"bash": {
"str_min": 60,
"str_max": 210,
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_skylight_frame",
"items": [ { "item": "scrap", "count": [ 3, 6 ] } ]
},
"prying": {
"result": "t_roof_access_door_open",
"message": "You pry open the roof access door.",
"prying_data": { "difficulty": 8, "prying_level": 4, "noisy": true, "failure": "The metal door is hard to leverage open." }
}
},
{
"type": "terrain",
"id": "t_roof_access_door_open",
"name": "open metal roof access door",
"description": "An open roof access door. It appears as though the metal shutters can only be activated from the inside.",
"symbol": "o",
"looks_like": "t_linoleum_white",
"color": "light_gray",
"move_cost": 2,
"trap": "tr_ledge",
"roof": "t_flat_roof",
"examine_action": "ledge",
"close": "t_roof_access_door",
"connect_groups": "INDOORFLOOR",
"flags": [ "TRANSPARENT", "NO_FLOOR", "DOOR", "INDOORS", "EMPTY_SPACE", "TRANSPARENT_FLOOR" ],
"bash": {
"str_min": 60,
"str_max": 210,
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_skylight_frame",
"items": [ { "item": "scrap", "count": [ 3, 6 ] } ]
}
},
/construction_group.json
{
"type": "construction_group",
"id": "build_roof_access_door",
"name": "Build Roof Access Door"
},
/construction/roofs.json
{
"type": "construction",
"id": "constr_roof_access_door",
"group": "build_roof_access_door",
"//": "Step 1: Build roof access door",
"category": "CONSTRUCT",
"required_skills": [ [ "fabrication", 2 ] ],
"time": "60 m",
"qualities": [ [ { "id": "DRILL", "level": 1 } ], [ { "id": "SAW_M", "level": 1 } ], [ { "id": "WRENCH", "level": 2 } ] ],
"components": [ [ [ "hinge", 2 ] ], [ [ "nuts_bolts", 6 ] ], [ [ "scrap", 4 ] ], [ [ "sheet_metal", 1 ], [ "sheet_metal_small", 4 ] ] ],
"pre_terrain": "t_skylight_frame",
"post_terrain": "t_roof_access_door"
},
I’ve never made a pull request in my life on someone else’s stuff or really shared anything I’ve messed with. I’ve got no idea why this does not already exist or whatnot. I assume it has to do with the Z-level issue I’m messing with and asking about. I was thinking of maybe trying to use the climbing rope somehow as a way to add an element to the lower z-level, or maybe adding a lower z-level component to the build. I was thinking about a way to “mount” a ladder or something like that. I kinda like the idea of a ladder needed to get in and out of the lower level.
I’m also not super deep into the game timeline and don’t really want to ruin much of anything, but can enemies access a roof and enter?
I don’t entirely understand the syntax and scope of EOC system and that gets kinda spoiler’y to read into in detail with a lot of complex stuff that is not exactly related to what I am trying to do with a trigger on entry.
I tried creating a trap, but I don’t understand how “id”: “tr_ledge” works in the /core/traps.json in contrast to the others in /traps.json and how to write the same list of examine-ledge options… or if that is the right way of doing it.
I really wanted something like the "down": {
tag/type/label/whatever you call the things in the list of features of each item… from /climbing.json
I wanted to have… “down”:{ “ter_set”: “t_roof_access_door” }
like this
{
"type": "terrain",
"id": "t_roof_access_door",
"name": "closed metal roof access door",
"description": "A closed roof access door or hinged opening of some kind.",
"symbol": "o",
"looks_like": "t_scrap_floor",
"color": "light_gray",
"move_cost": 2,
"flags": [ "TRANSPARENT", "FLAT", "OPENCLOSE_INSIDE", "BARRICADABLE_DOOR", "REDUCE_SCENT", "LOCKED" ],
"examine_action": "locked_object",
"open": "t_roof_access_door_open",
"bash": {
"str_min": 60,
"str_max": 210,
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_skylight_frame",
"items": [ { "item": "scrap", "count": [ 3, 6 ] } ]
},
"prying": {
"result": "t_roof_access_door_open",
"message": "You pry open the roof access door.",
"prying_data": { "difficulty": 8, "prying_level": 4, "noisy": true, "failure": "The metal door is hard to leverage open." }
}
"down":{
"ter_set": "t_roof_access_door" ,
}
},
Also, is that cool to just use "looks_like": "t_scrap_floor",
instead of trying to figure out how to make a whole tile? I just copied how the skylight was using "looks_like": "t_linoleum_white",
. I don’t know if that interior tile is supposed to be relevant to the skylight or something.