diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index 5129d969539..17c88401fdc 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -110,13 +110,6 @@ reward = 1500 wanted_types = list(/obj/item/stack/sheet/animalhide/monkey) -/datum/bounty/item/assistant/shard - name = "Shards" - description = "A killer clown has been stalking CentCom, and staff have been unable to catch her because she's not wearing shoes. Please ship some shards so that a booby trap can be constructed." - reward = 1500 - required_count = 15 - wanted_types = list(/obj/item/shard) - /datum/bounty/item/assistant/comfy_chair name = "Comfy Chairs" description = "Commander Pat is unhappy with his chair. He claims it hurts his back. Ship some alternatives out to humor him." diff --git a/code/modules/cargo/bounties/science.dm b/code/modules/cargo/bounties/science.dm index c1287d130f8..4c79d3c3c62 100644 --- a/code/modules/cargo/bounties/science.dm +++ b/code/modules/cargo/bounties/science.dm @@ -1,72 +1,86 @@ -/datum/bounty/item/science/boh - name = "Bag of Holding" - description = "Nanotrasen would make good use of high-capacity backpacks. If you have any, please ship them." - reward = 10000 - wanted_types = list(/obj/item/storage/backpack/holding) -/datum/bounty/item/science/tboh - name = "Trash Bag of Holding" - description = "Nanotrasen would make good use of high-capacity trash bags. If you have any, please ship them." - reward = 10000 - wanted_types = list(/obj/item/storage/bag/trash/bluespace) +/datum/bounty/item/science/relic + name = "E.X.P.E.R.I-MENTORially Discovered Devices" + description = "Psst, hey. Don't tell the assistants, but we're undercutting them on the value of those 'strange objects' they've been finding. Fish one up and send us a discovered one by using the E.X.P.E.R.I-MENTOR." + reward = 4000 + wanted_types = list(/obj/item/relic) -/datum/bounty/item/science/bluespace_syringe - name = "Bluespace Syringe" - description = "Nanotrasen would make good use of high-capacity syringes. If you have any, please ship them." - reward = 10000 - wanted_types = list(/obj/item/reagent_containers/syringe/bluespace) - -/datum/bounty/item/science/bluespace_body_bag - name = "Bluespace Body Bag" - description = "Nanotrasen would make good use of high-capacity body bags. If you have any, please ship them." - reward = 10000 - wanted_types = list(/obj/item/bodybag/bluespace) - -/datum/bounty/item/science/nightvision_goggles - name = "Night Vision Goggles" - description = "An electrical storm has busted all the lights at CentCom. While management is waiting for replacements, perhaps some night vision goggles can be shipped?" - reward = 10000 - wanted_types = list(/obj/item/clothing/glasses/night, /obj/item/clothing/glasses/meson/night, /obj/item/clothing/glasses/hud/health/night, /obj/item/clothing/glasses/hud/security/night, /obj/item/clothing/glasses/hud/diagnostic/night) - -/datum/bounty/item/science/experimental_welding_tool - name = "Experimental Welding Tool" - description = "A recent accident has left most of CentCom's welding tools exploded. Ship replacements to be rewarded." - reward = 10000 - required_count = 3 - wanted_types = list(/obj/item/weldingtool/experimental) - -/datum/bounty/item/science/cryostasis_beaker - name = "Cryostasis Beaker" - description = "Chemists at Central Command have discovered a new chemical that can only be held in cryostasis beakers. The only problem is they don't have any! Rectify this to receive payment." - reward = 10000 - wanted_types = list(/obj/item/reagent_containers/glass/beaker/noreact) - -/datum/bounty/item/science/diamond_drill - name = "Diamond Mining Drill" - description = "Central Command is willing to pay three months salary in exchange for one diamond mining drill." - reward = 15000 - wanted_types = list(/obj/item/pickaxe/drill/diamonddrill, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill) - -/datum/bounty/item/science/floor_buffer - name = "Floor Buffer Upgrade" - description = "One of CentCom's janitors made a small fortune betting on carp races. Now they'd like to commission an upgrade to their floor buffer." - reward = 10000 - wanted_types = list(/obj/item/janiupgrade) - -/datum/bounty/item/science/advanced_mop - name = "Advanced Mop" - description = "Excuse me. I'd like to request 17 cr for a push broom rebristling. Either that, or an advanced mop." - reward = 10000 - wanted_types = list(/obj/item/mop/advanced) - -/datum/bounty/item/science/advanced_egun - name = "Advanced Energy Gun" - description = "With the price of rechargers on the rise, upper management is interested in purchasing guns that are self-powered. If you ship one, they'll pay." - reward = 10000 - wanted_types = list(/obj/item/gun/energy/e_gun/nuclear) +/datum/bounty/item/science/relic/applies_to(obj/O) + if(!..()) + return FALSE + var/obj/item/relic/experiment = O + if(experiment.revealed) + return TRUE + return /datum/bounty/item/science/bepis_disc name = "Reformatted Tech Disk" description = "It turns out the diskettes the BEPIS prints experimental nodes on are extremely space-efficient. Send us one of your spares when you're done with it." reward = 4000 - wanted_types = list(/obj/item/disk/tech_disk/major) + wanted_types = list(/obj/item/disk/tech_disk/major, /obj/item/disk/tech_disk/spaceloot) + +/datum/bounty/item/science/genetics + name = "Genetics Disability Mutator" + description = "Understanding the humanoid genome is the first step to curing many spaceborn genetic defects, and exceeding our basest limits." + reward = 1000 + wanted_types = list(/obj/item/dnainjector) + ///What's the instability + var/desired_instability = 0 + +/datum/bounty/item/science/genetics/New() + . = ..() + desired_instability = rand(10,40) + reward += desired_instability * 100 + description += " We want a DNA injector whose total instability is higher than [desired_instability] points." + +/datum/bounty/item/science/genetics/applies_to(obj/O) + if(!..()) + return FALSE + var/obj/item/dnainjector/mutator = O + if(mutator.used) + return FALSE + var/inst_total = 0 + for(var/pot_mut in mutator.add_mutations) + var/datum/mutation/human/mutation = pot_mut + if(initial(mutation.quality) != POSITIVE) + continue + inst_total += mutation.instability + if(inst_total >= desired_instability) + return TRUE + return FALSE + +//******Modular Computer Bounties****** +/datum/bounty/item/science/NTNet + name = "Modular Tablets" + description = "Turns out that NTNet wasn't actually a fad afterall, who knew. Ship us some fully constructed tablets and send it turned on." + reward = 3000 + required_count = 4 + wanted_types = list(/obj/item/modular_computer/tablet) + +/datum/bounty/item/science/NTNet/laptops + name = "Modular Laptops" + description = "Central command brass need something more powerful than a tablet, but more portable than a console. Help these old fogeys out by shipping us some working laptops. Send it turned on." + reward = 1500 + required_count = 2 + wanted_types = list(/obj/item/modular_computer/laptop) + +/datum/bounty/item/science/NTNet/console + name = "Modular Computer Console" + description = "Our big data devision needs more powerful hardware to play 'Outbomb Cuban Pe-', err, to closely monitor threats in your sector. Send us a working modular computer console." + reward = 3000 + required_count = 1 + wanted_types = list(/obj/machinery/modular_computer/console) + +/datum/bounty/item/science/NTnet/applies_to(obj/O) + . = ..() + var/obj/item/modular_computer/computer = O + if(computer.enabled) + return TRUE + return TRUE + +/datum/bounty/item/science/NTnet/console/applies_to(obj/O) + var/obj/machinery/modular_computer/console/computer = O + if(computer.cpu) + return TRUE + return FALSE + diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 3ee4d456bcc..0095adbf791 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -195,7 +195,7 @@ to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.") else to_chat(user, "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.") - return + return FALSE // If we have a recharger, enable it automatically. Lets computer without a battery work. var/obj/item/computer_hardware/recharger/recharger = all_components[MC_CHARGE] @@ -210,11 +210,13 @@ enabled = 1 update_icon() ui_interact(user) + return TRUE else // Unpowered if(issynth) to_chat(user, "You send an activation signal to \the [src] but it does not respond.") else to_chat(user, "You press the power button but \the [src] does not respond.") + return FALSE // Process currently calls handle_power(), may be expanded in future if more things are added. /obj/item/modular_computer/process(delta_time)