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
+1
View File
@@ -1494,6 +1494,7 @@
#include "code\modules\projectiles\guns\energy\lawgiver.dm"
#include "code\modules\projectiles\guns\energy\nuclear.dm"
#include "code\modules\projectiles\guns\energy\pulse.dm"
#include "code\modules\projectiles\guns\energy\rifle.dm"
#include "code\modules\projectiles\guns\energy\special.dm"
#include "code\modules\projectiles\guns\energy\stun.dm"
#include "code\modules\projectiles\guns\energy\temperature.dm"
+14 -13
View File
@@ -110,9 +110,9 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/datum/supply_packs/beanbagammo
name = "Beanbag shells"
contains = list(/obj/item/weapon/storage/box/beanbags,
/obj/item/weapon/storage/box/beanbags,
/obj/item/weapon/storage/box/beanbags)
contains = list(/obj/item/ammo_magazine/shotgun/beanbag,
/obj/item/ammo_magazine/shotgun/beanbag,
/obj/item/ammo_magazine/shotgun/beanbag)
cost = 30
containertype = /obj/structure/closet/crate
containername = "Beanbag shells"
@@ -790,7 +790,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/clothing/head/helmet/riot,
/obj/item/clothing/suit/armor/riot,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/box/beanbags,
/obj/item/ammo_magazine/shotgun/beanbag,
/obj/item/weapon/storage/box/handcuffs)
cost = 60
containertype = /obj/structure/closet/crate/secure
@@ -800,9 +800,9 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/datum/supply_packs/energyweapons
name = "Energy weapons crate"
contains = list(/obj/item/weapon/gun/energy/laser,
/obj/item/weapon/gun/energy/laser,
/obj/item/weapon/gun/energy/laser)
contains = list(/obj/item/weapon/gun/energy/rifle/laser,
/obj/item/weapon/gun/energy/rifle/laser,
/obj/item/weapon/gun/energy/rifle/laser)
cost = 50
containertype = /obj/structure/closet/crate/secure
containername = "energy weapons crate"
@@ -813,8 +813,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
name = "Shotgun crate"
contains = list(/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/weapon/storage/box/shotgunammo,
/obj/item/weapon/storage/box/shotgunshells,
/obj/item/ammo_magazine/shotgun,
/obj/item/ammo_magazine/shotgun/shell,
/obj/item/weapon/gun/projectile/shotgun/pump/combat,
/obj/item/weapon/gun/projectile/shotgun/pump/combat)
cost = 65
@@ -837,10 +837,11 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/datum/supply_packs/shotgunammo
name = "Ballistic ammunition crate"
contains = list(/obj/item/weapon/storage/box/shotgunammo,
/obj/item/weapon/storage/box/shotgunammo,
/obj/item/weapon/storage/box/shotgunshells,
/obj/item/weapon/storage/box/shotgunshells)
contains = list(/obj/item/ammo_magazine/shotgun,
/obj/item/ammo_magazine/shotgun,
/obj/item/ammo_magazine/shotgun/shell,
/obj/item/ammo_magazine/shotgun/shell,
/obj/item/ammo_magazine/shotgun/incendiary)
cost = 60
containertype = /obj/structure/closet/crate/secure
containername = "ballistic ammunition crate"
+25 -6
View File
@@ -19,18 +19,37 @@ var/datum/antagonist/deathsquad/mercenary/commandos
/datum/antagonist/deathsquad/mercenary/equip(var/mob/living/carbon/human/player)
player.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(player), slot_w_uniform)
player.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/silenced(player), slot_belt)
var/obj/item/clothing/accessory/holster/armpit/hold = new(player)
var/obj/item/weapon/gun/projectile/silenced/weapon = new(player)
hold.contents += weapon
hold.holstered = weapon
var/obj/item/clothing/under/syndicate/under = new(player)
under.attackby(hold, player)
player.equip_to_slot_or_del(under, slot_w_uniform)
player.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(player), slot_shoes)
player.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(player), slot_gloves)
player.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(player), slot_glasses)
player.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(player), slot_wear_mask)
player.equip_to_slot_or_del(new /obj/item/weapon/storage/box(player), slot_in_backpack)
player.equip_to_slot_or_del(new /obj/item/ammo_magazine/c45(player), slot_in_backpack)
player.equip_to_slot_or_del(new /obj/item/ammo_magazine/c45m(player), slot_l_store)
player.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(player), slot_r_store)
player.equip_to_slot_or_del(new /obj/item/weapon/rig/merc(player), slot_back)
player.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(player), slot_r_hand)
player.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/rifle/sts35(player), slot_l_hand)
var/obj/item/weapon/storage/belt/military/syndie_belt = new(player)
syndie_belt.contents += new /obj/item/ammo_magazine/c762
syndie_belt.contents += new /obj/item/ammo_magazine/c762
syndie_belt.contents += new /obj/item/ammo_magazine/c762
syndie_belt.contents += new /obj/item/weapon/pinpointer
syndie_belt.contents += new /obj/item/weapon/shield/energy
syndie_belt.contents += new /obj/item/weapon/handcuffs
syndie_belt.contents += new /obj/item/weapon/grenade/flashbang
syndie_belt.contents += new /obj/item/weapon/plastique
syndie_belt.contents += new /obj/item/weapon/plastique
player.equip_to_slot_or_del(syndie_belt, slot_belt)
var/obj/item/weapon/card/id/id = create_id("Commando", player)
id.access |= get_all_accesses()
id.icon_state = "centcom"
create_radio(SYND_FREQ, player)
create_radio(SYND_FREQ, player)
+24 -15
View File
@@ -31,58 +31,67 @@ var/datum/antagonist/deathsquad/deathsquad
if(!..())
return
if (player.mind == leader)
player.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(player), slot_w_uniform)
else
player.equip_to_slot_or_del(new /obj/item/clothing/under/ert(player), slot_w_uniform)
var/obj/item/clothing/accessory/holster/armpit/hold = new(player)
var/obj/item/weapon/gun/projectile/revolver/mateba/weapon = new(player)
hold.contents += weapon
hold.holstered = weapon
var/obj/item/clothing/under/ert/under = new(player)
under.attackby(hold, player)
player.equip_to_slot_or_del(under, slot_w_uniform)
player.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(player), slot_shoes)
player.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(player), slot_gloves)
player.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(player), slot_glasses)
player.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(player), slot_wear_mask)
player.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(player), slot_l_ear)
if (player.mind == leader)
player.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(player), slot_l_store)
player.equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(player), slot_r_store)
player.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(player), slot_r_store)
else
player.equip_to_slot_or_del(new /obj/item/weapon/plastique(player), slot_l_store)
player.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(player), slot_r_store)
player.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(player), slot_belt)
player.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(player), slot_r_hand)
player.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/rifle/pulse(player), slot_l_hand)
player.equip_to_slot_or_del(new /obj/item/weapon/rig/ert/assetprotection(player), slot_back)
var/obj/item/weapon/storage/belt/security/tactical/commando_belt = new(player)
commando_belt.contents += new /obj/item/ammo_magazine/a357
commando_belt.contents += new /obj/item/ammo_magazine/a357
commando_belt.contents += new /obj/item/weapon/melee/baton/loaded
commando_belt.contents += new /obj/item/weapon/shield/energy
commando_belt.contents += new /obj/item/weapon/grenade/flashbang
commando_belt.contents += new /obj/item/weapon/grenade/flashbang
commando_belt.contents += new /obj/item/weapon/handcuffs
commando_belt.contents += new /obj/item/weapon/handcuffs
commando_belt.contents += new /obj/item/weapon/plastique
player.equip_to_slot_or_del(commando_belt, slot_belt)
player.implant_loyalty(player)
var/obj/item/weapon/card/id/id = create_id("Asset Protection", player)
if(id)
id.access |= get_all_accesses()
id.icon_state = "centcom"
create_radio(DTH_FREQ, player)
/* //disabling this until the names are fixed to don't be dumb, NanoTrasen has no military
/datum/antagonist/deathsquad/update_antag_mob(var/datum/mind/player)
..()
var/syndicate_commando_rank
if(leader && player == leader)
syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major")
else
syndicate_commando_rank = pick("Lieutenant", "Captain", "Major")
var/syndicate_commando_name = pick(last_names)
var/datum/preferences/A = new() //Randomize appearance for the commando.
A.randomize_appearance_for(player.current)
player.name = "[syndicate_commando_rank] [syndicate_commando_name]"
player.current.name = player.name
player.current.real_name = player.current.name
var/mob/living/carbon/human/H = player.current
if(istype(H))
H.gender = pick(MALE, FEMALE)
H.age = rand(25,45)
H.dna.ready_dna(H)
return
*/
/datum/antagonist/deathsquad/create_antagonist()
+1 -1
View File
@@ -64,7 +64,7 @@ var/datum/antagonist/raider/raiders
)
var/list/raider_guns = list(
/obj/item/weapon/gun/energy/laser,
/obj/item/weapon/gun/energy/rifle/laser,
/obj/item/weapon/gun/energy/retro,
/obj/item/weapon/gun/energy/xray,
/obj/item/weapon/gun/energy/mindflayer,
-1
View File
@@ -16,7 +16,6 @@ var/datum/antagonist/renegade/renegades
var/list/spawn_guns = list(
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/gun/energy/laser,
/obj/item/weapon/gun/energy/retro,
/obj/item/weapon/gun/energy/xray,
/obj/item/weapon/gun/projectile/revolver,
@@ -17,6 +17,7 @@
var/status = 0 //whether the thing is on or not
var/obj/item/weapon/cell/bcell = null
var/hitcost = 1000 //oh god why do power cells carry so much charge? We probably need to make a distinction between "industrial" sized power cells for APCs and power cells for everything else.
var/baton_color = "#FF6A00"
/obj/item/weapon/melee/baton/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.</span>")
@@ -51,6 +52,11 @@
else
icon_state = "[initial(name)]"
if(icon_state == "[initial(name)]_active")
set_light(1.3, 1, "[baton_color]")
else
set_light(0)
/obj/item/weapon/melee/baton/examine(mob/user)
if(!..(user, 1))
return
@@ -194,3 +200,5 @@
hitcost = 2500
attack_verb = list("poked")
slot_flags = null
baton_color = "#FFDF00"
+1 -1
View File
@@ -176,7 +176,7 @@
icon = 'icons/obj/gun.dmi'
icon_state = "energykill100"
item_to_spawn()
return pick(prob(2);/obj/item/weapon/gun/energy/laser,\
return pick(prob(2);/obj/item/weapon/gun/energy/rifle/laser,\
prob(2);/obj/item/weapon/gun/energy/gun,\
prob(1);/obj/item/weapon/gun/energy/stunrevolver)
@@ -24,7 +24,8 @@
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/heads/captain(src)
new /obj/item/clothing/gloves/captain(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/gun/energy/pistol(src)
new /obj/item/device/flash(src)
new /obj/item/clothing/suit/armor/captain(src)
new /obj/item/weapon/melee/telebaton(src)
new /obj/item/clothing/under/dress/dress_cap(src)
@@ -53,7 +54,7 @@
new /obj/item/device/radio/headset/heads/hop(src)
new /obj/item/weapon/storage/box/ids(src)
new /obj/item/weapon/storage/box/ids( src )
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/gun/energy/pistol(src)
new /obj/item/weapon/gun/projectile/sec/flash(src)
new /obj/item/device/flash(src)
return
@@ -119,7 +120,7 @@
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/gun/energy/pistol(src)
new /obj/item/clothing/accessory/holster/waist(src)
new /obj/item/weapon/melee/telebaton(src)
new /obj/item/clothing/head/beret/sec/hos(src)
@@ -159,7 +160,7 @@
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/gun/energy/pistol(src)
new /obj/item/weapon/storage/box/holobadge(src)
new /obj/item/clothing/head/beret/sec/warden(src)
return
@@ -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
+13
View File
@@ -0,0 +1,13 @@
author: Alberyk
delete-after: True
changes:
- tweak: "Laser guns, laser cannons and pulse rifles can be wielded now, increasing their accuracy and fire rate."
- tweak: "Changed the energy gun to be an energy carbine."
- rscadd: "Added the energy pistol, it should replace the old energy gun in the heads of staff and warden lockers."
- rscadd: "Added shotgun shell boxes, that work like speed-loaders, at the cargo supply console."
- rscadd: "Added incendiary shotgun shells."
- imageadd: "Shotgun shells should have a different sprites when spent."
- rscadd: "Stun batons emit light now."
- rscadd: "New heavy asset protection and syndicate commando equipment loadout."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 58 KiB