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
- %even though beidou c1 requires ult to proc the shield we're ignoring the ult DR LOL
- setscreen ("graphics: max; 2000")
- var level := 100.0;
- %enemy level
- var bell := 0.0;
- var bellBool := false;
- var razor : boolean
- var mostEHP := 0.0;
- var finalEHP := 0.0;
- var choice := 7;
- var arti := 0.0;
- var defSubs := 0;
- var defArtis := 0;
- var numArti := 0.0;
- var numSub := 0.0;
- %1/ dmg multi = ehp multi. 1.4 is cap, easily obtained, thundersoother and electro pot.
- var resX := 1.4 * 4 + 1
- var defX := 0.0;
- var baseHP := 11962.0;
- var baseDEF := 751.0;
- %shield value calced in spreadsheet
- var shield := 8996.376;
- shield := shield * 2.5;
- var 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
- var razorHP := 0.0;
- var razorDEF := 0.0;
- var HPArtis := 0;
- var maxDEFSubs := 0;
- var maxHPSubs := 0;
- var leftoverHP := 0;
- var leftoverDEF := 0;
- var HPSubs := 0;
- var flatHP := 0;
- var flatDEF := 0;
- var maxHP := 0
- var maxDEF := 0
- var fourHP := 0;
- var fourDEF := 0
- var flower := 0.0
- var fourFlower := 0
- var fourFeather := 0
- var fourFF := 0
- var fourFlatDEF := 0
- var fourFlatHP := 0
- var maxFlatDEF := 0
- var maxFlatHP := 0
- var miracle := true;
- var zhong := true;
- var unforged := false;
- var wblind := 0.0;
- var beiRES := 0.0;
- %bolide
- var gonext := false;
- proc higher (d, e, f, g, tmp : int)
- if finalEHP > mostEHP then
- mostEHP := finalEHP;
- numArti := d
- numSub := e
- unforged := false
- bellBool := false
- razor := false
- if f = 1 then
- unforged := true
- razor := true
- elsif f = 0 then
- razor := true
- elsif f = 2 then
- unforged := true
- elsif f = 3 then
- elsif f = 4 then
- bellBool := true
- end if
- zhong := true
- miracle := false
- if f > 1 then
- if g = 0 then
- miracle := false
- zhong := true
- elsif g = 1 then
- miracle := false
- zhong := false
- elsif g = 2 then
- miracle := true
- zhong := true
- else
- miracle := true
- zhong := false
- end if
- end if
- choice := tmp
- % if numArti = 3 and numSub = 21 then
- % put maxHPSubs
- % put maxHP
- % put HPSubs
- % put flatHP
- % put leftoverHP
- % put fourFlatHP
- % put "d"
- % put defSubs
- % put flatDEF
- % put leftoverDEF
- % put (defSubs + HPArtis + (2 - fourFF))
- % put fourDEF
- % put fourFF
- % put "t"
- % put shield
- % put resX
- % put defX
- % put razorHP
- % put razorHP - shield
- % put shield
- % put razorDEF
- % put " "
- %
- %
- % end if
- end if
- end higher
- level := 0
- var fileName := "beidouEHP.txt"
- var fileNo := 7
- open : fileNo, fileName, put
- loop
- level += 1
- mostEHP := 0
- for k : 0 .. 4
- if k = 1 then
- shield := 8996.376 * 2.5
- resX := 6.6
- bolideShield := 2.35
- wblind := 0.0
- baseHP := 11962.0;
- baseDEF := 751.0;
- elsif k = 0 then
- shield := 8996.376 * 2.5
- resX := 6.6
- bolideShield := 1.95
- wblind := 0.997
- baseHP := 11962.0;
- baseDEF := 751.0;
- elsif k = 2 then
- shield := 0
- resX := 4.2
- bolideShield := 2.35
- wblind := 0.0
- baseHP := 13050.0;
- baseDEF := 648.0;
- bell := 0.0
- elsif k = 3 then
- shield := 0
- resX := 4.2
- bolideShield := 1.95
- wblind := 0.997
- baseHP := 13050.0;
- baseDEF := 648.0;
- bell := 0.0
- elsif k = 4 then
- shield := 0
- resX := 4.2
- bolideShield := 1.95
- wblind := 0.0
- baseHP := 13050.0;
- baseDEF := 648.0;
- bell := 0.413
- end if
- for a : 0 .. 3
- defArtis := 3 - a;
- %iterate through all possibility (1 2 or 3 hp, and corresponding def)
- HPArtis := a;
- for i : 0 .. 25
- if k < 2 then
- defSubs := 25 - i;
- HPSubs := i;
- maxHPSubs := 5 * (5 - HPArtis)
- maxDEFSubs := 5 * (5 - defArtis)
- leftoverDEF := 0
- leftoverHP := 0
- if HPSubs > maxHPSubs then
- leftoverHP := HPSubs - maxHPSubs;
- HPSubs := maxHPSubs
- end if
- if defSubs > maxDEFSubs then
- leftoverDEF := defSubs - maxDEFSubs;
- defSubs := maxDEFSubs
- end if
- 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
- end if
- if k > 1 then
- for p : 0 .. 3
- %bolidezhong, bolidening, miraclezhong, miraclening
- if k = 2 then
- bolideShield := 2.35
- else
- bolideShield := 1.95
- end if
- resX := 4.2
- if p = 0 then
- elsif p = 1 then
- bolideShield -= 0.25
- resX += 0.4
- elsif p = 2 then
- resX += 0.8
- bolideShield -= 0.35
- else
- bolideShield -= 0.6
- resX += 1.2
- end if
- if p < 2 then
- defSubs := 25 - i;
- HPSubs := i;
- maxHPSubs := 5 * (5 - HPArtis)
- maxDEFSubs := 5 * (5 - defArtis)
- leftoverDEF := 0
- leftoverHP := 0
- if HPSubs > maxHPSubs then
- leftoverHP := HPSubs - maxHPSubs;
- HPSubs := maxHPSubs
- end if
- if defSubs > maxDEFSubs then
- leftoverDEF := defSubs - maxDEFSubs;
- defSubs := maxDEFSubs
- end if
- 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)
- elsif i < 22 then
- %q, 4* choice. flower/feather, feather/def, feather/hp, def/def, hp/hp, hp/def
- for q : 1 .. 6
- 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 then
- flower -= 1209
- fourHP := 0
- fourDEF := 0
- fourFlower := 1
- fourFeather := 1
- gonext := false
- elsif q = 2 then
- if defArtis > 0 then
- gonext := false
- fourDEF := 1
- fourFeather := 1
- end if
- elsif q = 3 then
- if HPArtis > 0 then
- gonext := false
- fourHP := 1
- fourFeather := 1
- end if
- elsif q = 4 then
- if defArtis > 1 then
- gonext := false
- fourDEF := 2
- end if
- elsif q = 5 then
- if HPArtis > 1 then
- gonext := false
- fourHP := 2
- end if
- else
- if HPArtis > 0 and defArtis > 0 then
- gonext := false
- fourDEF := 1
- fourHP := 1
- end if
- end if
- if gonext = false then
- 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 then
- flatHP := HPSubs - maxHPSubs
- leftoverHP := HPSubs - (flatHP + maxHP)
- HPSubs := maxHP
- if flatHP > maxFlatHP then
- fourFlatHP := flatHP - maxFlatHP
- flatHP := maxFlatHP
- end if
- elsif HPSubs > maxHP then
- leftoverHP := HPSubs - maxHP
- HPSubs := maxHP
- end if
- if defSubs > maxDEFSubs then
- flatDEF := defSubs - maxDEFSubs
- leftoverDEF := defSubs - (flatDEF + maxDEF)
- defSubs := maxDEF
- if flatDEF > maxFlatDEF then
- fourFlatDEF := flatDEF - maxFlatDEF
- flatDEF := maxFlatDEF
- end if
- elsif defSubs > maxDEF then
- leftoverDEF := defSubs - maxDEF
- defSubs := maxDEF
- end if
- 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 then
- razorHP += flower + 299 * (flatHP + 2) + 239 * (2 + fourFlatHP) %- 180
- else
- razorHP += flower + 299 * (flatHP + 3) + 239 * (1 + fourFlatHP) %- 180
- end if
- 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)
- end if
- end for
- end if
- end for
- end if
- end for
- end for
- end for
- exit when level = 2000
- put : fileNo, mostEHP
- end loop
- put "level? ", level
- put mostEHP : 14 : 7, " effective health, HP main stats: ", numArti, ", HP sub stats: ", numSub
- put " "
- put "razor? ", razor
- put "bell? ", bellBool
- put "unforged? ", unforged
- put "zhong? ", zhong
- put "miracle? ", miracle
- put "4* choice, 1-6. flower/feather, feather/def, feather/hp, def/def, hp/hp, hp/def"
- put choice
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement