diff --git a/code/datums/uplink/announcements.dm b/code/datums/uplink/announcements.dm index baad42f5c1d..3f77b5fe360 100644 --- a/code/datums/uplink/announcements.dm +++ b/code/datums/uplink/announcements.dm @@ -15,8 +15,17 @@ item_cost = round(DEFAULT_TELECRYSTAL_AMOUNT / 2) desc = "Causes a falsified [command_name()] Update. Triggers immediately after supplying additional data." +/datum/uplink_item/abstract/announcements/fake_centcom/extra_args(var/mob/user) + var/title = sanitize(input("Enter your announcement title.", "Announcement Title") as null|text) + if(!title) + return + var/message = sanitize(input("Enter your announcement message.", "Announcement Title") as null|text) + if(!message) + return + return list("title" = title, "message" = message) + /datum/uplink_item/abstract/announcements/fake_centcom/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/user, var/list/args) - command_announcement.Announce(args.["message"], args.["title"]) + command_announcement.Announce(args["message"], args["title"]) return 1 /datum/uplink_item/abstract/announcements/fake_crew_arrival diff --git a/code/datums/uplink/uplink_items.dm b/code/datums/uplink/uplink_items.dm index 6a2dc40c241..8636cb58acb 100644 --- a/code/datums/uplink/uplink_items.dm +++ b/code/datums/uplink/uplink_items.dm @@ -47,6 +47,9 @@ var/datum/uplink/uplink = new() if(!can_buy(U)) return + if(U.CanUseTopic(user, inventory_state) != STATUS_INTERACTIVE) + return + var/cost = cost(U.uses) var/goods = get_goods(U, get_turf(user), user, extra_args) @@ -143,7 +146,9 @@ datum/uplink_item/dd_SortValue() * Abstract Uplink Entries * * * ********************************/ -var/image/default_abstract_uplink_icon +/datum/uplink_item/abstract + var/static/image/default_abstract_uplink_icon + /datum/uplink_item/abstract/log_icon() if(!default_abstract_uplink_icon) default_abstract_uplink_icon = image('icons/obj/pda.dmi', "pda-syn") diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 12bbf7644d8..50dca1f5dac 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -871,9 +871,9 @@ return else - user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) src.log_message("Attacked by [W]. Attacker - [user]") + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) if(deflect_hit(is_melee=1)) user << "\The [W] bounces off [src.name]." src.log_append_to_last("Armor saved.") diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm index 8f704b2af8d..d033407c7d3 100644 --- a/code/game/objects/items/devices/uplink.dm +++ b/code/game/objects/items/devices/uplink.dm @@ -104,6 +104,11 @@ A list of items and costs is stored under the datum of every game mode, alongsid // Interaction code. Gathers a list of items purchasable from the paren't uplink and displays it. It also adds a lock button. /obj/item/device/uplink/hidden/interact(mob/user) ui_interact(user) + +/obj/item/device/uplink/hidden/CanUseTopic() + if(!active) + return STATUS_CLOSE + return ..() // The purchasing code. /obj/item/device/uplink/hidden/Topic(href, href_list) diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm index 3cef2037b73..3b60a140f19 100644 --- a/code/modules/ghosttrap/trap.dm +++ b/code/modules/ghosttrap/trap.dm @@ -190,10 +190,27 @@ datum/ghosttrap/drone/transfer_personality(var/mob/candidate, var/mob/living/sil /*********************************** * Syndicate Cyborg * ***********************************/ +/* /datum/ghosttrap/syndicateborg object = "syndicate cyborg" ban_checks = list("Antagonist","AI","Cyborg") pref_check = "BE_SYNTH" ghost_trap_message = "They are occupying a syndicate cyborg now." ghost_trap_role = "Syndicate Cyborg" - can_set_own_name = TRUE + can_set_own_name = TRUE +*/ + +/************** +* pAI * +**************/ +/datum/ghosttrap/pai + object = "pAI" + pref_check = BE_PAI + ghost_trap_message = "They are occupying a pAI now." + ghost_trap_role = "pAI" + +datum/ghosttrap/pai/assess_candidate(var/mob/observer/ghost/candidate, var/mob/target) + return 0 + +datum/ghosttrap/pai/transfer_personality(var/mob/candidate, var/mob/living/silicon/robot/drone/drone) + return 0 diff --git a/html/changelogs/alberyk-PR-1692.yml b/html/changelogs/alberyk-PR-1692.yml new file mode 100644 index 00000000000..4bc74f32650 --- /dev/null +++ b/html/changelogs/alberyk-PR-1692.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - bugfix: "Fixed the fake central command announcement, in the traitor uplinks, not working." diff --git a/icons/obj/tracksuit.dmi b/icons/obj/tracksuit.dmi index 51969b65351..106cb60ceb5 100644 Binary files a/icons/obj/tracksuit.dmi and b/icons/obj/tracksuit.dmi differ