Adds RPGs to Nuke Ops (#40372)

* Gives Syndies RPGs

* Makes the rocket reusable

* fixed minor sprite issue

* SRM Rocket renamed to HE rocket
This commit is contained in:
ShizCalev
2018-09-27 12:47:23 +03:00
committed by vuonojenmustaturska
parent 0ebfc529f5
commit b1b56e6a5e
11 changed files with 83 additions and 20 deletions
@@ -1,9 +1,16 @@
/obj/item/ammo_casing/caseless/a84mm
desc = "An 84mm anti-armour rocket."
desc = "A 84mm HE rocket."
caliber = "84mm"
icon_state = "s-casing-live"
icon_state = "84mm-hedp"
projectile_type = /obj/item/projectile/bullet/a84mm
/obj/item/ammo_casing/caseless/srm8
desc = "A 84mm HE rocket."
caliber = "84mm"
icon_state = "srm-8"
projectile_type = /obj/item/projectile/bullet/a84mm_he
/obj/item/ammo_casing/caseless/a75
desc = "A .75 bullet casing."
caliber = "75"
@@ -10,8 +10,16 @@
caliber = "40mm"
max_ammo = 1
/obj/item/ammo_box/magazine/internal/rocketlauncher
name = "grenade launcher internal magazine"
ammo_type = /obj/item/ammo_casing/caseless/a84mm
/obj/item/ammo_box/magazine/rocket
name = "84mm HE rocket"
icon_state = "srm-8"
ammo_type = /obj/item/ammo_casing/caseless/srm8
caliber = "84mm"
max_ammo = 1
w_class = WEIGHT_CLASS_NORMAL
/obj/item/ammo_box/magazine/rocket/hedp
name = "84mm HEDP rocket"
icon_state = "84mm-hedp"
ammo_type = /obj/item/ammo_casing/caseless/a84mm
+3 -2
View File
@@ -7,6 +7,7 @@
var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info
var/obj/item/ammo_box/magazine/magazine
var/casing_ejector = TRUE //whether the gun ejects the chambered casing
var/magazine_wording = "magazine"
/obj/item/gun/ballistic/Initialize()
. = ..()
@@ -57,7 +58,7 @@
if (!magazine && istype(AM, mag_type))
if(user.transferItemToLoc(AM, src))
magazine = AM
to_chat(user, "<span class='notice'>You load a new magazine into \the [src].</span>")
to_chat(user, "<span class='notice'>You load a new [magazine_wording] into \the [src].</span>")
if(magazine.ammo_count())
playsound(src, "gun_insert_full_magazine", 70, 1)
if(!chambered)
@@ -72,7 +73,7 @@
to_chat(user, "<span class='warning'>You cannot seem to get \the [src] out of your hands!</span>")
return
else if (magazine)
to_chat(user, "<span class='notice'>There's already a magazine in \the [src].</span>")
to_chat(user, "<span class='notice'>There's already a [magazine_wording] in \the [src].</span>")
if(istype(A, /obj/item/suppressor))
var/obj/item/suppressor/S = A
if(!can_suppress)
@@ -74,25 +74,47 @@
update_icon()
chamber_round()
/obj/item/gun/ballistic/automatic/atlauncher
desc = "A pre-loaded, single shot anti-armour launcher."
name = "anti-armour grenade launcher"
/obj/item/gun/ballistic/automatic/rocketlauncher
name = "rocket propelled grenade launcher"
desc = "A reusable rocket propelled grenade launcher."
icon_state = "rocketlauncher"
item_state = "rocketlauncher"
mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher
mag_type = /obj/item/ammo_box/magazine/rocket
fire_sound = 'sound/weapons/rocketlaunch.ogg'
w_class = WEIGHT_CLASS_BULKY
can_suppress = FALSE
pin = /obj/item/firing_pin/implant/pindicate
burst_size = 1
fire_delay = 0
select = 0
actions_types = list()
casing_ejector = FALSE
weapon_weight = WEAPON_HEAVY
magazine_wording = "rocket"
/obj/item/gun/ballistic/automatic/atlauncher/attack_self()
/obj/item/gun/ballistic/automatic/rocketlauncher/unrestricted
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/rocketlauncher/process_chamber()
if(chambered)
chambered = null
if(magazine)
QDEL_NULL(magazine)
update_icon()
/obj/item/gun/ballistic/automatic/rocketlauncher/attack_self(mob/living/user)
if(magazine)
magazine.forceMove(drop_location())
user.put_in_hands(magazine)
playsound(src, 'sound/weapons/gun_magazine_remove_full.ogg', 70, TRUE)
to_chat(user, "<span class='notice'>You work the [magazine] out from [src].</span>")
magazine = null
chambered = null
else
to_chat(user, "<span class='notice'>There's no rocket in [src].</span>")
update_icon()
return
/obj/item/gun/ballistic/automatic/atlauncher/update_icon()
/obj/item/gun/ballistic/automatic/rocketlauncher/update_icon()
..()
icon_state = "rocketlauncher[magazine ? "-[get_ammo(TRUE)]" : ""]"
@@ -9,9 +9,9 @@
return TRUE
/obj/item/projectile/bullet/a84mm
name ="anti-armour rocket"
name ="\improper HEDP rocket"
desc = "USE A WEEL GUN"
icon_state= "atrocket"
icon_state= "84mm-hedp"
damage = 80
var/anti_armour_damage = 200
armour_penetration = 100
@@ -29,14 +29,14 @@
S.take_overall_damage(anti_armour_damage*0.75, anti_armour_damage*0.25)
return TRUE
/obj/item/projectile/bullet/srmrocket
name ="SRM-8 Rocket"
/obj/item/projectile/bullet/a84mm_he
name ="\improper HE rocket"
desc = "Boom."
icon_state = "missile"
damage = 30
ricochets_max = 0 //it's a MISSILE
/obj/item/projectile/bullet/srmrocket/on_hit(atom/target, blocked=0)
/obj/item/projectile/bullet/a84mm_he/on_hit(atom/target, blocked=0)
..()
if(!isliving(target)) //if the target isn't alive, so is a wall or something
explosion(target, 0, 1, 2, 4)
@@ -209,7 +209,7 @@
/datum/design/mech_missile_rack
name = "Exosuit Weapon (SRM-8 Missile Rack)"
desc = "Allows for the construction of SRM-8 Missile Rack."
desc = "Allows for the construction of an SRM-8 Missile Rack."
id = "mech_missile_rack"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
@@ -42,6 +42,7 @@ GLOBAL_LIST_INIT(summoned_guns, list(
/obj/item/gun/ballistic/revolver/grenadelauncher,
/obj/item/gun/ballistic/revolver/golden,
/obj/item/gun/ballistic/automatic/sniper_rifle,
/obj/item/gun/ballistic/automatic/rocketlauncher,
/obj/item/gun/medbeam,
/obj/item/gun/energy/laser/scatter,
/obj/item/gun/energy/gravity_gun))
+24
View File
@@ -220,6 +220,15 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
surplus = 0
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/dangerous/rawketlawnchair
name = "84mm Rocket Propelled Grenade Launcher"
desc = "A reusable rocket propelled grenade launcher preloaded with a low-yield 84mm HE round. \
Guaranteed to send your target out with a bang or your money back!"
item = /obj/item/gun/ballistic/automatic/rocketlauncher
cost = 8
surplus = 30
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/dangerous/grenadier
name = "Grenadier's belt"
desc = "A belt of a large variety of lethally dangerous and destructive grenades."
@@ -573,6 +582,21 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
mixture that'll ignite anyone struck by the bullet. Some men just want to watch the world burn."
item = /obj/item/ammo_box/magazine/mm195x129/incen
/datum/uplink_item/ammo/rocket
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/ammo/rocket/basic
name = "84mm HE Rocket"
desc = "A low-yield anti-personnel HE rocket. Gonna take you out in style!"
item = /obj/item/ammo_box/magazine/rocket
cost = 4
/datum/uplink_item/ammo/rocket/hedp
name = "84mm HEDP Rocket"
desc = "A high-yield HEDP rocket; extremely effective against armored targets, as well as surrounding personnel. Strike fear into the hearts of your enemies."
item = /obj/item/ammo_box/magazine/rocket/hedp
cost = 6
/datum/uplink_item/ammo/sniper
cost = 4
include_modes = list(/datum/game_mode/nuclear)