From de4d468472f9d541c8aa5872c878102a2198d951 Mon Sep 17 00:00:00 2001 From: shellspeed1 Date: Tue, 20 Sep 2022 20:55:38 -0700 Subject: [PATCH] lets not have bounty cubes worth a bunch more than they should be. port of https://github.com/tgstation/tgstation/pull/56914 Credit to cacogen. --- code/game/machinery/civilian_bountys.dm | 6 ++-- code/modules/recycling/sortingmachinery.dm | 36 +++++++++++++--------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/civilian_bountys.dm b/code/game/machinery/civilian_bountys.dm index 36ce96ea7e..0395956d8b 100644 --- a/code/game/machinery/civilian_bountys.dm +++ b/code/game/machinery/civilian_bountys.dm @@ -94,12 +94,14 @@ stop_sending() if(curr_bounty.can_claim()) //Pay for the bounty with the ID's department funds. - status_report += "Bounty Completed! Please send your completed bounty cube to cargo for your automated payout shortly." + status_report += "Bounty completed! Please give your bounty cube to cargo for your automated payout shortly." inserted_scan_id.registered_account.reset_bounty() SSeconomy.civ_bounty_tracker++ + var/obj/item/bounty_cube/reward = new /obj/item/bounty_cube(drop_location()) reward.set_up(curr_bounty, inserted_scan_id) - pad.visible_message("[pad] activates!") + + pad.visible_message(span_notice("[pad] activates!")) flick(pad.sending_state,pad) pad.icon_state = pad.idle_state playsound(loc, 'sound/machines/synth_yes.ogg', 30 , TRUE) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 28176e5ed4..97a35f9312 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -79,11 +79,11 @@ tagger.paper_count -= 1 sticker = new /obj/item/barcode(src) sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account. - sticker.percent_cut = tagger.percent_cut //same, but for the percentage taken. + sticker.cut_multiplier = tagger.cut_multiplier //same, but for the percentage taken. var/list/wrap_contents = src.GetAllContents() for(var/obj/I in wrap_contents) - I.AddComponent(/datum/component/pricetag, sticker.payments_acc, tagger.percent_cut) + I.AddComponent(/datum/component/pricetag, sticker.payments_acc, tagger.cut_multiplier) var/overlaystring = "[icon_state]_tag" if(giftwrapped) overlaystring = copytext(overlaystring, 5) @@ -222,11 +222,11 @@ tagger.paper_count -= 1 sticker = new /obj/item/barcode(src) sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account. - sticker.percent_cut = tagger.percent_cut //as above, as before. + sticker.cut_multiplier = tagger.cut_multiplier //as above, as before. var/list/wrap_contents = src.GetAllContents() for(var/obj/I in wrap_contents) - I.AddComponent(/datum/component/pricetag, sticker.payments_acc, tagger.percent_cut) + I.AddComponent(/datum/component/pricetag, sticker.payments_acc, tagger.cut_multiplier) var/overlaystring = "[icon_state]_tag" if(giftwrapped) overlaystring = copytext(overlaystring, 5) @@ -317,7 +317,7 @@ /obj/item/sales_tagger name = "sales tagger" - desc = "A scanner that lets you tag wrapped items for sale, splitting the profit between you and cargo. Ctrl-Click to clear the registered account." + desc = "A scanner that lets you tag wrapped items for sale, splitting the profit between you and cargo." icon = 'icons/obj/device.dmi' icon_state = "salestagger" item_state = "electronic" @@ -330,12 +330,19 @@ var/paper_count = 10 var/max_paper_count = 20 ///Details the percentage the scanned account recieves off the final sale. - var/percent_cut = 20 + ///The person who tagged this will receive the sale value multiplied by this number. + var/cut_multiplier = 0.5 + ///Maximum value for cut_multiplier. + var/cut_max = 0.5 + ///Minimum value for cut_multiplier. + var/cut_min = 0.01 /obj/item/sales_tagger/examine(mob/user) . = ..() - . += "[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper." - . += "Profit split on sale is currently set to [percent_cut]%." + . += "[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper." + . += "Profit split on sale is currently set to [round(cut_multiplier*100)]%. Alt-click to change." + if(payments_acc) + . += "Ctrl-click to clear the registered account." /obj/item/sales_tagger/attackby(obj/item/I, mob/living/user, params) . = ..() @@ -376,7 +383,8 @@ playsound(src, 'sound/machines/click.ogg', 40, TRUE) to_chat(user, "You print a new barcode.") var/obj/item/barcode/new_barcode = new /obj/item/barcode(src) - new_barcode.payments_acc = payments_acc //The sticker gets the scanner's registered account. + new_barcode.payments_acc = payments_acc // The sticker gets the scanner's registered account. + new_barcode.cut_multiplier = cut_multiplier // Also the registered percent cut. user.put_in_hands(new_barcode) /obj/item/sales_tagger/CtrlClick(mob/user) @@ -386,11 +394,11 @@ /obj/item/sales_tagger/AltClick(mob/user) . = ..() - var/potential_cut = input("How much would you like to payout to the registered card?","Percentage Profit") as num|null + var/potential_cut = input("How much would you like to pay out to the registered card?","Percentage Profit ([round(cut_min*100)]% - [round(cut_max*100)]%)") as num|null if(!potential_cut) - percent_cut = 50 - percent_cut = clamp(round(potential_cut, 1), 1, 50) - to_chat(user, "[percent_cut]% profit will be recieved if a package with a barcode is sold.") + cut_multiplier = initial(cut_multiplier) + cut_multiplier = clamp(round(potential_cut/100, cut_min), cut_min, cut_max) + to_chat(user, "[round(cut_multiplier*100)]% profit will be received if a package with a barcode is sold.") /obj/item/barcode name = "Barcode tag" @@ -400,4 +408,4 @@ w_class = WEIGHT_CLASS_TINY ///All values inheirited from the sales tagger it came from. var/datum/bank_account/payments_acc = null - var/percent_cut = 5 + var/cut_multiplier = 0.5