mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 10:33:30 +01:00
@@ -85,6 +85,8 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
if(M.client.holder.fakekey && M.client.holder.big_brother)
|
||||
our_key = M.client.holder.fakekey
|
||||
|
||||
var/mob_uid = M.UID()
|
||||
|
||||
var/body = "<html><meta charset='UTF-8'><head><title>Options for [our_key]</title></head>"
|
||||
body += "<body>Options panel for <b>[M]</b>"
|
||||
if(M.client)
|
||||
@@ -95,30 +97,31 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
body += "\[Player\] "
|
||||
else
|
||||
body += "\[[M.client.holder ? M.client.holder.rank : "Player"]\] "
|
||||
body += "\[<A href='byond://?_src_=holder;getplaytimewindow=[M.UID()]'>" + M.client.get_exp_type(EXP_TYPE_CREW) + " as [EXP_TYPE_CREW]</a>\]"
|
||||
body += "\[<A href='byond://?_src_=holder;getplaytimewindow=[mob_uid]'>" + M.client.get_exp_type(EXP_TYPE_CREW) + " as [EXP_TYPE_CREW]</a>\]"
|
||||
body += "<br>BYOND account registration date: [M.client.byondacc_date || "ERROR"] [M.client.byondacc_age <= GLOB.configuration.general.byond_account_age_threshold ? "<b>" : ""]([M.client.byondacc_age] days old)[M.client.byondacc_age <= GLOB.configuration.general.byond_account_age_threshold ? "</b>" : ""]"
|
||||
body += "<br>BYOND client version: [M.client.byond_version].[M.client.byond_build]"
|
||||
body += "<br>Global Ban DB Lookup: [GLOB.configuration.url.centcom_ban_db_url ? "<a href='byond://?_src_=holder;open_ccbdb=[M.client.ckey]'>Lookup</a>" : "<i>Disabled</i>"]"
|
||||
body += "<br><a href='byond://?_src_=holder;clientmodcheck=[M.client.UID()]'>Check for client modification</a>"
|
||||
|
||||
body += "<br>"
|
||||
|
||||
if(isnewplayer(M))
|
||||
body += " <B>Hasn't Entered Game</B> "
|
||||
else
|
||||
body += " \[<A href='byond://?_src_=holder;revive=[M.UID()]'>Heal</A>\] "
|
||||
body += " \[<A href='byond://?_src_=holder;revive=[mob_uid]'>Heal</A>\] "
|
||||
|
||||
|
||||
body += "<br><br>\[ "
|
||||
body += "<a href='byond://?_src_=holder;open_logging_view=[M.UID()];'>LOGS</a> - "
|
||||
body += "<a href='byond://?_src_=vars;Vars=[M.UID()]'>VV</a> - "
|
||||
body += "<a href='byond://?_src_=holder;open_logging_view=[mob_uid];'>LOGS</a> - "
|
||||
body += "<a href='byond://?_src_=vars;Vars=[mob_uid]'>VV</a> - "
|
||||
body += "[ADMIN_TP(M,"TP")] - "
|
||||
if(M.client)
|
||||
body += "<a href='byond://?src=[usr.UID()];priv_msg=[M.client.ckey]'>PM</a> - "
|
||||
body += "[ADMIN_SM(M,"SM")] - "
|
||||
if(ishuman(M) && M.mind)
|
||||
body += "<a href='byond://?_src_=holder;HeadsetMessage=[M.UID()]'>HM</a> - "
|
||||
body += "<a href='byond://?_src_=holder;HeadsetMessage=[mob_uid]'>HM</a> - "
|
||||
body += "[admin_jump_link(M)] - "
|
||||
body += "<a href='byond://?_src_=holder;adminalert=[M.UID()]'>SEND ALERT</a>\]</b><br>"
|
||||
body += "<a href='byond://?_src_=holder;adminalert=[mob_uid]'>SEND ALERT</a>\]</b><br>"
|
||||
body += "<b>Mob type:</b> [M.type]<br>"
|
||||
if(M.client)
|
||||
if(length(M.client.related_accounts_cid))
|
||||
@@ -129,9 +132,9 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
if(M.ckey)
|
||||
body += "<b>Enabled AntagHUD</b>: [M.has_ahudded() ? "<b><font color='red'>TRUE</font></b>" : "false"]<br>"
|
||||
body += "<b>Roundstart observer</b>: [M.is_roundstart_observer() ? "<b>true</b>" : "false"]<br>"
|
||||
body += "<A href='byond://?_src_=holder;boot2=[M.UID()]'>Kick</A> | "
|
||||
body += "<A href='byond://?_src_=holder;newban=[M.UID()];dbbanaddckey=[M.ckey]'>Ban</A> | "
|
||||
body += "<A href='byond://?_src_=holder;jobban2=[M.UID()];dbbanaddckey=[M.ckey]'>Jobban</A> | "
|
||||
body += "<A href='byond://?_src_=holder;boot2=[mob_uid]'>Kick</A> | "
|
||||
body += "<A href='byond://?_src_=holder;newban=[mob_uid];dbbanaddckey=[M.ckey]'>Ban</A> | "
|
||||
body += "<A href='byond://?_src_=holder;jobban2=[mob_uid];dbbanaddckey=[M.ckey]'>Jobban</A> | "
|
||||
body += "<A href='byond://?_src_=holder;shownoteckey=[M.ckey]'>Notes</A> | "
|
||||
if(GLOB.configuration.url.forum_playerinfo_url)
|
||||
body += "<A href='byond://?_src_=holder;webtools=[M.ckey]'>WebInfo</A> | "
|
||||
@@ -142,18 +145,18 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
else
|
||||
body += "<A href='byond://?_src_=holder;watchadd=[M.ckey]'>Add to Watchlist</A> "
|
||||
|
||||
body += "| <A href='byond://?_src_=holder;sendtoprison=[M.UID()]'>Prison</A> | "
|
||||
body += "\ <A href='byond://?_src_=holder;sendbacktolobby=[M.UID()]'>Send back to Lobby</A> | "
|
||||
body += "\ <A href='byond://?_src_=holder;eraseflavortext=[M.UID()]'>Erase Flavor Text</A> | "
|
||||
body += "\ <A href='byond://?_src_=holder;userandomname=[M.UID()]'>Use Random Name</A> | "
|
||||
body += "| <A href='byond://?_src_=holder;sendtoprison=[mob_uid]'>Prison</A> | "
|
||||
body += "\ <A href='byond://?_src_=holder;sendbacktolobby=[mob_uid]'>Send back to Lobby</A> | "
|
||||
body += "\ <A href='byond://?_src_=holder;eraseflavortext=[mob_uid]'>Erase Flavor Text</A> | "
|
||||
body += "\ <A href='byond://?_src_=holder;userandomname=[mob_uid]'>Use Random Name</A> | "
|
||||
body += {"<br><b>Mute: </b>
|
||||
\[<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_IC]'><font color='[check_mute(M.client.ckey, MUTE_IC) ? "red" : "#6685f5"]'>IC</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_OOC]'><font color='[check_mute(M.client.ckey, MUTE_OOC) ? "red" : "#6685f5"]'>OOC</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_PRAY]'><font color='[check_mute(M.client.ckey, MUTE_PRAY) ? "red" : "#6685f5"]'>PRAY</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_ADMINHELP]'><font color='[check_mute(M.client.ckey, MUTE_ADMINHELP) ? "red" : "#6685f5"]'>ADMINHELP</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_DEADCHAT]'><font color='[check_mute(M.client.ckey, MUTE_DEADCHAT) ?" red" : "#6685f5"]'>DEADCHAT</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_EMOTE]'><font color='[check_mute(M.client.ckey, MUTE_EMOTE) ?" red" : "#6685f5"]'>EMOTE</font></a>]
|
||||
(<A href='byond://?_src_=holder;mute=[M.UID()];mute_type=[MUTE_ALL]'><font color='[check_mute(M.client.ckey, MUTE_ALL) ? "red" : "#6685f5"]'>toggle all</font></a>)
|
||||
\[<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_IC]'><font color='[check_mute(M.client.ckey, MUTE_IC) ? "red" : "#6685f5"]'>IC</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_OOC]'><font color='[check_mute(M.client.ckey, MUTE_OOC) ? "red" : "#6685f5"]'>OOC</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_PRAY]'><font color='[check_mute(M.client.ckey, MUTE_PRAY) ? "red" : "#6685f5"]'>PRAY</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_ADMINHELP]'><font color='[check_mute(M.client.ckey, MUTE_ADMINHELP) ? "red" : "#6685f5"]'>ADMINHELP</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_DEADCHAT]'><font color='[check_mute(M.client.ckey, MUTE_DEADCHAT) ?" red" : "#6685f5"]'>DEADCHAT</font></a> |
|
||||
<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_EMOTE]'><font color='[check_mute(M.client.ckey, MUTE_EMOTE) ?" red" : "#6685f5"]'>EMOTE</font></a>]
|
||||
(<A href='byond://?_src_=holder;mute=[mob_uid];mute_type=[MUTE_ALL]'><font color='[check_mute(M.client.ckey, MUTE_ALL) ? "red" : "#6685f5"]'>toggle all</font></a>)
|
||||
"}
|
||||
|
||||
var/jumptoeye = ""
|
||||
@@ -162,23 +165,23 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
if(A.client && A.eyeobj) // No point following clientless AI eyes
|
||||
jumptoeye = " <b>(<A href='byond://?_src_=holder;jumpto=[A.eyeobj.UID()]'>Eye</A>)</b>"
|
||||
body += {"<br><br>
|
||||
<A href='byond://?_src_=holder;jumpto=[M.UID()]'><b>Jump to</b></A>[jumptoeye] |
|
||||
<A href='byond://?_src_=holder;getmob=[M.UID()]'>Get</A> |
|
||||
<A href='byond://?_src_=holder;sendmob=[M.UID()]'>Send To</A>
|
||||
<A href='byond://?_src_=holder;jumpto=[mob_uid]'><b>Jump to</b></A>[jumptoeye] |
|
||||
<A href='byond://?_src_=holder;getmob=[mob_uid]'>Get</A> |
|
||||
<A href='byond://?_src_=holder;sendmob=[mob_uid]'>Send To</A>
|
||||
<br><br>
|
||||
[check_rights(R_ADMIN,0) ? "[ADMIN_TP(M,"Traitor panel")] | " : "" ]
|
||||
<A href='byond://?_src_=holder;narrateto=[M.UID()]'>Narrate to</A> |
|
||||
<A href='byond://?_src_=holder;narrateto=[mob_uid]'>Narrate to</A> |
|
||||
[ADMIN_SM(M,"Subtle message")]
|
||||
"}
|
||||
|
||||
if(check_rights(R_EVENT, 0))
|
||||
body += {" | <A href='byond://?_src_=holder;Bless=[M.UID()]'>Bless</A> | <A href='byond://?_src_=holder;Smite=[M.UID()]'>Smite</A>"}
|
||||
body += {" | <A href='byond://?_src_=holder;Bless=[mob_uid]'>Bless</A> | <A href='byond://?_src_=holder;Smite=[mob_uid]'>Smite</A>"}
|
||||
|
||||
if(isLivingSSD(M))
|
||||
if(istype(M.loc, /obj/machinery/cryopod))
|
||||
body += {" | <A href='byond://?_src_=holder;cryossd=[M.UID()]'>De-Spawn</A> "}
|
||||
body += {" | <A href='byond://?_src_=holder;cryossd=[mob_uid]'>De-Spawn</A> "}
|
||||
else
|
||||
body += {" | <A href='byond://?_src_=holder;cryossd=[M.UID()]'>Cryo</A> "}
|
||||
body += {" | <A href='byond://?_src_=holder;cryossd=[mob_uid]'>Cryo</A> "}
|
||||
|
||||
if(M.client)
|
||||
if(!isnewplayer(M))
|
||||
@@ -190,38 +193,38 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
if(issmall(M))
|
||||
body += "<B>Monkeyized</B> | "
|
||||
else
|
||||
body += "<A href='byond://?_src_=holder;monkeyone=[M.UID()]'>Monkeyize</A> | "
|
||||
body += "<A href='byond://?_src_=holder;monkeyone=[mob_uid]'>Monkeyize</A> | "
|
||||
|
||||
//Corgi
|
||||
if(iscorgi(M))
|
||||
body += "<B>Corgized</B> | "
|
||||
else
|
||||
body += "<A href='byond://?_src_=holder;corgione=[M.UID()]'>Corgize</A> | "
|
||||
body += "<A href='byond://?_src_=holder;corgione=[mob_uid]'>Corgize</A> | "
|
||||
|
||||
//AI / Cyborg
|
||||
if(is_ai(M))
|
||||
body += "<B>Is an AI</B> "
|
||||
else if(ishuman(M))
|
||||
body += {"<A href='byond://?_src_=holder;makeai=[M.UID()]'>Make AI</A> |
|
||||
<A href='byond://?_src_=holder;makerobot=[M.UID()]'>Make Robot</A> |
|
||||
<A href='byond://?_src_=holder;makealien=[M.UID()]'>Make Alien</A> |
|
||||
<A href='byond://?_src_=holder;makeslime=[M.UID()]'>Make Slime</A> |
|
||||
<A href='byond://?_src_=holder;makesuper=[M.UID()]'>Make Superhero</A> |
|
||||
body += {"<A href='byond://?_src_=holder;makeai=[mob_uid]'>Make AI</A> |
|
||||
<A href='byond://?_src_=holder;makerobot=[mob_uid]'>Make Robot</A> |
|
||||
<A href='byond://?_src_=holder;makealien=[mob_uid]'>Make Alien</A> |
|
||||
<A href='byond://?_src_=holder;makeslime=[mob_uid]'>Make Slime</A> |
|
||||
<A href='byond://?_src_=holder;makesuper=[mob_uid]'>Make Superhero</A> |
|
||||
"}
|
||||
|
||||
//Simple Animals
|
||||
if(isanimal_or_basicmob(M))
|
||||
body += "<A href='byond://?_src_=holder;makeanimal=[M.UID()]'>Re-Animalize</A> | "
|
||||
body += "<A href='byond://?_src_=holder;makeanimal=[mob_uid]'>Re-Animalize</A> | "
|
||||
else
|
||||
body += "<A href='byond://?_src_=holder;makeanimal=[M.UID()]'>Animalize</A> | "
|
||||
body += "<A href='byond://?_src_=holder;makeanimal=[mob_uid]'>Animalize</A> | "
|
||||
|
||||
if(isobserver(M))
|
||||
body += "<A href='byond://?_src_=holder;incarn_ghost=[M.UID()]'>Re-incarnate</a> | "
|
||||
body += "<A href='byond://?_src_=holder;incarn_ghost=[mob_uid]'>Re-incarnate</a> | "
|
||||
|
||||
if(ispAI(M))
|
||||
body += "<B>Is a pAI</B> "
|
||||
else
|
||||
body += "<A href='byond://?_src_=holder;makePAI=[M.UID()]'>Make pAI</A> | "
|
||||
body += "<A href='byond://?_src_=holder;makePAI=[mob_uid]'>Make pAI</A> | "
|
||||
|
||||
// DNA2 - Admin Hax
|
||||
if(M.dna && iscarbon(M))
|
||||
@@ -236,7 +239,7 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
if(bname)
|
||||
var/bstate=M.dna.GetSEState(block)
|
||||
var/bcolor="[(bstate)?"#006600":"#ff0000"]"
|
||||
body += "<A href='byond://?_src_=holder;togmutate=[M.UID()];block=[block]' style='color:[bcolor];'>[bname]</A><sub>[block]</sub>"
|
||||
body += "<A href='byond://?_src_=holder;togmutate=[mob_uid];block=[block]' style='color:[bcolor];'>[bname]</A><sub>[block]</sub>"
|
||||
else
|
||||
body += "[block]"
|
||||
body+="</td>"
|
||||
@@ -244,42 +247,42 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
|
||||
|
||||
body += {"<br><br>
|
||||
<b>Rudimentary transformation:</b><font size=2><br>These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.</font><br>
|
||||
<A href='byond://?_src_=holder;simplemake=observer;mob=[M.UID()]'>Observer</A> |
|
||||
\[ Alien: <A href='byond://?_src_=holder;simplemake=drone;mob=[M.UID()]'>Drone</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=hunter;mob=[M.UID()]'>Hunter</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=queen;mob=[M.UID()]'>Queen</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=sentinel;mob=[M.UID()]'>Sentinel</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=larva;mob=[M.UID()]'>Larva</A> \]
|
||||
<A href='byond://?_src_=holder;simplemake=human;mob=[M.UID()]'>Human</A>
|
||||
\[ slime: <A href='byond://?_src_=holder;simplemake=slime;mob=[M.UID()]'>Baby</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=adultslime;mob=[M.UID()]'>Adult</A> \]
|
||||
<A href='byond://?_src_=holder;simplemake=monkey;mob=[M.UID()]'>Monkey</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=robot;mob=[M.UID()]'>Cyborg</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=cat;mob=[M.UID()]'>Cat</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=runtime;mob=[M.UID()]'>Runtime</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=corgi;mob=[M.UID()]'>Corgi</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=ian;mob=[M.UID()]'>Ian</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=crab;mob=[M.UID()]'>Crab</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=coffee;mob=[M.UID()]'>Coffee</A> |
|
||||
\[ Construct: <A href='byond://?_src_=holder;simplemake=constructarmoured;mob=[M.UID()]'>Armoured</A> ,
|
||||
<A href='byond://?_src_=holder;simplemake=constructbuilder;mob=[M.UID()]'>Builder</A> ,
|
||||
<A href='byond://?_src_=holder;simplemake=constructwraith;mob=[M.UID()]'>Wraith</A> \]
|
||||
<A href='byond://?_src_=holder;simplemake=shade;mob=[M.UID()]'>Shade</A>
|
||||
<A href='byond://?_src_=holder;simplemake=observer;mob=[mob_uid]'>Observer</A> |
|
||||
\[ Alien: <A href='byond://?_src_=holder;simplemake=drone;mob=[mob_uid]'>Drone</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=hunter;mob=[mob_uid]'>Hunter</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=queen;mob=[mob_uid]'>Queen</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=sentinel;mob=[mob_uid]'>Sentinel</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=larva;mob=[mob_uid]'>Larva</A> \]
|
||||
<A href='byond://?_src_=holder;simplemake=human;mob=[mob_uid]'>Human</A>
|
||||
\[ slime: <A href='byond://?_src_=holder;simplemake=slime;mob=[mob_uid]'>Baby</A>,
|
||||
<A href='byond://?_src_=holder;simplemake=adultslime;mob=[mob_uid]'>Adult</A> \]
|
||||
<A href='byond://?_src_=holder;simplemake=monkey;mob=[mob_uid]'>Monkey</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=robot;mob=[mob_uid]'>Cyborg</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=cat;mob=[mob_uid]'>Cat</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=runtime;mob=[mob_uid]'>Runtime</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=corgi;mob=[mob_uid]'>Corgi</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=ian;mob=[mob_uid]'>Ian</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=crab;mob=[mob_uid]'>Crab</A> |
|
||||
<A href='byond://?_src_=holder;simplemake=coffee;mob=[mob_uid]'>Coffee</A> |
|
||||
\[ Construct: <A href='byond://?_src_=holder;simplemake=constructarmoured;mob=[mob_uid]'>Armoured</A> ,
|
||||
<A href='byond://?_src_=holder;simplemake=constructbuilder;mob=[mob_uid]'>Builder</A> ,
|
||||
<A href='byond://?_src_=holder;simplemake=constructwraith;mob=[mob_uid]'>Wraith</A> \]
|
||||
<A href='byond://?_src_=holder;simplemake=shade;mob=[mob_uid]'>Shade</A>
|
||||
"}
|
||||
|
||||
if(M.client)
|
||||
body += {"<br><br>
|
||||
<b>Other actions:</b>
|
||||
<br>
|
||||
<A href='byond://?_src_=holder;forcespeech=[M.UID()]'>Forcesay</A> |
|
||||
<A href='byond://?_src_=holder;aroomwarp=[M.UID()]'>Admin Room</A> |
|
||||
<A href='byond://?_src_=holder;tdome1=[M.UID()]'>Thunderdome 1</A> |
|
||||
<A href='byond://?_src_=holder;tdome2=[M.UID()]'>Thunderdome 2</A> |
|
||||
<A href='byond://?_src_=holder;tdomeadmin=[M.UID()]'>Thunderdome Admin</A> |
|
||||
<A href='byond://?_src_=holder;tdomeobserve=[M.UID()]'>Thunderdome Observer</A> |
|
||||
<A href='byond://?_src_=holder;contractor_stop=[M.UID()]'>Stop Syndicate Jail Timer</A> |
|
||||
<A href='byond://?_src_=holder;contractor_start=[M.UID()]'>Start Syndicate Jail Timer</A> |
|
||||
<A href='byond://?_src_=holder;contractor_release=[M.UID()]'>Release now from Syndicate Jail</A> |
|
||||
<A href='byond://?_src_=holder;forcespeech=[mob_uid]'>Forcesay</A> |
|
||||
<A href='byond://?_src_=holder;aroomwarp=[mob_uid]'>Admin Room</A> |
|
||||
<A href='byond://?_src_=holder;tdome1=[mob_uid]'>Thunderdome 1</A> |
|
||||
<A href='byond://?_src_=holder;tdome2=[mob_uid]'>Thunderdome 2</A> |
|
||||
<A href='byond://?_src_=holder;tdomeadmin=[mob_uid]'>Thunderdome Admin</A> |
|
||||
<A href='byond://?_src_=holder;tdomeobserve=[mob_uid]'>Thunderdome Observer</A> |
|
||||
<A href='byond://?_src_=holder;contractor_stop=[mob_uid]'>Stop Syndicate Jail Timer</A> |
|
||||
<A href='byond://?_src_=holder;contractor_start=[mob_uid]'>Start Syndicate Jail Timer</A> |
|
||||
<A href='byond://?_src_=holder;contractor_release=[mob_uid]'>Release now from Syndicate Jail</A> |
|
||||
"}
|
||||
|
||||
body += {"<br>
|
||||
|
||||
@@ -3630,6 +3630,38 @@
|
||||
var/mob/about_to_be_banned = locateUID(href_list["adminalert"])
|
||||
usr.client.cmd_admin_alert_message(about_to_be_banned)
|
||||
|
||||
else if(href_list["clientmodcheck"])
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
|
||||
var/client/C = locateUID(href_list["clientmodcheck"])
|
||||
if(!isclient(C))
|
||||
return
|
||||
|
||||
var/client_is_member = C.IsByondMember()
|
||||
var/byond_is_member = FALSE
|
||||
|
||||
var/list/client_byond_data = C.retrieve_byondacc_data()
|
||||
if(!length(client_byond_data))
|
||||
alert(src, "BYOND is down so we cant check this - oops")
|
||||
return
|
||||
|
||||
if("general" in client_byond_data)
|
||||
var/list/general = client_byond_data["general"]
|
||||
if("is_member" in general)
|
||||
byond_is_member = (general["is_member"] == "1") // We want to check if the value is EXACTLY "1" - do not TRUE this or shorten the expression
|
||||
|
||||
if(!client_is_member && !byond_is_member)
|
||||
alert(usr, "Client [C.ckey] is unlikely to be using a modified client\nNot member on client or BYOND servers")
|
||||
else if(client_is_member && byond_is_member)
|
||||
alert(usr, "Client [C.ckey] is unlikely to be using a modified client\nBYOND member on client and BYOND servers")
|
||||
else if(!client_is_member && byond_is_member)
|
||||
alert(usr, "Client [C.ckey] is unlikely to be using a modified client\nBYOND member on server but not BYOND servers - possibly hidden donor status")
|
||||
else if(client_is_member && !byond_is_member)
|
||||
alert(usr, "Client [C.ckey] MAY BE USING A MODIFIED CLIENT\nBYOND member on client but not BYOND servers\nNote that their membership may have just expired")
|
||||
else
|
||||
alert(usr, "Client [C.ckey] had a membership that didnt make sense (C: [client_is_member] | B: [byond_is_member])\nInform AA please")
|
||||
|
||||
else if(href_list["spawnjsondatum"])
|
||||
// Get the name and JSON to spawn
|
||||
var/datum/db_query/dbq = SSdbcore.NewQuery("SELECT slotname, slotjson FROM json_datum_saves WHERE ckey=:ckey AND id=:id", list(
|
||||
|
||||
Reference in New Issue
Block a user