mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
This PR is intended to sort out our existing guns into something resembling organization. In addition, ancient decrepit guns are removed, and abstract paths are labeled as such. In addition, all guns are now standardized to refer to their model. Considering the huge number of weapons we have, a `pistol` is not descriptive enough. NOTE: At over 200 files touched, this is being split. Not everything was sorted, but this is already a monster to sort through. The rest can wait.
245 lines
10 KiB
Plaintext
245 lines
10 KiB
Plaintext
/obj/item/gun/energy/blaster
|
|
name = "blaster pistol"
|
|
desc = "A tiny energy pistol converted to fire off energy bolts rather than lasers beams."
|
|
icon = 'icons/obj/guns/faction/nanotrasen_corporation/blaster_pistol.dmi'
|
|
icon_state = "blaster_pistol"
|
|
item_state = "blaster_pistol"
|
|
has_item_ratio = FALSE
|
|
fire_sound = 'sound/weapons/laser1.ogg'
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
force = 11
|
|
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 2)
|
|
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
|
offhand_accuracy = 1
|
|
projectile_type = /obj/projectile/energy/blaster
|
|
max_shots = 12
|
|
|
|
burst_delay = 2
|
|
sel_mode = 1
|
|
|
|
firemodes = list(
|
|
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
|
list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=2, burst_accuracy=list(1,0,0), dispersion=list(0, 10, 15))
|
|
)
|
|
|
|
/obj/item/gun/energy/blaster/mounted/mech
|
|
name = "rapidfire blaster"
|
|
desc = "An aged but reliable rapidfire blaster tuned to expel projectiles at high fire rates."
|
|
fire_sound = 'sound/weapons/laserstrong.ogg'
|
|
projectile_type = /obj/projectile/energy/blaster/heavy
|
|
burst = 5
|
|
burst_delay = 3
|
|
max_shots = 30
|
|
charge_cost = 100
|
|
use_external_power = TRUE
|
|
self_recharge = TRUE
|
|
recharge_time = 1.5
|
|
dispersion = list(3,6,9,12)
|
|
firemodes = list()
|
|
|
|
/obj/item/gun/energy/blaster/pilot_special
|
|
name = "pilot's sidearm"
|
|
desc = "A robust, low in maintenance blaster pistol. Customized for peak performance and perfect for self-defense purposes."
|
|
max_shots = 12
|
|
accuracy = 2 // Likely to get nothing else, so they gotta know how to make it count.
|
|
offhand_accuracy = 2
|
|
|
|
/obj/item/gun/energy/blaster/revolver
|
|
name = "blaster revolver"
|
|
desc = "A robust eight-shot blaster."
|
|
icon = 'icons/obj/guns/faction/nanotrasen_corporation/blaster_revolver.dmi'
|
|
icon_state = "blaster_revolver"
|
|
item_state = "blaster_revolver"
|
|
fire_sound = 'sound/weapons/laserstrong.ogg'
|
|
projectile_type = /obj/projectile/energy/blaster
|
|
max_shots = 8
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
|
|
/obj/item/gun/energy/blaster/revolver/unique_action(mob/living/user)
|
|
user.visible_message(SPAN_WARNING("\The [user] spins the cylinder of \the [src]!"), SPAN_WARNING("You spin the cylinder of \the [src]!"), SPAN_NOTICE("You hear something metallic spin and click."))
|
|
playsound(src.loc, 'sound/weapons/revolver_spin.ogg', 100, 1)
|
|
|
|
/obj/item/gun/energy/blaster/carbine
|
|
name = "blaster carbine"
|
|
desc = "A short-barreled blaster carbine meant for easy handling and comfort when in combat."
|
|
icon = 'icons/obj/guns/faction/nanotrasen_corporation/blaster_carbine.dmi'
|
|
icon_state = "blaster_carbine"
|
|
item_state = "blaster_carbine"
|
|
max_shots = 16
|
|
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
|
offhand_accuracy = 0
|
|
projectile_type = /obj/projectile/energy/blaster
|
|
slot_flags = SLOT_BELT
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
|
|
/obj/item/gun/energy/blaster/rifle
|
|
name = "bolt slinger"
|
|
desc = "A blaster rifle which seems to work by accelerating particles and flinging them out in destructive bolts."
|
|
icon = 'icons/obj/guns/faction/nanotrasen_corporation/blaster_rifle.dmi'
|
|
icon_state = "blaster_rifle"
|
|
item_state = "blaster_rifle"
|
|
max_shots = 20
|
|
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3)
|
|
offhand_accuracy = 0
|
|
projectile_type = /obj/projectile/energy/blaster/heavy
|
|
|
|
force = 15
|
|
slot_flags = SLOT_BACK
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
can_bayonet = TRUE
|
|
knife_x_offset = 23
|
|
knife_y_offset = 13
|
|
fire_delay = 25
|
|
accuracy = -3
|
|
scoped_accuracy = 4
|
|
|
|
fire_delay_wielded = 10
|
|
accuracy_wielded = 1
|
|
|
|
is_wieldable = TRUE
|
|
|
|
/obj/item/gun/energy/blaster/rifle/verb/scope()
|
|
set category = "Object.Held"
|
|
set name = "Use Scope"
|
|
set src in usr
|
|
|
|
if(wielded)
|
|
toggle_scope(2.0, usr)
|
|
else
|
|
to_chat(usr, SPAN_WARNING("You can't look through the scope without stabilizing the rifle!"))
|
|
|
|
/obj/item/gun/energy/blaster/tcaf
|
|
name = "\improper Guardian blaster rifle"
|
|
desc = "Developed by Zavodskoi Interstellar, the Guardian is a burst-fire blaster rifle designed for the armed forces of the Republic of Biesel. Cheap, reliable and easy to mass-produce, these weapons can be seen across the branches of the TCAF."
|
|
desc_extended = "Released in early 2464, the Guardian is a modernisation of the outdated blasters previously used by the TCFL developed in conjunction with the Zo'ra Hive. Since its release, it has been widely adopted by Biesel, leading to a slight fall in NanoTrasen market share as Zavodskoi took their place as the main arms supplier of the TCAF."
|
|
icon = 'icons/obj/guns/faction/zavodskoi_interstellar/blaster_ar.dmi'
|
|
icon_state = "blaster_ar"
|
|
item_state = "blaster_ar"
|
|
max_shots = 24
|
|
projectile_type = /obj/projectile/energy/blaster/heavy
|
|
fire_sound = 'sound/weapons/laserstrong.ogg'
|
|
slot_flags = SLOT_BACK
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
is_wieldable = TRUE
|
|
can_bayonet = TRUE
|
|
knife_x_offset = 23
|
|
knife_y_offset = 13
|
|
accuracy = -1
|
|
fire_delay = ROF_RIFLE
|
|
fire_delay_wielded = 5
|
|
burst_delay = 4
|
|
accuracy_wielded = 2
|
|
origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3, TECH_PHORON = 2)
|
|
firemodes = list(
|
|
list(mode_name="semiauto", burst=1, fire_delay=ROF_INTERMEDIATE),
|
|
list(mode_name="3-round bursts", burst=3, burst_accuracy=list(2,1,1), dispersion=list(0, 7.5))
|
|
)
|
|
|
|
/obj/item/gun/energy/blaster/himeo
|
|
name = "\improper Type-11 assault blaster"
|
|
desc = "The standard infantry blaster of the Himean Planetary Guard. 'TO RESIST EVIL BY FORCE' is stamped on the side."
|
|
desc_extended = "Originally developed in 2351, the Type-11 \"Guthrie\" is a descendant of the first Himean-made weapons; haphazardly overcharged mining equipment. If it ain't broke, don't fix it; variants \
|
|
of this rifle have served in the United Syndicates' arsenal for generations, although none have matched modern improvements 'borrowed' from Zavodskoi Interstellar. Waterproof, spaceproof, idiot-proof; it's here to stay, even as advanced Xanan ballistics \
|
|
creep their way into the market. Ironically, lend-lease aid to the now-defunct League of Independent Corporate-Free Systems have seen a great deal of these end up in the hands of pirates."
|
|
icon = 'icons/obj/guns/faction/himeo_free_consortium/himeo_blaster.dmi'
|
|
icon_state = "himeoblaster"
|
|
item_state = "himeoblaster"
|
|
projectile_type = /obj/projectile/energy/blaster/heavy
|
|
usesound = 'sound/weapons/plasma_cutter.ogg'
|
|
fire_sound = 'sound/weapons/gunshot/slammer.ogg'
|
|
cell_type = /obj/item/cell/hydrogen
|
|
needspin = FALSE // can't remove the cell if it has a pin
|
|
charge_cost = 500 // 20 mag
|
|
slot_flags = SLOT_BACK
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
is_wieldable = TRUE
|
|
can_bayonet = FALSE
|
|
sharp = FALSE
|
|
edge = FALSE
|
|
accuracy = -1
|
|
fire_delay = ROF_RIFLE
|
|
fire_delay_wielded = 5
|
|
burst_delay = 4
|
|
accuracy_wielded = 2
|
|
origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3)
|
|
firemodes = list(
|
|
list(mode_name="semiauto", burst=1, fire_delay=ROF_INTERMEDIATE),
|
|
list(mode_name="2-round bursts", burst=2, burst_accuracy=list(2,1,1), dispersion=list(0, 7.5)),
|
|
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=2, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25)) //same as the assault rifle
|
|
)
|
|
|
|
/obj/item/gun/energy/blaster/himeo/mechanics_hints(mob/user, distance, is_adjacent)
|
|
. += ..()
|
|
. += "When fully drained, this weapon will automatically eject the empty energy cell, allowing for rapid reload."
|
|
|
|
/obj/item/gun/energy/blaster/himeo/feedback_hints(mob/user, distance, is_adjacent)
|
|
. += ..()
|
|
if(is_adjacent)
|
|
if(power_supply)
|
|
. += SPAN_NOTICE("It has a <b>[capitalize_first_letters(power_supply.name)]</b> in the cell mount.")
|
|
else
|
|
. += SPAN_WARNING("It has no cell installed.")
|
|
|
|
/obj/item/gun/energy/blaster/himeo/attackby(obj/item/attacking_item, mob/user)
|
|
if(attacking_item.tool_behaviour == TOOL_SCREWDRIVER)
|
|
if(power_supply)
|
|
playsound(user, 'sound/machines/compbeep1.ogg', 40, FALSE)
|
|
to_chat(user, SPAN_NOTICE("You uninstall \the [power_supply]."))
|
|
power_supply.forceMove(get_turf(src))
|
|
if(ishuman(user))
|
|
var/mob/living/carbon/human/H = user
|
|
H.put_in_hands(power_supply)
|
|
power_supply = null
|
|
update_icon()
|
|
else
|
|
to_chat(user, SPAN_WARNING("\The [src] doesn't have a cell installed!"))
|
|
else if(istype(attacking_item, /obj/item/cell/hydrogen))
|
|
if(power_supply)
|
|
to_chat(user, SPAN_WARNING("\The [src] already has a cell in the chamber!"))
|
|
else
|
|
playsound(user, 'sound/weapons/kinetic_reload.ogg', 40, FALSE)
|
|
to_chat(user, SPAN_NOTICE("You install \the [attacking_item] into \the [src]."))
|
|
user.drop_from_inventory(attacking_item, src)
|
|
power_supply = attacking_item
|
|
update_icon()
|
|
else
|
|
..()
|
|
|
|
/obj/item/gun/energy/blaster/himeo/afterattack(atom/A, mob/living/user) // if the cell is drained, eject it so we're not fumbling for a screwdriver mid-shootout
|
|
..()
|
|
if(power_supply.charge == 0)
|
|
power_supply.forceMove(get_turf(src.loc))
|
|
user.visible_message(
|
|
"[power_supply] pops out of the cell mount!",
|
|
SPAN_NOTICE("[power_supply] pops out of \the [src] and clatters on the floor!")
|
|
)
|
|
power_supply.update_icon()
|
|
power_supply = null
|
|
playsound(user, 'sound/machines/rig/rig_retract.ogg', 40, FALSE)
|
|
update_icon()
|
|
|
|
/obj/item/gun/energy/blaster/himeo/pistol
|
|
name = "\improper Type-45 heavy blaster pistol"
|
|
desc = "The standard sidearm of the Himean Planetary Guard. For those revolutions you cannot fight with fists."
|
|
desc_extended = "A plasma cutter gave its life for the first Type-45 \"Sabo-Tabby\" pistol. Powered by the same hydrogen cells as the Type-11 \"Guthrie\" rifle, this robust model has earned the nickname of \
|
|
the 'One Big Handgun' in those foreign markets it has cropped up. What was initially seen as a flaw in the power converter led to its 'magnum'-sized blaster bolts."
|
|
icon = 'icons/obj/guns/faction/himeo_free_consortium/himeo_pistol.dmi'
|
|
icon_state = "himeopistol"
|
|
item_state = "himeopistol"
|
|
projectile_type = /obj/projectile/energy/blaster/heavy
|
|
usesound = 'sound/weapons/plasma_cutter.ogg'
|
|
fire_sound = 'sound/weapons/laserstrong.ogg'
|
|
charge_cost = 1250 // leaky but lethal
|
|
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
force = 11
|
|
is_wieldable = FALSE
|
|
can_bayonet = FALSE
|
|
sharp = FALSE
|
|
edge = FALSE
|
|
origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3)
|
|
firemodes = list(
|
|
list(mode_name="semiauto", burst=1, fire_delay=ROF_INTERMEDIATE)
|
|
)
|