diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index fa1d696a067..50653a71199 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -263,12 +263,13 @@
/atom/proc/AltClick(var/mob/user)
var/turf/T = get_turf(src)
- if(T && user.TurfAdjacent(T))
- if(user.listed_turf == T)
- user.listed_turf = null
- else
+ if(T)
+ if(user.TurfAdjacent(T))
user.listed_turf = T
user.client.statpanel = T.name
+ // If we had a method to force a `Stat` update, it would go here
+ else
+ user.listed_turf = null
return
/mob/proc/TurfAdjacent(var/turf/T)
diff --git a/code/datums/action.dm b/code/datums/action.dm
index c35923191e5..446b50243ae 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -145,6 +145,9 @@
/datum/action/item_action/startchainsaw
name = "Pull The Starting Cord"
+/datum/action/item_action/print_report
+ name = "Print Forensic Report"
+
/datum/action/item_action/toggle_gunlight
name = "Toggle Gunlight"
@@ -244,6 +247,15 @@
name = "Adjust [target.name]"
button.name = name
+/datum/action/item_action/pontificate
+ name = "Pontificate Evilly"
+
+/datum/action/item_action/tip_fedora
+ name = "Tip Fedora"
+
+/datum/action/item_action/flip_cap
+ name = "Flip Cap"
+
/datum/action/item_action/switch_hud
name = "Switch HUD"
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 2133fe98e48..98e5026ae81 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -177,21 +177,25 @@
desc = "There's a new sheriff in town. Pass the whiskey."
/obj/item/clothing/head/fedora
- name = "\improper fedora"
+ name = "fedora"
icon_state = "fedora"
item_state = "fedora"
desc = "A great hat ruined by being within fifty yards of you."
+ actions_types = list(/datum/action/item_action/tip_fedora)
-//TIPS FEDORA
-/obj/item/clothing/head/fedora/verb/tip_fedora()
- set name = "Tip Fedora"
- set category = "Object"
- set desc = "Show that CIS SCUM who's boss."
+/obj/item/clothing/head/fedora/attack_self(mob/user)
+ tip_fedora(user)
+
+/obj/item/clothing/head/fedora/item_action_slot_check(slot)
+ if(slot == slot_head)
+ return 1
+
+/obj/item/clothing/head/fedora/proc/tip_fedora(mob/user)
+ user.visible_message("[user] tips their fedora.", "You tip your fedora")
- usr.visible_message("[usr] tips their fedora.","You tip your fedora")
/obj/item/clothing/head/fez
- name = "\improper fez"
+ name = "fez"
icon_state = "fez"
item_state = "fez"
desc = "Put it on your monkey, make lots of cash money."
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index e7dae7d04da..8727065fb5b 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -5,25 +5,29 @@
item_state = "helmet"
item_color = "cargo"
var/flipped = 0
+ actions_types = list(/datum/action/item_action/flip_cap)
- dropped()
- src.icon_state = "[item_color]soft"
- src.flipped=0
- ..()
+/obj/item/clothing/head/soft/dropped()
+ icon_state = "[item_color]soft"
+ flipped = 0
+ ..()
- verb/flip()
- set category = "Object"
- set name = "Flip cap"
- set src in usr
- if(usr.canmove && !usr.stat && !usr.restrained())
- src.flipped = !src.flipped
- if(src.flipped)
- icon_state = "[item_color]soft_flipped"
- to_chat(usr, "You flip the hat backwards.")
- else
- icon_state = "[item_color]soft"
- to_chat(usr, "You flip the hat back in normal position.")
- usr.update_inv_head() //so our mob-overlays update
+/obj/item/clothing/head/soft/attack_self(mob/user)
+ flip(user)
+
+/obj/item/clothing/head/soft/proc/flip(mob/user)
+ flipped = !flipped
+ if(flipped)
+ icon_state = "[item_color]soft_flipped"
+ to_chat(usr, "You flip the hat backwards.")
+ else
+ icon_state = "[item_color]soft"
+ to_chat(user, "You flip the hat back in normal position.")
+ user.update_inv_head() //so our mob-overlays update
+
+ for(var/X in actions)
+ var/datum/action/A = X
+ A.UpdateButtonIcon()
/obj/item/clothing/head/soft/red
name = "red cap"
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index dd66740f966..f299419ed09 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -82,6 +82,7 @@
desc = "moustache is totally real."
icon_state = "fake-moustache"
flags_inv = HIDEFACE
+ actions_types = list(/datum/action/item_action/pontificate)
species_fit = list("Vox", "Unathi", "Tajaran", "Vulpkanin")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/mask.dmi',
@@ -90,12 +91,15 @@
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi'
)
-/obj/item/clothing/mask/fakemoustache/verb/pontificate()
- set name = "Pontificate Evilly"
- set category = "Object"
- set desc = "Devise evil plans of evilness."
+/obj/item/clothing/mask/fakemoustache/attack_self(mob/user)
+ pontificate(user)
- usr.visible_message("\ [usr] twirls \his moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!")
+/obj/item/clothing/mask/fakemoustache/item_action_slot_check(slot)
+ if(slot == slot_wear_mask)
+ return 1
+
+/obj/item/clothing/mask/fakemoustache/proc/pontificate(mob/user)
+ user.visible_message("\ [user] twirls \his moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!")
//scarves (fit in in mask slot)
diff --git a/code/modules/detective_work/scanner.dm b/code/modules/detective_work/scanner.dm
index 58c1c31a3b8..be8e7d147a2 100644
--- a/code/modules/detective_work/scanner.dm
+++ b/code/modules/detective_work/scanner.dm
@@ -14,6 +14,7 @@
origin_tech = "magnets=4;biotech=2"
var/scanning = 0
var/list/log = list()
+ actions_types = list(/datum/action/item_action/print_report)
/obj/item/device/detective_scanner/attack_self(var/mob/user)
var/search = input(user, "Enter name, fingerprint or blood DNA.", "Find record", "")
@@ -58,11 +59,10 @@
to_chat(user, "No match found in station records.")
+/obj/item/device/detective_scanner/ui_action_click()
+ print_scanner_report()
-/obj/item/device/detective_scanner/verb/print_scanner_report()
- set name = "Print Scanner Report"
- set category = "Object"
-
+/obj/item/device/detective_scanner/proc/print_scanner_report()
if(log.len && !scanning)
scanning = 1
to_chat(usr, "Printing report, please wait...")
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 3bdd95b648d..5bd5ec9c36f 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -16,7 +16,6 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
anchored = 1 // don't get pushed around
invisibility = INVISIBILITY_OBSERVER
var/can_reenter_corpse
- var/datum/hud/living/carbon/hud = null // hud
var/bootime = 0
var/started_as_observer //This variable is set to 1 when you enter the game as an observer.
//If you died in the game and are a ghsot - this will remain as null.
diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm
index aac43c16ac3..996687ee4b0 100644
--- a/code/modules/mob/living/carbon/brain/brain.dm
+++ b/code/modules/mob/living/carbon/brain/brain.dm
@@ -4,7 +4,6 @@
var/obj/item/container = null
var/timeofhostdeath = 0
var/emp_damage = 0//Handles a type of MMI damage
- var/alert = null
use_me = 0 //Can't use the me verb, it's a freaking immobile brain
icon = 'icons/obj/surgery.dmi'
icon_state = "brain1"
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index a74409a9b44..61ef6fb1a4f 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -58,7 +58,6 @@ var/global/default_martial_art = new/datum/martial_art
var/datum/martial_art/martial_art = null
var/special_voice = "" // For changing our voice. Used by a symptom.
- var/said_last_words=0
var/last_dam = -1 //Used for determining if we need to process all organs or just some or even none.
var/list/bad_external_organs = list()// organs we check until they are good.
@@ -73,12 +72,9 @@ var/global/default_martial_art = new/datum/martial_art
var/meatleft = 3 //For chef item
var/decaylevel = 0 // For rotting bodies
var/max_blood = BLOOD_VOLUME_NORMAL // For stuff in the vessel
- var/slime_color = "blue" //For slime people this defines their color, it's blue by default to pay tribute to the old icons
var/check_mutations=0 // Check mutations on next life tick
- var/lastFart = 0 // Toxic fart cooldown.
-
var/fire_dmi = 'icons/mob/OnFire.dmi'
var/fire_sprite = "Standing"
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 66aa095a618..66b0ba2b186 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -948,17 +948,7 @@ var/list/slot_equipment_priority = list( \
/mob/Stat()
..()
- if(listed_turf && client)
- if(!TurfAdjacent(listed_turf))
- listed_turf = null
- else
- statpanel(listed_turf.name, null, listed_turf)
- for(var/atom/A in listed_turf)
- if(A.invisibility > see_invisible)
- continue
- if(is_type_in_list(A, shouldnt_see))
- continue
- statpanel(listed_turf.name, null, A)
+ show_stat_turf_contents()
statpanel("Status") // We only want alt-clicked turfs to come before Status
@@ -995,6 +985,23 @@ var/list/slot_equipment_priority = list( \
if(ETA)
stat(null, "[ETA] [shuttle_master.emergency.getTimerStr()]")
+/mob/proc/show_stat_turf_contents()
+ if(listed_turf && client)
+ if(!TurfAdjacent(listed_turf))
+ listed_turf = null
+ else
+ statpanel(listed_turf.name, null, listed_turf)
+ var/list/statpanel_things = list()
+ for(var/foo in listed_turf)
+ var/atom/A = foo
+ if(A.invisibility > see_invisible)
+ continue
+ if(is_type_in_list(A, shouldnt_see))
+ continue
+ statpanel_things += A
+ statpanel(listed_turf.name, null, statpanel_things)
+
+
/mob/proc/add_stings_to_statpanel(var/list/stings)
for(var/obj/effect/proc_holder/changeling/S in stings)
if(S.chemical_cost >=0 && S.can_be_used_by(src))
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index e4765b4f106..323f170facd 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -94,7 +94,6 @@
var/intent = null//Living
var/shakecamera = 0
var/a_intent = I_HELP//Living
- var/m_int = null//Living
var/m_intent = "run"//Living
var/lastKnownIP = null
var/atom/movable/buckled = null//Living
diff --git a/html/changelogs/AutoChangeLog-pr-5446.yml b/html/changelogs/AutoChangeLog-pr-5446.yml
new file mode 100644
index 00000000000..0655d40ef46
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-5446.yml
@@ -0,0 +1,5 @@
+author: Crazylemon
+delete-after: True
+changes:
+ - tweak: "Alt+Click should be quicker now"
+ - tweak: "The Alt+Click panel vanishes only when you alt click a turf distant from yourself"
diff --git a/html/changelogs/AutoChangeLog-pr-5454.yml b/html/changelogs/AutoChangeLog-pr-5454.yml
new file mode 100644
index 00000000000..7dcb3ba9e6e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-5454.yml
@@ -0,0 +1,4 @@
+author: Fox McCloud
+delete-after: True
+changes:
+ - tweak: "Detective Scanner, Fedora Tipping, Pontificating, and Cap Flipping are now action buttons"
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 6e5a03c7c8b..eef051bcc53 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -1493,838 +1493,85 @@ menu "menu"
saved-params = "is-checked"
-window "Telecomms IDE"
- elem "Telecomms IDE"
- type = MAIN
- pos = 281,0
- size = 569x582
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = #ffffff
- is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = "TCS IDE"
- titlebar = true
- statusbar = false
- can-close = true
- can-minimize = true
- can-resize = true
- is-pane = false
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = "exittcs"
- elem "button5"
- type = BUTTON
- pos = 209,464
- size = 70x20
- anchor1 = 37,80
- anchor2 = 49,83
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Clear Memory"
- image = ""
- command = "tcsclearmem"
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "button4"
- type = BUTTON
- pos = 157,464
- size = 52x20
- anchor1 = 28,80
- anchor2 = 37,83
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Revert"
- image = ""
- command = "tcsrevert"
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "button3"
- type = BUTTON
- pos = 105,464
- size = 52x20
- anchor1 = 18,80
- anchor2 = 28,83
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Execute"
- image = ""
- command = "tcsrun"
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "tcserror"
- type = OUTPUT
- pos = 0,488
- size = 566x94
- anchor1 = 0,84
- anchor2 = 99,100
- font-family = "sans-serif"
- font-size = 9
- font-style = ""
- text-color = #000000
- background-color = #ffffff
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "max-lines"
- on-size = ""
- link-color = #0000ff
- visited-color = #ff00ff
- style = ""
- enable-http-images = false
- max-lines = 1000
- image = ""
- elem "button2"
- type = BUTTON
- pos = 53,464
- size = 52x20
- anchor1 = 9,80
- anchor2 = 18,83
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Compile"
- image = ""
- command = "tcscompile"
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "button1"
- type = BUTTON
- pos = 0,464
- size = 53x20
- anchor1 = 0,80
- anchor2 = 9,83
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Apply"
- image = ""
- command = "tcssave"
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "tcscode"
- type = INPUT
- pos = 0,0
- size = 569x464
- anchor1 = 0,0
- anchor2 = 100,80
- font-family = "Courier"
- font-size = 10
- font-style = ""
- text-color = #000000
- background-color = #ffffff
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- command = "cancel"
- multi-line = true
- is-password = false
- no-command = true
-
-window "chemdispenser"
- elem "chemdispenser"
- type = MAIN
- pos = 281,0
- size = 340x480
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = "Chem Dispenser"
- titlebar = true
- statusbar = false
- can-close = true
- can-minimize = true
- can-resize = true
- is-pane = false
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
- elem "energy"
- type = LABEL
- pos = 8,24
- size = 56x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- text = "Energy: 25"
- image = ""
- image-mode = center
- keep-aspect = false
- align = center
- text-wrap = false
- allow-html = false
- letterbox = true
- elem "eject"
- type = BUTTON
- pos = 264,4
- size = 72x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "[Insert beaker]"
- image = ""
- command = "skincmd \"chemdispenser;eject\""
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "amountc"
- type = BUTTON
- pos = 208,4
- size = 48x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "[Other]"
- image = ""
- command = "skincmd \"chemdispenser;amountc\""
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "amount3"
- type = BUTTON
- pos = 176,4
- size = 24x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "[30]"
- image = ""
- command = "skincmd \"chemdispenser;amount30\""
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "amount2"
- type = BUTTON
- pos = 144,4
- size = 24x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "[20]"
- image = ""
- command = "skincmd \"chemdispenser;amount20\""
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "amount1"
- type = BUTTON
- pos = 112,4
- size = 24x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "[10]"
- image = ""
- command = "skincmd \"chemdispenser;amount10\""
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "amount"
- type = LABEL
- pos = 4,4
- size = 100x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 12
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- text = "Amount: 30"
- image = ""
- image-mode = center
- keep-aspect = false
- align = center
- text-wrap = false
- allow-html = false
- letterbox = true
- elem "child1"
- type = CHILD
- pos = 0,40
- size = 340x440
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "splitter"
- on-size = ""
- left = "chemdispenser_reagents"
- right = ""
- is-vert = false
- splitter = 50
- show-splitter = true
- lock = none
-
-window "chemdispenser_reagents"
- elem "chemdispenser_reagents"
- type = MAIN
- pos = 281,0
- size = 340x448
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = ""
- titlebar = false
- statusbar = false
- can-close = false
- can-minimize = false
- can-resize = false
- is-pane = true
- is-minimized = false
- is-maximized = false
- can-scroll = vertical
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
- elem "template_dispense"
- type = BUTTON
- pos = 256,8
- size = 64x32
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Dispense"
- image = 'icons\\dispensebutton_bg.png'
- command = ""
- is-flat = true
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
- elem "template_name"
- type = LABEL
- pos = 18,8
- size = 230x32
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 15
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- text = "Chloral Hydrate"
- image = 'icons\\reagentname_bg.png'
- image-mode = stretch
- keep-aspect = false
- align = center
- text-wrap = false
- allow-html = false
- letterbox = true
-
window "mainwindow"
elem "mainwindow"
type = MAIN
- pos = 281,0
size = 640x440
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
is-default = true
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = "Space Station 13"
- titlebar = true
- statusbar = true
- can-close = true
- can-minimize = true
- can-resize = true
- is-pane = false
- is-minimized = false
is-maximized = true
- can-scroll = none
+ title = "Space Station 13"
icon = 'icons\\ss13_64.png'
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = "macro"
menu = "menu"
- on-close = ""
+ macro = "macro"
+ saved-params = "pos;size;is-minimized;is-maximized"
elem "asset_cache_browser"
type = BROWSER
- pos = 424,208
- size = 1x1
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- show-history = false
- show-url = false
- auto-format = true
- use-title = false
- on-show = ""
- on-hide = ""
elem "hotkey_toggle"
type = BUTTON
+ button-type = pushbox
pos = 560,420
size = 80x20
anchor1 = 100,100
anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- text = "Hotkey Toggle"
- image = ""
- command = ".Toggle-hotkey-mode"
is-flat = false
- stretch = false
+ text = "Hotkey Toggle"
+ command = ".Toggle-hotkey-mode"
is-checked = false
- group = ""
- button-type = pushbox
+ saved-params = "is-checked"
elem "mainvsplit"
type = CHILD
pos = 3,0
size = 634x416
anchor1 = 0,0
anchor2 = 100,100
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "splitter"
- on-size = ""
- left = ""
- right = "rpane"
is-vert = true
splitter = 50
show-splitter = true
- lock = none
+ left = "mapwindow"
+ right = "rpane"
+ saved-params = "splitter"
elem "input"
type = INPUT
pos = 3,420
size = 517x20
anchor1 = 0,100
anchor2 = 100,100
+ is-default = true
+ border = sunken
font-family = ""
font-size = 0
font-style = ""
text-color = #000000
background-color = #d3b5b5
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = true
- border = sunken
- drop-zone = false
- right-click = false
saved-params = "command"
- on-size = ""
- command = ""
- multi-line = false
- is-password = false
- no-command = false
elem "saybutton"
type = BUTTON
+ button-type = pushbox
pos = 520,420
size = 40x20
anchor1 = 100,100
anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
- text = "Chat"
- image = ""
- command = ".winset \"saybutton.is-checked=true?input.command=\"!say \\\"\" macrobutton.is-checked=false:input.command=\""
is-flat = false
- stretch = false
+ text = "Chat"
+ command = ".winset \"saybutton.is-checked=true?input.command=\"!say \\\"\" macrobutton.is-checked=false:input.command=\""
is-checked = false
- group = ""
- button-type = pushbox
+ saved-params = "is-checked"
elem "tooltip"
type = BROWSER
pos = 0,0
size = 999x999
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #ffffff
- background-color = #000000
is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- show-history = false
- show-url = false
- auto-format = false
- use-title = false
- on-show = ""
- on-hide = ""
window "mapwindow"
elem "mapwindow"
type = MAIN
- pos = 281,0
- size = 640x480
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = ""
- titlebar = false
- statusbar = false
- can-close = false
- can-minimize = false
- can-resize = false
is-pane = true
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
+ title = "Map window"
+ saved-params = "pos;size;is-minimized;is-maximized"
elem "map"
type = MAP
+ is-default = true
pos = 0,0
size = 640x480
anchor1 = 0,0
@@ -2334,65 +1581,21 @@ window "mapwindow"
font-style = ""
text-color = none
background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = true
- border = none
- drop-zone = true
- right-click = false
- saved-params = "icon-size"
- on-size = ""
icon-size = 0
- text-mode = false
- letterbox = true
- zoom = 0
- on-show = ".winset\"mainwindow.mainvsplit.left=mapwindow\""
- on-hide = ".winset\"mainwindow.mainvsplit.left=\""
- style = ""
+ saved-params = "icon-size"
window "outputwindow"
elem "outputwindow"
type = MAIN
- pos = 372,0
- size = 640x480
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = ""
- titlebar = false
- statusbar = false
+ is-pane = true
can-close = false
can-minimize = false
- can-resize = false
- is-pane = true
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
+ saved-params = "pos;size;is-minimized;is-maximized"
+ title = "Output window"
elem "browseroutput"
type = BROWSER
+ is-disabled = true
+ auto-format = false
pos = 0,0
size = 640x480
anchor1 = 0,0
@@ -2402,281 +1605,70 @@ window "outputwindow"
font-style = ""
text-color = #000000
background-color = #ffffff
- is-visible = true
- is-disabled = true
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- show-history = false
- show-url = false
- auto-format = false
- use-title = false
- on-show = ""
- on-hide = ""
window "rpane"
elem "rpane"
type = MAIN
- pos = 372,0
- size = 640x492
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = ""
- titlebar = true
- statusbar = true
- can-close = true
- can-minimize = true
- can-resize = true
is-pane = true
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
elem "donate"
type = BUTTON
pos = 480,-2
size = 60x20
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
background-color = #8080ff
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
text = "Donate"
- image = ""
command = "Donate"
- is-flat = false
- stretch = false
- is-checked = false
- group = ""
- button-type = pushbutton
elem "karma"
type = BUTTON
pos = 410,0
size = 67x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
background-color = #ff8040
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
text = "Karma Shop"
- image = ""
command = "karmashop"
- is-flat = false
- stretch = false
- is-checked = false
- group = "rpanemode"
- button-type = pushbutton
elem "rpanewindow"
type = CHILD
pos = -9,15
size = 636x449
anchor1 = 0,0
anchor2 = 100,100
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
saved-params = "splitter"
- on-size = ""
left = ""
right = "outputwindow"
is-vert = false
splitter = 50
show-splitter = true
- lock = none
elem "rulesb"
type = BUTTON
pos = 278,0
size = 60x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
text = "Rules"
- image = ""
command = "rules"
- is-flat = false
- stretch = false
- is-checked = false
- group = "rpanemode"
- button-type = pushbutton
elem "changelog"
type = BUTTON
pos = 341,0
size = 67x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
text = "Changelog"
- image = ""
command = "Changelog"
- is-flat = false
- stretch = false
- is-checked = false
- group = "rpanemode"
- button-type = pushbutton
elem "forumb"
type = BUTTON
pos = 215,0
size = 60x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
text = "Forum"
- image = ""
command = "forum"
- is-flat = false
- stretch = false
- is-checked = false
- group = "rpanemode"
- button-type = pushbutton
elem "wikib"
type = BUTTON
pos = 152,0
size = 60x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "is-checked"
- on-size = ""
text = "Wiki"
- image = ""
command = "wiki"
- is-flat = false
- stretch = false
- is-checked = false
- group = "rpanemode"
- button-type = pushbutton
elem "textb"
type = BUTTON
pos = 0,0
size = 60x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
saved-params = "is-checked"
- on-size = ""
text = "Text"
- image = ""
command = ".winset \"rpanewindow.left=;\""
- is-flat = false
- stretch = false
is-checked = true
group = "rpanemode"
button-type = pushbox
@@ -2684,197 +1676,55 @@ window "rpane"
type = BUTTON
pos = 561,0
size = 60x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
saved-params = "is-checked"
- on-size = ""
text = "Browser"
- image = ""
command = ".winset \"rpanewindow.left=browserwindow\""
- is-flat = false
- stretch = false
- is-checked = false
group = "rpanemode"
button-type = pushbox
elem "infob"
type = BUTTON
pos = 64,0
size = 60x16
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
is-visible = false
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
saved-params = "is-checked"
- on-size = ""
text = "Info"
- image = ""
command = ".winset \"rpanewindow.left=infowindow\""
- is-flat = false
- stretch = false
- is-checked = false
group = "rpanemode"
button-type = pushbox
window "browserwindow"
elem "browserwindow"
type = MAIN
- pos = 281,0
- size = 640x480
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = "Browser"
- titlebar = true
- statusbar = true
- can-close = true
- can-minimize = true
- can-resize = true
is-pane = true
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
+ saved-params = "pos;size;is-minimized;is-maximized"
+ title = "Browser"
elem "browser"
type = BROWSER
pos = 0,0
size = 640x499
anchor1 = 0,0
anchor2 = 100,100
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = #ffffff
- is-visible = true
- is-disabled = false
- is-transparent = false
is-default = true
- border = none
- drop-zone = false
- right-click = false
- saved-params = ""
- on-size = ""
- show-history = false
- show-url = false
- auto-format = true
- use-title = false
on-show = ".winset\"rpane.infob.is-visible=true?rpane.infob.pos=130,0;rpane.textb.is-visible=true;rpane.browseb.is-visible=true;rpane.browseb.is-checked=true;rpane.rpanewindow.pos=0,30;rpane.rpanewindow.size=0x0;rpane.rpanewindow.left=browserwindow\""
on-hide = ".winset\"rpane.infob.is-visible=true?rpane.infob.is-checked=true rpane.infob.pos=65,0 rpane.rpanewindow.left=infowindow:rpane.rpanewindow.left=textwindow rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0\""
window "infowindow"
elem "infowindow"
type = MAIN
- pos = 281,0
- size = 640x480
- anchor1 = none
- anchor2 = none
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = none
- is-visible = true
- is-disabled = false
- is-transparent = false
- is-default = false
- border = none
- drop-zone = false
- right-click = false
- saved-params = "pos;size;is-minimized;is-maximized"
- on-size = ""
- title = "Info"
- titlebar = true
- statusbar = true
- can-close = true
- can-minimize = true
- can-resize = true
is-pane = true
- is-minimized = false
- is-maximized = false
- can-scroll = none
- icon = ""
- image = ""
- image-mode = stretch
- keep-aspect = false
- transparent-color = none
- alpha = 255
- macro = ""
- menu = ""
- on-close = ""
+ saved-params = "pos;size;is-minimized;is-maximized"
+ title = "Info"
elem "info"
type = INFO
pos = 0,0
size = 638x475
anchor1 = 0,0
anchor2 = 100,100
- font-family = ""
- font-size = 0
- font-style = ""
- text-color = #000000
- background-color = #ffffff
- is-visible = true
- is-disabled = false
- is-transparent = false
is-default = true
- border = none
- drop-zone = true
- right-click = false
- saved-params = ""
- on-size = ""
highlight-color = #00aa00
tab-text-color = #000000
- tab-background-color = none
- tab-font-family = ""
- tab-font-size = 0
- tab-font-style = ""
allow-html = true
multi-line = true
on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,0:rpane.infob.pos=65,0 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\""
on-hide = ".winset\"rpane.infob.is-visible=false;rpane.browseb.is-visible=true?rpane.browseb.is-checked=true rpane.rpanewindow.left=browserwindow:rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\""
- on-tab = ""
- prefix-color = none
- suffix-color = none
-