/* CONTAINS: SYNDICATE UPLINK */ /obj/item/weapon/syndicate_uplink/implanted uses = 4 /obj/item/weapon/syndicate_uplink/proc/explode() var/turf/location = get_turf(src.loc) if(location) location.hotspot_expose(700,125) explosion(location, 0, 0, 2, 4) del(src.master) del(src) return /obj/item/weapon/syndicate_uplink/attack_self(mob/user as mob) currentUser = user user.machine = src var/dat if (src.selfdestruct) dat = "Self Destructing..." else if (src.temp) dat = "[src.temp]

Clear" else dat = "Syndicate Uplink Console:
" dat += "Tele-Crystals left: [src.uses]
" dat += "
" dat += "Request item:
" dat += "Each item costs a number of tele-crystals as indicated by the number following their name.
" dat += "
" dat += "Revolver (6)
" dat += "Ammo-357 for use with Revolver (2)
" dat += "Ammo-418 for use with Revolver (3)
" dat += "Energy Crossbow (5)
" dat += "Energy Sword (4)
" dat += "
" dat += "Chameleon Jumpsuit (3)
" dat += "Syndicate Shoes (2)
" dat += "Syndicate Card (3)
" dat += "Voice-Changer (4)
" dat += "
" dat += "Freedom Implant (with injector) (3)
" dat += "Paralysis Pen (3)
" dat += "Sleepy Pen (5)
" dat += "
" dat += "Detomatix Cartridge (3)
" dat += "Plastic Explosives (2)
" dat += "Power Sink (5)
" dat += "Syndicate-made Space Suit (inludes a helmet) (3)
" dat += "
" dat += "Chameleon-projector (4)
" dat += "Cloaking Device (4)
" dat += "Electromagnet Card (3)
" dat += "5 EMP Grenades (4)
" dat += "
" dat += "Binary Translator (3)
" dat += "Hacked AI Module (7)
" dat += "
" dat += "Syndicate Toolbox (Includes various tools) (1)
" dat += "Syndicate Soap (1)
" dat += "Syndicate Balloon (Useless) (10)
" dat += "
" if (src.origradio) dat += "Lock
" dat += "
" dat += "Self-Destruct" user << browse(dat, "window=radio") onclose(user, "radio") return /obj/item/weapon/syndicate_uplink/Topic(href, href_list) ..() if(!currentUser) return if (currentUser.stat || currentUser.restrained()) return if (!( istype(currentUser, /mob/living/carbon/human))) return if ((currentUser.contents.Find(src) || (in_range(src, currentUser) && istype(src.loc, /turf))) || istype(src,/obj/item/weapon/syndicate_uplink/implanted)) currentUser.machine = src if (href_list["buy_item"]) switch(href_list["buy_item"]) if("revolver") if (src.uses >= 6) src.uses -= 6 new /obj/item/weapon/gun/projectile(get_turf(src)) if("revolver_ammo") if (src.uses >= 2) src.uses -= 2 new /obj/item/ammo_magazine(get_turf(src)) if("suffocation_revolver_ammo") if (uses >= 3) uses -= 3 new /obj/item/ammo_magazine/a418(get_turf(src)) if("xbow") if (src.uses >= 5) src.uses -= 5 new /obj/item/weapon/gun/energy/crossbow(get_turf(src)) if("empbox") if (src.uses >= 4) src.uses -= 4 new /obj/item/weapon/storage/emp_kit(get_turf(src)) if("voice") if (src.uses >= 4) src.uses -= 4 new /obj/item/clothing/mask/gas/voice(get_turf(src)) if("jump") if (src.uses >= 3) src.uses -= 3 new /obj/item/clothing/under/chameleon(get_turf(src)) if("shoes") if (uses >= 2) uses -= 2 new /obj/item/clothing/shoes/syndigaloshes(get_turf(src)) if("card") if (src.uses >= 3) src.uses -= 3 new /obj/item/weapon/card/id/syndicate(get_turf(src)) if("emag") if (src.uses >= 3) src.uses -= 3 new /obj/item/weapon/card/emag(get_turf(src)) if("imp_freedom") if (src.uses >= 3) src.uses -= 3 var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(get_turf(src)) O.imp = new /obj/item/weapon/implant/freedom(O) if("sleepypen") if (src.uses >= 5) src.uses -= 5 new /obj/item/weapon/pen/sleepypen(get_turf(src)) if("paralysispen") if (src.uses >= 3) src.uses -= 3 new /obj/item/device/flashlight/pen/paralysis(get_turf(src)) if("projector") if (src.uses >= 4) src.uses -= 4 new /obj/item/device/chameleon(get_turf(src)) if("cloak") if (src.uses >= 4) if (ticker.mode.config_tag!="nuclear" || \ (input(currentUser,"Spawning a cloak in nuke is generally regarded as entirely dumb, are you sure?") in list("Confirm", "Abort")) == "Confirm" \ ) if (src.uses >= 4) src.uses -= 4 new /obj/item/weapon/cloaking_device(get_turf(src)) if("sword") if (src.uses >= 4) src.uses -= 4 new /obj/item/weapon/melee/energy/sword(get_turf(src)) if("bomb") if (src.uses >= 2) src.uses -= 2 new /obj/item/weapon/plastique(get_turf(src)) if("powersink") if (src.uses >= 5) src.uses -= 5 new /obj/item/device/powersink(get_turf(src)) if("detomatix") if (src.uses >= 3) src.uses -= 3 new /obj/item/weapon/cartridge/syndicate(get_turf(src)) if("space") if (src.uses >= 3) src.uses -= 3 new /obj/item/clothing/suit/space/syndicate(get_turf(src)) new /obj/item/clothing/head/helmet/space/syndicate(get_turf(src)) if("lawmod") if (src.uses >= 7) src.uses -= 7 new /obj/item/weapon/aiModule/syndicate(get_turf(src)) if("botchat") if (src.uses >= 3) src.uses -= 3 new /obj/item/device/radio/headset/traitor(get_turf(src)) if("toolbox") if(uses) uses-- new /obj/item/weapon/storage/toolbox/syndicate(get_turf(src)) if("soap") if(uses) uses-- new /obj/item/weapon/soap/syndie(get_turf(src)) if("balloon") if (src.uses >= 10) uses -= 10 new /obj/item/toy/syndicateballoon(get_turf(src)) else if (href_list["lock"] && src.origradio) // presto chango, a regular radio again! (reset the freq too...) shutdown_uplink() return else if (href_list["selfdestruct"]) src.temp = "Self-Destruct" else if (href_list["selfdestruct2"]) src.selfdestruct = 1 spawn (100) explode() return else if (href_list["temp"]) src.temp = null if (istype(src.loc, /mob)) attack_self(src.loc) else for(var/mob/M in viewers(1, src)) if (M.client) src.attack_self(M) return /obj/item/weapon/syndicate_uplink/proc/shutdown_uplink() if (!src.origradio) return var/list/nearby = viewers(1, src) for(var/mob/M in nearby) if (M.client && M.machine == src) M << browse(null, "window=radio") M.machine = null var/obj/item/device/radio/T = src.origradio var/obj/item/weapon/syndicate_uplink/R = src var/mob/L = src.loc R.loc = T T.loc = L // R.layer = initial(R.layer) R.layer = 0 if (istype(L)) if (L.client) L.client.screen -= R if (L.r_hand == R) L.u_equip(R) L.r_hand = T else L.u_equip(R) L.l_hand = T T.layer = 20 T.set_frequency(initial(T.frequency)) return