Implanters now work properly. This is a bugfix.

This commit is contained in:
SkyMarshal
2012-01-11 21:28:34 -07:00
parent ef45b6128c
commit 98b6019f99
3 changed files with 17 additions and 5 deletions

View File

@@ -34,11 +34,13 @@
if(istype(M, /mob/living/carbon/human)) if(istype(M, /mob/living/carbon/human))
var/picked = 0 var/picked = 0
var/mob/living/carbon/human/T = M var/mob/living/carbon/human/T = M
for(var/datum/organ/external/E in T) var/list/datum/organ/external/E = T.GetOrgans()
while(picked == 0 && E.len > 0)
var/datum/organ/external/O = pick(E)
E -= O
if(!E.implant) if(!E.implant)
E.implant = src.imp O.implant = src.imp
picked = 1 picked = 1
break
if(picked == 0) if(picked == 0)
for (var/mob/O in viewers(M, null)) for (var/mob/O in viewers(M, null))
O.show_message(text("[user.name] can't find anywhere to implant [M.name]"), 1) O.show_message(text("[user.name] can't find anywhere to implant [M.name]"), 1)

View File

@@ -18,6 +18,9 @@ SYNDICATE UPLINK
return return
/obj/item/weapon/syndicate_uplink/attack_self(mob/user as mob) /obj/item/weapon/syndicate_uplink/attack_self(mob/user as mob)
interact(user)
/obj/item/weapon/syndicate_uplink/proc/interact(mob/user as mob)
currentUser = user currentUser = user
user.machine = src user.machine = src
var/dat var/dat
@@ -220,11 +223,11 @@ SYNDICATE UPLINK
if (href_list["temp"]) if (href_list["temp"])
src.temp = null src.temp = null
if (istype(src.loc, /mob)) if (istype(src.loc, /mob))
attack_self(src.loc) interact(src.loc)
else else
for(var/mob/M in viewers(1, src)) for(var/mob/M in viewers(1, src))
if (M.client) if (M.client)
src.attack_self(M) interact(M)
return return
/obj/item/weapon/syndicate_uplink/proc/shutdown_uplink() /obj/item/weapon/syndicate_uplink/proc/shutdown_uplink()

View File

@@ -195,3 +195,10 @@
if(src.sleeping_willingly) if(src.sleeping_willingly)
src.sleeping = 0 src.sleeping = 0
src.sleeping_willingly = 0 src.sleeping_willingly = 0
/mob/living/carbon/human/proc/GetOrgans()
var/list/L = list( )
for(var/t in organs)
if (istype(organs[text("[]", t)], /datum/organ/external))
L += organs[text("[]", t)]
return L