Commit Graph

1246 Commits

Author SHA1 Message Date
tralezab
eeea95e65a cannon recipe fix (#61014)
Cannons now accept all oxygen tanks, not just red ones
2021-08-31 12:28:20 +01:00
Y0SH1M4S73R
77aac1a518 Objective-specific equipment will always be given. (#60789) 2021-08-30 00:12:59 -07:00
Mothblocks
0990a8ddcf Give admins the ability to put a popup notice for players in tickets (#61010)
Admins can now give players a popup if they are not responding to tickets.
Popup is cleared when player replies or ticket is resolved/closed.
As more and more of the chat screen is made irrelevant, new players read it less and less.
This means that a lot of new players are ignoring ahelps, which is something I've encountered myself.
2021-08-29 21:11:38 -03:00
Ghom
73e3afe5d2 bane component to element. nullrod now uses it for revenants. (#60640)
* bane component to element. nullrod uses it for revenants.

* TRUE to FALSE
2021-08-27 11:17:43 +02:00
Watermelon914
fe7f73d6da Made admin only shells not interactable to non-admins (#60949)
Admins don't need to id lock their shells
2021-08-25 10:17:16 -03:00
MrMelbert
b3e8eebdc9 Kills /obj/item/melee/transforming, replaces it with a transforming weapon component (#60761)
This PR kills off the transforming subtype of /obj/item/melee and replaces it with a component to handle the transforming behavior, /datum/component/transforming.

The transforming component handles updating the variables of an item when it's transformed. Things like force, sharpness, whetstone force bonus, and attack verbs. Similar to the two-handed component, but instead of transforming into a two-hander it remains a one handed weapon.

The "nemesis" behavior (dealing addition damage to certain factions) of the transforming subtype was moved to the cleaving saw only, since it was the only transforming item that used it. In the future, this can be made into a bespoke element/component as well.

The following weapons and items have been updated to use this component:

    Energy Swords / Sabers / Bananium Energy Sword
    Energy Circular Saw
    Energy Dagger
    Energy Axe
    Toy Energy Sword
    Holographic Energy Sword
    Switchblade
    Advanced Medical Tools (Laser scalpel, Mechanical Pinches, Searing Tool)
    Advanced Engineering Tools (Hand Drill, Jaws of Life / Syndicate Jaws of Life)
    Combat Wrench
    Cleaving Saw
    Telescopic Batons / Contractor Batons
    Roasting Stick
    Telescopic Riot Shield
    Energy Shield / Bananium Energy Shield

This PR also touches up the code around the various above items.
2021-08-23 11:45:54 -07:00
vincentiusvin
cc5671a1c9 Fixes hot ice using the wrong numbers for the plasma. (#60406)
* Implements a combustible_flooder component on plasma and hot ice. Numbers made to preserve old behaviour as much as possible for plasma. Nerfs hot ice to be in line with the original tweak PR

* Limited to only hot ice, removed traces of override temp

* Renamed gas_name into gas_id
2021-08-21 22:34:24 -07:00
Ghom
38f12422a0 honkspam component to element. (#60635) 2021-08-19 18:40:40 -07:00
BarrelOfNapkins
1bba023eb3 Issue #52938 fix: blind people can tell how full they feel when eating (#60886) 2021-08-18 20:51:28 -07:00
Gurkenglas
781af013d7 fix ntnet circuit components (#60917)
* fix ntnet

* fix typos and switcheroos

* whoops, tracked a test circuit json.
2021-08-18 20:46:24 -07:00
Watermelon914
ffe2750744 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)
2021-08-17 12:16:12 -07:00
LemonInTheDark
cd576ab519 Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
2021-08-15 21:09:26 -07:00
Couls
05d9329c9b fix flashing white spheres when attacking items with light sources and light spheres on inventory/action buttons (#60756)
* fix white sphere bug

* fix overlay lighting creating lights in inventory and action button
2021-08-15 13:21:23 +02:00
Ghom
d79c003962 knockback component to element. (#60633) 2021-08-13 03:17:51 -07:00
Ghom
addf1ee64f lifesteal component to element. (#60632) 2021-08-12 17:50:41 -07:00
AMonkeyThatCodes
83b21c041b Kitchen expansion part 2: Ovens (#60515)
Adds Ovens

Co-authored-by: MonkeyThatCodes <monkey>
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: MonkeyThatCodes <MonkeyThatCodes@deez.com>
Co-authored-by: Krysonism <robustness13@hotmail.com>
2021-08-09 12:31:16 +02:00
Fikou
270acce4f5 [Ready] Mining Loot Rework (#60516)
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-08-08 02:22:34 -07:00
Paxilmaniac
d4fa2905ff Deployable Component (Big Dakka Included) (#60554) 2021-08-04 01:18:09 -07:00
interestingusernam3
0d0c2aebb5 Gutlunch udders no longer double as mouths (#60665)
Co-authored-by: Your mother <mothmilk666666666666@tfwno.gf>
2021-08-03 23:57:48 -07:00
LemonInTheDark
64afba725d Renames RemoveComponent, fixes a dumb runtime in Destroy (#60653)
* Renames RemoveComponent, as its purpose was unclear. Fixes up some dumb uses, and properly docs its status as a helper proc for transfering components
2021-08-02 22:23:00 -07:00
tralezab
40003fe2ad componentized spirit item possession (#60614)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-08-02 22:21:23 -07:00
MrMelbert
09758ba01e renames damge -> damage (#60647) 2021-08-02 18:14:14 -07:00
Ghom
e13af3ab93 surgery_initiator component to element. (#60634) 2021-08-02 18:12:18 -07:00
Watermelon914
e887c09a3c Fixed phantom slipping caused by mk-clown shoes bananas (#60626)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-08-02 14:06:03 -07:00
Watermelon914
96f1c2abae Adds the bare minimum admin components and allows admins to define list literals. (#60240)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
2021-08-02 01:50:06 -07:00
Ryll Ryll
ba59702cee Adds a preference to make flashes darken your screen (#60434) 2021-08-01 14:18:36 -07:00
TiviPlus
e28a0f3f87 Fix riding offsets not actually doing anything (#60572) 2021-08-01 16:39:08 +02:00
ChungusGamer666
a02e928e2e Turns rust component into bespoke element (#60496) 2021-07-31 14:58:55 -07:00
SmArtKar
f43932a2bb Fixes unremovable components counting towards overall capacity (#60528)
BCIs are no longer 6 slot instead of 10
2021-07-30 11:54:55 -03:00
Fikou
499025c8cb ski shoes arent as limiting anymore (#60437) 2021-07-29 12:15:48 -07:00
JustANormalHooman
f141740246 [Fix] Biobags are now capable of feeding reproductive extracts (#60345)
* Makes Xenobiology biobags able to feed Reproductive extracts again

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2021-07-29 16:26:42 +02:00
Ghom
25a1804e70 Converts the footstep component into an element. (#60479) 2021-07-29 03:35:51 -07:00
tralezab
14045259fa Trash Cannons (#60476) 2021-07-29 02:17:03 -07:00
Mothblocks
bd6873fd4d Remove nanites (#60473)
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2021-07-28 16:00:56 -07:00
Watermelon914
548f924c21 Adds the ability to save/load circuits for admins. Adds the ability to duplicate modules in a round. (#60222)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-07-28 14:26:50 -07:00
Ghom
484aaedeaf The spooky component is now a spooky element. (#60465) 2021-07-28 01:45:01 -07:00
Ghom
781998836c Moves the kneecapping element to the elements folder. (#60466) 2021-07-28 01:40:50 -07:00
Matthew J
b19e1785dc [FUCK][NO CI] Rust Component Fixes (#60252)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-07-27 01:43:17 -07:00
Wallemations
7f1640b651 Makes only mapload foods require players to pick them up to decompose (#60392)
Co-authored-by: Changelogs <action@github.com>
2021-07-25 17:39:24 -07:00
Thunder12345
39da0b0407 Capture The Flag: Class Warfare (#59629)
Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>
2021-07-23 15:49:22 -07:00
Rohesie
e38cb8a424 Fixes an underlay movable lighting runtime (#60336) 2021-07-22 15:50:42 -07:00
tralezab
6647f0d6aa Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui (#60311) 2021-07-22 15:39:26 -07:00
BurgerLUA
a416aaf3b1 Adds closets to ant decomposition blacklist, converts ant locate() spam into typecache (#60296)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-07-20 02:01:31 -07:00
LemonInTheDark
96cc4a7260 EVEN MORE HARDDEL FIXES (#60228)
Fixes a ton of harddels, sourced from #59996 
I think this brings us down to like, ~100 per round from ~200, with only like 20 of those being proper hell failures. I've seen harddel profiles below 1 second of total cost. Feeling good.

See you on the other side

Makes the cryopod control computer into a weakref, never trust bee code 
Converts brig door timer internal lists to weakrefs
Fixes a harddel caused by qdeling a motion sensitive camera after it had left its source area, jesus christ why didn't we do this already holy shit
Converts the radio implant ref held by the antenna mutation to weakrefs because it isn't reliably cleaned up, makes the radio implant actually qdel its fucking radio
Removes the target var from the throwing datum, it does literally nothing and just exists to cause harddels, mostly for the singularity
 Fixes a cable harddel sourced from things that try to enter blueprints after smoothing, but before roundstart. IE, shuttles. Removes shuttles from the blueprints
Fixes emmisive blockers being added post qdel
Removes some manual ghosting from cryopods, I initially did this for harddel reasons, but I figured out a better fix for that. I'm now doing it because it's got this really strange logic for like "re-entering the game" that doesn't actually link to what the ghostize proc does. We should remove this at some point
Fixes robot hud objects harddeling due to hanging refs
Fixes buildmode related hanging refs, I'm coming for you admin team
Fixes a few instances of trying to add the forensics component post qdel, hhhhhhhhhhh
Fixes some split personality harddels/weirdness
Replaces a use of disconnect_duct with an init qdel hint, I suspect there's more issues with duct harddels, I've seen some odd logs about ahhh the area_contents list, but we can worry about that later
Makes teleporter targets into weakrefs, properly types them as /atom
Makes frequency devices into weakrefs
Makes cameras remove themselves from camera nets on Destroy
Makes tgui ui datums implement destroy, this means if I ever see one hang a ref to user or whatever, I know there's an error with calling close() properly. I've seen this harddel once, but not after this change so I assume there was some error with close(). IDK maybe this is a papering over? Would have to ask @stylemistake 
I've seen logs of beartraps being in world post del, putting a return there just in case. The same is true of nerf darts, but I haven't really looked into that yet
Makes a shoe's ref to untying alerts a weakref, yes this is needed.
Moves clearing client_in_contents to the Login of the new mob. This prevents doing things like ghosting someone before a mob qdel causing harddels
Fixes a harddel set sourced from adding a status effect to a qdeleted thing. Is this an error? I'm honestly not sure.
Converts bsa code to weakrefs
Converts the partner var of heat exchangers to weakrefs
Converts camera assemblies to weakrefs
Fixes some dumb behavior with ammo casings and assuming you'll be on a turf post Destroy parent call
Fixes? merger related harddels, you were never cleared from your own members list, so origin objects would end up making a new list, creating harddels. Potential input from @ninjanomnom about the logic
Chasms store a static list of "falling atoms", which only exists for chasms that go somewhere else. This list wasn't being cleared of qdeleted objects, which is what happens when you fall in most chasms. Fixes this, and converts the list to weakrefs.
Fixes some runtimes in both sheet code, and the weather listener element. This is here because runtime spam made testing more of a pain, didn't think it needed its own pr
Fixes colorful reagent harddels sourced from reagents that were qdel'd before roundstart. I'm only like 50% sure this actually got it, but the issue may have been solved by #60174, so eh
Turns the nuke op antag datum's ref to the war button into a weakref
Fixes some holopad code that was not nulling refs all the time
Converts camera bugs to weakrefs, this was the result of the bug being "reworked" like 6 years back without taking the existing ref clearing into account. Whole item needs a redo, but this'll do for now.
Ensures that the both pulling and pullee refs are cleared on Destroy
The crew monitor held all users in a non clearing list, makes that list a weakref because I hate everything

Oh and I removed all sources of gas_mixture qdeletion, I'm kinda unsure on this since it's not technically supported, but any harddels from it might? indicate something going wrong with like, gas passing logic. I'd like @MrStonedOne's thoughts, since I trust him to call me an idiot if I'm wrong.

<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->

## Why it's not good for the game

I crashed sybil like 10 times to get this data, I'm gonna put it to good use. Don't think you're safe sybilites, I'm coming for you.
2021-07-19 12:41:21 -04:00
Watermelon914
bad807638c Fixes duffelbag curse and curse of hunger code in general (#60290)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-07-18 17:37:46 -07:00
Rohesie
4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
TiviPlus
dea4c5b9e0 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
2021-07-17 11:14:49 -03:00
Watermelon914
4a30ee038c Allows charging batteries of integrated circuits with inducers and allows scanning ids on unregistered circuits through shells. (#60227)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-07-17 04:00:17 -07:00
Watermelon914
5a21e2e64c Circuit submodules (#60109)
Adds the module component that is basically a subroutine. Allows you to compact your logic into a bunch of functions.
2021-07-17 01:05:57 -03:00
Rohesie
67734544d3 Fixes a roundstart uplink implanting runtime (#60242)
There's no guarantee there will be a user making the implanting, such as it's the case of roundstart equipping.
2021-07-16 17:43:37 +01:00