diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index 70456bee77..d7fd20ac77 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -63,12 +63,12 @@ proc/random_facial_hair_style(gender, species = "Human") return f_style -proc/sanitize_name(name, species = "Human") +proc/sanitize_name(name, species = "Human", robot = 0) var/datum/species/current_species if(species) current_species = all_species[species] - return current_species ? current_species.sanitize_name(name) : sanitizeName(name) + return current_species ? current_species.sanitize_name(name, robot) : sanitizeName(name, MAX_NAME_LEN, robot) proc/random_name(gender, species = "Human") diff --git a/code/_helpers/text.dm b/code/_helpers/text.dm index 68cb5276fa..bd175e4fcc 100644 --- a/code/_helpers/text.dm +++ b/code/_helpers/text.dm @@ -85,7 +85,7 @@ // 0 .. 9 if(48 to 57) //Numbers if(!last_char_group) continue //suppress at start of string - if(!allow_numbers) continue + if(!allow_numbers) continue // If allow_numbers is 0, then don't do this. output += ascii2text(ascii_char) number_of_alphanumeric++ last_char_group = 3 diff --git a/code/datums/supplypacks/costumes.dm b/code/datums/supplypacks/costumes.dm index 321c0fde0e..480913d858 100644 --- a/code/datums/supplypacks/costumes.dm +++ b/code/datums/supplypacks/costumes.dm @@ -78,7 +78,7 @@ /obj/item/clothing/under/scratch, /obj/item/clothing/under/wedding/bride_white, /obj/item/clothing/suit/chef, - /obj/item/clothing/suit/apron/overalls, + /obj/item/clothing/suit/storage/apron/overalls, /obj/item/clothing/under/redcoat, /obj/item/clothing/under/kilt ) diff --git a/code/datums/supplypacks/hydroponics.dm b/code/datums/supplypacks/hydroponics.dm index a962986587..6b737bfc57 100644 --- a/code/datums/supplypacks/hydroponics.dm +++ b/code/datums/supplypacks/hydroponics.dm @@ -51,7 +51,7 @@ /obj/item/weapon/material/minihoe, /obj/item/device/analyzer/plant_analyzer, /obj/item/clothing/gloves/botanic_leather, - /obj/item/clothing/suit/apron, + /obj/item/clothing/suit/storage/apron, /obj/item/weapon/material/minihoe, /obj/item/weapon/storage/box/botanydisk ) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 5ecc707227..12a05e6d3a 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -290,19 +290,21 @@ /obj/item/weapon/module icon = 'icons/obj/module.dmi' icon_state = "std_module" + item_state = "std_mod" w_class = ITEMSIZE_SMALL - item_state = "electronic" flags = CONDUCT var/mtype = 1 // 1=electronic 2=hardware /obj/item/weapon/module/card_reader name = "card reader module" icon_state = "card_mod" + item_state = "std_mod" desc = "An electronic module for reading data and ID cards." /obj/item/weapon/module/power_control name = "power control module" icon_state = "power_mod" + item_state = "std_mod" desc = "Heavy-duty switching circuits for power control." matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) @@ -321,11 +323,13 @@ /obj/item/weapon/module/cell_power name = "power cell regulator module" icon_state = "power_mod" + item_state = "std_mod" desc = "A converter and regulator allowing the use of power cells." /obj/item/weapon/module/cell_power name = "power cell charger module" icon_state = "power_mod" + item_state = "std_mod" desc = "Charging circuits for power cells." diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 63be38ba7d..0784a1a9fc 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -23,41 +23,41 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) ideal_character_age = 70 // Old geezer captains ftw - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/cap(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/com(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/captain(H), slot_w_uniform) - if(H.age>49) - // Since we can have something other than the default uniform at this - // point, check if we can actually attach the medal - var/obj/item/clothing/uniform = H.w_uniform - var/obj/item/clothing/accessory/medal/gold/captain/medal = new() +/datum/job/captain/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/cap(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/com(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/captain(H), slot_w_uniform) + if(H.age>49) + // Since we can have something other than the default uniform at this + // point, check if we can actually attach the medal + var/obj/item/clothing/uniform = H.w_uniform + var/obj/item/clothing/accessory/medal/gold/captain/medal = new() - if(uniform && uniform.can_attach_accessory(medal)) - uniform.attach_accessory(null, medal) - else - qdel(medal) - H.equip_to_slot_or_del(new /obj/item/device/pda/captain(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) + if(uniform && uniform.can_attach_accessory(medal)) + uniform.attach_accessory(null, medal) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack) + qdel(medal) + H.equip_to_slot_or_del(new /obj/item/device/pda/captain(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack) - H.implant_loyalty() + H.implant_loyalty() - return 1 + return 1 - get_access() - return get_all_station_access() +/datum/job/captain/get_access() + return get_all_station_access() @@ -95,22 +95,24 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) 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_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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/clothing/under/rank/head_of_personnel(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack) - H.implant_loyalty() - return 1 +/datum/job/hop/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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/clothing/under/rank/head_of_personnel(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack) + H.implant_loyalty() + return 1 + + /datum/job/secretary title = "Command Secretary" @@ -131,7 +133,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) access = list(access_heads) minimal_access = list(access_heads) -/datum/job/secretary/equip(var/mob/living/carbon/human/H) +/datum/job/secretary/equip(var/mob/living/carbon/human/H, var/alt_title) if(!H) return 0 H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_com(H), slot_l_ear) switch(H.backbag) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 02a79c25e4..3a57b35f0a 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -15,18 +15,18 @@ alt_titles = list("Barista") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) - return 1 +/datum/job/bartender/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) + return 1 @@ -46,15 +46,15 @@ alt_titles = list("Cook") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt) - return 1 +/datum/job/chef/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt) + return 1 @@ -74,21 +74,21 @@ alt_titles = list("Hydroponicist") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store) - H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/hydroponics(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/hyd(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/hyd(H), slot_back) - return 1 +/datum/job/hydro/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store) + H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/hydroponics(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/hyd(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/hyd(H), slot_back) + return 1 @@ -112,16 +112,16 @@ ideal_character_age = 40 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/quartermaster(H), slot_belt) -// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) - return 1 +/datum/job/qm/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/quartermaster(H), slot_belt) +// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) + H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) + return 1 @@ -139,14 +139,14 @@ access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt) -// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - return 1 +/datum/job/cargo_tech/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt) +// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + return 1 @@ -166,27 +166,27 @@ minimal_access = list(access_mining, access_mining_station, access_mailsorting) alt_titles = list("Drill Technician","Prospector") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo (H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/pda/shaftminer(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) -// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store) - else - H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack) - return 1 +/datum/job/mining/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo (H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/shaftminer(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) +// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store) + else + H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack) + return 1 - equip_survival(var/mob/living/carbon/human/H) +/datum/job/mining/equip_survival(var/mob/living/carbon/human/H) if(!H) return 0 H.species.equip_survival_gear(H,1) return 1 @@ -207,13 +207,13 @@ alt_titles = list("Custodian", "Sanitation Technician") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt) - return 1 +/datum/job/janitor/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt) + return 1 @@ -234,13 +234,13 @@ alt_titles = list("Journalist", "Professor", "Historian", "Writer") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/red(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_l_hand) - return 1 +/datum/job/librarian/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/red(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_l_hand) + return 1 @@ -261,22 +261,22 @@ minimal_access = list(access_lawyer, access_sec_doors, access_heads) - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/ia(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/internalaffairs(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand) +/datum/job/lawyer/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/ia(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/internalaffairs(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses) + H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand) - H.implant_loyalty() + H.implant_loyalty() - return 1 + return 1 diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 26065fe1e9..2533bb7204 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -15,146 +15,146 @@ alt_titles = list("Counselor") - equip(var/mob/living/carbon/human/H, var/alt_title, var/ask_questions = TRUE) - if(!H) return 0 +/datum/job/chaplain/equip(var/mob/living/carbon/human/H, var/alt_title, var/ask_questions = TRUE) + if(!H) return 0 - var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(H) //BS12 EDIT - H.equip_to_slot_or_del(B, slot_l_hand) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - if(!ask_questions) - return 1 - - - spawn(0) - var/religion_name = "Christianity" - var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN) - - if (!new_religion) - new_religion = religion_name - - switch(lowertext(new_religion)) - if("christianity") - B.name = pick("The Holy Bible","The Dead Sea Scrolls") - if("satanism") - B.name = "The Unholy Bible" - if("cthulu") - B.name = "The Necronomicon" - if("islam") - B.name = "Quran" - if("scientology") - B.name = pick("The Biography of L. Ron Hubbard","Dianetics") - if("chaos") - B.name = "The Book of Lorgar" - if("imperium") - B.name = "Uplifting Primer" - if("toolboxia") - B.name = "Toolbox Manifesto" - if("homosexuality") - B.name = "Guys Gone Wild" - //if("lol", "wtf", "gay", "penis", "ass", "poo", "badmin", "shitmin", "deadmin", "cock", "cocks") - // B.name = pick("Woodys Got Wood: The Aftermath", "War of the Cocks", "Sweet Bro and Hella Jef: Expanded Edition") - // H.setBrainLoss(100) // starts off retarded as fuck - if("science") - B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition") - else - B.name = "The Holy Book of [new_religion]" - feedback_set_details("religion_name","[new_religion]") - - spawn(1) - var/deity_name = "Space Jesus" - var/new_deity = sanitize(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name), MAX_NAME_LEN) - - if ((length(new_deity) == 0) || (new_deity == "Space Jesus") ) - new_deity = deity_name - B.deity_name = new_deity - - var/accepted = 0 - var/outoftime = 0 - spawn(200) // 20 seconds to choose - outoftime = 1 - var/new_book_style = "Bible" - - while(!accepted) - if(!B) break // prevents possible runtime errors - new_book_style = input(H,"Which bible style would you like?") in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "the bible melts", "Necronomicon") - switch(new_book_style) - if("Koran") - B.icon_state = "koran" - B.item_state = "koran" - for(var/area/chapel/main/A in world) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(4) - if("Scrapbook") - B.icon_state = "scrapbook" - B.item_state = "scrapbook" - if("Creeper") - B.icon_state = "creeper" - B.item_state = "syringe_kit" - if("White Bible") - B.icon_state = "white" - B.item_state = "syringe_kit" - if("Holy Light") - B.icon_state = "holylight" - B.item_state = "syringe_kit" - if("Athiest") - B.icon_state = "athiest" - B.item_state = "syringe_kit" - for(var/area/chapel/main/A in world) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(10) - if("Tome") - B.icon_state = "tome" - B.item_state = "syringe_kit" - if("The King in Yellow") - B.icon_state = "kingyellow" - B.item_state = "kingyellow" - if("Ithaqua") - B.icon_state = "ithaqua" - B.item_state = "ithaqua" - if("Scientology") - B.icon_state = "scientology" - B.item_state = "scientology" - for(var/area/chapel/main/A in world) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(8) - if("the bible melts") - B.icon_state = "melted" - B.item_state = "melted" - if("Necronomicon") - B.icon_state = "necronomicon" - B.item_state = "necronomicon" - else - // if christian bible, revert to default - B.icon_state = "bible" - B.item_state = "bible" - for(var/area/chapel/main/A in world) - for(var/turf/T in A.contents) - if(T.icon_state == "carpetsymbol") - T.set_dir(2) - - H.update_inv_l_hand() // so that it updates the bible's item_state in his hand - - switch(input(H,"Look at your bible - is this what you want?") in list("Yes","No")) - if("Yes") - accepted = 1 - if("No") - if(outoftime) - H << "Welp, out of time, buddy. You're stuck. Next time choose faster." - accepted = 1 - - if(ticker) - ticker.Bible_icon_state = B.icon_state - ticker.Bible_item_state = B.item_state - ticker.Bible_name = B.name - ticker.Bible_deity_name = B.deity_name - feedback_set_details("religion_deity","[new_deity]") - feedback_set_details("religion_book","[new_book_style]") + var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(H) //BS12 EDIT + H.equip_to_slot_or_del(B, slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + if(!ask_questions) return 1 + + spawn(0) + var/religion_name = "Christianity" + var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN) + + if (!new_religion) + new_religion = religion_name + + switch(lowertext(new_religion)) + if("christianity") + B.name = pick("The Holy Bible","The Dead Sea Scrolls") + if("satanism") + B.name = "The Unholy Bible" + if("cthulu") + B.name = "The Necronomicon" + if("islam") + B.name = "Quran" + if("scientology") + B.name = pick("The Biography of L. Ron Hubbard","Dianetics") + if("chaos") + B.name = "The Book of Lorgar" + if("imperium") + B.name = "Uplifting Primer" + if("toolboxia") + B.name = "Toolbox Manifesto" + if("homosexuality") + B.name = "Guys Gone Wild" + //if("lol", "wtf", "gay", "penis", "ass", "poo", "badmin", "shitmin", "deadmin", "cock", "cocks") + // B.name = pick("Woodys Got Wood: The Aftermath", "War of the Cocks", "Sweet Bro and Hella Jef: Expanded Edition") + // H.setBrainLoss(100) // starts off retarded as fuck + if("science") + B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition") + else + B.name = "The Holy Book of [new_religion]" + feedback_set_details("religion_name","[new_religion]") + + spawn(1) + var/deity_name = "Space Jesus" + var/new_deity = sanitize(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name), MAX_NAME_LEN) + + if ((length(new_deity) == 0) || (new_deity == "Space Jesus") ) + new_deity = deity_name + B.deity_name = new_deity + + var/accepted = 0 + var/outoftime = 0 + spawn(200) // 20 seconds to choose + outoftime = 1 + var/new_book_style = "Bible" + + while(!accepted) + if(!B) break // prevents possible runtime errors + new_book_style = input(H,"Which bible style would you like?") in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "the bible melts", "Necronomicon") + switch(new_book_style) + if("Koran") + B.icon_state = "koran" + B.item_state = "koran" + for(var/area/chapel/main/A in world) + for(var/turf/T in A.contents) + if(T.icon_state == "carpetsymbol") + T.set_dir(4) + if("Scrapbook") + B.icon_state = "scrapbook" + B.item_state = "scrapbook" + if("Creeper") + B.icon_state = "creeper" + B.item_state = "syringe_kit" + if("White Bible") + B.icon_state = "white" + B.item_state = "syringe_kit" + if("Holy Light") + B.icon_state = "holylight" + B.item_state = "syringe_kit" + if("Athiest") + B.icon_state = "athiest" + B.item_state = "syringe_kit" + for(var/area/chapel/main/A in world) + for(var/turf/T in A.contents) + if(T.icon_state == "carpetsymbol") + T.set_dir(10) + if("Tome") + B.icon_state = "tome" + B.item_state = "syringe_kit" + if("The King in Yellow") + B.icon_state = "kingyellow" + B.item_state = "kingyellow" + if("Ithaqua") + B.icon_state = "ithaqua" + B.item_state = "ithaqua" + if("Scientology") + B.icon_state = "scientology" + B.item_state = "scientology" + for(var/area/chapel/main/A in world) + for(var/turf/T in A.contents) + if(T.icon_state == "carpetsymbol") + T.set_dir(8) + if("the bible melts") + B.icon_state = "melted" + B.item_state = "melted" + if("Necronomicon") + B.icon_state = "necronomicon" + B.item_state = "necronomicon" + else + // if christian bible, revert to default + B.icon_state = "bible" + B.item_state = "bible" + for(var/area/chapel/main/A in world) + for(var/turf/T in A.contents) + if(T.icon_state == "carpetsymbol") + T.set_dir(2) + + H.update_inv_l_hand() // so that it updates the bible's item_state in his hand + + switch(input(H,"Look at your bible - is this what you want?") in list("Yes","No")) + if("Yes") + accepted = 1 + if("No") + if(outoftime) + H << "Welp, out of time, buddy. You're stuck. Next time choose faster." + accepted = 1 + + if(ticker) + ticker.Bible_icon_state = B.icon_state + ticker.Bible_item_state = B.item_state + ticker.Bible_name = B.name + ticker.Bible_deity_name = B.deity_name + feedback_set_details("religion_deity","[new_deity]") + feedback_set_details("religion_book","[new_book_style]") + return 1 + /datum/job/chaplain/equip_preview(var/mob/living/carbon/human/H, var/alt_title) return equip(H, alt_title, FALSE) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index b9cc65dcde..e8b24b0446 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -28,26 +28,26 @@ minimal_player_age = 7 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/ce(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_engineer(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/ce(H), slot_l_store) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - return 1 +/datum/job/chief_engineer/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/ce(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_engineer(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/heads/ce(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + return 1 - equip_survival(var/mob/living/carbon/human/H) - if(!H) return 0 - H.species.equip_survival_gear(H,1) - return 1 +/datum/job/chief_engineer/equip_survival(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.species.equip_survival_gear(H,1) + return 1 /datum/job/engineer @@ -67,26 +67,26 @@ alt_titles = list("Maintenance Technician","Engine Technician","Electrician") - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/device/t_scanner(H), slot_r_store) - H.equip_to_slot_or_del(new /obj/item/device/pda/engineering(H), slot_l_store) - return 1 +/datum/job/engineer/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/device/t_scanner(H), slot_r_store) + H.equip_to_slot_or_del(new /obj/item/device/pda/engineering(H), slot_l_store) + return 1 - equip_survival(var/mob/living/carbon/human/H) - if(!H) return 0 - H.species.equip_survival_gear(H,1) - return 1 +/datum/job/engineer/equip_survival(var/mob/living/carbon/human/H) + if(!H) return 0 + H.species.equip_survival_gear(H,1) + return 1 /datum/job/atmos @@ -106,21 +106,21 @@ minimal_player_age = 3 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/atmospheric_technician(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/atmos(H), slot_l_store) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/atmostech/(H), slot_belt) - return 1 +/datum/job/atmos/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/atmospheric_technician(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/atmos(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/atmostech/(H), slot_belt) + return 1 - equip_survival(var/mob/living/carbon/human/H) - if(!H) return 0 - H.species.equip_survival_gear(H,1) - return 1 +/datum/job/atmos/equip_survival(var/mob/living/carbon/human/H) + if(!H) return 0 + H.species.equip_survival_gear(H,1) + return 1 diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index db8dd443cd..589abbc0bc 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -23,21 +23,21 @@ minimal_player_age = 10 ideal_character_age = 50 - equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/cmo(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store) - return 1 +/datum/job/cmo/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/cmo(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store) + return 1 /datum/job/doctor title = "Medical Doctor" @@ -55,50 +55,50 @@ minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva) alt_titles = list("Surgeon","Emergency Physician","Nurse","Virologist") - equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) +/datum/job/doctor/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back) + if(has_alt_title(H, alt_title,"Emergency Physician")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) + else if(has_alt_title(H, alt_title,"Surgeon")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head) + else if(has_alt_title(H, alt_title,"Virologist")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask) switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/virology(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/vir(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back) - if(has_alt_title(H, alt_title,"Emergency Physician")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) - else if(has_alt_title(H, alt_title,"Surgeon")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head) - else if(has_alt_title(H, alt_title,"Virologist")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/virology(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/vir(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/viro(H), slot_back) - else if(has_alt_title(H, alt_title,"Medical Doctor")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - else if(has_alt_title(H, alt_title,"Nurse")) - if(H.gender == FEMALE) - if(prob(50)) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nursesuit(H), slot_w_uniform) - else - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nurse(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/head/nursehat(H), slot_head) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/viro(H), slot_back) + else if(has_alt_title(H, alt_title,"Medical Doctor")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) + else if(has_alt_title(H, alt_title,"Nurse")) + if(H.gender == FEMALE) + if(prob(50)) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nursesuit(H), slot_w_uniform) else - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nurse(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/head/nursehat(H), slot_head) else - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store) - return 1 + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(H), slot_w_uniform) + else + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store) + return 1 @@ -121,19 +121,19 @@ minimal_player_age = 3 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chemist(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/chem(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/chem(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit) - return 1 +/datum/job/chemist/equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chemist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/chem(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/chem(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit) + return 1 /* I'm commenting out Geneticist so you can't actually see it in the job menu, given that you can't play as one - Jon. @@ -151,19 +151,19 @@ access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_medsci(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/geneticist(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/genetics(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/gen(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/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) - return 1 +/datum/job/geneticist/equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_medsci(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/geneticist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/genetics(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/gen(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/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) + return 1 */ /datum/job/psychiatrist @@ -182,23 +182,23 @@ minimal_access = list(access_medical, access_medical_equip, access_psychiatrist) alt_titles = list("Psychologist") - equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) - if(has_alt_title(H, alt_title,"Psychiatrist")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych(H), slot_w_uniform) - else if(has_alt_title(H, alt_title,"Psychologist")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych/turtleneck(H), slot_w_uniform) - else - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) +/datum/job/psychiatrist/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) + if(has_alt_title(H, alt_title,"Psychiatrist")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych(H), slot_w_uniform) + else if(has_alt_title(H, alt_title,"Psychologist")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych/turtleneck(H), slot_w_uniform) + else + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) /datum/job/Paramedic @@ -217,29 +217,29 @@ minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) alt_titles = list("Emergency Medical Technician") - equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back) - if(has_alt_title(H, alt_title,"Emergency Medical Technician")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/paramedic(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) - else if(has_alt_title(H, alt_title,"Paramedic")) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/black(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) - else - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store) - return 1 +/datum/job/Paramedic/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back) + if(has_alt_title(H, alt_title,"Emergency Medical Technician")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/paramedic(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) + else if(has_alt_title(H, alt_title,"Paramedic")) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/black(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) + else + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store) + return 1 - equip_survival(var/mob/living/carbon/human/H) - if(!H) return 0 - H.species.equip_survival_gear(H,1) - return 1 +/datum/job/Paramedic/equip_survival(var/mob/living/carbon/human/H) + if(!H) return 0 + H.species.equip_survival_gear(H,1) + return 1 diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index fc042128b7..0961963305 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -26,20 +26,20 @@ minimal_player_age = 14 ideal_character_age = 50 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/rd(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/research_director(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - return 1 +/datum/job/rd/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/rd(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/research_director(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) + return 1 @@ -61,19 +61,19 @@ minimal_player_age = 14 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) - return 1 +/datum/job/scientist/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) + return 1 /datum/job/xenobiologist title = "Xenobiologist" @@ -93,19 +93,19 @@ minimal_player_age = 14 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) - if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) - return 1 +/datum/job/xenobiologist/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) + return 1 /datum/job/roboticist title = "Roboticist" @@ -125,14 +125,14 @@ minimal_player_age = 7 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear) - if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) - if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/roboticist(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_r_store) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) - return 1 +/datum/job/roboticist/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear) + if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/roboticist(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_r_store) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit) + return 1 diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 8d9da09cbe..f7753efc87 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -20,30 +20,30 @@ access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) - alt_titles = list("Commander") + alt_titles = list("Commander", "Chief of Security") minimum_character_age = 25 minimal_player_age = 14 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - 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/sec(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hos(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) -// H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_store) - else - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - H.implant_loyalty() - return 1 +/datum/job/hos/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + 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/sec(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hos(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) +// H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_store) + else + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) + H.implant_loyalty() + return 1 @@ -63,26 +63,26 @@ minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks) minimal_player_age = 5 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - 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/sec(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/warden(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) -// H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - return 1 +/datum/job/warden/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) + 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/sec(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/warden(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) +// H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk + H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) + return 1 @@ -102,31 +102,32 @@ minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks) economic_modifier = 5 minimal_player_age = 3 - equip(var/mob/living/carbon/human/H, var/alt_title) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - switch(H.backbag) - if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store) - if(H.backbag == 1)//Why cant some of these things spawn in his office? - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_l_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack) - if(has_alt_title(H, alt_title,"Forensic Technician")) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit, slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_trench(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/det(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit(H), slot_r_hand) - return 1 + +/datum/job/detective/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(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) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store) + if(H.backbag == 1)//Why cant some of these things spawn in his office? + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_l_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack) + if(has_alt_title(H, alt_title,"Forensic Technician")) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit, slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_trench(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/det(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit(H), slot_r_hand) + return 1 @@ -146,22 +147,23 @@ access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_external_airlocks) minimal_player_age = 3 - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - 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/sec(H), slot_back) - if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) - if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - return 1 + +/datum/job/officer/equip(var/mob/living/carbon/human/H, var/alt_title) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) + 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/sec(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store) + H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) + return 1 diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 3ecb7c7b2d..e80b7d8f10 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -194,7 +194,7 @@ new /obj/item/clothing/under/waiter(src.loc) var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears) new CHOICE(src.loc) - new /obj/item/clothing/suit/apron(src.loc) + new /obj/item/clothing/suit/storage/apron(src.loc) delete_me = 1 /obj/effect/landmark/costume/pirate/New() diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 9684bba4db..c5e6614de2 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -10,7 +10,6 @@ AI MODULES name = "\improper AI module" icon = 'icons/obj/module.dmi' icon_state = "std_mod" - item_state = "electronic" desc = "An AI Module for transmitting encrypted instructions to the AI." flags = CONDUCT force = 5.0 diff --git a/code/game/objects/items/weapons/permits.dm b/code/game/objects/items/weapons/permits.dm new file mode 100644 index 0000000000..8196a9b5ae --- /dev/null +++ b/code/game/objects/items/weapons/permits.dm @@ -0,0 +1,34 @@ +//This'll be used for gun permits, such as for heads of staff, antags, and bartenders + +/obj/item/weapon/permit + name = "permit" + desc = "A permit for something." + icon = 'icons/obj/card.dmi' + icon_state = "permit" + w_class = ITEMSIZE_TINY + var/owner = 0 //To prevent people from just renaming the thing if they steal it + +/obj/item/weapon/permit/attack_self(mob/user as mob) + if(isliving(user)) + if(!owner) + set_name(user.name) + else + to_chat(user, "[src] already has an owner!") + +/obj/item/weapon/permit/proc/set_name(var/new_name) + owner = 1 + if(new_name) + src.name += " ([new_name])" + desc += " It belongs to [new_name]." + +/obj/item/weapon/permit/emag_act(var/remaining_charges, var/mob/user) + to_chat(user, "You reset the naming locks on [src]!") + owner = 0 + +/obj/item/weapon/permit/gun + name = "weapon permit" + desc = "A card indicating that the owner is allowed to carry a firearm." + +/obj/item/weapon/permit/gun/bar + name = "bar shotgun permit" + desc = "A card indicating that the owner is allowed to carry a shotgun in the bar." \ No newline at end of file diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm index 5f66562c61..0c433a63a0 100644 --- a/code/game/objects/items/weapons/towels.dm +++ b/code/game/objects/items/weapons/towels.dm @@ -12,6 +12,10 @@ /obj/item/weapon/towel/attack_self(mob/living/user as mob) user.visible_message(text("[] uses [] to towel themselves off.", user, src)) playsound(user, 'sound/weapons/towelwipe.ogg', 25, 1) + if(user.fire_stacks > 0) + user.fire_stacks = (max(0, user.fire_stacks - 1.5)) + else if(user.fire_stacks < 0) + user.fire_stacks = (min(0, user.fire_stacks + 1.5)) /obj/item/weapon/towel/random/New() ..() diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 5b1e33e5fd..8ac7875bb6 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -583,7 +583,7 @@ something, make sure it's not in one of the other lists.*/ prob(3);/obj/item/clothing/suit/storage/toggle/brown_jacket, prob(3);/obj/item/clothing/suit/storage/toggle/leather_jacket, prob(1);/obj/item/clothing/suit/storage/vest/press, - prob(3);/obj/item/clothing/suit/apron, + prob(3);/obj/item/clothing/suit/storage/apron, prob(4);/obj/item/clothing/under/color/grey, prob(2);/obj/item/clothing/under/syndicate/tacticool, prob(2);/obj/item/clothing/under/pants/camo, @@ -795,8 +795,8 @@ something, make sure it's not in one of the other lists.*/ prob(3);/obj/item/clothing/glasses/material, prob(3);/obj/item/clothing/head/soft/yellow, prob(4);/obj/item/clothing/suit/storage/hazardvest, - prob(3);/obj/item/clothing/suit/apron/overalls, - prob(4);/obj/item/clothing/suit/apron, + prob(3);/obj/item/clothing/suit/storage/apron/overalls, + prob(4);/obj/item/clothing/suit/storage/apron, prob(2);/obj/item/clothing/under/syndicate/tacticool, prob(1);/obj/item/clothing/under/syndicate/combat, prob(2);/obj/item/clothing/accessory/storage/black_vest, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index bf7aa92fa6..09161a9f48 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -13,9 +13,9 @@ ..() switch(rand(1,2)) if(1) - new /obj/item/clothing/suit/apron(src) + new /obj/item/clothing/suit/storage/apron(src) if(2) - new /obj/item/clothing/suit/apron/overalls(src) + new /obj/item/clothing/suit/storage/apron/overalls(src) new /obj/item/weapon/storage/bag/plants(src) new /obj/item/clothing/under/rank/hydroponics(src) new /obj/item/device/analyzer/plant_analyzer(src) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 0d8a94944d..bd23290e30 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -4,7 +4,8 @@ icon = 'icons/obj/janitor.dmi' icon_state = "cart" anchored = 0 - density = 1 + density = 1 + climbable = 1 flags = OPENCONTAINER //copypaste sorry var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index db234a1a2e..5e0c0d5abb 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/janitor.dmi' icon_state = "mopbucket" density = 1 + climbable = 1 w_class = ITEMSIZE_NORMAL pressure_resistance = 5 flags = OPENCONTAINER diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 7c46385942..4dda05ce09 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -40,7 +40,8 @@ log_ooc("[mob.name]/[key] : [msg]") - handle_spam_prevention(MUTE_OOC) + if(msg) + handle_spam_prevention(MUTE_OOC) var/ooc_style = "everyone" if(holder && !holder.fakekey) @@ -110,7 +111,8 @@ log_ooc("(LOCAL) [mob.name]/[key] : [msg]") - handle_spam_prevention(MUTE_OOC) + if(msg) + handle_spam_prevention(MUTE_OOC) var/mob/source = mob.get_looc_source() var/turf/T = get_turf(source) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 2f09a80489..d7801a051c 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -17,7 +17,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," adminhelped = 1 //Determines if they get the message to reply by clicking the name. - handle_spam_prevention(MUTE_ADMINHELP) + if(msg) + handle_spam_prevention(MUTE_ADMINHELP) //clean the input msg if(!msg) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index d50001892b..8112cb6dd0 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -565,7 +565,7 @@ M.equip_to_slot_or_del(new /obj/item/clothing/head/welding(M), slot_head) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/surgical/scalpel(M), slot_r_store) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index c5eb60a94b..9fcb834774 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -10,10 +10,11 @@ if(!msg) return if(usr.client) - client.handle_spam_prevention(MUTE_PRAY) - if(usr.client.prefs.muted & MUTE_PRAY) - usr << "\red You cannot pray (muted)." - return + if(msg) + client.handle_spam_prevention(MUTE_PRAY) + if(usr.client.prefs.muted & MUTE_PRAY) + usr << "\red You cannot pray (muted)." + return var/image/cross = image('icons/obj/storage.dmi',"bible") msg = "\blue \icon[cross] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src, src)]) (CA) (SC): [msg]" diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index 36aa0249e4..0d5721a81e 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -32,7 +32,7 @@ datum/preferences/proc/set_biological_gender(var/gender) pref.age = sanitize_integer(pref.age, get_min_age(), get_max_age(), initial(pref.age)) pref.biological_gender = sanitize_inlist(pref.biological_gender, get_genders(), pick(get_genders())) pref.identifying_gender = (pref.identifying_gender in all_genders_define_list) ? pref.identifying_gender : pref.biological_gender - pref.real_name = sanitize_name(pref.real_name, pref.species) + pref.real_name = sanitize_name(pref.real_name, pref.species, is_FBP()) if(!pref.real_name) pref.real_name = random_name(pref.identifying_gender, pref.species) pref.spawnpoint = sanitize_inlist(pref.spawnpoint, spawntypes, initial(pref.spawnpoint)) @@ -76,7 +76,7 @@ datum/preferences/proc/set_biological_gender(var/gender) if(href_list["rename"]) var/raw_name = input(user, "Choose your character's name:", "Character Name") as text|null if (!isnull(raw_name) && CanUseTopic(user)) - var/new_name = sanitize_name(raw_name, pref.species) + var/new_name = sanitize_name(raw_name, pref.species, is_FBP()) if(new_name) pref.real_name = new_name return TOPIC_REFRESH diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index acf6f2d95f..81bbf075de 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -676,6 +676,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O while(null in pref.rlimb_data) pref.rlimb_data -= null + // Sanitize the name so that there aren't any numbers sticking around. + pref.real_name = sanitize_name(pref.real_name, pref.species) + if(!pref.real_name) + pref.real_name = random_name(pref.identifying_gender, pref.species) + /datum/category_item/player_setup_item/general/body/proc/SetSpecies(mob/user) if(!pref.species_preview || !(pref.species_preview in all_species)) pref.species_preview = "Human" diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 2c602bcc6d..2e36349ee7 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -1,7 +1,7 @@ // Suit slot /datum/gear/suit display_name = "apron, blue" - path = /obj/item/clothing/suit/apron + path = /obj/item/clothing/suit/storage/apron slot = slot_wear_suit sort_category = "Suits and Overwear" cost = 2 @@ -149,7 +149,7 @@ /datum/gear/suit/overalls display_name = "overalls" - path = /obj/item/clothing/suit/apron/overalls + path = /obj/item/clothing/suit/storage/apron/overalls cost = 1 /datum/gear/suit/poncho diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index acbf7c91fb..6af6d86ee3 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -3,7 +3,7 @@ */ //Botanist -/obj/item/clothing/suit/apron +/obj/item/clothing/suit/storage/apron name = "apron" desc = "A basic blue apron." icon_state = "apron" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 00ea330892..4394d66195 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -120,7 +120,7 @@ name = "red sweatervest" icon_state = "sweatervest_red" */ -/obj/item/clothing/suit/apron/overalls +/obj/item/clothing/suit/storage/apron/overalls name = "coveralls" desc = "A set of denim overalls." icon_state = "overalls" diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index 4d348c8d71..45f4c11cde 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -7,10 +7,11 @@ log_say("Ghost/[src.key] : [message]") if (src.client) - client.handle_spam_prevention(MUTE_DEADCHAT) - if(src.client.prefs.muted & MUTE_DEADCHAT) - src << "\red You cannot talk in deadchat (muted)." - return + if(message) + client.handle_spam_prevention(MUTE_DEADCHAT) + if(src.client.prefs.muted & MUTE_DEADCHAT) + src << "\red You cannot talk in deadchat (muted)." + return . = src.say_dead(message) @@ -27,10 +28,11 @@ log_emote("Ghost/[src.key] : [message]") if(src.client) - client.handle_spam_prevention(MUTE_DEADCHAT) - if(src.client.prefs.muted & MUTE_DEADCHAT) - src << "\red You cannot emote in deadchat (muted)." - return + if(message) + client.handle_spam_prevention(MUTE_DEADCHAT) + if(src.client.prefs.muted & MUTE_DEADCHAT) + src << "\red You cannot emote in deadchat (muted)." + return . = src.emote_dead(message) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index ff16d332fe..b63e625703 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -194,8 +194,8 @@ inherent_verbs = list() inherent_verbs |= /mob/living/carbon/human/proc/regurgitate -/datum/species/proc/sanitize_name(var/name) - return sanitizeName(name) +/datum/species/proc/sanitize_name(var/name, var/robot = 0) + return sanitizeName(name, MAX_NAME_LEN, robot) /datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 1) var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ec0f40be09..b0459b9f2f 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -133,10 +133,11 @@ proc/get_radio_key_from_channel(var/channel) /mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/whispering = 0) //If you're muted for IC chat if(client) - client.handle_spam_prevention(MUTE_IC) - if((client.prefs.muted & MUTE_IC) || say_disabled) - src << "You cannot speak in IC (Muted)." - return + if(message) + client.handle_spam_prevention(MUTE_IC) + if((client.prefs.muted & MUTE_IC) || say_disabled) + src << "You cannot speak in IC (Muted)." + return //Redirect to say_dead if talker is dead if(stat) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index d3b70b7456..bf70516f1f 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -18,7 +18,7 @@ var/global/list/robot_modules = list( icon = 'icons/obj/module.dmi' icon_state = "std_module" w_class = ITEMSIZE_NO_CONTAINER - item_state = "electronic" + item_state = "std_mod" flags = CONDUCT var/hide_on_manifest = 0 var/channels = list() diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index e7023cb519..3f46c81dd7 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -1021,9 +1021,13 @@ icon_state = "tat_campbell" body_parts = list(BP_R_ARM) + left + name = "Tattoo (Campbell, L.Arm)" + body_parts = list(BP_L_ARM) + tat_tiger name = "Tattoo (Tiger Stripes, Body)" - icon_state = "tat_campbell" + icon_state = "tat_tiger" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN) taj_paw_socks diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index bdda698472..f5d9f2ebb4 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -1127,7 +1127,7 @@ Note that amputating the affected organ does in fact remove the infection from t return !(status & (ORGAN_MUTATED|ORGAN_DEAD)) /obj/item/organ/external/proc/is_malfunctioning() - return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= 10 && prob(brute_dam + burn_dam)) + return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= 25 && prob(brute_dam + burn_dam)) /obj/item/organ/external/proc/embed(var/obj/item/weapon/W, var/silent = 0) if(!owner || loc != owner) diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index ace4cb1fb8..add0170643 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -31,6 +31,10 @@ projectile_type = /obj/item/projectile/ion/small matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) +/* + * 9mm + */ + /obj/item/ammo_casing/c9mm desc = "A 9mm bullet casing." caliber = "9mm" @@ -65,6 +69,10 @@ projectile_type = /obj/item/projectile/bullet/pistol/ap */ +/* + * 45 ammo + */ + /obj/item/ammo_casing/c45 desc = "A .45 bullet casing." caliber = ".45" @@ -101,6 +109,15 @@ icon_state = "empcasing" matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) +/obj/item/ammo_casing/c45/hp + desc = "A .45 hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow + + +/* + * 10mm + */ + /obj/item/ammo_casing/a10mm desc = "A 10mm bullet casing." caliber = "10mm" @@ -113,6 +130,10 @@ icon_state = "empcasing" matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) +/* + * Shotguns + */ + /obj/item/ammo_casing/shotgun name = "shotgun slug" desc = "A 12 gauge slug." @@ -178,6 +199,10 @@ // projectile_type = /obj/item/projectile/bullet/shotgun/ion matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240) +/* + * 762mm + */ + /obj/item/ammo_casing/a762 desc = "A 7.62mm bullet casing." caliber = "a762" @@ -199,6 +224,12 @@ projectile_type = /obj/item/projectile/bullet/blank matter = list(DEFAULT_WALL_MATERIAL = 90) +/obj/item/ammo_casing/a762/hp + desc = "A 7.62mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow + +//145mm + /obj/item/ammo_casing/a145 desc = "A 14.5mm shell." icon_state = "lcasing" @@ -206,6 +237,10 @@ projectile_type = /obj/item/projectile/bullet/rifle/a145 matter = list(DEFAULT_WALL_MATERIAL = 1250) +/* + * 556mm + */ + /obj/item/ammo_casing/a556 desc = "A 5.56mm bullet casing." caliber = "a556" @@ -222,6 +257,14 @@ icon_state = "rifle-casing" // Need to make an icon for these projectile_type = /obj/item/projectile/bullet/rifle/practice +/obj/item/ammo_casing/a556/hp + desc = "A 5.56mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/rifle/a556/hollow + +/* + * Misc + */ + /obj/item/ammo_casing/rocket name = "rocket shell" desc = "A high explosive designed to be fired from a launcher." diff --git a/code/modules/projectiles/effects.dm b/code/modules/projectiles/effects.dm index 71d5d12d2e..ba6a749ebe 100644 --- a/code/modules/projectiles/effects.dm +++ b/code/modules/projectiles/effects.dm @@ -225,9 +225,32 @@ light_power = 0.5 light_color = "#00C6FF" +//---------------------------- +// Dark matter stun +//---------------------------- + +/obj/effect/projectile/darkmatterstun/tracer + icon_state = "darkt" + light_range = 2 + light_power = 0.5 + light_color = "#8837A3" + +/obj/effect/projectile/darkmatterstun/muzzle + icon_state = "muzzle_darkt" + light_range = 2 + light_power = 0.5 + light_color = "#8837A3" + +/obj/effect/projectile/darkmatterstun/impact + icon_state = "impact_darkt" + light_range = 2 + light_power = 0.5 + light_color = "#8837A3" + //---------------------------- // Dark matter //---------------------------- + /obj/effect/projectile/darkmatter/tracer icon_state = "darkb" light_range = 2 diff --git a/code/modules/projectiles/guns/vox.dm b/code/modules/projectiles/guns/vox.dm index 857b56fa6b..d3a846ab08 100644 --- a/code/modules/projectiles/guns/vox.dm +++ b/code/modules/projectiles/guns/vox.dm @@ -58,16 +58,30 @@ item_state = "darkcannon" fire_sound = 'sound/weapons/eLuger.ogg' w_class = ITEMSIZE_HUGE - charge_cost = 600 - projectile_type = /obj/item/projectile/beam/darkmatter + charge_cost = 300 + projectile_type = /obj/item/projectile/beam/stun/darkmatter self_recharge = 1 accuracy = 2 firemodes = list( + list(mode_name="stunning", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(2), dispersion=null, projectile_type=/obj/item/projectile/beam/stun/darkmatter, charge_cost = 300), list(mode_name="focused", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(2), dispersion=null, projectile_type=/obj/item/projectile/beam/darkmatter, charge_cost = 600), list(mode_name="scatter burst", burst=8, fire_delay=null, move_delay=4, burst_accuracy=list(0, 0, 0, 0, 0, 0, 0, 0), dispersion=list(3, 3, 3, 3, 3, 3, 3, 3, 3), projectile_type=/obj/item/projectile/energy/darkmatter, charge_cost = 300), ) +/obj/item/projectile/beam/stun/darkmatter + name = "dark matter wave" + icon_state = "darkt" + nodamage = 1 + taser_effect = 1 + agony = 55 + damage_type = HALLOSS + light_color = "#8837A3" + + muzzle_type = /obj/effect/projectile/darkmatterstun/muzzle + tracer_type = /obj/effect/projectile/darkmatterstun/tracer + impact_type = /obj/effect/projectile/darkmatterstun/impact + /obj/item/projectile/beam/darkmatter name = "dark matter bolt" icon_state = "darkb" @@ -107,33 +121,29 @@ self_recharge = 1 charge_cost = 600 - projectile_type=/obj/item/projectile/sonic/strong + projectile_type=/obj/item/projectile/sonic/weak firemodes = list( + list(mode_name="suppressive", projectile_type=/obj/item/projectile/sonic/weak, charge_cost = 200), list(mode_name="normal", projectile_type=/obj/item/projectile/sonic/strong, charge_cost = 600), - list(mode_name="suppressive", projectile_type=/obj/item/projectile/sonic/weak, charge_cost = 300), ) /obj/item/projectile/sonic name = "sonic pulse" icon_state = "sound" - damage = 15 + damage = 5 armor_penetration = 30 damage_type = BRUTE check_armour = "melee" embed_chance = 0 vacuum_traversal = 0 -// var/amplitude = 10 //Roughly how loud it is, changes the way damage will work, and such - /obj/item/projectile/sonic/weak - agony = 30 + agony = 50 /obj/item/projectile/sonic/strong damage = 45 -//Already have thoughts on how to improve this, will take a day or two after initial testing. - Anewbe - /obj/item/projectile/sonic/strong/on_hit(var/atom/movable/target, var/blocked = 0) if(ismob(target)) var/throwdir = get_dir(firer,target) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index f87f726bf3..cf62d9e0c8 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -137,6 +137,10 @@ damage = 20 armor_penetration = 15 +/obj/item/projectile/bullet/pistol/medium/hollow + damage = 30 + armor_penetration = -50 + /obj/item/projectile/bullet/pistol/strong //revolvers and matebas damage = 60 @@ -200,6 +204,11 @@ damage = 20 armor_penetration = 50 // At 40 or more armor, this will do more damage than standard rounds. +/obj/item/projectile/bullet/rifle/a762/hollow + damage = 35 + armor_penetration = -50 + penetrating = 0 + /obj/item/projectile/bullet/rifle/a556 damage = 35 @@ -207,6 +216,11 @@ damage = 30 armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds. +/obj/item/projectile/bullet/rifle/a556/hollow + damage = 40 + armor_penetration = -50 + penetrating = 0 + /obj/item/projectile/bullet/rifle/a145 damage = 80 stun = 3 diff --git a/html/changelogs/Anewbe - Aprons.yml b/html/changelogs/Anewbe - Aprons.yml new file mode 100644 index 0000000000..ac1be69536 --- /dev/null +++ b/html/changelogs/Anewbe - Aprons.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Aprons now have pockets." diff --git a/html/changelogs/Anewbe - Automute.yml b/html/changelogs/Anewbe - Automute.yml new file mode 100644 index 0000000000..6ff5086037 --- /dev/null +++ b/html/changelogs/Anewbe - Automute.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Automute shouldn't trigger if you don't type anything." \ No newline at end of file diff --git a/html/changelogs/Anewbe - Chief of Security.yml b/html/changelogs/Anewbe - Chief of Security.yml new file mode 100644 index 0000000000..3ca2a8c8fd --- /dev/null +++ b/html/changelogs/Anewbe - Chief of Security.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds the Chief of Security alt title for the HoS." diff --git a/html/changelogs/Anewbe - Robolimbs.yml b/html/changelogs/Anewbe - Robolimbs.yml new file mode 100644 index 0000000000..62ee10a1f9 --- /dev/null +++ b/html/changelogs/Anewbe - Robolimbs.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Robolimbs can take a bit more damage before they start malfunctioning." \ No newline at end of file diff --git a/html/changelogs/Anewbe - Towels.yml b/html/changelogs/Anewbe - Towels.yml new file mode 100644 index 0000000000..0d89a8c676 --- /dev/null +++ b/html/changelogs/Anewbe - Towels.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Drying yourself off with a towel should actually dry you off a bit now." diff --git a/html/changelogs/Atermonera - FBPnumbernames.yml b/html/changelogs/Atermonera - FBPnumbernames.yml new file mode 100644 index 0000000000..d96b3075e5 --- /dev/null +++ b/html/changelogs/Atermonera - FBPnumbernames.yml @@ -0,0 +1,13 @@ +# Your name. +author: Atermonera + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "FBPs can now have numbers in their name. The first character cannot be a number." \ No newline at end of file diff --git a/icons/effects/projectiles.dmi b/icons/effects/projectiles.dmi index 9664b3e13b..b20126b60d 100644 Binary files a/icons/effects/projectiles.dmi and b/icons/effects/projectiles.dmi differ diff --git a/icons/mob/human_races/markings.dmi b/icons/mob/human_races/markings.dmi index 636c829bd5..e4e4101b4b 100644 Binary files a/icons/mob/human_races/markings.dmi and b/icons/mob/human_races/markings.dmi differ diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index 5a63eb1c3d..c616f88fa5 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index d2822ad021..ea726a451b 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/mob/items/righthand_storage.dmi b/icons/mob/items/righthand_storage.dmi index 16cb0d762f..e3ecbc1f09 100644 Binary files a/icons/mob/items/righthand_storage.dmi and b/icons/mob/items/righthand_storage.dmi differ diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index 3bc731120e..f70b5481a8 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -2254,7 +2254,7 @@ "aRr" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/security/prison) "aRs" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor/tiled,/area/security/prison) "aRt" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled,/area/hydroponics/garden) -"aRu" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aRu" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) "aRv" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison) "aRw" = (/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box{pixel_x = 3; pixel_y = 3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/weapon/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/weapon/tape_roll,/turf/simulated/floor/tiled,/area/storage/art) "aRx" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/storage/art) diff --git a/maps/virgo/virgo-1.dmm b/maps/virgo/virgo-1.dmm index f9b308f496..da65fa19c9 100644 --- a/maps/virgo/virgo-1.dmm +++ b/maps/virgo/virgo-1.dmm @@ -2014,7 +2014,7 @@ "aML" = (/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) "aMM" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor/tiled,/area/security/prison) "aMN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) -"aMO" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aMO" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) "aMP" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison) "aMQ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box{pixel_x = 3; pixel_y = 3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/weapon/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/weapon/tape_roll,/turf/simulated/floor/tiled,/area/storage/art) "aMR" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/storage/art) diff --git a/vorestation.dme b/vorestation.dme index a8f6069ae7..e4bfcdcc56 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -874,6 +874,7 @@ #include "code\game\objects\items\weapons\mop_deploy.dm" #include "code\game\objects\items\weapons\paint.dm" #include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\permits.dm" #include "code\game\objects\items\weapons\policetape.dm" #include "code\game\objects\items\weapons\power_cells.dm" #include "code\game\objects\items\weapons\RCD.dm"