diff --git a/scripts/character_sheet.js b/scripts/character_sheet.js new file mode 100644 index 0000000..e0a8ada --- /dev/null +++ b/scripts/character_sheet.js @@ -0,0 +1,177 @@ +if(document.getElementsByName("keywords")[0].content.indexOf("player")>-1){ + main(); +} + +function main(){ + var tables = document.getElementsByTagName("table"); + var abilities = {"-":0}; + var skills = {}; + var stats = {}; + var features = {}; + var masteries = []; + var EXP = {}; + + for(i=0;i tr -> th elements + for(k=0;k-1){ + output += 1; + } + } + return output; + } + + function align(cell,how="center"){ + cell.className = cell.className.replace("leftalign",""); + cell.className = cell.className.replace("rightalign",""); + cell.className = cell.className.replace("centeralign",""); + cell.className += " "+how+"align"; + + } + + for(i=0;i-1) { + stats["HD Improvement"] = parseInt(exp_value.substring(exp_value.indexOf("d")+1,exp_value.length)); + stats["HD Increase"] = parseInt(exp_value.substring(0,exp_value.indexOf("d"))); + exp_value = stats["HD Improvement"]+stats["HD Increase"]; + } else { + exp_value = 0; + exp.innerHTML = "0"; + } + + } + EXP[stat.innerHTML.trim()] = exp_value; + } + + for(i=0;i-1){ + exp = parseInt(exp_str.substring(0,exp_str.indexOf("/"))); + } else { + exp = parseInt(exp_str); + } + EXP[feature.innerHTML.trim()] = exp; + } + } + + var HP = 1 + Math.floor((skills["Persistence"]+skills["Toughness"])/2); + if(HP<1){ + HP = 1; + } + for(h=1;h<=EXP["HP"];h++){ + if(h%5==0 && abilities["CON"]>=1){ + HP += abilities["CON"]; + } else { + HP += 1; + } + } + stats["HP"].innerHTML = " "+HP+" "; + + if(!("HD Increase" in stats) && !("HD Improvement" in stats)){ + stats["HD Increase"] = 0; + stats["HD Improvement"] = 0; + + } + var hd = [Math.floor(stats["HD Increase"]/2)+1]; + hd.push(4+2*Math.floor(stats["HD Improvement"]/2)); + stats["Hit Dice"].innerHTML = hd[0]+"d"+hd[1]; + + + var AC = 8 + Math.ceil(skills["Toughness"]/3) + Math.ceil(skills["Evasion"]/3); + stats["AC"].innerHTML = " "+AC+" "; + + var exp_total = [0,parseInt(stats["EXP Total"].innerHTML.trim())]; + for(key in EXP){ + var temp_exp = parseInt(EXP[key]); + if(!isNaN(temp_exp)){ + exp_total[0] += temp_exp; + } + } + stats["EXP Total"].innerHTML = (exp_total[1]-exp_total[0])+"/"+exp_total[1]; + +}