This commit is contained in:
Molti
2024-02-25 06:36:37 -06:00
committed by GitHub
parent 61d2cb243d
commit 03bfd9b10c
4 changed files with 6 additions and 113 deletions

View File

@@ -1,69 +0,0 @@
/datum/bounty/item/syndicate
/datum/bounty/item/syndicate/claim(mob/user) //Syndicate bounties add TCs to your uplink
if(can_claim())
var/datum/mind/claimer = user.mind
if(claimer.find_syndicate_uplink())
var/datum/component/uplink/U = claimer.find_syndicate_uplink()
U.telecrystals += reward
claimed = TRUE //to prevent deleting the TCs if you claim it with no uplink
/datum/bounty/item/syndicate/reward_string()
return "!&@#WE'LL GIVE YOU [reward] TELECRYSTALS IF YOU DO THIS FOR US!#@*$"
/datum/bounty/item/syndicate/saber
name = "!&@#THE CAPTAIN'S SABRE!#@*$"
description = "!&@#WE'RE TESTING OUT OUR ARMOR'S PROTECTIVE ABILITY, BUT WE NEED SOMETHING SHARP! PROVIDE IT TO US FOR A REWARD!#@*$"
wanted_types = list(/obj/item/melee/sabre)
reward = 5
/datum/bounty/item/syndicate/capsuit
name = "!&@#THE CAPTAIN'S SWAT SUIT!#@*$"
description = "!&@#OUR NEW BATCH OF ARMOR-PIERCING ROUNDS HAVE JUST COME OFF THE PRODUCTION LINE, AND WE NEED SOMETHING TO TEST THEM ON! HELP US OUT AND YOU'LL BE REWARDED!#@*$"
wanted_types = list(/obj/item/clothing/suit/space/hardsuit/swat/captain)
reward = 4
/datum/bounty/item/syndicate/aicontrol
name = "!&@#AI CONTROL CONSOLE BOARD!#@*$"
description = "!&@#A CONSOLE TO REMOTELY DISABLE AI UNITS WOULD BE QUITE HELPFUL FOR US, SO GET US ONE!#@*$"
wanted_types = list(/obj/item/circuitboard/computer/ai_upload_download)
reward = 2
/datum/bounty/item/syndicate/rdsuit
name = "!&@#PROTOTYPE HARDSUIT!#@*$"
description = "!&@#WE'RE INTERESTED IN DEVELOPING ARMOR THAT CAN RESIST EXPLOSIVES BETTER. THE PROTOTYPE HARDSUIT WOULD BE HELPFUL FOR THIS GOAL!#@*$"
wanted_types = list(/obj/item/clothing/suit/space/hardsuit/rd)
reward = 3
/datum/bounty/item/syndicate/boh
name = "!&@#BAG OF HOLDING!#@*$"
description = "!&@#EXPERIMENTAL BLUESPACE TECHNOLOGY LIKE A BAG OF HOLDING WOULD BE APPRECIATED BY THE LAB BOYS. THEY'RE WILLING TO PAY HANDSOMELY, TOO#@*$"
wanted_types = list(/obj/item/storage/backpack/holding,/obj/item/storage/backpack/holding/rd)
reward = 4
/datum/bounty/item/syndicate/aeg
name = "!&@#ADVANCED ENERGY GUN!#@*$"
description = "!&@#WE'RE LOOKING FOR FLAWS IN NANOTRASEN WEAPONS TECHNOLOGY TO EXPLOIT. SEND US SOME EXAMPLES OF THEIR TECHNOLOGY, AND WE'LL REWARD YOU#@*$"
wanted_types = list(/obj/item/gun/energy/e_gun/nuclear)
required_count = 3
reward = 5
/datum/bounty/item/syndicate/aiupload
name = "!&@#AI UPLOAD CONSOLE BOARD!#@*$"
description = "!&@#WE'RE PROBING NANOTRASEN AIS FOR SECURITY FLAWS. A CONSOLE LIKE THIS COULD ACCOMPLISH OUR GOAL#@*$"
wanted_types = list(/obj/item/circuitboard/computer/aiupload)
reward = 5
/datum/bounty/item/syndicate/borgupload
name = "!&@#CYBORG UPLOAD CONSOLE BOARD!#@*$"
description = "!&@#WE'RE PROBING NANOTRASEN CYBORGS FOR SECURITY FLAWS. A CONSOLE LIKE THIS COULD ACCOMPLISH OUR GOAL#@*$"
wanted_types = list(/obj/item/circuitboard/computer/borgupload)
reward = 2
/datum/bounty/item/syndicate/wardenshotgun
name = "!&@#COMPACT COMBAT SHOTGUN!#@*$"
description = "!&@#WHILE INFERIOR TO OUR BULLDOG SHOTGUNS, COMPACT COMBAT SHOTGUNS CONTAIN AN EXPENSIVE PART THAT'S REQUIRED TO MANUFACTURE BULLDOG SHOTGUNS. YOU'LL SAVE US A PRETTY PENNY BY GIVING US ONE, AND WE'LL PAY YOU IN RETURN#@*$"
wanted_types = list(/obj/item/gun/ballistic/shotgun/automatic/combat/compact)
reward = 5 //you gotta kill the warden //not harder than killing a captain
/datum/bounty/item/syndicate/advancedhardsuit
name = "!&@#ADVANCED HARDSUIT!#@*$"
description = "!&@#THE RADIATION SHIELDING BUILT INTO THE ADVANCED HARDSUIT IS SERIOUSLY HIGH-TECH, AND WE WANT A GOOD LOOK AT IT. BRING IT TO US AND WE'LL GIVE YOU A REWARD.#@*$"
wanted_types = list(/obj/item/clothing/suit/space/hardsuit/engine/elite)
reward = 5
/datum/bounty/item/syndicate/phazon
name = "!&@#PHAZON EXOSUIT!#@*$"
description = "!&@#WE'D LOVE TO GET OUR HANDS ON ONE OF THESE. IT MAY BE HARD TO SOURCE, BUT WE WILL REWARD YOU GENEROUSLY IF YOU SUCCEED.#@*$"
wanted_types = list(/obj/mecha/combat/phazon)
reward = 10 //you need an anomaly core and robotics for this one broski, it's gotta be worth a lot

View File

@@ -1,5 +1,4 @@
GLOBAL_LIST_EMPTY(bounties_list) GLOBAL_LIST_EMPTY(bounties_list)
GLOBAL_LIST_EMPTY(bounties_list_syndicate)
/datum/bounty /datum/bounty
var/name var/name
@@ -58,19 +57,16 @@ GLOBAL_LIST_EMPTY(bounties_list_syndicate)
/proc/bounty_ship_item_and_contents(atom/movable/AM, dry_run=FALSE) /proc/bounty_ship_item_and_contents(atom/movable/AM, dry_run=FALSE)
if(!GLOB.bounties_list.len) if(!GLOB.bounties_list.len)
setup_bounties() setup_bounties()
if(!GLOB.bounties_list_syndicate.len)
setup_syndicate_bounties()
var/list/matched_one = FALSE var/list/matched_one = FALSE
for(var/thing in reverse_range(AM.get_all_contents())) for(var/thing in reverse_range(AM.get_all_contents()))
var/matched_this = FALSE var/matched_this = FALSE
for(var/list/i in list(GLOB.bounties_list,GLOB.bounties_list_syndicate)) for(var/datum/bounty/B as anything in GLOB.bounties_list)
for(var/datum/bounty/B in i) if(B.applies_to(thing))
if(B.applies_to(thing)) matched_one = TRUE
matched_one = TRUE matched_this = TRUE
matched_this = TRUE if(!dry_run)
if(!dry_run) B.ship(thing)
B.ship(thing)
if(!dry_run && matched_this) if(!dry_run && matched_this)
qdel(thing) qdel(thing)
return matched_one return matched_one
@@ -204,23 +200,6 @@ GLOBAL_LIST_EMPTY(bounties_list_syndicate)
for(var/low_priority_bounty in low_priority_strict_type_list) for(var/low_priority_bounty in low_priority_strict_type_list)
try_add_bounty(new low_priority_bounty) try_add_bounty(new low_priority_bounty)
/proc/setup_syndicate_bounties() //Much simpler as we're only picking from one pool of bounties
for(var/i in 0 to 5)
var/pick = pick(subtypesof(/datum/bounty/item/syndicate))
if(!(try_add_syndie_bounty(new pick)))
i -= 1
/proc/try_add_syndie_bounty(datum/bounty/new_bounty)
if(!new_bounty || !new_bounty.name || !new_bounty.description)
return FALSE
for(var/i in GLOB.bounties_list_syndicate)
var/datum/bounty/B = i
if(!B.compatible_with(new_bounty) || !new_bounty.compatible_with(B))
return FALSE
GLOB.bounties_list_syndicate += new_bounty
return TRUE
/proc/completed_bounty_count() /proc/completed_bounty_count()
var/count = 0 var/count = 0
for(var/i in GLOB.bounties_list) for(var/i in GLOB.bounties_list)

View File

@@ -31,27 +31,12 @@
<ul><li>Reward: [B.reward_string()]</li> <ul><li>Reward: [B.reward_string()]</li>
<li>Completed: [B.completion_string()]</li></ul>"} <li>Completed: [B.completion_string()]</li></ul>"}
/obj/machinery/computer/bounty/emag_act(mob/user, obj/item/card/emag/emag_card)
if(obj_flags & EMAGGED)
return FALSE
if(istype(emag_card, /obj/item/card/emag/improvised)) // We can't have nice things.
to_chat(user, span_notice("The cheap circuitry isn't strong enough to subvert this!"))
return FALSE
to_chat(user, span_warning("You adjust the antenna on \The [src], tuning it to a syndicate frequency."))
obj_flags |= EMAGGED
do_sparks(8, FALSE, loc)
return TRUE
/obj/machinery/computer/bounty/proc/get_list_to_use() /obj/machinery/computer/bounty/proc/get_list_to_use()
if(obj_flags & EMAGGED)
return GLOB.bounties_list_syndicate
return GLOB.bounties_list return GLOB.bounties_list
/obj/machinery/computer/bounty/ui_interact(mob/user, datum/tgui/ui) /obj/machinery/computer/bounty/ui_interact(mob/user, datum/tgui/ui)
var/list/list_to_use = get_list_to_use() var/list/list_to_use = get_list_to_use()
if(!list_to_use.len) if(!list_to_use.len)
if(get_list_to_use() == GLOB.bounties_list_syndicate)
setup_syndicate_bounties()
setup_bounties() setup_bounties()
ui = SStgui.try_update_ui(user, src, ui) ui = SStgui.try_update_ui(user, src, ui)
if(!ui) if(!ui)
@@ -65,7 +50,6 @@
bountyinfo += list(list("name" = B.name, "description" = B.description, "reward_string" = B.reward_string(), "completion_string" = B.completion_string() , "claimed" = B.claimed, "can_claim" = B.can_claim(), "priority" = B.high_priority, "bounty_ref" = REF(B))) bountyinfo += list(list("name" = B.name, "description" = B.description, "reward_string" = B.reward_string(), "completion_string" = B.completion_string() , "claimed" = B.claimed, "can_claim" = B.can_claim(), "priority" = B.high_priority, "bounty_ref" = REF(B)))
data["stored_cash"] = cargocash.account_balance data["stored_cash"] = cargocash.account_balance
data["bountydata"] = bountyinfo data["bountydata"] = bountyinfo
data["emagged"] = (obj_flags & EMAGGED)
return data return data
/obj/machinery/computer/bounty/ui_act(action,params) /obj/machinery/computer/bounty/ui_act(action,params)

View File

@@ -2188,7 +2188,6 @@
#include "code\modules\cargo\bounties\security.dm" #include "code\modules\cargo\bounties\security.dm"
#include "code\modules\cargo\bounties\slime.dm" #include "code\modules\cargo\bounties\slime.dm"
#include "code\modules\cargo\bounties\special.dm" #include "code\modules\cargo\bounties\special.dm"
#include "code\modules\cargo\bounties\syndicate.dm"
#include "code\modules\cargo\bounties\virus.dm" #include "code\modules\cargo\bounties\virus.dm"
#include "code\modules\cargo\exports\gear.dm" #include "code\modules\cargo\exports\gear.dm"
#include "code\modules\cargo\exports\large_objects.dm" #include "code\modules\cargo\exports\large_objects.dm"