Tidying bounties (#8776)

This commit is contained in:
Kaedwuff
2020-05-10 06:02:16 -05:00
committed by GitHub
parent 2f16847235
commit ac330c190e
8 changed files with 141 additions and 315 deletions
-1
View File
@@ -1294,7 +1294,6 @@
#include "code\modules\cargo\bounties\security.dm"
#include "code\modules\cargo\bounties\slime.dm"
#include "code\modules\cargo\bounties\special.dm"
#include "code\modules\cargo\bounties\virus.dm"
#include "code\modules\cargo\bounties\weapon_prototype.dm"
#include "code\modules\cargo\exports\gear.dm"
#include "code\modules\cargo\exports\large_objects.dm"
-143
View File
@@ -1,72 +1,3 @@
/datum/bounty/item/assistant/stunprod
name = "Stunprod"
description = "%BOSSSHORT needs to pacify some rioting \"cows\". 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 %BOSSSHORT's bathrooms and nobody knows who took it. Replace it and be the hero %BOSSSHORT needs."
reward = 2000
required_count = 3
wanted_types = list(/obj/item/soap)
/datum/bounty/item/assistant/spear
name = "Spears"
description = "As part of our cultural appreciation programs, we require a bunch of spears to please a Unathi diplomat. Please send your best!"
reward = 2000
required_count = 5
wanted_types = list(/obj/item/material/twohanded/spear)
/datum/bounty/item/assistant/toolbox
name = "Toolboxes"
description = "There's an absence of \"engineering robustness\" at %BOSSNAME. 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 = "%BOSSNAME would like to commision an artsy statue for the lobby. Ship one out, when possible."
reward = 2000
wanted_types = list(/obj/structure/sculpting_block)
/datum/bounty/item/assistant/statue/applies_to(obj/O)
if(!..())
return FALSE
var/obj/structure/sculpting_block/S = O
if(S && S.sculpted)
return TRUE
return FALSE
/datum/bounty/item/assistant/cheesiehonkers
name = "Cheesie Honkers"
description = "Apparently the company that makes Cheesie Honkers is going out of business soon. %BOSSSHORT wants to stock up before it happens!"
reward = 1200
required_count = 30
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 %BOSSSHORT! 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/material/twohanded/baseballbat)
/datum/bounty/item/assistant/donut
name = "Donuts"
description = "%BOSSSHORT's security forces are demoralized. 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 %BOSSSHORT immediately."
reward = 3000
required_count = 10
wanted_types = list(/obj/item/reagent_containers/food/snacks/donkpocket)
/datum/bounty/item/assistant/briefcase
name = "Briefcase"
@@ -75,25 +6,6 @@
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 %BOSSSHORT to rectify this."
reward = 3000
required_count = 2
wanted_types = list(/obj/item/clothing/glasses/sunglasses)
/datum/bounty/item/assistant/monkey_hide
name = "Monkey Hide"
description = "One of the scientists at %BOSSSHORT 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/material/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/internal/heart)
/datum/bounty/item/assistant/lung
name = "Lungs"
description = "A recent explosion at %BOSSNAME has left multiple staff with punctured lungs. Ship spare lungs to be rewarded."
@@ -107,13 +19,6 @@
reward = 3000
wanted_types = list(/obj/item/organ/internal/appendix)
/datum/bounty/item/assistant/shard
name = "Shards"
description = "A killer clown has been stalking %BOSSSHORT, 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/material/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. "
@@ -121,31 +26,12 @@
required_count = 5
wanted_types = list(/obj/structure/bed/chair/comfy)
/datum/bounty/item/assistant/revolver
name = "Revolver"
description = "One of our Lead Investigators lost their revolver. He's asked for help securing an appropriate replacement."
reward = 2000
wanted_types = list(/obj/item/gun/projectile/revolver)
/datum/bounty/item/assistant/hand_tele
name = "Hand Tele"
description = "%BOSSNAME 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/potted_plants
name = "Potted Plants"
description = "%BOSSNAME is looking to decorate their civilian sector. You've been ordered to supply the potted plants."
reward = 2000
required_count = 8
wanted_types = list(/obj/structure/flora/pottedplant)
/datum/bounty/item/assistant/earmuffs
name = "Earmuffs"
description = "%BOSSNAME 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 %BOSSNAME. Now is the perfect time to ship out spare handcuffs."
@@ -160,33 +46,4 @@
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/monkeycube)
/datum/bounty/item/assistant/chainsaw
name = "Chainsaw"
description = "The chef at %BOSSSHORT is having trouble butchering her animals. She requests one chainsaw, please."
reward = 2500
wanted_types = list(/obj/item/material/twohanded/chainsaw)
/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 %BOSSSHORT ignores that fact.
/datum/bounty/item/assistant/plasma_tank/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/tank/T = O
if(T)
if(!T.air_contents.gas["phoron"])
return FALSE
return T.air_contents.gas["phoron"] >= moles_required
return FALSE
/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)
+13 -27
View File
@@ -1,6 +1,6 @@
/datum/bounty/item/chef/birthday_cake
name = "Birthday Cake"
description = "Miranda Trasen's birthday is coming up! Ship a complete birthday cake to celebrate!"
description = "A birthday party is coming up! Ship a complete birthday cake to celebrate!"
reward = 4000
wanted_types = list(
/obj/item/reagent_containers/food/snacks/variable/cake,
@@ -26,22 +26,23 @@
reward = 4000
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/icecreamsandwich)
/datum/bounty/item/chef/pie
name = "Pie"
description = "3.14159? No! %BOSSSHORT management wants edible pie! Ship a whole one."
reward = 3142
description = "%BOSSSHORT management wants a pie! Ship one pie."
reward = 3000
wanted_types = list(/obj/item/reagent_containers/food/snacks/pie)
/datum/bounty/item/chef/salad
name = "Salad or Rice Bowls"
description = "%BOSSSHORT management is going on a health binge. Your order is to ship salad or rice bowls."
name = "Salad"
description = "%BOSSSHORT management is going on a health binge. Your order is to ship salad."
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."
description = "A health craze has started among management. A shipment of carrot fries is the order."
reward = 3500
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/carrotfries)
@@ -54,7 +55,7 @@
/datum/bounty/item/chef/poppypretzel
name = "Poppy Pretzel"
description = "%BOSSNAME needs a popply brezel for the drug-training of their security department."
description = "%BOSSNAME needs a poppy pretzel for the drug-training of their security department."
reward = 3000
wanted_types = list(/obj/item/reagent_containers/food/snacks/poppypretzel)
@@ -72,8 +73,8 @@
/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
description = "A commander needs fresh lemons. Ship him a few and he'll deposit the money into the station's account."
reward = 4000
required_count = 10
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown)
@@ -94,7 +95,7 @@
/datum/bounty/item/chef/muffin
name = "Muffins"
description = "The Muffin Man is visiting %BOSSSHORT, but he's forgotten his muffins! Your order is to rectify this."
description = "%BOSSSHORT needs muffins! Your order is to rectify this."
reward = 3000
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/muffin)
@@ -107,22 +108,7 @@
/datum/bounty/item/chef/kebab
name = "Kebabs"
description = "Remove all kebab from station you are best food. Ship to %BOSSSHORT to remove from the premises."
description = "%BOSSSHORT is requesting a special order, please ship some kebabs."
reward = 3500
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/variable/kebab)
/datum/bounty/item/chef/pancakes
name = "Pancakes"
description = "Here at %COMPNAME 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(/obj/item/reagent_containers/food/snacks/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)
wanted_types = list(/obj/item/reagent_containers/food/snacks/variable/kebab)
+83 -20
View File
@@ -3,25 +3,7 @@
description = "%COMPNAME 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 = "%COMPNAME 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 = "%COMPNAME 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 = "%COMPNAME 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 %BOSSSHORT. While management is waiting for replacements, perhaps some night vision goggles can be shipped?"
@@ -49,7 +31,7 @@
/datum/bounty/item/science/posibrain
name = "Posibrain"
description = "Due to a sudden spike in assistants-related accidents management has decided to replace some of them with borgs. Ship us 2 posibrains."
description = "Due to a sudden spike in accidents management has decided to replace some of the staff with borgs. Ship us 2 posibrains."
reward = 10000
required_count = 2
wanted_types = list(/obj/item/device/mmi/digital/posibrain)
@@ -61,8 +43,88 @@
required_count = 2
wanted_types = list(/obj/item/robot_parts/robot_suit)
/datum/bounty/item/science/circuitboard
name = "Telecomms Monitor Circuitboard"
description = "Due to a hardware failure, %COMPNAME requires a new circuit board to replace the spare that was used to fix the problem."
reward = 4000
required_count = 1
wanted_types = list(/obj/item/circuitboard/comm_monitor)
/datum/bounty/item/science/circuitboard/commserver
name = "Telecomms Server Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/comm_server)
/datum/bounty/item/science/circuitboard/commtraffic
name = "Telecomms Traffic Control Circuitboard"
wanted_types = list(/obj/item/circuitboard/comm_traffic)
/datum/bounty/item/science/circuitboard/seccamera
name = "Security Camera Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/security)
/datum/bounty/item/science/circuitboard/engcamera
name = "Engineering Camera Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/security/engineering)
/datum/bounty/item/science/circuitboard/messagemonitor
name = "Message Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/message_monitor)
/datum/bounty/item/science/circuitboard/aiupload
name = "AI Upload Circuitboard"
wanted_types = list(/obj/item/circuitboard/aiupload)
/datum/bounty/item/science/circuitboard/borgupload
name = "Borg Upload Circuitboard"
wanted_types = list(/obj/item/circuitboard/borgupload)
/datum/bounty/item/science/circuitboard/airalert
name = "Atmos Alert Circuitboard"
wanted_types = list(/obj/item/circuitboard/atmos_alert)
/datum/bounty/item/science/circuitboard/robotics
name = "Robotics Control Circuitboard"
wanted_types = list(/obj/item/circuitboard/robotics)
/datum/bounty/item/science/circuitboard/dronecontrol
name = "Drone Control Circuitboard"
wanted_types = list(/obj/item/circuitboard/drone_control)
/datum/bounty/item/science/circuitboard/cloning
name = "Cloning Control Circuitboard"
wanted_types = list(/obj/item/circuitboard/cloning)
/datum/bounty/item/science/circuitboard/powermonitor
name = "Power Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/powermonitor)
/datum/bounty/item/science/battery
name = "Heavy-Duty Power Cell"
description = "%COMPNAME has requested some power cells to fill their supply closet. Please charge them first."
reward = 3000
required_count = 5
wanted_types = list(/obj/item/cell/apc)
/datum/bounty/item/science/battery/high
name = "High-Capacity power Cell"
reward = 3500
required_count = 4
wanted_types = list(/obj/item/cell/high)
/datum/bounty/item/science/battery/super
name = "Super-Capacity power Cell"
reward = 4000
required_count = 3
wanted_types = list(/obj/item/cell/super)
/datum/bounty/item/science/battery/hyper
name = "Hyper-Capacity power Cell"
reward = 5000
required_count = 2
wanted_types = list(/obj/item/cell/hyper)
/datum/bounty/item/science/borgbody/halstre
description = "Due to the borging of Kalren Halstre, we require you to ship us one fully assembled cyborg endoskeleton without a mmi/posibrain inside of it"
description = "We require you to ship us one fully assembled cyborg endoskeleton without a mmi/posibrain inside of it"
required_count = 1
/datum/bounty/item/science/borgbody/applies_to(obj/O)
@@ -80,3 +142,4 @@
if(other_bounty && (/obj/item/robot_parts/robot_suit in other_item_bounty.wanted_types))
return FALSE
return TRUE
-33
View File
@@ -16,25 +16,6 @@
reward = 800
wanted_types = list(/obj/item/clothing/glasses/sunglasses/sechud)
/datum/bounty/item/security/riotshotgun
name = "Riot Shotguns"
description = "Tajara are protesting in the Civilian Sectors! Ship riot shotguns quickly, or things are going to get dirty."
reward = 5000
required_count = 2
wanted_types = list(/obj/item/gun/projectile/shotgun/pump)
/datum/bounty/item/security/pinpointer
name = "Pinpointer"
description = "Someone might or might not have misplaced a high-value item. Can the station spare a pinpointer to help out?"
reward = 1500
wanted_types = list(/obj/item/pinpointer)
/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 = "Pirates have engaged the NMV Icarus! Quick! Ship a security hardsuit to aid the fight!"
@@ -46,17 +27,3 @@
description = "Captain Francis of Station 8 has been challenged to a sparring duel in the holodeck. Ship him a pair of forcegloves so there can be a fair fight."
reward = 2000
wanted_types = list(/obj/item/clothing/gloves/force)
/datum/bounty/item/security/recharger
name = "Rechargers"
description = "%COMPNAME 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/telebaton
name = "Telebaton"
description = "Assistants are staging a \"peaceful protest\" on the Odin. Quickly ship a telebaton so we can ensure their swift return to work."
reward = 2500
wanted_types = list(/obj/item/melee/telebaton)
-79
View File
@@ -1,79 +0,0 @@
/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 = "%COMPNAME is interested in a virus with a [stat_name] stat of exactly [stat_value]. %BOSSSHORT 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(!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 = "transmissible"
/datum/bounty/virus/transmit/accepts_virus(V)
var/datum/disease/advance/A = V
return A.totalTransmittable() == stat_value
+4 -12
View File
@@ -106,7 +106,7 @@
// Returns a new bounty of random type, but does not add it to bounties_list.
/datum/controller/subsystem/cargo/proc/random_bounty(var/category)
if(!category)
category = rand(1, 11)
category = rand(1, 10)
switch(category)
if(1)
var/subtype = pick(subtypesof(/datum/bounty/item/assistant))
@@ -127,18 +127,15 @@
if(6)
return new /datum/bounty/reagent/chemical
if(7)
var/subtype = pick(subtypesof(/datum/bounty/virus))
return new subtype
if(8)
var/subtype = pick(subtypesof(/datum/bounty/item/science))
return new subtype
if(9)
if(8)
var/subtype = pick(subtypesof(/datum/bounty/item/slime))
return new subtype
if(10)
if(9)
var/subtype = pick(subtypesof(/datum/bounty/item/bot))
return new subtype
if(11)
if(10)
var/subtype = pick(subtypesof(/datum/bounty/weapon_prototype))
return new subtype
@@ -187,11 +184,6 @@
try_add_bounty(new /datum/bounty/reagent/complex_drink)
try_add_bounty(new /datum/bounty/reagent/chemical)
/*for(var/i = 0; i < 1; ++i)
CHECK_TICK
var/list/subtype = pick(subtypesof(/datum/bounty/virus))
try_add_bounty(new subtype)*/
var/datum/bounty/B = pick(bounties_list)
B.mark_high_priority()
+41
View File
@@ -0,0 +1,41 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: Kaedwuff
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscdel: "Cleaned up the bounty list of many senseless/silly entries."