The Families Gamemode. Home. At least it was 'til I fucked everything up. (#49274)

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.
This commit is contained in:
Iamgoofball
2020-03-08 18:33:54 -07:00
committed by GitHub
parent 73db0b203e
commit 3203f19290
50 changed files with 1330 additions and 31 deletions

View File

@@ -57,8 +57,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
var/obj/screen/healths
var/obj/screen/healthdoll
var/obj/screen/internals
var/obj/screen/wanted_lvl
var/obj/screen/spacesuit
// subtypes can override this to force a specific UI style
var/ui_style
@@ -81,6 +81,13 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
plane_masters["[instance.plane]"] = instance
instance.backdrop(mymob)
wanted_lvl = new /obj/screen()
wanted_lvl.icon = 'icons/obj/gang/wanted_160x32.dmi'
wanted_lvl.icon_state = "wanted_0"
wanted_lvl.screen_loc = ui_wanted_lvl
infodisplay += wanted_lvl
/datum/hud/Destroy()
if(mymob.hud_used == src)
mymob.hud_used = null
@@ -101,6 +108,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
healths = null
healthdoll = null
wanted_lvl = null
internals = null
spacesuit = null
lingchemdisplay = null