* Abusing Generosity - Unrestricted Airlock Access Flip (#68096)
* Abusing Generosity - Unrestricted Airlock Access Flip
Hey there,
We now have a lot of unrestricted access helpers on airlocks, which are neato. However, while spitballing ideas in regards to this a few months ago, someone suggested to make it such that you can use the airlock wires to "flip" the directional way. I decided to sit down and code it in today.
The high details are this: You can only do it if the airlock has a directional Request-to-Exit sensor (which is just a thing I made up, you can't get this in-game outside of mapping it in via a directional helper). You can tell if a door has it the same way you can tell if any door is a directional door, or you can simply just check to see if the Unrestricted Access Display is "on" in any capcity (the airlock will not have the sensor if the display is off).
It's effectively a dud without the "sensor". However, if it does have it, you can either pulse it (to switch the direction by 180 degrees) or cut the wire (to disable the direction entirely). When you mend the wire though, it'll activate to a random direction (could even be inside a wall). You can keep cutting and mending until you get what you want, though. If it gets stuck in a wall though... shouldn't have cut it.
While in the area, I alphabetized a bunch of lists, added a new color of airlock wire, and probably some other stuff.
* Adds this behavior to building new airlocks
I also renamed it to "sensor" so it's a bit clearer across all the potential contexts.
It does seem to handle setting multiple directions on creating a new mapload, cutting/pulsing will condense the nice multi-directional stuff into one direction (i am okay with this).
Co-authored-by: spookydonut <github@ spooksoftware.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Abusing Generosity - Unrestricted Airlock Access Flip
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Merge Conflict Markers - The Explicit Pathing, Layering, Iconing, Warning. (#68039)
* Merge Conflict Markers - The Explicit Pathing
Hey there,
This PR corrects an issue I've been having with mapmerge2 these last few months. Basically, what it does is create a base `/obj` that is given the name `---Merge Conflict Marker---`. This is fine and all, but the problem is that the base `/obj` is set to a certain plane. This does mean that sometimes, this VERY IMPORTANT marker is covered up by rocks or other objects. So, this seeks to get rid of that potential flaw, as well as do some other things.
Sometimes, when objects are rendered via GAGS or other code-means, they tend to have the same default Purple/White Sprite that any object without a valid icon_state has. This has caused me some confusion, so I have decided to create a new icon for conflict markers. This icon was designed to be as ugly as possible, while creating as much contrast as possible with the background by incorporating several colors into its design. I hope you find merge conflicts as unpleasant as I do.
I also updated mapmerge2 to have it so you can set the specified path of the object, as well as a small comment on the warnings if you do not heed it. I'm keeping the fact that mapmerge2 adds a name to the object just in case someone else really needs that. I also updated the linters to check for this path as well (even though the name and description should suffice for linting), and it should all be gravy from here.
* Adds further contrast to the DMI.
* Splits the merge conflict marker into a generic /obj
I also added a thing where if it didn't get caught by linters and it showed up on Initalize, it would error to mapping logs, spit out an error in world, and do all sorts of stuff to remind you.
* python new line
* forgot to add a tab
* Merge Conflict Markers - The Explicit Pathing, Layering, Iconing, Warning.
Co-authored-by: san7890 <the@san7890.com>
* Adjusts Door Mapping Helper Layers (#68032)
Hey there,
Access helper layers are great and all, but they tended to have this sort of effect on maps where since they were on the same layer as all of the other mapping helpers for doors, they would just tend to cover up the smaller sprites the others used, like this:
So, this just switches up the layers a bit by having a new layer called `DOOR_ACCESS_HELPER_LAYER` (that is still above `OPEN_DOOR_LAYER`) just for Access Helpers, while every other airlock helper takes the `DOOR_HELPER_LAYER` (like before), which has been increased by 0.01 more funny number.
Ok?
* Adjusts Door Mapping Helper Layers
Co-authored-by: san7890 <the@san7890.com>
* Adjusts Layering of Broken/Burnt Floor Helpers (#67958)
Small QoL thing for mappers. Mapping Helpers automatically go on the highest plane possible, POINT_LAYER. This would result in broken/burnt flooring having the following appearance in map editors:
This is just weird clutter that doesn't particularly look good. So, I just switched both of those subtypes to the same layer that we use for cleanable decal effects, just for nice visual clarify. Here's what that looks like:
* Adjusts Layering of Broken/Burnt Floor Helpers
Co-authored-by: san7890 <the@san7890.com>
* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE
* fex
* fex
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* fixes all access helpers (#67503)
All access helpers added their access to req_access_txt instead of req_access, that fixes that, and cuts down on some unnecessary code.
* fixes all access helpers
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Spellchecks the Name for Unrestricted Side Helpers (#67269)
What the fuck is a "unresctricted"?
* Spellchecks the Name for Unrestricted Side Helpers
Co-authored-by: san7890 <the@san7890.com>
* fixes problems with access helpers (#66456)
Makes Library access helper use Library access instead of Theatre
Adds a Theatre access helper for Theatre
Adds an Engine equip access helper for Engine equip (SMES/Grav gen, in the case of Pubby, aka the whole reason I made this PR).
Removes double crematoriums
It's nice when helpers work as they are supposed to, and if used in the future, will help our maps have less varediting. pretty cool.
* fixes problems with access helpers
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* fix CI hopefully
* more CI
* fffff test this fix
* ok try this
* ok maybe
* more runtime??
* Revert "more runtime??"
This reverts commit c14124de3e18b2963ed78207ed6c64df97524a3c.
* fix this runtime?
* Revert "fix this runtime?"
This reverts commit 4b690e17666b906c47ea1ba86da6744be15c1132.
* working??
Co-authored-by: nevimer <foxmail@protonmail.com>
* fixes minor spelling mistake on genpop instrucitons (Also makes them a fluff paper) (#64791)
* fixes minor spelling mistake on genpop instrucitons (INTRUSTIONAL -> INSTRUCTIONAL)
* 'listas' spelling mistake too
* fixes minor spelling mistake on genpop instrucitons (Also makes them a fluff paper)
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes a bunch map log runtimes, adds CI to catch some more potential map issues (#64599)
* Fixes APC offsets in template maps, airlock note placer helper
* also hellfactory
* remove doubled lavaland mining cable
* Updates CI grep checks for cable check to work, and also check lattices and identical pipes
* Add APC pixel offset checking
* mass apc offset fixes
* Fixes a bunch map log runtimes, adds CI to catch some more potential map issues
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Fixes Modular Map Loading Runtimes (#64212)
## About The Pull Request
Moves the modmap root object's load_map() call to New(). This changes something about where it falls in init order that stops it from causing a flood of lighting runtimes. Don't ask my why, it just does.
## Why It's Good For The Game
Fixes#64192
* Fixes Modular Map Loading Runtimes
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* Fixes some mapping errors not using the mapping error log. (#64114)
Should help prevent #64066 from reoccurring.
* Fixes some mapping errors not using the mapping error log.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Adds Modular Ruins (#64077)
Adds a new system to allow mappers to randomly load modular map segments.
For implementation details and a tutorial check the included README.md.
* Adds Modular Ruins
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* adds the sound injector mapping helper (#63807)
lets us control both icons and sounds, basically free will over assets on custom maps
* adds the sound injector mapping helper
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Forces areas to create their lighting objects when loaded from a map template (#62931)
Continues the journey of #61730. This time, all map templates will see their area lighting objects created upon getting loaded if they have static_lighting = TRUE. This means that places like Hilbert's hotel, as well as any map placed by an admin during the round, will now be able to properly have dynamic lights without any need for VV shenanigans.
Tested and working, I tested with Hilbert's hotel and by spawning a couple of other map templates to confirm.
Fixes#61558, closes#61340 (kinda not, but it's already fixed anyway, and loosely related to this) and should be the final nail in the coffin of #61349.
Courtesy ping to @ TiviPlus, just in case you had anything to say about it.
* Forces areas to create their lighting objects when loaded from a map template
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* secret gateway update (#62003)
admins are now notified about a secret gateway load failing, also logs this
secret z levels are protected from incorporeal movement
fixes unpowered ruin areas being powered
adds a bunch of new areas for secret gateways, since var edited areas probably arent a good idea its good to have a few presets
adds cordon turfs and areas, ingame they just look like the z level border, they are completely indestructible, you cant pass them, and if you somehow do, the cordon area kills you (idea from goon but the code and sprites are mine)
adds a z level injector mapping trait, injects a z level trait into the z level its placed on, if you want to add something like ash storms or whatever to your map
adds an anti xray z level trait, you can optionally add this with the z level injector to protect your map against any xray or whatever
* secret gateway update
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before. (#61943)
* Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
currently cycle helpers only work in straight lines, this limits mapping design for airlocks, i now present to you a new mapping helper where all you do is set a var for the helper, and paste it over airlocks, and those airlocks will now all sync up so only one of them can be open at a time (as of now clicking an airlock to open them wont cycle, but the current cycle helpers dont do it either so its consistent)
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
* Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Del The World: Unit testing for hard deletes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>