mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-06 15:32:25 +00:00
(Syndicate) Cyborg Improvements (#9148)
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/guns/grenade_launcher.dmi'
|
||||
icon_state = "grenadelauncher"
|
||||
item_state = "grenadelauncher"
|
||||
w_class = 4
|
||||
w_class = ITEMSIZE_LARGE
|
||||
force = 10
|
||||
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
@@ -17,7 +17,8 @@
|
||||
|
||||
var/blacklisted_grenades = list(
|
||||
/obj/item/grenade/flashbang/clusterbang,
|
||||
/obj/item/grenade/frag)
|
||||
/obj/item/grenade/frag
|
||||
)
|
||||
|
||||
var/obj/item/grenade/chambered
|
||||
var/list/grenades = new/list()
|
||||
@@ -43,11 +44,11 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/gun/launcher/grenade/examine(mob/user)
|
||||
if(..(user, 2))
|
||||
var/grenade_count = grenades.len + (chambered? 1 : 0)
|
||||
to_chat(user, "Has [grenade_count] grenade\s remaining.")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
to_chat(user, SPAN_NOTICE("It has [get_ammo()] grenade\s remaining."))
|
||||
if(chambered)
|
||||
to_chat(user, "\A [chambered] is chambered.")
|
||||
to_chat(user, SPAN_NOTICE("\A [chambered] is chambered."))
|
||||
|
||||
/obj/item/gun/launcher/grenade/proc/load(obj/item/grenade/G, mob/user)
|
||||
if(!can_load_grenade_type(G, user))
|
||||
@@ -59,6 +60,7 @@
|
||||
G.forceMove(src)
|
||||
grenades.Insert(1, G) //add to the head of the list, so that it is loaded on the next pump
|
||||
user.visible_message("[user] inserts \a [G] into [src].", "<span class='notice'>You insert \a [G] into [src].</span>")
|
||||
update_maptext()
|
||||
|
||||
/obj/item/gun/launcher/grenade/proc/unload(mob/user)
|
||||
if(grenades.len)
|
||||
@@ -68,6 +70,7 @@
|
||||
user.visible_message("[user] removes \a [G] from [src].", "<span class='notice'>You remove \a [G] from [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is empty.</span>")
|
||||
update_maptext()
|
||||
|
||||
/obj/item/gun/launcher/grenade/proc/can_load_grenade_type(obj/item/grenade/G, mob/user)
|
||||
if(is_type_in_list(G, blacklisted_grenades))
|
||||
@@ -100,6 +103,10 @@
|
||||
message_admins("[key_name_admin(user)] fired a grenade ([chambered.name]) from a grenade launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a grenade ([chambered.name]).",ckey=key_name(user))
|
||||
chambered = null
|
||||
update_maptext()
|
||||
|
||||
/obj/item/gun/launcher/grenade/get_ammo()
|
||||
return grenades.len + (chambered? 1 : 0)
|
||||
|
||||
//Underslung grenade launcher to be used with the Z8
|
||||
/obj/item/gun/launcher/grenade/underslung
|
||||
@@ -128,4 +135,4 @@
|
||||
user.visible_message("[user] removes \a [chambered] from [src].", "<span class='notice'>You remove \a [chambered] from [src].</span>")
|
||||
chambered = null
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is empty.</span>")
|
||||
to_chat(user, "<span class='warning'>[src] is empty.</span>")
|
||||
Reference in New Issue
Block a user