Merge pull request #7008 from Zuhayr/spaceninjas

Hardsuit/voidsuit change, ninja refactor.
This commit is contained in:
PsiOmegaDelta
2014-11-22 09:30:54 +01:00
122 changed files with 6639 additions and 5879 deletions

View File

@@ -50,20 +50,25 @@
var/mob/living/silicon/ai/occupant = null
var/busy = 0
// Ninja gloves check
attack_hand(mob/user as mob)
if(ishuman(user) && istype(user:gloves, /obj/item/clothing/gloves/space_ninja) && user:gloves:candrain && !user:gloves:draining)
if(user:wear_suit:s_control)
user:wear_suit.transfer_ai("AIFIXER","NINJASUIT",src,user)
else
user << "\red <b>ERROR</b>: \black Remote access channel disabled."
return
..()
attackby(obj/I as obj,mob/user as mob)
if(computer && !computer.stat)
if(istype(I, /obj/item/device/aicard))
I:transfer_ai("AIFIXER","AICARD",src,user)
var/obj/item/device/aicard/card = I
var/mob/living/silicon/ai/comp_ai = locate() in src
var/mob/living/silicon/ai/card_ai = locate() in card
if(istype(comp_ai))
if(busy)
user << "\red <b>ERROR</b>: \black Reconstruction in progress."
return
card.grab_ai(comp_ai, user)
if(!(locate(/mob/living/silicon/ai) in src)) occupant = null
else if(istype(card_ai))
load_ai(card_ai,card,user)
occupant = locate(/mob/living/silicon/ai) in src
if(computer.program)
computer.program.update_icon()
computer.update_icon()
@@ -71,6 +76,24 @@
..()
return
/obj/item/part/computer/ai_holder/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/device/aicard/card, var/mob/user)
if(!transfer)
return
// Transfer over the AI.
transfer << "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here."
user << "\blue <b>Transfer successful</b>: \black [transfer.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
transfer.loc = src
transfer.cancel_camera()
transfer.control_disabled = 1
occupant = transfer
if(card)
card.clear()
/*
ID computer cardslot - reading and writing slots
*/