Files
Citadel-Station-13-RP/code/modules/projectiles/guns/launcher/rocket.dm
2021-05-26 02:26:40 -07:00

47 lines
1.4 KiB
Plaintext

/obj/item/gun/launcher/rocket
name = "rocket launcher"
desc = "MAGGOT."
icon_state = "rocket"
item_state = "rocket"
w_class = ITEMSIZE_LARGE
throw_speed = 2
throw_range = 10
force = 5.0
slot_flags = 0
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 5)
fire_sound = 'sound/weapons/rpg.ogg'
release_force = 15
throw_distance = 30
var/max_rockets = 1
var/list/rockets = new/list()
/obj/item/gun/launcher/rocket/examine(mob/user)
. = ..()
. += "<font color=#4F49AF>[rockets.len] / [max_rockets] rockets.</font>"
/obj/item/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/ammo_casing/rocket))
if(rockets.len < max_rockets)
user.drop_item()
I.loc = src
rockets += I
to_chat(user, "<font color=#4F49AF>You put the rocket in [src].</font>")
to_chat(user, "<font color=#4F49AF>[rockets.len] / [max_rockets] rockets.</font>")
else
to_chat(usr, "<font color='red'>[src] cannot hold more rockets.</font>")
/obj/item/gun/launcher/rocket/consume_next_projectile()
if(rockets.len)
var/obj/item/ammo_casing/rocket/I = rockets[1]
var/obj/item/missile/M = new (src)
M.primed = 1
rockets -= I
return M
return null
/obj/item/gun/launcher/rocket/handle_post_fire(mob/user, atom/target)
message_admins("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]) at [target].")
log_game("[key_name_admin(user)] used a rocket launcher ([src.name]) at [target].")
..()