mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 20:17:15 +01:00
Merge pull request #1173 from VOREStation/aro-syntfabupgr
Makes synthfab upgrades do something
This commit is contained in:
@@ -165,8 +165,11 @@
|
||||
var/connected //What console it's done up with
|
||||
var/busy = 0 //Busy cloning
|
||||
var/body_cost = 15000 //Cost of a cloned body (metal and glass ea.)
|
||||
var/max_res_amount = 30000 //Max the thing can hold
|
||||
var/datum/transhuman/body_record/current_project
|
||||
var/broken = 0
|
||||
var/burn_value = 45
|
||||
var/brute_value = 60
|
||||
|
||||
/obj/machinery/transhuman/synthprinter/New()
|
||||
..()
|
||||
@@ -179,6 +182,26 @@
|
||||
RefreshParts()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/transhuman/synthprinter/RefreshParts()
|
||||
|
||||
//Scanning modules reduce burn rating by 15 each
|
||||
var/burn_rating = initial(burn_value)
|
||||
for(var/obj/item/weapon/stock_parts/scanning_module/SM in component_parts)
|
||||
burn_rating = burn_rating - (SM.rating*15)
|
||||
burn_value = burn_rating
|
||||
|
||||
//Manipulators reduce brute by 10 each
|
||||
var/brute_rating = initial(burn_value)
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
brute_rating = brute_rating - (M.rating*10)
|
||||
brute_value = brute_rating
|
||||
|
||||
//Matter bins multiply the storage amount by their rating.
|
||||
var/store_rating = initial(max_res_amount)
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts)
|
||||
store_rating = store_rating * MB.rating
|
||||
max_res_amount = store_rating
|
||||
|
||||
/obj/machinery/transhuman/synthprinter/process()
|
||||
if(stat & NOPOWER)
|
||||
if(busy)
|
||||
@@ -265,8 +288,8 @@
|
||||
H.original_player = current_project.ckey
|
||||
|
||||
//Apply damage
|
||||
H.adjustBruteLoss(20)
|
||||
H.adjustFireLoss(20)
|
||||
H.adjustBruteLoss(brute_value)
|
||||
H.adjustFireLoss(burn_value)
|
||||
H.updatehealth()
|
||||
|
||||
//Update appearance, remake icons
|
||||
@@ -329,7 +352,6 @@
|
||||
return
|
||||
|
||||
var/amnt = S.perunit
|
||||
var/max_res_amount = 30000
|
||||
if(stored_material[S.material.name] + amnt <= max_res_amount)
|
||||
if(S && S.amount >= 1)
|
||||
var/count = 0
|
||||
|
||||
Reference in New Issue
Block a user