* Makes sure COMSIG_ATOM_EX_ACT is always called. (#63685)
Creates a wrapper macro for ex_act() and moves the signal and contents explosion calls to there. This way we can ensure the signal is always fired. Also desnowflakes reagents responding to explosions.
Ensures that a signal is always called when the attendant proc is called.
* Makes sure COMSIG_ATOM_EX_ACT is always called.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Dullahan Partial Refactor: They Work Again Edition (#63696)
So, a few months ago I was like "hmm there's something weird going on with party pods...", which got me looking into important_recursive_hearers or something like that. I spoke about it in the coding channel and Kyler actually fixed it before I did. But I also caught a similar glitch with Dullahans, so I decided to investigate...
Two months later...
I present to you a partial unfuckening of the Dullahans, in that I made them fully functional once again:
They only hear speech through their head (not sounds, sadly, someone else would have to tell me how to do that because I otherwise really wouldn't know how to do it in a sane way), they speak through their head, runechat-included.
When you spawn a Dullahan, you're set to look through the Dullahan's eyes (so from their head), and that doesn't reset when you log off and back in, or admin-ghost and come back in your body.
When you're looking through your head, your view will no longer be reset to your body upon entering a locker, which is nice to avoid not being blind while looking through your body.
Dullahan heads no longer look completely lifeless and without organs. They have eyes that don't look dead and that even match the player's intended eye color.
Dullahan can now properly examine things from their head, which was intended and 100% not functional.
Dullahan heads now speak with the proper name of their owner, instead of having a random name attached to it at round-start.
Dullahan heads are also now properly named too.
Dullahans can now properly whisper, sing and do all these funny things that they were unable to do before.
Dullahan whispers will now properly respect the range of the whisper.
Dullahans can now succumb in hardcrit by whispering, as intended. This potentially fixes other species that worked similarly not being able to succumb, like abductors, although I didn't test if they normally could, I just know they absolutely will be able to now.
When switching from Dullahans to a different species, your old head will no longer stay behind.
I also added a proc for species to do some code when we get a ckey login in our mob, which could potentially be useful for other stuff in the future, but it was necessary here as the view is reliant on the client, which we want to ensure doesn't get weird view glitches like having their head's vision overlay while actually being centered on their body.
I also made it so say() now takes a range argument, which is 7 by default, just so things that aren't humans can also whisper and do all those kinds of things. Going with that, there's probably a few more things that will be able to be done better thanks to this, although I haven't tested every edge case with this, but I doubt it will make much of a difference in the future.
* Dullahan Partial Refactor: They Work Again Edition
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes a lot of runtimes caused when spiders are on spiderwebs (#63796)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes a lot of runtimes caused when spiders are on spiderwebs
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* chatmessage.dm offset adjustment (#63848)
changes the pixel_y and pixel_x of a 'message' to maptext_width and maptext_height instead of bound_width and bound_height.
* Sets runechat's offset vars to nicer ones
Co-authored-by: ghost sheep <donniescatch@gmail.com>
* Fixes the riding component not working with basic mobs (#63884)
basic mobs were missing behavior on relaying movement
* Fixes the riding component not working with basic mobs
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Drones can now vent crawl around people (#63854)
Also adds in the ability to whitelist machines with the shy component
* Drones can now vent crawl around people
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Fixes runtimes when admin ghosting out of a camera eye (#63838)
observetarget is not guaranteed to exist
* Fixes runtimes when admin ghosting out of a camera eye
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Remove the auto updating in the orbit menu and bring back manual refresh (#63790)
* Remove the auto updating in the orbit menu and bring back manual refresh
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Elementizes cult halos + cult eyes + fixes some issues with them (#63683)
* should be good
* autodoc
* signal rearranging
* final comment
* review
* Elementizes cult halos + cult eyes + fixes some issues with them
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixing modsuits
* Bringing in the digi and muzzled MODsuit sprites!
* Fixed the muzzled helmet and removed a duplicate icon_state in head_muzzled.dmi
* Finally adds Digi and Muzzled MODsuit variants, courtesy of Halcyon!
Co-authored-by: Gandalf2k15 <9026500+Gandalf2k15@users.noreply.github.com>
* Fixes field of view handler perceiving the wrong eye (#63700)
* Fixes field of view handler perceiving the wrong eye
* Fixes field of view handler perceiving the wrong eye
Co-authored-by: Azarak <azarak10@gmail.com>
* Fixes hearing sounds in crit, that shouldn't be heard (#63687)
* fix'
* don't need src
* better
* Fixes hearing sounds in crit, that shouldn't be heard
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* suicided bodies can be used for brain transplants (#63565)
* Suicided bodies can be used for brain transplants (and other brain-suicide interaction fixes)
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Fixes ghosts not being able to enter posibrains if there's already had a ghost in it (#63623)
* fix re-entering ghosted posibrains
* re-adds not re-entering the same posibrain
* Fixes ghosts not being able to enter posibrains if there's already had a ghost in it
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes some reported bugs for Mules/Bots (#63138)
Bots will now allow pAI's to be placed in them again
MULEbots can be turned on/off again
MULEbots' wires can now be interacted with again
Closes#63133 (Can't turn on/off MULEbots)
Closes#63101 (Can't put pais in new bots)
Fixes bugs, improves code, I see no downside here.
* Fixes some reported bugs for Mules/Bots
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Makes all cyborg storage items drop their contents on module change (#63461)
* Makes all cyborg storage items drop their contents on module change
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* AI VOX announcements are now additionally sent through say(";[message]"). (#63594)
* AI VOX announcements are now additionally sent through say(";[message]").
* AI VOX announcements are now additionally sent through say(";[message]").
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* creates SSspeech_controller so the MC can control say() execution
* Update mob_say.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* [Ready] MODsuits
* we dont need to add these people as codeowners, goodness gracious
* have to remove this because upstream
* part 1 of these fixes
* EEEE
* Update peacekeeper_clothing.dm
* E
* E
* Auto stash before merge of "upstream-merge-59109" and "origin/upstream-merge-59109"
* E
* Update expeditionary_trooper.dm
* more removal
* nice
* modsuti modstui modusuti
* fixes
* E
* ITS MODsuit not HARDSUIT
* more hardsuit references
* MODSUIT NOT HARSUITEDSA
* Maps
* More ,map
* oop
* e
* oo aa
* 0
* ting tang
* Update modsuit_tailsprites.dm
* hi fikou
* bs tech update
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fixes typos in span, other html elements (#63510)
Atomizes a much larger PR for another time...
There are typos in span and other html messages that causes them to not render correctly or at all.
Bug fixes
Converts those instances of span to use the macro
* Fixes typos in span, other html elements
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Field of View and Blindness improvements [bounty + upstream push]
* Update death.dm
* almost done
* Update fov_handler.dm
* Face mouse when in combat mode, fix
* Fixes the category for the fov admin verb. #63401
* Fixes objects with bad planes and FoV bugs #63412
* pain
* there we go
* face pref
Co-authored-by: Azarak <azarak10@gmail.com>
* Fixed ashdrakes being pushed (#63373)
Megafauna and such animals are not pushable if their move resist is greater than someone's move force. Them being shovable is an oversight.
* Fixed dead animals being shovable if their move resist is greater than the shover's move force.
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
* Moves the suicided var to where its supposed to be (#63470)
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Moves the suicided var to where its supposed to be
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* neurotoxin spit no longer hits the xeno that spat it (#63442)
* neurotoxin spit no longer hits the xeno that spat it
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Prevents shoving people into the locker dimension (Fixes other shove things too) (#63372)
Made this like half a month ago. Fixes#63095Fixes#63096, all of it
People seem to be upset by being force moved into an open locker, can't imagine why. Let's start with this
I'll be back for the rest soon (I HAVE RETURNED)
* Prevents shoving people into the locker dimension (Fixes other shove things too)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Disables bot lock access in ui (#63378)
#63259 was closed and fixed through dm side.
However, I want to make doubly sure by disabling cover lock access in the UI when the user does not have sufficient access.
* Disables bot lock access in ui
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>