function clearSheet(attributes, experimental) { console.log("Removing old data"); getSectionIDs("repeating_contacts", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_contacts_"+idarray[i]); } }); getSectionIDs("repeating_posqualities", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_posqualities_"+idarray[i]); } }); getSectionIDs("repeating_negqualities", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_negqualities_"+idarray[i]); } }); getSectionIDs("repeating_powers", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_powers_"+idarray[i]); } }); getSectionIDs("repeating_ware", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_ware_"+idarray[i]); } }); getSectionIDs("repeating_martial", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_martial_"+idarray[i]); } }); getSectionIDs("repeating_spells", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_spells_"+idarray[i]); } }); getSectionIDs("repeating_initiation", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_initiation_"+idarray[i]); } }); getSectionIDs("repeating_programs", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_programs_"+idarray[i]); } }); getSectionIDs("repeating_equipment", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_equipment_"+idarray[i]); } }); getSectionIDs("repeating_knowledge", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_knowledge_"+idarray[i]); } }); getSectionIDs("repeating_vehicles", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_vehicles_"+idarray[i]); } }); getSectionIDs("repeating_armors", function(idarray) { for(var i=0; i < idarray.length; i++) { removeRepeatingRow("repeating_armors_"+idarray[i]); } }); if(experimental == "on") { getSectionIDs("repeating_equipment1", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment1_"+idarray[j]); } }); getSectionIDs("repeating_equipment2", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment2_"+idarray[j]); } }); getSectionIDs("repeating_equipment3", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment3_"+idarray[j]); } }); getSectionIDs("repeating_equipment4", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment4_"+idarray[j]); } }); getSectionIDs("repeating_equipment5", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment5_"+idarray[j]); } }); getSectionIDs("repeating_equipment6", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment6_"+idarray[j]); } }); getSectionIDs("repeating_equipment7", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment7_"+idarray[j]); } }); getSectionIDs("repeating_equipment8", function(idarray) { for(var j=0; j < idarray.length; j++) { removeRepeatingRow("repeating_equipment8_"+idarray[j]); } }); } } on("change:chummercheckbox", function(){ getAttrs(["chummertext","chummercheckbox", "experimental", "nightly"], function(text) { if(text.chummercheckbox=="on"){ var goodcode = true; var error=""; var attributes={}; try{ var chummerfile=JSON.parse(text.chummertext); }catch(err){ goodcode = false; error = err; } if(goodcode){ try{ console.log("Character meta info"); if(chummerfile.characters.character.alias != null) attributes.character_name = chummerfile.characters.character.alias; if(chummerfile.characters.character.metatype!=null) attributes.metatype=chummerfile.characters.character.metatype; if(chummerfile.characters.character.sex!=null) attributes.sex=chummerfile.characters.character.sex; if(chummerfile.characters.character.age!=null) attributes.age=chummerfile.characters.character.age; if(chummerfile.characters.character.height!=null) attributes.height=chummerfile.characters.character.height; if(chummerfile.characters.character.weight!=null) attributes.weight=chummerfile.characters.character.weight; if(chummerfile.characters.character.playername!=null) attributes.player=chummerfile.characters.character.playername; if(chummerfile.characters.character.description!=null) attributes.description=chummerfile.characters.character.description; if(chummerfile.characters.character.background!=null) attributes.background=chummerfile.characters.character.background; if(chummerfile.characters.character.notes!=null) attributes.notes=chummerfile.characters.character.notes; if(chummerfile.characters.character.gamenotes!=null) attributes.generalnotes=chummerfile.characters.character.gamenotes; if(chummerfile.characters.character.karma!=null) attributes.karma=chummerfile.characters.character.karma; if(chummerfile.characters.character.totalkarma!=null) attributes.karmacareer=chummerfile.characters.character.totalkarma; if(chummerfile.characters.character.initbonus!=null){ attributes.initiativebonus=chummerfile.characters.character.initbonus; attributes.astralinitiativebonus=chummerfile.characters.character.initbonus; attributes.matrixinitiativebonus=chummerfile.characters.character.initbonus; } if(chummerfile.characters.character.initdice!=null) attributes.initiativedice=chummerfile.characters.character.initdice; if(chummerfile.characters.character.astralinitdice!=null) attributes.astralinitiativedice=chummerfile.characters.character.astralinitdice; if(chummerfile.characters.character.cmthresholdoffset!=null) attributes.woundadditive=chummerfile.characters.character.cmthresholdoffset; if(chummerfile.characters.character.cmthreshold!=null) attributes.woundmultiplikative=chummerfile.characters.character.cmthreshold; if(chummerfile.characters.character.cmoverflow!=null) attributes.overflowmod=chummerfile.characters.character.cmoverflow-chummerfile.characters.character.attributes[1].attribute[0].total- 1; if(chummerfile.characters.character.physicalcm!=null) attributes.physicaltrackmod=chummerfile.characters.character.physicalcm-Math.ceil(chummerfile.characters.character.attributes[1].attribute[0].total/2)- 8; if(chummerfile.characters.character.stuncm!=null) attributes.stuntrackmod=chummerfile.characters.character.stuncm-Math.ceil(chummerfile.characters.character.attributes[1].attribute[7].total/2)- 8; if(chummerfile.characters.character.totalstreetcred!=null) attributes.streetcred=chummerfile.characters.character.totalstreetcred; if(chummerfile.characters.character.totalnotoriety!=null) attributes.notoriety=chummerfile.characters.character.totalnotoriety; if(chummerfile.characters.character.totalpublicawareness!=null) attributes.pawareness=chummerfile.characters.character.totalpublicawareness; if(chummerfile.characters.character.nuyen!=null) attributes.nuyen_total=chummerfile.characters.character.nuyen; if(chummerfile.characters.character.magician=="True"){ // HeroLab 'chummer' export uses drainattribute property and a list, this is a workaround for that try{ attributes.drainattribute="@{"+chummerfile.characters.character.tradition.drainattributes.toLowerCase().substring(6)+"_total}"; } catch(err) { attributes.drainattribute="@{"+chummerfile.characters.character.tradition.drainattribute.attr[1]+"_total}"; } } }catch(err){ goodcode=false; error="Error with Character Info " +err } try{ console.log("Importing Attributes"); var attributesChummer = chummerfile.characters.character.attributes[1].attribute; attributes.bod_base=attributesChummer.find(a => a.name_english === "BOD").base; attributes.agi_base=attributesChummer.find(a => a.name_english === "AGI").base; attributes.rea_base=attributesChummer.find(a => a.name_english === "REA").base; attributes.str_base=attributesChummer.find(a => a.name_english === "STR").base; attributes.cha_base=attributesChummer.find(a => a.name_english === "CHA").base; attributes.int_base=attributesChummer.find(a => a.name_english === "INT").base; attributes.log_base=attributesChummer.find(a => a.name_english === "LOG").base; attributes.wil_base=attributesChummer.find(a => a.name_english === "WIL").base; attributes.edg_total=attributesChummer.find(a => a.name_english === "EDG").base; if(chummerfile.characters.character.technomancer==="True"){ attributes.mag_base=attributesChummer.find(a => a.name_english === "RES").total; attributes.istechnomancer = 1; } else if(chummerfile.characters.character.magician==="True"){ attributes.mag_base=attributesChummer.find(a => a.name_english === "MAG").total; attributes.istechnomancer = 0; } else { attributes.mag_base = 0; attributes.istechnomancer = 0; } attributes.bod_aug=attributesChummer.find(a => a.name_english === "BOD").total-attributesChummer.find(a => a.name_english === "BOD").base; attributes.agi_aug=attributesChummer.find(a => a.name_english === "AGI").total-attributesChummer.find(a => a.name_english === "AGI").base; attributes.rea_aug=attributesChummer.find(a => a.name_english === "REA").total-attributesChummer.find(a => a.name_english === "REA").base; attributes.str_aug=attributesChummer.find(a => a.name_english === "STR").total-attributesChummer.find(a => a.name_english === "STR").base; attributes.cha_aug=attributesChummer.find(a => a.name_english === "CHA").total-attributesChummer.find(a => a.name_english === "CHA").base; attributes.int_aug=attributesChummer.find(a => a.name_english === "INT").total-attributesChummer.find(a => a.name_english === "INT").base; attributes.log_aug=attributesChummer.find(a => a.name_english === "LOG").total-attributesChummer.find(a => a.name_english === "LOG").base; attributes.wil_aug=attributesChummer.find(a => a.name_english === "WIL").total-attributesChummer.find(a => a.name_english === "WIL").base; }catch(err){ goodcode=false; error= error + "\n" + "Error with Attributes " +err } try{ if(chummerfile.characters.character.powers!=null){ console.log("Importing Powers"); if(chummerfile.characters.character.powers.power.length>1){ for(var i=0;i1){ for(var i=0;i1){ for(var i=0;i1){ for(var j=0;j1){ for(var j=0;j1){ for(var i=0;i1){ for(var i=0;i1){ for(var i=0;i1){ for(var j=0;j0){ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor[i].armormods.armormod[j].name+" "+chummerfile.characters.character.armors.armor[i].armormods.armormod[j].rating+"\n"; }else{ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor[i].armormods.armormod[j].name+"\n"; } } }else{ if(Number(chummerfile.characters.character.armors.armor[i].armormods.armormod.rating)>0){ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor[i].armormods.armormod.name+" "+chummerfile.characters.character.armors.armor[i].armormods.armormod.rating+"\n"; }else{ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor[i].armormods.armormod.name+"\n"; } } } if(chummerfile.characters.character.armors.armor[i].gears!=null){ if(chummerfile.characters.character.armors.armor[i].gears.gear.length>1){ for(var j=0;j1){ for(var j=0;j0){ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor.armormods.armormod[j].name+" "+chummerfile.characters.character.armors.armor.armormods.armormod[j].rating+"\n"; }else{ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor.armormods.armormod[j].name+"\n"; } } }else{ if(Number(chummerfile.characters.character.armors.armor.armormods.armormod.rating)>0){ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor.armormods.armormod.name+" "+chummerfile.characters.character.armors.armor.armormods.armormod.rating+"\n"; }else{ attributes["repeating_armors_"+newrowid+"_armornotes"]+=chummerfile.characters.character.armors.armor.armormods.armormod.name+"\n"; } } } if(chummerfile.characters.character.armors.armor.gears!=null){ if(chummerfile.characters.character.armors.armor.gears.gear.length>1){ for(var j=0;j1){ for(var i=1;i1){ for(var j=0;j1){ for(var j=0; j clip.guid === chummerfile.characters.character.weapons.weapon[i-1].clips.clip[j].id); attributes["repeating_equipment"+i+"_"+newrowid+"_ammoname"+i]=ammo.name; if(ammo.weaponbonusdamage_english != null && ammo.weaponbonusap != null && ammo.weaponbonusacc != null) { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=ammo.weaponbonusdamage_english.substring(0,2); attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=ammo.weaponbonusdamage_english.substring(2); if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap"+i] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=ammo.weaponbonusap; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=ammo.weaponbonusacc; } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=0; attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=0; if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap"+i] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=0; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=0; } } }else{ var newrowid=generateRowID(); //find ammo to get stats ammo = ammunition.find(clip => clip.guid === chummerfile.characters.character.weapons.weapon[i-1].clips.clip.id); if(chummerfile.characters.character.weapons.weapon[i-1].clips.clip.location === "loaded") { //skip loaded, they will be found later anyway continue; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoname"+i]=ammo.name; if(ammo.weaponbonusdamage_english != null && ammo.weaponbonusap != null && ammo.weaponbonusacc != null) { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=ammo.weaponbonusdamage_english.substring(0,2); attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=ammo.weaponbonusdamage_english.substring(2); if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap"+i] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=ammo.weaponbonusap; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=ammo.weaponbonusacc; } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=0; attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=0; if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap"+i] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=0; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=0; } } } } } catch(err) { goodcode=false; error= error + "\n" + "Error with Weapon " + chummerfile.characters.character.weapons.weapon[i-1].name + ": " +err } } }else{ try{ if(chummerfile.characters.character.weapons.weapon.category!="Gear"){ if(chummerfile.characters.character.weapons.weapon.type=="Ranged"){ attributes["weaponismelee1"]=0; attributes["weaponrc1"]=chummerfile.characters.character.weapons.weapon.rc.match(/\d+/g).pop()-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; if(chummerfile.characters.character.weapons.weapon.rawdamage.match(/\d+/) !== null) { attributes["weapondv"+i]=chummerfile.characters.character.weapons.weapon.rawdamage.match(/\d+/)[0]; } else { attributes["weapondv"+i]=0; } attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.rawdamage.match(/\D+/)[0]; }else{ attributes["weaponismelee1"]="on"; attributes["weaponreach1"]=chummerfile.characters.character.weapons.weapon.reach; attributes["weapondv1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\d*/)[0]; attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\D+/)[0]; } attributes["weaponname1"]=chummerfile.characters.character.weapons.weapon.name; attributes["weaponaccuracy1"]=chummerfile.characters.character.weapons.weapon.accuracy.match(/\d+/g).pop(); if(Number(chummerfile.characters.character.weapons.weapon.ap)!="NaN"){ attributes["weaponap1"]=chummerfile.characters.character.weapons.weapon.ap; }else{ attributes["weaponap1"]=0; } attributes["weaponnotes1"]=""; if(typeof chummerfile.characters.character.weapons.weapon.accessories != "undefined"){ if(chummerfile.characters.character.weapons.weapon.accessories.accessory.length>1){ for(var j=0;j1){ for(var j=0; j clip.guid === chummerfile.characters.character.weapons.weapon.clips.clip[j].id); if(ammo.weaponbonusdamage_english != null) { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=ammo.weaponbonusdamage_english.substring(0,2); attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=ammo.weaponbonusdamage_english.substring(2); if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap1"] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=ammo.weaponbonusap; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=ammo.weaponbonusacc; } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=0; attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=0; if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap1"] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = 0; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=0; } } }else{ var newrowid=generateRowID(); //find ammo to get stats ammo = ammunition.find(clip => clip.guid === chummerfile.characters.character.weapons.weapon.clips.clip.id); if(ammo.weaponbonusdamage_english != null) { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=ammo.weaponbonusdamage_english.substring(0,2); attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=ammo.weaponbonusdamage_english.substring(2); if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap1"] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=ammo.weaponbonusap; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=ammo.weaponbonusacc; } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=0; attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=0; if(ammo.name_english === "Ammo: Stick-n-Shock") { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = -5 - attributes["weaponap1"] } else { attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i] = 0; } attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=0; } } } } } catch(err) { goodcode=false; error= error + "\n" + "Error with Weapon " + chummerfile.characters.character.weapons.weapon.name + ": " +err } } } try{ if(chummerfile.characters.character.complexforms!=null){ console.log("Importing complexforms"); if(chummerfile.characters.character.complexforms.complexform.length>1){ for(var i=0;i1){ for(var i=0;i 0){ name += " " + chummerfile.characters.character.gears.gear[i].rating; } attributes["repeating_equipment_"+newrowid+"_equipmentname"]=name; attributes["repeating_equipment_"+newrowid+"_equipmentnumber"]=chummerfile.characters.character.gears.gear[i].qty; if(chummerfile.characters.character.gears.gear[i].extra != null) { attributes["repeating_equipment_"+newrowid+"_equipmentdescription"]=chummerfile.characters.character.gears.gear[i].extra; } attributes["repeating_equipment_"+newrowid+"_equipmentnotes"]=""; if(chummerfile.characters.character.gears.gear[i].children!=null){ if(chummerfile.characters.character.gears.gear[i].children.gear.length>1){ for(var j=0;j 0){ note += " " + chummerfile.characters.character.gears.gear[i].children.gear[j].rating; } if(chummerfile.characters.character.gears.gear[i].children.gear[j].extra != null) { note += " " + chummerfile.characters.character.gears.gear[i].children.gear[j].extra; } attributes["repeating_equipment_"+newrowid+"_equipmentnotes"]+= note +"\n"; } } }else{ if(chummerfile.characters.character.gears.gear[i].children.gear.category_english=="Common Programs"||chummerfile.characters.character.gears.gear[i].children.gear.category_english=="Hacking Programs"){ var newrowidb=generateRowID(); attributes["repeating_programs_"+newrowidb+"_programname"]=chummerfile.characters.character.gears.gear[i].children.gear.name; }else{ note = chummerfile.characters.character.gears.gear[i].children.gear.name; if(chummerfile.characters.character.gears.gear[i].children.gear.rating > 0){ note += " " + chummerfile.characters.character.gears.gear[i].children.gear.rating; } if(chummerfile.characters.character.gears.gear[i].children.gear.extra != null) { note += " " + chummerfile.characters.character.gears.gear[i].children.gear.extra; } attributes["repeating_equipment_"+newrowid+"_equipmentnotes"]+= note +"\n"; } } } } } } } }catch(err){ goodcode=false; error= error + "\n" + "Error with Gear " +err } try { //import ai programs if(chummerfile.characters.character.aiprograms != null){ console.log("import ai programs"); if(chummerfile.characters.character.aiprograms.aiprogram.length > 1){ for(var i=0; i < chummerfile.characters.character.aiprograms.aiprogram.length; i++){ var newrowid=generateRowID(); attributes["repeating_programs_"+newrowid+"_programname"]=chummerfile.characters.character.aiprograms.aiprogram[i].name; } } else { var newrowid=generateRowID(); attributes["repeating_programs_"+newrowid+"_programname"]=chummerfile.characters.character.aiprograms.aiprogram.name; } } }catch(err){ goodcode=false; error= error + "\n" + "Error with AI programs " +err } try{ if(chummerfile.characters.character.vehicles!=null){ console.log("Importing vehicles"); if(chummerfile.characters.character.vehicles.vehicle.length>1){ for(var i=0;i1){ for(var j=0;j1)){ if(chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.category!="Gear"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponname"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.name; attributes["repeating_vehicles_"+newrowid+"_vehicleweaponaccuracy"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.accuracy.match(/\d+/g).pop(); if(chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.type=="Ranged") attributes["repeating_vehicles_"+newrowid+"_vehicleweaponrc"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.rc.match(/\d+/g).pop()-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; if(Number(chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.ap)!="NaN"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.ap; }else{ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=0; } attributes["repeating_vehicles_"+newrowid+"_vehicleweapondv"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.damage_english.match(/\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweapondmgtype"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.damage_english.match(/^\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"]=""; if(typeof chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.accessories != "undefined"){ if(chummerfile.characters.character.vehicles.vehicle[i].mods.mod[j].weapons.weapon.accessories.accessory.length>1){ for(var h=0;h1)){ if(chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.category!="Gear"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponname"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.name; attributes["repeating_vehicles_"+newrowid+"_vehicleweaponaccuracy"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.accuracy.match(/\d+/g).pop(); if(chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.type=="Ranged") attributes["repeating_vehicles_"+newrowid+"_vehicleweaponrc"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.rc.match(/\d+/g).pop()-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; if(Number(chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.ap)!="NaN"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.ap; }else{ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=0; } attributes["repeating_vehicles_"+newrowid+"_vehicleweapondv"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.damage_english.match(/\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweapondmgtype"]=chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.damage_english.match(/^\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"]=""; if(typeof chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.accessories != "undefined"){ if(chummerfile.characters.character.vehicles.vehicle[i].mods.mod.weapons.weapon.accessories.accessory.length>1){ for(var j=0;j1){ for(var j=0;j1)){ if(chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.category!="Gear"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponname"]=chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.name; attributes["repeating_vehicles_"+newrowid+"_vehicleweaponaccuracy"]=chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.accuracy.match(/\d+/g).pop(); if(chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.type=="Ranged") attributes["repeating_vehicles_"+newrowid+"_vehicleweaponrc"]=chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.rc.match(/\d+/g).pop()-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; if(Number(chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.ap)!="NaN"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.ap; }else{ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=0; } attributes["repeating_vehicles_"+newrowid+"_vehicleweapondv"]=chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.damage_english.match(/\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweapondmgtype"]=chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.damage_english.match(/^\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"]=""; if(typeof chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.accessories != "undefined"){ if(chummerfile.characters.character.vehicles.vehicle.mods.mod[j].weapons.weapon.accessories.accessory.length>1){ for(var j=0;j1)){ if(chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.category!="Gear"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponname"]=chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.name; attributes["repeating_vehicles_"+newrowid+"_vehicleweaponaccuracy"]=chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.accuracy.match(/\d+/g).pop(); if(chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.type=="Ranged") attributes["repeating_vehicles_"+newrowid+"_vehicleweaponrc"]=chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.rc.match(/\d+/g).pop()-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; if(Number(chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.ap)!="NaN"){ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.ap; }else{ attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"]=0; } attributes["repeating_vehicles_"+newrowid+"_vehicleweapondv"]=chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.damage_english.match(/\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweapondmgtype"]=chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.damage_english.match(/^\d*/); attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"]=""; if(typeof chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.accessories != "undefined"){ if(chummerfile.characters.character.vehicles.vehicle.mods.mod.weapons.weapon.accessories.accessory.length>1){ for(var j=0;j0){ attributes["repeating_knowledge_"+newrowid+"_knowledgerating"]=chummerfile.characters.character.skills.skill[i].rating; attributes["repeating_knowledge_"+newrowid+"_knowledgebonus"]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod; }else{ attributes["repeating_knowledge_"+newrowid+"_knowledgerating"]="-1"; attributes["repeating_knowledge_"+newrowid+"_knowledgebonus"]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod+1; } if(chummerfile.characters.character.skills.skill[i].skillspecializations!=null) { attributes["repeating_knowledge_"+newrowid+"_knowledgespec"]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; } else attributes["repeating_knowledge_"+newrowid+"_knowledgespec"]="none"; } if(chummerfile.characters.character.skills.skill[i].exotic=="True"){ attributes["skillname"+exotics]=chummerfile.characters.character.skills.skill[i].name_english; if(chummerfile.characters.character.skills.skill[i].rating>0){ attributes["skillbonus"+exotics]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod; attributes["skillrating"+exotics]=chummerfile.characters.character.skills.skill[i].rating; }else{ attributes["skillrating"+exotics]="-1"; attributes["skillbonus"+exotics]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod+1; } attributes["skillattr"+exotics]="@{"+chummerfile.characters.character.skills.skill[i].attribute.toLowerCase(); if(chummerfile.characters.character.skills.skill[i].skillspecializations!=null) attributes["skillspec"+exotics]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; else attributes["skillspec"+exotics]="none"; exotics++; } for(var j=1;j<73;j++){ var compname='skillname'+j; if((names[compname]==chummerfile.characters.character.skills.skill[i].name_english)||(chummerfile.characters.character.skills.skill[i].name_english=="Locksmith"&&j==29)||(chummerfile.characters.character.skills.skill[i].name_english=="Pilot Ground Craft"&&j==55)){ attributes["skillattr"+j]="@{"+chummerfile.characters.character.skills.skill[i].attribute.toLowerCase(); if(chummerfile.characters.character.skills.skill[i].rating>0){ attributes["skillrating"+j]=chummerfile.characters.character.skills.skill[i].rating; attributes["skillbonus"+j]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod; }else{ attributes["skillrating"+j]="-1"; attributes["skillbonus"+j]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod+1; } if(chummerfile.characters.character.skills.skill[i].skillspecializations!=null) attributes["skillspec"+j]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; else attributes["skillspec"+j]="none"; if(chummerfile.characters.character.weapons!=null){ if(chummerfile.characters.character.weapons.weapon.length>1){ for(var h=1;h0){ attributes["repeating_knowledge_"+newrowid+"_knowledgerating"]=chummerfile.characters.character.skills.skill[i].rating; attributes["repeating_knowledge_"+newrowid+"_knowledgebonus"]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod; }else{ attributes["repeating_knowledge_"+newrowid+"_knowledgerating"]="-1"; attributes["repeating_knowledge_"+newrowid+"_knowledgebonus"]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod+1; } if(chummerfile.characters.character.skills.skill[i].skillspecializations!=null) attributes["repeating_knowledge_"+newrowid+"_knowledgespec"]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; else attributes["repeating_knowledge_"+newrowid+"_knowledgespec"]="none"; } if(chummerfile.characters.character.skills.skill[i].exotic=="True"){ attributes["skillname"+exotics]=chummerfile.characters.character.skills.skill[i].name; if(chummerfile.characters.character.skills.skill[i].rating>0){ attributes["skillbonus"+exotics]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod; attributes["skillrating"+exotics]=chummerfile.characters.character.skills.skill[i].rating; }else{ attributes["skillrating"+exotics]="-1"; attributes["skillbonus"+exotics]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod+1; } attributes["skillattr"+exotics]="@{"+chummerfile.characters.character.skills.skill[i].attribute.toLowerCase(); if(chummerfile.characters.character.skills.skill[i].skillspecializations!=null) attributes["skillspec"+exotics]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; else attributes["skillspec"+exotics]="none"; exotics++; } for(var j=1;j<73;j++){ var compname='skillname'+j; if((names[compname]==chummerfile.characters.character.skills.skill[i].name)||(chummerfile.characters.character.skills.skill[i].name=="Locksmith"&&j==29)||(chummerfile.characters.character.skills.skill[i].name=="Pilot Ground Craft"&&j==55)){ attributes["skillattr"+j]="@{"+chummerfile.characters.character.skills.skill[i].attribute.toLowerCase(); if(chummerfile.characters.character.skills.skill[i].rating>0){ attributes["skillrating"+j]=chummerfile.characters.character.skills.skill[i].rating; attributes["skillbonus"+j]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod; }else{ attributes["skillrating"+j]="-1"; attributes["skillbonus"+j]=chummerfile.characters.character.skills.skill[i].total-chummerfile.characters.character.skills.skill[i].rating-chummerfile.characters.character.skills.skill[i].attributemod+1; } if(chummerfile.characters.character.skills.skill[i].skillspecializations!=null) attributes["skillspec"+j]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; else attributes["skillspec"+j]="none"; if(chummerfile.characters.character.weapons!=null){ if(chummerfile.characters.character.weapons.weapon.length>1){ for(var h=1;h1){ for(var i=0;i1){ for(var i=0;i1){ for(var i=0; i