Merge pull request #20115 from Shadowlight213/whydoestheaihavetogointhecoreitcouldgoonthetable

A few tweaks and improvements to silicons.
This commit is contained in:
oranges
2016-08-28 12:58:15 +12:00
committed by GitHub
5 changed files with 50 additions and 34 deletions
+1 -1
View File
@@ -401,7 +401,7 @@ var/datum/subsystem/job/SSjob
H << "<b>You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp.</b>"
if(config.minimal_access_threshold)
H << "<FONT color='blue'><B>As this station was initially staffed with a [config.jobs_have_minimal_access ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card.</B></font>"
return 1
return H
/datum/subsystem/job/proc/setup_officer_positions()
@@ -31,26 +31,7 @@
if(..())
return
R.notify_ai(2)
R.uneq_all()
R.hands.icon_state = "nomod"
R.icon_state = "robot"
qdel(R.module)
R.module = null
R.modtype = "robot"
R.designation = "Default"
R.updatename("Default")
R.update_icons()
R.update_headlamp()
R.speed = 0 // Remove upgrades.
R.ionpulse = FALSE
R.magpulse = FALSE
R.status_flags |= CANPUSH
R.ResetModule()
return 1
+4 -1
View File
@@ -78,7 +78,7 @@ var/list/ai_list = list()
var/obj/machinery/camera/portable/builtInCamera
/mob/living/silicon/ai/New(loc, var/datum/ai_laws/L, var/obj/item/device/mmi/B, var/safety = 0)
/mob/living/silicon/ai/New(loc, datum/ai_laws/L, obj/item/device/mmi/B, safety = 0)
..()
rename_self("ai")
name = real_name
@@ -918,3 +918,6 @@ var/list/ai_list = list()
src << "Hack complete. \The [apc] is now under your \
exclusive control."
apc.update_icon()
/mob/living/silicon/ai/spawned/New(loc, datum/ai_laws/L, obj/item/device/mmi/B, safety = 0)
..(loc,L,B,1)
@@ -1311,3 +1311,30 @@
locked = 1
notify_ai(1)
. = 1
/mob/living/silicon/robot/proc/ResetModule()
notify_ai(2)
uneq_all()
hands.icon_state = "nomod"
icon_state = "robot"
qdel(module)
module = null
modtype = "robot"
designation = "Default"
updatename("Default")
update_icons()
update_headlamp()
speed = 0 // Remove upgrades.
ionpulse = FALSE
magpulse = FALSE
status_flags |= CANPUSH
return 1
+17 -12
View File
@@ -302,8 +302,11 @@
SSjob.AssignRole(src, rank, 1)
var/mob/living/carbon/human/character = create_character() //creates the human and transfers vars and mind
SSjob.EquipRank(character, rank, 1) //equips the human
var/mob/living/character = create_character() //creates the human and transfers vars and mind
var/equip = SSjob.EquipRank(character, rank, 1)
if(isrobot(equip)) //Borgs get borged in the equip, so we need to make sure we handle the new mob.
character = equip
var/D = pick(latejoin)
if(!D)
@@ -319,24 +322,26 @@
continue
character.loc = D
ticker.minds += character.mind
if(character.mind.assigned_role != "Cyborg")
data_core.manifest_inject(character)
ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn
AnnounceArrival(character, rank)
AddEmploymentContract(character)
else
character.Robotize()
var/mob/living/carbon/human/humanc
if(ishuman(character))
humanc = character //Let's retypecast the var to be human,
if(humanc) //These procs all expect humans
data_core.manifest_inject(humanc)
AnnounceArrival(humanc, rank)
AddEmploymentContract(humanc)
joined_player_list += character.ckey
if(config.allow_latejoin_antagonists)
if(config.allow_latejoin_antagonists && humanc) //Borgs aren't allowed to be antags. Will need to be tweaked if we get true latejoin ais.
switch(SSshuttle.emergency.mode)
if(SHUTTLE_RECALL, SHUTTLE_IDLE)
ticker.mode.make_antag_chance(character)
ticker.mode.make_antag_chance(humanc)
if(SHUTTLE_CALL)
if(SSshuttle.emergency.timeLeft(1) > initial(SSshuttle.emergencyCallTime)*0.5)
ticker.mode.make_antag_chance(character)
ticker.mode.make_antag_chance(humanc)
qdel(src)
/mob/new_player/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank)