* Prevent players who get booted back to the lobby on shiftstart from getting broken antag status on latejoin (#59377)
* Prevent players who get booted back to the lobby on shiftstart from getting broken antag status on latejoin
* Mirrored
* oop
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Funce <funce.973@gmail.com>
* fixes issue with ghosts being able to affect the world, oversight from the crossed refactor (#59010)
* as anything in _SendSignal
* Revert "as anything in _SendSignal"
This reverts commit 350c4b33d975d25003afb2cab2458a3026676559.
* ghosts can no longer affect the world (hopefully)
* fixes issue with ghosts being able to affect the world, oversight from the crossed refactor
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Tidy HTML folder (#58761)
This PR aims to make the HTML folder a little more organized, as well as remove a few unused files.
Why It's Good For The Game
Doesn't change anything for the player, however makes the files more organized.
* Tidy HTML folder
Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc
* WHEW THAT WAS EASY
* Update ammo.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Prevent negative open positions in crew manifest (#58300)
* Resolve open position issues in crew manifest
* Use the classes helper for multiple classes
Co-authored-by: celotajstg <celotajstg@ users.noreply.github.com>
* Prevent negative open positions in crew manifest
Co-authored-by: celotajstg <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: celotajstg <celotajstg@ users.noreply.github.com>
* Layer overhaul (#57915)
## About The Pull Request
Changes up some layer and plane defines for no particular reason lol
## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._
* Layer overhaul
* aaaaaaaaa
a
Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Highlander + Summon Guns and Magic now uses signals to equip new crewmembers (#57817)
* Highlander + Summon Guns and Magic now uses signals to equip new crewmembers
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Observers can now use emojis at the start of messages without the risk of triggering admin commands. (#57433)
Added a client.holder check to the line about radio extensions for admin chat and deadchat commands. It means common observers can finally spam dchat with plushie emoji. Admin observers still have to deadmin before using emojis safely, until someone takes the time to refactor saycode mods so these admin commands only acept the comma prefix (luckily, observer/get_message_mods() doesn't trim the message).
* Non-admin observers can now use emoji that start with d or p at the beginning of a message without admin command warnings.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Partial revert of datum poll creation, fixes duplicated irv votes (#57462)
* Partial revert of datum poll creation + stops duplicated votes from being trusted from clients
Reverts the part of jordies poll refactor that allowed a duplicated vote in the db to make it back on the client's vote screen.
Also fixes the code that would allowed duplicated votes to be passed from the client. (not from jordie's poll refactor pr.)
The race condition still exists, thats harder to fix, counting code handles this correctly
* Update poll.dm
* Update poll.dm
* Partial revert of datum poll creation, fixes duplicated irv votes
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* 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>
* New flight potion wing sprites for moths (#56412)
Wing sprites are courtesy of Papaporo Paprito over on Fulpstation!
This PR adds a second sprite for flight potion wings for moths.
A new system is implemented to make this possible, using radial menus.
* New flight potion wing sprites for moths
* Update species.dm
Co-authored-by: Jack7D1 <59462654+Jack7D1@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* You no longer need to hold shift to open the context menu as a ghost (#56646)
* You no longer need to hold shift to open the context menu as a ghost
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Fixes emote runtime / changes how emotes work for ghosts (#56519)
* Fixes / refactors emotes
Crack emote no longer runtimes
Ghosts can use help emote
Exhale / inhale emote only work for living
Move beep emote living subtype
Help emote no longer tells you that you can't use it
* Remove var in arguments
Lint
* Replace loop with join
* Fixes emote runtime / changes how emotes work for ghosts
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
* Adds in the comet hairstyle. (#56217)
## About The Pull Request
This PR adds in the new "Comet" hairstyle. A bit anime-ish.
[Example](https://i.imgur.com/e5Xg9It.png)
## Why It's Good For The Game
New hairstyles are good, and so far i've recieved positive feedback on this one.
* Adds in the comet hairstyle.
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
* Fixes and refactors death examine code (#55907)
Examine death bodies should now display the correct text
Changed the logic so that the message tells you if the players is:
- Still in his body (`[t_He] [t_is] limp and unresponsive; there are no signs of life...`) or
- A ghost that could enter the body again (`[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed, but the link is not yet fully broken...`) or
- No ghost, that can reenter the body and no key (`[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has lost the will to live...`)
Also refactored the code a bit:
- Moved the death examine message generation to a proc so that you can work with returns
- Removed pushed_do_not_resuscitate since its not needed this way
* Fixes and refactors death examine code
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
* Specifies if DNR was pushed in body examine text (#55399)
Adds the examine text " and [t_his] soul has lost the will to live..." instead of the usual "soul departed" message if the person hits DNR.
* Specifies if DNR was pushed in body examine text
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
* Fixes GC for observers and new players, and tons of loose references to stuff that shouldnt be (#55563)
I've done this on a signal because atom_hud is applied very loosely in some contexes, and the objects themselves dont have an easy way to track back into what huds they're affected by, so this seemed the best. Properly cleans up next_time_allowed, which was missing.
Update: I discovered this is also an issue for a lot of simple mobs, such as slimes and bots and such. So fixing this is huge
* Fixes GC for observers and new players, and tons of loose references to stuff that shouldnt be
Co-authored-by: Azarak <azarak10@gmail.com>
* Delete extra copy_to (#54912)
Extra call to client.prefs.copy_to caused all characters to be set up as if they had latejoined, whether or not they had. Since no points are awarded for latejoining as hardcore random, no hardcore random characters received points.
Co-authored-by: UnderARock <UnderARock@ notarealemail.com>
(Lemons note: Due to a missed change in #50558, it was open at around the same time as floyds hardcore pr, I'd bet they got merged at about the same time, and were improperly merged. Good catch.)
* Fixes roundstart hardcore random characters not receiving points for survival.
Co-authored-by: UnderAGeode <37090242+UnderAGeode@users.noreply.github.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>