From 800410ec2b0beb89cd30089266ea4b967affb255 Mon Sep 17 00:00:00 2001 From: atermonera Date: Wed, 2 Nov 2022 22:35:10 -0800 Subject: [PATCH 1/2] Fix runtimes with uplink random item selections --- code/datums/uplink/badassery.dm | 10 +++++++--- code/datums/uplink/uplink_items.dm | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/code/datums/uplink/badassery.dm b/code/datums/uplink/badassery.dm index 6a5354f8d2..9e3bc9a37a 100644 --- a/code/datums/uplink/badassery.dm +++ b/code/datums/uplink/badassery.dm @@ -32,8 +32,12 @@ name = "Random Items" desc = "Buys you as many random items you can afford. Convenient packaging NOT included." -/datum/uplink_item/item/badassery/random_many/cost(obj/item/uplink/U, var/telecrystals) - return max(1, telecrystals) +/datum/uplink_item/item/badassery/random_many/cost(obj/item/uplink/U, mob/M) + if(istype(M)) + return max(1, M.mind?.tcrystals) + if(istype(M, /datum/mind)) + return max(1, M.tcrystals) + return max(1, M) /datum/uplink_item/item/badassery/random_many/get_goods(var/obj/item/uplink/U, var/loc, var/mob/M) var/list/bought_items = list() @@ -91,4 +95,4 @@ var/obj/structure/largecrate/C = /obj/structure/largecrate icon = image(initial(C.icon), initial(C.icon_state)) - return "[bicon(icon)]" \ No newline at end of file + return "[bicon(icon)]" diff --git a/code/datums/uplink/uplink_items.dm b/code/datums/uplink/uplink_items.dm index 04449ad60d..d1f92344d3 100644 --- a/code/datums/uplink/uplink_items.dm +++ b/code/datums/uplink/uplink_items.dm @@ -186,7 +186,7 @@ var/global/datum/uplink/uplink = new() if(!I) break bought_items += I - remaining_TC -= I.cost(remaining_TC, U) + remaining_TC -= I.cost(U, remaining_TC) return bought_items @@ -198,6 +198,6 @@ var/global/datum/uplink/uplink = new() if(!I) break bought_items += I - remaining_TC -= I.cost(remaining_TC, U) + remaining_TC -= I.cost(U, remaining_TC) return bought_items From bfd520844deccfac023f3be87c68e5d83408773d Mon Sep 17 00:00:00 2001 From: atermonera Date: Wed, 2 Nov 2022 22:39:47 -0800 Subject: [PATCH 2/2] mindcasting --- code/datums/uplink/badassery.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/uplink/badassery.dm b/code/datums/uplink/badassery.dm index 9e3bc9a37a..788e6815cc 100644 --- a/code/datums/uplink/badassery.dm +++ b/code/datums/uplink/badassery.dm @@ -36,7 +36,8 @@ if(istype(M)) return max(1, M.mind?.tcrystals) if(istype(M, /datum/mind)) - return max(1, M.tcrystals) + var/datum/mind/m = M + return max(1, m.tcrystals) return max(1, M) /datum/uplink_item/item/badassery/random_many/get_goods(var/obj/item/uplink/U, var/loc, var/mob/M)