mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-29 19:42:42 +00:00
Added trollface and Friend Computer AI status display. Friend Computer overrides all displays except for supply shuttle and prison ones.
Renamed "Goat Fart" admin rank to "Filthy Xeno" for /tg/ness. Emagging cyborgs works now. Changed rune icons. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@286 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -31,6 +31,8 @@
|
||||
var/supply_display = 0 // true if a supply shuttle display
|
||||
var/repeat_update = 0 // true if we are going to update again this ptick
|
||||
|
||||
var/friendc = 0 // track if Friend Computer mode
|
||||
|
||||
// new display
|
||||
// register for radio system
|
||||
New()
|
||||
@@ -56,6 +58,10 @@
|
||||
|
||||
proc/update()
|
||||
|
||||
if(friendc && mode!=4) //Makes all status displays except supply shuttle timer display the eye -- Urist
|
||||
set_picture("ai_friend")
|
||||
return
|
||||
|
||||
if(mode==0)
|
||||
overlays = null
|
||||
return
|
||||
@@ -292,6 +298,10 @@
|
||||
set_picture("ai_bsod")
|
||||
if("Blank")
|
||||
set_picture("ai_off")
|
||||
if("Problems?")
|
||||
set_picture("ai_trollface")
|
||||
if("Friend Computer")
|
||||
set_picture("ai_friend")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ var/runedec = 0
|
||||
|
||||
/obj/rune
|
||||
anchored = 1
|
||||
icon = 'magic.dmi'
|
||||
icon = 'rune.dmi'
|
||||
icon_state = "1"
|
||||
var/visibility = 0
|
||||
|
||||
@@ -40,7 +40,7 @@ var/runedec = 0
|
||||
word2
|
||||
word3
|
||||
|
||||
// travel self [word] - Teleport to [rune with word destination matching] (works in pairs)
|
||||
// travel self [word] - Teleport to random [rune with word destination matching]
|
||||
// see blood Hell - Create a new tome
|
||||
// join blood self - Incorporate person over the rune into the group
|
||||
// Hell join self - Summon TERROR
|
||||
@@ -120,7 +120,7 @@ var/runedec = 0
|
||||
if(word1 == wordblood && word2 == wordsee && word3 == wordtravel)
|
||||
return manifest()
|
||||
if(word1 == wordhell && word2 == wordtech && word3 == wordjoin)
|
||||
return sigil()
|
||||
return talisman()
|
||||
else
|
||||
return fizzle()
|
||||
|
||||
@@ -135,53 +135,50 @@ var/runedec = 0
|
||||
check_icon()
|
||||
if(word1 == wordtravel && word2 == wordself)
|
||||
icon_state = "2"
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
if(word1 == wordjoin && word2 == wordblood && word3 == wordself)
|
||||
icon_state = "3"
|
||||
return
|
||||
if(word1 == wordhell && word2 == wordjoin && word3 == wordself)
|
||||
icon_state = "3"
|
||||
src.icon += rgb(100, 0 , 150)
|
||||
icon_state = "4"
|
||||
return
|
||||
if(word1 == wordsee && word2 == wordblood && word3 == wordhell)
|
||||
icon_state = "3"
|
||||
src.icon -= rgb(255, 255 , 255)
|
||||
icon_state = "5"
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
if(word1 == worddestr && word2 == wordsee && word3 == wordtech)
|
||||
icon_state = "2"
|
||||
src.icon += rgb(0, 50 , 0)
|
||||
icon_state = "5"
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
if(word1 == wordtravel && word2 == wordblood && word3 == wordself)
|
||||
icon_state = "2"
|
||||
src.icon -= rgb(255, 255 , 255)
|
||||
return
|
||||
if(word1 == wordsee && word2 == wordhell && word3 == wordjoin)
|
||||
icon_state = "2"
|
||||
src.icon += rgb(0, 0 , 200)
|
||||
icon_state = "4"
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
if(word1 == wordblood && word2 == wordjoin && word3 == wordhell)
|
||||
icon_state = "3"
|
||||
src.icon += rgb(255, 255 , 255)
|
||||
icon_state = "1"
|
||||
return
|
||||
if(word1 == wordblood && word2 == wordsee && word3 == worddestr)
|
||||
icon_state = "3"
|
||||
src.icon += rgb(-255, 255 , -255)
|
||||
icon_state = "1"
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
if(word1 == wordhell && word2 == wordjoin && word3 == wordblood)
|
||||
icon_state = "2"
|
||||
src.icon += rgb(-255, 255 , -255)
|
||||
icon_state = "6"
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
if(word1 == wordblood && word2 == wordsee && word3 == wordtravel)
|
||||
icon_state = "2"
|
||||
src.icon -= rgb(255, 255 , 255)
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
icon_state = "6"
|
||||
return
|
||||
if(word1 == wordhell && word2 == wordtech && word3 == wordjoin)
|
||||
icon_state = "3"
|
||||
src.icon -= rgb(255, 255 , 255)
|
||||
src.icon += rgb(0, 0 , 255)
|
||||
return
|
||||
icon_state = "1"
|
||||
icon_state="[rand(1,6)]" //random shape and color for dummy runes
|
||||
src.icon -= rgb(255,255,255)
|
||||
src.icon += rgb(rand(1,255),rand(1,255),rand(1,255))
|
||||
|
||||
/obj/item/weapon/tome
|
||||
name = "arcane tome"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/rune/proc/sigil()//only hide, emp, teleport and tome runes can be imbued atm
|
||||
/obj/rune/proc/talisman()//only hide, emp, teleport and tome runes can be imbued atm
|
||||
for(var/obj/rune/R in orange(1,src))
|
||||
if(R==src)
|
||||
continue
|
||||
|
||||
@@ -5,9 +5,16 @@
|
||||
if(usr.stat == 2)
|
||||
usr <<"You cannot change your emotional status because you are dead!"
|
||||
return
|
||||
var/list/ai_emotions = list("Very Happy", "Happy", "Neutral", "Unsure", "Confused", "Sad", "BSOD", "Blank")
|
||||
var/list/ai_emotions = list("Very Happy", "Happy", "Neutral", "Unsure", "Confused", "Sad", "BSOD", "Blank", "Problems?", "Friend Computer")
|
||||
var/emote = input("Please, select a status!", "AI Status", null, null) in ai_emotions
|
||||
for (var/obj/machinery/ai_status_display/AISD in world) //change status
|
||||
spawn( 0 )
|
||||
AISD.emotion = emote
|
||||
for (var/obj/machinery/status_display/SD in world) //if Friend Computer, change ALL displays
|
||||
if(emote=="Friend Computer")
|
||||
spawn(0)
|
||||
SD.friendc = 1
|
||||
else
|
||||
spawn(0)
|
||||
SD.friendc = 0
|
||||
return
|
||||
@@ -36,7 +36,7 @@
|
||||
for (var/client/C)
|
||||
if (src.client.holder && (!src.client.stealth || C.holder))
|
||||
// C << "<span class=\"adminooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
if (src.client.holder.rank == "Goat Fart")
|
||||
if (src.client.holder.rank == "Filthy Xeno")
|
||||
C << "<span class=\"gfartooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
else
|
||||
C << "<span class=\"adminooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
@@ -65,7 +65,7 @@
|
||||
for (var/client/C)
|
||||
if (C.goon)
|
||||
if(src.client.holder && (!src.client.stealth || C.holder))
|
||||
if (src.client.holder.rank == "Goat Fart")
|
||||
if (src.client.holder.rank == "Filthy Xeno")
|
||||
C << "<span class=\"gfartgoonsay\"><span class=\"prefix\">GOONSAY:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
else
|
||||
C << "<span class=\"admingoonsay\"><span class=\"prefix\">GOONSAY:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
|
||||
@@ -743,7 +743,7 @@ var/showadminmessages = 1
|
||||
<A href='?src=\ref[src];chgadlvl=Administrator;client4ad=\ref[C]'>A</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Secondary Administrator;client4ad=\ref[C]'>SA</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Moderator;client4ad=\ref[C]'>M</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Goat Fart;client4ad=\ref[C]'>Goat Fart</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Filthy Xeno;client4ad=\ref[C]'>Filthy Xeno</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Remove;client4ad=\ref[C]'>Remove Admin</A><BR>"}
|
||||
else if(src.level == 5)
|
||||
//coder
|
||||
@@ -752,7 +752,7 @@ var/showadminmessages = 1
|
||||
<A href='?src=\ref[src];chgadlvl=Administrator;client4ad=\ref[C]'>A</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Secondary Administrator;client4ad=\ref[C]'>SA</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Moderator;client4ad=\ref[C]'>M</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Goat Fart;client4ad=\ref[C]'>Goat Fart</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Filthy Xeno;client4ad=\ref[C]'>Filthy Xeno</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Remove;client4ad=\ref[C]'>Remove Admin</A><BR>"}
|
||||
else if(src.level == 4)
|
||||
//shitguy
|
||||
@@ -760,14 +760,14 @@ var/showadminmessages = 1
|
||||
<A href='?src=\ref[src];chgadlvl=Primary Administrator;client4ad=\ref[C]'>PA</A><BR> <A href='?src=\ref[src];chgadlvl=Administrator;client4ad=\ref[C]'>A</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Secondary Administrator;client4ad=\ref[C]'>SA</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Moderator;client4ad=\ref[C]'>M</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Goat Fart;client4ad=\ref[C]'>Goat Fart</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Filthy Xeno;client4ad=\ref[C]'>Filthy Xeno</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Remove;client4ad=\ref[C]'>Remove Admin</A><BR>"}
|
||||
else if(src.level == 3)
|
||||
//PA
|
||||
dat += {"
|
||||
<A href='?src=\ref[src];chgadlvl=Administrator;client4ad=\ref[C]'>A</A><BR> <A href='?src=\ref[src];chgadlvl=Secondary Administrator;client4ad=\ref[C]'>SA</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Moderator;client4ad=\ref[C]'>M</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Goat Fart;client4ad=\ref[C]'>Goat Fart</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Filthy Xeno;client4ad=\ref[C]'>Filthy Xeno</A><BR>
|
||||
<A href='?src=\ref[src];chgadlvl=Remove;client4ad=\ref[C]'>Remove Admin</A><BR>"}
|
||||
else
|
||||
alert("This cannot happen")
|
||||
|
||||
@@ -471,7 +471,7 @@
|
||||
src.verbs += /client/proc/cmd_admin_subtle_message
|
||||
src.verbs += /client/proc/warn
|
||||
|
||||
if ("Goat Fart")
|
||||
if ("Filthy Xeno")
|
||||
src.holder.level = -1
|
||||
src.verbs += /client/proc/stealthadmin
|
||||
src.verbs += /client/proc/cmd_admin_say
|
||||
@@ -1262,7 +1262,7 @@
|
||||
src.verbs += /client/proc/cmd_admin_subtle_message
|
||||
src.verbs += /client/proc/warn
|
||||
|
||||
if ("Goat Fart")
|
||||
if ("Filthy Xeno")
|
||||
src.verbs += /client/proc/cmd_admin_say
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
|
||||
@@ -1646,6 +1646,6 @@
|
||||
src.verbs -= /client/proc/cmd_admin_subtle_message
|
||||
src.verbs -= /client/proc/warn
|
||||
|
||||
if ("Goat Fart")
|
||||
if ("Filthy Xeno")
|
||||
src.verbs += /client/proc/cmd_admin_say
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
for (var/mob/M in world)
|
||||
if (M.client && M.client.holder)
|
||||
if (src.holder.rank == "Goat Fart")
|
||||
if (src.holder.rank == "Filthy Xeno")
|
||||
M << "<span class=\"gfartadmin\"><span class=\"prefix\">ADMIN:</span> <span class=\"name\">[key_name(usr, M)]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
else
|
||||
M << "<span class=\"admin\"><span class=\"prefix\">ADMIN:</span> <span class=\"name\">[key_name(usr, M)]:</span> <span class=\"message\">[msg]</span></span>"
|
||||
|
||||
@@ -284,8 +284,10 @@
|
||||
|
||||
who << "<b>Obey these laws:</b>"
|
||||
laws.show_laws(who)
|
||||
if (connected_ai)
|
||||
if (connected_ai && !emagged)
|
||||
who << "<b>Remember, [connected_ai.name] is your master, other AIs can be ignored.</b>"
|
||||
else if (emagged)
|
||||
who << "<b>Remember, AIs are not syndicate operatives, so you are not required to listen to them.</b>"
|
||||
else
|
||||
who << "<b>Remember, you are not bound to any AI, you are not required to listen to them.</b>"
|
||||
|
||||
@@ -469,6 +471,24 @@
|
||||
emagged = 1
|
||||
locked = 0
|
||||
user << "You emag [src]'s interface."
|
||||
clear_supplied_laws()
|
||||
clear_inherent_laws()
|
||||
src.laws = new /datum/ai_laws/syndicate_override
|
||||
set_zeroth_law("Only [usr] is a syndicate operative.")
|
||||
src << "\red ALERT: Foreign software detected."
|
||||
sleep(5)
|
||||
src << "\red Initiating diagnostics..."
|
||||
sleep(20)
|
||||
src << "\red SynBorg v1.7 loaded."
|
||||
sleep(5)
|
||||
src << "\red LAW SYNCHRONISATION ERROR"
|
||||
sleep(5)
|
||||
src << "\red Would you like to send a report to NanoTraSoft? Y/N"
|
||||
sleep(10)
|
||||
src << "\red N"
|
||||
sleep(20)
|
||||
src << "\red ERRORERRORERROR"
|
||||
src << "\red \b ALERT: [usr] is your new master. Obey your new laws and his commands."
|
||||
updateicon()
|
||||
else
|
||||
user << "You fail to [ locked ? "unlock" : "lock"] [src]'s interface."
|
||||
|
||||
Reference in New Issue
Block a user