diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm
index 8d2213333c9..9102756ca4c 100644
--- a/code/WorkInProgress/Ported/Abi79/uplinks.dm
+++ b/code/WorkInProgress/Ported/Abi79/uplinks.dm
@@ -46,9 +46,9 @@ A list of items and costs is stored under the datum of every game mode, alongsid
for(var/D in ItemList)
var/list/O = stringsplit(D, ":")
if(O.len != 3) //If it is not an actual item, make a break in the menu.
- if(category_items < 1) //If there were no itens in the last category...
- src.menu_message += "We apologize, as you could not afford anything from this category.
"
if(O.len == 1) //If there is one item, it's probably a title
+ if(category_items < 1) //If there were no itens in the last category...
+ src.menu_message += "We apologize, as you could not afford anything from this category.
"
src.menu_message += "[O[1]]
"
category_items = 0
else //Else, it's a white space.
diff --git a/code/game/dna.dm b/code/game/dna.dm
index b84b3b67063..162fa77b43c 100644
--- a/code/game/dna.dm
+++ b/code/game/dna.dm
@@ -3,6 +3,7 @@
var/unique_enzymes = null
var/struc_enzymes = null
var/uni_identity = null
+ var/original_name = "Unknown"
/datum/dna/proc/check_integrity()
//Lazy.
@@ -66,6 +67,7 @@
struc_enzymes = mutstring
unique_enzymes = md5(character.real_name)
+ original_name = character.real_name
reg_dna[unique_enzymes] = character.real_name
/////////////////////////// DNA DATUM
@@ -687,6 +689,7 @@
src.updateUsrDialog()
/obj/machinery/scan_consolenew/process() //not really used right now
+ processing_objects.Remove(src) //Lets not have it waste CPU
if(stat & (NOPOWER|BROKEN))
return
if (!( src.status )) //remove this
@@ -1029,7 +1032,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer1owner = src.connected.occupant.name
else
- src.buffer1owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer1owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer1owner = src.connected.occupant.real_name
src.buffer1label = "Unique Identifier"
src.buffer1type = "ui"
dopage(src,"buffermenu")
@@ -1038,7 +1044,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer1owner = src.connected.occupant.name
else
- src.buffer1owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer1owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer1owner = src.connected.occupant.real_name
src.buffer1label = "Unique Identifier & Unique Enzymes"
src.buffer1type = "ui"
src.buffer1iue = 1
@@ -1048,7 +1057,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer2owner = src.connected.occupant.name
else
- src.buffer2owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer2owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer2owner = src.connected.occupant.real_name
src.buffer2label = "Unique Identifier & Unique Enzymes"
src.buffer2type = "ui"
src.buffer2iue = 1
@@ -1058,7 +1070,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer3owner = src.connected.occupant.name
else
- src.buffer3owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer3owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer3owner = src.connected.occupant.real_name
src.buffer3label = "Unique Identifier & Unique Enzymes"
src.buffer3type = "ui"
src.buffer3iue = 1
@@ -1069,7 +1084,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer2owner = src.connected.occupant.name
else
- src.buffer2owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer2owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer2owner = src.connected.occupant.real_name
src.buffer2label = "Unique Identifier"
src.buffer2type = "ui"
dopage(src,"buffermenu")
@@ -1079,7 +1097,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer3owner = src.connected.occupant.name
else
- src.buffer3owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer3owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer3owner = src.connected.occupant.real_name
src.buffer3label = "Unique Identifier"
src.buffer3type = "ui"
dopage(src,"buffermenu")
@@ -1089,7 +1110,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer1owner = src.connected.occupant.name
else
- src.buffer1owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer1owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer1owner = src.connected.occupant.real_name
src.buffer1label = "Structural Enzymes"
src.buffer1type = "se"
dopage(src,"buffermenu")
@@ -1099,7 +1123,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer2owner = src.connected.occupant.name
else
- src.buffer2owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer2owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer2owner = src.connected.occupant.real_name
src.buffer2label = "Structural Enzymes"
src.buffer2type = "se"
dopage(src,"buffermenu")
@@ -1109,7 +1136,10 @@
if (!istype(src.connected.occupant,/mob/living/carbon/human))
src.buffer3owner = src.connected.occupant.name
else
- src.buffer3owner = src.connected.occupant.real_name
+ if(src.connected.occupant.real_name == "Unknown" && src.connected.occupant.dna.original_name != "Unknown")
+ src.buffer3owner = src.connected.occupant.dna.original_name //Good god, is that unweildy
+ else
+ src.buffer3owner = src.connected.occupant.real_name
src.buffer3label = "Structural Enzymes"
src.buffer3type = "se"
dopage(src,"buffermenu")
@@ -1147,6 +1177,7 @@
if (src.buffer1iue)
src.connected.occupant.real_name = src.buffer1owner
src.connected.occupant.name = src.buffer1owner
+ src.connected.occupant.dna.original_name = src.buffer1owner
src.connected.occupant.dna.uni_identity = src.buffer1
updateappearance(src.connected.occupant,src.connected.occupant.dna.uni_identity)
else if (src.buffer1type == "se")
@@ -1162,6 +1193,7 @@
if (src.buffer2iue)
src.connected.occupant.real_name = src.buffer2owner
src.connected.occupant.name = src.buffer2owner
+ src.connected.occupant.dna.original_name = src.buffer2owner
src.connected.occupant.dna.uni_identity = src.buffer2
updateappearance(src.connected.occupant,src.connected.occupant.dna.uni_identity)
else if (src.buffer2type == "se")
@@ -1177,6 +1209,7 @@
if (src.buffer3iue)
src.connected.occupant.real_name = src.buffer3owner
src.connected.occupant.name = src.buffer3owner
+ src.connected.occupant.dna.original_name = src.buffer3owner
src.connected.occupant.dna.uni_identity = src.buffer3
updateappearance(src.connected.occupant,src.connected.occupant.dna.uni_identity)
else if (src.buffer3type == "se")
diff --git a/code/game/events/Events/ElectricalStorm.dm b/code/game/events/Events/ElectricalStorm.dm
index 08bc5cbbb5e..c06384cd386 100644
--- a/code/game/events/Events/ElectricalStorm.dm
+++ b/code/game/events/Events/ElectricalStorm.dm
@@ -3,6 +3,7 @@
list/obj/machinery/light/Lights = list( )
list/obj/machinery/light/APCs = list( )
list/obj/machinery/light/Doors = list( )
+ list/obj/machinery/light/Comms = list( )
Announce()
command_alert("The station is flying through an electrical storm. Radio communications may be disrupted", "Anomaly Alert")
@@ -19,6 +20,11 @@
if(Door.z == 1)
Doors += Door
+ for(var/obj/machinery/telecomms/processor/T in world)
+ if(prob(90) && !(T.stat & (BROKEN|NOPOWER)))
+ T.stat |= BROKEN
+ Comms |= T
+
Tick()
for(var/x = 0; x < 3; x++)
if (prob(30))
@@ -31,6 +37,9 @@
Die()
command_alert("The station has cleared the electrical storm. Radio communications restored", "Anomaly Alert")
+ for(var/obj/machinery/telecomms/processor/T in Comms)
+ T.stat &= ~BROKEN
+ Comms = list()
proc
BlowLight() //Blow out a light fixture
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index ee24359aeea..2227cead3c3 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -293,18 +293,21 @@
return
src.operating = 1
+ var/X = src:x
+ var/Y = src:y
+ var/Z = src:z
var/held = 1
if(src.holdopen)
while(held == 1)
+ sleep(held? 10:40)
held = 0
- var/list/objects = locate() in get_turf(src)
+ var/list/objects = locate(X,Y,Z)
for(var/obj/T in objects)
- if(T != src)
+ if(!istype(T,/obj/machinery/door))
held = 1
for(var/mob/T in objects)
held = 1
- sleep(10)
animate("closing")
src.density = 1
spawn(4)
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index f7e0bae3cdd..7468693ea32 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -31,6 +31,7 @@
updateappearance(M, M.dna.uni_identity)
M.real_name = ue
M.name = ue
+ M.dna.original_name = ue
uses--
else //unique enzymes? no
M.dna.uni_identity = dna
diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm
index 4e7d6b984eb..50036fbce9f 100644
--- a/code/game/verbs/suicide.dm
+++ b/code/game/verbs/suicide.dm
@@ -11,8 +11,9 @@
src << "You can't commit suicide before the game starts!"
return
- if (!src.mind.special_role == "Syndicate")
+ if (mind.special_role != "Syndicate")
src << "No."
+ return
if (suiciding)
src << "You're already committing suicide! Be patient!"