Hard upstream sync (#6951)
* maps - none of our changes included yet i'll get them in after i finish up the rest of the sync * sync part 1 - underscore folders in code * controllers folder * datums folder * game folder * cmon, work * modules - admin to awaymissions * cargo to events * fields to lighting * mapping > ruins * rest of the code folder * rest of the folders in the root directory * DME * fixes compiling errors. it compiles so it works * readds map changes * fixes dogborg module select * fixes typo in moduleselect_alternate_icon filepath
This commit is contained in:
@@ -0,0 +1,270 @@
|
||||
/datum/bounty/item/assistant/strange_object
|
||||
name = "Strange Object"
|
||||
description = "Nanotrasen has taken an interest in strange objects. Find one in maint, and ship it off to CentCom right away."
|
||||
reward = 1200
|
||||
wanted_types = list(/obj/item/relic)
|
||||
|
||||
/datum/bounty/item/assistant/scooter
|
||||
name = "Scooter"
|
||||
description = "Nanotrasen has determined walking to be wasteful. Ship a scooter to CentCom to speed operations up."
|
||||
reward = 1080 // the mat hoffman
|
||||
wanted_types = list(/obj/vehicle/ridden/scooter)
|
||||
include_subtypes = FALSE
|
||||
|
||||
/datum/bounty/item/assistant/skateboard
|
||||
name = "Skateboard"
|
||||
description = "Nanotrasen has determined walking to be a wasteful. Ship a skateboard to CentCom to speed operations up."
|
||||
reward = 900 // the tony hawk
|
||||
wanted_types = list(/obj/vehicle/ridden/scooter/skateboard)
|
||||
|
||||
/datum/bounty/item/assistant/stunprod
|
||||
name = "Stunprod"
|
||||
description = "CentCom demands a stunprod to use against dissidents. Craft one, then ship it."
|
||||
reward = 1300
|
||||
wanted_types = list(/obj/item/melee/baton/cattleprod)
|
||||
|
||||
/datum/bounty/item/assistant/soap
|
||||
name = "Soap"
|
||||
description = "Soap has gone missing from CentCom's bathrooms and nobody knows who took it. Replace it and be the hero CentCom needs."
|
||||
reward = 2000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/soap)
|
||||
|
||||
/datum/bounty/item/assistant/spear
|
||||
name = "Spears"
|
||||
description = "CentCom's security forces are going through budget cuts. You will be paid if you ship a set of spears."
|
||||
reward = 2000
|
||||
required_count = 5
|
||||
wanted_types = list(/obj/item/twohanded/spear)
|
||||
|
||||
/datum/bounty/item/assistant/toolbox
|
||||
name = "Toolboxes"
|
||||
description = "There's an absence of robustness at Central Command. Hurry up and ship some toolboxes as a solution."
|
||||
reward = 2000
|
||||
required_count = 6
|
||||
wanted_types = list(/obj/item/storage/toolbox)
|
||||
|
||||
/datum/bounty/item/assistant/statue
|
||||
name = "Statue"
|
||||
description = "Central Command would like to commision an artsy statue for the lobby. Ship one out, when possible."
|
||||
reward = 2000
|
||||
wanted_types = list(/obj/structure/statue)
|
||||
|
||||
/datum/bounty/item/assistant/clown_box
|
||||
name = "Clown Box"
|
||||
description = "The universe needs laughter. Stamp cardboard with a clown stamp and ship it out."
|
||||
reward = 1500
|
||||
wanted_types = list(/obj/item/storage/box/clown)
|
||||
|
||||
/datum/bounty/item/assistant/cheesiehonkers
|
||||
name = "Cheesie Honkers"
|
||||
description = "Apparently the company that makes Cheesie Honkers is going out of business soon. CentCom wants to stock up before it happens!"
|
||||
reward = 1200
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/cheesiehonkers)
|
||||
|
||||
/datum/bounty/item/assistant/baseball_bat
|
||||
name = "Baseball Bat"
|
||||
description = "Baseball fever is going on at CentCom! Be a dear and ship them some baseball bats, so that management can live out their childhood dream."
|
||||
reward = 2000
|
||||
required_count = 5
|
||||
wanted_types = list(/obj/item/melee/baseball_bat)
|
||||
|
||||
/datum/bounty/item/assistant/extendohand
|
||||
name = "Extendo-Hand"
|
||||
description = "Commander Betsy is getting old, and can't bend over to get the telescreen remote anymore. Management has requested an extendo-hand to help her out."
|
||||
reward = 2500
|
||||
wanted_types = list(/obj/item/extendohand)
|
||||
|
||||
/datum/bounty/item/assistant/donut
|
||||
name = "Donuts"
|
||||
description = "CentCom's security forces are facing heavy losses against the Syndicate. Ship donuts to raise morale."
|
||||
reward = 3000
|
||||
required_count = 10
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/donut)
|
||||
|
||||
/datum/bounty/item/assistant/donkpocket
|
||||
name = "Donk-Pockets"
|
||||
description = "Consumer safety recall: Warning. Donk-Pockets manufactured in the past year contain hazardous lizard biomatter. Return units to CentCom immediately."
|
||||
reward = 3000
|
||||
required_count = 10
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/donkpocket)
|
||||
|
||||
/datum/bounty/item/assistant/briefcase
|
||||
name = "Briefcase"
|
||||
description = "Central Command will be holding a business convention this year. Ship a few briefcases in support."
|
||||
reward = 2500
|
||||
required_count = 5
|
||||
wanted_types = list(/obj/item/storage/briefcase)
|
||||
|
||||
/datum/bounty/item/assistant/sunglasses
|
||||
name = "Sunglasses"
|
||||
description = "A famous blues duo is passing through the sector, but they've lost their shades and they can't perform. Ship new sunglasses to CentCom to rectify this."
|
||||
reward = 3000
|
||||
required_count = 2
|
||||
wanted_types = list(/obj/item/clothing/glasses/sunglasses)
|
||||
|
||||
/datum/bounty/item/assistant/gondola_hide
|
||||
name = "Gondola Hide"
|
||||
description = "Central Command has recently learned of strange creatures called Gondolas. If you catch one, ship its hide back to CentCom."
|
||||
reward = 5000
|
||||
wanted_types = list(/obj/item/stack/sheet/animalhide/gondola)
|
||||
|
||||
/datum/bounty/item/assistant/monkey_hide
|
||||
name = "Monkey Hide"
|
||||
description = "One of the scientists at CentCom is interested in testing products on monkey skin. Your mission is to acquire monkey's hide and ship it."
|
||||
reward = 1500
|
||||
wanted_types = list(/obj/item/stack/sheet/animalhide/monkey)
|
||||
|
||||
/datum/bounty/item/assistant/heart
|
||||
name = "Heart"
|
||||
description = "Commander Johnson is in critical condition after suffering a heart attack. Doctors say he needs a new heart fast. Ship one, pronto!"
|
||||
reward = 3000
|
||||
wanted_types = list(/obj/item/organ/heart)
|
||||
|
||||
/datum/bounty/item/assistant/lung
|
||||
name = "Lungs"
|
||||
description = "A recent explosion at Central Command has left multiple staff with punctured lungs. Ship spare lungs to be rewarded."
|
||||
reward = 3000
|
||||
required_count = 1
|
||||
wanted_types = list(/obj/item/organ/lungs)
|
||||
|
||||
/datum/bounty/item/assistant/appendix
|
||||
name = "Appendix"
|
||||
description = "Chef Gibb of Central Command wants to prepare a meal using a very special delicacy: an appendix. If you ship one, he'll pay."
|
||||
reward = 3000
|
||||
wanted_types = list(/obj/item/organ/appendix)
|
||||
|
||||
/datum/bounty/item/assistant/lizard_tail
|
||||
name = "Lizard Tail"
|
||||
description = "The Wizard Federation has made off with Nanotrasen's supply of lizard tails. While CentCom is dealing with the wizards, can the station spare a tail of their own?"
|
||||
reward = 3000
|
||||
wanted_types = list(/obj/item/organ/tail/lizard)
|
||||
|
||||
/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. "
|
||||
reward = 1500
|
||||
required_count = 5
|
||||
wanted_types = list(/obj/structure/chair/comfy)
|
||||
|
||||
/datum/bounty/item/assistant/revolver
|
||||
name = "Revolver"
|
||||
description = "Captain Johann of station 12 has challenged Captain Vic of station 11 to a duel. He's asked for help securing an appropriate revolver to use."
|
||||
reward = 2000
|
||||
wanted_types = list(/obj/item/gun/ballistic/revolver)
|
||||
|
||||
/datum/bounty/item/assistant/hand_tele
|
||||
name = "Hand Tele"
|
||||
description = "Central Command has come up with a genius idea: Why not teleport cargo rather than ship it? Send over a hand tele, receive payment, then wait 6-8 years while they deliberate."
|
||||
reward = 2000
|
||||
wanted_types = list(/obj/item/hand_tele)
|
||||
|
||||
/datum/bounty/item/assistant/geranium
|
||||
name = "Geraniums"
|
||||
description = "Commander Zot has the hots for Commander Zena. Send a shipment of geraniums - her favorite flower - and he'll happily reward you."
|
||||
reward = 4000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/poppy/geranium)
|
||||
|
||||
/datum/bounty/item/assistant/poppy
|
||||
name = "Poppies"
|
||||
description = "Commander Zot really wants to sweep Security Officer Olivia off her feet. Send a shipment of Poppies - her favorite flower - and he'll happily reward you."
|
||||
reward = 1000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/poppy)
|
||||
include_subtypes = FALSE
|
||||
|
||||
/datum/bounty/item/assistant/shadyjims
|
||||
name = "Shady Jim's"
|
||||
description = "There's an irate officer at CentCom demanding that he receive a box of Shady Jim's cigarettes. Please ship one. He's starting to make threats."
|
||||
reward = 500
|
||||
wanted_types = list(/obj/item/storage/fancy/cigarettes/cigpack_shadyjims)
|
||||
|
||||
/datum/bounty/item/assistant/potted_plants
|
||||
name = "Potted Plants"
|
||||
description = "Central Command is looking to commission a new BirdBoat-class station. You've been ordered to supply the potted plants."
|
||||
reward = 2000
|
||||
required_count = 8
|
||||
wanted_types = list(/obj/item/twohanded/required/kirbyplants)
|
||||
|
||||
/datum/bounty/item/assistant/earmuffs
|
||||
name = "Earmuffs"
|
||||
description = "Central Command is getting tired of your station's messages. They've ordered that you ship some earmuffs to lessen the annoyance."
|
||||
reward = 1000
|
||||
wanted_types = list(/obj/item/clothing/ears/earmuffs)
|
||||
|
||||
/datum/bounty/item/assistant/handcuffs
|
||||
name = "Handcuffs"
|
||||
description = "A large influx of escaped convicts have arrived at Central Command. Now is the perfect time to ship out spare handcuffs (or restraints)."
|
||||
reward = 1000
|
||||
required_count = 5
|
||||
wanted_types = list(/obj/item/restraints/handcuffs)
|
||||
|
||||
/datum/bounty/item/assistant/monkey_cubes
|
||||
name = "Monkey Cubes"
|
||||
description = "Due to a recent genetics accident, Central Command is in serious need of monkeys. Your mission is to ship monkey cubes."
|
||||
reward = 2000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/monkeycube)
|
||||
|
||||
/datum/bounty/item/assistant/chainsaw
|
||||
name = "Chainsaw"
|
||||
description = "The chef at CentCom is having trouble butchering her animals. She requests one chainsaw, please."
|
||||
reward = 2500
|
||||
wanted_types = list(/obj/item/twohanded/required/chainsaw)
|
||||
|
||||
/datum/bounty/item/assistant/ied
|
||||
name = "IED"
|
||||
description = "Nanotrasen's maximum security prison at CentCom is undergoing personnel training. Ship a handful of IEDs to serve as a training tools."
|
||||
reward = 2000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/grenade/iedcasing)
|
||||
|
||||
/datum/bounty/item/assistant/bonfire
|
||||
name = "Lit Bonfire"
|
||||
description = "Space heaters are malfunctioning and the cargo crew of Central Command is starting to feel cold. Ship a lit bonfire to warm them up."
|
||||
reward = 5000
|
||||
wanted_types = list(/obj/structure/bonfire)
|
||||
|
||||
/datum/bounty/item/assistant/bonfire/applies_to(obj/O)
|
||||
if(!..())
|
||||
return FALSE
|
||||
var/obj/structure/bonfire/B = O
|
||||
return !!B.burning
|
||||
|
||||
/datum/bounty/item/assistant/plasma_tank
|
||||
name = "Full Tank of Plasma"
|
||||
description = "Station 12 has requested supplies to set up a singularity engine. In particular, they request 28 moles of plasma."
|
||||
reward = 2500
|
||||
wanted_types = list(/obj/item/tank)
|
||||
var/moles_required = 20 // A full tank is 28 moles, but CentCom ignores that fact.
|
||||
|
||||
/datum/bounty/item/assistant/plasma_tank/applies_to(obj/O)
|
||||
if(!..())
|
||||
return FALSE
|
||||
var/obj/item/tank/T = O
|
||||
if(!T.air_contents.gases[/datum/gas/plasma])
|
||||
return FALSE
|
||||
return T.air_contents.gases[/datum/gas/plasma][MOLES] >= moles_required
|
||||
|
||||
/datum/bounty/item/assistant/corgimeat
|
||||
name = "Raw Corgi Meat"
|
||||
description = "The Syndicate recently stole all of CentCom's corgi meat. Ship out a replacement immediately."
|
||||
reward = 3000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/meat/slab/corgi)
|
||||
|
||||
/datum/bounty/item/chef/action_figures
|
||||
name = "Action Figures"
|
||||
description = "The vice president's son saw an ad for action figures on the telescreen and now he won't shut up about them. Ship some to ease his complaints."
|
||||
reward = 4000
|
||||
required_count = 5
|
||||
wanted_types = list(/obj/item/toy/figure)
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
/datum/bounty/item/chef/birthday_cake
|
||||
name = "Birthday Cake"
|
||||
description = "Nanotrasen's birthday is coming up! Ship them a birthday cake to celebrate!"
|
||||
reward = 4000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday, /obj/item/reagent_containers/food/snacks/cakeslice/birthday)
|
||||
|
||||
/datum/bounty/item/chef/soup
|
||||
name = "Soup"
|
||||
description = "To quell the homeless uprising, Nanotrasen will be serving soup to all underpaid workers. Ship any type of soup."
|
||||
reward = 3000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/soup)
|
||||
|
||||
/datum/bounty/item/chef/popcorn
|
||||
name = "Popcorn Bags"
|
||||
description = "Upper management wants to host a movie night. Ship bags of popcorn for the occasion."
|
||||
reward = 3000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/popcorn)
|
||||
|
||||
/datum/bounty/item/chef/onionrings
|
||||
name = "Onion Rings"
|
||||
description = "Nanotrasen is remembering Saturn day. Ship onion rings to show the station's support."
|
||||
reward = 3000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/onionrings)
|
||||
|
||||
/datum/bounty/item/chef/icecreamsandwich
|
||||
name = "Ice Cream Sandwiches"
|
||||
description = "Upper management has been screaming non-stop for ice cream. Please send some."
|
||||
reward = 4000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/icecreamsandwich)
|
||||
|
||||
/datum/bounty/item/chef/bread
|
||||
name = "Bread"
|
||||
description = "Problems with central planning have led to bread prices skyrocketing. Ship some bread to ease tensions."
|
||||
reward = 1000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/store/bread, /obj/item/reagent_containers/food/snacks/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase)
|
||||
|
||||
/datum/bounty/item/chef/pie
|
||||
name = "Pie"
|
||||
description = "3.14159? No! CentCom management wants edible pie! Ship a whole one."
|
||||
reward = 3142
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/pie)
|
||||
|
||||
/datum/bounty/item/chef/salad
|
||||
name = "Salad or Rice Bowls"
|
||||
description = "CentCom management is going on a health binge. Your order is to ship salad or rice bowls."
|
||||
reward = 3000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/salad)
|
||||
|
||||
/datum/bounty/item/chef/carrotfries
|
||||
name = "Carrot Fries"
|
||||
description = "Night sight can mean life or death! A shipment of carrot fries is the order."
|
||||
reward = 3500
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/carrotfries)
|
||||
|
||||
/datum/bounty/item/chef/superbite
|
||||
name = "Super Bite Burger"
|
||||
description = "Commander Tubbs thinks he can set a competitive eating world record. All he needs is a super bite burger shipped to him."
|
||||
reward = 12000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/burger/superbite)
|
||||
|
||||
/datum/bounty/item/chef/poppypretzel
|
||||
name = "Poppy Pretzel"
|
||||
description = "Central Command needs a reason to fire their HR head. Send over a poppy pretzel to force a failed drug test."
|
||||
reward = 3000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/poppypretzel)
|
||||
|
||||
/datum/bounty/item/chef/cubancarp
|
||||
name = "Cuban Carp"
|
||||
description = "To celebrate the birth of Castro XXVII, ship one cuban carp to CentCom."
|
||||
reward = 8000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/cubancarp)
|
||||
|
||||
/datum/bounty/item/chef/hotdog
|
||||
name = "Hot Dog"
|
||||
description = "Nanotrasen is conducting taste tests to determine the best hot dog recipe. Ship your station's version to participate."
|
||||
reward = 8000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/hotdog)
|
||||
|
||||
/datum/bounty/item/chef/lemon
|
||||
name = "Lemons"
|
||||
description = "A commander claims he can turn lemons into money. Ship him a few and he'll deposit the money into the station's account."
|
||||
reward = 4444
|
||||
required_count = 10
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lemon)
|
||||
|
||||
/datum/bounty/item/chef/eggplantparm
|
||||
name = "Eggplant Parmigianas"
|
||||
description = "A famous singer will be arriving at CentCom, and their contract demands that they only be served Eggplant Parmigiana. Ship some, please!"
|
||||
reward = 3500
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/eggplantparm)
|
||||
|
||||
/datum/bounty/item/chef/muffin
|
||||
name = "Muffins"
|
||||
description = "The Muffin Man is visiting CentCom, but he's forgotten his muffins! Your order is to rectify this."
|
||||
reward = 3000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/muffin)
|
||||
|
||||
/datum/bounty/item/chef/chawanmushi
|
||||
name = "Chawanmushi"
|
||||
description = "Nanotrasen wants to improve relations with its sister company, Japanotrasen. Ship Chawanmushi immediately."
|
||||
reward = 8000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/chawanmushi)
|
||||
|
||||
/datum/bounty/item/chef/kebab
|
||||
name = "Kebabs"
|
||||
description = "Remove all kebab from station you are best food. Ship to CentCom to remove from the premises."
|
||||
reward = 3500
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/kebab)
|
||||
|
||||
/datum/bounty/item/chef/soylentgreen
|
||||
name = "Soylent Green"
|
||||
description = "CentCom has heard wonderful things about the product 'Soylent Green', and would love to try some. If you endulge them, expect a pleasant bonus."
|
||||
reward = 5000
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/soylentgreen)
|
||||
|
||||
/datum/bounty/item/chef/pancakes
|
||||
name = "Pancakes"
|
||||
description = "Here at Nanotrasen we consider employees to be family. And you know what families love? Pancakes. Ship a baker's dozen."
|
||||
reward = 5000
|
||||
required_count = 13
|
||||
wanted_types = list(/datum/crafting_recipe/food/pancakes)
|
||||
|
||||
/datum/bounty/item/chef/nuggies
|
||||
name = "Chicken Nuggets"
|
||||
description = "The vice president's son won't shut up about chicken nuggies. Would you mind shipping some?"
|
||||
reward = 4000
|
||||
required_count = 6
|
||||
wanted_types = list(/obj/item/reagent_containers/food/snacks/nugget)
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/datum/bounty/item
|
||||
var/required_count = 1
|
||||
var/shipped_count = 0
|
||||
var/list/wanted_types // Types accepted for the bounty.
|
||||
var/include_subtypes = TRUE // Set to FALSE to make the datum apply only to a strict type.
|
||||
var/list/exclude_types // Types excluded.
|
||||
|
||||
/datum/bounty/item/New()
|
||||
..()
|
||||
wanted_types = typecacheof(wanted_types)
|
||||
exclude_types = typecacheof(exclude_types)
|
||||
|
||||
/datum/bounty/item/completion_string()
|
||||
return {"[shipped_count]/[required_count]"}
|
||||
|
||||
/datum/bounty/item/can_claim()
|
||||
return ..() && shipped_count >= required_count
|
||||
|
||||
/datum/bounty/item/applies_to(obj/O)
|
||||
if(!include_subtypes && !(O.type in wanted_types))
|
||||
return FALSE
|
||||
if(include_subtypes && (!is_type_in_typecache(O, wanted_types) || is_type_in_typecache(O, exclude_types)))
|
||||
return FALSE
|
||||
if(O.flags_1 & HOLOGRAM_1)
|
||||
return FALSE
|
||||
return shipped_count < required_count
|
||||
|
||||
/datum/bounty/item/ship(obj/O)
|
||||
if(!applies_to(O))
|
||||
return
|
||||
shipped_count += 1
|
||||
|
||||
/datum/bounty/item/compatible_with(datum/other_bounty)
|
||||
return type != other_bounty.type
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/datum/bounty/item/mech/New()
|
||||
..()
|
||||
description = "Upper management has requested one [name] mech be sent as soon as possible. Ship it to receive a large payment."
|
||||
|
||||
/datum/bounty/item/mech/ship(obj/O)
|
||||
if(!applies_to(O))
|
||||
return
|
||||
if(istype(O, /obj/mecha))
|
||||
var/obj/mecha/M = O
|
||||
M.wreckage = null // So the mech doesn't explode.
|
||||
..()
|
||||
|
||||
/datum/bounty/item/mech/mark_high_priority(scale_reward)
|
||||
return ..(max(scale_reward * 0.7, 1.2))
|
||||
|
||||
/datum/bounty/item/mech/ripley
|
||||
name = "APLU \"Ripley\""
|
||||
reward = 13000
|
||||
wanted_types = list(/obj/mecha/working/ripley)
|
||||
|
||||
/datum/bounty/item/mech/odysseus
|
||||
name = "Odysseus"
|
||||
reward = 11000
|
||||
wanted_types = list(/obj/mecha/medical/odysseus)
|
||||
|
||||
/datum/bounty/item/mech/gygax
|
||||
name = "Gygax"
|
||||
reward = 28000
|
||||
wanted_types = list(/obj/mecha/combat/gygax)
|
||||
|
||||
/datum/bounty/item/mech/durand
|
||||
name = "Durand"
|
||||
reward = 20000
|
||||
wanted_types = list(/obj/mecha/combat/durand)
|
||||
|
||||
/datum/bounty/item/mech/phazon
|
||||
name = "Phazon"
|
||||
reward = 50000
|
||||
wanted_types = list(/obj/mecha/combat/phazon)
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
/datum/bounty/reagent
|
||||
var/required_volume = 10
|
||||
var/shipped_volume = 0
|
||||
var/datum/reagent/wanted_reagent
|
||||
|
||||
/datum/bounty/reagent/completion_string()
|
||||
return {"[round(shipped_volume)]/[required_volume] Units"}
|
||||
|
||||
/datum/bounty/reagent/can_claim()
|
||||
return ..() && shipped_volume >= required_volume
|
||||
|
||||
/datum/bounty/reagent/applies_to(obj/O)
|
||||
if(!istype(O, /obj/item/reagent_containers))
|
||||
return FALSE
|
||||
if(!O.reagents || !O.reagents.has_reagent(wanted_reagent.id))
|
||||
return FALSE
|
||||
if(O.flags_1 & HOLOGRAM_1)
|
||||
return FALSE
|
||||
return shipped_volume < required_volume
|
||||
|
||||
/datum/bounty/reagent/ship(obj/O)
|
||||
if(!applies_to(O))
|
||||
return
|
||||
shipped_volume += O.reagents.get_reagent_amount(wanted_reagent.id)
|
||||
if(shipped_volume > required_volume)
|
||||
shipped_volume = required_volume
|
||||
|
||||
/datum/bounty/reagent/compatible_with(other_bounty)
|
||||
if(!istype(other_bounty, /datum/bounty/reagent))
|
||||
return TRUE
|
||||
var/datum/bounty/reagent/R = other_bounty
|
||||
return wanted_reagent.id != R.wanted_reagent.id
|
||||
|
||||
/datum/bounty/reagent/simple_drink
|
||||
name = "Simple Drink"
|
||||
reward = 1500
|
||||
|
||||
datum/bounty/reagent/simple_drink/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some drinks are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/consumable/ethanol/antifreeze,\
|
||||
/datum/reagent/consumable/ethanol/andalusia,\
|
||||
/datum/reagent/consumable/tea/arnold_palmer,\
|
||||
/datum/reagent/consumable/ethanol/b52,\
|
||||
/datum/reagent/consumable/ethanol/bananahonk,\
|
||||
/datum/reagent/consumable/ethanol/beepsky_smash,\
|
||||
/datum/reagent/consumable/ethanol/between_the_sheets,\
|
||||
/datum/reagent/consumable/ethanol/bilk,\
|
||||
/datum/reagent/consumable/ethanol/black_russian,\
|
||||
/datum/reagent/consumable/ethanol/bloody_mary,\
|
||||
/datum/reagent/consumable/ethanol/brave_bull,\
|
||||
/datum/reagent/consumable/ethanol/martini,\
|
||||
/datum/reagent/consumable/ethanol/cuba_libre,\
|
||||
/datum/reagent/consumable/ethanol/eggnog,\
|
||||
/datum/reagent/consumable/ethanol/erikasurprise,\
|
||||
/datum/reagent/consumable/ethanol/ginfizz,\
|
||||
/datum/reagent/consumable/ethanol/gintonic,\
|
||||
/datum/reagent/consumable/ethanol/grappa,\
|
||||
/datum/reagent/consumable/ethanol/grog,\
|
||||
/datum/reagent/consumable/ethanol/hooch,\
|
||||
/datum/reagent/consumable/ethanol/iced_beer,\
|
||||
/datum/reagent/consumable/ethanol/irishcarbomb,\
|
||||
/datum/reagent/consumable/ethanol/manhattan,\
|
||||
/datum/reagent/consumable/ethanol/margarita,\
|
||||
/datum/reagent/consumable/ethanol/gargle_blaster,\
|
||||
/datum/reagent/consumable/ethanol/rum_coke,\
|
||||
/datum/reagent/consumable/ethanol/screwdrivercocktail,\
|
||||
/datum/reagent/consumable/ethanol/snowwhite,\
|
||||
/datum/reagent/consumable/soy_latte,\
|
||||
/datum/reagent/consumable/cafe_latte,\
|
||||
/datum/reagent/consumable/ethanol/syndicatebomb,\
|
||||
/datum/reagent/consumable/ethanol/tequila_sunrise,\
|
||||
/datum/reagent/consumable/ethanol/manly_dorf,\
|
||||
/datum/reagent/consumable/ethanol/thirteenloko,\
|
||||
/datum/reagent/consumable/triple_citrus,\
|
||||
/datum/reagent/consumable/ethanol/vodkamartini,\
|
||||
/datum/reagent/consumable/ethanol/whiskeysoda,\
|
||||
/datum/reagent/consumable/ethanol/beer/green,\
|
||||
/datum/reagent/consumable/ethanol/demonsblood,\
|
||||
/datum/reagent/consumable/ethanol/crevice_spike,\
|
||||
/datum/reagent/consumable/ethanol/singulo,\
|
||||
/datum/reagent/consumable/ethanol/whiskey_sour)
|
||||
|
||||
var/reagent_type = pick(possible_reagents)
|
||||
wanted_reagent = new reagent_type
|
||||
name = wanted_reagent.name
|
||||
description = "CentCom is thirsty! Send a shipment of [name] to CentCom to quench the company's thirst."
|
||||
reward += rand(0, 2) * 500
|
||||
|
||||
/datum/bounty/reagent/complex_drink
|
||||
name = "Complex Drink"
|
||||
reward = 4000
|
||||
|
||||
datum/bounty/reagent/complex_drink/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some drinks are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/consumable/ethanol/atomicbomb,\
|
||||
/datum/reagent/consumable/ethanol/bacchus_blessing,\
|
||||
/datum/reagent/consumable/ethanol/bastion_bourbon,\
|
||||
/datum/reagent/consumable/ethanol/booger,\
|
||||
/datum/reagent/consumable/ethanol/hippies_delight,\
|
||||
/datum/reagent/consumable/ethanol/drunkenblumpkin,\
|
||||
/datum/reagent/consumable/ethanol/fetching_fizz,\
|
||||
/datum/reagent/consumable/ethanol/goldschlager,\
|
||||
/datum/reagent/consumable/ethanol/hearty_punch,\
|
||||
/datum/reagent/consumable/ethanol/manhattan_proj,\
|
||||
/datum/reagent/consumable/ethanol/narsour,\
|
||||
/datum/reagent/consumable/ethanol/neurotoxin,\
|
||||
/datum/reagent/consumable/ethanol/patron,\
|
||||
/datum/reagent/consumable/ethanol/quadruple_sec,\
|
||||
/datum/reagent/consumable/ethanol/quintuple_sec,\
|
||||
/datum/reagent/consumable/bluecherryshake,\
|
||||
/datum/reagent/consumable/doctor_delight,\
|
||||
/datum/reagent/consumable/ethanol/silencer)
|
||||
|
||||
var/reagent_type = pick(possible_reagents)
|
||||
wanted_reagent = new reagent_type
|
||||
name = wanted_reagent.name
|
||||
description = "CentCom is offering a reward for talented mixologists. Ship a container of [name] to claim the prize."
|
||||
reward += rand(0, 4) * 500
|
||||
|
||||
/datum/bounty/reagent/chemical
|
||||
name = "Chemical"
|
||||
reward = 4000
|
||||
required_volume = 30
|
||||
|
||||
datum/bounty/reagent/chemical/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some chems are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/medicine/leporazine,\
|
||||
/datum/reagent/medicine/clonexadone,\
|
||||
/datum/reagent/medicine/pyroxadone,\
|
||||
/datum/reagent/medicine/rezadone,\
|
||||
/datum/reagent/medicine/mine_salve,\
|
||||
/datum/reagent/medicine/pen_acid,\
|
||||
/datum/reagent/medicine/perfluorodecalin,\
|
||||
/datum/reagent/medicine/ephedrine,\
|
||||
/datum/reagent/medicine/diphenhydramine,\
|
||||
/datum/reagent/medicine/atropine,\
|
||||
/datum/reagent/medicine/strange_reagent,\
|
||||
/datum/reagent/medicine/regen_jelly,\
|
||||
/datum/reagent/drug/space_drugs,\
|
||||
/datum/reagent/drug/crank,\
|
||||
/datum/reagent/drug/krokodil,\
|
||||
/datum/reagent/drug/methamphetamine,\
|
||||
/datum/reagent/drug/bath_salts,\
|
||||
/datum/reagent/drug/aranesp,\
|
||||
/datum/reagent/nitroglycerin,\
|
||||
/datum/reagent/blackpowder,\
|
||||
/datum/reagent/napalm,\
|
||||
/datum/reagent/teslium,\
|
||||
/datum/reagent/firefighting_foam,\
|
||||
/datum/reagent/consumable/honey,\
|
||||
/datum/reagent/consumable/mayonnaise,\
|
||||
/datum/reagent/consumable/frostoil,\
|
||||
/datum/reagent/toxin/slimejelly,\
|
||||
/datum/reagent/toxin/itching_powder,\
|
||||
/datum/reagent/toxin/amanitin,\
|
||||
/datum/reagent/toxin/coniine,\
|
||||
/datum/reagent/toxin/cyanide,\
|
||||
/datum/reagent/toxin/heparin,\
|
||||
/datum/reagent/toxin/skewium,\
|
||||
/datum/reagent/toxin/anacea,\
|
||||
/datum/reagent/toxin/mimesbane,\
|
||||
/datum/reagent/pax)
|
||||
|
||||
var/reagent_type = pick(possible_reagents)
|
||||
wanted_reagent = new reagent_type
|
||||
name = wanted_reagent.name
|
||||
description = "CentCom is in desperate need of the chemical [name]. Ship a container of it to be rewarded."
|
||||
reward += rand(0, 4) * 500
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
/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/backpack/holding)
|
||||
|
||||
/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/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/flightsuit
|
||||
name = "Flight Suit"
|
||||
description = "According to all known laws of physics, flight suits are cool. CentCom will pay at a premium for them, so get shipping!"
|
||||
reward = 30000
|
||||
wanted_types = list(/obj/item/clothing/suit/space/hardsuit/flightsuit)
|
||||
|
||||
/datum/bounty/item/science/advanced_mop
|
||||
name = "Advanced Mop"
|
||||
description = "Excuse me. I'd like to request $17 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)
|
||||
@@ -0,0 +1,62 @@
|
||||
/datum/bounty/item/security/headset
|
||||
name = "Security Headset"
|
||||
description = "Nanotrasen wants to ensure that their encryption is working correctly. Ship them a security headset so that they can check."
|
||||
reward = 800
|
||||
wanted_types = list(/obj/item/radio/headset/headset_sec, /obj/item/radio/headset/heads/hos)
|
||||
|
||||
/datum/bounty/item/security/securitybelt
|
||||
name = "Security Belt"
|
||||
description = "CentCom is having difficulties with their security belts. Ship one from the station to receive compensation."
|
||||
reward = 800
|
||||
wanted_types = list(/obj/item/storage/belt/security)
|
||||
|
||||
/datum/bounty/item/security/sechuds
|
||||
name = "Security HUDSunglasses"
|
||||
description = "CentCom screwed up and ordered the wrong type of security sunglasses. They request the station ship some of theirs."
|
||||
reward = 800
|
||||
wanted_types = list(/obj/item/clothing/glasses/hud/security/sunglasses)
|
||||
|
||||
/datum/bounty/item/security/riotshotgun
|
||||
name = "Riot Shotguns"
|
||||
description = "Hooligans have boarded CentCom! Ship riot shotguns quick, or things are going to get dirty."
|
||||
reward = 5000
|
||||
required_count = 2
|
||||
wanted_types = list(/obj/item/gun/ballistic/shotgun/riot)
|
||||
|
||||
/datum/bounty/item/security/pinpointer
|
||||
name = "Nuclear Pinpointer"
|
||||
description = "There's a teeny-tiny itty-bitty chance CentCom may have lost a nuke disk. Can the station spare a pinpointer to help out?"
|
||||
reward = 1500
|
||||
wanted_types = list(/obj/item/pinpointer/nuke)
|
||||
|
||||
/datum/bounty/item/security/captains_spare
|
||||
name = "Captain's Spare"
|
||||
description = "Captain Bart of Station 12 has forgotten his ID! Ship him your station's spare, would you?"
|
||||
reward = 1500
|
||||
wanted_types = list(/obj/item/card/id/captains_spare)
|
||||
|
||||
/datum/bounty/item/security/hardsuit
|
||||
name = "Security Hardsuit"
|
||||
description = "Space pirates are heading towards CentCom! Quick! Ship a security hardsuit to aid the fight!"
|
||||
reward = 2000
|
||||
wanted_types = list(/obj/item/clothing/suit/space/hardsuit/security)
|
||||
|
||||
/datum/bounty/item/security/krav_maga
|
||||
name = "Krav Maga Gloves"
|
||||
description = "Chef Howerwitz of CentCom is trying to take a kung-fu Pizza out of the oven, but his mitts aren't up to the task. Ship them a pair of Krav Maga gloves to do the job right."
|
||||
reward = 2000
|
||||
wanted_types = list(/obj/item/clothing/gloves/krav_maga)
|
||||
|
||||
/datum/bounty/item/security/recharger
|
||||
name = "Rechargers"
|
||||
description = "Nanotrasen military academy is conducting marksmanship exercises. They request that rechargers be shipped."
|
||||
reward = 2000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/machinery/recharger)
|
||||
|
||||
/datum/bounty/item/security/sabre
|
||||
name = "Officer's Sabre"
|
||||
description = "A 3-hour LARP session will be held at CentCom in the upcoming months. A shipped officer's sabre would make a good prop."
|
||||
reward = 2500
|
||||
wanted_types = list(/obj/item/melee/sabre)
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
/datum/bounty/item/slime
|
||||
reward = 3000
|
||||
|
||||
/datum/bounty/item/slime/New()
|
||||
..()
|
||||
description = "Nanotrasen's science lead is hunting for the rare and exotic [name]. A bounty has been offered for finding it."
|
||||
reward += rand(0, 4) * 500
|
||||
|
||||
/datum/bounty/item/slime/green
|
||||
name = "Green Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/green)
|
||||
|
||||
/datum/bounty/item/slime/pink
|
||||
name = "Pink Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/pink)
|
||||
|
||||
/datum/bounty/item/slime/gold
|
||||
name = "Gold Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/gold)
|
||||
|
||||
/datum/bounty/item/slime/oil
|
||||
name = "Oil Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/oil)
|
||||
|
||||
/datum/bounty/item/slime/black
|
||||
name = "Black Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/black)
|
||||
|
||||
/datum/bounty/item/slime/lightpink
|
||||
name = "Light Pink Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/lightpink)
|
||||
|
||||
/datum/bounty/item/slime/adamantine
|
||||
name = "Adamantine Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/adamantine)
|
||||
|
||||
/datum/bounty/item/slime/rainbow
|
||||
name = "Rainbow Slime Extract"
|
||||
wanted_types = list(/obj/item/slime_extract/rainbow)
|
||||
@@ -0,0 +1,41 @@
|
||||
/datum/bounty/item/alien_organs
|
||||
name = "Alien Organs"
|
||||
description = "Nanotrasen is interested in studying Xenomorph biology. Ship a set of organs to be thouroughly compensated."
|
||||
reward = 25000
|
||||
required_count = 3
|
||||
wanted_types = list(/obj/item/organ/brain/alien, /obj/item/organ/alien, /obj/item/organ/body_egg/alien_embryo)
|
||||
|
||||
/datum/bounty/item/syndicate_documents
|
||||
name = "Syndicate Documents"
|
||||
description = "Intel regarding the syndicate is highly prized at CentCom. If you find syndicate documents, ship them. You could save lives."
|
||||
reward = 10000
|
||||
wanted_types = list(/obj/item/documents/syndicate, /obj/item/documents/photocopy)
|
||||
|
||||
/datum/bounty/item/syndicate_documents/applies_to(obj/O)
|
||||
if(!..())
|
||||
return FALSE
|
||||
if(istype(O, /obj/item/documents/photocopy))
|
||||
var/obj/item/documents/photocopy/Copy = O
|
||||
return (Copy.copy_type && ispath(Copy.copy_type, /obj/item/documents/syndicate))
|
||||
return TRUE
|
||||
|
||||
/datum/bounty/more_bounties
|
||||
name = "More Bounties"
|
||||
description = "Complete enough bounties and CentCom will issue new ones!"
|
||||
reward = 3 // number of bounties
|
||||
var/required_bounties = 5
|
||||
|
||||
/datum/bounty/more_bounties/can_claim()
|
||||
return ..() && completed_bounty_count() >= required_bounties
|
||||
|
||||
/datum/bounty/more_bounties/completion_string()
|
||||
return "[min(required_bounties, completed_bounty_count())]/[required_bounties] Bounties"
|
||||
|
||||
/datum/bounty/more_bounties/reward_string()
|
||||
return "Up to [reward] new bounties"
|
||||
|
||||
/datum/bounty/more_bounties/claim()
|
||||
if(can_claim())
|
||||
claimed = TRUE
|
||||
for(var/i = 0; i < reward; ++i)
|
||||
try_add_bounty(random_bounty())
|
||||
@@ -0,0 +1,81 @@
|
||||
/datum/bounty/virus
|
||||
reward = 5000
|
||||
var/shipped = FALSE
|
||||
var/stat_value = 0
|
||||
var/stat_name = ""
|
||||
|
||||
/datum/bounty/virus/New()
|
||||
..()
|
||||
stat_value = rand(4, 11)
|
||||
if(rand(3) == 1)
|
||||
stat_value *= -1
|
||||
name = "Virus ([stat_name] of [stat_value])"
|
||||
description = "Nanotrasen is interested in a virus with a [stat_name] stat of exactly [stat_value]. Central Command will pay handsomely for such a virus."
|
||||
reward += rand(0, 4) * 500
|
||||
|
||||
/datum/bounty/virus/completion_string()
|
||||
return shipped ? "Shipped" : "Not Shipped"
|
||||
|
||||
/datum/bounty/virus/can_claim()
|
||||
return ..() && shipped
|
||||
|
||||
/datum/bounty/virus/applies_to(obj/O)
|
||||
if(shipped)
|
||||
return FALSE
|
||||
if(O.flags_1 & HOLOGRAM_1)
|
||||
return FALSE
|
||||
if(!istype(O, /obj/item/reagent_containers || !O.reagents || !O.reagents.reagent_list))
|
||||
return FALSE
|
||||
var/datum/reagent/blood/B = locate() in O.reagents.reagent_list
|
||||
if(!B)
|
||||
return FALSE
|
||||
for(var/V in B.get_diseases())
|
||||
if(!istype(V, /datum/disease/advance))
|
||||
continue
|
||||
if(accepts_virus(V))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/bounty/virus/ship(obj/O)
|
||||
if(!applies_to(O))
|
||||
return
|
||||
shipped = TRUE
|
||||
|
||||
/datum/bounty/virus/compatible_with(datum/other_bounty)
|
||||
if(!istype(other_bounty, /datum/bounty/virus))
|
||||
return TRUE
|
||||
var/datum/bounty/virus/V = other_bounty
|
||||
return type != V.type || stat_value != V.stat_value
|
||||
|
||||
|
||||
/datum/bounty/virus/proc/accepts_virus(V)
|
||||
return TRUE
|
||||
|
||||
/datum/bounty/virus/resistance
|
||||
stat_name = "resistance"
|
||||
|
||||
/datum/bounty/virus/resistance/accepts_virus(V)
|
||||
var/datum/disease/advance/A = V
|
||||
return A.totalResistance() == stat_value
|
||||
|
||||
/datum/bounty/virus/stage_speed
|
||||
stat_name = "stage speed"
|
||||
|
||||
/datum/bounty/virus/stage_speed/accepts_virus(V)
|
||||
var/datum/disease/advance/A = V
|
||||
return A.totalStageSpeed() == stat_value
|
||||
|
||||
/datum/bounty/virus/stealth
|
||||
stat_name = "stealth"
|
||||
|
||||
/datum/bounty/virus/stealth/accepts_virus(V)
|
||||
var/datum/disease/advance/A = V
|
||||
return A.totalStealth() == stat_value
|
||||
|
||||
/datum/bounty/virus/transmit
|
||||
stat_name = "transmittable"
|
||||
|
||||
/datum/bounty/virus/transmit/accepts_virus(V)
|
||||
var/datum/disease/advance/A = V
|
||||
return A.totalTransmittable() == stat_value
|
||||
|
||||
Reference in New Issue
Block a user