From 595b58197dded226658c12c9cfee8f8989cc793b Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 5 Aug 2015 00:49:28 +0100 Subject: [PATCH 1/2] fix pAI radios not working --- .../game/objects/items/devices/radio/radio.dm | 3 +++ code/modules/nano/nanointeraction.dm | 4 +-- nano/templates/pai_radio.tmpl | 26 +++++++++---------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index d6b254cad1..903a32ed3b 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -149,6 +149,9 @@ else channels[chan_name] |= FREQ_LISTENING + if(href_list["nowindow"]) // here for pAIs, maybe others will want it, idk + return + interact(usr) /obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT diff --git a/code/modules/nano/nanointeraction.dm b/code/modules/nano/nanointeraction.dm index 1e6c304541..1a220771df 100644 --- a/code/modules/nano/nanointeraction.dm +++ b/code/modules/nano/nanointeraction.dm @@ -18,7 +18,7 @@ return STATUS_UPDATE // Ghosts can view updates /mob/living/silicon/pai/can_use_topic(var/src_object) - if(src_object == src && !stat) + if((src_object == src || src_object == radio) && !stat) return STATUS_INTERACTIVE else return ..() @@ -128,4 +128,4 @@ var/flags = 0 /datum/topic_state/proc/href_list(var/mob/user) - return list() \ No newline at end of file + return list() diff --git a/nano/templates/pai_radio.tmpl b/nano/templates/pai_radio.tmpl index bcdacdb48f..70e76a2633 100644 --- a/nano/templates/pai_radio.tmpl +++ b/nano/templates/pai_radio.tmpl @@ -8,11 +8,11 @@ code/modules/mob/living/silicon/pai/software_modules.dm
{{if data.listening}} - {{:helper.link("On", '', {"stopic":"radio", "talk":1}, 'selected')}} - {{:helper.link("Off", '', {"stopic":"radio", "talk":1})}} + {{:helper.link("On", '', {"stopic":"radio", "talk":1, "nowindow":1}, 'selected')}} + {{:helper.link("Off", '', {"stopic":"radio", "talk":1, "nowindow":1})}} {{else}} - {{:helper.link("On", '', {"stopic":"radio", "talk":1})}} - {{:helper.link("Off", '', {"stopic":"radio", "talk":1}, 'selected')}} + {{:helper.link("On", '', {"stopic":"radio", "talk":1, "nowindow":1})}} + {{:helper.link("Off", '', {"stopic":"radio", "talk":1, "nowindow":1}, 'selected')}} {{/if}}
@@ -22,11 +22,11 @@ code/modules/mob/living/silicon/pai/software_modules.dm Frequency:
- {{:helper.link("--", '', {"stopic":"radio", "freq":-10})}} - {{:helper.link("-", '', {"stopic":"radio", "freq": -2})}} + {{:helper.link("--", '', {"stopic":"radio", "freq":-10, "nowindow":1})}} + {{:helper.link("-", '', {"stopic":"radio", "freq": -2, "nowindow":1})}}
{{:data.frequency}}
- {{:helper.link("+", '', {"stopic":"radio", "freq": 2})}} - {{:helper.link("++", '', {"stopic":"radio", "freq": 10})}} + {{:helper.link("+", '', {"stopic":"radio", "freq": 2, "nowindow":1})}} + {{:helper.link("++", '', {"stopic":"radio", "freq": 10, "nowindow":1})}}
@@ -37,12 +37,12 @@ code/modules/mob/living/silicon/pai/software_modules.dm
{{if value.listening}} - {{:helper.link("On", '', {"stopic":"radio", "channel":value.name, "listen":1}, 'selected')}} - {{:helper.link("Off", '', {"stopic":"radio", "channel":value.name, "listen":1})}} + {{:helper.link("On", '', {"stopic":"radio", "channel":value.name, "listen":1, "nowindow":1}, 'selected')}} + {{:helper.link("Off", '', {"stopic":"radio", "channel":value.name, "listen":1, "nowindow":1})}} {{else}} - {{:helper.link("On", '', {"stopic":"radio", "channel":value.name, "listen":1})}} - {{:helper.link("Off", '', {"stopic":"radio", "channel":value.name, "listen":1}, 'selected')}} + {{:helper.link("On", '', {"stopic":"radio", "channel":value.name, "listen":1, "nowindow":1})}} + {{:helper.link("Off", '', {"stopic":"radio", "channel":value.name, "listen":1, "nowindow":1}, 'selected')}} {{/if}}
-{{/for}} \ No newline at end of file +{{/for}} From c71d78ab1a01df9dab367c9561824de5c698f77a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 5 Aug 2015 00:50:04 +0100 Subject: [PATCH 2/2] add debug verb as pAI-spawning adminverb --- baystation12.dme | 1 + code/modules/admin/admin_verbs.dm | 3 ++- code/modules/mob/living/silicon/pai/admin.dm | 21 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 code/modules/mob/living/silicon/pai/admin.dm diff --git a/baystation12.dme b/baystation12.dme index e286a177bc..b7193eb020 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1172,6 +1172,7 @@ #include "code\modules\mob\living\silicon\decoy\death.dm" #include "code\modules\mob\living\silicon\decoy\decoy.dm" #include "code\modules\mob\living\silicon\decoy\life.dm" +#include "code\modules\mob\living\silicon\pai\admin.dm" #include "code\modules\mob\living\silicon\pai\death.dm" #include "code\modules\mob\living\silicon\pai\examine.dm" #include "code\modules\mob\living\silicon\pai\life.dm" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index c0c92a81c7..f0cba1b8f2 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -80,7 +80,8 @@ var/list/admin_verbs_admin = list( /client/proc/allow_character_respawn, /* Allows a ghost to respawn */ /client/proc/event_manager_panel, /client/proc/empty_ai_core_toggle_latejoin, - /client/proc/view_chemical_reaction_logs + /client/proc/view_chemical_reaction_logs, + /client/proc/makePAI ) var/list/admin_verbs_ban = list( /client/proc/unban_panel, diff --git a/code/modules/mob/living/silicon/pai/admin.dm b/code/modules/mob/living/silicon/pai/admin.dm new file mode 100644 index 0000000000..069c5d2c68 --- /dev/null +++ b/code/modules/mob/living/silicon/pai/admin.dm @@ -0,0 +1,21 @@ +// Originally a debug verb, made it a proper adminverb for ~fun~ +/client/proc/makePAI(turf/t in view(), name as text, pai_key as null|text) + set name = "Make pAI" + set category = "Admin" + + if(!check_rights(R_ADMIN)) + return + + if(!pai_key) + var/client/C = input("Select client") as null|anything in clients + if(!C) return + pai_key = C.key + + log_and_message_admins("made a pAI with key=[pai_key] at ([t.x],[t.y],[t.z])") + var/obj/item/device/paicard/card = new(t) + var/mob/living/silicon/pai/pai = new(card) + pai.key = pai_key + card.setPersonality(pai) + + if(name) + pai.SetName(name)