/datum/buildmode/projectile
name = "Projectile"
desc = {"***********************************************************
Right Mouse Button on buildmode button = Select projectile type
Ctrl + RMB on buildmode button = Edit projectile variables
Left Mouse Button = FIRE!
***********************************************************"}
icon_state = "buildmode_zap"
var/datum/projectile/P
click_mode_right(var/ctrl, var/alt, var/shift)
if (ctrl && P)
usr.client.debug_variables(P)
else
var/projtype = input("Select projectile type.", "Projectile type", P) in childrentypesof(/datum/projectile)
if (P)
if (projtype == P.type)
return
P = new projtype()
update_button_text(projtype)
click_left(atom/object, var/ctrl, var/alt, var/shift)
if (!P || !object.loc) return
if (!get_turf(object)) return
var/obj/projectile/proj = initialize_projectile_ST(usr, P, object)
if (proj && !proj.disposed) //ZeWaka: Fix for null.launch()
if (istype(proj,/datum/projectile/special/homing/orbiter))
proj.targets = list(usr)
if (istype(proj.proj_data,/datum/projectile/special/homing/travel))
proj.special_data["owner"] = usr
proj.launch()