* 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>
* Cross server evacuation messages now include the evacuation reason (#53980)
Co-authored-by: Bobbahbrown <bobbahbrown@ gmail.com>
* Cross server evacuation messages now include the evacuation reason
Co-authored-by: Hulkamania <39933245+JetBrody@users.noreply.github.com>
Co-authored-by: Bobbahbrown <bobbahbrown@ gmail.com>
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
About The Pull Request
Extools maptick stuff is in the game. Stolen from BeeStation/BeeStation-Hornet#1119, improves performance. Requires ex-tools on the server, though.
Explosions have been refactored to do the actual exploding in a subsystem.
Credit to goon.
Here's some videos!
Why It's Good For The Game
Basically instant max-caps now.
We can now give more of a tick over to the sending of map updates
Changelog
cl Goonstation Coders, Beestation, Extools devs
refactor: Explosions have been heavily optimized.
/cl
* how about yee(naw)
* Fixes an issue with order in preferences.dm and adds a null check in ticker.dm
* updates the savefile max ver and adds a condition for it in update_preferences
* Puts the call sound(round_end_sound) outside of the loop into a variable that we insert the reference into the loop.
Adds the Families gamemode to the codebase. In this 1 hour showdown,
multiple criminal families are placed onto the station with their goal
to rack up the most points by the end of 1 hour. At which point, the
Space Cops hit up the station to crack down on the family activity. The
severity of the Space Cops is based on how much carnage and murder the
families have committed.
## Why It's Good For The Game
With an actual official medium/heavy RP server, and the codebase taking
a much harder swing towards heavier consequences for death, a more
player focused gamemode with a unique swing on teamwork, the concept of
what exactly is an antagonist, and trust/paranoia will do wonders to
help improve that atmosphere.
Previous tests went extremely well(when administrators weren't
intentionally sabotaging it by welderbombing families as the Head of
Security every single round immediately with no escalation), but
suffered from "this just isn't a gamemode for no RP servers like /tg/".
However, /tg/ is now an RP server.
Get ready to rep your family.
## Isn't this just Gang?
Heck no. Only thing similar is tagging turf and the fact criminal
groups are involved. This mode is completely different otherwise.
## Heck yeah, where do I sign up?
Ask a family member where their Signup Point is, and then simply click
on it with an open hand. You'll be signed up for the family instantly,
and given some sick threads and a spraycan for tagging.
## How do I rep my family?
Wear your gang's uniform or colors similar.
## What does it mean to roll with a crew?
Travel in a group of four or more for bonus points towards your gang.
However, you receive less for having eight or more, so be careful. Try
to spread your crews out!
## I'm an X, what do?
Gangster: Yeah, go do whatever. Wanna backstab your gang? Go for it.
You can switch sides at any time by clicking on an enemy gang's sign up
point. Wanna murder some snitch because they ratted you out to the
pigs? Do it. Wanna pressure the locals into supplying you with goods to
export? Emergent gameplay.
Civilians: Wanna join a gang? Go for it. Gangsters probably shouldn't
be arbitrarily murdering you, but if you're repping someone else's
colors, don't expect to be given a free pass. After all, uniforms are
the only way to really identify a gang member.
SPACE COP: Get rid of all the gangsters. Secure the station. Protect
the law. Uphold the law. Eat donuts.
## No huds? How can I tell if someone's part of my group?
Tough shit, man. I hope you like trust.
In short, this gamemode will be a fun exercise in how far the
playerbase can go in regards to trusting eachother and unifying to meet
a common goal for their group with no rules, gameplay mechanics, or
anything actively forcing them to work together.
## How do I know if someone is a gangster?
1. Are they wearing a gang uniform/color?
If yes, they're probably a gangster.
If no, they're probably a civvie.
2. Are they attacking gangsters?
If yes, they're probably a gangster.
If no, they're probably a civvie.
* fuck you whoever made the last icon it was garbage
* ticket log fixes
* ticket log fixes
* changes colors from hardcode per line to a define
* some nicer darkmode colors
* asay and ooc name default fixes
* fuck you appveyer build again
* slight brightening of the default font color
* properly fixes tip of the round being hard to read
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)
* Removes a random linechange
* Undo unintentional changes
* Changes some forced font tags to use spans, which won't break darkmode.
* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)
* Darkmode sucks less now
* Darkmode button now works again
* Adds a new RoundEnd Sound.
🆑 ArcaneMusic
rscadd: Added a new, shoutier RoundEnd Sound.
/🆑
Sometimes after a nice, long round you just want to scream.Let me know how it balances with the game audio mixing in case it's too loud/quiet.
* Using the Reverb sound
Audio file updated.
For planned change to how TGS initializes server instances ahead of time so rounds aren't tracked as being far longer than they really would be. Similarly end time split for a more accurate round duration.
This is primarily a compatibility layer that enables both forward and backward compatibility for all past and future APIs based on the detected running TGS version. It also bundles all it's includes to make future upgrades not have to modify the dme, heck, could even use a submodule if it wanted (not happening). No other changes necessary.
There's an upcoming event system and new chat management functions. Check them out here: 303448457e/DMAPI/tgs.dm
Also added /datum/proc/CanProcCall()
* updates sqladmins with excluded flags and tempminning
* rank, editing and permission protections; json backup
* fixes
* reverted the wrong file
* fix slidecolor cascading and disabled switches not being sent in form
* removes debug uncommenting
* whoops this too
* commas fix + versions for changelog entry headers since 3.0
* actually account for can_edit_flags and use of @ with - or *
* fixes and rearrangement of admin > localhost > autoadmin precedence
* in case you want to not have autologin autoadmins