mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
21497e1996
## About The Pull Request - Removes a bunch of blocker bounties that would cause you to get stuck for 5 minutes if you obtained multiple at once. - Adds some new bounties to freshen things up. // Tested: Watermelon, Toy Swords, Mousetraps, Wired Glass Tiles, Bolas, Towels, Dog Bed, Clipboards, Cargo Shelving, Crude Blueprints, Motorized Wheelchair, Trapdoor Kit. // Removed: Soap, Clown Box, Cheese Honkers, Extendo-Hand, Donk-Pockets, Dead Mice, Raw Corgi Meat, Geranium, Poppies ## Why It's Good For The Game I mean, that's debatable, but as an assistant bounties can be a huge roadblock to getting anything done if cargo isn't using the exploit of the week to print free money. This removes the listed bounties for a few reasons: - Take more than 5 minutes to acquire and people would just reroll them anyway. (Soap, Clown Box, Dead Mice, Geranium, Poppies, Raw Corgi Meat) - Limited amount available. (Extendo Hand, Cheese Honkers, Dead Mice) - Exploitable via cargo orders. (Dead Mice, Donk-Pockets) ## Proof Of Testing No proof but I did it, it was a painstaking endeavor. I just commented out most bounties while testing the new ones added. </details> ## Changelog 🆑 add: An assortment of new assistant bounties. del: Annoying or unfeasible assistant bounties. balance: Crayon bounty requires 7, not 8, crayons. code: Assistant Bounties moved to Modular Zubbers. /🆑
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/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])
|
|
*/
|