mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-27 14:46:16 +01:00
@@ -788,6 +788,7 @@
|
||||
#include "code\modules\admin\ToRban.dm"
|
||||
#include "code\modules\admin\DB ban\functions.dm"
|
||||
#include "code\modules\admin\permissionverbs\permissionedit.dm"
|
||||
#include "code\modules\admin\permissionverbs\permsission lists.dm"
|
||||
#include "code\modules\admin\verbs\adminhelp.dm"
|
||||
#include "code\modules\admin\verbs\adminjump.dm"
|
||||
#include "code\modules\admin\verbs\adminpm.dm"
|
||||
@@ -835,6 +836,7 @@
|
||||
#include "code\modules\aurora\aurora_areas.dm"
|
||||
#include "code\modules\aurora\banner.dm"
|
||||
#include "code\modules\aurora\bluespacetech.dm"
|
||||
#include "code\modules\aurora\duty officer.dm"
|
||||
#include "code\modules\aurora\intern.dm"
|
||||
#include "code\modules\aurora\recycler.dm"
|
||||
#include "code\modules\aurora\weldbackpack.dm"
|
||||
@@ -1048,6 +1050,8 @@
|
||||
#include "code\modules\mob\living\carbon\alien\death.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\emote.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\life.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\login.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\logout.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\progression.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\say.dm"
|
||||
#include "code\modules\mob\living\carbon\alien\update_icons.dm"
|
||||
|
||||
@@ -179,9 +179,9 @@ var/list/alldepartments = list("Central Command")
|
||||
|
||||
/proc/Centcomm_fax(var/sent, var/sentname, var/mob/Sender)
|
||||
|
||||
var/msg = "\blue <b><font color='orange'>CENTCOMM FAX: </font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<a href='?_src_=holder;CentcommFaxReply=\ref[Sender]'>RPLY</a>)</b>: Receiving '[sentname]' via secure connection ... <a href='?_src_=holder;CentcommFaxView=\ref[sent]'>view message</a>"
|
||||
var/msg = "\blue <b><font color='orange'>CENTCOMM FAX: </font>[key_name(Sender,0,1,0)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<a href='?_src_=holder;CentcommFaxReply=\ref[Sender]'>RPLY</a>)</b>: Receiving '[sentname]' via secure connection ... <a href='?_src_=holder;CentcommFaxView=\ref[sent]'>view message</a>"
|
||||
for(var/client/C in admins)
|
||||
if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights) || (R_FUN & C.holder.rights))
|
||||
if(C.holder.rights & (R_ADMIN|R_DUTYOFF|R_FUN))
|
||||
C << msg
|
||||
|
||||
proc/SendFax(var/sent, var/sentname, var/mob/Sender, var/dpt)
|
||||
|
||||
@@ -323,6 +323,7 @@ proc/tg_list2text(list/list, glue=",")
|
||||
if(rights & R_SPAWN) . += "[seperator]+SPAWN"
|
||||
if(rights & R_MOD) . += "[seperator]+MODERATOR"
|
||||
if(rights & R_DEV) . += "[seperator]+DEVELOPER"
|
||||
if(rights & R_DUTYOFF) . += "[seperator]+DUTYOFFICER"
|
||||
return .
|
||||
|
||||
/proc/ui_style2icon(ui_style)
|
||||
|
||||
@@ -68,6 +68,8 @@ datum/controller/vote
|
||||
if(auto_muted && !ooc_allowed)
|
||||
auto_muted = 0
|
||||
ooc_allowed = !( ooc_allowed )
|
||||
ooc_dev_allowed = 1 //Because
|
||||
ooc_mod_allowed = 1 //Because
|
||||
world << "<b>The OOC channel has been automatically enabled due to vote end.</b>"
|
||||
log_admin("OOC was toggled automatically due to vote end.")
|
||||
message_admins("OOC has been toggled on automatically.")
|
||||
|
||||
@@ -12,6 +12,9 @@ client
|
||||
usr << "\red You need to be an administrator to access this."
|
||||
return
|
||||
|
||||
if(!holder.rights & (R_MOD|R_ADMIN|R_FUN|R_DEV))
|
||||
usr << "\red You need to be an admin/dev to access this."
|
||||
return
|
||||
|
||||
var/title = ""
|
||||
var/body = ""
|
||||
@@ -416,7 +419,9 @@ client
|
||||
if( (usr.client != src) || !src.holder )
|
||||
return
|
||||
if(href_list["Vars"])
|
||||
debug_variables(locate(href_list["Vars"]))
|
||||
if(!holder.rights & (R_ADMIN|R_MOD|R_FUN|R_DEV))
|
||||
usr << "This can only be used on instances of type /mob"
|
||||
debug_variables(locate(href_list["Vars"]))
|
||||
|
||||
//~CARN: for renaming mobs (updates their name, real_name, mind.name, their ID/PDA and datacore records).
|
||||
else if(href_list["rename"])
|
||||
@@ -532,7 +537,7 @@ client
|
||||
href_list["datumrefresh"] = href_list["godmode"]
|
||||
|
||||
else if(href_list["gib"])
|
||||
if(!check_rights(0)) return
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
|
||||
var/mob/M = locate(href_list["gib"])
|
||||
if(!istype(M))
|
||||
@@ -564,7 +569,7 @@ client
|
||||
usr.client.cmd_admin_drop_everything(M)
|
||||
|
||||
else if(href_list["direct_control"])
|
||||
if(!check_rights(0)) return
|
||||
if(!check_rights(R_DEBUG|R_DEV)) return
|
||||
|
||||
var/mob/M = locate(href_list["direct_control"])
|
||||
if(!istype(M))
|
||||
|
||||
@@ -34,6 +34,7 @@ datum/mind
|
||||
var/name //replaces mob/var/original_name
|
||||
var/mob/living/current
|
||||
var/mob/living/original //TODO: remove.not used in any meaningful way ~Carn. First I'll need to tweak the way silicon-mobs handle minds.
|
||||
var/mob/living/admin_mob_placeholder = null //Used to return to your body without varedit -Sounds-
|
||||
var/active = 0
|
||||
|
||||
var/memory
|
||||
|
||||
@@ -838,7 +838,7 @@ var/list/datum/dna/hivemind_bank = list()
|
||||
|
||||
var/mob/living/carbon/T = changeling_sting(40,/mob/proc/changeling_DEATHsting, 0)
|
||||
if(!T) return 0
|
||||
T << "<span class='danger'>You feel a small prick and your chest becomes tight.</span>"
|
||||
T << "<span class='danger'>Everything is starting to hurt... I better get some help..</span>"
|
||||
T.silent = 10
|
||||
T.Paralyse(10)
|
||||
T.make_jittery(1000)
|
||||
|
||||
@@ -64,21 +64,21 @@ var/list/datum/power/changeling/powerinstances = list()
|
||||
|
||||
/datum/power/changeling/deaf_sting
|
||||
name = "Deaf Sting"
|
||||
desc = "We silently sting a human, completely deafening them for a short time."
|
||||
desc = "We sting a human, completely deafening them for a short time."
|
||||
genomecost = 1
|
||||
allowduringlesserform = 1
|
||||
verbpath = /mob/proc/changeling_deaf_sting
|
||||
|
||||
/datum/power/changeling/blind_sting
|
||||
name = "Blind Sting"
|
||||
desc = "We silently sting a human, completely blinding them for a short time."
|
||||
name = "Blinding Sting"
|
||||
desc = "With this, we completely blind a human for a short time."
|
||||
genomecost = 2
|
||||
allowduringlesserform = 1
|
||||
verbpath = /mob/proc/changeling_blind_sting
|
||||
|
||||
/datum/power/changeling/silence_sting
|
||||
name = "Silence Sting"
|
||||
desc = "We silently sting a human, completely silencing them for a short time."
|
||||
desc = "We sting a human, completely silencing them for a short time."
|
||||
helptext = "Does not provide a warning to a victim that they have been stung, until they try to speak and cannot."
|
||||
genomecost = 3
|
||||
allowduringlesserform = 1
|
||||
@@ -121,7 +121,7 @@ var/list/datum/power/changeling/powerinstances = list()
|
||||
|
||||
/datum/power/changeling/DeathSting
|
||||
name = "Death Sting"
|
||||
desc = "We silently sting a human, filling him with potent chemicals. His rapid death is all but assured."
|
||||
desc = "We impale a human, filling him with potent chemicals. His rapid death is all but assured."
|
||||
genomecost = 10
|
||||
verbpath = /mob/proc/changeling_DEATHsting
|
||||
|
||||
|
||||
@@ -184,6 +184,8 @@
|
||||
return list(access_cent_general, access_cent_living)
|
||||
if("Medical Officer")
|
||||
return list(access_cent_general, access_cent_living, access_cent_medical)
|
||||
if("Duty Officer")
|
||||
return list(access_cent_general, access_cent_living, access_cent_medical, access_cent_captain)
|
||||
if("Death Commando")
|
||||
return list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
|
||||
if("Research Officer")
|
||||
|
||||
@@ -71,7 +71,7 @@ var/global/normal_ooc_colour = "#002eb8"
|
||||
var/display_name = src.key
|
||||
if(holder)
|
||||
if(holder.fakekey)
|
||||
if(C.holder)
|
||||
if(C.holder & (holder.rights & (R_ADMIN|R_MOD)))
|
||||
display_name = "[holder.fakekey]/([src.key])"
|
||||
else
|
||||
display_name = holder.fakekey
|
||||
@@ -164,18 +164,21 @@ var/global/normal_ooc_colour = "#002eb8"
|
||||
continue
|
||||
var/client/C = M.client
|
||||
if (C in admins)
|
||||
continue //they are handled after that
|
||||
if(C.holder.rights & (R_ADMIN|R_MOD|R_DEV))
|
||||
continue //they are handled after that
|
||||
|
||||
if(C.prefs.toggles & CHAT_LOOC)
|
||||
var/display_name = src.key
|
||||
if(holder)
|
||||
if(holder.fakekey)
|
||||
if(C.holder)
|
||||
if(C.holder && C.holder.rights & (R_ADMIN|R_MOD|R_DEV))
|
||||
display_name = "[holder.fakekey]/([src.key])"
|
||||
else
|
||||
display_name = holder.fakekey
|
||||
C << "<font color='#6699CC'><span class='ooc'><span class='prefix'>LOOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
for(var/client/C in admins)
|
||||
if(C.holder.rights & R_DUTYOFF && (!C.holder.rights & (R_ADMIN|R_MOD|R_DEV)))
|
||||
continue
|
||||
if(C.prefs.toggles & CHAT_LOOC)
|
||||
var/prefix = "(R)LOOC"
|
||||
if (C.mob in heard)
|
||||
|
||||
+107
-96
@@ -46,6 +46,10 @@ var/global/floorIsLava = 0
|
||||
usr << "Error: you are not an admin!"
|
||||
return
|
||||
|
||||
if(!src.rights & (R_ADMIN|R_MOD|R_FUN|R_DEV))
|
||||
usr << "Error: you are not an admin!"
|
||||
return
|
||||
|
||||
var/body = "<html><head><center><title>Options for [M.key]</title></head>"
|
||||
body += "<body>Options panel for <b>[M]</b>"
|
||||
if(M.client)
|
||||
@@ -122,98 +126,100 @@ var/global/floorIsLava = 0
|
||||
"}
|
||||
|
||||
if (M.client)
|
||||
if(!istype(M, /mob/new_player))
|
||||
body += "<br><br>"
|
||||
body += "<b>Transformation:</b>"
|
||||
body += "<br>"
|
||||
if(check_rights(R_ADMIN|R_MOD|R_FUN,0))
|
||||
if(!istype(M, /mob/new_player))
|
||||
body += "<br><br>"
|
||||
body += "<b>Transformation:</b>"
|
||||
body += "<br>"
|
||||
|
||||
//Monkey
|
||||
if(ismonkey(M))
|
||||
body += "<B>Monkeyized</B> | "
|
||||
else
|
||||
body += "<A href='?src=\ref[src];monkeyone=\ref[M]'>Monkeyize</A> | "
|
||||
//Monkey
|
||||
if(ismonkey(M))
|
||||
body += "<B>Monkeyized</B> | "
|
||||
else
|
||||
body += "<A href='?src=\ref[src];monkeyone=\ref[M]'>Monkeyize</A> | "
|
||||
|
||||
//Corgi
|
||||
if(iscorgi(M))
|
||||
body += "<B>Corgized</B> | "
|
||||
else
|
||||
body += "<A href='?src=\ref[src];corgione=\ref[M]'>Corgize</A> | "
|
||||
//Corgi
|
||||
if(iscorgi(M))
|
||||
body += "<B>Corgized</B> | "
|
||||
else
|
||||
body += "<A href='?src=\ref[src];corgione=\ref[M]'>Corgize</A> | "
|
||||
|
||||
//AI / Cyborg
|
||||
if(isAI(M))
|
||||
body += "<B>Is an AI</B> "
|
||||
else if(ishuman(M))
|
||||
body += {"<A href='?src=\ref[src];makeai=\ref[M]'>Make AI</A> |
|
||||
<A href='?src=\ref[src];makerobot=\ref[M]'>Make Robot</A> |
|
||||
<A href='?src=\ref[src];makeslime=\ref[M]'>Make slime</A> |
|
||||
<A href='?src=\ref[src];makealien=\ref[M]'>Make Alien(BROKEN)</A> |
|
||||
//AI / Cyborg
|
||||
if(isAI(M))
|
||||
body += "<B>Is an AI</B> "
|
||||
else if(ishuman(M))
|
||||
body += {"<A href='?src=\ref[src];makeai=\ref[M]'>Make AI</A> |
|
||||
<A href='?src=\ref[src];makerobot=\ref[M]'>Make Robot</A> |
|
||||
<A href='?src=\ref[src];makeslime=\ref[M]'>Make slime</A> |
|
||||
<A href='?src=\ref[src];makealien=\ref[M]'>Make Alien(BROKEN)</A> |
|
||||
"}
|
||||
|
||||
//Simple Animals
|
||||
if(isanimal(M))
|
||||
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Re-Animalize</A> | "
|
||||
else
|
||||
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Animalize</A> | "
|
||||
|
||||
// DNA2 - Admin Hax
|
||||
if(M.dna && iscarbon(M))
|
||||
body += "<br><br>"
|
||||
body += "<b>DNA Blocks:</b><br><table border='2'><tr><th> </th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th>"
|
||||
var/bname
|
||||
for(var/block=1;block<=DNA_SE_LENGTH;block++)
|
||||
if(((block-1)%5)==0)
|
||||
body += "</tr><tr><th>[block-1]</th>"
|
||||
bname = assigned_blocks[block]
|
||||
body += "<td>"
|
||||
if(bname)
|
||||
var/bstate=M.dna.GetSEState(block)
|
||||
var/bcolor="[(bstate)?"#006600":"#ff0000"]"
|
||||
body += "<A href='?src=\ref[src];togmutate=\ref[M];block=[block]' style='color:[bcolor];'>[bname]</A><sub>[block]</sub>"
|
||||
else
|
||||
body += "[block]"
|
||||
body+="</td>"
|
||||
body += "</tr></table>"
|
||||
|
||||
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='?src=\ref[src];simplemake=observer;mob=\ref[M]'>Observer</A> |
|
||||
<A href='?src=\ref[src];simplemake=robot;mob=\ref[M]'>Cyborg</A> |
|
||||
<A href='?src=\ref[src];simplemake=human;mob=\ref[M]'>Human</A><br>
|
||||
|
||||
Slime: <A href='?src=\ref[src];simplemake=slime;mob=\ref[M]'>Baby</A> |
|
||||
<A href='?src=\ref[src];simplemake=adultslime;mob=\ref[M]'>Adult</A><br>
|
||||
|
||||
Animal: <A href='?src=\ref[src];simplemake=monkey;mob=\ref[M]'>Monkey</A> |
|
||||
<A href='?src=\ref[src];simplemake=cat;mob=\ref[M]'>Cat</A> |
|
||||
<A href='?src=\ref[src];simplemake=runtime;mob=\ref[M]'>Runtime</A> |
|
||||
<A href='?src=\ref[src];simplemake=corgi;mob=\ref[M]'>Corgi</A> |
|
||||
<A href='?src=\ref[src];simplemake=ian;mob=\ref[M]'>Ian</A> |
|
||||
<A href='?src=\ref[src];simplemake=crab;mob=\ref[M]'>Crab</A> |
|
||||
<A href='?src=\ref[src];simplemake=coffee;mob=\ref[M]'>Coffee</A> |
|
||||
<A href='?src=\ref[src];simplemake=nymph;mob=\ref[M]'>Nymph</A><br>
|
||||
|
||||
Construct: <A href='?src=\ref[src];simplemake=constructarmoured;mob=\ref[M]'>Armoured</A> |
|
||||
<A href='?src=\ref[src];simplemake=constructbuilder;mob=\ref[M]'>Builder</A> |
|
||||
<A href='?src=\ref[src];simplemake=constructwraith;mob=\ref[M]'>Wraith</A> |
|
||||
<A href='?src=\ref[src];simplemake=shade;mob=\ref[M]'>Shade</A><br>
|
||||
|
||||
Alien: <A href='?src=\ref[src];simplemake=drone;mob=\ref[M]'>Drone</A> |
|
||||
<A href='?src=\ref[src];simplemake=hunter;mob=\ref[M]'>Hunter</A> |
|
||||
<A href='?src=\ref[src];simplemake=queen;mob=\ref[M]'>Queen</A> |
|
||||
<A href='?src=\ref[src];simplemake=sentinel;mob=\ref[M]'>Sentinel</A> |
|
||||
<A href='?src=\ref[src];simplemake=larva;mob=\ref[M]'>Larva</A><br>
|
||||
"}
|
||||
|
||||
//Simple Animals
|
||||
if(isanimal(M))
|
||||
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Re-Animalize</A> | "
|
||||
else
|
||||
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Animalize</A> | "
|
||||
|
||||
// DNA2 - Admin Hax
|
||||
if(M.dna && iscarbon(M))
|
||||
body += "<br><br>"
|
||||
body += "<b>DNA Blocks:</b><br><table border='2'><tr><th> </th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th>"
|
||||
var/bname
|
||||
for(var/block=1;block<=DNA_SE_LENGTH;block++)
|
||||
if(((block-1)%5)==0)
|
||||
body += "</tr><tr><th>[block-1]</th>"
|
||||
bname = assigned_blocks[block]
|
||||
body += "<td>"
|
||||
if(bname)
|
||||
var/bstate=M.dna.GetSEState(block)
|
||||
var/bcolor="[(bstate)?"#006600":"#ff0000"]"
|
||||
body += "<A href='?src=\ref[src];togmutate=\ref[M];block=[block]' style='color:[bcolor];'>[bname]</A><sub>[block]</sub>"
|
||||
else
|
||||
body += "[block]"
|
||||
body+="</td>"
|
||||
body += "</tr></table>"
|
||||
|
||||
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='?src=\ref[src];simplemake=observer;mob=\ref[M]'>Observer</A> |
|
||||
<A href='?src=\ref[src];simplemake=robot;mob=\ref[M]'>Cyborg</A> |
|
||||
<A href='?src=\ref[src];simplemake=human;mob=\ref[M]'>Human</A><br>
|
||||
|
||||
Slime: <A href='?src=\ref[src];simplemake=slime;mob=\ref[M]'>Baby</A> |
|
||||
<A href='?src=\ref[src];simplemake=adultslime;mob=\ref[M]'>Adult</A><br>
|
||||
|
||||
Animal: <A href='?src=\ref[src];simplemake=monkey;mob=\ref[M]'>Monkey</A> |
|
||||
<A href='?src=\ref[src];simplemake=cat;mob=\ref[M]'>Cat</A> |
|
||||
<A href='?src=\ref[src];simplemake=runtime;mob=\ref[M]'>Runtime</A> |
|
||||
<A href='?src=\ref[src];simplemake=corgi;mob=\ref[M]'>Corgi</A> |
|
||||
<A href='?src=\ref[src];simplemake=ian;mob=\ref[M]'>Ian</A> |
|
||||
<A href='?src=\ref[src];simplemake=crab;mob=\ref[M]'>Crab</A> |
|
||||
<A href='?src=\ref[src];simplemake=coffee;mob=\ref[M]'>Coffee</A> |
|
||||
<A href='?src=\ref[src];simplemake=nymph;mob=\ref[M]'>Nymph</A><br>
|
||||
|
||||
Construct: <A href='?src=\ref[src];simplemake=constructarmoured;mob=\ref[M]'>Armoured</A> |
|
||||
<A href='?src=\ref[src];simplemake=constructbuilder;mob=\ref[M]'>Builder</A> |
|
||||
<A href='?src=\ref[src];simplemake=constructwraith;mob=\ref[M]'>Wraith</A> |
|
||||
<A href='?src=\ref[src];simplemake=shade;mob=\ref[M]'>Shade</A><br>
|
||||
|
||||
Alien: <A href='?src=\ref[src];simplemake=drone;mob=\ref[M]'>Drone</A> |
|
||||
<A href='?src=\ref[src];simplemake=hunter;mob=\ref[M]'>Hunter</A> |
|
||||
<A href='?src=\ref[src];simplemake=queen;mob=\ref[M]'>Queen</A> |
|
||||
<A href='?src=\ref[src];simplemake=sentinel;mob=\ref[M]'>Sentinel</A> |
|
||||
<A href='?src=\ref[src];simplemake=larva;mob=\ref[M]'>Larva</A><br>
|
||||
"}
|
||||
|
||||
if (M.client)
|
||||
body += {"<br><br>
|
||||
<b>Other actions:</b>
|
||||
<br>
|
||||
<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> |
|
||||
<A href='?src=\ref[src];tdome1=\ref[M]'>Thunderdome 1</A> |
|
||||
<A href='?src=\ref[src];tdome2=\ref[M]'>Thunderdome 2</A> |
|
||||
<A href='?src=\ref[src];tdomeadmin=\ref[M]'>Thunderdome Admin</A> |
|
||||
<A href='?src=\ref[src];tdomeobserve=\ref[M]'>Thunderdome Observer</A> |
|
||||
"}
|
||||
if(check_rights(R_ADMIN|R_FUN,0))
|
||||
body += {"<br><br>
|
||||
<b>Other actions:</b>
|
||||
<br>
|
||||
<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> |
|
||||
<A href='?src=\ref[src];tdome1=\ref[M]'>Thunderdome 1</A> |
|
||||
<A href='?src=\ref[src];tdome2=\ref[M]'>Thunderdome 2</A> |
|
||||
<A href='?src=\ref[src];tdomeadmin=\ref[M]'>Thunderdome Admin</A> |
|
||||
<A href='?src=\ref[src];tdomeobserve=\ref[M]'>Thunderdome Observer</A> |
|
||||
"}
|
||||
|
||||
body += {"<br>
|
||||
</center></body></html>
|
||||
@@ -589,14 +595,16 @@ var/global/floorIsLava = 0
|
||||
usr << browse(dat, "window=ban;size=400x400")
|
||||
|
||||
/datum/admins/proc/Game()
|
||||
if(!check_rights(0)) return
|
||||
if(!check_rights(R_ADMIN|R_FUN)) return
|
||||
|
||||
var/dat = {"
|
||||
<center><B>Game Panel</B></center><hr>\n
|
||||
<A href='?src=\ref[src];c_mode=1'>Change Game Mode</A><br>
|
||||
"}
|
||||
if(master_mode == "secret")
|
||||
dat += "<A href='?src=\ref[src];f_secret=1'>(Force Secret Mode)</A><br>"
|
||||
var/dat = ""
|
||||
if(check_rights(R_ADMIN,0))
|
||||
dat += {"
|
||||
<center><B>Game Panel</B></center><hr>\n
|
||||
<A href='?src=\ref[src];c_mode=1'>Change Game Mode</A><br>
|
||||
"}
|
||||
if(master_mode == "secret")
|
||||
dat += "<A href='?src=\ref[src];f_secret=1'>(Force Secret Mode)</A><br>"
|
||||
|
||||
dat += {"
|
||||
<BR>
|
||||
@@ -604,10 +612,13 @@ var/global/floorIsLava = 0
|
||||
<A href='?src=\ref[src];quick_create_object=1'>Quick Create Object</A><br>
|
||||
<A href='?src=\ref[src];create_turf=1'>Create Turf</A><br>
|
||||
<A href='?src=\ref[src];create_mob=1'>Create Mob</A><br>
|
||||
<br><A href='?src=\ref[src];vsc=airflow'>Edit Airflow Settings</A><br>
|
||||
<A href='?src=\ref[src];vsc=plasma'>Edit Plasma Settings</A><br>
|
||||
<A href='?src=\ref[src];vsc=default'>Choose a default ZAS setting</A><br>
|
||||
"}
|
||||
if(check_rights(R_ADMIN,0))
|
||||
dat += {"
|
||||
<br><A href='?src=\ref[src];vsc=airflow'>Edit Airflow Settings</A><br>
|
||||
<A href='?src=\ref[src];vsc=plasma'>Edit Plasma Settings</A><br>
|
||||
<A href='?src=\ref[src];vsc=default'>Choose a default ZAS setting</A><br>
|
||||
"}
|
||||
|
||||
usr << browse(dat, "window=admin2;size=210x280")
|
||||
return
|
||||
|
||||
@@ -42,6 +42,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
|
||||
if("spawn","create") rights |= R_SPAWN
|
||||
if("mod") rights |= R_MOD
|
||||
if("developer") rights |= R_DEV
|
||||
if("dutyofficer") rights |= R_DUTYOFF
|
||||
admin_ranks[rank] = rights
|
||||
previous_rights = rights
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
//admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless
|
||||
var/list/admin_verbs_default = list(
|
||||
var/list/admin_verbs_default = list(
|
||||
/client/proc/player_panel,
|
||||
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
|
||||
/client/proc/deadmin_self, /*destroys our own admin datum so we can play as a regular player*/
|
||||
@@ -101,6 +102,7 @@ var/list/admin_verbs_sounds = list(
|
||||
var/list/admin_verbs_fun = list(
|
||||
//Hey look it's in order of letters ^_^
|
||||
/datum/admins/proc/access_news_network,
|
||||
/datum/admins/proc/Game,
|
||||
/datum/admins/proc/toggle_aliens,
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/client/proc/admin_ghost,
|
||||
@@ -138,6 +140,7 @@ var/list/admin_verbs_fun = list(
|
||||
/client/proc/send_space_ninja,
|
||||
/client/proc/toggle_view_range
|
||||
)
|
||||
|
||||
var/list/admin_verbs_dev = list(
|
||||
/client/proc/dsay,
|
||||
/client/proc/togglebuildmodeself,
|
||||
@@ -388,6 +391,7 @@ var/list/admin_verbs_mod = list(
|
||||
/client/proc/toggle_power_update_profiling,
|
||||
/client/proc/atmos_toggle_debug
|
||||
)
|
||||
*/
|
||||
|
||||
/client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs
|
||||
set name = "Adminverbs - Hide Most"
|
||||
@@ -445,6 +449,9 @@ var/list/admin_verbs_mod = list(
|
||||
else if(istype(mob,/mob/new_player))
|
||||
src << "<font color='red'>Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.</font>"
|
||||
else
|
||||
//first lets see if this works
|
||||
if(!holder.original_mob)
|
||||
holder.original_mob = mob
|
||||
//ghostize
|
||||
var/mob/body = mob
|
||||
body.ghostize(1)
|
||||
|
||||
@@ -8,6 +8,8 @@ var/list/admin_datums = list()
|
||||
|
||||
var/datum/marked_datum
|
||||
|
||||
var/mob/living/original_mob = null //used to return to body from Duty Officers
|
||||
|
||||
var/admincaster_screen = 0 //See newscaster.dm under machinery for a full description
|
||||
var/datum/feed_message/admincaster_feed_message = new /datum/feed_message //These two will act as holders.
|
||||
var/datum/feed_channel/admincaster_feed_channel = new /datum/feed_channel
|
||||
|
||||
@@ -0,0 +1,417 @@
|
||||
//admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless
|
||||
var/list/admin_verbs_default = list(
|
||||
/client/proc/deadmin_self, /*destroys our own admin datum so we can play as a regular player*/
|
||||
/client/proc/hide_verbs, /*hides all our adminverbs*/
|
||||
)
|
||||
|
||||
var/list/admin_verbs_admin = list(
|
||||
// /datum/admins/proc/show_traitor_panel, /*interface which shows a mob's mind*/ -Removed due to rare practical use. Moved to debug verbs ~Errorage
|
||||
// /client/proc/sendmob, /*sends a mob somewhere*/ -Removed due to it needing two sorting procs to work, which were executed every time an admin right-clicked. ~Errorage
|
||||
// /client/proc/toggle_hear_deadcast, /*toggles whether we hear deadchat*/
|
||||
// /client/proc/deadchat /*toggles deadchat on/off*/
|
||||
/datum/admins/proc/announce, /*priority announce something to all clients.*/
|
||||
/datum/admins/proc/access_news_network, /*allows access of newscasters*/
|
||||
/datum/admins/proc/PlayerNotes,
|
||||
/datum/admins/proc/show_player_info,
|
||||
/datum/admins/proc/show_player_panel, /*shows an interface for individual players, with various links (links require additional flags*/
|
||||
/datum/admins/proc/show_skills,
|
||||
/datum/admins/proc/toggleenter, /*toggles whether people can join the current game*/
|
||||
/datum/admins/proc/toggleguests, /*toggles whether guests can join the current game*/
|
||||
/datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/
|
||||
/datum/admins/proc/toggledevooc,
|
||||
/datum/admins/proc/togglemodooc,
|
||||
/datum/admins/proc/togglelooc,
|
||||
/datum/admins/proc/togglemodlooc,
|
||||
/datum/admins/proc/toggledevlooc,
|
||||
/datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/
|
||||
/datum/admins/proc/toggledsay, /*toggles dsay on/off for everyone*/
|
||||
/datum/admins/proc/view_atk_log, /*shows the server combat-log, doesn't do anything presently*/
|
||||
/datum/admins/proc/view_txt_log, /*shows the server log (diary) for today*/
|
||||
/client/proc/admin_call_shuttle, /*allows us to call the emergency shuttle*/
|
||||
/client/proc/admin_cancel_shuttle, /*allows us to cancel the emergency shuttle, sending it back to centcomm*/
|
||||
/client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/
|
||||
/client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/
|
||||
/client/proc/alertlevels,
|
||||
/client/proc/allow_character_respawn, /* Allows a ghost to respawn */
|
||||
/client/proc/check_ai_laws, /*shows AI and borg laws*/
|
||||
/client/proc/check_antagonists,
|
||||
/client/proc/check_customitem_activity,
|
||||
/client/proc/check_words, /*displays cult-words*/
|
||||
/client/proc/cleartox,
|
||||
/client/proc/cmd_admin_check_contents, /*displays the contents of an instance*/
|
||||
/client/proc/cmd_admin_create_centcom_report,
|
||||
/client/proc/cmd_admin_change_custom_event,
|
||||
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
|
||||
/client/proc/cmd_admin_direct_narrate, /*send text directly to a player with no padding. Useful for narratives and fluff-text*/
|
||||
/client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/
|
||||
/client/proc/cmd_admin_pm_panel, /*admin-pm list*/
|
||||
/client/proc/cmd_admin_subtle_message, /*send an message to somebody as a 'voice in their head'*/
|
||||
/client/proc/cmd_admin_say, /*admin-only ooc chat*/
|
||||
/client/proc/cmd_admin_rejuvenate,
|
||||
/client/proc/cmd_admin_unwind,
|
||||
/client/proc/cmd_admin_wind,
|
||||
/client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/
|
||||
/client/proc/cmd_duty_say,
|
||||
/client/proc/cmd_mentor_check_new_players,
|
||||
/client/proc/cmd_mod_say,
|
||||
/client/proc/colorooc, /*allows us to set a custom colour for everythign we say in ooc*/
|
||||
/client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify*/
|
||||
/client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/
|
||||
/client/proc/free_slot, /*frees slot for chosen job*/
|
||||
/client/proc/game_panel, /*game panel, allows to change game-mode etc*/
|
||||
/client/proc/Getmob, /*teleports a mob to our location*/
|
||||
/client/proc/Getkey, /*teleports a mob with a certain ckey to our location*/
|
||||
/client/proc/getserverlog, /*allows us to fetch server logs (diary) for other days*/
|
||||
/client/proc/giveruntimelog, /*allows us to give access to runtime logs to somebody*/
|
||||
/client/proc/global_man_up,
|
||||
/client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/
|
||||
/client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/
|
||||
/client/proc/invisimin, /*allows our mob to go invisible/visible*/
|
||||
/client/proc/Jump,
|
||||
/client/proc/jumptocoord, /*we ghost and jump to a coordinate*/
|
||||
/client/proc/jumptokey, /*allows us to jump to the location of a mob with a certain ckey*/
|
||||
/client/proc/jumptomob, /*allows us to jump to a specific mob*/
|
||||
/client/proc/jumptoturf, /*allows us to jump to a specific turf*/
|
||||
/client/proc/man_up,
|
||||
/client/proc/player_panel, /*shows an interface for all players, with links to various panels (old style)*/
|
||||
/client/proc/player_panel_new, /*shows an interface for all players, with links to various panels*/
|
||||
/client/proc/response_team, // Response Teams admin verb
|
||||
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
|
||||
/client/proc/toggle_antagHUD_use,
|
||||
/client/proc/toggle_antagHUD_restrictions,
|
||||
/client/proc/toggleattacklogs,
|
||||
/client/proc/toggledebuglogs,
|
||||
/client/proc/toggleghostwriters,
|
||||
/client/proc/toggle_hear_radio, /*toggles whether we hear the radio*/
|
||||
/client/proc/toggledrones,
|
||||
/client/proc/toggleprayers,
|
||||
/client/proc/toggle_view_range, /*changes how far we can see*/
|
||||
/client/proc/secrets,
|
||||
/client/proc/set_ooc
|
||||
)
|
||||
|
||||
var/list/admin_verbs_ban = list(
|
||||
/client/proc/unban_panel,
|
||||
/client/proc/jobbans,
|
||||
/client/proc/warning_panel
|
||||
)
|
||||
|
||||
var/list/admin_verbs_sounds = list(
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/play_sound
|
||||
)
|
||||
|
||||
var/list/admin_verbs_fun = list(
|
||||
//Hey look it's in order of letters ^_^
|
||||
/datum/admins/proc/access_news_network,
|
||||
/datum/admins/proc/toggle_aliens,
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/client/proc/admin_ghost,
|
||||
/client/proc/alertlevels,
|
||||
/client/proc/check_ai_laws,
|
||||
/client/proc/cinematic,
|
||||
/client/proc/cmd_admin_add_freeform_ai_law,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/cmd_admin_change_custom_event,
|
||||
/client/proc/cmd_admin_create_centcom_report,
|
||||
/client/proc/cmd_admin_delete,
|
||||
/client/proc/cmd_admin_direct_narrate,
|
||||
/client/proc/cmd_admin_dress,
|
||||
/client/proc/cmd_admin_gib_self,
|
||||
/client/proc/cmd_admin_pm_context,
|
||||
/client/proc/cmd_admin_pm_panel,
|
||||
/client/proc/cmd_admin_subtle_message,
|
||||
/client/proc/cmd_admin_world_narrate,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/cmd_mod_say,
|
||||
/client/proc/debug_variables,
|
||||
/client/proc/drop_bomb,
|
||||
/client/proc/dsay,
|
||||
/client/proc/editappear,
|
||||
/client/proc/everyone_random,
|
||||
/client/proc/game_panel,
|
||||
/client/proc/Getmob,
|
||||
/client/proc/Getkey,
|
||||
/client/proc/hide_most_verbs,
|
||||
/client/proc/Jump,
|
||||
/client/proc/jumptokey,
|
||||
/client/proc/jumptomob,
|
||||
/client/proc/make_area_sound,
|
||||
/client/proc/make_sound,
|
||||
/client/proc/object_talk,
|
||||
/client/proc/one_click_antag,
|
||||
/client/proc/player_panel,
|
||||
/client/proc/secrets,
|
||||
/client/proc/send_space_ninja,
|
||||
/client/proc/toggle_view_range
|
||||
)
|
||||
|
||||
var/list/admin_verbs_dev = list(
|
||||
/datum/admins/proc/restart,
|
||||
/client/proc/admin_ghost,
|
||||
/client/proc/air_report,
|
||||
/client/proc/enable_debug_verbs,
|
||||
/client/proc/cmd_admin_delete,
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_make_powernets,
|
||||
/client/proc/cmd_debug_mob_lists,
|
||||
/client/proc/cmd_dev_bst,
|
||||
/client/proc/cmd_dev_say,
|
||||
/client/proc/cmd_dev_reset_gravity,
|
||||
/client/proc/cmd_dev_reset_floating,
|
||||
/client/proc/Debug2,
|
||||
/client/proc/debug_controller,
|
||||
/client/proc/debug_variables,
|
||||
/client/proc/dsay,
|
||||
/client/proc/getruntimelog,
|
||||
/client/proc/giveruntimelog,
|
||||
/client/proc/hide_most_verbs,
|
||||
/client/proc/kill_air,
|
||||
/client/proc/kill_airgroup,
|
||||
/client/proc/player_panel,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/togglebuildmodeself,
|
||||
/client/proc/toggledebuglogs,
|
||||
/client/proc/togglescopeslogs,
|
||||
/client/proc/ZASSettings
|
||||
)
|
||||
var/list/admin_verbs_spawn = list(
|
||||
/datum/admins/proc/spawn_atom, /*allows us to spawn instances*/
|
||||
/client/proc/respawn_character
|
||||
)
|
||||
var/list/admin_verbs_server = list(
|
||||
/datum/admins/proc/adrev,
|
||||
/datum/admins/proc/adspawn,
|
||||
/datum/admins/proc/adjump,
|
||||
/datum/admins/proc/delay,
|
||||
/datum/admins/proc/toggleaban,
|
||||
/datum/admins/proc/toggleAI,
|
||||
/datum/admins/proc/toggle_aliens,
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/datum/admins/proc/immreboot,
|
||||
/datum/admins/proc/startnow,
|
||||
/datum/admins/proc/restart,
|
||||
/client/proc/check_customitem_activity,
|
||||
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/everyone_random,
|
||||
/client/proc/nanomapgen_DumpImage,
|
||||
/client/proc/SDQL_query,
|
||||
/client/proc/SDQL2_query,
|
||||
/client/proc/Set_Holiday,
|
||||
/client/proc/ToRban,
|
||||
/client/proc/toggle_log_hrefs,
|
||||
/client/proc/toggle_random_events
|
||||
)
|
||||
|
||||
var/list/admin_verbs_debug = list(
|
||||
/datum/admins/proc/delay,
|
||||
/datum/admins/proc/restart,
|
||||
/client/proc/air_report,
|
||||
/client/proc/callproc,
|
||||
/client/proc/cmd_admin_delete,
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_make_powernets,
|
||||
/client/proc/cmd_debug_mob_lists,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/cmd_dev_reset_gravity,
|
||||
/client/proc/cmd_dev_reset_floating,
|
||||
/client/proc/Debug2,
|
||||
/client/proc/debug_controller,
|
||||
/client/proc/debug_variables,
|
||||
/client/proc/enable_debug_verbs,
|
||||
/client/proc/fillspace,
|
||||
/client/proc/getruntimelog,
|
||||
/client/proc/hide_activity,
|
||||
/client/proc/kill_air,
|
||||
/client/proc/kill_airgroup,
|
||||
/client/proc/show_distribution_map,
|
||||
/client/proc/toggledebuglogs,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/remake_distribution_map,
|
||||
/client/proc/ZASSettings,
|
||||
)
|
||||
|
||||
var/list/admin_verbs_possess = list(
|
||||
/proc/possess,
|
||||
/proc/release
|
||||
)
|
||||
|
||||
var/list/admin_verbs_permissions = list(
|
||||
/client/proc/edit_admin_permissions
|
||||
)
|
||||
|
||||
var/list/admin_verbs_rejuv = list(
|
||||
/client/proc/respawn_character
|
||||
)
|
||||
|
||||
var/list/admin_verbs_mod = list(
|
||||
/datum/admins/proc/PlayerNotes,
|
||||
/datum/admins/proc/show_player_info,
|
||||
/datum/admins/proc/show_skills,
|
||||
/datum/admins/proc/show_player_panel,
|
||||
/client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/
|
||||
/client/proc/check_antagonists, /*shows all antags*/
|
||||
/client/proc/check_ai_laws,
|
||||
/client/proc/cmd_admin_check_contents,
|
||||
/client/proc/cmd_admin_wind,
|
||||
/client/proc/cmd_admin_unwind,
|
||||
/client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/
|
||||
/client/proc/cmd_admin_pm_panel, /*admin-pm list*/
|
||||
/client/proc/cmd_admin_subtle_message, /*send an message to somebody as a 'voice in their head'*/
|
||||
/client/proc/cmd_mentor_check_new_players,
|
||||
/client/proc/cmd_mod_say,
|
||||
/client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game.*/
|
||||
/client/proc/dsay,
|
||||
/client/proc/hide_most_verbs,
|
||||
/client/proc/jobbans,
|
||||
/client/proc/player_panel,
|
||||
/client/proc/player_panel_new,
|
||||
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
|
||||
/client/proc/toggleattacklogs,
|
||||
/client/proc/toggledebuglogs,
|
||||
/client/proc/toggleprayers
|
||||
)
|
||||
|
||||
//verbs which can be hidden - needs work
|
||||
var/list/admin_verbs_hideable = list(
|
||||
/datum/admins/proc/access_news_network,
|
||||
/datum/admins/proc/adjump,
|
||||
/datum/admins/proc/adrev,
|
||||
/datum/admins/proc/adspawn,
|
||||
/datum/admins/proc/announce,
|
||||
/datum/admins/proc/delay,
|
||||
/datum/admins/proc/immreboot,
|
||||
/datum/admins/proc/restart,
|
||||
/datum/admins/proc/show_traitor_panel,
|
||||
/datum/admins/proc/startnow,
|
||||
/datum/admins/proc/toggleaban,
|
||||
/datum/admins/proc/toggleAI,
|
||||
/datum/admins/proc/toggle_aliens,
|
||||
/datum/admins/proc/toggleenter,
|
||||
/datum/admins/proc/toggleguests,
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/datum/admins/proc/view_txt_log,
|
||||
/datum/admins/proc/view_atk_log,
|
||||
/client/proc/admin_call_shuttle,
|
||||
/client/proc/admin_cancel_shuttle,
|
||||
/client/proc/admin_ghost,
|
||||
/client/proc/air_report,
|
||||
/client/proc/callproc,
|
||||
/client/proc/check_words,
|
||||
/client/proc/cinematic,
|
||||
/client/proc/cmd_admin_add_freeform_ai_law,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/cmd_admin_check_contents,
|
||||
/client/proc/cmd_admin_create_centcom_report,
|
||||
/client/proc/cmd_admin_direct_narrate,
|
||||
/client/proc/cmd_admin_dress,
|
||||
/client/proc/cmd_admin_gib_self,
|
||||
/client/proc/cmd_admin_subtle_message,
|
||||
/client/proc/cmd_admin_world_narrate,
|
||||
/client/proc/cmd_debug_make_powernets,
|
||||
/client/proc/cmd_debug_mob_lists,
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/colorooc,
|
||||
// /client/proc/deadchat,
|
||||
/client/proc/deadmin_self,
|
||||
/client/proc/Debug2,
|
||||
/client/proc/debug_controller,
|
||||
/client/proc/drop_bomb,
|
||||
/client/proc/enable_debug_verbs,
|
||||
/client/proc/everyone_random,
|
||||
/client/proc/kill_air,
|
||||
/client/proc/kill_airgroup,
|
||||
/client/proc/make_area_sound,
|
||||
/client/proc/make_sound,
|
||||
/client/proc/object_talk,
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/play_sound,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/send_space_ninja,
|
||||
/client/proc/Set_Holiday,
|
||||
/client/proc/set_ooc,
|
||||
/client/proc/startSinglo,
|
||||
/client/proc/toggle_hear_radio,
|
||||
/client/proc/toggle_log_hrefs,
|
||||
/client/proc/toggleprayers,
|
||||
/client/proc/toggle_random_events,
|
||||
/client/proc/toggle_view_range,
|
||||
/client/proc/ToRban,
|
||||
/proc/possess,
|
||||
/proc/release
|
||||
)
|
||||
|
||||
/client/proc/remove_admin_verbs()
|
||||
verbs.Remove(
|
||||
admin_verbs_default,
|
||||
/client/proc/togglebuildmodeself,
|
||||
/client/proc/stealth,
|
||||
admin_verbs_admin,
|
||||
admin_verbs_ban,
|
||||
admin_verbs_fun,
|
||||
admin_verbs_server,
|
||||
admin_verbs_debug,
|
||||
admin_verbs_possess,
|
||||
admin_verbs_permissions,
|
||||
admin_verbs_rejuv,
|
||||
admin_verbs_sounds,
|
||||
admin_verbs_spawn,
|
||||
admin_verbs_dev,
|
||||
admin_verbs_duty,
|
||||
/*Debug verbs added by "show debug verbs"*/
|
||||
/client/proc/Cell,
|
||||
/client/proc/do_not_use_these,
|
||||
/client/proc/camera_view,
|
||||
/client/proc/sec_camera_report,
|
||||
/client/proc/intercom_view,
|
||||
/client/proc/air_status,
|
||||
/client/proc/atmosscan,
|
||||
/client/proc/powerdebug,
|
||||
/client/proc/count_objects_on_z_level,
|
||||
/client/proc/count_objects_all,
|
||||
/client/proc/cmd_assume_direct_control,
|
||||
/client/proc/jump_to_dead_group,
|
||||
/client/proc/startSinglo,
|
||||
/client/proc/ticklag,
|
||||
/client/proc/cmd_admin_grantfullaccess,
|
||||
/client/proc/kaboom,
|
||||
/client/proc/splash,
|
||||
/client/proc/cmd_admin_areatest,
|
||||
/client/proc/view_power_update_stats_area,
|
||||
/client/proc/view_power_update_stats_machines,
|
||||
/client/proc/toggle_power_update_profiling,
|
||||
/client/proc/atmos_toggle_debug
|
||||
)
|
||||
|
||||
var/list/admin_verbs_duty = list(
|
||||
/client/proc/spawn_duty_officer,
|
||||
/client/proc/cmd_duty_say,
|
||||
/client/verb/returntobody
|
||||
)
|
||||
|
||||
/client/proc/add_admin_verbs()
|
||||
if(holder)
|
||||
verbs += admin_verbs_default
|
||||
if(holder.rights & R_BUILDMODE) verbs += /client/proc/togglebuildmodeself
|
||||
if(holder.rights & R_ADMIN) verbs += admin_verbs_admin
|
||||
if(holder.rights & R_BAN) verbs += admin_verbs_ban
|
||||
if(holder.rights & R_FUN) verbs += admin_verbs_fun
|
||||
if(holder.rights & R_SERVER) verbs += admin_verbs_server
|
||||
if(holder.rights & R_DEBUG) verbs += admin_verbs_debug
|
||||
if(holder.rights & R_POSSESS) verbs += admin_verbs_possess
|
||||
if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions
|
||||
if(holder.rights & R_STEALTH) verbs += /client/proc/stealth
|
||||
if(holder.rights & R_REJUVINATE) verbs += admin_verbs_rejuv
|
||||
if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds
|
||||
if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn
|
||||
if(holder.rights & R_MOD) verbs += admin_verbs_mod
|
||||
if(holder.rights & R_DEV) verbs += admin_verbs_dev
|
||||
if(holder.rights & R_DUTYOFF) verbs += admin_verbs_duty //hehe duty
|
||||
@@ -333,6 +333,9 @@
|
||||
|
||||
for(var/mob/M in mobs)
|
||||
if(!M.ckey) continue
|
||||
if(M.client && M.client.holder && M.client.holder.fakekey)
|
||||
if(!usr.client.holder.rights & (R_ADMIN|R_MOD))
|
||||
continue
|
||||
|
||||
dat += "<tr><td>[M.name]</td>"
|
||||
if(isAI(M))
|
||||
|
||||
@@ -1554,7 +1554,6 @@
|
||||
src.owner << "Message reply to transmitted successfully."
|
||||
log_admin("[key_name(src.owner)] replied to a fax message from [key_name(H)]: [input]")
|
||||
message_admins("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(H)] <a href='?_src_=holder;CentcommFaxView=\ref[input]'>view message</a>", 1)
|
||||
message_mods("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(H)]")
|
||||
|
||||
|
||||
else if(href_list["jumpto"])
|
||||
|
||||
@@ -49,7 +49,25 @@
|
||||
log_admin("[key_name(src)] : [msg]")
|
||||
|
||||
if(check_rights(R_DEV,0))
|
||||
msg = "<span class='devsay'><span class='prefix'>DEV:</span> <EM>[key_name(usr, 1)]</EM>: <span class='message'>[msg]</span></span>"
|
||||
msg = "<span class='devsay'><span class='prefix'>DEV:</span> <EM>[key_name(usr, 0, 1, 0)]</EM>: <span class='message'>[msg]</span></span>"
|
||||
for(var/client/C in admins)
|
||||
if(R_DEV & C.holder.rights)
|
||||
C << msg
|
||||
|
||||
/client/proc/cmd_duty_say(msg as text)
|
||||
set category = "Admin"
|
||||
set name = "Dosay"
|
||||
set hidden = 1
|
||||
|
||||
if(!check_rights(R_DUTYOFF)) return
|
||||
|
||||
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||
if(!msg) return
|
||||
|
||||
log_admin("[key_name(src)] : [msg]")
|
||||
|
||||
if(check_rights(R_DUTYOFF,0))
|
||||
msg = "<span class='dutysay'><span class='prefix'>DOfficer:</span> <EM>[key_name(usr, 0, 1, 0)]</EM>: <span class='message'>[msg]</span></span>"
|
||||
for(var/client/C in admins)
|
||||
if(C.holder.rights & (R_ADMIN|R_DUTYOFF))
|
||||
C << msg
|
||||
@@ -20,7 +20,7 @@
|
||||
msg = "\blue \icon[cross] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[src]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>):</b> [msg]"
|
||||
|
||||
for(var/client/C in admins)
|
||||
if(((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights)) || (R_FUN & C.holder.rights) && (C.prefs.toggles & CHAT_PRAYER))
|
||||
if(C.holder.rights & (R_ADMIN|R_MOD|R_FUN) && (C.prefs.toggles & CHAT_PRAYER))
|
||||
C << msg
|
||||
usr << "Your prayers have been received by the gods."
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
else
|
||||
msg = "\blue <b><font color=orange>CENTCOMM[iamessage ? " IA" : ""]:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;CentcommReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
|
||||
for(var/client/C in admins)
|
||||
if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights) || (R_FUN & C.holder.rights))
|
||||
if(C.holder.rights & (R_ADMIN|R_DUTYOFF|R_FUN))
|
||||
C << msg
|
||||
|
||||
/proc/Syndicate_announce(var/text , var/mob/Sender)
|
||||
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
|
||||
msg = "\blue <b><font color=crimson>SYNDICATE:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;SyndicateReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
|
||||
for(var/client/C in admins)
|
||||
if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights) || (R_FUN & C.holder.rights))
|
||||
if(C.holder.rights & (R_ADMIN|R_MOD|R_FUN))
|
||||
C << msg
|
||||
@@ -27,6 +27,10 @@
|
||||
src << "\red The game hasn't started yet!"
|
||||
return
|
||||
|
||||
if(istype(mob, /mob/living))
|
||||
if(!holder.original_mob)
|
||||
holder.original_mob = mob
|
||||
|
||||
//I couldn't get the normal way to work so this works.
|
||||
//This whole section looks like a hack, I don't like it.
|
||||
var/T = get_turf(usr)
|
||||
@@ -154,13 +158,15 @@
|
||||
spawn(5)
|
||||
del(s)
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src) //Transfer safety to observer spawning proc.
|
||||
ghost.key = key
|
||||
ghost.mind.name = "[ghost.key] BSTech"
|
||||
ghost.name = "[ghost.key] BSTech"
|
||||
ghost.real_name = "[ghost.key] BSTech"
|
||||
ghost.voice_name = "[ghost.key] BSTech"
|
||||
|
||||
if(client.holder && client.holder.original_mob)
|
||||
client.holder.original_mob.key = key
|
||||
else
|
||||
var/mob/dead/observer/ghost = new(src) //Transfer safety to observer spawning proc.
|
||||
ghost.key = key
|
||||
ghost.mind.name = "[ghost.key] BSTech"
|
||||
ghost.name = "[ghost.key] BSTech"
|
||||
ghost.real_name = "[ghost.key] BSTech"
|
||||
ghost.voice_name = "[ghost.key] BSTech"
|
||||
del(src)
|
||||
return
|
||||
|
||||
@@ -294,6 +300,17 @@
|
||||
|
||||
src.sleeping = 0
|
||||
|
||||
verb/bstquit()
|
||||
set name = "Teleport out"
|
||||
set desc = "Activate bluespace to leave (and return to your original mob(if you have one))"
|
||||
set category = "BST"
|
||||
|
||||
var/client/C = src.client
|
||||
if(C.holder && C.holder.original_mob)
|
||||
C.holder.original_mob.key = key
|
||||
C.holder.original_mob = null
|
||||
suicide()
|
||||
|
||||
//Equipment. All should have canremove set to 0
|
||||
//All items with a /bst need the attack_hand() proc overrided to stop people getting overpowered items.
|
||||
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
/client/proc/spawn_duty_officer()
|
||||
set category = "Special Verbs"
|
||||
set name = "Spawn Duty Officer"
|
||||
set desc = "Spawns a Duty Officer to do Duty"
|
||||
|
||||
if(!check_rights(R_DUTYOFF)) return
|
||||
|
||||
if(!holder)
|
||||
return //how did they get here?
|
||||
|
||||
if(!ticker)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
|
||||
if(ticker.current_state < GAME_STATE_PLAYING)
|
||||
src << "\red The game hasn't started yet!"
|
||||
return
|
||||
|
||||
if(mob.mind.special_role == "Duty Officer")
|
||||
src << "\red You are already a Duty Officer"
|
||||
return
|
||||
|
||||
if(istype(mob, /mob/living))
|
||||
holder.original_mob = mob
|
||||
|
||||
for (var/obj/effect/landmark/L in landmarks_list)
|
||||
if(L.name == "DutyOfficer")
|
||||
var/new_name = input(usr, "Pick a name","Name") as null|text
|
||||
var/mob/living/carbon/human/M = new(null)
|
||||
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||
M.g_facial = hex2num(copytext(new_facial, 4, 6))
|
||||
M.b_facial = hex2num(copytext(new_facial, 6, 8))
|
||||
|
||||
var/new_hair = input("Please select hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_hair = hex2num(copytext(new_hair, 2, 4))
|
||||
M.g_hair = hex2num(copytext(new_hair, 4, 6))
|
||||
M.b_hair = hex2num(copytext(new_hair, 6, 8))
|
||||
|
||||
var/new_eyes = input("Please select eye color.", "Character Generation") as color
|
||||
if(new_eyes)
|
||||
M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
|
||||
M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
|
||||
M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
|
||||
|
||||
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
|
||||
|
||||
if (!new_tone)
|
||||
new_tone = 35
|
||||
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
|
||||
M.s_tone = -M.s_tone + 35
|
||||
|
||||
// hair
|
||||
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
|
||||
var/list/hairs = list()
|
||||
|
||||
// loop through potential hairs
|
||||
for(var/x in all_hairs)
|
||||
var/datum/sprite_accessory/hair/H = new x
|
||||
hairs.Add(H.name)
|
||||
del(H)
|
||||
//hair
|
||||
var/new_hstyle = input(usr, "Select a hair style", "Grooming") as null|anything in hair_styles_list
|
||||
if(new_hstyle)
|
||||
M.h_style = new_hstyle
|
||||
|
||||
// facial hair
|
||||
var/new_fstyle = input(usr, "Select a facial hair style", "Grooming") as null|anything in facial_hair_styles_list
|
||||
if(new_fstyle)
|
||||
M.f_style = new_fstyle
|
||||
|
||||
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
|
||||
if (new_gender)
|
||||
if(new_gender == "Male")
|
||||
M.gender = MALE
|
||||
else
|
||||
M.gender = FEMALE
|
||||
//M.rebuild_appearance()
|
||||
M.update_hair()
|
||||
M.update_body()
|
||||
M.check_dna(M)
|
||||
|
||||
M.real_name = new_name
|
||||
M.name = new_name
|
||||
M.age = input("Enter your characters age:","Num") as null|num
|
||||
if(!M.age)
|
||||
M.age = rand(35,50)
|
||||
if(M.age < 33 || M.age > 60)
|
||||
src << "\red The age you selected was not in a valid range for a Duty Officer"
|
||||
if(M.age < 33)
|
||||
M.age = 33
|
||||
else
|
||||
M.age = 60
|
||||
src << "\red Your age has been set to [M.age]"
|
||||
|
||||
M.dna.ready_dna(M)
|
||||
|
||||
//Creates mind stuff.
|
||||
M.mind = new
|
||||
M.mind.current = M
|
||||
M.mind.original = M
|
||||
M.mind.admin_mob_placeholder = mob
|
||||
M.mind.assigned_role = "Central Command Duty Officer"
|
||||
M.mind.special_role = "Duty Officer"
|
||||
M.loc = L.loc
|
||||
M.key = key
|
||||
spawn(1)
|
||||
holder.original_mob.key = "@[key]"
|
||||
|
||||
M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/officer(M), slot_w_uniform)
|
||||
M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes)
|
||||
M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
||||
M.equip_if_possible(new /obj/item/device/radio/headset/ert(M), slot_l_ear)
|
||||
M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(M), slot_glasses)
|
||||
M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/officer(M), slot_head)
|
||||
M.equip_if_possible(new /obj/item/weapon/melee/telebaton(M), slot_l_store)
|
||||
M.equip_if_possible(new /obj/item/device/taperecorder(M), slot_r_store)
|
||||
|
||||
var/obj/item/device/pda/central/pda = new(M)
|
||||
pda.owner = M.real_name
|
||||
pda.ownjob = "Central Command Duty Officer"
|
||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
||||
|
||||
M.equip_if_possible(pda, slot_belt)
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.item_state = "id_inv"
|
||||
W.access = get_all_accesses() + get_centcom_access("Duty Officer")
|
||||
W.assignment = "Central Command Duty Officer"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_if_possible(W, slot_wear_id)
|
||||
|
||||
verbs += /client/verb/returntobody
|
||||
break
|
||||
|
||||
/client/verb/returntobody()
|
||||
set name = "Return to mob"
|
||||
set desc = "The Duty is done, return to your original mob"
|
||||
set category = "Special Verbs"
|
||||
|
||||
if(!check_rights(0)) return
|
||||
|
||||
if(mob.mind.special_role != "Duty Officer")
|
||||
verbs -= /client/verb/returntobody
|
||||
return
|
||||
|
||||
if(!holder) return
|
||||
|
||||
var/mob/M = mob
|
||||
var/area/A = get_area(M)
|
||||
if(!is_type_in_list(A,centcom_areas))
|
||||
src << "\red You need to be back at central to do this"
|
||||
return
|
||||
|
||||
if(holder.original_mob)
|
||||
if(holder.original_mob == M)
|
||||
verbs -= /client/verb/returntobody
|
||||
return
|
||||
holder.original_mob.key = key
|
||||
else
|
||||
if(mob.mind.admin_mob_placeholder)
|
||||
mob.mind.admin_mob_placeholder.key = key
|
||||
mob.mind.admin_mob_placeholder = null
|
||||
else
|
||||
mob.ghostize(0)
|
||||
verbs -= /client/verb/returntobody
|
||||
del(M)
|
||||
@@ -78,7 +78,7 @@
|
||||
item_state = "watchgloves"
|
||||
w_class = 1
|
||||
wired = 1
|
||||
species_restricted = list()
|
||||
species_restricted = null
|
||||
// var/time = 1
|
||||
|
||||
verb/checktime()
|
||||
|
||||
@@ -70,14 +70,3 @@
|
||||
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/head/helmet/space // For spacesuit helmets. Removing the protection from the base helmets appears to have fucked them. Fixed with this, I believe.
|
||||
name = "spaceasshole helmet"
|
||||
desc = "shouldn't be able to see this"
|
||||
icon_state = "n/a"
|
||||
item_state = "n/a"
|
||||
flags_inv = HIDEEARS|HIDEEYES
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
|
||||
@@ -243,6 +243,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
usr << "<span class='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.</span>"
|
||||
return
|
||||
mind.current.ajourn=0
|
||||
if(mind.current == client.holder.original_mob)
|
||||
client.holder.original_mob = null
|
||||
mind.current.key = key
|
||||
return 1
|
||||
|
||||
|
||||
@@ -65,17 +65,22 @@
|
||||
if(w_uniform && !skipjumpsuit)
|
||||
//Ties
|
||||
var/tie_msg
|
||||
var/aband_msg
|
||||
if(istype(w_uniform,/obj/item/clothing/under))
|
||||
var/obj/item/clothing/under/U = w_uniform
|
||||
if(U.hastie)
|
||||
tie_msg += " with \icon[U.hastie] \a [U.hastie]"
|
||||
else if(U.hastie && U.aband)
|
||||
tie_msg += " with \icon[U.hastie] \a [U.hastie] and \icon[U.aband] \a [U.aband]"
|
||||
if(U.aband)
|
||||
aband_msg+= " with \icon[U.aband] \a [U.aband]"
|
||||
|
||||
if(w_uniform.blood_DNA)
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] blood-stained [w_uniform.name][tie_msg]!</span>\n"
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] blood-stained [w_uniform.name][tie_msg][aband_msg]!</span>\n"
|
||||
else if(w_uniform.wasbloody == 2)
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] luminol-covered [w_uniform.name][tie_msg]!</span>\n"
|
||||
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] luminol-covered [w_uniform.name][tie_msg][aband_msg]!</span>\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][tie_msg].\n"
|
||||
msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][tie_msg][aband_msg].\n"
|
||||
|
||||
//head
|
||||
if(head)
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
maxbodytemp = 323 //Above 50 Degrees Celcius
|
||||
universal_speak = 0
|
||||
universal_understand = 1
|
||||
holder_type = null
|
||||
|
||||
/mob/living/simple_animal/mouse/Life()
|
||||
..()
|
||||
@@ -59,10 +58,22 @@
|
||||
name = "[name] ([rand(1, 1000)])"
|
||||
if(!body_color)
|
||||
body_color = pick( list("brown","gray","white") )
|
||||
if(body_color == "gray")
|
||||
holder_type = /obj/item/weapon/holder/mouse/gray
|
||||
else if(body_color == "brown")
|
||||
holder_type = /obj/item/weapon/holder/mouse/brown
|
||||
else if(body_color == "white")
|
||||
holder_type = /obj/item/weapon/holder/mouse/white
|
||||
icon_state = "mouse_[body_color]"
|
||||
icon_living = "mouse_[body_color]"
|
||||
icon_dead = "mouse_[body_color]_dead"
|
||||
desc = "It's a small [body_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself."
|
||||
if(body_color == "gray")
|
||||
holder_type = /obj/item/weapon/holder/mouse/gray
|
||||
if(body_color == "brown")
|
||||
holder_type = /obj/item/weapon/holder/mouse/brown
|
||||
if(body_color == "white")
|
||||
holder_type = /obj/item/weapon/holder/mouse/white
|
||||
|
||||
/mob/living/simple_animal/mouse/proc/splat()
|
||||
src.health = 0
|
||||
@@ -73,6 +84,14 @@
|
||||
if(client)
|
||||
client.time_died_as_mouse = world.time
|
||||
|
||||
/mob/living/simple_animal/mouse/proc/holdertype()
|
||||
if(body_color == "gray")
|
||||
holder_type = /obj/item/weapon/holder/mouse/gray
|
||||
if(body_color == "brown")
|
||||
holder_type = /obj/item/weapon/holder/mouse/brown
|
||||
if(body_color == "white")
|
||||
holder_type = /obj/item/weapon/holder/mouse/white
|
||||
|
||||
/mob/living/simple_animal/mouse/start_pulling(var/atom/movable/AM)//Prevents mouse from pulling things
|
||||
src << "<span class='warning'>You are too small to pull anything.</span>"
|
||||
return
|
||||
|
||||
+20
-19
@@ -710,24 +710,25 @@ note dizziness decrements automatically in the mob's Life() proc.
|
||||
if(statpanel("Status")) //not looking at that panel
|
||||
|
||||
if(client && client.holder)
|
||||
stat(null,"Location:\t([x], [y], [z])")
|
||||
stat(null,"CPU:\t[world.cpu]")
|
||||
stat(null,"Instances:\t[world.contents.len]")
|
||||
if(client.holder.rights & (R_ADMIN|R_MOD|R_DEV|R_FUN))
|
||||
stat(null,"Location:\t([x], [y], [z])")
|
||||
stat(null,"CPU:\t[world.cpu]")
|
||||
stat(null,"Instances:\t[world.contents.len]")
|
||||
|
||||
if(master_controller)
|
||||
stat(null,"MasterController-[last_tick_duration] ([master_controller.processing?"On":"Off"]-[controller_iteration])")
|
||||
stat(null,"Air-[master_controller.air_cost]\tSun-[master_controller.sun_cost]")
|
||||
stat(null,"Mob-[master_controller.mobs_cost]\t#[mob_list.len]")
|
||||
stat(null,"Dis-[master_controller.diseases_cost]\t#[active_diseases.len]")
|
||||
stat(null,"Mch-[master_controller.machines_cost]\t#[machines.len]")
|
||||
stat(null,"Obj-[master_controller.objects_cost]\t#[processing_objects.len]")
|
||||
stat(null,"Net-[master_controller.networks_cost]\tPnet-[master_controller.powernets_cost]")
|
||||
stat(null,"NanoUI-[master_controller.nano_cost]\t#[nanomanager.processing_uis.len]")
|
||||
stat(null,"Tick-[master_controller.ticker_cost]\tALL-[master_controller.total_cost]")
|
||||
else
|
||||
stat(null,"MasterController-ERROR")
|
||||
if(delta_level:active)
|
||||
stat(null,"Delta Countdown-[delta_level.timeleft()]")
|
||||
if(master_controller)
|
||||
stat(null,"MasterController-[last_tick_duration] ([master_controller.processing?"On":"Off"]-[controller_iteration])")
|
||||
stat(null,"Air-[master_controller.air_cost]\tSun-[master_controller.sun_cost]")
|
||||
stat(null,"Mob-[master_controller.mobs_cost]\t#[mob_list.len]")
|
||||
stat(null,"Dis-[master_controller.diseases_cost]\t#[active_diseases.len]")
|
||||
stat(null,"Mch-[master_controller.machines_cost]\t#[machines.len]")
|
||||
stat(null,"Obj-[master_controller.objects_cost]\t#[processing_objects.len]")
|
||||
stat(null,"Net-[master_controller.networks_cost]\tPnet-[master_controller.powernets_cost]")
|
||||
stat(null,"NanoUI-[master_controller.nano_cost]\t#[nanomanager.processing_uis.len]")
|
||||
stat(null,"Tick-[master_controller.ticker_cost]\tALL-[master_controller.total_cost]")
|
||||
else
|
||||
stat(null,"MasterController-ERROR")
|
||||
if(delta_level:active)
|
||||
stat(null,"Delta Countdown-[delta_level.timeleft()]")
|
||||
if(!ooc_allowed)
|
||||
stat(null,"OOC is globaly muted")
|
||||
if(!looc_allowed)
|
||||
@@ -739,7 +740,7 @@ note dizziness decrements automatically in the mob's Life() proc.
|
||||
var/total = 0
|
||||
var/staff = 0
|
||||
for(var/client/C in clients)
|
||||
if(C.holder && (C.holder.rights & R_ADMIN || C.holder.rights & R_MOD))
|
||||
if(C.holder && (C.holder.rights & (R_ADMIN|R_MOD)))
|
||||
staff++
|
||||
if(istype(C.mob, /mob/living))
|
||||
players++
|
||||
@@ -748,7 +749,7 @@ note dizziness decrements automatically in the mob's Life() proc.
|
||||
if(istype(C.mob, /mob/new_player))
|
||||
lobby++
|
||||
total++
|
||||
stat(null, "Players: [total]\tModeration Staff: [staff]")
|
||||
stat(null, "Players: [total]\t Moderation Staff: [staff]")
|
||||
stat(null, "Living: [players]\tGhosts: [ghosts]\tLobby: [lobby]")
|
||||
if(client)
|
||||
stat(null, "Round Time: [round(world.time / 36000)]:[(world.time / 600 % 60) < 10 ? add_zero(world.time / 600 % 60, 1) : world.time / 600 % 60]")
|
||||
|
||||
+9
-3
@@ -1,5 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
#define DEBUG
|
||||
|
||||
#define PI 3.1415
|
||||
@@ -629,8 +628,8 @@ var/list/liftable_structures = list(\
|
||||
#define R_SPAWN 4096
|
||||
#define R_MOD 8192
|
||||
#define R_DEV 16384
|
||||
|
||||
#define R_MAXPERMISSION 16384 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
|
||||
#define R_DUTYOFF 32768
|
||||
#define R_MAXPERMISSION 32768 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
|
||||
|
||||
#define R_HOST 65535
|
||||
|
||||
@@ -654,6 +653,13 @@ var/list/liftable_structures = list(\
|
||||
|
||||
#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS|CHAT_LOOC)
|
||||
|
||||
//Status Menu toggles
|
||||
#define STAT_MENU_MC = 1
|
||||
#define STAT_MENU_PC = 2
|
||||
|
||||
|
||||
#define STAT_MENU_DEFAULT = (STAT_MENU_MC|STAT_MENU_PC)
|
||||
|
||||
#define BE_TRAITOR 1
|
||||
#define BE_OPERATIVE 2
|
||||
#define BE_CHANGELING 4
|
||||
|
||||
+2
-1
@@ -20,7 +20,7 @@ em {font-style: normal; font-weight: bold;}
|
||||
.adminobserver {color: #996600; font-weight: bold;}
|
||||
.admin {color: #386aff; font-weight: bold;}
|
||||
.adminsay {color: #9611D4; font-weight: bold;}
|
||||
|
||||
.dutysay {color: #C19A3B;}
|
||||
.name { font-weight: bold;}
|
||||
|
||||
.say {}
|
||||
@@ -61,6 +61,7 @@ h1.alert, h2.alert {color: #000000;}
|
||||
.mod {color: #735638; font-weight: bold;}
|
||||
.modooc {color: #184880; font-weight: bold;}
|
||||
.adminmod {color: #402A14; font-weight: bold;}
|
||||
.devsay {color: #02280D;}
|
||||
.tajaran {color: #803B56;}
|
||||
.tajaran_signlang {color: #941C1C;}
|
||||
.skrell {color: #00CED1;}
|
||||
|
||||
@@ -56,6 +56,24 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
|
||||
<!-- DO NOT REMOVE, MOVE, OR COPY THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# -->
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>18 February 2015</h2>
|
||||
<h3 class='author'>SoundScopes updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='rscadd'>DutyOfficer flag and features added</li>
|
||||
<li class='rscadd'>A few admin logs added</li>
|
||||
<li class='rscadd'>A second set of ID and PDA sprites, up for voting now</li>
|
||||
<li class='bugfix'>Plasmatech for plasma cutter fixed</li>
|
||||
<li class='bugfix'>Accounts Uplink Terminal fixed</li>
|
||||
<li class='bugfix'>Dorms updated with individual area tags, thus the lights working there</li>
|
||||
<li class='bugfix'>Bent pipe sprites fixed</li>
|
||||
<li class='bugfix'>Watches can be worn by everyone, again</li>
|
||||
<li class='bugfix'>Picking up mice is fixed</li>
|
||||
<li class='bugfix'>Two "silent" stings have their description modified to match mechanics (are not silent)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>15 February 2015</h2>
|
||||
<h3 class='author'>SoundScopes updated:</h3>
|
||||
|
||||
+4736
-4735
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user