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 /obj/machinery/r_n_d/fabricator/mechanic_fab/autolathe/ammolathe
name = "\improper Ammolathe" name = "\improper Ammolathe"
desc = "Produces guns, ammunition, and firearm accessories." desc = "Produces guns, ammunition, and firearm accessories."
icon_state = "autolathe" icon_state = "ammolathe"
icon_state_open = "autolathe_t" icon_state_open = "ammolathe_t"
nano_file = "ammolathe.tmpl" nano_file = "ammolathe.tmpl"
default_mat_overlays = TRUE
start_end_anims = 1 start_end_anims = 1
@@ -15,19 +16,19 @@
research_flags = NANOTOUCH | TAKESMATIN | HASOUTPUT | IGNORE_CHEMS | HASMAT_OVER | LOCKBOXES 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 one_part_set_only = 0
part_sets = list( part_sets = list(
"Weapons"=list( "Weapons"=list(
new /obj/item/weapon/gun/projectile/sec/lockbox(), \
new /obj/item/weapon/gun/projectile/automatic/vector/lockbox(), \ new /obj/item/weapon/gun/projectile/automatic/vector/lockbox(), \
), ),
"Single_ammunition"=list( "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/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(), \
new /obj/item/ammo_casing/shotgun/dart(), \
new /obj/item/ammo_casing/shotgun/buckshot(),\ new /obj/item/ammo_casing/shotgun/buckshot(),\
), ),
"Box_ammunition"=list( "Box_ammunition"=list(
@@ -37,17 +38,27 @@
), ),
"Magazines"=list( "Magazines"=list(
new /obj/item/ammo_storage/magazine/smg9mm/empty(), \ 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/a12mm/empty(), \
new /obj/item/ammo_storage/magazine/a357/empty(),\ new /obj/item/ammo_storage/magazine/a357/empty(),\
new /obj/item/ammo_storage/magazine/m380auto/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( "Misc_Other"=list(
new /obj/item/ammo_storage/speedloader/c38/empty(), \ new /obj/item/ammo_storage/speedloader/c38/empty(), \
new/obj/item/ammo_storage/speedloader/a357/empty(), \ new /obj/item/ammo_storage/speedloader/a357/empty(), \
new/obj/item/ammo_storage/speedloader/a762x55/empty(), \ new /obj/item/ammo_storage/speedloader/a762x55/empty(), \
new/obj/item/ammo_storage/speedloader/shotgun(), \ new /obj/item/ammo_storage/speedloader/shotgun(), \
), ),
"Hidden_Items" = list( "Hidden_Items" = list(
new /obj/item/toy/gasha/skub(), \ new /obj/item/weapon/kitchen/utensil/knife/tactical(), \
)//TODO: Add shit here. 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 /obj/item/weapon/gun/projectile/sec
name = "\improper NT Glock" 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 = 'icons/obj/biggun.dmi'
icon_state = "secglockfancy" icon_state = "secglockfancy"
ammo_type = "/obj/item/ammo_casing/c380auto" ammo_type = "/obj/item/ammo_casing/c380auto"
@@ -166,6 +166,9 @@
..() ..()
icon_state = "secglockfancy[chambered ? "" : "-e"][silenced ? "-s" : ""][stored_magazine ? "" : "-m"]" 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 /obj/item/weapon/gun/projectile/luger
name = "\improper Luger P08" name = "\improper Luger P08"
desc = "The wrath of the SS" 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_x = rand(-5, 5) * PIXEL_MULTIPLIER
src.pixel_y = 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)" name = "Circuit Design (Ammolathe)"
desc = "Allows for the construction of circuit boards used to build ammolathes." desc = "Allows for the construction of circuit boards used to build ammolathes."
id = "ammolathe" 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 build_type = IMPRINTER
materials = list(MAT_GLASS = 2000, SACID = 20) materials = list(MAT_GLASS = 2000, SACID = 20)
category = "Machine Boards" category = "Machine Boards"

View File

@@ -260,14 +260,23 @@
//Ammolathe designs. They lack research values so they can't be researched. //Ammolathe designs. They lack research values so they can't be researched.
//Weapons //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 /datum/design/vector
name = "Vector" name = "Vector"
desc = "A gun." desc = "A gun."
id = "vector" id = "vector"
//req_tech = list(Tc_COMBAT = 4, Tc_MATERIALS = 3)
build_type = AMMOLATHE build_type = AMMOLATHE
materials = list(MAT_IRON = 12500, MAT_GLASS = 12500) materials = list(MAT_IRON = 12500, MAT_GLASS = 12500)
//category = "Weapons"
build_path = /obj/item/weapon/gun/projectile/automatic/vector/lockbox build_path = /obj/item/weapon/gun/projectile/automatic/vector/lockbox
locked = TRUE locked = TRUE
req_lock_access = list(access_armory, access_weapons) req_lock_access = list(access_armory, access_weapons)
@@ -300,24 +309,79 @@
build_path = /obj/item/ammo_storage/box/b380auto/rubber build_path = /obj/item/ammo_storage/box/b380auto/rubber
//Magazines //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 /datum/design/magazine_357
name = "automag magazine (.357)" name = "Automag magazine (.357)"
desc = "A magazine designed for the Automag VI handcannon." desc = "A magazine designed for the Automag VI handcannon."
id = "magazine_357" id = "magazine_357"
build_type = AMMOLATHE build_type = AMMOLATHE
materials = list(MAT_IRON = 400) materials = list(MAT_IRON = 400)
//category = "Misc_Other"
build_path = /obj/item/ammo_storage/magazine/a357/empty build_path = /obj/item/ammo_storage/magazine/a357/empty
/datum/design/magazine_380 /datum/design/magazine_380
name = "pistol magazine (.380AUTO)" name = "Pistol magazine (.380AUTO)"
desc = "A magazine designed for common .380AUTO pistols." desc = "A magazine designed for common .380AUTO pistols."
id = "magazine_380" id = "magazine_380"
build_type = AMMOLATHE build_type = AMMOLATHE
materials = list(MAT_IRON = 400) materials = list(MAT_IRON = 400)
//category = "Misc_Other"
build_path = /obj/item/ammo_storage/magazine/m380auto/empty 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 //Misc
/datum/design/vectorreceiver /datum/design/vectorreceiver
name = "Vector Receiver" name = "Vector Receiver"
@@ -325,15 +389,29 @@
id = "vectorreceiver" id = "vectorreceiver"
build_type = AMMOLATHE build_type = AMMOLATHE
materials = list(MAT_IRON = 12500, MAT_GLASS = 12500) materials = list(MAT_IRON = 12500, MAT_GLASS = 12500)
//category = "Misc_Other"
build_path = /obj/item/weapon/vectorreceiver build_path = /obj/item/weapon/vectorreceiver
//Hidden //Hidden
/datum/design/skub /datum/design/earmuffs
name = "Skub" name = "Earmuffs"
desc = "A controversial item." desc = "Protects your hearing from both loud and quiet noises."
id = "vectorreceiver" id = "earmuffs"
build_type = AMMOLATHE build_type = AMMOLATHE
materials = list(MAT_IRON = 12500, MAT_GLASS = 12500) materials = list(MAT_IRON = 500, MAT_GLASS = 1500)
//category = "Hidden_Items" build_path = /obj/item/clothing/ears/earmuffs
build_path = /obj/item/toy/gasha/skub
/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/base_state = ""
var/build_time = 0 var/build_time = 0
var/auto_make = 0 var/auto_make = 0
var/default_mat_overlays = FALSE
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
@@ -224,8 +225,12 @@ var/global/list/rnd_machines = list()
if(research_flags & HASMAT_OVER) if(research_flags & HASMAT_OVER)
update_icon() update_icon()
overlays |= image(icon = icon, icon_state = "[base_state]_[stack.name]") 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) spawn(ANIM_LENGTH)
overlays -= image(icon = icon, icon_state = "[base_state]_[stack.name]") 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]" icon_state = "[base_state]"
use_power(max(1000, (3750*amount/10))) 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 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'> <style type='text/css'>
@@ -45,31 +45,34 @@ Used In File(s): \code\game\machinery\autolathe.dm
Categories Categories
</div> </div>
<div class="line"> <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>
<div class="line"> <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>
<div class="line"> <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>
<div class="line"> <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> </div>
{{if data.hacked == 01}} {{if data.hacked == 01}}
<div class="line"> <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> </div>
{{/if}} {{/if}}
<div class="itemLabel"> <div class="itemLabel">
Other Other
</div> </div>
<div class="line"> <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>
</div> </div>
{{if data.screen == 01}} {{if data.screen == 001}}
<div class="item"> <div class="item">
<div class="itemLabel"> <div class="itemLabel">
Material Storage Material Storage
@@ -94,7 +97,7 @@ Used In File(s): \code\game\machinery\autolathe.dm
</div> </div>
{{/if}} {{/if}}
{{if data.screen == 11}} {{if data.screen == 010}}
<div class="item"> <div class="item">
<div class="itemLabel"> <div class="itemLabel">
Weapons Weapons
@@ -119,15 +122,15 @@ Used In File(s): \code\game\machinery\autolathe.dm
</div> </div>
{{/if}} {{/if}}
{{if data.screen == 12}} {{if data.screen == 011}}
<div class="item"> <div class="item">
<div class="itemLabel"> <div class="itemLabel">
Ammunition Single Ammunition
</div> </div>
<div class="itemContentWide" style="width:100%;"> <div class="itemContentWide" style="width:100%;">
<div class="statusDisplay"> <div class="statusDisplay">
<div class="line"> <div class="line">
{{for data.parts.Ammunition}} {{for data.parts.Single_ammunition}}
<div class="line"> <div class="line">
<div class="statusValue"> <div class="statusValue">
{{:helper.link(value.name, 'gear', value.command2, null, null, 'misc')}} {{:helper.link(value.name, 'gear', value.command2, null, null, 'misc')}}
@@ -144,7 +147,32 @@ Used In File(s): \code\game\machinery\autolathe.dm
</div> </div>
{{/if}} {{/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="item">
<div class="itemLabel"> <div class="itemLabel">
Magazines Magazines
@@ -169,7 +197,7 @@ Used In File(s): \code\game\machinery\autolathe.dm
</div> </div>
{{/if}} {{/if}}
{{if data.screen == 22}} {{if data.screen == 110}}
<div class="item"> <div class="item">
<div class="itemLabel"> <div class="itemLabel">
Miscellaneous Items Miscellaneous Items
@@ -194,7 +222,7 @@ Used In File(s): \code\game\machinery\autolathe.dm
</div> </div>
{{/if}} {{/if}}
{{if data.screen == 51}} {{if data.screen == 111}}
<div class="item"> <div class="item">
<div class="itemLabel"> <div class="itemLabel">
CONTRABAND CONTRABAND