diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index b9d7633083..83d13b342d 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -530,6 +530,60 @@ icon_state = "dropper[filled]" return + +/obj/item/weapon/reagent_containers/robodropper + name = "Industrial Dropper" + desc = "A larger dropper. Transfers 10 units." + icon = 'chemical.dmi' + icon_state = "dropper0" + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(1,2,3,4,5,6,7,8,9,10) + volume = 10 + var/filled = 0 + + afterattack(obj/target, mob/user , flag) + if(!target.reagents) return + + if(filled) + + if(target.reagents.total_volume >= target.reagents.maximum_volume) + user << "\red [target] is full." + return + + if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food)) //You can inject humans and food but you cant remove the shit. + user << "\red You cannot directly fill this object." + return + + if(ismob(target)) + for(var/mob/O in viewers(world.view, user)) + O.show_message(text("\red [] drips something onto []!", user, target), 1) + src.reagents.reaction(target, TOUCH) + + var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + user << "\blue You transfer [trans] units of the solution." + if (src.reagents.total_volume<=0) + filled = 0 + icon_state = "dropper[filled]" + + else + + if(!target.is_open_container() && !istype(target,/obj/reagent_dispensers)) + user << "\red You cannot directly remove reagents from [target]." + return + + if(!target.reagents.total_volume) + user << "\red [target] is empty." + return + + var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) + + user << "\blue You fill the dropper with [trans] units of the solution." + + filled = 1 + icon_state = "dropper[filled]" + + return + //////////////////////////////////////////////////////////////////////////////// /// Droppers. END //////////////////////////////////////////////////////////////////////////////// @@ -1572,6 +1626,16 @@ reagents.add_reagent("nanites", 10) bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/roburgerbig + name = "roburger" + desc = "This massive patty looks like poison. Beep." + icon_state = "roburger" + New() + ..() + reagents.add_reagent("nanites", 100) + bitesize = 1 + /obj/item/weapon/reagent_containers/food/snacks/xenoburger name = "xenoburger" desc = "Smells caustic. Tastes like heresy." diff --git a/code/datums/diseases/robotic_transformation.dm b/code/datums/diseases/robotic_transformation.dm index f3b7f81891..4c533afe03 100644 --- a/code/datums/diseases/robotic_transformation.dm +++ b/code/datums/diseases/robotic_transformation.dm @@ -5,8 +5,8 @@ max_stages = 5 spread = "Syringe" spread_type = SPECIAL - cure = "A tincture of Radium and Copper." - cure_id = list("radium","copper") + cure = "An injection of copper." + cure_id = list("copper") cure_chance = 5 agent = "R2D2 Nanomachines" affected_species = list("Human") diff --git a/code/defines/global.dm b/code/defines/global.dm index beeee32af5..f31a504f33 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -71,7 +71,7 @@ var enter_allowed = 1 shuttle_frozen = 0 shuttle_left = 0 - tinted_weldhelh = 1 //as soon as the thing is sprited, we'll code in the toggle verb, bot for now, it should stay on by default. -errorage + tinted_weldhelh = 0 //as soon as the thing is sprited, we'll code in the toggle verb, bot for now, it should stay on by default. -errorage //Until you have the actual functionality for it, don't set this on by default. You're putting the cart before the horse. --DH captainMax = 1 engineerMax = 5 @@ -103,6 +103,7 @@ var cmoMax = 1 mimeMax = 1 sorterMax = 2 + borgMax = 2 list/bombers = list( ) list/admin_log = list ( ) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 561e54218c..e11a8e4a04 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -204,6 +204,15 @@ opacity = 0 density = 0 +/obj/sign/examroom + desc = "A guidance sign which reads 'EXAM ROOM'" + name = "EXAM" + icon = 'decals.dmi' + icon_state = "examroom" + anchored = 1.0 + opacity = 0 + density = 0 + /obj/sign/vacuum desc = "A warning sign which reads 'HARD VACUUM AHEAD'" name = "HARD VACUUM AHEAD" diff --git a/code/defines/obj/clothing/glasses.dm b/code/defines/obj/clothing/glasses.dm index 8663bb5bc5..a7e889cfa8 100644 --- a/code/defines/obj/clothing/glasses.dm +++ b/code/defines/obj/clothing/glasses.dm @@ -22,6 +22,12 @@ icon_state = "glasses" item_state = "glasses" +/obj/item/clothing/glasses/gglasses + name = "Green Glasses" + desc = "Forest green glasses, like the kind you'd wear when hatching a nasty scheme." + icon_state = "gglasses" + item_state = "gglasses" + /obj/item/clothing/glasses/sunglasses desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes." name = "Sunglasses" diff --git a/code/defines/obj/clothing/suit.dm b/code/defines/obj/clothing/suit.dm index ce3e20d600..dfcdbdd03d 100644 --- a/code/defines/obj/clothing/suit.dm +++ b/code/defines/obj/clothing/suit.dm @@ -92,8 +92,8 @@ /obj/item/clothing/suit/labcoat/mad name = "The Mad's labcoat" desc = "It makes you look capable of konking someone on the noggin and shooting them into space." - icon_state = "labcoat_cmo" - item_state = "labcoat_cmo" + icon_state = "labgreen" + item_state = "labgreen" /obj/item/clothing/suit/straight_jacket name = "straight jacket" diff --git a/code/game/jobs/jobprocs.dm b/code/game/jobs/jobprocs.dm index bd34866158..aa95cbf766 100644 --- a/code/game/jobs/jobprocs.dm +++ b/code/game/jobs/jobprocs.dm @@ -282,7 +282,7 @@ //The two procs below allow the Chaplain to choose their religion. All it really does is change their bible. spawn(0) var/religion_name = "Imperium" - var/new_religion = input(src, "You are the Chaplain. Would you like to change your religion? Default is the Bible.", "Name change", religion_name) + var/new_religion = input(src, "You are the Chaplain. Would you like to change your religion? Default is the Imperial Cult.", "Name change", religion_name) if ((length(new_religion) == 0) || (new_religion == "Imperium")) new_religion = religion_name @@ -330,7 +330,6 @@ src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) if ("Clown") -// src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) src.equip_if_possible(new /obj/item/weapon/storage/backpack/clown (src), slot_back) src.equip_if_possible(new /obj/item/device/pda/clown(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/clown(src), slot_w_uniform) @@ -363,7 +362,6 @@ src.equip_if_possible(new /obj/item/clothing/shoes/orange(src), slot_shoes) src.equip_if_possible(new /obj/item/weapon/storage/toolbox/mechanical(src), slot_l_hand) src.equip_if_possible(new /obj/item/clothing/gloves/yellow(src), slot_gloves) - //src.equip_if_possible(new /obj/item/weapon/crowbar(src), slot_in_backpack) // - commented out, why would you need this when you spawn with a blue toolbox - muskets src.equip_if_possible(new /obj/item/device/t_scanner(src), slot_r_store) if ("Shaft Miner") @@ -413,13 +411,11 @@ src.equip_if_possible(new /obj/item/clothing/head/caphat(src), slot_head) src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses) // src.equip_if_possible(new /obj/item/weapon/gun/taser_gun(src), slot_belt) -// src.equip_if_possible(new /obj/item/weapon/gun/energy/laser_gun(src), slot_in_backpack) src.equip_if_possible(new /obj/item/weapon/storage/id_kit(src), slot_in_backpack) if ("Security Officer") src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE -// src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back) src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/color/red(src), slot_w_uniform) @@ -436,7 +432,6 @@ if ("Warden") src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE -// src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back) src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/warden(src), slot_w_uniform) @@ -455,8 +450,6 @@ src.equip_if_possible(new /obj/item/device/pda/toxins(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/scientist(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes) -// src.equip_if_possible(new /obj/item/clothing/suit/bio_suit/scientist(src), slot_wear_suit) -// src.equip_if_possible(new /obj/item/clothing/head/bio_hood/scientist(src), slot_head) src.equip_if_possible(new /obj/item/clothing/mask/gas(src), slot_wear_mask) src.equip_if_possible(new /obj/item/weapon/tank/air(src), slot_l_hand) @@ -485,7 +478,6 @@ src.equip_if_possible(new /obj/item/clothing/head/helmet(src), slot_head) // src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses) // src.equip_if_possible(new /obj/item/weapon/gun/taser_gun(src), slot_belt) -// src.equip_if_possible(new /obj/item/weapon/gun/energy/laser_gun(src), slot_in_backpack) src.equip_if_possible(new /obj/item/weapon/storage/id_kit(src), slot_in_backpack) // src.equip_if_possible(new /obj/item/device/flash(src), slot_l_store) @@ -495,7 +487,6 @@ src.equip_if_possible(new /obj/item/clothing/under/rank/atmospheric_technician(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) src.equip_if_possible(new /obj/item/weapon/storage/toolbox/mechanical(src), slot_l_hand) -// src.equip_if_possible(new /obj/item/weapon/crowbar(src), slot_in_backpack) // same as with engineers, WHY if ("Barman") src.equip_if_possible(new /obj/item/clothing/under/rank/bartender(src), slot_w_uniform) @@ -519,14 +510,11 @@ src.equip_if_possible(new /obj/item/clothing/under/rank/roboticist(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) - src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit) // No longer medical or research, so away it goes! //Same person who took it away has returned it. -// src.equip_if_possible(new /obj/item/weapon/crowbar(src), slot_in_backpack) //another job with toolbox and this + src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit) src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves) src.equip_if_possible(new /obj/item/weapon/storage/toolbox/mechanical(src), slot_l_hand) if ("Botanist") -// src.equip_if_possible(new /obj/item/device/radio/headset/headset_med (src), slot_ears) -// src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/hydroponics(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/gloves/botanic_leather(src), slot_gloves) @@ -554,7 +542,6 @@ src.equip_if_possible(new /obj/item/device/pda/quartermaster(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses) src.equip_if_possible(new /obj/item/weapon/clipboard(src), slot_l_hand) - //src.equip_if_possible(new /obj/item/clothing/suit/exo_suit(src), slot_wear_suit) if ("Cargo Technician") src.equip_if_possible(new /obj/item/device/radio/headset/headset_cargo(src), slot_ears) @@ -608,6 +595,9 @@ src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit) src.equip_if_possible(new /obj/item/device/flashlight/pen(src), slot_r_store) + if ("Cyborg") + Robotize() + else src << "RUH ROH! Your job is [rank] and the game just can't handle it! Please report this bug to an administrator." diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 9a5fd53db7..74ab6cd35c 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -14,7 +14,7 @@ var/list/occupations = list( "Research Director", "Chaplain", "Roboticist", -// "Cyborg","Cyborg","Cyborg" // -- The goons have a good idea with this. Why doesn't the AI start with cyborgs? There's people killing themselves to be cyborgs have the time anyway at round start. + "Cyborg","Cyborg", // --DH "AI", "Barman", "Chef", diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index aeb598b16d..bbce5e015a 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -101,11 +101,11 @@ src.modules += new /obj/item/weapon/spacecash(src) src.modules += new /obj/item/weapon/pen(src) src.modules += new /obj/item/weapon/paper(src) - src.modules += new /obj/item/weapon/reagent_containers/dropper(src) + src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) src.modules += new /obj/item/weapon/tray(src) src.modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) - src.emag = new /obj/item/weapon/sword(src) - src.emag.name = "Helper's Little Helper" + src.emag = new /obj/item/weapon/reagent_containers/food/snacks/roburgerbig(src) + src.emag.name = "Last Meal" /obj/item/weapon/robot_module/security/New() diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index b4badec5e9..36f992e4c0 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -236,6 +236,8 @@ mob/new_player AttemptLateSpawn("Mime", mimeMax) if ("31") AttemptLateSpawn("Mail Sorter", sorterMax) + if ("32") + AttemptLateSpawn("Cyborg", borgMax) if(!ready && href_list["preferences"]) preferences.process_link(src, href_list) @@ -325,7 +327,7 @@ mob/new_player data_core.security += S return -// This fxn creates positions for assistants based on existing positions. This could be more elgant. +// This fxn creates positions for assistants based on existing positions. This could be more elegant. proc/LateChoices() var/dat = "
" dat += "Choose from the following open positions: