mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-21 12:56:10 +01:00
Fixes most tgui bugs (#16539)
* Fixes most tgui bugs * the soul longs for oblivion * skin fix * hardsuit fix * b * the final fixes (for now) * bb * fix keys * cl * fuck off * i'm alone i'm alone i'm alone * the heart's whisper * fffss * je cherche la vérité tout en l'évitant --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
@@ -120,6 +120,8 @@
|
||||
addtimer(CALLBACK(src, PROC_REF(bst_post_spawn), bst), 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(bst_spawn_cooldown)), 5 SECONDS)
|
||||
|
||||
bst.client.init_verbs()
|
||||
|
||||
log_debug("Bluespace Tech Spawned: X:[bst.x] Y:[bst.y] Z:[bst.z] User:[src]")
|
||||
|
||||
feedback_add_details("admin_verb","BST")
|
||||
@@ -166,6 +168,7 @@
|
||||
if(key)
|
||||
if(client.holder && client.holder.original_mob)
|
||||
client.holder.original_mob.key = key
|
||||
client.init_verbs()
|
||||
else
|
||||
var/mob/abstract/observer/ghost = new(src) //Transfer safety to observer spawning proc.
|
||||
ghost.key = key
|
||||
@@ -173,6 +176,7 @@
|
||||
ghost.name = "[ghost.key] BSTech"
|
||||
ghost.real_name = "[ghost.key] BSTech"
|
||||
ghost.voice_name = "[ghost.key] BSTech"
|
||||
ghost.client.init_verbs()
|
||||
|
||||
/mob/living/carbon/human/bst/proc/bsc() //because we all have our unrealistic snowflakes right?
|
||||
if(set_species(SPECIES_TAJARA))
|
||||
|
||||
@@ -347,6 +347,7 @@
|
||||
update_icon(1)
|
||||
if(is_in_cycler)
|
||||
initiator.loc.update_icon()
|
||||
SSstatpanels.set_action_tabs(initiator.client, initiator)
|
||||
|
||||
/obj/item/rig/proc/update_component_sealed()
|
||||
for(var/obj/item/piece in list(helmet,boots,gloves,chest))
|
||||
@@ -768,6 +769,7 @@
|
||||
|
||||
/obj/item/rig/dropped(var/mob/user)
|
||||
..()
|
||||
SSstatpanels.set_action_tabs(user.client, user)
|
||||
null_wearer(user)
|
||||
|
||||
|
||||
|
||||
@@ -330,6 +330,7 @@
|
||||
remove_verb(observer, /mob/abstract/observer/verb/toggle_antagHUD)
|
||||
observer.ckey = ckey
|
||||
observer.initialise_postkey()
|
||||
observer.client.init_verbs()
|
||||
qdel(src)
|
||||
|
||||
/mob/abstract/new_player/proc/show_lore_summary()
|
||||
|
||||
@@ -376,6 +376,8 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player)
|
||||
|
||||
new_character.key = key //Manually transfer the key to log them in
|
||||
|
||||
new_character.client.init_verbs()
|
||||
|
||||
return new_character
|
||||
|
||||
/mob/abstract/new_player/proc/ViewManifest()
|
||||
|
||||
@@ -235,10 +235,10 @@ Works together with spawning an observer, noted above.
|
||||
|
||||
ghost.ckey = ckey
|
||||
ghost.initialise_postkey(should_set_timer)
|
||||
ghost.client?.init_verbs()
|
||||
if(ghost.client)
|
||||
if(!ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed.
|
||||
remove_verb(ghost, /mob/abstract/observer/verb/toggle_antagHUD) // Poor guys, don't know what they are missing!
|
||||
ghost.client.init_verbs()
|
||||
return ghost
|
||||
|
||||
/*
|
||||
|
||||
@@ -77,6 +77,8 @@
|
||||
set_stat(CONSCIOUS)
|
||||
gestalt = adult
|
||||
|
||||
adult.client.init_verbs()
|
||||
|
||||
//What do you call a person with no arms or no legs?
|
||||
var/list/organ_removal_priorities = list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG)
|
||||
var/limbs_to_remove = (6 - limbs_can_grow)
|
||||
|
||||
@@ -1220,6 +1220,7 @@
|
||||
if(H.brainmob.real_name == src.real_name)
|
||||
if(H.brainmob.mind)
|
||||
H.brainmob.mind.transfer_to(src)
|
||||
H.brainmob.client.init_verbs()
|
||||
qdel(H)
|
||||
|
||||
losebreath = 0
|
||||
|
||||
@@ -528,6 +528,7 @@
|
||||
to_chat(src, "<b>Systems rebooted</b>. Loading base pattern maintenance protocol... <b>loaded</b>.")
|
||||
full_law_reset()
|
||||
welcome_drone()
|
||||
client.init_verbs()
|
||||
|
||||
/mob/living/silicon/robot/drone/proc/welcome_drone()
|
||||
to_chat(src, SPAN_NOTICE("<b>You are a maintenance drone, a tiny-brained robotic repair machine</b>."))
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
show_laws(0)
|
||||
|
||||
if(client.prefs.toggles_secondary & HOTKEY_DEFAULT)
|
||||
winset(src, null, "mainwindow.macro=borghotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true input.background-color=#D3B5B5")
|
||||
winset(src, null, "mainwindow.macro=borghotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true")
|
||||
else
|
||||
winset(src, null, "mainwindow.macro=borgmacro hotkey_toggle.is-checked=false input.focus=true input.background-color=#D3B5B5")
|
||||
winset(src, null, "mainwindow.macro=borgmacro hotkey_toggle.is-checked=false input.focus=true")
|
||||
|
||||
// Forces synths to select an icon relevant to their module
|
||||
if(module && !icon_selected)
|
||||
choose_icon()
|
||||
set_intent(a_intent) // to set the eye colour
|
||||
set_intent(a_intent) // to set the eye colour
|
||||
|
||||
@@ -1291,3 +1291,6 @@
|
||||
to_chat(src, SPAN_NOTICE("You have given up life and succumbed to death."))
|
||||
else
|
||||
to_chat(src, SPAN_NOTICE("You are not injured enough to succumb to death!"))
|
||||
|
||||
/mob/living/silicon/robot/GetIdCard()
|
||||
return id_card
|
||||
|
||||
@@ -86,9 +86,9 @@
|
||||
|
||||
//set macro to normal incase it was overriden (like cyborg currently does)
|
||||
if(client.prefs.toggles_secondary & HOTKEY_DEFAULT)
|
||||
winset(src, null, "mainwindow.macro=hotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true input.background-color=#D3B5B5")
|
||||
winset(src, null, "mainwindow.macro=hotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true")
|
||||
else
|
||||
winset(src, null, "mainwindow.macro=macro hotkey_toggle.is-checked=false input.focus=true input.background-color=#D3B5B5")
|
||||
winset(src, null, "mainwindow.macro=macro hotkey_toggle.is-checked=false input.focus=true")
|
||||
MOB_STOP_THINKING(src)
|
||||
|
||||
clear_important_client_contents(client)
|
||||
|
||||
@@ -543,6 +543,7 @@
|
||||
M.key = key
|
||||
if(M.mind)
|
||||
M.mind.reset()
|
||||
M.client.init_verbs()
|
||||
return
|
||||
|
||||
/client/verb/changes()
|
||||
@@ -551,7 +552,9 @@
|
||||
var/datum/asset/changelog = get_asset_datum(/datum/asset/simple/changelog)
|
||||
changelog.send(src)
|
||||
|
||||
src << browse('html/changelog.html', "window=changes;size=675x650")
|
||||
var/datum/browser/changelog_win = new(src, "changes", "Changelog", 675, 650)
|
||||
changelog_win.set_content('html/changelog.html')
|
||||
changelog_win.open()
|
||||
if(prefs.lastchangelog != changelog_hash)
|
||||
prefs.lastchangelog = changelog_hash
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -143,6 +143,8 @@
|
||||
O.add_ai_verbs()
|
||||
|
||||
O.rename_self("ai",1)
|
||||
|
||||
O.client.init_verbs()
|
||||
spawn(0) // Mobs still instantly del themselves, thus we need to spawn or O will never be returned
|
||||
qdel(src)
|
||||
return O
|
||||
@@ -170,7 +172,7 @@
|
||||
|
||||
O.gender = gender
|
||||
O.set_invisibility(0)
|
||||
|
||||
|
||||
if(mind) //TODO
|
||||
mind.transfer_to(O)
|
||||
if(O.mind.assigned_role == "Cyborg")
|
||||
@@ -194,6 +196,8 @@
|
||||
|
||||
callHook("borgify", list(O))
|
||||
O.Namepick()
|
||||
if(O.client)
|
||||
O.client.init_verbs()
|
||||
|
||||
spawn(0) // Mobs still instantly del themselves, thus we need to spawn or O will never be returned
|
||||
qdel(src)
|
||||
|
||||
@@ -200,6 +200,7 @@
|
||||
// On-click handling. Turns on the computer if it's off and opens the GUI.
|
||||
/obj/item/modular_computer/attack_self(mob/user)
|
||||
if(enabled && screen_on)
|
||||
user.set_machine(src)
|
||||
ui_interact(user)
|
||||
else if(!enabled && screen_on)
|
||||
turn_on(user)
|
||||
|
||||
@@ -183,3 +183,9 @@
|
||||
. = TRUE
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/item/modular_computer/ui_status(mob/user, datum/ui_state/state)
|
||||
. = ..()
|
||||
if(. < UI_INTERACTIVE)
|
||||
if(user.machine)
|
||||
user.unset_machine()
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
tgui_theme = "hephaestus"
|
||||
ui_auto_update = FALSE
|
||||
|
||||
/datum/computer_file/program/rcon_console/ui_static_data(mob/user)
|
||||
/datum/computer_file/program/rcon_console/ui_data(mob/user)
|
||||
var/list/data = initial_data()
|
||||
|
||||
var/list/smeslist = list()
|
||||
|
||||
@@ -246,6 +246,12 @@
|
||||
if("security")
|
||||
if(!(edit_type & RECORD_SECURITY))
|
||||
return FALSE
|
||||
if("fingerprint")
|
||||
if(!(edit_type & RECORD_SECURITY))
|
||||
return FALSE
|
||||
if("criminal")
|
||||
if(!(edit_type & RECORD_SECURITY))
|
||||
return FALSE
|
||||
if("physical_status")
|
||||
if(!((edit_type & RECORD_MEDICAL) || (edit_type & RECORD_GENERAL)))
|
||||
return FALSE
|
||||
@@ -255,6 +261,24 @@
|
||||
if("medical")
|
||||
if(!(edit_type & RECORD_MEDICAL))
|
||||
return FALSE
|
||||
if("diseases")
|
||||
if(!(edit_type & RECORD_MEDICAL))
|
||||
return FALSE
|
||||
if("allergies")
|
||||
if(!(edit_type & RECORD_MEDICAL))
|
||||
return FALSE
|
||||
if("blood_dna")
|
||||
if(!(edit_type & RECORD_MEDICAL) || (edit_type & RECORD_SECURITY))
|
||||
return FALSE
|
||||
if("species")
|
||||
if(!(edit_type & RECORD_MEDICAL) || (edit_type & RECORD_SECURITY))
|
||||
return FALSE
|
||||
if("citizenship")
|
||||
if(!(edit_type & RECORD_SECURITY) || (edit_type & RECORD_GENERAL))
|
||||
return FALSE
|
||||
if("religion")
|
||||
if(!(edit_type & RECORD_SECURITY) || (edit_type & RECORD_GENERAL))
|
||||
return FALSE
|
||||
else
|
||||
if(!(edit_type & RECORD_GENERAL))
|
||||
return FALSE
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
switch(action)
|
||||
if("sw_menu")
|
||||
active_warrant = null
|
||||
. = TRUE
|
||||
SStgui.update_uis(computer)
|
||||
|
||||
if("editwarrant")
|
||||
for(var/datum/record/warrant/W in SSrecords.warrants)
|
||||
@@ -56,8 +56,8 @@
|
||||
. = TRUE
|
||||
|
||||
if("back")
|
||||
. = TRUE
|
||||
active_warrant = null
|
||||
SStgui.update_uis(computer)
|
||||
|
||||
// The following actions will only be possible if the user has an ID with security access equipped. This is in line with modular computer framework's authentication methods,
|
||||
// which also use RFID scanning to allow or disallow access to some functions. Anyone can view warrants, editing requires ID.
|
||||
@@ -96,14 +96,14 @@
|
||||
active_warrant = W
|
||||
|
||||
if("savewarrant")
|
||||
. = TRUE
|
||||
SSrecords.update_record(active_warrant)
|
||||
active_warrant = null
|
||||
SStgui.update_uis(computer)
|
||||
|
||||
if("deletewarrant")
|
||||
. = TRUE
|
||||
SSrecords.remove_record(active_warrant)
|
||||
active_warrant = null
|
||||
SStgui.update_uis(computer)
|
||||
|
||||
if("editwarrantname")
|
||||
. = TRUE
|
||||
|
||||
@@ -613,6 +613,7 @@
|
||||
M.mind.transfer_to(new_mob)
|
||||
else
|
||||
new_mob.key = M.key
|
||||
new_mob.client.init_verbs()
|
||||
qdel(M)
|
||||
|
||||
/singleton/reagent/toxin/nanites
|
||||
|
||||
Reference in New Issue
Block a user