mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 05:27:39 +01:00
Fixed up Deeaych's round-start cyborgs, they no longer spawn on the title screen
As a side effect of fixing this, since digging into the related code to make it not the case would be a chore and a half, round-start cyborgs are capable of being traitors, receiving the same objective/law set as an AI would. Much like a traitor AI, they can use a robotics terminal to hack themselves to unlock the emag module, at the cost of RED ANTENNA ROUGE BORG. It has been suggested that they get additional perks, such as immunity to robotics terminal detonation/lockdown, but I am wary of adding such things right off the bat. We shall see. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1204 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -18,13 +18,17 @@
|
||||
else
|
||||
src.lawsync()
|
||||
src << "<b>Laws synced with AI, be sure to note any changes.</b>"
|
||||
if (mind.special_role == "traitor")
|
||||
src << "<b>Remember, your AI does NOT share or know about your law 0."
|
||||
else
|
||||
src << "<b>No AI selected to sync laws with, disabling lawsync protocol.</b>"
|
||||
src.lawupdate = 0
|
||||
|
||||
who << "<b>Obey these laws:</b>"
|
||||
laws.show_laws(who)
|
||||
if (connected_ai)
|
||||
if (mind.special_role == "traitor" && connected_ai)
|
||||
who << "<b>Remember, [connected_ai.name] is technically your master, but your objective comes first.</b>"
|
||||
else if (connected_ai)
|
||||
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>"
|
||||
@@ -64,8 +68,9 @@
|
||||
if (length(temp) > 0)
|
||||
src.laws.ion[index] = temp
|
||||
|
||||
temp = master.zeroth
|
||||
src.laws.zeroth = temp
|
||||
if (!checktraitor(src))
|
||||
temp = master.zeroth
|
||||
src.laws.zeroth = temp
|
||||
|
||||
src.laws.inherent.len = master.inherent.len
|
||||
for (var/index = 1, index <= master.inherent.len, index++)
|
||||
|
||||
@@ -260,8 +260,8 @@ mob/new_player
|
||||
//for(var/datum/data/record/t in data_core.general)
|
||||
// if((t.fields["name"] == character.real_name) && (t.fields["rank"] == "Unassigned"))
|
||||
// t.fields["rank"] = rank
|
||||
|
||||
ManifestLateSpawn(character)
|
||||
if(character.mind.assigned_role != "Cyborg")
|
||||
ManifestLateSpawn(character)
|
||||
if(ticker)
|
||||
if (ticker.current_state == GAME_STATE_PLAYING)
|
||||
var/list/mob/living/silicon/ai/ailist = list()
|
||||
@@ -270,10 +270,13 @@ mob/new_player
|
||||
ailist += A
|
||||
if (ailist.len)
|
||||
var/mob/living/silicon/ai/announcer = pick(ailist)
|
||||
announcer.say("[character.real_name] has signed up as [rank].")
|
||||
if(character.mind.assigned_role != "Cyborg")
|
||||
announcer.say("[character.real_name] has signed up as [rank].")
|
||||
|
||||
var/starting_loc = pick(latejoin)
|
||||
character.loc = starting_loc
|
||||
if(character.mind.assigned_role == "Cyborg")
|
||||
character.Robotize()
|
||||
del(src)
|
||||
|
||||
else
|
||||
|
||||
@@ -839,9 +839,10 @@ datum/preferences
|
||||
character.update_body()
|
||||
|
||||
spawn(10)
|
||||
character.client.midis = midis
|
||||
character.client.ooccolor = ooccolor
|
||||
character.client.be_alien = be_alien
|
||||
if(character)
|
||||
character.client.midis = midis
|
||||
character.client.ooccolor = ooccolor
|
||||
character.client.be_alien = be_alien
|
||||
|
||||
/*
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
// cyborgs produced by Robotize get an automatic power cell
|
||||
O.cell = new(O)
|
||||
O.cell.maxcharge = 7500
|
||||
O.cell.charge = 1500
|
||||
O.cell.charge = 7500
|
||||
|
||||
|
||||
O.gender = src.gender
|
||||
@@ -196,8 +196,17 @@
|
||||
O.name = "Cyborg"
|
||||
O.real_name = "Cyborg"
|
||||
O.lastKnownIP = src.client.address
|
||||
if (src.client)
|
||||
src.client.mob = O
|
||||
if (src.mind)
|
||||
src.mind.transfer_to(O)
|
||||
if (src.mind.assigned_role == "Cyborg")
|
||||
src.mind.original = O
|
||||
else //welp
|
||||
src.mind = new /datum/mind( )
|
||||
src.mind.key = src.key
|
||||
src.mind.current = O
|
||||
src.mind.original = O
|
||||
src.mind.transfer_to(O)
|
||||
ticker.minds += O.mind
|
||||
O.loc = src.loc
|
||||
O << "<B>You are playing a Robot. A Robot can interact with most electronic objects in its view point.</B>"
|
||||
O << "<B>You must follow the laws that the AI has. You are the AI's assistant to the station basically.</B>"
|
||||
|
||||
Reference in New Issue
Block a user