Commit Graph

76 Commits

Author SHA1 Message Date
SkyratBot
f469cec626 [MIRROR] [Fix] Biobags are now capable of feeding reproductive extracts (#7232)
* [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>

* [Fix] Biobags are now capable of feeding reproductive extracts

Co-authored-by: JustANormalHooman <johnathonbax@gmail.com>
Co-authored-by: 小月猫 <alina.r.starkova@ gmail.com>
2021-07-29 23:43:37 +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
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
196fe2f198 [MIRROR] Moves opening storage items from alt-click to right-click (#6234)
* Moves opening storage items from alt-click to right-click (#59565)

* Moves opening storage items from alt-click to right-click

Co-authored-by: TJatPBnJ <69724863+TJatPBnJ@users.noreply.github.com>
2021-06-10 23:48:15 +01:00
SkyratBot
456f347dfa [MIRROR] USE SIGNAL_HANDLER REEEEEE (#5921)
* use SIGNAL_HANDLER REEEEEE (#59242)

makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did

* USE SIGNAL_HANDLER REEEEEE

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-05-25 03:42:11 +01:00
SkyratBot
22a553a0c4 [MIRROR] Removes SIGNAL_HANDLER_DOES_SLEEP and makes signals synchronous (#5845)
* Removes SIGNAL_HANDLER_DOES_SLEEP and makes signals synchronous (#59176)

* Removes SIGNAL_HANDLER_DOES_SLEEP and makes signals synchronous

* a

* Update peacekeeper_clothing.dm

* Update peacekeeper_clothing.dm

* Update peacekeeper_clothing.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-21 14:51:00 +01:00
SkyratBot
ea9aed5554 [MIRROR] Replace alert usage with tgui_alert (#5815)
* Replace alert usage with tgui_alert

* a

* Update observer.dm

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-21 00:06:09 +01:00
SkyratBot
e39db7b6d4 [MIRROR] Items now properly unset the IN_STORAGE flag when removed from storage. (#4126)
* Items now properly unset the IN_STORAGE flag when removed from storage. (#57660)

* Items now properly unset the IN_STORAGE flag when removed from storage.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-03-13 14:41:49 +00:00
SkyratBot
391f1d2552 [MIRROR] Item hover outline FX (#4090)
* Revert "[MODULAR] Adds item outline glow (#3861)"

This reverts commit 9ea4373618.

* ..

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-03-12 22:44:54 +00:00
Gandalf
9ea4373618 [MODULAR] Adds item outline glow (#3861)
* start

* Update outline_procs.dm

* Update outline_procs.dm

* Update outline_procs.dm

* Update outline_procs.dm
2021-03-04 21:52:11 +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
70024ef6ad [MIRROR] Reverts Adds Neon Carpet (#55782) (#3040)
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)

It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis

* Reverts Adds Neon Carpet (#55782)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-03 10:22:43 +01:00
SkyratBot
3000d75ad5 Adds aquariums and aquarium fish. (#56343) (#2920)
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: coiax <yellowbounder@gmail.com>

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-28 03:27:25 +01:00
SkyratBot
902f0a06d7 [MIRROR] Adds Neon Carpet (#2882)
* Adds Neon Carpet

* HARDSET

* Update tgstation.dme

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-01-25 17:01:58 +00:00
SkyratBot
cb1835b6be [MIRROR] Refactor card scaling into an element for general item scaling (#2821)
* Refactor card scaling into an element for general item scaling (#56102)

The current TCG code had some code for scaling its cards down when they're on the ground and then scaling them back in hand/inventory. This element aims to preserve this functionality and to allow it work for other items.

While the TCG makes the cards smaller on the ground, this element allows for items to be scaled up OR down when on the floor or in inventory.

While this particular element has to do with scaling, I am looking at ways to expand this sort of icon change functionality to icon_state as well, but there are additional issues with blood decals needing to be redrawn and possibly vis_contents.

* Refactor card scaling into an element for general item scaling

Co-authored-by: Koshenko <53068134+Koshenko@users.noreply.github.com>
2021-01-21 14:34:46 +01:00
SkyratBot
f105b47a55 [MIRROR] Singularity component (#2082)
* Singularity component (#55096)

Adds singularity component

* Singularity component

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-08 11:30:39 +00:00
SkyratBot
2913364658 [MIRROR] Kills oldfood, Puts newfood on top. (#2041)
* Kills oldfood, Puts newfood on top. (#55160)

Slays the last of old-food, making new-food the new normal.

Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>

* Kills oldfood, Puts newfood on top.

* Update collars.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-04 16:46:26 +01:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
c9cd05f7cc [MIRROR] [ready]Heretic new path : Path of Void [sprites approved] (#1711)
* [ready]Heretic new path : Path of Void [sprites approved] (#54252)

* E

* E

* E

* E

* E

* E

* VOID FINALLY

* E

* E

* E

* VOID STORM

* e

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_magic.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_magic.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* E

* FUCKING FINALLY

* E

* E

* Voids Embrace

* E

* E

* E

* E

* some changes

* E

* E

* E

* EEE

* E

* E

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>

* E

* E

* E

* MERGE READY UWU

* Update code/modules/clothing/suits/toggles.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>

* [ready]Heretic new path : Path of Void [sprites approved]

Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
2020-11-17 21:27:27 +00:00
SkyratBot
186f4bd4c2 [MIRROR] Fixes a few bugs with greyscale stacks. (#1670)
* Fixes a few bugs with greyscale stacks. (#54858)

    Fixes greyscale floor tiles merging regardless of their materials.
    Fixes greyscale floor tiles voiding materials when splitting the stack.
    Fixes greyscale floor tile stacks being created with no mats_per_unit and only enough custom materials for a single unit.
    Fixes greyscale tile flooring being created with the wrong amount of materials.
    Fixes greyscale tile flooring not producing floor tiles/producing floor tiles with 0 units.

* Fixes a few bugs with greyscale stacks.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-11-11 02:51:23 +00:00
SkyratBot
7eeaefe645 [MIRROR] Fixes some potential sleeps as detected by SpacemanDMM improvements (#1216)
* Fix some potential sleeps as detected by SpacemanDMM improvements (#54230)

overrides weren't detected by should not sleep, i think i've mostly
fixed that with SpaceManiac/SpacemanDMM#214

Some of these are wacky but overall this pr is harmless

signals shouldnt sleep even in weird 1 in a million situations or due
to other people adding bad code

overrides of changeling can_sting() use alert() and input() and that's
just too fucked for me to fix in this pr

* Fixes some potential sleeps as detected by SpacemanDMM improvements

Co-authored-by: spookydonut <github@spooksoftware.com>
2020-10-09 18:28:59 +02:00
SkyratBot
53788ced26 [MIRROR] Adds TCG Decks in order to play with them like a TCG. (#594)
* Adds TCG Decks in order to play with them like a TCG. (#53200)

* Card Decks n shuffling.

* the "crackling with sexual energy" update
}
Kept you waiting, hunh?
This adds a new multi-faceted object to the game, the TCG Card Pile. Using any 2 cards together on each other will create a pile, and the first card in the pile will determine if the card pile is face-up, or face-down. Depending on the orientation of the card pile, you'll draw cards out of it in the orientation. So, a "deck" card pile would be flipped face down, and would allow you to draw cards out of it also face down, and vis versa.
Decks can be renamed with a pen, and use a radial menu in order to enable quick action on the Trading Card game battlefield.
image

    Draw allows you to draw a single card from the deck, again based on the orientation of the cards used to build the deck.
    Shuffle calls the shuffle() proc on the deck, and (should) randomize the order of the cards in the deck for use.
    Pick up puts the deck into your hands instead of the nonsense dragging required with regular playing cards.
    Flip flips the orientation of the cards in the deck, turning a face up pile into a facedown pile, and a facedown, faceup. Also, calls reverseRange() on the contents of the deck, which should put the bottom of the deck on top, and vis verse, ALSO enabling you to put cards on the bottom or the top of your deck easily.

Card piles also operate with a custom storage component, so you can search for cards in your deck if need be, but also handle edge cases like when you only have 1 card in a pile left, or when you dump out a deck of cards like you would a bag.

This basically adds in more sane hands, more sane decks and discard piles, and a massive QOL update to the trading card game to make it actually playable (once potato actually puts the card stats and effects on the cards themselves.)

* Adds TCG Decks in order to play with them like a TCG.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-09-02 02:50:47 +02:00
SkyratBot
c5d6d62db8 [MIRROR] you can no longer stuff a bajillion live mice into your chef's hat (#346)
* you can no longer stuff a bajillion live mice into your chef's hat (#52640)

* fuck

* Update code/datums/components/storage/concrete/pockets.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>

* you can no longer stuff a bajillion live mice into your chef's hat

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-15 02:01:13 +01:00
SkyratBot
49fc2a47f2 [MIRROR] you can now store dead mice in your chef's hat as well (#117)
* justice for dead mice (#52436)

* you can now store dead mice in your chef's hat as well

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-07-30 00:29:49 +01:00
ArcaneMusic
c69cb714f2 You can now store mice in your chef's hat. (#52253)
* Is that a mouse in your chef's hat.

* yeah that sounds about right

* Sure thing boss.
2020-07-18 14:37:29 -04:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ivanmixo
6351f3837d replaces the thing with user.incapacitated() 2020-06-19 22:54:51 +02:00
ivanmixo
8622bcfa3e Makes it == to something 2020-06-19 18:48:42 +02:00
ivanmixo
39b38a223e Fixes altclicking wallet while unconscious or in soft crit 2020-06-19 12:08:19 +02:00
skoglol
b735d25cb6 Swaps boh and ooc confirm dialog button positions (#48905)
* Swaps boh confirm dialog button positions

* and the ooc alert
2020-01-22 12:52:17 -05:00
spookydonut
2591ce17a6 Travis EOF newline detection v3 (#47539)
* scream

* aaa

* aaa

* new one
2019-11-04 19:16:50 -08:00
kingofkosmos
52325eda25 Merge branch 'master' of https://github.com/tgstation/tgstation into misc_span_fixes1
# Conflicts:
#	code/game/machinery/Sleeper.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/objects/structures/beds_chairs/chair.dm
#	code/game/objects/structures/lavaland/geyser.dm
#	code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm
#	code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
#	code/modules/paperwork/contract.dm
2019-10-17 06:02:06 +03:00
KomradeSpectre
9ff071af60 Clockcult Removal 2019 (#47057)
* Nanotrasen fires the Wave Motion Gun at the Clock Cult

* Fixes a random changelog appearing from the reebe void.

* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.

* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.

* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron

* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
2019-10-15 10:13:41 +02:00
kingofkosmos
280d416d4f Adds missing spans, missing periods and missing span endings. Also changes spans to suit the situation better. 2019-10-12 19:34:11 +03:00
William Wallace
53ed029490 remove duplicate /datum/component/storage/concrete/pockets definition 2019-10-08 22:38:57 +01:00
Qustinnus
81c3d92129 Adds pick-up, drop and throw sounds for items. (#46677)
* finishes up

* adds sound volumes

* woops

* forgot to ctrl + s

* cloth

* smh

* done
2019-10-04 18:53:09 -04:00
Rob Bailey
2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
AnturK
a6232420de Fixes boh dumping runtime 2019-08-22 14:12:04 +02:00
nicbn
44a07d712d BoH bombing rework II (#45174)
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.

So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.

For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).

Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog

cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
2019-07-25 21:18:01 +12:00
Alek2ander
e6d468eb61 Wallet QOL improvements (#45178)
* Wallet name includes displayed ID
Adds Alt-click to remove it

* Use regular altclick if it's in storage
2019-07-15 02:57:17 -07:00
kingofkosmos
fb9731492c * extra spaces removed from "span class = '" --> "span class='"
* warning-spans added to cases of "You need..."
2019-06-25 21:03:25 +03:00
Tlaltecuhtli
d3dd48de46 fixes russian helmets not holding vodka (#44692)
* 1

* no need for this

* e

* dsdag
2019-06-22 02:17:55 -04:00
AnturK
0ce8241c78 Fixes cross-z dumping with bluespace bags. (#44437) 2019-06-11 14:32:34 +02:00
Arkatos1
e82707a8cc Examine tooltips now work on items put into storage (#44311)
* Examine tooltips now work in items put into storage

* IN_STORAGE define

* IN_STORAGE bitfield and proper parenthesis
2019-06-09 18:15:12 -04:00
Akrilla
2d32be1904 Small storage refactor and examine change (#44109)
* Removes repeated line

* Description change for clothing items that can only store specific items

* Get all children of can_hold listed items.

* can_hold only needs the top most item, child items are dealt automatically

* cant_hold related change

* Text change

* Moves the item check to the line above, and removes the current.

* Same changes, but to belt/wallet code.

* Change to using signals instead

* Generic signal on datum/topic

* Cache typecache, and small signal change

* Small argument tweaks and remove unneeded lists

* Change to proc

* Change call can_holds/cant_holds to use new proc

* initial, and cleaned up display code

* Null check
2019-05-30 14:20:29 -04:00
Akrilla
55ed0ebf35 Fedoras hold small and gimmick items (#44139)
* This was probably originally intended...

* Fedoras hold small items, and exceptions for gimmicks

* Only create cache once

* Cache exception_hold, and adds other katana type
2019-05-28 09:57:59 -04:00
Tlaltecuhtli
ec1ad61558 new cargo crates & tweaks (#43454)
* 1

* 2

* finall pre pr

* oof

* oof

* testing merge conflict fix

* test mk2

* test mk3

* plant & chem

* bvcgr

* fixed stuff

* grammar stuff

* fixes clothing + cobby bribe

* new sprites by wjohn

* Update code/modules/clothing/suits/armor.dm

Co-Authored-By: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>

* tweaks .38 stuff

* Update code/modules/cargo/packs.dm

Co-Authored-By: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>

* nuclear option
2019-04-03 14:23:38 -04:00
oranges
0267bce949 Turns out a bunch of components do not properly transfer because of (#42691)
one of three things.

    1. They don't use RegisterWithParent or UnregisterFromParent to unregister
       and register signals

    2. They use callbacks which refer to a source object, which is usually deleted
       on transfer, or lost in some manner, or simply makes no sense at all to be
       transferred

    3. the component was never designed to be transferred at all

TransferComponents gave no shits about any of this and just blindly transferred
all components, if they were actually capable of it or not.

I only noticed this because it was causing chairs to break as they would not register signals
and verbs correctly for rotation after being picked up and then placed down, and a player
reported that issue via ahelp.

Luckily we caught it before the rot got anywhere, only chairs and the shuttle subystem
tend to use this proc (Shuttle uses it on turfs), can you imagine if everything was using
this LMAO

Which is good because it's more dangerous than a loaded gun

I have added a can_transfer var, that is true when a component is valid to
actually transfer, which means the dev has actually thought about what happens when
you take the parent object away and swap it for another and all the crazy that is entailed
by this

I have done my best to audit what components are actually
transferable, but things are basically a hot mess (Thanks @Cyberboss )

The following components required edits:
Forensics:
did not register/deregister the clean_act signal properly, did not checkblood on new parent

Rotation:
did not use RegisterWithParent or UnregisterFromParent, turned out
to not be transferable anyway due to having callbacks that can be
passed in to the parent with unknown sources that we can't feasibly
reuse (i.e if you're transferred from a chair to a bed, your old rotation
call backs are no longer valid). Turns out the use case it was for (just chairs)
didn't need it anyway, so I just made it non valid for transfer.

Wet Floor:
Honestly this one is just a hot mess, it should be a subtype of the slippery
component with the extra wet turf handling.

As it is it basically manages a slippery component on top of it's own extra
functionality, so that's a major code smell.

I added registration/unregistration of the signals, and made it's pretransfer
remove the slippery component and the posttransfer add it back (via update_flags)

Components that seem transferable without issues
mirage_border
orbiter
decal
spill
storage (I hope to earth)
2019-03-05 20:27:29 +01:00
Trilbyspaceclone
555f0bda23 Fixes power tool drill fitting in boots/wallet (#42476)
* Update wallets.dm

* Update pockets.dm

* Apply suggestions from code review

For when people forget how sister code works

Co-Authored-By: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com>
2019-01-23 14:32:04 -05:00