mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-26 21:46:51 +01:00
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:
@@ -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"
|
||||
Reference in New Issue
Block a user