Are ya feelin' the scarcity now, supply? (#9537)

This commit is contained in:
Doxxmedearly
2020-08-03 05:02:52 -05:00
committed by GitHub
parent 8db3ca7bab
commit d7156eda93
5 changed files with 63 additions and 14 deletions

View File

@@ -30,14 +30,6 @@
random_count = 1
wanted_types = list(/obj/item/reagent_containers/glass/beaker/noreact)
/datum/bounty/item/science/posibrain
name = "Posibrain"
description = "Due to a sudden spike in accidents management has decided to replace some of the staff with borgs. Ship us 2 posibrains."
reward_low = 8000
reward_high = 8500
required_count = 2
wanted_types = list(/obj/item/device/mmi/digital/posibrain)
/datum/bounty/item/science/borgbody
name = "Robot Endoskeleton"
description = "The %DOCKSHORT has decided to rely more on cyborgs for dangerous tasks. Ship us a fully assembled robot endoskeletons without a mmi/posibrain inside of it."

View File

@@ -18,3 +18,49 @@
claimed = TRUE
for(var/i = 0; i < reward; ++i)
SScargo.try_add_bounty(SScargo.random_bounty())
//during phoron scarcity lore arc. remove when lore permits.
/datum/bounty/item/phoron_sheet
name = "Phoron Sheets"
description = "Always prioritize this bounty. Failure to meet this quota may result in adverse impact upon your status in the NanoTrasen Corporation."
reward_low = 14000
reward_high = 18000
required_count = 125
random_count = 25
wanted_types = list(/obj/item/stack/material/phoron)
high_priority = TRUE
/datum/bounty/item/phoron_sheet/New()
..()
required_count = round(required_count, 10)
//Temporarily overwrite the normal price randomization because the random_count is so high. There would be absolutely nuts price fluctuation. It's a temporary bounty anyway.
reward = round(rand(reward_low, reward_high), 100)
/datum/bounty/item/phoron_sheet/ship(var/obj/item/stack/material/phoron/O)
if(!applies_to(O))
return
shipped_count += O.amount
/datum/bounty/item/phoron_canister
name = "Phoron Canisters"
description = "Always prioritize this bounty. Failure to meet this quota may result in adverse impact upon your status in the NanoTrasen Corporation. Canisters must be filled to at least standard stock amounts."
reward_low = 15000
reward_high = 18000
required_count = 4
random_count = 1 // 3 to 5
wanted_types = list(/obj/machinery/portable_atmospherics/canister)
high_priority = TRUE
var/moles_required = 1800 //Roundstart total_moles is about 1871 per tank. This is a small leeway.
/datum/bounty/item/phoron_canister/applies_to(var/obj/machinery/portable_atmospherics/canister/O)
if(!..())
return FALSE
if(!istype(O))
return FALSE
var/datum/gas_mixture/environment = O.return_air()
if(!environment || !O.air_contents.gas["phoron"])
return FALSE
return O.air_contents.gas["phoron"] >= moles_required

View File

@@ -166,6 +166,7 @@
// Called lazily at startup to populate bounties_list with random bounties.
/datum/controller/subsystem/cargo/proc/setupBounties()
for(var/i = 0; i < BOUNTY_NUM_HIGH; i++)
CHECK_TICK
var/datum/bounty/subtype = pick(subtypesof(/datum/bounty/item/assistant))
@@ -209,12 +210,15 @@
var/datum/bounty/r_subtype = pick(subtypesof(/datum/bounty/reagent))
try_add_bounty(new r_subtype)
var/datum/bounty/B = pick(bounties_list)
B.mark_high_priority()
//phoron arc bounties. remove when arc is done.
var/datum/bounty/item/phoron_bounty = pick(/datum/bounty/item/phoron_sheet, /datum/bounty/item/phoron_canister)
try_add_bounty(new phoron_bounty)
//uncomment the below two lines when phoron scarcity arc is done
//var/datum/bounty/B = pick(bounties_list)
//B.mark_high_priority()
// Generate these last so they can't be high priority.
//try_add_bounty(new /datum/bounty/item/alien_organs)
//try_add_bounty(new /datum/bounty/item/syndicate_documents)
try_add_bounty(new /datum/bounty/more_bounties)
/datum/controller/subsystem/cargo/proc/completed_bounty_count()

View File

@@ -14,8 +14,8 @@ STOCK_ITEM_UNCOMMON(plasteel, 3)
STOCK_ITEM_UNCOMMON(silver, 2)
new /obj/item/stack/material/silver(L, rand(5,30))
STOCK_ITEM_UNCOMMON(phoronsheets, 2)
new /obj/item/stack/material/phoron(L, rand(5,50))
STOCK_ITEM_UNCOMMON(phoronsheets, 1.5)
new /obj/item/stack/material/phoron(L, rand(5,40))
STOCK_ITEM_UNCOMMON(phoronglass, 2)
new /obj/item/stack/material/glass/phoronglass(L, 50)