diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 86bb9c521f..09f9d81de5 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -255,11 +255,11 @@ antag_flag = ROLE_FAMILY_HEAD_ASPIRANT antag_flag_override = ROLE_FAMILIES protected_roles = list("Prisoner", "Head of Personnel") - restricted_roles = list("Cyborg", "AI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Research Director") + restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director") required_candidates = 9 - weight = 2 - cost = 19 - requirements = list(101,101,40,40,30,20,10,10,10,10) + weight = 3 + cost = 15 + requirements = list(101,101,101,50,30,20,10,10,10,10) flags = HIGH_IMPACT_RULESET blocking_rules = list(/datum/dynamic_ruleset/roundstart/families) /// A reference to the handler that is used to run pre_execute(), execute(), etc.. diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index ff6c217467..2ca63f1e3a 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -497,11 +497,11 @@ antag_datum = /datum/antagonist/gang antag_flag = ROLE_FAMILIES protected_roles = list("Prisoner", "Head of Personnel") - restricted_roles = list("Cyborg", "AI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Research Director") + restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director") required_candidates = 9 - weight = 1 - cost = 19 - requirements = list(101,101,40,40,30,20,10,10,10,10) + weight = 3 + cost = 15 + requirements = list(101,101,101,50,30,20,10,10,10,10) flags = HIGH_IMPACT_RULESET /// A reference to the handler that is used to run pre_execute(), execute(), etc.. var/datum/gang_handler/handler diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index ca1abe7b1f..43a7e561c0 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -174,6 +174,7 @@ name = "Space Police Responder" antag_hud_type = ANTAG_HUD_SPACECOP antag_hud_name = "hud_spacecop" + suicide_cry = "FOR THE SPACE POLICE!!" /datum/antagonist/ert/families/apply_innate_effects(mob/living/mob_override) ..() @@ -198,16 +199,23 @@ ..() /datum/antagonist/ert/families/greet() - to_chat(owner, "You are the [name].") - - var/missiondesc = "After an uptick in gang violence on [station_name()], you are responding to emergency calls from the station for immediate SSC Police assistance!\n" + var/missiondesc = "You are the [name]." + missiondesc += "
You are NOT a Nanotrasen Employee. You work for the local government." + missiondesc += "
You are NOT a deathsquad. You are here to help innocents escape violence, criminal activity, and other dangerous things." + missiondesc += "
After an uptick in gang violence on [station_name()], you are responding to emergency calls from the station for immediate SSC Police assistance!\n" missiondesc += "
Your Mission:" - missiondesc += "
1. Secure the situation and crack down on any gang activity. You can view gangsters with your sunglasses." - missiondesc += "
2. There is an undercover police officer on station. Secure him, receive his intel, and extract him safely." - missiondesc += "
3. Minimize civilian casualties, but defend yourself and civilians from hostile gangsters." - missiondesc += "
3. If Security is found to be violating the rights of citizens, detain them as per your authority as Spinward Stellar Coalition officers." - missiondesc += "
4. If the situation demands it, evacuate the station. Otherwise, remain on station and keep the peace." + missiondesc += "
1. Serve the public trust." + missiondesc += "
2. Protect the innocent." + missiondesc += "
3. Uphold the law." + missiondesc += "
4. Find the Undercover Cops." + missiondesc += "
5. Detain Nanotrasen Security personnel if they harm any citizen." + missiondesc += "
You can see gangsters using your special sunglasses.
" to_chat(owner,missiondesc) + var/policy = get_policy(ROLE_FAMILIES) + if(policy) + to_chat(owner, policy) + var/mob/living/M = owner.current + M.playsound_local(M, 'sound/effects/families_police.ogg', 100, FALSE, pressure_affected = FALSE) /datum/antagonist/ert/families/undercover_cop name = "Undercover Cop" @@ -221,30 +229,31 @@ random_names = FALSE /datum/antagonist/ert/families/undercover_cop/on_gain() - for(var/C in free_clothes) - var/obj/O = new C(owner.current) - var/list/slots = list ( - "backpack" = ITEM_SLOT_BACKPACK, - "left pocket" = SLOT_L_STORE, - "right pocket" = SLOT_R_STORE - ) - var/mob/living/carbon/human/H = owner.current - var/equipped = H.equip_in_one_of_slots(O, slots) - if(!equipped) - to_chat(owner.current, "Unfortunately, you could not bring your [O] to this shift. You will need to find one.") - qdel(O) + if(istype(owner.current, /mob/living/carbon/human)) + for(var/C in free_clothes) + var/obj/O = new C(owner.current) + var/list/slots = list ( + "backpack" = ITEM_SLOT_BACKPACK, + "left pocket" = SLOT_L_STORE, + "right pocket" = SLOT_R_STORE + ) + var/mob/living/carbon/human/H = owner.current + var/equipped = H.equip_in_one_of_slots(O, slots) + if(!equipped) + to_chat(owner.current, "Unfortunately, you could not bring your [O] to this shift. You will need to find one.") + qdel(O) . = ..() /datum/antagonist/ert/families/undercover_cop/greet() - to_chat(owner, "You are the [name].") - - var/missiondesc = "You are an undercover police officer on board [station_name()]. You've been sent here by the Spinward Stellar Coalition because of suspected abusive behavior by the security department, and to keep tabs on a potential criminal organization operation." + var/missiondesc = "You are the [name]." + missiondesc += "
You are NOT a Nanotrasen Employee. You work for the local government." + missiondesc += "
You are an undercover police officer on board [station_name()]. You've been sent here by the Spinward Stellar Coalition because of suspected abusive behavior by the security department, and to keep tabs on a potential criminal organization operation." missiondesc += "
Your Mission:" missiondesc += "
1. Keep a close eye on any gangsters you spot. You can view gangsters using your sunglasses in your backpack." missiondesc += "
2. Keep an eye on how Security handles any gangsters, and watch for excessive security brutality." missiondesc += "
3. Remain undercover and do not get found out by Security or any gangs. Nanotrasen does not take kindly to being spied on." - missiondesc += "
4. When your backup arrives to extract you in 1 hour, inform them of everything you saw of note, and assist them in securing the situation." + missiondesc += "
4. When your backup arrives to extract you in 1 hour, inform them of everything you saw of note, and assist them in securing the situation.
" to_chat(owner,missiondesc) /datum/antagonist/ert/families/beatcop @@ -275,3 +284,23 @@ /datum/antagonist/ert/families/beatcop/military/New() . = ..() name_source = GLOB.commando_names + +/datum/antagonist/ert/marine + name = "Marine Commander" + outfit = /datum/outfit/ert/commander/alert + role = "Commander" + +/datum/antagonist/ert/marine/security + name = "Marine Heavy" + outfit = /datum/outfit/ert/security/alert + role = "Trooper" + +/datum/antagonist/ert/marine/engineer + name = "Marine Engineer" + outfit = /datum/outfit/ert/engineer/alert + role = "Engineer" + +/datum/antagonist/ert/marine/medic + name = "Marine Medic" + outfit = /datum/outfit/ert/medic/alert + role = "Medical Officer" diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index af8c3eda2c..9df7dea1f1 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -762,8 +762,6 @@ client.prefs.scars_list["[cur_scar_index]"] = valid_scars client.prefs.save_character() - if(mind in GLOB.pre_setup_antags) - var/is_antag = TRUE client.prefs.copy_to(H, initial_spawn = TRUE) H.dna.update_dna_identity() diff --git a/config/dynamic.json b/config/dynamic.json index bed7b4b387..b229658e3a 100644 --- a/config/dynamic.json +++ b/config/dynamic.json @@ -65,6 +65,10 @@ "Clock Cult": { "weight": 3 + }, + + "Families": { + "weight": 3 } }, @@ -117,6 +121,10 @@ "weight": 4 }, + "Family Head Aspirants": { + "weight": 3 + }, + "Spiders": { "weight": 0 }