diff --git a/Shadowrun5th/Shadowrun5th.html b/Shadowrun5th/Shadowrun5th.html
index 227c62b4b7..a2e59bf796 100644
--- a/Shadowrun5th/Shadowrun5th.html
+++ b/Shadowrun5th/Shadowrun5th.html
@@ -13518,26 +13518,28 @@ on("change:chummercheckbox", async function(){
});
async function importChummerChar(attributes, chummerfile, text) {
- var maintab = importMainTabChummer(chummerfile);
- var skilltab = importSkillsTabChummer(text.experimental, chummerfile);
- var magictab = importMagicTabChummer(text.experimental, chummerfile);
- var enhancementtab = importEnhancementTabChummer(text, chummerfile);
- var matrixtab = importMatrixTabChummer(text.experimental, chummerfile);
- var vehiclestab = importVehiclesTabChummer(text.experimental, chummerfile);
- var equipmentstab = importEquipmentTabChummer(text.experimental, chummerfile);
- var socialtab = importSocialTabChummer(chummerfile);
+
+ let character = chummerfile.characters.character;
+ var maintab = importMainTabChummer(character);
+ var skilltab = importSkillsTabChummer(text.experimental, character);
+ var magictab = importMagicTabChummer(text.experimental, character);
+ var enhancementtab = importEnhancementTabChummer(text, character);
+ var matrixtab = importMatrixTabChummer(text.experimental, character);
+ var vehiclestab = importVehiclesTabChummer(text.experimental, character);
+ var equipmentstab = importEquipmentTabChummer(text.experimental, character);
+ var socialtab = importSocialTabChummer(character);
let results = await Promise.all([maintab, skilltab, enhancementtab, socialtab]);
let dependingResults = await Promise.all([magictab, matrixtab, vehiclestab, equipmentstab]);
- attributes.warningcheckbox="0";
- attributes.chummercheckbox="0";
- attributes.chummertext= results.join("") + dependingResults.join("") + "\nREMEMBER THIS IS ONLY A HELP AND YOU NEED TO DOUBLE CHECK EVERYTHING."
+ attributes.warningcheckbox = "0";
+ attributes.chummercheckbox = "0";
+ attributes.chummertext = results.join("") + dependingResults.join("") + "\nREMEMBER THIS IS ONLY A HELP AND YOU NEED TO DOUBLE CHECK EVERYTHING."
return attributes;
}
-async function importMainTabChummer(chummerfile) {
+async function importMainTabChummer(character) {
var goodcode = true;
var error = "";
@@ -13546,72 +13548,71 @@ async function importMainTabChummer(chummerfile) {
try{
console.log("Character meta info");
- if(chummerfile.characters.character.alias != null)
- attributes.character_name = chummerfile.characters.character.alias;
+ if(character.alias != null)
+ attributes.character_name = character.alias;
- if(chummerfile.characters.character.metatype != null)
- attributes.metatype=chummerfile.characters.character.metatype;
+ if(character.metatype != null)
+ attributes.metatype=character.metatype;
- if(chummerfile.characters.character.sex != null)
- attributes.sex=chummerfile.characters.character.sex;
+ if(character.sex != null)
+ attributes.sex=character.sex;
- if(chummerfile.characters.character.age != null)
- attributes.age=chummerfile.characters.character.age;
+ if(character.age != null)
+ attributes.age=character.age;
- if(chummerfile.characters.character.height != null)
- attributes.height=chummerfile.characters.character.height;
+ if(character.height != null)
+ attributes.height=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(character.weight != null)
+ attributes.weight=character.weight;
+ if(character.playername != null)
+ attributes.player=character.playername;
+ if(character.description != null)
+ attributes.description=character.description;
+ if(character.background != null)
+ attributes.background=character.background;
+ if(character.notes != null)
+ attributes.notes=character.notes;
+ if(character.gamenotes != null)
+ attributes.generalnotes=character.gamenotes;
+ if(character.karma != null)
+ attributes.karma=character.karma;
+ if(character.totalkarma != null)
+ attributes.karmacareer=character.totalkarma;
+ if(character.initbonus != null){
+ attributes.initiativebonus = character.initbonus;
+ attributes.astralinitiativebonus = character.initbonus;
+ attributes.matrixinitiativebonus = 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"){
+ if(character.initdice != null)
+ attributes.initiativedice = character.initdice;
+ if(character.astralinitdice != null)
+ attributes.astralinitiativedice = character.astralinitdice;
+ if(character.cmthresholdoffset != null)
+ attributes.woundadditive = character.cmthresholdoffset;
+ if(character.cmthreshold != null)
+ attributes.woundmultiplikative = character.cmthreshold;
+ if(character.cmoverflow != null)
+ attributes.overflowmod = character.cmoverflow-character.attributes[1].attribute[0].total- 1;
+ if(character.physicalcm != null)
+ attributes.physicaltrackmod = character.physicalcm-Math.ceil(character.attributes[1].attribute[0].total/2)- 8;
+ if(character.stuncm != null)
+ attributes.stuntrackmod = character.stuncm-Math.ceil(character.attributes[1].attribute[7].total/2)- 8;
+ if(character.totalstreetcred != null)
+ attributes.streetcred = character.totalstreetcred;
+ if(character.totalnotoriety != null)
+ attributes.notoriety = character.totalnotoriety;
+ if(character.totalpublicawareness != null)
+ attributes.pawareness = character.totalpublicawareness;
+ if(character.nuyen != null)
+ attributes.nuyen_total = character.nuyen;
+ if(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.match(/[A-Z]+/g)[1].toLowerCase()+"_total}";
+ attributes.drainattribute="@{"+character.tradition.drainattributes.match(/[A-Z]+/g)[1].toLowerCase()+"_total}";
} catch(err)
{
- attributes.drainattribute="@{"+chummerfile.characters.character.tradition.drainattribute.attr[1]+"_total}";
+ attributes.drainattribute="@{"+character.tradition.drainattribute.attr[1]+"_total}";
}
}
}catch(err){
@@ -13621,7 +13622,7 @@ async function importMainTabChummer(chummerfile) {
try{
console.log("Importing Attributes");
- var attributesChummer = chummerfile.characters.character.attributes[1].attribute;
+ var attributesChummer = 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;
@@ -13631,12 +13632,12 @@ async function importMainTabChummer(chummerfile) {
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"){
+ if(attributesChummer.find(a => a.name_english === "RES") != null ){
attributes.mag_base=attributesChummer.find(a => a.name_english === "RES").total;
attributes.istechnomancer = 1;
}
- else if(chummerfile.characters.character.magician==="True" || chummerfile.characters.character.adept==="True"){
- attributes.mag_base=attributesChummer.find(a => a.name_english === "MAG").total;
+ else if(attributesChummer.find(a => a.name_english === "MAG") != null ){
+ attributes.mag_base = attributesChummer.find(a => a.name_english === "MAG").total;
attributes.istechnomancer = 0;
}
else {
@@ -13668,7 +13669,7 @@ async function importMainTabChummer(chummerfile) {
}
}
-async function importSkillsTabChummer(experimental, chummerfile) {
+async function importSkillsTabChummer(experimental, character) {
var goodcode = true;
var error = "";
@@ -13685,40 +13686,40 @@ async function importSkillsTabChummer(experimental, chummerfile) {
var exotics=73;
try{
console.log("Importing Skills");
- for(var i=0;i 0){
- 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;
+ if(character.skills.skill[i].rating > 0){
+ attributes["repeating_knowledge_"+newrowid+"_knowledgerating"] = character.skills.skill[i].rating;
+ attributes["repeating_knowledge_"+newrowid+"_knowledgebonus"] = character.skills.skill[i].total-character.skills.skill[i].rating-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;
+ attributes["repeating_knowledge_"+newrowid+"_knowledgebonus"] = character.skills.skill[i].total-character.skills.skill[i].rating-character.skills.skill[i].attributemod+1;
}
- if(chummerfile.characters.character.skills.skill[i].spec != null) {
- attributes["repeating_knowledge_"+newrowid+"_knowledgespec"] = chummerfile.characters.character.skills.skill[i].spec;
+ if(character.skills.skill[i].spec != null) {
+ attributes["repeating_knowledge_"+newrowid+"_knowledgespec"] = character.skills.skill[i].spec;
}
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;
+ if(character.skills.skill[i].exotic=="True"){
+ attributes["skillname"+exotics]=character.skills.skill[i].name_english;
+ if(character.skills.skill[i].rating>0){
+ attributes["skillbonus"+exotics]=character.skills.skill[i].total-character.skills.skill[i].rating-character.skills.skill[i].attributemod;
+ attributes["skillrating"+exotics]=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["skillbonus"+exotics]=character.skills.skill[i].total-character.skills.skill[i].rating-character.skills.skill[i].attributemod+1;
}
- attributes["skillattr"+exotics]="@{"+chummerfile.characters.character.skills.skill[i].attribute.toLowerCase();
+ attributes["skillattr"+exotics]="@{"+character.skills.skill[i].attribute.toLowerCase();
- if(chummerfile.characters.character.skills.skill[i].spec != null)
- attributes["skillspec"+exotics] = chummerfile.characters.character.skills.skill[i].spec;
+ if(character.skills.skill[i].spec != null)
+ attributes["skillspec"+exotics] = character.skills.skill[i].spec;
else
attributes["skillspec"+exotics]="none";
exotics++;
@@ -13726,18 +13727,18 @@ async function importSkillsTabChummer(experimental, chummerfile) {
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;
+ if((names[compname]==character.skills.skill[i].name_english)||(character.skills.skill[i].name_english=="Locksmith"&&j==29)||(character.skills.skill[i].name_english=="Pilot Ground Craft"&&j==55)){
+ attributes["skillattr"+j]="@{"+character.skills.skill[i].attribute.toLowerCase();
+ if(character.skills.skill[i].rating>0){
+ attributes["skillrating"+j]=character.skills.skill[i].rating;
+ attributes["skillbonus"+j]=character.skills.skill[i].total-character.skills.skill[i].rating-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;
+ attributes["skillbonus"+j]=character.skills.skill[i].total-character.skills.skill[i].rating-character.skills.skill[i].attributemod+1;
}
- if(chummerfile.characters.character.skills.skill[i].spec != null) {
- attributes["skillspec"+j] = chummerfile.characters.character.skills.skill[i].spec;
+ if(character.skills.skill[i].spec != null) {
+ attributes["skillspec"+j] = character.skills.skill[i].spec;
}
else {
attributes["skillspec"+j]="none";
@@ -13763,7 +13764,7 @@ async function importSkillsTabChummer(experimental, chummerfile) {
}
}
-async function importMagicTabChummer(experimental, chummerfile) {
+async function importMagicTabChummer(experimental, character) {
var goodcode = true;
var error = "";
@@ -13775,30 +13776,30 @@ async function importMagicTabChummer(experimental, chummerfile) {
var spellcasting = 0;
var ritual = 0;
- for(var i=0; i 1){
- for(var i=0; i < chummerfile.characters.character.spells.spell.length; i++){
- await importSingleSpell(chummerfile.characters.character.spells.spell[i], attributes, spellcastingSkill, ritualSkill, alchemySkill);
+ if(character.spells.spell.length > 1){
+ for(var i=0; i < character.spells.spell.length; i++){
+ await importSingleSpell(character.spells.spell[i], attributes, spellcastingSkill, ritualSkill, alchemySkill);
}
}else{
- await importSingleSpell(chummerfile.characters.character.spells.spell, attributes, spellcastingSkill, ritualSkill, alchemySkill);
+ await importSingleSpell(character.spells.spell, attributes, spellcastingSkill, ritualSkill, alchemySkill);
}
}
}catch(err){
@@ -13807,27 +13808,27 @@ async function importMagicTabChummer(experimental, chummerfile) {
}
try{
- if(chummerfile.characters.character.complexforms != null){
+ if(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 1){
- for(var i=0; i < chummerfile.characters.character.critterpowers.critterpower.length; i++){
+ if(character.critterpowers.critterpower.length > 1){
+ for(var i=0; i < character.critterpowers.critterpower.length; i++){
var newrowid=generateRowID();
- attributes["repeating_critterpowers_"+newrowid+"_spellname"]=chummerfile.characters.character.critterpowers.critterpower[i].fullname;
- attributes["repeating_critterpowers_"+newrowid+"_spelltype"]=chummerfile.characters.character.critterpowers.critterpower[i].type;
- if(chummerfile.characters.character.critterpowers.critterpower[i].notes != null){
- attributes["repeating_critterpowers_"+newrowid+"_spelldescription"] = chummerfile.characters.character.critterpowers.critterpower[i].notes;
+ attributes["repeating_critterpowers_"+newrowid+"_spellname"]=character.critterpowers.critterpower[i].fullname;
+ attributes["repeating_critterpowers_"+newrowid+"_spelltype"]=character.critterpowers.critterpower[i].type;
+ if(character.critterpowers.critterpower[i].notes != null){
+ attributes["repeating_critterpowers_"+newrowid+"_spelldescription"] = character.critterpowers.critterpower[i].notes;
}
attributes["repeating_critterpowers_"+newrowid+"_spelldrain"]="-0";
- attributes["repeating_critterpowers_"+newrowid+"_spellcategory"] = chummerfile.characters.character.critterpowers.critterpower[i].category;
+ attributes["repeating_critterpowers_"+newrowid+"_spellcategory"] = character.critterpowers.critterpower[i].category;
attributes["repeating_critterpowers_"+newrowid+"_spellbonus"]=0;
- if(chummerfile.characters.character.critterpowers.critterpower[i].range != null){
- attributes["repeating_critterpowers_"+newrowid+"_spellrange"]=chummerfile.characters.character.critterpowers.critterpower[i].range;
+ if(character.critterpowers.critterpower[i].range != null){
+ attributes["repeating_critterpowers_"+newrowid+"_spellrange"]=character.critterpowers.critterpower[i].range;
} else {
attributes["repeating_critterpowers_"+newrowid+"_spellrange"]="N/A";
}
- if(chummerfile.characters.character.critterpowers.critterpower[i].duration != null) {
- attributes["repeating_critterpowers_"+newrowid+"_spellduration"] = chummerfile.characters.character.critterpowers.critterpower[i].duration;
+ if(character.critterpowers.critterpower[i].duration != null) {
+ attributes["repeating_critterpowers_"+newrowid+"_spellduration"] = character.critterpowers.critterpower[i].duration;
} else {
attributes["repeating_critterpowers_"+newrowid+"_spellduration"] = "N/A";
}
@@ -13868,23 +13869,23 @@ async function importMagicTabChummer(experimental, chummerfile) {
}
}else{
var newrowid=generateRowID();
- attributes["repeating_critterpowers_"+newrowid+"_spellname"]=chummerfile.characters.character.critterpowers.critterpower.fullname;
- attributes["repeating_critterpowers_"+newrowid+"_spelltype"]=chummerfile.characters.character.critterpowers.critterpower.type;
- if(chummerfile.characters.character.critterpowers.critterpower.notes!=null){
- attributes["repeating_critterpowers_"+newrowid+"_spelldescription"]=chummerfile.characters.character.critterpowers.critterpower.notes;
+ attributes["repeating_critterpowers_"+newrowid+"_spellname"]=character.critterpowers.critterpower.fullname;
+ attributes["repeating_critterpowers_"+newrowid+"_spelltype"]=character.critterpowers.critterpower.type;
+ if(character.critterpowers.critterpower.notes!=null){
+ attributes["repeating_critterpowers_"+newrowid+"_spelldescription"]=character.critterpowers.critterpower.notes;
}
attributes["repeating_critterpowers_"+newrowid+"_spelldrain"]="-0";
- attributes["repeating_critterpowers_"+newrowid+"_spellcategory"]=chummerfile.characters.character.critterpowers.critterpower.category;
+ attributes["repeating_critterpowers_"+newrowid+"_spellcategory"]=character.critterpowers.critterpower.category;
attributes["repeating_critterpowers_"+newrowid+"_spellbonus"]=0;
- if(chummerfile.characters.character.critterpowers.critterpower.range != null){
- attributes["repeating_critterpowers_"+newrowid+"_spellrange"]=chummerfile.characters.character.critterpowers.critterpower.range;
+ if(character.critterpowers.critterpower.range != null){
+ attributes["repeating_critterpowers_"+newrowid+"_spellrange"]=character.critterpowers.critterpower.range;
} else {
attributes["repeating_critterpowers_"+newrowid+"_spellrange"]="N/A";
}
- if(chummerfile.characters.character.critterpowers.critterpower.duration != null) {
- attributes["repeating_critterpowers_"+newrowid+"_spellduration"]=chummerfile.characters.character.critterpowers.critterpower.duration;
+ if(character.critterpowers.critterpower.duration != null) {
+ attributes["repeating_critterpowers_"+newrowid+"_spellduration"]=character.critterpowers.critterpower.duration;
} else {
attributes["repeating_critterpowers_"+newrowid+"_spellduration"]="N/A";
}
@@ -13896,23 +13897,23 @@ async function importMagicTabChummer(experimental, chummerfile) {
}
try{
- if(chummerfile.characters.character.initiategrade != null && chummerfile.characters.character.initiategrade != 0) {
+ if(character.initiategrade != null && character.initiategrade != 0) {
console.log("Importing initiategrade and metamagic");
- attributes.initiationgrade = chummerfile.characters.character.initiategrade;
- if(chummerfile.characters.character.metamagics != null){
- if(chummerfile.characters.character.metamagics.metamagic.length>1){
- for(var i=0;i1){
+ for(var i=0;i1){
- for(var i=0;i1){
+ for(var i=0;i1){
- for(var i=0;i1){
+ for(var i=0;i 1){
- for(var i=0; i< chummerfile.characters.character.cyberwares.cyberware.length; i++){
+ if(character.cyberwares.cyberware.length > 1){
+ for(var i=0; i< character.cyberwares.cyberware.length; i++){
var newrowid=generateRowID();
- attributes["repeating_ware_"+newrowid+"_warename"]=chummerfile.characters.character.cyberwares.cyberware[i].name;
- attributes["repeating_ware_"+newrowid+"_waredescription"]=chummerfile.characters.character.cyberwares.cyberware[i].rating;
- attributes["repeating_ware_"+newrowid+"_waregrade"]=chummerfile.characters.character.cyberwares.cyberware[i].grade;
- attributes["repeating_ware_"+newrowid+"_warekarma"]=chummerfile.characters.character.cyberwares.cyberware[i].ess;
- essence += Number(chummerfile.characters.character.cyberwares.cyberware[i].ess.replace(",","."));
+ attributes["repeating_ware_"+newrowid+"_warename"]=character.cyberwares.cyberware[i].name;
+ attributes["repeating_ware_"+newrowid+"_waredescription"]=character.cyberwares.cyberware[i].rating;
+ attributes["repeating_ware_"+newrowid+"_waregrade"]=character.cyberwares.cyberware[i].grade;
+ attributes["repeating_ware_"+newrowid+"_warekarma"]=character.cyberwares.cyberware[i].ess;
+ essence += Number(character.cyberwares.cyberware[i].ess.replace(",","."));
}
}else{
var newrowid=generateRowID();
- attributes["repeating_ware_"+newrowid+"_warename"]=chummerfile.characters.character.cyberwares.cyberware.name;
- attributes["repeating_ware_"+newrowid+"_waredescription"]=chummerfile.characters.character.cyberwares.cyberware.rating;
- attributes["repeating_ware_"+newrowid+"_waregrade"]=chummerfile.characters.character.cyberwares.cyberware.grade;
- attributes["repeating_ware_"+newrowid+"_warekarma"]=chummerfile.characters.character.cyberwares.cyberware.ess;
- essence+=Number(chummerfile.characters.character.cyberwares.cyberware.ess.replace(",","."));
+ attributes["repeating_ware_"+newrowid+"_warename"]=character.cyberwares.cyberware.name;
+ attributes["repeating_ware_"+newrowid+"_waredescription"]=character.cyberwares.cyberware.rating;
+ attributes["repeating_ware_"+newrowid+"_waregrade"]=character.cyberwares.cyberware.grade;
+ attributes["repeating_ware_"+newrowid+"_warekarma"]=character.cyberwares.cyberware.ess;
+ essence+=Number(character.cyberwares.cyberware.ess.replace(",","."));
}
}
attributes.ess_total=6-essence;
@@ -14068,48 +14069,48 @@ async function importEnhancementTabChummer(text, chummerfile) {
}
try{
- if(chummerfile.characters.character.martialarts != null){
+ if(character.martialarts != null){
console.log("Importing martialarts");
- if(chummerfile.characters.character.martialarts.martialart.length>1){
- for(var i=0;i 1){
- for(var j=0; j < chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.length; j++){
+ if(character.martialarts.martialart.length>1){
+ for(var i=0;i 1){
+ for(var j=0; j < character.martialarts.martialart[i].martialarttechniques.length; j++){
var newrowid=generateRowID();
- attributes["repeating_martial_"+newrowid+"_martialname"] = chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.martialarttechnique[j].name;
- attributes["repeating_martial_"+newrowid+"_martialdescription"] = chummerfile.characters.character.martialarts.martialart[i].name;
- if(chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.martialarttechnique[j].notes != undefined) {
- attributes["repeating_martial_"+newrowid+"_martialnotes"] = chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.martialarttechnique[j].notes;
+ attributes["repeating_martial_"+newrowid+"_martialname"] = character.martialarts.martialart[i].martialarttechniques.martialarttechnique[j].name;
+ attributes["repeating_martial_"+newrowid+"_martialdescription"] = character.martialarts.martialart[i].name;
+ if(character.martialarts.martialart[i].martialarttechniques.martialarttechnique[j].notes != undefined) {
+ attributes["repeating_martial_"+newrowid+"_martialnotes"] = character.martialarts.martialart[i].martialarttechniques.martialarttechnique[j].notes;
}
}
}else{
- console.log(chummerfile.characters.character.martialarts.martialart[i]);
+ console.log(character.martialarts.martialart[i]);
var newrowid=generateRowID();
- attributes["repeating_martial_"+newrowid+"_martialname"]=chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.martialarttechnique.name;
- attributes["repeating_martial_"+newrowid+"_martialdescription"]=chummerfile.characters.character.martialarts.martialart[i].name;
- if(chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.martialarttechnique.notes != undefined) {
- attributes["repeating_martial_"+newrowid+"_martialnotes"] = chummerfile.characters.character.martialarts.martialart[i].martialarttechniques.martialarttechnique.notes;
+ attributes["repeating_martial_"+newrowid+"_martialname"]=character.martialarts.martialart[i].martialarttechniques.martialarttechnique.name;
+ attributes["repeating_martial_"+newrowid+"_martialdescription"]=character.martialarts.martialart[i].name;
+ if(character.martialarts.martialart[i].martialarttechniques.martialarttechnique.notes != undefined) {
+ attributes["repeating_martial_"+newrowid+"_martialnotes"] = character.martialarts.martialart[i].martialarttechniques.martialarttechnique.notes;
}
}
}
}
}else{
- if(chummerfile.characters.character.martialarts.martialart.martialarttechniques != null){
- if(chummerfile.characters.character.martialarts.martialart.martialarttechniques.martialarttechnique.length>1){
- for(var j=0;j1){
+ for(var j=0;j gear.category_english == "Cyberdecks" || gear.category_english == "Rigger Command Consoles").sort((g1,g2) => g1.devicerating < g2.devicerating);
+ let decks = character.gears.gear.filter(gear => gear.category_english == "Cyberdecks" || gear.category_english == "Rigger Command Consoles").sort((g1,g2) => g1.devicerating < g2.devicerating);
if(decks.length > 0) {
cyberdeck = decks[0];
attributes.attack_base = cyberdeck.attack;
@@ -14152,7 +14153,7 @@ async function importMatrixTabChummer(experimental, chummerfile) {
attributes.devicertg_base = cyberdeck.devicerating;
}
else {
- let commlinks = chummerfile.characters.character.gears.gear.filter(gear => gear.category_english == "Commlinks").sort((g1,g2) => g1.devicerating < g2.devicerating);
+ let commlinks = character.gears.gear.filter(gear => gear.category_english == "Commlinks").sort((g1,g2) => g1.devicerating < g2.devicerating);
if(commlinks.length > 0) {
link = commlinks[0];
attributes.attack_base = link.attack;
@@ -14169,17 +14170,17 @@ async function importMatrixTabChummer(experimental, chummerfile) {
}
try {
- if(chummerfile.characters.character.aiprograms != null){
+ if(character.aiprograms != null){
console.log("Importing ai programs");
- if(chummerfile.characters.character.aiprograms.aiprogram.length > 1){
- for(var i=0; i < chummerfile.characters.character.aiprograms.aiprogram.length; i++){
+ if(character.aiprograms.aiprogram.length > 1){
+ for(var i=0; i < character.aiprograms.aiprogram.length; i++){
var newrowid=generateRowID();
- attributes["repeating_programs_"+newrowid+"_programname"]=chummerfile.characters.character.aiprograms.aiprogram[i].name;
+ attributes["repeating_programs_"+newrowid+"_programname"]=character.aiprograms.aiprogram[i].name;
}
}
else {
var newrowid=generateRowID();
- attributes["repeating_programs_"+newrowid+"_programname"] = chummerfile.characters.character.aiprograms.aiprogram.name;
+ attributes["repeating_programs_"+newrowid+"_programname"] = character.aiprograms.aiprogram.name;
}
}
}catch(err){
@@ -14188,27 +14189,27 @@ async function importMatrixTabChummer(experimental, chummerfile) {
}
try{
- if(chummerfile.characters.character.gears != null){
+ if(character.gears != null){
console.log("Importing programs");
- if(chummerfile.characters.character.gears.gear.length>1){
- for(var i=0;i1){
+ for(var i=0;i 1){
- for(var j=0; j 1){
+ for(var j=0; j 1){
- let vehicles = chummerfile.characters.character.vehicles.vehicle.filter( vehicle => vehicle.seats > 0);
+ if(character.vehicles.vehicle.length > 1){
+ let vehicles = character.vehicles.vehicle.filter( vehicle => vehicle.seats > 0);
for(var i=0; i < vehicles.length; i++){
importSingleVehicle(vehicles[i], attributes);
}
} else {
- if(chummerfile.characters.character.vehicles.vehicle.seats > 0) {
- importSingleVehicle(chummerfile.characters.character.vehicles.vehicle, attributes);
+ if(character.vehicles.vehicle.seats > 0) {
+ importSingleVehicle(character.vehicles.vehicle, attributes);
}
}
}
@@ -14261,16 +14262,16 @@ async function importVehiclesTabChummer(experimental, chummerfile) {
}
try{
- if(chummerfile.characters.character.vehicles != null){
+ if(character.vehicles != null){
console.log("Importing drones");
- if(chummerfile.characters.character.vehicles.vehicle.length > 1){
- let drones = chummerfile.characters.character.vehicles.vehicle.filter( vehicle => vehicle.seats == 0);
+ if(character.vehicles.vehicle.length > 1){
+ let drones = character.vehicles.vehicle.filter( vehicle => vehicle.seats == 0);
for(var i=0; i < drones.length; i++){
importSingleDrone(drones[i], attributes);
}
} else {
- if(chummerfile.characters.character.vehicles.vehicle.seats == 0) {
- importSingleDrone(chummerfile.characters.character.vehicles.vehicle, attributes);
+ if(character.vehicles.vehicle.seats == 0) {
+ importSingleDrone(character.vehicles.vehicle, attributes);
}
}
}
@@ -14292,16 +14293,16 @@ async function importVehiclesTabChummer(experimental, chummerfile) {
}
}
-async function importEquipmentTabChummer(experimental, chummerfile) {
+async function importEquipmentTabChummer(experimental, character) {
var goodcode = true;
var error = "";
var attributes = {};
- if(chummerfile.characters.character.armors != null){
+ if(character.armors != null){
console.log("Importing armors");
- if(chummerfile.characters.character.armors.armor.length > 1){
- chummerfile.characters.character.armors.armor.forEach(async(armor) => {
+ if(character.armors.armor.length > 1){
+ character.armors.armor.forEach(async(armor) => {
try{
importSingleArmor(armor, attributes);
}catch(err){
@@ -14311,33 +14312,33 @@ async function importEquipmentTabChummer(experimental, chummerfile) {
})
}else{
try{
- importSingleArmor(chummerfile.characters.character.armors.armor, attributes);
+ importSingleArmor(character.armors.armor, attributes);
}catch(err){
goodcode = false;
- error= error + "\n" + "Error with Armor " + chummerfile.characters.character.armors.armor.name + ": " + err
+ error= error + "\n" + "Error with Armor " + character.armors.armor.name + ": " + err
}
}
}
- if(chummerfile.characters.character.cyberwares != null){
+ if(character.cyberwares != null){
console.log("Importing Cyberware Armor");
- if(chummerfile.characters.character.cyberwares.cyberware.length > 1){
- chummerfile.characters.character.cyberwares.cyberware.forEach(cyberware => importCyberwareArmor(cyberware, attributes));
+ if(character.cyberwares.cyberware.length > 1){
+ character.cyberwares.cyberware.forEach(cyberware => importCyberwareArmor(cyberware, attributes));
}else{
- importCyberwareArmor(chummerfile.characters.character.cyberwares.cyberware, attributes);
+ importCyberwareArmor(character.cyberwares.cyberware, attributes);
}
}
- if(chummerfile.characters.character.otherarmors != null){
+ if(character.otherarmors != null){
console.log("Importing Other Armors");
- if(chummerfile.characters.character.otherarmors.otherarmor.length > 1){
- chummerfile.characters.character.otherarmors.otherarmor.forEach(armor => importOtherArmor(armor, attributes));
+ if(character.otherarmors.otherarmor.length > 1){
+ character.otherarmors.otherarmor.forEach(armor => importOtherArmor(armor, attributes));
}else{
- importOtherArmor(chummerfile.characters.character.otherarmors.otherarmor, attributes);
+ importOtherArmor(character.otherarmors.otherarmor, attributes);
}
}
- if(chummerfile.characters.character.weapons != null){
+ if(character.weapons != null){
console.log("Importing weapons");
for(var i=1; i<9; i++){
attributes["weaponismelee"+i] = "on";
@@ -14354,12 +14355,12 @@ async function importEquipmentTabChummer(experimental, chummerfile) {
attributes["weaponnotes"+i] = "";
}
ammunition = [];
- if(chummerfile.characters.character.gears != null) {
- for( var j = 0; j < chummerfile.characters.character.gears.gear.length; j++) {
- if(chummerfile.characters.character.gears.gear[j].category_english.includes("Ammunition") ||
- chummerfile.characters.character.gears.gear[j].name_english == "Micro Flares"
+ if(character.gears != null) {
+ for( var j = 0; j < character.gears.gear.length; j++) {
+ if(character.gears.gear[j].category_english.includes("Ammunition") ||
+ character.gears.gear[j].name_english == "Micro Flares"
){
- ammunition.push(chummerfile.characters.character.gears.gear[j]);
+ ammunition.push(character.gears.gear[j]);
}
}
}
@@ -14368,70 +14369,70 @@ async function importEquipmentTabChummer(experimental, chummerfile) {
let charAttributes = await asw.getAttrs(["agi_base", "agi_aug", "str_base", "str_aug"]);
attributes = Object.assign(attributes, charAttributes);
- if(chummerfile.characters.character.weapons.weapon.length > 1){
- for(var i=1; i 1){
+ for(var i=1; i1){
- for(var i=0;i1){
+ for(var i=0;i 0){
- name += " " + chummerfile.characters.character.gears.gear[i].rating;
+ if((character.gears.gear[i].category_english != "Common Programs")&&(character.gears.gear[i].category_english != "Hacking Programs")){
+ if(character.gears.gear[i].name!=null){
+ name = character.gears.gear[i].name;
+ if(character.gears.gear[i].rating > 0){
+ name += " " + character.gears.gear[i].rating;
}
attributes["repeating_equipment_"+newrowid+"_equipmentname"]=name;
- attributes["repeating_equipment_"+newrowid+"_equipmentnumber"]=chummerfile.characters.character.gears.gear[i].qty ? chummerfile.characters.character.gears.gear[i].qty : 1;
- 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+"_equipmentnumber"]=character.gears.gear[i].qty ? character.gears.gear[i].qty : 1;
+ if(character.gears.gear[i].extra != null) {
+ attributes["repeating_equipment_"+newrowid+"_equipmentdescription"]=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(character.gears.gear[i].children!=null){
+ if(character.gears.gear[i].children.gear.length>1){
+ for(var j=0; j 0){
+ note += " " + 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;
+ if(character.gears.gear[i].children.gear[j].extra != null) {
+ note += " " + 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"){
- 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(character.gears.gear[i].children.gear.category_english !="Common Programs" && character.gears.gear[i].children.gear.category_english !="Hacking Programs"){
+ note = character.gears.gear[i].children.gear.name;
+ if(character.gears.gear[i].children.gear.rating > 0){
+ note += " " + 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;
+ if(character.gears.gear[i].children.gear.extra != null) {
+ note += " " + character.gears.gear[i].children.gear.extra;
}
attributes["repeating_equipment_"+newrowid+"_equipmentnotes"]+= note +"\n";
}
@@ -14461,44 +14462,44 @@ async function importEquipmentTabChummer(experimental, chummerfile) {
}
}
-async function importSocialTabChummer(chummerfile) {
+async function importSocialTabChummer(character) {
var goodcode = true;
var error = "";
var attributes = {};
try{
- if(chummerfile.characters.character.contacts != null){
+ if(character.contacts != null){
console.log("Importing Contacts");
- if(chummerfile.characters.character.contacts.contact.length>1){
- for(var i=0; i1){
+ for(var i=0; i