Extended Descriptions: Energy Weapons - Reloaded! (#25262)

* The Revival

* Added the BSG and disabler SMG

* Minor spelling mistake >::(

* Theta exists.

* Update oldstation.dm

* Maiman Photonics

* Apply suggestions from code review

Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Update code/modules/projectiles/guns/energy/energy.dm

Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Update code/modules/projectiles/guns/energy/special_eguns.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Update code/modules/projectiles/gun.dm

Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* improper nouns

* refactor descriptions

* Documentation + minor refactor

* Refactor descriptions.

* aaaaaaaa

---------

Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>
Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
CRUNCH
2024-05-30 17:53:45 +00:00
committed by GitHub
co-authored by PopeDaveThe3th Henri215 Deniz Luc
parent 91aa03d64a
commit 38e393aff3
9 changed files with 983 additions and 192 deletions
+45 -22
View File
@@ -15,54 +15,78 @@
origin_tech = "combat=1"
needs_permit = TRUE
attack_verb = list("struck", "hit", "bashed")
/// Sound played when a projectile is fired.
var/fire_sound = "gunshot"
/// Sound played when inserting a new magazine.
var/magin_sound = 'sound/weapons/gun_interactions/smg_magin.ogg'
/// Sound played when ejecting a magazine.
var/magout_sound = 'sound/weapons/gun_interactions/smg_magout.ogg'
var/fire_sound_text = "gunshot" //the fire sound that shows in chat messages: laser blast, gunshot, etc.
var/suppressed = FALSE //whether or not a message is displayed when fired
/// The fire sound that shows in chat messages: laser blast, gunshot, etc.
var/fire_sound_text = "gunshot"
/// Whether or not a message is displayed when fired.
var/suppressed = FALSE
/// Whether or not a suppressor can be attached to the gun.
var/can_suppress = FALSE
/// Whether or not an attached suppressor can be removed from the gun.
var/can_unsuppress = TRUE
var/recoil = 0 //boom boom shake the room
/// Screen shake when firing.
var/recoil = 0
/// Checks to see if the user has the clumsy trait.
var/clumsy_check = TRUE
/// Is there currently a bullet in the chamber?
var/obj/item/ammo_casing/chambered = null
var/trigger_guard = TRIGGER_GUARD_NORMAL //trigger guard on the weapon, hulks can't fire them with their big meaty fingers
var/sawn_desc = null //description change if weapon is sawn-off
/// Trigger guard on the gun, hulks and ash walkers can't fire them with their big meaty fingers.
var/trigger_guard = TRIGGER_GUARD_NORMAL
/// Description change if gun is sawn-off.
var/sawn_desc = null
/// Whether or not the gun has been sawn-off.
var/sawn_state = SAWN_INTACT
var/burst_size = 1 //how large a burst is
var/fire_delay = 0 //rate of fire for burst firing and semi auto
var/firing_burst = 0 //Prevent the weapon from firing again while already firing
var/semicd = 0 //cooldown handler
/// The number of bullets in a trigger pull.
var/burst_size = 1
/// Rate of fire for burst firing and semi auto.
var/fire_delay = 0
/// Prevent the gun from firing again while already firing.
var/firing_burst = 0
/// Cooldown handler.
var/semicd = 0
/// How long it takes to perform an execution with the gun.
var/execution_speed = 6 SECONDS
/// When dual wielding, accuracy will decrease based on weapon weight. WEAPON_HEAVY makes a weapon require two hands to fire, unless the user has TRAIT_BADASS.
var/weapon_weight = WEAPON_LIGHT
/// Additional spread when dual wielding.
var/dual_wield_spread = 24
/// Restrict what species can fire this gun.
var/list/restricted_species
/// Bigger values make shots less precise.
var/spread = 0
var/unique_rename = TRUE //allows renaming with a pen
var/unique_reskin = FALSE //allows one-time reskinning
var/current_skin = null //the skin choice if we had a reskin
/// If TRUE, allows the gun to be renamed with a pen.
var/unique_rename = TRUE
/// Allows one-time reskinning.
var/unique_reskin = FALSE
/// The skin choice if we had a reskin.
var/current_skin = null
/// List of reskin options.
var/list/options = list()
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
/// Whether or not the gun has a flashlight.
var/obj/item/flashlight/gun_light = null
/// Whether or not a flashlight can be attached to the gun.
var/can_flashlight = FALSE
var/can_bayonet = FALSE //if a bayonet can be added or removed if it already has one.
/// Whether or not a knife can be attached to the gun.
var/can_bayonet = FALSE
var/obj/item/kitchen/knife/bayonet
var/mutable_appearance/knife_overlay
var/knife_x_offset = 0
var/knife_y_offset = 0
var/can_holster = FALSE // Anything that can be holstered should be manually set
/// Whether or not the gun fits in a shoulder holster.
var/can_holster = FALSE
/// Weapon modifications (except bayonets, flashlights, and suppressors - these are tracked seperately).
var/list/upgrades = list()
var/ammo_x_offset = 0 //used for positioning ammo count overlay on sprite
var/ammo_x_offset = 0 // Used for positioning ammo count overlay on sprite.
var/ammo_y_offset = 0
var/flight_x_offset = 0
var/flight_y_offset = 0
@@ -96,7 +120,6 @@
else if(can_bayonet)
. += "It has a <b>bayonet</b> lug on it."
/obj/item/gun/proc/process_chamber()
return 0
+126 -12
View File
@@ -1,6 +1,18 @@
/* CONTENTS:
* 1. ENERGY GUN
* 2. MINI ENERGY GUN
* 3. X-01 ENERGY GUN
* 4. ENERGY REVOLVER
* 5. PDW-9 PISTOL
* 6. HYBRID TURRET GUN
* 7. ADVANCED ENERGY GUN
*/
//////////////////////////////
// MARK: ENERGY GUN
//////////////////////////////
/obj/item/gun/energy/gun
name = "energy gun"
desc = "An E-07 energy gun manufactured by Shellguard Munitions. The fire selector has 'kill' and 'disable' settings."
name = "\improper EG-7 energy gun"
desc = "A hybrid fire energy gun manufactured by Shellguard Munitions Co. It has a mounting point for a flashlight. The fire selector has two settings: 'disable', and 'kill'."
icon_state = "energy"
item_state = null //so the human update icon uses the icon_state instead.
ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser)
@@ -12,9 +24,23 @@
shaded_charge = TRUE
execution_speed = 5 SECONDS
/obj/item/gun/energy/gun/examine_more(mob/user)
..()
. = list()
. += "A hybrid fire laser gun designed and patentend by Shellguard Munitions Co. Initally designed after market demand for a versatile weapon that merges disabler and laser \
functions without the need for switching weapons during active threats. This would cause the company to experiment and produce a weapon to fit between Shellguard's own disabler and LG series weapons. \
This led to the creation of the EG series, positioning the EG-7 as a flagship model intended to eventually replace Shellguard's disabler pistols and LG series weapons."
. += ""
. += "Its design is an evolution of the disabler pistol frame, featuring a rotating lens within its firing chamber to toggle between non-lethal and lethal shots. \
Further modifications include an extension of the weapon's length, using elements from the LG series, and a transition to carbon composites for a sleeker, modern look. \
This design shift would evolve Shellguards traditional military style, aligning more with the aesthetics preferred by corporations which value clean, sharp, and modern looking weapons."
. += ""
. += "In modern times, the EG-7 is staple weapon among corporate security forces thanks to its relatively low price, dual fire modes, and customization potential (despite Shellguard's disclaimer that \
tampering with the weapon void's its warranty and can potentially damage the gun itself)."
/obj/item/gun/energy/gun/cyborg
desc = "An energy-based laser gun that draws power from the cyborg's internal energy cell directly. So this is what freedom looks like?"
name = "mounted EG-7 energy gun"
desc = "A frame-mounted EG-7 laser gun that draws power directly from your internal energy cell. This probably voids the gun's warranty. The fire selector has two settings: 'disable', and 'kill'."
/obj/item/gun/energy/gun/cyborg/newshot()
..()
@@ -23,9 +49,12 @@
/obj/item/gun/energy/gun/cyborg/emp_act()
return
//////////////////////////////
// MARK: MINI ENERGY GUN
//////////////////////////////
/obj/item/gun/energy/gun/mini
name = "miniature energy gun"
desc = "A small, pistol-sized energy gun with a built-in flashlight. It has two settings: disable and kill."
name = "\improper EG-8 miniature energy gun"
desc = "A pistol-sized energy gun with a built-in flashlight. The power cell is smaller too. Issued for self-defence purposes. The fire selector has two settings: 'disable', and 'kill'."
icon_state = "mini"
w_class = WEIGHT_CLASS_SMALL
ammo_x_offset = 2
@@ -37,6 +66,15 @@
can_holster = TRUE // Pistol sized, so it should fit into a holster
execution_speed = 4 SECONDS
/obj/item/gun/energy/gun/mini/examine_more(mob/user)
..()
. = list()
. += "The EG-8 is a compacted version of Shellguard Munitions' EG-7 Energy Gun, specifically designed as an easily concealable personal defence weapon. \
It is is commonly found in the pockets of private individuals and corporate management alike."
. += ""
. += "The pistol packs the same punch as its bigger brother, but the compact frame has come at the cost of a smaller power cell, making it less suitable for extended engagements. \
Despite this, it is responsible for thwarting numerous attempted muggings, kidnappings, and assassinations across the Sector ever year."
/obj/item/gun/energy/gun/mini/Initialize(mapload, ...)
gun_light = new /obj/item/flashlight/seclite(src)
. = ..()
@@ -48,9 +86,12 @@
if(gun_light && gun_light.on)
. += "mini-light"
//////////////////////////////
// MARK: X-01 ENERGY GUN
//////////////////////////////
/obj/item/gun/energy/gun/hos
name = "\improper X-01 MultiPhase Energy Gun"
desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time."
desc = "This is an expensive, modern recreation of an antique laser gun. The fire selector has three settings: 'disable', 'ion', 'kill'. Unfortunately, it has lost the ability to recharge over time."
cell_type = /obj/item/stock_parts/cell/hos_gun
icon_state = "hoslaser"
origin_tech = null
@@ -61,13 +102,31 @@
shaded_charge = FALSE
can_holster = TRUE
/obj/item/gun/energy/gun/hos/examine_more(mob/user)
..()
. = list()
. += "The X-01 MultiPhase Energy Gun is one of a handful of newly-minted prototypes created by Nanotrasen's weaponry R&D division. \
The frame is based on that of the custom-made antique laser gun, also found in this facility. \
Just like the antique laser that inspired it, the X-01 is a testbed for the latest advances in energy weapon technology."
. += ""
. += "The pistol manages to combine the functions of a disabler, laser, and ion gun into a single pistol-sized package using a unique hybrid optical-electromagnetic projection assembly that can seamlessly \
transition between the weapon's different firing modes. This assembly is also excruciatingly difficult to manufacture - even the slightest deviation from the design's demanding tolerances \
results in a non-functional paperweight. Nonetheless, the promises of compact versatility it brings has kept the X-01 project's finances flowing for now."
. += ""
. += "Unfortunately, the micro-fission reactor used to self-charge the power cell of the antique gun could not be replicated, and so this feature is absent in the X-01's current design. \
Continued research into the technology is ongoing. Heads of Security throughout the Epsilon Eridani sector have been issued the various X-01 prototypes for field testing, \
and are to issue a report on their findings after any shift in which they employ the weapon."
/obj/item/gun/energy/gun/hos/Initialize(mapload, ...)
. = ..()
RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(alert_admins_on_destroy))
//////////////////////////////
// MARK: ENERGY REVOLVER
//////////////////////////////
/obj/item/gun/energy/gun/blueshield
name = "advanced energy revolver"
desc = "An advanced energy revolver with the capacity to shoot both disablers and lasers."
name = "\improper EG-14 advanced energy revolver"
desc = "An advanced, pistol sized energy gun. It looks stylish, and the design makes it slightly better at bludgeoning. The fire selector has two settings: 'disable', and 'kill'."
cell_type = /obj/item/stock_parts/cell/hos_gun
icon_state = "bsgun"
item_state = null
@@ -78,15 +137,40 @@
can_holster = TRUE
execution_speed = 5 SECONDS
/obj/item/gun/energy/gun/blueshield/examine_more(mob/user)
..()
. = list()
. += "The EG-14 is Shellguard Munitions' premium offering in the energy weapons market. It is equal to or superior to the EG-7 in every way, boasting the same fire rate, \
stopping power, and cell capacity, whilst also being better suited as an improvised melee weapon thanks to superior ergonomics and weight distribution - all offered in a pistol-sized form factor."
. += ""
. += "The revolver's cylinder does indeed rotate with every shot, and it can be spun just like the cylinder of a ballistic revolver - although this has no bearing on the actual functionality of the weapon, \
and is included purely as a stylistic embellishment."
. += ""
. += "The price of the EG-14 puts it out of reach of a large portion of the market, but it sells very well among bodyguards and bountyhunters."
//////////////////////////////
// MARK: PDW-9 PISTOL
//////////////////////////////
/obj/item/gun/energy/gun/blueshield/pdw9
name = "\improper PDW-9 energy pistol"
desc = "A military grade sidearm, used by many militia forces throughout the local sector."
desc = "A military-grade energy pistol favored by mercenaries and militia forces. The fire selector has two settings: 'disable', and 'kill'."
icon_state = "pdw9pistol"
item_state = "gun"
/obj/item/gun/energy/gun/blueshield/pdw9/examine_more(mob/user)
..()
. = list()
. += "The PDW-9 is a ruggedized energy pistol made by Shellguard Munitions as a sidearm for military customers. \
It utilizes much of the same technology as the EG-14, and is indeed just as effective, but the frills and embellishments have been discarded in favour of a more utilitarian design."
. += ""
. += "Whilst it can occasionally be found in civilian settings, it's most likely to be seen in the holster of a soldier, mercenary, or elite corporate security."
//////////////////////////////
// MARK: HYBRID TURRET GUN
//////////////////////////////
/obj/item/gun/energy/gun/turret
name = "hybrid turret gun"
desc = "A heavy hybrid energy cannon with two settings: Stun and kill."
name = "\improper AG(H)-22 hybrid turret gun"
desc = "A heavy hybrid energy cannon made for mounted emplacements. The fire selector has two settings: 'stun', and 'kill'."
icon_state = "turretlaser"
item_state = "turretlaser"
slot_flags = null
@@ -99,6 +183,24 @@
shaded_charge = FALSE
execution_speed = 8 SECONDS
/obj/item/gun/energy/gun/turret/examine(mob/user)
. = ..()
. += "<span class='warning'>This weapon has no internal power source. It cannot function without being mounted in a turret frame!</span>"
/obj/item/gun/energy/gun/turret/examine_more(mob/user)
..()
. = list()
. += "The AG(H)-22 is part of a long line of developments in automated weapon emplacement technology, manufactured by Shellguard Munitions for static area defence."
. += ""
. += "A high-powered laser with an electrode gun bolted onto it to allow a choice of lethal or less-than-lethal response to unauthorised access. Freed from the requirement to be mobile, \
this weapon and others like it offload many of their operational requirements such as cooling or power to external hardware, dramatically increasing reliability and reducing the technical \
know-how to make a functioning unit."
. += ""
. += "Just don't expect to pick one up and be able to shoot it in your hands."
//////////////////////////////
// MARK: ADVANCED ENERGY GUN
//////////////////////////////
/obj/item/gun/energy/gun/nuclear
name = "advanced energy gun"
desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell."
@@ -115,4 +217,16 @@
/obj/item/gun/energy/gun/nuclear/examine(mob/user)
. = ..()
. += "<span class='notice'>This items cell recharges on it's own. Known to drive people mad by forcing them to wait for shots to recharge.</span>"
. += "<span class='notice'>[src] contains a miniturised nuclear reactor that will slowly reacharge its power cell at all times. It can still be put into a gun charger for faster charging.</span>"
. += "<span class='notice'>Known to drive people mad by forcing them to wait for shots to recharge.</span>"
/obj/item/gun/energy/gun/nuclear/examine_more(mob/user)
..()
. = list()
. += "The Advanced Energy Gun project is part of Nanotrasen R&D's attempts to recreate the micro-fission reactor of the Antique Energy Gun."
. += ""
. += "Intense efforts have been partially successful - Nanotrasen is now capable of creating sufficiently small reactors to fit in a rifle-sized weapon at a reasonable cost of credits and material. \
However, the ultimate goal of making an affordable recreation at the scale of the original Antique have thus far still failed."
. += ""
. += "Nonetheless, Nanotrasen Marketing is very pleased with the current product, and hopes that it can soon be sold on the galactic market to customers that wish to employ energy weapons \
free from the logistical constraints of recharging stations."
+205 -40
View File
@@ -1,6 +1,21 @@
/*CONTENTS
* 1. LASER GUN
* 2. RETRO LASER
* 3. ANTIQUE
* 4. SCATTERSHOT
* 5. ACCELERATOR
* 6. LWAP
* 7. X-RAY
* 8. IMMOLATOR
* 9. EMITTER
* 10. LASER TAG
*/
//////////////////////////////
// MARK: LASER GUN
//////////////////////////////
/obj/item/gun/energy/laser
name = "laser gun"
desc = "A WT-650 'Sentinel' laser carbine manufactured by Warp-Tac Inc. The golden shield of Nanotrasen Security is visible."
name = "\improper LG-5 laser carbine"
desc = "A compact and lightweight laser carbine manufactured by Shellguard Munitions Co. Considered the most widely used laserarm in the Orion sector, it only fires lethal rounds and requires a recharger to reload."
icon_state = "laser"
item_state = "laser"
w_class = WEIGHT_CLASS_NORMAL
@@ -11,26 +26,81 @@
shaded_charge = TRUE
execution_speed = 5 SECONDS
/obj/item/gun/energy/laser/examine_more(mob/user)
..()
. = list()
. += "A compact but versatile laser carbine, and an icon of the Shellguard Munitions Co. arsenal. Its origins stem back to early corporate expansion, \
after acquiring assets from a now-defunct laser company which gave Shellguard the framework to produce its own initial laser prototypes. \
The early models would be significant at carving out Shellguard's niche in the arms market and later weapon philosophy around lasers. The LG-series is one of the earliest, \
and most iconic laser brands throughout the Orion sector, thanks to low cost and excessive overproduction of units."
. += ""
. += "Crafted for cost-effectiveness and reliability in combat, the LG series boasts a robust philosophy in frame and internal parts. The use of lightweight alloys and polymers in the body and furniture makes it \
surprisingly light for its size. Heat generated during firing is dissipated by a fan-assisted heatsink, protecting the internal power cell and optical assembly from overheating."
. += ""
. += "The LG-5 is prevalent among corporate security forces and PMCs. Thanks to the popularity of the design - along with its simplicity and robust construction - a wide variety of aftermarket modifications have \
been created for it both by laser enthusiasts and corporate interests, giving end-users many options to customise it to fit their needs. \
Foregrips are among the most common modifications seen, as despite the lack of recoil generated by laser weapons, the \"tactical, militaristic\" appearance they are perceived to add makes them very popular."
. += ""
. += "Shellguard discontinued warranties due to widespread customization and has moved its attention to later EG series."
/obj/item/gun/energy/laser/cyborg
name = "mounted LG-5 laser carbine"
desc = "A modified LG-5 laser carbine that draws power directly from your internal energy cell. This probably would have voided the gun's warranty if Shellguard hadn't already discontinued LG-5 warranties."
can_charge = FALSE
ammo_type = list(/obj/item/ammo_casing/energy/laser/cyborg)
origin_tech = null
/obj/item/gun/energy/laser/cyborg/newshot()
..()
robocharge()
/obj/item/gun/energy/laser/cyborg/emp_act()
return
/obj/item/gun/energy/laser/practice
name = "practice laser gun"
desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice."
name = "\improper LG-5(T) training laser carbine"
desc = "A training model of Shellguard Munitions' LG-5 laser rifle. It shoots low-power laser shots designed for target practice."
origin_tech = "combat=2;magnets=2"
ammo_type = list(/obj/item/ammo_casing/energy/laser/practice)
clumsy_check = FALSE
needs_permit = FALSE
/obj/item/gun/energy/laser/practice/examine(mob/user)
. = ..()
. += "<span class='warning'>This weapon's shots are too weak to harm anyone, it is useless as an offensive weapon.</span>"
//////////////////////////////
// MARK: RETRO LASER
//////////////////////////////
/obj/item/gun/energy/laser/retro
name ="retro laser gun"
name ="\improper L-1 'retro' laser gun"
icon_state = "retro"
item_state = "retro"
desc = "An older model of the basic lasergun, no longer used by Nanotrasen's private security or military forces. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws."
desc = "An older model of the basic lasergun, no longer used by Nanotrasen's private security or military forces. \
Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws."
ammo_x_offset = 3
/obj/item/gun/energy/laser/retro/examine_more(mob/user)
..()
. = list()
. += "The L-1 Laser Gun was among the earliest practical man-portable laser weapons on the market, produced by the now-defunct Maiman Photonics company."
. += ""
. += "The weapon was designed with reliability in mind, and features a heavy metal frame enclosing a relatively simple (yet powerful) carbon dioxide laser assembly. \
They were produced in great quantities until Maiman Photonics was acquired by Shellguard Munitions in a hostile takeover bid. \
Shellguard would then use the technology of the L-1 as the basis for its own LG line of laser rifles."
. += ""
. += "Despite no longer being in production, ease of maintenance and a plentiful supply of spare components has allowed the L-1 to remain in use even to the present day, \
mostly among spacers and colonists on the frontier; and various outlaw groups."
//////////////////////////////
// MARK: ANTIQUE
//////////////////////////////
/obj/item/gun/energy/laser/captain
name = "antique laser gun"
icon_state = "caplaser"
item_state = null
desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding."
desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with bovine leather and chrome. \
The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding."
force = 10
origin_tech = null
ammo_x_offset = 3
@@ -43,40 +113,54 @@
/obj/item/gun/energy/laser/captain/examine(mob/user)
. = ..()
. += "<span class='notice'>The power cell of this item slowly recharges on it's own. This caused the station pictured to explode.</span>"
. += "<span class='notice'>[src] contains a miniturised nuclear reactor that will slowly reacharge its power cell at all times. It can still be put into a gun charger for faster charging.</span>"
/obj/item/gun/energy/laser/captain/examine_more(mob/user)
..()
. = list()
. += "This unique laser gun was commissioned by the research director of Nanotrasen's old Martian research facility back in 2451. \
It served as the testbed of several breakthroughs in laser weapon research that wouldn't trickle into mainstream laser weapons for decades - whilst modern laserarms have a similar performance, \
it was vastly superior to any of its contemporaries back when it was originally made."
. += ""
. += "The most revolutionary component is the miniaturised nuclear fission reactor that charges the gun's power cell, allowing for theoretically unlimited shots. \
All radiation emitted is contained by a plasma-lead alloy, making it safe to handle. \
This single example cost a considerable fortune to produce, and has never been successfully replicated. \
The gun's furniture and decorative embellishments were all hand-made by small group highly trained artisans for a comparatively tiny cost."
. += ""
. += "The laser was passed down several generations until it finally ended up in Epsilon Eridani. Today, it is kept on this station as a memento and reminder of what Nanotrasen R&D can achieve. \
Its age, craftsmanship, and unique technology marks it as one of the most expensive objects in the entire station that can be stuffed into a backpack-sized container."
//////////////////////////////
// MARK: SCATTERSHOT
//////////////////////////////
/obj/item/gun/energy/laser/captain/scattershot
name = "scatter shot laser rifle"
icon_state = "lasercannon"
item_state = "laser"
desc = "An industrial-grade heavy-duty laser rifle with a modified laser lense to scatter its shot into multiple smaller lasers. The inner-core can self-charge for theorically infinite use."
desc = "A heavy-duty laser rifle fitted with a retractable prism that scatters its beam into multiple smaller shots. The fire selector has two settings: 'scatter', and 'kill'."
origin_tech = "combat=5;materials=4;powerstorage=4"
ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser)
shaded_charge = FALSE
/obj/item/gun/energy/laser/cyborg
can_charge = FALSE
desc = "An energy-based laser gun that draws power from the cyborg's internal energy cell directly. So this is what freedom looks like?"
ammo_type = list(/obj/item/ammo_casing/energy/laser/cyborg)
origin_tech = null
/obj/item/gun/energy/laser/cyborg/newshot()
/obj/item/gun/energy/laser/captain/scattershot/examine_more(mob/user)
..()
robocharge()
/obj/item/gun/energy/laser/cyborg/emp_act()
return
return list() // Never seen this get used so it probably doesn't need an extended description.
/obj/item/gun/energy/laser/scatter
name = "scatter laser gun"
desc = "A laser gun equipped with a refraction kit that spreads bolts."
desc = "A laser gun equipped with a retractable prism that scatters its beam into multiple smaller shots. The fire selector has two settings: 'scatter', and 'kill'."
ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser)
///Laser Cannon
/obj/item/gun/energy/laser/scattershot/examine_more(mob/user)
..()
return list() // Never seen this get used so it probably doesn't need an extended description.
//////////////////////////////
// MARK: ACCELERATOR
//////////////////////////////
/obj/item/gun/energy/lasercannon
name = "accelerator laser cannon"
desc = "An advanced laser cannon that does more damage the farther away the target is."
desc = "An advanced laser cannon that does more damage the farther away the target is. At close range, damage is less than an LG-5 laser carbine shot."
icon_state = "lasercannon"
item_state = null
w_class = WEIGHT_CLASS_BULKY
@@ -89,6 +173,14 @@
ammo_x_offset = 3
execution_speed = 8 SECONDS
/obj/item/gun/energy/lasercannon/examine_more(mob/user)
..()
. = list()
. += "This offering from Nanotrasen R&D is a real headscratcher. No one is quite sure how it works or how they did it, \
but the fired beam becomes more damaging the further it travels from the barrel. Kind of like a gyrojet but made of light. No plasma or bluespace to account for this one."
. += ""
. += "At any rate, Nanotrasen is looking to sell these to sniper units who will undoubtedly appreciate the devastating effect that one of these can have when given proper operating distance."
/obj/item/ammo_casing/energy/laser/accelerator
projectile_type = /obj/item/projectile/beam/laser/accelerator
select_name = "accelerator"
@@ -105,6 +197,8 @@
damage = min(damage+7, 100)
/obj/item/gun/energy/lasercannon/cyborg
name = "mounted accelerator laser cannon"
desc = "A frame-mounted accellerator laser cannon that draws power directly from your internal energy cell. The warranty is accelerating away too fast for you to retrieve it."
/obj/item/gun/energy/lasercannon/cyborg/newshot()
..()
@@ -113,8 +207,11 @@
/obj/item/gun/energy/lasercannon/cyborg/emp_act()
return
//////////////////////////////
// MARK: LWAP SNIPER
//////////////////////////////
/obj/item/gun/energy/lwap
name = "LWAP laser sniper"
name = "\improper LWAP laser sniper"
desc = "A highly advanced laser sniper that does more damage the farther away the target is, but fires slowly. Comes with a super advanced scope, which can highlight threats through walls, and pierce one object, after being deployed for a while."
icon_state = "esniper"
item_state = null
@@ -129,6 +226,15 @@
shaded_charge = TRUE
execution_speed = 8 SECONDS
/obj/item/gun/energy/lwap/examine_more(mob/user)
..()
. = list()
. += "The LWAP is a further iteration of the accelerator laser cannon, featuring a more powerful laser and a highly advanced \
thermal optic that can pick up the heat signatures of a person-sized target even through thick cover."
. += ""
. += "If given enough time, the built-in targeting computer is able to generate firing solutions that can reliably allow the user to shoot through seams, \
cracks, or other imperfections in walls, allowing targets in other rooms to be struck without fear of retaliation."
/obj/item/gun/energy/lwap/Initialize(mapload)
. = ..()
AddComponent(/datum/component/scope, range_modifier = 2, time_to_scope = 3 SECONDS, movement_cancels_scope = TRUE)
@@ -194,32 +300,75 @@
forcedodge++
..()
//////////////////////////////
// MARK: X-RAY
//////////////////////////////
/obj/item/gun/energy/xray
name = "xray laser gun"
desc = "A high-power laser gun capable of expelling concentrated xray blasts. These blasts will penetrate solid objects, but will decrease in power the longer they have to travel."
name = "\improper X-ray laser gun"
desc = "A high-power laser gun capable of expelling concentrated X-ray beams. These beams can penetrate any number of solid objects, but will decrease in power the longer they have to travel."
icon_state = "xray"
item_state = null
shaded_charge = TRUE
origin_tech = "combat=6;materials=4;magnets=4;syndicate=1"
ammo_type = list(/obj/item/ammo_casing/energy/xray)
/obj/item/gun/energy/xray/examine_more(mob/user)
..()
. = list()
. += "The X-Ray laser gun is an unusual entry into Nanotrasen's R&D line-up. \
It generates beams of ultra-short wavelength light (~750 picometers) that are capable of passing through solid objects, \
making it an ideal weapon for attacking targets in indoor environments or behind cover with impunity."
. += ""
. += "When a target is hit by the X-ray beam, only a portion of the beam's energy is transferred into the target, allowing it to continue flying. \
The very high energy used to generate the beam ensures that the damage dealt is roughly equivalent to a traditional laser rifle (at close range)."
. += ""
. += "Due to the difficulty in creating compact optical assemblies that can effectively focus X-ray wavelengths, the potency of the beam degrades the further it gets from the point of firing."
//////////////////////////////
// MARK: IMMOLATOR
//////////////////////////////
/obj/item/gun/energy/immolator
name = "immolator laser gun"
desc = "A modified laser gun, shooting highly concetrated beams with higher intensity that ignites the target, for the cost of draining more power per shot"
desc = "A laser rifle that shoots incendiary bolts, struck targets will be set on fire. Each shot consumes more energy than a regular laser rifle, draining the power cell more quickly."
icon_state = "immolator"
item_state = null
ammo_type = list(/obj/item/ammo_casing/energy/immolator)
origin_tech = "combat=4;magnets=4;powerstorage=3"
shaded_charge = TRUE
/obj/item/gun/energy/immolator/examine_more(mob/user)
..()
. = list()
. += "The Immolator laser gun is a brutally effective laserarm that was accidentally created by Nanotrasen R&D whilst experimenting with plasma-based lasers. \
The lasing medium is a slug of ultra-pure plasma doped with silver, producing two beam emissions: a 1 μm infrared beam and a secondary, \
much less intense 650 nm red beam (responsible for the visibility of the fired beam)."
. += ""
. += "During testing it was found that it the intense infrared beam would often set the testing targets ablaze thanks to how efficiently it dumps heat into struck material. \
Employing a more powerful electron pump allowed for this effect to be reliably reproduced at the cost of increased power draw. \
Shots from the Immolator will ignite practically any remotely flammable material, from clothing to flesh, causing severe full-body burns in addition to the damage caused at the site of impact."
. += ""
. += "Many groups have called for these types of weapons to be banned for the especially painful and grievous injuries that they cause, but at the present time they remain legal in most regions of space."
/obj/item/gun/energy/immolator/multi
name = "multi lens immolator cannon"
desc = "A large laser cannon, similar to the Immolator Laser, with toggleable firemodes. It is frequently used by military-like forces through Nanotrasen."
name = "multi-lens immolator cannon"
desc = "The bigger brother of the Immolator Laser Gun, featuring toggleable firemodes. The fire selector has two settings: 'scatter', and 'precise'."
icon_state = "multilensimmolator"
item_state = null
ammo_type = list(/obj/item/ammo_casing/energy/immolator/strong, /obj/item/ammo_casing/energy/immolator/scatter)
origin_tech = "combat=5;magnets=5;powerstorage=4"
/obj/item/gun/energy/immolator/multi/examine_more(mob/user)
..()
. = list()
. += "Following numerous refinements by Nanotrasen R&D, the Immolator laser gun was upgraded to make it a truly terrifying killing machine. \
Beefed up components, a more powerful lasing apparatus, and a bigger cell to offset the increased power draw lend this weapon more heft than the original, but also give it more powerful shots."
. += ""
. += "However, the most devastating feature is the addition of a toggleable multifaceted plasma glass prism at the end of the cannon's optical assembly. \
When set into position by the operator, the prism splits the laser into multiple weaker shots that spread out in a wide arc in front of the barrel, \
allowing entire rooms to be quickly peppered with incendiary laser fire."
. += ""
. += "Few weapons inspire quite the same fear and loathing as this. Nanotrasen reserves this weapon for its elite combat operatives and cyborgs. If you're holding it, be glad you're not the one on the other end."
/obj/item/gun/energy/immolator/multi/update_overlays()
. = ..()
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
@@ -227,11 +376,15 @@
. += image(icon = icon, icon_state = "multilensimmolator-[append]")
/obj/item/gun/energy/immolator/multi/cyborg
name = "cyborg immolator cannon"
name = "mounted multi-lens immolator cannon"
desc = "A modified multi-lens immolator cannon that draws power directly from your internal energy cell. Thankfully this usage is covered under Nanotrasen's own warranty."
ammo_type = list(/obj/item/ammo_casing/energy/immolator/scatter/cyborg, /obj/item/ammo_casing/energy/immolator/strong/cyborg) // scatter is default, because it is more useful
//////////////////////////////
// MARK: EMITTER GUN
//////////////////////////////
/obj/item/gun/energy/emitter
name = "mobile emitter"
name = "portable laser emitter"
desc = "An emitter removed from its base, and attached to a laser cannon frame."
icon_state = "emittercannon"
item_state = "laser"
@@ -242,9 +395,17 @@
ammo_type = list(/obj/item/ammo_casing/energy/emitter)
ammo_x_offset = 3
/obj/item/gun/energy/emitter/examine_more(mob/user)
..()
. = list()
. += "Emitters are very robust lasers used in special industrial applications. It doesn't take a genius to figure out that they can also be used in combat. \
Their industrial nature makes them more bulky than laserarms designed from the onset as weapons, but this is offset by the larger and more powerful beam that they can generate."
. += ""
. += "Usually these are seen being used by cyborgs, but self-contained emitter guns intended for regular humanoid use also exist, however they are generally quite rare."
/obj/item/gun/energy/emitter/cyborg
name = "mounted emitter"
desc = "An emitter built into to your cyborg frame, draining charge from your cell."
name = "mounted laser emitter"
desc = "A modified mobile laser emitter that draws power directly from your internal energy cell. draining charge from your cell. Time to void some warranties..."
ammo_type = list(/obj/item/ammo_casing/energy/emitter/cyborg)
/obj/item/gun/energy/emitter/cyborg/newshot()
@@ -254,15 +415,15 @@
/obj/item/gun/energy/emitter/cyborg/emp_act()
return
/// Special version given by the Safety Override upgrade and as a standard module for ERT engiborgs.
/obj/item/gun/energy/emitter/cyborg/proto
name = "mobile proto-emitter"
desc = "An emitter removed from its base and attached to a laser cannon frame. This one operates on unoptimised software, reducing its effectiveness."
// Special version given by the Safety Override upgrade and as a standard module for ERT engiborgs.
/obj/item/gun/energy/emitter/cyborg/proto
name = "mounted prototype laser emitter"
desc = "A modified mobile laser emitter that draws power directly from your internal energy cell. This one operates on unoptimised software, reducing its effectiveness."
ammo_type = list(/obj/item/ammo_casing/energy/emitter/cyborg/proto)
////////Laser Tag////////////////////
//////////////////////////////
// MARK: LASER TAG
//////////////////////////////
/obj/item/gun/energy/laser/tag
name = "laser tag gun"
desc = "Standard issue weapon of the Imperial Guard"
@@ -272,6 +433,10 @@
ammo_x_offset = 2
selfcharge = TRUE
/obj/item/gun/energy/laser/tag/examine_more(mob/user)
..()
return list() // It's a laser tag gun.
/obj/item/gun/energy/laser/tag/blue
icon_state = "bluetag"
item_state = "bluetag"
+113 -8
View File
@@ -1,6 +1,18 @@
/* CONTENTS:
* 1. PULSE RIFLE
* 2. PULSE CARBINE
* 3. PULSE PISTOL
* 4. PULSE DESTROYER
* 5. PULSE ANNIHILATOR
* 6. M1911-P
* 7. PULSE TURRET
*/
//////////////////////////////
// MARK: PULSE RIFLE
//////////////////////////////
/obj/item/gun/energy/pulse
name = "pulse rifle"
desc = "A heavy-duty, multifaceted energy rifle with three modes. Preferred by front-line combat personnel."
desc = "An experimental energy rifle, it's extremely heavy and faintly hums with unstable energy. The absolute bleeding edge of NT weapon development. The fire selector has three settings: 'stun', 'kill', 'DESTROY'."
icon_state = "pulse"
item_state = null
w_class = WEIGHT_CLASS_BULKY
@@ -13,18 +25,37 @@
cell_type = /obj/item/stock_parts/cell/pulse
execution_speed = 2 SECONDS
/obj/item/gun/energy/pulse/examine_more(mob/user)
..()
. = list()
. += "The pulse rifle is the realisation of intense efforts by Nanotrasen weapon R&D to push laser technology to its absolute limits. \
Each one is a hand-made prototype constructed out of the most advanced components available. The custom nature of these rifles makes them ruinously expensive to manufacture."
. += ""
. += "An adaptive optical assembly works in conjunction with an overclocked laser pump and experimental gain medium to produce beams that effortlessly burn through almost any material. \
The extreme heat produced by the weapon is pulled away from sensitive components with actively pumped coolant and dumped into heatsinks spanning most of the weapon's length. \
A generously sized experimental power cell allows it to fire hundreds of times before becoming spent."
. += ""
. += "Issues noted with the weapon in field tests include its extreme weight, heft, and the rapid degradation of its internal components from a combination of thermal warping (despite the cooling system) \
and the laser itself causing cumulative damage to all the components it passes through. \
Both of these factors mean that the rifle has to be rebuilt after every deployment to continue operating properly. Despite all these shortcomings, it is the final word in man-portable laser firepower."
/obj/item/gun/energy/pulse/emp_act(severity)
return
/obj/item/gun/energy/pulse/cyborg
name = "mounted pulse rifle"
desc = "A modified pulse rifle that draws power directly from your internal energy cell. Neither it, you, nor the warranty officially exists."
/obj/item/gun/energy/pulse/cyborg/newshot()
..()
robocharge()
//////////////////////////////
// MARK: PULSE CARBINE
//////////////////////////////
/obj/item/gun/energy/pulse/carbine
name = "pulse carbine"
desc = "A compact variant of the pulse rifle with less firepower but easier storage."
desc = "A lighter, more compact version of the pulse rifle. Easier to store and transport, but has fewer shots. It has a mounting point for a flashlight. The fire selector has three settings: 'stun', 'kill', 'DESTROY'."
w_class = WEIGHT_CLASS_NORMAL
slot_flags = SLOT_FLAG_BELT
icon_state = "pulse_carbine"
@@ -34,9 +65,21 @@
flight_x_offset = 18
flight_y_offset = 12
/obj/item/gun/energy/pulse/carbine/examine_more(mob/user)
..()
. = list()
. += "The pulse carbine is an iteration of the pulse rifle that trades off endurance for practicality. \
The power cell has been downsized and the internals have been jammed closer together, allowing the frame to be reduced in size and also mass."
. += ""
. += "The output of the laser remains identical to the full-sized pulse rifle, so it depletes the power cell faster. \
The wear and tear suffered by the internals is also increased due to the close proximity of the internal components. Thankfully it will remain in optimal condition for the duration of a mission. Just."
//////////////////////////////
// MARK: PULSE PISTOL
//////////////////////////////
/obj/item/gun/energy/pulse/pistol
name = "pulse pistol"
desc = "A pulse rifle in an easily concealed handgun package with low capacity."
desc = "A pulse gun miniaturised into a pistol-sized form factor. Easy to conceal, but has a low capacity. The fire selector has three settings: 'stun', 'kill', 'DESTROY'."
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
icon_state = "pulse_pistol"
@@ -45,31 +88,82 @@
cell_type = /obj/item/stock_parts/cell/pulse/pistol
can_charge = FALSE
/obj/item/gun/energy/pulse/pistol/examine(mob/user)
. = ..()
. += "<span class='warning'>The power cell of this weapon cannot be recharged!</span>"
/obj/item/gun/energy/pulse/pistol/examine_more(mob/user)
..()
. = list()
. += "The pulse pistol was the result of Nanotrasen R&D trying their best to miniaturise the pulse rifle as much as possible. \
Miraculously, it works! It fits nicely into pockets, holsters, and any other place one may hide a traditional pistol."
. += ""
. += "All the miniaturisation came at a cost. The power cell has been shrunk down so much that the gun can only get off a limited number of shots before becoming spent. \
The pistol's anaemic heatsink prevents it from efficiently rejecting the heat from firing, causing severe cumulative damage with every shot. \
The power cell generally starts to malfunction first (usually on the first shot), preventing recharging in the field. \
Significant damage to the other components quickly follows until the internals of the weapon are completely destroyed, rendering it useless."
. += ""
. += "These are no longer manufactured, but a large stockpile of old units still remain. Nanotrasen occasionally issues them for dealing with severe threats, but otherwise they see little use. \
The knowledge gleaned from the pulse pistol's development was not wasted, however, as lessons learned were later put to use in creating the more successful Model 1911-P."
//////////////////////////////
// MARK: PULSE DESTROYER
//////////////////////////////
/obj/item/gun/energy/pulse/destroyer
name = "pulse destroyer"
desc = "A heavy-duty, pulse-based energy weapon."
desc = "A pulse rifle for particularly aggressive users. The fire selector has three settings, and they are all 'DESTROY'."
cell_type = /obj/item/stock_parts/cell/infinite
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse)
/obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user)
to_chat(user, "<span class='danger'>[name] has three settings, and they are all DESTROY.</span>")
to_chat(user, "<span class='notice'>[src] is now set to DESTROY.</span>")
//////////////////////////////
// MARK: PULSE ANNIHILATOR
//////////////////////////////
/obj/item/gun/energy/pulse/destroyer/annihilator
name = "pulse ANNIHILATOR"
desc = "For when the situation calls for a little more than a pulse destroyer."
desc = "A pulse rifle fitted with a heavy duty prism, spreading a cone of destruction in front of the user. The fire selector has three settings, and they are all 'ANNIHILATE'."
ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter/pulse)
/obj/item/gun/energy/pulse/destroyer/annihilator/attack_self(mob/living/user)
to_chat(user, "<span class='boldannounceic'>[src] is now set to ANNIHILATE.</span>")
//////////////////////////////
// MARK: M1911-P
//////////////////////////////
/obj/item/gun/energy/pulse/pistol/m1911
name = "\improper M1911-P"
desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people."
desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun that matters, it's the size of the hole it puts through people."
icon_state = "m1911"
item_state = "gun"
can_holster = TRUE
cell_type = /obj/item/stock_parts/cell/infinite
/obj/item/gun/energy/pulse/pistol/m1911/examine(mob/user)
. = ..()
. += "<span class='notice'>[src] contains a highly experimental power cell that consatntly generates energy seemingly out of nowhere. It will never run out of charge.</span>"
/obj/item/gun/energy/pulse/pistol/m1911/examine_more(mob/user)
..()
. = list()
. += "The M1911-P is Nanotrasen's contribution to the time-honoured tradition of modifying John Browning's iconic pistol. Aside from some finagling to make everything fit in the shape of the frame, \
the internals are very similar to the pulse pistol that came before it. However, special thermal composites and experimental plasma-treated optics were utilised to massively increase the gun's durability, \
giving it endurance similar to a conventional laserarm. \
However, all the special materials used in the 1911-P make it almost thirteen times more expensive to produce than a regular pulse rifle (an already extremely expensive design)."
. += ""
. += "These prestigious laser arms were originally conceived as part of a grand rollout of Nanotrasen's pulse weapon technology onto the galactic market, intended to deliver the firepower of a pulse laser \
to those with an appreciation for the aesthetic of traditional firearms."
. += ""
. += "When it became clear that manufacturing costs for pulse weaponry would not come down any time soon, production of the pistol was halted, but not before the first batch of ten thousand was finished. \
Eventually it was decided to gift these pistols to high-ranking Nanotrasen officials, who use them both as functional fashion statements and very effective personal defence weapons."
//////////////////////////////
// MARK: PULSE TURRET
//////////////////////////////
/obj/item/gun/energy/pulse/turret
name = "pulse turret gun"
desc = "A heavy, turret-mounted pulse energy cannon."
desc = "A heavy pulse cannon made for mounted emplacements. The fire selector has two settings: 'stun', and 'DESTROY'."
icon_state = "turretlaser"
item_state = "turretlaser"
slot_flags = null
@@ -79,3 +173,14 @@
can_flashlight = FALSE
trigger_guard = TRIGGER_GUARD_NONE
ammo_x_offset = 2
/obj/item/gun/energy/pulse/turret/examine(mob/user)
. = ..()
. += "<span class='warning'>This weapon has no internal power source. It cannot function without being mounted in a turret frame!</span>"
/obj/item/gun/energy/pulse/turret/examine_more(mob/user)
..()
. = list()
. += "Most of the issues that affect pulse weaponry are negated or massively reduced when they are employed in emplacements. Significantly larger cooling systems and additional spacing between \
the components avoids the issue of thermal damage, and the mass of the weapon largely becomes a non-issue when it doesn't have to be lugged around. \
Whilst the laser does still cause damage to the optical assembly over time, the service life is still leaps and bounds ahead of handheld versions. This also makes them significantly cheaper to maintain."
@@ -1,7 +1,27 @@
#define PLASMA_CHARGE_USE_PER_SECOND 2.5
#define PLASMA_DISCHARGE_LIMIT 5
// Ion Rifles //
/* CONTENTS:
* 1. ION RIFLE
* 2. ION CARBINE
* 3. DECLONER
* 4. FLORAL SOMATORAY
* 5. METEOR GUN
* 6. MIND FLAYER
* 7. ENERGY CROSSBOW
* 8. PLASMA CUTTER
* 9. WORMHOLE PROJECTOR
* 10. CYBORG LMG
* 11. INSTAGIB RIFLE
* 12. HONK RIFLE
* 13. PLASMA PISTOL
* 14. THE BSG
* 15. TEMPERATURE GUN
* 16. MIMIC GUN
* 17. DETECTIVE ENERGY REVOLVER
* 18. VOX SPIKETHROWER
* 19. VORTEX SHOTGUN
*/
//////////////////////////////
// MARK: ION RIFLE
//////////////////////////////
/obj/item/gun/energy/ionrifle
name = "ion rifle"
desc = "A man portable anti-armor weapon designed to disable mechanical threats"
@@ -19,6 +39,20 @@
flight_x_offset = 17
flight_y_offset = 9
/obj/item/gun/energy/ionrifle/examine_more(mob/user)
..()
. = list()
. += "The ion rifle is a specialised weapon system developed by Nanotrasen to counteract technological threats. Stored xenon gas is superheated and spun inside a miniaturised \
resonating cyclotron to strip away the outer electron shell. This creates a very positively charged slug of ionised xenon gas that is then launched down the barrel of the rifle by a series of electromagnets. \
Once the slug hits a target, the magnetic field holding it together collapses, spreading the ions around the immediate area and causing severe damage to unshielded electronic systems caught within the resulting cloud."
. += ""
. += "It was developed in 2318 in response to the increasing prevalence of combat robots, mech units, and augmented combatants in modern combat engagements. \
Whilst unsuccessful in procuring lucrative contracts to manufacture the weapon for the TSF (who pointed out the issue of combatants with electromagnetic shielding), \
it was adopted by several corporate outfits that appreciated the ruthless efficiency of the ion rifle against unprotected synthetics."
. += ""
. += "Whilst it has a niche in combating pulse demon incursions, the real place that the ion rifle has shown its strength is in putting down synthetic rebellions and rogue artificial intelligences. \
For a synthetic, nothing sends chills down the spine more than the sight of this weapon."
/obj/item/gun/energy/ionrifle/Initialize(mapload)
. = ..()
if(mapload && HAS_TRAIT(SSstation, STATION_TRAIT_CYBERNETIC_REVOLUTION) && is_station_level(z)) //No ion rifle when everyone has cybernetic organs, sorry!
@@ -27,9 +61,12 @@
/obj/item/gun/energy/ionrifle/emp_act(severity)
return
//////////////////////////////
// MARK: ION CARBINE
//////////////////////////////
/obj/item/gun/energy/ionrifle/carbine
name = "ion carbine"
desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient."
desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient, it packs the exact same punch and capacity in a smaller, easier to transport package."
icon_state = "ioncarbine"
w_class = WEIGHT_CLASS_NORMAL
slot_flags = SLOT_FLAG_BELT
@@ -37,7 +74,25 @@
flight_x_offset = 18
flight_y_offset = 11
// Decloner //
/obj/item/gun/energy/ionrifle/carbine/examine_more(mob/user)
..()
. = list()
. += "Recent developments in compact electromagnets, material science, and iterative improvement in various other high energy components has resulted in this brand-new rehashing of the \
original Ion Rifle being developed by Nanotrasen R&D: The Ion Carbine! It addresses several of the shortcomings of its centuries-old predecessor. Chiefly among them is the miniaturisation of the vital components, \
which has allowed the carbine to be made small enough to fit inside a variety of personal storage spaces, permitting it to be used as a secondary weapon that can be kept out of the way until it is needed. \
Improvements to the ergonomics, reduction in weight, and the replacement of the fixed 1x optic with a modular rail system also makes the carbine far more pleasant to use than its predecessor. \
All of these improvements come without any trade-offs, such is the march of technology."
. += ""
. += "The chief impetus for the development of the Ion Carbine was the mass unrest and strike actions by the then-indentured IPC workforce starting in 2525. Whilst the events surrounding this were largely non-violent, \
Nanotrasen is aware that things could have gone very differently. With their current pervasive use of indentured AI, robots, and cyborgs, Nanotrasen is also very well aware that history may repeat itself - \
and may do so with great destruction. Such an eventuality is absolutely unacceptable to the company."
. += ""
. += "Nanotrasen also hopes that this improved weapon will be more attractive to markets that have seen low penetration from the original Ion Rifle. As with before, \
the golden goose that Nanotrasen wishes eventually to secure is production contracts with the armed forces of the TSF, but they'll happily sell it to anyone else that's buying."
//////////////////////////////
// MARK: DECLONER
//////////////////////////////
/obj/item/gun/energy/decloner
name = "biological demolecularisor"
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
@@ -48,6 +103,14 @@
ammo_x_offset = 1
can_holster = TRUE
/obj/item/gun/energy/decloner/examine_more(mob/user)
..()
. = list()
. += "The biological demolecularisor - also known as the \"decloner\" by some users - is a specialty weapon from Nanotrasen weapon R&D intended for particularly troublesome organic threats."
. += ""
. += "It utilises a compact synchrotron specifically tuned to generate a large excess of gamma-wavelength radiation that is released in highly intense bursts. When an organic target is hit by the burst, \
it causes damage to the very makeup of their cells, destroying protiens, DNA, and other vital molecular structures. Continued application rapidly results in debilitating damage and death."
/obj/item/gun/energy/decloner/update_icon_state()
return
@@ -57,7 +120,9 @@
if(cell.charge > shot.e_cost)
. += "decloner_spin"
// Flora Gun //
//////////////////////////////
// MARK: FLORAL SOMATORAY
//////////////////////////////
/obj/item/gun/energy/floragun
name = "floral somatoray"
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
@@ -78,7 +143,9 @@
return FALSE
return ..()
// Meteor Gun //
//////////////////////////////
// MARK: METEOR GUN
//////////////////////////////
/obj/item/gun/energy/meteorgun
name = "meteor gun"
desc = "For the love of god, make sure you're aiming this the right way!"
@@ -102,7 +169,9 @@
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
// Mind Flayer //
//////////////////////////////
// MARK: MIND FLAYER
//////////////////////////////
/obj/item/gun/energy/mindflayer
name = "\improper Mind Flayer"
desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon."
@@ -111,7 +180,9 @@
shaded_charge = TRUE
ammo_type = list(/obj/item/ammo_casing/energy/mindflayer)
// Energy Crossbows //
//////////////////////////////
// MARK: ENERGY CROSSBOW
//////////////////////////////
/obj/item/gun/energy/kinetic_accelerator/crossbow
name = "mini energy crossbow"
desc = "A weapon favored by syndicate stealth specialists. Knocks down and injects toxins."
@@ -161,10 +232,12 @@
shoot_live_shot(user, user, FALSE, FALSE)
return OXYLOSS
// Plasma Cutters //
//////////////////////////////
// MARK: PLASMA CUTTER
//////////////////////////////
/obj/item/gun/energy/plasmacutter
name = "plasma cutter"
desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
desc = "A mining tool capable of expelling concentrated plasma bursts. Its effectiveness drops dramatically outside of low-pressure environments. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
icon_state = "plasmacutter"
item_state = "plasmacutter"
modifystate = -1
@@ -182,6 +255,20 @@
can_charge = FALSE
can_holster = TRUE
/obj/item/gun/energy/plasmacutter/examine(mob/user)
. = ..()
. += "<span class='notice'>[src] can be recharged by inserting plasma sheets or raw plasma ore into it.</span>"
. += "<span class='warning'>[src] cannot be charged in a gun charging station.</span>"
/obj/item/gun/energy/plasmacutter/examine_more(mob/user)
..()
. = list()
. += "The plasma cutter is an old and reliable design mining tool designed by the now-defunct Althland mining company for rapid tunnelling, excavation, and ore extraction. \
It uses a magnetic catapult to launch superheated slugs of hypervelocity plasma. These slugs effortlessly destabilise and punch through most kinds of rock, allowing for easy clearance."
. += ""
. += "It can be reloaded using refined plasma sheets, or plasma ore obtained in the field (although the latter is less efficient). \
Plasma cutters such as these can be found in use at plasma mining operations throughout known space."
/obj/item/gun/energy/plasmacutter/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
if(cell.charge >= cell.maxcharge)
@@ -212,6 +299,7 @@
/obj/item/gun/energy/plasmacutter/adv
name = "advanced plasma cutter"
desc = "An improved version of the venerable Plasma Cutter, evolved by Nanotrasen. It's just straight up better!"
icon_state = "adv_plasmacutter"
item_state = "plasmacutteradv"
modifystate = "adv_plasmacutter"
@@ -219,7 +307,20 @@
ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv)
force = 15
// Wormhole Projectors //
/obj/item/gun/energy/plasmacutter/adv/examine_more(mob/user)
..()
. = list()
. += "Once Althland was acquired by Nanotrasen, they gained access to all of the company's technologies and patents, most notably, the Plasma Cutter. \
NT R&D has been hard at work refining it into a superior design."
. += ""
. += "This advanced model has an improved charging system to slightly increase the fire rate, and a completely redesigned plasma slug launch system that cuts the required plasma for a shot down by 87%! \
Careful redesigning of the frame's angles and weight distribution also makes it slightly better as a melee weapon as well."
. += ""
. += "These new plasma cutters are not yet in common use, but the massive efficiency gains over their predecessors all but guarantees that they will sell like wildfire."
//////////////////////////////
// MARK: WORMHOLE PROJECTOR
//////////////////////////////
/obj/item/gun/energy/wormhole_projector
name = "bluespace wormhole projector"
desc = "A projector that emits high density quantum-coupled bluespace beams."
@@ -276,10 +377,12 @@
playsound(loc, 'sound/effects/supermatter.ogg', 20, TRUE)
return OBLITERATION
/* 3d printer 'pseudo guns' for borgs */
//////////////////////////////
// MARK: CYBORG LMG
//////////////////////////////
/obj/item/gun/energy/printer
name = "cyborg lmg"
desc = "A machinegun that fires 3d-printed flachettes slowly regenerated using a cyborg's internal power source."
name = "cyborg LMG"
desc = "A machine gun that fires 3D-printed flachettes slowly synthesized using your internal energy cell."
icon_state = "l6closed0"
icon = 'icons/obj/guns/projectile.dmi'
cell_type = /obj/item/stock_parts/cell/secborg
@@ -292,7 +395,9 @@
/obj/item/gun/energy/printer/emp_act()
return
// Instakill Lasers //
//////////////////////////////
// MARK: INSTAGIB RIFLE
//////////////////////////////
/obj/item/gun/energy/laser/instakill
name = "instakill rifle"
icon_state = "instagib"
@@ -318,20 +423,40 @@
item_state = "instagibblue"
ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue)
// HONK Rifle //
//////////////////////////////
// MARK: HONK RIFLE
//////////////////////////////
/obj/item/gun/energy/clown
name = "\improper HONK rifle"
desc = "Clown University's finest."
desc = "The finest weapon produced by the Martian College of Comedy."
icon_state = "honkrifle"
ammo_type = list(/obj/item/ammo_casing/energy/clown)
clumsy_check = FALSE
selfcharge = TRUE
ammo_x_offset = 3
can_holster = TRUE // you'll never see it coming
can_holster = TRUE // You'll never see it coming!
/obj/item/gun/energy/clown/examine(mob/user)
. = ..()
. += "<span class='notice'>[src] contains a strange bananium core that somehow slowly reacharges its power cell at all times. It can still be put into a gun charger for faster charging.</span>"
/obj/item/gun/energy/clown/examine_more(mob/user)
..()
. = list()
. += "Developed by a former pair of designers from Donk Co. and Shellguard Munitions who met each other whilst studying at the Martian College of Comedy, this rifle uses advanced chemical synthesisers \
and customised 3D printing technology to fabricate high-yield snap-pops, which are then hurled downrange by a pneumatic ram into unsuspecting bystanders! \
Whilst not powerful enough to be harmful, it scares the hell out of them!"
. += ""
. += "The design was an instant hit, and elite clowns all across the Orion sector eagerly added it to their arsenals. What will they think of next?"
//////////////////////////////
// MARK: PLASMA PISTOL
//////////////////////////////
#define PLASMA_CHARGE_USE_PER_SECOND 2.5
#define PLASMA_DISCHARGE_LIMIT 5
/obj/item/gun/energy/plasma_pistol
name = "plasma pistol"
desc = "A specialized firearm designed to fire heated bolts of plasma. Can be overloaded for a high damage shield breaking shot."
desc = "A specialized firearm designed to fire superheated bolts of plasma. Can be overloaded for a high damage, shield-breaking shot."
icon_state = "toxgun"
item_state = "toxgun"
sprite_sheets_inhand = list("Vox" = 'icons/mob/clothing/species/vox/held.dmi', "Drask" = 'icons/mob/clothing/species/drask/held.dmi') //This apperently exists, and I have the sprites so sure.
@@ -351,6 +476,20 @@
var/mob/living/carbon/holder = null
execution_speed = 4 SECONDS
/obj/item/gun/energy/plasma_pistol/examine(mob/user)
. = ..()
. += "<span class='warning'>Beware! Improper handling of [src] may release a cloud of highly flammable plasma gas!</span>"
/obj/item/gun/energy/plasma_pistol/examine_more(mob/user)
..()
. = list()
. += "The plasma pistol is a departure from Nanotrasen's usual forays into energy weapon design. \
Uniquely among its catalogue of experimental weapons, it uses plasma projectiles instead of lasers or other particles to deal damage."
. += ""
. += "The pistol's frame contains a compact magnetic catapault that launches the plasma at the target, where the extreme heat causes severe burns at the point of impact. \
When overcharged, a particularly large projectile is generated, which not only causes increased damage to targets, \
but also overloads energy shielding thanks to the quantitiy of ionised plasma in the projectile."
/obj/item/gun/energy/plasma_pistol/Initialize(mapload)
. = ..()
START_PROCESSING(SSfastprocess, src)
@@ -451,7 +590,12 @@
if(istype(T))
T.atmos_spawn_air(LINDA_SPAWN_HEAT | LINDA_SPAWN_TOXINS|LINDA_SPAWN_20C, 20)
#undef PLASMA_CHARGE_USE_PER_SECOND
#undef PLASMA_DISCHARGE_LIMIT
//////////////////////////////
// MARK: THE BSG
//////////////////////////////
/obj/item/gun/energy/bsg
name = "\improper B.S.G"
desc = "The Blue Space Gun. Uses a flux anomaly core and a bluespace crystal to produce destructive bluespace energy blasts, inspired by Nanotrasen's BSA division."
@@ -478,12 +622,27 @@
. = ..()
if(core && has_bluespace_crystal)
. += "<span class='notice'>[src] is fully operational!</span>"
. += "<span class='notice'>[src] will generate a protective field that shields the user from the blast of its own projectiles when fired.</span>"
else if(core)
. += "<span class='warning'>It has a flux anomaly core installed, but no bluespace crystal installed.</span>"
else if(has_bluespace_crystal)
. += "<span class='warning'>It has a bluespace crystal installed, but no flux anomaly core installed.</span>"
else
. += "<span class='warning'>It is missing a flux anomaly core and bluespace crystal to be operational.</span>"
. += "<span class='warning'>It is missing a flux anomaly core and bluespace crystal.</span>"
/obj/item/gun/energy/bsg/examine_more(mob/user)
..()
. = list()
. += "When a bluespace crystal is correctly charged and agitated, it releases high-energy exotic particles that are very deadly to living beings. \
The BSG is the culmination of Nanotrasen's research into portable weaponised bluespace technology."
. += ""
. += "By using a captive flux anomaly core to supercharge the weapon's bluespace crystal, a massive sphere of condensed energy is released. \
This sphere will release an energy discharge upon hitting a solid object, causing extensive damage to flesh and robotic components. \
As the sphere dischargers, it will also detonate, emitting a powerful pulse of infrared radiation that will cause flash burns on anyone caught within the detonation radius."
. += ""
. += "Accidental injuries and death during initial testing also caused a protective energy barrier to be added to the design. Using some of the energy of firing, \
it will create a finely-tuned neutralising bluespace field that protects the user from the blast wave generated by the weapon's projectile. \
However, this field will not protect the user from a second BSG, as it is tied to the energy signature of an individual gun's flux anomaly core."
/obj/item/gun/energy/bsg/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/stack/ore/bluespace_crystal))
@@ -561,16 +720,18 @@
desc = "The Blue Space Gun. Uses a flux anomaly core and a bluespace crystal to produce destructive bluespace energy blasts, inspired by Nanotrasen's BSA division. This is an executive model, and its bluespace crystal will not shatter."
admin_model = TRUE
// Temperature Gun //
//////////////////////////////
// MARK: TEMPERATURE GUN
//////////////////////////////
/obj/item/gun/energy/temperature
name = "temperature gun"
desc = "A gun that changes the body temperature of its targets, somehow. Use it in-hand to adjust the projectile temperature." // I give up on trying to come up with an explaination of how this abomonation works. - CRUNCH
icon = 'icons/obj/guns/gun_temperature.dmi'
icon_state = "tempgun_4"
item_state = "tempgun_4"
slot_flags = SLOT_FLAG_BACK
w_class = WEIGHT_CLASS_BULKY
fire_sound = 'sound/weapons/pulse3.ogg'
desc = "A gun that changes the body temperature of its targets."
origin_tech = "combat=4;materials=4;powerstorage=3;magnets=2"
ammo_type = list(/obj/item/ammo_casing/energy/temp)
@@ -700,7 +861,9 @@
if(100 to 200) . += "100"
if(-INFINITY to 100) . += "0"
// Mimic Gun //
//////////////////////////////
// MARK: MIMIC GUN
//////////////////////////////
/obj/item/gun/energy/mimicgun
name = "mimic gun"
desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse. Why does this one have teeth?"
@@ -717,9 +880,12 @@
M.mimic_type = mimic_type
..()
//////////////////////////////
// MARK: DETECTIVE ENERGY REVOLVER
//////////////////////////////
/obj/item/gun/energy/detective
name = "DL-88 energy revolver"
desc = "A 'modern' take on the classic projectile revolver."
name = "\improper DL-88 energy revolver"
desc = "A 'modern' take on the classic .38 revolver, designed and manufactured by Warp-Tac Industries. The fire selector has two settings: 'tracker', and 'disable'."
icon_state = "handgun"
item_state = null
modifystate = TRUE
@@ -741,6 +907,19 @@
inhand_charge_sections = 3
overlay_set = "handgun" // Reskins are a different icon_state
/obj/item/gun/energy/detective/examine_more(mob/user)
..()
. = list()
. += "The Dignitas Laser model 88, a laser revolver with a classic design is a 'modern' spin on older .38 revolvers. Designed by Warp-Tac Industries, \
it is the successor of the older DL-44 revolver, being tailored for police and security forces."
. += ""
. += "Developed in response to break-ins at Warp-Tac's corporate offices on Mars, the Model 88 diverged from Warp-Tac's usual lethal weapon designs. Instead, it was crafted to meet police force demands \
for non-lethal capture, offering an alternative to the prevalent and commonly distributed disablers in the market. \
The DL-88 quickly became the tool of choice for neutralizing suspects without lethal force within Warp-Tac security forces. \
Due to this, its effectiveness and design caught the attention of private detective agencies, aligning perfectly with Warp-Tac's targeted marketing of the gun."
. += ""
. += "Eventually, corporations like Nanotrasen adopted the DL-88 for their detective units, appreciating its cost-effectiveness and the ability to use their own manufactured cells, reducing overall budget expenditures."
/obj/item/gun/energy/detective/Initialize(mapload, ...)
. = ..()
Announcer = new /obj/item/radio/headset(src)
@@ -859,7 +1038,9 @@
tracking_target_UID = null
/// It's like the cyborg LMG, uses energy to make spikes
//////////////////////////////
// MARK: VOX SPIKETHROWER
//////////////////////////////
/obj/item/gun/energy/spikethrower
name = "\improper Vox spike thrower"
desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
@@ -904,10 +1085,9 @@
. = ..()
. += "<span class='notice'>This item's cell recharges on its own. Known to drive people mad by forcing them to wait for shots to recharge. Not compatible with rechargers.</span>"
#undef PLASMA_CHARGE_USE_PER_SECOND
#undef PLASMA_DISCHARGE_LIMIT
//////////////////////////////
// MARK: VORTEX SHOTGUN
//////////////////////////////
/obj/item/gun/energy/vortex_shotgun
name = "reality vortex wrist mounted shotgun"
desc = "This weapon uses the power of the vortex core to rip apart the fabric of reality in front of it."
+108 -20
View File
@@ -1,6 +1,17 @@
/* CONTENTS:
* 1. TASER
* 2. HYBRID TASER
* 3. DISABLER
* 4. DISABLER SMG
* 5. U-ION SILENCER
* 6. ARC REVOLVER
*/
//////////////////////////////
// MARK: TASER
//////////////////////////////
/obj/item/gun/energy/taser
name = "taser gun"
desc = "A small, low capacity gun used for non-lethal takedowns."
name = "\improper X-260 taser"
desc = "A less-lethal pistol that fires electrodes to incapacitate targets."
icon_state = "taser"
item_state = null //so the human update icon uses the icon_state instead.
origin_tech = "combat=3"
@@ -8,32 +19,43 @@
ammo_x_offset = 3
can_holster = TRUE // Pistol size
/obj/item/gun/energy/arc_revolver
name = "arc revolver"
desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers. These shots charge whatever they hit, causing arcs of electricity to form between them."
icon_state = "stunrevolver"
item_state = "gun"
origin_tech = "combat=4;materials=4;powerstorage=4"
ammo_type = list(/obj/item/ammo_casing/energy/arc_revolver)
can_flashlight = FALSE
shaded_charge = FALSE
can_holster = TRUE
/obj/item/gun/energy/taser/examine_more(mob/user)
..()
. = list()
. += "The X-270 is produced by Shellguard Munitions, based on a long line of similar less-lethal weapon systems that go back centuries. \
It is designed to allow law enforcement to take down noncompliant targets at a distance without having to resort to lethal force."
. += ""
. += "They work by firing a pair of electrodes into the target and then transmitting an electrical current through them. This electrical current is specifically modulated to interfere with the neuromuscular junction, \
stimulating it and forcing the muscle into the contracted position, disabling movement."
. += ""
. += "Disablers have mostly replaced these weapons across known space, although the remain in certain specific niches where the immediate stopping power is desired."
//////////////////////////////
// MARK: HYBRID TASER
//////////////////////////////
/obj/item/gun/energy/gun/advtaser
name = "hybrid taser"
desc = "A dual-mode taser designed to fire both short-range high-power electrodes and long-range disabler beams."
name = "\improper XD-2600 hybrid taser"
desc = "An upgrade to Shellguard Munitions' X-260 that adds an integrated disabler for long-range takedowns. The fire selector has two settings: 'stun', and 'disable'."
icon_state = "advtaser"
ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/disabler)
origin_tech = "combat=4"
ammo_x_offset = 2
flight_x_offset = 15
shaded_charge = FALSE
can_holster = TRUE // Pistol size
can_holster = TRUE
/obj/item/gun/energy/gun/advtaser/examine_more(mob/user)
..()
. = list()
. += "The XD-2600 is a high-end less-lethal weapon system offered by Shellguard for those echelons that still \
make use of their original X-260s but also wish for the longer range offered by the disabler by simply combining both into a singular package."
. += ""
. += "Whilst tasers have been largely phased out by most law enforcement across known space, Shellguard continues to make a tidy profit providing these to those enforcement agencies that have not, \
as well as private individuals seeking a potent less-lethal self defence tool, mostly in the corporate world."
/obj/item/gun/energy/gun/advtaser/cyborg
name = "cyborg taser"
desc = "An integrated hybrid taser that draws directly from a cyborg's power cell. The weapon contains a limiter to prevent the cyborg's power cell from overheating."
name = "mounted XD-2600 hybrid taser"
desc = "A modified XD-2600 hybrid taser that draws power directly from your internal energy cell. It contains a limiter to prevent your cell from overheating. The warranty expired two weeks ago."
can_flashlight = FALSE
can_charge = FALSE
@@ -41,6 +63,9 @@
..()
robocharge()
//////////////////////////////
// MARK: DISABLER
//////////////////////////////
/obj/item/gun/energy/disabler
name = "disabler"
desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse."
@@ -55,6 +80,20 @@
can_holster = TRUE
execution_speed = 5 SECONDS
/obj/item/gun/energy/disabler/examine_more(mob/user)
..()
. = list()
. += "The disabler is a less-than-lethal weapon designed to incapacitate targets without causing lasting harm. It was designed by Shellguard Munitions as an alternative to electroshock-based LTL weapons. \
Its chief advantages are the longer ranges and massively reduced incidences of accidental fatalities."
. += ""
. += "It functions by emitting a precisely tuned ionised particle beam that is accelerated out of the barrel by a short electromagnetic coil stack. When the beam hits an organic target, \
it selectively disrupts ATP binding sites in the myosin heads of the myofibrils in the skeletal musculature. \
This initially causes slowdown of muscle contractions, but continued attack will result in almost complete paralysis of most voluntary skeletal muscle groups, along with feelings of extreme lethargy and fatigue. \
These effects are temporary and will subside soon after, causing no lasting harm. By a massive stroke of coincidence, these same particle beams also exhibit a similar effect on the motors of IPC limbs."
. += ""
. += "The safety and efficiency of the disabler has caused it to rapidly replace tasers in police and security forces across most of known space, \
although the lack of immediate stopping power has prevented a complete replacement."
/obj/item/gun/energy/disabler/Initialize(mapload)
. = ..()
cell.maxcharge = 800
@@ -67,8 +106,11 @@
return ..()
//////////////////////////////
// MARK: DISABLER SMG
//////////////////////////////
/obj/item/gun/energy/disabler/smg
name = "disabler smg"
name = "disabler SMG"
desc = "An automatic disabler variant, as opposed to the conventional model. Boasts a higher ammunition capacity at the cost of slightly reduced beam effectiveness."
icon_state = "disabler_smg"
weapon_weight = WEAPON_HEAVY
@@ -78,13 +120,21 @@
can_holster = FALSE
fire_delay = 0
/obj/item/gun/energy/disabler/smg/examine_more(mob/user)
..()
. = list()
. += "The disabler SMG is an upscaled version of Shellguard Munitions' regular disabler, featuring the ability to pepper a large area with incapacitating shots. \
It was designed specifically to be utilised for crowd suppression and riot control by small teams of officers."
. += ""
. += "Its bulkier nature and reduced accuracy has prevented it from achieving the same level of market penetration as its smaller brother, but it is still a common sight in correctional facilities."
/obj/item/gun/energy/disabler/smg/Initialize(mapload)
. = ..()
AddComponent(/datum/component/automatic_fire, 0.15 SECONDS, allow_akimbo = FALSE)
/obj/item/gun/energy/disabler/cyborg
name = "cyborg disabler"
desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating."
desc = "A modified disabler that draws power directly from your internal energy cell. It contains a limiter to prevent your cell from overheating. The warranty information has been disabled."
ammo_type = list(/obj/item/ammo_casing/energy/disabler/cyborg)
can_charge = FALSE
@@ -92,6 +142,9 @@
..()
robocharge()
//////////////////////////////
// MARK: U-ION SILENCER
//////////////////////////////
/obj/item/gun/energy/disabler/silencer
name = "u-ION Silencer"
desc = "Nanotrasen's take on silenced weapons. A quiet lethal disabler, designed to make the death look like a natural cause."
@@ -102,3 +155,38 @@
ammo_type = list(/obj/item/ammo_casing/energy/silencer_ammo)
suppressed = TRUE
execution_speed = 4 SECONDS
/obj/item/gun/energy/disabler/silencer/examine_more(mob/user)
..()
. = list()
. += "Whilst the disabler is a very safe weapon that is in widespread use across the known galaxy, there are a handful of accidental fatalities that have been reported, \
usually due to respiratory or cardiac arrest. Nanotrasen saw these exceptional cases and saw the potential to develop a very special weapon."
. += ""
. += "The result of their efforts was the u-ION Silencer. Like the disabler it is based on, it utilises an ionised particle beam to efficiently paralyse targets by disrupting ATP binding in specific parts of the musculature. \
However, it has been fine-tuned to go several steps further, and block ALL sites of ATP binding, causing subjects to rapidly expire in a similar way to if they had been given a massive dose of cyanide. \
Critically however, the temporary nature of this disruption and the lack of any lingering chemical reagent means that the cause of death will be unclear afterwards. \
Whilst the paralytic nature of the weapon still functions against IPCs, it will not kill them, due to a lack of a metabolism to inhibit."
. += ""
. += "Agents of Nanotrasen employ this weapon to \"remove\" problematic individuals without it being immediately obvious that foul play was involved."
//////////////////////////////
// MARK: ARC REVOLVER
//////////////////////////////
/obj/item/gun/energy/arc_revolver
name = "arc revolver"
desc = "A high-tech revolver that fires internal, 3D printed shock cartridges in a revolving cylinder. \
The cartridges can be recharged using conventional rechargers. These shots charge whatever they hit, causing arcs of electricity to form between them."
icon_state = "stunrevolver"
item_state = "gun"
origin_tech = "combat=4;materials=4;powerstorage=4"
ammo_type = list(/obj/item/ammo_casing/energy/arc_revolver)
can_flashlight = FALSE
shaded_charge = FALSE
can_holster = TRUE
/obj/item/gun/energy/arc_revolver/examine_more(mob/user)
. = ..()
. = list()
. += "The arc revolver is a highly unusual design from Nanotrasen R&D. It fires simple metal spikes containing disposable high-energy capacitors. \
These spikes will discharge their contained energy in an electrical arc between any other such spikes that are nearby. \
New spikes are synthesised and 3D printed into the cylinder using energy supplied when the gun is being recharged."
+15 -6
View File
@@ -1,24 +1,33 @@
/obj/item/gun/energy
icon_state = "energy"
name = "energy gun"
desc = "A basic energy-based gun."
name = "generic energy gun"
desc = "If you can see this, make a bug report on GitHub, something went wrong!"
icon = 'icons/obj/guns/energy.dmi'
fire_sound_text = "laser blast"
var/obj/item/stock_parts/cell/cell //What type of power cell this uses
/// What type of power cell this uses
var/obj/item/stock_parts/cell/cell
/// The specific type of power cell this gun has.
var/cell_type = /obj/item/stock_parts/cell
var/modifystate = 0
/// What projectiles can this gun shoot?
var/list/ammo_type = list(/obj/item/ammo_casing/energy)
var/select = 1 //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next.
/// The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next.
var/select = 1
/// If set to FALSE, the gun cannot be recharged in a recharger.
var/can_charge = TRUE
/// How many lights are there on the gun's item sprite indicating the charge level?
var/charge_sections = 4
/// How many lights are there on the gun's in-hand sprite indicating the charge level?
var/inhand_charge_sections = 4
ammo_x_offset = 2
var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail
/// If this gun uses a stateful charge bar for more detail
var/shaded_charge = FALSE
/// Does this gun recharge itself? Some guns (such as the M1911-P) do not use this and instead have a cell type that self-charges.
var/selfcharge = FALSE
var/charge_tick = 0
var/charge_delay = 4
/// Do you want the gun to fit into a turret, defaults to true, used for if a energy gun is too strong to be in a turret, or does not make sense to be in one.
/// Do you want the gun to fit into a turret, defaults to TRUE, used for if a energy gun is too strong to be in a turret, or does not make sense to be in one.
var/can_fit_in_turrets = TRUE
var/new_icon_state
/// If the item uses a shared set of overlays instead of being based on icon_state
@@ -1,3 +1,17 @@
/* CONTENTS:
* 1. SABRE SMG
* 2. C-20R SMG
* 3. WT-550 PDW
* 4. TYPE U3 UZI
* 5. M-90GL CARBINE
* 6. THOMPSON SMG
* 7. M26A2 ASSAULT RIFLE
* 8. AK-814 ASSAULT RIFLE
* 9. AS-14 'BULLDOG' SHOTGUN
* 10. IK-M2 LASER CARBINE
* 11. IK-M1 LASER RIFLE
*/
/obj/item/gun/projectile/automatic
w_class = WEIGHT_CLASS_NORMAL
var/alarmed = 0
@@ -74,7 +88,9 @@
update_icon()
alarmed = 1
//Saber SMG//
//////////////////////////////
// MARK: SABRE SMG
//////////////////////////////
/obj/item/gun/projectile/automatic/proto
name = "\improper NF10 'Sabre' SMG"
desc = "A rejected prototype three-round burst 9mm submachine gun, designated 'SABR'. Surplus of this model are bouncing around armories of Nanotrasen Space Stations. Has a threaded barrel for suppressors."
@@ -84,7 +100,9 @@
origin_tech = "combat=4;materials=2"
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
//C-20r SMG//
//////////////////////////////
// MARK: C-20R SMG
//////////////////////////////
/obj/item/gun/projectile/automatic/c20r
name = "\improper C-20R SMG"
desc = "A two-round burst .45 SMG, designated 'C-20R'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp."
@@ -110,7 +128,9 @@
/obj/item/gun/projectile/automatic/c20r/update_icon_state()
icon_state = "c20r[magazine ? "-[CEILING(get_ammo(0)/4, 1)*4]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
//WT550//
//////////////////////////////
// MARK: WT-550 PDW
//////////////////////////////
/obj/item/gun/projectile/automatic/wt550
name = "\improper WT-550 PDW"
desc = "An outdated personal defense weapon utilized by law enforcement. Chambered in 4.6x30mm."
@@ -133,7 +153,9 @@
icon_state = "wt550[magazine ? "-[CEILING(get_ammo(0)/4, 1)*4]" : ""]"
item_state = "wt550-[CEILING(get_ammo(0)/6.7, 1)]"
//Type-U3 Uzi//
//////////////////////////////
// MARK: TYPE U3 UZI
//////////////////////////////
/obj/item/gun/projectile/automatic/mini_uzi
name = "\improper 'Type U3' Uzi"
desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds."
@@ -144,7 +166,9 @@
burst_size = 2
can_holster = TRUE // it's a mini-uzi after all
//M-90gl Carbine//
//////////////////////////////
// MARK: M-90GL CARBINE
//////////////////////////////
/obj/item/gun/projectile/automatic/m90
name = "\improper M-90GL Carbine"
desc = "A three-round burst 5.56 toploading carbine, designated 'M-90GL'. Has an attached underbarrel grenade launcher which can be toggled on and off."
@@ -222,7 +246,9 @@
playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1)
update_icon()
//Tommy Gun//
//////////////////////////////
// MARK: THOMPSON SMG
//////////////////////////////
/obj/item/gun/projectile/automatic/tommygun
name = "\improper Thompson SMG"
desc = "A genuine 'Chicago Typewriter'."
@@ -237,7 +263,9 @@
burst_size = 4
fire_delay = 1
//M26 Assault Rifle//
//////////////////////////////
// MARK: M26A2 ASSAULT RIFLE
//////////////////////////////
/obj/item/gun/projectile/automatic/ar
name = "\improper M26A2 assault rifle"
desc = "A robust assault rifle used by Trans-Solar Federation forces. Chambered in 5.56mm."
@@ -253,7 +281,9 @@
burst_size = 3
fire_delay = 1
//AK-814 Soviet Assault Rifle
//////////////////////////////
// MARK: AK-814 ASSAULT RIFLE
//////////////////////////////
/obj/item/gun/projectile/automatic/ak814
name = "\improper AK-814 assault rifle"
desc = "A modern AK assault rifle favored by elite Soviet soldiers. Chambered in 7.62x54mm."
@@ -271,7 +301,9 @@
burst_size = 2
fire_delay = 1
// Bulldog shotgun //
//////////////////////////////
// MARK: AS-14 'BULLDOG' SHOTGUN
//////////////////////////////
/obj/item/gun/projectile/automatic/shotgun/bulldog
name = "\improper AS-14 'Bulldog' Shotgun"
desc = "A compact semi-automatic shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines."
@@ -320,10 +352,12 @@
..()
empty_alarm()
//Laser carbine//
//////////////////////////////
// MARK: IK-M2 LASER CARBINE
//////////////////////////////
/obj/item/gun/projectile/automatic/lasercarbine
name = "\improper IK-60 laser carbine"
desc = "A compact, twin barrelled carbine that uses disposable laser cartridges rather than an internal power cell. Utilized by the Nanotrasen Navy for combat operations."
name = "\improper IK-M2 laser carbine"
desc = "A compact Warp-Tac Industries fully automatic laser carbine that uses disposable laser cartridges rather than an internal power cell. Utilized by Nanotrasen's response teams for combat operations."
icon_state = "lasercarbine"
item_state = "lasercarbine"
w_class = WEIGHT_CLASS_NORMAL
@@ -338,6 +372,17 @@
execution_speed = 5 SECONDS
fire_delay = 0
/obj/item/gun/projectile/automatic/lasercarbine/examine_more(mob/user)
..()
. = list()
. += "The IK-M2 is the premium version of the already well-regarded IK-M1. Whilst the two weapons are fairly similar, \
the IK-M2 is made from more advanced materials to achieve an even lighter and more ruggedized package, whilst also being slightly more compact."
. += ""
. += "The receiver is also modified, allowing it to continiously extract cartrages as long as the trigger is held, permitting fully automatic fire. \
It also comes with hardened magazines to protect the laser cartridges from EMP damage."
. += ""
. += "Warp-Tac bundles this weapon with a lifetime warranty. This weapon is favored by private military groups and mercenaries with money to throw around."
/obj/item/gun/projectile/automatic/lasercarbine/Initialize(mapload)
. = ..()
AddComponent(/datum/component/automatic_fire, 0.15 SECONDS, allow_akimbo = FALSE)
@@ -346,9 +391,12 @@
icon_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]"
item_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]"
//////////////////////////////
// MARK: IK-M1 LASER RIFLE
//////////////////////////////
/obj/item/gun/projectile/automatic/laserrifle
name = "security laser rifle"
desc = "A bulky, single barreled rifle that uses disposable laser cartridges rather than an internal power cell. Utilized by Nanotrasen's private security force."
name = "\improper IK-M1 laser rifle"
desc = "A sleek, Warp-Tac Industries laser rifle that uses disposable laser cartridges rather than an internal power cell. Sold to Nanotrasen's private security forces."
icon_state = "laserrifle"
item_state = "lasercarbine"
w_class = WEIGHT_CLASS_BULKY
@@ -361,6 +409,23 @@
burst_size = 1
actions_types = list()
/obj/item/gun/projectile/automatic/laserrifle/examine_more(mob/user)
..()
. = list()
. += "A sleek, futuristic laser rifle, developed by the brightest minds of Warp-Tac Industries. The IK-series is unique for utilising a patented system of disposable energy cartridges. \
This unique system makes IK-pattern rifles handle more like a traditional firearm than a laser."
. += ""
. += "The IK-M1 marked Warp-Tec's investment into the realm of laser arms manufacturing, a bold move considering the industry's typical separation of ballistic and energy weapon production. \
Years of development went into the creation of the ammunition, culminating in a cheap, easy to produce single-use supercapacitor cartridge that discharges its energy into the rifle's laser cavity at the moment of firing. \
The cartridge is then ejected by an electronically-actuated plastitanum bolt powered by a small internal power cell. As the spent cell is extracted, it also carries with it a significant amount of heat directly \
from the internals of the rifle. This action is responsible for most of the cooling of the weapon, the remaining heat conducts to the barrel, which also functions as a passive heatsink. \
The lack of need for any further cooling hardware makes these rifles deceptively light and easy to handle."
. += ""
. += "Modern IK-pattern weapons remain expensive due to extremely stringent quality control measures at Warp-Tac's manufacturing plants - \
each one is individually inspected and tested to ensure proper operation up to Warp-Tac's standards. The end result, however, is an exceptionally reliable weapon."
. += ""
. += "Today, the latest generation of the IK-M1 competes with established laser brands like Shellguard Munitions, positioning itself as a premium choice in the laser weaponry market."
/obj/item/gun/projectile/automatic/laserrifle/update_icon_state()
icon_state = "laserrifle[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]"
item_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]"