Files
CHOMPStation2/code/modules/projectiles/guns/launcher/rocket.dm
Casey 0e8d336a1b Merge pull request #11671 from VOREStation/upstream-merge-8328
[MIRROR] Rocket launchers make the projectile when they consume the rocket
2021-10-27 15:39:24 +00:00

46 lines
1.5 KiB
Plaintext

/obj/item/weapon/gun/launcher/rocket
name = "rocket launcher"
desc = "MAGGOT."
icon_state = "rocket"
item_state = "rocket"
w_class = ITEMSIZE_HUGE //CHOMP Edit.
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/weapon/gun/launcher/rocket/examine(mob/user)
. = ..()
if(get_dist(user, src) <= 2)
. += "<font color='blue'>[rockets.len] / [max_rockets] rockets.</font>"
/obj/item/weapon/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='blue'>You put the rocket in [src].</font>")
to_chat(user, "<font color='blue'>[rockets.len] / [max_rockets] rockets.</font>")
else
to_chat(usr, "<font color='red'>[src] cannot hold more rockets.</font>")
/obj/item/weapon/gun/launcher/rocket/consume_next_projectile()
if(rockets.len)
var/obj/item/ammo_casing/rocket/I = rockets[1]
rockets -= I
return new I.projectile_type(src)
return null
/obj/item/weapon/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].")
..()