-When a pAI Card is deleted it will now kill the pAI mob inside. This is to stop people from being able to respawn by having their pAI destroyed in a singularity.

-Added a new wire to Cyborgs. The Camera wire allows you to disable the Cyborg's camera. It will show on Security Consoles as "Cyborg-155 (deactivated)". Pulsing it provides you and the Cyborg with a message of the Cyborg's camera focusing loudly. It will also kick anyone who is watching the Cyborg's camera out.

-Traitor Cyborgs, when scrambling their codes, now have a completely disabled camera. It will not show up on Security Consoles at all, even as deactivated.

-Added a new small guide for new Cyborgs. It is similar to the AI's with some more useful information specific to Cyborgs.

-Commented out the old message, it was copy+pasted everywhere.

-Changed RandomBorgWires to not rely on lucking out and landing on a previously unused index.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4089 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2012-07-16 16:15:29 +00:00
parent b222e9cdee
commit e42419c304
10 changed files with 195 additions and 144 deletions

View File

@@ -47,7 +47,7 @@
var/datum/effect/effect/system/ion_trail_follow/ion_trail = null var/datum/effect/effect/system/ion_trail_follow/ion_trail = null
var/datum/effect/effect/system/spark_spread/spark_system//So they can initialize sparks whenever/N var/datum/effect/effect/system/spark_spread/spark_system//So they can initialize sparks whenever/N
var/jeton = 0 var/jeton = 0
var/borgwires = 15 var/borgwires = 31 // 0b11111
var/killswitch = 0 var/killswitch = 0
var/killswitch_time = 60 var/killswitch_time = 60
var/weapon_lock = 0 var/weapon_lock = 0

View File

@@ -11,119 +11,126 @@
var/looking_for_personality = 0 var/looking_for_personality = 0
var/mob/living/silicon/pai/pai var/mob/living/silicon/pai/pai
New() /obj/item/device/paicard/New()
..() ..()
overlays += "pai-off" overlays += "pai-off"
attack_self(mob/user) /obj/item/device/paicard/Del()
if (!in_range(src, user)) //Will stop people throwing friend pAIs into the singularity so they can respawn
return if(!isnull(pai))
user.machine = src pai.death(0)
var/dat = "<TT><B>Personal AI Device</B><BR>" ..()
if(pai && (!pai.master_dna || !pai.master))
dat += "<a href='byond://?src=\ref[src];setdna=1'>Imprint Master DNA</a><br>" /obj/item/device/paicard/attack_self(mob/user)
if(pai) if (!in_range(src, user))
dat += "Installed Personality: [pai.name]<br>"
dat += "Prime directive: <br>[pai.pai_law0]<br>"
dat += "Additional directives: <br>[pai.pai_laws]<br>"
dat += "<a href='byond://?src=\ref[src];setlaws=1'>Configure Directives</a><br>"
dat += "<br>"
dat += "<h3>Device Settings</h3><br>"
if(radio)
dat += "<b>Radio Uplink</b><br>"
dat += "Transmit: <A href='byond://?src=\ref[src];wires=4'>[(radio.wires & 4) ? "Enabled" : "Disabled"]</A><br>"
dat += "Receive: <A href='byond://?src=\ref[src];wires=2'>[(radio.wires & 2) ? "Enabled" : "Disabled"]</A><br>"
dat += "Signal Pulser: <A href='byond://?src=\ref[src];wires=1'>[(radio.wires & 1) ? "Enabled" : "Disabled"]</A><br>"
else
dat += "<b>Radio Uplink</b><br>"
dat += "<font color=red><i>Radio firmware not loaded. Please install a pAI personality to load firmware.</i></font><br>"
dat += "<A href='byond://?src=\ref[src];wipe=1'>\[Wipe current pAI personality\]</a><br>"
else
if(looking_for_personality)
dat += "Searching for a personality..."
dat += "<A href='byond://?src=\ref[src];request=1'>\[View available personalities\]</a><br>"
else
dat += "No personality is installed.<br>"
dat += "<A href='byond://?src=\ref[src];request=1'>\[Request personal AI personality\]</a><br>"
dat += "Each time this button is pressed, a request will be sent out to any available personalities. Check back often and alot time for personalities to respond. This process could take anywhere from 15 seconds to several minutes, depending on the available personalities' timeliness."
user << browse(dat, "window=paicard")
onclose(user, "paicard")
return return
user.machine = src
var/dat = "<TT><B>Personal AI Device</B><BR>"
if(pai && (!pai.master_dna || !pai.master))
dat += "<a href='byond://?src=\ref[src];setdna=1'>Imprint Master DNA</a><br>"
if(pai)
dat += "Installed Personality: [pai.name]<br>"
dat += "Prime directive: <br>[pai.pai_law0]<br>"
dat += "Additional directives: <br>[pai.pai_laws]<br>"
dat += "<a href='byond://?src=\ref[src];setlaws=1'>Configure Directives</a><br>"
dat += "<br>"
dat += "<h3>Device Settings</h3><br>"
if(radio)
dat += "<b>Radio Uplink</b><br>"
dat += "Transmit: <A href='byond://?src=\ref[src];wires=4'>[(radio.wires & 4) ? "Enabled" : "Disabled"]</A><br>"
dat += "Receive: <A href='byond://?src=\ref[src];wires=2'>[(radio.wires & 2) ? "Enabled" : "Disabled"]</A><br>"
dat += "Signal Pulser: <A href='byond://?src=\ref[src];wires=1'>[(radio.wires & 1) ? "Enabled" : "Disabled"]</A><br>"
else
dat += "<b>Radio Uplink</b><br>"
dat += "<font color=red><i>Radio firmware not loaded. Please install a pAI personality to load firmware.</i></font><br>"
dat += "<A href='byond://?src=\ref[src];wipe=1'>\[Wipe current pAI personality\]</a><br>"
else
if(looking_for_personality)
dat += "Searching for a personality..."
dat += "<A href='byond://?src=\ref[src];request=1'>\[View available personalities\]</a><br>"
else
dat += "No personality is installed.<br>"
dat += "<A href='byond://?src=\ref[src];request=1'>\[Request personal AI personality\]</a><br>"
dat += "Each time this button is pressed, a request will be sent out to any available personalities. Check back often and alot time for personalities to respond. This process could take anywhere from 15 seconds to several minutes, depending on the available personalities' timeliness."
user << browse(dat, "window=paicard")
onclose(user, "paicard")
return
Topic(href, href_list) /obj/item/device/paicard/Topic(href, href_list)
if(href_list["setdna"]) if(href_list["setdna"])
if(pai.master_dna) if(pai.master_dna)
return return
var/mob/M = usr var/mob/M = usr
if(!istype(M, /mob/living/carbon)) if(!istype(M, /mob/living/carbon))
usr << "<font color=blue>You don't have any DNA, or your DNA is incompatible with this device.</font>" usr << "<font color=blue>You don't have any DNA, or your DNA is incompatible with this device.</font>"
else else
var/datum/dna/dna = usr.dna var/datum/dna/dna = usr.dna
pai.master = M.real_name pai.master = M.real_name
pai.master_dna = dna.unique_enzymes pai.master_dna = dna.unique_enzymes
pai << "<font color = red><h3>You have been bound to a new master.</h3></font>" pai << "<font color = red><h3>You have been bound to a new master.</h3></font>"
if(href_list["request"]) if(href_list["request"])
src.looking_for_personality = 1 src.looking_for_personality = 1
paiController.findPAI(src, usr) paiController.findPAI(src, usr)
if(href_list["wipe"]) if(href_list["wipe"])
var/confirm = input("Are you CERTAIN you wish to delete the current personality? This action cannot be undone.", "Personality Wipe") in list("Yes", "No") var/confirm = input("Are you CERTAIN you wish to delete the current personality? This action cannot be undone.", "Personality Wipe") in list("Yes", "No")
if(confirm == "Yes") if(confirm == "Yes")
for(var/mob/M in src) for(var/mob/M in src)
M << "<font color = #ff0000><h2>You feel yourself slipping away from reality.</h2></font>" M << "<font color = #ff0000><h2>You feel yourself slipping away from reality.</h2></font>"
M << "<font color = #ff4d4d><h3>Byte by byte you lose your sense of self.</h3></font>" M << "<font color = #ff4d4d><h3>Byte by byte you lose your sense of self.</h3></font>"
M << "<font color = #ff8787><h4>Your mental faculties leave you.</h4></font>" M << "<font color = #ff8787><h4>Your mental faculties leave you.</h4></font>"
M << "<font color = #ffc4c4><h5>oblivion... </h5></font>" M << "<font color = #ffc4c4><h5>oblivion... </h5></font>"
M.death(0) M.death(0)
removePersonality() removePersonality()
if(href_list["wires"]) if(href_list["wires"])
var/t1 = text2num(href_list["wires"]) var/t1 = text2num(href_list["wires"])
if (radio.wires & t1) if (radio.wires & t1)
radio.wires &= ~t1 radio.wires &= ~t1
else else
radio.wires |= t1 radio.wires |= t1
if(href_list["setlaws"]) if(href_list["setlaws"])
var/newlaws = copytext(sanitize(input("Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws) as message),1,MAX_MESSAGE_LEN) var/newlaws = copytext(sanitize(input("Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws) as message),1,MAX_MESSAGE_LEN)
if(newlaws) if(newlaws)
pai.pai_laws = newlaws pai.pai_laws = newlaws
pai << "Your supplemental directives have been updated. Your new directives are:" pai << "Your supplemental directives have been updated. Your new directives are:"
pai << "Prime Directive : <br>[pai.pai_law0]" pai << "Prime Directive : <br>[pai.pai_law0]"
pai << "Supplemental Directives: <br>[pai.pai_laws]" pai << "Supplemental Directives: <br>[pai.pai_laws]"
attack_self(usr) attack_self(usr)
// WIRE_SIGNAL = 1 // WIRE_SIGNAL = 1
// WIRE_RECEIVE = 2 // WIRE_RECEIVE = 2
// WIRE_TRANSMIT = 4 // WIRE_TRANSMIT = 4
proc/setPersonality(mob/living/silicon/pai/personality) /obj/item/device/paicard/proc/setPersonality(mob/living/silicon/pai/personality)
src.pai = personality src.pai = personality
src.overlays += "pai-happy" src.overlays += "pai-happy"
proc/removePersonality() /obj/item/device/paicard/proc/removePersonality()
src.pai = null src.pai = null
src.overlays = null
src.overlays += "pai-off"
/obj/item/device/paicard/proc/setEmotion(var/emotion)
if(pai)
src.overlays = null src.overlays = null
src.overlays += "pai-off" switch(emotion)
if(1) src.overlays += "pai-happy"
if(2) src.overlays += "pai-cat"
if(3) src.overlays += "pai-extremely-happy"
if(4) src.overlays += "pai-face"
if(5) src.overlays += "pai-laugh"
if(6) src.overlays += "pai-off"
if(7) src.overlays += "pai-sad"
if(8) src.overlays += "pai-angry"
if(9) src.overlays += "pai-what"
proc/setEmotion(var/emotion) /obj/item/device/paicard/proc/alertUpdate()
if(pai) var/turf/T = get_turf_or_move(src.loc)
src.overlays = null for (var/mob/M in viewers(T))
switch(emotion) M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2)
if(1) src.overlays += "pai-happy"
if(2) src.overlays += "pai-cat"
if(3) src.overlays += "pai-extremely-happy"
if(4) src.overlays += "pai-face"
if(5) src.overlays += "pai-laugh"
if(6) src.overlays += "pai-off"
if(7) src.overlays += "pai-sad"
if(8) src.overlays += "pai-angry"
if(9) src.overlays += "pai-what"
proc/alertUpdate() /obj/item/device/paicard/emp_act(severity)
var/turf/T = get_turf_or_move(src.loc) for(var/mob/M in src)
for (var/mob/M in viewers(T)) M.emp_act(severity)
M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2) ..()
emp_act(severity)
for(var/mob/M in src)
M.emp_act(severity)
..()

View File

@@ -204,10 +204,10 @@
if(O.mind && O.mind.special_role) if(O.mind && O.mind.special_role)
O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite") O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite")
O << "<B>You are playing a Cyborg. The Cyborg can interact with most electronic objects in its view point.</B>" //O << "<B>You are playing a Cyborg. The Cyborg can interact with most electronic objects in its view point.</B>"
O << "<B>You must follow the laws that the AI has. You must follow orders the AI gives you.</B>" //O << "<B>You must follow the laws that the AI has. You must follow orders the AI gives you.</B>"
O << "To use something, simply click on it." //O << "To use something, simply click on it."
O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."} //O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."}
O.job = "Cyborg" O.job = "Cyborg"

View File

@@ -48,8 +48,8 @@
update_canmove() update_canmove()
tension_master.death(src) tension_master.death(src)
if(camera)
camera.status = 0 camera.status = 0
if(in_contents_of(/obj/machinery/recharge_station))//exit the recharge station if(in_contents_of(/obj/machinery/recharge_station))//exit the recharge station
var/obj/machinery/recharge_station/RC = loc var/obj/machinery/recharge_station/RC = loc

View File

@@ -76,10 +76,11 @@
handle_regular_status_updates() handle_regular_status_updates()
if(camera) if(src.camera && !scrambledcodes)
src.camera.status = 1//bluh bluh ugly fix but it will work till this whole thing gets recoded if(src.stat == 2 || isWireCut(5))
if(src.stat)
src.camera.status = 0 src.camera.status = 0
else
src.camera.status = 1
health = 200 - (getOxyLoss() + getFireLoss() + getBruteLoss()) health = 200 - (getOxyLoss() + getFireLoss() + getBruteLoss())

View File

@@ -41,9 +41,12 @@
modtype = "Synd" modtype = "Synd"
radio = new /obj/item/device/radio(src) radio = new /obj/item/device/radio(src)
camera = new /obj/machinery/camera(src) if(!scrambledcodes)
camera.c_tag = real_name camera = new /obj/machinery/camera(src)
camera.network = "SS13" camera.c_tag = real_name
camera.network = "SS13"
if(isWireCut(5)) // 5 = BORG CAMERA
camera.status = 0
if(!cell) if(!cell)
var/obj/item/weapon/cell/C = new(src) var/obj/item/weapon/cell/C = new(src)
C.charge = 1500 C.charge = 1500

View File

@@ -15,6 +15,12 @@
ident = rand(1, 999) ident = rand(1, 999)
real_name += "-[ident]" real_name += "-[ident]"
name = real_name name = real_name
src << "<B>You are playing a Cyborg. You can move around and remotely interact with the machines around you.</B>"
src << "<B>You can use things such as computers, APCs, intercoms, doors, etc. To use something, simply click on it.</B>"
src << "<B>As a new Cyborg you can choose your class. Each class have different modules that help them perform their duties.</B>"
src << "<B>Remember that you have a limited charge and the more modules you have active the more power you will drain.</B>"
src << "<B>Finally, you are loyal to your linked AI. You should obey all orders of the linked AI as long as it does not conflict with your laws.</B>"
src << "Use say :s to speak to your fellow machines through binary."
spawn (4) spawn (4)
if(!syndie) if(!syndie)
@@ -44,9 +50,10 @@
modtype = "Synd" modtype = "Synd"
radio = new /obj/item/device/radio(src) radio = new /obj/item/device/radio(src)
camera = new /obj/machinery/camera(src) if(!scrambledcodes)
camera.c_tag = real_name camera = new /obj/machinery/camera(src)
camera.network = "SS13" camera.c_tag = real_name
camera.network = "SS13"
if(!cell) if(!cell)
var/obj/item/weapon/cell/C = new(src) var/obj/item/weapon/cell/C = new(src)
C.charge = 1500 C.charge = 1500
@@ -963,17 +970,24 @@ Frequency:
lockcharge = 0 lockcharge = 0
canmove = 1 canmove = 1
scrambledcodes = 1 scrambledcodes = 1
//Disconnect it's camera so it's not so easily tracked.
if(src.camera)
del(src.camera)
src.camera = null
// I'm trying to get the Cyborg to not be listed in the camera list
// Instead of being listed as "deactivated". The downside is that I'm going
// to have to check if every camera is null or not before doing anything, to prevent runtime errors.
// I could change the network to null but I don't know what would happen, and it seems too hacky for me.
/mob/living/silicon/robot/proc/ResetSecurityCodes() /mob/living/silicon/robot/proc/ResetSecurityCodes()
set category = "Robot Commands" set category = "Robot Commands"
set name = "Reset Identity Codes" set name = "Reset Identity Codes"
set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and but permenantly severs you from your AI and the robotics console." set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and but permenantly severs you from your AI and the robotics console and will deactivate your camera system."
var/mob/living/silicon/robot/R = usr var/mob/living/silicon/robot/R = usr
if(R) if(R)
R.UnlinkSelf() R.UnlinkSelf()
R << "Buffers flushed and reset. All systems operational." R << "Buffers flushed and reset. Camera system shutdown. All systems operational."
src.verbs -= /mob/living/silicon/robot/proc/ResetSecurityCodes src.verbs -= /mob/living/silicon/robot/proc/ResetSecurityCodes

View File

@@ -2,24 +2,26 @@
#define BORG_WIRE_MAIN_POWER1 2 #define BORG_WIRE_MAIN_POWER1 2
#define BORG_WIRE_MAIN_POWER2 3 #define BORG_WIRE_MAIN_POWER2 3
#define BORG_WIRE_AI_CONTROL 4 #define BORG_WIRE_AI_CONTROL 4
#define BORG_WIRE_CAMERA 5
/proc/RandomBorgWires() /proc/RandomBorgWires()
//to make this not randomize the wires, just set index to 1 and increment it in the flag for loop (after doing everything else). //to make this not randomize the wires, just set index to 1 and increment it in the flag for loop (after doing everything else).
var/list/Borgwires = list(0, 0, 0, 0) var/list/Borgwires = list(0, 0, 0, 0, 0)
BorgIndexToFlag = list(0, 0, 0, 0) BorgIndexToFlag = list(0, 0, 0, 0, 0)
BorgIndexToWireColor = list(0, 0, 0, 0) BorgIndexToWireColor = list(0, 0, 0, 0, 0)
BorgWireColorToIndex = list(0, 0, 0, 0) BorgWireColorToIndex = list(0, 0, 0, 0, 0)
var/flagIndex = 1 var/flagIndex = 1
for (var/flag=1, flag<16, flag+=flag) //I think it's easier to read this way, also doesn't rely on the random number generator to land on a new wire.
var/valid = 0 var/list/colorIndexList = list(BORG_WIRE_LAWCHECK, BORG_WIRE_MAIN_POWER1, BORG_WIRE_MAIN_POWER2, BORG_WIRE_AI_CONTROL, BORG_WIRE_CAMERA)
while (!valid) for (var/flag=1, flag<=16, flag+=flag)
var/colorIndex = rand(1, 4) var/colorIndex = pick(colorIndexList)
if (Borgwires[colorIndex]==0) if (Borgwires[colorIndex]==0)
valid = 1 Borgwires[colorIndex] = flag
Borgwires[colorIndex] = flag BorgIndexToFlag[flagIndex] = flag
BorgIndexToFlag[flagIndex] = flag BorgIndexToWireColor[flagIndex] = colorIndex
BorgIndexToWireColor[flagIndex] = colorIndex BorgWireColorToIndex[colorIndex] = flagIndex
BorgWireColorToIndex[colorIndex] = flagIndex colorIndexList -= colorIndex // Shortens the list.
//world.log << "Flag: [flag], CIndex: [colorIndex], FIndex: [flagIndex]"
flagIndex+=1 flagIndex+=1
return Borgwires return Borgwires
@@ -43,6 +45,11 @@
if (BORG_WIRE_AI_CONTROL) //Cut the AI wire to reset AI control if (BORG_WIRE_AI_CONTROL) //Cut the AI wire to reset AI control
if (src.connected_ai) if (src.connected_ai)
src.connected_ai = null src.connected_ai = null
if (BORG_WIRE_CAMERA)
if(!isnull(src.camera) && !scrambledcodes)
src.camera.status = 0
src.camera.deactivate(usr, 0) // Will kick anyone who is watching the Cyborg's camera.
src.interact(usr) src.interact(usr)
/mob/living/silicon/robot/proc/mend(var/wireColor) /mob/living/silicon/robot/proc/mend(var/wireColor)
@@ -53,6 +60,10 @@
if(BORG_WIRE_LAWCHECK) //turns law updates back on assuming the borg hasn't been emagged if(BORG_WIRE_LAWCHECK) //turns law updates back on assuming the borg hasn't been emagged
if (src.lawupdate == 0 && !src.emagged) if (src.lawupdate == 0 && !src.emagged)
src.lawupdate = 1 src.lawupdate = 1
if(BORG_WIRE_CAMERA)
if (!isnull(src.camera) && !scrambledcodes)
src.camera.status = 1
src.interact(usr) src.interact(usr)
@@ -63,9 +74,16 @@
if (src.lawupdate) if (src.lawupdate)
src.lawsync() src.lawsync()
if (BORG_WIRE_AI_CONTROL) //pule the AI wire to make the borg reselect an AI if (BORG_WIRE_AI_CONTROL) //pulse the AI wire to make the borg reselect an AI
if(!src.emagged) if(!src.emagged)
src.connected_ai = activeais() src.connected_ai = activeais()
if (BORG_WIRE_CAMERA)
if(!isnull(src.camera) && src.camera.status && !scrambledcodes)
src.camera.deactivate(usr, 0) // Kick anyone watching the Cyborg's camera, doesn't display you disconnecting the camera.
usr << "[src]'s camera lens focuses loudly."
src << "Your camera lens focuses loudly."
src.interact(usr) src.interact(usr)
/mob/living/silicon/robot/proc/interact(mob/user) /mob/living/silicon/robot/proc/interact(mob/user)
@@ -77,6 +95,7 @@
"Dark red" = 2, "Dark red" = 2,
"White" = 3, "White" = 3,
"Yellow" = 4, "Yellow" = 4,
"Blue" = 5,
) )
for(var/wiredesc in Borgwires) for(var/wiredesc in Borgwires)
var/is_uncut = src.borgwires & BorgWireColorToFlag[Borgwires[wiredesc]] var/is_uncut = src.borgwires & BorgWireColorToFlag[Borgwires[wiredesc]]
@@ -88,6 +107,7 @@
t1 += "<a href='?src=\ref[src];pulse=[Borgwires[wiredesc]]'>Pulse</a> " t1 += "<a href='?src=\ref[src];pulse=[Borgwires[wiredesc]]'>Pulse</a> "
t1 += "<br>" t1 += "<br>"
t1 += text("<br>\n[(src.lawupdate ? "The LawSync light is on." : "The LawSync light is off.")]<br>\n[(src.connected_ai ? "The AI link light is on." : "The AI link light is off.")]") t1 += text("<br>\n[(src.lawupdate ? "The LawSync light is on." : "The LawSync light is off.")]<br>\n[(src.connected_ai ? "The AI link light is on." : "The AI link light is off.")]")
t1 += text("<br>\n[((!isnull(src.camera) && src.camera.status == 1) ? "The Camera light is on." : "The Camera light is off.")]<br>\n")
t1 += text("<p><a href='?src=\ref[src];close2=1'>Close</a></p>\n") t1 += text("<p><a href='?src=\ref[src];close2=1'>Close</a></p>\n")
user << browse(t1, "window=borgwires") user << browse(t1, "window=borgwires")
onclose(user, "borgwires") onclose(user, "borgwires")
@@ -119,3 +139,9 @@
usr << browse(null, "window=borgwires") usr << browse(null, "window=borgwires")
usr.machine = null usr.machine = null
return return
#undef BORG_WIRE_LAWCHECK
#undef BORG_WIRE_MAIN_POWER1
#undef BORG_WIRE_MAIN_POWER2
#undef BORG_WIRE_AI_CONTROL
#undef BORG_WIRE_CAMERA

View File

@@ -198,10 +198,10 @@
ticker.minds += O.mind//Adds them to regular mind list. ticker.minds += O.mind//Adds them to regular mind list.
O.loc = loc O.loc = loc
O << "<B>You are playing a Cyborg. A Cyborg can interact with most electronic objects in its view point.</B>" //O << "<B>You are playing a Cyborg. A Cyborg can interact with most electronic objects in its view point.</B>"
O << "<B>You must follow the laws that the AI has. You must follow orders the AI gives you.</B>" //O << "<B>You must follow the laws that the AI has. You must follow orders the AI gives you.</B>"
O << "To use something, simply click on it." //O << "To use something, simply click on it."
O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."} //O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."}
O.job = "Cyborg" O.job = "Cyborg"

View File

@@ -83,10 +83,10 @@
ticker.minds += O.mind//Adds them to regular mind list. ticker.minds += O.mind//Adds them to regular mind list.
O.loc = loc O.loc = loc
O << "<B>You are playing a Cyborg. A Cyborg can interact with most electronic objects in its view point.</B>" //O << "<B>You are playing a Cyborg. A Cyborg can interact with most electronic objects in its view point.</B>"
O << "<B>You must follow the laws that the AI has. You must follow orders the AI gives you.</B>" //O << "<B>You must follow the laws that the AI has. You must follow orders the AI gives you.</B>"
O << "To use something, simply click on it." //O << "To use something, simply click on it."
O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."} //O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."}
O.job = "Cyborg" O.job = "Cyborg"