Merge remote-tracking branch 'citadel/master' into mobility_flags
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=600, MAT_GLASS=200)
|
||||
custom_materials = list(/datum/material/iron=600, /datum/material/glass=200)
|
||||
var/uses = 2
|
||||
|
||||
/obj/item/overthrow_converter/proc/convert(mob/living/carbon/human/target, mob/living/carbon/human/user) // Should probably also delete any mindshield implant. Not sure.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "A shell of swarmer that was completely powered down. It can no longer activate itself."
|
||||
icon = 'icons/mob/swarmer.dmi'
|
||||
icon_state = "swarmer_unactivated"
|
||||
materials = list(MAT_METAL=10000, MAT_GLASS=4000)
|
||||
custom_materials = list(/datum/material/iron=10000, /datum/material/glass=4000)
|
||||
|
||||
/obj/effect/mob_spawn/swarmer
|
||||
name = "unactivated swarmer"
|
||||
@@ -191,7 +191,7 @@
|
||||
return 0
|
||||
|
||||
/obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item
|
||||
if(materials[MAT_METAL] || materials[MAT_GLASS])
|
||||
if(custom_materials[getmaterialref(/datum/material/iron)] || custom_materials[getmaterialref(/datum/material/glass)])
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
icon_state = ""
|
||||
flags_1 = CONDUCT_1
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=100)
|
||||
custom_materials = list(/datum/material/iron=100)
|
||||
throwforce = 2
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
||||
throwforce = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
materials = list(MAT_METAL = 300, MAT_GLASS = 300)
|
||||
custom_materials = list(/datum/material/iron = 300, /datum/material/glass = 300)
|
||||
crit_fail = FALSE //Is the flash burnt out?
|
||||
light_color = LIGHT_COLOR_WHITE
|
||||
light_power = FLASH_LIGHT_POWER
|
||||
@@ -267,7 +267,7 @@
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
materials = list(MAT_GLASS=7500, MAT_METAL=1000)
|
||||
custom_materials = list(/datum/material/glass=7500, /datum/material/iron=1000)
|
||||
attack_verb = list("shoved", "bashed")
|
||||
block_chance = 50
|
||||
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "health sensor"
|
||||
desc = "Used for scanning and monitoring health."
|
||||
icon_state = "health"
|
||||
materials = list(MAT_METAL=800, MAT_GLASS=200)
|
||||
custom_materials = list(/datum/material/iron=800, /datum/material/glass=200)
|
||||
attachable = TRUE
|
||||
secured = FALSE
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "igniter"
|
||||
desc = "A small electronic device able to ignite combustible substances."
|
||||
icon_state = "igniter"
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
||||
custom_materials = list(/datum/material/iron=500, /datum/material/glass=50)
|
||||
var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
|
||||
heat = 1000
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "infrared emitter"
|
||||
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
|
||||
icon_state = "infrared"
|
||||
materials = list(MAT_METAL=1000, MAT_GLASS=500)
|
||||
custom_materials = list(/datum/material/iron=1000, /datum/material/glass=500)
|
||||
is_position_sensitive = TRUE
|
||||
|
||||
var/on = FALSE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A handy little spring-loaded trap for catching pesty rodents."
|
||||
icon_state = "mousetrap"
|
||||
item_state = "mousetrap"
|
||||
materials = list(MAT_METAL=100)
|
||||
custom_materials = list(/datum/material/iron=100)
|
||||
attachable = TRUE
|
||||
var/armed = FALSE
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "playback device"
|
||||
desc = "A small electronic device able to record a voice sample, and repeat that sample when it receive a signal."
|
||||
icon_state = "radio"
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
||||
custom_materials = list(/datum/material/iron = 500, /datum/material/glass = 50)
|
||||
flags_1 = HEAR_1
|
||||
attachable = TRUE
|
||||
verb_say = "beeps"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "proximity sensor"
|
||||
desc = "Used for scanning and alerting when someone enters a certain proximity."
|
||||
icon_state = "prox"
|
||||
materials = list(MAT_METAL=800, MAT_GLASS=200)
|
||||
custom_materials = list(/datum/material/iron=800, /datum/material/glass=200)
|
||||
attachable = TRUE
|
||||
|
||||
var/scanning = FALSE
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "signaler"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
materials = list(MAT_METAL=400, MAT_GLASS=120)
|
||||
custom_materials = list(/datum/material/iron=400, /datum/material/glass=120)
|
||||
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
|
||||
attachable = TRUE
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "timer"
|
||||
desc = "Used to time things. Works well with contraptions which has to count down. Tick tock."
|
||||
icon_state = "timer"
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
||||
custom_materials = list(/datum/material/iron=500, /datum/material/glass=50)
|
||||
attachable = TRUE
|
||||
|
||||
var/timing = FALSE
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
name = "voice analyzer"
|
||||
desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated."
|
||||
icon_state = "voice"
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
||||
custom_materials = list(/datum/material/iron=500, /datum/material/glass=50)
|
||||
flags_1 = HEAR_1
|
||||
attachable = TRUE
|
||||
verb_say = "beeps"
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
power_channel = ENVIRON
|
||||
req_access = list(ACCESS_ATMOSPHERICS)
|
||||
max_integrity = 250
|
||||
integrity_failure = 80
|
||||
integrity_failure = 0.33
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 50)
|
||||
max_integrity = 250
|
||||
integrity_failure = 100
|
||||
integrity_failure = 0.4
|
||||
pressure_resistance = 7 * ONE_ATMOSPHERE
|
||||
var/temperature_resistance = 1000 + T0C
|
||||
var/starter_temp
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
icon = 'icons/obj/economy.dmi'
|
||||
icon_state = "rupee"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_GLASS = 500)
|
||||
custom_materials = list(/datum/material/glass = 500)
|
||||
|
||||
/obj/item/rupee/New()
|
||||
var/newcolor = color2hex(pick(10;"green", 5;"blue", 3;"red", 1;"purple"))
|
||||
|
||||
@@ -15,16 +15,13 @@
|
||||
if(!isitem(O))
|
||||
return 0
|
||||
var/obj/item/I = O
|
||||
if(!(material_id in I.materials))
|
||||
if(!(getmaterialref(material_id) in I.custom_materials))
|
||||
return 0
|
||||
|
||||
var/amount = I.materials[material_id]
|
||||
var/amount = I.custom_materials[getmaterialref(material_id)]
|
||||
|
||||
if(istype(I, /obj/item/stack))
|
||||
var/obj/item/stack/S = I
|
||||
amount *= S.amount
|
||||
if(istype(I, /obj/item/stack/ore))
|
||||
amount *= 0.8 // Station's ore redemption equipment is really goddamn good.
|
||||
if(istype(I, /obj/item/stack/ore))
|
||||
amount *= 0.8 // Station's ore redemption equipment is really goddamn good.
|
||||
|
||||
return round(amount/MINERAL_MATERIAL_AMOUNT)
|
||||
|
||||
@@ -32,48 +29,48 @@
|
||||
|
||||
/datum/export/material/bananium
|
||||
cost = 500
|
||||
material_id = MAT_BANANIUM
|
||||
material_id = /datum/material/bananium
|
||||
message = "cm3 of bananium"
|
||||
|
||||
/datum/export/material/diamond
|
||||
cost = 250
|
||||
material_id = MAT_DIAMOND
|
||||
material_id = /datum/material/diamond
|
||||
message = "cm3 of diamonds"
|
||||
|
||||
/datum/export/material/plasma
|
||||
cost = 100
|
||||
material_id = MAT_PLASMA
|
||||
material_id = /datum/material/plasma
|
||||
message = "cm3 of plasma"
|
||||
|
||||
/datum/export/material/uranium
|
||||
cost = 50
|
||||
material_id = MAT_URANIUM
|
||||
material_id = /datum/material/uranium
|
||||
message = "cm3 of uranium"
|
||||
|
||||
/datum/export/material/gold
|
||||
cost = 60
|
||||
material_id = MAT_GOLD
|
||||
material_id = /datum/material/gold
|
||||
message = "cm3 of gold"
|
||||
|
||||
/datum/export/material/silver
|
||||
cost = 25
|
||||
material_id = MAT_SILVER
|
||||
material_id = /datum/material/silver
|
||||
message = "cm3 of silver"
|
||||
|
||||
/datum/export/material/titanium
|
||||
cost = 60
|
||||
material_id = MAT_TITANIUM
|
||||
material_id = /datum/material/titanium
|
||||
message = "cm3 of titanium"
|
||||
|
||||
/datum/export/material/plastic
|
||||
cost = 5
|
||||
material_id = MAT_PLASTIC
|
||||
material_id = /datum/material/plastic
|
||||
message = "cm3 of plastic"
|
||||
|
||||
/datum/export/material/metal
|
||||
cost = 3
|
||||
message = "cm3 of metal"
|
||||
material_id = MAT_METAL
|
||||
material_id = /datum/material/iron
|
||||
export_types = list(
|
||||
/obj/item/stack/sheet/metal, /obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/rods, /obj/item/stack/ore, /obj/item/coin)
|
||||
@@ -81,6 +78,26 @@
|
||||
/datum/export/material/glass
|
||||
cost = 3
|
||||
message = "cm3 of glass"
|
||||
material_id = MAT_GLASS
|
||||
material_id = /datum/material/glass
|
||||
export_types = list(/obj/item/stack/sheet/glass, /obj/item/stack/ore,
|
||||
/obj/item/shard)
|
||||
|
||||
/datum/export/material/adamantine
|
||||
cost = 300
|
||||
material_id = /datum/material/adamantine
|
||||
message = "cm3 of adamantine"
|
||||
|
||||
/datum/export/material/mythril
|
||||
cost = 1000
|
||||
material_id = /datum/material/mythril
|
||||
message = "cm3 of mythril"
|
||||
|
||||
/datum/export/material/bscrystal
|
||||
cost = 150
|
||||
message = "cm3 of bluespace crystals"
|
||||
material_id = /datum/material/bluespace
|
||||
|
||||
/datum/export/material/runite
|
||||
cost = 300
|
||||
message = "cm3 of runite"
|
||||
material_id = /datum/material/runite
|
||||
@@ -83,10 +83,10 @@
|
||||
message = "of reinforced glass"
|
||||
export_types = list(/obj/item/stack/sheet/rglass)
|
||||
|
||||
/datum/export/stack/bscrystal
|
||||
cost = 150
|
||||
message = "of bluespace crystals"
|
||||
export_types = list(/obj/item/stack/sheet/bluespace_crystal)
|
||||
/datum/export/stack/plastitanium
|
||||
cost = 165 // plasma + titanium costs
|
||||
message = "of plastitanium"
|
||||
export_types = list(/obj/item/stack/sheet/mineral/plastitanium)
|
||||
|
||||
/datum/export/stack/wood
|
||||
cost = 15
|
||||
@@ -139,12 +139,6 @@
|
||||
message = "of alien alloy"
|
||||
export_types = list(/obj/item/stack/sheet/mineral/abductor)
|
||||
|
||||
/datum/export/stack/adamantine
|
||||
unit_name = "bar"
|
||||
cost = 250
|
||||
message = "of adamantine"
|
||||
export_types = list(/obj/item/stack/sheet/mineral/adamantine)
|
||||
|
||||
/datum/export/stack/bone
|
||||
cost = 20
|
||||
message = "of bones"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "clothing"
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 200
|
||||
integrity_failure = 80
|
||||
integrity_failure = 0.4
|
||||
var/damaged_clothes = 0 //similar to machine's BROKEN stat and structure's broken var
|
||||
var/flash_protect = 0 //What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS
|
||||
var/tint = 0 //Sets the item's level of visual impairment tint, normally set to the same as flash_protect
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
strip_delay = 20
|
||||
equip_delay_other = 25
|
||||
resistance_flags = NONE
|
||||
materials = list(MAT_GLASS = 250)
|
||||
custom_materials = list(/datum/material/glass = 250)
|
||||
var/vision_flags = 0
|
||||
var/darkness_view = 2//Base human is 2
|
||||
var/invis_view = SEE_INVISIBLE_LIVING //admin only for now
|
||||
@@ -286,7 +286,7 @@
|
||||
icon_state = "welding-g"
|
||||
item_state = "welding-g"
|
||||
actions_types = list(/datum/action/item_action/toggle)
|
||||
materials = list(MAT_METAL = 250)
|
||||
custom_materials = list(/datum/material/iron = 250)
|
||||
flash_protect = 2
|
||||
tint = 2
|
||||
visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT
|
||||
|
||||
@@ -237,6 +237,14 @@
|
||||
icon_state = "knight_red"
|
||||
item_state = "knight_red"
|
||||
|
||||
/obj/item/clothing/head/helmet/knight/greyscale
|
||||
name = "knight helmet"
|
||||
desc = "A classic medieval helmet, if you hold it upside down you could see that it's actually a bucket."
|
||||
icon_state = "knight_greyscale"
|
||||
item_state = "knight_greyscale"
|
||||
armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40)
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR //Can change color and add prefix
|
||||
|
||||
/obj/item/clothing/head/helmet/skull
|
||||
name = "skull helmet"
|
||||
desc = "An intimidating tribal helmet, it doesn't look very comfortable."
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
icon_state = "welding"
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
item_state = "welding"
|
||||
materials = list(MAT_METAL=1750, MAT_GLASS=400)
|
||||
custom_materials = list(/datum/material/iron=1750, /datum/material/glass=400)
|
||||
flash_protect = 2
|
||||
tint = 2
|
||||
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 60)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
name = "welding mask"
|
||||
desc = "A gas mask with built-in welding goggles and a face shield. Looks like a skull - clearly designed by a nerd."
|
||||
icon_state = "weldingmask"
|
||||
materials = list(MAT_METAL=4000, MAT_GLASS=2000)
|
||||
custom_materials = list(/datum/material/iron=4000, /datum/material/glass=2000)
|
||||
flash_protect = 2
|
||||
tint = 2
|
||||
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 55)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE, /obj/item/stack)
|
||||
AddComponent(/datum/component/material_container, list(/datum/material/bananium), 200000, TRUE, /obj/item/stack)
|
||||
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75)
|
||||
if(always_noslip)
|
||||
clothing_flags |= NOSLIP
|
||||
@@ -19,7 +19,7 @@
|
||||
. = ..()
|
||||
var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container)
|
||||
if(on)
|
||||
if(bananium.amount(MAT_BANANIUM) < 100)
|
||||
if(bananium.get_material_amount(/datum/material/bananium) < 100)
|
||||
on = !on
|
||||
if(!always_noslip)
|
||||
clothing_flags &= ~NOSLIP
|
||||
@@ -27,7 +27,7 @@
|
||||
to_chat(loc, "<span class='warning'>You ran out of bananium!</span>")
|
||||
else
|
||||
new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(usr.dir, 180))) //honk
|
||||
bananium.use_amount_type(100, MAT_BANANIUM)
|
||||
bananium.use_amount_mat(100, /datum/material/bananium)
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/banana_shoes/attack_self(mob/user)
|
||||
var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container)
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user)
|
||||
var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container)
|
||||
if(bananium.amount(MAT_BANANIUM))
|
||||
if(bananium.get_material_amount(/datum/material/bananium))
|
||||
on = !on
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You [on ? "activate" : "deactivate"] the prototype shoes.</span>")
|
||||
|
||||
@@ -261,6 +261,14 @@
|
||||
icon_state = "knight_red"
|
||||
item_state = "knight_red"
|
||||
|
||||
/obj/item/clothing/suit/armor/riot/knight/greyscale
|
||||
name = "knight armour"
|
||||
desc = "A classic suit of armour, able to be made from many different materials."
|
||||
icon_state = "knight_greyscale"
|
||||
item_state = "knight_greyscale"
|
||||
armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40)
|
||||
material_flags = MATERIAL_ADD_PREFIX //Can change color and add prefix
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/durathread
|
||||
name = "makeshift vest"
|
||||
desc = "A vest made of durathread with strips of leather acting as trauma plates."
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
desc = "A bronze medal."
|
||||
icon_state = "bronze"
|
||||
item_color = "bronze"
|
||||
materials = list(MAT_METAL=1000)
|
||||
custom_materials = list(/datum/material/iron=1000)
|
||||
resistance_flags = FIRE_PROOF
|
||||
var/medaltype = "medal" //Sprite used for medalbox
|
||||
var/commended = FALSE
|
||||
@@ -190,7 +190,7 @@
|
||||
icon_state = "silver"
|
||||
item_color = "silver"
|
||||
medaltype = "medal-silver"
|
||||
materials = list(MAT_SILVER=1000)
|
||||
custom_materials = list(/datum/material/silver=1000)
|
||||
|
||||
/obj/item/clothing/accessory/medal/silver/valor
|
||||
name = "medal of valor"
|
||||
@@ -206,7 +206,7 @@
|
||||
icon_state = "gold"
|
||||
item_color = "gold"
|
||||
medaltype = "medal-gold"
|
||||
materials = list(MAT_GOLD=1000)
|
||||
custom_materials = list(/datum/material/gold=1000)
|
||||
|
||||
/obj/item/clothing/accessory/medal/gold/captain
|
||||
name = "medal of captaincy"
|
||||
@@ -217,7 +217,7 @@
|
||||
name = "old medal of captaincy"
|
||||
desc = "A rustic badge pure gold, has been through hell and back by the looks, the syndcate have been after these by the looks of it for generations..."
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 10) //Pure gold
|
||||
materials = list(MAT_GOLD=2000)
|
||||
custom_materials = list(/datum/material/gold=2000)
|
||||
|
||||
/obj/item/clothing/accessory/medal/gold/heroism
|
||||
name = "medal of exceptional heroism"
|
||||
@@ -230,7 +230,7 @@
|
||||
item_color = "plasma"
|
||||
medaltype = "medal-plasma"
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = 0) //It's made of plasma. Of course it's flammable.
|
||||
materials = list(MAT_PLASMA=1000)
|
||||
custom_materials = list(/datum/material/plasma=1000)
|
||||
|
||||
/obj/item/clothing/accessory/medal/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > 300)
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
force = 1
|
||||
throwforce = 1
|
||||
amount_per_transfer_from_this = 5
|
||||
materials = list(MAT_METAL=100)
|
||||
custom_materials = list(/datum/material/iron=100)
|
||||
possible_transfer_amounts = list()
|
||||
volume = 5
|
||||
flags_1 = CONDUCT_1
|
||||
@@ -218,7 +218,7 @@
|
||||
force = 14
|
||||
throwforce = 10
|
||||
amount_per_transfer_from_this = 20
|
||||
materials = list(MAT_GOLD=1000)
|
||||
custom_materials = list(/datum/material/gold=1000)
|
||||
volume = 150
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/trophy/silver_cup
|
||||
@@ -229,7 +229,7 @@
|
||||
force = 10
|
||||
throwforce = 8
|
||||
amount_per_transfer_from_this = 15
|
||||
materials = list(MAT_SILVER=800)
|
||||
custom_materials = list(/datum/material/silver=800)
|
||||
volume = 100
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/trophy/bronze_cup
|
||||
@@ -240,7 +240,7 @@
|
||||
force = 5
|
||||
throwforce = 4
|
||||
amount_per_transfer_from_this = 10
|
||||
materials = list(MAT_METAL=400)
|
||||
custom_materials = list(/datum/material/iron=400)
|
||||
volume = 25
|
||||
|
||||
///////////////////////////////////////////////Drinks/////////////////////////////////////////
|
||||
@@ -400,7 +400,7 @@
|
||||
name = "shaker"
|
||||
desc = "A metal shaker to mix drinks in."
|
||||
icon_state = "shaker"
|
||||
materials = list(MAT_METAL=1500)
|
||||
custom_materials = list(/datum/material/iron=1500)
|
||||
amount_per_transfer_from_this = 10
|
||||
volume = 100
|
||||
isGlass = FALSE
|
||||
@@ -409,7 +409,7 @@
|
||||
name = "flask"
|
||||
desc = "Every good spaceman knows it's a good idea to bring along a couple of pints of whiskey wherever they go."
|
||||
icon_state = "flask"
|
||||
materials = list(MAT_METAL=250)
|
||||
custom_materials = list(/datum/material/iron=250)
|
||||
volume = 60
|
||||
isGlass = FALSE
|
||||
|
||||
@@ -417,7 +417,7 @@
|
||||
name = "captain's flask"
|
||||
desc = "A gold flask belonging to the captain."
|
||||
icon_state = "flask_gold"
|
||||
materials = list(MAT_GOLD=500)
|
||||
custom_materials = list(/datum/material/gold=500)
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/flask/det
|
||||
name = "detective's flask"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "glass_empty"
|
||||
amount_per_transfer_from_this = 10
|
||||
volume = 50
|
||||
materials = list(MAT_GLASS=500)
|
||||
custom_materials = list(/datum/material/glass=500)
|
||||
max_integrity = 20
|
||||
spillable = TRUE
|
||||
resistance_flags = ACID_PROOF
|
||||
@@ -45,7 +45,7 @@
|
||||
amount_per_transfer_from_this = 15
|
||||
possible_transfer_amounts = list()
|
||||
volume = 15
|
||||
materials = list(MAT_GLASS=100)
|
||||
custom_materials = list(/datum/material/glass=100)
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change(changetype)
|
||||
cut_overlays()
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
icon = 'icons/obj/food/soupsalad.dmi'
|
||||
icon_state = "bowl"
|
||||
reagent_flags = OPENCONTAINER
|
||||
materials = list(MAT_GLASS = 500)
|
||||
custom_materials = list(/datum/material/glass = 500)
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user, params)
|
||||
|
||||
@@ -309,8 +309,8 @@
|
||||
var/metal = 0
|
||||
for(var/obj/item/O in ingredients)
|
||||
O.microwave_act(src)
|
||||
if(O.materials[MAT_METAL])
|
||||
metal += O.materials[MAT_METAL]
|
||||
if(O.custom_materials?.len)
|
||||
metal += O.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
|
||||
if(metal)
|
||||
spark()
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
dat += "<A href='?src=[REF(src)];create=[D.id];amount=5'>x5</A>"
|
||||
if(ispath(D.build_path, /obj/item/stack))
|
||||
dat += "<A href='?src=[REF(src)];create=[D.id];amount=10'>x10</A>"
|
||||
dat += "([D.materials[MAT_BIOMASS]/efficiency])<br>"
|
||||
dat += "([D.materials[getmaterialref(/datum/material/biomass)]/efficiency])<br>"
|
||||
dat += "</div>"
|
||||
else
|
||||
dat += "<div class='statusDisplay'>No container inside, please insert container.</div>"
|
||||
@@ -232,15 +232,15 @@
|
||||
else
|
||||
menustat = "void"
|
||||
|
||||
/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = 1)
|
||||
if(materials.len != 1 || materials[1] != MAT_BIOMASS)
|
||||
/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE)
|
||||
if(materials.len != 1 || materials[1] != getmaterialref(/datum/material/biomass))
|
||||
return FALSE
|
||||
if (materials[MAT_BIOMASS]*multiplier/efficiency > points)
|
||||
if (materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency > points)
|
||||
menustat = "nopoints"
|
||||
return FALSE
|
||||
else
|
||||
if(remove_points)
|
||||
points -= materials[MAT_BIOMASS]*multiplier/efficiency
|
||||
points -= materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
return TRUE
|
||||
|
||||
@@ -418,7 +418,7 @@
|
||||
name = "plant data disk"
|
||||
desc = "A disk for storing plant genetic data."
|
||||
icon_state = "datadisk_hydro"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
custom_materials = list(/datum/material/iron=30, /datum/material/glass=10)
|
||||
var/datum/plant_gene/gene
|
||||
var/read_only = 0 //Well, it's still a floppy disk
|
||||
obj_flags = UNIQUE_RENAME
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=20)
|
||||
custom_materials = list(/datum/material/iron=30, /datum/material/glass=20)
|
||||
|
||||
// *************************************
|
||||
// Hydroponics Tools
|
||||
@@ -57,7 +57,7 @@
|
||||
force = 5
|
||||
throwforce = 7
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=50)
|
||||
custom_materials = list(/datum/material/iron=50)
|
||||
attack_verb = list("slashed", "sliced", "cut", "clawed")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
throwforce = 15
|
||||
throw_speed = 3
|
||||
throw_range = 4
|
||||
materials = list(MAT_METAL = 15000)
|
||||
custom_materials = list(/datum/material/iron = 15000)
|
||||
attack_verb = list("chopped", "torn", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
icon = 'icons/obj/assemblies/electronic_setups.dmi'
|
||||
icon_state = "setup_small"
|
||||
item_flags = NOBLUDGEON
|
||||
materials = list() // To be filled later
|
||||
custom_materials = null // To be filled later
|
||||
datum_flags = DF_USE_TAG
|
||||
var/list/assembly_components = list()
|
||||
var/list/ckeys_allowed_to_scan = list() // Players who built the circuit can scan it as a ghost.
|
||||
@@ -95,9 +95,9 @@
|
||||
D.open()
|
||||
|
||||
/obj/item/electronic_assembly/Initialize()
|
||||
LAZYSET(custom_materials, /datum/material/iron, round((max_complexity + max_components) * 0.25) * SScircuit.cost_multiplier)
|
||||
.=..()
|
||||
START_PROCESSING(SScircuit, src)
|
||||
materials[MAT_METAL] = round((max_complexity + max_components) / 4) * SScircuit.cost_multiplier
|
||||
|
||||
//sets up diagnostic hud view
|
||||
prepare_huds()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/assemblies/electronic_components.dmi'
|
||||
icon_state = "template"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
materials = list() // To be filled later
|
||||
custom_materials = null // To be filled later
|
||||
var/obj/item/electronic_assembly/assembly // Reference to the assembly holding this circuit, if any.
|
||||
var/extended_desc
|
||||
var/list/inputs = list()
|
||||
@@ -84,7 +84,7 @@ a creative player the means to solve many problems. Circuits are held inside an
|
||||
setup_io(inputs, /datum/integrated_io, inputs_default, IC_INPUT)
|
||||
setup_io(outputs, /datum/integrated_io, outputs_default, IC_OUTPUT)
|
||||
setup_io(activators, /datum/integrated_io/activate, null, IC_ACTIVATOR)
|
||||
materials[MAT_METAL] = w_class * SScircuit.cost_multiplier
|
||||
LAZYSET(custom_materials, /datum/material/iron, w_class * SScircuit.cost_multiplier)
|
||||
. = ..()
|
||||
|
||||
/obj/item/integrated_circuit/proc/on_data_written() //Override this for special behaviour when new data gets pushed to the circuit.
|
||||
|
||||
@@ -33,7 +33,8 @@
|
||||
|
||||
/obj/item/integrated_circuit_printer/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL), MINERAL_MATERIAL_AMOUNT * 25, TRUE, list(/obj/item/stack, /obj/item/integrated_circuit, /obj/item/electronic_assembly))
|
||||
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(/datum/material/iron), MINERAL_MATERIAL_AMOUNT * 25, TRUE, list(/obj/item/stack, /obj/item/integrated_circuit, /obj/item/electronic_assembly))
|
||||
materials.precise_insertion = TRUE
|
||||
|
||||
/obj/item/integrated_circuit_printer/proc/print_program(mob/user)
|
||||
if(!cloning)
|
||||
@@ -189,16 +190,16 @@
|
||||
var/cost = 400
|
||||
if(ispath(build_type, /obj/item/electronic_assembly))
|
||||
var/obj/item/electronic_assembly/E = SScircuit.cached_assemblies[build_type]
|
||||
cost = E.materials[MAT_METAL]
|
||||
cost = E.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
else if(ispath(build_type, /obj/item/integrated_circuit))
|
||||
var/obj/item/integrated_circuit/IC = SScircuit.cached_components[build_type]
|
||||
cost = IC.materials[MAT_METAL]
|
||||
cost = IC.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
else if(!(build_type in SScircuit.circuit_fabricator_recipe_list["Tools"]))
|
||||
return
|
||||
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
|
||||
if(!debug && !materials.use_amount_type(cost, MAT_METAL))
|
||||
if(!debug && !materials.use_amount_mat(cost, /datum/material/iron))
|
||||
to_chat(usr, "<span class='warning'>You need [cost] metal to build that!</span>")
|
||||
return TRUE
|
||||
|
||||
@@ -270,14 +271,14 @@
|
||||
return
|
||||
else if(fast_clone)
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
if(debug || materials.use_amount_type(program["metal_cost"], MAT_METAL))
|
||||
if(debug || materials.use_amount_mat(program["metal_cost"], /datum/material/iron))
|
||||
cloning = TRUE
|
||||
print_program(usr)
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You need [program["metal_cost"]] metal to build that!</span>")
|
||||
else
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
if(!materials.use_amount_type(program["metal_cost"], MAT_METAL))
|
||||
if(!materials.use_amount_mat(program["metal_cost"], /datum/material/iron))
|
||||
to_chat(usr, "<span class='warning'>You need [program["metal_cost"]] metal to build that!</span>")
|
||||
return
|
||||
var/cloning_time = round(program["metal_cost"] / 15)
|
||||
@@ -295,7 +296,7 @@
|
||||
to_chat(usr, "<span class='notice'>Cloning has been canceled. Metal cost has been refunded.</span>")
|
||||
cloning = FALSE
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
materials.use_amount_type(-program["metal_cost"], MAT_METAL) //use negative amount to regain the cost
|
||||
materials.use_amount_mat(-program["metal_cost"], /datum/material/iron) //use negative amount to regain the cost
|
||||
|
||||
|
||||
interact(usr)
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
blocks["max_space"] = assembly.max_components
|
||||
|
||||
// Start keeping track of total metal cost
|
||||
blocks["metal_cost"] = assembly.materials[MAT_METAL]
|
||||
blocks["metal_cost"] = assembly.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
|
||||
|
||||
// Block 2. Components.
|
||||
@@ -291,7 +291,7 @@
|
||||
// Update estimated assembly complexity, taken space and material cost
|
||||
blocks["complexity"] += component.complexity
|
||||
blocks["used_space"] += component.size
|
||||
blocks["metal_cost"] += component.materials[MAT_METAL]
|
||||
blocks["metal_cost"] += component.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
|
||||
// Check if the assembly requires printer upgrades
|
||||
if(!(component.spawn_flags & IC_SPAWN_DEFAULT))
|
||||
|
||||
@@ -1090,6 +1090,7 @@
|
||||
"Titanium" = IC_PINTYPE_NUMBER,
|
||||
"Bluespace Mesh" = IC_PINTYPE_NUMBER,
|
||||
"Biomass" = IC_PINTYPE_NUMBER,
|
||||
"Plastic" = IC_PINTYPE_NUMBER
|
||||
)
|
||||
activators = list(
|
||||
"scan" = IC_PINTYPE_PULSE_IN,
|
||||
@@ -1098,7 +1099,7 @@
|
||||
)
|
||||
spawn_flags = IC_SPAWN_RESEARCH
|
||||
power_draw_per_use = 40
|
||||
var/list/mtypes = list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_BIOMASS)
|
||||
var/list/mtypes = list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/biomass, /datum/material/plastic)
|
||||
|
||||
|
||||
/obj/item/integrated_circuit/input/matscan/do_work()
|
||||
@@ -1108,10 +1109,9 @@
|
||||
if(!mt) //Invalid input
|
||||
return
|
||||
if(H in view(T)) // This is a camera. It can't examine thngs,that it can't see.
|
||||
for(var/I in 1 to mtypes.len)
|
||||
var/datum/material/M = mt.materials[mtypes[I]]
|
||||
if(M)
|
||||
set_pin_data(IC_OUTPUT, I, M.amount)
|
||||
for(var/I in mtypes)
|
||||
if(I in mt.materials)
|
||||
set_pin_data(IC_OUTPUT, I, mt.materials[I])
|
||||
else
|
||||
set_pin_data(IC_OUTPUT, I, null)
|
||||
push_data()
|
||||
|
||||
@@ -373,6 +373,7 @@
|
||||
"Bluespace Mesh" = IC_PINTYPE_NUMBER,
|
||||
"Bananium" = IC_PINTYPE_NUMBER,
|
||||
"Titanium" = IC_PINTYPE_NUMBER,
|
||||
"Plastic" = IC_PINTYPE_NUMBER
|
||||
)
|
||||
outputs = list(
|
||||
"self ref" = IC_PINTYPE_REF,
|
||||
@@ -386,7 +387,8 @@
|
||||
"Solid Plasma" = IC_PINTYPE_NUMBER,
|
||||
"Bluespace Mesh" = IC_PINTYPE_NUMBER,
|
||||
"Bananium" = IC_PINTYPE_NUMBER,
|
||||
"Titanium" = IC_PINTYPE_NUMBER
|
||||
"Titanium" = IC_PINTYPE_NUMBER,
|
||||
"Plastic" = IC_PINTYPE_NUMBER
|
||||
)
|
||||
activators = list(
|
||||
"insert sheet" = IC_PINTYPE_PULSE_IN,
|
||||
@@ -400,13 +402,11 @@
|
||||
power_draw_per_use = 40
|
||||
ext_cooldown = 1
|
||||
cooldown_per_use = 10
|
||||
var/list/mtypes = list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE)
|
||||
var/list/mtypes = list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/uranium, /datum/material/plasma, /datum/material/bluespace, /datum/material/bananium, /datum/material/titanium, /datum/material/plastic)
|
||||
|
||||
/obj/item/integrated_circuit/manipulation/matman/Initialize()
|
||||
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container,
|
||||
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0,
|
||||
FALSE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
|
||||
materials.max_amount =100000
|
||||
mtypes, 100000, FALSE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
|
||||
materials.precise_insertion = TRUE
|
||||
.=..()
|
||||
|
||||
@@ -414,9 +414,10 @@
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
set_pin_data(IC_OUTPUT, 2, materials.total_amount)
|
||||
for(var/I in 1 to mtypes.len)
|
||||
var/datum/material/M = materials.materials[mtypes[I]]
|
||||
var/datum/material/M = materials.materials[getmaterialref(I)]
|
||||
var/amount = materials[M]
|
||||
if(M)
|
||||
set_pin_data(IC_OUTPUT, I+2, M.amount)
|
||||
set_pin_data(IC_OUTPUT, I+2, amount)
|
||||
push_data()
|
||||
|
||||
/obj/item/integrated_circuit/manipulation/matman/proc/is_insertion_ready(mob/user)
|
||||
@@ -435,7 +436,7 @@
|
||||
if(!S)
|
||||
activate_pin(4)
|
||||
return
|
||||
if(materials.insert_stack(S, CLAMP(get_pin_data(IC_INPUT, 2),0,100), multiplier = 1) )
|
||||
if(materials.insert_item(S, CLAMP(get_pin_data(IC_INPUT, 2),0,100), multiplier = 1) )
|
||||
AfterMaterialInsert()
|
||||
activate_pin(3)
|
||||
else
|
||||
@@ -451,7 +452,7 @@
|
||||
continue
|
||||
if(!mt) //Invalid input
|
||||
if(U>0)
|
||||
if(materials.retrieve_amount(U, mtypes[I], T))
|
||||
if(materials.retrieve_sheets(U, getmaterialref(mtypes[I]), T))
|
||||
suc = TRUE
|
||||
else
|
||||
if(mt.transer_amt_to(materials, U, mtypes[I]))
|
||||
|
||||
@@ -53,7 +53,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
Unit | Condition | Status | Direction | Distance<br>"
|
||||
for(var/PDT in turrets)
|
||||
var/obj/machinery/porta_turret/aux_base/T = PDT
|
||||
var/integrity = max((T.obj_integrity-T.integrity_failure)/(T.max_integrity-T.integrity_failure)*100, 0)
|
||||
var/integrity = max((T.obj_integrity-T.integrity_failure * T.max_integrity)/(T.max_integrity-T.integrity_failure * max_integrity)*100, 0)
|
||||
var/status
|
||||
if(T.stat & BROKEN)
|
||||
status = "<span class='bad'>ERROR</span>"
|
||||
@@ -151,7 +151,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
if(!is_mining_level(T.z))
|
||||
return BAD_ZLEVEL
|
||||
|
||||
|
||||
|
||||
var/list/colony_turfs = base_dock.return_ordered_turfs(T.x,T.y,T.z,base_dock.dir)
|
||||
for(var/i in 1 to colony_turfs.len)
|
||||
CHECK_TICK
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
throwforce = 5
|
||||
throw_speed = 4
|
||||
armour_penetration = 10
|
||||
materials = list(MAT_METAL=1150, MAT_GLASS=2075)
|
||||
custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075)
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped")
|
||||
sharpness = IS_SHARP
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
materials = list(MAT_METAL=2000) //one sheet, but where can you make them?
|
||||
custom_materials = list(/datum/material/iron=2000) //one sheet, but where can you make them?
|
||||
tool_behaviour = TOOL_MINING
|
||||
toolspeed = 1
|
||||
usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg')
|
||||
@@ -46,7 +46,7 @@
|
||||
throwforce = 7
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=1000)
|
||||
custom_materials = list(/datum/material/iron=1000)
|
||||
|
||||
/obj/item/pickaxe/silver
|
||||
name = "silver-plated pickaxe"
|
||||
@@ -55,7 +55,7 @@
|
||||
toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor
|
||||
desc = "A silver-plated pickaxe that mines slightly faster than standard-issue."
|
||||
force = 17
|
||||
materials = list(MAT_SILVER=4000)
|
||||
custom_materials = list(/datum/material/silver=4000)
|
||||
|
||||
/obj/item/pickaxe/diamond
|
||||
name = "diamond-tipped pickaxe"
|
||||
@@ -64,7 +64,7 @@
|
||||
toolspeed = 0.3
|
||||
desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt."
|
||||
force = 19
|
||||
materials = list(MAT_DIAMOND=4000)
|
||||
custom_materials = list(/datum/material/diamond=4000)
|
||||
|
||||
/obj/item/pickaxe/plasteel
|
||||
name = "plasteel-tipped pickaxe"
|
||||
@@ -72,7 +72,7 @@
|
||||
toolspeed = 0.5
|
||||
desc = "A pickaxe with a plasteel pick head. Less robust at cracking rock walls and digging up dirt than the titanium pickaxe, but better at cracking open skulls."
|
||||
force = 19
|
||||
materials = list(MAT_METAL=2000, MAT_PLASMA=2000)
|
||||
custom_materials = list(/datum/material/iron=2000, /datum/material/plasma=2000)
|
||||
|
||||
/obj/item/pickaxe/titanium
|
||||
name = "titanium-tipped pickaxe"
|
||||
@@ -80,7 +80,7 @@
|
||||
toolspeed = 0.3
|
||||
desc = "A pickaxe with a titanium pick head. Extremely robust at cracking rock walls and digging up dirt, but less than the plasteel pickaxe at cracking open skulls."
|
||||
force = 17
|
||||
materials = list(MAT_TITANIUM=4000)
|
||||
custom_materials = list(/datum/material/titanium=4000)
|
||||
|
||||
/obj/item/pickaxe/drill
|
||||
name = "mining drill"
|
||||
@@ -141,7 +141,7 @@
|
||||
throwforce = 4
|
||||
item_state = "shovel"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
materials = list(MAT_METAL=350)
|
||||
custom_materials = list(/datum/material/iron=350)
|
||||
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
|
||||
sharpness = IS_SHARP
|
||||
|
||||
@@ -166,5 +166,5 @@
|
||||
toolspeed = 0.5
|
||||
force = 5
|
||||
throwforce = 7
|
||||
materials = list(MAT_METAL=50)
|
||||
custom_materials = list(/datum/material/iron=50)
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
@@ -114,28 +114,28 @@
|
||||
name = "Kinetic Accelerator Offensive Mining Explosion Mod"
|
||||
desc = "A device which causes kinetic accelerators to fire AoE blasts that destroy rock and damage creatures."
|
||||
id = "hyperaoemod"
|
||||
materials = list(MAT_METAL = 7000, MAT_GLASS = 3000, MAT_SILVER = 3000, MAT_GOLD = 3000, MAT_DIAMOND = 4000)
|
||||
materials = list(/datum/material/iron = 7000, /datum/material/glass = 3000, /datum/material/silver = 3000, /datum/material/gold = 3000, /datum/material/diamond = 4000)
|
||||
build_path = /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs
|
||||
|
||||
/datum/design/unique_modkit/rapid_repeater
|
||||
name = "Kinetic Accelerator Rapid Repeater Mod"
|
||||
desc = "A device which greatly reduces a kinetic accelerator's cooldown on striking a living target or rock, but greatly increases its base cooldown."
|
||||
id = "repeatermod"
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_URANIUM = 8000, MAT_BLUESPACE = 2000)
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/uranium = 8000, /datum/material/bluespace = 2000)
|
||||
build_path = /obj/item/borg/upgrade/modkit/cooldown/repeater
|
||||
|
||||
/datum/design/unique_modkit/resonator_blast
|
||||
name = "Kinetic Accelerator Resonator Blast Mod"
|
||||
desc = "A device which causes kinetic accelerators to fire shots that leave and detonate resonator blasts."
|
||||
id = "resonatormod"
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_SILVER = 5000, MAT_URANIUM = 5000)
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/silver = 5000, /datum/material/uranium = 5000)
|
||||
build_path = /obj/item/borg/upgrade/modkit/resonator_blasts
|
||||
|
||||
/datum/design/unique_modkit/bounty
|
||||
name = "Kinetic Accelerator Death Syphon Mod"
|
||||
desc = "A device which causes kinetic accelerators to permanently gain damage against creature types killed with it."
|
||||
id = "bountymod"
|
||||
materials = list(MAT_METAL = 4000, MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_BLUESPACE = 4000)
|
||||
materials = list(/datum/material/iron = 4000, /datum/material/silver = 4000, /datum/material/gold = 4000, /datum/material/bluespace = 4000)
|
||||
reagents_list = list("blood" = 40)
|
||||
build_path = /obj/item/borg/upgrade/modkit/bounty
|
||||
|
||||
|
||||
@@ -47,8 +47,10 @@
|
||||
add_fingerprint(usr)
|
||||
|
||||
if(href_list["material"])
|
||||
machine.selected_material = href_list["material"]
|
||||
machine.selected_alloy = null
|
||||
var/datum/material/new_material = locate(href_list["material"])
|
||||
if(istype(new_material))
|
||||
machine.selected_material = new_material
|
||||
machine.selected_alloy = null
|
||||
|
||||
if(href_list["alloy"])
|
||||
machine.selected_material = null
|
||||
@@ -75,15 +77,16 @@
|
||||
density = TRUE
|
||||
var/obj/machinery/mineral/CONSOLE = null
|
||||
var/on = FALSE
|
||||
var/selected_material = MAT_METAL
|
||||
var/datum/material/selected_material = null
|
||||
var/selected_alloy = null
|
||||
var/datum/techweb/stored_research
|
||||
|
||||
/obj/machinery/mineral/processing_unit/Initialize()
|
||||
. = ..()
|
||||
proximity_monitor = new(src, 1)
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, TRUE, /obj/item/stack)
|
||||
AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, TRUE, /obj/item/stack)
|
||||
stored_research = new /datum/techweb/specialized/autounlocking/smelter
|
||||
selected_material = getmaterialref(/datum/material/iron)
|
||||
|
||||
/obj/machinery/mineral/processing_unit/Destroy()
|
||||
CONSOLE = null
|
||||
@@ -108,13 +111,13 @@
|
||||
/obj/machinery/mineral/processing_unit/proc/get_machine_data()
|
||||
var/dat = "<b>Smelter control console</b><br><br>"
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
for(var/mat_id in materials.materials)
|
||||
var/datum/material/M = materials.materials[mat_id]
|
||||
dat += "<span class=\"res_name\">[M.name]: </span>[M.amount] cm³"
|
||||
if (selected_material == mat_id)
|
||||
for(var/datum/material/M in materials.materials)
|
||||
var/amount = materials.materials[M]
|
||||
dat += "<span class=\"res_name\">[M.name]: </span>[amount] cm³"
|
||||
if (selected_material == M)
|
||||
dat += " <i>Smelting</i>"
|
||||
else
|
||||
dat += " <A href='?src=[REF(CONSOLE)];material=[mat_id]'><b>Not Smelting</b></A> "
|
||||
dat += " <A href='?src=[REF(CONSOLE)];material=[REF(M)]'><b>Not Smelting</b></A> "
|
||||
dat += "<br>"
|
||||
|
||||
dat += "<br><br>"
|
||||
@@ -153,14 +156,14 @@
|
||||
|
||||
/obj/machinery/mineral/processing_unit/proc/smelt_ore()
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
var/datum/material/mat = materials.materials[selected_material]
|
||||
var/datum/material/mat = selected_material
|
||||
if(mat)
|
||||
var/sheets_to_remove = (mat.amount >= (MINERAL_MATERIAL_AMOUNT * SMELT_AMOUNT) ) ? SMELT_AMOUNT : round(mat.amount / MINERAL_MATERIAL_AMOUNT)
|
||||
var/sheets_to_remove = (materials.materials[mat] >= (MINERAL_MATERIAL_AMOUNT * SMELT_AMOUNT) ) ? SMELT_AMOUNT : round(materials.materials[mat] / MINERAL_MATERIAL_AMOUNT)
|
||||
if(!sheets_to_remove)
|
||||
on = FALSE
|
||||
else
|
||||
var/out = get_step(src, output_dir)
|
||||
materials.retrieve_sheets(sheets_to_remove, selected_material, out)
|
||||
materials.retrieve_sheets(sheets_to_remove, mat, out)
|
||||
|
||||
|
||||
/obj/machinery/mineral/processing_unit/proc/smelt_alloy()
|
||||
@@ -176,7 +179,7 @@
|
||||
return
|
||||
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
materials.use_amount(alloy.materials, amount)
|
||||
materials.use_materials(alloy.materials, amount)
|
||||
|
||||
generate_mineral(alloy.build_path)
|
||||
|
||||
@@ -188,14 +191,11 @@
|
||||
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
|
||||
for(var/mat_id in D.materials)
|
||||
var/M = D.materials[mat_id]
|
||||
var/datum/material/smelter_mat = materials.materials[mat_id]
|
||||
for(var/mat_cat in D.materials)
|
||||
var/required_amount = D.materials[mat_cat]
|
||||
var/amount = materials.materials[mat_cat]
|
||||
|
||||
if(!M || !smelter_mat)
|
||||
return FALSE
|
||||
|
||||
build_amount = min(build_amount, round(smelter_mat.amount / M))
|
||||
build_amount = min(build_amount, round(amount / required_amount))
|
||||
|
||||
return build_amount
|
||||
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
layer = BELOW_OBJ_LAYER
|
||||
var/points = 0
|
||||
var/ore_pickup_rate = 15
|
||||
var/sheet_per_ore = 1
|
||||
var/ore_multiplier = 1
|
||||
var/point_upgrade = 1
|
||||
var/list/ore_values = list(MAT_GLASS = 1, MAT_METAL = 1, MAT_PLASMA = 15, MAT_SILVER = 16, MAT_GOLD = 18, MAT_TITANIUM = 30, MAT_URANIUM = 30, MAT_DIAMOND = 50, MAT_BLUESPACE = 50, MAT_BANANIUM = 60)
|
||||
var/list/ore_values = list(/datum/material/glass = 1, /datum/material/iron = 1, /datum/material/plasma = 15, /datum/material/silver = 16, /datum/material/gold = 18, /datum/material/titanium = 30, /datum/material/uranium = 30, /datum/material/diamond = 50, /datum/material/bluespace = 50, /datum/material/bananium = 60)
|
||||
var/message_sent = FALSE
|
||||
var/list/ore_buffer = list()
|
||||
var/datum/techweb/stored_research
|
||||
@@ -31,26 +31,27 @@
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/Destroy()
|
||||
QDEL_NULL(stored_research)
|
||||
materials = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/RefreshParts()
|
||||
var/ore_pickup_rate_temp = 15
|
||||
var/point_upgrade_temp = 1
|
||||
var/sheet_per_ore_temp = 1
|
||||
var/ore_multiplier_temp = 1
|
||||
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
|
||||
sheet_per_ore_temp = 0.65 + (0.35 * B.rating)
|
||||
ore_multiplier_temp = 0.65 + (0.35 * B.rating)
|
||||
for(var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
ore_pickup_rate_temp = 15 * M.rating
|
||||
for(var/obj/item/stock_parts/micro_laser/L in component_parts)
|
||||
point_upgrade_temp = 0.65 + (0.35 * L.rating)
|
||||
ore_pickup_rate = ore_pickup_rate_temp
|
||||
point_upgrade = point_upgrade_temp
|
||||
sheet_per_ore = sheet_per_ore_temp
|
||||
ore_multiplier = round(ore_multiplier_temp, 0.01)
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/examine(mob/user)
|
||||
. = ..()
|
||||
if(in_range(user, src) || isobserver(user))
|
||||
. += "<span class='notice'>The status display reads: Smelting <b>[sheet_per_ore]</b> sheet(s) per piece of ore.<br>Reward point generation at <b>[point_upgrade*100]%</b>.<br>Ore pickup speed at <b>[ore_pickup_rate]</b>.</span>"
|
||||
. += "<span class='notice'>The status display reads: Smelting <b>[ore_multiplier]</b> sheet(s) per piece of ore.<br>Reward point generation at <b>[point_upgrade*100]%</b>.<br>Ore pickup speed at <b>[ore_pickup_rate]</b>.</span>"
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/proc/smelt_ore(obj/item/stack/ore/O)
|
||||
var/datum/component/material_container/mat_container = materials.mat_container
|
||||
@@ -70,13 +71,13 @@
|
||||
if(!material_amount)
|
||||
qdel(O) //no materials, incinerate it
|
||||
|
||||
else if(!mat_container.has_space(material_amount * sheet_per_ore * O.amount)) //if there is no space, eject it
|
||||
else if(!mat_container.has_space(material_amount * O.amount)) //if there is no space, eject it
|
||||
unload_mineral(O)
|
||||
|
||||
else
|
||||
var/mats = O.materials & mat_container.materials
|
||||
var/mats = O.custom_materials & mat_container.materials
|
||||
var/amount = O.amount
|
||||
mat_container.insert_item(O, sheet_per_ore) //insert it
|
||||
mat_container.insert_item(O, ore_multiplier) //insert it
|
||||
materials.silo_log(src, "smelted", amount, "ores", mats)
|
||||
qdel(O)
|
||||
|
||||
@@ -87,14 +88,14 @@
|
||||
|
||||
var/build_amount = 0
|
||||
|
||||
for(var/mat_id in D.materials)
|
||||
var/M = D.materials[mat_id]
|
||||
var/datum/material/redemption_mat = mat_container.materials[mat_id]
|
||||
for(var/mat in D.materials)
|
||||
var/amount = D.materials[mat]
|
||||
var/datum/material/redemption_mat_amount = mat_container.materials[mat]
|
||||
|
||||
if(!M || !redemption_mat)
|
||||
if(!amount || !redemption_mat_amount)
|
||||
return FALSE
|
||||
|
||||
var/smeltable_sheets = FLOOR(redemption_mat.amount / M, 1)
|
||||
var/smeltable_sheets = FLOOR(redemption_mat_amount / amount, 1)
|
||||
|
||||
if(!smeltable_sheets)
|
||||
return FALSE
|
||||
@@ -124,9 +125,9 @@
|
||||
|
||||
var/has_minerals = FALSE
|
||||
|
||||
for(var/mat_id in mat_container.materials)
|
||||
var/datum/material/M = mat_container.materials[mat_id]
|
||||
var/mineral_amount = M.amount / MINERAL_MATERIAL_AMOUNT
|
||||
for(var/mat in mat_container.materials)
|
||||
var/datum/material/M = mat
|
||||
var/mineral_amount = mat_container.materials[mat] / MINERAL_MATERIAL_AMOUNT
|
||||
if(mineral_amount)
|
||||
has_minerals = TRUE
|
||||
msg += "[capitalize(M.name)]: [mineral_amount] sheets<br>"
|
||||
@@ -202,10 +203,12 @@
|
||||
data["materials"] = list()
|
||||
var/datum/component/material_container/mat_container = materials.mat_container
|
||||
if (mat_container)
|
||||
for(var/mat_id in mat_container.materials)
|
||||
var/datum/material/M = mat_container.materials[mat_id]
|
||||
var/sheet_amount = M.amount ? M.amount / MINERAL_MATERIAL_AMOUNT : "0"
|
||||
data["materials"] += list(list("name" = M.name, "id" = M.id, "amount" = sheet_amount, "value" = ore_values[M.id] * point_upgrade))
|
||||
for(var/mat in mat_container.materials)
|
||||
var/datum/material/M = mat
|
||||
var/amount = mat_container.materials[M]
|
||||
var/sheet_amount = amount / MINERAL_MATERIAL_AMOUNT
|
||||
var/ref = REF(M)
|
||||
data["materials"] += list(list("name" = M.name, "id" = ref, "amount" = sheet_amount, "value" = ore_values[M.type]))
|
||||
|
||||
data["alloys"] = list()
|
||||
for(var/v in stored_research.researched_designs)
|
||||
@@ -251,16 +254,18 @@
|
||||
if("Release")
|
||||
if(!mat_container)
|
||||
return
|
||||
|
||||
if(materials.on_hold())
|
||||
to_chat(usr, "<span class='warning'>Mineral access is on hold, please contact the quartermaster.</span>")
|
||||
else if(!allowed(usr)) //Check the ID inside, otherwise check the user
|
||||
to_chat(usr, "<span class='warning'>Required access not found.</span>")
|
||||
else
|
||||
var/mat_id = params["id"]
|
||||
if(!mat_container.materials[mat_id])
|
||||
var/datum/material/mat = locate(params["id"])
|
||||
|
||||
var/amount = mat_container.materials[mat]
|
||||
if(!amount)
|
||||
return
|
||||
var/datum/material/mat = mat_container.materials[mat_id]
|
||||
var/stored_amount = mat.amount / MINERAL_MATERIAL_AMOUNT
|
||||
var/stored_amount = CEILING(amount / MINERAL_MATERIAL_AMOUNT, 0.1)
|
||||
|
||||
if(!stored_amount)
|
||||
return
|
||||
@@ -272,9 +277,10 @@
|
||||
desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num
|
||||
|
||||
var/sheets_to_remove = round(min(desired,50,stored_amount))
|
||||
var/count = mat_container.retrieve_sheets(sheets_to_remove, mat_id, get_step(src, output_dir))
|
||||
|
||||
var/count = mat_container.retrieve_sheets(sheets_to_remove, mat, get_step(src, output_dir))
|
||||
var/list/mats = list()
|
||||
mats[mat_id] = MINERAL_MATERIAL_AMOUNT
|
||||
mats[mat] = MINERAL_MATERIAL_AMOUNT
|
||||
materials.silo_log(src, "released", -count, "sheets", mats)
|
||||
//Logging deleted for quick coding
|
||||
return TRUE
|
||||
@@ -315,7 +321,7 @@
|
||||
else
|
||||
desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num
|
||||
var/amount = round(min(desired,50,smelt_amount))
|
||||
mat_container.use_amount(alloy.materials, amount)
|
||||
mat_container.use_materials(alloy.materials, amount)
|
||||
materials.silo_log(src, "released", -amount, "sheets", alloy.materials)
|
||||
var/output
|
||||
if(ispath(alloy.build_path, /obj/item/stack/sheet))
|
||||
|
||||
@@ -16,7 +16,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
|
||||
/obj/machinery/ore_silo/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container,
|
||||
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC),
|
||||
list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/plastic),
|
||||
INFINITY,
|
||||
FALSE,
|
||||
/obj/item/stack,
|
||||
@@ -34,6 +34,8 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
|
||||
var/datum/component/remote_materials/mats = C
|
||||
mats.disconnect_from(src)
|
||||
|
||||
connected = null
|
||||
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
materials.retrieve_all()
|
||||
|
||||
@@ -49,7 +51,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
|
||||
if(!istype(I) || (I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION))
|
||||
to_chat(user, "<span class='warning'>[M] won't accept [I]!</span>")
|
||||
return
|
||||
var/item_mats = I.materials & materials.materials
|
||||
var/item_mats = I.custom_materials & materials.materials
|
||||
if(!length(item_mats))
|
||||
to_chat(user, "<span class='warning'>[I] does not contain sufficient materials to be accepted by [M].</span>")
|
||||
return
|
||||
@@ -75,15 +77,17 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
|
||||
var/list/ui = list("<head><title>Ore Silo</title></head><body><div class='statusDisplay'><h2>Stored Material:</h2>")
|
||||
var/any = FALSE
|
||||
for(var/M in materials.materials)
|
||||
var/datum/material/mat = materials.materials[M]
|
||||
var/sheets = round(mat.amount) / MINERAL_MATERIAL_AMOUNT
|
||||
var/datum/material/mat = M
|
||||
var/amount = materials.materials[M]
|
||||
var/sheets = round(amount) / MINERAL_MATERIAL_AMOUNT
|
||||
var/ref = REF(M)
|
||||
if (sheets)
|
||||
if (sheets >= 1)
|
||||
ui += "<a href='?src=[REF(src)];ejectsheet=[mat.id];eject_amt=1'>Eject</a>"
|
||||
ui += "<a href='?src=[REF(src)];ejectsheet=[ref];eject_amt=1'>Eject</a>"
|
||||
else
|
||||
ui += "<span class='linkOff'>Eject</span>"
|
||||
if (sheets >= 20)
|
||||
ui += "<a href='?src=[REF(src)];ejectsheet=[mat.id];eject_amt=20'>20x</a>"
|
||||
ui += "<a href='?src=[REF(src)];ejectsheet=[ref];eject_amt=20'>20x</a>"
|
||||
else
|
||||
ui += "<span class='linkOff'>20x</span>"
|
||||
ui += "<b>[mat.name]</b>: [sheets] sheets<br>"
|
||||
@@ -148,7 +152,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
|
||||
updateUsrDialog()
|
||||
return TRUE
|
||||
else if(href_list["ejectsheet"])
|
||||
var/eject_sheet = href_list["ejectsheet"]
|
||||
var/datum/material/eject_sheet = locate(href_list["ejectsheet"])
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
var/count = materials.retrieve_sheets(text2num(href_list["eject_amt"]), eject_sheet, drop_location())
|
||||
var/list/matlist = list()
|
||||
@@ -227,8 +231,9 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
|
||||
var/list/msg = list("([timestamp]) <b>[machine_name]</b> in [area_name]<br>[action] [abs(amount)]x [noun]<br>")
|
||||
var/sep = ""
|
||||
for(var/key in materials)
|
||||
var/datum/material/M = key
|
||||
var/val = round(materials[key]) / MINERAL_MATERIAL_AMOUNT
|
||||
msg += sep
|
||||
sep = ", "
|
||||
msg += "[amount < 0 ? "-" : "+"][val] [copytext(key, length(key[1]) + 1)]"
|
||||
msg += "[amount < 0 ? "-" : "+"][val] [M.name]"
|
||||
formatted = msg.Join()
|
||||
|
||||
@@ -86,6 +86,11 @@
|
||||
proximity_monitor = new(src, 1)
|
||||
materials = AddComponent(/datum/component/remote_materials, "stacking", mapload, FALSE, mapload && force_connect)
|
||||
|
||||
/obj/machinery/mineral/stacking_machine/Destroy()
|
||||
CONSOLE = null
|
||||
materials = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/mineral/stacking_machine/HasProximity(atom/movable/AM)
|
||||
if(istype(AM, /obj/item/stack/sheet) && AM.loc == get_step(src, input_dir))
|
||||
process_sheet(AM)
|
||||
@@ -107,9 +112,9 @@
|
||||
qdel(inp)
|
||||
|
||||
if(materials.silo && !materials.on_hold()) //Dump the sheets to the silo
|
||||
var/matlist = storage.materials & materials.mat_container.materials
|
||||
var/matlist = storage.custom_materials & materials.mat_container.materials
|
||||
if (length(matlist))
|
||||
var/inserted = materials.mat_container.insert_stack(storage)
|
||||
var/inserted = materials.mat_container.insert_item(storage)
|
||||
materials.silo_log(src, "collected", inserted, "sheets", matlist)
|
||||
if (QDELETED(storage))
|
||||
stack_list -= key
|
||||
|
||||
+44
-23
@@ -8,14 +8,28 @@
|
||||
density = TRUE
|
||||
var/newCoins = 0 //how many coins the machine made in it's last load
|
||||
var/processing = FALSE
|
||||
var/chosen = MAT_METAL //which material will be used to make coins
|
||||
var/chosen = /datum/material/iron //which material will be used to make coins
|
||||
var/coinsToProduce = 10
|
||||
speed_process = TRUE
|
||||
|
||||
|
||||
/obj/machinery/mineral/mint/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack)
|
||||
AddComponent(/datum/component/material_container, list(
|
||||
/datum/material/iron,
|
||||
/datum/material/plasma,
|
||||
/datum/material/silver,
|
||||
/datum/material/gold,
|
||||
/datum/material/uranium,
|
||||
/datum/material/titanium,
|
||||
/datum/material/diamond,
|
||||
/datum/material/bananium,
|
||||
/datum/material/adamantine,
|
||||
/datum/material/mythril,
|
||||
/datum/material/plastic,
|
||||
/datum/material/runite
|
||||
), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack)
|
||||
chosen = getmaterialref(chosen)
|
||||
|
||||
/obj/machinery/mineral/mint/process()
|
||||
var/turf/T = get_step(src, input_dir)
|
||||
@@ -24,7 +38,9 @@
|
||||
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
for(var/obj/item/stack/sheet/O in T)
|
||||
materials.insert_stack(O, O.amount)
|
||||
var/inserted = materials.insert_item(O)
|
||||
if(inserted)
|
||||
qdel(O)
|
||||
|
||||
/obj/machinery/mineral/mint/attack_hand(mob/user)
|
||||
. = ..()
|
||||
@@ -33,17 +49,17 @@
|
||||
var/dat = "<b>Coin Press</b><br>"
|
||||
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
for(var/mat_id in materials.materials)
|
||||
var/datum/material/M = materials.materials[mat_id]
|
||||
if(!M.amount && chosen != mat_id)
|
||||
for(var/datum/material/M in materials.materials)
|
||||
var/amount = materials.get_material_amount(M)
|
||||
if(!amount && chosen != M)
|
||||
continue
|
||||
dat += "<br><b>[M.name] amount:</b> [M.amount] cm<sup>3</sup> "
|
||||
if (chosen == mat_id)
|
||||
dat += "<br><b>[M.name] amount:</b> [amount] cm<sup>3</sup> "
|
||||
if (chosen == M)
|
||||
dat += "<b>Chosen</b>"
|
||||
else
|
||||
dat += "<A href='?src=[REF(src)];choose=[mat_id]'>Choose</A>"
|
||||
dat += "<A href='?src=[REF(src)];choose=[REF(M)]'>Choose</A>"
|
||||
|
||||
var/datum/material/M = materials.materials[chosen]
|
||||
var/datum/material/M = chosen
|
||||
|
||||
dat += "<br><br>Will produce [coinsToProduce] [lowertext(M.name)] coins if enough materials are available.<br>"
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=-10'>-10</A> "
|
||||
@@ -67,22 +83,24 @@
|
||||
return
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
if(href_list["choose"])
|
||||
if(materials.materials[href_list["choose"]])
|
||||
chosen = href_list["choose"]
|
||||
var/datum/material/new_material = locate(href_list["choose"])
|
||||
if(istype(new_material))
|
||||
chosen = new_material
|
||||
if(href_list["chooseAmt"])
|
||||
coinsToProduce = CLAMP(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000)
|
||||
updateUsrDialog()
|
||||
if(href_list["makeCoins"])
|
||||
var/temp_coins = coinsToProduce
|
||||
processing = TRUE
|
||||
icon_state = "coinpress1"
|
||||
var/coin_mat = MINERAL_MATERIAL_AMOUNT * 0.2
|
||||
var/datum/material/M = materials.materials[chosen]
|
||||
if(!M || !M.coin_type)
|
||||
var/datum/material/M = chosen
|
||||
if(!M)
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
while(coinsToProduce > 0 && materials.use_amount_type(coin_mat, chosen))
|
||||
create_coins(M.coin_type)
|
||||
while(coinsToProduce > 0 && materials.use_amount_mat(coin_mat, chosen))
|
||||
create_coins()
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
@@ -94,12 +112,15 @@
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/mineral/mint/proc/create_coins(P)
|
||||
/obj/machinery/mineral/mint/proc/create_coins()
|
||||
var/turf/T = get_step(src,output_dir)
|
||||
var/temp_list = list()
|
||||
temp_list[chosen] = 400
|
||||
if(T)
|
||||
var/obj/item/O = new P(src)
|
||||
var/obj/item/storage/bag/money/M = locate(/obj/item/storage/bag/money, T)
|
||||
if(!M)
|
||||
M = new /obj/item/storage/bag/money(src)
|
||||
unload_mineral(M)
|
||||
O.forceMove(M)
|
||||
var/obj/item/O = new /obj/item/coin(src)
|
||||
var/obj/item/storage/bag/money/B = locate(/obj/item/storage/bag/money, T)
|
||||
O.set_custom_materials(temp_list)
|
||||
if(!B)
|
||||
B = new /obj/item/storage/bag/money(src)
|
||||
unload_mineral(B)
|
||||
O.forceMove(B)
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
var/points = 0 //How many points this ore gets you from the ore redemption machine
|
||||
var/refined_type = null //What this ore defaults to being refined into
|
||||
novariants = TRUE // Ore stacks handle their icon updates themselves to keep the illusion that there's more going
|
||||
mats_per_stack = MINERAL_MATERIAL_AMOUNT
|
||||
var/list/stack_overlays
|
||||
|
||||
/obj/item/stack/ore/update_icon()
|
||||
@@ -69,7 +70,8 @@
|
||||
item_state = "Uranium ore"
|
||||
singular_name = "uranium ore chunk"
|
||||
points = 30
|
||||
materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/uranium=MINERAL_MATERIAL_AMOUNT)
|
||||
material_flags = MATERIAL_NO_EFFECTS
|
||||
refined_type = /obj/item/stack/sheet/mineral/uranium
|
||||
|
||||
/obj/item/stack/ore/iron
|
||||
@@ -78,7 +80,7 @@
|
||||
item_state = "Iron ore"
|
||||
singular_name = "iron ore chunk"
|
||||
points = 1
|
||||
materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/metal
|
||||
|
||||
/obj/item/stack/ore/glass
|
||||
@@ -87,7 +89,7 @@
|
||||
item_state = "Glass ore"
|
||||
singular_name = "sand pile"
|
||||
points = 1
|
||||
materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/glass
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
@@ -135,7 +137,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
item_state = "Plasma ore"
|
||||
singular_name = "plasma ore chunk"
|
||||
points = 15
|
||||
materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/plasma
|
||||
|
||||
/obj/item/stack/ore/plasma/welder_act(mob/living/user, obj/item/I)
|
||||
@@ -149,7 +151,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
item_state = "Silver ore"
|
||||
singular_name = "silver ore chunk"
|
||||
points = 16
|
||||
materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/silver
|
||||
|
||||
/obj/item/stack/ore/gold
|
||||
@@ -158,7 +160,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
icon_state = "Gold ore"
|
||||
singular_name = "gold ore chunk"
|
||||
points = 18
|
||||
materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/gold=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/gold
|
||||
|
||||
/obj/item/stack/ore/diamond
|
||||
@@ -167,7 +169,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
item_state = "Diamond ore"
|
||||
singular_name = "diamond ore chunk"
|
||||
points = 50
|
||||
materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/diamond=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/diamond
|
||||
|
||||
/obj/item/stack/ore/bananium
|
||||
@@ -176,7 +178,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
item_state = "Bananium ore"
|
||||
singular_name = "bananium ore chunk"
|
||||
points = 60
|
||||
materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/bananium
|
||||
|
||||
/obj/item/stack/ore/titanium
|
||||
@@ -185,7 +187,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
item_state = "Titanium ore"
|
||||
singular_name = "titanium ore chunk"
|
||||
points = 50
|
||||
materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT)
|
||||
refined_type = /obj/item/stack/sheet/mineral/titanium
|
||||
|
||||
/obj/item/stack/ore/slag
|
||||
@@ -313,18 +315,33 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/coin
|
||||
icon = 'icons/obj/economy.dmi'
|
||||
name = "coin"
|
||||
icon_state = "coin__heads"
|
||||
icon_state = "coin"
|
||||
flags_1 = CONDUCT_1
|
||||
force = 1
|
||||
throwforce = 2
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
custom_materials = list(/datum/material/iron = 400)
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR
|
||||
var/string_attached
|
||||
var/list/sideslist = list("heads","tails")
|
||||
var/cmineral = null
|
||||
var/cooldown = 0
|
||||
var/value = 1
|
||||
var/value
|
||||
var/coinflip
|
||||
|
||||
/obj/item/coin/Initialize()
|
||||
. = ..()
|
||||
coinflip = pick(sideslist)
|
||||
icon_state = "coin_[coinflip]"
|
||||
pixel_x = rand(0,16)-8
|
||||
pixel_y = rand(0,8)-8
|
||||
|
||||
/obj/item/coin/set_custom_materials(list/materials, multiplier = 1)
|
||||
. = ..()
|
||||
value = 0
|
||||
for(var/i in custom_materials)
|
||||
var/datum/material/M = i
|
||||
value += M.value_per_unit * custom_materials[M]
|
||||
|
||||
/obj/item/coin/suicide_act(mob/living/user)
|
||||
user.visible_message("<span class='suicide'>[user] contemplates suicide with \the [src]!</span>")
|
||||
if (!attack_self(user))
|
||||
@@ -342,101 +359,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
else
|
||||
user.visible_message("<span class='suicide'>\the [src] lands on [coinflip]! [user] keeps on living!</span>")
|
||||
|
||||
/obj/item/coin/Initialize()
|
||||
. = ..()
|
||||
pixel_x = rand(0,16)-8
|
||||
pixel_y = rand(0,8)-8
|
||||
|
||||
/obj/item/coin/examine(mob/user)
|
||||
. = ..()
|
||||
if(value)
|
||||
. += "<span class='info'>It's worth [value] credit\s.</span>"
|
||||
|
||||
/obj/item/coin/gold
|
||||
name = "gold coin"
|
||||
cmineral = "gold"
|
||||
icon_state = "coin_gold_heads"
|
||||
value = 50
|
||||
materials = list(MAT_GOLD = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/gold = 4)
|
||||
|
||||
/obj/item/coin/silver
|
||||
name = "silver coin"
|
||||
cmineral = "silver"
|
||||
icon_state = "coin_silver_heads"
|
||||
value = 20
|
||||
materials = list(MAT_SILVER = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/silver = 4)
|
||||
|
||||
/obj/item/coin/diamond
|
||||
name = "diamond coin"
|
||||
cmineral = "diamond"
|
||||
icon_state = "coin_diamond_heads"
|
||||
value = 500
|
||||
materials = list(MAT_DIAMOND = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/carbon = 4)
|
||||
|
||||
/obj/item/coin/iron
|
||||
name = "iron coin"
|
||||
cmineral = "iron"
|
||||
icon_state = "coin_iron_heads"
|
||||
value = 1
|
||||
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/iron = 4)
|
||||
|
||||
/obj/item/coin/plasma
|
||||
name = "plasma coin"
|
||||
cmineral = "plasma"
|
||||
icon_state = "coin_plasma_heads"
|
||||
value = 100
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/toxin/plasma = 4)
|
||||
|
||||
/obj/item/coin/uranium
|
||||
name = "uranium coin"
|
||||
cmineral = "uranium"
|
||||
icon_state = "coin_uranium_heads"
|
||||
value = 80
|
||||
materials = list(MAT_URANIUM = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/uranium = 4)
|
||||
|
||||
/obj/item/coin/bananium
|
||||
name = "bananium coin"
|
||||
cmineral = "bananium"
|
||||
icon_state = "coin_bananium_heads"
|
||||
value = 1000 //makes the clown cry
|
||||
materials = list(MAT_BANANIUM = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
grind_results = list(/datum/reagent/consumable/banana = 4)
|
||||
|
||||
/obj/item/coin/adamantine
|
||||
name = "adamantine coin"
|
||||
cmineral = "adamantine"
|
||||
icon_state = "coin_adamantine_heads"
|
||||
value = 1500
|
||||
|
||||
/obj/item/coin/mythril
|
||||
name = "mythril coin"
|
||||
cmineral = "mythril"
|
||||
icon_state = "coin_mythril_heads"
|
||||
value = 3000
|
||||
|
||||
/obj/item/coin/twoheaded
|
||||
cmineral = "iron"
|
||||
icon_state = "coin_iron_heads"
|
||||
desc = "Hey, this coin's the same on both sides!"
|
||||
sideslist = list("heads")
|
||||
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
value = 1
|
||||
grind_results = list(/datum/reagent/iron = 4)
|
||||
|
||||
/obj/item/coin/antagtoken
|
||||
name = "antag token"
|
||||
icon_state = "coin_valid_valid"
|
||||
cmineral = "valid"
|
||||
desc = "A novelty coin that helps the heart know what hard evidence cannot prove."
|
||||
sideslist = list("valid", "salad")
|
||||
value = 0
|
||||
grind_results = list(/datum/reagent/consumable/sodiumchloride = 4)
|
||||
. += "<span class='info'>It's worth [value] credit\s.</span>"
|
||||
|
||||
/obj/item/coin/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/stack/cable_coil))
|
||||
@@ -470,10 +395,10 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
if(string_attached) //does the coin have a wire attached
|
||||
to_chat(user, "<span class='warning'>The coin won't flip very well with something attached!</span>" )
|
||||
return FALSE//do not flip the coin
|
||||
coinflip = pick(sideslist)
|
||||
cooldown = world.time + 15
|
||||
flick("coin_[cmineral]_flip", src)
|
||||
icon_state = "coin_[cmineral]_[coinflip]"
|
||||
flick("coin_[coinflip]_flip", src)
|
||||
coinflip = pick(sideslist)
|
||||
icon_state = "coin_[coinflip]"
|
||||
playsound(user.loc, 'sound/items/coinflip.ogg', 50, 1)
|
||||
var/oldloc = loc
|
||||
sleep(15)
|
||||
@@ -483,5 +408,51 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
"<span class='italics'>You hear the clattering of loose change.</span>")
|
||||
return TRUE//did the coin flip? useful for suicide_act
|
||||
|
||||
/obj/item/coin/gold
|
||||
custom_materials = list(/datum/material/gold = 400)
|
||||
|
||||
/obj/item/coin/silver
|
||||
custom_materials = list(/datum/material/silver = 400)
|
||||
|
||||
/obj/item/coin/diamond
|
||||
custom_materials = list(/datum/material/diamond = 400)
|
||||
|
||||
/obj/item/coin/plasma
|
||||
custom_materials = list(/datum/material/plasma = 400)
|
||||
|
||||
/obj/item/coin/uranium
|
||||
custom_materials = list(/datum/material/uranium = 400)
|
||||
|
||||
/obj/item/coin/titanium
|
||||
custom_materials = list(/datum/material/titanium = 400)
|
||||
|
||||
/obj/item/coin/bananium
|
||||
custom_materials = list(/datum/material/bananium = 400)
|
||||
|
||||
/obj/item/coin/adamantine
|
||||
custom_materials = list(/datum/material/adamantine = 400)
|
||||
|
||||
/obj/item/coin/mythril
|
||||
custom_materials = list(/datum/material/mythril = 400)
|
||||
|
||||
/obj/item/coin/plastic
|
||||
custom_materials = list(/datum/material/plastic = 400)
|
||||
|
||||
/obj/item/coin/runite
|
||||
custom_materials = list(/datum/material/runite = 400)
|
||||
|
||||
/obj/item/coin/twoheaded
|
||||
desc = "Hey, this coin's the same on both sides!"
|
||||
sideslist = list("heads")
|
||||
|
||||
/obj/item/coin/antagtoken
|
||||
name = "antag token"
|
||||
desc = "A novelty coin that helps the heart know what hard evidence cannot prove."
|
||||
icon_state = "coin_valid"
|
||||
custom_materials = list(/datum/material/plastic = 400)
|
||||
sideslist = list("valid", "salad")
|
||||
material_flags = NONE
|
||||
|
||||
/obj/item/coin/iron
|
||||
|
||||
#undef ORESTACK_OVERLAYS_MAX
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/ore_box/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/rad_insulation, 0.01) //please datum mats no more cancer
|
||||
|
||||
/obj/structure/ore_box/crowbar_act(mob/living/user, obj/item/I)
|
||||
if(I.use_tool(src, user, 50, volume=50))
|
||||
user.visible_message("[user] pries \the [src] apart.",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
|
||||
/mob/living/carbon/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE)
|
||||
SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone)
|
||||
var/hit_percent = (100-blocked)/100
|
||||
if(!forced && hit_percent <= 0)
|
||||
return 0
|
||||
|
||||
@@ -1926,6 +1926,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
log_combat(user, target, "shoved", append_message)
|
||||
|
||||
/datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, forced = FALSE)
|
||||
SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone)
|
||||
var/hit_percent = (100-(blocked+armor))/100
|
||||
hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100
|
||||
if(!forced && hit_percent <= 0)
|
||||
|
||||
@@ -544,6 +544,12 @@
|
||||
/mob/living/proc/update_damage_overlays()
|
||||
return
|
||||
|
||||
/mob/living/Crossed(atom/movable/AM)
|
||||
. = ..()
|
||||
for(var/i in get_equipped_items())
|
||||
var/obj/item/item = i
|
||||
SEND_SIGNAL(item, COMSIG_ITEM_WEARERCROSSED, AM)
|
||||
|
||||
/mob/living/Move(atom/newloc, direct)
|
||||
if (buckled && buckled.loc != newloc) //not updating position
|
||||
if (!buckled.anchored)
|
||||
|
||||
@@ -97,8 +97,8 @@
|
||||
var/obj/item/stack/S = I
|
||||
|
||||
if(is_type_in_list(S, list(/obj/item/stack/sheet/metal, /obj/item/stack/rods, /obj/item/stack/tile/plasteel)))
|
||||
if(S.materials[MAT_METAL])
|
||||
S.cost = S.materials[MAT_METAL] * 0.25
|
||||
if(S.custom_materials?.len && S.custom_materials[getmaterialref(/datum/material/iron)])
|
||||
S.cost = S.custom_materials[getmaterialref(/datum/material/iron)] * 0.25
|
||||
S.source = get_or_create_estorage(/datum/robot_energy_storage/metal)
|
||||
|
||||
else if(istype(S, /obj/item/stack/sheet/glass))
|
||||
@@ -127,7 +127,7 @@
|
||||
S.source = get_or_create_estorage(/datum/robot_energy_storage/wrapping_paper)
|
||||
|
||||
if(S && S.source)
|
||||
S.materials = list()
|
||||
S.custom_materials = null
|
||||
S.is_cyborg = 1
|
||||
|
||||
if(I.loc != src)
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
/mob/living/simple_animal/hostile/dark_wizard
|
||||
name = "Dark Wizard"
|
||||
desc = "Killing amateurs since the dawn of times."
|
||||
icon = 'icons/mob/simple_human.dmi'
|
||||
icon_state = "dark_wizard"
|
||||
icon_living = "dark_wizard"
|
||||
move_to_delay = 10
|
||||
projectiletype = /obj/item/projectile/temp/earth_bolt
|
||||
projectilesound = 'sound/magic/ethereal_enter.ogg'
|
||||
ranged = TRUE
|
||||
ranged_message = "earth bolts"
|
||||
ranged_cooldown_time = 20
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
harm_intent_damage = 5
|
||||
obj_damage = 20
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
attacktext = "staves"
|
||||
a_intent = INTENT_HARM
|
||||
speak_emote = list("chants")
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
aggro_vision_range = 9
|
||||
turns_per_move = 5
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
faction = list(ROLE_WIZARD)
|
||||
do_footstep = TRUE
|
||||
weather_immunities = list("lava","ash")
|
||||
minbodytemp = 0
|
||||
maxbodytemp = INFINITY
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
loot = list(/obj/effect/decal/remains/human)
|
||||
|
||||
/obj/item/projectile/temp/earth_bolt
|
||||
name = "earth_bolt"
|
||||
icon_state = "declone"
|
||||
damage = 4
|
||||
damage_type = BURN
|
||||
flag = "energy"
|
||||
@@ -29,7 +29,7 @@
|
||||
var/max_hardware_size = 0 // Maximal hardware w_class. Tablets/PDAs have 1, laptops 2, consoles 4.
|
||||
var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
|
||||
|
||||
integrity_failure = 50
|
||||
integrity_failure = 0.5
|
||||
max_integrity = 100
|
||||
armor = list("melee" = 0, "bullet" = 20, "laser" = 20, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0)
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
|
||||
/obj/item/modular_computer/examine(mob/user)
|
||||
. = ..()
|
||||
if(obj_integrity <= integrity_failure)
|
||||
if(obj_integrity <= integrity_failure * max_integrity)
|
||||
. += "<span class='danger'>It is heavily damaged!</span>"
|
||||
else if(obj_integrity < max_integrity)
|
||||
. += "<span class='warning'>It is damaged.</span>"
|
||||
@@ -219,7 +219,7 @@
|
||||
else
|
||||
add_overlay(icon_state_menu)
|
||||
|
||||
if(obj_integrity <= integrity_failure)
|
||||
if(obj_integrity <= integrity_failure * max_integrity)
|
||||
add_overlay("bsod")
|
||||
add_overlay("broken")
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
|
||||
/obj/item/modular_computer/proc/turn_on(mob/user)
|
||||
var/issynth = issilicon(user) // Robots and AIs get different activation messages.
|
||||
if(obj_integrity <= integrity_failure)
|
||||
if(obj_integrity <= integrity_failure * max_integrity)
|
||||
if(issynth)
|
||||
to_chat(user, "<span class='warning'>You send an activation signal to \the [src], but it responds with an error code. It must be damaged.</span>")
|
||||
else
|
||||
@@ -265,7 +265,7 @@
|
||||
last_power_usage = 0
|
||||
return 0
|
||||
|
||||
if(obj_integrity <= integrity_failure)
|
||||
if(obj_integrity <= integrity_failure * max_integrity)
|
||||
shutdown_computer()
|
||||
return 0
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
else
|
||||
add_overlay(screen_icon_state_menu)
|
||||
|
||||
if(cpu && cpu.obj_integrity <= cpu.integrity_failure)
|
||||
if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity)
|
||||
add_overlay("bsod")
|
||||
add_overlay("broken")
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
steel_sheet_cost = 10
|
||||
light_strength = 2
|
||||
max_integrity = 300
|
||||
integrity_failure = 150
|
||||
integrity_failure = 0.5
|
||||
var/console_department = "" // Used in New() to set network tag according to our area.
|
||||
|
||||
/obj/machinery/modular_computer/console/buildable/Initialize()
|
||||
|
||||
@@ -4,7 +4,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
name = "newscaster frame"
|
||||
desc = "Used to build newscasters, just secure to the wall."
|
||||
icon_state = "newscaster"
|
||||
materials = list(MAT_METAL=14000, MAT_GLASS=8000)
|
||||
custom_materials = list(/datum/material/iron=14000, /datum/material/glass=8000)
|
||||
result_path = /obj/machinery/newscaster
|
||||
|
||||
/obj/machinery/newscaster
|
||||
@@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
verb_exclaim = "beeps"
|
||||
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30)
|
||||
max_integrity = 200
|
||||
integrity_failure = 50
|
||||
integrity_failure = 0.25
|
||||
var/screen = 0
|
||||
var/paper_remaining = 15
|
||||
var/securityCaster = 0
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
materials = list(MAT_METAL=10)
|
||||
custom_materials = list(/datum/material/iron=10)
|
||||
pressure_resistance = 2
|
||||
grind_results = list(/datum/reagent/iron = 2, /datum/reagent/iodine = 1)
|
||||
var/colour = "black" //what colour the ink is!
|
||||
@@ -79,7 +79,7 @@
|
||||
throwforce = 5
|
||||
throw_speed = 4
|
||||
colour = "crimson"
|
||||
materials = list(MAT_GOLD = 750)
|
||||
custom_materials = list(/datum/material/gold = 750)
|
||||
sharpness = IS_SHARP
|
||||
resistance_flags = FIRE_PROOF
|
||||
unique_reskin = list("Oak" = "pen-fountain-o",
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
active_power_usage = 200
|
||||
power_channel = EQUIP
|
||||
max_integrity = 300
|
||||
integrity_failure = 100
|
||||
integrity_failure = 0.33
|
||||
var/obj/item/paper/copy = null //what's in the copier!
|
||||
var/obj/item/photo/photocopy = null
|
||||
var/obj/item/documents/doccopy = null
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
materials = list(MAT_METAL=60)
|
||||
custom_materials = list(/datum/material/iron=60)
|
||||
item_color = "cargo"
|
||||
pressure_resistance = 2
|
||||
attack_verb = list("stamped")
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = ITEM_SLOT_NECK
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 150)
|
||||
custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 150)
|
||||
var/flash_enabled = TRUE
|
||||
var/state_on = "camera"
|
||||
var/state_off = "camera_off"
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FLAMMABLE
|
||||
materials = list(MAT_METAL = 10, MAT_GLASS = 10)
|
||||
custom_materials = list(/datum/material/iron = 10, /datum/material/glass = 10)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "picture frame"
|
||||
desc = "The perfect showcase for your favorite deathtrap memories."
|
||||
icon = 'icons/obj/decals.dmi'
|
||||
materials = list()
|
||||
custom_materials = null
|
||||
flags_1 = 0
|
||||
icon_state = "frame-empty"
|
||||
result_path = /obj/structure/sign/picture_frame
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
throwforce = 5
|
||||
throw_speed = 1
|
||||
throw_range = 2
|
||||
materials = list(MAT_METAL=100)
|
||||
custom_materials = list(/datum/material/iron=100)
|
||||
|
||||
/obj/item/am_shielding_container/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/multitool) && istype(src.loc, /turf))
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
use_power = NO_POWER_USE
|
||||
req_access = null
|
||||
max_integrity = 300
|
||||
integrity_failure = 50
|
||||
integrity_failure = 0.17
|
||||
var/damage_deflection = 10
|
||||
resistance_flags = FIRE_PROOF
|
||||
armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50)
|
||||
|
||||
@@ -488,7 +488,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
materials = list(MAT_METAL=10, MAT_GLASS=5)
|
||||
custom_materials = list(/datum/material/iron=10, /datum/material/glass=5)
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
|
||||
@@ -499,7 +499,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
|
||||
|
||||
/obj/item/stack/cable_coil/cyborg
|
||||
is_cyborg = 1
|
||||
materials = list()
|
||||
custom_materials = null
|
||||
cost = 1
|
||||
|
||||
/obj/item/stack/cable_coil/cyborg/attack_self(mob/user)
|
||||
|
||||
+12
-12
@@ -13,8 +13,8 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/charge = 0 // note %age conveted to actual charge in New
|
||||
var/maxcharge = 1000
|
||||
custom_materials = list(/datum/material/iron=700, /datum/material/glass=50)
|
||||
var/start_charged = TRUE
|
||||
materials = list(MAT_METAL=700, MAT_GLASS=50)
|
||||
grind_results = list(/datum/reagent/lithium = 15, /datum/reagent/iron = 5, /datum/reagent/silicon = 5)
|
||||
var/rigged = FALSE // true if rigged to explode
|
||||
var/chargerate = 100 //how much power is given every tick in a recharger
|
||||
@@ -172,7 +172,7 @@
|
||||
name = "\improper Nanotrasen brand rechargeable AA battery"
|
||||
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
|
||||
maxcharge = 500
|
||||
materials = list(MAT_GLASS=40)
|
||||
custom_materials = list(/datum/material/glass=40)
|
||||
|
||||
/obj/item/stock_parts/cell/crap/empty
|
||||
start_charged = FALSE
|
||||
@@ -181,7 +181,7 @@
|
||||
name = "upgraded power cell"
|
||||
desc = "A power cell with a slightly higher capacity than normal!"
|
||||
maxcharge = 2500
|
||||
materials = list(MAT_GLASS=50)
|
||||
custom_materials = list(/datum/material/glass=50)
|
||||
chargerate = 1000
|
||||
|
||||
/obj/item/stock_parts/cell/upgraded/plus
|
||||
@@ -192,7 +192,7 @@
|
||||
/obj/item/stock_parts/cell/secborg
|
||||
name = "security borg rechargeable D battery"
|
||||
maxcharge = 1250 //25/12/6 disabler/laser/taser shots.
|
||||
materials = list(MAT_GLASS=40)
|
||||
custom_materials = list(/datum/material/glass=40)
|
||||
|
||||
/obj/item/stock_parts/cell/secborg/empty
|
||||
start_charged = FALSE
|
||||
@@ -218,7 +218,7 @@
|
||||
name = "high-capacity power cell"
|
||||
icon_state = "hcell"
|
||||
maxcharge = 10000
|
||||
materials = list(MAT_GLASS=60)
|
||||
custom_materials = list(/datum/material/glass=60)
|
||||
chargerate = 1500
|
||||
|
||||
/obj/item/stock_parts/cell/high/plus
|
||||
@@ -235,7 +235,7 @@
|
||||
name = "super-capacity power cell"
|
||||
icon_state = "scell"
|
||||
maxcharge = 20000
|
||||
materials = list(MAT_GLASS=300)
|
||||
custom_materials = list(/datum/material/glass=300)
|
||||
chargerate = 2000
|
||||
|
||||
/obj/item/stock_parts/cell/super/empty
|
||||
@@ -245,7 +245,7 @@
|
||||
name = "hyper-capacity power cell"
|
||||
icon_state = "hpcell"
|
||||
maxcharge = 30000
|
||||
materials = list(MAT_GLASS=400)
|
||||
custom_materials = list(/datum/material/glass=400)
|
||||
chargerate = 3000
|
||||
|
||||
/obj/item/stock_parts/cell/hyper/empty
|
||||
@@ -256,7 +256,7 @@
|
||||
desc = "A rechargeable transdimensional power cell."
|
||||
icon_state = "bscell"
|
||||
maxcharge = 40000
|
||||
materials = list(MAT_GLASS=600)
|
||||
custom_materials = list(/datum/material/glass=600)
|
||||
chargerate = 4000
|
||||
|
||||
/obj/item/stock_parts/cell/bluespace/empty
|
||||
@@ -266,7 +266,7 @@
|
||||
name = "infinite-capacity power cell!"
|
||||
icon_state = "icell"
|
||||
maxcharge = 30000
|
||||
materials = list(MAT_GLASS=1000)
|
||||
custom_materials = list(/datum/material/glass=1000)
|
||||
rating = 100
|
||||
chargerate = 30000
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
icon_state = "potato"
|
||||
charge = 100
|
||||
maxcharge = 300
|
||||
materials = list()
|
||||
custom_materials = null
|
||||
grown_battery = TRUE //it has the overlays for wires
|
||||
|
||||
/obj/item/stock_parts/cell/high/slime
|
||||
@@ -300,7 +300,7 @@
|
||||
desc = "A yellow slime core infused with plasma, it crackles with power."
|
||||
icon = 'icons/mob/slimes.dmi'
|
||||
icon_state = "yellow slime extract"
|
||||
materials = list()
|
||||
custom_materials = null
|
||||
rating = 5 //self-recharge makes these desirable
|
||||
self_recharge = 1 // Infused slime cores self-recharge, over time
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
name = "miniature power cell"
|
||||
desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage."
|
||||
maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell
|
||||
materials = list(MAT_GLASS = 20)
|
||||
custom_materials = list(/datum/material/glass = 20)
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/stock_parts/cell/emergency_light/Initialize()
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
icon_state = "floodlight"
|
||||
density = TRUE
|
||||
max_integrity = 100
|
||||
integrity_failure = 80
|
||||
integrity_failure = 0.8
|
||||
idle_power_usage = 100
|
||||
active_power_usage = 1000
|
||||
var/list/light_setting_list = list(0, 5, 10, 15)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
name = "small light fixture frame"
|
||||
icon_state = "bulb-construct-item"
|
||||
result_path = /obj/structure/light_construct/small
|
||||
materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/wallframe/light_fixture/try_build(turf/on_wall, user)
|
||||
if(!..())
|
||||
@@ -726,7 +726,7 @@
|
||||
var/status = LIGHT_OK // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN
|
||||
var/base_state
|
||||
var/switchcount = 0 // number of times switched
|
||||
materials = list(MAT_GLASS=100)
|
||||
custom_materials = list(/datum/material/glass=100)
|
||||
grind_results = list(/datum/reagent/silicon = 5, /datum/reagent/nitrogen = 10) //Nitrogen is used as a cheaper alternative to argon in incandescent lighbulbs
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/brightness = 2 //how much light it gives off
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
req_access = list(ACCESS_ENGINE_EQUIP)
|
||||
// use_power = NO_POWER_USE
|
||||
max_integrity = 350
|
||||
integrity_failure = 80
|
||||
integrity_failure = 0.2
|
||||
circuit = /obj/item/circuitboard/machine/rad_collector
|
||||
var/obj/item/tank/internals/plasma/loaded_tank = null
|
||||
var/stored_power = 0
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
active_power_usage = 0
|
||||
var/id = 0
|
||||
max_integrity = 150
|
||||
integrity_failure = 50
|
||||
integrity_failure = 0.33
|
||||
var/obscured = 0
|
||||
var/sunfrac = 0
|
||||
var/adir = SOUTH // actual dir
|
||||
@@ -265,7 +265,7 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 250
|
||||
max_integrity = 200
|
||||
integrity_failure = 100
|
||||
integrity_failure = 0.5
|
||||
var/icon_screen = "solar"
|
||||
var/icon_keyboard = "power_key"
|
||||
var/id = 0
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
density = TRUE
|
||||
use_power = NO_POWER_USE
|
||||
max_integrity = 250
|
||||
integrity_failure = 50
|
||||
integrity_failure = 0.2
|
||||
|
||||
var/id = 0
|
||||
var/sun_angle = 0 // sun angle as set by sun datum
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
throwforce = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
materials = list(MAT_METAL = 500)
|
||||
custom_materials = list(/datum/material/iron = 500)
|
||||
var/fire_sound = null //What sound should play when this ammo is fired
|
||||
var/caliber = list() //Which kind of guns it can be loaded into
|
||||
var/projectile_type = null //The bullet type to create when New() is called
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
icon_state = "blshell"
|
||||
caliber = "shotgun"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_slug
|
||||
materials = list(MAT_METAL=4000)
|
||||
custom_materials = list(/datum/material/iron=4000)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/beanbag
|
||||
name = "beanbag slug"
|
||||
desc = "A weak beanbag slug for riot control."
|
||||
icon_state = "bshell"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_beanbag
|
||||
materials = list(MAT_METAL=250)
|
||||
custom_materials = list(/datum/material/iron=250)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/incendiary
|
||||
name = "incendiary slug"
|
||||
@@ -34,7 +34,7 @@
|
||||
desc = "A stunning taser slug."
|
||||
icon_state = "stunshell"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_stunslug
|
||||
materials = list(MAT_METAL=250)
|
||||
custom_materials = list(/datum/material/iron=250)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/meteorslug
|
||||
name = "meteorslug shell"
|
||||
@@ -71,14 +71,14 @@
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/shotgun_rubbershot
|
||||
pellets = 6
|
||||
variance = 25
|
||||
materials = list(MAT_METAL=4000)
|
||||
custom_materials = list(/datum/material/iron=4000)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised
|
||||
name = "improvised shell"
|
||||
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards."
|
||||
icon_state = "improvshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/shotgun_improvised
|
||||
materials = list(MAT_METAL=250)
|
||||
custom_materials = list(/datum/material/iron=250)
|
||||
pellets = 10
|
||||
variance = 25
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
caliber = "foam_force"
|
||||
icon = 'icons/obj/guns/toy.dmi'
|
||||
icon_state = "foamdart"
|
||||
materials = list(MAT_METAL = 11.25)
|
||||
custom_materials = list(/datum/material/iron = 11.25)
|
||||
harmful = FALSE
|
||||
var/modified = FALSE
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up."
|
||||
projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/riot
|
||||
icon_state = "foamdart_riot"
|
||||
materials = list(MAT_METAL = 1125)
|
||||
custom_materials = list(/datum/material/iron = 1125)
|
||||
|
||||
/obj/item/ammo_casing/caseless/foam_dart/mag
|
||||
name = "magfoam dart"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
item_state = "syringe_kit"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
materials = list(MAT_METAL = 30000)
|
||||
custom_materials = list(/datum/material/iron = 30000)
|
||||
throwforce = 2
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 3
|
||||
@@ -26,8 +26,8 @@
|
||||
/obj/item/ammo_box/Initialize()
|
||||
. = ..()
|
||||
if (!bullet_cost)
|
||||
for (var/material in materials)
|
||||
var/material_amount = materials[material]
|
||||
for (var/material in custom_materials)
|
||||
var/material_amount = custom_materials[material]
|
||||
LAZYSET(base_cost, material, (material_amount * 0.10))
|
||||
|
||||
material_amount *= 0.90 // 10% for the container
|
||||
@@ -121,7 +121,8 @@
|
||||
for (var/material in bullet_cost)
|
||||
var/material_amount = bullet_cost[material]
|
||||
material_amount = (material_amount*stored_ammo.len) + base_cost[material]
|
||||
materials[material] = material_amount
|
||||
custom_materials[material] = material_amount
|
||||
set_custom_materials(custom_materials)//make sure we setup the correct properties again
|
||||
|
||||
//Behavior for magazines
|
||||
/obj/item/ammo_box/magazine/proc/ammo_count()
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
ammo_type = /obj/item/ammo_casing/c38
|
||||
max_ammo = 6
|
||||
multiple_sprites = 1
|
||||
materials = list(MAT_METAL = 20000)
|
||||
custom_materials = list(/datum/material/iron = 20000)
|
||||
|
||||
/obj/item/ammo_box/c38/lethal
|
||||
name = "speed loader (.38)"
|
||||
@@ -85,7 +85,7 @@
|
||||
icon_state = "foambox"
|
||||
ammo_type = /obj/item/ammo_casing/caseless/foam_dart
|
||||
max_ammo = 40
|
||||
materials = list(MAT_METAL = 500)
|
||||
custom_materials = list(/datum/material/iron = 500)
|
||||
|
||||
/obj/item/ammo_box/foambox/mag
|
||||
name = "ammo box (Magnetic Foam Darts)"
|
||||
@@ -97,4 +97,4 @@
|
||||
/obj/item/ammo_box/foambox/riot
|
||||
icon_state = "foambox_riot"
|
||||
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot
|
||||
materials = list(MAT_METAL = 50000)
|
||||
custom_materials = list(/datum/material/iron = 50000)
|
||||
|
||||
@@ -64,4 +64,4 @@
|
||||
max_ammo = 24
|
||||
multiple_sprites = 2
|
||||
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag
|
||||
materials = list(MAT_METAL = 200)
|
||||
custom_materials = list(/datum/material/iron = 200)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
item_state = "gun"
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
materials = list(MAT_METAL=2000)
|
||||
custom_materials = list(/datum/material/iron=2000)
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throwforce = 5
|
||||
throw_speed = 3
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
slowdown = 1
|
||||
slot_flags = null
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
materials = list()
|
||||
custom_materials = null
|
||||
burst_size = 3
|
||||
automatic = 0
|
||||
fire_delay = 1
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "laser"
|
||||
item_state = "laser"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
materials = list(MAT_METAL=2000)
|
||||
custom_materials = list(/datum/material/iron=2000)
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/lasergun)
|
||||
ammo_x_offset = 1
|
||||
shaded_charge = 1
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
icon_state = "crossbow"
|
||||
item_state = "crossbow"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=2000)
|
||||
custom_materials = list(/datum/material/iron=2000)
|
||||
suppressed = TRUE
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/bolt)
|
||||
weapon_weight = WEAPON_LIGHT
|
||||
@@ -108,7 +108,7 @@
|
||||
desc = "A reverse engineered weapon using syndicate technology. This thing seems incredibly unwieldly, and seems to be using similar internals to the Proto-Kinetic Accelerator. It might not play nice when brought near weapons similar to it."
|
||||
icon_state = "crossbowlarge"
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
materials = list(MAT_METAL=4000)
|
||||
custom_materials = list(/datum/material/iron=4000)
|
||||
suppressed = null
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/bolt/large)
|
||||
weapon_weight = WEAPON_HEAVY
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
fire_sound = 'sound/weapons/beam_sniper.ogg'
|
||||
slot_flags = ITEM_SLOT_BACK
|
||||
force = 15
|
||||
materials = list()
|
||||
custom_materials = null
|
||||
recoil = 4
|
||||
ammo_x_offset = 3
|
||||
ammo_y_offset = 3
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
force = 4
|
||||
materials = list(MAT_METAL=2000)
|
||||
custom_materials = list(/datum/material/iron=2000)
|
||||
clumsy_check = FALSE
|
||||
fire_sound = 'sound/items/syringeproj.ogg'
|
||||
var/time_per_syringe = 250
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
force = 5
|
||||
var/list/grenades = new/list()
|
||||
var/max_grenades = 3
|
||||
materials = list(MAT_METAL=2000)
|
||||
custom_materials = list(/datum/material/iron=2000)
|
||||
|
||||
/obj/item/gun/grenadelauncher/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
force = 4
|
||||
materials = list(MAT_METAL=2000)
|
||||
custom_materials = list(/datum/material/iron=2000)
|
||||
clumsy_check = 0
|
||||
fire_sound = 'sound/items/syringeproj.ogg'
|
||||
var/list/syringes = list()
|
||||
@@ -108,7 +108,7 @@
|
||||
desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach."
|
||||
icon_state = "dartgun"
|
||||
item_state = "dartgun"
|
||||
materials = list(MAT_METAL=2000, MAT_GLASS=500)
|
||||
custom_materials = list(/datum/material/iron=2000, /datum/material/glass=500)
|
||||
suppressed = TRUE //Softer fire sound
|
||||
can_unsuppress = FALSE
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
volume = 60
|
||||
icon_state = "beaker"
|
||||
item_state = "beaker"
|
||||
materials = list(MAT_GLASS=500)
|
||||
custom_materials = list(/datum/material/glass=500)
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,60)
|
||||
container_flags = PH_WEAK|APTFT_ALTCLICK|APTFT_VERB
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
/obj/item/reagent_containers/glass/beaker/glass_dish
|
||||
name = "glass dish"
|
||||
desc = "A tiny glass dish. It can hold up to 3 units. Unable to withstand reagents of an extreme pH."
|
||||
materials = list(MAT_GLASS=500)
|
||||
custom_materials = list(/datum/material/glass = 500)
|
||||
icon_state = "glass_disk"
|
||||
possible_transfer_amounts = list(0.1,0.5,0.75,1,2,3)
|
||||
volume = 3
|
||||
@@ -167,21 +167,21 @@
|
||||
/obj/item/reagent_containers/glass/beaker/flask/large
|
||||
name = "large flask"
|
||||
desc = "A large flask. It can hold up to 80 units. Unable to withstand reagents of an extreme pH."
|
||||
materials = list(MAT_GLASS=2500)
|
||||
custom_materials = list(/datum/material/glass = 2500)
|
||||
icon_state = "flasklarge"
|
||||
volume = 80
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/flask
|
||||
name = "small flask"
|
||||
desc = "A small flask. It can hold up to 40 units. Unable to withstand reagents of an extreme pH."
|
||||
materials = list(MAT_GLASS=1000)
|
||||
custom_materials = list(/datum/material/glass = 1000)
|
||||
icon_state = "flasksmall"
|
||||
volume = 40
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/flask/spouty
|
||||
name = "flask with spout"
|
||||
desc = "A flask with a spout! It can hold up to 120 units. Unable to withstand reagents of an extreme pH."
|
||||
materials = list(MAT_GLASS=2500)
|
||||
custom_materials = list(/datum/material/glass = 2500)
|
||||
icon_state = "flaskspouty"
|
||||
possible_transfer_amounts = list(1,2,3,4,5,10,15,20,25,30,50,100,120)
|
||||
volume = 120
|
||||
@@ -190,7 +190,7 @@
|
||||
name = "large beaker"
|
||||
desc = "A large beaker. Can hold up to 120 units. Unable to withstand reagents of an extreme pH."
|
||||
icon_state = "beakerlarge"
|
||||
materials = list(MAT_GLASS=2500)
|
||||
custom_materials = list(/datum/material/glass=2500)
|
||||
volume = 120
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120)
|
||||
@@ -200,7 +200,7 @@
|
||||
name = "x-large beaker"
|
||||
desc = "An extra-large beaker. Can hold up to 180 units. Is able to resist acid and alkaline solutions, but melts at 444 K."
|
||||
icon_state = "beakerwhite"
|
||||
materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000)
|
||||
custom_materials = list(/datum/material/glass=2500, /datum/material/plastic=3000)
|
||||
volume = 180
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120,180)
|
||||
@@ -215,7 +215,7 @@
|
||||
name = "metamaterial beaker"
|
||||
desc = "A large beaker. Can hold up to 240 units, and is able to withstand all chemical situations."
|
||||
icon_state = "beakergold"
|
||||
materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000, MAT_GOLD=1000, MAT_TITANIUM=1000)
|
||||
custom_materials = list(/datum/material/glass=2500, /datum/material/plastic=3000, /datum/material/gold=1000, /datum/material/titanium=1000)
|
||||
volume = 240
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120,200,240)
|
||||
@@ -226,7 +226,7 @@
|
||||
desc = "A cryostasis beaker that allows for chemical storage without \
|
||||
reactions. Can hold up to 50 units."
|
||||
icon_state = "beakernoreact"
|
||||
materials = list(MAT_METAL=3000)
|
||||
custom_materials = list(/datum/material/iron=3000)
|
||||
reagent_flags = OPENCONTAINER | NO_REACT
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 10
|
||||
@@ -239,8 +239,9 @@
|
||||
and Element Cuban combined with the Compound Pete. Can hold up to \
|
||||
300 units. Unable to withstand reagents of an extreme pH."
|
||||
icon_state = "beakerbluespace"
|
||||
materials = list(MAT_GLASS=3000)
|
||||
custom_materials = list(/datum/material/glass = 5000, /datum/material/plasma = 3000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000)
|
||||
volume = 300
|
||||
material_flags = MATERIAL_NO_EFFECTS
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300)
|
||||
container_HP = 5
|
||||
@@ -281,7 +282,7 @@
|
||||
item_state = "bucket"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
|
||||
materials = list(MAT_METAL=200)
|
||||
custom_materials = list(/datum/material/iron=200)
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
amount_per_transfer_from_this = 20
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,70)
|
||||
@@ -348,7 +349,7 @@
|
||||
icon_state = "smallbottle"
|
||||
item_state = "bottle"
|
||||
list_reagents = list(/datum/reagent/water = 49.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard
|
||||
materials = list(MAT_GLASS=0)
|
||||
custom_materials = list(/datum/material/glass=0)
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50)
|
||||
@@ -361,7 +362,7 @@
|
||||
/obj/item/reagent_containers/glass/beaker/waterbottle/large
|
||||
desc = "A fresh commercial-sized bottle of water."
|
||||
icon_state = "largebottle"
|
||||
materials = list(MAT_GLASS=0)
|
||||
custom_materials = list(/datum/material/glass=0)
|
||||
list_reagents = list(/datum/reagent/water = 100)
|
||||
volume = 100
|
||||
amount_per_transfer_from_this = 20
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
var/mode = SYRINGE_DRAW
|
||||
var/busy = FALSE // needed for delayed drawing of blood
|
||||
var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun
|
||||
materials = list(MAT_METAL=10, MAT_GLASS=20)
|
||||
custom_materials = list(/datum/material/iron=10, /datum/material/glass=20)
|
||||
reagent_flags = TRANSPARENT
|
||||
|
||||
/obj/item/reagent_containers/syringe/Initialize()
|
||||
|
||||
@@ -7,15 +7,6 @@ For the materials datum, it assumes you need reagents unless specified otherwise
|
||||
you use one of the material IDs below. These are NOT ids in the usual sense (they aren't defined in the object or part of a datum),
|
||||
they are simply references used as part of a "has materials?" type proc. They all start with a $ to denote that they aren't reagents.
|
||||
The currently supporting non-reagent materials. All material amounts are set as the define MINERAL_MATERIAL_AMOUNT, which defaults to 2000
|
||||
- MAT_METAL (/obj/item/stack/metal).
|
||||
- MAT_GLASS (/obj/item/stack/glass).
|
||||
- MAT_PLASMA (/obj/item/stack/plasma).
|
||||
- MAT_SILVER (/obj/item/stack/silver).
|
||||
- MAT_GOLD (/obj/item/stack/gold).
|
||||
- MAT_URANIUM (/obj/item/stack/uranium).
|
||||
- MAT_DIAMOND (/obj/item/stack/diamond).
|
||||
- MAT_BANANIUM (/obj/item/stack/bananium).
|
||||
(Insert new ones here)
|
||||
|
||||
Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials.
|
||||
|
||||
@@ -57,6 +48,17 @@ other types of metals and chemistry for reagents).
|
||||
SSresearch.techweb_designs -= id
|
||||
return ..()
|
||||
|
||||
/datum/design/proc/InitializeMaterials()
|
||||
var/list/temp_list = list()
|
||||
for(var/i in materials) //Go through all of our materials, get the subsystem instance, and then replace the list.
|
||||
var/amount = materials[i]
|
||||
if(!istext(i)) //Not a category, so get the ref the normal way
|
||||
var/datum/material/M = getmaterialref(i)
|
||||
temp_list[M] = amount
|
||||
else
|
||||
temp_list[i] = amount
|
||||
materials = temp_list
|
||||
|
||||
/datum/design/proc/icon_html(client/user)
|
||||
var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs)
|
||||
sheet.send(user)
|
||||
@@ -70,7 +72,7 @@ other types of metals and chemistry for reagents).
|
||||
name = "Component Design Disk"
|
||||
desc = "A disk for storing device design data for construction in lathes."
|
||||
icon_state = "datadisk1"
|
||||
materials = list(MAT_METAL=300, MAT_GLASS=100)
|
||||
custom_materials = list(/datum/material/iron=300, /datum/material/glass=100)
|
||||
var/list/blueprints = list()
|
||||
var/max_blueprints = 1
|
||||
|
||||
@@ -84,5 +86,5 @@ other types of metals and chemistry for reagents).
|
||||
/obj/item/disk/design_disk/adv
|
||||
name = "Advanced Component Design Disk"
|
||||
desc = "A disk for storing device design data for construction in lathes. This one has extra storage space."
|
||||
materials = list(MAT_METAL=300, MAT_GLASS=100, MAT_SILVER = 50)
|
||||
custom_materials = list(/datum/material/iron=300, /datum/material/glass=100, /datum/material/silver = 50)
|
||||
max_blueprints = 5
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
name = "Module Design (Safeguard)"
|
||||
desc = "Allows for the construction of a Safeguard AI Module."
|
||||
id = "safeguard_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000)
|
||||
build_path = /obj/item/aiModule/supplied/safeguard
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -23,7 +23,7 @@
|
||||
name = "Module Design (OneCrew)"
|
||||
desc = "Allows for the construction of a OneCrew AI Module."
|
||||
id = "onehuman_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 6000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 6000)
|
||||
build_path = /obj/item/aiModule/zeroth/oneHuman
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -32,7 +32,7 @@
|
||||
name = "Module Design (ProtectStation)"
|
||||
desc = "Allows for the construction of a ProtectStation AI Module."
|
||||
id = "protectstation_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000)
|
||||
build_path = /obj/item/aiModule/supplied/protectStation
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -41,7 +41,7 @@
|
||||
name = "Module Design (Quarantine)"
|
||||
desc = "Allows for the construction of a Quarantine AI Module."
|
||||
id = "quarantine_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000)
|
||||
build_path = /obj/item/aiModule/supplied/quarantine
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -50,7 +50,7 @@
|
||||
name = "Module Design (OxygenIsToxicToHumans)"
|
||||
desc = "Allows for the construction of a Safeguard AI Module."
|
||||
id = "oxygen_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000)
|
||||
build_path = /obj/item/aiModule/supplied/oxygen
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -59,7 +59,7 @@
|
||||
name = "Module Design (Freeform)"
|
||||
desc = "Allows for the construction of a Freeform AI Module."
|
||||
id = "freeform_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 10000)//Custom inputs should be more expensive to get
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/gold = 10000)//Custom inputs should be more expensive to get
|
||||
build_path = /obj/item/aiModule/supplied/freeform
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -68,7 +68,7 @@
|
||||
name = "Module Design (Reset)"
|
||||
desc = "Allows for the construction of a Reset AI Module."
|
||||
id = "reset_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000)
|
||||
build_path = /obj/item/aiModule/reset
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -77,7 +77,7 @@
|
||||
name = "Module Design (Purge)"
|
||||
desc = "Allows for the construction of a Purge AI Module."
|
||||
id = "purge_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/reset/purge
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -86,7 +86,7 @@
|
||||
name = "Module Design (Law Removal)"
|
||||
desc = "Allows for the construction of a Law Removal AI Core Module."
|
||||
id = "remove_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/remove
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -95,7 +95,7 @@
|
||||
name = "AI Core Module (Freeform)"
|
||||
desc = "Allows for the construction of a Freeform AI Core Module."
|
||||
id = "freeformcore_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 10000)//Ditto
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 10000)//Ditto
|
||||
build_path = /obj/item/aiModule/core/freeformcore
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -104,7 +104,7 @@
|
||||
name = "Core Module Design (Asimov)"
|
||||
desc = "Allows for the construction of an Asimov AI Core Module."
|
||||
id = "asimov_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/core/full/asimov
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -114,7 +114,7 @@
|
||||
desc = "Allows for the construction of a P.A.L.A.D.I.N. AI Core Module."
|
||||
id = "paladin_module"
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/core/full/paladin
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -123,7 +123,7 @@
|
||||
name = "Core Module Design (T.Y.R.A.N.T.)"
|
||||
desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module."
|
||||
id = "tyrant_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/core/full/tyrant
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -132,7 +132,7 @@
|
||||
name = "Core Module Design (Corporate)"
|
||||
desc = "Allows for the construction of a Corporate AI Core Module."
|
||||
id = "corporate_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/core/full/corp
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -141,7 +141,7 @@
|
||||
name = "Core Module Design (Default)"
|
||||
desc = "Allows for the construction of a Default AI Core Module."
|
||||
id = "default_module"
|
||||
materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000)
|
||||
materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000)
|
||||
build_path = /obj/item/aiModule/core/full/custom
|
||||
category = list("AI Modules")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
name = "Machine Design (AutoBottler)"
|
||||
desc = "Allows for the construction of circuit boards used to build an Autobottler."
|
||||
id = "autobottler"
|
||||
materials = list(MAT_GLASS = 2000)
|
||||
materials = list(/datum/material/glass = 2000)
|
||||
build_path = /obj/item/circuitboard/machine/autobottler
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/bottle
|
||||
materials = list(MAT_GLASS = 1200)
|
||||
materials = list(/datum/material/glass = 1200)
|
||||
build_type = AUTOBOTTLER
|
||||
category = list("Storge")
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
build_path = /obj/item/reagent_containers/food/drinks/bottle/grenadine/empty
|
||||
|
||||
/datum/design/bottle/export
|
||||
materials = list(MAT_GLASS = 1200)
|
||||
materials = list(/datum/material/glass = 1200)
|
||||
build_type = AUTOBOTTLER
|
||||
category = list("Brands")
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
name = "Metal Rod"
|
||||
id = "rods"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1000)
|
||||
materials = list(/datum/material/iron = 1000)
|
||||
build_path = /obj/item/stack/rods
|
||||
category = list("initial","Construction")
|
||||
maxstack = 50
|
||||
@@ -20,7 +20,7 @@
|
||||
name = "Metal"
|
||||
id = "metal"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT)
|
||||
materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/metal
|
||||
category = list("initial","Construction")
|
||||
maxstack = 50
|
||||
@@ -29,7 +29,7 @@
|
||||
name = "Glass"
|
||||
id = "glass"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
materials = list(/datum/material/glass = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/glass
|
||||
category = list("initial","Construction")
|
||||
maxstack = 50
|
||||
@@ -38,7 +38,7 @@
|
||||
name = "Reinforced Glass"
|
||||
id = "rglass"
|
||||
build_type = AUTOLATHE | SMELTER | PROTOLATHE
|
||||
materials = list(MAT_METAL = 1000, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
materials = list(/datum/material/iron = 1000, /datum/material/glass = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/rglass
|
||||
category = list("initial","Construction","Stock Parts")
|
||||
maxstack = 50
|
||||
@@ -47,7 +47,7 @@
|
||||
name = "Light Tube"
|
||||
id = "light_tube"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = 100)
|
||||
materials = list(/datum/material/glass = 100)
|
||||
build_path = /obj/item/light/tube
|
||||
category = list("initial", "Construction")
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
name = "Light Bulb"
|
||||
id = "light_bulb"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = 100)
|
||||
materials = list(/datum/material/glass = 100)
|
||||
build_path = /obj/item/light/bulb
|
||||
category = list("initial", "Construction")
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
name = "Camera Assembly"
|
||||
id = "camera_assembly"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 400, MAT_GLASS = 250)
|
||||
materials = list(/datum/material/iron = 400, /datum/material/glass = 250)
|
||||
build_path = /obj/item/wallframe/camera
|
||||
category = list("initial", "Construction")
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
name = "Newscaster Frame"
|
||||
id = "newscaster_frame"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 14000, MAT_GLASS = 8000)
|
||||
materials = list(/datum/material/iron = 14000, /datum/material/glass = 8000)
|
||||
build_path = /obj/item/wallframe/newscaster
|
||||
category = list("initial", "Construction")
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
name = "Turret Control Frame"
|
||||
id = "turret_control"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 12000)
|
||||
materials = list(/datum/material/iron = 12000)
|
||||
build_path = /obj/item/wallframe/turret_control
|
||||
category = list("initial", "Construction")
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
name = "Conveyor Belt"
|
||||
id = "conveyor_belt"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 3000)
|
||||
materials = list(/datum/material/iron = 3000)
|
||||
build_path = /obj/item/stack/conveyor
|
||||
category = list("initial", "Construction")
|
||||
maxstack = 30
|
||||
@@ -96,7 +96,7 @@
|
||||
name = "Conveyor Belt Switch"
|
||||
id = "conveyor_switch"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 450, MAT_GLASS = 190)
|
||||
materials = list(/datum/material/iron = 450, /datum/material/glass = 190)
|
||||
build_path = /obj/item/conveyor_switch_construct
|
||||
category = list("initial", "Construction")
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
name = "Compressed Matter Cartridge"
|
||||
id = "rcd_ammo"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 12000, MAT_GLASS = 8000)
|
||||
materials = list(/datum/material/iron = 12000, /datum/material/glass=8000)
|
||||
build_path = /obj/item/rcd_ammo
|
||||
category = list("initial","Construction","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -113,7 +113,7 @@
|
||||
name = "Large Compressed Matter Cartridge"
|
||||
id = "rcd_ammo_large"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 48000, MAT_GLASS = 32000)
|
||||
materials = list(/datum/material/iron = 48000, /datum/material/glass = 32000)
|
||||
build_path = /obj/item/rcd_ammo/large
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
name = "APC Module"
|
||||
id = "power control"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 100, /datum/material/glass = 100)
|
||||
build_path = /obj/item/electronics/apc
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -19,7 +19,7 @@
|
||||
name = "Airlock Electronics"
|
||||
id = "airlock_board"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
|
||||
build_path = /obj/item/electronics/airlock
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -28,7 +28,7 @@
|
||||
name = "Firelock Circuitry"
|
||||
id = "firelock_board"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
|
||||
build_path = /obj/item/electronics/firelock
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -37,7 +37,7 @@
|
||||
name = "Air Alarm Electronics"
|
||||
id = "airalarm_electronics"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
|
||||
build_path = /obj/item/electronics/airalarm
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -46,7 +46,7 @@
|
||||
name = "Fire Alarm Electronics"
|
||||
id = "firealarm_electronics"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
|
||||
build_path = /obj/item/electronics/firealarm
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -55,7 +55,7 @@
|
||||
name = "Destination Tagger"
|
||||
id = "desttagger"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 250, MAT_GLASS = 125)
|
||||
materials = list(/datum/material/iron = 250, /datum/material/glass = 125)
|
||||
build_path = /obj/item/destTagger
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
name = "Hand Labeler"
|
||||
id = "handlabel"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 150, MAT_GLASS = 125)
|
||||
materials = list(/datum/material/iron = 150, /datum/material/glass = 125)
|
||||
build_path = /obj/item/hand_labeler
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
@@ -71,6 +71,6 @@
|
||||
name = "Light Fixture Battery"
|
||||
id = "miniature_power_cell"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = 20)
|
||||
materials = list(/datum/material/glass = 20)
|
||||
build_path = /obj/item/stock_parts/cell/emergency_light
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
+21
-21
@@ -9,7 +9,7 @@
|
||||
name = "Kitchen Knife"
|
||||
id = "kitchen_knife"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 12000)
|
||||
materials = list(/datum/material/iron = 12000)
|
||||
build_path = /obj/item/kitchen/knife
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
name = "Fork"
|
||||
id = "fork"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 80)
|
||||
materials = list(/datum/material/iron = 80)
|
||||
build_path = /obj/item/kitchen/fork
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
name = "Tray"
|
||||
id = "tray"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 3000)
|
||||
materials = list(/datum/material/iron = 3000)
|
||||
build_path = /obj/item/storage/bag/tray
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
name = "Bowl"
|
||||
id = "bowl"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = 500)
|
||||
materials = list(/datum/material/glass = 500)
|
||||
build_path = /obj/item/reagent_containers/glass/bowl
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
name = "Drinking Glass"
|
||||
id = "drinking_glass"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = 500)
|
||||
materials = list(/datum/material/glass = 500)
|
||||
build_path = /obj/item/reagent_containers/food/drinks/drinkingglass
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
name = "Shot Glass"
|
||||
id = "shot_glass"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_GLASS = 100)
|
||||
materials = list(/datum/material/glass = 100)
|
||||
build_path = /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
name = "Shaker"
|
||||
id = "shaker"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1500)
|
||||
materials = list(/datum/material/iron = 1500)
|
||||
build_path = /obj/item/reagent_containers/food/drinks/shaker
|
||||
category = list("initial","Dinnerware")
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
name = "Scalpel"
|
||||
id = "scalpel"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 4000, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/iron = 4000, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/scalpel
|
||||
category = list("initial", "Medical","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -78,7 +78,7 @@
|
||||
name = "Circular Saw"
|
||||
id = "circular_saw"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
|
||||
materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000)
|
||||
build_path = /obj/item/circular_saw
|
||||
category = list("initial", "Medical","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -87,7 +87,7 @@
|
||||
name = "Surgical Drill"
|
||||
id = "surgicaldrill"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
|
||||
materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000)
|
||||
build_path = /obj/item/surgicaldrill
|
||||
category = list("initial", "Medical","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -96,7 +96,7 @@
|
||||
name = "Retractor"
|
||||
id = "retractor"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 6000, MAT_GLASS = 3000)
|
||||
materials = list(/datum/material/iron = 6000, /datum/material/glass = 3000)
|
||||
build_path = /obj/item/retractor
|
||||
category = list("initial", "Medical","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -105,7 +105,7 @@
|
||||
name = "Cautery"
|
||||
id = "cautery"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 2500, MAT_GLASS = 750)
|
||||
materials = list(/datum/material/iron = 2500, /datum/material/glass = 750)
|
||||
build_path = /obj/item/cautery
|
||||
category = list("initial", "Medical","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -114,7 +114,7 @@
|
||||
name = "Hemostat"
|
||||
id = "hemostat"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500)
|
||||
build_path = /obj/item/hemostat
|
||||
category = list("initial", "Medical","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -123,7 +123,7 @@
|
||||
name = "Beaker"
|
||||
id = "beaker"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_GLASS = 500)
|
||||
materials = list(/datum/material/glass = 500)
|
||||
build_path = /obj/item/reagent_containers/glass/beaker
|
||||
category = list("initial", "Medical","Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -132,7 +132,7 @@
|
||||
name = "Large Beaker"
|
||||
id = "large_beaker"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_GLASS = 2500)
|
||||
materials = list(/datum/material/glass = 2500)
|
||||
build_path = /obj/item/reagent_containers/glass/beaker/large
|
||||
category = list("initial", "Medical","Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -141,7 +141,7 @@
|
||||
name = "Health Analyzer"
|
||||
id = "healthanalyzer"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 500, /datum/material/glass = 50)
|
||||
build_path = /obj/item/healthanalyzer
|
||||
category = list("initial", "Medical")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
@@ -150,7 +150,7 @@
|
||||
name = "Pill Bottle"
|
||||
id = "pillbottle"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 20, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 20, /datum/material/glass = 100)
|
||||
build_path = /obj/item/storage/pill_bottle
|
||||
category = list("initial", "Medical","Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
@@ -159,7 +159,7 @@
|
||||
name = "Syringe"
|
||||
id = "syringe"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10, MAT_GLASS = 20)
|
||||
materials = list(/datum/material/iron = 10, /datum/material/glass = 20)
|
||||
build_path = /obj/item/reagent_containers/syringe
|
||||
category = list("initial", "Medical")
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
name = "Health Sensor"
|
||||
id = "health_sensor"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
|
||||
materials = list(/datum/material/iron = 800, /datum/material/glass = 200)
|
||||
build_path = /obj/item/assembly/health
|
||||
category = list("initial", "Medical")
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
name = "Hypovial"
|
||||
id = "hypovial"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 500)
|
||||
materials = list(/datum/material/iron = 500)
|
||||
build_path = /obj/item/reagent_containers/glass/bottle/vial/small
|
||||
category = list("initial","Medical","Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
@@ -184,7 +184,7 @@
|
||||
name = "Large Hypovial"
|
||||
id = "large_hypovial"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 2500)
|
||||
materials = list(/datum/material/iron = 2500)
|
||||
build_path = /obj/item/reagent_containers/glass/bottle/vial/large
|
||||
category = list("initial","Medical","Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
+23
-23
@@ -9,7 +9,7 @@
|
||||
name = "Beanbag Slug"
|
||||
id = "beanbag_slug"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 250)
|
||||
materials = list(/datum/material/iron = 250)
|
||||
build_path = /obj/item/ammo_casing/shotgun/beanbag
|
||||
category = list("initial", "Security")
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
name = "Rubber Shot"
|
||||
id = "rubber_shot"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 4000)
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/shotgun/rubbershot
|
||||
category = list("initial", "Security")
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
name = "Speed Loader (.38 rubber)"
|
||||
id = "c38"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 20000)
|
||||
materials = list(/datum/material/iron = 20000)
|
||||
build_path = /obj/item/ammo_box/c38
|
||||
category = list("initial", "Security")
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
name = "Industrial Welding Tool"
|
||||
id = "large_welding_tool"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 70, MAT_GLASS = 60)
|
||||
materials = list(/datum/material/iron = 70, /datum/material/glass = 60)
|
||||
build_path = /obj/item/weldingtool/largetank
|
||||
category = list("hacked", "Tools")
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
name = "Flamethrower"
|
||||
id = "flamethrower"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500)
|
||||
materials = list(/datum/material/iron = 500)
|
||||
build_path = /obj/item/flamethrower/full
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
name = "Rapid Construction Device (RCD)"
|
||||
id = "rcd"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30000)
|
||||
materials = list(/datum/material/iron = 30000)
|
||||
build_path = /obj/item/construction/rcd
|
||||
category = list("hacked", "Construction")
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
name = "Rapid Pipe Dispenser (RPD)"
|
||||
id = "rpd"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 75000, MAT_GLASS = 37500)
|
||||
materials = list(/datum/material/iron = 75000, /datum/material/glass = 37500)
|
||||
build_path = /obj/item/pipe_dispenser
|
||||
category = list("hacked", "Construction")
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
name = "Handcuffs"
|
||||
id = "handcuffs"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500)
|
||||
materials = list(/datum/material/iron = 500)
|
||||
build_path = /obj/item/restraints/handcuffs
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
name = "Modular Receiver"
|
||||
id = "receiver"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 15000)
|
||||
materials = list(/datum/material/iron = 15000)
|
||||
build_path = /obj/item/weaponcrafting/receiver
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
name = "Shotgun Slug"
|
||||
id = "shotgun_slug"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 4000)
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/shotgun
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
name = "Buckshot Shell"
|
||||
id = "buckshot_shell"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 4000)
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/shotgun/buckshot
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
name = "Shotgun Dart"
|
||||
id = "shotgun_dart"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 4000)
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/shotgun/dart
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
name = "Incendiary Slug"
|
||||
id = "incendiary_slug"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 4000)
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/shotgun/incendiary
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
name = "Foam Riot Dart"
|
||||
id = "riot_dart"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1125) //Discount for making individually - no box = less metal!
|
||||
materials = list(/datum/material/iron = 1125) //Discount for making individually - no box = less metal!
|
||||
build_path = /obj/item/ammo_casing/caseless/foam_dart/riot
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
name = "Foam Riot Dart Box"
|
||||
id = "riot_darts"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50000) //Comes with 40 darts
|
||||
materials = list(/datum/material/iron = 50000) //Comes with 40 darts
|
||||
build_path = /obj/item/ammo_box/foambox/riot
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
name = "Revolver Bullet (.357)"
|
||||
id = "a357"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 4000)
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/a357
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
name = "Rifle Bullet (7.62mm)"
|
||||
id = "a762"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 5000) //need seclathe for clips
|
||||
materials = list(/datum/material/iron = 5000) //need seclathe for clips
|
||||
build_path = /obj/item/ammo_casing/a762
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
name = "Ammo Box (10mm)"
|
||||
id = "c10mm"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30000)
|
||||
materials = list(/datum/material/iron = 30000)
|
||||
build_path = /obj/item/ammo_box/c10mm
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
name = "Ammo Box (.45)"
|
||||
id = "c45"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30000)
|
||||
materials = list(/datum/material/iron = 30000)
|
||||
build_path = /obj/item/ammo_box/c45
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
name = "Ammo Box (9mm)"
|
||||
id = "c9mm"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30000)
|
||||
materials = list(/datum/material/iron = 30000)
|
||||
build_path = /obj/item/ammo_box/c9mm
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -173,7 +173,7 @@
|
||||
name = "Electropack"
|
||||
id = "electropack"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 2500)
|
||||
materials = list(/datum/material/iron = 10000, /datum/material/glass = 2500)
|
||||
build_path = /obj/item/electropack
|
||||
category = list("hacked", "Security")
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
name = "Butcher's Cleaver"
|
||||
id = "cleaver"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 18000)
|
||||
materials = list(/datum/material/iron = 18000)
|
||||
build_path = /obj/item/kitchen/knife/butcher
|
||||
category = list("hacked", "Dinnerware")
|
||||
|
||||
@@ -189,6 +189,6 @@
|
||||
name = "Tinfoil Hat"
|
||||
id = "tinfoil_hat"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 5500)
|
||||
materials = list(/datum/material/iron = 5500)
|
||||
build_path = /obj/item/clothing/head/foilhat
|
||||
category = list("hacked", "Misc")
|
||||
|
||||
+30
-30
@@ -9,7 +9,7 @@
|
||||
name = "Remote Signaling Device"
|
||||
id = "signaler"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 400, MAT_GLASS = 120)
|
||||
materials = list(/datum/material/iron = 400, /datum/material/glass = 120)
|
||||
build_path = /obj/item/assembly/signaler
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
name = "Radio Headset"
|
||||
id = "radio_headset"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 75)
|
||||
materials = list(/datum/material/iron = 75)
|
||||
build_path = /obj/item/radio/headset
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
name = "Station Bounced Radio"
|
||||
id = "bounced_radio"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 75, MAT_GLASS = 25)
|
||||
materials = list(/datum/material/iron = 75, /datum/material/glass = 25)
|
||||
build_path = /obj/item/radio/off
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
name = "Intercom Frame"
|
||||
id = "intercom_frame"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 75, MAT_GLASS = 25)
|
||||
materials = list(/datum/material/iron = 75, /datum/material/glass = 25)
|
||||
build_path = /obj/item/wallframe/intercom
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
name = "Camera"
|
||||
id = "camera"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 100)
|
||||
build_path = /obj/item/camera
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
name = "Camera Film Cartridge"
|
||||
id = "camera_film"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10, MAT_GLASS = 10)
|
||||
materials = list(/datum/material/iron = 10, /datum/material/glass = 10)
|
||||
build_path = /obj/item/camera_film
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
name = "Earmuffs"
|
||||
id = "earmuffs"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
|
||||
materials = list(/datum/material/iron = 500, /datum/material/glass = 500)
|
||||
build_path = /obj/item/clothing/ears/earmuffs
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
name = "Pipe Painter"
|
||||
id = "pipe_painter"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 2000)
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 2000)
|
||||
build_path = /obj/item/pipe_painter
|
||||
category = list("initial", "Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -78,7 +78,7 @@
|
||||
name = "Airlock Painter"
|
||||
id = "airlock_painter"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
|
||||
build_path = /obj/item/airlock_painter
|
||||
category = list("initial", "Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -87,7 +87,7 @@
|
||||
name = "Cultivator"
|
||||
id = "cultivator"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL=50)
|
||||
materials = list(/datum/material/iron=50)
|
||||
build_path = /obj/item/cultivator
|
||||
category = list("initial","Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
@@ -96,7 +96,7 @@
|
||||
name = "Plant Analyzer"
|
||||
id = "plant_analyzer"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
|
||||
materials = list(/datum/material/iron = 30, /datum/material/glass = 20)
|
||||
build_path = /obj/item/plant_analyzer
|
||||
category = list("initial","Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
@@ -105,7 +105,7 @@
|
||||
name = "Shovel"
|
||||
id = "shovel"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50)
|
||||
materials = list(/datum/material/iron = 50)
|
||||
build_path = /obj/item/shovel
|
||||
category = list("initial","Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO
|
||||
@@ -114,7 +114,7 @@
|
||||
name = "Spade"
|
||||
id = "spade"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50)
|
||||
materials = list(/datum/material/iron = 50)
|
||||
build_path = /obj/item/shovel/spade
|
||||
category = list("initial","Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
@@ -123,7 +123,7 @@
|
||||
name = "Hatchet"
|
||||
id = "hatchet"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 15000)
|
||||
materials = list(/datum/material/iron = 15000)
|
||||
build_path = /obj/item/hatchet
|
||||
category = list("initial","Misc","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
@@ -132,7 +132,7 @@
|
||||
name = "Universal Recorder"
|
||||
id = "recorder"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 60, MAT_GLASS = 30)
|
||||
materials = list(/datum/material/iron = 60, /datum/material/glass = 30)
|
||||
build_path = /obj/item/taperecorder/empty
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
name = "Tape"
|
||||
id = "tape"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 20, MAT_GLASS = 5)
|
||||
materials = list(/datum/material/iron = 20, /datum/material/glass = 5)
|
||||
build_path = /obj/item/tape/random
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
name = "Igniter"
|
||||
id = "igniter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 500, /datum/material/glass = 50)
|
||||
build_path = /obj/item/assembly/igniter
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
name = "Infrared Emitter"
|
||||
id = "infrared_emitter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
|
||||
materials = list(/datum/material/iron = 1000, /datum/material/glass = 500)
|
||||
build_path = /obj/item/assembly/infra
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
name = "Timer"
|
||||
id = "timer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 500, /datum/material/glass = 50)
|
||||
build_path = /obj/item/assembly/timer
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
name = "Voice Analyser"
|
||||
id = "voice_analyser"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
materials = list(/datum/material/iron = 500, /datum/material/glass = 50)
|
||||
build_path = /obj/item/assembly/voice
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
name = "Proximity Sensor"
|
||||
id = "prox_sensor"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
|
||||
materials = list(/datum/material/iron = 800, /datum/material/glass = 200)
|
||||
build_path = /obj/item/assembly/prox_sensor
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
name = "Box of Foam Darts"
|
||||
id = "foam_dart"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500)
|
||||
materials = list(/datum/material/iron = 500)
|
||||
build_path = /obj/item/ammo_box/foambox
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
name = "Laptop Frame"
|
||||
id = "laptop"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/iron = 10000, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/modular_computer/laptop/buildable
|
||||
category = list("initial","Misc")
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
name = "Tablet Frame"
|
||||
id = "tablet"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/modular_computer/tablet
|
||||
category = list("initial","Misc")
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
name = "Slime Scanner"
|
||||
id = "slime_scanner"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
|
||||
materials = list(/datum/material/iron = 300, /datum/material/glass = 200)
|
||||
build_path = /obj/item/slime_scanner
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
name = "Pet Carrier"
|
||||
id = "pet_carrier"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 7500, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 7500, /datum/material/glass = 100)
|
||||
build_path = /obj/item/pet_carrier
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
name = "Package Wrapping"
|
||||
id = "packagewrap"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 200, MAT_GLASS = 200)
|
||||
materials = list(/datum/material/iron = 200, /datum/material/glass = 200)
|
||||
build_path = /obj/item/stack/packageWrap
|
||||
category = list("initial", "Misc","Equipment")
|
||||
maxstack = 30
|
||||
@@ -237,7 +237,7 @@
|
||||
name = "Holodisk"
|
||||
id = "holodisk"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 100, /datum/material/glass = 100)
|
||||
build_path = /obj/item/disk/holodisk
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
name = "Lockable Collar"
|
||||
id = "lock_collar"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1200, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 1200, /datum/material/glass = 100)
|
||||
build_path = /obj/item/clothing/neck/petcollar/locked
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -253,6 +253,6 @@
|
||||
name = "Collar Key"
|
||||
id = "collar_key"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 300, MAT_GLASS = 150)
|
||||
materials = list(/datum/material/iron = 300, /datum/material/glass = 150)
|
||||
build_path = /obj/item/key/collar
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
name = "Bucket"
|
||||
id = "bucket"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 200)
|
||||
materials = list(/datum/material/iron = 200)
|
||||
build_path = /obj/item/reagent_containers/glass/bucket
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
@@ -17,7 +17,7 @@
|
||||
name = "Pocket Crowbar"
|
||||
id = "crowbar"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50)
|
||||
materials = list(/datum/material/iron = 50)
|
||||
build_path = /obj/item/crowbar
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -26,7 +26,7 @@
|
||||
name = "Flashlight"
|
||||
id = "flashlight"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 20)
|
||||
build_path = /obj/item/flashlight
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
name = "Fire Extinguisher"
|
||||
id = "extinguisher"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 90)
|
||||
materials = list(/datum/material/iron = 90)
|
||||
build_path = /obj/item/extinguisher
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
name = "Pocket Fire Extinguisher"
|
||||
id = "pocketfireextinguisher"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 40)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 40)
|
||||
build_path = /obj/item/extinguisher/mini
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
name = "Multitool"
|
||||
id = "multitool"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 20)
|
||||
build_path = /obj/item/multitool
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -59,7 +59,7 @@
|
||||
name = "Analyzer"
|
||||
id = "analyzer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
|
||||
materials = list(/datum/material/iron = 30, /datum/material/glass = 20)
|
||||
build_path = /obj/item/analyzer
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
name = "T-Ray Scanner"
|
||||
id = "tscanner"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 150)
|
||||
materials = list(/datum/material/iron = 150)
|
||||
build_path = /obj/item/t_scanner
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -76,7 +76,7 @@
|
||||
name = "Welding Tool"
|
||||
id = "welding_tool"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 70, MAT_GLASS = 20)
|
||||
materials = list(/datum/material/iron = 70, /datum/material/glass = 20)
|
||||
build_path = /obj/item/weldingtool
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -85,7 +85,7 @@
|
||||
name = "Emergency Welding Tool"
|
||||
id = "mini_welding_tool"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30, MAT_GLASS = 10)
|
||||
materials = list(/datum/material/iron = 30, /datum/material/glass = 10)
|
||||
build_path = /obj/item/weldingtool/mini
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
name = "Screwdriver"
|
||||
id = "screwdriver"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 75)
|
||||
materials = list(/datum/material/iron = 75)
|
||||
build_path = /obj/item/screwdriver
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -101,7 +101,7 @@
|
||||
name = "Wirecutters"
|
||||
id = "wirecutters"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 80)
|
||||
materials = list(/datum/material/iron = 80)
|
||||
build_path = /obj/item/wirecutters
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -110,7 +110,7 @@
|
||||
name = "Wrench"
|
||||
id = "wrench"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 150)
|
||||
materials = list(/datum/material/iron = 150)
|
||||
build_path = /obj/item/wrench
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
@@ -119,7 +119,7 @@
|
||||
name = "Welding Helmet"
|
||||
id = "welding_helmet"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1750, MAT_GLASS = 400)
|
||||
materials = list(/datum/material/iron = 1750, /datum/material/glass = 400)
|
||||
build_path = /obj/item/clothing/head/welding
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
name = "Cable Coil"
|
||||
id = "cable_coil"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10, MAT_GLASS = 5)
|
||||
materials = list(/datum/material/iron = 10, /datum/material/glass = 5)
|
||||
build_path = /obj/item/stack/cable_coil/random
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
maxstack = 30
|
||||
@@ -137,7 +137,7 @@
|
||||
name = "Toolbox"
|
||||
id = "tool_box"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500)
|
||||
materials = list(MAT_CATEGORY_RIGID = 500)
|
||||
build_path = /obj/item/storage/toolbox
|
||||
category = list("initial","Tools")
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
name = "Spraycan"
|
||||
id = "spraycan"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/iron = 100, /datum/material/glass = 100)
|
||||
build_path = /obj/item/toy/crayon/spraycan
|
||||
category = list("initial", "Tools")
|
||||
|
||||
@@ -153,6 +153,6 @@
|
||||
name = "Geiger Counter"
|
||||
id = "geigercounter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 150, MAT_GLASS = 150)
|
||||
materials = list(/datum/material/iron = 150, /datum/material/glass = 150)
|
||||
build_path = /obj/item/geiger_counter
|
||||
category = list("initial", "Tools")
|
||||
|
||||
@@ -13,508 +13,508 @@
|
||||
/datum/design/autoylathe/balloon
|
||||
name = "Empty Water balloon"
|
||||
id = "waterballoon"
|
||||
materials = list(MAT_PLASTIC = 50)
|
||||
materials = list(/datum/material/plastic = 50)
|
||||
build_path = /obj/item/toy/balloon
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/spinningtoy
|
||||
name = "Toy Singularity"
|
||||
id = "singuloutoy"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/spinningtoy
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/capgun
|
||||
name = "Cap Gun"
|
||||
id = "capgun"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/gun
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
/datum/design/autoylathe/capgunammo
|
||||
name = "Capgun Ammo"
|
||||
id = "capgunammo"
|
||||
materials = list(MAT_PLASTIC = 50)
|
||||
materials = list(/datum/material/plastic = 50)
|
||||
build_path = /obj/item/toy/ammo/gun
|
||||
category = list("initial", "misc")
|
||||
|
||||
/datum/design/autoylathe/toysword
|
||||
name = "Toy Sword"
|
||||
id = "toysword"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/sword
|
||||
category = list("initial", "Melee")
|
||||
|
||||
/datum/design/autoylathe/foamblade
|
||||
name = "Foam Armblade"
|
||||
id = "foamblade"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/foamblade
|
||||
category = list("initial", "Melee")
|
||||
|
||||
/datum/design/autoylathe/windupbox
|
||||
name = "Wind Up Toolbox"
|
||||
id = "windupbox"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/windupToolbox
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/toydualsword
|
||||
name = "Double-Bladed Toy Sword"
|
||||
id = "dbtoysword"
|
||||
materials = list(MAT_PLASTIC = 1000)
|
||||
materials = list(/datum/material/plastic = 1000)
|
||||
build_path = /obj/item/twohanded/dualsaber/toy
|
||||
category = list("initial", "Melee")
|
||||
|
||||
/datum/design/autoylathe/toykatana
|
||||
name = "Replica Katana"
|
||||
id = "toykatana"
|
||||
materials = list(MAT_PLASTIC = 50, MAT_METAL = 450)
|
||||
materials = list(/datum/material/plastic = 50, /datum/material/iron = 450)
|
||||
build_path = /obj/item/toy/katana
|
||||
category = list("initial", "Melee")
|
||||
|
||||
/datum/design/autoylathe/snappop
|
||||
name = "Snap Pop"
|
||||
id = "snappop_phoenix"
|
||||
materials = list(MAT_PLASTIC = 50)
|
||||
materials = list(/datum/material/plastic = 50)
|
||||
build_path = /obj/item/toy/snappop
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/mech/model1
|
||||
name = "Toy Ripley"
|
||||
id = "toymech1"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/ripley
|
||||
|
||||
/datum/design/autoylathe/mech/model2
|
||||
name = "Toy Firefighter Ripley"
|
||||
id = "toymech2"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/fireripley
|
||||
|
||||
/datum/design/autoylathe/mech/contraband/model3
|
||||
name = "Toy Deathsquad fireripley "
|
||||
id = "toymech3"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/deathripley
|
||||
|
||||
/datum/design/autoylathe/mech/model4
|
||||
name = "Toy Gygax"
|
||||
id = "toymech4"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/gygax
|
||||
|
||||
/datum/design/autoylathe/mech/model5
|
||||
name = "Toy Durand"
|
||||
id = "toymech5"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/durand
|
||||
|
||||
/datum/design/autoylathe/mech/contraband/model6
|
||||
name = "Toy H.O.N.K."
|
||||
id = "toymech6"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/honk
|
||||
|
||||
/datum/design/autoylathe/mech/contraband/model7
|
||||
name = "Toy Marauder"
|
||||
id = "toymech7"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/marauder
|
||||
|
||||
/datum/design/autoylathe/mech/contraband/model8
|
||||
name = "Toy Seraph"
|
||||
id = "toymech8"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/seraph
|
||||
|
||||
/datum/design/autoylathe/mech/contraband/model9
|
||||
name = "Toy Mauler"
|
||||
id = "toymech9"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/mauler
|
||||
|
||||
/datum/design/autoylathe/mech/model10
|
||||
name = "Toy Odysseus"
|
||||
id = "toymech10"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/odysseus
|
||||
|
||||
/datum/design/autoylathe/mech/model11
|
||||
name = "Toy Phazon"
|
||||
id = "toymech11"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/phazon
|
||||
|
||||
/datum/design/autoylathe/mech/contraband/model12
|
||||
name = "Toy Reticence"
|
||||
id = "toymech12"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/prize/reticence
|
||||
category = list("hacked", "Figurines")
|
||||
|
||||
/datum/design/autoylathe/talking/AI
|
||||
name = "Toy AI"
|
||||
id = "ToyAICore"
|
||||
materials = list(MAT_PLASTIC = 250, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 250, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/talking/AI
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/talking/codex_gigas
|
||||
name = "Toy Codex Gigas"
|
||||
id = "ToyCodex"
|
||||
materials = list(MAT_PLASTIC = 250, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 250, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/talking/codex_gigas
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/talking/owl
|
||||
name = "Owl Action Figure"
|
||||
id = "owlactionfig"
|
||||
materials = list(MAT_PLASTIC = 250, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 250, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/talking/owl
|
||||
|
||||
/datum/design/autoylathe/talking/griffin
|
||||
name = "Griffon Action Figure"
|
||||
id = "griffinactionfig"
|
||||
materials = list(MAT_PLASTIC = 250, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 250, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/talking/griffin
|
||||
|
||||
/datum/design/autoylathe/cards
|
||||
name = "Deck of Cards"
|
||||
id = "carddeck"
|
||||
materials = list(MAT_PLASTIC = 250)
|
||||
materials = list(/datum/material/plastic = 250)
|
||||
build_path = /obj/item/toy/cards/deck
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/nuke
|
||||
name = "Nuclear Fission Explosive Toy"
|
||||
id = "nuketoy"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/nuke
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/minimeteor
|
||||
name = "Mini-Meteor"
|
||||
id = "meattoy"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/minimeteor
|
||||
category = list("hacked", "Misc")
|
||||
|
||||
/datum/design/autoylathe/redbutton
|
||||
name = "Big Red Button"
|
||||
id = "redbutton"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/redbutton
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/beach_ball
|
||||
name = "Beach Ball"
|
||||
id = "beachball"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/beach_ball
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/clockwork_watch
|
||||
name = "Clockwork Watch"
|
||||
id = "clockwatch"
|
||||
materials = list(MAT_PLASTIC = 1000)
|
||||
materials = list(/datum/material/plastic = 1000)
|
||||
build_path = /obj/item/toy/clockwork_watch
|
||||
category = list("initial", "misc")
|
||||
|
||||
/datum/design/autoylathe/dagger
|
||||
name = "Toy Dagger"
|
||||
id = "toydagger"
|
||||
materials = list(MAT_PLASTIC = 1000)
|
||||
materials = list(/datum/material/plastic = 1000)
|
||||
build_path = /obj/item/toy/toy_dagger
|
||||
category = list("initial", "Melee")
|
||||
|
||||
/datum/design/autoylathe/xeno
|
||||
name = "Xenomorph"
|
||||
id = "xenomorph"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/toy_xeno
|
||||
|
||||
/datum/design/autoylathe/cattoy
|
||||
name = "Toy Mouse"
|
||||
id = "cattoy"
|
||||
materials = list(MAT_PLASTIC = 500)
|
||||
materials = list(/datum/material/plastic = 500)
|
||||
build_path = /obj/item/toy/cattoy
|
||||
category = list("initial", "Toys")
|
||||
|
||||
/datum/design/autoylathe/figure/assistant
|
||||
name = "Assistant"
|
||||
id = "assfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/assistant
|
||||
|
||||
/datum/design/autoylathe/figure/atmos
|
||||
name = "Atmos Tech"
|
||||
id = "atmfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/atmos
|
||||
|
||||
/datum/design/autoylathe/figure/bartender
|
||||
name = "Bartender"
|
||||
id = "barfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/bartender
|
||||
|
||||
/datum/design/autoylathe/figure/botanist
|
||||
name = "Botanist"
|
||||
id = "botfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/botanist
|
||||
|
||||
/datum/design/autoylathe/figure/captain
|
||||
name = "Captain"
|
||||
id = "capfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/captain
|
||||
|
||||
/datum/design/autoylathe/figure/cargotech
|
||||
name = "Cargo Technician"
|
||||
id = "carfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/cargotech
|
||||
|
||||
/datum/design/autoylathe/figure/ce
|
||||
name = "Chief Engineer"
|
||||
id = "cefigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/ce
|
||||
|
||||
/datum/design/autoylathe/figure/chaplain
|
||||
name = "Chaplain"
|
||||
id = "chafigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/chaplain
|
||||
|
||||
/datum/design/autoylathe/figure/chef
|
||||
name = "Chef"
|
||||
id = "chefigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/chef
|
||||
|
||||
/datum/design/autoylathe/figure/chemist
|
||||
name = "Chemist"
|
||||
id = "chmfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/chemist
|
||||
|
||||
/datum/design/autoylathe/figure/clown
|
||||
name = "Clown"
|
||||
id = "clnfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/clown
|
||||
|
||||
/datum/design/autoylathe/figure/cmo
|
||||
name = "Chief Medical Officer"
|
||||
id = "cmofigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/cmo
|
||||
|
||||
/datum/design/autoylathe/figure/curator
|
||||
name = "Curator"
|
||||
id = "curfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/curator
|
||||
|
||||
/datum/design/autoylathe/figure/borg
|
||||
name = "Cyborg"
|
||||
id = "cybfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/borg
|
||||
|
||||
/datum/design/autoylathe/figure/detective
|
||||
name = "Detective"
|
||||
id = "detfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/detective
|
||||
|
||||
/datum/design/autoylathe/figure/engineer
|
||||
name = "Engineer"
|
||||
id = "engfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/engineer
|
||||
|
||||
/datum/design/autoylathe/figure/geneticist
|
||||
name = "Geneticist"
|
||||
id = "genfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/geneticist
|
||||
|
||||
/datum/design/autoylathe/figure/hop
|
||||
name = "Head of Personnel"
|
||||
id = "hopfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/hop
|
||||
|
||||
/datum/design/autoylathe/figure/hos
|
||||
name = "Head of Security"
|
||||
id = "hosfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/hos
|
||||
|
||||
/datum/design/autoylathe/figure/janitor
|
||||
name = "Janitor"
|
||||
id = "janfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/janitor
|
||||
|
||||
/datum/design/autoylathe/figure/lawyer
|
||||
name = "Lawyer"
|
||||
id = "lawfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/lawyer
|
||||
|
||||
/datum/design/autoylathe/figure/md
|
||||
name = "Medical Doctor"
|
||||
id = "medfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/md
|
||||
|
||||
/datum/design/autoylathe/figure/mime
|
||||
name = "Mime"
|
||||
id = "mimfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/mime
|
||||
|
||||
/datum/design/autoylathe/figure/miner
|
||||
name = "Miner"
|
||||
id = "minfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/miner
|
||||
|
||||
/datum/design/autoylathe/figure/rd
|
||||
name = "Research Director"
|
||||
id = "rdfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/rd
|
||||
|
||||
/datum/design/autoylathe/figure/robotocist
|
||||
name = "Robotocist"
|
||||
id = "robfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/roboticist
|
||||
|
||||
/datum/design/autoylathe/figure/qm
|
||||
name = "Quartermaster"
|
||||
id = "qtmfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/qm
|
||||
|
||||
/datum/design/autoylathe/figure/scientist
|
||||
name = "Scientist"
|
||||
id = "scifigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/scientist
|
||||
|
||||
/datum/design/autoylathe/figure/secofficer
|
||||
name = "Security Officer"
|
||||
id = "secfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/secofficer
|
||||
|
||||
/datum/design/autoylathe/figure/virologist
|
||||
name = "Virologist"
|
||||
id = "virfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/virologist
|
||||
|
||||
/datum/design/autoylathe/figure/warden
|
||||
name = "Warden"
|
||||
id = "warfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/warden
|
||||
|
||||
/datum/design/autoylathe/figure/dsquad
|
||||
name = "Deathsquad"
|
||||
id = "dsqfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/dsquad
|
||||
category = list("hacked", "Figurines")
|
||||
|
||||
/datum/design/autoylathe/figure/ian
|
||||
name = "Ian"
|
||||
id = "ianfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/ian
|
||||
category = list("hacked", "Figurines")
|
||||
|
||||
/datum/design/autoylathe/figure/ninja
|
||||
name = "Ninja"
|
||||
id = "ninfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/ninja
|
||||
category = list("hacked", "Figurines")
|
||||
|
||||
/datum/design/autoylathe/figure/syndie
|
||||
name = "Nuclear Operative"
|
||||
id = "nucfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/syndie
|
||||
category = list("hacked", "Figurines")
|
||||
|
||||
/datum/design/autoylathe/figure/wizard
|
||||
name = "Wizard"
|
||||
id = "wizfigure"
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 50)
|
||||
build_path = /obj/item/toy/figure/wizard
|
||||
category = list("hacked", "Figurines")
|
||||
|
||||
/datum/design/autoylathe/dildo
|
||||
name = "Customizable Dildo"
|
||||
id = "dildo"
|
||||
materials = list(MAT_PLASTIC = 2000)
|
||||
materials = list(/datum/material/plastic = 2000)
|
||||
build_path = /obj/item/dildo/custom
|
||||
category = list("initial", "Adult")
|
||||
|
||||
/datum/design/autoylathe/collar
|
||||
name = "Collar"
|
||||
id = "collar"
|
||||
materials = list(MAT_PLASTIC = 250, MAT_METAL = 50)
|
||||
materials = list(/datum/material/plastic = 250, /datum/material/iron = 50)
|
||||
build_path = /obj/item/clothing/neck/petcollar
|
||||
category = list("initial", "Adult")
|
||||
|
||||
/datum/design/autoylathe/lastag/blue/gun
|
||||
name = "Blue Lasertag Rifle"
|
||||
id = "lastagrifleblue"
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 500, /datum/material/glass = 500)
|
||||
build_path = /obj/item/gun/energy/laser/bluetag
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
/datum/design/autoylathe/lastag/red/gun
|
||||
name = "Red Lasertag Rifle"
|
||||
id = "lastagriflered"
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 500, /datum/material/glass = 500)
|
||||
build_path = /obj/item/gun/energy/laser/redtag
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
/datum/design/autoylathe/lastag/blue/hat
|
||||
name = "Blue Lasertag Helmet"
|
||||
id = "lastaghatblue"
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 1000, /datum/material/glass = 500)
|
||||
build_path = /obj/item/clothing/head/helmet/bluetaghelm
|
||||
category = list("initial", "Armor")
|
||||
|
||||
/datum/design/autoylathe/lastag/blue/armor
|
||||
name = "Blue Lasertag Armor"
|
||||
id = "lastagarmorblue"
|
||||
materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 100)
|
||||
materials = list(/datum/material/plastic = 8000, /datum/material/iron = 2000, /datum/material/glass = 100)
|
||||
build_path = /obj/item/clothing/suit/bluetag
|
||||
category = list("initial", "Armor")
|
||||
|
||||
/datum/design/autoylathe/lastag/red/hat
|
||||
name = "Red Lasertag Helmet"
|
||||
id = "lastaghelmetred"
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 1000, /datum/material/glass = 500)
|
||||
build_path = /obj/item/clothing/head/helmet/redtaghelm
|
||||
category = list("initial", "Armor")
|
||||
|
||||
/datum/design/autoylathe/lastag/red/armor
|
||||
name = "Red Lasertag Armor"
|
||||
id = "lastagarmorred"
|
||||
materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/plastic = 8000, /datum/material/iron = 2000, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/clothing/suit/redtag
|
||||
category = list("initial", "Armor")
|
||||
|
||||
@@ -544,14 +544,14 @@
|
||||
/datum/design/autoylathe/lastag/blue
|
||||
name = "Blue Lasertag Kit"
|
||||
id = "lastagkitblue"
|
||||
materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000)
|
||||
materials = list(/datum/material/plastic = 16000, /datum/material/iron = 4000, /datum/material/glass = 2000)
|
||||
build_path = /obj/item/storage/box/blueteam
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/autoylathe/lastag/red
|
||||
name = "Red Lasertag Kit"
|
||||
id = "lastagkitred"
|
||||
materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000)
|
||||
materials = list(/datum/material/plastic = 16000, /datum/material/iron = 4000, /datum/material/glass = 2000)
|
||||
build_path = /obj/item/storage/box/redteam
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -559,7 +559,7 @@
|
||||
name = "Foam Force X9 Rifle"
|
||||
id = "foam_x9"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500)
|
||||
build_path = /obj/item/gun/ballistic/automatic/x9/toy
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
@@ -567,7 +567,7 @@
|
||||
name = "Box of Foam Darts"
|
||||
id = "foam_dart"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 100)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 100)
|
||||
build_path = /obj/item/ammo_box/foambox
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -575,7 +575,7 @@
|
||||
name = "Foam Force Magpistol"
|
||||
id = "magfoam_launcher"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250)
|
||||
build_path = /obj/item/gun/ballistic/shotgun/toy/mag
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -583,7 +583,7 @@
|
||||
name = "Foam Force MagRifle"
|
||||
id = "foam_magrifle"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500)
|
||||
build_path = /obj/item/gun/ballistic/automatic/toy/magrifle
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
@@ -591,7 +591,7 @@
|
||||
name = "MagTag Hyper Rifle"
|
||||
id = "foam_hyperburst"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 2000, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 2000, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/gun/energy/laser/practice/hyperburst
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
@@ -599,7 +599,7 @@
|
||||
name = "Foam Force Stealth Pistol"
|
||||
id = "foam_sp"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 1000)
|
||||
build_path = /obj/item/gun/ballistic/automatic/toy/pistol/stealth
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -607,7 +607,7 @@
|
||||
name = "RayTag Gun"
|
||||
id = "toyray"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 1000, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/gun/energy/laser/practice/raygun
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -615,7 +615,7 @@
|
||||
name = "Foam Force AM4-C Rifle"
|
||||
id = "foam_am4c"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500)
|
||||
build_path = /obj/item/gun/ballistic/automatic/AM4C
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
@@ -623,7 +623,7 @@
|
||||
name = "Replica F3 Justicar"
|
||||
id = "foam_f3"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250)
|
||||
build_path = /obj/item/toy/gun/justicar
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -631,7 +631,7 @@
|
||||
name = "pump-action plastic blaster"
|
||||
id = "toy_blaster"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 750, MAT_GLASS = 1000)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 750, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/gun/energy/pumpaction/toy
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
@@ -639,7 +639,7 @@
|
||||
name = "Box of Caps"
|
||||
id = "capammo"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_METAL = 10, MAT_GLASS = 10)
|
||||
materials = list(/datum/material/iron = 10, /datum/material/glass = 10)
|
||||
build_path = /obj/item/toy/ammo/gun
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -647,7 +647,7 @@
|
||||
name = "Foam Force SMG"
|
||||
id = "foam_smg"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250)
|
||||
build_path = /obj/item/gun/ballistic/automatic/toy/unrestricted
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -655,7 +655,7 @@
|
||||
name = "Foam Force Pistol"
|
||||
id = "foam_pistol"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250)
|
||||
build_path = /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -663,7 +663,7 @@
|
||||
name = "Foam Force Shotgun"
|
||||
id = "foam_shotgun"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500)
|
||||
build_path = /obj/item/gun/ballistic/shotgun/toy/unrestricted
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
@@ -671,7 +671,7 @@
|
||||
name = "Box of Lastag Red Foam Darts"
|
||||
id = "redfoam_dart"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 100)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 100)
|
||||
build_path = /obj/item/ammo_box/foambox/tag/red
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -679,7 +679,7 @@
|
||||
name = "Box of Lastag Blue Foam Darts"
|
||||
id = "bluefoam_dart"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 500, MAT_METAL = 100)
|
||||
materials = list(/datum/material/plastic = 500, /datum/material/iron = 100)
|
||||
build_path = /obj/item/ammo_box/foambox/tag/blue
|
||||
category = list("initial", "Misc")
|
||||
|
||||
@@ -687,7 +687,7 @@
|
||||
name = "Foam Force Crossbow"
|
||||
id = "foam_bow"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250)
|
||||
materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250)
|
||||
build_path = /obj/item/gun/ballistic/shotgun/toy/crossbow
|
||||
category = list("initial", "Pistols")
|
||||
|
||||
@@ -695,7 +695,7 @@
|
||||
name = "Donksoft C20R"
|
||||
id = "foam_c20"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500)
|
||||
build_path = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted
|
||||
category = list("hacked", "Rifles")
|
||||
|
||||
@@ -703,6 +703,6 @@
|
||||
name = "Donksoft LMG"
|
||||
id = "foam_LMG"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500)
|
||||
build_path = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted
|
||||
category = list("hacked", "Rifles")
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user