mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-31 09:00:25 +01:00
Fixes https://github.com/Aurorastation/Aurora.3/issues/22674 Fixes https://github.com/Aurorastation/Aurora.3/issues/22682 Fixes https://github.com/Aurorastation/Aurora.3/issues/22766 Fixes https://github.com/Aurorastation/Aurora.3/issues/22767 - bugfix: "Fixes Mechatronic Fabricator's emissive overlay." - bugfix: "Fixes Hivenet Manifest hive color assignments." - bugfix: "Fixes Crew Manifest color defines." - bugfix: "Inbuilt /silicon modular computers no longer broken by EMPs." - bugfix: "Fixes energy gun desc_extended inheritances."
374 lines
16 KiB
Plaintext
374 lines
16 KiB
Plaintext
/obj/item/gun/energy/gun
|
|
name = "\improper EC-4 energy carbine"
|
|
desc = "A NanoTrasen designed energy-based carbine with two settings: Stun and kill."
|
|
desc_extended = "The NT EC-4 is an energy carbine developed and produced by NanoTrasen. Compact, light and durable, used by security forces and law enforcement for its ability to fire stun or lethal beams, depending on selection. It is widely sold and distributed across the galaxy."
|
|
icon = 'icons/obj/guns/faction/nanotrasen_corporation/ecarbine.dmi'
|
|
icon_state = "energystun"
|
|
item_state = "energystun"
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
slot_flags = SLOT_BELT
|
|
accuracy = 1
|
|
max_shots = 15
|
|
can_turret = TRUE
|
|
secondary_projectile_type = /obj/projectile/beam
|
|
secondary_fire_sound = 'sound/weapons/laser1.ogg'
|
|
can_switch_modes = TRUE
|
|
turret_is_lethal = FALSE
|
|
|
|
projectile_type = /obj/projectile/beam/stun
|
|
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
|
modifystate = "energystun"
|
|
|
|
firemodes = list(
|
|
list(mode_name="stun", projectile_type=/obj/projectile/beam/stun, modifystate="energystun", fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam, modifystate="energykill", fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
has_item_ratio = FALSE
|
|
|
|
var/crit_fail = 0 //Added crit_fail as a local variable
|
|
|
|
/obj/item/gun/energy/gun/mounted
|
|
name = "mounted energy gun"
|
|
desc_extended = null
|
|
self_recharge = TRUE
|
|
use_external_power = TRUE
|
|
can_turret = FALSE
|
|
|
|
/obj/item/gun/energy/gun/nuclear
|
|
name = "advanced energy gun"
|
|
desc = "An energy gun with an experimental miniaturized reactor."
|
|
desc_extended = null
|
|
icon = 'icons/obj/guns/nucgun.dmi'
|
|
icon_state = "nucgun"
|
|
item_state = "nucgun"
|
|
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3)
|
|
slot_flags = SLOT_BELT
|
|
force = 18 //looks heavier than a pistol
|
|
self_recharge = TRUE
|
|
modifystate = null
|
|
reliability = 95
|
|
turret_sprite_set = "nuclear"
|
|
charge_failure_message = "'s charging socket was removed to make room for a minaturized reactor."
|
|
|
|
firemodes = list(
|
|
list(mode_name="stun", projectile_type=/obj/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam, fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
var/lightfail = 0
|
|
|
|
/obj/item/gun/energy/gun/nuclear/mechanics_hints(mob/user, distance, is_adjacent)
|
|
. += ..()
|
|
. += "Unlike most weapons, this weapon recharges itself."
|
|
|
|
/obj/item/gun/energy/gun/nuclear/get_cell()
|
|
return DEVICE_NO_CELL
|
|
|
|
/obj/item/gun/energy/gun/nuclear/small_fail(var/mob/user)
|
|
for (var/mob/living/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it
|
|
if (M == user)
|
|
to_chat(M, SPAN_WARNING("Your gun feels pleasantly warm for a moment."))
|
|
else
|
|
to_chat(M, SPAN_WARNING("You feel a warm sensation."))
|
|
SSradiation.radiate(src, rand(3, 50))
|
|
return
|
|
|
|
/obj/item/gun/energy/gun/nuclear/medium_fail(var/mob/user)
|
|
if(prob(50))
|
|
critical_fail(user)
|
|
else
|
|
small_fail(user)
|
|
return
|
|
|
|
/obj/item/gun/energy/gun/nuclear/critical_fail(var/mob/user)
|
|
to_chat(user, SPAN_DANGER("Your gun's reactor overloads!"))
|
|
for (var/mob/living/M in range(rand(1,4),src))
|
|
to_chat(M, SPAN_WARNING("You feel a wave of heat wash over you."))
|
|
SSradiation.radiate(src, rand(3, 80))
|
|
crit_fail = 1 //break the gun so it stops recharging
|
|
self_recharge = FALSE
|
|
update_icon()
|
|
return
|
|
|
|
/obj/item/gun/energy/gun/nuclear/proc/update_charge()
|
|
if (crit_fail)
|
|
AddOverlays("nucgun-whee")
|
|
return
|
|
var/ratio = max((power_supply?.charge / power_supply?.maxcharge), 0)
|
|
ratio = round(ratio, 0.25) * 100
|
|
AddOverlays("nucgun-[ratio]")
|
|
|
|
/obj/item/gun/energy/gun/nuclear/proc/update_reactor()
|
|
if(crit_fail)
|
|
AddOverlays("nucgun-crit")
|
|
return
|
|
if(lightfail)
|
|
AddOverlays("nucgun-medium")
|
|
else if ((power_supply?.charge/power_supply?.maxcharge) <= 0.5)
|
|
AddOverlays("nucgun-light")
|
|
else
|
|
AddOverlays("nucgun-clean")
|
|
|
|
/obj/item/gun/energy/gun/nuclear/proc/update_mode()
|
|
var/datum/firemode/current_mode = firemodes[sel_mode]
|
|
switch(current_mode.name)
|
|
if("stun")
|
|
AddOverlays("nucgun-stun")
|
|
if("lethal")
|
|
AddOverlays("nucgun-kill")
|
|
|
|
/obj/item/gun/energy/gun/nuclear/update_icon()
|
|
ClearOverlays()
|
|
update_charge()
|
|
update_reactor()
|
|
update_mode()
|
|
|
|
/obj/item/gun/energy/pistol
|
|
name = "\improper EP-3 energy pistol"
|
|
desc = "A NanoTrasen energy-based pistol gun with two settings: Stun and kill."
|
|
desc_extended = "The EP-3 is an energy sidearm developed and produced by NanoTrasen. Compact, light and durable, used by security forces and law enforcement for its ability to fire stun or lethal beams, depending on selection. It is widely sold and distributed across the galaxy."
|
|
icon = 'icons/obj/guns/faction/nanotrasen_corporation/epistol.dmi'
|
|
icon_state = "epistolstun100"
|
|
item_state = "epistolstun100"
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
max_shots = 10
|
|
fire_delay = 4
|
|
can_turret = TRUE
|
|
secondary_projectile_type = /obj/projectile/beam/pistol
|
|
secondary_fire_sound = 'sound/weapons/laser1.ogg'
|
|
can_switch_modes = TRUE
|
|
turret_sprite_set = "carbine"
|
|
turret_is_lethal = FALSE
|
|
turret_is_lethal = 0
|
|
drop_sound = 'sound/items/drop/pistol.ogg'
|
|
pickup_sound = 'sound/items/pickup/pistol.ogg'
|
|
|
|
projectile_type = /obj/projectile/beam/stun
|
|
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
|
modifystate = "epistolstun"
|
|
|
|
firemodes = list(
|
|
list(mode_name="stun", projectile_type=/obj/projectile/beam/stun, modifystate="epistolstun", fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam/pistol, modifystate="epistolkill", fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
/obj/item/gun/energy/pistol/hegemony
|
|
name = "\improper Zkrehk-Guild Beamgun"
|
|
desc = "An upgraded variant of the standard energy pistol with two settings: Incapacitate and Smite."
|
|
desc_extended = "This is the Zkrehk-Guild Beamgun, an energy-based sidearm designed and manufactured on Moghes. A special crystal used in its design allows it to penetrate armor with pinpoint accuracy."
|
|
icon = 'icons/obj/guns/faction/izweski_hegemony/hegemony_pistol.dmi'
|
|
icon_state = "hegemony_pistol"
|
|
item_state = "hegemony_pistol"
|
|
has_item_ratio = FALSE
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
max_shots = 12
|
|
fire_delay = 3
|
|
can_turret = FALSE
|
|
secondary_projectile_type = /obj/projectile/beam/pistol/hegemony
|
|
secondary_fire_sound = 'sound/weapons/laser1.ogg'
|
|
can_switch_modes = TRUE
|
|
|
|
projectile_type = /obj/projectile/beam/stun
|
|
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3)
|
|
modifystate = "hegemony_pistol"
|
|
|
|
firemodes = list(
|
|
list(mode_name="incapacitate", projectile_type=/obj/projectile/beam/stun, modifystate="hegemony_pistol", fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="smite", projectile_type=/obj/projectile/beam/pistol/hegemony, modifystate="hegemony_pistol", fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
/obj/item/gun/energy/pistol/goldendeep
|
|
name = "golden deep ornate energy pistol"
|
|
desc = "An intricate golden energy pistol, engraved with a quality unlike no other. If you had to describe this pistol in one word, it would be <b>expensive.</b>"
|
|
desc_extended = "Possessed by only the most affluent affiliates of the Golden Deep, this ornate energy pistol covered in gold is the result of a commission, which had the artistic quality of Ultra Maz combined with the scientific technology acquired by the Estriconian to produce a weapon that many outsiders see as a firearm more valuable than the assets it was made to protect."
|
|
icon = 'icons/obj/guns/faction/golden_deep/goldendeep_ornatepistol.dmi'
|
|
icon_state = "ornatepistolstun100"
|
|
item_state = "ornatepistolstun100"
|
|
has_item_ratio = FALSE
|
|
fire_sound = 'sound/weapons/laser2.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
max_shots = 12
|
|
fire_delay = 3
|
|
can_turret = FALSE
|
|
secondary_projectile_type = /obj/projectile/beam/pistol
|
|
secondary_fire_sound = 'sound/weapons/laser3.ogg'
|
|
can_switch_modes = TRUE
|
|
|
|
projectile_type = /obj/projectile/beam/disorient
|
|
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3)
|
|
modifystate = "ornatepistolstun"
|
|
|
|
firemodes = list(
|
|
list(mode_name="disorient", projectile_type=/obj/projectile/beam/disorient, modifystate="ornatepistolstun", fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam/pistol, modifystate="ornatepistollethal", fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
/obj/item/gun/energy/repeater
|
|
name = "\improper SCC-ER1 energy repeater"
|
|
desc = "A Stellar Corporate Conglomerate created energy repeater, extremely lightweight. It has three settings: Single, Three-Burst, and Full-Auto."
|
|
desc_extended = "The SCC-ER1 was designed to be a reliable yet concealable firearm, capable of defending SCC assets and agents from various attackers."
|
|
icon = 'icons/obj/guns/faction/stellar_corporate_conglomerate/erepeater.dmi'
|
|
icon_state = "energysmg100"
|
|
item_state = "energysmg100"
|
|
modifystate = "energysmg"
|
|
has_item_ratio = FALSE
|
|
fire_sound = 'sound/weapons/energy_repeater.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
max_shots = 24
|
|
fire_delay = 3
|
|
|
|
offhand_accuracy = 6 // same as firing it in your main hand
|
|
|
|
projectile_type = /obj/projectile/beam/pistol/scc
|
|
origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 4)
|
|
drop_sound = 'sound/items/drop/smg.ogg'
|
|
pickup_sound = 'sound/items/pickup/smg.ogg'
|
|
|
|
firemodes = list(
|
|
list(mode_name="single", can_autofire = FALSE, burst = 1),
|
|
list(mode_name="three-burst", can_autofire = FALSE, burst = 3, burst_accuracy = list(1,0,0), dispersion = list(0, 10, 15)),
|
|
list(mode_name="full-auto", can_autofire = TRUE, burst = 1, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3), dispersion = list(5, 10, 15, 20))
|
|
)
|
|
|
|
/obj/item/gun/energy/repeater/pistol
|
|
name = "\improper SCC-ER1-2 energy pistol"
|
|
desc = "A more compact and portable version of the Stellar Corporate Conglomerate Energy Repeater. It has two settings: Stun, and Lethal."
|
|
desc_extended = "The SCC-ER1-2 was designed to be a reliable yet more compact version of the SCC-ER1, capable of defending Staff and Assets."
|
|
icon = 'icons/obj/guns/faction/stellar_corporate_conglomerate/sccpistol.dmi'
|
|
icon_state = "sccpistolstun100"
|
|
item_state = "sccpistolstun"
|
|
has_item_ratio = FALSE
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
max_shots = 10
|
|
fire_delay = 5
|
|
secondary_projectile_type = /obj/projectile/beam/pistol/scc/weak
|
|
secondary_fire_sound = 'sound/weapons/energy_repeater.ogg'
|
|
can_switch_modes = TRUE
|
|
|
|
projectile_type = /obj/projectile/beam/stun
|
|
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3)
|
|
modifystate = "sccpistolstun"
|
|
drop_sound = 'sound/items/drop/pistol.ogg'
|
|
pickup_sound = 'sound/items/pickup/pistol.ogg'
|
|
|
|
firemodes = list(
|
|
list(mode_name="stun", projectile_type=/obj/projectile/beam/stun, modifystate="sccpistolstun", fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam/pistol/scc/weak, modifystate="sccpistolkill", fire_sound='sound/weapons/energy_repeater.ogg')
|
|
)
|
|
|
|
ABSTRACT_TYPE(/obj/item/gun/energy/gun/skrell)
|
|
desc_extended = null
|
|
self_recharge = TRUE
|
|
fire_sound = 'sound/weapons/Laser2.ogg'
|
|
modifystate = null
|
|
charge_failure_message = "'s charging socket was removed to make room for a recharger."
|
|
secondary_fire_sound = 'sound/weapons/laser3.ogg'
|
|
|
|
/obj/item/gun/energy/gun/skrell/emp_act(severity)
|
|
. = ..()
|
|
|
|
return //Fuck robots.
|
|
|
|
/obj/item/gun/energy/gun/skrell/pistol
|
|
name = "nralakk particle pistol"
|
|
desc = "A Nralakk Federation particle-beam pistol with two settings: Disable and Lethal."
|
|
icon = 'icons/obj/guns/faction/nralakk_federation/nralakkpistol.dmi'
|
|
icon_state = "particlepistol"
|
|
item_state = "particlepistol"
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
force = 11
|
|
projectile_type = /obj/projectile/beam/stun/skrell
|
|
secondary_projectile_type = /obj/projectile/beam/pulse/skrell
|
|
drop_sound = 'sound/items/drop/pistol.ogg'
|
|
pickup_sound = 'sound/items/pickup/pistol.ogg'
|
|
|
|
firemodes = list(
|
|
list(mode_name="disable", projectile_type=/obj/projectile/beam/stun/skrell, fire_sound='sound/weapons/Laser2.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam/pulse/skrell, fire_sound='sound/weapons/laser3.ogg')
|
|
)
|
|
|
|
/obj/item/gun/energy/gun/skrell/smg
|
|
name = "nralakk particle submachinegun"
|
|
desc = "A Nralakk Federation particle-beam submachine gun with two settings: Disable and Lethal."
|
|
icon = 'icons/obj/guns/faction/nralakk_federation/nralakksmg.dmi'
|
|
icon_state = "particlesmg"
|
|
item_state = "particlesmg"
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER|SLOT_BACK
|
|
max_shots = 18
|
|
force = 16
|
|
projectile_type = /obj/projectile/beam/stun/skrell
|
|
secondary_projectile_type = /obj/projectile/beam/pulse/skrell
|
|
drop_sound = 'sound/items/drop/smg.ogg'
|
|
pickup_sound = 'sound/items/pickup/smg.ogg'
|
|
|
|
firemodes = list(
|
|
list(mode_name="disable", projectile_type=/obj/projectile/beam/stun/skrell, fire_sound='sound/weapons/Laser2.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam/pulse/skrell, fire_sound='sound/weapons/laser3.ogg', burst = 2, burst_delay = 2)
|
|
)
|
|
|
|
/obj/item/gun/energy/gun/qukala
|
|
name = "\improper Tqi-Qop carbine"
|
|
desc = "The Tqi-Qop Carbine is the main weapon of the Qukala. Its compact light frame and excellent ammo capacity make it a superb weapon for the Skrell."
|
|
desc_extended = ""
|
|
icon = 'icons/obj/item/gun/energy/gun/qukala.dmi'
|
|
icon_state = "qukalagun"
|
|
item_state = "qukalagun"
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
slot_flags = SLOT_BELT
|
|
accuracy = 2
|
|
max_shots = 25
|
|
secondary_projectile_type = /obj/projectile/beam
|
|
secondary_fire_sound = 'sound/weapons/laser1.ogg'
|
|
can_switch_modes = TRUE
|
|
|
|
projectile_type = /obj/projectile/beam/stun
|
|
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
|
modifystate = "qukalagun"
|
|
|
|
firemodes = list(
|
|
list(mode_name="stun", projectile_type=/obj/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/beam/midlaser/skrell, fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
has_item_ratio = FALSE
|
|
|
|
/obj/item/gun/energy/gun/qukala/mounted
|
|
self_recharge = TRUE
|
|
use_external_power = TRUE
|
|
recharge_time = 10
|
|
can_turret = FALSE
|
|
|
|
/obj/item/gun/energy/fedpistol
|
|
name = "\improper Xuqm-3 energy pistol"
|
|
desc = "A Skrell-made pistol that utilises a psionic control mechanism. It's made from a lightweight alloy."
|
|
desc_extended = "A sidearm usually seen in the hands of Nralakk Federation officials and law enforcement, the Xuqm-3 energy pistol has a psionically-linked firing pin that checks for a developed Zona Bovinae in its user before it can be fired. A wire can be attached to the user's wrist to allow for mode switching using psionics rather than changing it physically. For non-psionic users, a small dial for mode switching has been attached."
|
|
icon = 'icons/obj/guns/psi_pistol.dmi'
|
|
icon_state = "psipistolstun100"
|
|
item_state = "psipistolstun100"
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
pin = /obj/item/firing_pin/psionic
|
|
max_shots = 10
|
|
fire_delay = 4
|
|
can_turret = FALSE
|
|
secondary_projectile_type = /obj/projectile/energy/blaster/skrell
|
|
secondary_fire_sound = 'sound/weapons/laser3.ogg'
|
|
can_switch_modes = TRUE
|
|
projectile_type = /obj/projectile/energy/disruptorskrell
|
|
modifystate = "psipistolstun"
|
|
drop_sound = 'sound/items/drop/pistol.ogg'
|
|
pickup_sound = 'sound/items/pickup/pistol.ogg'
|
|
|
|
firemodes = list(
|
|
list(mode_name="stun", projectile_type=/obj/projectile/energy/disruptorskrell, modifystate="psipistolstun", fire_sound='sound/weapons/Taser.ogg'),
|
|
list(mode_name="lethal", projectile_type=/obj/projectile/energy/blaster/skrell, modifystate="psipistollethal", fire_sound='sound/weapons/laser3.ogg'),
|
|
list(mode_name="ion", projectile_type=/obj/projectile/ion/small, modifystate="psipistolion", fire_sound='sound/weapons/laser1.ogg')
|
|
)
|
|
|
|
/obj/item/gun/energy/fedpistol/nopsi
|
|
pin = /obj/item/firing_pin
|