mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* Grammar fixes to atom descriptions - Capitalization and punctuation on most descriptions - CentCom instead of centcom where appropriate - Earth instead of earth where appropriate * Remove spaces before newlines and oneline some strings
53 lines
1.9 KiB
Plaintext
53 lines
1.9 KiB
Plaintext
/obj/item/gun/grenadelauncher
|
|
name = "grenade launcher"
|
|
desc = "A terrible, terrible thing. It's really awful!"
|
|
icon = 'icons/obj/guns/projectile.dmi'
|
|
icon_state = "riotgun"
|
|
item_state = "riotgun"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
throw_speed = 2
|
|
throw_range = 7
|
|
force = 5
|
|
var/list/grenades = new/list()
|
|
var/max_grenades = 3
|
|
materials = list(MAT_METAL=2000)
|
|
|
|
/obj/item/gun/grenadelauncher/examine(mob/user)
|
|
..()
|
|
to_chat(user, "[grenades.len] / [max_grenades] grenades loaded.")
|
|
|
|
/obj/item/gun/grenadelauncher/attackby(obj/item/I, mob/user, params)
|
|
|
|
if((istype(I, /obj/item/grenade)))
|
|
if(grenades.len < max_grenades)
|
|
if(!user.transferItemToLoc(I, src))
|
|
return
|
|
grenades += I
|
|
to_chat(user, "<span class='notice'>You put the grenade in the grenade launcher.</span>")
|
|
to_chat(user, "<span class='notice'>[grenades.len] / [max_grenades] Grenades.</span>")
|
|
else
|
|
to_chat(usr, "<span class='danger'>The grenade launcher cannot hold more grenades.</span>")
|
|
|
|
/obj/item/gun/grenadelauncher/afterattack(obj/target, mob/user , flag)
|
|
if(target == user)
|
|
return
|
|
|
|
if(grenades.len)
|
|
fire_grenade(target,user)
|
|
else
|
|
to_chat(user, "<span class='danger'>The grenade launcher is empty.</span>")
|
|
|
|
/obj/item/gun/grenadelauncher/proc/fire_grenade(atom/target, mob/user)
|
|
user.visible_message("<span class='danger'>[user] fired a grenade!</span>", \
|
|
"<span class='danger'>You fire the grenade launcher!</span>")
|
|
var/obj/item/grenade/F = grenades[1] //Now with less copypasta!
|
|
grenades -= F
|
|
F.loc = user.loc
|
|
F.throw_at(target, 30, 2, user)
|
|
message_admins("[key_name_admin(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).")
|
|
log_game("[key_name(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).")
|
|
F.active = 1
|
|
F.icon_state = initial(F.icon_state) + "_active"
|
|
playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
|
|
addtimer(CALLBACK(F, /obj/item/grenade.proc/prime), 15)
|