This commit is contained in:
Neerti
2016-12-29 21:42:20 -05:00
31 changed files with 825 additions and 486 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
#define HUMAN_STRIP_DELAY 40 // Takes 40ds = 4s to strip someone.
#define SHOES_SLOWDOWN -1.0 // How much shoes slow you down by default. Negative values speed you up.
#define SHOES_SLOWDOWN 0 // How much shoes slow you down by default. Negative values speed you up.
#define CANDLE_LUM 3 // For how bright candles are.
+8 -8
View File
@@ -9,34 +9,34 @@
/datum/supply_packs/materials/metal50
name = "50 metal sheets"
contains = list(/obj/item/stack/material/steel/fifty)
contains = list(/obj/fiftyspawner/steel)
cost = 10
containertype = /obj/structure/closet/crate
containername = "Metal sheets crate"
/datum/supply_packs/materials/glass50
name = "50 glass sheets"
contains = list(/obj/item/stack/material/glass/fifty)
contains = list(/obj/fiftyspawner/glass)
cost = 10
containertype = /obj/structure/closet/crate
containername = "Glass sheets crate"
/datum/supply_packs/materials/wood50
name = "50 wooden planks"
contains = list(/obj/item/stack/material/wood/fifty)
contains = list(/obj/fiftyspawner/wood)
cost = 10
containertype = /obj/structure/closet/crate
containername = "Wooden planks crate"
/datum/supply_packs/materials/plastic50
name = "50 plastic sheets"
contains = list(/obj/item/stack/material/plastic/fifty)
contains = list(/obj/fiftyspawner/plastic)
cost = 10
containertype = /obj/structure/closet/crate
containername = "Plastic sheets crate"
/datum/supply_packs/materials/cardboard_sheets
contains = list(/obj/item/stack/material/cardboard/fifty)
contains = list(/obj/fiftyspawner/cardboard)
name = "50 cardboard sheets"
cost = 10
containertype = /obj/structure/closet/crate
@@ -48,8 +48,8 @@
containername = "Imported carpet crate"
cost = 15
contains = list(
/obj/item/stack/tile/carpet/fifty,
/obj/item/stack/tile/carpet/blue/fifty
/obj/fiftyspawner/carpet,
/obj/fiftyspawner/bluecarpet
)
@@ -58,4 +58,4 @@
containertype = /obj/structure/closet/crate
containername = "Linoleum crate"
cost = 15
contains = list(/obj/item/stack/tile/linoleum/fifty)
contains = list(/obj/fiftyspawner/linoleum)
+8 -1
View File
@@ -306,4 +306,11 @@
cost = 25
containertype = "/obj/structure/closet/crate/secure"
containername = "Virus sample crate"
access = access_cmo
access = access_cmo
/datum/supply_packs/med/defib
name = "Defibrilator crate"
contains = list(/obj/item/device/defib_kit = 4)
cost = 30
containertype = /obj/structure/closet/crate/medical
containername = "Defibrilator crate"
+1 -1
View File
@@ -53,7 +53,7 @@
/datum/supply_packs/supply/shipping
name = "Shipping supplies"
contains = list(
/obj/item/stack/material/cardboard/fifty,
/obj/fiftyspawner/cardboard,
/obj/item/weapon/packageWrap = 4,
/obj/item/weapon/wrapping_paper = 2,
/obj/item/device/destTagger,
+9 -8
View File
@@ -3,11 +3,11 @@
*/
/datum/stored_item
var/item_name = "name" //Name of the item(s) displayed
var/item_path = null
var/item_path = null
var/amount = 0
var/list/instances //What items are actually stored
var/stored //The thing holding it is
/datum/stored_item/New(var/stored, var/path, var/name = null, var/amount = 0)
src.item_path = path
@@ -16,10 +16,10 @@
src.item_name = initial(tmp.name)
else
src.item_name = name
src.amount = amount
src.stored = stored
..()
/datum/stored_item/Destroy()
@@ -29,10 +29,10 @@
qdel(product)
instances.Cut()
. = ..()
/datum/stored_item/proc/get_amount()
return instances ? instances.len : amount
/datum/stored_item/proc/get_product(var/product_location)
if(!get_amount() || !product_location)
return
@@ -41,14 +41,15 @@
var/atom/movable/product = instances[instances.len] // Remove the last added product
instances -= product
product.forceMove(product_location)
return product
/datum/stored_item/proc/add_product(var/atom/movable/product)
if(product.type != item_path)
return 0
init_products()
product.forceMove(stored)
instances += product
/datum/stored_item/proc/init_products()
if(instances)
return
@@ -0,0 +1,19 @@
//50-stacks as their own type was too buggy, we're doing it a different way
/obj/fiftyspawner //this doesn't need to do anything but make the stack and die so it's light
name = "50-stack spawner"
desc = "This item spawns stack of 50 of a given material."
icon = 'icons/misc/mark.dmi'
icon_state = "x4"
var/material = ""
/obj/fiftyspawner/New()
//spawns the 50-stack and qdels self
..()
var/obj_path = text2path("/obj/item/stack/[material]")
var/obj/item/stack/M = new obj_path(src.loc)
M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty
qdel(src)
/obj/fiftyspawner/rods
name = "stack of rods" //this needs to be defined for cargo
material = "rods"
-3
View File
@@ -13,9 +13,6 @@
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
/obj/item/stack/rods/fifty //Calling this path still fifty because sixty is confusing
amount = 60
/obj/item/stack/rods/cyborg
name = "metal rod synthesizer"
desc = "A device that makes metal rods."
@@ -0,0 +1,49 @@
//see /code/modules/materials/fifty_stacks.dm for how this stuff works
/obj/fiftyspawner/grass
name = "stack of grass"
material = "tile/grass"
/obj/fiftyspawner/wood
name = "stack of wood"
material = "tile/wood"
/obj/fiftyspawner/carpet
name = "stack of carpet"
material = "tile/carpet"
/obj/fiftyspawner/bluecarpet
name = "stack of blue carpet"
material = "tile/carpet/blue"
/obj/fiftyspawner/floor
name = "stack of floor tiles"
material = "tile/floor"
/obj/fiftyspawner/floor_red
name = "stack of red floor tiles"
material = "tile/floor_red"
/obj/fiftyspawner/floor_steel
name = "stack of steel floor tiles"
material = "tile/floor_steel"
/obj/fiftyspawner/floor_white
name = "stack of white floor tiles"
material = "tile/floor_white"
/obj/fiftyspawner/floor_yellow
name = "stack of yellow floor tiles"
material = "tile/floor_yellow"
/obj/fiftyspawner/floor_dark
name = "stack of dark floor tiles"
material = "tile/floor_dark"
/obj/fiftyspawner/floor_freezer
name = "stack of freezer tiles"
material = "tile/floor_freezer"
/obj/fiftyspawner/linoleum
name = "stack of linoleum tiles"
material = "tile/linoleum"
@@ -6,6 +6,8 @@
* Carpet
* Blue Carpet
* Linoleum
*
* Put your stuff in fifty_stacks_tiles.dm as well.
*/
/obj/item/stack/tile
@@ -76,18 +78,12 @@
throw_range = 20
flags = 0
/obj/item/stack/tile/carpet/fifty
amount = 50
/obj/item/stack/tile/carpet/blue
name = "blue carpet"
singular_name = "blue carpet"
desc = "A piece of blue carpet. It is the same size as a normal floor tile!"
icon_state = "tile-bluecarpet"
/obj/item/stack/tile/carpet/blue/fifty
amount = 50
/obj/item/stack/tile/floor
name = "floor tile"
singular_name = "floor tile"
@@ -100,63 +96,42 @@
throw_range = 20
flags = CONDUCT
/obj/item/stack/tile/floor/fifty
amount = 50
/obj/item/stack/tile/floor_red
name = "red floor tile"
singular_name = "red floor tile"
color = COLOR_RED_GRAY
icon_state = "tile_white"
/obj/item/stack/tile/floor_red/fifty
amount = 50
/obj/item/stack/tile/floor_steel
name = "steel floor tile"
singular_name = "steel floor tile"
icon_state = "tile_steel"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor_steel/fifty
amount = 50
/obj/item/stack/tile/floor_white
name = "white floor tile"
singular_name = "white floor tile"
icon_state = "tile_white"
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor_white/fifty
amount = 50
/obj/item/stack/tile/floor_yellow
name = "yellow floor tile"
singular_name = "yellow floor tile"
color = COLOR_BROWN
icon_state = "tile_white"
/obj/item/stack/tile/floor_yellow/fifty
amount = 50
/obj/item/stack/tile/floor_dark
name = "dark floor tile"
singular_name = "dark floor tile"
icon_state = "fr_tile"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor_dark/fifty
amount = 50
/obj/item/stack/tile/floor_freezer
name = "freezer floor tile"
singular_name = "freezer floor tile"
icon_state = "tile_freezer"
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/foor_freezer/fifty
amount = 50
/obj/item/stack/tile/floor/cyborg
name = "floor tile synthesizer"
desc = "A device that makes floor tiles."
@@ -176,7 +151,4 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
/obj/item/stack/tile/linoleum/fifty
amount = 50
flags = 0
+111 -12
View File
@@ -11,6 +11,9 @@
/obj/item/integrated_circuit/arithmetic/addition
name = "addition circuit"
desc = "This circuit can add numbers together."
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A + B) + C) + D) ... ) and so on, until all pins have been added. \
Null pins are ignored."
icon_state = "addition"
/obj/item/integrated_circuit/arithmetic/addition/do_work()
@@ -29,30 +32,47 @@
/obj/item/integrated_circuit/arithmetic/subtraction
name = "subtraction circuit"
desc = "This circuit can subtract numbers."
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A - B) - C) - D) ... ) and so on, until all pins have been subtracted. \
Null pins are ignored. Pin A <b>must</b> be a number or the circuit will not function."
icon_state = "subtraction"
/obj/item/integrated_circuit/arithmetic/subtraction/do_work()
if(..())
var/result = 0
for(var/datum/integrated_io/input/I in inputs)
I.pull_data()
if(isnum(I.data))
result = result - I.data
var/datum/integrated_io/A = inputs[1]
if(!isnum(A.data))
return
var/result = A.data
for(var/datum/integrated_io/output/O in outputs)
O.data = result
O.push_data()
for(var/datum/integrated_io/input/I in inputs)
if(I == A)
continue
I.pull_data()
if(isnum(I.data))
result = result - I.data
for(var/datum/integrated_io/output/O in outputs)
O.data = result
O.push_data()
// *Multiply* //
/obj/item/integrated_circuit/arithmetic/multiplication
name = "multiplication circuit"
desc = "This circuit can multiply numbers."
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A * B) * C) * D) ... ) and so on, until all pins have been multiplied. \
Null pins are ignored. Pin A <b>must</b> be a number or the circuit will not function."
icon_state = "multiplication"
/obj/item/integrated_circuit/arithmetic/subtraction/do_work()
var/result = 0
/obj/item/integrated_circuit/arithmetic/multiplication/do_work()
var/datum/integrated_io/A = inputs[1]
if(!isnum(A.data))
return
var/result = A.data
for(var/datum/integrated_io/input/I in inputs)
if(I == A)
continue
I.pull_data()
if(isnum(I.data))
result = result * I.data
@@ -66,11 +86,20 @@
/obj/item/integrated_circuit/arithmetic/division
name = "division circuit"
desc = "This circuit can divide numbers, just don't think about trying to divide by zero!"
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A / B) / C) / D) ... ) and so on, until all pins have been divided. \
Null pins, and pins containing 0, are ignored. Pin A <b>must</b> be a number or the circuit will not function."
icon_state = "division"
/obj/item/integrated_circuit/arithmetic/division/do_work()
var/result = 0
var/datum/integrated_io/A = inputs[1]
if(!isnum(A.data))
return
var/result = A.data
for(var/datum/integrated_io/input/I in inputs)
if(I == A)
continue
I.pull_data()
if(isnum(I.data) && I.data != 0) //No runtimes here.
result = result / I.data
@@ -79,6 +108,73 @@
O.data = result
O.push_data()
//^ Exponent ^//
/obj/item/integrated_circuit/arithmetic/exponent
name = "exponent circuit"
desc = "Outputs A to the power of B."
icon_state = "exponent"
inputs = list("A", "B")
/obj/item/integrated_circuit/arithmetic/exponent/do_work()
var/result = 0
var/datum/integrated_io/A = inputs[1]
var/datum/integrated_io/B = inputs[2]
if(isnum(A.data) && isnum(B.data))
result = A.data ** B.data
for(var/datum/integrated_io/output/O in outputs)
O.data = result
O.push_data()
// +-Sign-+ //
/obj/item/integrated_circuit/arithmetic/sign
name = "sign circuit"
desc = "This will say if a number is positive, negative, or zero."
extended_desc = "Will output 1, -1, or 0, depending on if A is a postive number, a negative number, or zero, respectively."
icon_state = "sign"
inputs = list("A")
/obj/item/integrated_circuit/arithmetic/sign/do_work()
var/result = 0
var/datum/integrated_io/A = inputs[1]
if(isnum(A.data))
if(A.data > 0)
result = 1
else if (A.data < 0)
result = -1
else
result = 0
for(var/datum/integrated_io/output/O in outputs)
O.data = result
O.push_data()
// Round //
/obj/item/integrated_circuit/arithmetic/round
name = "round circuit"
desc = "Rounds A to the nearest B multiple of A."
extended_desc = "If B is not given a number, it will output the floor of A instead."
icon_state = "round"
inputs = list("A", "B")
/obj/item/integrated_circuit/arithmetic/round/do_work()
var/result = 0
var/datum/integrated_io/A = inputs[1]
var/datum/integrated_io/B = inputs[2]
if(isnum(A.data))
if(isnum(B.data) && B.data != 0)
result = round(A.data, B.data)
else
result = round(A.data)
for(var/datum/integrated_io/output/O in outputs)
O.data = result
O.push_data()
// Absolute //
/obj/item/integrated_circuit/arithmetic/absolute
@@ -103,6 +199,7 @@
/obj/item/integrated_circuit/arithmetic/average
name = "average circuit"
desc = "This circuit is of average quality, however it will compute the average for numbers you give it."
extended_desc = "Note that null pins are ignored, where as a pin containing 0 is included in the averaging calculation."
icon_state = "average"
/obj/item/integrated_circuit/arithmetic/average/do_work()
@@ -137,6 +234,8 @@
/obj/item/integrated_circuit/arithmetic/random
name = "random number generator circuit"
desc = "This gives a random (integer) number between values A and B inclusive."
extended_desc = "'Inclusive' means that the upper bound is included in the range of numbers, e.g. L = 1 and H = 3 will allow \
for outputs of 1, 2, or 3. L being the higher number is not <i>strictly</i> required."
icon_state = "random"
inputs = list("L","H")
@@ -0,0 +1,97 @@
//see /code/game/objects/items/stacks/fifty_spawner.dm for details on this
/obj/fiftyspawner/iron
name = "stack of iron"
material = "material/iron"
/obj/fiftyspawner/sandstone
name = "stack of sandstone"
material = "material/sandstone"
/obj/fiftyspawner/marble
name = "stack of marble"
material = "material/marble"
/obj/fiftyspawner/diamond
name = "stack of diamond"
material = "material/diamond"
/obj/fiftyspawner/uranium
name = "stack of uranium"
material = "material/uranium"
/obj/fiftyspawner/phoron
name = "stack of phoron"
material = "material/phoron"
/obj/fiftyspawner/plastic
name = "stack of plastic"
material = "material/plastic"
/obj/fiftyspawner/gold
name = "stack of gold"
material = "material/gold"
/obj/fiftyspawner/silver
name = "stack of silver"
material = "material/silver"
/obj/fiftyspawner/platinum
name = "stack of platinum"
material = "material/platinum"
/obj/fiftyspawner/mhydrogen
name = "stack of mhydrogen"
material = "material/mhydrogen"
/obj/fiftyspawner/tritium
name = "stack of tritium"
material = "material/tritium"
/obj/fiftyspawner/osmium
name = "stack of osmium"
material = "material/osmium"
/obj/fiftyspawner/steel
name = "stack of steel"
material = "material/steel"
/obj/fiftyspawner/plasteel
name = "stack of plasteel"
material = "material/plasteel"
/obj/fiftyspawner/durasteel
name = "stack of durasteel"
material = "material/durasteel"
/obj/fiftyspawner/wood
name = "stack of wood"
material = "material/wood"
/obj/fiftyspawner/cloth
name = "stack of cloth"
material = "material/cloth"
/obj/fiftyspawner/cardboard
name = "stack of cardboard"
material = "material/cardboard"
/obj/fiftyspawner/leather
name = "stack of leather"
material = "material/leather"
/obj/fiftyspawner/glass
name = "stack of glass"
material = "material/glass"
/obj/fiftyspawner/rglass
name = "stack of reinforced glass"
material = "material/glass/reinforced"
/obj/fiftyspawner/phoronglass
name = "stack of borosilicate glass"
material = "material/glass/phoronglass"
/obj/fiftyspawner/phoronrglass
name = "stack of reinforced borosilicate glass"
material = "material/glass/phoronrglass"
+1 -72
View File
@@ -1,4 +1,5 @@
// Stacked resources. They use a material datum for a lot of inherited values.
// If you're adding something here, make sure to add it to fifty_spawner_mats.dm as well
/obj/item/stack/material
force = 5.0
throwforce = 5
@@ -92,91 +93,58 @@
default_type = "iron"
apply_colour = 1
/obj/item/stack/material/iron/fifty
amount = 50
/obj/item/stack/material/sandstone
name = "sandstone brick"
icon_state = "sheet-sandstone"
default_type = "sandstone"
/obj/item/stack/material/sandstone/fifty
amount = 50
/obj/item/stack/material/marble
name = "marble brick"
icon_state = "sheet-marble"
default_type = "marble"
/obj/item/stack/material/marble/fifty
amount = 50
/obj/item/stack/material/diamond
name = "diamond"
icon_state = "sheet-diamond"
default_type = "diamond"
/obj/item/stack/material/diamond/fifty
amount = 50
/obj/item/stack/material/uranium
name = "uranium"
icon_state = "sheet-uranium"
default_type = "uranium"
/obj/item/stack/material/uranium/fifty
amount = 50
/obj/item/stack/material/phoron
name = "solid phoron"
icon_state = "sheet-phoron"
default_type = "phoron"
/obj/item/stack/material/phoron/fifty
amount = 50
/obj/item/stack/material/plastic
name = "plastic"
icon_state = "sheet-plastic"
default_type = "plastic"
/obj/item/stack/material/plastic/fifty
amount = 50
/obj/item/stack/material/gold
name = "gold"
icon_state = "sheet-gold"
default_type = "gold"
/obj/item/stack/material/gold/fifty
amount = 50
/obj/item/stack/material/silver
name = "silver"
icon_state = "sheet-silver"
default_type = "silver"
/obj/item/stack/material/silver/fifty
amount = 50
//Valuable resource, cargo can sell it.
/obj/item/stack/material/platinum
name = "platinum"
icon_state = "sheet-adamantine"
default_type = "platinum"
/obj/item/stack/material/platinum/fifty
amount = 50
//Extremely valuable to Research.
/obj/item/stack/material/mhydrogen
name = "metallic hydrogen"
icon_state = "sheet-mythril"
default_type = "mhydrogen"
/obj/item/stack/material/mhydrogen/fifty
amount = 50
//Fuel for MRSPACMAN generator.
/obj/item/stack/material/tritium
name = "tritium"
@@ -184,92 +152,59 @@
default_type = "tritium"
apply_colour = 1
/obj/item/stack/material/tritium/fifty
amount = 50
/obj/item/stack/material/osmium
name = "osmium"
icon_state = "sheet-silver"
default_type = "osmium"
apply_colour = 1
/obj/item/stack/material/osmium/fifty
amount = 50
/obj/item/stack/material/steel
name = DEFAULT_WALL_MATERIAL
icon_state = "sheet-metal"
default_type = DEFAULT_WALL_MATERIAL
/obj/item/stack/material/steel/fifty
amount = 50
/obj/item/stack/material/plasteel
name = "plasteel"
icon_state = "sheet-plasteel"
default_type = "plasteel"
/obj/item/stack/material/plasteel/fifty
amount = 50
/obj/item/stack/material/durasteel
name = "durasteel"
icon_state = "sheet-durasteel"
item_state = "sheet-metal"
default_type = "durasteel"
/obj/item/stack/material/durasteel/fifty
amount = 50
/obj/item/stack/material/wood
name = "wooden plank"
icon_state = "sheet-wood"
default_type = "wood"
/obj/item/stack/material/wood/fifty
amount = 50
/obj/item/stack/material/cloth
name = "cloth"
icon_state = "sheet-cloth"
default_type = "cloth"
/obj/item/stack/material/cloth/fifty
amount = 50
/obj/item/stack/material/cardboard
name = "cardboard"
icon_state = "sheet-card"
default_type = "cardboard"
/obj/item/stack/material/cardboard/fifty
amount = 50
/obj/item/stack/material/leather
name = "leather"
desc = "The by-product of mob grinding."
icon_state = "sheet-leather"
default_type = "leather"
/obj/item/stack/material/leather/fifty
amount = 50
/obj/item/stack/material/glass
name = "glass"
icon_state = "sheet-glass"
default_type = "glass"
/obj/item/stack/material/glass/fifty
amount = 50
/obj/item/stack/material/glass/reinforced
name = "reinforced glass"
icon_state = "sheet-rglass"
default_type = "rglass"
/obj/item/stack/material/glass/reinforced/fifty
amount = 50
/obj/item/stack/material/glass/phoronglass
name = "borosilicate glass"
desc = "This sheet is special platinum-glass alloy designed to withstand large temperatures"
@@ -277,15 +212,9 @@
icon_state = "sheet-phoronglass"
default_type = "borosilicate glass"
/obj/item/stack/material/glass/phoronglass/fifty
amount = 50
/obj/item/stack/material/glass/phoronrglass
name = "reinforced borosilicate glass"
desc = "This sheet is special platinum-glass alloy designed to withstand large temperatures. It is reinforced with few rods."
singular_name = "reinforced borosilicate glass sheet"
icon_state = "sheet-phoronrglass"
default_type = "reinforced borosilicate glass"
/obj/item/stack/material/glass/phoronrglass/fifty
amount = 50
@@ -134,7 +134,8 @@
can_hold = list(
/obj/item/mecha_parts/part,
/obj/item/mecha_parts/mecha_equipment
/obj/item/mecha_parts/mecha_equipment,
/obj/item/mecha_parts/mecha_tracking
)
/obj/item/weapon/gripper/no_use //Used when you want to hold and put items in other things, but not able to 'use' the item
@@ -182,7 +183,8 @@
force_holder = wrapped.force
wrapped.force = 0.0
wrapped.attack(M,user)
if(deleted(wrapped))
M.attackby(wrapped, user) //attackby reportedly gets procced by being clicked on, at least according to Anewbe.
if(deleted(wrapped) || wrapped.loc != src.loc)
wrapped = null
return 1
return 0
+3 -3
View File
@@ -270,9 +270,9 @@
if("run")
if(mob.drowsyness > 0)
move_delay += 6
move_delay += 1+config.run_speed
move_delay += config.run_speed
if("walk")
move_delay += 7+config.walk_speed
move_delay += config.walk_speed
move_delay += mob.movement_delay()
var/tickcomp = 0 //moved this out here so we can use it for vehicles
@@ -351,7 +351,7 @@
M.animate_movement = 2
return
else
else
if(mob.confused)
switch(mob.m_intent)
if("run")
+23 -23
View File
@@ -266,15 +266,15 @@ datum/supply_drop_loot/riot
/datum/supply_drop_loot/materials/New()
..()
contents = list(
/obj/item/stack/material/steel/fifty,
/obj/item/stack/material/steel/fifty,
/obj/item/stack/material/steel/fifty,
/obj/item/stack/material/glass/fifty,
/obj/item/stack/material/glass/fifty,
/obj/item/stack/material/wood/fifty,
/obj/item/stack/material/plastic/fifty,
/obj/item/stack/material/glass/reinforced/fifty,
/obj/item/stack/material/plasteel/fifty)
/obj/fiftyspawner/steel,
/obj/fiftyspawner/steel,
/obj/fiftyspawner/steel,
/obj/fiftyspawner/glass,
/obj/fiftyspawner/glass,
/obj/fiftyspawner/wood,
/obj/fiftyspawner/plastic,
/obj/fiftyspawner/rglass,
/obj/fiftyspawner/plasteel)
/datum/supply_drop_loot/materials_advanced
name = "Advanced Materials"
@@ -282,20 +282,20 @@ datum/supply_drop_loot/riot
/datum/supply_drop_loot/materials_advanced/New()
..()
contents = list(
/obj/item/stack/material/steel/fifty,
/obj/item/stack/material/glass/fifty,
/obj/item/stack/material/wood/fifty,
/obj/item/stack/material/plastic/fifty,
/obj/item/stack/material/glass/reinforced/fifty,
/obj/item/stack/material/plasteel/fifty,
/obj/item/stack/material/diamond/fifty,
/obj/item/stack/material/phoron/fifty,
/obj/item/stack/material/gold/fifty,
/obj/item/stack/material/silver/fifty,
/obj/item/stack/material/platinum/fifty,
/obj/item/stack/material/mhydrogen/fifty,
/obj/item/stack/material/tritium/fifty,
/obj/item/stack/material/osmium/fifty,)
/obj/fiftyspawner/steel,
/obj/fiftyspawner/glass,
/obj/fiftyspawner/wood,
/obj/fiftyspawner/plastic,
/obj/fiftyspawner/rglass,
/obj/fiftyspawner/plasteel,
/obj/fiftyspawner/diamond,
/obj/fiftyspawner/phoron,
/obj/fiftyspawner/gold,
/obj/fiftyspawner/silver,
/obj/fiftyspawner/platinum,
/obj/fiftyspawner/mhydrogen,
/obj/fiftyspawner/tritium,
/obj/fiftyspawner/osmium,)
/datum/supply_drop_loot/supermatter
name = "Supermatter"
@@ -6,6 +6,7 @@
name = " "
var/base_name = " "
desc = " "
var/base_desc = " "
icon = 'icons/obj/chemical.dmi'
icon_state = "null"
item_state = "null"
@@ -48,6 +49,7 @@
/obj/item/weapon/reagent_containers/glass/New()
..()
base_name = name
base_desc = desc
/obj/item/weapon/reagent_containers/glass/examine(var/mob/user)
if(!..(user, 2))
@@ -99,8 +101,12 @@
/obj/item/weapon/reagent_containers/glass/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN)
if(length(tmp_label) > 10)
user << "<span class='notice'>The label can be at most 10 characters long.</span>"
if(length(tmp_label) > 50)
user << "<span class='notice'>The label can be at most 50 characters long.</span>"
else if(length(tmp_label) > 10)
user << "<span class='notice'>You set the label.</span>"
label_text = tmp_label
update_name_label()
else
user << "<span class='notice'>You set the label to \"[tmp_label]\".</span>"
label_text = tmp_label
@@ -109,8 +115,12 @@
/obj/item/weapon/reagent_containers/glass/proc/update_name_label()
if(label_text == "")
name = base_name
else if(length(label_text) > 10)
var/short_label_text = copytext(label_text, 1, 11)
name = "[base_name] ([short_label_text]...)"
else
name = "[base_name] ([label_text])"
desc = "[base_desc] It is labeled \"[label_text]\"."
/obj/item/weapon/reagent_containers/glass/beaker
name = "beaker"
+15
View File
@@ -1629,6 +1629,21 @@ CIRCUITS BELOW
build_path = /obj/item/integrated_circuit/arithmetic/random
sort_string = "WAAAH"
/datum/design/circuit/integrated_circuit/arithmetic/round
id = "cc-round"
build_path = /obj/item/integrated_circuit/arithmetic/round
sort_string = "WAAAI"
/datum/design/circuit/integrated_circuit/arithmetic/exponent
id = "cc-exponent"
build_path = /obj/item/integrated_circuit/arithmetic/exponent
sort_string = "WAAAJ"
/datum/design/circuit/integrated_circuit/arithmetic/sign
id = "cc-sign"
build_path = /obj/item/integrated_circuit/arithmetic/sign
sort_string = "WAAAK"
/datum/design/circuit/integrated_circuit/converter/AssembleDesignName()
+7 -8
View File
@@ -36,20 +36,19 @@
/obj/machinery/r_n_d/proc/getMaterialName(var/type)
switch(type)
//50-stacks weren't working despite being a subtype of the others, let's just force it in
if(/obj/item/stack/material/steel, /obj/item/stack/material/steel/fifty)
if(/obj/item/stack/material/steel)
return DEFAULT_WALL_MATERIAL
if(/obj/item/stack/material/glass, /obj/item/stack/material/glass/fifty)
if(/obj/item/stack/material/glass)
return "glass"
if(/obj/item/stack/material/gold, /obj/item/stack/material/gold/fifty)
if(/obj/item/stack/material/gold)
return "gold"
if(/obj/item/stack/material/silver, /obj/item/stack/material/silver/fifty)
if(/obj/item/stack/material/silver)
return "silver"
if(/obj/item/stack/material/phoron, /obj/item/stack/material/phoron/fifty)
if(/obj/item/stack/material/phoron)
return "phoron"
if(/obj/item/stack/material/uranium, /obj/item/stack/material/uranium/fifty)
if(/obj/item/stack/material/uranium)
return "uranium"
if(/obj/item/stack/material/diamond, /obj/item/stack/material/diamond/fifty)
if(/obj/item/stack/material/diamond)
return "diamond"
/obj/machinery/r_n_d/proc/eject(var/material, var/amount)
+23
View File
@@ -53,6 +53,29 @@
-->
<div class="commit sansserif">
<h2 class="date">17 December 2016</h2>
<h3 class="author">Anewbe updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">EVA rig now has insulated gauntlets.</li>
<li class="rscadd">Adds another slot to select languages, if desired.</li>
<li class="rscadd">The base device cell is now selectable in the loadout.</li>
</ul>
<h3 class="author">ForFoxSake updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Digital Valve pipes can now be made and moved.</li>
<li class="tweak">Air Vents can now have their direction changed.</li>
<li class="maptweak">Atmospherics is now a little less cluttered.</li>
</ul>
<h3 class="author">MagmaRam updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added a nice implant that allows humans to speak EAL.</li>
</ul>
<h3 class="author">N3X15 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added a changelog editing system that should cause fewer conflicts and more accurate timestamps.</li>
<li class="rscdel">Killed innocent kittens.</li>
</ul>
<h2 class="date">01 December 2016</h2>
<h3 class="author">Anewbe updated:</h3>
<ul class="changes bgimages16">
+15
View File
@@ -3174,3 +3174,18 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
Yoshax:
- maptweak: All Heads of Staff now get multi-color pens in their office.
- tweak: Doors that do not have an access requirement can now be opened when handcuffed.
2016-12-17:
Anewbe:
- bugfix: EVA rig now has insulated gauntlets.
- rscadd: Adds another slot to select languages, if desired.
- rscadd: The base device cell is now selectable in the loadout.
ForFoxSake:
- tweak: Digital Valve pipes can now be made and moved.
- tweak: Air Vents can now have their direction changed.
- maptweak: Atmospherics is now a little less cluttered.
MagmaRam:
- rscadd: Added a nice implant that allows humans to speak EAL.
N3X15:
- rscadd: Added a changelog editing system that should cause fewer conflicts and
more accurate timestamps.
- rscdel: Killed innocent kittens.
@@ -33,4 +33,6 @@ delete-after: True
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "The base device cell is now selectable in the loadout."
- rscadd: "Changed run/walk speed to be based only on a config file."
- tweak: "Walking should be faster now."
- tweak: "Removed shoeless slowdown."
@@ -0,0 +1,37 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Atermonera
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "Science grippers can install and remove borg components"
- bugfix: "Exosuit grippers can install exosuit equipment"
@@ -1,8 +0,0 @@
author: ForFoxSake
delete-after: True
changes:
- tweak: "Digital Valve pipes can now be made and moved."
- tweak: "Air Vents can now have their direction changed."
- maptweak: "Atmospherics is now a little less cluttered."
@@ -22,7 +22,7 @@
#################################
# Your name.
author: Anewbe
author: MagmaRam
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
@@ -33,4 +33,4 @@ delete-after: True
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "EVA rig now has insulated gauntlets."
- tweak: "Beakers can now have longer labels."
@@ -33,4 +33,4 @@ delete-after: True
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Added a nice implant that allows humans to speak EAL."
- rscadd: "Adds defibrilator crate for cargo."
@@ -22,7 +22,7 @@
#################################
# Your name.
author: Anewbe
author: MagmaRam
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
@@ -33,4 +33,4 @@ delete-after: True
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Adds another slot to select languages, if desired."
- tweak: "Changed how certain stacks spawn behind the scenes. Should fix a few esoteric bugs without impacting anything else."
+37
View File
@@ -0,0 +1,37 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Neerti
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "Subtracting, multiplying, and dividing with arithmetic circuits should actually occur now."
- rscadd :"Added new arithmetic circuits; sign, round, and exponent."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 25 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

+331 -297
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -795,6 +795,7 @@
#include "code\game\objects\items\robot\robot_items.dm"
#include "code\game\objects\items\robot\robot_parts.dm"
#include "code\game\objects\items\robot\robot_upgrades.dm"
#include "code\game\objects\items\stacks\fifty_spawner.dm"
#include "code\game\objects\items\stacks\matter_synth.dm"
#include "code\game\objects\items\stacks\medical.dm"
#include "code\game\objects\items\stacks\nanopaste.dm"
@@ -802,6 +803,7 @@
#include "code\game\objects\items\stacks\stack.dm"
#include "code\game\objects\items\stacks\telecrystal.dm"
#include "code\game\objects\items\stacks\sheets\leather.dm"
#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles.dm"
#include "code\game\objects\items\stacks\tiles\tile_types.dm"
#include "code\game\objects\items\weapons\AI_modules.dm"
#include "code\game\objects\items\weapons\autopsy.dm"
@@ -1413,6 +1415,7 @@
#include "code\modules\maps\reader.dm"
#include "code\modules\maps\swapmaps.dm"
#include "code\modules\maps\writer.dm"
#include "code\modules\materials\fifty_spawner_mats.dm"
#include "code\modules\materials\material_recipes.dm"
#include "code\modules\materials\material_sheets.dm"
#include "code\modules\materials\material_synth.dm"