Commit Graph

6438 Commits

Author SHA1 Message Date
SkyratBot
2e09591ad0 [MIRROR] Fixed CQC attacks not triggering if combo failed (#6814)
* Fixed CQC attacks not triggering if combo failed (#60038)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Fixed CQC attacks not triggering if combo failed

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-07-10 14:08:39 +01:00
SkyratBot
e53223022a [MIRROR] Fixes a turf signal unregistration I missed, makes the transparent turf element detach (#6813)
* Fixes a turf signal unregistration I missed, makes the transparent turf element detach (#60064)

* Forgot to patch this up, the transparency element both does not detach on parent destroy, and with the new signal changes leads to signals persisting, which is bad and ick. This fixes that

* Fixes a turf signal unregistration I missed, makes the transparent turf element detach

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-07-10 14:08:34 +01:00
SkyratBot
41db1e68cb [MIRROR] Fixes a plumbing harddel (#6806)
* Fixes a plumbing harddel (#60067)

* Fixes a plumbing harddel

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2021-07-10 14:07:38 +01:00
SkyratBot
e20facb1b8 [MIRROR] Fixes Thermal Vision Bug (#6800)
* Fixes Thermal Vision Bug (#60025)

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Fixes Thermal Vision Bug

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2021-07-09 01:22:37 +01:00
Y0SH1M4S73R
93d03dc6bb [Alternative to #6407] Makes mutant bodyparts and mutcolors into editable genetic traits (#6750)
* Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code)

* Mirror

* genetically-editable mutant bodyparts and colors - skyrat edition

Co-authored-by: Funce <funce.973@gmail.com>
2021-07-08 16:04:19 +01:00
SkyratBot
df651808d4 [MIRROR] Drastic Lag Mitigation Subsystem: SSlag_switch (#6786)
* Drastic Lag Mitigation Subsystem: SSlag_switch (#59717)

Requested by oranges and inspired by the upcoming event. A new subsyetem, non-processing (for now), aimed at providing some toggle switches that can be flipped as a last ditch effort to save some CPU cycles by sacrificing some non-critical mechanics. Below you can see each individual toggle.

Screenshot of the admin panel:
image
Surely there are more opportunities for toggles I missed, but adding new ones is not very difficult at all.
Why It's Good For The Game

Better performance during extreme pop, I hope.
Changelog

cl
code: Introduces the Lag Switch subsystem for when a smoother experience is worth trading a few bells and whistles for. Performance enhancement measures can be togged by admins with the Show Lag Switches admin verb or enabled automatically at a pop amount set via config.
config: Added a new config var: number/auto_lag_switch_pop

* Drastic Lag Mitigation Subsystem: SSlag_switch

* mirrored the changes to the modular file

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:24:16 +02:00
SkyratBot
fff10b437f [MIRROR] Weather runtime & EPB fix (#6780)
* Weather runtime & EPB fix (#60043)

Fixes the major runtime issue encountered in #60034
Fixes Environmental Protection Bags not protecting from ash storms as they should

* Weather runtime & EPB fix

Co-authored-by: Greniza <61635418+Greniza@users.noreply.github.com>
2021-07-08 03:11:46 +02:00
SkyratBot
c7cab95593 [MIRROR] Rust Component / Wirebrush Rust Remover (#6778)
* Rust Component / Wirebrush Rust Remover (#59977)

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

* Rust Component / Wirebrush Rust Remover

* Revert "[modular] wirebrush (#6521)"

This reverts commit 4f87b970f4.

* Makes the advanced wirebrush not critfail anymore.

Co-authored-by: Matthew J <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:06:22 +02:00
SkyratBot
2962992e71 [MIRROR] CARP Team Six: Nanotrasen's Finest* (#6769)
* CARP Team Six: Nanotrasen's Finest* (#60012)

* CARP Team Six: Nanotrasen's Finest*

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2021-07-07 23:52:09 +02:00
SkyratBot
49def1a2b3 [MIRROR] Replaces Hardstuns with knockdown, removes Vomit stunning from Voice of God. (#6781)
* Replaces Hardstuns with knockdown, removes Vomit stunning from Voice of God. (#60002)

* Removes stuns from Voice of God.

* Update voice_of_god_command.dm

* Replaces Hardstuns with knockdown, removes Vomit stunning from Voice of God.

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2021-07-07 23:10:24 +02:00
SkyratBot
b2a05ab8ec [MIRROR] fixes voice of god not giving you large text (#6743)
* fixes voice of god not giving you large text (#60014)

* fixes voice of god not giving you large text

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-07-06 23:57:20 +01:00
SkyratBot
dbeeaf310f [MIRROR] Adds a new ruin to Icebox, the post office. (#6758)
* Adds a new ruin to Icebox, the post office. (#59907)

* Adds a new ruin to Icebox, the post office.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2021-07-06 21:41:02 +01:00
SkyratBot
d862dc3dc3 [MIRROR] fix buckling to a vehicle not setting your initial sprite position correctly (#6733)
* fix buckling to a vehicle not setting your initial sprite position correctly (#59999)

* fix buckling to a vehicle not setting your initial sprite position correctly

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2021-07-05 15:54:31 +01:00
SkyratBot
bada3509b1 [MIRROR] wisps no longer fall in chasms (#6731)
* wisps no longer fall in chasms (#60004)

Co-authored-by: coiax <yellowbounder@ gmail.com>

* wisps no longer fall in chasms

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: coiax <yellowbounder@ gmail.com>
2021-07-05 15:53:51 +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
de9025a246 [MIRROR] Fixes autolathes shock wire (#6716)
* fixed the define for the shock wire (#59995)

no wonder autolathes never shocked the cargo techs whenever they hacked it

* Fixes autolathes shock wire

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2021-07-04 23:56:05 +01:00
SkyratBot
bc5ae88629 [MIRROR] Environment Protection Bags + Minor Weather Changes (#6701)
* Environment Protection Bags + Minor Weather Changes (#59752)

Co-authored-by: Matthew J. <12817816+ZephyrTFA@ users.noreply.github.com>

* Environment Protection Bags + Minor Weather Changes

Co-authored-by: Greniza <61635418+Greniza@users.noreply.github.com>
Co-authored-by: Matthew J. <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-04 22:20:40 +01:00
SkyratBot
4f3dfd7804 [MIRROR] introduce advanced sucking functionality to custodians (+ bonus GAGging) (#6697)
* introduce advanced sucking functionality to custodians (+ bonus GAGging) (#59925)

* base sucking functionality

* functional upgrade and upgrade refactor

* minor tweak here

* finish overhaul of upgrades, add gags-ified upgrades

* add documentation (you love to see it)

* update sucking sound

* do some of the requested cleanup, fix key going into trash bag, add right click func

* introduce advanced sucking functionality to custodians (+ bonus GAGging)

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2021-07-04 01:07:28 +01:00
SkyratBot
63f6446ab9 [MIRROR] Fix ion carbine parts kit's name and other similar grammar issues (#6665)
* Fix ion carbine parts kit's name and other similar grammar issues (#59947)

* Fix ion carbine parts kit's name and other similar grammar issues

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2021-07-03 22:26:59 +01:00
SkyratBot
05258b974b [MIRROR] Makes GAGS layer limit per icon state, not per config file (#6687)
* Makes GAGS layer limit per icon state, not per config file (#59923)

* Makes GAGS layer limit per icon state, not per config file

Co-authored-by: Emmett Gaines <ninjanomnom@protonmail.com>
2021-07-03 22:25:22 +01:00
SkyratBot
926f3a0360 [MIRROR] Fixed being able to insert infinitely many components into a shell. Fixes being able to view the shell's circuit in a locked shell. (#6686)
* Fixed being able to insert infinitely many components into a shell. Fixes being able to view the shell's circuit in a locked shell. (#59962)

* Fixed being able to insert infinitely many components into a shell. Fixes being able to view the shell's circuit in a locked shell.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:25:18 +01:00
SkyratBot
e8a0858a86 [MIRROR] Fixed carps being untameable and fixes tameable code not properly removing itself from something (#6677)
* Fixed carps being untameable and fixes tameable code not properly removing itself from something (#59955)

Fixes #59897

* Fixed carps being untameable and fixes tameable code not properly removing itself from something

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:23:43 +01:00
SkyratBot
df368692c6 [MIRROR] Removes reference to intents from Martial Arts instructions (#6654)
* Removes reference to intents from Martial Arts instructions (#59921)

In CQC, Plasma Fist, Sleeping Carp and Wrestling instructions verb:
Harm -> Punch
Disarm -> Shove

Also removed reference to intents from the changeling's tentacle grab, changing it to neutral/combat stance.

* Removes reference to intents from Martial Arts instructions

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-02 17:12:09 +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
85874cff9f [MIRROR] Fix rogue vending machines targeting incorporeal (#6644)
* Fix rogue vending machines targeting incorporeal (#59920)

* Fix rogue vending machines targeting incorporeal

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-07-02 00:41:58 +01:00
SkyratBot
671873f250 [MIRROR] Uplink implants now inherit the uplink flags of the uplink they were bought from (#6639)
* Change uplink implants to inherit the uplink flags of the uplink they were bought from (#59735)

Uplinks implants bought from uplinks inherit the uplink flags of the uplink they were bought from.

This fixes an undocumented bug where by purchasing an uplink implant, nuke ops would be able to get things they normally can't.

Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com>

* Uplink implants now inherit the uplink flags of the uplink they were bought from

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com>
2021-07-01 22:59:21 +01:00
SkyratBot
d859f6d482 [MIRROR] Makes it so changeling legs copy digitigrade/normal, try number 2 (#6641)
* Makes it so changeling legs copy digitigrade/normal, try number 2 (#59832)

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

* Makes it so changeling legs copy digitigrade/normal, try number 2

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-07-01 22:58:45 +01:00
SkyratBot
c4c628f912 [MIRROR] Adds verification for reference layers to check if target config has the desired icon_state (#6640)
* Adds verification for reference layers to check if target config has the desired icon_state (#59884)

* Adds verification for reference layers to check if target config has the desired icon_state

Co-authored-by: Emmett Gaines <ninjanomnom@protonmail.com>
2021-07-01 22:58:39 +01:00
SkyratBot
70f511a803 [MIRROR] Fix forensic component inheritance inserting null entries into lists and causing to_chat errors. (#6630)
* Fix forensic component inheritance inserting null entries into lists and causing to_chat errors. (#59873)

Fixing the following runtime:

[17:13:04] Runtime in to_chat.dm,88: Empty or null string in to_chat proc call.
  proc name: to chat (/proc/to_chat)
  usr: Cowboy_penis_monster/(Zackary Mason)
  usr.loc: (Telecomms Control Room (105,89,2))
  src: null
  call stack:
  to chat(Zackary Mason (/mob/living/carbon/human), "", null, "", 0, 1, 1, 0)
  the forensic scanner (/obj/item/detective_scanner): add log("", 1)
  the forensic scanner (/obj/item/detective_scanner): scan(Control Room (/obj/machinery/door/airlock/command/glass), Zackary Mason (/mob/living/carbon/human))

Forensic scanner attempting to add "" to the logs, which eventually gets output to_chat.

Tracked error down to forensic component lazylists and the fun of trying to OR two lazylists together.

* Fix forensic component inheritance inserting null entries into lists and causing to_chat errors.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-07-01 22:56:49 +01:00
SkyratBot
cab78dcf78 [MIRROR] Changes how weather sends sound to players, reduces sound loop overtime (#6627)
* Changes how weather sends sound to players, reduces sound loop overtime (#59284)

* Converts looping sounds from a list of play locations to just the one

* Updates all uses of looping sounds to match the new arg

* Adds an area based sound manager that hooks into looping sounds to drive the actual audio. I'll be using this to redo how weather effects handle sound

* Some structrual stuff to make everything else smoother
Timers now properly return the time left for client based timers
Weather sends global signals when it starts/stops
Looping sounds now use their timerid var for all their sound related timers, not just the main loop

* This is the painful part
Adds an area sound manager component, it handles the logic of moving into new areas potentially creating new
sound loops. We do some extra work to prevent stacking sound loops.
Adds an ash storm listener element that adds a tailored area sound manager to clients on the lavaland z level.
It's removed on logout.
Adds the ash_storm_sounds assoc list, a reference to this is passed into area sound managers, and it's modified
in a manner that doesn't break the reference in ash_storm (This is what I hate)

* Hooks ash storm listener into cliented mobs and possessed objects

* Documents the odd ref stuff, adds an ignore start var to looping sounds, fixes some errors and lint issues

* Applies kyler's review

banging

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

* Cleans up some var names, reduces the amount of looping we do in some areas

* Makes the code compile, redoes the movement listener to be more general

* fuck

* We don't need to detach on del if we're just removing signals on detach

* Should? work

* if(direct) memes

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

* Changes how weather sends sound to players, reduces sound loop overtime

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2021-07-01 02:18:04 +01:00
SkyratBot
2739dccd19 [MIRROR] Enhances AI law and borg logging (#6618)
* Enhances AI law and borg logging (#59684)

Persistent logging for sometimes disputed actions

The "impacted cyborgs" is useful for reconstructing which borgs were synced to an AI at what time, which sometimes may not be clear from logs

* Enhances AI law and borg logging

Co-authored-by: bloons3 <bloons3@users.noreply.github.com>
2021-06-30 23:36:22 +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
447216bd91 [MIRROR] Cannabis has more believable effects (#6560)
* Cannabis has more believable effects

* Update cannabis.dm

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-30 20:20:30 +01:00
SkyratBot
7269bd83ab [MIRROR] Adds USB to arrest consoles. Adds list circuit components. (#6593)
* Adds USB to arrest consoles. Adds list circuit components. (#59850)

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

* Adds USB to arrest consoles. Adds list circuit components.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-06-30 20:01:36 +01: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
0860127055 [MIRROR] Fixes minor quirk runtime. (#6589)
* Fixes minor quirk runtime. (#59870)

* Fixes minor quirk runtime.

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2021-06-29 20:30:44 +01:00
SkyratBot
a110c0a342 [MIRROR] Cooked steaks are once again edible. (#6577)
* Cooked steaks are once again edible.

* FF

* Update sheetifier.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-29 16:56:25 +01:00
SkyratBot
6be1440ec1 [MIRROR] Jaunting no longer allows you to end up inside a wall (#6573)
* Jaunting no longer allows you to end up inside a wall (#59520)

Jaunting now keeps track of the last five non-blocked tiles you moved across while in the jaunt. Upon exit, it will attempt to deposit you into the last unblocked tile. Should it run out of tiles to try, you will be returned to your starting location. As such, jaunting mobs can no longer end up inside walls or dense objects. Tables, and anything else with the climbable element, are still allowed.

Added support to /turf/proc/is_blocked_turf() to allow ignoring climbable atoms.

Added the TRAIT_CLIMBABLE trait, applied by the climbable element, to accomplish the above.

* Jaunting no longer allows you to end up inside a wall

Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
2021-06-29 16:45:30 +01:00
SkyratBot
44f34fac20 [MIRROR] The to_chat proc no longer accepts null or empty strings and runtimes instead. (#6570)
* The to_chat proc no longer accepts null or empty strings and runtimes instead. (#59843)

* Catch null text sent to to_chat

* Brain traumas no longer send empty to_chat gain strings

* Make to_chat_immediate changes and clean up args list formatting

* Fix empty to_chat message where there is no memo for admins

* Fix additional edge case where there are no messages for the ckey.

* The to_chat proc no longer accepts null or empty strings and runtimes instead.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-06-28 14:18:18 +01:00
SkyratBot
5b2582de27 [MIRROR] Refactors species stomach code, makes ethereal charge inherent to their stomach (#6554)
* Refactors species stomach code, makes ethereal charge inherent to their stomach (#59801)

A stomach would literally just ask the species datum how to be hungry and made a bunch of exceptions for ethereals. I mostly just moved code around so that hunger is handled by a persons stomach, thus shrinking the species.dm bloat.

This also makes it so ethereal's charge mechanic is unique to their stomache, instead of this really weird inbetween where just nothing happens and you kinda starve to death. You can stick an ethereal stomach in a human and this will replace their hunger mechanic with the charge mechanic and lets them absorb power from APCs and everything. You can also give ethereals a normal stomach and they'll use the normal hunger mechanics

* Refactors species stomach code, makes ethereal charge inherent to their stomach

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2021-06-27 16:44:17 +01:00
SkyratBot
9c861af7b7 [MIRROR] Greyscale Mat Datum Stationary Smooth Tanks (#6544)
* Greyscale Mat Datum Stationary Smooth Tanks

* Update icon_smoothing.dm

Co-authored-by: Emmett Gaines <ninjanomnom@protonmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:37:32 +01:00
SkyratBot
eb09b20e47 [MIRROR] Adds a kneecapping element and adds that very element to baseball bats. (#6541)
* Adds a kneecapping element and adds that very element to baseball bats.

* Update signals.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:34:19 +01:00
SkyratBot
79c3c379b9 [MIRROR] Fix missing SIGNAL_HANDLER (#6552)
* Fix missing SIGNAL_HANDLER (#59826)

Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.

* Fix missing SIGNAL_HANDLER

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-27 16:16:04 +01:00
SkyratBot
665fe76566 [MIRROR] Modifies right click logic so that it is not the same priority as modifier keys. (#6498)
* Modifies right click logic so that it is not the same priority as modifier keys. (#59656)

Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.

Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.

Items that used RightClick procs have been converted to attack_hand_secondary.

The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.

Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.

The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.

The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.

* Modifies right click logic so that it is not the same priority as modifier keys.

* a

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:10:15 +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
BluBerry016
2eba61129a [Semi-Modular] Revert Skyrat's Version Of Oldstation (#6535)
* Reverts Skyrat Oldstation

* bonk!

* Update spaceruinblacklist.txt
2021-06-26 07:13:02 +01:00
SkyratBot
c7a8e18db6 [MIRROR] Ghoul Moodlet + Max HP fix (#6497)
* Ghoul Moodlet + Max HP fix (#59682)

Adds ghoul moodlet.
Fixes a undocumented issue with ghouls dying and being revived with 25/50 max health.

* Ghoul Moodlet + Max HP fix

Co-authored-by: eeSPee <robotdevilinside@gmail.com>
2021-06-24 23:02:48 +01:00
SkyratBot
07e35c019a [MIRROR] Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#6496)
* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#59728)

Adds the airlock shell. The circuit has full control over the airlock.
Refactors USB code to be easier to use for less experienced coders.
Implements USB cables for the binary valve to be able to open/close the valve.
Adds a private channel for radios that only lets circuits with the same owner's ID to interact with it.

* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-24 23:02:43 +01:00
SkyratBot
5ab9aba9d4 [MIRROR] Added circuit component UI details, added multiplexer and allowed inserting components directly into shells. (#6479)
* Added circuit component UI details, added multiplexer and allowed inserting components directly into shells. (#59635)

Adds the multiplexer circuit component - en.wikipedia.org/wiki/Multiplexer
Circuit components can now be directly inserted into shells rather than having to take the integrated circuit out.
Special information can be accessed from components now through the "Info" button besides the eject button on a component.

* Added circuit component UI details, added multiplexer and allowed inserting components directly into shells.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-23 22:50:59 +01:00
SkyratBot
dc4877bd74 [MIRROR] Converts tippable behavior from cows and medibots to a component (tip over anything with adminbus) (#6468)
* Converts tippable behavior from cows and medibots to a component (tip over anything with adminbus) (#59705)

This PR converts cow-tipping and medibot-tipping into a component, /datum/component/tippable. Cows and medibots now use the tippable component to control their tipping behaviors.

This PR also goes through a few atom_attack_hand signals and makes them all send the same arguments.

* Converts tippable behavior from cows and medibots to a component (tip over anything with adminbus)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-06-23 18:59:45 +01:00