Adds a whole bunch of Exosuit weapons and other miscellaneous parts.

This commit is contained in:
Mechoid
2018-08-23 20:06:51 -07:00
parent 6f909ce590
commit 509addffdf
20 changed files with 689 additions and 114 deletions
@@ -0,0 +1,85 @@
//Concussion, or 'dizzyness' grenades.
/obj/item/weapon/grenade/concussion
name = "concussion grenade"
desc = "A polymer concussion grenade, optimized for disorienting personnel without causing large amounts of injury."
icon_state = "concussion"
item_state = "grenade"
var/blast_radius = 5
/obj/item/weapon/grenade/concussion/detonate()
..()
concussion_blast(get_turf(src), blast_radius)
qdel(src)
return
/obj/proc/concussion_blast(atom/target, var/radius = 5)
var/turf/T = get_turf(target)
if(is_below_sound_pressure(T))
visible_message("<span class='notice'>Whump.</span>")
return
playsound(src.loc, 'sound/effects/bang.ogg', 75, 1, -3)
if(istype(T))
for(var/mob/living/L in orange(T, radius))
if(ishuman(L))
var/mob/living/carbon/human/H = L
to_chat(H, "<span class='critical'>WHUMP.</span>")
var/ear_safety = 0
H.get_ear_protection()
var/bang_effectiveness = H.species.sound_mod
if((get_dist(H, T) <= round(radius * 0.3 * bang_effectiveness) || src.loc == H.loc || src.loc == H))
if(ear_safety > 0)
H.Confuse(2)
else
H.Confuse(8)
H.Weaken(1)
if ((prob(14) || (H == src.loc && prob(70))))
H.ear_damage += rand(1, 10)
else
H.ear_damage += rand(0, 5)
H.ear_deaf = max(H.ear_deaf,15)
if(H.client)
if(prob(50))
H.client.spinleft()
else
H.client.spinright()
else if(get_dist(H, T) <= round(radius * 0.5 * bang_effectiveness))
if(!ear_safety)
H.Confuse(6)
H.ear_damage += rand(0, 3)
H.ear_deaf = max(H.ear_deaf,10)
if(H.client)
if(prob(50))
H.client.spinleft()
else
H.client.spinright()
else if(!ear_safety && get_dist(H, T) <= (radius * bang_effectiveness))
H.Confuse(4)
H.ear_damage += rand(0, 1)
H.ear_deaf = max(H.ear_deaf,5)
if(H.ear_damage >= 15)
to_chat(H, "<span class='danger'>Your ears start to ring badly!</span>")
if(prob(H.ear_damage - 5))
to_chat(H, "<span class='danger'>You can't hear anything!</span>")
H.sdisabilities |= DEAF
else if(H.ear_damage >= 5)
to_chat(H, "<span class='danger'>Your ears start to ring!</span>")
if(istype(L, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = L
if(L.client)
if(prob(50))
L.client.spinleft()
else
L.client.spinright()
to_chat(R, "<span class='critical'>Gyroscopic failure.</span>")
return
@@ -31,6 +31,10 @@
damage = 15
armor_penetration = 20
/obj/item/projectile/bullet/pellet/fragment/weak
damage = 4
armor_penetration = 40
/obj/item/weapon/grenade/explosive
name = "fragmentation grenade"
desc = "A fragmentation grenade, optimized for harming personnel without causing massive structural damage."
@@ -98,3 +102,12 @@
num_fragments = 200 //total number of fragments produced by the grenade
//The radius of the circle used to launch projectiles. Lower values mean less projectiles are used but if set too low gaps may appear in the spread pattern
/obj/item/weapon/grenade/explosive/mini
name = "mini fragmentation grenade"
desc = "A miniaturized fragmentation grenade, this one poses relatively little threat on its own."
icon_state = "minifrag"
fragment_types = list(/obj/item/projectile/bullet/pellet/fragment)
num_fragments = 20
spread_range = 3
explosion_size = 1
+2 -2
View File
@@ -744,7 +744,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
uncommon_loot = list(
/obj/item/mecha_parts/mecha_equipment/shocker,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade,
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,
/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,
/obj/item/device/kit/paint/gygax,
@@ -784,7 +784,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
uncommon_loot = list(
/obj/item/mecha_parts/mecha_equipment/shocker,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang,
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade,
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,
/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,
/obj/item/device/kit/paint/durand,