Commit Graph

163 Commits

Author SHA1 Message Date
SkyratBot
1b7f17f107 [MIRROR] [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) [MDB IGNORE] (#15801)
* [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1)

* Fixes all the conflicts and all of our modular files using core icon files with broken paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-08-28 15:11:04 -04:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot
6016cf97b4 [MIRROR] individual LOG_GAME [MDB IGNORE] (#15401)
* individual LOG_GAME

* e

* Update teleporter.dm

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-08 01:11:55 +01:00
magatsuchi
4f9df17cb1 [FIXED MIRROR] Tsu's Brand Spanking New Storage: or, How I Learned to Refactor For Skyrat (#14868)
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code

* Delete storage.dm

* yippee

* shit

* holy shit i am stupid

* more fixes

* fuck

* woops
2022-07-17 21:16:59 -04:00
SkyratBot
c68fea7cba [MIRROR] Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. [MDB IGNORE] (#14666)
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.

* our changes

* yes

* 0

* Update blackmesa.dmm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-01 20:33:30 +01:00
SkyratBot
afa5821b48 [MIRROR] Fat Armsky no longer deletes people by standing on boxes. [MDB IGNORE] (#14318)
* Fat Armsky no longer deletes people by standing on boxes. (#67300)

* Securitrons no longer runtime error and delete a player getting stunned through a cardboard box.

* Fat Armsky no longer deletes people by standing on boxes.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2022-06-15 12:12:59 +01:00
SkyratBot
58dda534db Syringes and injectors icons (#66722) (#13371)
New sprites for the implanter and DNA injector!

Co-authored-by: PestoVerde322 <75247747+PestoVerde322@users.noreply.github.com>
2022-05-06 14:59:18 +01:00
SkyratBot
f0d9592385 [MIRROR] Pens require gravity to write [MDB IGNORE] (#13184)
* Pens require gravity to write (#66310)

* TO BE CONTINUED

* Add zero gravity writing restrictions for pens

* Fix gravity check for writing

* Fix writing instrument var declaration

* Fix pen and crayon can_write proc

* Fix lenting issues with code docs

* Remove deprecated code

* Change code comment

* Add literacy checks and writing checks to items

* Remove deprecated code

* Remove deprecated code

* Remove deprecated code

* Remove duplicate code

* Fix grammar for space pens.

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Trigger Build

* Optimize proc order for pen gravity

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

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Pens require gravity to write

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2022-04-27 21:03:45 -07:00
SkyratBot
0643491da9 [MIRROR] Fixed progression traitor uplinks suddenly changing owners [MDB IGNORE] (#11596)
* Fixed progression traitor uplinks suddenly changing owners (#64928)

They could change if someone implanted themselves with an uplink from an uplink that didn't belong to them.

* Fixed progression traitor uplinks suddenly changing owners

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-02-19 06:13:19 -05:00
SkyratBot
b5f186508e [MIRROR] Re-adds species uplink items (and some minor fixes) [MDB IGNORE] (#11165)
* Re-adds species uplink items (and some minor fixes) (#64460)

* Re-adds species uplink items (and some minor fixes)

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-01-31 11:09:22 +00:00
SkyratBot
c33061765b [MIRROR] [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety [MDB IGNORE] (#10620)
* [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety

* updates and fixes

* ffff

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 03:25:38 +00:00
SkyratBot
b398858a2b [MIRROR] Various suicide_act() things [MDB IGNORE] (#10552)
* Various suicide_act() things (#63808)

* Various suicide_act() things

Co-authored-by: DragonTrance <dylan661993@gmail.com>
2022-01-09 22:04:10 -05:00
SkyratBot
f64e20590a [MIRROR] TGUI input box conversions 2 [MDB IGNORE] (#10089)
* TGUI input box conversions 2 (#63395)

More text inputs converted to tgui, TGUI text and number input now more sanely handles ENTER key being pressed, you can now press anywhere in the window to enter the input. TGUI text input now considers placeholder text for the default valid state. IE, if there is default text you can press enter immediately without having to rewrite it just to recheck validity. Fixes: useSharedState => useLocalState. not only was sharedstate not needed but it opened up the ui to vulnerabilities

* TGUI input box conversions 2

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2021-12-15 23:57:40 +00:00
SkyratBot
b7164873d4 [MIRROR] Speeds up the preference menu, significantly. Adds object pooling, other stuff too [MDB IGNORE] (#9962)
* Speeds up the preference menu, significantly. Adds object pooling, other stuff too

* First fixes

* Feex

* Quick fix for the unit test to shut up

* Fixing the runtime with randomly-colored jumpsuits

* Fixes that one hard del

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-12-10 02:22:41 +00:00
SkyratBot
7954d664a8 [MIRROR] removes double spaces before symbols [MDB IGNORE] (#9117)
* removes double spaces before symbols (#62397)

This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.

* removes double spaces before symbols

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-10-29 04:14:00 +01:00
SkyratBot
0b4421bdb8 [MIRROR] Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button [MDB IGNORE] (#9016)
* Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button (#62301)

Title, this probably indeed was a problem for the macrobomb as well. didn't test.
doubleclicking the action button pointed out by @ Ghommie

* Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2021-10-24 15:04:58 -04:00
SkyratBot
f24d8a532d [MIRROR] Small implant code cleanup. [MDB IGNORE] (#8971)
* Small implant code cleanup. (#62226)

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

* Small implant code cleanup.

* Update mortis.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-23 00:46:43 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
SkyratBot
39ecb0a174 [MIRROR] Radically improves explosion logging. (#8255)
* Radically improves explosion logging.

* Update eldritch_effects.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-19 22:25:20 +01:00
SkyratBot
6e34600cd5 [MIRROR] restore removed individual logs and place them under LOG_VICTIM category (#8043)
* restore removed individual logs and place them under LOG_VICTIM category (#61256)

it turns out that admins use the removed information in #61179 for faster live in-round logging, I've restored that information under a LOG_VICTIM category that should not interfere with mind-reading and ling absorb text

* restore removed individual logs and place them under LOG_VICTIM category

Co-authored-by: Couls <coul422@gmail.com>
2021-09-07 19:54:33 +01:00
SkyratBot
40cb513cfd [MIRROR] Mindshielding now sends a signal, and is dealt by the antagonist (#7573)
* Mindshielding now sends a signal, and is dealt by the antagonist (#60850)

Mindshielding people isn't hardcoded to the mindshield's implanting anymore, instead sending a signal, which I find better in the long run (especially for downstreams).

* Mindshielding now sends a signal, and is dealt by the antagonist

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-08-15 23:44:03 +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
a14347bb06 [MIRROR] Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui (#7084)
* Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui

* Mirror!

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-28 20:42:33 +01:00
SkyratBot
314abe26fd [MIRROR] DMdoc's implant_clown.dm (#7022)
* DMdoc's implant_clown.dm (#60268)

* DMdoc's implant_clown.dm

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-07-20 14:24:33 +02:00
SkyratBot
c1163dff19 [MIRROR] EVEN MORE HARDDEL FIXES (#7017)
* 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.

* EVEN MORE HARDDEL FIXES

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-07-20 12:59:41 +02:00
SkyratBot
844bcb311a [MIRROR] Fixes tracking implants that cannot be used as teleporter beacons erroneously being described as usable as teleporter beacons in the implant pad. (#6992)
* Fixes tracking implants that cannot be used as teleporter beacons erroneously being described as usable as teleporter beacons in the implant pad. (#60269)

* Fixes tracking implants that cannot be used as teleporter beacons erroneously being described as usable as teleporter beacons in the implant pad.

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-07-19 15:43:33 +02:00
SkyratBot
f391687a50 [MIRROR] Improves implantcase.dm (#6964)
* Improves implantcase.dm

* Mirror!

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 19:59:17 +12:00
SkyratBot
99333fdfcc [MIRROR] Replace a number of New() overrides with Initialize() (#6945)
* Replace a number of New() overrides with Initialize() (#60223)

* Replace a number of New() overrides with Initialize()

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-19 16:55:01 +12:00
SkyratBot
7fa8c7e87c [MIRROR] Cleans up and dmdoc's implant.dm (#6959)
* Cleans up and dmdoc's implant.dm (#60179)

Mostly variable names and dmdoc. Behavior unchanged.

Co-authored-by: Your mother <mothmilk666666666666@ tfwno.gf>
Co-authored-by: coiax <yellowbounder@ gmail.com>

* Cleans up and dmdoc's implant.dm

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Your mother <mothmilk666666666666@ tfwno.gf>
Co-authored-by: coiax <yellowbounder@ gmail.com>
2021-07-16 20:34:59 +01:00
SkyratBot
dde153d345 [MIRROR] Cleans up and DMdoc's implanter.dm (#6878)
* Cleans up and DMdoc's implanter.dm

* Update implanter.dm

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-12 21:59:13 +01:00
SkyratBot
de665b204b [MIRROR] Large cardboard box icon fix (#6691)
* Large cardboard box icon fix (#59938)

* cardboard box fix

* Large cardboard box icon fix

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2021-07-03 22:25:55 +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
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
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
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
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
5b8a38af3a [MIRROR] Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#5244)
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)

* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.

* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-27 01:53:17 +01:00
SkyratBot
2ab15aecb5 [MIRROR] Remove all gamemodes except Dynamic (#5173)
* Remove all gamemodes except Dynamic

* qaaaaaaaa

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-25 21:20:30 +01:00
SkyratBot
9268949ce0 [MIRROR] Defines some traits and cleans it out a little (#3873)
* Defines some traits and cleans it out a little

* Update stunbaton.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-03-04 21:57:43 +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
23fb763667 [MIRROR] Add sound effect to deathrattle implant (#3189)
* Add sound effect to deathrattle implant (#56702)

Sounds are from https://freesound.org/people/gsb1039/sounds/415061/
which is licensed under CC0 (public domain)

Some people said it was too easy to miss the message in the storm of stuff that's going on as a nuclear operative, so now there's a new distinctive sound to announce that you've lost a teammate.

    Also added a missing SIGNAL_HANDLER to a signal handling proc.

* Add sound effect to deathrattle implant

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-02-08 23:42:01 +00:00
MLGTASTICa
c344beff58 Adds special descs to chameleon items , energy swords(toy and real) , chameleon projector , implanters. (#3136)
* the descs

* Update chameleonproj.dm

* Update dualsaber.dm

* Update implant_misc.dm

* Update energy.dm

* Update toys.dm

* Update toys.dm

* Update chameleon.dm

* Update pen.dm

* grammar

* Update implantuplink.dm

* Update implant_stealth.dm

* Update energy.dm

* Update chameleon.dm

* Update pen.dm

Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
2021-02-06 14:46:43 +00:00
SkyratBot
23da06b23b [MIRROR] Remove adrenal implant and associated reagent (#3121)
* Remove adrenal implant and associated reagent (#56649)

* Remove adrenal implant and associated reagent

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2021-02-05 22:06:32 +00:00
SkyratBot
0377dba670 [MIRROR] Mirror logging for brainwashing and hypnosis in the player panel and attack logs. (#2988)
* Mirror logging for brainwashing and hypnosis in the player panel and attack logs. (#56515)

Hypnosis and brainwashing now have entries in the Player Panel logging
under attack and entries in the attack logs.

Mirrors some logging that would otherwise just be in the game logs.
From an admin-perspective, issues where you'd want to check
brainwashing/hypnosis tend to go hand-in-hand with issues relating to
attack logs as opposed to game logs.

* Mirror logging for brainwashing and hypnosis in the player panel and attack logs.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-01-31 22:09:07 +00:00
Gandalf
34d8917ebc Aesthetics fixes (#2986)
* fixes

* a
2021-01-31 16:40:05 +00:00
SkyratBot
4b350667c8 [MIRROR] Add deathrattle implant for nuclear operatives (#2810)
* Add deathrattle implant for nuclear operatives (#55903)

Deathrattle implant, comes in box of 8, implant yourself and others, and
you'll get a little notification when they die.

Intended for nuke ops, price around the same as the codebook, since it's
a utility communication item, that actually "plans to fail", so it can't
be too expensive, because it doesn't help them win, just lets them know
how much they are losing by.

* Add deathrattle implant for nuclear operatives

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-21 14:20:49 +01:00
SkyratBot
4f2588e6bc [MIRROR] Refactor on_mob_death, death implants, implant permission (#2432)
* Refactor on_mob_death, death implants, implant permission (#55862)

* Refactor on_mob_death and death implants

There is a proc on `/obj/item` called `on_mob_death` called on all
items in the contents of a mob on that mob's death. It is currently used
for explosive implant detonation, and the deactivation of the
Peaceborg's projectile dampener.

Instead of using this old proc, both of them now instad use the
COMSIG_LIVING_DEATH signal, already emitted when their owner dies.

The activation of an explosive implant will now occur after the rest of
the death code has run, since it activates with an async applied
function, since some other implants may still want the mob's body
intact, and you shouldn't use `sleep()` (which it does in the "slow
explosion mode") in signal handlers.

In addition, the "can_be_implanted" proc for /mob/living (and overriden
for silicons, slimes and simple animals) has been folded into the
`/obj/item/implant/proc/can_be_implanted_to` proc. Some future implants
may want to be more permissive than the current permissions, but that
isn't possible when checking both procs.

* Refactor on_mob_death, death implants, implant permission

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-01 22:17:15 +01:00
SkyratBot
888202da82 [MIRROR] Add "Implant" to list of uplink locations (#2371)
* Add "Implant" to list of uplink locations

* a

Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-30 22:33:27 +01:00
SkyratBot
eedf2362cc [MIRROR] Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#1674)
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#54665)

The PR aims to allow advanced tool users to be defined by traits rather than a hardcoded proc.
Also necessary for the CanUseTopic refactor I'm working on, which will be PRed separately for atomization purposes.
This PR also fixes an inconsistency with can_hold_items (since monkeys can actually hold items).

* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-11 02:52:32 +00:00
SkyratBot
72974ebac4 [MIRROR] Refactors occupant to use setter (#1357)
* Refactors occupant to use setter (#54373)

This is to make it easier to attach a signal to the setting of the occupant.

* Refactors occupant to use setter

Co-authored-by: nicbn <nicolas.nattis@gmail.com>
2020-10-18 17:05:22 +01:00