mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-13 11:24:34 +00:00
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
/datum/computer_file/program/bounty
|
|
filename = "bounty"
|
|
filedesc = "Nanotrasen Bounty Hunter"
|
|
program_icon_state = "bounty"
|
|
extended_desc = "A basic interface for supply personnel to check and claim bounties."
|
|
requires_ntnet = TRUE
|
|
transfer_access = ACCESS_CARGO
|
|
size = 10
|
|
tgui_id = "NtosBountyConsole"
|
|
///cooldown var for printing paper sheets.
|
|
var/printer_ready = 0
|
|
///The cargo account for grabbing the cargo account's credits.
|
|
var/static/datum/bank_account/cargocash
|
|
|
|
/datum/computer_file/program/bounty/proc/print_paper()
|
|
new /obj/item/paper/bounty_printout(get_turf(computer))
|
|
|
|
/datum/computer_file/program/bounty/ui_interact(mob/user, datum/tgui/ui)
|
|
if(!GLOB.bounties_list.len)
|
|
setup_bounties()
|
|
printer_ready = world.time + PRINTER_TIMEOUT
|
|
cargocash = SSeconomy.get_dep_account(ACCOUNT_CAR)
|
|
. = ..()
|
|
|
|
/datum/computer_file/program/bounty/ui_data(mob/user)
|
|
var/list/data = get_header_data()
|
|
var/list/bountyinfo = list()
|
|
for(var/datum/bounty/B in GLOB.bounties_list)
|
|
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["bountydata"] = bountyinfo
|
|
return data
|
|
|
|
/datum/computer_file/program/bounty/ui_act(action,params)
|
|
if(..())
|
|
return
|
|
switch(action)
|
|
if("ClaimBounty")
|
|
var/datum/bounty/cashmoney = locate(params["bounty"]) in GLOB.bounties_list
|
|
if(cashmoney)
|
|
cashmoney.claim()
|
|
return TRUE
|
|
if("Print")
|
|
if(printer_ready < world.time)
|
|
printer_ready = world.time + PRINTER_TIMEOUT
|
|
print_paper()
|
|
return
|