Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lathe/Design/Materials refactoring + misc changes #5123

Merged
merged 180 commits into from
Jul 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
86bef81
let's start off a silicons pr by unnecessarily moving a file and addi…
Mar 1, 2023
7136e1a
move even more things
Mar 1, 2023
c795e2a
more things
Mar 1, 2023
11265bf
start
Mar 1, 2023
4ed8a75
hm
Mar 1, 2023
6ae3e97
rename
Mar 1, 2023
9c6628d
Tgui stubs
Mar 2, 2023
d939676
split everything
Mar 2, 2023
5c86313
kick that around
Mar 2, 2023
ba4d10b
aough
Mar 2, 2023
0cc7555
fixles
Mar 2, 2023
7e015b1
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Mar 3, 2023
e1b0241
types
Mar 5, 2023
4f93f55
more
Mar 5, 2023
afa7a19
i decided there wouldn't be any more sort strings
Mar 5, 2023
9a511b1
fine
Mar 5, 2023
9ab5980
hell
Mar 6, 2023
cf2ebb7
identifier
Mar 6, 2023
ac6ae2c
test
Mar 6, 2023
382b6c7
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Mar 6, 2023
57c77de
a
Mar 9, 2023
b412428
im evil
Mar 9, 2023
6229de0
Fix
Mar 9, 2023
153c330
valhollide rig plating when
Mar 11, 2023
a4e0f7d
more
Mar 11, 2023
a73046d
replace
Mar 11, 2023
038520e
more
Mar 11, 2023
5ef1e41
more
Mar 11, 2023
7b2ece1
oops
Mar 11, 2023
65339bf
merge
Mar 11, 2023
19f2a18
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Mar 11, 2023
0dfee4a
what
Mar 12, 2023
0693140
more
Mar 12, 2023
c0efb2a
unlocks
Mar 12, 2023
92d7d09
thanks upstream
Mar 12, 2023
1abd0b9
that
Mar 12, 2023
9c35cec
more designs
Mar 12, 2023
de41622
matter --> materials
Mar 13, 2023
2cf9ba6
replace
Mar 13, 2023
76b4960
matter --> materials
Mar 13, 2023
0647458
more
Mar 14, 2023
9e9bc77
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Mar 14, 2023
708d4c1
nah
Mar 14, 2023
0cc1a0a
more
Mar 14, 2023
131c869
more
Mar 14, 2023
587664e
wild
Mar 14, 2023
e030ee7
wilder
Mar 14, 2023
7acacc2
changes
Mar 14, 2023
f160ee4
more
Mar 14, 2023
1981a8a
more
Mar 14, 2023
55a5547
fix
Mar 14, 2023
70cc9c0
pain
Mar 14, 2023
5771163
container
Mar 14, 2023
fd8feac
files
Mar 14, 2023
1a1a015
Wild
Mar 14, 2023
cc27fdb
lathe
Mar 15, 2023
d97089e
more
Mar 15, 2023
270e648
pain
Mar 16, 2023
a19e450
wip
Mar 16, 2023
36a339d
wild
Mar 25, 2023
3b20d15
move
Mar 26, 2023
597c229
more
Mar 31, 2023
b49bbff
more
Apr 1, 2023
4f45195
abstraction
Apr 8, 2023
70674d2
merge
Apr 8, 2023
9143144
merge
Apr 13, 2023
33fd6ab
merge
Apr 21, 2023
bcd682c
fix
Apr 21, 2023
f7f884a
merge
Apr 21, 2023
e4f49b7
merge
Apr 21, 2023
de23900
merge
Apr 21, 2023
eefc44b
merge fixes
Apr 22, 2023
7ef7a46
more
Apr 22, 2023
7c26c43
sigh
Apr 23, 2023
6cc7194
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Apr 23, 2023
ef24e28
more
Apr 23, 2023
440934b
hell
Apr 25, 2023
1dad655
recycle
Apr 25, 2023
38a216c
recycling
Apr 25, 2023
4aefcc1
that
Apr 25, 2023
efbf946
wild
Apr 25, 2023
54a5daf
that
Apr 25, 2023
dc77396
stubs for the rest
Apr 25, 2023
b35cc65
redo ingredients
Apr 25, 2023
1ac423d
stuff
Apr 26, 2023
b59687e
additions
Apr 29, 2023
62c1006
Stuff
Apr 30, 2023
c674974
this
May 4, 2023
96f1e74
fix
May 4, 2023
6b80b0c
more
May 6, 2023
d6bf8b7
merge
May 6, 2023
ca37cc4
merge
May 6, 2023
8ae90e1
just port the reorg over, jesus
May 7, 2023
f419055
changes
May 7, 2023
9c0524d
fix
May 7, 2023
0e155a1
custom buttons
May 7, 2023
a7b863a
comment
May 15, 2023
03ad126
merge
May 15, 2023
3f4a27e
fix
May 16, 2023
edfcc26
Merge remote-tracking branch 'citrp/master' into lathe_refactor
May 21, 2023
3bb09d6
merge
Jun 5, 2023
33b530f
that
Jun 5, 2023
6cb92ca
back to id lol
Jun 5, 2023
2351aa8
merge
Jun 10, 2023
9a17154
wild
Jun 10, 2023
d2df97b
compile
Jun 10, 2023
c0fdf4b
why
Jun 10, 2023
4128f8c
ingredients
Jun 11, 2023
55d07b3
ingredients
Jun 11, 2023
ce0bf38
fix
Jun 15, 2023
ff23d41
repaths
Jun 20, 2023
a7c3cfe
update to name system
Jun 20, 2023
3fcc9a2
remaining
Jun 20, 2023
8c6fad3
conflict merge
Jun 20, 2023
c98ac90
fixes some early destory logic
Jun 20, 2023
9712174
boolean fail
Jun 20, 2023
d82fceb
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Jun 20, 2023
d2c9c9e
map stuff
Jun 20, 2023
52524be
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Jun 25, 2023
8f7e071
get rid of hacked var on maps
Jun 25, 2023
b7c149f
wacky
Jun 26, 2023
460128e
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Jun 26, 2023
564d3fb
tgui
Jun 26, 2023
2322c46
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Jul 1, 2023
e6586fe
fix
Jul 2, 2023
f5bf2ff
progress
Jul 2, 2023
02f94c5
changes
Jul 2, 2023
be972d8
maybe we should do material context with keys
Jul 2, 2023
0229a61
changes
Jul 2, 2023
1da6cc9
changes
Jul 2, 2023
9e51949
progress
Jul 2, 2023
f77b698
new files
Jul 2, 2023
b757b8e
fix map
Jul 2, 2023
ad4ea08
progression
Jul 2, 2023
4324618
tgui hell
Jul 2, 2023
19f58a2
bottom of interface is done
Jul 2, 2023
d708ef4
fixes
Jul 2, 2023
b2d5f29
fixes
Jul 3, 2023
829b8b1
fix
Jul 3, 2023
4928360
fixes
Jul 3, 2023
0608070
fixes
Jul 3, 2023
2248814
gives my TGUI work a pass as well
Jul 3, 2023
2df25a6
if this isn't overkill i don't know what is
Jul 3, 2023
d43e464
fixes maps
Jul 3, 2023
2742879
fixes
Jul 3, 2023
5c2346f
wack
Jul 3, 2023
6b2f63d
map fix
Jul 3, 2023
b6b0e07
fixes
Jul 3, 2023
3c3f1db
fixes
Jul 4, 2023
507e4a2
fixes
Jul 4, 2023
a41aea6
fixes
Jul 4, 2023
60bba8a
Fix
Jul 4, 2023
350d1e6
fixes
Jul 4, 2023
076a0de
uhh, oh boy init order time.
Jul 4, 2023
ee00b64
pain
Jul 4, 2023
e3b05ce
better checks
Jul 4, 2023
7241411
one
Jul 4, 2023
1cc99d0
two
Jul 4, 2023
c2c4c82
three
Jul 4, 2023
f290307
evil
Jul 4, 2023
5b445f1
fix dme
Jul 4, 2023
382bd1d
fix
Jul 4, 2023
9411c3a
better logic placement
Jul 4, 2023
e58dd66
please?
Jul 4, 2023
9213829
please???
Jul 4, 2023
5c6fe9a
Sci designs
Jul 4, 2023
38a77f9
Sci designs
Jul 4, 2023
1d99cc7
fix
Jul 4, 2023
c5ee090
fix
Jul 4, 2023
6016d94
Merge remote-tracking branch 'citrp/master' into lathe_refactor
Jul 4, 2023
e86a5ab
whitespace
Jul 4, 2023
4862083
fix
Jul 4, 2023
6bb5f1a
qdel fixes
Jul 4, 2023
078f6f2
qdel fixes
Jul 4, 2023
bea34d3
merge
Jul 7, 2023
ab20f5f
fix
Jul 7, 2023
4c922e7
fixes
Jul 7, 2023
bd91919
fix
Jul 8, 2023
7613fd3
fixes + a debug proc
Jul 8, 2023
b0b82d9
Update bioscan_antenna.dm
silicons Jul 8, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
134 changes: 104 additions & 30 deletions citadel.dme

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion code/__DEFINES/_flags/atom_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
/// should not get harmed if this gets caught by an explosion?
#define PREVENT_CONTENTS_EXPLOSION (1<<22)
*/
#define HTML_USE_INITAL_ICON (1<<23)
#define HTML_USE_INITIAL_ICON (1<<23)

DEFINE_BITFIELD(atom_flags, list(
BITFIELD(ATOM_INITIALIZED),
Expand All @@ -56,6 +56,7 @@ DEFINE_BITFIELD(atom_flags, list(
BITFIELD(OPENCONTAINER),
BITFIELD(PHORONGUARD),
BITFIELD(NOPRINT),
BITFIELD(HTML_USE_INITIAL_ICON),
))

//! /atom/movable/var/movable_flags
Expand Down
11 changes: 10 additions & 1 deletion code/__DEFINES/_flags/item_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#define ITEM_NOBLUDGEON (1<<2)
/// for all things that are technically items but used for various different stuff
#define ITEM_ABSTRACT (1<<3)
/// is this item in a storage component?
/// is this item in a storage datum?
#define ITEM_IN_STORAGE (1<<4)
/// we can't be caught when hitting a mob on throw
#define ITEM_THROW_UNCATCHABLE (1<<5)
Expand All @@ -17,6 +17,12 @@
#define ITEM_MULTIHAND_WIELDED (1<<7)
/// don't allow help intent attacking
#define ITEM_CAREFUL_BLUDGEON (1<<8)
/// allow easy lathe deconstruction
#define ITEM_EASY_LATHE_DECONSTRUCT (1<<9)
/// do not allow lathe deconstruction
#define ITEM_NO_LATHE_DECONSTRUCT (1<<10)
/// stack-like handling for ingredients
#define ITEM_MASS_INGREDIENT (1<<11)

DEFINE_BITFIELD(item_flags, list(
BITFIELD(ITEM_IN_INVENTORY),
Expand All @@ -28,6 +34,9 @@ DEFINE_BITFIELD(item_flags, list(
BITFIELD(ITEM_NO_TOOL_ATTACK),
BITFIELD(ITEM_MULTIHAND_WIELDED),
BITFIELD(ITEM_CAREFUL_BLUDGEON),
BITFIELD(ITEM_EASY_LATHE_DECONSTRUCT),
BITFIELD(ITEM_NO_LATHE_DECONSTRUCT),
BITFIELD(ITEM_MASS_INGREDIENT),
))

//! Flags for the clothing_flags var on /obj/item
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@
// Returns the key based on the index
#define KEYBYINDEX(L, index) (((index <= length(L)) && (index > 0)) ? L[index] : null)

/// sanitize a lazy null-or-entry-or-list into always a list
#define COERCE_OPTIONS_LIST(Entry) (islist(Entry)? Entry : (isnull(Entry)? list() : list(Entry)))
/// COERCE_OPTIONS_LIST but does it to an existing variablew.
#define COERCE_OPTIONS_LIST_IN(Variable) Variable = COERCE_OPTIONS_LIST(Variable)

/// Passed into BINARY_INSERT to compare keys
#define COMPARE_KEY __BIN_LIST[__BIN_MID]
/// Passed into BINARY_INSERT to compare values
Expand Down
5 changes: 2 additions & 3 deletions code/__DEFINES/controllers/_subsystems.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,15 @@ DEFINE_BITFIELD(runlevels, list(
#define INIT_ORDER_INSTRUMENTS 50
#define INIT_ORDER_EARLY_ASSETS 48
#define INIT_ORDER_CHEMISTRY 35
#define INIT_ORDER_MATERIALS 30
#define INIT_ORDER_MATERIALS 34
#define INIT_ORDER_PHOTOGRAPHY 27
#define INIT_ORDER_MAPPING 25
#define INIT_ORDER_LEGACY_ATC 24
#define INIT_ORDER_LEGACY_LORE 23
#define INIT_ORDER_LOBBY 22
#define INIT_ORDER_DECALS 20
#define INIT_ORDER_PLANTS 19
#define INIT_ORDER_ALARMS 18
#define INIT_ORDER_RESEARCH 17
#define INIT_ORDER_ATOMS 15
#define INIT_ORDER_MACHINES 10
#define INIT_ORDER_SHUTTLES 3
Expand All @@ -126,7 +126,6 @@ DEFINE_BITFIELD(runlevels, list(
#define INIT_ORDER_CIRCUIT -60
#define INIT_ORDER_AI -70
#define INIT_ORDER_PATH -98
#define INIT_ORDER_OPENSPACE -99
#define INIT_ORDER_CHAT -100 //! Should be last to ensure chat remains smooth during init.


Expand Down
41 changes: 41 additions & 0 deletions code/__DEFINES/datums/design.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
//? lathe_type bitfield

#define LATHE_TYPE_AUTOLATHE (1<<0)
#define LATHE_TYPE_PROTOLATHE (1<<1)
#define LATHE_TYPE_CIRCUIT (1<<2)
#define LATHE_TYPE_PROSTHETICS (1<<3)
#define LATHE_TYPE_MECHA (1<<4)
#define LATHE_TYPE_BIOPRINTER (1<<5)

DEFINE_BITFIELD(lathe_type, list(
BITFIELD(LATHE_TYPE_AUTOLATHE),
BITFIELD(LATHE_TYPE_PROTOLATHE),
BITFIELD(LATHE_TYPE_CIRCUIT),
BITFIELD(LATHE_TYPE_PROSTHETICS),
BITFIELD(LATHE_TYPE_MECHA),
BITFIELD(LATHE_TYPE_BIOPRINTER),
))

//? design_unlock bitfield

/// any lathe that can print us should have us always
#define DESIGN_UNLOCK_INTRINSIC (1<<0)
/// any lathe that can print us can have us uploaded
#define DESIGN_UNLOCK_UPLOAD (1<<1)

DEFINE_BITFIELD(design_unlock, list(
BITFIELD(DESIGN_UNLOCK_INTRINSIC),
BITFIELD(DESIGN_UNLOCK_UPLOAD),
))

//? design_flags bitfield

/// do not scale with efficiency
#define DESIGN_NO_SCALE (1<<0)
/// unit tests should ignore the lack of materials
#define DESIGN_IGNORE_RESOURCE_SANITY (1<<2)

DEFINE_BITFIELD(design_flags, list(
BITFIELD(DESIGN_NO_SCALE),
BITFIELD(DESIGN_IGNORE_RESOURCE_SANITY),
))
36 changes: 36 additions & 0 deletions code/__DEFINES/ingredients.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//? types; sync to tgui when modifying.

#define INGREDIENT_DATA_TYPE "type" //! type of ingredient
#define INGREDIENT_DATA_AMOUNT "amt" //! amount to use; what this means depends on type
#define INGREDIENT_DATA_ALLOW "allow" //! what to allow; data depends on type
#define INGREDIENT_DATA_NAME "name" //! name in selection uis
#define INGREDIENT_DATA_KEY "key" //! what's passed back from use ingredients

/**
* select: material id
* amount: sheets
* allowed: null for any, otherwise list of material ids
* return: material id
*/
#define INGREDIENT_TYPE_MATERIAL "material"
/**
* select: reagent id
* amount: units
* allowed: null for any, otherwise list of reagent ids
* return: reagent id
*/
#define INGREDIENT_TYPE_REAGENT "reagent"
/**
* select: stack path
* amount: stack amount
* allowed: null for any, otherwise list of typepaths
* return: stack path
*/
#define INGREDIENT_TYPE_STACK "stack"
/**
* select: item ref
* amount: item count
* allowed: null for any, otherwise list of typepaths, associate TRUE to enforce exact, otherwise subtypes work
* return: list of item instances; all selected items are deleted if unkeyed
*/
#define INGREDIENT_TYPE_ITEM "item"
6 changes: 6 additions & 0 deletions code/__DEFINES/materials/balancing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//? master file for balancing / efficiency tuning

//* efficiency

/// scale a lathe's efficiency to upgrade level
#define MATERIAL_EFFICIENCY_LATHE_SCALE(tier) max(0, 1.1 - tier * 0.1)
60 changes: 60 additions & 0 deletions code/__DEFINES/materials/misc.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

// Material Defines
#define MAT_BANANIUM "bananium"
#define MAT_CARBON "carbon"
#define MAT_CHITIN "chitin"
#define MAT_COPPER "copper"
#define MAT_DIAMOND "diamond"
#define MAT_DURASTEEL "durasteel"
#define MAT_DURASTEELHULL "durasteel hull"
#define MAT_GLASS "glass"
#define MAT_GOLD "gold"
#define MAT_GRAPHITE "graphite"
#define MAT_HARDLOG "hardwood log"
#define MAT_HARDWOOD "hardwood"
#define MAT_HEMATITE "hematite"
#define MAT_IRON "iron"
#define MAT_LEAD "lead"
#define MAT_LEATHER "leather"
#define MAT_LOG "log"
#define MAT_MARBLE "marble"
#define MAT_METALHYDROGEN "mhydrogen"
#define MAT_MORPHIUM "morphium"
#define MAT_MORPHIUMHULL "morphium hull"
#define MAT_OSMIUM "osmium"
#define MAT_PHORON "phoron"
#define MAT_PLASTEEL "plasteel"
#define MAT_PLASTEELHULL "plasteel hull"
#define MAT_PLASTIC "plastic"
#define MAT_PLATINUM "platinum"
#define MAT_SIFLOG "alien log"
#define MAT_SIFWOOD "alien wood"
#define MAT_SILENCIUM "silencium"
#define MAT_SILVER "silver"
#define MAT_SNOW "snow"
#define MAT_STEEL "steel"
#define MAT_STEELHULL "steel hull"
#define MAT_SUPERMATTER "supermatter"
#define MAT_TITANIUM "titanium"
#define MAT_TITANIUMHULL "titanium hull"
#define MAT_URANIUM "uranium"
#define MAT_VALHOLLIDE "valhollide"
#define MAT_VAUDIUM "vaudium"
#define MAT_VERDANTIUM "verdantium"
#define MAT_WOOD "wood"


#define SHARD_SHARD "shard"
#define SHARD_SHRAPNEL "shrapnel"
#define SHARD_STONE_PIECE "piece"
#define SHARD_SPLINTER "splinters"
#define SHARD_NONE ""

#define MATERIAL_UNMELTABLE 0x1
#define MATERIAL_BRITTLE 0x2
#define MATERIAL_PADDING 0x4

/// Amount table damage is multiplied by if it is made of a brittle material (e.g. glass)
#define TABLE_BRITTLE_MATERIAL_MULTIPLIER 4

#define SHEET_MATERIAL_AMOUNT 2000
59 changes: 0 additions & 59 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,65 +131,6 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
#define WALL_CAN_OPEN 1
#define WALL_OPENING 2


// Material Defines
#define MAT_BANANIUM "bananium"
#define MAT_CARBON "carbon"
#define MAT_CHITIN "chitin"
#define MAT_COPPER "copper"
#define MAT_DIAMOND "diamond"
#define MAT_DURASTEEL "durasteel"
#define MAT_DURASTEELHULL "durasteel hull"
#define MAT_GLASS "glass"
#define MAT_GOLD "gold"
#define MAT_GRAPHITE "graphite"
#define MAT_HARDLOG "hardwood log"
#define MAT_HARDWOOD "hardwood"
#define MAT_HEMATITE "hematite"
#define MAT_IRON "iron"
#define MAT_LEAD "lead"
#define MAT_LEATHER "leather"
#define MAT_LOG "log"
#define MAT_MARBLE "marble"
#define MAT_METALHYDROGEN "mhydrogen"
#define MAT_MORPHIUM "morphium"
#define MAT_MORPHIUMHULL "morphium hull"
#define MAT_OSMIUM "osmium"
#define MAT_PHORON "phoron"
#define MAT_PLASTEEL "plasteel"
#define MAT_PLASTEELHULL "plasteel hull"
#define MAT_PLASTIC "plastic"
#define MAT_PLATINUM "platinum"
#define MAT_SIFLOG "alien log"
#define MAT_SIFWOOD "alien wood"
#define MAT_SILENCIUM "silencium"
#define MAT_SILVER "silver"
#define MAT_SNOW "snow"
#define MAT_STEEL "steel"
#define MAT_STEELHULL "steel hull"
#define MAT_SUPERMATTER "supermatter"
#define MAT_TITANIUM "titanium"
#define MAT_TITANIUMHULL "titanium hull"
#define MAT_URANIUM "uranium"
#define MAT_VALHOLLIDE "valhollide"
#define MAT_VAUDIUM "vaudium"
#define MAT_VERDANTIUM "verdantium"
#define MAT_WOOD "wood"


#define SHARD_SHARD "shard"
#define SHARD_SHRAPNEL "shrapnel"
#define SHARD_STONE_PIECE "piece"
#define SHARD_SPLINTER "splinters"
#define SHARD_NONE ""

#define MATERIAL_UNMELTABLE 0x1
#define MATERIAL_BRITTLE 0x2
#define MATERIAL_PADDING 0x4

/// Amount table damage is multiplied by if it is made of a brittle material (e.g. glass)
#define TABLE_BRITTLE_MATERIAL_MULTIPLIER 4

#define BOMBCAP_DVSTN_RADIUS (max_explosion_range/4)
#define BOMBCAP_HEAVY_RADIUS (max_explosion_range/2)
#define BOMBCAP_LIGHT_RADIUS max_explosion_range
Expand Down
45 changes: 40 additions & 5 deletions code/__DEFINES/power/balancing.dm
Original file line number Diff line number Diff line change
@@ -1,14 +1,49 @@
//? master file for balancing / efficiency tuning

//* Machinery
/// Idle usage of a nanite chamber in watts
#define POWER_USAGE_NANITE_CHAMBER_IDLE 100
/// Active usage of a nanite chamber in watts
#define POWER_USAGE_NANITE_CHAMBER_ACTIVE 5000
//* Cells

/// the closest thing we'll get to a cvar - cellrate is kJ per cell unit. kJ to avoid float precision loss.
GLOBAL_VAR_INIT(cellrate, 0.5)
/**
* current calculations
* cellrate 0.5 = 0.5 kj/unit
* for 10k cell, 5000kj
* 1 Wh = 60J-S*60s/m = 3600J = 3.6kJ
* 10k cell --> 1388.89 Wh
* damn, future cells be pogging
*/
/// the closest thing we'll get to a cvar - affects cell use_scaled - higher = things use less energy. handheld devices usually use this.
GLOBAL_VAR_INIT(cellefficiency, 1)

//* Computers

/// Idle usage of a mid-range control computer in watts
#define POWER_USAGE_COMPUTER_MID_IDLE 50
/// Active usage of a mid-range control computer in watts
#define POWER_USAGE_COMPUTER_MID_ACTIVE 500

//* Equipment

/// cost of shield difussion in cell units
#define CELL_COST_SHIELD_DIFFUSION 120

//* Machinery

/// idle power usage of a lathe in watts
#define POWER_USAGE_LATHE_IDLE 25
/// active power usage of lathe scaling to decisecond work unit (e.g. 4x speed lathe is 4 for input) in watts
#define POWER_USAGE_LATHE_ACTIVE_SCALE(factor) (factor * 1000)
/// Idle usage of a nanite chamber in watts
#define POWER_USAGE_NANITE_CHAMBER_IDLE 100
/// Active usage of a nanite chamber in watts
#define POWER_USAGE_NANITE_CHAMBER_ACTIVE 5000

//* Misc

//#define THERMOMACHINE_CHEAT_FACTOR 1
#define RECHARGER_CHEAT_FACTOR 5
#define SYNTHETIC_NUTRITION_KJ_PER_UNIT 10
#define SYNTHETIC_NUTRITION_INDUCER_CHEAT_FACTOR 2
#define CYBORG_POWER_USAGE_MULTIPLIER 2
#define SPACE_HEATER_CHEAT_FACTOR 1.5
#define THERMOREGULATOR_CHEAT_FACTOR 5
Loading