"].join("\n"),O=["
"].join("\n"),T=["
"].join("\n"),V="
";function j(e){var t,r;if(a=new Date,!e.hasOwnProperty("playerData"))return!1;if(t=e.playerData,!e.hasOwnProperty("sceneData"))return!1;if(!e.sceneData.hasOwnProperty("persistentBoolItems"))return!1;r=e.sceneData.persistentBoolItems,z(n),function(e){for(var t in e)e[t].hasOwnProperty("percent")&&(e[t].percent=0)}(n);var K=Object.assign({},s),I=Object.assign({},i),x=Object.assign({},A),P=Object.assign({},l),R=Object.assign({},h),F=Object.assign({},c),H=Object.assign({},d),M=Object.assign({},g),U=Object.assign({},m),L=Object.assign({},u),N=Object.assign({},y),Q=Object.assign({},f),W=Object.assign({},p),O=Object.assign({},w),T=Object.assign({},S),V=Object.assign({},v),j=Object.assign({},b),_=Array.from(B),Ae=Array.from(k),le=JSON.parse(JSON.stringify(C));$(n.intro,t.playTime),ee(n.intro,t.completionPercentage),Y(n.intro,J),te(n.intro,t.maxHealthBase,t.permadeathMode),re(n.intro,t.maxMP+t.MPReserveMax),oe(n.intro,t.charmSlots,t.charmSlotsFilled),ae(n.intro,t.geo,t.geoPool),ne(n.bosses,I,t),r&&se(n.bosses,"Battle Scene",x,r),ne(n.charms,P,t),ne(n.colosseum,R,t),ne(n.dreamers,F,t),ne(n.dreamNail,H,t),ne(n.equipment,M,t);for(var de=0,ge=Ae.length;de
=de?Z(n.nailUpgrades):X(),q(n.nailUpgrades,Ae[de][0],Ae[de][1]);n.nailUpgrades.percent&&n.nailUpgrades.percent--,ne(n.maskShards,U,t),se(n.maskShards,"Heart Piece",L,r),ne(n.nailArts,N,t),function(e,t,r){for(var a in t)for(var o=1;o<=2;o++)r[a]>=o?Z(e):X(),q(e,t[a][o][0],t[a][o][1])}(n.spells,le,t),ne(n.vesselFragments,Q,t),se(n.vesselFragments,"Vessel Fragment",W,r),function(e,t,r){for(var a in t)r[a]>0?Z(e):X(),q(e,t[a][0],t[a][1])}(n.warriorDreams,O,t),ne(n.grimmTroupe,T,t),t.grimmChildLevel>=4?Z(n.grimmTroupe):X(),q(n.grimmTroupe,"Nightmare King Grimm / Banishment","Dirtmouth or Howling Cliffs"),ne(n.lifeblood,V,t),ne(n.godmaster,j,t);for(var me=1;me<=4;me++)!0===t["bossDoorStateTier"+me].completed?Z(n.godmaster):X(),q(n.godmaster,_[me-1][0],_[me-1][1]);return Y(n.godmaster,J),ie(n.essential,E,t,r),Y(n.essential,J),ie(n.achievements,G,t,r),Y(n.achievements,J),ie(n.statistics,D,t,r),function(e,t,r,a){if(!0===r.killedHollowKnight)return q(e,"","...a successful Knight who doesn't need hints anymore. The Knight explores the world of Hallownest patiently in constant search of its remaining secrets..."),!0;for(var o in t)if(!0!==r[o]){if("fireballLevel"===o){if(r[o]>=1)continue;return q(e,t[o][0],t[o][1]),!1}if("Crossroads_04"===o){for(var n=!1,s=0,i=a.length;s").concat("intro"===A?n:n+e[A].maxPercent,"% ")}else i="";document.getElementById(a).innerHTML=r+i}}(n,t.completionPercentage),he(),ce(),o=new Date,console.info("HKCheckCompletion() time (ms) =",o-a),!0}function z(e){document.getElementById("generated").innerHTML="";var t="",r="",a="",o="";for(var n in e)t=e[n].id,r=e[n].h2,a="h2-"+e[n].id,o="