From 9ba4b8a665a3fa2cb73b0a191a580b208d94a1be Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 19 Jun 2022 08:44:37 -0400 Subject: [PATCH] New pAI verb --- code/game/objects/items/devices/paicard.dm | 3 + code/modules/mob/living/silicon/pai/pai_vr.dm | 73 ++++++++++++++++++- code/modules/vore/eating/living_vr.dm | 9 ++- 3 files changed, 83 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 0a73ea74c6..188efd77e1 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -17,6 +17,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard) var/image/screen_layer var/screen_color = "#00ff0d" var/last_notify = 0 + var/screen_msg /obj/item/device/paicard/relaymove(var/mob/user, var/direction) if(user.stat || user.stunned) @@ -259,6 +260,8 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard) "} */ + if(screen_msg) + dat += "Message from [pai.name]
[screen_msg]" else if(looking_for_personality) dat += {" diff --git a/code/modules/mob/living/silicon/pai/pai_vr.dm b/code/modules/mob/living/silicon/pai/pai_vr.dm index 62deaa125f..eaf12624ad 100644 --- a/code/modules/mob/living/silicon/pai/pai_vr.dm +++ b/code/modules/mob/living/silicon/pai/pai_vr.dm @@ -362,4 +362,75 @@ if(!new_gender_identity) return 0 gender = new_gender_identity - return 1 \ No newline at end of file +<<<<<<< HEAD + return 1 +======= + return 1 + +/mob/living/silicon/pai/verb/pai_hide() + set name = "Hide" + set desc = "Allows to hide beneath tables or certain items. Toggled on or off." + set category = "Abilities" + + hide() + if(status_flags & HIDING) + hide_glow = TRUE + else + hide_glow = FALSE + update_icon() + +/mob/living/silicon/pai/verb/screen_message(message as text|null) + set category = "pAI Commands" + set name = "Screen Message" + set desc = "Allows you to display a message on your screen. This will show up in the chat of anyone who is holding your card." + + if (src.client) + if(client.prefs.muted & MUTE_IC) + to_chat(src, "You cannot speak in IC (muted).") + return + if(loc != card) + to_chat(src, "Your message won't be visible while unfolded!") + if (!message) + message = tgui_input_text(src, "Enter text you would like to show on your screen.","Screen Message") + message = sanitize_or_reflect(message,src) + if (!message) + return + message = capitalize(message) + if (stat == DEAD) + return + card.screen_msg = message + var/logmsg = "(CARD SCREEN)[message]" + log_say(logmsg,src) + to_chat(src, "You print a message to your screen, \"[message]\"") + if(isliving(card.loc)) + var/mob/living/L = card.loc + if(L.client) + to_chat(L, "[src.name]'s screen prints, \"[message]\"") + else return + else if(isbelly(card.loc)) + var/obj/belly/b = card.loc + if(b.owner.client) + to_chat(b.owner, "[src.name]'s screen prints, \"[message]\"") + else return + else if(istype(card.loc, /obj/item/device/pda)) + var/obj/item/device/pda/p = card.loc + if(isliving(p.loc)) + var/mob/living/L = p.loc + if(L.client) + to_chat(L, "[src.name]'s screen prints, \"[message]\"") + else return + else if(isbelly(p.loc)) + var/obj/belly/b = card.loc + if(b.owner.client) + to_chat(b.owner, "[src.name]'s screen prints, \"[message]\"") + else return + else return + else return + to_chat(src, "Your message was relayed.") + for (var/mob/G in player_list) + if (istype(G, /mob/new_player)) + continue + else if(isobserver(G) && G.is_preference_enabled(/datum/client_preference/ghost_ears)) + if(is_preference_enabled(/datum/client_preference/whisubtle_vis) || G.client.holder) + to_chat(G, "[src.name]'s screen prints, \"[message]\"") +>>>>>>> d3d28022f6... Merge pull request #13124 from Very-Soft/screenmsg diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 238f714ab6..7e1301a78d 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -784,9 +784,16 @@ else if(istype(I,/obj/item/weapon/bikehorn/tinytether)) to_chat(src, "You feel a rush of power swallowing such a large, err, tiny structure.") visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") - else if(istype(I,/obj/item/device/paicard) || istype(I,/obj/item/device/mmi/digital/posibrain) || istype(I,/obj/item/device/aicard)) + else if(istype(I,/obj/item/device/mmi/digital/posibrain) || istype(I,/obj/item/device/aicard)) visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") to_chat(src, "You can taste the sweet flavor of digital friendship. Or maybe it is something else.") + else if(istype(I,/obj/item/device/paicard)) + visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") + to_chat(src, "You can taste the sweet flavor of digital friendship.") + var/obj/item/device/paicard/ourcard = I + if(ourcard.pai && ourcard.pai.client && isbelly(ourcard.loc)) + var/obj/belly/B = ourcard.loc + to_chat(ourcard.pai, "[B.desc]") else if(istype(I,/obj/item/weapon/reagent_containers/food)) var/obj/item/weapon/reagent_containers/food/F = I if(!F.reagents.total_volume)