Commit Graph

1736 Commits

Author SHA1 Message Date
SkyratBot
169c42a262 [MIRROR] Refactors connect_loc_behalf into a component (#7613)
* Refactors connect_loc_behalf into a component (#60678)

See title. Also refactors caltrops into a component because they use connect_loc_behalf which requires them to hold the state.

This also fixes COMPONENT_DUPE_SELECTIVE from just outright not working.

connect_loc_behalf doesn't make sense as an element because it tries to hold states. There is also no way to maintain current behaviour and not have the states that it needs.
Due to the fact that it tries to hold states, it means the code itself is a lot more buggy because it's a lot harder to successfully manage these states without runtimes or bugs. 

On metastation, there is only 2519 connect_loc_behalf components at roundstart. MrStonedOne has told me that datums take up this much space:
image

If we do the (oversimplified) math, there are only ever 5 variables that'll likely be changed on most connect_loc_behalf components at runtime:
connections,
tracked,
signal_atom,
parent,
signal_procs

This means that on metastation at roundstart, we take up this amount: (24 + 16 * 5) * 2519 = 261.97600 kilobytes
This is not really significant and the benefits of moving this to a component greatly outweighs the memory cost.

(Basically the memory cost is outweighed by the maint cost of tracking down issues with the thing. It's too buggy to be viable longterm basically)

* Update glass.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-17 20:29:11 +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
7a1d3700bb [MIRROR] Drugs of the 26th century. Three new hella rad drugs, one less lame drug and more! (#7481)
* Drugs of the 26th century. Three new hella rad drugs, one less lame drug and more!

* Update traits.dm

* Update maint_loot_trash.dm

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 23:52:58 +01:00
SkyratBot
af5dba8965 [MIRROR] Fixes joining the game with the wrong dir (#7562)
* Fixes joining the game with the wrong dir (#60816)

* Fixes joining the game with the wrong dir

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-08-14 22:49:37 -04:00
SkyratBot
d2d89a863a [MIRROR] [Ready] Mining Loot Rework (#7461)
* [Ready] Mining Loot Rework

* AAAA

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-10 16:12:36 +01:00
jjpark-kb
3b278f201c species id defines (#7466) 2021-08-08 22:05:10 +01:00
SkyratBot
9f7d93f3f3 [MIRROR] Remove nanites (#7210)
* Remove nanites

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-29 00:45:17 +01:00
SkyratBot
c09c9d987b [MIRROR] Add Referee costume (#7164)
* Add Referee costume

* Update costume.dm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 22:05:49 +01:00
SkyratBot
f8f51cbd86 [MIRROR] Kills _globalvars/misc.dm (#7152)
* Kills _globalvars/misc.dm

* aaa

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 22:03:21 +01:00
SkyratBot
227b722820 [MIRROR] Job refactor: strings to references and typepaths [This could seriously break things :)] (#7006)
* Job refactor: strings to references and typepaths

* 0

* holy fuck

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 21:12:42 +01:00
SkyratBot
d379f5425e [MIRROR] removes some uses of var in world (#7150)
* removes some uses of var in world (#60407)

Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>

* removes some uses of var in world

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
2021-07-28 19:00:36 +01:00
SkyratBot
7201c920cc [MIRROR] Capture The Flag: Class Warfare (#7108)
* Capture The Flag: Class Warfare (#59629)

Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>

* Capture The Flag: Class Warfare

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
2021-07-26 15:46:56 +01:00
SkyratBot
607fb22e7b [MIRROR] Fixes minor typo with bloodspider directive (#7099)
* Fixes minor typo with bloodspider directive  (#60386)

* Fixes minor typo with bloodspider directive

Co-authored-by: aaaa1023 <74441292+aaaa1023@users.noreply.github.com>
2021-07-26 15:45:50 +01:00
SkyratBot
90f24aefdc [MIRROR] Change maintenance loot spawns to be invisible post-spawn (#7024)
* Change maintenance loot spawns to be invisible post-spawn (#60294)

A previous commit made maintenance loot spawn effects visibile to
observers, but transparent.

However, in practice this is a lot of visual noise for very little
benefit for observers, so after they've spawned, they disappear, akin to
the old behaviour.

(They are still there, just hidden, but it looks the same to the end
user.)

* Change maintenance loot spawns to be invisible post-spawn

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-20 14:41:35 +02:00
SkyratBot
f4b2218a9b [MIRROR] Rework maintenance loot spawners to fire at roundstart (#6986)
* Rework maintenance loot spawners to fire at roundstart (#59913)

Maintenance loot spawners now fire at roundstart, rather than during the initialization of the Atoms subsystem.
Maintenance loot spawners do not qdel themselves during the spawning process, but persist, and merely hide themselves from living players.

As a cute side effect, this lets preround observers look at the colourful maintenance loot dice icons before the round starts. Observers can continue to see the loot dice post-round, but they are deliberately
very faint.

* Rework maintenance loot spawners to fire at roundstart

* fixafix

Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-19 15:04:40 +02:00
SkyratBot
52a8891f7a [MIRROR] Changes overlay lighting vis contents objs -> underlays (#6985)
* Changes overlay lighting vis contents objs -> underlays (#60239)

Previously what it would do is create up to three objects; a cone, a lighting image and a holder
Then whenever the lighting image was placed into the holders vis contents and the holder would be teleported several times when the parent would to turn or move, and the cone would be spun when the parent spun

Instead of doing that it now just translates a single overlay every time that something is updated

* Mirror!

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 20:43:33 +12:00
SkyratBot
114347972a [MIRROR] Adds Ants, Decomposition, and some extras. (#6944)
* Adds Ants, Decomposition, and some extras. (#59634)

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Adds Ants, Decomposition, and some extras.

Co-authored-by: Wallemations <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2021-07-16 08:05:37 +01:00
SkyratBot
fb5576ee8f [MIRROR] Add new Wallets! station trait (#6704)
* Add new Wallets! station trait

* Update wallets.dm

Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-04 23:59:42 +01:00
SkyratBot
e46a431210 [MIRROR] Fix borgs needing to use tools to activate adjacent portals (#6717)
* sillycone touch (#59986)

* Fix borgs needing to use tools to activate adjacent portals

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-07-04 23:56:12 +01:00
Gandalf
0a3745796e Firelocks remastered (#6663)
* a

* Update firedoor.dm

* Update firedoor.dm

* Update firedoor.dm

* Update firedoor.dm
2021-07-03 22:27:28 +01:00
SkyratBot
56d4291ef6 [MIRROR] Reverts Entered() passing dir instead of old loc (#6646)
* Reverts Entered() passing dir instead of old loc (#59910)

* Reverts Entered() passing dir instead of old loc

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-07-02 16:42:34 +01:00
SkyratBot
899cd0d8ea [MIRROR] Fixes spread glowshrooms runtiming on initialize (#6633)
* Fixes spread glowshrooms runtiming on initialize  (#59902)

* Fixes spread glowshrooms runtiming on initialize

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-07-01 22:56:58 +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
6c7b083333 [MIRROR] Fix hand teleporter and other portals looping forever (#6598)
* Fix hand teleporter and other portals looping forever (#59894)

Makes portals use Bumped() instead of COMSIG_ATOM_ENTERED for detecting atoms crossing the event horizon.

Removes unused and potential loop causing forceMove argument from do_teleport()

* Fix hand teleporter and other portals looping forever

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-06-30 01:58:39 +01:00
SkyratBot
73fdf1fa20 [MIRROR] Integrates spider eggs into the mob spawners (#6502)
* Integrates spider eggs into the mob spawners

* Update corpse.dm

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:01:04 +01:00
SkyratBot
a14b1dadb5 [MIRROR] CanPass refactor (#6527)
* CanPass refactor (#59804)

* CanPass refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-25 22:33:51 +01:00
SkyratBot
707f38ea7f [MIRROR] Fixes bodybags, cargo crates, and directional lighting. (#6459)
* Fixes bodybags, cargo crates, and directional lighting. (#59709)

Fixes a couple bugs created by the neon carpets PR:
* Bodybags can once again be closed. (Fixes #59704, Fixes #59747)
* Cargo crates no longer report having delivered an emissive blocker
* Directional lighting no longer masks the emissive plane.

* Fixes bodybags, cargo crates, and directional lighting.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-06-24 01:58:05 +01:00
SkyratBot
5326760cb3 [MIRROR] Makes turfs persist their signals, uses this to optimize connect_loc (#6465)
* Makes turfs persist their signals, uses this to optimize connect_loc  (#59608)

* Makes turfs persist signals

* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear

* Converts all uses of connect_loc over to the new patterns

* Adds some comments, actually makes turfs persist signals

* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work

* bro fuck documentation

* Changes from a var to a proc, prevents admemems and idiots

* Extra detail on why we do the copy post qdel

* Makes turfs persist their signals, uses this to optimize connect_loc

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-06-23 04:23:48 +01:00
SkyratBot
d85a02babd [MIRROR] Refactors move procs to support multitle objects (#6423)
* Refactors move procs to support multitle objects

* Update _blob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-22 22:40:04 +01:00
SkyratBot
d7fdb638c3 [MIRROR] New tile-coloring turf decals! (#6442)
* New tile-coloring turf decals! (#59609)

* New tile-coloring turf decals!

Co-authored-by: Greniza <61635418+Greniza@users.noreply.github.com>
2021-06-22 11:53:12 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
f8042b6306 [MIRROR] Adds Neon Carpet (#6302)
* Adds Neon Carpet (#59140)

Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.

* 0

* A

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-15 18:12:49 +01:00
SkyratBot
6f3b151bb8 [MIRROR] Fixes a bunch of harddels that are sourced from player action (#6252)
* Fixes a bunch of harddels that are sourced from player action

* Mirror!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-11 03:13:33 +01:00
SkyratBot
fbb78302cf [MIRROR] Makes obj_integrity private and only updated through procs (#6125)
* Makes obj_integrity only updated through procs (#59474)

Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.

get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.

* Makes obj_integrity private and only updated through procs

* Mirror!

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-05 16:35:09 +12:00
SkyratBot
9b2f03b4e4 [MIRROR] Fixes reagent multiplication exploit with 1u foam (#6016)
* Fixes reagent multiplication exploit with 1u foam (#59313)

* Fixes reagent multiplication exploit with 1u foam

Co-authored-by: antropod <antropod@gmail.com>
2021-05-28 23:43:40 +01: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
SkyratBot
cd7896c3ec [MIRROR] Pride week + rainbow floor tiles (#5917)
* Pride week + rainbow floor tiles (#59250)

Adds pride week from June 23rd to the 29th, and makes the floor tiles rainbow.

* Pride week + rainbow floor tiles

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-25 03:41:44 +01: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
8b7a0a757a [MIRROR] Fixes a runtime in proximity_monitor/Destroy (#5842)
* Fixes a runtime in proximity_monitor/Destroy, turns QDEL_LIST -> QDEL_LAZYLIST (#59201)

* Fixes a runtime in proximity_monitor/Destroy

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-21 14:24:03 +01:00
SkyratBot
3e686bb271 [MIRROR] makes the web weaving mutation let you weave webs into cloth (#5723)
* makes the web weaving mutation let you weave webs into cloth (#59079)

* makes the web weaving mutation let you weave webs into cloth

Co-authored-by: Clyde-Thunderpants <80003925+Clyde-Thunderpants@users.noreply.github.com>
2021-05-15 19:54:03 +01:00
SkyratBot
fd8d3975a8 [MIRROR] Fixes footprint stacking (#5693)
* Fixes footprint stacking (#58918)

* Fixes footprint stacking, replace_decal needed to return parent, and just, didn't. I'm not sure where the fuck
this came from, or even how to test for it, but here you are

* Adds a unit test to prevent regressions on this error in future

* Uses TEST_ASSERT_EQUAL instead of TEST_ASSERT

Thank you moth man

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

* Updates a comment to more accurately describe my pain

* maybe fixes it?

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

* Fixes footprint stacking

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-05-14 22:14:07 +01:00
SkyratBot
6cd66cac2d [MIRROR] big connect_loc fix. teleporters dont cause runtimes and movables registered to things entering their turf no longer have themselves entering their turf sent to them (#5681)
* big connect_loc fix. teleporters dont cause runtimes and movables registered to things entering their turf no longer have themselves entering their turf sent to them (#59065)

* big connect_loc fix. teleporters dont cause runtimes and movables registered to things entering their turf no longer have themselves entering their turf sent to them

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-05-14 15:37:37 +01:00
SkyratBot
d8661d8420 [MIRROR] A bunch of new tile variants and dark tile decal. (#5640)
* A bunch of new tile variants and dark tile decal. (#59046)

* A bunch of new tile variants and dark tile decal.

Co-authored-by: manofpepsi <71612753+manofpepsi@users.noreply.github.com>
2021-05-13 14:23:19 +01:00
SkyratBot
f9a1562e1b [MIRROR] Fix blazing oil not being damaged by sprayed water (#5619)
* Fix blazing oil not being damaged by sprayed water (#58992)

🆑 coiax
fix: Blazing Oil blobs can now be damaged by sprayed water from fire
extinguishers, as intended.
/🆑

Because the mechanism of how the water damages the blob has changed, the
extinguish damage has been increased, otherwise you had to empty a fire
extinguisher to kill even one single blob tile.

* Fix blazing oil not being damaged by sprayed water

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-05-12 10:23:45 +01:00
SkyratBot
4c853bf139 [MIRROR] Fix proximity checkers not being destroyed (#5598)
* Fix proximity checkers not being destroyed (#58989)

monitor.checkers is a lazy list, this was runtiming.

lol bee code

* Fix proximity checkers not being destroyed

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-11 04:36:41 +01:00
SkyratBot
01a2d62e9e [MIRROR] Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#5586)
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)

* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)

* AAAAAAAA

* Update spellbook.dm

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-10 15:12:34 +01:00
SkyratBot
44c218ae9c [MIRROR] Fixes / new magic shoes sprite (#5552)
* Fixes / new magic shoes sprite (#58750)

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

* Fixes / new magic shoes sprite

* Update CentCom_skyrat.dmm

Co-authored-by: YakumoChen <king_yoshi42@yahoo.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-10 14:56:56 +01:00
SkyratBot
38f75ff94f [MIRROR] Add code improvements from BeeStation-Hornet by ike709 (#5548)
* Add code improvements from BeeStation-Hornet by ike709 (#58922)

Co-authored-by: celotajstg <celotajstg@ users.noreply.github.com>

* Add code improvements from BeeStation-Hornet by ike709

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: celotajstg <celotajstg@ users.noreply.github.com>
2021-05-08 13:41:57 +01:00
SkyratBot
5880be0168 [MIRROR] (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#5524)
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc

* WHEW THAT WAS EASY

* Update ammo.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-07 22:39:27 +01:00
SkyratBot
41e818a245 [MIRROR] Fixes gib code creating more then one rot component per gib (#5424)
* Fixes gib code creating more then one rot component per gib (#58838)

Co-authored-by: Fikou <piotrbryla@ onet.pl>

* Fixes gib code creating more then one rot component per gib

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
2021-05-03 15:13:22 +01:00