Commit Graph

168 Commits

Author SHA1 Message Date
SkyratBot
9323d74ce4 [MIRROR] Fixes a bunch map log runtimes, adds CI to catch some more potential map issues [MDB IGNORE] (#11231)
* 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>
2022-02-08 01:15:03 +00:00
SkyratBot
5ef50e2cbc [MIRROR] Tramstation Modular Maintenance Pass 1 [MDB IGNORE] (#11192)
* Tramstation Modular Maintenance Pass 1 (#64296)

* Tramstation Modular Maintenance Pass 1

Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
2022-02-02 17:16:12 +00:00
SkyratBot
8f047b2bf5 [MIRROR] Fixes Modular Map Loading Runtimes [MDB IGNORE] (#10822)
* 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>
2022-01-20 02:52:23 +00:00
SkyratBot
1e4ba0273c [MIRROR] Fixes some mapping errors not using the mapping error log. [MDB IGNORE] (#10805)
* 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>
2022-01-19 17:21:17 +00:00
SkyratBot
16a6d35733 [MIRROR] Adds Modular Ruins [MDB IGNORE] (#10760)
* 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>
2022-01-18 00:54:13 +00:00
SkyratBot
c33061765b [MIRROR] [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety [MDB IGNORE] (#10620)
* [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety

* updates and fixes

* ffff

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 03:25:38 +00:00
SkyratBot
d8d18e0dd7 [MIRROR] adds a circuit spawner mapping helper [MDB IGNORE] (#10501)
* adds a circuit spawner mapping helper (#63867)

* adds a circuit spawner mapping helper

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-01-07 11:49:46 +00:00
SkyratBot
8e09620129 [MIRROR] adds the sound injector mapping helper [MDB IGNORE] (#10441)
* 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>
2022-01-04 22:48:44 +00:00
SkyratBot
119356e97f [MIRROR] Fixes Massive Radio Overtime, Implements a Spatial Grid System for Faster Searching Over Areas [MDB IGNORE] (#10107)
* Fixes Massive Radio Overtime, Implements a Spatial Grid System for Faster Searching Over Areas

* no spamming pings for upstream :(

* E

* E

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-23 03:06:56 +00:00
SkyratBot
170d7f9efe [MIRROR] Forces areas to create their lighting objects when loaded from a map template [MDB IGNORE] (#9614)
* 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>
2021-11-22 16:31:37 +00:00
SkyratBot
3e6ee8ec60 [MIRROR] refactors injecting mapping helpers, adds an element injector [MDB IGNORE] (#9314)
* refactors injecting mapping helpers, adds an element injector (#62622)

Refactors injector mapping helpers.

* refactors injecting mapping helpers, adds an element injector

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2021-11-08 15:53:38 -05:00
SkyratBot
98428cdfb5 [MIRROR] Replaces a portion of C-style for loops with the more commonplace for loops, which are faster. [MDB IGNORE] (#9298)
* Replaces a portion of C-style for loops with the more commonplace for loops, which are faster.

* Update code/modules/projectiles/boxes_magazines/_box_magazine.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2021-11-08 10:50:29 -05:00
SkyratBot
13d38add93 [MIRROR] Repaths knives to not all be children of the kitchen knife. [MDB IGNORE] (#8843)
* Repaths knives to not all be children of the kitchen knife.

* Fix

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-23 00:07:08 +01:00
SkyratBot
fa519bdde3 [MIRROR] cleanup _HELPERS/_lists.dm and all the necessary files [MDB IGNORE] (#8783)
* cleanup _HELPERS/_lists.dm and all the necessary files

* Epbic

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 21:07:35 +01:00
SkyratBot
b365a52a96 [MIRROR] secret gateway update [MDB IGNORE] (#8747)
* 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>
2021-10-11 16:16:36 +01:00
SkyratBot
95ab2d2efb [MIRROR] Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before. [MDB IGNORE] (#8714)
* 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>
2021-10-09 09:11:52 -04:00
SkyratBot
cc93b11d23 [MIRROR] _HELPERS/unsorted.dm has been sorted [MDB IGNORE] (#8627)
* _HELPERS/unsorted.dm has been sorted

* Feexing conflicts

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-10-06 22:07:01 +01:00
SkyratBot
09c2297ad1 [MIRROR] Secret Gateways: Config loaded Away Missions + Anti-observing Z level traits [MDB IGNORE] (#8437)
* Secret Gateways: Config loaded Away Missions + Anti-observing Z level traits

* 0

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-04 00:11:28 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
Useroth
991e756273 Adds a mapping helper that can cycle multiple airlocks regardless of location (#60675) (#7641)
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>
2021-08-21 22:24:00 +01:00
SkyratBot
b0c01e40af [MIRROR] Del The World: Unit testing for hard deletes (#7589)
* 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>
2021-08-17 18:58:57 +01:00
SkyratBot
d4e11d2080 [MIRROR] Redoes how alarms are handled, moves their behavior to datums (#7547)
* Redoes how alarms are handled, moves their behavior to datums

* a

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 23:38:01 +01:00
Gandalf
778a589555 Removes a lot of redundant non-modular changes and maybe fixes cleanbots (#6615)
* oof

* Update _ai_controller.dm

* no need for this anymore
2021-06-30 21:50:50 +02:00
SkyratBot
cd94063668 Fix race condition in SSmapping z-level creation (#59560) (#6207)
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>
2021-06-10 08:55:34 +12:00
Matthew J
aac40d2ed3 [TM-ONLY][DNM] Attempts to remove all instances where a list is accessed with a '?' (#5932)
* 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>
2021-05-25 16:26:39 +01:00
Gandalf
5f10f39257 Expeditionary corps + Black Mesa + Trusted Player System (#5418)
* OH YEAH BOIS BRING THE SALT

* AAAAAA

* AAAAAAAA

* Update tgstation.dme

* AAA

* Update uniform_digi.dmi

* AAAAA

* Update trusted_players.txt

* \ADSA

* AAA

* Update expeditionary_corps.dm

* AAAA

* Update expeditionary_corps.dm

* Update jobmanagement.dm

* Update expeditionary_corps.dm

* AAA

* AA

* Update wildwest.dmm

* AAAAAAAAA

* Update wildwest.dmm

* AAAAAA

* Update clothing.dm

* AAAA

* AAA

* AA

* AA

* AAA

* Merge branch 'master' into exp-corps

* Update _basemap.dm

* Update map_template.dm

* AAAAAAAA

* AAAAAAAA

* fc

* AAA

* Update faithless.dm

* Update faithless.dm

* Update wildwest_skyrat.dmm

* CHANGES EXP TROOPER TO SCIENCE

* OH YEAH

* AAA

* AAA

* Update jobs.dm

* AAA

* AAAAAAAAAAAAAAAAAA

* Update modular_skyrat/modules/exp_corps/code/clothing.dm

Co-authored-by: Tom <tomforde4@gmail.com>

* stupid action button

* aaa

* Merge branch 'exp-corps' of https://github.com/Skyrat-SS13/Skyrat-tg into exp-corps

* Merge branch 'master' into exp-corps

* a

* AAAAAAAAA

* Update sector_c.dm

* WOAH THATS A LOT OF FILES

* AAAAAAAA

* Update black_mesa.dm

* Update black_mesa.dm

* AAAA

* aaaaaa

* Update black_mesa.dm

* a

* 00

* a

* Update black_mesa.dm

* HEDCRABS

* fffff

* aaa

* 000

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* F

* aaa

* NO MORE GOD OPS!

* Update blackmesa.dmm

* 0

* AAAAA

* Update black_mesa.dm

* Update black_mesa.dm

* Update black_mesa.dm

* Update expeditionary_trooper.dm

* Update black_mesa.dm

* Update black_mesa.dm

* a

* a

* a

* a

* Update uniform_digi.dmi

* no raping ears

* Update uniform.dmi

* Update hev_suit.dm

* Update black_mesa.dm

* a

* a

* a

* Update blackmesa.dmm

* Update blackmesa.dmm

* AAA

* Update black_mesa.dm

* Update blackmesa.dmm

* A

* a

* Update job.dm

* Update black_mesa.dm

* Update black_mesa.dm

* Update black_mesa.dm

* Update biohazard_blob_mobs.dm

* a

* Update mold_event.dm

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Tom <tomforde4@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-05-23 17:00:39 +02:00
SkyratBot
da88f8e596 [MIRROR] Gives the hop a trapdoor (#5864)
* Gives the hop a trapdoor (#59081)

* Gives the hop a trapdoor

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-05-23 04:31:51 +01:00
SkyratBot
781a5ac94c [MIRROR] Smart Pipes(reborn) (#4682)
* Smart Pipes(reborn) (#58038)

How these new pipes work.
-Smart pipes autoconnect to nearby smart pipes
-They are now color coded, so they only connect to the same colored pipe, the GREY pipe is the wildcard and can connect to every other color, so be aware of this
-ALL components spawned by the RPD can be colored (from pumps to connectors, from pipes to manifolds), if you leave them GREY they can connect to every other color. Color adapters can be colored, but they'll still connect two pipes with different colors. BUILDABLE machines are GREY (thermomachines, cryo, HFR) so be aware of this
-Trying to go across another smart pipe will now build a bridge pipe automatically already colored of the color you choose, so you don't have to place it yourself anymore (is still available in the RPD tho)
-ALL binary components, layer manifolds, color adapters and bridge pipe can be put ONTOP of a smart pipe, but not on another of these. Smart pipes can't be placed on top of these pipes, so you have to build them first.
-Lcrossings can't be made anymore (sorry y'all i tryed, if someone have a way of doing them ping me on discord)
-REMEMBER you still have 5 layers to go, these rules apply to the same layer pipes, so if you do a crossing on different layers you won't see a bridge pipe appear.

* Smart Pipes(reborn)

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-04-06 09:42:49 +01:00
Gandalf
d14f4ea7c9 Revert "Revert "[MIRROR] Layer overhaul (#4503)" (#4509)" (#4536)
This reverts commit b27ede689e.
2021-03-31 02:08:56 +01:00
Useroth
b27ede689e Revert "[MIRROR] Layer overhaul (#4503)" (#4509)
This reverts commit 8ac892d340.
2021-03-30 23:45:08 +01:00
SkyratBot
8ac892d340 [MIRROR] Layer overhaul (#4503)
* Layer overhaul (#57915)

## About The Pull Request
Changes up some layer and plane defines for no particular reason lol

## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._

* Layer overhaul

* aaaaaaaaa

a

Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-03-29 16:36:36 +01:00
SkyratBot
cbc41f5d13 [MIRROR] Fixes bug with atoms (including new players!!!!) not spawned from the holodeck being deleted by it if they happened to be initialized at the same time (#4260)
* Fixes bug with atoms (including new players!!!!) not spawned from the holodeck being deleted by it if they happened to be initialized at the same time (#57510)

About The Pull Request

Fixes #57446
yeah not my best moment, holodeck currently sets SSatoms to add every call to InitAtom() to a list and then give it back to the holodeck console (it actually goes through map_template/holodeck to do it but whatever). However it turns out atom/New() calls InitAtom too, so if an atom is created while SSatoms is still creating the list to give to the holodeck then that atom is added to the list regardless of whether or not its actually from the holodeck template.

Now theres an extra argument to InitAtom that tells it whether its spawned directly from a map template (ie, its part of the input list of uninitialized atoms that InitializeAtoms was given) or otherwise the output list that the holodeck uses is populated by calling GetAllContents on all atom/movables spawned directly from the template.

also renamed some vars in initTemplateBounds because it was hard to reason what it was doing and made it use as anything

also note that loading a map template with returns_created_atoms = TRUE will no longer track atoms that arent in the map file but are spawned directly onto a turf, currently nothing does this with the holodeck (which is the only map template that has this feature)

by the way this bug is my fault
Why It's Good For The Game

incredibly incredibly unlucky new players dont deserve to be deleted just because they didnt spawn in the holodeck
Changelog

🆑
fix: the holodeck is no longer so powerful that it can destroy anything and everything that dares to start existing while it's busy loading programs
/🆑

* Fixes bug with atoms (including new players!!!!) not spawned from the holodeck being deleted by it if they happened to be initialized at the same time

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-03-20 00:09:51 +00:00
SkyratBot
3a84837e26 [MIRROR] Fixes icon fetch mapping helper / chasms eating mapping helpers. (#4087)
* Fixes icon fetch mapping helper / chasms eating mapping helpers. (#57603)

Doing the fetches asynchronously both made cache irrelevant and caused mixup with icon use.

Also semi-related fix, where chasms could delete mapping helpers.

* Fixes icon fetch mapping helper / chasms eating mapping helpers.

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2021-03-12 00:41:34 +00:00
SkyratBot
e63094d9ae [MIRROR] adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#3737)
* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#57263)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-03-01 17:55:55 +00:00
SkyratBot
18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
4dbe8a2659 [MIRROR] Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#2957)
* Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#55645)

Refactors the holodeck to use map templates instead of copy_contents_to, which every maintainer seems to have complaints about.

Fixes #41485 because the matches become part of the spawned list created by ssatoms
Fixes #54789 because the holodeck area no longer has the NO_TELEPORT flag
Fixes #55676 because the map templates cant be changed midround unlike the program copies in the centcom z level
Fixes #49318 because the holodeck no longer creates new areas like the original did

This pr also changes initTemplateBounds to be a /datum/map_template proc instead of a parsed_map proc. This was mainly so I wouldn't have to duplicate vars between map_template and parsed_map. It's also nice because there's no longer a parsed_map proc inside the map_template file, especially when it didn't need to be a parsed_map proc.

The holodeck sims wont take up space in the centcom z level any more (which allows for more possible programs in the future), and map templates are more heavily tested. This is also a chance to future proof the holodeck against bugs. Holodeck also seems more responsive. This should allow for a second custom holodeck in some future ruin as well, although that of course will not be in play for the near future because of the offstation content ban. Also I documented the fuck out of the holodeck

* Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-01-30 16:40:12 +00:00
SkyratBot
b99505e5fd [MIRROR] Adds custom icon mapping helper. (#2748)
* Adds custom icon mapping helper. (#56183)

Allows embedding icon edits in your maps by fetching them from external host.
This is intended for use with live-loaded away/event maps not standard ones.

Also updates rustg defines to expose the additional options arguments. (https://github.com/tgstation/rust-g/pull/59)

* Adds custom icon mapping helper.

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2021-01-17 13:40:10 +01:00
SkyratBot
f79e91462c [MIRROR] LINDA Reforged (#2573)
* LINDA Reforged

* Update airlock.dm

* Update biohazard_blob_controller.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-08 18:52:35 +01:00
SkyratBot
4c5433d5cf [MIRROR] The Great Radio Rework: NTNET Part 1 of many. (#2384)
* The Great Radio Rework: NTNET Part 1 of many.

* Update airlock.dm

Co-authored-by: WarlockD <warlockd@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2020-12-30 21:14:49 +00:00
SkyratBot
60d0e47bb6 [MIRROR] Adds "cut ai wire" helper; Adds them to the Pirate Shuttle (#2382)
* Adds "cut ai wire" helper; Adds them to the Pirate Shuttle (#55799)

Stops silicons from interacting with the Space Pirate Shuttle's airlocks by cutting the AI wires on the airlocks of the shuttle by default using a new "cut ai wire" helper. Borgs are able to regain control by physically mending the wire of the airlocks.

Note that this does not stop borgs from interacting with other machinery on the pirate shuttle.

The meta to deal with space pirates is for a single borg to cuck pirates by shocking and bolting all of the doors on the pirate ship. This does not entirely get rid of the meta, as any smart borg can simply mend the wires back, but it means borgs will not longer be able to magically shock doors from windows.

* Adds "cut ai wire" helper; Adds them to the Pirate Shuttle

Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
2020-12-30 17:38:33 +00:00
SkyratBot
7464e2f81d [MIRROR] Fixes mapping processes not clearing up all flora (#2375)
* Fixes mapping processes not clearing up all flora (#55785)

Such as spawning ruins or generating terrain. This also makes so cleaned rocks properly dont drop ash, but have to be mined

* Fixes mapping processes not clearing up all flora

Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-30 13:12:40 +01:00
SkyratBot
7813465ef3 [MIRROR] Makes the ChangeTurf same turf optimization work properly again, and converts baseturfs into a string_list (#1601)
* Makes the ChangeTurf same turf optimization work properly again, and converts baseturfs into a string_list (#54277)

I've converted baseturfs into a string list, I had to add a helper proc for baseturf stringlistifying, as the system expects single length baseturfs to not be a list, and I needed to support that. I added a length check of 100 to the helper proc, to help prevent more stuff like what got us into this mess in the first place, the kilo oom bug.

Makes ChangeTurf a lot faster in some cases, as it should be, and saves a lot of memory with cached lists.

* Makes the ChangeTurf same turf optimization work properly again, and converts baseturfs into a string_list

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-11-07 05:06:11 +00:00
SkyratBot
bd75f38fd6 [MIRROR] Initialize and LateInitialize runs correctly at round start (#1478)
* Initialize and LateInitialize runs correctly at round start (#54594)

I've been pulling my hair out on this one. Ever since I started my ntnet project, I could never get LateInitalize to work right. Apparently it has never worked right. How it was set up before on server start

    Station map loads, Does NOT run Initialize(mapload = TRUE)
    Generates space, lavaland/icebox ruins
    Loads a ruin, DOES run Initialize(mapload = TRUE) EXCEPT on areas
    End of mapping system
    Atom system Initialized and it checks and runs Initialize(mapload = TRUE) on world

You see the issue? Initialize and by extension LateInitialize is run in blocks. Worst, LateInitialize is run on turfs FIRST in ruins BEFORE Initialize is ever run on the other atoms. While there isn't much in Area, there is map_generator so I am sure it caused some grief for map creators.

The NEW order now is

    Station map loads, Does NOT run Initialize(mapload = TRUE)
    Generates space, lavaland/icebox ruins
    Loads a ruin, Does NOT run Initialize(mapload = TRUE)
    End of mapping system
    Atom system Initialized and it checks and runs Initialize(mapload = TRUE) on world

Also if you dynamicly load a map, like snowdin or such, it will Initialize all atoms at once and then run LateInitialize properly

* Initialize and LateInitialize runs correctly at round start

Co-authored-by: WarlockD <warlockd@gmail.com>
2020-10-27 02:22:25 +00:00
SkyratBot
666c1a108a [MIRROR] Some shuttes rework. Allow many shuttles of one template to work at the same time. (#1162)
* Some shuttes rework. Allow many shuttles of one template to work at the same time. (#53993)

* add replace button to shuttle panel

load button now only load new shuttle

* shuttle teplate loads as shuttle

* new shuttle console connects to shuttle

* new navigation computer connect to shurrle

* docking_port id now unique

add count to id if id already in work

* many docks from one base tenplate

* up

* fix unregister

* up

* up

* up

* block multiple shuttle loading

* return preview button

* up  id generation

* Some shuttes rework. Allow many shuttles of one template to work at the same time.

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-10-05 22:31:15 +01:00
SkyratBot
600b1b4219 [MIRROR] Fix loading templates in new z-levels being off by one turf. (#1141)
* Fix loading templates in new z-levels being off by one turf (#54135)

Due to how byond maps start at 1,1 and not 0,0 when loading a map that
is the same size as the world the map will start loading at 0,0 in the
world which is outside the map. load_map defaults the x and y offsets
to 1 for a reason!

Though you can load a map that is larger (257 x 257) than the world as
a band aid for issue.

* Fix loading templates in new z-levels being off by one turf.

Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
2020-10-03 20:39:46 +02:00
SkyratBot
f96916cf7a [MIRROR] Fix visible template loaded hidden tings. (#1083)
* Merge pull request #54079 from Dennok/map_template-load-hidding-things-fix

Fix visible template loaded hidden tings.

* Fix visible template loaded hidden tings.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-09-30 18:39:51 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
41129d1696 [MIRROR] map_template load fix (#929)
* map_template load fix (#53846)

* map_template load fix

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-09-23 14:43:30 +02:00
SkyratBot
883d670a1e [MIRROR] Smart Pipes : Mapping Revolution [Golden Edge Awards 2020 Edition] (#764)
* Smart Pipes : Mapping Revolution [Golden Edge Awards 2020 Edition] (#53530)

Adds a mapping helper for piping, it works on all layers, works on all colors, and it autoconnects to other pipe devices. making it extremely useful.

Making mapping less of a massive fucking clusterfuck of burnout is always good.

Mappers can now use Smart Pipes, pipes that autoconnect to other pipes, like redstone! MAPPERS ONLY!

* Smart Pipes : Mapping Revolution [Golden Edge Awards 2020 Edition]

Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
2020-09-12 02:11:32 +02:00