diff --git a/code/modules/vore/fluffstuff/guns/protector.dm b/code/modules/vore/fluffstuff/guns/protector.dm new file mode 100644 index 0000000000..1abec7b27a --- /dev/null +++ b/code/modules/vore/fluffstuff/guns/protector.dm @@ -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,"The trigger refuses to depress while on the lethal setting under security level green!") + 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,"You disable the alert level locking mechanism on \the [src]!") + + 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" diff --git a/code/modules/vore/fluffstuff/guns/pummeler.dm b/code/modules/vore/fluffstuff/guns/pummeler.dm new file mode 100644 index 0000000000..21a9013c16 --- /dev/null +++ b/code/modules/vore/fluffstuff/guns/pummeler.dm @@ -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" diff --git a/code/modules/vore/fluffstuff/guns/sickshot.dm b/code/modules/vore/fluffstuff/guns/sickshot.dm new file mode 100644 index 0000000000..87d289e8e7 --- /dev/null +++ b/code/modules/vore/fluffstuff/guns/sickshot.dm @@ -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" diff --git a/icons/vore/custom_guns_vr.dmi b/icons/vore/custom_guns_vr.dmi index 4c2f3ac813..a89dca4076 100644 Binary files a/icons/vore/custom_guns_vr.dmi and b/icons/vore/custom_guns_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index ec0b53caa5..10cb57558f 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2401,6 +2401,11 @@ #include "code\modules\vore\fluffstuff\custom_items_vr.dm" #include "code\modules\vore\fluffstuff\custom_mecha_vr.dm" #include "code\modules\vore\fluffstuff\custom_permits_vr.dm" +#include "code\modules\vore\fluffstuff\guns\bsharpoon.dm" +#include "code\modules\vore\fluffstuff\guns\dominator.dm" +#include "code\modules\vore\fluffstuff\guns\protector.dm" +#include "code\modules\vore\fluffstuff\guns\pummeler.dm" +#include "code\modules\vore\fluffstuff\guns\sickshot.dm" #include "code\modules\vore\persist\persist_vr.dm" #include "code\modules\vore\resizing\grav_pull_vr.dm" #include "code\modules\vore\resizing\holder_micro_vr.dm"