mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
[MIRROR] usr to user part two (#10015)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
538c8e7187
commit
a245b8687f
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
log_admin("[key_name(src)] has animalized [M.key].")
|
||||
spawn(10)
|
||||
M.Animalize()
|
||||
M.Animalize(usr)
|
||||
|
||||
|
||||
/client/proc/makepAI()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
// Yielding
|
||||
var/new_color = tgui_color_picker(
|
||||
usr,
|
||||
ui.user,
|
||||
"Select new color",
|
||||
null,
|
||||
default_value || COLOR_WHITE,
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
@@ -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]."
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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\
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) )
|
||||
|
||||
@@ -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]."))
|
||||
|
||||
@@ -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)]."))
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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."))*/
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user