From d803b557fd275dae217f38d9938e1fba3a3ba498 Mon Sep 17 00:00:00 2001 From: if there were two guys on the moon Date: Fri, 19 Jul 2019 08:32:24 +0100 Subject: [PATCH] ML3M --- code/modules/vore/fluffstuff/guns/nsfw.dm | 431 +++++++++++++++++++--- code/modules/vore/resizing/sizegun_vr.dm | 8 + icons/obj/ammo_vr.dmi | Bin 4955 -> 5227 bytes icons/vore/custom_guns_vr.dmi | Bin 32959 -> 33778 bytes vorestation.dme | 1 - 5 files changed, 392 insertions(+), 48 deletions(-) diff --git a/code/modules/vore/fluffstuff/guns/nsfw.dm b/code/modules/vore/fluffstuff/guns/nsfw.dm index 78aa05de536..b239b58393b 100644 --- a/code/modules/vore/fluffstuff/guns/nsfw.dm +++ b/code/modules/vore/fluffstuff/guns/nsfw.dm @@ -1,15 +1,11 @@ // -------------- NSFW ------------- -/obj/item/weapon/gun/projectile/nsfw +/obj/item/weapon/gun/projectile/nsfw //this one can load both medical and security cells! for ERT/admin use. name = "cell-loaded revolver" - desc = "Variety is the spice of life! The KHI-102b 'Nanotech Selectable-Fire Weapon', or NSFW for short, is an unholy hybrid of an ammo-driven \ - energy weapon that allows the user to mix and match their own fire modes. Up to three combinations of \ + desc = "Variety is the spice of life! This weapon is a hybrid of the KHI-102b 'Nanotech Selectable-Fire Weapon' and the Vey-Med ML-3 'Medigun', dubbed the 'NSFW-ML3M'. \ + It can fire both harmful and healing cells with an internal nanite fabricator and energy weapon cell loader. Up to three combinations of \ energy beams can be configured at once. Ammo not included." catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) - description_info = "This gun is an energy weapon that uses interchangable microbatteries in a magazine. Each battery is a different beam type, and up to three can be loaded in the magazine. Each battery usually provides four discharges of that beam type, and multiple from the same type may be loaded to increase the number of shots for that type." - description_fluff = "The Kitsuhana 'Nanotech Selectable Fire Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding." - description_antag = "" - icon = 'icons/vore/custom_guns_vr.dmi' icon_state = "nsfw" @@ -142,14 +138,35 @@ charge_bar.color = batt_color add_overlay(charge_bar) +/obj/item/weapon/gun/projectile/nsfw/combat + name = "cell-loaded revolver" + desc = "Variety is the spice of life! The KHI-102b 'Nanotech Selectable-Fire Weapon', or NSFW for short, is an unholy hybrid of an ammo-driven \ + energy weapon that allows the user to mix and match their own fire modes. Up to three combinations of \ + energy beams can be configured at once. Ammo not included." + catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) + + description_info = "This gun is an energy weapon that uses interchangable microbatteries in a magazine. Each battery is a different beam type, and up to three can be loaded in the magazine. Each battery usually provides four discharges of that beam type, and multiple from the same type may be loaded to increase the number of shots for that type." + description_fluff = "The Kitsuhana 'Nanotech Selectable Fire Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding." + description_antag = "" + allowed_magazines = list(/obj/item/ammo_magazine/nsfw_mag/combat) + + +/obj/item/weapon/gun/projectile/nsfw/medical + name = "\improper ML-3 \'Medigun\'" + desc = "The ML-3 'Medigun', or ML3M for short, is a powerful cell-based ranged healing device based on the KHI-102b NSFW. \ + It uses an internal nanite fabricator, powered and controlled by discrete cells, to deliver a variety of effects at range. Up to three combinations of \ + healing beams can be configured at once. Ammo not included." + catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med) + + description_info = "This is a ranged healing device that uses interchangable nanite discharge cells in a magazine. Each cell is a different healing beam type, and up to three can be loaded in the magazine. Each battery usually provides four discharges of that beam type, and multiple from the same type may be loaded to increase the number of shots for that type." + description_fluff = "The Vey-Med ML-3 'Medigun' allows one to customize their loadout in the field, or before deploying, to allow emergency response personnel to deliver a variety of ranged healing options." + description_antag = "" + allowed_magazines = list(/obj/item/ammo_magazine/nsfw_mag/medical) + // The Magazine // /obj/item/ammo_magazine/nsfw_mag name = "microbattery magazine" - desc = "A microbattery holder for the \'NSFW\'" - catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) - - description_info = "This magazine holds NSFW microbatteries to power the NSFW handgun. Up to three can be loaded at once, and each provides four shots of their respective energy type. Loading multiple of the same type will provide additional shots of that type. The batteries can be recharged in a normal recharger." - + desc = "A microbattery holder for a cell-based variable weapon." icon = 'icons/obj/ammo_vr.dmi' icon_state = "nsfw_mag" caliber = "nsfw" @@ -157,6 +174,9 @@ ammo_type = /obj/item/ammo_casing/nsfw_batt initial_ammo = 0 max_ammo = 3 + var/x_offset = 5 //for update_icon() shenanigans- moved here so it can be adjusted for bigger mags + var/capname = "nsfw_mag" //as above + var/chargename = "nsfw_mag" //as above mag_type = MAGAZINE var/list/modes = list() @@ -166,24 +186,45 @@ if(!stored_ammo.len) return //Why bother - var/x_offset = 5 var/current = 0 for(var/B in stored_ammo) var/obj/item/ammo_casing/nsfw_batt/batt = B - var/image/cap = image(icon, icon_state = "[initial(icon_state)]_cap") + var/image/cap = image(icon, icon_state = "[capname]_cap") cap.color = batt.type_color cap.pixel_x = current * x_offset //Caps don't need a pixel_y offset add_overlay(cap) if(batt.shots_left) var/ratio = CEILING(((batt.shots_left / initial(batt.shots_left)) * 4), 1) //4 is how many lights we have a sprite for - var/image/charge = image(icon, icon_state = "[initial(icon_state)]_charge-[ratio]") + var/image/charge = image(icon, icon_state = "[chargename]_charge-[ratio]") charge.color = "#29EAF4" //Could use battery color but eh. charge.pixel_x = current * x_offset add_overlay(charge) current++ //Increment for offsets +/obj/item/ammo_magazine/nsfw_mag/combat //security + name = "microbattery magazine" + desc = "A microbattery holder for the \'NSFW\'" + catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) + description_info = "This magazine holds NSFW microbatteries to power the NSFW handgun. Up to three can be loaded at once, and each provides four shots of their respective energy type. Loading multiple of the same type will provide additional shots of that type. The batteries can be recharged in a normal recharger." + ammo_type = /obj/item/ammo_casing/nsfw_batt/combat + +/obj/item/ammo_magazine/nsfw_mag/medical //medical + name = "nanite magazine" + desc = "A nanite fabrication magazine for the \'ML-3/M\'" + catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med) + description_info = "This magazine holds self-charging nanite fabricators to power the ML-3 'Medigun'. Up to three can be loaded at once, and each provides four shots of their respective healing type. Loading multiple of the same type will provide additional shots of that type. The batteries can be recharged in a normal recharger." + ammo_type = /obj/item/ammo_casing/nsfw_batt/medical + icon_state = "ml3m_mag" + +/obj/item/ammo_magazine/nsfw_mag/medical/advanced + name = "advanced nanite magazine" + desc = "A nanite discharge cell for the \'ML-3/M\'. This one is a more advanced version which can hold six individual nanite discharge cells." + max_ammo = 6 + x_offset = 3 + icon_state = "ml3m_mag_extended" + // The Casing // /obj/item/ammo_casing/nsfw_batt name = "\'NSFW\' microbattery - UNKNOWN" @@ -194,10 +235,10 @@ slot_flags = SLOT_BELT | SLOT_EARS throwforce = 1 w_class = ITEMSIZE_TINY + var/shots_left = 4 leaves_residue = 0 caliber = "nsfw" - var/shots_left = 4 var/type_color = null var/type_name = null projectile_type = /obj/item/projectile/beam @@ -219,31 +260,38 @@ shots_left-- // Specific batteries // -/obj/item/ammo_casing/nsfw_batt/lethal +// Security (Combat) // + +/obj/item/ammo_casing/nsfw_batt/combat + name = "\'NSFW\' microbattery - UNKNOWN" + desc = "A miniature battery for an energy weapon." + catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) + +/obj/item/ammo_casing/nsfw_batt/combat/lethal name = "\'NSFW\' microbattery - LETHAL" type_color = "#bf3d3d" type_name = "LETHAL" projectile_type = /obj/item/projectile/beam -/obj/item/ammo_casing/nsfw_batt/stun +/obj/item/ammo_casing/nsfw_batt/combat/stun name = "\'NSFW\' microbattery - STUN" type_color = "#0f81bc" type_name = "STUN" projectile_type = /obj/item/projectile/beam/stun/blue -/obj/item/ammo_casing/nsfw_batt/net +/obj/item/ammo_casing/nsfw_batt/combat/net name = "\'NSFW\' microbattery - NET" type_color = "#43f136" type_name = "NET" projectile_type = /obj/item/projectile/beam/energy_net -/obj/item/ammo_casing/nsfw_batt/xray +/obj/item/ammo_casing/nsfw_batt/combat/xray name = "\'NSFW\' microbattery - XRAY" type_color = "#32c025" type_name = "XRAY" projectile_type = /obj/item/projectile/beam/xray -/obj/item/ammo_casing/nsfw_batt/shotstun +/obj/item/ammo_casing/nsfw_batt/combat/shotstun name = "\'NSFW\' microbattery - SCATTERSTUN" type_color = "#88ffff" type_name = "SCATTERSTUN" @@ -261,13 +309,13 @@ sharp = 0 check_armour = "melee" -/obj/item/ammo_casing/nsfw_batt/ion +/obj/item/ammo_casing/nsfw_batt/combat/ion name = "\'NSFW\' microbattery - ION" type_color = "#d084d6" type_name = "ION" projectile_type = /obj/item/projectile/ion/small -/obj/item/ammo_casing/nsfw_batt/stripper +/obj/item/ammo_casing/nsfw_batt/combat/stripper name = "\'NSFW\' microbattery - STRIPPER" type_color = "#fc8d0f" type_name = "STRIPPER" @@ -297,7 +345,7 @@ //Hats can stay! Most other things fall off with removing these. ..() -/obj/item/ammo_casing/nsfw_batt/final +/obj/item/ammo_casing/nsfw_batt/combat/final name = "\'NSFW\' microbattery - FINAL OPTION" type_color = "#fcfc0f" type_name = "FINAL OPTION" //Doesn't look good in yellow in chat @@ -327,44 +375,333 @@ L.gib() ..() -/* -/obj/item/ammo_casing/nsfw_batt/shrink - name = "\'NSFW\' microbattery - SHRINK" - type_color = "#910ffc" - type_name = "SHRINK" - projectile_type = /obj/item/projectile/beam/shrinklaser -/obj/item/ammo_casing/nsfw_batt/grow - name = "\'NSFW\' microbattery - GROW" - type_color = "#fc0fdc" - type_name = "GROW" - projectile_type = /obj/item/projectile/beam/growlaser -*/ /obj/item/weapon/storage/secure/briefcase/nsfw_pack name = "\improper KHI-102b \'NSFW\' gun kit" desc = "A storage case for a multi-purpose handgun. Variety hour!" max_w_class = ITEMSIZE_NORMAL + w_class = ITEMSIZE_NORMAL /obj/item/weapon/storage/secure/briefcase/nsfw_pack/New() ..() - new /obj/item/weapon/gun/projectile/nsfw(src) - new /obj/item/ammo_magazine/nsfw_mag(src) - for(var/path in subtypesof(/obj/item/ammo_casing/nsfw_batt)) + new /obj/item/weapon/gun/projectile/nsfw/combat(src) + new /obj/item/ammo_magazine/nsfw_mag/combat(src) + for(var/path in subtypesof(/obj/item/ammo_casing/nsfw_batt/combat)) new path(src) /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos name = "\improper KHI-102b \'NSFW\' gun kit" desc = "A storage case for a multi-purpose handgun. Variety hour!" max_w_class = ITEMSIZE_NORMAL + w_class = ITEMSIZE_NORMAL /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos/New() ..() - new /obj/item/weapon/gun/projectile/nsfw(src) - new /obj/item/ammo_magazine/nsfw_mag(src) - new /obj/item/ammo_casing/nsfw_batt/lethal(src) - new /obj/item/ammo_casing/nsfw_batt/lethal(src) - new /obj/item/ammo_casing/nsfw_batt/stun(src) - new /obj/item/ammo_casing/nsfw_batt/stun(src) - new /obj/item/ammo_casing/nsfw_batt/net(src) - new /obj/item/ammo_casing/nsfw_batt/ion(src) + new /obj/item/weapon/gun/projectile/nsfw/combat(src) + new /obj/item/ammo_magazine/nsfw_mag/combat(src) + new /obj/item/ammo_casing/nsfw_batt/combat/lethal(src) + new /obj/item/ammo_casing/nsfw_batt/combat/lethal(src) + new /obj/item/ammo_casing/nsfw_batt/combat/stun(src) + new /obj/item/ammo_casing/nsfw_batt/combat/stun(src) + new /obj/item/ammo_casing/nsfw_batt/combat/net(src) + new /obj/item/ammo_casing/nsfw_batt/combat/ion(src) + +// Medical // + +/obj/item/ammo_casing/nsfw_batt/medical + name = "\'ML-3/M\' nanite cell - UNKNOWN" + desc = "A miniature nanite fabricator for a medigun." + catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med) + icon_state = "ml3m_batt" + +/obj/item/projectile/beam/ML3M + name = "\improper healing beam" + icon_state = "medbeam" + nodamage = 1 + damage = 0 + check_armour = "laser" + light_color = "#80F5FF" + + combustion = FALSE + + muzzle_type = /obj/effect/projectile/muzzle/medigun + tracer_type = /obj/effect/projectile/tracer/medigun + impact_type = /obj/effect/projectile/impact/medigun + +/obj/item/projectile/beam/ML3M/on_hit(var/mob/living/carbon/human/target) //what does it do when it hits someone? + return + +/obj/item/ammo_casing/nsfw_batt/medical/brute + name = "\'ML-3/M\' nanite cell - BRUTE" + type_color = "#BF0000" + type_name = "BRUTE" + projectile_type = /obj/item/projectile/beam/ML3M/brute + +/obj/item/projectile/beam/ML3M/brute/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustBruteLoss(-10) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/burn + name = "\'ML-3/M\' nanite cell - BURN" + type_color = "#FF8000" + type_name = "BURN" + projectile_type = /obj/item/projectile/beam/ML3M/burn + +/obj/item/projectile/beam/ML3M/burn/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustFireLoss(-10) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/stabilize + name = "\'ML-3/M\' nanite cell - STABILIZE" //Disinfects all open wounds, cures oxy damage + type_color = "#0080FF" + type_name = "STABILIZE" + projectile_type = /obj/item/projectile/beam/ML3M/stabilize + +/obj/item/projectile/beam/ML3M/stabilize/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustOxyLoss(-30) + for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO)) + var/obj/item/organ/external/O = target.organs_by_name[name] + for (var/datum/wound/W in O.wounds) + if (W.internal) + continue + W.disinfect() + target.add_modifier(/datum/modifier/stabilize, 20 SECONDS) + else + return 1 + +/datum/modifier/stabilize + name = "stabilize" + desc = "Your injuries are stabilized and your pain abates!" + mob_overlay_state = "cyan_sparkles" + stacks = MODIFIER_STACK_EXTEND + pain_immunity = TRUE + bleeding_rate_percent = 0.1 //only a little + incoming_oxy_damage_percent = 0 + +/obj/item/ammo_casing/nsfw_batt/medical/tox + name = "\'ML-3/M\' nanite cell - TOX" + type_color = "#00A000" + type_name = "TOX" + projectile_type = /obj/item/projectile/beam/ML3M/tox + +/obj/item/projectile/beam/ML3M/tox/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustToxLoss(-10) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/omni + name = "\'ML-3/M\' nanite cell - OMNI" + type_color = "#8040FF" + type_name = "OMNI" + projectile_type = /obj/item/projectile/beam/ML3M/omni + +/obj/item/projectile/beam/ML3M/omni/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustBruteLoss(-5) + target.adjustFireLoss(-5) + target.adjustToxLoss(-5) + target.adjustOxyLoss(-5) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/antirad + name = "\'ML-3/M\' nanite cell - OMNI" + type_color = "#008000" + type_name = "ANTIRAD" + projectile_type = /obj/item/projectile/beam/ML3M/antirad + +/obj/item/projectile/beam/ML3M/antirad/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustToxLoss(-5) + target.radiation = max(target.radiation - 350, 0) //same as 5 units of arithrazine, sans the brute damage + else + return 1 + + +/obj/item/ammo_casing/nsfw_batt/medical/brute2 + name = "\'ML-3/M\' nanite cell - BRUTE-II" + type_color = "#BF0000" + type_name = "BRUTE-II" + projectile_type = /obj/item/projectile/beam/ML3M/brute2 + +/obj/item/projectile/beam/ML3M/brute2/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustBruteLoss(-20) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/burn2 + name = "\'ML-3/M\' nanite cell - BURN-II" + type_color = "#FF8000" + type_name = "BURN-II" + projectile_type = /obj/item/projectile/beam/ML3M/burn2 + +/obj/item/projectile/beam/ML3M/burn2/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustFireLoss(-20) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/stabilize2 + name = "\'ML-3/M\' nanite cell - STABILIZE-II" //Disinfects and bandages all open wounds, cures all oxy damage + type_color = "#0080FF" + type_name = "STABILIZE-II" + projectile_type = /obj/item/projectile/beam/ML3M/stabilize2 + +/obj/item/projectile/beam/ML3M/stabilize2/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustOxyLoss(-200) + for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO)) + var/obj/item/organ/external/O = target.organs_by_name[name] + for (var/datum/wound/W in O.wounds) + if(W.internal) + continue + if(O.is_bandaged() == FALSE) + W.bandage() + if(O.is_salved() == FALSE) + W.salve() + W.disinfect() + target.add_modifier(/datum/modifier/stabilize, 20 SECONDS) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/omni2 + name = "\'ML-3/M\' nanite cell - OMNI-II" + type_color = "#8040FF" + type_name = "OMNI-II" + projectile_type = /obj/item/projectile/beam/ML3M/omni2 + +/obj/item/projectile/beam/ML3M/omni2/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustBruteLoss(-10) + target.adjustFireLoss(-10) + target.adjustToxLoss(-10) + target.adjustOxyLoss(-10) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/tox2 + name = "\'ML-3/M\' nanite cell - TOX-II" + type_color = "#00A000" + type_name = "TOX-II" + projectile_type = /obj/item/projectile/beam/ML3M/tox2 + +/obj/item/projectile/beam/ML3M/tox2/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.adjustToxLoss(-20) + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/haste + name = "\'ML-3/M\' nanite cell - HASTE" + type_color = "#FF3300" + type_name = "HASTE" + projectile_type = /obj/item/projectile/beam/ML3M/haste + +/obj/item/projectile/beam/ML3M/haste/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.add_modifier(/datum/modifier/ml3mhaste, 20 SECONDS) + else + return 1 + +/datum/modifier/ml3mhaste + name = "haste" + desc = "You can move much faster!" + mob_overlay_state = "haste" + stacks = MODIFIER_STACK_EXTEND + slowdown = -1 //a little faster! + evasion = 1.25 //and a little harder to hit! + +/obj/item/ammo_casing/nsfw_batt/medical/resistance + name = "\'ML-3/M\' nanite cell - RESIST" + type_color = "#555555" + type_name = "RESIST" + projectile_type = /obj/item/projectile/beam/ML3M/resistance + +/obj/item/projectile/beam/ML3M/resistance/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.add_modifier(/datum/modifier/resistance, 20 SECONDS) + else + return 1 + +/datum/modifier/resistance + name = "resistance" + desc = "You resist 25% of all incoming damage and stuns!" + mob_overlay_state = "repel_missiles" + stacks = MODIFIER_STACK_EXTEND + disable_duration_percent = 0.75 + incoming_damage_percent = 0.75 + +/obj/item/ammo_casing/nsfw_batt/medical/revival + name = "\'ML-3/M\' nanite cell - REVIVAL" + type_color = "#669900" + type_name = "REVIVAL" + projectile_type = /obj/item/projectile/beam/ML3M/resistance + +/obj/item/projectile/beam/ML3M/revival/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + if(target.stat == DEAD) + target.adjustBruteLoss(-50) + target.adjustFireLoss(-50) + target.adjustToxLoss(-50) + target.adjustOxyLoss(-200) + else + return 1 + +/datum/modifier/resistance + name = "resistance" + desc = "You resist 25% of all incoming damage and stuns!" + mob_overlay_state = "repel_missiles" + stacks = MODIFIER_STACK_EXTEND + disable_duration_percent = 0.75 + incoming_damage_percent = 0.75 + +// Illegal cells! +/obj/item/ammo_casing/nsfw_batt/medical/shrink + name = "\'ML-3/M\' nanite cell - SHRINK" + type_color = "#910ffc" + type_name = "SHRINK" + projectile_type = /obj/item/projectile/beam/ML3M/shrink + +/obj/item/projectile/beam/ML3M/shrink/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.resize(0.5) + target.show_message(" The beam fires into your body, changing your size!") + target.updateicon() + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/grow + name = "\'ML-3/M\' nanite cell - GROW" + type_color = "#fc0fdc" + type_name = "GROW" + projectile_type = /obj/item/projectile/beam/ML3M/grow + +/obj/item/projectile/beam/ML3M/grow/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.resize(2.0) + target.show_message(" The beam fires into your body, changing your size!") + target.updateicon() + else + return 1 + +/obj/item/ammo_casing/nsfw_batt/medical/normalsize + name = "\'ML-3/M\' nanite cell - NORMALSIZE" + type_color = "#C70FEC" + type_name = "NORMALSIZE" + projectile_type = /obj/item/projectile/beam/ML3M/normalsize + +/obj/item/projectile/beam/ML3M/normalsize/on_hit(var/mob/living/carbon/human/target) + if(istype(target, /mob/living/carbon/human)) + target.resize(1) + target.show_message(" The beam fires into your body, changing your size!") + target.updateicon() + else + return 1 \ No newline at end of file diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index 705bf3538d7..984e05f8edf 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -82,3 +82,11 @@ H.updateicon() else return 1 + + +/obj/item/projectile/beam/sizelaser/shrink + set_size = 0.5 //50% of current size + + +/obj/item/projectile/beam/sizelaser/grow + set_size = 2.0 //200% of current size \ No newline at end of file diff --git a/icons/obj/ammo_vr.dmi b/icons/obj/ammo_vr.dmi index b5defc37829377c6c972de1133d98a43442657f9..2fa66e4424b2bd0612bb3e038db4867b147d4ebc 100644 GIT binary patch literal 5227 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 U)*keZLP7y53L5g|vKH_EADf0Nq5uE@ delta 12516 zcmb8VbyOTr&@Q}-li-BlPC^obTX44o4=%wI9D-{G0>RzgU4y$jB)9~3cUhd}4!`%k z_k90;oWt3fo|*2d>Z*F4>h3dtgf?%42s-FNGT5lNzQ7Zt5q{A0=W zJIa>}<;SARDfMw5qK_64LcY( zVw!i5t=1)KyB0>Ib+262?v3IUZAG%mKO0RmZ!1MWD%4hKH5tqQdDHQu@(7ui zMRpk(Fv|FsQxaXy=ewY|F7c4V8SgQjHrWs7@b%+JxLyRj=Ou0ip)%96LCXmi83kj7 zpyvKyj{$?-0DYg_6fexUAPCp>G9uOTY>cz8jn4E-T4D!+9BC2q!pXx)8ioG#LieV8C+eZ|6)@d?g1RAu-&$Az#IL`WYOpK$+ zFntQ#r^yV_{(N`+cy=W2$cgqqF9Q!^vdRy_>+~=j^sAol=oj9n3W3Kgy)rl3`@vG? z932Lw2H2nf!~go?_s>6X^qUfu5_b1`zyCu1Vqq0r{}Z9Srjl5P+JLV;g^7rqY^rTO z0VUQf;r+OO>IY%$KgPGG+V51^e&;HyI!fs#Q=rFvR4uI@Ty$le-)yRqcNe7lTeFRL zK{a=t`HcQK9rh&8>*x|f$74SHcB&kMuP;Yg*q@mK3B<@8e?mIt3>fukSH4RibNSFs zNFw)VhdzrCB_*J8=X&QAi^xy1FMBP0uJKLumBc($EQC?z29h9egWM9a`|`WW#TME> z3Q3#*Xx|l6e@ZggXqil5e4)_RAm$5|N%tqd?r8 z&ZyO5=11rH_pCQ#4Y|iBMeI4=E#I%0C^JX{l47K91PVH$NcToJ?9Qn2wY$^h!j%cr z@wV$$qVdSmovy{F_}WhWQ+J6fuZcs0z4Z4Azm`bONrH+(!gTGa#T4^(XBlmL8kLI+|_hR(cd& zm6UYZw^6wL<@jpZ(o` z--QDns71xam^0-r>!D12@<)?}ooJq%Z7FTQ9|pFEVv}=3ioQLQpSoeUz5D(q!fAyi z)mDfn7?9FqmleIE#gMV=KK-jBl94(gQSvl&=j+_U!nY|sYialQ9=dXgXWh>sQsES^ zln)_K@8w@q$zq z7;J`{1KqLNC`%(yZOG5KbE>?gq?(5etHRwGGwsK%Su<=}Ys6-Mx^zOPchxqdvJwx= zziZoV)4Rb9wx<}hF5&4ZkWEQa0)R8IvAsPXMk!S0D!c%i2jbNRhm}LKDXRe9PaA?O ztv}Vmoj)zP9}AQ-=tJJXr<5V>ecD_WOxecYR0&v|nP7#KwXJLjhPACP-F7Xg`Py2V zgrJav#Rqg0tUtnMoQc;1_*Ex&+k+lI@>A}gxjO?tlUg`Gcs3GqFFOFAMjJbJP&-XM zi}#N|aVOl8nhV#e!pB~^oQub|vfZed30gM}c!MsAry%s;5O0#^aVFDmyyT*=w^(5$ z6_52}q5gYZG7T~G)P!koe}C-My?;M$eR>9q(mPdE^@H0*0pFkIN7wrm)B(s*`%rFf zzb6%Q0ggk@{^n%Lnb+Y5LPF8;^X!XP%=~R+j*c**4=jjXZ0xM|TU{CrX9SiF z4xIAjB|UMmbIWhZhr)?@UcX-yz8!e9>?`!C*|C?)+o~J8RhwCk|G@&=)@6A|hUI^K z8h+e$cU<1HGiEeeto{yuzdh*H#WJ3Nl#E#U&(n$1sN(|Gv)p?7%_$UWy%0~YpyJ?;Dvv;YL+hl1ie1S=~m z>5m^f%XE)?K9WPxU$b)Jgm{S)h6|-IYz$mc%F#n1k1x zmVD|vWhS}6>sb_VZfW+mxBp%`SeqB|%E~!8)#k6?9h_`Kye0+TO7D&_tlavWxM2g` zltrbm#@qZ>$J-DuhYT*twgflU9}m6U{ey!jkZ|0{ypB~{G+31om@+d91HQ-5>p`xi zCS>lZ_(&hmzrPv|HvW^!H*+cf2&Zx0Q_18<--qeH+WRbo3!5p|E9Vj5oA-nZIP9P$ zCAazRt2{@+Y()6<1D3-mWK$b)t^>FqqK&Xs(#8(;GdK?Hoy9lBaO!vxQ=j<1&&R#B zqbS~^EEJ@rA}_#1gV4Qds2Xy=loc`AOsBFJ+t6jRla`beH5D`@bcNL&M=S78Bqb$7 zA$_Fs5Qtit>r5X1>61wyhubuu&rD)tC2B{+IVFy`8gHXIIO$g+sxSi#<)g2($jiRm zdQX#MROmcP!-%0uit1O$Uh?Zu2T4JQ{!;U7t?T($_oJB1(*Wj;dhQj^Gu?(Q-I2>u zmvzi!{?oz7LIuw~{}E7ns~gvfD_;@=@eD$O7)uyHWRwgmT9bW78GN`t130WJvS% zTChkP6Q7Wf9tej?oqnVs+yNZZpN~ zbqAJf&E@s#Z4E~Ig#YVugHMgn3rR8wOUB&%9dLGj{;O+MSWXVJH-vZ{c4*hoyd@_m zH`OBRePQMjlK+}dTjk-%`Fb~jHLlw6GMG6in={l@=RsEd_DS#rA)s~H^+#iI(NOg) zwonO=4fog<3@|dH6}&$Y+t}D}2;?o%Yis>9`}Z9-b)bAd$_5BruH@ZqT3kXa15!YX z?C&9^Wh+5&bRUbd1{8?x$%@G2 z_JaER-)ggo?#aT>O0X-1`{8&Y3;B36z#gt^zm#LsHkPuKEfrqy-I|~-7Rcy9oVf~cjF?SlZ3P~hfHIO=iGwSq32b+&e{zr1SAWf z$<57+@>p3rUyPbYNGoA`_oIokRO>phvY}w?unEw%aL-xEKo+_vEoRDKw-5g+j07>g zV&{D6NT@M8faa5XyUD33qm_0HjG;f>e-g2cHV4&zZ;nrWaQyvJTdlF}PA7U7mO5T> zpAcz8^Ujj$KXwO#8MmyS(-~+C(Zr!lGV4g`b85_h`#dF<@Xk)rOfIjxt5O87S-!`w zcd4&_1yN6zXc{FaCGQ7{FYqx^rjzq*+&mOfcL5O>huk0RHqhpnKX%SrsJSx&Q=Bua z=ZNkCkKew2&8n@f4VJ7n!;cE^-pGA(5T3 z_gngpJx;6hxNtEF1Q{34SoH4=Iz;>~EH9bA9GEEUFcHEJqduK<{CaL%3McgN0=8vF zkg9<>;IUN|ryhli49QefR5S^yZeR6n&KGDQUu?DNN@V|LdooJRf14hBI)-|j<sE9YWX&1^#XPuBk-rUau*Uj_~|Nnq2_gvsV9D5X>!A5qBF*;rAsqG0Sd~PO6 zN2yZ}fe`U;kz~BKDmpqcCdSu#vC-fhuxZbciRQqBKy)^Z zOxfb9(Pds(#>U3>k0c-N>P)GqHrQ|v4G&*BG^dlp$siGP^vG`o+>l=o$L*%le=n$= z-ro}%17JRxzkiS7KSZDy!}g}Q9BB$}xsB%GYM%q=V;=eF54hCL>YkY2vmpb82OcAT9lom8u|oMrodwlNTqc84$b z;^oVrR?j;_`2EQdFNb?eYe3B*j@ey;s$Mu0XfWT2O=8C&eMH-e}VvIC$97h_<`A@mVb`XbD& ztd{6dc;pfr3E5QrQ9y2;wU64lX-9m<@mVx06uD=_B@6rT@Nj3kloXOtqk8v!>olu0 zCnrZ-HjST{fPjFA%~)E++07edCzYzIs)1WuU!R`5di6>){LN1t8$d$hSJ}QQ-q1XC z%4H7qO> zV0`=bEpC?|W>=<|e?)R}a8S^*^5txSTc`u$dL*q>L~3eiQPDeadf!`CWz>A(QNbB- zt3j(K&x(|ulhRy106^BtW7mD$2CXeq1exo+~F!(?zEuibn05fMpMU6uqHI z0P+BZ=o2F}Kq<1BUO~L_9`2kUBt0VnzSPaPT+s*_6aA7l&fx%0O-kCcCypPQGST`p zG$Sn|BVxX%Q{i!AN4mnr$>|Tr?mGU_mG>`6~|c<8)LJDqcd z42dbzFfebB@u&vq?kEGvC>|?5@mB*Zca*eL&t3zv30~;oDcySCY=-aSJe+k?!N1t$mJ%6k(t{gMtbsLX6g$H0nRj^`;J zVg9vO%fPbQmoL`IEhmiHuC5JM3lVDJ=sYJTyjUKIVUv?8F%JsCGiPcbL#_#>XUTB3 zxiGhY@hFtns$uLbl7elr?-N^h9NEyMxJ$R4X|<&ItJ|1=&OZL625;rKDb*4vT2@bO znwi3Z>59{+2w7+TH9dW4urAZNh_eNM%c+XLxkN$ME+S3G9Q-H#XO7< zR?3->CI=GSMWvlwbE8r`&Rx$xI&f2o`C)W`K&I~pynXZj{fp?=a-9*>VzOhOl|kkC zQaPUCm$wmtX(nw%_tAs+Nq41(g@FQBb%fa#Xp5Y52W>do4f`Q+w_hT@s)axY{%e9`e0pC*vS00FLXjtNo_!NzV5^V5wHl@xJmA_x#!P(Tk19V>%U=BEL5RFYHB)EwTlNl%|i*{q?~>xp=%q@JkZ{!mYNO%d<8v zXR=d1PUdaP_Ay@B2~Etw-P+fMI9%@gE>Fwv?1d{UD=k4N$;!$?h^AMNl#vNcVE-0Y zW|R+tiXn*k1qB7|-~@uJ2PU)sERT%J|A9Gxfy-v;J>)8t`N=ka2Xe)pmiZX8HVyuXXc1#G&6pAnkrt-c@kzbpH;+w|+ycKLQZ0oLMWkQbC9}&0Zbb#KNe0mu3#a%{GDj&{u!UXo zfOrV3;_V7f86sL!up($*9g6Ly!#4{37vSYD34_~GKa80?1|a3`5-(4*P!2pCbhsZA z2yb7;R};Pn5ZRx}ZfzATu{*h*@#||#cHx6#y5h_}fg*^L{{xD$>iEja$~1nMq<&)l zSO7IQHzA1GU)pT$ZBuu@iVNDx$_%*G4J1Ub<8<-L_LJKtM}Q$m4a{`zI?R1kFB!d; z+vh6BWSf1Ln?G{bYx43jF~|6?EBNI1Kn1S=J3KdTVi&`m95fVyZMvoHaf_&HrBb>J zWM$dTZpGt>XXiUx!~x@9{Ag@gFEikgaspW?LPWKt;UOmC?TZ|A=t5+~*$5wI(3r8YalpleLp5fdm=4lNYzlL2s>QEEZ7Q=ie6U(I&>PT{ zla%z6mY44xGU_v&AI-#F?x5l$EX5C3o^YDcz4jDCeBFY-aLzPoFy&$f$YeY)Yp_@D zrnz@3Ftw4bwOrlT$^b0$Z;66HD7o(PXKiXEDYc%!kDmAL6AA|y(5oMb-AJv~)Z!Q! z88QF<{fnE74SDi=#_2!)8)5#hHH(1Z>7a6P1`u^GWEpfTI`av?x9E|~BNrN(2JyDp%UxE1abB2FCAnm||0lwF8jtT?X7W~Ym9#vo= zT7=Hct(1XcZkf<+T5g2vO5%4Oz1qsDO-kCA{UHC#t6yr1*HmoLA2#;x6J*@ncvIx_ zfzsMjBq!L%U(?USHkK{M?+n$;RVKO8ye4+5bMy0)wKd3p7iC{})qgigKUph$m_n+0 zL=NUa0*JWfuk297-Y0<*yw$$0mn?ioxr~gz{qNA}yIZ&8e;}>^AFLyk-(Mncx$?wQ z+G->KXB2H#B=I{eoBnhZZZ10e2xP^|UDZb;QqEP-ZuM@s-uGcWJwZ4GIHo?-&8JB|RdpMge2w-@O9 z8;=jp%N2)vv3r_n37?v)f%-ejF%W<%WWekH$j|qu%?7}(3lZ&ZgZcPVyfy!Hmv@C^ zNp0JgJ4$qHipNutl3L)+9VMo8ib37H#DJ~liNwVt`8cuakn?x@HwH){xjCrb#cXAlm0_9Kl7?wQ)SNs< zPlf#TE+oirGSI1gBd&k(Q0?%BoB{2K*Z~)fynn>MRd+43Joh)a5K9WHy=z)by!d*@ z%ahv0=8J=;H|mvPk0y~6pye-CqH-_znNx_CvNwx^8bTF{CilcyvB`cat=N9>ola%? zIC(=U4opglk>GCm;fPA#3nSv8j72%jt=Xd8xGt>Xj43m|#_#h26-c#b+$+>X2ri z@EC?v-x6q(fQVqju7q-x$~1_i!nm=>>h>xf#mKa}Iz~+LG$A?b4{BnKZGDU7?hpD= zVsa?W2&PPqe}<;!jAG3?@V&`&>Mg}Sx~+S3`-zA#wW6k`*=N#UprSidr{N@=&mg}o zM<_!2dFDtG;aLOC5LcpXI^r%@1AG& zyyIKN$4o&^hc0tW@Hwiqy{8dY^pTKSX{i>6hM*8vS62uxEr5gNFV>G1@Ffz*zl&Nj zl;qb$z5*iT<(stjcgOvjC0bipki^8qw8!+~QrN90YaqzsyE+_On%(cukNF6tNXoS7+<>p4f^t?4b$aM0yp2#t)EPI6On`0Il z^PC$9ubeEv;yjKdcG~Wp7M>#ldy9CYVO6?qkGcYbdNnumQwxoI{6QMc(Xgq`9!8Cv z$R$?V_VZ;=vn;p#5(oN6BPw>t`=k12!NII%uA;z6d%q#WAE}(VidNm9Rz4c#^zDao zqVze`3I9ugPrE^CT$rE6b~xw?5@sSdIMDo7i@{S?J?RC{i_dvU+uwVt75%^VBDALo zNK4IZhh4u*=D@9coAnA}+e4rZffR+4iG5lhs6Cx-;FTx=u&UFWJnwzP{n z#(C(^frg;Ud4)y|7Gn$#{rH;}`0f4|-b#vbU!Ctg1WDmRk8S$T2u*4~v*j78h0Ip#pvC z|B+`YkdP-tJ!WzU;JJUV_)SPin#IiLXhs8B*-Ey#V zXe0Z0LF0OP4x9L=*00qf9QtayV4E-Lw^TBV`iP+I!NHy^3DT^!M1_h@dy`F(I`vVR zf`_(NucsPqzCo>g7bJ#$L*}ivq!m#2ZIox>OrA$e~4`++6vl{sqLY*a{RSWM+~#dOU60rl?*)KqtQQox z`}!?0ZjE6DyPysx}=smP*7J#(0zMqgPdtuoM9*YzbvJ~p&gv;I_v@9HadU( zUBlHED5N}$ZzXLvoq80uy&>HrJS6@L z8np9A%iZj&dBLK-s8@BQS^Er>bk4hCquP3D9w9}+Y2C`2v?gO&m^5>HX5x2J=Ukz^ zRvFx53vhG8!V=*C6k{hxPAzS1PCjQdv>%IYLRd+&{LKN*pelmWmejPSgEEGtLf&|7KDXH4* z-*I{ns)$9Fk*of{9M9>Xl?Fc(FJyNtSxXhqJkOm-3> z{5U3L1IE1)G8I64^$=~u51;`2ChXsqN| z9nl>|3IHS}jALk7mK4*3CCH_W6yzBvD^2>m5ve&Xm9v%cF%n|L7vkZ!8}jL^tjy}z ztwYD3HbPuxQC!TxyY0Ku_*PfWVqkWPBla?V zUHrEF2gEC{QIcPS1sin4E1pL%c+%SHJXHY7@AMhd-1A=I+7E>`WrEbF!_Fm4!qxia zmbC-&6GhVE95K|&#tkqoUZTWQSl7OGm;3)$I&;1MZ zK&b@8toARnmY>|J$gwGi&~wqHtJ!>mITXMf;)v#O7mJ97~l~z zX}KJv{z>ndI+N)GD6H@O8(<>ot8eQREWefK)|U!+y@Ldh;F| zUCS&Mm0LFTV1a+-pGXoM$n~NHgTTZ%>ZRCcUD_YjMTCMW-zDuEicy!5A=ei>?$VV1 zutx}m$km8Dr{Zz(h+DZu+l~NJ5)>@!X`SJa+ZoSO9u%xbHUrp0X1pMEAV{xJJ|Zff zhg)%NI#kJe&G|wC8W(VKPazq}H;@JL_ONK1)$S#VFB7rkUS#Q45|5GFP>4|5ac;zr zsOO$`p@K9`I~fk9F_R?m<$AB?(nRT-u99C}P>9Jtn>Y`}e+$09Gg1 zHpJiV7B6CHJoT~D)l=bRl8BC2;ASYt{-=#pPFd5#phPSDPxI7qgCw<3*Rm3wYK|NU zt5<}Kb5zPqHof>&XIYgVnNdv_nFS?7y?(0Kz^7!TiWBU{@+Qz#xDwTsPUqgu8$C~Z zah7w;OsrC_gR%D+SpN7R5zG~E`kC$bVYVB8?TQTUVHeLxSt`B!!J)z4?+MUTG^$N~ zSSl%_=2zp6Lj(6NQN8+J^1oGXd=S2Ja<%M;&U)-WZ)(FFKt@!!^EBF~C;ThbkYcR^AnwSDH#_VmDHLOxx?{oy6qK99sHgAY@Pg-Ep5LA! z?13&eIu4KbYM>u$4{XuRmXJ(ikAL5=cxk@-NxGqVmW6!N339<6FFB?%6A*XVMm6rF z#5|)iLv&h^Bk>Q#cpz%t3Vsw=N78cKRaaTYJf#L{|BGS(?_ZUTpn{758ms_*^_FW@0n8Ua9eHn2y$Aa=v45{=_Hu z$&3x@e)CL~OM5Vc)Ok(j1mBN_&tP4d9*$^|uOQ0lx01WXHREr9l|i6z5*rau*s}piInw zw^keR0|v_8XFZz-P!Iej?lhR&Qoz}g@8G3%AJhpIr0MjKMg$Ir% zY9)THIu~=5w4TF`_F0Yqm^@0nadAWgR9O(RI`>Q=*-wQa9u!<~F5uIv%7&Vs8#r-v z@7>~`8zA}O7!rhdy-{?o|0;zz>DP5&8ZZR|({$kUoX6}9!V#7x+{(e) zch0hUary6TrrtuPjf-_aER24ugY17KT|=GS9oG7=P<9aVHw?ve=Q+SmLo=ofJXL0> zv{XML$gSod7LQW?UmZ2eN=l5bNE!kb0KTHjO!=h5m=%?9trr3g&i#4&g+k31pP3jQ zXT*e}93_Im!zsQv#rjCy*n=JcmAQARRWGsX5Vz<|=fJG-(LQtBd2m-!lJ-x@Be=cq zdw-pLJPpi6+m;HTLlW$dr|OUTsnVCdnkM4NuN*BE=JTA@w%W(!3!JK3=~1wc9{ChViuTq}G8Z9r1=w#U!84V%4^ZmjptToV+TvjD8gn zdNhK`S_Ds9jmN46*S3;tfTO9lh6l3NdfSQ_ZpekU5c0eY`3CG%G#uwCOms7#=(w)2 z2skO$^Q3V4oEQEM9?~u!ddnVYOSSj(&jj-I4pRhxQ?ln(>2uhyB>kug8}mI5(I0n1c?QDf`<8e=rp| zWHmuGD>t0x!NkupNAzB+S|lVr${@%0b*mo@on%r3mS;FRdWKB_I@F;Akh(AuUWa5f z&KZdU#yMh3Jv5>ITP$)l?i4q7Nt_mzh$N^kfBL<8q4n3?@vM(NIHFldx|q^O7sLpV zFN~h(Z{xX1zlwqt!G9Q5oXczg=5NMbMGs5~NIM8(mtfVxk^O?VLKtok*-8zI&+D-G zkY|L}qdqCdmhs(d#x__d{Y>l}+yw;2e9BOAz#Luszm%t7wv|9qT-10Y`|F)r4)y_| z3lvciTjCAh>OwBI!F>z{sFycveTdU0b4msf!MT;}-`4`dcTY~+$`^0~$?~A>285z$ zfz%icnCeLpdA!G1nPB$@dftOOLE>e44Z}|`n8y5LE~Z$=E+DitEQZHe(a7x?x&m;8)IJGN(@uqwu4xAtrEa8Zm4`C z62xcF0zv@gH`$bD$6$u<898=;dl0rZTXWuh6#9*G22=c{ZXgn@G|%oI_2${vk!p~; zf2N@(zh%)}p1fsPCJ;`luMhy-qwL-y~EuU8q@ zJC9i4SL@`4eFJsBLC8>Pt{u#q9;?Cv+^FzPUP&fF_M&b7+tNj*?6Ia&bM6c*Q$P>{ zSNSTQk>L1@?fF6zrg7;T1y8X-_~?Fj{l>}X$={L>9H1`NN}T)XW#9*3MZud1Wrfb7 z&zDn5JkdbO+YlH88kp;u%p7$O?LoS=6rEziZh_pbl(3B-Sddb XwvK>Gh>NZO0smwq% diff --git a/vorestation.dme b/vorestation.dme index 392435080bc..53875549402 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -972,7 +972,6 @@ #include "code\game\objects\items\devices\laserpointer.dm" #include "code\game\objects\items\devices\lightreplacer.dm" #include "code\game\objects\items\devices\locker_painter.dm" -#include "code\game\objects\items\devices\medbeam.dm" #include "code\game\objects\items\devices\megaphone.dm" #include "code\game\objects\items\devices\modkit.dm" #include "code\game\objects\items\devices\multitool.dm"