mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Filled out the ammolathe's list with actual stuff. Added a sprite for the ammolathe. Added a phazon sheet overlay for fabs. Made designs for the items in the ammolathe's list. Added a var for fabs to use a default sheet insert overlay(s) set.
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
/obj/machinery/r_n_d/fabricator/mechanic_fab/autolathe/ammolathe
|
||||
name = "\improper Ammolathe"
|
||||
desc = "Produces guns, ammunition, and firearm accessories."
|
||||
icon_state = "autolathe"
|
||||
icon_state_open = "autolathe_t"
|
||||
icon_state = "ammolathe"
|
||||
icon_state_open = "ammolathe_t"
|
||||
nano_file = "ammolathe.tmpl"
|
||||
default_mat_overlays = TRUE
|
||||
|
||||
start_end_anims = 1
|
||||
|
||||
@@ -15,19 +16,19 @@
|
||||
|
||||
research_flags = NANOTOUCH | TAKESMATIN | HASOUTPUT | IGNORE_CHEMS | HASMAT_OVER | LOCKBOXES
|
||||
|
||||
light_color = LIGHT_COLOR_YELLOW
|
||||
light_color = LIGHT_COLOR_RED
|
||||
|
||||
one_part_set_only = 0
|
||||
part_sets = list(
|
||||
"Weapons"=list(
|
||||
new /obj/item/weapon/gun/projectile/sec/lockbox(), \
|
||||
new /obj/item/weapon/gun/projectile/automatic/vector/lockbox(), \
|
||||
),
|
||||
"Single_ammunition"=list(
|
||||
new /obj/item/ammo_casing/shotgun/blank(), \
|
||||
new /obj/item/ammo_casing/shotgun/beanbag(), \
|
||||
new /obj/item/ammo_casing/shotgun/flare(), \
|
||||
new /obj/item/ammo_casing/shotgun/beanbag(), \
|
||||
new /obj/item/ammo_casing/shotgun/stunshell(), \
|
||||
new /obj/item/ammo_casing/shotgun(), \
|
||||
new /obj/item/ammo_casing/shotgun/dart(), \
|
||||
new /obj/item/ammo_casing/shotgun/buckshot(),\
|
||||
),
|
||||
"Box_ammunition"=list(
|
||||
@@ -37,17 +38,27 @@
|
||||
),
|
||||
"Magazines"=list(
|
||||
new /obj/item/ammo_storage/magazine/smg9mm/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/beretta/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/a12mm/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/a357/empty(),\
|
||||
new /obj/item/ammo_storage/magazine/m380auto/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/c45/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/uzi45/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/a50/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/a75/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/a762/empty(), \
|
||||
new /obj/item/ammo_storage/magazine/a12ga/empty(), \
|
||||
),
|
||||
"Misc_Other"=list(
|
||||
new /obj/item/ammo_storage/speedloader/c38/empty(), \
|
||||
new/obj/item/ammo_storage/speedloader/a357/empty(), \
|
||||
new/obj/item/ammo_storage/speedloader/a762x55/empty(), \
|
||||
new/obj/item/ammo_storage/speedloader/shotgun(), \
|
||||
new /obj/item/ammo_storage/speedloader/a357/empty(), \
|
||||
new /obj/item/ammo_storage/speedloader/a762x55/empty(), \
|
||||
new /obj/item/ammo_storage/speedloader/shotgun(), \
|
||||
),
|
||||
"Hidden_Items" = list(
|
||||
new /obj/item/toy/gasha/skub(), \
|
||||
)//TODO: Add shit here.
|
||||
)
|
||||
new /obj/item/weapon/kitchen/utensil/knife/tactical(), \
|
||||
new /obj/item/clothing/ears/earmuffs(), \
|
||||
new /obj/item/clothing/mask/muzzle(), \
|
||||
new /obj/item/clothing/glasses/sunglasses/blindfold(), \
|
||||
)
|
||||
)
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
|
||||
/obj/item/weapon/gun/projectile/sec
|
||||
name = "\improper NT Glock"
|
||||
desc = "The NT Glock is a cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. Uses .380AUTO rounds. "
|
||||
desc = "The NT Glock is a cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. Uses .380AUTO rounds."
|
||||
icon = 'icons/obj/biggun.dmi'
|
||||
icon_state = "secglockfancy"
|
||||
ammo_type = "/obj/item/ammo_casing/c380auto"
|
||||
@@ -166,6 +166,9 @@
|
||||
..()
|
||||
icon_state = "secglockfancy[chambered ? "" : "-e"][silenced ? "-s" : ""][stored_magazine ? "" : "-m"]"
|
||||
|
||||
/obj/item/weapon/gun/projectile/sec/lockbox
|
||||
mag_type = "/obj/item/ammo_storage/magazine/m380auto/empty"
|
||||
|
||||
/obj/item/weapon/gun/projectile/luger
|
||||
name = "\improper Luger P08"
|
||||
desc = "The wrath of the SS"
|
||||
|
||||
@@ -161,3 +161,11 @@ proc/getScanDesign(var/obj/O)
|
||||
..()
|
||||
src.pixel_x = rand(-5, 5) * PIXEL_MULTIPLIER
|
||||
src.pixel_y = rand(-5, 5) * PIXEL_MULTIPLIER
|
||||
|
||||
|
||||
/obj/item/weapon/disk/design_disk/ammolathe
|
||||
name = "Component Design Disk (Ammolathe)"
|
||||
|
||||
/obj/item/weapon/disk/design_disk/ammolathe/New()
|
||||
..()
|
||||
blueprint = new/datum/design/ammolathe(src)
|
||||
@@ -145,7 +145,7 @@
|
||||
name = "Circuit Design (Ammolathe)"
|
||||
desc = "Allows for the construction of circuit boards used to build ammolathes."
|
||||
id = "ammolathe"
|
||||
//req_tech = list(Tc_MAGNETS = 2, Tc_PROGRAMMING = 2, Tc_BLUESPACE = 2)
|
||||
req_tech = list(Tc_PROGRAMMING = 2, Tc_ENGINEERING = 2, Tc_COMBAT = 4, Tc_NANOTRASEN = 5)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 2000, SACID = 20)
|
||||
category = "Machine Boards"
|
||||
|
||||
@@ -260,14 +260,23 @@
|
||||
|
||||
//Ammolathe designs. They lack research values so they can't be researched.
|
||||
//Weapons
|
||||
/obj/item/weapon/gun/projectile/sec
|
||||
/datum/design/glock
|
||||
name = "NT Glock"
|
||||
desc = "A NT Glock. It uses .380AUTO rounds."
|
||||
id = "glock"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 10000, MAT_GLASS = 10000)
|
||||
build_path = /obj/item/weapon/gun/projectile/sec/lockbox
|
||||
locked = TRUE
|
||||
req_lock_access = list(access_armory, access_weapons)
|
||||
|
||||
/datum/design/vector
|
||||
name = "Vector"
|
||||
desc = "A gun."
|
||||
id = "vector"
|
||||
//req_tech = list(Tc_COMBAT = 4, Tc_MATERIALS = 3)
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 12500, MAT_GLASS = 12500)
|
||||
//category = "Weapons"
|
||||
build_path = /obj/item/weapon/gun/projectile/automatic/vector/lockbox
|
||||
locked = TRUE
|
||||
req_lock_access = list(access_armory, access_weapons)
|
||||
@@ -300,24 +309,79 @@
|
||||
build_path = /obj/item/ammo_storage/box/b380auto/rubber
|
||||
|
||||
//Magazines
|
||||
//Normal 9mm and 12mm already have a designs above.
|
||||
/datum/design/magazine_9mm_beretta
|
||||
name = "Magazine (9mm beretta)"
|
||||
desc = "A magazine designed for the Beretta 92FS."
|
||||
id = "magazine_9mm_beretta"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/beretta/empty
|
||||
|
||||
/datum/design/magazine_357
|
||||
name = "automag magazine (.357)"
|
||||
name = "Automag magazine (.357)"
|
||||
desc = "A magazine designed for the Automag VI handcannon."
|
||||
id = "magazine_357"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
//category = "Misc_Other"
|
||||
build_path = /obj/item/ammo_storage/magazine/a357/empty
|
||||
|
||||
/datum/design/magazine_380
|
||||
name = "pistol magazine (.380AUTO)"
|
||||
name = "Pistol magazine (.380AUTO)"
|
||||
desc = "A magazine designed for common .380AUTO pistols."
|
||||
id = "magazine_380"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
//category = "Misc_Other"
|
||||
build_path = /obj/item/ammo_storage/magazine/m380auto/empty
|
||||
|
||||
/datum/design/magazine_c45
|
||||
name = "Pistol magazine (.45)"
|
||||
desc = "A magazine designed for common .45 pistols."
|
||||
id = "magazine_45"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/c45/empty
|
||||
|
||||
/datum/design/magazine_45_uzi
|
||||
name = "Magazine (.45 uzi)"
|
||||
desc = "A magazine designed for .45 uzis."
|
||||
id = "magazine_45_uzi"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/uzi45/empty
|
||||
|
||||
/datum/design/magazine_50
|
||||
name = "Magazine (.50)"
|
||||
desc = "A magazine designed for .50."
|
||||
id = "magazine_50"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/a50/empty
|
||||
|
||||
/datum/design/magazine_75
|
||||
name = "Magazine (.75)"
|
||||
desc = "A magazine designed for .75."
|
||||
id = "magazine_75"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/a75/empty
|
||||
|
||||
/datum/design/magazine_a762
|
||||
name = "Magazine (a762)"
|
||||
desc = "A magazine designed for a762."
|
||||
id = "magazine_a762"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/a762/empty
|
||||
|
||||
/datum/design/magazine_12ga
|
||||
name = "NT-12 drum magazine (12ga)"
|
||||
desc = "A box magazine designed for the NT-12."
|
||||
id = "magazine_12ga"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 400)
|
||||
build_path = /obj/item/ammo_storage/magazine/a12ga/empty
|
||||
|
||||
//Misc
|
||||
/datum/design/vectorreceiver
|
||||
name = "Vector Receiver"
|
||||
@@ -325,15 +389,29 @@
|
||||
id = "vectorreceiver"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 12500, MAT_GLASS = 12500)
|
||||
//category = "Misc_Other"
|
||||
build_path = /obj/item/weapon/vectorreceiver
|
||||
|
||||
//Hidden
|
||||
/datum/design/skub
|
||||
name = "Skub"
|
||||
desc = "A controversial item."
|
||||
id = "vectorreceiver"
|
||||
/datum/design/earmuffs
|
||||
name = "Earmuffs"
|
||||
desc = "Protects your hearing from both loud and quiet noises."
|
||||
id = "earmuffs"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 12500, MAT_GLASS = 12500)
|
||||
//category = "Hidden_Items"
|
||||
build_path = /obj/item/toy/gasha/skub
|
||||
materials = list(MAT_IRON = 500, MAT_GLASS = 1500)
|
||||
build_path = /obj/item/clothing/ears/earmuffs
|
||||
|
||||
/datum/design/muzzle
|
||||
name = "Muzzle"
|
||||
desc = "To stop that awful noise."
|
||||
id = "muzzle"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 1500, MAT_GLASS = 500)
|
||||
build_path = /obj/item/clothing/mask/muzzle
|
||||
|
||||
/datum/design/blindfold
|
||||
name = "Blindfold"
|
||||
desc = "Covers the eyes, preventing sight."
|
||||
id = "blindfold"
|
||||
build_type = AMMOLATHE
|
||||
materials = list(MAT_IRON = 500, MAT_GLASS = 1500)
|
||||
build_path = /obj/item/clothing/glasses/sunglasses/blindfold
|
||||
|
||||
@@ -19,6 +19,7 @@ var/global/list/rnd_machines = list()
|
||||
var/base_state = ""
|
||||
var/build_time = 0
|
||||
var/auto_make = 0
|
||||
var/default_mat_overlays = FALSE
|
||||
|
||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
||||
|
||||
@@ -224,8 +225,12 @@ var/global/list/rnd_machines = list()
|
||||
if(research_flags & HASMAT_OVER)
|
||||
update_icon()
|
||||
overlays |= image(icon = icon, icon_state = "[base_state]_[stack.name]")
|
||||
if(default_mat_overlays)
|
||||
overlays |= image(icon = icon, icon_state = "autolathe_[stack.name]")
|
||||
spawn(ANIM_LENGTH)
|
||||
overlays -= image(icon = icon, icon_state = "[base_state]_[stack.name]")
|
||||
if(default_mat_overlays)
|
||||
overlays -= image(icon = icon, icon_state = "autolathe_[stack.name]")
|
||||
|
||||
icon_state = "[base_state]"
|
||||
use_power(max(1000, (3750*amount/10)))
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 27 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -1,6 +1,6 @@
|
||||
<!--
|
||||
Title: Autolathe UI
|
||||
Used In File(s): \code\game\machinery\autolathe.dm
|
||||
Used In File(s): \code\game\machinery\ammolathe.dm
|
||||
-->
|
||||
|
||||
<style type='text/css'>
|
||||
@@ -45,31 +45,34 @@ Used In File(s): \code\game\machinery\autolathe.dm
|
||||
Categories
|
||||
</div>
|
||||
<div class="line">
|
||||
{{:helper.link('Weapons', 'gear',{'screen':11},(data.screen==11)?'linkOn':'', 'fixedLeftWide')}}
|
||||
{{:helper.link('Weapons', 'gear',{'screen':010},(data.screen==010)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
<div class="line">
|
||||
{{:helper.link('Ammunition', 'gear',{'screen':12},(data.screen==32)?'linkOn':'', 'fixedLeftWide')}}
|
||||
{{:helper.link('Single Ammunition', 'gear',{'screen':011},(data.screen==011)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
<div class="line">
|
||||
{{:helper.link('Magazines', 'gear',{'screen':21},(data.screen==41)?'linkOn':'', 'fixedLeftWide')}}
|
||||
{{:helper.link('Box Ammunition', 'gear',{'screen':100},(data.screen==100)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
<div class="line">
|
||||
{{:helper.link('Misc. Items', 'gear',{'screen':22},(data.screen==42)?'linkOn':'', 'fixedLeftWide')}}
|
||||
{{:helper.link('Magazines', 'gear',{'screen':101},(data.screen==101)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
<div class="line">
|
||||
{{:helper.link('Misc. Items', 'gear',{'screen':110},(data.screen==110)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
{{if data.hacked == 01}}
|
||||
<div class="line">
|
||||
{{:helper.link('CONTRABAND', 'gear',{'screen':51},(data.screen==51)?'linkOn':'', 'fixedLeftWide')}}
|
||||
{{:helper.link('CONTRABAND', 'gear',{'screen':111},(data.screen==111)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="itemLabel">
|
||||
Other
|
||||
</div>
|
||||
<div class="line">
|
||||
{{:helper.link('Material Storage', 'gear',{'screen':01},(data.screen==01)?'linkOn':'', 'fixedLeftWide')}}
|
||||
{{:helper.link('Material Storage', 'gear',{'screen':001},(data.screen==001)?'linkOn':'', 'fixedLeftWide')}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if data.screen == 01}}
|
||||
{{if data.screen == 001}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Material Storage
|
||||
@@ -94,7 +97,7 @@ Used In File(s): \code\game\machinery\autolathe.dm
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{if data.screen == 11}}
|
||||
{{if data.screen == 010}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Weapons
|
||||
@@ -119,15 +122,15 @@ Used In File(s): \code\game\machinery\autolathe.dm
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{if data.screen == 12}}
|
||||
{{if data.screen == 011}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Ammunition
|
||||
Single Ammunition
|
||||
</div>
|
||||
<div class="itemContentWide" style="width:100%;">
|
||||
<div class="statusDisplay">
|
||||
<div class="line">
|
||||
{{for data.parts.Ammunition}}
|
||||
{{for data.parts.Single_ammunition}}
|
||||
<div class="line">
|
||||
<div class="statusValue">
|
||||
{{:helper.link(value.name, 'gear', value.command2, null, null, 'misc')}}
|
||||
@@ -144,7 +147,32 @@ Used In File(s): \code\game\machinery\autolathe.dm
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{if data.screen == 21}}
|
||||
{{if data.screen == 100}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Box Ammunition
|
||||
</div>
|
||||
<div class="itemContentWide" style="width:100%;">
|
||||
<div class="statusDisplay">
|
||||
<div class="line">
|
||||
{{for data.parts.Box_ammunition}}
|
||||
<div class="line">
|
||||
<div class="statusValue">
|
||||
{{:helper.link(value.name, 'gear', value.command2, null, null, 'misc')}}
|
||||
{{:helper.link(value.cost, null, null, null, null, 'costsmall')}}
|
||||
{{:helper.link('Queue', 'gear', value.command1, null, 'fixedLeft')}}
|
||||
</div>
|
||||
</div>
|
||||
{{empty}}
|
||||
<i>No parts in memory</i>
|
||||
{{/for}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{if data.screen == 101}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Magazines
|
||||
@@ -169,7 +197,7 @@ Used In File(s): \code\game\machinery\autolathe.dm
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{if data.screen == 22}}
|
||||
{{if data.screen == 110}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Miscellaneous Items
|
||||
@@ -194,7 +222,7 @@ Used In File(s): \code\game\machinery\autolathe.dm
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{if data.screen == 51}}
|
||||
{{if data.screen == 111}}
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
CONTRABAND
|
||||
|
||||
Reference in New Issue
Block a user