diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index b95a20d23b6..f19b2b9121b 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -47,9 +47,11 @@ var/list/uplink_items = list() var/list/job = null /datum/uplink_item/proc/spawn_item(var/turf/loc, var/obj/item/device/uplink/U) - U.uses -= max(cost, 0) - feedback_add_details("traitor_uplink_items_bought", name) - return new item(loc) + if(item) + U.uses -= max(cost, 0) + U.used_TC += cost + feedback_add_details("traitor_uplink_items_bought", name) + return new item(loc) /datum/uplink_item/proc/buy(var/obj/item/device/uplink/hidden/U, var/mob/user) @@ -74,7 +76,12 @@ var/list/uplink_items = list() if(ishuman(user)) var/mob/living/carbon/human/A = user A.put_in_any_hand_if_possible(I) - U.purchase_log += "[user] ([user.ckey]) bought [name] for [cost]." + + if(istype(I,/obj/item/weapon/storage/box/) && I.contents.len>0) + for(var/atom/o in I) + U.purchase_log += "\icon[o]" + else + U.purchase_log += "\icon[I]" U.interact(user) return 1 @@ -481,4 +488,4 @@ var/list/uplink_items = list() var/datum/uplink_item/I = pick(possible_items) U.uses -= max(0, I.cost) feedback_add_details("traitor_uplink_items_bought","RN") - return new I.item(loc) \ No newline at end of file + return new I.item(loc) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 74d7fe81acc..06e1fcb0a19 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -332,6 +332,9 @@ proc/issyndicate(mob/living/M as mob) if( syndicates.len || (ticker && istype(ticker.mode,/datum/game_mode/nuclear)) ) var/text = "The syndicate operatives were:" + var/purchases = "" + var/TC_uses = 0 + for(var/datum/mind/syndicate in syndicates) text += "
[syndicate.key] was [syndicate.name] (" @@ -346,6 +349,14 @@ proc/issyndicate(mob/living/M as mob) text += "body destroyed" text += ")" + for(var/obj/item/device/uplink/H in world_uplinks) + if(H && H.uplink_owner && H.uplink_owner==syndicate.name) + TC_uses += H.used_TC + purchases += H.purchase_log + + + text += "(Syndicates used [TC_uses] TC) [purchases]" + world << text return 1 diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 815a766f805..6a839c60a3b 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -236,6 +236,19 @@ text += "body destroyed" text += ")" + + var/TC_uses = 0 + var/uplink_true = 0 + var/purchases = "" + for(var/obj/item/device/uplink/H in world_uplinks) + if(H && H.uplink_owner && H.uplink_owner==traitor.name) + TC_uses += H.used_TC + uplink_true=1 + purchases += H.purchase_log + + if(uplink_true) text += " (used [TC_uses] TC) [purchases]" + + if(traitor.objectives.len)//If the traitor had no objectives, don't need to process this. var/count = 1 for(var/datum/objective/objective in traitor.objectives) @@ -254,6 +267,7 @@ else special_role_text = "antagonist" + if(traitorwin) text += "
The [special_role_text] was successful!" feedback_add_details("traitor_success","SUCCESS") @@ -261,6 +275,7 @@ text += "
The [special_role_text] has failed!" feedback_add_details("traitor_success","FAIL") + world << text return 1 @@ -299,6 +314,7 @@ var/obj/item/device/uplink/hidden/T = new(R) target_radio.hidden_uplink = T + T.uplink_owner = "[traitor_mob]" target_radio.traitor_frequency = freq traitor_mob << "The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name] [loc]. Simply dial the frequency [format_frequency(freq)] to unlock its hidden features." traitor_mob.mind.store_memory("Radio Freq: [format_frequency(freq)] ([R.name] [loc]).") @@ -308,6 +324,7 @@ var/obj/item/device/uplink/hidden/T = new(R) R.hidden_uplink = T + T.uplink_owner = "[traitor_mob]" var/obj/item/device/pda/P = R P.lock_code = pda_pass @@ -393,4 +410,4 @@ traitor_mind.special_role = null update_traitor_icons_removed(traitor_mind) //world << "Removed [traitor_mind.current.name] from traitor shit" - traitor_mind.current << "\red The fog clouding your mind clears. You remember nothing from the moment you were implanted until now.(You don't remember who implanted you)" \ No newline at end of file + traitor_mind.current << "\red The fog clouding your mind clears. You remember nothing from the moment you were implanted until now.(You don't remember who implanted you)" diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index 054ebe36b31..4e7d8d0244b 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -6,20 +6,30 @@ A list of items and costs is stored under the datum of every game mode, alongsid */ +var/list/world_uplinks = list() + /obj/item/device/uplink var/welcome // Welcoming menu message var/uses // Numbers of crystals // List of items not to shove in their hands. - var/list/purchase_log = list() + var/purchase_log = "" var/show_description = null var/active = 0 var/job = null + var/uplink_owner = null//text-only + var/used_TC = 0 + /obj/item/device/uplink/New() ..() + world_uplinks+=src welcome = ticker.mode.uplink_welcome uses = ticker.mode.uplink_uses +/obj/item/device/uplink/Del() + world_uplinks-=src + ..() + //Let's build a menu! /obj/item/device/uplink/proc/generate_menu(mob/user as mob) if(!job) diff --git a/code/game/objects/items/weapons/implants/implantuplink.dm b/code/game/objects/items/weapons/implants/implantuplink.dm index 2cba026e320..a42287920a5 100644 --- a/code/game/objects/items/weapons/implants/implantuplink.dm +++ b/code/game/objects/items/weapons/implants/implantuplink.dm @@ -14,6 +14,7 @@ activation_emote = input("Choose activation emote:") in list("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") source.mind.store_memory("Uplink implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.", 0, 0) source << "The implanted uplink implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate." + hidden_uplink.uplink_owner="[source]" return 1 diff --git a/code/stylesheet.dm b/code/stylesheet.dm index ffdc718eba8..b4c096562be 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -71,4 +71,7 @@ h1.alert, h2.alert {color: #000000;} .say_quote {font-family: Georgia, Verdana, sans-serif;} .interface {color: #330033;} -"} +BIG IMG.icon {width: 32px; height: 32px;} + + +"} \ No newline at end of file