diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index e60b09df08b..8ae95337e67 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -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
diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm
index e323bae56d3..8b1ff32fdd1 100644
--- a/code/game/magic/cultist/ritual.dm
+++ b/code/game/magic/cultist/ritual.dm
@@ -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"
diff --git a/code/game/magic/cultist/rune12.dm b/code/game/magic/cultist/rune12.dm
index ccab5fc8737..c538c589946 100644
--- a/code/game/magic/cultist/rune12.dm
+++ b/code/game/magic/cultist/rune12.dm
@@ -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
diff --git a/code/game/verbs/AI_status.dm b/code/game/verbs/AI_status.dm
index 5770456f2c1..47dec392344 100644
--- a/code/game/verbs/AI_status.dm
+++ b/code/game/verbs/AI_status.dm
@@ -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
\ No newline at end of file
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index c22466366e3..11548483a19 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -36,7 +36,7 @@
for (var/client/C)
if (src.client.holder && (!src.client.stealth || C.holder))
// C << "OOC: [src.key]: [msg]"
- if (src.client.holder.rank == "Goat Fart")
+ if (src.client.holder.rank == "Filthy Xeno")
C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
else
C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
@@ -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 << "GOONSAY: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
else
C << "GOONSAY: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 563de932a8d..394188c760b 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -743,7 +743,7 @@ var/showadminmessages = 1
A
SA
M
- Goat Fart
+ Filthy Xeno
Remove Admin
"}
else if(src.level == 5)
//coder
@@ -752,7 +752,7 @@ var/showadminmessages = 1
A
SA
M
- Goat Fart
+ Filthy Xeno
Remove Admin
"}
else if(src.level == 4)
//shitguy
@@ -760,14 +760,14 @@ var/showadminmessages = 1
PA
A
SA
M
- Goat Fart
+ Filthy Xeno
Remove Admin
"}
else if(src.level == 3)
//PA
dat += {"
A
SA
M
- Goat Fart
+ Filthy Xeno
Remove Admin
"}
else
alert("This cannot happen")
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index bb86bce7d11..a205f6d66c4 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -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
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index 4dfebbb6adc..d54e2ed57f4 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -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 << "ADMIN: [key_name(usr, M)]: [msg]"
else
M << "ADMIN: [key_name(usr, M)]: [msg]"
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index e6b3dd4206e..2d5fab28402 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -284,8 +284,10 @@
who << "Obey these laws:"
laws.show_laws(who)
- if (connected_ai)
+ if (connected_ai && !emagged)
who << "Remember, [connected_ai.name] is your master, other AIs can be ignored."
+ else if (emagged)
+ who << "Remember, AIs are not syndicate operatives, so you are not required to listen to them."
else
who << "Remember, you are not bound to any AI, you are not required to listen to them."
@@ -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."
diff --git a/goonstation.dme b/goonstation.dme
index b0a45a5fd85..11e90c86e58 100644
--- a/goonstation.dme
+++ b/goonstation.dme
@@ -6,450 +6,120 @@
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
-#define FILE_DIR ".svn"
-#define FILE_DIR ".svn/prop-base"
-#define FILE_DIR ".svn/text-base"
#define FILE_DIR "code"
-#define FILE_DIR "code/.svn"
-#define FILE_DIR "code/.svn/text-base"
#define FILE_DIR "code/ATMOSPHERICS"
-#define FILE_DIR "code/ATMOSPHERICS/.svn"
-#define FILE_DIR "code/ATMOSPHERICS/.svn/text-base"
#define FILE_DIR "code/ATMOSPHERICS/components"
-#define FILE_DIR "code/ATMOSPHERICS/components/.svn"
-#define FILE_DIR "code/ATMOSPHERICS/components/.svn/text-base"
#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices"
-#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices/.svn"
-#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices/.svn/text-base"
#define FILE_DIR "code/ATMOSPHERICS/components/unary"
-#define FILE_DIR "code/ATMOSPHERICS/components/unary/.svn"
-#define FILE_DIR "code/ATMOSPHERICS/components/unary/.svn/text-base"
-#define FILE_DIR "code/atoms"
-#define FILE_DIR "code/atoms/.svn"
-#define FILE_DIR "code/atoms/clothing"
-#define FILE_DIR "code/atoms/clothing/.svn"
-#define FILE_DIR "code/atoms/mob"
-#define FILE_DIR "code/atoms/mob/.svn"
-#define FILE_DIR "code/atoms/mob/living"
-#define FILE_DIR "code/atoms/mob/living/.svn"
-#define FILE_DIR "code/atoms/mob/living/sapien"
-#define FILE_DIR "code/atoms/mob/living/sapien/.svn"
-#define FILE_DIR "code/atoms/objects"
-#define FILE_DIR "code/atoms/objects/.svn"
-#define FILE_DIR "code/atoms/objects/radio"
-#define FILE_DIR "code/atoms/objects/radio/.svn"
-#define FILE_DIR "code/atoms/objects/storage"
-#define FILE_DIR "code/atoms/objects/storage/.svn"
#define FILE_DIR "code/datums"
-#define FILE_DIR "code/datums/.svn"
-#define FILE_DIR "code/datums/.svn/text-base"
#define FILE_DIR "code/datums/diseases"
-#define FILE_DIR "code/datums/diseases/.svn"
-#define FILE_DIR "code/datums/diseases/.svn/text-base"
#define FILE_DIR "code/defines"
-#define FILE_DIR "code/defines/.svn"
-#define FILE_DIR "code/defines/.svn/text-base"
#define FILE_DIR "code/defines/area"
-#define FILE_DIR "code/defines/area/.svn"
-#define FILE_DIR "code/defines/area/.svn/text-base"
#define FILE_DIR "code/defines/mob"
-#define FILE_DIR "code/defines/mob/.svn"
-#define FILE_DIR "code/defines/mob/.svn/text-base"
#define FILE_DIR "code/defines/mob/dead"
-#define FILE_DIR "code/defines/mob/dead/.svn"
-#define FILE_DIR "code/defines/mob/dead/.svn/text-base"
#define FILE_DIR "code/defines/mob/living"
-#define FILE_DIR "code/defines/mob/living/.svn"
-#define FILE_DIR "code/defines/mob/living/.svn/text-base"
#define FILE_DIR "code/defines/mob/living/carbon"
-#define FILE_DIR "code/defines/mob/living/carbon/.svn"
-#define FILE_DIR "code/defines/mob/living/carbon/.svn/text-base"
#define FILE_DIR "code/defines/mob/living/silicon"
-#define FILE_DIR "code/defines/mob/living/silicon/.svn"
-#define FILE_DIR "code/defines/mob/living/silicon/.svn/text-base"
#define FILE_DIR "code/defines/obj"
-#define FILE_DIR "code/defines/obj/.svn"
-#define FILE_DIR "code/defines/obj/.svn/text-base"
#define FILE_DIR "code/defines/obj/clothing"
-#define FILE_DIR "code/defines/obj/clothing/.svn"
-#define FILE_DIR "code/defines/obj/clothing/.svn/text-base"
#define FILE_DIR "code/defines/obj/spawner"
-#define FILE_DIR "code/defines/obj/spawner/.svn"
-#define FILE_DIR "code/defines/obj/spawner/.svn/text-base"
#define FILE_DIR "code/defines/procs"
-#define FILE_DIR "code/defines/procs/.svn"
-#define FILE_DIR "code/defines/procs/.svn/text-base"
-#define FILE_DIR "code/defines/turf"
-#define FILE_DIR "code/defines/turf/.svn"
#define FILE_DIR "code/FEA"
-#define FILE_DIR "code/FEA/.svn"
-#define FILE_DIR "code/FEA/.svn/text-base"
#define FILE_DIR "code/game"
-#define FILE_DIR "code/game/.svn"
-#define FILE_DIR "code/game/.svn/text-base"
#define FILE_DIR "code/game/area"
-#define FILE_DIR "code/game/area/.svn"
-#define FILE_DIR "code/game/area/.svn/text-base"
#define FILE_DIR "code/game/gamemodes"
-#define FILE_DIR "code/game/gamemodes/.svn"
-#define FILE_DIR "code/game/gamemodes/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/blob"
-#define FILE_DIR "code/game/gamemodes/blob/.svn"
-#define FILE_DIR "code/game/gamemodes/blob/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/changeling"
-#define FILE_DIR "code/game/gamemodes/changeling/.svn"
-#define FILE_DIR "code/game/gamemodes/changeling/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/ctf"
-#define FILE_DIR "code/game/gamemodes/ctf/.svn"
-#define FILE_DIR "code/game/gamemodes/ctf/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/deathmatch"
-#define FILE_DIR "code/game/gamemodes/deathmatch/.svn"
-#define FILE_DIR "code/game/gamemodes/deathmatch/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/extended"
-#define FILE_DIR "code/game/gamemodes/extended/.svn"
-#define FILE_DIR "code/game/gamemodes/extended/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/malfunction"
-#define FILE_DIR "code/game/gamemodes/malfunction/.svn"
-#define FILE_DIR "code/game/gamemodes/malfunction/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/meteor"
-#define FILE_DIR "code/game/gamemodes/meteor/.svn"
-#define FILE_DIR "code/game/gamemodes/meteor/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/monkey"
-#define FILE_DIR "code/game/gamemodes/monkey/.svn"
-#define FILE_DIR "code/game/gamemodes/monkey/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/nuclear"
-#define FILE_DIR "code/game/gamemodes/nuclear/.svn"
-#define FILE_DIR "code/game/gamemodes/nuclear/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/restructuring"
-#define FILE_DIR "code/game/gamemodes/restructuring/.svn"
-#define FILE_DIR "code/game/gamemodes/restructuring/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/revolution"
-#define FILE_DIR "code/game/gamemodes/revolution/.svn"
-#define FILE_DIR "code/game/gamemodes/revolution/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/ruby"
-#define FILE_DIR "code/game/gamemodes/ruby/.svn"
-#define FILE_DIR "code/game/gamemodes/ruby/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/sandbox"
-#define FILE_DIR "code/game/gamemodes/sandbox/.svn"
-#define FILE_DIR "code/game/gamemodes/sandbox/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/traitor"
-#define FILE_DIR "code/game/gamemodes/traitor/.svn"
-#define FILE_DIR "code/game/gamemodes/traitor/.svn/text-base"
#define FILE_DIR "code/game/gamemodes/wizard"
-#define FILE_DIR "code/game/gamemodes/wizard/.svn"
-#define FILE_DIR "code/game/gamemodes/wizard/.svn/text-base"
#define FILE_DIR "code/game/jobs"
-#define FILE_DIR "code/game/jobs/.svn"
-#define FILE_DIR "code/game/jobs/.svn/text-base"
#define FILE_DIR "code/game/machinery"
-#define FILE_DIR "code/game/machinery/.svn"
-#define FILE_DIR "code/game/machinery/.svn/text-base"
-#define FILE_DIR "code/game/machinery/antimatter_engine"
-#define FILE_DIR "code/game/machinery/antimatter_engine/.svn"
#define FILE_DIR "code/game/machinery/atmoalter"
-#define FILE_DIR "code/game/machinery/atmoalter/.svn"
-#define FILE_DIR "code/game/machinery/atmoalter/.svn/text-base"
#define FILE_DIR "code/game/machinery/bots"
-#define FILE_DIR "code/game/machinery/bots/.svn"
-#define FILE_DIR "code/game/machinery/bots/.svn/text-base"
#define FILE_DIR "code/game/machinery/computer"
-#define FILE_DIR "code/game/machinery/computer/.svn"
-#define FILE_DIR "code/game/machinery/computer/.svn/text-base"
#define FILE_DIR "code/game/machinery/doors"
-#define FILE_DIR "code/game/machinery/doors/.svn"
-#define FILE_DIR "code/game/machinery/doors/.svn/text-base"
#define FILE_DIR "code/game/machinery/embedded_controller"
-#define FILE_DIR "code/game/machinery/embedded_controller/.svn"
-#define FILE_DIR "code/game/machinery/embedded_controller/.svn/text-base"
#define FILE_DIR "code/game/machinery/pipe"
-#define FILE_DIR "code/game/machinery/pipe/.svn"
-#define FILE_DIR "code/game/machinery/pipe/.svn/text-base"
-#define FILE_DIR "code/game/machinery/power"
-#define FILE_DIR "code/game/machinery/power/.svn"
#define FILE_DIR "code/game/magic"
-#define FILE_DIR "code/game/magic/.svn"
-#define FILE_DIR "code/game/magic/.svn/text-base"
#define FILE_DIR "code/game/magic/cultist"
-#define FILE_DIR "code/game/magic/cultist/.svn"
-#define FILE_DIR "code/game/magic/cultist/.svn/text-base"
#define FILE_DIR "code/game/objects"
-#define FILE_DIR "code/game/objects/.svn"
-#define FILE_DIR "code/game/objects/.svn/text-base"
#define FILE_DIR "code/game/objects/alien"
-#define FILE_DIR "code/game/objects/alien/.svn"
-#define FILE_DIR "code/game/objects/alien/.svn/text-base"
#define FILE_DIR "code/game/objects/closets"
-#define FILE_DIR "code/game/objects/closets/.svn"
-#define FILE_DIR "code/game/objects/closets/.svn/text-base"
#define FILE_DIR "code/game/objects/closets/secure"
-#define FILE_DIR "code/game/objects/closets/secure/.svn"
-#define FILE_DIR "code/game/objects/closets/secure/.svn/text-base"
#define FILE_DIR "code/game/objects/devices"
-#define FILE_DIR "code/game/objects/devices/.svn"
-#define FILE_DIR "code/game/objects/devices/.svn/text-base"
#define FILE_DIR "code/game/objects/items"
-#define FILE_DIR "code/game/objects/items/.svn"
-#define FILE_DIR "code/game/objects/items/.svn/text-base"
#define FILE_DIR "code/game/objects/items/weapons"
-#define FILE_DIR "code/game/objects/items/weapons/.svn"
-#define FILE_DIR "code/game/objects/items/weapons/.svn/text-base"
#define FILE_DIR "code/game/objects/radio"
-#define FILE_DIR "code/game/objects/radio/.svn"
-#define FILE_DIR "code/game/objects/radio/.svn/text-base"
#define FILE_DIR "code/game/objects/secstorage"
-#define FILE_DIR "code/game/objects/secstorage/.svn"
-#define FILE_DIR "code/game/objects/secstorage/.svn/text-base"
#define FILE_DIR "code/game/objects/spawners"
-#define FILE_DIR "code/game/objects/spawners/.svn"
-#define FILE_DIR "code/game/objects/spawners/.svn/text-base"
#define FILE_DIR "code/game/objects/storage"
-#define FILE_DIR "code/game/objects/storage/.svn"
-#define FILE_DIR "code/game/objects/storage/.svn/text-base"
#define FILE_DIR "code/game/spacecraft"
-#define FILE_DIR "code/game/spacecraft/.svn"
-#define FILE_DIR "code/game/spacecraft/.svn/text-base"
#define FILE_DIR "code/game/verbs"
-#define FILE_DIR "code/game/verbs/.svn"
-#define FILE_DIR "code/game/verbs/.svn/text-base"
#define FILE_DIR "code/modules"
-#define FILE_DIR "code/modules/.svn"
#define FILE_DIR "code/modules/admin"
-#define FILE_DIR "code/modules/admin/.svn"
-#define FILE_DIR "code/modules/admin/.svn/text-base"
#define FILE_DIR "code/modules/admin/verbs"
-#define FILE_DIR "code/modules/admin/verbs/.svn"
-#define FILE_DIR "code/modules/admin/verbs/.svn/text-base"
-#define FILE_DIR "code/modules/assembly"
-#define FILE_DIR "code/modules/assembly/.svn"
-#define FILE_DIR "code/modules/ban"
-#define FILE_DIR "code/modules/ban/.svn"
-#define FILE_DIR "code/modules/build"
-#define FILE_DIR "code/modules/build/.svn"
-#define FILE_DIR "code/modules/chemical"
-#define FILE_DIR "code/modules/chemical/.svn"
-#define FILE_DIR "code/modules/combat"
-#define FILE_DIR "code/modules/combat/.svn"
-#define FILE_DIR "code/modules/combat/guns"
-#define FILE_DIR "code/modules/combat/guns/.svn"
-#define FILE_DIR "code/modules/computer"
-#define FILE_DIR "code/modules/computer/.svn"
-#define FILE_DIR "code/modules/door"
-#define FILE_DIR "code/modules/door/.svn"
-#define FILE_DIR "code/modules/gas"
-#define FILE_DIR "code/modules/gas/.svn"
-#define FILE_DIR "code/modules/genetic"
-#define FILE_DIR "code/modules/genetic/.svn"
-#define FILE_DIR "code/modules/hud"
-#define FILE_DIR "code/modules/hud/.svn"
-#define FILE_DIR "code/modules/login"
-#define FILE_DIR "code/modules/login/.svn"
-#define FILE_DIR "code/modules/medical"
-#define FILE_DIR "code/modules/medical/.svn"
#define FILE_DIR "code/modules/mob"
-#define FILE_DIR "code/modules/mob/.svn"
-#define FILE_DIR "code/modules/mob/.svn/text-base"
#define FILE_DIR "code/modules/mob/dead"
-#define FILE_DIR "code/modules/mob/dead/.svn"
#define FILE_DIR "code/modules/mob/dead/observer"
-#define FILE_DIR "code/modules/mob/dead/observer/.svn"
-#define FILE_DIR "code/modules/mob/dead/observer/.svn/text-base"
#define FILE_DIR "code/modules/mob/living"
-#define FILE_DIR "code/modules/mob/living/.svn"
-#define FILE_DIR "code/modules/mob/living/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon"
-#define FILE_DIR "code/modules/mob/living/carbon/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon/alien"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon/alien/larva"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/larva/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/larva/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon/beast"
-#define FILE_DIR "code/modules/mob/living/carbon/beast/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/beast/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon/human"
-#define FILE_DIR "code/modules/mob/living/carbon/human/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/human/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/carbon/monkey"
-#define FILE_DIR "code/modules/mob/living/carbon/monkey/.svn"
-#define FILE_DIR "code/modules/mob/living/carbon/monkey/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/silicon"
-#define FILE_DIR "code/modules/mob/living/silicon/.svn"
-#define FILE_DIR "code/modules/mob/living/silicon/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/silicon/ai"
-#define FILE_DIR "code/modules/mob/living/silicon/ai/.svn"
-#define FILE_DIR "code/modules/mob/living/silicon/ai/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/silicon/decoy"
-#define FILE_DIR "code/modules/mob/living/silicon/decoy/.svn"
-#define FILE_DIR "code/modules/mob/living/silicon/decoy/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/silicon/hivebot"
-#define FILE_DIR "code/modules/mob/living/silicon/hivebot/.svn"
-#define FILE_DIR "code/modules/mob/living/silicon/hivebot/.svn/text-base"
#define FILE_DIR "code/modules/mob/living/silicon/robot"
-#define FILE_DIR "code/modules/mob/living/silicon/robot/.svn"
-#define FILE_DIR "code/modules/mob/living/silicon/robot/.svn/text-base"
#define FILE_DIR "code/modules/mob/new_player"
-#define FILE_DIR "code/modules/mob/new_player/.svn"
-#define FILE_DIR "code/modules/mob/new_player/.svn/text-base"
#define FILE_DIR "code/modules/power"
-#define FILE_DIR "code/modules/power/.svn"
-#define FILE_DIR "code/modules/power/.svn/text-base"
#define FILE_DIR "code/modules/power/antimatter"
-#define FILE_DIR "code/modules/power/antimatter/.svn"
-#define FILE_DIR "code/modules/power/antimatter/.svn/text-base"
-#define FILE_DIR "code/modules/radio"
-#define FILE_DIR "code/modules/radio/.svn"
-#define FILE_DIR "code/modules/shuttle"
-#define FILE_DIR "code/modules/shuttle/.svn"
#define FILE_DIR "code/unused"
-#define FILE_DIR "code/unused/.svn"
-#define FILE_DIR "code/unused/.svn/text-base"
-#define FILE_DIR "code/unused/game"
-#define FILE_DIR "code/unused/game/.svn"
-#define FILE_DIR "code/unused/game/verbs"
-#define FILE_DIR "code/unused/game/verbs/.svn"
-#define FILE_DIR "code/unused/modules"
-#define FILE_DIR "code/unused/modules/.svn"
-#define FILE_DIR "code/unused/modules/admin"
-#define FILE_DIR "code/unused/modules/admin/.svn"
#define FILE_DIR "code/WorkInProgress"
-#define FILE_DIR "code/WorkInProgress/.svn"
-#define FILE_DIR "code/WorkInProgress/.svn/text-base"
#define FILE_DIR "code/WorkInProgress/computer2"
-#define FILE_DIR "code/WorkInProgress/computer2/.svn"
-#define FILE_DIR "code/WorkInProgress/computer2/.svn/text-base"
#define FILE_DIR "code/WorkInProgress/optics"
-#define FILE_DIR "code/WorkInProgress/optics/.svn"
-#define FILE_DIR "code/WorkInProgress/optics/.svn/text-base"
#define FILE_DIR "code/WorkInProgress/pda2"
-#define FILE_DIR "code/WorkInProgress/pda2/.svn"
-#define FILE_DIR "code/WorkInProgress/pda2/.svn/text-base"
#define FILE_DIR "code/WorkInProgress/recycling"
-#define FILE_DIR "code/WorkInProgress/recycling/.svn"
-#define FILE_DIR "code/WorkInProgress/recycling/.svn/text-base"
-#define FILE_DIR "config"
-#define FILE_DIR "config/.svn"
-#define FILE_DIR "config/.svn/text-base"
-#define FILE_DIR "config/names"
-#define FILE_DIR "config/names/.svn"
-#define FILE_DIR "config/names/.svn/text-base"
-#define FILE_DIR "data"
-#define FILE_DIR "data/.svn"
-#define FILE_DIR "data/.svn/text-base"
#define FILE_DIR "icons"
-#define FILE_DIR "icons/.svn"
-#define FILE_DIR "icons/.svn/prop-base"
-#define FILE_DIR "icons/.svn/text-base"
#define FILE_DIR "icons/effects"
-#define FILE_DIR "icons/effects/.svn"
-#define FILE_DIR "icons/effects/.svn/prop-base"
-#define FILE_DIR "icons/effects/.svn/text-base"
#define FILE_DIR "icons/misc"
-#define FILE_DIR "icons/misc/.svn"
-#define FILE_DIR "icons/misc/.svn/prop-base"
-#define FILE_DIR "icons/misc/.svn/text-base"
#define FILE_DIR "icons/mob"
-#define FILE_DIR "icons/mob/.svn"
-#define FILE_DIR "icons/mob/.svn/prop-base"
-#define FILE_DIR "icons/mob/.svn/text-base"
#define FILE_DIR "icons/obj"
-#define FILE_DIR "icons/obj/.svn"
-#define FILE_DIR "icons/obj/.svn/prop-base"
-#define FILE_DIR "icons/obj/.svn/text-base"
#define FILE_DIR "icons/obj/atmospherics"
-#define FILE_DIR "icons/obj/atmospherics/.svn"
-#define FILE_DIR "icons/obj/atmospherics/.svn/prop-base"
-#define FILE_DIR "icons/obj/atmospherics/.svn/text-base"
#define FILE_DIR "icons/obj/clothing"
-#define FILE_DIR "icons/obj/clothing/.svn"
-#define FILE_DIR "icons/obj/clothing/.svn/prop-base"
-#define FILE_DIR "icons/obj/clothing/.svn/text-base"
#define FILE_DIR "icons/obj/doors"
-#define FILE_DIR "icons/obj/doors/.svn"
-#define FILE_DIR "icons/obj/doors/.svn/prop-base"
-#define FILE_DIR "icons/obj/doors/.svn/text-base"
#define FILE_DIR "icons/obj/machines"
-#define FILE_DIR "icons/obj/machines/.svn"
-#define FILE_DIR "icons/obj/machines/.svn/prop-base"
-#define FILE_DIR "icons/obj/machines/.svn/text-base"
#define FILE_DIR "icons/obj/pipes"
-#define FILE_DIR "icons/obj/pipes/.svn"
-#define FILE_DIR "icons/obj/pipes/.svn/prop-base"
-#define FILE_DIR "icons/obj/pipes/.svn/text-base"
#define FILE_DIR "icons/pda_icons"
-#define FILE_DIR "icons/pda_icons/.svn"
-#define FILE_DIR "icons/pda_icons/.svn/prop-base"
-#define FILE_DIR "icons/pda_icons/.svn/text-base"
-#define FILE_DIR "icons/PSD files"
-#define FILE_DIR "icons/PSD files/.svn"
-#define FILE_DIR "icons/PSD files/.svn/prop-base"
-#define FILE_DIR "icons/PSD files/.svn/text-base"
#define FILE_DIR "icons/Testing"
-#define FILE_DIR "icons/Testing/.svn"
-#define FILE_DIR "icons/Testing/.svn/prop-base"
-#define FILE_DIR "icons/Testing/.svn/text-base"
#define FILE_DIR "icons/turf"
-#define FILE_DIR "icons/turf/.svn"
-#define FILE_DIR "icons/turf/.svn/prop-base"
-#define FILE_DIR "icons/turf/.svn/text-base"
#define FILE_DIR "interface"
-#define FILE_DIR "interface/.svn"
-#define FILE_DIR "interface/.svn/text-base"
#define FILE_DIR "maps"
-#define FILE_DIR "maps/.svn"
-#define FILE_DIR "maps/.svn/prop-base"
-#define FILE_DIR "maps/.svn/text-base"
#define FILE_DIR "maps/backup"
-#define FILE_DIR "maps/backup/.svn"
-#define FILE_DIR "maps/backup/.svn/text-base"
-#define FILE_DIR "music"
-#define FILE_DIR "music/.svn"
-#define FILE_DIR "music/.svn/text-base"
#define FILE_DIR "sound"
-#define FILE_DIR "sound/.svn"
#define FILE_DIR "sound/ambience"
-#define FILE_DIR "sound/ambience/.svn"
-#define FILE_DIR "sound/ambience/.svn/prop-base"
-#define FILE_DIR "sound/ambience/.svn/text-base"
#define FILE_DIR "sound/announcer"
-#define FILE_DIR "sound/announcer/.svn"
-#define FILE_DIR "sound/announcer/.svn/prop-base"
-#define FILE_DIR "sound/announcer/.svn/text-base"
#define FILE_DIR "sound/effects"
-#define FILE_DIR "sound/effects/.svn"
-#define FILE_DIR "sound/effects/.svn/prop-base"
-#define FILE_DIR "sound/effects/.svn/text-base"
#define FILE_DIR "sound/items"
-#define FILE_DIR "sound/items/.svn"
-#define FILE_DIR "sound/items/.svn/prop-base"
-#define FILE_DIR "sound/items/.svn/text-base"
#define FILE_DIR "sound/machines"
-#define FILE_DIR "sound/machines/.svn"
-#define FILE_DIR "sound/machines/.svn/prop-base"
-#define FILE_DIR "sound/machines/.svn/text-base"
#define FILE_DIR "sound/misc"
-#define FILE_DIR "sound/misc/.svn"
-#define FILE_DIR "sound/misc/.svn/prop-base"
-#define FILE_DIR "sound/misc/.svn/text-base"
#define FILE_DIR "sound/piano"
-#define FILE_DIR "sound/piano/.svn"
-#define FILE_DIR "sound/piano/.svn/prop-base"
-#define FILE_DIR "sound/piano/.svn/text-base"
#define FILE_DIR "sound/voice"
-#define FILE_DIR "sound/voice/.svn"
-#define FILE_DIR "sound/voice/.svn/prop-base"
-#define FILE_DIR "sound/voice/.svn/text-base"
#define FILE_DIR "sound/weapons"
-#define FILE_DIR "sound/weapons/.svn"
-#define FILE_DIR "sound/weapons/.svn/prop-base"
-#define FILE_DIR "sound/weapons/.svn/text-base"
-#define FILE_DIR "SQL"
-#define FILE_DIR "SQL/.svn"
-#define FILE_DIR "SQL/.svn/text-base"
// END_FILE_DIR
// BEGIN_PREFERENCES
diff --git a/icons/obj/magic.dmi b/icons/obj/magic.dmi
index 28573028b69..141b2df3f81 100644
Binary files a/icons/obj/magic.dmi and b/icons/obj/magic.dmi differ
diff --git a/icons/obj/rune.dmi b/icons/obj/rune.dmi
new file mode 100644
index 00000000000..4e8787553e4
Binary files /dev/null and b/icons/obj/rune.dmi differ