Here's the Python Source Code of my simulations if anyone is interested. [hider=divinus.py] """ Simulates the levelling up in the RP Divinius, assuming all Might is used for levelling or Holy Sites """ def simulate(holysite_saving): """holysite_saving: how many turns worth of might will be spent on Holy Sites. 0 means no Holy Sites constructed""" turn = 2 level = 2 might = 0 # the currency used to level up mpt = 5 # might per turn holy_sites = 0 # these produce might too build_cooldown = 0 # turns until next holy site while level < 100: might += mpt print("**Turn " +str(turn)+' start**') print('Level: '+str(level)+', Might: '+str(might)+', M/T: '+str(mpt)+', Holy Sites: '+str(holy_sites)) cost = get_cost(level) levelled = False #flag, for if any Might has been spent if build_cooldown < holysite_saving: # Save Might for a Holy Site, instead of levelling if build_cooldown == 0: # strategy: spend all might on Holy Sites when possible. mpt += might/2 print('!! Built a Holy Site with '+str(might)+' Might') might = 0 holy_sites += 1 build_cooldown = get_cooldown(holy_sites) levelled = True else: # Level up as much as possible. while might >= cost: levelled = True might -= cost level += 1 mpt += 1 print('! Levelled up to Level '+str(level)) cost = get_cost(level) if levelled: print('Level: '+str(level)+', Might: '+str(might)+', M/T: '+str(mpt)+', Holy Sites: '+str(holy_sites)) turn += 1 build_cooldown = max(0, build_cooldown-1) def get_cost(level): """Returns the cost to level up from integer 'level'.""" if level == 1: return 3 elif level == 2: return 4 elif level == 3: return 5 elif level == 4: return 6 elif level >= 5 and level < 10: return 10 elif level >= 10 and level < 20: return 15 elif level >= 20 and level < 50: return 20 elif level >= 50 and level < 100: return 30 else: return 100000 def get_cooldown(holysites): """Returns the turns it will take until you can build your next holy site, given the amount of holysites you already have at the moment of finishing building.""" if holysites == 1 or holysites == 2: return 4 elif holysites == 3: return 8 elif holysites == 4: return 12 elif holysites >= 5: return 100000 else: return 0 [/hider] [hider=divinus.py, for Ull'Yang] """ Simulates the levelling up in the RP Divinius, assuming all Might is used for levelling or Holy Sites """ def simulate(holysite_saving): """holysite_saving: how many turns worth of might will be spent on Holy Sites. 0 means no Holy Sites constructed""" turn = 3 level = 2 might = 2 # the currency used to level up mpt = 7.5 # might per turn holy_sites = 0 # these produce might too build_cooldown = 0 # turns until next holy site while level < 100: might += mpt print("**Turn " +str(turn)+' start**') print('Level: '+str(level)+', Might: '+str(might)+', M/T: '+str(mpt)+', Holy Sites: '+str(holy_sites)) cost = get_cost(level) levelled = False #flag, for if any Might has been spent if build_cooldown < holysite_saving: # Save Might for a Holy Site, instead of levelling if build_cooldown == 0: # strategy: spend all might on Holy Sites when possible. mpt += might/2 print('!! Built a Holy Site with '+str(might)+' Might') might = 0 holy_sites += 1 build_cooldown = get_cooldown(holy_sites) levelled = True else: # Level up as much as possible. while might >= cost: levelled = True might -= cost level += 1 mpt += 1.5 print('! Levelled up to Level '+str(level)) cost = get_cost(level) if levelled: print('Level: '+str(level)+', Might: '+str(might)+', M/T: '+str(mpt)+', Holy Sites: '+str(holy_sites)) turn += 1 build_cooldown = max(0, build_cooldown-1) def get_cost(level): """Returns the cost to level up from integer 'level'.""" if level == 1: return 3 elif level == 2: return 4 elif level == 3: return 5 elif level == 4: return 6 elif level >= 5 and level < 10: return 10 elif level >= 10 and level < 20: return 15 elif level >= 20 and level < 50: return 20 elif level >= 50 and level < 100: return 30 else: return 100000 def get_cooldown(holysites): """Returns the turns it will take until you can build your next holy site, given the amount of holysites you already have at the moment of finishing building.""" if holysites == 1 or holysites == 2: return 4 elif holysites == 3: return 8 elif holysites == 4: return 12 elif holysites >= 5: return 100000 else: return 0 [/hider]