/obj/machinery/computer/artillerycontrol var/reload = 180 name = "bluespace artillery control" icon_state = "control_boxp1" icon = 'icons/obj/machines/particle_accelerator2.dmi' density = 1 anchored = 1 /obj/machinery/computer/artillerycontrol/machinery_process() if(src.reload<180) src.reload++ /obj/machinery/computer/artillerycontrol/attack_hand(mob/user as mob) user.set_machine(src) var/dat = "Bluespace Artillery Control:
" dat += "Locked on
" dat += "Charge progress: [reload]/180:
" dat += "Open Fire - Area
" dat += "Open Fire - Coordinates
" dat += "Deployment of weapon authorized by
[current_map.company_name] Chief Naval Director

Remember, friendly fire is grounds for termination of your contract and life.
" user << browse(dat, "window=scroll") onclose(user, "scroll") return /obj/machinery/computer/artillerycontrol/Topic(href, href_list, var/datum/topic_state/state = default_state) if(..()) return 1 if(href_list["fireArea"]) var/area/A = input("Area to jump bombard", "Open Fire") in all_areas var/turf/loc = pick(get_area_turfs(A)) announce_and_fire(loc, usr) else if(href_list["fireCords"]) var/ix = text2num(input("X")) var/iy = text2num(input("Y")) var/iz = text2num(input("Z")) if(!ix || !iy || !iz) return var/turf/T = get_turf(locate(ix, iy, iz)) announce_and_fire(T, usr) /obj/machinery/computer/artillerycontrol/proc/announce_and_fire(var/turf/t, var/mob/user) if(!istype(t)) return if ((user.contents.Find(src) || (in_range(src, user) && istype(src.loc, /turf))) || (istype(user, /mob/living/silicon))) if (user.stat || user.restrained()) return if (src.reload < 180) return if ((user.contents.Find(src) || (in_range(src, user) && istype(src.loc, /turf))) || (istype(user, /mob/living/silicon))) command_announcement.Announce("Bluespace artillery fire detected. Brace for impact.") to_world(sound('sound/effects/yamato_fire.ogg')) message_admins("[key_name_admin(usr)] has launched an artillery strike.", 1) explosion(t,2,5,11) reload = 0 /obj/structure/artilleryplaceholder name = "artillery" icon = 'icons/obj/machines/artillery.dmi' anchored = 1 density = 1 /obj/structure/artilleryplaceholder/decorative density = 0