Makes it possible for syndicate borgs to copy access from other ids.

This commit is contained in:
PsiOmegaDelta
2015-08-20 13:23:42 +02:00
parent c346b99371
commit cd06409a1f
12 changed files with 58 additions and 38 deletions
+1 -1
View File
@@ -74,7 +74,7 @@
W.access = list()
if(corpseidjob)
W.assignment = corpseidjob
W.set_owner_info(M)
M.set_id_info(W)
M.equip_to_slot_or_del(W, slot_wear_id)
qdel(src)
@@ -53,8 +53,6 @@ var/global/list/robot_modules = list(
R.choose_icon(R.module_sprites.len + 1, R.module_sprites)
/obj/item/weapon/robot_module/proc/Reset(var/mob/living/silicon/robot/R)
R.module = null
remove_camera_networks(R)
remove_languages(R)
remove_subsystems(R)
@@ -64,15 +62,15 @@ var/global/list/robot_modules = list(
R.radio.recalculateChannels()
R.choose_icon(0, R.set_module_sprites(list("Default" = "robot")))
qdel(src)
/obj/item/weapon/robot_module/Destroy()
qdel(modules)
qdel(synths)
for(var/module in modules)
qdel(module)
for(var/synth in synths)
qdel(synths)
modules.Cut()
synths.Cut()
qdel(emag)
qdel(jetpack)
modules = null
synths = null
emag = null
jetpack = null
return ..()
@@ -624,6 +622,7 @@ var/global/list/robot_modules = list(
sprites = list(
"Dread" = "securityrobot",
)
var/id
/obj/item/weapon/robot_module/syndicate/New(var/mob/living/silicon/robot/R)
..()
@@ -635,8 +634,16 @@ var/global/list/robot_modules = list(
var/jetpack = new/obj/item/weapon/tank/jetpack/carbondioxide(src)
src.modules += jetpack
R.internals = jetpack
id = R.idcard
src.modules += id
return
/obj/item/weapon/robot_module/syndicate/Destroy()
src.modules -= id
id = null
return ..()
/obj/item/weapon/robot_module/security/combat
name = "combat robot module"
sprites = list("Combat Android" = "droid-combat")
@@ -4,6 +4,7 @@
icon_state = "securityrobot"
modtype = "Security"
lawchannel = "State"
idcard_type = /obj/item/weapon/card/id/syndicate
/mob/living/silicon/robot/syndicate/New()
if(!cell)
@@ -14,11 +15,11 @@
..()
/mob/living/silicon/robot/syndicate/init()
idcard = new/obj/item/weapon/card/id/syndicate(src)
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
laws = new /datum/ai_laws/syndicate_override
overlays.Cut()
init_id()
new /obj/item/weapon/robot_module/syndicate(src)
radio.keyslot = new /obj/item/device/encryptionkey/syndicate(radio)
+8 -2
View File
@@ -25,6 +25,7 @@
var/list/access_rights
var/obj/item/weapon/card/id/idcard
var/idcard_type = /obj/item/weapon/card/id/captains_spare
#define SEC_HUD 1 //Security HUD mode
#define MED_HUD 2 //Medical HUD mode
@@ -33,9 +34,8 @@
silicon_mob_list |= src
..()
add_language("Galactic Common")
init_id()
init_subsystems()
if(!idcard)
idcard = new/obj/item/weapon/card/id/captains_spare(src)
/mob/living/silicon/Destroy()
silicon_mob_list -= src
@@ -43,6 +43,12 @@
AH.unregister(src)
..()
/mob/living/silicon/proc/init_id()
if(idcard)
return
idcard = new idcard_type(src)
set_id_info(idcard)
/mob/living/silicon/proc/SetName(pickedName as text)
real_name = pickedName
name = real_name