/datum/browser Check Known Languages + UI button

This converts the "Check Known Languages" verb to use a
datum/browser-based UI (as opposed to the plain browse()), and adds a UI
button to most mobtypes to get to the language menu.
This commit is contained in:
Tigercat2000
2017-04-24 12:07:57 -07:00
parent 3901e0d119
commit 09ff33ed49
16 changed files with 75 additions and 36 deletions
+4
View File
@@ -55,6 +55,8 @@
#define ui_alien_storage_l "CENTER-2:14,SOUTH:5"//alien
#define ui_alien_storage_r "CENTER+1:18,SOUTH:5"//alien
#define ui_alien_language_menu "EAST-3:25,SOUTH+1:7"//alien
#define ui_alienlarva_language_menu "EAST-3:26,SOUTH:5"//alien
//Lower right, persistant menu
//#define ui_dropbutton "11:22,1:5"
@@ -66,10 +68,12 @@
#define ui_acti_alt "EAST-1:28,SOUTH:5" //alternative intent switcher for when the interface is hidden (F12)
#define ui_crafting "EAST:-5,SOUTH+2:7"
#define ui_language_menu "EAST:-22,SOUTH+2:7"
#define ui_borg_pull "EAST-2:26,SOUTH+1:7"
#define ui_borg_radio "EAST-1:28,SOUTH+1:7"
#define ui_borg_intents "EAST-2:26,SOUTH:5"
#define ui_borg_lanugage_menu "EAST-2:26,SOUTH+1:7"
//Upper-middle right (alerts)
#define ui_alert1 "EAST-1:28,CENTER+5:27"
+4
View File
@@ -150,6 +150,10 @@
var/obj/screen/using
using = new /obj/screen/language_menu
using.screen_loc = ui_borg_lanugage_menu
static_inventory += using
//AI core
using = new /obj/screen/ai/aicore()
using.screen_loc = ui_ai_core
+4
View File
@@ -36,6 +36,10 @@
var/obj/screen/using
var/obj/screen/inventory/inv_box
using = new /obj/screen/language_menu
using.screen_loc = ui_alien_language_menu
static_inventory += using
using = new /obj/screen/act_intent/alien()
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
using.screen_loc = ui_acti
+4
View File
@@ -30,6 +30,10 @@
mymob.pullin.screen_loc = ui_pull_resist
hotkeybuttons += mymob.pullin
using = new /obj/screen/language_menu
using.screen_loc = ui_alienlarva_language_menu
static_inventory += using
mymob.zone_sel = new /obj/screen/zone_sel/alien()
mymob.zone_sel.update_icon(mymob)
static_inventory += mymob.zone_sel
+7 -1
View File
@@ -60,7 +60,13 @@
var/obj/screen/using
var/obj/screen/inventory/inv_box
using = new /obj/screen/inventory/craft
using = new /obj/screen/craft
using.icon = ui_style
using.color = ui_color
using.alpha = ui_alpha
static_inventory += using
using = new /obj/screen/language_menu
using.icon = ui_style
using.color = ui_color
using.alpha = ui_alpha
+6
View File
@@ -24,6 +24,12 @@
static_inventory += using
move_intent = using
using = new /obj/screen/language_menu
using.icon = ui_style
using.color = ui_color
using.alpha = ui_alpha
static_inventory += using
using = new /obj/screen/drop()
using.icon = ui_style
using.screen_loc = ui_drop_throw
+5
View File
@@ -97,6 +97,11 @@
var/obj/screen/using
var/mob/living/silicon/robot/mymobR = mymob
//Language menu
using = new /obj/screen/language_menu
using.screen_loc = ui_borg_lanugage_menu
static_inventory += using
//Radio
using = new /obj/screen/robot/radio()
using.screen_loc = ui_borg_radio
+14 -2
View File
@@ -346,16 +346,28 @@
/obj/screen/zone_sel/robot
icon = 'icons/mob/screen_robot.dmi'
/obj/screen/inventory/craft
/obj/screen/craft
name = "crafting menu"
icon = 'icons/mob/screen_midnight.dmi'
icon_state = "craft"
screen_loc = ui_crafting
/obj/screen/inventory/craft/Click()
/obj/screen/craft/Click()
var/mob/living/M = usr
M.OpenCraftingMenu()
/obj/screen/language_menu
name = "language menu"
icon = 'icons/mob/screen_midnight.dmi'
icon_state = "talk_wheel"
screen_loc = ui_language_menu
/obj/screen/language_menu/Click()
var/mob/M = usr
if(!istype(M))
return
M.check_languages()
/obj/screen/inventory
var/slot_id //The indentifier for the slot. It has nothing to do with ID cards.
layer = 19
+23 -23
View File
@@ -618,34 +618,34 @@
return (universal_speak || (speaking && speaking.flags & INNATE) || speaking in languages)
//TBD
/mob/proc/check_lang_data()
. = ""
for(var/datum/language/L in languages)
if(!(L.flags & NONGLOBAL))
. += "<b>[L.name] (:[L.key])</b><br/>[L.desc]<br><br>"
/mob/living/check_lang_data()
. = ""
if(default_language)
. += "Current default language: [default_language] - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br><br>"
for(var/datum/language/L in languages)
if(!(L.flags & NONGLOBAL))
if(L == default_language)
. += "<b>[L.name] (:[L.key])</b> - default - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br>[L.desc]<br><br>"
else
. += "<b>[L.name] (:[L.key])</b> - <a href='byond://?src=[UID()];default_lang=[L]'>set default</a><br>[L.desc]<br><br>"
/mob/verb/check_languages()
set name = "Check Known Languages"
set category = "IC"
set src = usr
var/dat = "<b><font size = 5>Known Languages</font></b><br/><br/>"
for(var/datum/language/L in languages)
if(!(L.flags & NONGLOBAL))
dat += "<b>[L.name] (:[L.key])</b><br/>[L.desc]<br/><br/>"
src << browse(dat, "window=checklanguage")
return
/mob/living/check_languages()
var/dat = "<b><font size = 5>Known Languages</font></b><br/><br/>"
if(default_language)
dat += "Current default language: [default_language] - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br/><br/>"
for(var/datum/language/L in languages)
if(!(L.flags & NONGLOBAL))
if(L == default_language)
dat += "<b>[L.name] (:[L.key])</b> - default - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br/>[L.desc]<br/><br/>"
else
dat += "<b>[L.name] (:[L.key])</b> - <a href=\"byond://?src=[UID()];default_lang=[L]\">set default</a><br/>[L.desc]<br/><br/>"
src << browse(dat, "window=checklanguage")
var/datum/browser/popup = new(src, "checklanguage", "Known Languages", 420, 470)
popup.set_content(check_lang_data())
popup.open()
/mob/living/Topic(href, href_list)
if(href_list["default_lang"])
+4 -10
View File
@@ -167,15 +167,11 @@
if(L.name == rem_language)
speech_synthesizer_langs -= L
/mob/living/silicon/check_languages()
set name = "Check Known Languages"
set category = "IC"
set src = usr
var/dat = "<b><font size = 5>Known Languages</font></b><br/><br/>"
/mob/living/silicon/check_lang_data()
. = ""
if(default_language)
dat += "Current default language: [default_language] - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br/><br/>"
. += "Current default language: [default_language] - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br><br>"
for(var/datum/language/L in languages)
if(!(L.flags & NONGLOBAL))
@@ -186,10 +182,8 @@
default_str = " - <a href='byond://?src=[UID()];default_lang=[L]'>set default</a>"
var/synth = (L in speech_synthesizer_langs)
dat += "<b>[L.name] (:[L.key])</b>[synth ? default_str : null]<br/>Speech Synthesizer: <i>[synth ? "YES" : "NOT SUPPORTED"]</i><br/>[L.desc]<br/><br/>"
. += "<b>[L.name] (:[L.key])</b>[synth ? default_str : null]<br>Speech Synthesizer: <i>[synth ? "YES" : "NOT SUPPORTED"]</i><br>[L.desc]<br><br>"
src << browse(dat, "window=checklanguage")
return
// this function displays the stations manifest in a separate window
/mob/living/silicon/proc/show_station_manifest()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB