Files
S.P.L.U.R.T-Station-13/modular_splurt/code/modules/client/client_procs.dm
Darius ad0239b5de Replace all modular HTML spans with defines spans
In total:
- Adds span defines for `reallybig hypnophrase`, `big warning`, `header`
- Fixes a missing apostrophe for hypno stare
- Makes a special exception for cuddling.dm, which uses an irregular span
- Puts the spans file back
2023-01-16 04:05:27 -05:00

113 lines
3.8 KiB
Plaintext

/client/check_ip_intel()
. = ..()
if(!(ip_intel != initial(ip_intel) && ip_intel >= CONFIG_GET(number/ipintel_rating_bad)))
uses_vpn = FALSE
return .
uses_vpn = TRUE //Puts the vpn flag on the player playtimes
//Kicks them automatically if 100% sure and they're not whitelisted
if(!CONFIG_GET(flag/kick_vpn) || ip_intel < 1)
return .
var/list/whitelist = CONFIG_GET(multi_keyed_flag/vpn_bypass)
if(whitelist.Find(ckey(ckey)))
log_admin("[key_name(src)] was allowed to join although they're using a vpn")
return .
to_chat(src, span_danger("You have been kicked from the server because your IP has been flagged as a VPN. \
Please turn it off in order to connect or contact staff in case this is an error."))
var/logg = "[key_name(src)] kicked for failing the vpn check."
log_admin(logg)
message_admins(span_adminnotice(logg))
qdel(src)
/client/proc/toggle_quirk(mob/living/carbon/human/H)
if (!istype(H))
to_chat(usr, "This can only be used on /mob/living/carbon/human.")
return
var/list/options = list("Clear"="Clear")
for(var/x in subtypesof(/datum/quirk))
var/datum/quirk/T = x
var/qname = initial(T.name)
options[H.has_quirk(T) ? "[qname] (Remove)" : "[qname] (Add)"] = T
var/result = tgui_input_list(usr, "Choose quirk to add/remove", "Mob Quirks", options) // input(usr, "Choose quirk to add/remove","Quirk Mod") as null|anything in options
if(QDELETED(H))
to_chat(usr, "Mob doesn't exist anymore")
return
if(result)
if(result == "Clear")
for(var/datum/quirk/q in H.roundstart_quirks)
H.remove_quirk(q.type)
else
var/T = options[result]
if(H.has_quirk(T))
H.remove_quirk(T)
else
H.add_quirk(T,TRUE)
/client/proc/toggle_spell(mob/M)
var/list/options = list("Clear"="Clear")
for(var/x in GLOB.spells)
var/obj/effect/proc_holder/spell/spell = x
var/spell_name = initial(spell.name)
options[M.has_spell(spell) ? "[spell_name] (Remove)" : "[spell_name] (Add)"] = spell
var/spell_to_modify = tgui_input_list(usr, "Choose spell to add/remove", "Mob Spells", options) // input(usr, "Choose quirk to add/remove","Quirk Mod") as null|anything in options
if(QDELETED(M))
to_chat(usr, "Mob doesn't exist anymore")
return
if(spell_to_modify)
if(spell_to_modify == "Clear")
if (!M.mind)
return
for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list)
M.mind.RemoveSpell(S.type)
else
var/T = options[spell_to_modify]
if(M.has_spell(T))
M.mind.RemoveSpell(T)
else
if (M.mind)
M.mind.AddSpell(new T)
else
M.AddSpell(new T)
message_admins(span_danger("Spells given to mindless mobs will not be transferred in mindswap or cloning!"))
/client/proc/teach_martial_art(mob/living/carbon/C)
if (!istype(C))
to_chat(usr, "This can only be used on /mob/living/carbon.")
return
var/list/artpaths = subtypesof(/datum/martial_art)
var/list/artnames = list()
for(var/i in artpaths)
var/datum/martial_art/M = i
artnames[initial(M.name)] = M
var/result = tgui_input_list(usr, "Choose the martial art to teach", "JUDO CHOP", artnames) // input(usr, "Choose the martial art to teach","JUDO CHOP") as null|anything in artnames
if(QDELETED(C))
to_chat(usr, "Mob doesn't exist anymore")
return
if(result)
var/chosenart = artnames[result]
var/datum/martial_art/MA = new chosenart
MA.teach(C)
log_admin("[key_name(usr)] has taught [MA] to [key_name(C)].")
message_admins(span_notice("[key_name_admin(usr)] has taught [MA] to [key_name_admin(C)]."))
/client/proc/set_species(mob/living/carbon/human/H)
if (istype(H))
var/result = tgui_input_list(usr, "Choose a new species","Species", GLOB.species_list)
if(QDELETED(H))
to_chat(usr, "Mob doesn't exist anymore")
return
if(result)
admin_ticket_log("[key_name_admin(usr)] has modified the bodyparts of [H] to [result]")
H.set_species(GLOB.species_list[result])