mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-15 18:14:22 +01:00
00ccf0c6b5
# Conflicts: # .github/CODEOWNERS # .github/workflows/compile_changelogs.yml # .github/workflows/stale.yml # SQL/database_changelog.md # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # code/__DEFINES/atom_hud.dm # code/__DEFINES/inventory.dm # code/__DEFINES/mobs.dm # code/__DEFINES/species_clothing_paths.dm # code/__DEFINES/subsystems.dm # code/__DEFINES/surgery.dm # code/__HELPERS/global_lists.dm # code/_globalvars/lists/maintenance_loot.dm # code/_globalvars/traits/_traits.dm # code/controllers/subsystem/minor_mapping.dm # code/controllers/subsystem/processing/quirks.dm # code/controllers/subsystem/shuttle.dm # code/datums/components/palette.dm # code/datums/components/surgery_initiator.dm # code/datums/diseases/advance/advance.dm # code/datums/hud.dm # code/datums/mood.dm # code/datums/mutations/chameleon.dm # code/datums/quirks/negative_quirks/nyctophobia.dm # code/datums/status_effects/debuffs/debuffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/slime/slime_leech.dm # code/datums/weather/weather.dm # code/game/data_huds.dm # code/game/objects/items.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/frog_statue.dm # code/game/objects/items/rcd/RLD.dm # code/game/objects/items/robot/items/hypo.dm # code/game/objects/items/stacks/medical.dm # code/game/objects/items/stacks/wrap.dm # code/game/objects/items/storage/garment.dm # code/game/objects/items/tools/medical/defib.dm # code/game/objects/items/weaponry.dm # code/game/objects/items/weaponry/melee/misc.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/game/objects/structures/curtains.dm # code/game/objects/structures/dresser.dm # code/game/objects/structures/girders.dm # code/game/objects/structures/maintenance.dm # code/game/objects/structures/mirror.dm # code/modules/admin/greyscale_modify_menu.dm # code/modules/admin/verbs/light_debug.dm # code/modules/antagonists/ashwalker/ashwalker.dm # code/modules/antagonists/heretic/knowledge/starting_lore.dm # code/modules/antagonists/ninja/ninjaDrainAct.dm # code/modules/art/paintings.dm # code/modules/client/preferences.dm # code/modules/client/verbs/ooc.dm # code/modules/clothing/head/wig.dm # code/modules/events/disease_outbreak.dm # code/modules/holodeck/holo_effect.dm # code/modules/jobs/job_types/head_of_security.dm # code/modules/jobs/job_types/security_officer.dm # code/modules/library/skill_learning/generic_skillchips/point.dm # code/modules/mining/lavaland/ash_flora.dm # code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/basic/guardian/guardian.dm # code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm # code/modules/mob/living/carbon/carbon.dm # code/modules/mob/living/carbon/human/human.dm # code/modules/mob/living/carbon/human/human_defines.dm # code/modules/mob/living/carbon/life.dm # code/modules/mob/living/living.dm # code/modules/mob/living/living_defines.dm # code/modules/mob/mob.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mod/mod_control.dm # code/modules/mod/modules/modules_general.dm # code/modules/modular_computers/computers/item/computer_ui.dm # code/modules/paperwork/paper.dm # code/modules/paperwork/paperbin.dm # code/modules/power/lighting/light.dm # code/modules/projectiles/guns/energy/kinetic_accelerator.dm # code/modules/projectiles/projectile.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/food_reagents.dm # code/modules/reagents/chemistry/reagents/other_reagents.dm # code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm # code/modules/research/xenobiology/crossbreeding/_clothing.dm # code/modules/research/xenobiology/crossbreeding/prismatic.dm # code/modules/surgery/advanced/brainwashing.dm # code/modules/surgery/advanced/lobotomy.dm # code/modules/surgery/amputation.dm # code/modules/surgery/blood_filter.dm # code/modules/surgery/bodyparts/_bodyparts.dm # code/modules/surgery/brain_surgery.dm # code/modules/surgery/cavity_implant.dm # code/modules/surgery/coronary_bypass.dm # code/modules/surgery/gastrectomy.dm # code/modules/surgery/healing.dm # code/modules/surgery/limb_augmentation.dm # code/modules/surgery/organ_manipulation.dm # code/modules/surgery/revival.dm # code/modules/surgery/sleeper_protocol.dm # code/modules/surgery/surgery_helpers.dm # code/modules/surgery/surgery_step.dm # code/modules/unit_tests/_unit_tests.dm # code/modules/unit_tests/designs.dm # code/modules/unit_tests/icon_state_worn.dm # code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png # code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png # code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png # code/modules/unit_tests/screenshots/screenshot_husk_body.png # code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png # icons/map_icons/clothing/head/_head.dmi # icons/map_icons/clothing/shoes.dmi # icons/map_icons/items/_item.dmi # icons/mob/huds/hud.dmi # icons/mob/inhands/64x64_lefthand.dmi # icons/mob/inhands/64x64_righthand.dmi # icons/obj/machines/computer.dmi # tgui/packages/tgui/interfaces/OperatingComputer.jsx # tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx # tgui/packages/tgui/interfaces/PreferencesMenu/types.ts # tgui/packages/tgui/interfaces/SurgeryInitiator.tsx # tools/icon_cutter/check.py
288 lines
12 KiB
Plaintext
288 lines
12 KiB
Plaintext
// Bounties moved to modular zubbers folder so it isn't a commented out nightmare of individual removals.
|
|
|
|
/*
|
|
/datum/bounty/item/assistant/strange_object
|
|
name = "Strange Object"
|
|
description = "Nanotrasen has taken an interest in strange objects. Find one in maintenance, and ship it off to CentCom right away."
|
|
reward = CARGO_CRATE_VALUE * 2.4
|
|
wanted_types = list(/obj/item/relic = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 2.16 // the mat hoffman
|
|
wanted_types = list(/obj/vehicle/ridden/scooter = TRUE)
|
|
include_subtypes = FALSE
|
|
|
|
/datum/bounty/item/assistant/skateboard
|
|
name = "Skateboard"
|
|
description = "Nanotrasen has determined walking to be wasteful. Ship a skateboard to CentCom to speed operations up."
|
|
reward = CARGO_CRATE_VALUE * 1.8 // the tony hawk
|
|
wanted_types = list(
|
|
/obj/vehicle/ridden/scooter/skateboard = TRUE,
|
|
/obj/item/melee/skateboard = TRUE,
|
|
)
|
|
|
|
/datum/bounty/item/assistant/stunprod
|
|
name = "Stunprod"
|
|
description = "CentCom demands a stunprod to use against dissidents. Craft one, then ship it."
|
|
reward = CARGO_CRATE_VALUE * 2.6
|
|
wanted_types = list(/obj/item/melee/baton/security/cattleprod = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 4
|
|
required_count = 3
|
|
wanted_types = list(/obj/item/soap = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 4
|
|
required_count = 5
|
|
wanted_types = list(/obj/item/spear = TRUE)
|
|
|
|
/datum/bounty/item/assistant/toolbox
|
|
name = "Stocked Toolbox"
|
|
description = "There's an absence of robustness at Central Command. Ship them a fully packed toolbox as a solution, containing a screwdriver, wrench, welding tool, crowbar, analyzer, and wirecutters."
|
|
reward = CARGO_CRATE_VALUE * 4
|
|
wanted_types = list(/obj/item/storage/toolbox = TRUE)
|
|
/// List of tools that we want to see sorted into a toolbox
|
|
var/static/list/static_packing_list = list(
|
|
/obj/item/screwdriver,
|
|
/obj/item/wrench,
|
|
/obj/item/weldingtool,
|
|
/obj/item/crowbar,
|
|
/obj/item/analyzer,
|
|
/obj/item/wirecutters,
|
|
)
|
|
|
|
/datum/bounty/item/assistant/toolbox/applies_to(obj/shipped)
|
|
var/list/packing_list = static_packing_list.Copy()
|
|
for(var/obj/item_contents as anything in shipped.contents)
|
|
for(var/match_type in packing_list)
|
|
if(istype(item_contents, match_type))
|
|
packing_list -= match_type
|
|
break
|
|
if(!length(packing_list))
|
|
return ..()
|
|
return FALSE
|
|
|
|
/datum/bounty/item/assistant/toolbox/ship(obj/shipped)
|
|
. = ..()
|
|
for(var/obj/object as anything in shipped.contents)
|
|
if(!is_type_in_list(object, static_packing_list))
|
|
object.forceMove(shipped.drop_location())
|
|
|
|
/datum/bounty/item/assistant/statue
|
|
name = "Statue"
|
|
description = "Central Command would like to commission an artsy statue for the lobby. Ship one out, when possible."
|
|
reward = CARGO_CRATE_VALUE * 4
|
|
wanted_types = list(/obj/structure/statue = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 3
|
|
wanted_types = list(/obj/item/storage/box/clown = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 2.4
|
|
required_count = 3
|
|
wanted_types = list(/obj/item/food/cheesiehonkers = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 4
|
|
required_count = 5
|
|
wanted_types = list(/obj/item/melee/baseball_bat = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 5
|
|
wanted_types = list(/obj/item/extendohand = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 6
|
|
required_count = 6
|
|
wanted_types = list(/obj/item/food/donut = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 6
|
|
required_count = 10
|
|
wanted_types = list(/obj/item/food/donkpocket = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 3
|
|
wanted_types = list(/obj/item/stack/sheet/animalhide/carbon/monkey = TRUE)
|
|
|
|
/datum/bounty/item/assistant/dead_mice
|
|
name = "Dead Mice"
|
|
description = "Station 14 ran out of freeze-dried mice. Ship some fresh ones so their janitor doesn't go on strike."
|
|
reward = CARGO_CRATE_VALUE * 10
|
|
required_count = 5
|
|
wanted_types = list(/obj/item/food/deadmouse = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 3
|
|
required_count = 5
|
|
wanted_types = list(/obj/structure/chair/comfy = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 8
|
|
required_count = 3
|
|
wanted_types = list(/obj/item/food/grown/poppy/geranium = TRUE)
|
|
include_subtypes = FALSE
|
|
|
|
/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 = CARGO_CRATE_VALUE * 2
|
|
required_count = 3
|
|
wanted_types = list(/obj/item/food/grown/poppy = TRUE)
|
|
include_subtypes = FALSE
|
|
|
|
/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 = CARGO_CRATE_VALUE * 4
|
|
required_count = 3
|
|
wanted_types = list(
|
|
/obj/item/kirbyplants = TRUE,
|
|
/obj/item/kirbyplants/synthetic = FALSE
|
|
)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 4
|
|
required_count = 3
|
|
wanted_types = list(/obj/item/food/monkeycube = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 4
|
|
required_count = 3
|
|
wanted_types = list(/obj/item/grenade/iedcasing = TRUE)
|
|
|
|
/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 = CARGO_CRATE_VALUE * 6
|
|
wanted_types = list(/obj/item/food/meat/slab/corgi = TRUE)
|
|
|
|
/datum/bounty/item/assistant/toys
|
|
name = "Arcade Toys"
|
|
description = "The vice president's son saw an ad for new toys on the telescreen and now he won't shut up about them. Ship some arcade toys over to ease his complaints."
|
|
reward = CARGO_CRATE_VALUE * 8
|
|
required_count = 5
|
|
wanted_types = list(/obj/item/toy = TRUE)
|
|
|
|
/datum/bounty/item/assistant/paper_bin
|
|
name = "Paper Bins"
|
|
description = "Our accounting division is all out of paper. We need a new shipment immediately."
|
|
reward = CARGO_CRATE_VALUE * 5
|
|
required_count = 5
|
|
wanted_types = list(/obj/item/paper_bin = TRUE)
|
|
|
|
/datum/bounty/item/assistant/crayons
|
|
name = "Crayons"
|
|
description = "Dr. Jones's kid ate all of our crayons again. Please send us yours."
|
|
reward = CARGO_CRATE_VALUE * 4
|
|
required_count = 8
|
|
wanted_types = list(/obj/item/toy/crayon = TRUE)
|
|
|
|
/datum/bounty/item/assistant/water_tank
|
|
name = "Water Tank"
|
|
description = "We need more water for our hydroponics bay. Find a water tank and ship it out to us."
|
|
reward = CARGO_CRATE_VALUE * 5
|
|
wanted_types = list(/obj/structure/reagent_dispensers/watertank = TRUE)
|
|
|
|
/datum/bounty/item/assistant/pneumatic_cannon
|
|
name = "Pneumatic Cannon"
|
|
description = "We're figuring out how hard we can launch supermatter shards out of a pneumatic cannon. Send us one as soon as possible."
|
|
reward = CARGO_CRATE_VALUE * 4
|
|
wanted_types = list(/obj/item/pneumatic_cannon/ghetto = TRUE)
|
|
|
|
/datum/bounty/item/assistant/improvised_shells
|
|
name = "Junk Shells"
|
|
description = "Our assistant militia has chewed through all our iron supplies. To stop them making bullets out of station property, we need junk shells, pronto."
|
|
reward = CARGO_CRATE_VALUE * 4
|
|
required_count = 5
|
|
wanted_types = list(/obj/item/ammo_casing/junk = TRUE)
|
|
|
|
/datum/bounty/item/assistant/flamethrower
|
|
name = "Flamethrower"
|
|
description = "We have a moth infestation, send a flamethrower to help deal with the situation."
|
|
reward = CARGO_CRATE_VALUE * 4
|
|
wanted_types = list(/obj/item/flamethrower = TRUE)
|
|
|
|
/datum/bounty/item/assistant/fish
|
|
name = "Fish"
|
|
description = "We need fish to populate our aquariums with. Fishes that are dead or bought from cargo will only be paid half as much."
|
|
reward = CARGO_CRATE_VALUE * 9.5
|
|
required_count = 4
|
|
wanted_types = list(/obj/item/fish = TRUE, /obj/item/storage/fish_case = TRUE)
|
|
///the penalty for shipping dead/bought fish, which can subtract up to half the reward in total.
|
|
var/shipping_penalty
|
|
|
|
/datum/bounty/item/assistant/fish/New()
|
|
..()
|
|
shipping_penalty = reward * 0.5 / required_count
|
|
|
|
/datum/bounty/item/assistant/fish/applies_to(obj/shipped)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/obj/item/fish/fishie = shipped
|
|
if(istype(shipped, /obj/item/storage/fish_case))
|
|
fishie = locate() in shipped
|
|
if(!fishie || !is_type_in_typecache(fishie, wanted_types))
|
|
return FALSE
|
|
return can_ship_fish(fishie)
|
|
|
|
/datum/bounty/item/assistant/fish/proc/can_ship_fish(obj/item/fish/fishie)
|
|
return TRUE
|
|
|
|
/datum/bounty/item/assistant/fish/ship(obj/shipped)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/obj/item/fish/fishie = shipped
|
|
if(istype(shipped, /obj/item/storage/fish_case))
|
|
fishie = locate() in shipped
|
|
if(fishie.status == FISH_DEAD || HAS_TRAIT(fishie, TRAIT_FISH_LOW_PRICE))
|
|
reward -= shipping_penalty
|
|
|
|
///A subtype of the fish bounty that requires fish with a specific fluid type
|
|
/datum/bounty/item/assistant/fish/fluid
|
|
reward = CARGO_CRATE_VALUE * 12
|
|
///The required fluid type of the fish for it to be shipped
|
|
var/fluid_type
|
|
|
|
/datum/bounty/item/assistant/fish/fluid/New()
|
|
..()
|
|
fluid_type = pick(AQUARIUM_FLUID_FRESHWATER, AQUARIUM_FLUID_SALTWATER, AQUARIUM_FLUID_SULPHWATEVER)
|
|
name = "[fluid_type] Fish"
|
|
description = "We need [LOWER_TEXT(fluid_type)] fish to populate our aquariums with. Fishes that are dead or bought from cargo will only be paid half as much."
|
|
|
|
/datum/bounty/item/assistant/fish/fluid/can_ship_fish(obj/item/fish/fishie)
|
|
return (fluid_type in GLOB.fish_compatible_fluid_types[fishie.required_fluid_type])
|
|
*/
|