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))
var/picked = 0
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)
E.implant = src.imp
O.implant = src.imp
picked = 1
break
if(picked == 0)
for (var/mob/O in viewers(M, null))
O.show_message(text("[user.name] can't find anywhere to implant [M.name]"), 1)

View File

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

View File

@@ -195,3 +195,10 @@
if(src.sleeping_willingly)
src.sleeping = 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