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.
* Build SpacemanDMM from source
* oops
* Fix new unreachables/dumb code
* ooops cache conflict
* bugfix
* oops
* lint
* ninjanomnom held me down and forced me to delete this
About The Pull Request
For an item to be two handed just add this handy component.
All existing two handed items have been converted to use this component.
Why It's Good For The Game
It has components and signals, and now you can make items two handed so simply.
/obj/item/shockpaddles/ComponentInitialize()
. = ..()
AddComponent(/datum/component/two_handed)
Sends the discord id to the patch call, not the ckey
Add the verify command to readd the role to the api, with
a hacky, but effective slowdown to prevent the API being flooded easily
Restores canvases showing up their content on the map.
This only gets updated on finalizing/naming the painting.
Adds persistent paintings, set persistence_id on sign/painting on your map to use it.
Bumps rustg up to 4.3
About The Pull Request
When a user successfully links their BYOND accounts and discord accounts, they will now be automatically roled, based on config settings.
NOTE: This does not update pre-linked accounts, but I can write an external bot to do that if needed
RUST-G has also been updated in this PR, to be inline with this PR over at RUST-G tgstation/rust-g#23
Why It's Good For The Game
People with linked accounts can now be given a specific role in the discord, which is good for verification.
Changelog
🆑 AffectedArc07
add: Linking your discord and BYOND accounts will now give you a role in the discord
/🆑
AddComponent/AddElement now support named arguments. This requires passing around an argument list instead of using actual proc args which a bit gross but we can blame byond for forcing this.
InheritComponent uses mirrored init arguments instead of an argument list which means no more accessing it via index to get to the same arguments as in init.
As a small bonus I restructured dcs defines to be a bit more manageable. Mainly just splits them into separate files and gives them their own folder.
* Makes abductor baton child of stun baton
- Clarify var names and reorder vars in baton defines
- Slightly simplify active baton wash code
* forget about ()
Trying this again. When *spin-ing as a cyborg, the way mobs are thrown off you depends on your intent. On help intent, they will be thrown a shorter distance from you and will never be damaged or stunned (they will still be knocked down). On harm intent, they will be thrown the current distance and will be damaged and stunned if they hit a wall or another person.
WHAT THIS ACTUALLY CHANGES:
Currently, whether or not *spin-ing will actually hurt/stun someone depends on whether or not the *spin-ing borg is emagged. This PR also reduces the range of the help intent throw, but since the knockdown happens whether or not the thrown mob hits something this is in most circumstances a cosmetic change. So, in summary, if you are a non-emagged borg in help intent the only thing this changes is you will chuck people a slightly shorter distance.
Why It's Good For The Game
This isn't exactly the most important change, but a borg should be able to control their behavior. Having damage/stun from throwing determined solely by emag-ness seems more like a hacky kludge than a legitimate design choice. Also, having the behavior of borg-throwing determined in the code for carbons is messy.
Changelog
🆑
add: The behavior of cyborg's *spin emote now changes with intent; on harm intent, it will throw its passenger farther and damage and stun them if they hit a wall or another person.
/🆑
* Adds a function to grant research points for slime cores
* I meant to change it to 1k points before pushing
* changes slimes so they give different points based on what tier they're on
* A few fixes and more efficient code
* Adds sanity checks, used extracts can't be cashed in
* Refactored code
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
Makes use of the do while(FALSE) trick to give it its own context and makes it possible for the inserted value to be different from the compared value so #48747 can use it.
About The Pull Request
Discovered via paramedics missing their start landmarks, jobs without landmarks would spawn on the last landmark to be loaded in the map. This appears to not have been intended, and they now spawn on the arrivals shuttle if available. If that fails they spawn in the error room.
I am touching job distribution code so I'd like this to be testmerged for a bit before getting merged.
Why It's Good For The Game
This is a bug in an error condition, so it will only show up if there are map bugs, which is why we haven't uncovered it for so long.
Changelog
🆑 JJRcop
fix: Jobs missing spawns will spawn on the arrivals shuttle.
/🆑
* Log fetch and write costs in SSprofiler.
* Update profiler.dm
* Update profiler.dm
* Add performance enhancements
This should ensure it doesn't lag the server too much.
* Minor text changes
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* DB ticket procs
* Schema changes for DB tickets
* Schema version update
* Fixes requested by Jordie
* SQL updates
Adds a recipient column
* Still one dangling issue where this DOESN'T WORK
* Alright, this should work
* Requested SQL fixes
* Rogue changes
* less bad defaults
* utf8 for the utf8 gods
* aaaaaa
* Update tgstation_schema_prefixed.sql
* Update tgstation_schema.sql
* Update database_changelog.txt
Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>