Added syndicate officer as a job proper

This commit is contained in:
datlo
2018-12-07 11:07:49 +00:00
parent 2a7b6d7a49
commit 19e5271249
17 changed files with 93 additions and 63 deletions
+1 -1
View File
@@ -715,7 +715,7 @@
"nM" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"nN" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id_tag = "ASSAULT0"; name = "gravpult"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"nO" = (/obj/item/radio/intercom/specops{pixel_y = -28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"nP" = (/obj/structure/chair/comfy/red{icon_state = "comfychair"; dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"nP" = (/obj/structure/chair/comfy/red{icon_state = "comfychair"; dir = 1},/obj/effect/landmark{name = "Syndicate Officer"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"nQ" = (/obj/machinery/door/poddoor{id_tag = "GRAVPULTS"; name = "Gravity Catapults"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"nR" = (/obj/machinery/door/poddoor{id_tag = "GRAVPULTS"; name = "Gravity Catapults"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
"nS" = (/obj/machinery/computer/camera_advanced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+1
View File
@@ -41,6 +41,7 @@ var/list/blobstart = list()
var/list/ninjastart = list()
var/list/carplist = list() //list of all carp-spawn landmarks
var/list/avatarspawn = list()
var/list/syndicateofficer = list()
//away missions
var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to
+1 -36
View File
@@ -63,7 +63,7 @@
var/obj/item/radio/R = H.l_ear
if(istype(R))
R.set_frequency(SYND_FREQ)
H.faction += "syndicate"
/datum/outfit/admin/syndicate_infiltrator
name = "Syndicate Infiltrator"
@@ -120,41 +120,6 @@
return H.equip_syndicate_commando()
/datum/outfit/admin/syndicate/officer
name = "Syndicate Officer"
head = /obj/item/clothing/head/beret
mask = /obj/item/clothing/mask/cigarette/cigar/havana
belt = /obj/item/gun/projectile/automatic/pistol/deagle/camo
l_ear = /obj/item/radio/headset/syndicate/alt
l_pocket = /obj/item/pinpointer/advpinpointer
r_pocket = null // stop them getting a radio uplink, they get an implant instead
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/flashlight = 1,
/obj/item/reagent_containers/food/pill/initropidril = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/ammo_box/magazine/m50 = 2,
/obj/item/clothing/shoes/magboots/syndie/advance = 1,
/obj/item/lighter/zippo/gonzofist = 1
)
implants = list(
/obj/item/implant/dust
)
id_icon = "commander"
id_access = "Syndicate Operative Leader"
/datum/outfit/admin/syndicate/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(H)
U.implant(H)
U.hidden_uplink.uses = 500
/datum/outfit/admin/syndicate/spy
name = "Syndicate Spy"
uniform = /obj/item/clothing/under/suit_jacket/really_black
+1 -1
View File
@@ -11,7 +11,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
name = "changeling"
config_tag = "changeling"
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
protected_species = list("Machine")
required_players = 15
required_enemies = 1
+1 -1
View File
@@ -39,7 +39,7 @@ var/global/list/all_cults = list()
/datum/game_mode/cult
name = "cult"
config_tag = "cult"
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer")
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
protected_jobs = list()
required_players = 30
required_enemies = 3
+1 -1
View File
@@ -73,7 +73,7 @@ Made by Xhuis
required_enemies = 2
recommended_enemies = 2
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
/datum/game_mode/shadowling/announce()
to_chat(world, "<b>The current game mode is - Shadowling!</b>")
+1 -1
View File
@@ -11,7 +11,7 @@
name = "traitor"
config_tag = "traitor"
restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Internal Affairs Agent", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Internal Affairs Agent", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
required_players = 0
required_enemies = 1
recommended_enemies = 4
+1 -1
View File
@@ -9,7 +9,7 @@
name = "vampire"
config_tag = "vampire"
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
protected_species = list("Machine")
required_players = 15
required_enemies = 1
+6 -1
View File
@@ -96,6 +96,7 @@
/var/const/access_syndicate = 150//General Syndicate Access
/var/const/access_syndicate_leader = 151//Nuke Op Leader Access
/var/const/access_vox = 152//Vox Access
/var/const/access_syndicate_command = 153//Admin syndi officer
//Trade Stations
var/const/access_trade_sol = 160
@@ -234,6 +235,8 @@ var/const/access_trade_sol = 160
return list(access_vox)
if("Syndicate Commando")
return list(access_syndicate, access_syndicate_leader)
if("Syndicate Officer")
return list(access_syndicate, access_syndicate_leader, access_syndicate_command)
/proc/get_all_accesses()
return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court,
@@ -253,7 +256,7 @@ var/const/access_trade_sol = 160
return list(access_cent_general, access_cent_living, access_cent_medical, access_cent_security, access_cent_storage, access_cent_shuttles, access_cent_telecomms, access_cent_teleporter, access_cent_specops, access_cent_specops_commander, access_cent_blackops, access_cent_thunder, access_cent_bridge, access_cent_commander)
/proc/get_all_syndicate_access()
return list(access_syndicate, access_syndicate_leader, access_vox)
return list(access_syndicate, access_syndicate_leader, access_vox, access_syndicate_command)
/proc/get_all_misc_access()
return list(access_salvage_captain, access_trade_sol, access_crate_cash, access_away01)
@@ -496,6 +499,8 @@ var/const/access_trade_sol = 160
return "Syndicate Operative Leader"
if(access_vox)
return "Vox"
if(access_syndicate_command)
return "Syndicate Command"
/proc/get_all_jobs()
var/list/all_jobs = list()
+1
View File
@@ -56,6 +56,7 @@
var/admin_only = 0
var/spawn_ert = 0
var/syndicate_command = 0
var/outfit = null
+59
View File
@@ -0,0 +1,59 @@
/datum/job/syndicateofficer
title = "Syndicate Officer"
flag = SYNDICATE
department_flag = SYNDICATE
total_positions = 5
spawn_positions = 5
supervisors = "the admins"
selection_color = "#ff0000"
access = list()
minimal_access = list()
admin_only = 1
syndicate_command = 1
outfit = /datum/outfit/job/syndicateofficer
/datum/job/syndicateofficer/get_access()
return get_syndicate_access(title)
/datum/outfit/job/syndicateofficer
name = "Syndicate Officer"
jobtype = /datum/job/syndicateofficer
uniform = /obj/item/clothing/under/syndicate
back = /obj/item/storage/backpack
head = /obj/item/clothing/head/beret
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
mask = /obj/item/clothing/mask/cigarette/cigar/havana
belt = /obj/item/gun/projectile/automatic/pistol/deagle/camo
l_ear = /obj/item/radio/headset/syndicate/alt/syndteam
l_pocket = /obj/item/pinpointer/advpinpointer
id = /obj/item/card/id/syndicate/command
box = /obj/item/storage/box/engineer
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/flashlight = 1,
/obj/item/reagent_containers/food/pill/initropidril = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/ammo_box/magazine/m50 = 2,
/obj/item/clothing/shoes/magboots/syndie/advance = 1,
/obj/item/lighter/zippo/gonzofist = 1,
/obj/item/storage/box/matches = 1
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/job/syndicateofficer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(H)
U.implant(H)
U.hidden_uplink.uses = 500
H.faction += "syndicate"
var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS]
opshud.join_hud(H.mind.current)
set_antag_hud(H.mind.current, "hudoperative")
H.regenerate_icons()
+1
View File
@@ -12,6 +12,7 @@ var/const/ATMOSTECH =(1<<7)
var/const/AI =(1<<8)
var/const/CYBORG =(1<<9)
var/const/CENTCOM =(1<<10)
var/const/SYNDICATE =(1<<11)
var/const/MEDSCI =(1<<1)
+4
View File
@@ -88,6 +88,10 @@
emergencyresponseteamspawn += loc
qdel(src)
if("Syndicate Officer")
syndicateofficer += loc
qdel(src)
GLOB.landmarks_list += src
return 1
@@ -319,6 +319,10 @@
name = "agent card"
initial_access = list(access_maint_tunnels, access_vox, access_external_airlocks)
/obj/item/card/id/syndicate/command
initial_access = list(access_maint_tunnels, access_syndicate, access_syndicate_leader, access_syndicate_command, access_external_airlocks)
icon_state = "commander"
/obj/item/card/id/syndicate/afterattack(var/obj/item/O as obj, mob/user as mob, proximity)
if(!proximity)
return
@@ -35,9 +35,6 @@ var/global/sent_syndicate_infiltration_team = 0
var/tctext = input(src, "How much TC do you want to give each team member? Suggested: 20-30. They cannot trade TC.") as num
var/tcamount = text2num(tctext)
tcamount = between(0, tcamount, 1000)
var/spawn_sit_mgmt = 0
if(alert("Spawn a syndicate mob for you, so you can brief them before they go?",,"Yes","No")=="Yes")
spawn_sit_mgmt = 1
if(sent_syndicate_infiltration_team == 1)
if(alert("A Syndicate Infiltration Team has already been sent. Sure you want to send another?",,"Yes","No")=="No")
return
@@ -114,23 +111,6 @@ var/global/sent_syndicate_infiltration_team = 0
num_spawned++
if(!teamsize)
break
if(spawn_sit_mgmt)
for(var/obj/effect/landmark/L in sit_spawns_mgmt)
var/mob/living/carbon/human/syndimgmtmob = create_syndicate_infiltrator(L, 1, 100, 1)
syndimgmtmob.key = key
syndimgmtmob.internal = syndimgmtmob.s_store
syndimgmtmob.update_action_buttons_icon()
syndimgmtmob.faction += "syndicate"
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses)
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/suit/space/hardsuit/syndi/elite, slot_wear_suit)
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite, slot_head)
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate, slot_wear_mask)
var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS]
opshud.join_hud(syndimgmtmob.mind.current)
set_antag_hud(syndimgmtmob.mind.current, "hudoperative")
syndimgmtmob.mind.special_role = "Syndicate Management Consultant"
syndimgmtmob.regenerate_icons()
to_chat(syndimgmtmob, "<span class='userdanger'>You have spawned as Syndicate Management. You should brief them on their mission before they go.</span>")
message_admins("[key_name_admin(src)] has spawned a Syndicate Infiltration Team.", 1)
log_admin("[key_name(src)] used Spawn Syndicate Infiltration Team.")
feedback_add_details("admin_verb","SPAWNSIT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -295,6 +295,13 @@
else
return 0
/mob/new_player/proc/IsSyndicateCommand(rank)
var/datum/job/job = job_master.GetJob(rank)
if(job.syndicate_command)
return 1
else
return 0
/mob/new_player/proc/AttemptLateSpawn(rank,var/spawning_at)
if(src != usr)
return 0
@@ -336,6 +343,8 @@
if(IsAdminJob(rank))
if(IsERTSpawnJob(rank))
character.loc = pick(ertdirector)
else if(IsSyndicateCommand(rank))
character.loc = pick(syndicateofficer)
else
character.loc = pick(aroomwarp)
join_message = "has arrived"
+1
View File
@@ -561,6 +561,7 @@
#include "code\game\jobs\job\supervisor.dm"
#include "code\game\jobs\job\support.dm"
#include "code\game\jobs\job\support_chaplain.dm"
#include "code\game\jobs\job\syndicate.dm"
#include "code\game\jobs\job_objectives\science.dm"
#include "code\game\machinery\adv_med.dm"
#include "code\game\machinery\ai_slipper.dm"