[MIRROR] usr to user part two (#10015)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-01-31 14:27:34 -07:00
committed by GitHub
parent 538c8e7187
commit a245b8687f
203 changed files with 974 additions and 993 deletions

View File

@@ -20,8 +20,8 @@
var/chargesa = 1
var/insistinga = 0
/obj/machinery/wish_granter_dark/attack_hand(var/mob/living/carbon/human/user as mob)
usr.set_machine(src)
/obj/machinery/wish_granter_dark/attack_hand(var/mob/living/carbon/human/user)
user.set_machine(src)
if(chargesa <= 0)
to_chat(user, "The Wish Granter lies silent.")
@@ -41,7 +41,7 @@
else
chargesa--
insistinga = 0
var/wish = tgui_input_list(usr, "You want...","Wish", list("Power","Wealth","Immortality","To Kill","Peace"))
var/wish = tgui_input_list(user, "You want...","Wish", list("Power","Wealth","Immortality","To Kill","Peace"))
switch(wish)
if("Power")
to_chat(user, span_boldwarning("Your wish is granted, but at a terrible cost..."))
@@ -147,28 +147,27 @@
set category = "Immortality"
set name = "Resurrection"
var/mob/living/carbon/C = usr
if(!C.stat)
to_chat(C, span_notice("You're not dead yet!"))
return
to_chat(C, span_notice("Death is not your end!"))
if(!stat)
to_chat(src, span_notice("You're not dead yet!"))
return FALSE
to_chat(src, span_notice("Death is not your end!"))
spawn(rand(800,1200))
if(C.stat == DEAD)
dead_mob_list -= C
living_mob_list += C
C.set_stat(CONSCIOUS)
C.tod = null
C.setToxLoss(0)
C.setOxyLoss(0)
C.setCloneLoss(0)
C.SetParalysis(0)
C.SetStunned(0)
C.SetWeakened(0)
C.radiation = 0
C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss())
C.reagents.clear_reagents()
to_chat(C, span_notice("You have regenerated."))
C.visible_message(span_warning("[usr] appears to wake from the dead, having healed all wounds."))
C.update_canmove()
return 1
if(stat == DEAD)
dead_mob_list -= src
living_mob_list += src
set_stat(CONSCIOUS)
tod = null
setToxLoss(0)
setOxyLoss(0)
setCloneLoss(0)
SetParalysis(0)
SetStunned(0)
SetWeakened(0)
radiation = 0
heal_overall_damage(getBruteLoss(), getFireLoss())
reagents.clear_reagents()
to_chat(src, span_notice("You have regenerated."))
visible_message(span_warning("[src] appears to wake from the dead, having healed all wounds."))
update_canmove()
return TRUE

View File

@@ -53,7 +53,7 @@
else
DD.vars[V] = D.vars[V]
log_admin("[key_name(usr)] has contracted the virus \"[DD]\"")
log_admin("[key_name(src)] has contracted the virus \"[DD]\"")
/mob/living/carbon/ContractDisease(datum/disease/D)
if(!CanContractDisease(D))

View File

@@ -16,7 +16,7 @@
set category = "Special Verbs"
if(M.client)
if(M.client.buildmode)
log_admin("[key_name(usr)] has left build mode.")
log_admin("[key_name(M)] has left build mode.")
M.client.buildmode = 0
M.client.show_popup_menus = 1
M.plane_holder.set_vis(VIS_BUILDMODE, FALSE)
@@ -24,7 +24,7 @@
if(H.cl == M.client)
qdel(H)
else
log_admin("[key_name(usr)] has entered build mode.")
log_admin("[key_name(M)] has entered build mode.")
M.client.buildmode = 1
M.client.show_popup_menus = 0
M.plane_holder.set_vis(VIS_BUILDMODE, TRUE)

View File

@@ -126,7 +126,7 @@
log_admin("[key_name(src)] has animalized [M.key].")
spawn(10)
M.Animalize()
M.Animalize(usr)
/client/proc/makepAI()

View File

@@ -2,14 +2,14 @@
set category = "IC.Game"
set name = "Pray"
var/raw_msg = sanitize(tgui_input_text(usr, "Prayers are sent to staff but do not open tickets or go to Discord. If you have a technical difficulty or an event/spice idea/hook - please ahelp instead. Thank you!", "Pray", null, MAX_MESSAGE_LEN))
var/raw_msg = sanitize(tgui_input_text(src, "Prayers are sent to staff but do not open tickets or go to Discord. If you have a technical difficulty or an event/spice idea/hook - please ahelp instead. Thank you!", "Pray", null, MAX_MESSAGE_LEN))
if(!raw_msg) return
if(usr.client)
if(src.client)
if(raw_msg)
client.handle_spam_prevention(MUTE_PRAY)
if(usr.client.prefs.muted & MUTE_PRAY)
to_chat(usr, span_red("You cannot pray (muted)."))
if(src.client.prefs.muted & MUTE_PRAY)
to_chat(src, span_red("You cannot pray (muted)."))
return
var/icon/cross = icon('icons/obj/storage.dmi',"bible")
@@ -21,7 +21,7 @@
if(C.prefs?.read_preference(/datum/preference/toggle/show_chat_prayers))
to_chat(C, msg, type = MESSAGE_TYPE_PRAYER, confidential = TRUE)
C << 'sound/effects/ding.ogg'
to_chat(usr, "Your prayers have been received by the gods.", confidential = TRUE)
to_chat(src, "Your prayers have been received by the gods.", confidential = TRUE)
feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_pray(raw_msg, src)

View File

@@ -19,7 +19,7 @@
var/busy = 0
/obj/structure/casino_table/attackby(obj/item/W as obj, mob/user as mob)
/obj/structure/casino_table/attackby(obj/item/W, mob/user)
if(item_place)
user.drop_item(src.loc)
return
@@ -47,7 +47,7 @@
else
. += "It doesn't have a ball."
/obj/structure/casino_table/roulette_table/attack_hand(mob/user as mob)
/obj/structure/casino_table/roulette_table/attack_hand(mob/user)
if(busy)
to_chat(user,span_notice("You cannot spin now! The roulette is already spinning."))
return
@@ -84,17 +84,17 @@
//CHOMPAdd Start
if(color=="gold") // Happy celebrations!
visible_message(span_notice("The roulette stops spinning, the ball lands on the golden zero! Fortune favors all bets!"))
src.confetti_spread = new /datum/effect/effect/system/confetti_spread()
src.confetti_spread.attach(src) //If somehow people start dragging roulette
confetti_spread = new /datum/effect/effect/system/confetti_spread()
confetti_spread.attach(src) //If somehow people start dragging roulette
spawn(0)
for(var/i = 1 to confetti_strength)
src.confetti_spread.start()
confetti_spread.start()
sleep(10)
else
visible_message(span_notice("The roulette stops spinning, the ball landing on [result], [color]."))
//CHOMPAdd End
/obj/structure/casino_table/roulette_table/attackby(obj/item/W as obj, mob/user as mob)
/obj/structure/casino_table/roulette_table/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/roulette_ball))
if(!ball)
user.drop_from_inventory(W)
@@ -262,7 +262,7 @@
else
icon_state = "roulette_ball_glass"
/obj/item/roulette_ball/hollow/attack_self(mob/user as mob)
/obj/item/roulette_ball/hollow/attack_self(mob/user)
if(!trapped)
to_chat(user, span_notice("\The [src] is empty!"))
return
@@ -394,14 +394,14 @@
var/confetti_strength = 15
/obj/machinery/wheel_of_fortune/attack_hand(mob/user as mob)
/obj/machinery/wheel_of_fortune/attack_hand(mob/user)
if (busy)
to_chat(user,span_notice("The wheel of fortune is already spinning!"))
return
if(usr.incapacitated())
if(user.incapacitated())
return
if(ishuman(usr) || isrobot(usr))
if(ishuman(user) || isrobot(user))
switch(input(user,"Choose what to do","Wheel Of Fortune") in list("Spin the Wheel! (Not Lottery)", "Set the interval", "Cancel"))
if("Cancel")
return
@@ -416,12 +416,12 @@
setinterval()
/obj/machinery/wheel_of_fortune/attackby(obj/item/W as obj, mob/user as mob)
/obj/machinery/wheel_of_fortune/attackby(obj/item/W, mob/user)
if (busy)
to_chat(user,span_notice("The wheel of fortune is already spinning!"))
return
if(usr.incapacitated())
if(user.incapacitated())
return
if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda))
@@ -430,7 +430,7 @@
return
else
to_chat(user, span_warning("Proper access, allowed staff controls."))
if(ishuman(usr) || isrobot(usr))
if(ishuman(user) || isrobot(user))
switch(input(user,"Choose what to do (Management)","Wheel Of Fortune (Management)") in list("Spin the Lottery Wheel!", "Toggle Lottery Sales", "Toggle Public Spins", "Reset Lottery", "Cancel"))
if("Cancel")
return
@@ -455,7 +455,7 @@
to_chat(user,span_notice("Public spins has been disabled."))
if("Reset Lottery")
var/confirm = tgui_alert(usr, "Are you sure you want to reset Lottery?", "Confirm Lottery Reset", list("Yes", "No"))
var/confirm = tgui_alert(user, "Are you sure you want to reset Lottery?", "Confirm Lottery Reset", list("Yes", "No"))
if(confirm == "Yes")
to_chat(user, span_warning("Lottery has been Reset!"))
lottery_entries = 0
@@ -487,7 +487,7 @@
cashmoney.update_icon()
if(cashmoney.worth <= 0)
usr.drop_from_inventory(cashmoney)
user.drop_from_inventory(cashmoney)
qdel(cashmoney)
cashmoney.update_icon()
@@ -571,14 +571,14 @@
var/sentientprizes_ckeys_list = list() //Same trick as lottery, to keep life simple
var/obj/item/clothing/accessory/collar/casinosentientprize/selected_collar = null
/obj/machinery/casinosentientprize_handler/attack_hand(mob/living/user as mob)
if(usr.incapacitated())
/obj/machinery/casinosentientprize_handler/attack_hand(mob/living/user)
if(user.incapacitated())
return
if(casinosentientprize_sale == "disabled")
to_chat(user,span_notice("The SPASM is disabled."))
return
if(ishuman(usr) || isrobot(usr))
if(ishuman(user) || isrobot(user))
switch(input(user,"Choose what to do","SPASM") in list("Show selected Prize", "Select Prize", "Become Prize (Please examine yourself first)", "Cancel"))
if("Cancel")
return
@@ -611,7 +611,7 @@
if(safety_ckey in sentientprizes_ckeys_list)
to_chat(user, span_warning("The SPASM beeps in an upset manner, you already have a collar!"))
return
var/confirm = tgui_alert(usr, "Are you sure you want to become a sentient prize?", "Confirm Sentient Prize", list("Yes", "No"))
var/confirm = tgui_alert(user, "Are you sure you want to become a sentient prize?", "Confirm Sentient Prize", list("Yes", "No"))
//CHOMPEdit Start
if(confirm == "Yes")
to_chat(user, span_warning("You are now a prize!"))
@@ -638,8 +638,8 @@
spawn_casinochips(casinosentientprize_price, src.loc)
/obj/machinery/casinosentientprize_handler/attackby(obj/item/W as obj, mob/user as mob)
if(usr.incapacitated())
/obj/machinery/casinosentientprize_handler/attackby(obj/item/W, mob/user)
if(user.incapacitated())
return
if(istype(W, /obj/item/spacecasinocash))
@@ -674,7 +674,7 @@
to_chat(user,span_notice("If collar isn't disabled and entry removed, please ask your owner to free you with collar swipe on the SPASM, or contact staff if you need assistance."))
return
if(user.name == C.ownername)
var/confirm = tgui_alert(usr, "Are you sure you want to wipe [C.sentientprizename] entry?", "Confirm Sentient Prize Release", list("Yes", "No"))
var/confirm = tgui_alert(user, "Are you sure you want to wipe [C.sentientprizename] entry?", "Confirm Sentient Prize Release", list("Yes", "No"))
if(confirm == "Yes")
to_chat(user, span_warning("[C.sentientprizename] collar has been deleted from registry!"))
C.icon_state = "casinoslave"
@@ -691,7 +691,7 @@
return
else
to_chat(user, span_warning("Proper access, allowed staff controls."))
if(ishuman(usr) || isrobot(usr))
if(ishuman(user) || isrobot(user))
switch(input(user,"Choose what to do (Management)","SPASM (Management)") in list("Toggle Sentient Prize Sales", "Wipe Selected Prize Entry", "Change Prize Value", "Cancel"))
if("Cancel")
return
@@ -719,7 +719,7 @@
selected_collar = null
return
var/safety_ckey = selected_collar.sentientprizeckey
var/confirm = tgui_alert(usr, "Are you sure you want to wipe [selected_collar.sentientprizename] entry?", "Confirm Sentient Prize", list("Yes", "No"))
var/confirm = tgui_alert(user, "Are you sure you want to wipe [selected_collar.sentientprizename] entry?", "Confirm Sentient Prize", list("Yes", "No"))
if(confirm == "Yes")
if(safety_ckey == selected_collar.sentientprizeckey)
to_chat(user, span_warning("[selected_collar.sentientprizename] collar has been deleted from registry!"))
@@ -747,7 +747,7 @@
cashmoney.update_icon()
if(cashmoney.worth <= 0)
usr.drop_from_inventory(cashmoney)
user.drop_from_inventory(cashmoney)
qdel(cashmoney)
cashmoney.update_icon()
@@ -771,11 +771,11 @@
selected_collar.desc = "A collar worn by sentient prizes on the Golden Goose Casino. The tag says its registered to [selected_collar.sentientprizename] and they are owned by [selected_collar.ownername]." //CHOMPEdit
selected_collar = null
/obj/machinery/casinosentientprize_handler/proc/setprice(mob/living/user as mob)
if(usr.incapacitated())
/obj/machinery/casinosentientprize_handler/proc/setprice(mob/living/user)
if(user.incapacitated())
return
if(ishuman(usr) || isrobot(usr))
casinosentientprize_price = tgui_input_number(usr, "Select the desired price (1-1000)", "Set Price", null, null, 1000, 1)
if(ishuman(user) || isrobot(user))
casinosentientprize_price = tgui_input_number(user, "Select the desired price (1-1000)", "Set Price", null, null, 1000, 1)
if(casinosentientprize_price>1000 || casinosentientprize_price<1)
to_chat(user,span_notice("Invalid price."))
return

View File

@@ -115,7 +115,7 @@
cashmoney.update_icon()
if(cashmoney.worth <= 0)
usr.drop_from_inventory(cashmoney)
user.drop_from_inventory(cashmoney)
qdel(cashmoney)
cashmoney.update_icon()
@@ -346,7 +346,7 @@
cashmoney.update_icon()
if(cashmoney.worth <= 0)
usr.drop_from_inventory(cashmoney)
user.drop_from_inventory(cashmoney)
qdel(cashmoney)
cashmoney.update_icon()

View File

@@ -103,7 +103,7 @@
return TOPIC_NOACTION
else if(href_list["reset_nickname"])
var/nick_choice = tgui_alert(user, "Wipe your Nickname? This will completely remove any chosen nickname(s).","Wipe Nickname",list("Yes","No")) //ChompEDIT - usr removal
var/nick_choice = tgui_alert(user, "Wipe your Nickname? This will completely remove any chosen nickname(s).","Wipe Nickname",list("Yes","No"))
if(nick_choice == "Yes")
pref.nickname = null
return TOPIC_REFRESH
@@ -190,17 +190,17 @@
return TOPIC_REFRESH
else if(href_list["edit_ooc_notes"])
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the Character Setup panel!", "Game Preference" , html_decode(pref.read_preference(/datum/preference/text/living/ooc_notes)), multiline = TRUE, prevent_enter = TRUE)) //ChompEDIT - usr removal
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the Character Setup panel!", "Game Preference" , html_decode(pref.read_preference(/datum/preference/text/living/ooc_notes)), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
pref.update_preference_by_type(/datum/preference/text/living/ooc_notes, new_metadata)
else if(href_list["edit_ooc_note_likes"])
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.read_preference(/datum/preference/text/living/ooc_notes_likes)), multiline = TRUE, prevent_enter = TRUE)) //ChompEDIT - usr removal
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.read_preference(/datum/preference/text/living/ooc_notes_likes)), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
if(new_metadata == "!clear")
new_metadata = ""
pref.update_preference_by_type(/datum/preference/text/living/ooc_notes_likes, new_metadata)
else if(href_list["edit_ooc_note_dislikes"])
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.read_preference(/datum/preference/text/living/ooc_notes_dislikes)), multiline = TRUE, prevent_enter = TRUE)) //ChompEDIT - usr removal
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.read_preference(/datum/preference/text/living/ooc_notes_dislikes)), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
if(new_metadata == "!clear")
new_metadata = ""

View File

@@ -118,7 +118,7 @@
if(new_lang && pref.alternate_languages.len < (S.num_alternate_languages + pref.extra_languages))
var/datum/language/chosen_lang = GLOB.all_languages[new_lang]
if(istype(chosen_lang))
var/choice = tgui_alert(user, "[chosen_lang.desc]",chosen_lang.name, list("Take","Cancel")) //ChompEDIT - usr removal
var/choice = tgui_alert(user, "[chosen_lang.desc]",chosen_lang.name, list("Take","Cancel"))
if(choice != "Cancel" && pref.alternate_languages.len < (S.num_alternate_languages + pref.extra_languages))
pref.alternate_languages |= new_lang
return TOPIC_REFRESH
@@ -127,7 +127,7 @@
var/char
var/keys[0]
do
char = tgui_input_text(user, "Enter a single special character.\nYou may re-select the same characters.\nThe following characters are already in use by radio: ; : .\nThe following characters are already in use by special say commands: ! * ^", "Enter Character - [3 - keys.len] remaining") //ChompEDIT - usr removal
char = tgui_input_text(user, "Enter a single special character.\nYou may re-select the same characters.\nThe following characters are already in use by radio: ; : .\nThe following characters are already in use by special say commands: ! * ^", "Enter Character - [3 - keys.len] remaining")
if(char)
if(length(char) > 1)
tgui_alert_async(user, "Only single characters allowed.", "Error")

View File

@@ -376,7 +376,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
var/key = pref.rlimb_data[name]
if(!istext(key))
log_debug("Bad rlimb_data for [key_name(pref.client)], [name] was set to [key]")
to_chat(usr, span_warning("Error loading robot limb data for `[name]`, clearing pref."))
to_chat(user, span_warning("Error loading robot limb data for `[name]`, clearing pref."))
pref.rlimb_data -= name
else
R = LAZYACCESS(all_robolimbs, key)
@@ -545,7 +545,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
var/desc_id = href_list["change_descriptor"]
if(pref.body_descriptors[desc_id])
var/datum/mob_descriptor/descriptor = mob_species.descriptors[desc_id]
var/choice = tgui_input_list(user, "Please select a descriptor.", "Descriptor", descriptor.chargen_value_descriptors) //ChompEDIT - usr removal
var/choice = tgui_input_list(user, "Please select a descriptor.", "Descriptor", descriptor.chargen_value_descriptors)
if(choice && mob_species.descriptors[desc_id]) // Check in case they sneakily changed species.
pref.body_descriptors[desc_id] = descriptor.chargen_value_descriptors[choice]
return TOPIC_REFRESH
@@ -558,7 +558,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["show_species"])
// Actual whitelist checks are handled elsewhere, this is just for accessing the preview window.
var/choice = tgui_input_list(user, "Which species would you like to look at?", "Species Choice", GLOB.playable_species) //ChompEDIT - usr removal
var/choice = tgui_input_list(user, "Which species would you like to look at?", "Species Choice", GLOB.playable_species)
if(!choice) return
pref.species_preview = choice
SetSpecies(preference_mob())
@@ -590,7 +590,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.set_biological_gender(mob_species.genders[1])
pref.custom_species = null //VOREStation Edit - This is cleared on species changes
//grab one of the valid hair styles for the newly chosen species
var/list/valid_hairstyles = pref.get_valid_hairstyles()
var/list/valid_hairstyles = pref.get_valid_hairstyles(user)
if(valid_hairstyles.len)
if(!(pref.h_style in valid_hairstyles))
@@ -642,7 +642,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["hair_style"])
var/list/valid_hairstyles = pref.get_valid_hairstyles()
var/list/valid_hairstyles = pref.get_valid_hairstyles(user)
var/new_h_style = tgui_input_list(user, "Choose your character's hair style:", "Character Preference", valid_hairstyles, pref.h_style)
if(new_h_style && CanUseTopic(user))
@@ -667,7 +667,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["hair_style_left"])
var/H = href_list["hair_style_left"]
var/list/valid_hairstyles = pref.get_valid_hairstyles()
var/list/valid_hairstyles = pref.get_valid_hairstyles(user)
var/start = valid_hairstyles.Find(H)
if(start != 1) //If we're not the beginning of the list, become the previous element.
@@ -678,7 +678,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["hair_style_right"])
var/H = href_list["hair_style_right"]
var/list/valid_hairstyles = pref.get_valid_hairstyles()
var/list/valid_hairstyles = pref.get_valid_hairstyles(user)
var/start = valid_hairstyles.Find(H)
if(start != valid_hairstyles.len) //If we're not the end of the list, become the next element.
@@ -1267,7 +1267,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
//vorestation edit end
dat += "<td width = 200 align='center'>"
if("preview" in cached_icon_states(current_species.icobase))
user << browse_rsc(icon(current_species.icobase,"preview"), "species_preview_[current_species.name].png") //ChompEDIT usr -> user
user << browse_rsc(icon(current_species.icobase,"preview"), "species_preview_[current_species.name].png")
dat += "<img src='species_preview_[current_species.name].png' width='64px' height='64px'><br/><br/>"
dat += span_bold("Language:") + " [current_species.species_language]<br/>"
dat += "<small>"

View File

@@ -195,7 +195,7 @@ var/global/list/valid_ringtones = list(
var/datum/gear_tweak/gt = locate(href_list["tweak"])
if(!gt)
return TOPIC_NOACTION
var/new_metadata = gt.get_metadata(user, get_metadata(underwear, gt)) //ChompEDIT - usr removal
var/new_metadata = gt.get_metadata(user, get_metadata(underwear, gt))
if(new_metadata)
set_metadata(underwear, gt, new_metadata)
return TOPIC_REFRESH_UPDATE_PREVIEW

View File

@@ -152,19 +152,19 @@
return TOPIC_REFRESH
else if(href_list["reset_medrecord"])
var/resetmed_choice = tgui_alert(user, "Wipe your Medical Records? This cannot be reverted if you have not saved your character recently! You may wish to make a backup first.","Reset Records",list("Yes","No")) //ChompEDIT - usr removal
var/resetmed_choice = tgui_alert(user, "Wipe your Medical Records? This cannot be reverted if you have not saved your character recently! You may wish to make a backup first.","Reset Records",list("Yes","No"))
if(resetmed_choice == "Yes")
pref.med_record = null
return TOPIC_REFRESH
else if(href_list["reset_emprecord"])
var/resetemp_choice = tgui_alert(user, "Wipe your Employment Records? This cannot be reverted if you have not saved your character recently! You may wish to make a backup first.","Reset Records",list("Yes","No")) //ChompEDIT - usr removal
var/resetemp_choice = tgui_alert(user, "Wipe your Employment Records? This cannot be reverted if you have not saved your character recently! You may wish to make a backup first.","Reset Records",list("Yes","No"))
if(resetemp_choice == "Yes")
pref.gen_record = null
return TOPIC_REFRESH
else if(href_list["reset_secrecord"])
var/resetsec_choice = tgui_alert(user, "Wipe your Security Records? This cannot be reverted if you have not saved your character recently! You may wish to make a backup first.","Reset Records",list("Yes","No")) //ChompEDIT - usr removal
var/resetsec_choice = tgui_alert(user, "Wipe your Security Records? This cannot be reverted if you have not saved your character recently! You may wish to make a backup first.","Reset Records",list("Yes","No"))
if(resetsec_choice == "Yes")
pref.sec_record = null
return TOPIC_REFRESH

View File

@@ -255,7 +255,7 @@
var/datum/job/job = locate(href_list["select_alt_title"])
if (job)
var/choices = list(job.title) + job.alt_titles
var/choice = tgui_input_list(user, "Choose a title for [job.title].", "Choose Title", choices, pref.GetPlayerAltTitle(job)) //ChompEDIT - usr removal
var/choice = tgui_input_list(user, "Choose a title for [job.title].", "Choose Title", choices, pref.GetPlayerAltTitle(job))
if(choice && CanUseTopic(user))
SetPlayerAltTitle(job, choice)
return (pref.equip_preview_mob ? TOPIC_REFRESH_UPDATE_PREVIEW : TOPIC_REFRESH)

View File

@@ -33,7 +33,7 @@
/datum/category_item/player_setup_item/volume_sliders/media/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["change_media_volume"])
if(CanUseTopic(user))
var/value = tgui_input_number(user, "Choose your Jukebox volume (0-100%)", "Jukebox volume", round(pref.media_volume * 100), 100, 0) //ChompEDIT - usr removal
var/value = tgui_input_number(user, "Choose your Jukebox volume (0-100%)", "Jukebox volume", round(pref.media_volume * 100), 100, 0)
if(isnum(value))
value = CLAMP(value, 0, 100)
pref.media_volume = value/100.0

View File

@@ -175,7 +175,7 @@
else if(href_list["voice_freq"])
var/list/preset_voice_freqs = list("high" = MAX_VOICE_FREQ, "middle-high" = 56250, "middle" = 42500, "middle-low"= 28750, "low" = MIN_VOICE_FREQ, "custom" = 1, "random" = 0)
var/choice = tgui_input_list(user, "What would you like to set your voice frequency to? ([MIN_VOICE_FREQ] - [MAX_VOICE_FREQ])", "Voice Frequency", preset_voice_freqs) //ChompEDIT - usr removal
var/choice = tgui_input_list(user, "What would you like to set your voice frequency to? ([MIN_VOICE_FREQ] - [MAX_VOICE_FREQ])", "Voice Frequency", preset_voice_freqs)
if(!choice)
return
choice = preset_voice_freqs[choice]

View File

@@ -376,13 +376,13 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["custom_base"])
var/list/choices = pref.get_custom_bases_for_species()
var/text_choice = tgui_input_list(user, "Pick an icon set for your species:","Icon Base", choices) //ChompEDIT - usr removal
var/text_choice = tgui_input_list(user, "Pick an icon set for your species:","Icon Base", choices)
if(text_choice in choices)
pref.custom_base = text_choice
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["blood_color"])
var/color_choice = input(user, "Pick a blood color (does not apply to synths)","Blood Color",pref.blood_color) as color //ChompEDIT - usr removal
var/color_choice = input(user, "Pick a blood color (does not apply to synths)","Blood Color",pref.blood_color) as color
if(color_choice)
pref.blood_color = sanitize_hexcolor(color_choice, default="#A10808")
return TOPIC_REFRESH
@@ -390,7 +390,7 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["blood_reset"])
var/datum/species/spec = GLOB.all_species[pref.species]
var/new_blood = spec.blood_color ? spec.blood_color : "#A10808"
var/choice = tgui_alert(user, "Reset blood color to species default ([new_blood])?","Reset Blood Color",list("Reset","Cancel")) //ChompEDIT - usr removal
var/choice = tgui_alert(user, "Reset blood color to species default ([new_blood])?","Reset Blood Color",list("Reset","Cancel"))
if(choice == "Reset")
pref.blood_color = new_blood
return TOPIC_REFRESH
@@ -403,7 +403,7 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["clicked_pos_trait"])
var/datum/trait/trait = text2path(href_list["clicked_pos_trait"])
var/choice = tgui_alert(user, "Remove [initial(trait.name)] and regain [initial(trait.cost)] points?","Remove Trait",list("Remove","Cancel")) //ChompEDIT - usr removal
var/choice = tgui_alert(user, "Remove [initial(trait.name)] and regain [initial(trait.cost)] points?","Remove Trait",list("Remove","Cancel"))
if(choice == "Remove")
pref.pos_traits -= trait
var/datum/trait/instance = all_traits[trait]
@@ -412,7 +412,7 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["clicked_neu_trait"])
var/datum/trait/trait = text2path(href_list["clicked_neu_trait"])
var/choice = tgui_alert(user, "Remove [initial(trait.name)]?","Remove Trait",list("Remove","Cancel")) //ChompEDIT - usr removal
var/choice = tgui_alert(user, "Remove [initial(trait.name)]?","Remove Trait",list("Remove","Cancel"))
if(choice == "Remove")
pref.neu_traits -= trait
var/datum/trait/instance = all_traits[trait]
@@ -421,7 +421,7 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["clicked_neg_trait"])
var/datum/trait/trait = text2path(href_list["clicked_neg_trait"])
var/choice = tgui_alert(user, "Remove [initial(trait.name)] and lose [initial(trait.cost)] points?","Remove Trait",list("Remove","Cancel")) //ChompEDIT - usr removal
var/choice = tgui_alert(user, "Remove [initial(trait.name)] and lose [initial(trait.cost)] points?","Remove Trait",list("Remove","Cancel"))
if(choice == "Remove")
pref.neg_traits -= trait
var/datum/trait/instance = all_traits[trait]
@@ -434,25 +434,25 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
return TOPIC_REFRESH
else if(href_list["custom_say"])
var/say_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'says': [pref.real_name] says, \"Hi.\"", "Custom Say", pref.custom_say, 12), 12) //ChompEDIT - usr removal
var/say_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'says': [pref.real_name] says, \"Hi.\"", "Custom Say", pref.custom_say, 12), 12)
if(say_choice)
pref.custom_say = say_choice
return TOPIC_REFRESH
else if(href_list["custom_whisper"])
var/whisper_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'whispers': [pref.real_name] whispers, \"Hi...\"", "Custom Whisper", pref.custom_whisper, 12), 12) //ChompEDIT - usr removal
var/whisper_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'whispers': [pref.real_name] whispers, \"Hi...\"", "Custom Whisper", pref.custom_whisper, 12), 12)
if(whisper_choice)
pref.custom_whisper = whisper_choice
return TOPIC_REFRESH
else if(href_list["custom_ask"])
var/ask_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'asks': [pref.real_name] asks, \"Hi?\"", "Custom Ask", pref.custom_ask, 12), 12) //ChompEDIT - usr removal
var/ask_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'asks': [pref.real_name] asks, \"Hi?\"", "Custom Ask", pref.custom_ask, 12), 12)
if(ask_choice)
pref.custom_ask = ask_choice
return TOPIC_REFRESH
else if(href_list["custom_exclaim"])
var/exclaim_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [pref.real_name] exclaims, \"Hi!\"", "Custom Exclaim", pref.custom_exclaim, 12), 12) //ChompEDIT - usr removal
var/exclaim_choice = sanitize(tgui_input_text(user, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [pref.real_name] exclaims, \"Hi!\"", "Custom Exclaim", pref.custom_exclaim, 12), 12)
if(exclaim_choice)
pref.custom_exclaim = exclaim_choice
return TOPIC_REFRESH
@@ -460,7 +460,7 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["custom_heat"])
tgui_alert(user, "You are setting custom heat messages. These will overwrite your species' defaults. To return to defaults, click reset.")
var/old_message = pref.custom_heat.Join("\n\n")
var/new_message = sanitize(tgui_input_text(user,"Use double enter between messages to enter a new one. Must be at least 3 characters long, 160 characters max and up to 10 messages are allowed.","Heat Discomfort messages",old_message, multiline= TRUE, prevent_enter = TRUE), MAX_MESSAGE_LEN,0,0,0) //ChompEDIT - usr removal
var/new_message = sanitize(tgui_input_text(user,"Use double enter between messages to enter a new one. Must be at least 3 characters long, 160 characters max and up to 10 messages are allowed.","Heat Discomfort messages",old_message, multiline= TRUE, prevent_enter = TRUE), MAX_MESSAGE_LEN,0,0,0)
if(length(new_message) > 0)
var/list/raw_list = splittext(new_message,"\n\n")
if(raw_list.len > 10)
@@ -476,8 +476,8 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else if(href_list["custom_cold"])
tgui_alert(user, "You are setting custom cold messages. These will overwrite your species' defaults. To return to defaults, click reset.")
var/old_message = pref.custom_cold.Join("\n\n") //CHOMP Edit
var/new_message = sanitize(tgui_input_text(user,"Use double enter between messages to enter a new one. Must be at least 3 characters long, 160 characters max and up to 10 messages are allowed.","Cold Discomfort messages",old_message, multiline= TRUE, prevent_enter = TRUE), MAX_MESSAGE_LEN,0,0,0) //ChompEDIT - usr removal
var/old_message = pref.custom_heat.Join("\n\n")
var/new_message = sanitize(tgui_input_text(user,"Use double enter between messages to enter a new one. Must be at least 3 characters long, 160 characters max and up to 10 messages are allowed.","Cold Discomfort messages",old_message, multiline= TRUE, prevent_enter = TRUE), MAX_MESSAGE_LEN,0,0,0)
if(length(new_message) > 0)
var/list/raw_list = splittext(new_message,"\n\n")
if(raw_list.len > 10)
@@ -492,37 +492,37 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
return TOPIC_REFRESH
else if(href_list["reset_say"])
var/say_choice = tgui_alert(user, "Reset your Custom Say Verb?","Reset Verb",list("Yes","No")) //ChompEDIT - usr removal
var/say_choice = tgui_alert(user, "Reset your Custom Say Verb?","Reset Verb",list("Yes","No"))
if(say_choice == "Yes")
pref.custom_say = null
return TOPIC_REFRESH
else if(href_list["reset_whisper"])
var/whisper_choice = tgui_alert(user, "Reset your Custom Whisper Verb?","Reset Verb",list("Yes","No")) //ChompEDIT - usr removal
var/whisper_choice = tgui_alert(user, "Reset your Custom Whisper Verb?","Reset Verb",list("Yes","No"))
if(whisper_choice == "Yes")
pref.custom_whisper = null
return TOPIC_REFRESH
else if(href_list["reset_ask"])
var/ask_choice = tgui_alert(user, "Reset your Custom Ask Verb?","Reset Verb",list("Yes","No")) //ChompEDIT - usr removal
var/ask_choice = tgui_alert(user, "Reset your Custom Ask Verb?","Reset Verb",list("Yes","No"))
if(ask_choice == "Yes")
pref.custom_ask = null
return TOPIC_REFRESH
else if(href_list["reset_exclaim"])
var/exclaim_choice = tgui_alert(user, "Reset your Custom Exclaim Verb?","Reset Verb",list("Yes","No")) //ChompEDIT - usr removal
var/exclaim_choice = tgui_alert(user, "Reset your Custom Exclaim Verb?","Reset Verb",list("Yes","No"))
if(exclaim_choice == "Yes")
pref.custom_exclaim = null
return TOPIC_REFRESH
else if(href_list["reset_cold"])
var/cold_choice = tgui_alert(user, "Reset your Custom Cold Discomfort messages?", "Reset Discomfort",list("Yes","No")) //ChompEDIT - usr removal
var/cold_choice = tgui_alert(user, "Reset your Custom Cold Discomfort messages?", "Reset Discomfort",list("Yes","No"))
if(cold_choice == "Yes")
pref.custom_cold = list()
return TOPIC_REFRESH
else if(href_list["reset_heat"])
var/heat_choice = tgui_alert(user, "Reset your Custom Heat Discomfort messages?", "Reset Discomfort",list("Yes","No")) //ChompEDIT - usr removal
var/heat_choice = tgui_alert(user, "Reset your Custom Heat Discomfort messages?", "Reset Discomfort",list("Yes","No"))
if(heat_choice == "Yes")
pref.custom_heat = list()
return TOPIC_REFRESH
@@ -587,12 +587,12 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
var/trait_choice
var/done = FALSE
while(!done)
trait_choice = tgui_input_list(user, message, title, nicelist) //ChompEDIT - usr removal
trait_choice = tgui_input_list(user, message, title, nicelist)
if(!trait_choice)
done = TRUE
if(trait_choice in nicelist)
var/datum/trait/path = nicelist[trait_choice]
var/choice = tgui_alert(user, "\[Cost:[initial(path.cost)]\] [initial(path.desc)]",initial(path.name), list("Take Trait","Go Back")) //ChompEDIT - usr removal
var/choice = tgui_alert(user, "\[Cost:[initial(path.cost)]\] [initial(path.desc)]",initial(path.name), list("Take Trait","Go Back"))
if(choice == "Take Trait")
done = TRUE
@@ -605,20 +605,19 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
var/conflict = FALSE
if(pref.dirty_synth && !(instance.can_take & SYNTHETICS))
tgui_alert_async(user, "The trait you've selected can only be taken by organic characters!", "Error") //ChompEDIT - usr removal
//pref.dirty_synth = 0 //Just to be sure //CHOMPEdit this shit broke, stop.
tgui_alert_async(user, "The trait you've selected can only be taken by organic characters!", "Error")
return TOPIC_REFRESH
if(pref.gross_meatbag && !(instance.can_take & ORGANICS))
tgui_alert_async(user, "The trait you've selected can only be taken by synthetic characters!", "Error") //ChompEDIT - usr removal
tgui_alert_async(user, "The trait you've selected can only be taken by synthetic characters!", "Error")
return TOPIC_REFRESH
if(pref.species in instance.banned_species)
tgui_alert_async(user, "The trait you've selected cannot be taken by the species you've chosen!", "Error") //ChompEDIT - usr removal
tgui_alert_async(user, "The trait you've selected cannot be taken by the species you've chosen!", "Error")
return TOPIC_REFRESH
if( LAZYLEN(instance.allowed_species) && !(pref.species in instance.allowed_species))
tgui_alert_async(user, "The trait you've selected cannot be taken by the species you've chosen!", "Error") //ChompEDIT - usr removal
tgui_alert_async(user, "The trait you've selected cannot be taken by the species you've chosen!", "Error")
return TOPIC_REFRESH
if(trait_choice in pref.pos_traits + pref.neu_traits + pref.neg_traits)
@@ -644,7 +643,7 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
break varconflict
if(conflict)
tgui_alert_async(user, "You cannot take this trait and [conflict] at the same time. Please remove that trait, or pick another trait to add.", "Error") //ChompEDIT - usr removal
tgui_alert_async(user, "You cannot take this trait and [conflict] at the same time. Please remove that trait, or pick another trait to add.", "Error")
return TOPIC_REFRESH
instance.apply_pref(pref)

View File

@@ -282,7 +282,7 @@ var/list/preferences_datums = list()
else
to_chat(user, span_danger("The forum URL is not set in the server configuration."))
return
ShowChoices(user) //ChompEDIT - usr removal
ShowChoices(user)
return 1
/datum/preferences/Topic(href, list/href_list)

View File

@@ -93,7 +93,7 @@
// Yielding
var/new_color = tgui_color_picker(
usr,
ui.user,
"Select new color",
null,
default_value || COLOR_WHITE,

View File

@@ -29,7 +29,7 @@
to_chat(src, "You're already committing suicide! Be patient!")
return
var/confirm = tgui_alert(usr, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
var/confirm = tgui_alert(src, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
if(confirm == "Yes")
suiciding = 1
@@ -49,7 +49,7 @@
to_chat(src, "You're already committing suicide! Be patient!")
return
var/confirm = tgui_alert(usr, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
var/confirm = tgui_alert(src, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
if(confirm == "Yes")
suiciding = 1
@@ -69,7 +69,7 @@
to_chat(src, "You're already committing suicide! Be patient!")
return
var/confirm = tgui_alert(usr, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
var/confirm = tgui_alert(src, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
if(confirm == "Yes")
suiciding = 1
@@ -83,7 +83,7 @@
set category = "Abilities.pAI Commands"
set desc = "Kill yourself and become a ghost (You will receive a confirmation prompt)"
set name = "pAI Suicide"
var/answer = tgui_alert(usr, "REALLY kill yourself? This action can't be undone.", "Suicide", list("Yes","No"))
var/answer = tgui_alert(src, "REALLY kill yourself? This action can't be undone.", "Suicide", list("Yes","No"))
if(answer == "Yes")
var/obj/item/paicard/card = loc
card.removePersonality()

View File

@@ -104,7 +104,7 @@
has_gloves.punch_force = initial(has_gloves.punch_force)
has_suit = null
if(user)
usr.put_in_hands(src)
user.put_in_hands(src)
add_fingerprint(user)
else if(get_turf(src)) //We actually exist in space
forceMove(get_turf(src))
@@ -114,7 +114,7 @@
..()
//default attack_hand behaviour
/obj/item/clothing/accessory/attack_hand(mob/user as mob)
/obj/item/clothing/accessory/attack_hand(mob/user)
if(has_suit)
return //we aren't an object on the ground so don't call parent
..()

View File

@@ -41,7 +41,7 @@
if(!M.mind)
return 0
var/input = sanitizeSafe(input(usr, "Who do you want to dedicate the bracelet to?", ,""), MAX_NAME_LEN)
var/input = sanitizeSafe(input(M, "Who do you want to dedicate the bracelet to?", ,""), MAX_NAME_LEN)
if(src && input && !M.stat && in_range(M,src))
desc = "A beautiful friendship bracelet in all the colors of the rainbow. It's dedicated to [input]."

View File

@@ -41,7 +41,7 @@
holstered = null
name = initial(name)
/obj/item/clothing/accessory/holster/proc/unholster(mob/user as mob)
/obj/item/clothing/accessory/holster/proc/unholster(mob/user)
if(!holstered)
return
@@ -63,7 +63,7 @@
var/sound_vol = 25
if(user.a_intent == I_HURT)
sound_vol = 50
usr.visible_message(
user.visible_message(
span_danger("[user] draws \the [holstered], ready to go!"), //VOREStation Edit
span_warning("You draw \the [holstered], ready to go!") //VOREStation Edit
)
@@ -82,7 +82,7 @@
clear_holster()
//YW change start
/obj/item/clothing/accessory/holster/attack_hand(mob/user as mob)
/obj/item/clothing/accessory/holster/attack_hand(mob/user)
if (user.a_intent == I_HURT && has_suit && (slot & SLOT_HOLSTER )) //if we are part of a suit and are using harm intent
if (holstered)
unholster(user)

View File

@@ -11,7 +11,7 @@
var/open
var/obj/item/held //Item inside locket.
/obj/item/clothing/accessory/locket/attack_self(mob/user as mob)
/obj/item/clothing/accessory/locket/attack_self(mob/user)
if(!base_icon)
base_icon = icon_state
@@ -30,16 +30,16 @@
else
icon_state = "[base_icon]"
/obj/item/clothing/accessory/locket/attackby(var/obj/item/O as obj, mob/user as mob)
/obj/item/clothing/accessory/locket/attackby(var/obj/item/O, mob/user)
if(!open)
to_chat(user, "You have to open it first.")
return
if(istype(O,/obj/item/paper) || istype(O, /obj/item/photo))
if(held)
to_chat(usr, "\The [src] already has something inside it.")
to_chat(user, "\The [src] already has something inside it.")
else
to_chat(usr, "You slip [O] into [src].")
to_chat(user, "You slip [O] into [src].")
user.drop_item()
O.loc = src
held = O

View File

@@ -19,7 +19,7 @@
if (!hide_on_roll)
on_rolled["down"] = icon_state
/obj/item/clothing/accessory/storage/attack_hand(mob/user as mob)
/obj/item/clothing/accessory/storage/attack_hand(mob/user)
if (has_suit) //if we are part of a suit
hold.open(user)
return
@@ -27,24 +27,24 @@
if (hold.handle_attack_hand(user)) //otherwise interact as a regular storage item
..(user)
/obj/item/clothing/accessory/storage/MouseDrop(obj/over_object as obj)
/obj/item/clothing/accessory/storage/MouseDrop(obj/over_object)
if (has_suit)
return
if (hold.handle_mousedrop(usr, over_object))
..(over_object)
/obj/item/clothing/accessory/storage/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/accessory/storage/attackby(obj/item/W, mob/user)
return hold.attackby(W, user)
/obj/item/clothing/accessory/storage/emp_act(severity)
hold.emp_act(severity)
..()
/obj/item/clothing/accessory/storage/attack_self(mob/user as mob)
/obj/item/clothing/accessory/storage/attack_self(mob/user)
to_chat(user, span_notice("You empty [src]."))
var/turf/T = get_turf(src)
hold.hide_from(usr)
hold.hide_from(user)
for(var/obj/item/I in hold.contents)
hold.remove_from_storage(I, T)
add_fingerprint(user)

View File

@@ -632,32 +632,32 @@
update_icon_define_digi = "icons/inventory/feet/mob_digi.dmi"
/obj/item/clothing/shoes/proc/draw_knife()
/obj/item/clothing/shoes/proc/draw_knife(mob/living/user)
set name = "Draw Boot Knife"
set desc = "Pull out your boot knife."
set category = "IC.Game"
set src in usr
if(usr.stat || usr.restrained() || usr.incapacitated())
if(user.stat || user.restrained() || user.incapacitated())
return
//CHOMPEdit begin
if(istype(usr, /mob/living/carbon/human))
var/mob/living/carbon/human/H = usr
if(istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/H = user
if(H.ability_flags & 0x1)
to_chat(usr, span_warning("You cannot do that while phase shifted."))
to_chat(user, span_warning("You cannot do that while phase shifted."))
return
//CHOMPEdit end
holding.forceMove(get_turf(usr))
holding.forceMove(get_turf(user))
if(usr.put_in_hands(holding))
usr.visible_message(span_danger("\The [usr] pulls a knife out of their boot!"))
if(user.put_in_hands(holding))
user.visible_message(span_danger("\The [user] pulls a knife out of their boot!"))
playsound(src, 'sound/weapons/holster/sheathout.ogg', 25)
holding = null
cut_overlay("[icon_state]_knife")
else
to_chat(usr, span_warning("Your need an empty, unbroken hand to do that."))
to_chat(user, span_warning("Your need an empty, unbroken hand to do that."))
holding.forceMove(src)
if(!holding)
@@ -668,7 +668,7 @@
/obj/item/clothing/shoes/attack_hand(var/mob/living/M)
if(can_hold_knife == 1 && holding && src.loc == M)
draw_knife()
draw_knife(M)
return
..()
@@ -886,7 +886,7 @@
/obj/item/clothing/under/attack_hand(var/mob/user)
if(LAZYLEN(accessories))
..()
if ((ishuman(usr) || issmall(usr)) && src.loc == user)
if ((ishuman(user) || issmall(user)) && src.loc == user)
return
..()
@@ -975,37 +975,36 @@
if(3)
. += "Its vital tracker and tracking beacon appear to be enabled."
/obj/item/clothing/under/proc/set_sensors(mob/usr as mob)
var/mob/M = usr
if (istype(M, /mob/observer)) return
if (usr.stat || usr.restrained()) return
/obj/item/clothing/under/proc/set_sensors(mob/user)
if (istype(user, /mob/observer)) return
if (user.stat || user.restrained()) return
if(has_sensor >= 2)
to_chat(usr, "The controls are locked.")
to_chat(user, "The controls are locked.")
return 0
if(has_sensor <= 0)
to_chat(usr, "This suit does not have any sensors.")
to_chat(user, "This suit does not have any sensors.")
return 0
var/list/modes = list("Off", "Binary sensors", "Vitals tracker", "Tracking beacon")
var/switchMode = tgui_input_list(usr, "Select a sensor mode:", "Suit Sensor Mode", modes)
if(get_dist(usr, src) > 1)
to_chat(usr, "You have moved too far away.")
var/switchMode = tgui_input_list(user, "Select a sensor mode:", "Suit Sensor Mode", modes)
if(get_dist(user, src) > 1)
to_chat(user, "You have moved too far away.")
return
sensor_mode = modes.Find(switchMode) - 1
if (src.loc == usr)
if (src.loc == user)
switch(sensor_mode)
if(0)
usr.visible_message("[usr] adjusts their sensors.", "You disable your suit's remote sensing equipment.")
user.visible_message("[user] adjusts their sensors.", "You disable your suit's remote sensing equipment.")
if(1)
usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report whether you are live or dead.")
user.visible_message("[user] adjusts their sensors.", "Your suit will now report whether you are live or dead.")
if(2)
usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report your vital lifesigns.")
user.visible_message("[user] adjusts their sensors.", "Your suit will now report your vital lifesigns.")
if(3)
usr.visible_message("[usr] adjusts their sensors.", "Your suit will now report your vital lifesigns as well as your coordinate position.")
user.visible_message("[user] adjusts their sensors.", "Your suit will now report your vital lifesigns as well as your coordinate position.")
else if (istype(src.loc, /mob))
usr.visible_message("[usr] adjusts [src.loc]'s sensors.", "You adjust [src.loc]'s sensors.")
user.visible_message("[user] adjusts [src.loc]'s sensors.", "You adjust [src.loc]'s sensors.")
/obj/item/clothing/under/verb/toggle()
set name = "Toggle Suit Sensors"
@@ -1106,7 +1105,7 @@
// only override icon if a corresponding digitigrade replacement icon_state exists
// otherwise, keep the old non-digi icon_define (or nothing)
if(icon_state && icon_states(update_icon_define_digi).Find(icon_state))
if(icon_state && icon_states(update_icon_define_digi)?.Find(icon_state))
update_icon_define = update_icon_define_digi

View File

@@ -353,21 +353,21 @@ BLIND // can't see anything
icon_state = "salesman"
var/ar = 0
/obj/item/clothing/glasses/sunglasses/bigshot/examine(mob/user as mob)
/obj/item/clothing/glasses/sunglasses/bigshot/examine(mob/user)
. = ..()
. += to_chat(usr, span_notice("Alt-click to toggle modes."))
. += to_chat(user, span_notice("Alt-click to toggle modes."))
/obj/item/clothing/glasses/sunglasses/bigshot/AltClick()
/obj/item/clothing/glasses/sunglasses/bigshot/AltClick(mob/user)
set src in usr
if(usr.canmove && !usr.stat && !usr.restrained())
if(user.canmove && !user.stat && !user.restrained())
if(src.ar)
src.ar = !src.ar
icon_state = initial(icon_state)
to_chat(usr, "You press a small button on \the [src] and deactivate the AR mode.")
to_chat(user, "You press a small button on \the [src] and deactivate the AR mode.")
else
src.ar = !src.ar
icon_state = "[initial(icon_state)]_fzz"
to_chat(usr, "You press a small button on \the [src] and activate the AR mode.")
to_chat(user, "You press a small button on \the [src] and activate the AR mode.")
update_clothing_icon()
/obj/item/clothing/glasses/welding
@@ -496,12 +496,12 @@ BLIND // can't see anything
flash_protection = FLASH_PROTECTION_NONE
enables_planes = away_planes
away_planes = null
to_chat(usr, "You switch the [src] to HUD mode.")
to_chat(user, "You switch the [src] to HUD mode.")
else
flash_protection = initial(flash_protection)
away_planes = enables_planes
enables_planes = null
to_chat(usr, "You switch \the [src] to flash protection mode.")
to_chat(user, "You switch \the [src] to flash protection mode.")
update_icon()
user << activation_sound
user.recalculate_vis()

View File

@@ -39,21 +39,21 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0)
var/hanging = 0
/obj/item/clothing/mask/surgical/proc/adjust_mask(mob_user)
if(usr.canmove && !usr.stat)
/obj/item/clothing/mask/surgical/proc/adjust_mask(mob/user)
if(user.canmove && !user.stat)
src.hanging = !src.hanging
if (src.hanging)
gas_transfer_coefficient = 1
body_parts_covered = body_parts_covered & ~FACE
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "steriledown"
to_chat(usr, "You pull the mask below your chin.")
to_chat(user, "You pull the mask below your chin.")
else
gas_transfer_coefficient = initial(gas_transfer_coefficient)
body_parts_covered = initial(body_parts_covered)
icon_state = initial(icon_state)
armor = initial(armor)
to_chat(usr, "You pull the mask up to cover your face.")
to_chat(user, "You pull the mask up to cover your face.")
update_clothing_icon()
/obj/item/clothing/mask/surgical/verb/toggle()

View File

@@ -54,9 +54,9 @@
if(!istype(H) || H != usr)
return
if(H.wear_mask != src)
to_chat(usr, span_warning("You have not installed \the [src] yet."))
to_chat(H, span_warning("You have not installed \the [src] yet."))
return
var/choice = tgui_input_list(usr, "Select a screen icon:", "Head Monitor Choice", monitor_states)
var/choice = tgui_input_list(H, "Select a screen icon:", "Head Monitor Choice", monitor_states)
if(choice)
monitor_state_index = choice
update_icon()

View File

@@ -191,7 +191,7 @@
continue
. += "[icon2html(piece, user.client)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
if(src.loc == usr)
if(src.loc == user)
. += "The access panel is [locked? "locked" : "unlocked"]."
. += "The maintenance panel is [open ? "open" : "closed"]."
. += "Hardsuit systems are [offline ? span_warning("offline") : span_notice("online")]."
@@ -430,14 +430,14 @@
return
cooling_on = 1
to_chat(usr, span_notice("You switch \the [src]'s cooling system on."))
to_chat(user, span_notice("You switch \the [src]'s cooling system on."))
/obj/item/rig/proc/turn_cooling_off(var/mob/user, var/failed)
if(failed)
visible_message("\The [src]'s cooling system clicks and whines as it powers down.")
else
to_chat(usr, span_notice("You switch \the [src]'s cooling system off."))
to_chat(user, span_notice("You switch \the [src]'s cooling system off."))
cooling_on = 0
/obj/item/rig/proc/get_environment_temperature()
@@ -691,16 +691,16 @@
if((!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) && !forced)
return
if((usr == wearer && (usr.stat||usr.paralysis||usr.stunned)) && !forced) // If the usr isn't wearing the suit it's probably an AI.
if(!H)
return
if((H == wearer && (H.stat||H.paralysis||H.stunned)) && !forced) // If the user isn't wearing the suit it's probably an AI.
return
var/obj/item/check_slot
var/equip_to
var/obj/item/use_obj
if(!H)
return
switch(piece)
if("helmet")
equip_to = slot_head

View File

@@ -1,4 +1,4 @@
/obj/item/rig/attackby(obj/item/W as obj, mob/living/user as mob)
/obj/item/rig/attackby(obj/item/W, mob/living/user)
if(!istype(user))
return 0
@@ -122,7 +122,7 @@
if(cell) current_mounts += "cell"
if(installed_modules && installed_modules.len) current_mounts += "system module"
var/to_remove = tgui_input_list(usr, "Which would you like to modify?", "Removal Choice", current_mounts)
var/to_remove = tgui_input_list(user, "Which would you like to modify?", "Removal Choice", current_mounts)
if(!to_remove)
return
@@ -160,7 +160,7 @@
to_chat(user, "There are no installed modules to remove.")
return
var/removal_choice = tgui_input_list(usr, "Which module would you like to remove?", "Removal Choice", possible_removals)
var/removal_choice = tgui_input_list(user, "Which module would you like to remove?", "Removal Choice", possible_removals)
if(!removal_choice)
return

View File

@@ -61,9 +61,9 @@
if(tank && ispath(tank))
tank = new tank(src)
/obj/item/clothing/suit/space/void/examine(user)
/obj/item/clothing/suit/space/void/examine(mob/user)
. = ..()
. += to_chat(usr, span_notice("Alt-click to relase Tank/Cooling unit if installed."))
. += to_chat(user, span_notice("Alt-click to relase Tank/Cooling unit if installed."))
for(var/obj/item/I in list(helmet,boots,tank,cooler))
. += "It has \a [I] installed."
if(tank && in_range(src,user))
@@ -230,7 +230,7 @@
removing.canremove = TRUE
H.drop_from_inventory(removing)
/obj/item/clothing/suit/space/void/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/suit/space/void/attackby(obj/item/W, mob/user)
if(!isliving(user)) return
@@ -243,7 +243,7 @@
if(W.has_tool_quality(TOOL_SCREWDRIVER))
if(helmet || boots || tank)
var/choice = tgui_input_list(usr, "What component would you like to remove?", "Remove Component", list(helmet,boots,tank,cooler))
var/choice = tgui_input_list(user, "What component would you like to remove?", "Remove Component", list(helmet,boots,tank,cooler))
if(!choice) return
if(choice == tank) //No, a switch doesn't work here. Sorry. ~Techhead

View File

@@ -102,7 +102,7 @@
helmet = new /obj/item/clothing/head/helmet/space/void/autolok //autoinstall the helmet
//override the attackby screwdriver proc so that people can't remove the helmet
/obj/item/clothing/suit/space/void/autolok/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/suit/space/void/autolok/attackby(obj/item/W, mob/user)
if(!isliving(user))
return
@@ -116,7 +116,7 @@
if(W.has_tool_quality(TOOL_SCREWDRIVER))
if(boots || tank || cooler)
var/choice = tgui_input_list(usr, "What component would you like to remove?", "Remove Component", list(boots,tank,cooler))
var/choice = tgui_input_list(user, "What component would you like to remove?", "Remove Component", list(boots,tank,cooler))
if(!choice) return
if(choice == tank) //No, a switch doesn't work here. Sorry. ~Techhead

View File

@@ -63,11 +63,11 @@
set src in usr
bluespace_size(usr)
/obj/item/clothing/under/hyperfiber/bluespace/proc/bluespace_size(mob/usr as mob)
if (!ishuman(usr))
/obj/item/clothing/under/hyperfiber/bluespace/proc/bluespace_size(mob/user)
if (!ishuman(user))
return
var/mob/living/carbon/human/H = usr
var/mob/living/carbon/human/H = user
if (H.stat || H.restrained())
return

View File

@@ -9,7 +9,7 @@
w_class = ITEMSIZE_SMALL
var/obj/item/stored_item = null
/obj/item/evidencebag/MouseDrop(var/obj/item/I as obj)
/obj/item/evidencebag/MouseDrop(var/obj/item/I)
if (!ishuman(usr))
return
if(!istype(I) || I.anchored)

View File

@@ -92,7 +92,7 @@
else if(choices.len == 1)
choice = choices[1]
else
choice = tgui_input_list(usr, "What kind of evidence are you looking for?","Evidence Collection", choices)
choice = tgui_input_list(user, "What kind of evidence are you looking for?","Evidence Collection", choices)
if(!choice)
return

View File

@@ -101,7 +101,7 @@
else
user << browse(null,"window=eftpos")
/obj/item/eftpos/attackby(obj/item/O as obj, user as mob)
/obj/item/eftpos/attackby(obj/item/O, mob/user)
var/obj/item/card/id/I = O.GetID()
@@ -109,7 +109,7 @@
if(linked_account)
scan_card(I, O)
else
to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Unable to connect to linked account."))
to_chat(user, "[icon2html(src, user.client)]" + span_warning("Unable to connect to linked account."))
else if (istype(O, /obj/item/spacecash/ewallet))
var/obj/item/spacecash/ewallet/E = O
if (linked_account)
@@ -134,11 +134,11 @@
T.time = stationtime2text()
linked_account.transaction_log.Add(T)
else
to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("\The [O] doesn't have that much money!"))
to_chat(user, "[icon2html(src, user.client)]" + span_warning("\The [O] doesn't have that much money!"))
else
to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("Connected account has been suspended."))
to_chat(user, "[icon2html(src, user.client)]" + span_warning("Connected account has been suspended."))
else
to_chat(usr, "[icon2html(src, usr.client)]" + span_warning("EFTPOS is not connected to an account."))
to_chat(user, "[icon2html(src, user.client)]" + span_warning("EFTPOS is not connected to an account."))
else
..()

View File

@@ -79,8 +79,8 @@
update_icon()
return worth
/obj/item/spacecash/attack_self()
var/amount = tgui_input_number(usr, "How many [initial_name]s do you want to take? (0 to [src.worth])", "Take Money", 20, src.worth)
/obj/item/spacecash/attack_self(mob/user)
var/amount = tgui_input_number(user, "How many [initial_name]s do you want to take? (0 to [src.worth])", "Take Money", 20, src.worth)
if(!src || QDELETED(src))
return
amount = round(CLAMP(amount, 0, src.worth))
@@ -89,9 +89,9 @@
return
adjust_worth(-amount)
var/obj/item/spacecash/SC = new (usr.loc)
var/obj/item/spacecash/SC = new (user.loc)
SC.set_worth(amount)
usr.put_in_hands(SC)
user.put_in_hands(SC)
/obj/item/spacecash/c1
name = "1 Thaler"

View File

@@ -111,8 +111,8 @@
update_icon()
return worth
/obj/item/spacecasinocash/attack_self()
var/amount = tgui_input_number(usr, "How much credits worth of chips do you want to take? (0 to [src.worth])", "Take chips", 20, src.worth)
/obj/item/spacecasinocash/attack_self(mob/user)
var/amount = tgui_input_number(user, "How much credits worth of chips do you want to take? (0 to [src.worth])", "Take chips", 20, src.worth)
if(!src || QDELETED(src))
return
amount = round(CLAMP(amount, 0, src.worth))
@@ -121,9 +121,9 @@
return
adjust_worth(-amount)
var/obj/item/spacecasinocash/SC = new (usr.loc)
var/obj/item/spacecasinocash/SC = new (user.loc)
SC.set_worth(amount)
usr.put_in_hands(SC)
user.put_in_hands(SC)
/obj/item/spacecasinocash/c1
name = "1 credit casino chip"

View File

@@ -9,7 +9,7 @@
var/coinsToProduce = 6 //how many coins do we make per sheet? a sheet is 2000 units whilst a coin is 250, and some material should be lost in the process
var/list/validMats = list(MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_IRON, MAT_PHORON, MAT_URANIUM) //what's valid stuff to make coins out of?
/obj/machinery/mineral/mint/attackby(obj/item/stack/material/M as obj, mob/user as mob)
/obj/machinery/mineral/mint/attackby(obj/item/stack/material/M, mob/user)
if(M.default_type in validMats)
user.visible_message("[user] starts to feed a sheet of [M.default_type] into \the [src].")
while(M.amount > 0)
@@ -42,7 +42,7 @@
src.visible_message(span_notice("\The [src] has run out of usable materials."))
break
else
to_chat(usr,span_warning("\The [src] is hand-operated and requires your full attention!"))
to_chat(user,span_warning("\The [src] is hand-operated and requires your full attention!"))
icon_state = "coinpress0"
break
else

View File

@@ -45,12 +45,12 @@
dat += text("Uranium coins: [amt_uranium] <A href='byond://?src=\ref[src];remove=uranium'>Remove one</A><br>")
user << browse("<html>[dat]</html>", "window=moneybag")
/obj/item/moneybag/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/moneybag/attackby(obj/item/W, mob/user)
..()
if (istype(W, /obj/item/coin))
var/obj/item/coin/C = W
to_chat(user, span_blue("You add the [C.name] into the bag."))
usr.drop_item()
user.drop_item()
contents += C
if (istype(W, /obj/item/moneybag))
var/obj/item/moneybag/C = W

View File

@@ -165,7 +165,7 @@
/obj/item/retail_scanner/attackby(obj/O as obj, user as mob)
/obj/item/retail_scanner/attackby(obj/O, mob/user)
// Check for a method of paying (ID, PDA, e-wallet, cash, ect.)
var/obj/item/card/id/I = O.GetID()
if(I)
@@ -174,7 +174,7 @@
var/obj/item/spacecash/ewallet/E = O
scan_wallet(E)
else if (istype(O, /obj/item/spacecash))
to_chat(usr, span_warning("This device does not accept cash."))
to_chat(user, span_warning("This device does not accept cash."))
else if(istype(O, /obj/item/card/emag))
return ..()

View File

@@ -263,23 +263,23 @@ GLOBAL_LIST_EMPTY(vending_products)
/**
* Receive payment with cashmoney.
*
* usr is the mob who gets the change.
* user is the mob who gets the change.
*/
/obj/machinery/vending/proc/pay_with_cash(var/obj/item/spacecash/cashmoney, mob/user)
if(currently_vending.price > cashmoney.worth)
// This is not a status display message, since it's something the character
// themselves is meant to see BEFORE putting the money in
to_chat(usr, "[icon2html(cashmoney, user.client)] " + span_warning("That is not enough money."))
to_chat(user, "[icon2html(cashmoney, user.client)] " + span_warning("That is not enough money."))
return 0
if(istype(cashmoney, /obj/item/spacecash))
visible_message(span_info("\The [usr] inserts some cash into \the [src]."))
visible_message(span_info("\The [user] inserts some cash into \the [src]."))
cashmoney.worth -= currently_vending.price
if(cashmoney.worth <= 0)
usr.drop_from_inventory(cashmoney)
user.drop_from_inventory(cashmoney)
qdel(cashmoney)
else
cashmoney.update_icon()
@@ -298,7 +298,7 @@ GLOBAL_LIST_EMPTY(vending_products)
visible_message(span_info("\The [user] swipes \the [wallet] through \the [src]."))
playsound(src, 'sound/machines/id_swipe.ogg', 50, 1)
if(currently_vending.price > wallet.worth)
to_chat(usr, span_warning("Insufficient funds on chargecard."))
to_chat(user, span_warning("Insufficient funds on chargecard."))
return 0
else
wallet.worth -= currently_vending.price

View File

@@ -65,7 +65,7 @@
set name = "Examine"
set category = "IC.Game"
if((is_blind(src) || usr.stat) && !isobserver(src))
if((is_blind(src) || src.stat) && !isobserver(src))
to_chat(src, span_notice("Something is there but you can't see it."))
return 1

View File

@@ -117,7 +117,7 @@
"Nanotrasen logo", "a geometric-looking letter S", "a dodecahedron")
/obj/item/firework_star/aesthetic/configurable/attack_self(var/mob/user)
var/choice = tgui_alert(usr, "What setting do you want to adjust?", "Firework Star", list("Color", "Shape", "Nothing"))
var/choice = tgui_alert(user, "What setting do you want to adjust?", "Firework Star", list("Color", "Shape", "Nothing"))
if(src.loc != user)
return

View File

@@ -58,9 +58,6 @@
//Placeholder for effect that trigger on eating that aren't tied to reagents.
/obj/item/reagent_containers/food/snacks/proc/On_Consume(var/mob/living/M)
if(!usr) // what
usr = M
if(food_inserted_micros && food_inserted_micros.len)
if(M.can_be_drop_pred && M.food_vore && M.vore_selected)
for(var/mob/living/F in food_inserted_micros)
@@ -83,7 +80,7 @@
if(!reagents.total_volume)
M.balloon_alert_visible("Finishes eating \the [src].","Finished eating \the [src].") // CHOMPEdit - Balloon alert
usr.drop_from_inventory(src) // Drop food from inventory so it doesn't end up staying on the hud after qdel, and so inhands go away
M.drop_from_inventory(src) // Drop food from inventory so it doesn't end up staying on the hud after qdel, and so inhands go away
//CHOMPAdd Start - Consume item TF mobs as raw nutrition if prefs align
if(possessed_voice && possessed_voice.len && M.can_be_drop_pred && M.food_vore && M.vore_selected)
@@ -97,8 +94,8 @@
NR.forceMove(M.vore_selected)
//CHOMPAdd End
if(trash)
var/obj/item/TrashItem = new trash(usr)
usr.put_in_hands(TrashItem)
var/obj/item/TrashItem = new trash(M)
M.put_in_hands(TrashItem)
//CHOMPAdd Start - Transfer item TF mobs to the trash if able
if(possessed_voice && possessed_voice.len)
for(var/mob/living/voice/V in possessed_voice)
@@ -927,7 +924,7 @@
. = ..()
reagents.add_reagent(REAGENT_ID_EGG, 3)
/obj/item/reagent_containers/food/snacks/egg/afterattack(obj/O as obj, mob/user as mob, proximity)
/obj/item/reagent_containers/food/snacks/egg/afterattack(obj/O, mob/user, proximity)
if(istype(O,/obj/machinery/microwave))
return . = ..()
if(!(proximity && O.is_open_container()))
@@ -944,16 +941,16 @@
src.visible_message(span_red("[src.name] has been squashed."),span_red("You hear a smack."))
qdel(src)
/obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W, mob/user)
if(istype( W, /obj/item/pen/crayon ))
var/obj/item/pen/crayon/C = W
var/clr = C.colourName
if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))
to_chat(usr, span_blue("The egg refuses to take on this color!"))
to_chat(user, span_blue("The egg refuses to take on this color!"))
return
to_chat(usr, span_blue("You color \the [src] [clr]"))
to_chat(user, span_blue("You color \the [src] [clr]"))
icon_state = "egg-[clr]"
else
. = ..()
@@ -1778,9 +1775,9 @@
. = ..()
unpopped = rand(1,10)
/obj/item/reagent_containers/food/snacks/popcorn/On_Consume()
/obj/item/reagent_containers/food/snacks/popcorn/On_Consume(mob/living/M)
if(prob(unpopped)) //lol ...what's the point?
to_chat(usr, span_red("You bite down on an un-popped kernel!"))
to_chat(M, span_red("You bite down on an un-popped kernel!"))
unpopped = max(0, unpopped-1)
. = ..()
@@ -4272,7 +4269,7 @@
if( src.open )
return
var/t = sanitize(input(usr, "Enter what you want to add to the tag:", "Write", null, null) as text, 30)
var/t = sanitize(input(user, "Enter what you want to add to the tag:", "Write", null, null) as text, 30)
var/obj/item/pizzabox/boxtotagto = src
if( boxes.len > 0 )

View File

@@ -61,7 +61,7 @@
switch(action)
if("toggle_power")
attempt_toggle_power(usr)
attempt_toggle_power(ui.user)
return TRUE
if("toggle_safety")
toggle_safety()

View File

@@ -82,14 +82,14 @@
try_toggle_door(usr)
/obj/machinery/appliance/cooker/oven/proc/try_toggle_door(mob/user)
if(!isliving(usr) || isAI(user))
if(!isliving(user) || isAI(user))
return
if(!usr.IsAdvancedToolUser())
if(!user.IsAdvancedToolUser())
to_chat(user, span_notice("You lack the dexterity to do that."))
return
if(!Adjacent(usr))
if(!Adjacent(user))
to_chat(user, span_notice("You can't reach the [src] from there, get closer!"))
return

View File

@@ -82,13 +82,13 @@
var/mob/living/carbon/user = usr
if(usr.stat || !Adjacent(usr)) return
if(user.stat || !Adjacent(user)) return
if(user.hands_are_full()) // Safety check lest the card disappear into oblivion
to_chat(user,span_notice("Your hands are full!"))
return
if(!istype(usr,/mob/living/carbon))
if(!istype(user,/mob/living/carbon))
return
if(!cards.len)
@@ -237,10 +237,10 @@
return
/obj/item/deck/MouseDrop(mob/user as mob) // Code from Paper bin, so you can still pick up the deck
if((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr))))))
if(!isanimal(usr))
if( !usr.get_active_hand() ) //if active hand is empty
/obj/item/deck/MouseDrop(mob/user) // Code from Paper bin, so you can still pick up the deck
if((user == usr && (!( user.restrained() ) && (!( user.stat ) && (user.contents.Find(src) || in_range(src, user))))))
if(!isanimal(user))
if( !user.get_active_hand() ) //if active hand is empty
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
@@ -257,9 +257,9 @@
/obj/item/deck/verb_pickup() // Snowflaked so pick up verb work as intended
var/mob/user = usr
if((istype(user) && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr))))))
if(!isanimal(usr))
if( !usr.get_active_hand() ) //if active hand is empty
if((istype(user) && (!( user.restrained() ) && (!( user.stat ) && (user.contents.Find(src) || in_range(src, user))))))
if(!isanimal(user))
if( !user.get_active_hand() ) //if active hand is empty
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
@@ -372,15 +372,15 @@
if(user.stat || !Adjacent(user)) return
if(user.hands_are_full()) // Safety check lest the card disappear into oblivion
to_chat(usr,span_danger("Your hands are full!"))
to_chat(user,span_danger("Your hands are full!"))
return
var/pickablecards = list()
for(var/datum/playingcard/P in cards)
pickablecards[P.name] = P
var/pickedcard = tgui_input_list(usr, "Which card do you want to remove from the hand?", "Card Selection", pickablecards)
var/pickedcard = tgui_input_list(user, "Which card do you want to remove from the hand?", "Card Selection", pickablecards)
if(!pickedcard || !pickablecards[pickedcard] || !usr || !src) return
if(!pickedcard || !pickablecards[pickedcard] || !user || !src) return
var/datum/playingcard/card = pickablecards[pickedcard]

View File

@@ -426,7 +426,7 @@
active_power_usage = 6
power_channel = ENVIRON
/obj/machinery/readybutton/attack_ai(mob/user as mob)
/obj/machinery/readybutton/attack_ai(mob/user)
to_chat(user, "The station AI is not to interact with these devices!")
return
@@ -434,10 +434,10 @@
..()
/obj/machinery/readybutton/attackby(obj/item/W as obj, mob/user as mob)
/obj/machinery/readybutton/attackby(obj/item/W, mob/user)
to_chat(user, "The device is a solid button, there's nothing you can do with it!")
/obj/machinery/readybutton/attack_hand(mob/user as mob)
/obj/machinery/readybutton/attack_hand(mob/user)
if(user.stat || stat & (NOPOWER|BROKEN))
to_chat(user, "This device is not powered.")
@@ -451,7 +451,7 @@
qdel(src)
if(eventstarted)
to_chat(usr, "The event has already begun!")
to_chat(user, "The event has already begun!")
return
ready = !ready

View File

@@ -86,7 +86,7 @@
if(!slot_check())
to_chat(user, span_warning("You need to equip [src] before taking out [noz]."))
else
if(!usr.put_in_hands(noz)) //Detach the handset into the user's hands
if(!user.put_in_hands(noz)) //Detach the handset into the user's hands
to_chat(user, span_warning("You need a free hand to hold the handset!"))
update_icon() //success

View File

@@ -633,15 +633,15 @@
return
/obj/machinery/portable_atmospherics/hydroponics/attack_tk(mob/user as mob)
/obj/machinery/portable_atmospherics/hydroponics/attack_tk(mob/user)
if(dead)
remove_dead(user)
else if(harvest)
harvest(user)
/obj/machinery/portable_atmospherics/hydroponics/attack_hand(mob/user as mob)
/obj/machinery/portable_atmospherics/hydroponics/attack_hand(mob/user)
if(istype(usr,/mob/living/silicon))
if(istype(user,/mob/living/silicon))
return
if(frozen == 1)
to_chat(user, span_warning("Disable the cryogenic freezing first!"))

View File

@@ -68,7 +68,7 @@ a creative player the means to solve many problems. Circuits are held inside an
if(!check_interactivity(M))
return
var/input = sanitizeSafe(tgui_input_text(usr, "What do you want to name the circuit?", "Rename", src.name, MAX_NAME_LEN), MAX_NAME_LEN)
var/input = sanitizeSafe(tgui_input_text(M, "What do you want to name the circuit?", "Rename", src.name, MAX_NAME_LEN), MAX_NAME_LEN)
if(src && input && assembly.check_interactivity(M))
to_chat(M, span_notice("The circuit '[src.name]' is now labeled '[input]'."))
displayed_name = input

View File

@@ -147,20 +147,20 @@ list[](
src.linked.Remove(their_io)
/datum/integrated_io/proc/ask_for_data_type(mob/user, var/default, var/list/allowed_data_types = list("string","number","null"))
var/type_to_use = tgui_input_list(usr, "Please choose a type to use.","[src] type setting", allowed_data_types)
var/type_to_use = tgui_input_list(user, "Please choose a type to use.","[src] type setting", allowed_data_types)
if(!holder.check_interactivity(user))
return
var/new_data = null
switch(type_to_use)
if("string")
new_data = tgui_input_text(usr, "Now type in a string.","[src] string writing", istext(default) ? default : null, MAX_NAME_LEN)
new_data = tgui_input_text(user, "Now type in a string.","[src] string writing", istext(default) ? default : null, MAX_NAME_LEN)
new_data = sanitize(new_data,MAX_NAME_LEN)
if(istext(new_data) && holder.check_interactivity(user) )
to_chat(user, span_notice("You input [new_data] into the pin."))
return new_data
if("number")
new_data = tgui_input_number(usr, "Now type in a number.","[src] number writing", isnum(default) ? default : null, MAX_NAME_LEN)
new_data = tgui_input_number(user, "Now type in a number.","[src] number writing", isnum(default) ? default : null, MAX_NAME_LEN)
if(isnum(new_data) && holder.check_interactivity(user) )
to_chat(user, span_notice("You input [new_data] into the pin."))
return new_data

View File

@@ -3,7 +3,7 @@
name = "char pin"
/datum/integrated_io/char/ask_for_pin_data(mob/user)
var/new_data = tgui_input_text(usr, "Please type in one character.","[src] char writing")
var/new_data = tgui_input_text(user, "Please type in one character.","[src] char writing")
if(holder.check_interactivity(user) )
to_chat(user, span_notice("You input [new_data ? "new_data" : "NULL"] into the pin."))
write_data_to_pin(new_data)

View File

@@ -3,7 +3,7 @@
name = "color pin"
/datum/integrated_io/color/ask_for_pin_data(mob/user)
var/new_data = input(usr, "Please select a color.","[src] color writing", data ? data : "#000000") as null|color
var/new_data = input(user, "Please select a color.","[src] color writing", data ? data : "#000000") as null|color
if(holder.check_interactivity(user) )
to_chat(user, span_notice("You input a <font color='[new_data]'>new color</font> into the pin."))
write_data_to_pin(new_data)

View File

@@ -3,7 +3,7 @@
name = "dir pin"
/datum/integrated_io/dir/ask_for_pin_data(mob/user)
var/new_data = tgui_input_number(usr, "Please type in a valid dir number. \
var/new_data = tgui_input_number(user, "Please type in a valid dir number. \
Valid dirs are;\n\
North/Fore = [NORTH],\n\
South/Aft = [SOUTH],\n\

View File

@@ -53,7 +53,7 @@
to_chat(user, span_warning("The list is empty, there's nothing to remove."))
return
if(!target_entry)
target_entry = tgui_input_list(usr, "Which piece of data do you want to remove?", "Remove", my_list)
target_entry = tgui_input_list(user, "Which piece of data do you want to remove?", "Remove", my_list)
if(target_entry)
my_list.Remove(target_entry)
@@ -63,7 +63,7 @@
to_chat(user, span_warning("The list is empty, there's nothing to modify."))
return
if(!target_entry)
target_entry = tgui_input_list(usr, "Which piece of data do you want to edit?", "Edit", my_list)
target_entry = tgui_input_list(user, "Which piece of data do you want to edit?", "Edit", my_list)
if(target_entry)
var/edited_entry = ask_for_data_type(user, target_entry)
if(edited_entry)
@@ -88,11 +88,11 @@
to_chat(user, span_warning("The list is empty, or too small to do any meaningful swapping."))
return
if(!first_target)
first_target = tgui_input_list(usr, "Which piece of data do you want to swap? (1)", "Swap", my_list)
first_target = tgui_input_list(user, "Which piece of data do you want to swap? (1)", "Swap", my_list)
if(first_target)
if(!second_target)
second_target = tgui_input_list(usr, "Which piece of data do you want to swap? (2)", "Swap", my_list - first_target)
second_target = tgui_input_list(user, "Which piece of data do you want to swap? (2)", "Swap", my_list - first_target)
if(second_target)
var/first_pos = my_list.Find(first_target)

View File

@@ -4,7 +4,7 @@
// data = 0
/datum/integrated_io/number/ask_for_pin_data(mob/user)
var/new_data = tgui_input_number(usr, "Please type in a number.","[src] number writing")
var/new_data = tgui_input_number(user, "Please type in a number.","[src] number writing")
if(isnum(new_data) && holder.check_interactivity(user) )
to_chat(user, span_notice("You input [new_data] into the pin."))
write_data_to_pin(new_data)

View File

@@ -3,7 +3,7 @@
name = "string pin"
/datum/integrated_io/string/ask_for_pin_data(mob/user)
var/new_data = tgui_input_text(usr, "Please type in a string.","[src] string writing")
var/new_data = tgui_input_text(user, "Please type in a string.","[src] string writing")
new_data = sanitizeSafe(new_data, MAX_MESSAGE_LEN, 0, 0)
if(new_data && holder.check_interactivity(user) )

View File

@@ -114,7 +114,7 @@
var/accepting_refs = 0
/obj/item/integrated_electronics/debugger/attack_self(mob/user)
var/type_to_use = tgui_input_list(usr, "Please choose a type to use.","[src] type setting", list("string","number","ref", "null"))
var/type_to_use = tgui_input_list(user, "Please choose a type to use.","[src] type setting", list("string","number","ref", "null"))
if(!CanInteract(user, GLOB.tgui_physical_state))
return
@@ -122,14 +122,14 @@
switch(type_to_use)
if("string")
accepting_refs = 0
new_data = tgui_input_text(usr, "Now type in a string.","[src] string writing", null, MAX_MESSAGE_LEN)
new_data = tgui_input_text(user, "Now type in a string.","[src] string writing", null, MAX_MESSAGE_LEN)
new_data = sanitizeSafe(new_data, MAX_MESSAGE_LEN, 0, 0)
if(istext(new_data) && CanInteract(user, GLOB.tgui_physical_state))
data_to_write = new_data
to_chat(user, span_notice("You set \the [src]'s memory to \"[new_data]\"."))
if("number")
accepting_refs = 0
new_data = tgui_input_number(usr, "Now type in a number.","[src] number writing", min_value=-INFINITY, round_value=FALSE)
new_data = tgui_input_number(user, "Now type in a number.","[src] number writing", min_value=-INFINITY, round_value=FALSE)
if(isnum(new_data) && CanInteract(user, GLOB.tgui_physical_state))
data_to_write = new_data
to_chat(user, span_notice("You set \the [src]'s memory to [new_data]."))

View File

@@ -88,7 +88,7 @@
/obj/item/integrated_circuit/memory/constant/attack_self(mob/user)
var/datum/integrated_io/O = outputs[1]
var/type_to_use = tgui_input_list(usr, "Please choose a type to use.","[src] type setting", list("string","number","ref", "null"))
var/type_to_use = tgui_input_list(user, "Please choose a type to use.","[src] type setting", list("string","number","ref", "null"))
if(!CanInteract(user, GLOB.tgui_physical_state))
return
@@ -96,14 +96,14 @@
switch(type_to_use)
if("string")
accepting_refs = 0
new_data = tgui_input_text(usr, "Now type in a string.","[src] string writing", MAX_NAME_LEN)
new_data = tgui_input_text(user, "Now type in a string.","[src] string writing", MAX_NAME_LEN)
new_data = sanitize(new_data,MAX_NAME_LEN)
if(istext(new_data) && CanInteract(user, GLOB.tgui_physical_state))
O.data = new_data
to_chat(user, span_notice("You set \the [src]'s memory to [O.display_data(O.data)]."))
if("number")
accepting_refs = 0
new_data = tgui_input_number(usr, "Now type in a number.","[src] number writing", MAX_NAME_LEN)
new_data = tgui_input_number(user, "Now type in a number.","[src] number writing", MAX_NAME_LEN)
if(isnum(new_data) && CanInteract(user, GLOB.tgui_physical_state))
O.data = new_data
to_chat(user, span_notice("You set \the [src]'s memory to [O.display_data(O.data)]."))

View File

@@ -27,13 +27,13 @@
I.loc = src
update_icon()
/obj/structure/bookcase/attackby(obj/item/O as obj, mob/user as mob)
/obj/structure/bookcase/attackby(obj/item/O, mob/user)
if(istype(O, /obj/item/book))
user.drop_item()
O.loc = src
update_icon()
else if(istype(O, /obj/item/pen))
var/newname = sanitizeSafe(tgui_input_text(usr, "What would you like to title this bookshelf?", null, null, MAX_NAME_LEN), MAX_NAME_LEN)
var/newname = sanitizeSafe(tgui_input_text(user, "What would you like to title this bookshelf?", null, null, MAX_NAME_LEN), MAX_NAME_LEN)
if(!newname)
return
else
@@ -55,11 +55,11 @@
else
..()
/obj/structure/bookcase/attack_hand(var/mob/user as mob)
/obj/structure/bookcase/attack_hand(var/mob/user)
if(contents.len)
var/obj/item/book/choice = tgui_input_list(usr, "Which book would you like to remove from the shelf?", "Book Selection", contents)
var/obj/item/book/choice = tgui_input_list(user, "Which book would you like to remove from the shelf?", "Book Selection", contents)
if(choice)
if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
if(!user.canmove || user.stat || user.restrained() || !in_range(loc, user))
return
if(ishuman(user))
if(!user.get_active_hand())
@@ -213,7 +213,7 @@ Book Cart End
dat = "<html>[dat]</html>"
user << browse(replacetext(dat, "<html>", "<html><TT><I>Penned by [author].</I></TT> <BR>"), "window=book")
/obj/item/book/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/book/attackby(obj/item/W, mob/user)
if(carved)
if(!store)
if(W.w_class < ITEMSIZE_LARGE)
@@ -232,27 +232,27 @@ Book Cart End
if(unique)
to_chat(user, "These pages don't seem to take the ink well. Looks like you can't modify it.")
return
var/choice = tgui_input_list(usr, "What would you like to change?", "Change What?", list("Title", "Contents", "Author", "Cancel"))
var/choice = tgui_input_list(user, "What would you like to change?", "Change What?", list("Title", "Contents", "Author", "Cancel"))
switch(choice)
if("Title")
var/newtitle = reject_bad_text(sanitizeSafe(tgui_input_text(usr, "Write a new title:")))
var/newtitle = reject_bad_text(sanitizeSafe(tgui_input_text(user, "Write a new title:")))
if(!newtitle)
to_chat(usr, "The title is invalid.")
to_chat(user, "The title is invalid.")
return
else
src.name = newtitle
src.title = newtitle
if("Contents")
var/content = sanitize(input(usr, "Write your book's contents (HTML NOT allowed):") as message|null, MAX_BOOK_MESSAGE_LEN)
var/content = sanitize(input(user, "Write your book's contents (HTML NOT allowed):") as message|null, MAX_BOOK_MESSAGE_LEN)
if(!content)
to_chat(usr, "The content is invalid.")
to_chat(user, "The content is invalid.")
return
else
src.dat += content
if("Author")
var/newauthor = sanitize(tgui_input_text(usr, "Write the author's name:"))
var/newauthor = sanitize(tgui_input_text(user, "Write the author's name:"))
if(!newauthor)
to_chat(usr, "The name is invalid.")
to_chat(user, "The name is invalid.")
return
else
src.author = newauthor
@@ -314,7 +314,7 @@ Book Cart End
var/page = 1 //current page
var/list/pages = list() //the contents of each page
/obj/item/book/bundle/proc/show_content(mob/user as mob)
/obj/item/book/bundle/proc/show_content(mob/user)
if(!pages.len)
return
var/dat
@@ -333,7 +333,7 @@ Book Cart End
dat+= "<DIV STYLE='float:right; text-align:right; width:33.33333%'><A href='byond://?src=\ref[src];next_page=1'>Next Page</A></DIV><BR><HR>"
if(istype(pages[page], /obj/item/paper))
var/obj/item/paper/P = W
if(!(ishuman(usr) || isobserver(usr) || issilicon(usr)))
if(!(ishuman(user) || isobserver(user) || issilicon(user)))
dat += "<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY>[stars(P.info)][P.stamps]</BODY></HTML>"
else
dat += "<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY>[P.info][P.stamps]</BODY></HTML>"
@@ -347,15 +347,15 @@ Book Cart End
+ "[P.scribble ? "<div> Written on the back:<br><i>[P.scribble]</i>" : null]"\
+ "</body></html>", "window=[name]")
else if(!isnull(pages[page]))
if(!(ishuman(usr) || isobserver(usr) || issilicon(usr)))
if(!(ishuman(user) || isobserver(user) || issilicon(user)))
dat += "<HTML><HEAD><TITLE>Page [page]</TITLE></HEAD><BODY>[stars(pages[page])]</BODY></HTML>"
else
dat += "<HTML><HEAD><TITLE>Page [page]</TITLE></HEAD><BODY>[pages[page]]</BODY></HTML>"
user << browse(dat, "window=[name]")
/obj/item/book/bundle/attack_self(mob/user as mob)
/obj/item/book/bundle/attack_self(mob/user)
src.show_content(user)
add_fingerprint(usr)
add_fingerprint(user)
update_icon()
return

View File

@@ -32,8 +32,8 @@
var/author
var/SQLquery
/obj/machinery/librarypubliccomp/attack_hand(var/mob/user as mob)
usr.set_machine(src)
/obj/machinery/librarypubliccomp/attack_hand(var/mob/user)
user.set_machine(src)
var/dat = "<html><HEAD><TITLE>Library Visitor</TITLE></HEAD><BODY>\n" // <META HTTP-EQUIV='Refresh' CONTENT='10'>
switch(screenstate)
if(0)
@@ -169,8 +169,8 @@
var/obj/item/book/M = new path(null)
all_books[M.title] = M
/obj/machinery/librarycomp/attack_hand(var/mob/user as mob)
usr.set_machine(src)
/obj/machinery/librarycomp/attack_hand(var/mob/user)
user.set_machine(src)
var/dat = "<HEAD><TITLE>Book Inventory Management</TITLE></HEAD><BODY>\n" // <META HTTP-EQUIV='Refresh' CONTENT='10'>
switch(screenstate)
if(0)
@@ -309,7 +309,7 @@
. = ..()
else
usr.set_machine(src)
user.set_machine(src)
var/dat = "<HEAD><TITLE>Book Inventory Management</TITLE></HEAD><BODY>\n" // <META HTTP-EQUIV='Refresh' CONTENT='10'>
dat += "<h3>ADMINISTRATIVE MANAGEMENT</h3>"
@@ -528,13 +528,13 @@
density = TRUE
var/obj/item/book/cache // Last scanned book
/obj/machinery/libraryscanner/attackby(var/obj/O as obj, var/mob/user as mob)
/obj/machinery/libraryscanner/attackby(var/obj/O, var/mob/user)
if(istype(O, /obj/item/book))
user.drop_item()
O.loc = src
/obj/machinery/libraryscanner/attack_hand(var/mob/user as mob)
usr.set_machine(src)
/obj/machinery/libraryscanner/attack_hand(var/mob/user)
user.set_machine(src)
var/dat = "<HEAD><TITLE>Scanner Control Interface</TITLE></HEAD><BODY>\n" // <META HTTP-EQUIV='Refresh' CONTENT='10'>
if(cache)
dat += span_darkgray("Data stored in memory.") + "<BR>"

View File

@@ -42,7 +42,7 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \
new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 0),
new/datum/stack_recipe("catwalk", /obj/structure/catwalk, 2, time = 80, one_per_turf = 1, on_floor = 1))
/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/stack/rods/attackby(obj/item/W, mob/user)
if(W.has_tool_quality(TOOL_WELDER))
var/obj/item/weldingtool/WT = W.get_welder()
@@ -51,8 +51,8 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \
return
if(WT.remove_fuel(0,user))
var/obj/item/stack/material/steel/new_item = new(usr.loc)
new_item.add_to_stacks(usr)
var/obj/item/stack/material/steel/new_item = new(user.loc)
new_item.add_to_stacks(user)
for (var/mob/M in viewers(src))
M.show_message(span_notice("[src] is shaped into metal by [user.name] with the weldingtool."), 3, span_notice("You hear welding."), 2)
var/obj/item/stack/rods/R = src
@@ -75,13 +75,13 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \
..()
/*
/obj/item/stack/rods/attack_self(mob/user as mob)
/obj/item/stack/rods/attack_self(mob/user)
src.add_fingerprint(user)
if(!istype(user.loc,/turf)) return 0
if (locate(/obj/structure/grille, usr.loc))
for(var/obj/structure/grille/G in usr.loc)
if (locate(/obj/structure/grille, user.loc))
for(var/obj/structure/grille/G in user.loc)
if (G.destroyed)
G.health = 10
G.density = TRUE
@@ -95,15 +95,15 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \
if(get_amount() < 2)
to_chat(user, span_warning("You need at least two rods to do this."))
return
to_chat(usr, span_notice("Assembling grille..."))
to_chat(user, span_notice("Assembling grille..."))
in_use = 1
if (!do_after(usr, 10))
if (!do_after(user, 10))
in_use = 0
return
var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc )
to_chat(usr, span_notice("You assemble a grille"))
var/obj/structure/grille/F = new /obj/structure/grille/ ( user.loc )
to_chat(user, span_notice("You assemble a grille"))
in_use = 0
F.add_fingerprint(usr)
F.add_fingerprint(user)
use(2)
return
*/

View File

@@ -162,5 +162,5 @@
name = "handmade blindfold"
desc = "A handmade blindfold that covers the eyes, preventing sight."
/obj/item/clothing/accessory/collar/craftable/attack_self(mob/living/user as mob)
given_name = sanitizeSafe(tgui_input_text(usr, "What would you like to label the collar?", "Collar Labelling", null, MAX_NAME_LEN), MAX_NAME_LEN)
/obj/item/clothing/accessory/collar/craftable/attack_self(mob/living/user)
given_name = sanitizeSafe(tgui_input_text(user, "What would you like to label the collar?", "Collar Labelling", null, MAX_NAME_LEN), MAX_NAME_LEN)

View File

@@ -62,7 +62,7 @@
if(QDELETED(src.media) || !istype(src.media))
to_chat(user, span_warning("You have no media datum to change, if you're not in the lobby tell an admin."))
return
var/value = input(usr, "Choose your Jukebox volume.", "Jukebox volume", media.volume)
var/value = input(user, "Choose your Jukebox volume.", "Jukebox volume", media.volume)
value = round(max(0, min(100, value)))
media.update_volume(value)

View File

@@ -230,7 +230,7 @@
if(!istype(L))
return
if(deployed_headpods)
to_chat(usr, span_warning("The HeadPods are already deployed!"))
to_chat(L, span_warning("The HeadPods are already deployed!"))
return
deployed_headpods = new ()
L.put_in_any_hand_if_possible(deployed_headpods)

View File

@@ -148,12 +148,12 @@
vorestation edit end */
/obj/structure/closet/crate/secure/loot/togglelock(mob/user as mob)
/obj/structure/closet/crate/secure/loot/togglelock(mob/user)
if(!locked)
return
to_chat(user, span_notice("The crate is locked with a Deca-code lock."))
var/input = tgui_input_text(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "")
var/input = tgui_input_text(user, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "")
if(!Adjacent(user))
return
var/list/sanitised = list()

View File

@@ -29,7 +29,7 @@ var/global/list/total_extraction_beacons = list()
else
var/A
A = tgui_input_list(usr, "Select a beacon to connect to", "Balloon Extraction Pack", possible_beacons)
A = tgui_input_list(user, "Select a beacon to connect to", "Balloon Extraction Pack", possible_beacons)
if(!A)
return

View File

@@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(unique_deployable)
. += "This capsule has an unknown template stored."
// CHOMPEdit Start
/obj/item/survivalcapsule/attack_self(mob/user as mob)
/obj/item/survivalcapsule/attack_self(mob/user)
//Can't grab when capsule is New() because templates aren't loaded then
if(istype(get_area(user), /area/vr))
to_chat(user, span_danger("\The [src] does not appear to work in VR! This is useless to you!"))
@@ -95,7 +95,7 @@ GLOBAL_LIST_EMPTY(unique_deployable)
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
log_and_message_admins("activated a bluespace capsule at [get_area(T)]!", usr)
log_and_message_admins("activated a bluespace capsule at [get_area(T)]!", user)
if(above_location)
template.add_roof(above_location)
template.annihilate_plants(deploy_location)

View File

@@ -11,7 +11,7 @@ var/global/list/prevent_respawns = list()
set category = "OOC.Game"
set desc = "Free your job slot, remove yourself from the manifest, and prevent respawning as this character for this round."
var/confirm = tgui_alert(usr, "This will free up your job slot, remove you from the manifest, and allow you to respawn as this character. You can rejoin as another \
var/confirm = tgui_alert(src, "This will free up your job slot, remove you from the manifest, and allow you to respawn as this character. You can rejoin as another \
character if you like. Do this now?","Quit This Round",list("Quit Round","Cancel"))
if(confirm != "Quit Round")
return

View File

@@ -274,9 +274,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/turf/location = get_turf(src)
var/special_role = check_special_role()
if(!istype(loc,/obj/machinery/cryopod))
log_and_message_admins("has ghosted outside cryo[special_role ? " as [special_role]" : ""]. (<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[location.x];Y=[location.y];Z=[location.z]'>JMP</a>)",usr)
log_and_message_admins("has ghosted outside cryo[special_role ? " as [special_role]" : ""]. (<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[location.x];Y=[location.y];Z=[location.z]'>JMP</a>)",src)
else if(special_role)
log_and_message_admins("has ghosted in cryo as [special_role]. (<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[location.x];Y=[location.y];Z=[location.z]'>JMP</a>)",usr)
log_and_message_admins("has ghosted in cryo as [special_role]. (<A href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[location.x];Y=[location.y];Z=[location.z]'>JMP</a>)",src)
var/mob/observer/dead/ghost = ghostize(0) // 0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3
if(ghost)
ghost.timeofdeath = world.time // Because the living mob won't have a time of death and we want the respawn timer to work properly.
@@ -302,11 +302,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
to_chat(src, span_warning("You have no body."))
return
if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients
to_chat(usr, span_warning("Another consciousness is in your body... it is resisting you."))
to_chat(src, span_warning("Another consciousness is in your body... it is resisting you."))
return
//VOREStation Add
if(prevent_respawns.Find(mind.name))
to_chat(usr, span_warning("You already quit this round as this character, sorry!"))
to_chat(src, span_warning("You already quit this round as this character, sorry!"))
return
//VOREStation Add End
if(mind.current.ajourn && mind.current.stat != DEAD) //check if the corpse is astral-journeying (it's client ghosted using a cultist rune).
@@ -316,7 +316,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
found_rune = 1
break
if(!found_rune)
to_chat(usr, span_warning("The astral cord that ties your body and your spirit has been severed. You are likely to wander the realm beyond until your body is finally dead and thus reunited with you."))
to_chat(src, span_warning("The astral cord that ties your body and your spirit has been severed. You are likely to wander the realm beyond until your body is finally dead and thus reunited with you."))
return
mind.current.ajourn=0
mind.current.key = key
@@ -412,8 +412,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost.Game"
set desc = "Teleport to a location."
if(!isobserver(usr))
to_chat(usr, span_filter_notice("Not when you're not dead!"))
if(!isobserver(src))
to_chat(src, span_filter_notice("Not when you're not dead!"))
return
var/area/A
@@ -421,39 +421,39 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(areaname)
A = return_sorted_areas()[areaname]
else
A = return_sorted_areas()[tgui_input_list(usr, "Select an area:", "Ghost Teleport", jumpable_areas())]
A = return_sorted_areas()[tgui_input_list(src, "Select an area:", "Ghost Teleport", jumpable_areas())]
if(!A)
return
if(!isobserver(usr))
to_chat(usr, "Not when you're not dead!")
if(!isobserver(src))
to_chat(src, "Not when you're not dead!")
return
usr.forceMove(pick(get_area_turfs(A)))
usr.on_mob_jump()
src.forceMove(pick(get_area_turfs(A)))
src.on_mob_jump()
/mob/observer/dead/verb/follow(mobname as anything in jumpable_mobs())
set name = "Follow"
set category = "Ghost.Game"
set desc = "Follow and haunt a mob."
if(!isobserver(usr))
to_chat(usr, "Not when you're not dead!")
if(!isobserver(src))
to_chat(src, "Not when you're not dead!")
return
var/mob/M
if(!mobname)
var/list/possible_mobs = jumpable_mobs()
var/input = tgui_input_list(usr, "Select a mob:", "Ghost Follow", possible_mobs)
var/input = tgui_input_list(src, "Select a mob:", "Ghost Follow", possible_mobs)
if(!input)
return
M = possible_mobs[input]
if(!M)
return
if(!isobserver(usr))
to_chat(usr, "Not when you're not dead!")
if(!isobserver(src))
to_chat(src, "Not when you're not dead!")
return
ManualFollow(M || jumpable_mobs()[mobname])
@@ -497,7 +497,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/turf/targetloc = get_turf(target)
if(check_holy(targetloc))
to_chat(usr, span_warning("You cannot follow a mob standing on holy grounds!"))
to_chat(src, span_warning("You cannot follow a mob standing on holy grounds!"))
return
if(get_z(target) in using_map?.secret_levels)
to_chat(src, span_warning("Sorry, that target is in an area that ghosts aren't allowed to go."))
@@ -512,7 +512,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(ismob(target))
var/target_turf = get_turf(target)
if(!target_turf)
to_chat(usr, span_warning("This mob does not seem to exist in the tangible world."))
to_chat(src, span_warning("This mob does not seem to exist in the tangible world."))
return
forceMove(target_turf)
var/mob/M = target
@@ -629,11 +629,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set desc = "Teleport to a mob"
set popup_menu = FALSE
if(!isobserver(usr)) //Make sure they're an observer!
if(!isobserver(src)) //Make sure they're an observer!
return
var/list/possible_mobs = jumpable_mobs()
var/input = tgui_input_list(usr, "Select a mob:", "Ghost Jump", possible_mobs)
var/input = tgui_input_list(src, "Select a mob:", "Ghost Jump", possible_mobs)
if(!input)
return
@@ -665,13 +665,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set name = "Analyze Air"
set category = "Ghost.Game"
if(!isobserver(usr)) return
if(!isobserver(src)) return
// Shamelessly copied from the Gas Analyzers
if (!( istype(usr.loc, /turf) ))
if (!( istype(src.loc, /turf) ))
return
var/datum/gas_mixture/environment = usr.loc.return_air()
var/datum/gas_mixture/environment = src.loc.return_air()
var/pressure = environment.return_pressure()
var/total_moles = environment.total_moles
@@ -828,7 +828,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/max_length = 50
var/message = sanitize(tgui_input_text(usr, "Write a message. It cannot be longer than [max_length] characters.","Blood writing", "", max_length))
var/message = sanitize(tgui_input_text(src, "Write a message. It cannot be longer than [max_length] characters.","Blood writing", "", max_length))
if (message)
@@ -848,7 +848,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/observer/dead/pointed(atom/A as mob|obj|turf in view())
if(!..())
return 0
usr.visible_message(span_deadsay(span_bold("[src]") + " points to [A]."))
src.visible_message(span_deadsay(span_bold("[src]") + " points to [A]."))
return 1
*/
@@ -1031,7 +1031,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/finalized = "No"
while(finalized == "No" && src.client)
choice = tgui_input_list(usr, "What would you like to use for your ghost sprite?", "Ghost Sprite", possible_ghost_sprites)
choice = tgui_input_list(src, "What would you like to use for your ghost sprite?", "Ghost Sprite", possible_ghost_sprites)
if(!choice)
return
@@ -1063,21 +1063,21 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/time_till_respawn = time_till_respawn()
if(time_till_respawn == -1) // Special case, never allowed to respawn
to_chat(usr, span_warning("Respawning is not allowed!"))
to_chat(src, span_warning("Respawning is not allowed!"))
else if(time_till_respawn) // Nonzero time to respawn
to_chat(usr, span_warning("You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes."))
to_chat(src, span_warning("You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes."))
return
if(jobban_isbanned(usr, "pAI"))
to_chat(usr,span_warning("You cannot alert pAI cards when you are banned from playing as a pAI."))
if(jobban_isbanned(src, "pAI"))
to_chat(src,span_warning("You cannot alert pAI cards when you are banned from playing as a pAI."))
return
if(usr.client.prefs?.be_special & BE_PAI)
var/choice = tgui_alert(usr, "Would you like to submit yourself to the recruitment list too?", "Confirmation", list("No", "Yes"))
if(src.client.prefs?.be_special & BE_PAI)
var/choice = tgui_alert(src, "Would you like to submit yourself to the recruitment list too?", "Confirmation", list("No", "Yes"))
if(!choice)
return
if(choice == "Yes")
paiController.recruitWindow(usr)
paiController.recruitWindow(src)
var/count = 0
for(var/obj/item/paicard/p in GLOB.all_pai_cards)
var/obj/item/paicard/PP = p
@@ -1087,9 +1087,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
PP.alertUpdate()
spawn(54)
PP.cut_overlays()
to_chat(usr,span_notice("Flashing the displays of [count] unoccupied PAIs."))
to_chat(src,span_notice("Flashing the displays of [count] unoccupied PAIs."))
else
to_chat(usr,span_warning("You have 'Be pAI' disabled in your character prefs, so we can't help you."))
to_chat(src,span_warning("You have 'Be pAI' disabled in your character prefs, so we can't help you."))
/mob/observer/dead/speech_bubble_appearance()
return "ghost"

View File

@@ -3,7 +3,7 @@
set name = "Join Into Soulcatcher"
set desc = "Select a player with a working NIF + Soulcatcher NIFSoft to join into it."
var/picked = tgui_input_list(usr, "Pick a friend with NIF and Soulcatcher to join into. Harrass strangers, get banned. Not everyone has a NIF w/ Soulcatcher.","Select a player", player_list)
var/picked = tgui_input_list(src, "Pick a friend with NIF and Soulcatcher to join into. Harrass strangers, get banned. Not everyone has a NIF w/ Soulcatcher.","Select a player", player_list)
//Didn't pick anyone or picked a null
if(!picked)
@@ -110,10 +110,10 @@
set desc = "Find an active ghost pod"
set popup_menu = FALSE
if(!isobserver(usr)) //Make sure they're an observer!
if(!isobserver(src)) //Make sure they're an observer!
return
var/input = tgui_input_list(usr, "Select a ghost pod:", "Ghost Jump", observe_list_format(active_ghost_pods))
var/input = tgui_input_list(src, "Select a ghost pod:", "Ghost Jump", observe_list_format(active_ghost_pods))
if(!input)
to_chat(src, span_filter_notice("No active ghost pods detected."))
return
@@ -137,7 +137,7 @@
set desc = "Find a Auto Resleever"
set popup_menu = FALSE
if(!isobserver(usr)) //Make sure they're an observer!
if(!isobserver(src)) //Make sure they're an observer!
return
var/list/ar = list()

View File

@@ -65,12 +65,12 @@
item_state = "buildpipe"
created_name = "SL-ED-209 Security Robot"
/obj/item/secbot_assembly/ed209_assembly/slime/attackby(var/obj/item/W as obj, var/mob/user as mob) // Here in the event it's added into a PoI or some such. Standard construction relies on the standard ED up until taser.
/obj/item/secbot_assembly/ed209_assembly/slime/attackby(var/obj/item/W, var/mob/user) // Here in the event it's added into a PoI or some such. Standard construction relies on the standard ED up until taser.
if(istype(W, /obj/item/pen))
var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN)
if(!t)
return
if(!in_range(src, usr) && src.loc != usr)
if(!in_range(src, user) && src.loc != user)
return
created_name = t
return

View File

@@ -83,14 +83,14 @@
created_name = "ED-209 Security Robot"
var/lasercolor = ""
/obj/item/secbot_assembly/ed209_assembly/attackby(var/obj/item/W as obj, var/mob/user as mob)
/obj/item/secbot_assembly/ed209_assembly/attackby(var/obj/item/W, var/mob/user)
..()
if(istype(W, /obj/item/pen))
var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", name, created_name, MAX_NAME_LEN), MAX_NAME_LEN)
if(!t)
return
if(!in_range(src, usr) && src.loc != usr)
if(!in_range(src, user) && src.loc != user)
return
created_name = t
return

View File

@@ -18,7 +18,7 @@
to_chat(src, span_warning("You don't have anything in your hands to give to \the [target]."))
return
usr.visible_message(span_notice("\The [usr] holds out \the [I] to \the [target]."), span_notice("You hold out \the [I] to \the [target], waiting for them to accept it."))
src.visible_message(span_notice("\The [src] holds out \the [I] to \the [target]."), span_notice("You hold out \the [I] to \the [target], waiting for them to accept it."))
if(tgui_alert(target,"[src] wants to give you \a [I]. Will you accept it?","Item Offer",list("Yes","No")) != "Yes")
target.visible_message(span_notice("\The [src] tried to hand \the [I] to \the [target], but \the [target] didn't want it."))

View File

@@ -365,7 +365,7 @@ var/list/_simple_mob_default_emotes = list(
var/datum/gender/T = gender_datums[get_visible_gender()]
pose = strip_html_simple(tgui_input_text(usr, "This is [src]. [T.he]...", "Pose", null))
pose = strip_html_simple(tgui_input_text(src, "This is [src]. [T.he]...", "Pose", null))
/mob/living/carbon/human/verb/set_flavor()
set name = "Set Flavour Text"

View File

@@ -36,7 +36,7 @@
set name = "Set Gender Identity"
set desc = "Sets the pronouns when examined and performing an emote."
set category = "IC.Settings"
var/new_gender_identity = tgui_input_list(usr, "Please select a gender Identity:", "Set Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM))
var/new_gender_identity = tgui_input_list(src, "Please select a gender Identity:", "Set Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM))
if(!new_gender_identity)
return 0
change_gender_identity(new_gender_identity)

View File

@@ -299,7 +299,7 @@
if((stat == 2 || src.losebreath) && get_dist(user, src) <= 3)
msg += span_warning("[T.He] [T.does] not appear to be breathing.")
if(ishuman(user) && !user.stat && Adjacent(user))
user.visible_message(span_infoplain(span_bold("[usr]") + " checks [src]'s pulse."), span_infoplain("You check [src]'s pulse."))
user.visible_message(span_infoplain(span_bold("[user]") + " checks [src]'s pulse."), span_infoplain("You check [src]'s pulse."))
spawn(15)
if(isobserver(user) || (Adjacent(user) && !user.stat)) // If you're a corpse then you can't exactly check their pulse, but ghosts can see anything
if(pulse == PULSE_NONE)

View File

@@ -884,19 +884,19 @@
remove_verb(src, /mob/living/carbon/human/proc/morph)
return
var/new_facial = input(usr, "Please select facial hair color.", "Character Generation",rgb(r_facial,g_facial,b_facial)) as color
var/new_facial = input(src, "Please select facial hair color.", "Character Generation",rgb(r_facial,g_facial,b_facial)) as color
if(new_facial)
r_facial = hex2num(copytext(new_facial, 2, 4))
g_facial = hex2num(copytext(new_facial, 4, 6))
b_facial = hex2num(copytext(new_facial, 6, 8))
var/new_hair = input(usr, "Please select hair color.", "Character Generation",rgb(r_hair,g_hair,b_hair)) as color
var/new_hair = input(src, "Please select hair color.", "Character Generation",rgb(r_hair,g_hair,b_hair)) as color
if(new_facial)
r_hair = hex2num(copytext(new_hair, 2, 4))
g_hair = hex2num(copytext(new_hair, 4, 6))
b_hair = hex2num(copytext(new_hair, 6, 8))
var/new_eyes = input(usr, "Please select eye color.", "Character Generation",rgb(r_eyes,g_eyes,b_eyes)) as color
var/new_eyes = input(src, "Please select eye color.", "Character Generation",rgb(r_eyes,g_eyes,b_eyes)) as color
if(new_eyes)
r_eyes = hex2num(copytext(new_eyes, 2, 4))
g_eyes = hex2num(copytext(new_eyes, 4, 6))
@@ -913,7 +913,7 @@
hairs.Add(H.name) // add hair name to hairs
qdel(H) // delete the hair after it's all done
var/new_style = tgui_input_list(usr, "Please select hair style", "Character Generation", hairs)
var/new_style = tgui_input_list(src, "Please select hair style", "Character Generation", hairs)
// if new style selected (not cancel)
if (new_style)
@@ -928,12 +928,12 @@
fhairs.Add(H.name)
qdel(H)
new_style = tgui_input_list(usr, "Please select facial style", "Character Generation", fhairs)
new_style = tgui_input_list(src, "Please select facial style", "Character Generation", fhairs)
if(new_style)
f_style = new_style
var/new_gender = tgui_alert(usr, "Please select gender.", "Character Generation", list("Male", "Female", "Neutral"))
var/new_gender = tgui_alert(src, "Please select gender.", "Character Generation", list("Male", "Female", "Neutral"))
if (new_gender)
if(new_gender == "Male")
gender = MALE
@@ -961,16 +961,16 @@
var/list/creatures = list()
for(var/mob/living/carbon/h in mob_list)
creatures += h
var/mob/target = tgui_input_list(usr, "Who do you want to project your mind to?", "Project Mind", creatures)
var/mob/target = tgui_input_list(src, "Who do you want to project your mind to?", "Project Mind", creatures)
if (isnull(target))
return
var/say = sanitize(tgui_input_text(usr, "What do you wish to say?"))
var/say = sanitize(tgui_input_text(src, "What do you wish to say?"))
if(mRemotetalk in target.mutations)
target.show_message(span_filter_say("[span_blue("You hear [src.real_name]'s voice: [say]")]"))
else
target.show_message(span_filter_say("[span_blue("You hear a voice that seems to echo around the room: [say]")]"))
usr.show_message(span_filter_say("[span_blue("You project your mind into [target.real_name]: [say]")]"))
src.show_message(span_filter_say("[span_blue("You project your mind into [target.real_name]: [say]")]"))
log_say("(TPATH to [key_name(target)]) [say]",src)
for(var/mob/observer/dead/G in mob_list)
G.show_message(span_filter_say(span_italics("Telepathic message from " + span_bold("[src]") + " to " + span_bold("[target]") + ": [say]")))
@@ -1079,7 +1079,7 @@
set name = "sim"
set background = 1
var/damage = input(usr, "Wound damage","Wound damage") as num
var/damage = input(src, "Wound damage","Wound damage") as num
var/germs = 0
var/tdamage = 0
@@ -1375,7 +1375,7 @@
var/max_length = bloody_hands * 30 //tweeter style
var/message = sanitize(tgui_input_text(usr, "Write a message. It cannot be longer than [max_length] characters.","Blood writing", ""))
var/message = sanitize(tgui_input_text(src, "Write a message. It cannot be longer than [max_length] characters.","Blood writing", ""))
if (message)
var/used_blood_amount = round(length(message) / 30, 1)

View File

@@ -187,7 +187,7 @@
if(!length(detachable_limbs))
to_chat(src, span_warning("You have no detachable limbs."))
return FALSE
var/obj/item/organ/external/E = tgui_input_list(usr, "Which limb do you wish to detach?", "Limb Removal", detachable_limbs)
var/obj/item/organ/external/E = tgui_input_list(src, "Which limb do you wish to detach?", "Limb Removal", detachable_limbs)
if(!check_can_detach_modular_limb(E))
return FALSE
if(!do_after(src, 2 SECONDS, src))

View File

@@ -22,7 +22,7 @@
var/datum/sprite_accessory/hair/test = hair_styles_list[hair_string]
if(test.flags & HAIR_TIEABLE)
valid_hairstyles.Add(hair_string)
selected_string = tgui_input_list(usr, "Select a new hairstyle", "Your hairstyle", valid_hairstyles)
selected_string = tgui_input_list(src, "Select a new hairstyle", "Your hairstyle", valid_hairstyles)
if(incapacitated())
to_chat(src, span_warning("You can't mess with your hair right now!"))
return
@@ -90,11 +90,11 @@
var/text = null
targets += getmobs() //Fill list, prompt user with list
target = tgui_input_list(usr, "Select a creature!", "Speak to creature", targets)
target = tgui_input_list(src, "Select a creature!", "Speak to creature", targets)
if(!target) return
text = tgui_input_text(usr, "What would you like to say?", "Speak to creature", null, MAX_MESSAGE_LEN)
text = tgui_input_text(src, "What would you like to say?", "Speak to creature", null, MAX_MESSAGE_LEN)
text = sanitize(text, MAX_MESSAGE_LEN)
@@ -134,7 +134,7 @@
set desc = "Whisper silently to someone over a distance."
set category = "Abilities.General"
var/msg = sanitize(tgui_input_text(usr, "Message:", "Psychic Whisper"))
var/msg = sanitize(tgui_input_text(src, "Message:", "Psychic Whisper"))
if(msg)
log_say("(PWHISPER to [key_name(M)]) [msg]", src)
to_chat(M, span_filter_say("[span_green("You hear a strange, alien voice in your head... <i>[msg]</i>")]"))
@@ -370,7 +370,7 @@
var/list/states
if(!states)
states = params2list(robohead.monitor_styles)
var/choice = tgui_input_list(usr, "Select a screen icon:", "Screen Icon Choice", states)
var/choice = tgui_input_list(src, "Select a screen icon:", "Screen Icon Choice", states)
if(choice)
E.eye_icon_location = robohead.monitor_icon
E.eye_icon = states[choice]

View File

@@ -47,7 +47,7 @@
last_special = world.time + 50
var/new_species = null
new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", species.get_valid_shapeshifter_forms(src))
new_species = tgui_input_list(src, "Please select a species to emulate.", "Shapeshifter Body", species.get_valid_shapeshifter_forms(src))
if(!new_species || !GLOB.all_species[new_species] || wrapped_species_by_ref["\ref[src]"] == new_species)
return
@@ -73,7 +73,7 @@
last_special = world.time + 50
var/new_skin = input(usr, "Please select a new body color.", "Shapeshifter Colour", rgb(r_skin, g_skin, b_skin)) as null|color
var/new_skin = input(src, "Please select a new body color.", "Shapeshifter Colour", rgb(r_skin, g_skin, b_skin)) as null|color
if(!new_skin)
return
lleill_set_colour(new_skin)
@@ -142,13 +142,13 @@
return
else
visible_message(span_infoplain(span_bold("\The [src]") + " begins to change the form of \the [I]."))
if(!do_after(usr, 10 SECONDS, I, exclusive = TASK_USER_EXCLUSIVE))
if(!do_after(src, 10 SECONDS, I, exclusive = TASK_USER_EXCLUSIVE))
visible_message(span_infoplain(span_bold("\The [src]") + " leaves \the [I] in its original form."))
return 0
visible_message(span_infoplain(span_bold("\The [src]") + " transmutes \the [I] into \the [transmute_product.name]."))
drop_item(I)
qdel(I)
var/spawnloc = get_turf(usr)
var/spawnloc = get_turf(src)
var/obj/item/N = new transmute_product(spawnloc)
put_in_active_hand(N)
species.lleill_energy -= energy_cost
@@ -361,13 +361,13 @@
return
else
visible_message(span_infoplain(span_bold("\The [src]") + " begins to change the form of \the [I]."))
if(!do_after(usr, 10 SECONDS, I, exclusive = TASK_USER_EXCLUSIVE))
if(!do_after(src, 10 SECONDS, I, exclusive = TASK_USER_EXCLUSIVE))
visible_message(span_infoplain(span_bold("\The [src]") + " leaves \the [I] in its original form."))
return 0
visible_message(span_infoplain(span_bold("\The [src]") + " transmutes \the [I] into \the [transmute_product.name]."))
drop_item(I)
qdel(I)
var/spawnloc = get_turf(usr)
var/spawnloc = get_turf(src)
var/obj/item/N = new transmute_product(spawnloc)
put_in_active_hand(N)
species.lleill_energy -= energy_cost

View File

@@ -111,13 +111,13 @@ var/list/wrapped_species_by_ref = list()
visible_message(span_notice("\The [src]'s form contorts subtly."))
if(valid_hairstyles.len)
var/new_hair = tgui_input_list(usr, "Select a hairstyle.", "Shapeshifter Hair", valid_hairstyles)
var/new_hair = tgui_input_list(src, "Select a hairstyle.", "Shapeshifter Hair", valid_hairstyles)
change_hair(new_hair ? new_hair : "Bald")
if(valid_gradstyles.len)
var/new_hair = tgui_input_list(usr, "Select a hair gradient style.", "Shapeshifter Hair", valid_gradstyles)
var/new_hair = tgui_input_list(src, "Select a hair gradient style.", "Shapeshifter Hair", valid_gradstyles)
change_hair_gradient(new_hair ? new_hair : "None")
if(valid_facialhairstyles.len)
var/new_hair = tgui_input_list(usr, "Select a facial hair style.", "Shapeshifter Hair", valid_facialhairstyles)
var/new_hair = tgui_input_list(src, "Select a facial hair style.", "Shapeshifter Hair", valid_facialhairstyles)
change_facial_hair(new_hair ? new_hair : "Shaved")
/mob/living/carbon/human/proc/shapeshifter_select_gender()
@@ -130,11 +130,11 @@ var/list/wrapped_species_by_ref = list()
last_special = world.time + 50
var/new_gender = tgui_input_list(usr, "Please select a gender.", "Shapeshifter Gender", list(FEMALE, MALE, NEUTER, PLURAL))
var/new_gender = tgui_input_list(src, "Please select a gender.", "Shapeshifter Gender", list(FEMALE, MALE, NEUTER, PLURAL))
if(!new_gender)
return
var/new_gender_identity = tgui_input_list(usr, "Please select a gender Identity.", "Shapeshifter Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM)) //VOREStation Edit
var/new_gender_identity = tgui_input_list(src, "Please select a gender Identity.", "Shapeshifter Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM)) //VOREStation Edit
if(!new_gender_identity)
return
@@ -153,7 +153,7 @@ var/list/wrapped_species_by_ref = list()
last_special = world.time + 50
var/new_species = null
new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", species.get_valid_shapeshifter_forms(src))
new_species = tgui_input_list(src, "Please select a species to emulate.", "Shapeshifter Body", species.get_valid_shapeshifter_forms(src))
if(!new_species || !GLOB.all_species[new_species] || wrapped_species_by_ref["\ref[src]"] == new_species)
return
@@ -179,7 +179,7 @@ var/list/wrapped_species_by_ref = list()
last_special = world.time + 50
var/new_skin = input(usr, "Please select a new body color.", "Shapeshifter Colour", rgb(r_skin, g_skin, b_skin)) as null|color
var/new_skin = input(src, "Please select a new body color.", "Shapeshifter Colour", rgb(r_skin, g_skin, b_skin)) as null|color
if(!new_skin)
return
shapeshifter_set_colour(new_skin)
@@ -217,15 +217,15 @@ var/list/wrapped_species_by_ref = list()
last_special = world.time + 50
var/new_hair = input(usr, "Please select a new hair color.", "Hair Colour") as color
var/new_hair = input(src, "Please select a new hair color.", "Hair Colour") as color
if(!new_hair)
return
shapeshifter_set_hair_color(new_hair)
var/new_grad = input(usr, "Please select a new hair gradient color.", "Hair Gradient Colour") as color
var/new_grad = input(src, "Please select a new hair gradient color.", "Hair Gradient Colour") as color
if(!new_grad)
return
shapeshifter_set_grad_color(new_grad)
var/new_fhair = input(usr, "Please select a new facial hair color.", "Facial Hair Color") as color
var/new_fhair = input(src, "Please select a new facial hair color.", "Facial Hair Color") as color
if(!new_fhair)
return
shapeshifter_set_facial_color(new_fhair)
@@ -317,7 +317,7 @@ var/list/wrapped_species_by_ref = list()
last_special = world.time + 50
var/current_color = rgb(r_eyes,g_eyes,b_eyes)
var/new_eyes = input(usr, "Pick a new color for your eyes.","Eye Color", current_color) as null|color
var/new_eyes = input(src, "Pick a new color for your eyes.","Eye Color", current_color) as null|color
if(!new_eyes)
return

View File

@@ -28,7 +28,7 @@
//Allow color picks
var/current_pri_color = rgb(r_ears,g_ears,b_ears)
var/new_pri_color = input(usr, "Pick primary ear color:","Ear Color (Pri)", current_pri_color) as null|color
var/new_pri_color = input(src, "Pick primary ear color:","Ear Color (Pri)", current_pri_color) as null|color
if(new_pri_color)
var/list/new_color_rgb_list = hex2rgb(new_pri_color)
r_ears = new_color_rgb_list[1]
@@ -38,7 +38,7 @@
//Indented inside positive primary color choice, don't bother if they clicked cancel
var/current_sec_color = rgb(r_ears2,g_ears2,b_ears2)
var/new_sec_color = input(usr, "Pick secondary ear color (only applies to some ears):","Ear Color (sec)", current_sec_color) as null|color
var/new_sec_color = input(src, "Pick secondary ear color (only applies to some ears):","Ear Color (sec)", current_sec_color) as null|color
if(new_sec_color)
new_color_rgb_list = hex2rgb(new_sec_color)
r_ears2 = new_color_rgb_list[1]
@@ -47,7 +47,7 @@
var/current_ter_color = rgb(r_ears3,g_ears3,b_ears3)
var/new_ter_color = input(usr, "Pick tertiary ear color (only applies to some ears):","Ear Color (sec)", current_ter_color) as null|color
var/new_ter_color = input(src, "Pick tertiary ear color (only applies to some ears):","Ear Color (sec)", current_ter_color) as null|color
if(new_ter_color)
new_color_rgb_list = hex2rgb(new_sec_color)
r_ears3 = new_color_rgb_list[1]
@@ -83,7 +83,7 @@
for(var/channel in 1 to ear_secondary_style.get_color_channel_count())
var/channel_name = GLOB.fancy_sprite_accessory_color_channel_names[channel]
var/default = LAZYACCESS(ear_secondary_colors, channel) || "#ffffff"
var/new_color = tgui_color_picker(usr, "Pick [channel_name]", "Ear Color ([channel_name])", default)
var/new_color = tgui_color_picker(src, "Pick [channel_name]", "Ear Color ([channel_name])", default)
new_colors += new_color || default
update_hair()
@@ -114,7 +114,7 @@
//Allow color picks
var/current_pri_color = rgb(r_tail,g_tail,b_tail)
var/new_pri_color = input(usr, "Pick primary tail color:","Tail Color (Pri)", current_pri_color) as null|color
var/new_pri_color = input(src, "Pick primary tail color:","Tail Color (Pri)", current_pri_color) as null|color
if(new_pri_color)
var/list/new_color_rgb_list = hex2rgb(new_pri_color)
r_tail = new_color_rgb_list[1]
@@ -124,7 +124,7 @@
//Indented inside positive primary color choice, don't bother if they clicked cancel
var/current_sec_color = rgb(r_tail2,g_tail2,b_tail2)
var/new_sec_color = input(usr, "Pick secondary tail color (only applies to some tails):","Tail Color (sec)", current_sec_color) as null|color
var/new_sec_color = input(src, "Pick secondary tail color (only applies to some tails):","Tail Color (sec)", current_sec_color) as null|color
if(new_sec_color)
new_color_rgb_list = hex2rgb(new_sec_color)
r_tail2 = new_color_rgb_list[1]
@@ -133,7 +133,7 @@
var/current_ter_color = rgb(r_tail3,g_tail3,b_tail3)
var/new_ter_color = input(usr, "Pick tertiary tail color (only applies to some tails):","Tail Color (sec)", current_ter_color) as null|color
var/new_ter_color = input(src, "Pick tertiary tail color (only applies to some tails):","Tail Color (sec)", current_ter_color) as null|color
if(new_ter_color)
new_color_rgb_list = hex2rgb(new_ter_color)
r_tail3 = new_color_rgb_list[1]
@@ -168,7 +168,7 @@
//Allow color picks
var/current_color = rgb(r_wing,g_wing,b_wing)
var/new_color = input(usr, "Pick wing color:","Wing Color", current_color) as null|color
var/new_color = input(src, "Pick wing color:","Wing Color", current_color) as null|color
if(new_color)
var/list/new_color_rgb_list = hex2rgb(new_color)
r_wing = new_color_rgb_list[1]
@@ -178,7 +178,7 @@
//Indented inside positive primary color choice, don't bother if they clicked cancel
var/current_sec_color = rgb(r_wing2,g_wing2,b_wing2)
var/new_sec_color = input(usr, "Pick secondary wing color (only applies to some wings):","Wing Color (sec)", current_sec_color) as null|color
var/new_sec_color = input(src, "Pick secondary wing color (only applies to some wings):","Wing Color (sec)", current_sec_color) as null|color
if(new_sec_color)
new_color_rgb_list = hex2rgb(new_sec_color)
r_wing2 = new_color_rgb_list[1]
@@ -187,7 +187,7 @@
var/current_ter_color = rgb(r_wing3,g_wing3,b_wing3)
var/new_ter_color = input(usr, "Pick tertiary wing color (only applies to some wings):","Wing Color (sec)", current_ter_color) as null|color
var/new_ter_color = input(src, "Pick tertiary wing color (only applies to some wings):","Wing Color (sec)", current_ter_color) as null|color
if(new_ter_color)
new_color_rgb_list = hex2rgb(new_ter_color)
r_wing3 = new_color_rgb_list[1]

View File

@@ -235,7 +235,7 @@
default_worn_icon = 'icons/mob/spacesuit.dmi'
//Copy pasted most of this proc from base because I don't feel like rewriting the base proc with a shit load of exceptions
/obj/item/rig/protean/attackby(obj/item/W as obj, mob/living/user as mob)
/obj/item/rig/protean/attackby(obj/item/W, mob/living/user)
if(!istype(user))
return 0
if(dead)
@@ -339,7 +339,7 @@
to_chat(user, "There are no installed modules to remove.")
return
var/removal_choice = tgui_input_list(usr, "Which module would you like to remove?", "Removal Choice", possible_removals)
var/removal_choice = tgui_input_list(user, "Which module would you like to remove?", "Removal Choice", possible_removals)
if(!removal_choice)
return

View File

@@ -87,7 +87,7 @@ So here it sits, snowflake code for a single item.
return data
/*
/obj/item/rig/protean/tgui_act(action, params)
/obj/item/rig/protean/tgui_act(action, params, datum/tgui/ui)
switch(action)
if("toggle_seals")
toggle_seals(wearer)
@@ -96,7 +96,7 @@ So here it sits, snowflake code for a single item.
toggle_cooling(wearer)
. = TRUE
if("toggle_ai_control")
to_chat(usr, span_notice("Proteans cannot be AI controlled."))
to_chat(ui.user, span_notice("Proteans cannot be AI controlled."))
. = TRUE
if("toggle_suit_lock")
locked = !locked

View File

@@ -36,7 +36,7 @@ TGUI frontend path: tgui\packages\tgui\interfaces\TraitTutorial.tsx
var/list/list_of_traits = species.traits
if(!LAZYLEN(list_of_traits)) //Although we shouldn't show up if no traits, leaving this in case someone loses theirs after (re)spawning.
to_chat(usr, span_notice("You do not have any custom traits!"))
to_chat(src, span_notice("You do not have any custom traits!"))
return //Dont want an empty TGUI panel and list by accident after all.
@@ -64,13 +64,13 @@ TGUI frontend path: tgui\packages\tgui\interfaces\TraitTutorial.tsx
if(UI_choice == "To Chat")
var/to_chat_choice = tgui_input_list(usr, "Please choose the trait to be explained", "Print to Chat", trait_names, null)
var/to_chat_choice = tgui_input_list(src, "Please choose the trait to be explained", "Print to Chat", trait_names, null)
if(to_chat_choice)
to_chat(usr,span_notice(span_bold("Name:") + " [to_chat_choice] \n " + span_bold("Category:") + " [trait_category[to_chat_choice]] \n " + span_bold("Description:") + " [trait_desc[to_chat_choice]] \n \
to_chat(src,span_notice(span_bold("Name:") + " [to_chat_choice] \n " + span_bold("Category:") + " [trait_category[to_chat_choice]] \n " + span_bold("Description:") + " [trait_desc[to_chat_choice]] \n \
" + span_bold("Guide:") + " \n [trait_tutorial[to_chat_choice]]"))
else if(UI_choice == "TGUI")
fancy_UI.set_vars(trait_names, trait_category, trait_desc, trait_tutorial)
fancy_UI.tgui_interact(usr)
fancy_UI.tgui_interact(src)

View File

@@ -67,7 +67,7 @@
to_chat(src, span_alium("Their plasma vessel is missing."))
return
var/amount = tgui_input_number(usr, "Amount:", "Transfer Plasma to [M]")
var/amount = tgui_input_number(src, "Amount:", "Transfer Plasma to [M]")
if (amount)
amount = abs(round(amount))
if(check_alien_ability(amount,0,O_PLASMA))

View File

@@ -112,10 +112,10 @@
set name = "Succumb to death"
set category = "IC.Game"
set desc = "Press this button if you are in crit and wish to die. Use this sparingly (ending a scene, no medical, etc.)"
var/confirm1 = tgui_alert(usr, "Pressing this button will kill you instantenously! Are you sure you wish to proceed?", "Confirm wish to succumb", list("No","Yes"))
var/confirm1 = tgui_alert(src, "Pressing this button will kill you instantenously! Are you sure you wish to proceed?", "Confirm wish to succumb", list("No","Yes"))
var/confirm2 = "No"
if(confirm1 == "Yes")
confirm2 = tgui_alert(usr, "Pressing this buttom will really kill you, no going back", "Are you sure?", list("Yes", "No")) //Swapped answers to protect from accidental double clicks.
confirm2 = tgui_alert(src, "Pressing this buttom will really kill you, no going back", "Are you sure?", list("Yes", "No")) //Swapped answers to protect from accidental double clicks.
if (src.health < 0 && stat != DEAD && confirm1 == "Yes" && confirm2 == "Yes") // Checking both confirm1 and confirm2 for good measure. I don't trust TGUI.
src.death()
to_chat(src, span_blue("You have given up life and succumbed to death."))
@@ -744,21 +744,21 @@
return
/mob/living/verb/Examine_OOC() //ChompEDIT - proc --> verb
/mob/living/proc/Examine_OOC(mob/user = src)
set name = "Examine Meta-Info (OOC)"
set category = "OOC.Game"
set src in view()
//VOREStation Edit Start - Making it so SSD people have prefs with fallback to original style.
if(CONFIG_GET(flag/allow_metadata))
if(ooc_notes)
ooc_notes_window(usr)
// to_chat(usr, span_filter_notice("[src]'s Metainfo:<br>[ooc_notes]"))
ooc_notes_window(user)
// to_chat(user, span_filter_notice("[src]'s Metainfo:<br>[ooc_notes]"))
else if(client)
to_chat(usr, span_filter_notice("[src]'s Metainfo:<br>[client.prefs.read_preference(/datum/preference/text/living/ooc_notes)]"))
to_chat(user, span_filter_notice("[src]'s Metainfo:<br>[client.prefs.read_preference(/datum/preference/text/living/ooc_notes)]"))
else
to_chat(usr, span_filter_notice("[src] does not have any stored infomation!"))
to_chat(user, span_filter_notice("[src] does not have any stored infomation!"))
else
to_chat(usr, span_filter_notice("OOC Metadata is not supported by this server!"))
to_chat(user, span_filter_notice("OOC Metadata is not supported by this server!"))
//VOREStation Edit End - Making it so SSD people have prefs with fallback to original style.
return

View File

@@ -28,7 +28,7 @@
allow_self_surgery = !allow_self_surgery
to_chat(usr, span_notice("You will [allow_self_surgery ? "now" : "no longer"] attempt to operate upon yourself."))
to_chat(src, span_notice("You will [allow_self_surgery ? "now" : "no longer"] attempt to operate upon yourself."))
log_admin("DEBUG \[[world.timeofday]\]: [src.ckey ? "[src.name]:([src.ckey])" : "[src.name]"] has [allow_self_surgery ? "Enabled" : "Disabled"] self surgery.")
//ChompEDIT START - re-assert our layer and plane

View File

@@ -12,13 +12,13 @@
var/sayselect = tgui_alert(src, "Which say-verb do you wish to customize?", "Select Verb", list("Say","Whisper","Ask (?)","Exclaim/Shout/Yell (!)","Cancel"))
if(sayselect == "Say")
custom_say = lowertext(sanitize(tgui_input_text(usr, "This word or phrase will appear instead of 'says': [src] says, \"Hi.\"", "Custom Say", null)))
custom_say = lowertext(sanitize(tgui_input_text(src, "This word or phrase will appear instead of 'says': [src] says, \"Hi.\"", "Custom Say", null)))
else if(sayselect == "Whisper")
custom_whisper = lowertext(sanitize(tgui_input_text(usr, "This word or phrase will appear instead of 'whispers': [src] whispers, \"Hi...\"", "Custom Whisper", null)))
custom_whisper = lowertext(sanitize(tgui_input_text(src, "This word or phrase will appear instead of 'whispers': [src] whispers, \"Hi...\"", "Custom Whisper", null)))
else if(sayselect == "Ask (?)")
custom_ask = lowertext(sanitize(tgui_input_text(usr, "This word or phrase will appear instead of 'asks': [src] asks, \"Hi?\"", "Custom Ask", null)))
custom_ask = lowertext(sanitize(tgui_input_text(src, "This word or phrase will appear instead of 'asks': [src] asks, \"Hi?\"", "Custom Ask", null)))
else if(sayselect == "Exclaim/Shout/Yell (!)")
custom_exclaim = lowertext(sanitize(tgui_input_text(usr, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [src] exclaims, \"Hi!\"", "Custom Exclaim", null)))
custom_exclaim = lowertext(sanitize(tgui_input_text(src, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [src] exclaims, \"Hi!\"", "Custom Exclaim", null)))
else
return
@@ -29,71 +29,70 @@
if(usr != src)
return
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(usr))
var/new_metadata = strip_html_simple(tgui_input_text(src, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(src))
ooc_notes = new_metadata
client.prefs.update_preference_by_type(/datum/preference/text/living/ooc_notes, new_metadata)
to_chat(usr, span_filter_notice("OOC notes updated. Don't forget to save!"))
log_admin("[key_name(usr)] updated their OOC notes mid-round.")
ooc_notes_window(usr)
to_chat(src, span_filter_notice("OOC notes updated. Don't forget to save!"))
log_admin("[key_name(src)] updated their OOC notes mid-round.")
ooc_notes_window(src)
//CHOMPEdit Start
set_metainfo_likes(usr, FALSE)
set_metainfo_dislikes(usr, FALSE)
set_metainfo_favs(usr, FALSE)
set_metainfo_maybes(usr, FALSE)
set_metainfo_ooc_style(usr, FALSE)
set_metainfo_likes(src, FALSE)
set_metainfo_dislikes(src, FALSE)
set_metainfo_favs(src, FALSE)
set_metainfo_maybes(src, FALSE)
set_metainfo_ooc_style(src, FALSE)
//CHOMPEdit End
//ChompEDIT START - Removal of usr
/mob/living/proc/set_metainfo_panel(var/mob/user)
/mob/living/proc/set_metainfo_panel(mob/user)
if(user != src)
return
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
var/new_metadata = strip_html_simple(tgui_input_text(src, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(src))
ooc_notes = new_metadata
client.prefs.update_preference_by_type(/datum/preference/text/living/ooc_notes, new_metadata)
to_chat(user, span_filter_notice("OOC notes updated. Don't forget to save!"))
log_admin("[key_name(user)] updated their OOC notes mid-round.")
ooc_notes_window(user)
to_chat(src, span_filter_notice("OOC notes updated. Don't forget to save!"))
log_admin("[key_name(src)] updated their OOC notes mid-round.")
ooc_notes_window(src)
/mob/living/proc/set_metainfo_likes(var/mob/user, var/reopen = TRUE)
/mob/living/proc/set_metainfo_likes(mob/user, var/reopen = TRUE)
if(user != src)
return
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(ooc_notes_likes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
var/new_metadata = strip_html_simple(tgui_input_text(src, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(ooc_notes_likes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(src))
if(new_metadata == "!clear")
new_metadata = ""
ooc_notes_likes = new_metadata
client.prefs.update_preference_by_type(/datum/preference/text/living/ooc_notes_likes, new_metadata)
to_chat(user, span_filter_notice("OOC note likes have been updated. Don't forget to save!"))
log_admin("[key_name(user)] updated their OOC note likes mid-round.")
to_chat(src, span_filter_notice("OOC note likes have been updated. Don't forget to save!"))
log_admin("[key_name(src)] updated their OOC note likes mid-round.")
if(reopen)
ooc_notes_window(user)
ooc_notes_window(src)
/mob/living/proc/set_metainfo_dislikes(var/mob/user, var/reopen = TRUE)
/mob/living/proc/set_metainfo_dislikes(mob/user, var/reopen = TRUE)
if(user != src)
return
var/new_metadata = strip_html_simple(tgui_input_text(user, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(ooc_notes_dislikes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
var/new_metadata = strip_html_simple(tgui_input_text(src, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(ooc_notes_dislikes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(src))
if(new_metadata == "!clear")
new_metadata = ""
ooc_notes_dislikes = new_metadata
client.prefs.update_preference_by_type(/datum/preference/text/living/ooc_notes_dislikes, new_metadata)
to_chat(user, span_filter_notice("OOC note dislikes have been updated. Don't forget to save!"))
log_admin("[key_name(user)] updated their OOC note dislikes mid-round.")
to_chat(src, span_filter_notice("OOC note dislikes have been updated. Don't forget to save!"))
log_admin("[key_name(src)] updated their OOC note dislikes mid-round.")
if(reopen)
ooc_notes_window(user)
ooc_notes_window(src)
/mob/living/proc/save_ooc_panel(var/mob/user)
/mob/living/proc/save_ooc_panel(mob/user)
if(user != src)
return
if(client.prefs.real_name != real_name)
to_chat(user, span_danger("Your selected character slot name is not the same as your character's name. Aborting save. Please select [real_name]'s character slot in character setup before saving."))
to_chat(src, span_danger("Your selected character slot name is not the same as your character's name. Aborting save. Please select [real_name]'s character slot in character setup before saving."))
return
if(client.prefs.save_character())
to_chat(user, span_filter_notice("Character preferences saved."))
to_chat(src, span_filter_notice("Character preferences saved."))
/mob/living/proc/print_ooc_notes_to_chat(var/mob/user)
/mob/living/proc/print_ooc_notes_to_chat(mob/user)
if(!ooc_notes)
return
var/msg = ooc_notes
@@ -150,15 +149,15 @@
if(usr != src)
return
var/new_link = strip_html_simple(tgui_input_text(usr, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE))
if(new_link && CanUseTopic(usr))
var/new_link = strip_html_simple(tgui_input_text(src, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE))
if(new_link && CanUseTopic(src))
if(length(new_link) > 100)
to_chat(usr, span_warning("Your entry is too long, it must be 100 characters or less."))
to_chat(src, span_warning("Your entry is too long, it must be 100 characters or less."))
return
custom_link = new_link
to_chat(usr, span_notice("Link set: [custom_link]"))
log_admin("[usr]/[usr.ckey] set their custom link to [custom_link]")
to_chat(src, span_notice("Link set: [custom_link]"))
log_admin("[src]/[src.ckey] set their custom link to [custom_link]")
/mob/living/verb/set_voice_freq()
set name = "Set Voice Frequency"
@@ -187,7 +186,7 @@
set category = "OOC.Game Settings"
var/list/possible_voice_types = get_talk_sound()
var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types)
var/choice = tgui_input_list(src, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types)
if(!choice)
voice_sounds_list = talk_sound
voice_sounds_list = get_talk_sound(choice)

View File

@@ -355,7 +355,7 @@ var/list/ai_verbs_default = list(
return
if (!custom_sprite)
var/new_sprite = tgui_input_list(usr, "Select an icon!", "AI", ai_icons)
var/new_sprite = tgui_input_list(src, "Select an icon!", "AI", ai_icons)
if(new_sprite) selected_sprite = new_sprite
update_icon()
@@ -369,7 +369,7 @@ var/list/ai_verbs_default = list(
if(message_cooldown)
to_chat(src, span_filter_notice("Please allow one minute to pass between announcements."))
return
var/input = tgui_input_text(usr, "Please write a message to announce to the station crew.", "A.I. Announcement")
var/input = tgui_input_text(src, "Please write a message to announce to the station crew.", "A.I. Announcement")
if(!input)
return
@@ -387,7 +387,7 @@ var/list/ai_verbs_default = list(
if(check_unable(AI_CHECK_WIRELESS))
return
var/confirm = tgui_alert(usr, "Are you sure you want to call the shuttle?", "Confirm Shuttle Call", list("Yes", "No"))
var/confirm = tgui_alert(src, "Are you sure you want to call the shuttle?", "Confirm Shuttle Call", list("Yes", "No"))
if(!confirm)
return
@@ -409,7 +409,7 @@ var/list/ai_verbs_default = list(
if(check_unable(AI_CHECK_WIRELESS))
return
var/confirm = tgui_alert(usr, "Are you sure you want to recall the shuttle?", "Confirm Shuttle Recall", list("Yes", "No"))
var/confirm = tgui_alert(src, "Are you sure you want to recall the shuttle?", "Confirm Shuttle Recall", list("Yes", "No"))
if(check_unable(AI_CHECK_WIRELESS))
return
@@ -425,14 +425,14 @@ var/list/ai_verbs_default = list(
if(check_unable(AI_CHECK_WIRELESS))
return
if(emergency_message_cooldown)
to_chat(usr, span_warning("Arrays recycling. Please stand by."))
to_chat(src, span_warning("Arrays recycling. Please stand by."))
return
var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", ""))
var/input = sanitize(tgui_input_text(src, "Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", ""))
if(!input)
return
CentCom_announce(input, usr)
to_chat(usr, span_notice("Message transmitted."))
log_game("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]")
CentCom_announce(input, src)
to_chat(src, span_notice("Message transmitted."))
log_game("[key_name(src)] has made an IA [using_map.boss_short] announcement: [input]")
emergency_message_cooldown = 1
spawn(300)
emergency_message_cooldown = 0
@@ -617,7 +617,7 @@ var/list/ai_verbs_default = list(
holo_color = input
if("Model")
choice = tgui_alert(usr, "Would you like to select a hologram based on a (visible) crew member, switch to unique avatar, or load your character from your character slot?","Hologram Selection",list("Crew Member","Unique","My Character"))
choice = tgui_alert(src, "Would you like to select a hologram based on a (visible) crew member, switch to unique avatar, or load your character from your character slot?","Hologram Selection",list("Crew Member","Unique","My Character"))
if(!choice)
return
@@ -626,7 +626,7 @@ var/list/ai_verbs_default = list(
if("Crew Member") //A seeable crew member (or a dog)
var/list/targets = trackable_mobs()
if(targets.len)
input = tgui_input_list(usr, "Select a crew member:", "Hologram Choice", targets) //The definition of "crew member" is a little loose...
input = tgui_input_list(src, "Select a crew member:", "Hologram Choice", targets) //The definition of "crew member" is a little loose...
//This is torture, I know. If someone knows a better way...
if(!input) return
var/new_holo = getHologramIcon(getCompoundIcon(targets[input]))
@@ -634,7 +634,7 @@ var/list/ai_verbs_default = list(
holo_icon = new_holo
else
tgui_alert_async(usr, "No suitable records found. Aborting.")
tgui_alert_async(src, "No suitable records found. Aborting.")
if("My Character") //Loaded character slot
if(!client || !client.prefs) return
@@ -677,7 +677,7 @@ var/list/ai_verbs_default = list(
"male skrell",
"female skrell"
)
input = tgui_input_list(usr, "Please select a hologram:", "Hologram Choice", icon_list)
input = tgui_input_list(src, "Please select a hologram:", "Hologram Choice", icon_list)
if(input)
qdel(holo_icon)
switch(input)
@@ -824,7 +824,7 @@ var/list/ai_verbs_default = list(
set category = "AI.Settings"
set desc = "Augment visual feed with internal sensor overlays"
sensor_type = !sensor_type //VOREStation Add
to_chat(usr, "You [sensor_type ? "enable" : "disable"] your sensors.") //VOREStation Add
to_chat(src, "You [sensor_type ? "enable" : "disable"] your sensors.") //VOREStation Add
toggle_sensor_mode()
/mob/living/silicon/ai/proc/toggle_hologram_movement()
@@ -838,7 +838,7 @@ var/list/ai_verbs_default = list(
var/obj/effect/overlay/aiholo/hologram = holo.masters[src]
walk(hologram, 0)
//VOREStation Add End
to_chat(usr, span_filter_notice("Your hologram will [hologram_follow ? "follow" : "no longer follow"] you now."))
to_chat(src, span_filter_notice("Your hologram will [hologram_follow ? "follow" : "no longer follow"] you now."))
/mob/living/silicon/ai/proc/check_unable(var/flags = 0, var/feedback = 1)

View File

@@ -16,11 +16,11 @@ var/global/list/empty_playable_ai_cores = list()
set desc = "Enter intelligence storage. This is functionally equivalent to cryo or robotic storage, freeing up your job slot."
if(ticker && ticker.mode && ticker.mode.name == "AI malfunction")
to_chat(usr, span_danger("You cannot use this verb in malfunction. If you need to leave, please adminhelp."))
to_chat(src, span_danger("You cannot use this verb in malfunction. If you need to leave, please adminhelp."))
return
// Guard against misclicks, this isn't the sort of thing we want happening accidentally
if(tgui_alert(usr, "WARNING: This will immediately empty your core and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?", "Store Core", list("No", "Yes")) != "Yes")
if(tgui_alert(src, "WARNING: This will immediately empty your core and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?", "Store Core", list("No", "Yes")) != "Yes")
return
// We warned you.

View File

@@ -244,7 +244,7 @@
medicalActive2 = null
medical_cannotfind = 0
SStgui.update_uis(src)
to_chat(usr, span_notice("You reset your record-viewing software."))
to_chat(src, span_notice("You reset your record-viewing software."))
/mob/living/silicon/pai/cancel_camera()
set category = "Abilities.pAI Commands"
@@ -338,10 +338,10 @@
var/choice
var/finalized = "No"
while(finalized == "No" && src.client)
choice = tgui_input_list(usr,"What would you like to use for your mobile chassis icon?","Chassis Choice", possible_chassis)
choice = tgui_input_list(src,"What would you like to use for your mobile chassis icon?","Chassis Choice", possible_chassis)
if(!choice) return
icon_state = possible_chassis[choice]
finalized = tgui_alert(usr, "Look at your sprite. Is this what you wish to use?","Choose Chassis",list("No","Yes"))
finalized = tgui_alert(src, "Look at your sprite. Is this what you wish to use?","Choose Chassis",list("No","Yes"))
chassis = possible_chassis[choice]
add_verb(src, /mob/living/proc/hide)
//VOREStation Removal End
@@ -351,7 +351,7 @@
set category = "Abilities.pAI Commands"
set name = "Choose Speech Verbs"
var/choice = tgui_input_list(usr,"What theme would you like to use for your speech verbs?","Theme Choice", possible_say_verbs)
var/choice = tgui_input_list(src,"What theme would you like to use for your speech verbs?","Theme Choice", possible_say_verbs)
if(!choice) return
var/list/sayverbs = possible_say_verbs[choice]
@@ -537,7 +537,7 @@
set desc = "Upload your personality to the cloud and wipe your software from the card. This is functionally equivalent to cryo or robotic storage, freeing up your job slot."
// Make sure people don't kill themselves accidentally
if(tgui_alert(usr, "WARNING: This will immediately wipe your software and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?", "Wipe Software", list("No", "Yes")) != "Yes")
if(tgui_alert(src, "WARNING: This will immediately wipe your software and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?", "Wipe Software", list("No", "Yes")) != "Yes")
return
close_up()

View File

@@ -181,7 +181,7 @@
set name = "Choose Chassis"
var/choice
choice = tgui_input_list(usr, "What would you like to use for your mobile chassis icon?", "Chassis Choice", possible_chassis)
choice = tgui_input_list(src, "What would you like to use for your mobile chassis icon?", "Chassis Choice", possible_chassis)
if(!choice) return
var/oursize = size_multiplier
resize(1, FALSE, TRUE, TRUE, FALSE) //We resize ourselves to normal here for a moment to let the vis_height get reset
@@ -463,7 +463,7 @@
set name = "Set Gender Identity"
set desc = "Sets the pronouns when examined and performing an emote."
set category = "IC.Settings"
var/new_gender_identity = tgui_input_list(usr, "Please select a gender Identity:", "Set Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM))
var/new_gender_identity = tgui_input_list(src, "Please select a gender Identity:", "Set Gender Identity", list(FEMALE, MALE, NEUTER, PLURAL, HERM))
if(!new_gender_identity)
return 0
gender = new_gender_identity

View File

@@ -326,7 +326,7 @@
if(!choice)
return
if(choice == "Color")
var/new_color = tgui_color_picker(usr, "Choose a color to set the light to! (Default is [LIGHT_COLOR_INCANDESCENT_TUBE])", "", selected_color)
var/new_color = tgui_color_picker(user, "Choose a color to set the light to! (Default is [LIGHT_COLOR_INCANDESCENT_TUBE])", "", selected_color)
if(new_color)
selected_color = new_color
to_chat(user, span_filter_notice("The light color has been changed."))
@@ -423,7 +423,7 @@
to_chat(src, span_filter_notice("Cell charge too low to continue."))
return
if(usr.incapacitated(INCAPACITATION_DISABLED))
if(src.incapacitated(INCAPACITATION_DISABLED))
to_chat(src, span_filter_notice("You cannot leap in your current state."))
return
@@ -452,7 +452,7 @@
if(last_special > world.time)
return
if(usr.incapacitated(INCAPACITATION_DISABLED))
if(src.incapacitated(INCAPACITATION_DISABLED))
to_chat(src, span_filter_notice("You cannot leap in your current state."))
return

View File

@@ -240,7 +240,7 @@ var/list/mob_hat_cache = list()
to_chat(user, span_danger("The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one."))
return
if(!allowed(usr))
if(!allowed(user))
to_chat(user, span_danger("Access denied."))
return
@@ -258,7 +258,7 @@ var/list/mob_hat_cache = list()
if(emagged)
return
if(allowed(usr))
if(allowed(user))
shut_down()
else
to_chat(user, span_danger("Access denied."))*/

View File

@@ -4,7 +4,7 @@
set desc = "Tag yourself for delivery through the disposals system."
set category = "Abilities.Silicon"
var/new_tag = tgui_input_list(usr, "Select the desired destination.", "Set Mail Tag", GLOB.tagger_locations)
var/new_tag = tgui_input_list(src, "Select the desired destination.", "Set Mail Tag", GLOB.tagger_locations)
if(!new_tag)
mail_destination = ""

View File

@@ -113,14 +113,14 @@
return 0 //something is terribly wrong
if(jobban_isbanned(src,JOB_CYBORG))
to_chat(usr, span_danger("You are banned from playing synthetics and cannot spawn as a drone."))
to_chat(src, span_danger("You are banned from playing synthetics and cannot spawn as a drone."))
return
// VOREStation Addition Start
if(CONFIG_GET(flag/use_age_restriction_for_jobs) && isnum(src.client.player_age))
var/time_till_play = max(0, 3 - src.client.player_age)
if(time_till_play)
to_chat(usr, span_danger("You have not been playing on the server long enough to join as drone."))
to_chat(src, span_danger("You have not been playing on the server long enough to join as drone."))
return
// VOREStation Addition End
@@ -139,8 +139,8 @@
var/deathtimeseconds = round((deathtime - deathtimeminutes * 1 MINUTE) / 10,1)
if (deathtime < 5 MINUTES)
to_chat(usr, "You have been dead for[pluralcheck] [deathtimeseconds] seconds.")
to_chat(usr, "You must wait 5 minutes to respawn as a drone!")
to_chat(src, "You have been dead for[pluralcheck] [deathtimeseconds] seconds.")
to_chat(src, "You must wait 5 minutes to respawn as a drone!")
return
var/list/all_fabricators = list()

Some files were not shown because too many files have changed in this diff Show More