Commit Graph

39 Commits

Author SHA1 Message Date
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
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
0a1f06a2d1 [MIRROR] This tail refactor turned into an organ refactor. Funny how that works. [MDB IGNORE] (#14017)
* This tail refactor turned into an organ refactor. Funny how that works.

* Firstly, fixing all the conflicts.

* Fixes all our maps (hopefully)

* Actually, this should fix pod people hair :)

* Almost everything is working, just two major things to fix

* Fixed a certain kind of external organ

* Cleaning up some more stuff

* Turned tail_cat into tail because why the fuck are they separate?

* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file

* Adds relevant_layers to organs to help with rendering

* Makes stored_feature_id also check mutant_bodyparts

* Fixes the icon_state names of ALL the tails (pain)

* Fixes wagging, gotta refactor most mutant bodyparts later on

* I Love Added Failures

* Fixed some organs that slipped through my searches

* This could possibly fix the CI for this?

* It doesn't look like it did fix it

* This will make it pass, even if it's ugly as sin.

* Fixed Felinids having a weird ghost tail

* Fixes instances of snouts and tails not being properly colored

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-06-11 23:20:16 -04:00
SkyratBot
fad38d8c24 [MIRROR] Adds the ability to soft filter words, also fixes some word filter bugs [MDB IGNORE] (#9062)
* Adds the ability to soft filter words, also fixes some word filter bugs (#62158)

* Adds the ability to soft filter words, also fixes some word filter bugs

* Fixing linters (you're welcome Jake!)

* Punctuation is my passion!1!!111!

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: GoldenAlpharex<jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-10-27 20:06:23 -04:00
SkyratBot
b267e1922b [MIRROR] Fixes being able to spam ghost role notifications. (#7904)
* Fixes being able to spam ghost role notifications. (#61085)

There are methods that let players spam the everloving shit out of ghosts with BONG BONG BONG BONG BONG BONG BONG etc. through being able to constantly poll ghosts for roles with no restriction or cooldown.

Examples are laughter and slaughter demon antag_spawners.

It makes no sense to be able to concurrently poll for the same mob. As a result, I've now added a guard against this. The proc has been given a static list of mobs it's polling for ghost roles for. If it's already polling for ghost roles for a given mob, then it just early returns with an empty list, otherwise it adds the mob to the static list when the poll starts and removes it when the poll ends.

I've also done a little cleanup in var names and the proc name, with a find-and-replace done. There weren't many things calling it and none used named keywords in the args so should be fine.

There is also poll_candidates_for_mobs (also included in my cleanup) - This proc is basically only called by admins via sentience balloons and they have their own guards against spamming (the balloon pops and thus can only be used once)

Also fixes an issue in /mob/living/silicon/robot/proc/replace_banned_cyborg() where incorrect args were used in the proc call to poll for candidates.

* Fixes being able to spam ghost role notifications.

* a

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-01 17:00:32 +01: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
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
b2209476cd [MIRROR] Fixes split personality sometimes switching to other person upon death (#6138)
* Fixes split personality sometimes switching to other person upon death (#59488)

Fixes split personality sometimes switching to other person upon death or loss.
This was due to both minds being bounded to the body, this fixes it.
Also changes free_backseat into new_backseat because the former is an incredibly unintuitive variable name.

* Fixes split personality sometimes switching to other person upon death

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2021-06-05 16:53:47 +12: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
786788ca56 [MIRROR] Allows ghosts to start messages with asterisks in deadchat again (#3644)
* Allows ghosts to start messages with asterisks in deadchat again (#57159)

#56519 had noble goals in trying to make emote code more robust for
ghosts, but in doing so it undid #47144, which was made to allow people
to start messages with asterisks in deadchat without getting hassled by
the game thinking you're emoting. This re-limits the emote checker to
the only two emotes ghosts have ever had, *spin and *flip.

* Allows ghosts to start messages with asterisks in deadchat again

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-02-25 13:41:20 +00:00
SkyratBot
d0dc199815 [MIRROR] /mob/living/proc/Life(delta_time) (#3509)
* /mob/living/proc/Life(delta_time)

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:55:52 +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
SpaceVampire
389d29cb34 Defibrillates Split-Personality (#2661)
* Update split_personality.dm

* Update personality_commune.dm
2021-01-24 03:04:33 +00:00
IrkallaEpsilon
9a77148734 Bombards Split personality with an antigrain warhead (#1878)
* Bombards Split personality with an antigrain warhead

* Update split_personality.dm

* Meh Personality

Insert catgirl erp descriptor as argument.

* Update personality_commune.dm

* Update split_personality.dm

* Update split_personality.dm

* Update personality_commune.dm
2020-11-28 15:07:25 +01:00
SkyratBot
03298fddfd [MIRROR] Fixes split personality switching (#1488)
* Merge pull request #54610 from YPOQ/splitpersonalityfix

Fixes split personality switching

* Fixes split personality switching

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-10-27 09:08:34 +00:00
SkyratBot
7f3a2027cc [MIRROR] Polling ghost candidates now uses real names (#480)
* Polling ghost candidates now uses real names (#53122)

* Polling ghost candidates now uses real names

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-23 20:43:25 +02:00
skoglol
d513b14a58 Catatonics no longer get split personalities. (#52118)
* Catatonics no longer get split personalities.

* No switching to ssd either
2020-07-13 11:38:17 +02:00
Rohesie
0738549b5b Client loss on Login() handling (#50073)
The client variable can be nulled at any point between proc calls during Login(), at the very least between parent calls for sure. That can produce dirty additions to mob lists among other less problematic runtimes.
This attempts to handle it.
2020-04-07 08:13:38 +12:00
Ghommie
ba9122d606 Fixes traitor codewords highlight and some other hear signal hooks. 2020-01-06 17:06:59 +01:00
Emmett Gaines
53952e7622 Keybindable emotes followup (#47868)
Keybindable emotes followup
2019-11-19 16:54:30 -08:00
skoglol
1be2774ee5 Gives body back to owner on split personality death (#47809) 2019-11-16 20:34:14 -05:00
James
a05d954b45 Split personalities can now communicate directly (#46875)
About The Pull Request

This PR allows people with the split personality trauma to communicate with the stranger and vice versa through an action button. I also considered adding an option for the active player to release control but I felt that would be breaking the spirit of brain traumas a bit much.
Why It's Good For The Game

Split personality has always been a situation where the second player's only real option is "How many times can I shout "I'm Gay"/WGW over radio and try and avoid surgery until I inevitably get removed?" Don't get me wrong, you can still do that, but I aim in this PR to give players another option to get some of that sweet RP in. The main argument I can see coming up against this change is that traumas are supposed to be negatives, but how I see it, this doesn't make Split Personality a positive trauma so much as it allows roleplay similar to how you can roleplay as a paraplegic war veteran or as an ex-security officer who developed a phobia following an 'incident'. I'm happy to add a cooldown to the action if it proves to be an issue.
Changelog

cl
add: Split personalities can now communicate with an action button
/cl
2019-10-13 16:54:12 +13:00
nemvar
c38a7a3bb5 Removes a bunch of var/ in procs (#46946)
* Removes a bunch of /var in procs

* reset this

* Why wasn't this already?
2019-10-10 04:20:27 -07:00
RandolfTheMeh
319c2cf52b Imaginary Friend/Split Personality Trauma Fixes (#45681)
* no more dead friends

* Removed client check on split_personality because I for one would like to see a genetics test subject gain sentience
2019-08-05 18:58:29 -07:00
vuonojenmustaturska
0254559eca Replaces hear_intercept with signals, refactors MOVABLE_HEAR, touches up nanites and to_chat (#44391)
hear_intercept is removed in favor of having the things that care register for the COMSIG_MOVABLE_HEAR signal instead.

The signal has been changed to be like the speech one with an args list.

Nanite datums no longer register for the hearing signal just in case, only the voice sensor nanite program does.

Dead code has been removed from to_chat, the savefile/sound checks being just-in-case boilerplate checks made during the conversion to to_chat, the replacetexts sidestepping a byond bug that was fixed in 512.1420.
2019-06-10 10:43:12 +12:00
vuonojenmustaturska
2d74a86353 [READY] Cleans up saycode by removing random hook stubs and using a signal where relevant (#44320)
About The Pull Request

This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.

Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.

Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.

Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog

cl Naksu
code: Cleaned up saycode
/cl

* start with this

* oh man this looks so good

* hats are dead

* /obj/item/proc/speechModification is dead

* brain traumas and get_held_item_speechspans() are dead

* these should be static

* unfortunately we still need this

* /mob/living/carbon/treat_message(message) is kill

* clean up get_spans()

* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff

* move stuff around

* return values
2019-06-06 18:35:06 +12:00
skoglol
f781e649c7 Adds "Never for this round" to a few more ghost rolls. 2019-05-29 23:25:56 +02:00
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
XDTM
3f32f8c110 [Ready]Logs when speech is forced by an external factor (#39964)
* Logs when speech is forced by an external factor

* makes say args uniform

* fix
2018-09-03 11:38:16 +02:00
Jordie
0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
vuonojenmustaturska
042ea5ea63 Fixes emote runtimes (#39115)
Fixed some missing args in emote procs called with named args, leading to
runtimes.
2018-07-14 13:20:50 -07:00
ShizCalev
c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
AnturK
a5bcb83ea7 Some antag fixes. (#35690)
* Removes misleading comment

* Fixes devil ascension visible in lobby

* Fixes nuke op reinforcements.

* ADVANCED COPYPASTE

* Missed this one.
2018-02-16 11:34:38 -05:00
XDTM
5a08a3aad0 Extends the disability refactor to include more traits, removing some snowflake code (#34664)
This way you can add/remove traits without fear of other sources overriding them. Now you can add TRAIT_STUNIMMUNE to somebody without what if hulk

Notable changes:

    Fakedeath now updates instantly, instead of waiting for the next life tick.
    Fakedeath now sets time of death when acquired.
    Removed extremely snowflake code in reagents that checked if you had morphine to remove slow immunity and so on.
    Hulk no longer overrides status_flag changes, in case there are any.
2018-01-25 09:12:44 +13:00
Ian Turk
c7f00fb44c Prefixed all disability defines with DISABILITY to fix name collision with BYOND built in BLIND define 2017-12-22 23:49:41 -06:00
ShizCalev
20e5d77732 Fixes mass brain trauma 2017-12-19 18:28:35 -05:00
XDTM
b5d9845edf [Ready]Brain Trauma additions (#33405)
* Brain Trauma additions

* Adds Aphasia

* Adds the aphasia language

* Short window

* nuke exploits GONE

* fixes draggable portals

* psychobrawl won't just kill you if you use it too much, but stuns longer

* Adds anosognosia, and lowers thresholds

* .

* RANDOM GODWOKEN

* Default brain damage is now 0

* antur

* fix 1

* forcemove and afk friend adjustments

* okay it's ready now

* dead people can hear imaginary friends
2017-12-17 18:10:25 +01:00
Leo
6a0a97acc0 Split personality now logs when a ghost gets control of it (#33506) 2017-12-14 07:12:12 -05:00
XDTM
550d71167e Brain Traumas (#31727)
* Reworks Brain Damage

* mechanics

* rebalancing

* hulks in wheelchairs

* yup

* bugsquash

* Adds narcolepsy, phobias and agnosia. Not guaranteed 100% bug-free yet, testmerge at your own risk.

* lizard phobia

* Did you know there's a skeleton inside of you RIGHT NOW?

* Fixes for the new stuff

* The issue with those is that in most rounds you won't see them

I'll keep them available so they can be added manually, for example by events and such

* Goof reviews

* Brainloss is based off brain organ integrity

removes brainloss var

* Replaces some getorganslot with defines

* eyes

* put the traumas in the brainnnn

* text

* args

* Adds godwoken, puts split personality in severe, adds brainwashing

* Bluespace prophet special trauma (untested)

* Some minor stuff

* Monophobia, and tweaks

* More fixes

* fix

* a

* new tail

* Discoordination and Muscle Weakness

* thanks for the review!

* [B]oneless

* agnosia fix

* .

* go away agnosia

* pretend it didn't happen

* Shitcode-free-er

* bitwisdom

* psychotic brawling

* i guess this might be important

* latest reviews

* .

* conflict-free

* addresses it

* surgery fix

* a masterpiece

* fix

* fix again

* config

* damage formula reworked

* who needs to test anyway

* fixes some bugs

* fix 2

* proper spookin

* bluespace prophet fixes and improvements

* no bible healing

* .

* normalizes monophobia chances
2017-12-06 13:04:17 -05:00