diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index 75aee4b7d9..2b0c74e269 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -140,12 +140,7 @@
return
// Cache this since S may go away after use()
- var/list/sheet_matter
- if(istype(S, /obj/item/stack/material))
- var/obj/item/stack/material/MS = S
- sheet_matter = list(MS.material.name = 2000)
- else
- sheet_matter = S.matter
+ var/list/sheet_matter = S.matter
// Calculate total amount of material for one sheet
var/matter_per_sheet = 0
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 3e8cf00207..cebc88566e 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -104,7 +104,7 @@
if(shocked)
shock(user, 50)
-
+
tgui_interact(user)
/obj/machinery/autolathe/attackby(var/obj/item/O as obj, var/mob/user as mob)
@@ -135,7 +135,7 @@
if(istype(O,/obj/item/ammo_magazine/clip) || istype(O,/obj/item/ammo_magazine/s357) || istype(O,/obj/item/ammo_magazine/s38) || istype (O,/obj/item/ammo_magazine/s44)/* VOREstation Edit*/) // Prevents ammo recycling exploit with speedloaders.
to_chat(user, "\The [O] is too hazardous to recycle with the autolathe!")
return
-
+
return ..()
/obj/machinery/autolathe/attack_hand(mob/user as mob)
@@ -177,12 +177,12 @@
max_sheets = 0
//Build list of multipliers for sheets.
multiplier = tgui_input_number(usr, "How many do you want to print? (0-[max_sheets])", null, null, max_sheets, 0)
- if(!multiplier || multiplier <= 0 || multiplier > max_sheets || tgui_status(usr, state) != STATUS_INTERACTIVE)
+ if(!multiplier || multiplier <= 0 || (multiplier != round(multiplier)) || multiplier > max_sheets || tgui_status(usr, state) != STATUS_INTERACTIVE)
return FALSE
//Check if we still have the materials.
var/coeff = (making.no_scale ? 1 : mat_efficiency) //stacks are unaffected by production coefficient
-
+
for(var/datum/material/used_material as anything in making.resources)
var/amount_needed = making.resources[used_material] * coeff * multiplier
materials_used[used_material] = amount_needed
@@ -190,7 +190,7 @@
if(LAZYLEN(materials_used))
if(!materials.has_materials(materials_used))
return
-
+
materials.use_materials(materials_used)
busy = making.name
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 71328d6a69..f9a3755a07 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -240,7 +240,7 @@
//Return 1 if an immediate subsequent call to use() would succeed.
//Ensures that code dealing with stacks uses the same logic
/obj/item/stack/proc/can_use(var/used)
- if(used < 0 || used % 1)
+ if(used < 0 || (used != round(used)))
stack_trace("Tried to use a bad stack amount: [used]")
return 0
if(get_amount() < used)
@@ -265,7 +265,7 @@
return 1
/obj/item/stack/proc/add(var/extra)
- if(extra < 0 || extra % 1)
+ if(extra < 0 || (extra != round(extra)))
stack_trace("Tried to add a bad stack amount: [extra]")
return 0
if(!uses_charge)
@@ -283,7 +283,7 @@
S.add_charge(charge_costs[i] * extra)
/obj/item/stack/proc/set_amount(var/new_amount, var/no_limits = FALSE)
- if(new_amount < 0 || new_amount % 1)
+ if(new_amount < 0 || (new_amount != round(new_amount)))
stack_trace("Tried to set a bad stack amount: [new_amount]")
return 0
@@ -321,7 +321,7 @@
if (isnull(tamount))
tamount = src.get_amount()
- if(tamount < 0 || tamount % 1)
+ if(tamount < 0 || (tamount != round(tamount)))
stack_trace("Tried to transfer a bad stack amount: [tamount]")
return 0
@@ -347,7 +347,7 @@
if(uses_charge)
return null
- if(tamount < 0 || tamount % 1)
+ if(tamount < 0 || (tamount != round(tamount)))
stack_trace("Tried to split a bad stack amount: [tamount]")
return null
@@ -403,6 +403,9 @@
/obj/item/stack/attack_hand(mob/user as mob)
if (user.get_inactive_hand() == src)
var/N = tgui_input_number(usr, "How many stacks of [src] would you like to split off? There are currently [amount].", "Split stacks", 1, amount, 1)
+ if(N != round(N))
+ to_chat(user, "You cannot separate a non-whole number of stacks!")
+ return
if(N)
var/obj/item/stack/F = src.split(N)
if (F)
diff --git a/code/modules/food/kitchen/smartfridge/smartfridge.dm b/code/modules/food/kitchen/smartfridge/smartfridge.dm
index 11ce0e461e..4077d54081 100644
--- a/code/modules/food/kitchen/smartfridge/smartfridge.dm
+++ b/code/modules/food/kitchen/smartfridge/smartfridge.dm
@@ -217,14 +217,14 @@
amount = params["amount"]
else
amount = tgui_input_number(usr, "How many items?", "How many items would you like to take out?", 1)
-
+
if(QDELETED(src) || QDELETED(usr) || !usr.Adjacent(src))
return FALSE
-
+
var/index = text2num(params["index"])
if(index < 1 || index > LAZYLEN(item_records))
return TRUE
-
+
vend(item_records[index], amount)
return TRUE
return FALSE
@@ -257,7 +257,7 @@
if(stat & (NOPOWER|BROKEN))
return TRUE
if(usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf)))
- if(!allowed(usr) && !emagged && locked != -1 && action == "Release")
+ if((!allowed(usr) && scan_id) && !emagged && locked != -1 && action == "Release")
to_chat(usr, "Access denied.")
return TRUE
return ..()
diff --git a/code/modules/materials/materials/glass.dm b/code/modules/materials/materials/glass.dm
index 9279e24621..940ac15eb1 100644
--- a/code/modules/materials/materials/glass.dm
+++ b/code/modules/materials/materials/glass.dm
@@ -132,13 +132,12 @@
display_name = "reinforced borosilicate glass"
stack_type = /obj/item/stack/material/glass/phoronrglass
stack_origin_tech = list(TECH_MATERIAL = 5)
- composite_material = list() //todo
window_options = list("One Direction" = 1, "Full Window" = 4)
created_window = /obj/structure/window/phoronreinforced
created_fulltile_window = /obj/structure/window/phoronreinforced/full
hardness = 40
weight = 30
stack_origin_tech = list(TECH_MATERIAL = 2)
- composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2, "borosilicate glass" = SHEET_MATERIAL_AMOUNT)
+ composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2, MAT_PGLASS = SHEET_MATERIAL_AMOUNT)
rod_product = null
flags = MATERIAL_UNMELTABLE
diff --git a/code/modules/materials/materials/glass_vr.dm b/code/modules/materials/materials/glass_vr.dm
index d20e0575f3..a7191ce70e 100644
--- a/code/modules/materials/materials/glass_vr.dm
+++ b/code/modules/materials/materials/glass_vr.dm
@@ -13,7 +13,6 @@
created_fulltile_window = /obj/structure/window/titanium/full
wire_product = null
rod_product = /obj/item/stack/material/glass/titanium
- composite_material = list(MAT_TITANIUM = SHEET_MATERIAL_AMOUNT, MAT_GLASS = SHEET_MATERIAL_AMOUNT)
/datum/material/glass/plastaniumglass
name = MAT_PLASTITANIUMGLASS
@@ -30,4 +29,3 @@
created_fulltile_window = /obj/structure/window/plastitanium/full
wire_product = null
rod_product = /obj/item/stack/material/glass/plastitanium
- composite_material = list(MAT_PLASTITANIUM = SHEET_MATERIAL_AMOUNT, MAT_GLASS = SHEET_MATERIAL_AMOUNT)
diff --git a/code/modules/materials/materials/metals/hull.dm b/code/modules/materials/materials/metals/hull.dm
index abf72e69a8..24a03fa07d 100644
--- a/code/modules/materials/materials/metals/hull.dm
+++ b/code/modules/materials/materials/metals/hull.dm
@@ -7,6 +7,7 @@
icon_reinf = "reinf_mesh"
icon_colour = "#666677"
flags = MATERIAL_UNMELTABLE
+ composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT)
/datum/material/steel/hull/place_sheet(var/turf/target) //Deconstructed into normal steel sheets.
new /obj/item/stack/material/steel(target)
@@ -20,6 +21,7 @@
icon_colour = "#777788"
explosion_resistance = 40
flags = MATERIAL_UNMELTABLE
+ composite_material = list(MAT_PLASTEEL = SHEET_MATERIAL_AMOUNT)
/datum/material/plasteel/hull/place_sheet(var/turf/target) //Deconstructed into normal plasteel sheets.
new /obj/item/stack/material/plasteel(target)
@@ -33,6 +35,7 @@
explosion_resistance = 90
reflectivity = 0.9
flags = MATERIAL_UNMELTABLE
+ composite_material = list(MAT_DURASTEEL = SHEET_MATERIAL_AMOUNT)
/datum/material/durasteel/hull/place_sheet(var/turf/target) //Deconstructed into normal durasteel sheets.
new /obj/item/stack/material/durasteel(target)
@@ -43,6 +46,7 @@
icon_base = "hull"
icon_reinf = "reinf_mesh"
flags = MATERIAL_UNMELTABLE
+ composite_material = list(MAT_TITANIUM = SHEET_MATERIAL_AMOUNT)
/datum/material/titanium/hull/place_sheet(var/turf/target) //Deconstructed into normal titanium sheets.
new /obj/item/stack/material/titanium(target)
@@ -53,6 +57,7 @@
icon_base = "hull"
icon_reinf = "reinf_mesh"
flags = MATERIAL_UNMELTABLE
+ composite_material = list(MAT_MORPHIUM = SHEET_MATERIAL_AMOUNT)
/datum/material/morphium/hull/place_sheet(var/turf/target)
new /obj/item/stack/material/morphium(target)
\ No newline at end of file
diff --git a/code/modules/materials/materials/metals/hull_vr.dm b/code/modules/materials/materials/metals/hull_vr.dm
index 3c35b3cf39..8a7ebb22f3 100644
--- a/code/modules/materials/materials/metals/hull_vr.dm
+++ b/code/modules/materials/materials/metals/hull_vr.dm
@@ -5,6 +5,7 @@
icon_reinf = "reinf_mesh"
icon_colour = "#585658"
explosion_resistance = 50
+ composite_material = list(MAT_PLASTITANIUM = SHEET_MATERIAL_AMOUNT)
/datum/material/plastitanium/hull/place_sheet(var/turf/target) //Deconstructed into normal plasteel sheets.
new /obj/item/stack/material/plastitanium(target)
@@ -15,6 +16,7 @@
icon_base = "hull"
icon_reinf = "reinf_mesh"
explosion_resistance = 50
+ composite_material = list(MAT_GOLD = SHEET_MATERIAL_AMOUNT)
/datum/material/gold/hull/place_sheet(var/turf/target) //Deconstructed into normal gold sheets.
new /obj/item/stack/material/gold(target)
diff --git a/code/modules/materials/materials/metals/metals.dm b/code/modules/materials/materials/metals/metals.dm
index a36ffef5c1..4dd8a6a984 100644
--- a/code/modules/materials/materials/metals/metals.dm
+++ b/code/modules/materials/materials/metals/metals.dm
@@ -17,7 +17,6 @@
protectiveness = 60 // 75%
reflectivity = 0.7 // Not a perfect mirror, but close.
stack_origin_tech = list(TECH_MATERIAL = 8)
- composite_material = list("plasteel" = SHEET_MATERIAL_AMOUNT, "diamond" = SHEET_MATERIAL_AMOUNT) //shrug
supply_conversion_value = 9
/datum/material/titanium
@@ -28,7 +27,6 @@
door_icon_base = "metal"
icon_colour = "#D1E6E3"
icon_reinf = "reinf_metal"
- composite_material = null
/datum/material/iron
name = "iron"
diff --git a/code/modules/materials/materials/metals/plasteel.dm b/code/modules/materials/materials/metals/plasteel.dm
index 8ec47e84f2..315b897e59 100644
--- a/code/modules/materials/materials/metals/plasteel.dm
+++ b/code/modules/materials/materials/metals/plasteel.dm
@@ -12,7 +12,6 @@
protectiveness = 20 // 50%
conductivity = 13 // For the purposes of balance.
stack_origin_tech = list(TECH_MATERIAL = 2)
- composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo
supply_conversion_value = 6
/datum/material/plasteel/generate_recipes()
@@ -38,3 +37,4 @@
stack_type = /obj/item/stack/material/plasteel/rebar
sheet_singular_name = "rod"
sheet_plural_name = "rods"
+ composite_material = list(MAT_PLASTEEL = SHEET_MATERIAL_AMOUNT)
diff --git a/code/modules/materials/materials/metals/plasteel_vr.dm b/code/modules/materials/materials/metals/plasteel_vr.dm
index bca3fdf27b..f3d582213d 100644
--- a/code/modules/materials/materials/metals/plasteel_vr.dm
+++ b/code/modules/materials/materials/metals/plasteel_vr.dm
@@ -12,7 +12,6 @@
protectiveness = 30
conductivity = 7
stack_origin_tech = list(TECH_MATERIAL = 5)
- composite_material = list(MAT_TITANIUM = SHEET_MATERIAL_AMOUNT, MAT_PLASTEEL = SHEET_MATERIAL_AMOUNT)
supply_conversion_value = 8
/datum/material/plastitanium/generate_recipes()
diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm
index eb06ecc817..6ccf69305d 100644
--- a/maps/tether/tether-03-surface3.dmm
+++ b/maps/tether/tether-03-surface3.dmm
@@ -23060,6 +23060,7 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/shuttle_pad)
+<<<<<<< HEAD
"aLb" = (
/obj/structure/closet/crate,
/obj/machinery/firealarm{
@@ -23068,6 +23069,8 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/servicebackroom)
+=======
+>>>>>>> a4f86e73f3... Merge pull request #14260 from Heroman3003/more-fixes
"aLc" = (
/obj/effect/floor_decal/corner/grey/diagonal,
/obj/structure/disposalpipe/segment{
@@ -316999,11 +317002,20 @@ aru
bge
bfm
bgA
+<<<<<<< HEAD
aJt
aJt
aJt
aJt
aJt
+=======
+bgA
+aru
+bfX
+bgz
+bgz
+baX
+>>>>>>> a4f86e73f3... Merge pull request #14260 from Heroman3003/more-fixes
bgQ
aJt
aJt