Adds 3 new guns

* KHI-98a 'Protector'
* MPA6 'Sickshot'
* PML9 'Pummeler'

The Protector is an energy gun that can't be fired on lethal on code green, so it's considered safe for sec to carry regularly, and has a slightly enhanced stun over tasers and normal eguns. It also features a DNA lock that allows one to secure the gun to themselves. An emag can disable both the security level lock and clear DNA.

The Sickshot is a stun weapon in handheld form, that induces nausea and vomiting. It has a chance to make predators vomit out prey (regardless of belly) and tends to cause confusion and nausea. It does cause slight burns from the hypersonic frequency sound it uses, but nothing serious or potentially lethal.

The Pummeler is a 'bass cannon' essentially that fires a huge sound wave, tossing the target away from you. It may or may not knock them down, depending on your luck, but it will definitely push them away, and potentially over a railing or wherever you wanted to put them.
This commit is contained in:
Arokha Sieyes
2017-06-13 15:06:43 -04:00
parent 873d8e1067
commit f98432a113
5 changed files with 171 additions and 0 deletions
@@ -0,0 +1,62 @@
// -------------- Protector -------------
/obj/item/weapon/gun/energy/gun/protector
name = "\improper KHI-98a \'Protector\'"
desc = "The KHI-98a is the first firearm custom-designed for Nanotrasen by KHI. It features a powerful stun mode, and \
an alert-level-locked lethal mode, only usable on code blue and higher. It also features a DNA lock mechanism."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "protstun100"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "gun"
fire_sound = 'sound/weapons/Taser.ogg'
projectile_type = /obj/item/projectile/beam/stun
modifystate = "protstun"
dna_lock = 1
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2)
firemodes = list(
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/protector, modifystate="protstun", fire_sound='sound/weapons/Taser.ogg'),
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="protkill", fire_sound='sound/weapons/gauss_shoot.ogg'),
)
var/emagged = FALSE
/obj/item/weapon/gun/energy/gun/protector/special_check(mob/user)
if(!emagged && mode_name == "lethal" && get_security_level() == "green")
to_chat(user,"<span class='warning'>The trigger refuses to depress while on the lethal setting under security level green!</span>")
return FALSE
return ..()
/obj/item/weapon/gun/energy/gun/protector/emag_act(var/remaining_charges,var/mob/user)
..()
if(!emagged)
emagged = TRUE
to_chat(user,"<span class='warning'>You disable the alert level locking mechanism on \the [src]!</span>")
return TRUE
// Protector beams
/obj/item/projectile/beam/stun/protector
name = "protector stun beam"
icon_state = "omnilaser" //A little more cyan
light_color = "#00C6FF"
agony = 50 //Normal is 40 when this was set
muzzle_type = /obj/effect/projectile/laser_omni/muzzle
tracer_type = /obj/effect/projectile/laser_omni/tracer
impact_type = /obj/effect/projectile/laser_omni/impact
//R&D Design
/datum/design/item/weapon/protector
desc = "The 'Protector' is an advanced energy gun that cannot be fired in lethal mode on low security alert levels, but features DNA locking and a powerful stun."
id = "protector"
req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "silver" = 1000)
build_path = /obj/item/weapon/gun/energy/gun/protector
sort_string = "TAADA"
@@ -0,0 +1,53 @@
// -------------- Pummeler -------------
/obj/item/weapon/gun/energy/pummeler
name = "\improper PML9 \'Pummeler\'"
desc = "For when you want to get that pesky marketing guy out of your face ASAP. The pummeler fires one HUGE \
sonic blast in the direction of fire, throwing the target away from you at high speed. Now you can REALLY \
turn up the bass to max."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "pum"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "gun"
fire_sound = 'sound/effects/basscannon.ogg'
projectile_type = /obj/item/projectile/pummel
charge_cost = 600
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 5)
slot_flags = SLOT_BELT|SLOT_BACK
w_class = ITEMSIZE_LARGE
//Projectile
/obj/item/projectile/pummel
name = "sonic blast"
icon_state = "sound"
damage = 5
damage_type = BRUTE
check_armour = "melee"
embed_chance = 0
vacuum_traversal = 0
kill_count = 6 //Scary name, but just deletes the projectile after this range
/obj/item/projectile/pummel/on_hit(var/atom/movable/target, var/blocked = 0)
if(isliving(target))
var/mob/living/L = target
var/throwdir = get_dir(firer,L)
if(prob(40) && !blocked)
L.Stun(1)
L.Confuse(1)
L.throw_at(get_edge_target_turf(L, throwdir), rand(3,6), 10)
return 1
//R&D Design
/datum/design/item/weapon/pummeler
desc = "With the 'Pummeler', punt anyone you don't like out of the room!"
id = "pummeler"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 5)
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000, "uranium" = 1000)
build_path = /obj/item/weapon/gun/energy/pummeler
sort_string = "TAADC"
@@ -0,0 +1,51 @@
// -------------- Sickshot -------------
/obj/item/weapon/gun/energy/sickshot
name = "\improper MPA6 \'Sickshot\'"
desc = "Need to stun someone? Don't mind having to clean up the mess afterwards? The Sickshot is the answer to your prayers. \
Using a short-range concentrated blast of disruptive sound, the Sickshot will nauseate and confuse the target for several seconds. NOTE: Not suitable \
for use in vacuum, or on animals. May cause contraction and release of various 'things' from various 'orifices'."
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "sickshot"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "gun"
fire_sound = 'sound/weapons/eluger.ogg'
projectile_type = /obj/item/projectile/sickshot
charge_cost = 600
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2)
//Projectile
/obj/item/projectile/sickshot
name = "sickshot pulse"
icon_state = "sound"
damage = 5
armor_penetration = 30
damage_type = BURN
check_armour = "melee"
embed_chance = 0
vacuum_traversal = 0
kill_count = 5 //Scary name, but just deletes the projectile after this range
/obj/item/projectile/sickshot/on_hit(var/atom/movable/target, var/blocked = 0)
if(ishuman(target))
var/mob/living/carbon/human/H = target
H.vomit()
H.Confuse(2)
if(prob(20))
for(var/X in H.vore_organs)
var/datum/belly/B = H.vore_organs[X]
B.release_all_contents()
return 1
//R&D Design
/datum/design/item/weapon/sickshot
desc = "A 'Sickshot' is a 4-shot energy revolver that causes nausea and confusion."
id = "sickshot"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000)
build_path = /obj/item/weapon/gun/energy/sickshot
sort_string = "TAADB"