Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # hp is 0 def is 1 numarti/sub refer to num of hp main/sub not incl nat sub
- # ehp = effective hp
- # damage reduction BANNED AND IGNORED(beidou q, xingqiu e, c6 jean q, c4 mc)
- # teamcomp c1 zhong bei razor but with DR stack its c6 jean bei xingqiu razor which is cheating LOL
- # what happens over 100# DR who knows as of the time this was made
- # even though beidou c1 requires ult to proc the shield we're ignoring the ult DR LOL
- # setscreen ("graphics: max; 2000")
- level = 100.0
- # enemy level
- bell = 0.0
- bellBool = False
- razor = False
- mostEHP = 0.0
- finalEHP = 0.0
- choice = 7
- arti = 0.0
- defSubs = 0
- defArtis = 0
- numArti = 0.0
- numSub = 0.0
- # 1/ dmg multi = ehp multi. 1.4 is cap, easily obtained, thundersoother and electro pot.
- resX = 1.4 * 4 + 1
- defX = 0.0
- baseHP = 11962.0
- baseDEF = 751.0
- # shield value calced in spreadsheet
- shield = 8996.376
- shield = shield * 2.5
- bolideShield = shield * 2.0
- # electro shield absorb 2.5, all multiplicative, 2.4 = 1 + 0.25 + 0.4 + 0.35 from r5 unforged, zhong a2 prestacked, bolide, moon pie respectively
- # razorHP is razor hp and beidou shield hp
- razorHP = 0.0
- razorDEF = 0.0
- HPArtis = 0
- maxDEFSubs = 0
- maxHPSubs = 0
- leftoverHP = 0
- leftoverDEF = 0
- HPSubs = 0
- flatHP = 0
- flatDEF = 0
- maxHP = 0
- maxDEF = 0
- fourHP = 0
- fourDEF = 0
- flower = 0.0
- fourFlower = 0
- fourFeather = 0
- fourFF = 0
- fourFlatDEF = 0
- fourFlatHP = 0
- maxFlatDEF = 0
- maxFlatHP = 0
- miracle = True
- zhong = True
- unforged = False
- wblind = 0.0
- beiRES = 0.0
- # bolide
- gonext = False
- def higher(d, e, f, g, tmp):
- global mostEHP
- global choice
- global numArti
- global numSub
- if finalEHP > mostEHP:
- mostEHP = finalEHP
- numArti = d
- numSub = e
- unforged = False
- bellBool = False
- razor = False
- if f == 1:
- unforged = True
- razor = True
- elif f == 0:
- razor = True
- elif f == 2:
- unforged = True
- elif f == 3:
- pass
- elif f == 4:
- bellBool = True
- zhong = True
- miracle = False
- if f > 1:
- if g == 0:
- miracle = False
- zhong = True
- elif g == 1:
- miracle = False
- zhong = False
- elif g == 2:
- miracle = True
- zhong = True
- else:
- miracle = True
- zhong = False
- choice = tmp
- # if numArti == 3 and numSub = 21:
- # print(maxHPSubs)
- # print(maxHP)
- # print(HPSubs)
- # print(flatHP)
- # print(leftoverHP)
- # print(fourFlatHP)
- # print("d")
- # print(defSubs)
- # print(flatDEF)
- # print(leftoverDEF)
- # print((defSubs + HPArtis + (2 - fourFF)))
- # print(fourDEF)
- # print(fourFF)
- # print("t")
- # print(shield)
- # print(resX)
- # print(defX)
- # print(razorHP)
- # print(razorHP - shield)
- # print(shield)
- # print(razorDEF)
- # print(" ")
- level = int(input("level\n"))
- # fileName = "beidouEHP.txt"
- # fileNo = 7
- # open : fileNo, fileName, put
- while True:
- level += 1
- mostEHP = 0
- for k in range(0, 5):
- if k == 1:
- shield = 8996.376 * 2.5
- resX = 6.6
- bolideShield = 2.4
- wblind = 0.0
- baseHP = 11962.0
- baseDEF = 751.0
- elif k == 0:
- shield = 8996.376 * 2.5
- resX = 6.6
- bolideShield = 2.0
- wblind = 0.997
- baseHP = 11962.0
- baseDEF = 751.0
- elif k == 2:
- shield = 0
- resX = 4.2
- bolideShield = 2.4
- wblind = 0.0
- baseHP = 13050.0
- baseDEF = 648.0
- bell = 0.0
- elif k == 3:
- shield = 0
- resX = 4.2
- bolideShield = 2.0
- wblind = 0.997
- baseHP = 13050.0
- baseDEF = 648.0
- bell = 0.0
- elif k == 4:
- shield = 0
- resX = 4.2
- bolideShield = 2.0
- wblind = 0.0
- baseHP = 13050.0
- baseDEF = 648.0
- bell = 0.413
- for a in range(0, 4):
- defArtis = 3 - a
- # iterate through all possibility (1 2 or 3 hp, and corresponding def)
- HPArtis = a
- for i in range(0, 26):
- if k < 2:
- defSubs = 25 - i
- HPSubs = i
- maxHPSubs = 5 * (5 - HPArtis)
- maxDEFSubs = 5 * (5 - defArtis)
- leftoverDEF = 0
- leftoverHP = 0
- if HPSubs > maxHPSubs:
- leftoverHP = HPSubs - maxHPSubs
- HPSubs = maxHPSubs
- if defSubs > maxDEFSubs:
- leftoverDEF = defSubs - maxDEFSubs
- defSubs = maxDEFSubs
- razorHP = baseHP * (1 + 0.466 * HPArtis + 0.058 * (HPSubs + (5 - HPArtis)))
- razorHP += 4780 + 299 * (leftoverHP + 4)
- razorDEF = baseDEF * (1 + 0.583 * defArtis + 0.073 * (defSubs + (5 - defArtis)) + wblind)
- razorDEF += 235 + 23 * (leftoverDEF + 5)
- shield = shield * bolideShield
- razorHP += shield
- # 1/ 1 - damage reduction, gives def ehp multiplier from wiki formula
- defX = 1 / (1 - razorDEF / (razorDEF + 500 + 5 * level))
- finalEHP = defX * razorHP * resX
- # how busted would damage reduction be its just a 4th multiplier
- # like xq 4th slot u would actually enter 1 billion + EHP
- # c6 jean and youre immortal
- higher (a, i, k, 99, 99)
- shield = 8996.376 * 2.5
- if k > 1:
- for p in range(0, 4):
- # bolidezhong, bolidening, miraclezhong, miraclening
- if k == 2:
- bolideShield = 2.4
- else:
- bolideShield = 2
- resX = 4.2
- if p == 0:
- pass
- elif p == 1:
- bolideShield -= 0.25
- resX += 0.4
- elif p == 2:
- resX += 0.8
- bolideShield -= 0.4
- else:
- bolideShield -= 0.65
- resX += 1.2
- if p < 2:
- defSubs = 25 - i
- HPSubs = i
- maxHPSubs = 5 * (5 - HPArtis)
- maxDEFSubs = 5 * (5 - defArtis)
- leftoverDEF = 0
- leftoverHP = 0
- if HPSubs > maxHPSubs:
- leftoverHP = HPSubs - maxHPSubs
- HPSubs = maxHPSubs
- if defSubs > maxDEFSubs:
- leftoverDEF = defSubs - maxDEFSubs
- defSubs = maxDEFSubs
- razorHP = baseHP * (1 + bell + 0.466 * HPArtis + 0.058 * (HPSubs + (5 - HPArtis)))
- razorHP += 4780 + 299 * (leftoverHP + 4)
- razorDEF = baseDEF * (1 + 0.583 * defArtis + 0.073 * (defSubs + (5 - defArtis)) + wblind)
- razorDEF += 235 + 23 * (leftoverDEF + 5)
- shield = 2.5 * (0.306 * razorHP + 3813)
- shield = shield * bolideShield
- razorHP += shield
- # 1/ 1 - damage reduction, gives def ehp multiplier from wiki formula
- defX = 1 / (1 - razorDEF / (razorDEF + 500 + 5 * level))
- finalEHP = defX * razorHP * resX
- # how busted would damage reduction be its just a 4th multiplier
- # like xq 4th slot u would actually enter 1 billion + EHP
- # c6 jean and youre immortal
- higher (a, i, k, p, 99)
- elif i < 22:
- # q, 4* choice. flower/feather, feather/def, feather/hp, def/def, hp/hp, hp/def
- for q in range(1, 7):
- defSubs = 21 - i
- HPSubs = i
- flatHP = 0
- flatDEF = 0
- leftoverDEF = 0
- leftoverHP = 0
- fourHP = 0
- fourDEF = 0
- flower = 4780
- gonext = True
- fourFlatDEF = 0
- fourFlatHP = 0
- fourFlower = 0
- fourFeather = 0
- fourFF = 0
- if q == 1:
- flower -= 1209
- fourHP = 0
- fourDEF = 0
- fourFlower = 1
- fourFeather = 1
- gonext = False
- elif q == 2:
- if defArtis > 0:
- gonext = False
- fourDEF = 1
- fourFeather = 1
- elif q == 3:
- if HPArtis > 0:
- gonext = False
- fourHP = 1
- fourFeather = 1
- elif q == 4:
- if defArtis > 1:
- gonext = False
- fourDEF = 2
- elif q == 5:
- if HPArtis > 1:
- gonext = False
- fourHP = 2
- else:
- if HPArtis > 0 and defArtis > 0:
- gonext = False
- fourDEF = 1
- fourHP = 1
- if gonext == False:
- fourFF = fourFlower + fourFeather
- maxHPSubs = fourDEF * 3 + 5 * (defArtis - fourDEF) + 3 * fourFF + 5 * (2 - fourFF)
- maxDEFSubs = fourHP * 3 + 5 * (HPArtis - fourHP) + 3 * fourFF + 5 * (2 - fourFF)
- maxHP = 5 * (defArtis - fourDEF) + 5 * (2 - fourFF)
- maxDEF = 5 * (HPArtis - fourHP) + 5 * (2 - fourFF)
- maxFlatHP = 5 * (3 - fourDEF - fourHP)
- maxFlatDEF = 5 * (3 - fourDEF - fourHP)
- if HPSubs > maxHPSubs:
- flatHP = HPSubs - maxHPSubs
- leftoverHP = HPSubs - (flatHP + maxHP)
- HPSubs = maxHP
- if flatHP > maxFlatHP:
- fourFlatHP = flatHP - maxFlatHP
- flatHP = maxFlatHP
- elif HPSubs > maxHP:
- leftoverHP = HPSubs - maxHP
- HPSubs = maxHP
- if defSubs > maxDEFSubs:
- flatDEF = defSubs - maxDEFSubs
- leftoverDEF = defSubs - (flatDEF + maxDEF)
- defSubs = maxDEF
- if flatDEF > maxFlatDEF:
- fourFlatDEF = flatDEF - maxFlatDEF
- flatDEF = maxFlatDEF
- elif defSubs > maxDEF:
- leftoverDEF = defSubs - maxDEF
- defSubs = maxDEF
- finalEHP = 0
- razorHP = baseHP * (1 + fourHP * 0.348 + 0.466 * (HPArtis - fourHP) + 0.058 * (HPSubs + defArtis + (2 - fourFF) - fourDEF) + 0.047 * (fourDEF + leftoverHP +
- fourFF))
- if flower > 4000:
- razorHP += flower + 299 * (flatHP + 2) + 239 * (2 + fourFlatHP) # - 180
- else:
- razorHP += flower + 299 * (flatHP + 3) + 239 * (1 + fourFlatHP) # - 180
- razorDEF = baseDEF * (1 + fourDEF * 0.435 + 0.583 * (defArtis - fourDEF) + 0.073 * (defSubs + HPArtis + (2 - fourFF) - fourHP) + 0.058 * (fourHP + leftoverDEF +
- fourFF) + wblind)
- razorDEF += 235 + 23 * (flatDEF + 3) + 19 * (2 + fourFlatDEF)
- shield = 2.5 * (0.306 * razorHP + 3813)
- shield = shield * bolideShield
- razorHP += shield
- defX = 1 / (1 - razorDEF / (razorDEF + 500 + 5 * level))
- finalEHP = defX * razorHP * resX
- higher (a, i, k, p, q)
- break
- # exit when razor = False
- # print(fileNo, mostEHP)
- diona = mostEHP * 10 / 9
- print("level? ", level)
- print(("%7f" % mostEHP).rjust(14), " effective health, HP main stats: ", numArti, ", HP sub stats: ", numSub)
- print(("diona? %7f" % diona).rjust(14))
- print(" ")
- print("razor? ", razor)
- print("bell? ", bellBool)
- print("unforged? ", unforged)
- print("zhong? ", zhong)
- print("miracle? ", miracle)
- print("4* choice, 1-6. flower/feather, feather/def, feather/hp, def/def, hp/hp, hp/def")
- print(choice)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement