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:
DrSnips
2019-01-04 01:37:09 -05:00
parent 3ec8fdd13f
commit cd20e774f8
9 changed files with 176 additions and 43 deletions

View File

@@ -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(), \
)
)

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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