From 9c8a1725d4c9e2d0f196a614a44b4cecb43c2025 Mon Sep 17 00:00:00 2001 From: Vekter Date: Fri, 28 Jun 2024 15:42:46 -0500 Subject: [PATCH] Fixes Bitrunner lacking job-based bounties (#84367) ## About The Pull Request Fixes #84283 by just adding actual bounties for Bitrunner, giving them something more interesting to do than random bounties for jobs they don't have access to. These bounties revolve around optionally turning in the special rewards from each of the bitrunning domains (a bike horn, the abductor plush, beach ball, etc) for a credit reward. I considered the idea of making each one drop a specific bounty chit that you turned in for a reward, but at that point it's just "paying you per domain" and I'm not sure how that would balance with economy. This is more just meant to be a framework for others to add things that might be a little more interesting. This also adds a special drop from the Pizzeria domain because I thought it was funny. --- code/__DEFINES/economy.dm | 3 +- code/game/objects/items/food/pizza.dm | 7 +++ code/modules/bitrunning/job.dm | 2 +- .../domains/fredingtonfastingbear.dm | 1 + code/modules/cargo/bounties/bitrunning.dm | 48 +++++++++++++++++++ code/modules/cargo/bounty.dm | 4 +- tgstation.dme | 1 + 7 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 code/modules/cargo/bounties/bitrunning.dm diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm index 47e3db38e11..5ffa92c05b6 100644 --- a/code/__DEFINES/economy.dm +++ b/code/__DEFINES/economy.dm @@ -64,7 +64,8 @@ #define CIV_JOB_MED 11 #define CIV_JOB_GROW 12 #define CIV_JOB_ATMOS 13 -#define CIV_JOB_RANDOM 14 +#define CIV_JOB_BITRUN 14 +#define CIV_JOB_RANDOM 15 //These defines are to be used to with the payment component, determines which lines will be used during a transaction. If in doubt, go with clinical. #define PAYMENT_CLINICAL "clinical" diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm index 834484872d6..71dd87af8e1 100644 --- a/code/game/objects/items/food/pizza.dm +++ b/code/game/objects/items/food/pizza.dm @@ -127,6 +127,13 @@ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT crafting_complexity = FOOD_COMPLEXITY_3 +/obj/item/food/pizzaslice/meat/pizzeria //Reward for pizzeria bitrunning domain + name = "pizzeria meatpizza slice" + desc = "An ostensibly nutritious slice of meatpizza from a long-closed pizzeria." + food_reagents = null + tastes = list("crust" = 1, "ketchup" = 1, "'cheese'" = 1, "mystery meat" = 1, "glue" = 1) + foodtypes = null + /obj/item/food/pizza/mushroom name = "mushroom pizza" desc = "Very special pizza." diff --git a/code/modules/bitrunning/job.dm b/code/modules/bitrunning/job.dm index 1e749a3c7a5..d62bd2cf3ae 100644 --- a/code/modules/bitrunning/job.dm +++ b/code/modules/bitrunning/job.dm @@ -13,7 +13,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_CAR display_order = JOB_DISPLAY_ORDER_BITRUNNER - bounty_types = CIV_JOB_RANDOM + bounty_types = CIV_JOB_BITRUN departments_list = list( /datum/job_department/cargo, ) diff --git a/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm b/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm index 841956675ca..f3c803384c4 100644 --- a/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm +++ b/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm @@ -2,6 +2,7 @@ name = "Pizza Party" cost = BITRUNNER_COST_MEDIUM desc = "A famous pizzeria that got ruined by what it had to offer." + completion_loot = list(/obj/item/food/pizzaslice/meat/pizzeria = 1) difficulty = BITRUNNER_DIFFICULTY_MEDIUM help_text = "Pick up a flashlight and get going. Your favourite bear has been waiting for you..." key = "fredingtonfastingbear" diff --git a/code/modules/cargo/bounties/bitrunning.dm b/code/modules/cargo/bounties/bitrunning.dm new file mode 100644 index 00000000000..301f19f0e41 --- /dev/null +++ b/code/modules/cargo/bounties/bitrunning.dm @@ -0,0 +1,48 @@ +/datum/bounty/item/bitrunning/abductor_plush + name = "Abductor Plush" + description = "Rear Admiral Raynes' child won't stop bothering him for one of those little plush aliens. You can get one from the Abductor Ship domain." + reward = CARGO_CRATE_VALUE * 6 + required_count = 1 + wanted_types = list(/obj/item/toy/plush/abductor/agent = TRUE) + +/datum/bounty/item/bitrunning/bubblegum + name = "Bubblegum Plush" + description = "Some of the miners have been talking about the breakroom being too sterile. We need something cute to spruce the place up a bit." + reward = CARGO_CRATE_VALUE * 10 + required_count = 1 + wanted_types = list(/obj/item/toy/plush/bubbleplush = TRUE) + +/datum/bounty/item/bitrunning/honk + name = "Bike Horn" + description = "Bonbon the Clown lost his bike horn when Rear Admiral Raynes hurled him out an airlock for slipping him. Can you get us a replacement?" + reward = CARGO_CRATE_VALUE * 4 + required_count = 1 + wanted_types = list(/obj/item/bikehorn = TRUE) + +/datum/bounty/item/bitrunning/pizzeria + name = "Slice of Pizzeria Pizza" + description = "Admiral Chivara keeps talking about wanting a slice of pizza from that old pizza joint that closed down. Y'know, the one with the robots." + reward = CARGO_CRATE_VALUE * 8 + required_count = 1 + wanted_types = list(/obj/item/food/pizzaslice/meat/pizzeria = TRUE) + +/datum/bounty/item/bitrunning/psyker + name = "Psyker Headset" + description = "We're doing some research on psykers and could use some of their equipment. Can you send us one of their headsets if you find it?" + reward = CARGO_CRATE_VALUE * 8 + required_count = 1 + wanted_types = list(/obj/item/radio/headset/psyker = TRUE) + +/datum/bounty/item/bitrunning/polar + name = "Polar Ushanka" + description = "A bunch of Russians raided one of our outposts and won't leave. They keep swearing at us and demanding we give them vodka and ushankas. Can you send us one?" + reward = CARGO_CRATE_VALUE * 3 + required_count = 1 + wanted_types = list(/obj/item/clothing/head/costume/ushanka/polar = TRUE) + +/datum/bounty/item/bitrunning/syndicate + name = "Syndicate Plush" + description = "We're aware of some contraband that's made it aboard some of our stations that depict Syndicate agents as cute, marketable plushies. Please send us one so we can further investigate." + reward = CARGO_CRATE_VALUE * 8 + required_count = 1 + wanted_types = list(/obj/item/toy/plush/nukeplushie = 1) diff --git a/code/modules/cargo/bounty.dm b/code/modules/cargo/bounty.dm index aa527e84762..38b26e44027 100644 --- a/code/modules/cargo/bounty.dm +++ b/code/modules/cargo/bounty.dm @@ -1,5 +1,5 @@ /// How many jobs have bounties, minus the random civ bounties. PLEASE INCREASE THIS NUMBER AS MORE DEPTS ARE ADDED TO BOUNTIES. -#define MAXIMUM_BOUNTY_JOBS 13 +#define MAXIMUM_BOUNTY_JOBS 14 /datum/bounty var/name @@ -77,6 +77,8 @@ chosen_type = pick(subtypesof(/datum/bounty/item/botany)) if(CIV_JOB_ATMOS) chosen_type = pick(subtypesof(/datum/bounty/item/atmospherics)) + if(CIV_JOB_BITRUN) + chosen_type = pick(subtypesof(/datum/bounty/item/bitrunning)) bounty_ref = new chosen_type if(bounty_ref.can_get()) bounty_succeeded = TRUE diff --git a/tgstation.dme b/tgstation.dme index 7a67c91773d..360d0a38e9b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3592,6 +3592,7 @@ #include "code\modules\cargo\universal_scanner.dm" #include "code\modules\cargo\bounties\assistant.dm" #include "code\modules\cargo\bounties\atmos.dm" +#include "code\modules\cargo\bounties\bitrunning.dm" #include "code\modules\cargo\bounties\botany.dm" #include "code\modules\cargo\bounties\chef.dm" #include "code\modules\cargo\bounties\engineering.dm"