diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 956e6be2557..29fb3e33336 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -20,7 +20,7 @@ var/global/list/mechas_list = list() //list of all mechs. Used by hostile mob //Languages/species/whitelist. var/global/list/all_species[0] var/global/list/all_languages[0] -var/global/list/whitelisted_species = list("Human") +var/global/list/whitelisted_species = list() //Preferences stuff //Hairstyles diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index a6da766b4e7..aeb313eed02 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -70,7 +70,6 @@ /datum/game_mode/traitor/autotraitor/post_setup() ..() - abandon_allowed = 1 traitorcheckloop() /datum/game_mode/traitor/autotraitor/proc/traitorcheckloop() diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 53a7fff417a..a3309ccac8b 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -108,7 +108,7 @@ access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway) minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, - access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, + access_medical, access_engine, access_ai_upload, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, @@ -130,4 +130,45 @@ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) L.imp_in = H L.implanted = 1 + return 1 + +/datum/job/blueshield + title = "Blueshield" + flag = BLUESHIELD + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "Whichever head your protect, and ultimately the Captain" + selection_color = "#ccccff" + idtype = /obj/item/weapon/card/id/centcom + req_admin_notify = 1 + minimal_player_age = 10 + access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, + access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, + access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, + access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, + access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, + access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway) + minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, + access_medical, access_engine, access_ai_upload, access_eva, access_heads, + access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, + access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, + access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, + access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway) + + equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_ears) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) + H.equip_if_possible(new /obj/item/clothing/under/rank/centcom/representative(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt) + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + L.imp_in = H + L.implanted = 1 return 1 \ No newline at end of file diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 87679abda17..744ae823422 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -44,6 +44,7 @@ var/const/CLOWN =(1<<11) var/const/MIME =(1<<12) var/const/ASSISTANT =(1<<13) var/const/NANO =(1<<14) +var/const/BLUESHIELD =(1<<15) var/list/assistant_occupations = list( @@ -120,9 +121,12 @@ var/list/nonhuman_positions = list( "pAI" ) +var/list/whitelisted_positions = list( + "Blueshield", +) /proc/guest_jobbans(var/job) - return ((job in command_positions) || (job in nonhuman_positions) || (job in security_positions)) + return (job in whitelisted_positions) /proc/get_job_datums() var/list/occupations = list() diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 1eb61cd4a92..3779a6e9fec 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -16,14 +16,14 @@ var/jobban_keylist[0] //to store the keys & ranks //returns a reason if M is banned from rank, returns 0 otherwise /proc/jobban_isbanned(mob/M, rank) if(M && rank) - /* - if(_jobban_isbanned(M, rank)) return "Reason Unspecified" //for old jobban + + //if(_jobban_isbanned(M, rank)) return "Reason Unspecified" //for old jobban if (guest_jobbans(rank)) - if(config.guest_jobban && IsGuestKey(M.key)) - return "Guest Job-ban" + // if(config.guest_jobban && IsGuestKey(M.key)) + // return "Guest Job-ban" if(config.usewhitelist && !check_whitelist(M)) - return "Whitelisted Job" - */ + return "Karma Job" + for (var/s in jobban_keylist) if( findtext(s,"[M.ckey] - [rank]") == 1 ) var/startpos = findtext(s, "## ")+3 diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6606542bfad..e755856f20a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -837,19 +837,19 @@ datum/preferences age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("species") - var/list/new_species = list("Human") + var/list/new_species = list("Human","Tajaran","Skrell","Unathi","Diona") var/prev_species = species - var/whitelisted = 0 +// var/whitelisted = 0 if(config.usealienwhitelist) //If we're using the whitelist, make sure to check it! for(var/S in whitelisted_species) if(is_alien_whitelisted(user,S)) new_species += S - whitelisted = 1 - if(!whitelisted) - alert(user, "You cannot change your species as you need to be whitelisted. If you wish to be whitelisted contact an admin in-game, on the forums, or on IRC.") +// whitelisted = 1 +// if(!whitelisted) +// alert(user, "You cannot change your species as you need to be whitelisted. If you wish to be whitelisted contact an admin in-game, on the forums, or on IRC.") else //Not using the whitelist? Aliens for everyone! - new_species = whitelisted_species + new_species += whitelisted_species species = input("Please select a species", "Character Generation", null) in new_species diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index 04f94a95b47..ae82ba10a81 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -123,7 +123,7 @@ flags = NO_BREATHE | REQUIRE_LIGHT | NON_GENDERED | NO_SCAN | IS_PLANT | RAD_ABSORB -/* + /datum/species/skellington // /vg/ name = "Skellington" icobase = 'icons/mob/human_races/r_skeleton.dmi' @@ -131,5 +131,15 @@ language = "Clatter" attack_verb = "punch" - flags = HAS_LIPS | HAS_TAIL | NO_EAT | NO_BREATHE | NON_GENDERED -*/ \ No newline at end of file + flags = WHITELISTED | HAS_LIPS | HAS_TAIL | NO_EAT | NO_BREATHE | NON_GENDERED + + + +/datum/species/kidan + name = "Kidan" + icobase = 'icons/mob/human_races/r_kidan.dmi' + deform = 'icons/mob/human_races/r_def_kidan.dmi' + language = "Chittin" + attack_verb = "slash" + + flags = WHITELISTED \ No newline at end of file diff --git a/icons/mob/human_races/r_def_kidan.dmi b/icons/mob/human_races/r_def_kidan.dmi new file mode 100644 index 00000000000..0d7b050b7ce Binary files /dev/null and b/icons/mob/human_races/r_def_kidan.dmi differ diff --git a/icons/mob/human_races/r_kidan.dmi b/icons/mob/human_races/r_kidan.dmi new file mode 100644 index 00000000000..c8be5e21ed1 Binary files /dev/null and b/icons/mob/human_races/r_kidan.dmi differ