Returning the old laser rifles, energy pistols, carbines and much more (#860)

In this update:

Returning old e-rifles from old code.
Changing regular energy gun to energy carbine
Adding back the energy pistol
Buffing a bit the heavy asset protection suit, and fixing more loadout related issues with the nt and syndicate assault teams
Reworked a bit the syndicate commando and deathsquad loadouts
Returning shotgun boxes, that works like speed loaders, from old code, now with unique sprites
Stun batons now emit light
This commit is contained in:
Alberyk
2016-09-07 05:11:48 -03:00
committed by skull132
parent 5d91bf1698
commit 080bf5c1cb
23 changed files with 227 additions and 119 deletions
@@ -70,7 +70,7 @@
desc = "A heavy suit worn by the highest level of Nanotrasen Asset Protection, don't mess with the person wearing this. Armoured and space ready."
suit_type = "heavy asset protection"
icon_state = "asset_protection_rig"
armor = list(melee = 60, bullet = 50, laser = 50,energy = 40, bomb = 40, bio = 100, rad = 100)
armor = list(melee = 60, bullet = 60, laser = 60,energy = 40, bomb = 50, bio = 100, rad = 100)
initial_modules = list(
/obj/item/rig_module/ai_container,
@@ -78,8 +78,8 @@
/obj/item/rig_module/grenade_launcher,
/obj/item/rig_module/vision/multi,
/obj/item/rig_module/mounted/egun,
/obj/item/rig_module/chem_dispenser/injector,
/obj/item/rig_module/chem_dispenser/combat,
/obj/item/rig_module/device/plasmacutter,
/obj/item/rig_module/device/rcd,
/obj/item/rig_module/datajack
)
)
+36 -16
View File
@@ -239,7 +239,7 @@
/obj/item/ammo_magazine/c45uzi/empty
initial_ammo = 0
/obj/item/ammo_magazine/tommymag
name = "tommygun magazine (.45)"
icon_state = "tommy-mag"
@@ -262,20 +262,40 @@
caliber = ".45"
max_ammo = 50
/*
//unused garbage
//shotguns boxes things from old code
/obj/item/ammo_magazine/a418
name = "ammo box (.418)"
icon_state = "418"
ammo_type = "/obj/item/ammo_casing/a418"
max_ammo = 7
multiple_sprites = 1
/obj/item/ammo_magazine/shotgun
name = "ammunition box (slug)"
icon_state = "lethalshellshot_box"
origin_tech = "combat=2"
ammo_type = /obj/item/ammo_casing/shotgun
max_ammo = 8
caliber = "shotgun"
matter = list("metal" = 2880)
/obj/item/ammo_magazine/a666
name = "ammo box (.666)"
icon_state = "666"
ammo_type = "/obj/item/ammo_casing/a666"
max_ammo = 4
multiple_sprites = 1
*/
/obj/item/ammo_magazine/shotgun/shell
name = "ammunition box (shell)"
icon_state = "llethalslug_box"
ammo_type = /obj/item/ammo_casing/shotgun/pellet
max_ammo = 8
/obj/item/ammo_magazine/shotgun/stun
name = "ammunition box (stun shells)"
icon_state = "stunshot_box"
ammo_type = /obj/item/ammo_casing/shotgun/stunshell
max_ammo = 8
matter = list(DEFAULT_WALL_MATERIAL = 2880, "glass" = 5760)
/obj/item/ammo_magazine/shotgun/beanbag
name = "ammunition box (beanbag shells)"
icon_state = "beanshot_box"
ammo_type = /obj/item/ammo_casing/shotgun/beanbag
max_ammo = 8
matter = list(DEFAULT_WALL_MATERIAL = 1440)
/obj/item/ammo_magazine/shotgun/incendiary
name = "ammunition box (incendiary shells)"
icon_state = "incendiaryshot_box"
ammo_type = /obj/item/ammo_casing/shotgun/incendiary
max_ammo = 8
matter = list(DEFAULT_WALL_MATERIAL = 3600)
@@ -79,6 +79,7 @@
name = "shotgun slug"
desc = "A 12 gauge slug."
icon_state = "slshell"
spent_icon = "slshell-spent"
caliber = "shotgun"
projectile_type = /obj/item/projectile/bullet/shotgun
matter = list(DEFAULT_WALL_MATERIAL = 360)
@@ -87,6 +88,7 @@
name = "shotgun shell"
desc = "A 12 gauge shell."
icon_state = "gshell"
spent_icon = "gshell-spent"
projectile_type = /obj/item/projectile/bullet/pellet/shotgun
matter = list(DEFAULT_WALL_MATERIAL = 360)
@@ -94,6 +96,7 @@
name = "shotgun shell"
desc = "A blank shell."
icon_state = "blshell"
spent_icon = "blshell-spent"
projectile_type = /obj/item/projectile/bullet/blank
matter = list(DEFAULT_WALL_MATERIAL = 90)
@@ -108,6 +111,7 @@
name = "beanbag shell"
desc = "A beanbag shell."
icon_state = "bshell"
spent_icon = "bshell-spent"
projectile_type = /obj/item/projectile/bullet/shotgun/beanbag
matter = list(DEFAULT_WALL_MATERIAL = 180)
@@ -133,6 +137,14 @@
projectile_type = /obj/item/projectile/energy/flash/flare
matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90)
/obj/item/ammo_casing/shotgun/incendiary
name = "incendiary shell"
desc = "A 12 gauge incendiary shell."
icon_state = "ishell"
spent_icon = "ishell-spent"
projectile_type = /obj/item/projectile/bullet/shotgun/incendiary
matter = list(DEFAULT_WALL_MATERIAL = 450)
/obj/item/ammo_casing/a762
desc = "A 7.62mm bullet casing."
caliber = "a762"
@@ -1,9 +1,10 @@
/obj/item/weapon/gun/energy/gun
name = "energy gun"
desc = "An energy-based gun with two settings: Stun and kill."
name = "energy carbine"
desc = "An energy-based carbine with two settings: Stun and kill."
icon_state = "energystun100"
item_state = null //so the human update icon uses the icon_state instead.
fire_sound = 'sound/weapons/Taser.ogg'
slot_flags = SLOT_BELT
max_shots = 10
projectile_type = /obj/item/projectile/beam/stun
@@ -24,17 +25,17 @@
name = "advanced energy gun"
desc = "An energy gun with an experimental miniaturized reactor."
icon_state = "nucgun"
origin_tech = "combat=3;materials=5;powerstorage=3"
origin_tech = "combat=3;materials=5;powerstorage=3"
slot_flags = SLOT_BELT
force = 8 //looks heavier than a pistol
force = 8 //looks heavier than a pistol
self_recharge = 1
modifystate = null
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'),
)
var/lightfail = 0
//override for failcheck behaviour
@@ -106,3 +107,22 @@
update_charge()
update_reactor()
update_mode()
/obj/item/weapon/gun/energy/pistol
name = "energy pistol"
desc = "A basic energy-based pistol gun with two settings: Stun and kill."
icon_state = "epistolstun100"
item_state = null //so the human update icon uses the icon_state instead.
fire_sound = 'sound/weapons/Taser.ogg'
slot_flags = SLOT_BELT|SLOT_HOLSTER
max_shots = 5
fire_delay = 2
projectile_type = /obj/item/projectile/beam/stun
origin_tech = "combat=3;magnets=2"
modifystate = "epistolstun"
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="epistolstun", fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="epistolkill", fire_sound='sound/weapons/Laser.ogg'),
)
+55 -51
View File
@@ -1,31 +1,32 @@
/obj/item/weapon/gun/energy/rifle
name = "energy rifle"
desc = "An energy-based rifle with two settings: stun and kill."
icon_state = "eriflestun100"
item_state = null
fire_sound = 'sound/weapons/Taser.ogg'
slot_flags = SLOT_BACK
w_class = 4
force = 10
max_shots = 10
fire_delay = 6
accuracy = -2
name = "energy rifle"
desc = "An energy-based rifle with two settings: stun and kill."
icon_state = "eriflestun100"
item_state = "laser" //placeholder for now
fire_sound = 'sound/weapons/Taser.ogg'
slot_flags = SLOT_BACK
w_class = 4
force = 10
max_shots = 20
fire_delay = 6
accuracy = -2
fire_delay_wielded = 1
accuracy_wielded = 0
fire_delay_wielded = 1
accuracy_wielded = 0
projectile_type = /obj/item/projectile/beam/stun
origin_tech = "combat=3;magnets=2"
modifystate = "eriflestun"
projectile_type = /obj/item/projectile/beam/stun
matter = list(DEFAULT_WALL_MATERIAL = 2000)
origin_tech = "combat=3;magnets=2"
modifystate = "eriflestun"
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="eriflestun", fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="eriflekill", fire_sound='sound/weapons/Laser.ogg'),
)
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="eriflestun", fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="eriflekill", fire_sound='sound/weapons/Laser.ogg'),
)
//action button for wielding
icon_action_button = "action_blank"
action_button_name = "Wield rifle"
icon_action_button = "action_blank"
action_button_name = "Wield rifle"
/obj/item/weapon/gun/energy/rifle/can_wield()
return 1
@@ -42,43 +43,46 @@
toggle_wield(usr)
/obj/item/weapon/gun/energy/rifle/laser
name = "laser rifle"
desc = "A common laser weapon, designed to kill with concentrated energy blasts."
icon_state = "laser rifle"
item_state = "laser rifle"
fire_sound = 'sound/weapons/Laser.ogg'
projectile_type = /obj/item/projectile/beam
name = "laser rifle"
desc = "A common laser weapon, designed to kill with concentrated energy blasts."
icon_state = "laser_rifle"
item_state = "laser_rifle"
fire_sound = 'sound/weapons/Laser.ogg'
matter = list(DEFAULT_WALL_MATERIAL = 2000)
origin_tech = "combat=3;magnets=2"
projectile_type = /obj/item/projectile/beam
firemodes = list()
modifystate = null
firemodes = list()
modifystate = null
/obj/item/weapon/gun/energy/rifle/laser/heavy
name = "heavy laser rifle"
desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!"
icon_state = "lasercannon"
item_state = null
fire_sound = 'sound/weapons/lasercannonfire.ogg'
origin_tech = "combat=4;materials=3;powerstorage=3"
projectile_type = /obj/item/projectile/beam/heavylaser
charge_cost = 400
max_shots = 5
fire_delay = 40
accuracy = -2
name = "laser cannon"
desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!"
icon_state = "lasercannon"
item_state = "lasercannon"
fire_sound = 'sound/weapons/lasercannonfire.ogg'
origin_tech = "combat=4;materials=3;powerstorage=3"
projectile_type = /obj/item/projectile/beam/heavylaser
charge_cost = 400
max_shots = 5
fire_delay = 40
accuracy = -2
fire_delay_wielded = 20
fire_delay_wielded = 20
/obj/item/weapon/gun/energy/rifle/pulse
name = "pulse rifle"
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists."
icon_state = "pulse"
fire_sound = 'sound/weapons/Laser.ogg'
projectile_type = /obj/item/projectile/beam
sel_mode = 2
name = "pulse rifle"
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists."
icon_state = "pulse"
item_state = "pulse"
fire_sound = 'sound/weapons/Laser.ogg'
projectile_type = /obj/item/projectile/beam
sel_mode = 2
modifystate = null
modifystate = null
firemodes = list(
firemodes = list(
list(name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
list(name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'),
list(name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=25, charge_cost=400),
list(name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=15, charge_cost=400),
)
@@ -7,6 +7,7 @@
fire_sound = 'sound/weapons/rifleshot.ogg'
slot_flags = SLOT_BACK
load_method = SINGLE_CASING|SPEEDLOADER
handle_casings = HOLD_CASINGS
caliber = "a762"
ammo_type = /obj/item/ammo_casing/a762
max_shells = 5
@@ -10,7 +10,7 @@
slot_flags = SLOT_BACK
caliber = "shotgun"
origin_tech = "combat=4;materials=2"
load_method = SINGLE_CASING
load_method = SINGLE_CASING|SPEEDLOADER
ammo_type = /obj/item/ammo_casing/shotgun/beanbag
handle_casings = HOLD_CASINGS
var/recentpump = 0 // to prevent spammage
+1 -1
View File
@@ -1322,7 +1322,7 @@ datum/design/item/weapon/lasercannon
id = "lasercannon"
req_tech = list("combat" = 4, "materials" = 3, "powerstorage" = 3)
materials = list("$metal" = 10000, "$glass" = 1000, "$diamond" = 2000)
build_path = /obj/item/weapon/gun/energy/lasercannon
build_path = /obj/item/weapon/gun/energy/rifle/laser/heavy
locked = 1
datum/design/item/weapon/decloner