diff --git a/v1.1/clicker/gui.py b/v1.1/clicker/gui.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/v1.1/clicker/gui.py @@ -0,0 +1 @@ + diff --git a/v1.1/clicker/keypress_detector.py b/v1.1/clicker/keypress_detector.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/v1.1/clicker/keypress_detector.py @@ -0,0 +1 @@ + diff --git a/v1.1/clicker/main_script.py b/v1.1/clicker/main_script.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/v1.1/clicker/main_script.py @@ -0,0 +1 @@ + diff --git a/v1.1/launcher.py b/v1.1/launcher.py new file mode 100644 index 0000000..0996f6d --- /dev/null +++ b/v1.1/launcher.py @@ -0,0 +1,52 @@ +import time, os, random +from mrmine.main_script import mrmine_start_game +from colorama import Fore as color +os.system('clear') +print(""" +Enter the ID for the game you would like to play. +1. Mr. Mine [WIP]""") +game=input(" > ") +try: + game=int(game) +except Exception: + print("Invalid ID.") + exit() +if game==1: + print("Starting Mr. Mine...") + time.sleep(0.5) + print("Loading Game...") + time.sleep(random.uniform(0.5, 1.5)) + os.system('clear') + i=0 + d1=random.randint(-3, 3) + d2=random.randint(-3, 3) + d3=random.randint(-3, 3) + while i<100: + os.system('clear') + print("="*102) + print("|"+color.GREEN+("█"*i)+color.WHITE+("█"*(100-i))+"|") + print("|"+color.GREEN+("█"*i)+color.WHITE+("█"*(100-i))+"| ("+str(i)+"%)") + print("="*102) + if i<=15+d1: + print(color.WHITE+"Loading Launcher...") + elif i<=50+d2: + print(color.WHITE+"Initializing Game...") + elif i<=80+d3: + print(color.WHITE+"Loading GUI...") + elif i<100: + print("Loading Scripts...") + elif i==100: + break + i+=1 + time.sleep(random.uniform(0.05, 0.2)) + os.system('clear') + print("="*102) + print("|"+color.GREEN+("█"*100)+color.WHITE+"|") + print("|"+color.GREEN+("█"*100)+color.WHITE+"| (100%)") + print("="*102) + print(color.WHITE+"Loading Complete!") + time.sleep(1) + print(color.WHITE+"Welcome to Mr. Mine!") + time.sleep(0.5) + os.system('clear') + mrmine_start_game() diff --git a/v1.1/mrmine/__pycache__/gui.cpython-312.pyc b/v1.1/mrmine/__pycache__/gui.cpython-312.pyc new file mode 100644 index 0000000..ae07335 Binary files /dev/null and b/v1.1/mrmine/__pycache__/gui.cpython-312.pyc differ diff --git a/v1.1/mrmine/__pycache__/keypress_detector.cpython-312.pyc b/v1.1/mrmine/__pycache__/keypress_detector.cpython-312.pyc new file mode 100644 index 0000000..1619edd Binary files /dev/null and b/v1.1/mrmine/__pycache__/keypress_detector.cpython-312.pyc differ diff --git a/v1.1/mrmine/__pycache__/main_script.cpython-312.pyc b/v1.1/mrmine/__pycache__/main_script.cpython-312.pyc new file mode 100644 index 0000000..fa42d13 Binary files /dev/null and b/v1.1/mrmine/__pycache__/main_script.cpython-312.pyc differ diff --git a/v1.1/mrmine/gui.py b/v1.1/mrmine/gui.py new file mode 100644 index 0000000..03c5cd9 --- /dev/null +++ b/v1.1/mrmine/gui.py @@ -0,0 +1,283 @@ +import os +global save_data +GUI_data={ +'VIEW_DEPTH': 2, +'TOP_DEPTH': 0, +'BOTTOM_DEPTH': 10, +'PERCENT_TO_NEW_LAYER': 0 +} +progress={ + 1: '\u2590', + 2: '\u259f', + 3: '\u2599', + 4: '\u258c', + 5: '\u259b', + 6: '\u259c' +} +drill={ + 1: ' * ** * **|', + 2: ' * ** * |', + 3: ' ** * |', + 4: ' * |', + 5: ' ================= | | |', + 6: ' ================= | | |', + 7: ' ||x██|██|██|██x|| | | |', + 8: ' ||x██|██|██|██x|| | | |', + 9: ' ||x██|██|██|██x⊥⊥_| | |', + 10: ' ||x██|██|██|██x_____| |', + 11: ' ||x██|██|██|██x|| |', + 12: ' \\\\=*=*=*=*=*=*=// |', + 13: ' \\\\=*=*=*=*=*=// |', + 14: ' \\\\=*=*=*=*=// |', + 15: ' \\\\=*=*=*=// |', + 16: ' \\\\=*=*=// |', + 17: ' \\\\=*=// |', + 18: ' \\\\=// |', + 19: ' \\|/ |', + 20: ' | |' +} +icons={ + 1: """ +=============== +| D R I L L | +| L E V E L 1 | +| \\\\=*=// | +| \\\\=// | +| \\|/ | +| | | +===============""" +} + +def read_save(): + save_data = {} + with open('mrmine_save.txt', 'r') as file: + for line in file: + line = line.strip() + if '=' in line: # Ensuring there's a key-value split + key, value = line.split('=', 1) # Split on first '=' to handle complex values + try: + # Attempt to evaluate the value for correct data types + save_data[key] = eval(value) + except Exception: + # If eval fails, it's likely a string or ambiguous format + save_data[key] = value + return save_data +def get_save(data): + global save_data + save_data=data +def update_GUI_func(key): + if key=='q': + os.system('clear') + print(""" +|==================================================================================================================================================| +| | +| |==========================================================================================================================================| | +| | /======== ========= /\\ |========= ========== | | +| | | | | / \\ | || | | +| | | |_______/ /____\\ |========= || | | +| | | | \\ / \\ | || | | +| | \\======== | \\ / \\ | || | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| | | | +| |==========================================================================================================================================| | +| | +|==================================================================================================================================================|""") + +minerals={ +#1-15 is Earth minerals, 13 max length +1: 'Coal ', +2: 'Copper ', +3: 'Iron ', +4: 'Silver ', +5: 'Gold ', +6: 'Diamond ', +7: 'Blue Obsidian', +8: 'Red Diamond ', +9: 'Black Opal ', +10: 'Californium ', +11: 'Neodymium ', +12: 'Titanium ', +13: 'Uranium ', +14: 'Plutonium ', +15: 'Polonium ' +} +fluids={ +#1-3 is earth fluids, 6 max length +1: 'Oil ', +2: 'Fuel ', +3: 'Energy' +} +def num_format(number): + if number>=0 and number<10: + return '00'+str(number)+'.00' + elif number>=10 and number<100: + return '0'+str(number)+'.00' + elif number>=100 and number<1000: + return str(number)+'.00' + elif number>=1000 and number<10000: + return '00'+str(round(number/1000, 1))+'K' + elif number>=10000 and number<100000: + return '0'+str(round(number/1000, 1))+'K' + elif number>=100000 and number<1000000: + return str(round(number/1000, 1))+'K' + elif number>=1000000 and number<10000000: + return '00'+str(round(number/1000000, 1))+"M" + elif number>=10000000 and number<100000000: + return '0'+str(round(number/1000000, 1))+"M" + elif number>=100000000 and number<1000000000: + return str(round(number/1000000, 1))+"M" + elif number>=1000000000 and number<10000000000: + return '00'+str(round(number/1000000000, 1))+"B" + elif number>=10000000000 and number<100000000000: + return '0'+str(round(number/1000000000, 1))+"B" + elif number>=100000000000 and number<1000000000000: + return str(round(number/1000000000, 1))+"B" + else: + return 'OVERFL' +def km_format(km): + if km>=0 and km<10: + return '000,000,00'+str(km) + elif km>=10 and km<100: + return '000,000,0'+str(km) + elif km>=100 and km<1000: + return '000,000,'+str(km) + elif km>=1000 and km<10000: + return '000,00'+str(km)[0]+','+str(km)[1:] + elif km>=10000 and km<100000: + return '000,0'+str(km)[:1]+','+str(km)[2:] + elif km>=100000 and km<1000000: + return '000,'+str(km)[:2]+','+str(km)[3:] + elif km>=1000000 and km<10000000: + return '00'+str(km)[0]+','+str(km)[1::3]+','+str(km)[4:] + elif km>=10000000 and km<100000000: + return '0'+str(km)[:1]+','+str(km)[2::4]+','+str(km)[5:] + elif km>=100000000 and km<1000000000: + return str(km)[:2]+','+str(km)[3::5]+','+str(km)[6:] + else: + return 'OVERFLOW_ER' +def print_top_gui(): + global save_data + try: + planet_offset_15 = (save_data['PLANET'] - 1) * 15 + planet_offset_3 = (save_data['PLANET'] - 1) * 3 + top_gui = f"""===================================================================================================================================================="""+'\r'+'\n'+f"""| {str(num_format(save_data['MINERALS'][0]))} {minerals[1 + planet_offset_15]} {str(num_format(save_data['MINERALS'][3]))} {minerals[4 + planet_offset_15]} {str(num_format(save_data['MINERALS'][6]))} {minerals[7 + planet_offset_15]} {str(num_format(save_data['MINERALS'][9]))} {minerals[10 + planet_offset_15]} {str(num_format(save_data['MINERALS'][12]))} {minerals[13 + planet_offset_15]} {str(num_format(save_data['FLUIDS'][0]))} {fluids[1 + planet_offset_3]} ${str(num_format(save_data['MONEY']))} money |"""+'\r'+'\n'+f"""| {str(num_format(save_data['MINERALS'][1]))} {minerals[2 + planet_offset_15]} {str(num_format(save_data['MINERALS'][4]))} {minerals[5 + planet_offset_15]} {str(num_format(save_data['MINERALS'][7]))} {minerals[8 + planet_offset_15]} {str(num_format(save_data['MINERALS'][10]))} {minerals[11 + planet_offset_15]} {str(num_format(save_data['MINERALS'][13]))} {minerals[14 + planet_offset_15]} {str(num_format(save_data['FLUIDS'][1]))} {fluids[2 + planet_offset_3]} {str(km_format(save_data['DEPTH']))}KM |"""+'\r'+'\n'+f"""| {str(num_format(save_data['MINERALS'][2]))} {minerals[3 + planet_offset_15]} {str(num_format(save_data['MINERALS'][5]))} {minerals[6 + planet_offset_15]} {str(num_format(save_data['MINERALS'][8]))} {minerals[9 + planet_offset_15]} {str(num_format(save_data['MINERALS'][11]))} {minerals[12 + planet_offset_15]} {str(num_format(save_data['MINERALS'][14]))} {minerals[15 + planet_offset_15]} {str(num_format(save_data['FLUIDS'][2]))} {fluids[3 + planet_offset_3]} ({str(num_format(GUI_data['PERCENT_TO_NEW_LAYER']))[:-1]}% done) |""" + print('\r' + top_gui) + except Exception as e: + print(e) +def update_GUI(): + os.system('clear') + print_top_gui() + if GUI_data['VIEW_DEPTH']==2: + print('\r'+'====================================================================================================================================================') + print('\r'+'| 0000 KM | |') + print('\r'+'| | |') + print('\r'+'| ========= ========= ========= ========= | |') + print('\r'+'| // \\\\ // \\\\ // \\\\ // \\\\ | |') + print('\r'+'| // \\\\ // \\\\ // \\\\ // \\\\ | |') + print('\r'+'| || S E L L || || H I R E || || C R A F T || || Q U E S T || | |') + print('\r'+'| || || || || || || || || | |') + if GUI_data['BOTTOM_DEPTH']>=4 and GUI_data['VIEW_DEPTH']>=2: + depths=[] + if GUI_data['VIEW_DEPTH']>=3: + i=0 + else: + i=1 + while i<=4: + depths.append(GUI_data['VIEW_DEPTH']-2+i) + i+=1 + km_number=0 + for depth in depths: + if depth<10: + km_number=str('000'+str(depth)) + elif depth>=10 and depth<100: + km_number=str('00'+str(depth)) + elif depth>=100 and depth<1000: + km_number=str('0'+str(depth)) + elif depth>=1000 and depth<10000: + km_number=str(depth) + else: + km_number=str(depth) + print("DEPTH LIMIT EXCEEDED") + km_number2=km_number + km_number=int(km_number) + if km_number<=GUI_data['BOTTOM_DEPTH']-3: + print('\r'+'=========================================================================================================================| |') + print('\r'+'| '+str(km_number2)+' KM \\ / \\ / \\ / \\ / \\ / \\ / \\ / | |') + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / | |') + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / | |') + print('\r'+'| X X X X X X X | |') + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ | |') + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ | |') + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ | |') + elif km_number==GUI_data['BOTTOM_DEPTH']-2: + print('\r'+'=========================================================================================================================| |') + print('\r'+'| '+str(km_number2)+' KM \\ / \\ / \\ / \\ / \\ / \\ / \\ / | |') + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / | |') + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / | |') + print('\r'+'| X X X X X X X |'+drill[1]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[2]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[3]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[4]) + elif km_number==GUI_data['BOTTOM_DEPTH']-1: + print('\r'+'=========================================================================================================================|'+drill[5]) + print('\r'+'| '+str(km_number2)+' KM \\ / \\ / \\ / \\ / \\ / \\ / \\ / |'+drill[6]) + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / |'+drill[7]) + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / |'+drill[8]) + print('\r'+'| X X X X X X X |'+drill[9]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[10]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[11]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[12]) + elif km_number==GUI_data['BOTTOM_DEPTH']: + print('\r'+'=========================================================================================================================|'+drill[13]) + print('\r'+'| '+str(km_number2)+' KM \\ / \\ / \\ / \\ / \\ / \\ / \\ / |'+drill[14]) + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / |'+drill[15]) + print('\r'+'| \\ / \\ / \\ / \\ / \\ / \\ / \\ / |'+drill[16]) + print('\r'+'| X X X X X X X |'+drill[17]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[18]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[19]) + print('\r'+'| / \\ / \\ / \\ / \\ / \\ / \\ / \\ |'+drill[20]) + if km_number==GUI_data['BOTTOM_DEPTH']: + print('\r'+'====================================================================================================================================================') + else: + print('\r'+'====================================================================================================================================================') +def scroll(key): + if key=='up': + if GUI_data['VIEW_DEPTH']>=3: + GUI_data['VIEW_DEPTH']-=1 + elif key=='down': + if GUI_data['VIEW_DEPTH']<=GUI_data['BOTTOM_DEPTH']-3: + GUI_data['VIEW_DEPTH']+=1 +def GUI_send(data, type): + if type=="percent_to_new_layer": + GUI_data['PERCENT_TO_NEW_LAYER']=data + elif type=='signal': + if data=='new_depth': + GUI_data['BOTTOM_DEPTH']+=1 + save_data['DEPTH']+=1 diff --git a/v1.1/mrmine/keypress_detector.py b/v1.1/mrmine/keypress_detector.py new file mode 100644 index 0000000..c8bf271 --- /dev/null +++ b/v1.1/mrmine/keypress_detector.py @@ -0,0 +1,40 @@ +import sys +import termios +import tty +import select +from contextlib import contextmanager + +@contextmanager +def raw_mode(file): + old_attrs = termios.tcgetattr(file.fileno()) + try: + tty.setraw(file.fileno()) + yield + finally: + termios.tcsetattr(file.fileno(), termios.TCSADRAIN, old_attrs) + +SPECIAL_KEYS = { + '\x1b[A': 'UP', + '\x1b[B': 'DOWN', + '\x1b[C': 'RIGHT', + '\x1b[D': 'LEFT' +} + +def detect_keypress_nonblocking(): + with raw_mode(sys.stdin): + rlist, _, _ = select.select([sys.stdin], [], [], 0.1) + if rlist: + chars = [] + char = sys.stdin.read(1) + if char == '\x1b': # Escape character + chars.append(char) + char = sys.stdin.read(1) + if char: + chars.append(char) + if char == '[': + char = sys.stdin.read(1) + if char: + chars.append(char) + result = ''.join(chars) + return SPECIAL_KEYS.get(result, result) + return None diff --git a/v1.1/mrmine/main_script.py b/v1.1/mrmine/main_script.py new file mode 100644 index 0000000..d7a7f12 --- /dev/null +++ b/v1.1/mrmine/main_script.py @@ -0,0 +1,183 @@ +from threading import Thread +import threading +from mrmine.keypress_detector import detect_keypress_nonblocking +from mrmine.gui import update_GUI, scroll, update_GUI_func, GUI_send, get_save +import os, time, random, math +global save_data +# Make the relay of keys more accessible +key_pressed = None + +def keypress_listener(): + global key_pressed + while True: + key = detect_keypress_nonblocking() + if key: + key_pressed = key.lower() + if key_pressed == '\x03': # Ctrl+C for interrupt + raise KeyboardInterrupt + +def tick(): + global key_pressed + while True: + if key_pressed: + key = key_pressed + key_pressed = False + print(f"Key registered: {key}") + if key == 'up' or key == 'down': + scroll(key) + update_GUI() + elif key in ["k", "q", "c", "s", "h", "u", " ", "p", "r"]: + update_GUI_func(key) + else: + time.sleep(0.1) + update_GUI() + +def drill_percent(): + global save_data + while True: + drill_data=save_data['DRILL_DATA'] + time_to_new_depth=drill_data[0]/save_data['LAYER_HARDNESS'] + start_new_depth=time.time() + end_new_depth=start_new_depth+time_to_new_depth + while time.time()<=end_new_depth: + percent=round(((time.time()-start_new_depth)/time_to_new_depth)*100, 2) + GUI_send(percent, "percent_to_new_layer") + time.sleep(0.5) + save_data['DEPTH']+=1 + save_data['LAYER_HARDNESS']=float((1.57**(1+(save_data['DEPTH']/50)))-0.57) + GUI_send('new_depth', 'signal') +def miner_monitor(): + global save_data + while True: + i=1 + resource_input={ + 1: 0, + 2: 0, + 3: 0, + 4: 0, + 5: 0, + 6: 0, + 7: 0, + 8: 0, + 9: 0, + 10: 0, + 11: 0, + 12: 0, + 13: 0, + 14: 0, + 15: 0 + } + while i<=save_data['DEPTH']: + x100depth=math.ceil(i/100) + #1-100km: 0.2 coal / sec, 0.07 copper / sec, 0.003 iron / sec + #101-200km: 0.2 copper / sec, 0.07 iron / sec, 0.003 silver / sec + #etc. + if x100depth*100<=save_data['DEPTH']: + resource_input[x100depth]+=(0.2)*save_data['MINER_SPEED']*save_data['MINER_EFFICIENCY']*100 + resource_input[x100depth+1]+=(0.07)*save_data['MINER_SPEED']*save_data['MINER_EFFICIENCY']*100 + resource_input[x100depth+2]+=(0.003)*save_data['MINER_SPEED']*save_data['MINER_EFFICIENCY']*100 + else: + resource_input[x100depth]+=(0.2)*save_data['MINER_SPEED']*save_data['MINER_EFFICIENCY']*(save_data['DEPTH']-((x100depth-1)*100)) + resource_input[x100depth+1]+=(0.07)*save_data['MINER_SPEED']*save_data['MINER_EFFICIENCY']*(save_data['DEPTH']-((x100depth-1)*100)) + resource_input[x100depth+2]+=(0.003)*save_data['MINER_SPEED']*save_data['MINER_EFFICIENCY']*(save_data['DEPTH']-((x100depth-1)*100)) + i+=100 + for mineral in resource_input: + save_data['MINERALS'][mineral-1]+=resource_input[mineral] + save_data['MINERALS'][mineral-1]=int(round(save_data['MINERALS'][mineral-1], 0)) + time.sleep(0.1) +drill_thread=threading.Thread(target=drill_percent) +miner_thread=threading.Thread(target=miner_monitor) +def read_save(): + save_data = { +'SAVE_NUMBER': 1, +'END_TIME': 0, +'STORAGE': 0, +'UPGRADES': [], +'MINERALS': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], +'FLUIDS': [0, 0, 0], +'SCIENTIST_DATA': [], +'CAVE_DATA': [], +'CHEST_DATA': [], +'MONEY': 0, +'TP_DATA': [], +'MANAGER': (0.00, 0), +'ATTACK': (0, 0), +'MINER_SPEED': 1, +'MINER_EFFICIENCY': 1, +'DEPTH': 10, +'DRILL_DATA': [], +'RIG_DATA': [], +'LAYER_HARDNESS': 1, +'FORGE_STATUS': 'none', +'BROADCAST': '', +'BROADCAST_TYPE': 'none', +'DATAID': 0, +'PLANET': 1 + } + with open('/workspaces/coolmathgames/v1.0/mrmine/mrmine_save.txt', 'r') as file: + for line in file: + line = line.strip() + if '=' in line: # Ensuring there's a key-value split + key, value = line.split('=', 1) # Split on first '=' to handle complex values + try: + # Attempt to evaluate the value for correct data types + save_data[key] = eval(value) + except Exception: + print("Error reading save file key") + # If eval fails, it's likely a string or ambiguous format + save_data[key] = value + return save_data +def send_data_to_GUI(): + while True: + get_save(save_data) + time.sleep(0.02) +send_thread=threading.Thread(target=send_data_to_GUI) +def write_save(save_data): + success=False + i=1 + while i<=5 and not success: + try: + with open('/workspaces/coolmathgames/v1.0/mrmine/mrmine_save.txt', 'w') as file: + print("opened save file") + strv='''''' + for item in save_data: + print("writing item",item) + strv += item + '=' + str(save_data[item]) + '\n' + file.writelines(strv) + print("success") + success=True + break + except Exception: + print(f"Error while saving the game. (Attempt {i}/5)") + i+=1 + +def mrmine_start_game(): + global save_data + os.system('clear') + try: + save_data=read_save() + save_data['DATAID']=str(random.randint(1, 1000000000)) + write_save(save_data) + save_data=read_save() + except Exception: + print("Error while loading / writing save file.") + save_data=None + print("Exiting the game...") + exit() + if save_data['BROADCAST_TYPE'] == "message": + print("Message from devs: "+str(save_data['BROADCAST'])) + time.sleep(1) + os.system('clear') + try: + listener_thread = Thread(target=keypress_listener) + listener_thread.daemon = True + listener_thread.start() + drill_thread.start() + miner_thread.start() + send_thread.start() + update_GUI() + while True: + tick() + except KeyboardInterrupt: + print("Game interrupted, exiting...") + exit() diff --git a/v1.1/mrmine/mrmine_save.txt b/v1.1/mrmine/mrmine_save.txt new file mode 100644 index 0000000..dd1d228 --- /dev/null +++ b/v1.1/mrmine/mrmine_save.txt @@ -0,0 +1,24 @@ +SAVE_NUMBER=1 +END_TIME=0 +STORAGE=0 +UPGRADES=[] +MINERALS=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +FLUIDS=[0, 0, 0] +SCIENTIST_DATA=[] +CAVE_DATA=[] +CHEST_DATA=[] +MONEY=0 +TP_DATA=[] +MANAGER=(0.0, 0) +ATTACK=(0, 0) +MINER_SPEED=1 +MINER_EFFICIENCY=1 +DEPTH=10 +DRILL_DATA=[1, 1] +RIG_DATA=[] +LAYER_HARDNESS=1 +FORGE_STATUS= none +BROADCAST= +BROADCAST_TYPE= none +DATAID=15573166 +PLANET=1 diff --git a/v1.1/mrmine/save_template.txt b/v1.1/mrmine/save_template.txt new file mode 100644 index 0000000..9983a85 --- /dev/null +++ b/v1.1/mrmine/save_template.txt @@ -0,0 +1,24 @@ +SAVE_NUMBER=1 +END_TIME=0 +STORAGE=0 +UPGRADES=[] +MINERALS=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +FLUIDS=[0, 0, 0] +SCIENTIST_DATA=[] +CAVE_DATA=[] +CHEST_DATA=[] +MONEY=0 +TP_DATA=[] +MANAGER=0.00, 0 +ATTACK=0, 0 +MINER_SPEED=1 +MINER_EFFICIENCY=1 +DEPTH=10 +DRILL_DATA=[] +RIG_DATA=[] +LAYER_HARDNESS=1 +FORGE_STATUS=none +BROADCAST=none +BROADCAST_TYPE=none +DATAID=15B65C6F3 +PLANET=1 \ No newline at end of file