* 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>
As described in issue #56733, there is a possibility of a race condition in SSmapping.add_new_zlevel - either during Z level incrementing, or the proc itself, as it only expands the amount of registered z-levels after being finished.
While the first hopefully shouldn't happen, it can still manifest because of the CHECK_TICK within. A practical result is that two concurrent calls to this proc will both create a new Z-level, but actually report having made the same first one.
This is problematic for map_templates that will then load blindly to the reported Z-level when using load_new_z, overwriting each other. We sometimes encounter that end result on CM13 codebase because of a map load that can be triggered by an user topic - if two people click at the same time, it's not unlikely for the first call to sleep in CHECK_TICK and let the second run, causing double-loading.
Co-authored-by: fira <loyauflorian@gmail.com>
* I hate TGUI even if its better than what we had before
* this is why linters exist
* you need to be a Head or the Warden to get items
* does this please you linter?
* foundation
* basic interactions
* yea I can spell okay?
* linters please leave me alone
* begone debug code
* if you are dead, no interacting
* linters leave me alone
* linters are stealing my soul
* forgot to do this
* sound framework, probably wont work though
* max length, and interaction cooldowns
* message can now be a list and minor code improve
* I am a slave and linters are my master
* fix improper static reference
* add json loading/saving functionality
* default for message is now a list
* jsonize def interactions; implement requirements
* bad
* bug fix; CtrlShiftClick to interact
* minor qol fix
* fix CtrlShiftClick and remove debug code
* haha docker has security measures
* this was painful
* why are you in this branch
* begone
* bruh
* begone
Co-authored-by: Matthew <matthew@tfaluc.com>
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>