/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.")
sound_to(world, ('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