Feature/evolution #1
@@ -0,0 +1,55 @@
|
||||
name: Android
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
|
||||
android:
|
||||
runs-on: godot
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
||||
- name: Godot version
|
||||
run: |
|
||||
godot --version
|
||||
|
||||
|
||||
- name: Java version
|
||||
run: |
|
||||
java -version
|
||||
|
||||
|
||||
- name: Android SDK
|
||||
run: |
|
||||
adb version
|
||||
|
||||
|
||||
- name: Build APK
|
||||
run: |
|
||||
mkdir -p build
|
||||
|
||||
godot \
|
||||
--headless \
|
||||
--path . \
|
||||
--export-release "Android" \
|
||||
build/app.apk
|
||||
|
||||
|
||||
- name: Verify APK
|
||||
run: |
|
||||
test -f build/app.apk
|
||||
ls -lh build/app.apk
|
||||
|
||||
|
||||
- name: Upload APK
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: android-apk
|
||||
path: build/app.apk
|
||||
+1
-1
@@ -17,7 +17,7 @@ var OwniverseEntities: Dictionary = {}
|
||||
var OwniverseItems: Dictionary = {}
|
||||
var Templates: Dictionary = {}
|
||||
|
||||
var batch_count = 40
|
||||
var batch_count: float = 40.0 # must be even not odd
|
||||
|
||||
|
||||
func get_localized_item_description(item_id: String, item: String) -> String:
|
||||
|
||||
+5
-5
@@ -1,7 +1,5 @@
|
||||
extends Control
|
||||
|
||||
#signal produce_items(item_id: String, amount: int)
|
||||
|
||||
const OWNIVERSE_ITEM = preload("uid://d3xjfxwe3w16v")
|
||||
|
||||
const SPEED_TEXTURE_NAME_TEMPLATE = "res://ui/topmenu/time&speed/time%s.png"
|
||||
@@ -98,9 +96,6 @@ func set_owniverse_item_value() -> void:
|
||||
owniverse.items_to_update = {}
|
||||
|
||||
|
||||
#func unlock_owniverse_item() -> void:
|
||||
#pass
|
||||
|
||||
#endregion
|
||||
|
||||
func _on_indicator_pressed(indicator_name: String, page: int = 0):
|
||||
@@ -300,6 +295,11 @@ func _change_speed(delta: int) -> void:
|
||||
|
||||
func _on_topmenu_button_pressed(ButtonName) -> void:
|
||||
print(ButtonName)
|
||||
#var s: float = 1E15
|
||||
#var z = 1.0
|
||||
#for i in range(30):
|
||||
#print(i, " | ", z, " | ", " | ", s - z)
|
||||
#z *= 10
|
||||
|
||||
|
||||
func _on_save_data() -> void:
|
||||
|
||||
+153
-153
@@ -1,153 +1,153 @@
|
||||
id|is_visible|unlock|cost|bind|mass|space|lifespan|auto|gamma|blast|life_product|voids|output|destroy_level|degradation|planets|count_as|group_as|event_group|space_bonus|civ_bonus|claim
|
||||
S|1|S:0|S:0||||||||||||||||S|||
|
||||
H|1|H:0|H:0||||||||||||||||H|||
|
||||
He|1|He:1||||||||||||||||||||
|
||||
Met|1|Met:1||||||||||||||||||||
|
||||
BD|1|BD:1||||||||||||||||||||
|
||||
HBD|0||H:0.1||0.1||5000000000||||S:0.5||CBD:1|1|mass:0.1&H:0&HE:0&MET:0||BD|||||
|
||||
RD|1|H:1|H:1||1|1|40000000000||||S:40||TWD:1&H:0.13&He:0.05&Met:0.01|1|mass:0.8&H:0.13&HE:0.05&MET:0.01|HP:1:0.01&RP:1:0.21&GG:2:0.08&AB:3:0.4||Star|DwStar|||
|
||||
OD|1|RD:1|H:8||8|1|18000000000||||S:36||SRG:1|1||HP:1:0.03&RP:2:0.34&GG:3:0.13&AB:3:0.4||Star|DwStar|||
|
||||
YD|1|OD:1|H:10||10|1|9000000000||||S:27||NRG:1|1||HP:2:0.1&RP:3:0.55&GG:4:0.21&AB:3:0.4||Star|DwStar|||
|
||||
WYD|1|YD:1|H:16||16|1|1800000000||||S:18||MRG:1|1||HP:3:0.3&RP:5:0.89&GG:5:0.34&AB:3:0.4||Star|DwStar|||
|
||||
WS|1|H:15|H:50||50|1|450000000||||S:9||LRG:1|2||||Star|GiStar|||
|
||||
BG|1|H:30&WS:1|H:100||100|1|90000000||||S:9||HRG:1|2||||Star|GiStar|||
|
||||
SG|1|H:100&BG:1|H:300||300|1|9000000||||S:9||RSG:1|2||||Star|GiStar|||
|
||||
HG|1|H:300&SG:1|H:1000||1000|1|900000||||S:9||RHG:1|2||||Star|GiStar|||
|
||||
RG|1|RG:1||||||||||||||||||||
|
||||
SRG|0||||8||2000000000||||S:80||SWD:1&H:2.32&He:0.64&Met:0.08&S:12.4|1|mass:4.8&H:2.32&HE:0.64&MET:0.08||RG|Star||||
|
||||
NRG|0||||10||1000000000||||S:120.||NWD:1&H:3.2&He:1.3&Met:0.2&S:14.3|1|mass:5&H:3.2&HE:1.3&MET:0.2||RG|Star||||
|
||||
MRG|0||||16||200000000||||S:200||LWD:1&H:4.96&He:3.36&Met:0.48&S:20.2|1|mass:6.4&H:4.96&HE:3.36&MET:0.48||RG|Star||||
|
||||
LRG|0||||50||50000000||||S:300||DSN^SGRB%0.1|2|||RG|Star||||
|
||||
HRG|0||||100||10000000||||S:400.||SN^GRB%1|2|||RG|Star||||
|
||||
RSG|0||||300||1000000||||S:500||BSN^LGRB%3|2|||RG|Star||||
|
||||
RHG|0||||1000||100000||||S:600||HN^HGRB%10|2|||RG|Star||||
|
||||
DSN|0||||||1|||2|S:59.1||SNS:1&H:6.5&He:13.5&Met:11&blast:2|2|mass:15&H:6.5&HE:13.5&MET:11||||SNGRBB|||
|
||||
SN|0||||||1|||9|S:99.1||LNS:1&H:8&He:50&Met:11&blast:9|2|mass:18&H:8&HE:50&MET:11||||SNGRBB|||
|
||||
BSN|0||||||1||.|305|S:309.1||MGT:1&H:15&He:186&Met:15&blast:305|2|mass:21&H:15&HE:186&MET:15||||SNGRBB|||
|
||||
HN|0||||||1|||9990|S:939.1||BH40:1&H:30&He:560&Met:30&blast:9990|2|mass:40&H:30&HE:560&MET:30||||SNGRBB|||
|
||||
SGRB|0||||||1||0.001|31|S:149.1||BH25:1&H:0.5&He:10&Met:4&blast:31|2|mass:25&H:0.5&HE:10&MET:4||||SNGRBB|||
|
||||
GRB|0||||||1||0.01|136|S:239.1||BH30:1&H:19&He:12&Met:5&blast:136|2|mass:30&H:19&HE:12&MET:5||||SNGRBB|||
|
||||
LGRB|0||||||1||0.03|3446|S:669.1||BH40:1&H:68&He:18&Met:9&blast:3446|2|mass:40&H:68&HE:18&MET:9||||SNGRBB|||
|
||||
HGRB|0||||||1||0.1|97342|S:1939.1||BH60:1&H:0&He:40&Met:10&blast:97342|2|mass:60&H:0&HE:40&MET:10||||SNGRBB|||
|
||||
CBD|0||||0.1||||||||||||BD|||||
|
||||
WD|1|WD:1||||||||||||||||||||
|
||||
TWD|0||||0.8||||||||||||WD|Star|Degen|||
|
||||
SWD|0||||4.8||||||||||||WD|Star|Degen|||
|
||||
NWD|0||||5||||||||||||WD|Star|Degen|||
|
||||
LWD|0||||6.4||||||||||||WD|Star|Degen|||
|
||||
NS|1|NS:1||||||||||||||||||||
|
||||
SNS|0||||15||||||||||||NS|Star|Degen|||
|
||||
LNS|0||||18||||||||||||NS|Star|Degen|||
|
||||
MGT|1|MGT:1|||21|||||||||||||Star|Degen|||
|
||||
BH|1|BH:1||||||||||||||||||||
|
||||
BH25|0||||25||||||||||||BH|BH|BH|||
|
||||
BH30|0||||30||||||||||||BH|BH|BH|||
|
||||
BH40|0||||40||||||||||||BH|BH|BH|||
|
||||
BH60|0||||60||||||||||||BH|BH|BH|||
|
||||
SMBH|1|BH:1|||||||||||||||||SMBH|||
|
||||
N|1|S:1|H:1||1|10|10000000||||H:10||H:1&S:10|||||CL|CL|||
|
||||
G|1|N:1|H:10&N:1||11|10|30000000||||H:150||H:11&S:20|||||CL|CL|||
|
||||
STN|1|G:1|H:200&G:1||211|300|30000000|0.5|||H:3000||H:211&S:320|||||CL|CL|||
|
||||
MC|1|G:1&S:1300|H:2000&G:1||2011|4000|300000000||||H:90000.||H:2011&S:4020|||||CL|CL|||
|
||||
ASTN|1|MC:1&S:60000|H:200000&MC:1||202011|200000|100000000|0.65|||H:2000000||H:202011&S:204020|||||CL|CL|||
|
||||
SCD|1|Star:300||Star:1000|||10000000|||||||||||SC|SC|0.1|4|C2.3
|
||||
SCS|1|SCD:1&Star:2000||Star:10000&BH:10|||1000000000|||||||||||SC|SC|0.2|44350|C2.4
|
||||
SCM|1|SCS:1&Star:20000||Star:100000&BH:100|||3000000000|||||||||||SC|SC|0.3|44289|C2.5
|
||||
SCL|1|SCM:1&Star:200000||Star:1000000&BH:1000|||10000000000|||||||||||SC|SC|0.5|44230|C2.6
|
||||
SCG|1|SCL:1&Star:2000000||Star:10000000&BH:10000|||30000000000|||||||||||SC|SC|0.8|3|C2.7
|
||||
GED|1|SMBH:1&SC:1|SMBH:10000|Star:1000000000&BH:1000000&SC:100|||12000000000|||||||||||GAL|GALE|1|44440|C2.9
|
||||
GES|1|GED:1&Star:2000000000|SMBH:100000|Star:10000000000&BH:10000000&SC:1000|||13000000000|||||||||||GAL|GALE|1.5|44409|C3.0
|
||||
GEM|1|GES:1&Star:20000000000|SMBH:1000000|Star:100000000000&BH:100000000&SC:10000|||15000000000|||||||||||GAL|GALE|2|44378|C3.1
|
||||
GEL|1|GEM:1&Star:200000000000|SMBH:10000000|Star:1000000000000&BH:1000000000&SC:100000|||17000000000|||||||||||GAL|GALE|3|44348|C3.2
|
||||
GEG|1|GEL:1&Star:2000000000000|SMBH:100000000|Star:10000000000000&BH:10000000000&SC:1000000|||20000000000|||||||||||GAL|GALE|4.5|44317|C3.3
|
||||
GSD|1|GED:1|STN:10000&ASTN:10|GED:1||-5240200|2000000000|0.8|||H:2400000000||H:4112110|||||GAL|GALS||44318|C2.9
|
||||
GSS|1|GES:1|STN:100000&ASTN:100|GES:1||-52402000|3000000000|0.8|||H:36000000000||H:41121100|||||GAL|GALS||44257|C3.0
|
||||
GSM|1|GEM:1|STN:1000000&ASTN:1000|GEM:1||-524020000|4000000000|0.8|||H:480000000000||H:411211000|||||GAL|GALS||44229|C3.1
|
||||
GSL|1|GEL:1|STN:10000000&ASTN:10000|GEL:1||-5240200000|6000000000|0.8|||H:7200000000000||H:4112110000|||||GAL|GALS||44198|C3.2
|
||||
GSG|1|GEG:1|STN:100000000&ASTN:100000|GEG:1||-52402000000|9000000000|0.8|||H:108000000000000||H:41121100000|||||GAL|GALS||2|C3.3
|
||||
LGG|1|GAL:20||GAL:50|||10000000000|||||||||||LS|LS||44317|C3.4
|
||||
LSC|1|LGG:1&GAL:100||LGG:200|||20000000000|||||||||||LS|LS||44287|C3.6
|
||||
LGF|1|LSC:1&LGG:400||LSC:100|||30000000000|||||5||||||LS|LS||44256|C3.8
|
||||
LGW|1|LGF:1&LSC:200||LGF:1000|||60000000000|||||10000||||||LS|LS||44228|C4.1
|
||||
LUB|1|LGW:1&LGF:2000||LGW:1000|||100000000000|||||1000000000||||||LS|LS||44197|C4.4
|
||||
GG|1|GG:1||||||||||||||||Planet|BPlanet|||
|
||||
AB|1|AB:1||||||||||||||||Planet|BPlanet|||
|
||||
RP|1|RP:1||||||||||||||||Planet|BPlanet|||
|
||||
HP|1|HP:1||||||||||||||||Planet|LPlanet|||
|
||||
LP|1|LP:1||||||||||||||||Planet|LPlanet|||
|
||||
EON1|1|EON1:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON2|1|EON2:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON3|1|EON3:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON4|1|EON4:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON5|1|EON5:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
C0|1|C0:1||||||||||||||||Planet|LPlanet|||
|
||||
C0.0|1|C0.0:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.1|1|C0.1:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.2|1|C0.2:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.3|1|C0.3:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.4|1|C0.4:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.5|1|C0.5:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.6|1|C0.6:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.7|1|C0.7:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.8|1|C0.8:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.9|1|C0.9:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C1|1|C1:1||||||||||||||||Planet|LPlanet|||
|
||||
C1.0|1|C1.0:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.1|1|C1.1:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.2|1|C1.2:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.3|1|C1.3:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.4|1|C1.4:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.5|1|C1.5:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.6|1|C1.6:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.7|1|C1.7:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.8|1|C1.8:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.9|1|C1.9:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C2|1|C2:1||||||||||||||||||||
|
||||
C2.0|1|C2.0:1|||||||||||||||C2|||||
|
||||
C2.1|1|C2.1:1|||||||||||||||C2|||||
|
||||
C2.2|1|C2.2:1|||||||||||||||C2|||||
|
||||
C2.3|1|C2.3:1|||||||||||||||C2|||||
|
||||
C2.4|1|C2.4:1|||||||||||||||C2|||||
|
||||
C2.5|1|C2.5:1|||||||||||||||C2|||||
|
||||
C2.6|1|C2.6:1|||||||||||||||C2|||||
|
||||
C2.7|1|C2.7:1|||||||||||||||C2|||||
|
||||
C2.8|1|C2.8:1|||||||||||||||C2|||||
|
||||
C2.9|1|C2.9:1|||||||||||||||C2|||||
|
||||
C3|1|C3:1||||||||||||||||||||
|
||||
C3.0|1|C3.0:1|||||||||||||||C3|||||
|
||||
C3.1|1|C3.1:1|||||||||||||||C3|||||
|
||||
C3.2|1|C3.2:1|||||||||||||||C3|||||
|
||||
C3.3|1|C3.3:1|||||||||||||||C3|||||
|
||||
C3.4|1|C3.4:1|||||||||||||||C3|||||
|
||||
C3.5|1|C3.5:1|||||||||||||||C3|||||
|
||||
C3.6|1|C3.6:1|||||||||||||||C3|||||
|
||||
C3.7|1|C3.7:1|||||||||||||||C3|||||
|
||||
C3.8|1|C3.8:1|||||||||||||||C3|||||
|
||||
C3.9|1|C3.9:1|||||||||||||||C3|||||
|
||||
C4|1|C4:1||||||||||||||||||||
|
||||
C4.0|1|C4.0:1|||||||||||||||C4|||||
|
||||
C4.1|1|C4.1:1|||||||||||||||C4|||||
|
||||
C4.2|1|C4.2:1|||||||||||||||C4|||||
|
||||
C4.3|1|C4.3:1|||||||||||||||C4|||||
|
||||
C4.4|1|C4.4:1|||||||||||||||C4|||||
|
||||
Ct|0|||||||||||||||||||||
|
||||
fsho|1|fsho:1||||||||||||||||||||
|
||||
finf|1|finf:1||||||||||||||||||||
|
||||
ftem|1|ftem:1||||||||||||||||||||
|
||||
fcol|1|fcol:1||||||||||||||||||||
|
||||
fpri|1|fpri:1||||||||||||||||||||
|
||||
fsin|1|fsin:1||||||||||||||||||||
|
||||
fren|1|fren:1||||||||||||||||||||
|
||||
finf|1|finf:1||||||||||||||||||||
|
||||
ffro|1|ffro:1||||||||||||||||||||
|
||||
fdes|1|fdes:1||||||||||||||||||||
|
||||
froc|1|froc:1||||||||||||||||||||
|
||||
fpan|1|fpan:1||||||||||||||||||||
|
||||
fgai|1|fgai:1||||||||||||||||||||
|
||||
fdar|1|fdar:1||||||||||||||||||||
|
||||
fede|1|fede:1||||||||||||||||||||
|
||||
fpac|1|fpac:1||||||||||||||||||||
|
||||
fenr|1|fenr:1||||||||||||||||||||
|
||||
fmor|1|fmor:1||||||||||||||||||||
|
||||
fdis|1|fdis:1||||||||||||||||||||
|
||||
frep|1|frep:1||||||||||||||||||||
|
||||
id|is_visible|unlock|cost|bind|mass|space|lifespan|auto|gamma|blast|life_product|voids|output|destroy_level|degradation|planets|count_as|group_as|event_group|blastability|space_bonus|civ_bonus|claim
|
||||
S|1|S:0|S:0||||||||||||||||S||||
|
||||
H|1|H:0|H:0||||||||||||||||H||||
|
||||
He|1|He:1|||||||||||||||||||||
|
||||
Met|1|Met:1|||||||||||||||||||||
|
||||
BD|1|BD:1|||||||||||||||||||||
|
||||
HBD|0||H:0.1||0.1||5000000000||||S:0.5||CBD:1|1|mass:0.1&H:0&HE:0&MET:0||BD||||||
|
||||
RD|1|H:1|H:1||1|1|40000000000||||S:40||TWD:1&H:0.13&He:0.05&Met:0.01|1|mass:0.8&H:0.13&HE:0.05&MET:0.01|HP:1:0.01&RP:1:0.21&GG:2:0.08&AB:3:0.4||Star|DwStar||||
|
||||
OD|1|RD:1|H:8||8|1|18000000000||||S:36||SRG:1|1||HP:1:0.03&RP:2:0.34&GG:3:0.13&AB:3:0.4||Star|DwStar||||
|
||||
YD|1|OD:1|H:10||10|1|9000000000||||S:27||NRG:1|1||HP:2:0.1&RP:3:0.55&GG:4:0.21&AB:3:0.4||Star|DwStar||||
|
||||
WYD|1|YD:1|H:16||16|1|1800000000||||S:18||MRG:1|1||HP:3:0.3&RP:5:0.89&GG:5:0.34&AB:3:0.4||Star|DwStar||||
|
||||
WS|1|H:15|H:50||50|1|450000000||||S:9||LRG:1|2||||Star|GiStar||||
|
||||
BG|1|H:30&WS:1|H:100||100|1|90000000||||S:9||HRG:1|2||||Star|GiStar||||
|
||||
SG|1|H:100&BG:1|H:300||300|1|9000000||||S:9||RSG:1|2||||Star|GiStar||||
|
||||
HG|1|H:300&SG:1|H:1000||1000|1|900000||||S:9||RHG:1|2||||Star|GiStar||||
|
||||
RG|1|RG:1|||||||||||||||||||||
|
||||
SRG|0||||8||2000000000||||S:80||SWD:1&H:2.32&He:0.64&Met:0.08&S:12.4|1|mass:4.8&H:2.32&HE:0.64&MET:0.08||RG|Star|||||
|
||||
NRG|0||||10||1000000000||||S:120.||NWD:1&H:3.2&He:1.3&Met:0.2&S:14.3|1|mass:5&H:3.2&HE:1.3&MET:0.2||RG|Star|||||
|
||||
MRG|0||||16||200000000||||S:200||LWD:1&H:4.96&He:3.36&Met:0.48&S:20.2|1|mass:6.4&H:4.96&HE:3.36&MET:0.48||RG|Star|||||
|
||||
LRG|0||||50||50000000||||S:300||DSN^SGRB%0.1|2|||RG|Star|||||
|
||||
HRG|0||||100||10000000||||S:400.||SN^GRB%1|2|||RG|Star|||||
|
||||
RSG|0||||300||1000000||||S:500||BSN^LGRB%3|2|||RG|Star|||||
|
||||
RHG|0||||1000||100000||||S:600||HN^HGRB%10|2|||RG|Star|||||
|
||||
DSN|0||||||1|||2|S:59.1||SNS:1&H:6.5&He:13.5&Met:11&blast:2|2|mass:15&H:6.5&HE:13.5&MET:11||||SNGRBB||||
|
||||
SN|0||||||1|||9|S:99.1||LNS:1&H:8&He:50&Met:11&blast:9|2|mass:18&H:8&HE:50&MET:11||||SNGRBB||||
|
||||
BSN|0||||||1||.|305|S:309.1||MGT:1&H:15&He:186&Met:15&blast:305|2|mass:21&H:15&HE:186&MET:15||||SNGRBB||||
|
||||
HN|0||||||1|||9990|S:939.1||BH40:1&H:30&He:560&Met:30&blast:9990|2|mass:40&H:30&HE:560&MET:30||||SNGRBB||||
|
||||
SGRB|0||||||1||0.001|31|S:149.1||BH25:1&H:0.5&He:10&Met:4&blast:31|2|mass:25&H:0.5&HE:10&MET:4||||SNGRBB||||
|
||||
GRB|0||||||1||0.01|136|S:239.1||BH30:1&H:19&He:12&Met:5&blast:136|2|mass:30&H:19&HE:12&MET:5||||SNGRBB||||
|
||||
LGRB|0||||||1||0.03|3446|S:669.1||BH40:1&H:68&He:18&Met:9&blast:3446|2|mass:40&H:68&HE:18&MET:9||||SNGRBB||||
|
||||
HGRB|0||||||1||0.1|97342|S:1939.1||BH60:1&H:0&He:40&Met:10&blast:97342|2|mass:60&H:0&HE:40&MET:10||||SNGRBB||||
|
||||
CBD|0||||0.1||||||||||||BD||||||
|
||||
WD|1|WD:1|||||||||||||||||||||
|
||||
TWD|0||||0.8||||||||||||WD|Star|Degen||||
|
||||
SWD|0||||4.8||||||||||||WD|Star|Degen||||
|
||||
NWD|0||||5||||||||||||WD|Star|Degen||||
|
||||
LWD|0||||6.4||||||||||||WD|Star|Degen||||
|
||||
NS|1|NS:1|||||||||||||||||||||
|
||||
SNS|0||||15||||||||||||NS|Star|Degen||||
|
||||
LNS|0||||18||||||||||||NS|Star|Degen||||
|
||||
MGT|1|MGT:1|||21|||||||||||||Star|Degen||||
|
||||
BH|1|BH:1|||||||||||||||||||||
|
||||
BH25|0||||25||||||||||||BH|BH|BH||||
|
||||
BH30|0||||30||||||||||||BH|BH|BH||||
|
||||
BH40|0||||40||||||||||||BH|BH|BH||||
|
||||
BH60|0||||60||||||||||||BH|BH|BH||||
|
||||
SMBH|1|BH:1|||||||||||||||||SMBH||||
|
||||
N|1|S:1|H:1||1|10|10000000||||H:10||H:1&S:10|||||CL|CL||||
|
||||
G|1|N:1|H:10&N:1||11|10|30000000||||H:150||H:11&S:20|||||CL|CL||||
|
||||
STN|1|G:1|H:200&G:1||211|300|30000000|0.5|||H:3000||H:211&S:320|||||CL|CL||||
|
||||
MC|1|G:1&S:1300|H:2000&G:1||2011|4000|300000000||||H:90000.||H:2011&S:4020|||||CL|CL||||
|
||||
ASTN|1|MC:1&S:60000|H:200000&MC:1||202011|200000|100000000|0.65|||H:2000000||H:202011&S:204020|||||CL|CL||||
|
||||
SCD|1|Star:300||Star:1000|||10000000|||||||||||SC|SC||0.1|4|C2.3
|
||||
SCS|1|SCD:1&Star:2000||Star:10000&BH:10|||1000000000|||||||||||SC|SC||0.2|44350|C2.4
|
||||
SCM|1|SCS:1&Star:20000||Star:100000&BH:100|||3000000000|||||||||||SC|SC||0.3|44289|C2.5
|
||||
SCL|1|SCM:1&Star:200000||Star:1000000&BH:1000|||10000000000|||||||||||SC|SC||0.5|44230|C2.6
|
||||
SCG|1|SCL:1&Star:2000000||Star:10000000&BH:10000|||30000000000|||||||||||SC|SC||0.8|3|C2.7
|
||||
GED|1|SMBH:1&SC:1|SMBH:10000|Star:1000000000&BH:1000000&SC:100|||12000000000|||||||||||GAL|GALE||1|44440|C2.9
|
||||
GES|1|GED:1&Star:2000000000|SMBH:100000|Star:10000000000&BH:10000000&SC:1000|||13000000000|||||||||||GAL|GALE||1.5|44409|C3.0
|
||||
GEM|1|GES:1&Star:20000000000|SMBH:1000000|Star:100000000000&BH:100000000&SC:10000|||15000000000|||||||||||GAL|GALE||2|44378|C3.1
|
||||
GEL|1|GEM:1&Star:200000000000|SMBH:10000000|Star:1000000000000&BH:1000000000&SC:100000|||17000000000|||||||||||GAL|GALE||3|44348|C3.2
|
||||
GEG|1|GEL:1&Star:2000000000000|SMBH:100000000|Star:10000000000000&BH:10000000000&SC:1000000|||20000000000|||||||||||GAL|GALE||4.5|44317|C3.3
|
||||
GSD|1|GED:1|STN:10000&ASTN:10|GED:1||-5240200|2000000000|0.8|||H:2400000000||H:4112110|||||GAL|GALS|||44318|C2.9
|
||||
GSS|1|GES:1|STN:100000&ASTN:100|GES:1||-52402000|3000000000|0.8|||H:36000000000||H:41121100|||||GAL|GALS|||44257|C3.0
|
||||
GSM|1|GEM:1|STN:1000000&ASTN:1000|GEM:1||-524020000|4000000000|0.8|||H:480000000000||H:411211000|||||GAL|GALS|||44229|C3.1
|
||||
GSL|1|GEL:1|STN:10000000&ASTN:10000|GEL:1||-5240200000|6000000000|0.8|||H:7200000000000||H:4112110000|||||GAL|GALS|||44198|C3.2
|
||||
GSG|1|GEG:1|STN:100000000&ASTN:100000|GEG:1||-52402000000|9000000000|0.8|||H:108000000000000||H:41121100000|||||GAL|GALS|||2|C3.3
|
||||
LGG|1|GAL:20||GAL:50|||10000000000|||||||||||LS|LS|||44317|C3.4
|
||||
LSC|1|LGG:1&GAL:100||LGG:200|||20000000000|||||||||||LS|LS|||44287|C3.6
|
||||
LGF|1|LSC:1&LGG:400||LSC:100|||30000000000|||||5||||||LS|LS|||44256|C3.8
|
||||
LGW|1|LGF:1&LSC:200||LGF:1000|||60000000000|||||10000||||||LS|LS|||44228|C4.1
|
||||
LUB|1|LGW:1&LGF:2000||LGW:1000|||100000000000|||||1000000000||||||LS|LS|||44197|C4.4
|
||||
GG|1|GG:1||||||||||||||||Planet|BPlanet||||
|
||||
AB|1|AB:1||||||||||||||||Planet|BPlanet||||
|
||||
RP|1|RP:1||||||||||||||||Planet|BPlanet||||
|
||||
HP|1|HP:1||||||||||||||||Planet|LPlanet|1|||
|
||||
LP|1|LP:1||||||||||||||||Planet|LPlanet||||
|
||||
EON1|1|EON1:1|||||||||||||||LP|Planet|LPlanet|1|||
|
||||
EON2|1|EON2:1|||||||||||||||LP|Planet|LPlanet|1|||
|
||||
EON3|1|EON3:1|||||||||||||||LP|Planet|LPlanet|1|||
|
||||
EON4|1|EON4:1|||||||||||||||LP|Planet|LPlanet|1|||
|
||||
EON5|1|EON5:1|||||||||||||||LP|Planet|LPlanet|1|||
|
||||
C0|1|C0:1||||||||||||||||Planet|LPlanet||||
|
||||
C0.0|1|C0.0:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.1|1|C0.1:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.2|1|C0.2:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.3|1|C0.3:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.4|1|C0.4:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.5|1|C0.5:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.6|1|C0.6:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.7|1|C0.7:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.8|1|C0.8:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C0.9|1|C0.9:1|||||||||||||||C0|Planet|LPlanet|1|||
|
||||
C1|1|C1:1||||||||||||||||Planet|LPlanet||||
|
||||
C1.0|1|C1.0:1|||||||||||||||C1|Planet|LPlanet|1|||
|
||||
C1.1|1|C1.1:1|||||||||||||||C1|Planet|LPlanet|1|||
|
||||
C1.2|1|C1.2:1|||||||||||||||C1|Planet|LPlanet|1|||
|
||||
C1.3|1|C1.3:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C1.4|1|C1.4:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C1.5|1|C1.5:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C1.6|1|C1.6:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C1.7|1|C1.7:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C1.8|1|C1.8:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C1.9|1|C1.9:1|||||||||||||||C1|Planet|LPlanet||||
|
||||
C2|1|C2:1|||||||||||||||||||||
|
||||
C2.0|1|C2.0:1|||||||||||||||C2||||||
|
||||
C2.1|1|C2.1:1|||||||||||||||C2||||||
|
||||
C2.2|1|C2.2:1|||||||||||||||C2||||||
|
||||
C2.3|1|C2.3:1|||||||||||||||C2||||||
|
||||
C2.4|1|C2.4:1|||||||||||||||C2||||||
|
||||
C2.5|1|C2.5:1|||||||||||||||C2||||||
|
||||
C2.6|1|C2.6:1|||||||||||||||C2||||||
|
||||
C2.7|1|C2.7:1|||||||||||||||C2||||||
|
||||
C2.8|1|C2.8:1|||||||||||||||C2||||||
|
||||
C2.9|1|C2.9:1|||||||||||||||C2||||||
|
||||
C3|1|C3:1|||||||||||||||||||||
|
||||
C3.0|1|C3.0:1|||||||||||||||C3||||||
|
||||
C3.1|1|C3.1:1|||||||||||||||C3||||||
|
||||
C3.2|1|C3.2:1|||||||||||||||C3||||||
|
||||
C3.3|1|C3.3:1|||||||||||||||C3||||||
|
||||
C3.4|1|C3.4:1|||||||||||||||C3||||||
|
||||
C3.5|1|C3.5:1|||||||||||||||C3||||||
|
||||
C3.6|1|C3.6:1|||||||||||||||C3||||||
|
||||
C3.7|1|C3.7:1|||||||||||||||C3||||||
|
||||
C3.8|1|C3.8:1|||||||||||||||C3||||||
|
||||
C3.9|1|C3.9:1|||||||||||||||C3||||||
|
||||
C4|1|C4:1|||||||||||||||||||||
|
||||
C4.0|1|C4.0:1|||||||||||||||C4||||||
|
||||
C4.1|1|C4.1:1|||||||||||||||C4||||||
|
||||
C4.2|1|C4.2:1|||||||||||||||C4||||||
|
||||
C4.3|1|C4.3:1|||||||||||||||C4||||||
|
||||
C4.4|1|C4.4:1|||||||||||||||C4||||||
|
||||
Ct|0||||||||||||||||||||||
|
||||
fsho|1|fsho:1|||||||||||||||||||||
|
||||
finf|1|finf:1|||||||||||||||||||||
|
||||
ftem|1|ftem:1|||||||||||||||||||||
|
||||
fcol|1|fcol:1|||||||||||||||||||||
|
||||
fpri|1|fpri:1|||||||||||||||||||||
|
||||
fsin|1|fsin:1|||||||||||||||||||||
|
||||
fren|1|fren:1|||||||||||||||||||||
|
||||
finf|1|finf:1|||||||||||||||||||||
|
||||
ffro|1|ffro:1|||||||||||||||||||||
|
||||
fdes|1|fdes:1|||||||||||||||||||||
|
||||
froc|1|froc:1|||||||||||||||||||||
|
||||
fpan|1|fpan:1|||||||||||||||||||||
|
||||
fgai|1|fgai:1|||||||||||||||||||||
|
||||
fdar|1|fdar:1|||||||||||||||||||||
|
||||
fede|1|fede:1|||||||||||||||||||||
|
||||
fpac|1|fpac:1|||||||||||||||||||||
|
||||
fenr|1|fenr:1|||||||||||||||||||||
|
||||
fmor|1|fmor:1|||||||||||||||||||||
|
||||
fdis|1|fdis:1|||||||||||||||||||||
|
||||
frep|1|frep:1|||||||||||||||||||||
|
||||
@@ -5,9 +5,9 @@ var evolution: OwniverseEvolution = OwniverseEvolution.new()
|
||||
|
||||
signal unlock_item(item_id: String)
|
||||
|
||||
var current_year: float = 0
|
||||
var current_year: float = 0.0
|
||||
var current_speed: int = 1
|
||||
var current_speed_in_years:float = 1
|
||||
var current_speed_in_years: float = 1.0
|
||||
|
||||
var entities: Dictionary[String, OwniverseEntity] = {}
|
||||
var entity_groups: Dictionary[String, Array] = {}
|
||||
@@ -21,24 +21,15 @@ var locked_entities: Array = []
|
||||
var cumulative_amount: Dictionary[String, float] = {}
|
||||
var current_amount: Dictionary[String, float] = {}
|
||||
|
||||
var batch_count: int = 40
|
||||
var entity_batches = {}
|
||||
|
||||
|
||||
func cycle(year_delta: float) -> void:
|
||||
# all owniverse activity should be called here
|
||||
_auto_production(year_delta)
|
||||
#_entity_evolution(year_delta)
|
||||
|
||||
_check_locked_items()
|
||||
|
||||
#var v = _get_distribution(current_amount)
|
||||
evolution.update_distribution(current_amount)
|
||||
|
||||
#for k in current_amount:
|
||||
#if current_amount[k] != 0:
|
||||
#print(k, "|", current_amount[k])
|
||||
|
||||
|
||||
#region auto production and evolution
|
||||
|
||||
@@ -54,10 +45,6 @@ func _auto_production(year_delta: float) -> void:
|
||||
_count_amount(item, _cycle_production[item])
|
||||
|
||||
|
||||
func _entity_evolution(year_delta: float) -> void:
|
||||
print("evolution: ", year_delta)
|
||||
pass
|
||||
|
||||
func _get_distribution(source: Dictionary) -> Dictionary:
|
||||
var distribution: Dictionary = {}
|
||||
var total: float = 0
|
||||
@@ -74,20 +61,21 @@ func _get_distribution(source: Dictionary) -> Dictionary:
|
||||
#region Production
|
||||
|
||||
func produce(item_id: String, amount: float) -> void:
|
||||
var entity: OwniverseEntity = entities[item_id]
|
||||
var _entity: OwniverseEntity = entities[item_id]
|
||||
|
||||
var entity_transaction = {}
|
||||
|
||||
for elem in entity.cost:
|
||||
if current_amount[elem] < amount * entity.cost[elem]:
|
||||
for elem in _entity.cost:
|
||||
if current_amount[elem] < amount * _entity.cost[elem]:
|
||||
return
|
||||
if entity.cost[elem] == 0: continue
|
||||
if _entity.cost[elem] == 0: continue
|
||||
|
||||
entity_transaction[elem] = -amount * entity.cost[elem]
|
||||
entity_transaction[elem] = - amount * _entity.cost[elem]
|
||||
|
||||
for elem in entity_transaction:
|
||||
_process_enitity(elem, entity_transaction[elem])
|
||||
_process_enitity(item_id, amount)
|
||||
evolution.add(_entity, current_year, amount)
|
||||
|
||||
|
||||
func automated_production(_delta: float) -> void:
|
||||
@@ -159,17 +147,17 @@ func change_speed(delta: int) -> int:
|
||||
|
||||
func load_data() -> bool:
|
||||
#var _is_succesfull = false
|
||||
|
||||
var game_data: Dictionary = SaveManager.load_data("owniverse", "qwerty")
|
||||
if game_data == {}:
|
||||
return false
|
||||
|
||||
if !game_data.has_all(["cumulative_amount", "current_amount",
|
||||
"entity_batches", "year",
|
||||
if !game_data.has_all(["cumulative_amount", "current_amount"
|
||||
#, "entity_batches"
|
||||
, "year",
|
||||
]):
|
||||
return false
|
||||
|
||||
entity_batches = game_data["entity_batches"]
|
||||
#entity_batches = game_data["entity_batches"]
|
||||
cumulative_amount = game_data["cumulative_amount"]
|
||||
current_amount = game_data["current_amount"]
|
||||
current_year = game_data["year"]
|
||||
@@ -185,36 +173,42 @@ func save_data() -> void:
|
||||
game_data["year"] = current_year
|
||||
game_data["cumulative_amount"] = cumulative_amount
|
||||
game_data["current_amount"] = current_amount
|
||||
game_data["entity_batches"] = entity_batches
|
||||
#game_data["entity_batches"] = entity_batches
|
||||
SaveManager.save_data("owniverse", "qwerty", game_data)
|
||||
|
||||
|
||||
func init_enitities() -> void:
|
||||
for entity_id in Global.OwniverseEntities:
|
||||
var entity = OwniverseEntity.new(Global.OwniverseEntities[entity_id])
|
||||
entities[entity_id] = entity
|
||||
var _auto_production := []
|
||||
for _entity_id in Global.OwniverseEntities:
|
||||
var _entity = OwniverseEntity.new(Global.OwniverseEntities[_entity_id])
|
||||
entities[_entity_id] = _entity
|
||||
|
||||
current_amount[entity_id] = 0
|
||||
cumulative_amount[entity_id] = 0
|
||||
if entity.group_as != "":
|
||||
current_amount[entity.group_as] = 0
|
||||
cumulative_amount[entity.group_as] = 0
|
||||
current_amount[_entity_id] = 0
|
||||
cumulative_amount[_entity_id] = 0
|
||||
if _entity.group_as != "":
|
||||
current_amount[_entity.group_as] = 0
|
||||
cumulative_amount[_entity.group_as] = 0
|
||||
|
||||
if entity.unlock != {}:
|
||||
locked_entities.append(entity)
|
||||
if _entity.unlock != {}:
|
||||
locked_entities.append(_entity)
|
||||
|
||||
if entity.product_per_year_type != "":
|
||||
auto_production.append(entity)
|
||||
evolution.init_entity(_entity)
|
||||
|
||||
if _entity.product_per_year_type != "":
|
||||
auto_production.append(_entity)
|
||||
_auto_production.append(_entity.id)
|
||||
|
||||
# groups
|
||||
if entity.group_as != "":
|
||||
if !entity_groups.has(entity.group_as):
|
||||
entity_groups[entity.group_as] = []
|
||||
entity_groups[entity.group_as].append(entity_id)
|
||||
if _entity.group_as != "":
|
||||
if !entity_groups.has(_entity.group_as):
|
||||
entity_groups[_entity.group_as] = []
|
||||
entity_groups[_entity.group_as].append(_entity_id)
|
||||
|
||||
if entity.event_group != "":
|
||||
if !entity_event_groups.has(entity.event_group):
|
||||
entity_event_groups[entity.event_group] = []
|
||||
entity_event_groups[entity.event_group].append(entity_id)
|
||||
if _entity.event_group != "":
|
||||
if !entity_event_groups.has(_entity.event_group):
|
||||
entity_event_groups[_entity.event_group] = []
|
||||
entity_event_groups[_entity.event_group].append(_entity_id)
|
||||
|
||||
#evolution.init_batches(_auto_production)
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
extends Node
|
||||
|
||||
class_name OwniverseBatch
|
||||
|
||||
var from_year: float
|
||||
var to_year: float
|
||||
|
||||
var amount: float = 0
|
||||
|
||||
|
||||
func process(year: float) -> float:
|
||||
var _amount: float = 0
|
||||
if year < to_year: return 0
|
||||
if year >= to_year:
|
||||
_amount = amount
|
||||
amount = 0
|
||||
return _amount
|
||||
|
||||
_amount = clampf(amount * (year - from_year) / (to_year - from_year), 0, amount)
|
||||
amount -= _amount
|
||||
from_year = year + 1
|
||||
|
||||
return _amount
|
||||
|
||||
|
||||
func add(delta: float) -> void:
|
||||
amount += delta
|
||||
|
||||
|
||||
func _init(year: float, year_delta: float) -> void:
|
||||
from_year = year - year_delta
|
||||
to_year = year + year_delta
|
||||
@@ -1 +0,0 @@
|
||||
uid://cs0mllvnraida
|
||||
@@ -9,13 +9,13 @@ var bind: Dictionary = {}
|
||||
var mass: float
|
||||
var space: int
|
||||
var lifespan: float
|
||||
var lifespan_cycle: float
|
||||
var lifespan_delta: float
|
||||
var auto: float
|
||||
var gamma: float
|
||||
var blast: int
|
||||
var life_product: Dictionary = {}
|
||||
var product_per_year_type: String = ""
|
||||
var product_per_year_amount: float = 0.0
|
||||
var product_per_year_amount: float = 0
|
||||
var voids: int
|
||||
var output_or: Dictionary = {}
|
||||
var output_and: Dictionary = {}
|
||||
@@ -41,15 +41,16 @@ func _init(values: Dictionary) -> void:
|
||||
mass = float(values.mass)
|
||||
space = int(values.space)
|
||||
lifespan = float(values.lifespan)
|
||||
lifespan_cycle = lifespan / Global.batch_count # need for proper math
|
||||
print(id, " → ", lifespan, " | ", lifespan_cycle)
|
||||
lifespan_delta = lifespan / Global.batch_count / 2 if lifespan > 10 else lifespan
|
||||
auto = float(values.auto)
|
||||
gamma = float(values.gamma)
|
||||
blast = int(values.blast)
|
||||
|
||||
life_product = _parse_and_string(values.life_product)
|
||||
for key in life_product.keys():
|
||||
product_per_year_type = key
|
||||
product_per_year_amount = life_product[key] / lifespan if lifespan != 0 else 0
|
||||
#print(id, " | ", lifespan_delta, " | ", lifespan)
|
||||
|
||||
voids = int(values.voids)
|
||||
output_or = _parse_or_string(values.output)
|
||||
|
||||
@@ -2,22 +2,130 @@ extends Node
|
||||
|
||||
class_name OwniverseEvolution
|
||||
|
||||
var batch_count: int = 40
|
||||
const FLOAT_THRESHOLD: float = 1.0E14
|
||||
# TODO to save !!!
|
||||
var state: Dictionary = {
|
||||
'year': 0.0,
|
||||
'energy': 1E14,
|
||||
}
|
||||
|
||||
var entities: Dictionary[String, OwniverseEntity] = {}
|
||||
|
||||
var producing_entities: Array[OwniverseEntity] = []
|
||||
|
||||
# TODO to save !!!
|
||||
var auto_production_rest: Dictionary = {
|
||||
'H': 0.0,
|
||||
'S': 0.0,
|
||||
'auto': 0.0,
|
||||
}
|
||||
|
||||
var evolving_entities: Array[OwniverseEntity] = []
|
||||
|
||||
# TODO to save !!!
|
||||
var batches: Dictionary[String, Array] = {}
|
||||
# TODO to save !!!
|
||||
var amount: Dictionary[String, float] = {}
|
||||
|
||||
|
||||
var distribution: Dictionary[String, float] = {}
|
||||
|
||||
|
||||
func evolute():
|
||||
pass
|
||||
func add(entity: OwniverseEntity, year: float, amount: float):
|
||||
var _batch_array: Array = batches[entity.id]
|
||||
var _from_year: float = year + entity.lifespan - entity.lifespan_delta
|
||||
var _to_year: float = year + entity.lifespan + entity.lifespan_delta
|
||||
if _batch_array.size() != 0 and _batch_array[-1].to_year > year + entity.lifespan:
|
||||
_batch_array[-1].amount += amount
|
||||
else:
|
||||
var _batch := {
|
||||
'from_year': _from_year,
|
||||
'to_year': _to_year,
|
||||
'amount': amount,
|
||||
}
|
||||
_batch_array.append(_batch)
|
||||
|
||||
func add_to_batch(enitity: OwniverseEntity, amount: float, year: float) -> void:
|
||||
var to_year: float = year + enitity.lifespan
|
||||
var _entity_batches: Array[OwniverseBatch] = batches[enitity.id]
|
||||
if _entity_batches.size() == 0 or _entity_batches[-1].to_year <= to_year:
|
||||
_entity_batches.append(OwniverseBatch.new(to_year, enitity.lifespan_cycle))
|
||||
print('---------')
|
||||
print(batches)
|
||||
|
||||
_entity_batches[-1].add(amount)
|
||||
|
||||
func process(from_year: float, to_year: float) -> void:
|
||||
# производим
|
||||
# эволюционируем
|
||||
# записываем новые
|
||||
var _to_produce := {}
|
||||
var _to_evolute := {}
|
||||
for _entity_id in batches:
|
||||
_to_produce[_entity_id] = 0
|
||||
_to_evolute[_entity_id] = 0
|
||||
var _new_batch_array := []
|
||||
for _batch: Dictionary in batches[_entity_id]:
|
||||
# production
|
||||
_to_produce[_entity_id] += _batch.amount
|
||||
# evolution
|
||||
if _batch.to_year < to_year:
|
||||
_to_produce[_entity_id] += _batch.amount
|
||||
else:
|
||||
var _max_from_year: float = max(from_year, _batch.from_year)
|
||||
var _min_to_year: float = min(to_year, _batch.to_year)
|
||||
var _part_of_amount: float = _batch.amount \
|
||||
* (_min_to_year - _max_from_year) \
|
||||
/ (_batch.to_year - _batch.from_year)
|
||||
_to_evolute[_entity_id] += _part_of_amount
|
||||
var _rest_of_amount: float = _batch.amount - _part_of_amount
|
||||
|
||||
if _rest_of_amount > 0:
|
||||
_new_batch_array.append({
|
||||
'from_year': _batch._from_year,
|
||||
'to_year': _batch._to_year,
|
||||
'amount': _rest_of_amount,
|
||||
})
|
||||
|
||||
# entity level
|
||||
batches[_entity_id] = _new_batch_array
|
||||
|
||||
|
||||
func produce(from_year: float, to_year: float):
|
||||
var _time_delta = to_year - from_year
|
||||
# get entity array for production
|
||||
for _entity: OwniverseEntity in producing_entities:
|
||||
var _to_produce: float = 0.0
|
||||
for _batch: Dictionary in batches[_entity.id]:
|
||||
_to_produce += _batch.amount
|
||||
_to_produce *= _time_delta * _entity.product_per_year_amount
|
||||
if _entity.auto > 0:
|
||||
var _auto_production_part: float = _entity.auto * _to_produce
|
||||
_to_produce -= _auto_production_part
|
||||
auto_production_rest.auto += _auto_production_part
|
||||
|
||||
auto_production_rest[_entity.product_per_year_type] += _to_produce
|
||||
print("auto prod rest: ", auto_production_rest)
|
||||
auto_production_rest["H"] = produce_hs("H", auto_production_rest["H"])
|
||||
auto_production_rest["S"] = produce_hs("S", auto_production_rest["S"])
|
||||
|
||||
|
||||
func produce_hs(entity_id: String, value: float) -> float:
|
||||
var _to_produce: float = floorf(value)
|
||||
amount[entity_id] += _to_produce
|
||||
# TODO double double math
|
||||
if _to_produce > state["energy"]:
|
||||
_to_produce = state["energy"]
|
||||
state["energy"] -= _to_produce
|
||||
return value - _to_produce
|
||||
|
||||
func produce_auto() -> float:
|
||||
return 0.0
|
||||
|
||||
func init_entity(entity: OwniverseEntity) -> void:
|
||||
entities[entity.id] = entity
|
||||
amount[entity.id] = 0.0
|
||||
if entity.product_per_year_type != "":
|
||||
producing_entities.append(entity)
|
||||
|
||||
if entity.lifespan > 0:
|
||||
evolving_entities.append(entity)
|
||||
|
||||
batches[entity.id] = []
|
||||
|
||||
|
||||
func update_distribution(_distribute_by: Dictionary[String, float]) -> void:
|
||||
@@ -34,3 +142,8 @@ func update_distribution(_distribute_by: Dictionary[String, float]) -> void:
|
||||
for id in distribution:
|
||||
distribution[id] /= _total
|
||||
|
||||
#func _add_float(a: float, b: Array[float]) -> Array[float]:
|
||||
#if a < FLOAT_THRESHOLD:
|
||||
#return [a+b[0], 0]
|
||||
#else:
|
||||
#return [a+b[0], 0]
|
||||
|
||||
Reference in New Issue
Block a user