index.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Dead Cells calculator</title>
  6. <link rel="stylesheet" href="style.css">
  7. <script src="script.js"></script>
  8. </head>
  9. <body onload="document.getElementById('frm').reset();">
  10. <div class="navbar">
  11. <a href="https://docs.google.com/spreadsheets/d/1TxHlmb7zKaXEcbKbqoPMMUzOEdp_LLM-RMcdqH7-mpM">stat spreadsheet</a>
  12. <a href="https://discord.gg/deadcells">discord</a>
  13. <a href="https://steamcommunity.com/workshop/filedetails/?id=1424703267">alaahmods</a>
  14. <a href="https://gitlab.com/alaah/calc">source</a>
  15. </div>
  16. <div class="content">
  17. <h1>Dead Cells HP calculator</h1>
  18. <datalist id="browsers">
  19. <option value="Internet Explorer">
  20. <option value="Firefox">
  21. <option value="Google Chrome">
  22. <option value="Opera">
  23. <option value="Safari">
  24. </datalist>
  25. <form id="frm">
  26. Brutality:&nbsp;&nbsp;<input value="1" min="1" step="1" type="number" onchange="update_stat(0, this.value)" id="brut" /><br />
  27. Tactics:&nbsp;&nbsp;&nbsp;&nbsp;<input value="1" min="1" step="1" type="number" onchange="update_stat(1, this.value)" id="tact" /><br />
  28. Survival:&nbsp;&nbsp;&nbsp;<input value="1" min="1" step="1" type="number" onchange="update_stat(2, this.value)" id="surv" /><br />
  29. Difficulty:&nbsp;<input value="0" min="0" max="4" step="1" type="number" onchange="update_diff(this.value)" id="diff" /><br />
  30. Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  31. <select style="min-width: 250px;" id="level" onchange="update_level(this.value)">
  32. <option value="-1">&lt;choose&gt;</option>
  33. <option value="0">Prisoner&#39;s Quarters</option>
  34. <option value="1">Promenade of the Condemnded</option>
  35. <option value="2">Prison Depths</option>
  36. <option value="3">Toxic Sewers</option>
  37. <option value="4">Ramparts</option>
  38. <option value="5">Ossuary</option>
  39. <option value="6">Ancient Sewers</option>
  40. <option value="7">Black Bridge</option>
  41. <option value="8">Insufferable Crypt</option>
  42. <option value="9">Stilt Village</option>
  43. <option value="10">Slumbering Sanctuary</option>
  44. <option value="11">Graveyard</option>
  45. <option value="12">Forgotten Sepulchre</option>
  46. <option value="13">Clock Tower</option>
  47. <option value="14">Clock Room</option>
  48. <option value="15">High Peak Castle</option>
  49. <option value="16">Throne Room</option>
  50. </select><br />
  51. Mob:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  52. <select style="min-width: 250px;" id="mob" onchange="update_mob(this.value)">
  53. <option value="-1">&lt;choose&gt;</option>
  54. <option value="0">Zombie</option>
  55. <option value="1">Running Zombie</option>
  56. <option value="2">Purulent Zombie (Graveyard)</option>
  57. <option value="3">Corpse Fly</option>
  58. <option value="4">Purulent Zombie (Sewers)</option>
  59. <option value="5">Corpse Worm</option>
  60. <option value="6">Weaver Worm</option>
  61. <option value="7">Elite Lieutenant</option>
  62. <option value="8">Scorpion</option>
  63. <option value="9">Hammer</option>
  64. <option value="10">Grenadier</option>
  65. <option value="11">Bombardier</option>
  66. <option value="12">Undead Archer</option>
  67. <option value="13">Dark Tracker</option>
  68. <option value="14">Runner</option>
  69. <option value="15">Cannibal</option>
  70. <option value="16">Shieldbearer</option>
  71. <option value="17">Thorny</option>
  72. <option value="18">Disgusting Worm</option>
  73. <option value="19">Bat</option>
  74. <option value="20">Kamikaze</option>
  75. <option value="21">Buzzcutter</option>
  76. <option value="22">Protector</option>
  77. <option value="23">Slasher</option>
  78. <option value="24">Catcher</option>
  79. <option value="25">Axe Thrower</option>
  80. <option value="26">Spawner</option>
  81. <option value="27">Corpse Juice</option>
  82. <option value="28">Lacerator</option>
  83. <option value="29">Pirate Captain</option>
  84. <option value="30">Spiker (Mushroom)</option>
  85. <option value="31">Shocker</option>
  86. <option value="32">Inquisitor360</option>
  87. <option value="33">Caster</option>
  88. <option value="34">Golem</option>
  89. <option value="35">Masker</option>
  90. <option value="36">Guardian Knight</option>
  91. <option value="37">Lancer</option>
  92. <option value="38">The Concierge</option>
  93. <option value="39">Conjunctivius</option>
  94. <option value="40">Conjunctivius&#39; Tentacle</option>
  95. <option value="41">The Time Keeper</option>
  96. <option value="42">The Hand of the King</option>
  97. </select>
  98. </form>
  99. <button style="margin-top: 5px;" onclick="reset();">Reset</button>
  100. <div class="yay">HP: <span id="result">—</span></div>
  101. <div class="yay" id="capdiv" style="display: none;">Damage cap: <span id="hardcap">-</span></div>
  102. <h2 style="margin-top: 50px;">What am I looking at?</h2>
  103. <div class="walloftext">A calculator for hidden HP scaling of Dead Cells mobs.</div>
  104. <h2>How accurate is this?</h2>
  105. <div class="walloftext">No idea. This game's scaling is ugly dark magic. This thingy uses the following formula deduced from the truelle gamefiles which may or may not be incomplete/incorrect:</div>
  106. <div class="walloftext" style="margin-top: 15px; margin-bottom: 15px; font-family: monospace;">[base mob hp]*(1+.12*[mobtier])*1.08^[stats]</div>
  107. <div class="walloftext">We do not have access to the source code; deepnight does, and he is known for writing weird shit. In-game Cheat Engine tests give contradicting results so... whoops. Guess it's at least SORTA accurate.</div>
  108. <h2>Why is HP a range?</h2>
  109. <div class="walloftext">Mob HP/damage values are calculated according to your stats once you enter a level. When you collect new scrolls in the level, mob values aren't updated but the player's getting stronger. To counteract this, the game strengthens the mobs relatively to the room's distance from the level entrance. Longer levels are more affected (Ancient Sewers the most), while boss rooms aren't.
  110. </div>
  111. <footer>
  112. v1.01
  113. </footer>
  114. </body>
  115. </html>