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
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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'),
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 58 KiB |