mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-27 02:22:26 +00:00
64 lines
1.5 KiB
Plaintext
64 lines
1.5 KiB
Plaintext
/datum/matter_synth
|
|
var/name = "Generic Synthesizer"
|
|
var/max_energy = 60000
|
|
var/recharge_rate = 2000
|
|
var/max_energy_multiplied = 60000
|
|
var/multiplier = 1 // Robot may be upgraded with better matter bin to multiply capacity of it's synthetisers
|
|
var/energy
|
|
|
|
/datum/matter_synth/New(var/store = 0)
|
|
if(store)
|
|
max_energy = store
|
|
energy = max_energy_multiplied
|
|
set_multiplier(1)
|
|
return
|
|
|
|
/datum/matter_synth/proc/get_charge()
|
|
return energy
|
|
|
|
/datum/matter_synth/proc/use_charge(var/amount)
|
|
if (energy >= amount)
|
|
energy -= amount
|
|
return 1
|
|
return 0
|
|
|
|
/datum/matter_synth/proc/add_charge(var/amount)
|
|
energy = min(energy + amount, max_energy_multiplied)
|
|
|
|
/datum/matter_synth/proc/emp_act(var/severity)
|
|
use_charge(max_energy_multiplied * 0.1 / severity)
|
|
|
|
/datum/matter_synth/proc/set_multiplier(var/new_multiplier)
|
|
multiplier = new_multiplier
|
|
max_energy_multiplied = max_energy * multiplier
|
|
energy = min(max_energy_multiplied, energy)
|
|
|
|
/datum/matter_synth/medicine
|
|
name = "Medicine Synthesizer"
|
|
|
|
/datum/matter_synth/nanite
|
|
name = "Nanite Synthesizer"
|
|
|
|
/datum/matter_synth/metal
|
|
name = "Metal Synthesizer"
|
|
|
|
/datum/matter_synth/plasteel
|
|
name = "Plasteel Synthesizer"
|
|
max_energy = 10000
|
|
|
|
/datum/matter_synth/glass
|
|
name = "Glass Synthesizer"
|
|
|
|
/datum/matter_synth/wood
|
|
name = "Wood Synthesizer"
|
|
|
|
/datum/matter_synth/plastic
|
|
name = "Plastic Synthesizer"
|
|
|
|
/datum/matter_synth/cloth
|
|
name = "Cloth Synthesizer"
|
|
|
|
/datum/matter_synth/wire
|
|
name = "Wire Synthesizer"
|
|
max_energy = 50
|
|
recharge_rate = 2 |