From 342eba4e25a6d4dc7a91035db255ecf5d3103ddd Mon Sep 17 00:00:00 2001 From: Stexinator Date: Fri, 3 Dec 2021 12:25:04 +0100 Subject: [PATCH] [Shadowrun5thA] fix import of skill with multiple specs --- Shadowrun5th/Shadowrun5th.html | 192 ++++++++++----------------------- 1 file changed, 54 insertions(+), 138 deletions(-) diff --git a/Shadowrun5th/Shadowrun5th.html b/Shadowrun5th/Shadowrun5th.html index ca4328de61..11ee7a7e73 100644 --- a/Shadowrun5th/Shadowrun5th.html +++ b/Shadowrun5th/Shadowrun5th.html @@ -12059,7 +12059,7 @@ on("change:chummercheckbox", async function(){ try{ if(chummerfile.characters.character.initiategrade != null && chummerfile.characters.character.initiategrade != 0) { console.log("Importing initiategrade and metamagic"); - attributes.initiationgrade=chummerfile.characters.character.initiategrade; + attributes.initiationgrade = chummerfile.characters.character.initiategrade; if(chummerfile.characters.character.metamagics != null){ if(chummerfile.characters.character.metamagics.metamagic.length>1){ for(var i=0;i0){ - 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 && chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name != 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; + if(chummerfile.characters.character.skills.skill[i].skillcategory_english!=null){ + attributes["repeating_knowledge_"+newrowid+"_knowledgeattr"]="@{"+chummerfile.characters.character.skills.skill[i].skillcategory_english.toLowerCase(); + } + if(chummerfile.characters.character.skills.skill[i].rating > 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; }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+"_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].spec != null) { + attributes["repeating_knowledge_"+newrowid+"_knowledgespec"] = chummerfile.characters.character.skills.skill[i].spec; } - 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"; + 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; + 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; @@ -12576,15 +12491,17 @@ on("change:chummercheckbox", async function(){ 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; + + if(chummerfile.characters.character.skills.skill[i].spec != null) + attributes["skillspec"+exotics] = chummerfile.characters.character.skills.skill[i].spec; 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)){ + 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; @@ -12593,15 +12510,18 @@ on("change:chummercheckbox", async function(){ 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 && chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name != null) - attributes["skillspec"+j]=chummerfile.characters.character.skills.skill[i].skillspecializations.skillspecialization.name; + + if(chummerfile.characters.character.skills.skill[i].spec != null) { + attributes["skillspec"+j] = chummerfile.characters.character.skills.skill[i].spec; + } else attributes["skillspec"+j]="none"; + if(chummerfile.characters.character.weapons!=null){ if(chummerfile.characters.character.weapons.weapon.length>1){ - for(var h=1;h { } const importSingleVehicleWeapon = (weapon, newrowid, attributes, weaponnumber) => { - if(weapon.category != "Gear"){ - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponname" + weaponnumber] = weapon.name; - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponaccuracy"+ weaponnumber] = weapon.accuracy.match(/\d+/g).pop(); - if(weapon.type == "Ranged") - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponrc"+ weaponnumber] = weapon.rc.match(/\d+/g).pop(); - if(Number(weapon.ap) != "NaN"){ - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"+ weaponnumber] = weapon.ap; - }else{ - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"+ weaponnumber] = 0; - } - attributes["repeating_vehicles_"+newrowid+"_vehicleweapondv"+ weaponnumber] = weapon.damage_english.match(/\d*/); - attributes["repeating_vehicles_"+newrowid+"_vehicleweapondmgtype"+ weaponnumber] = weapon.damage_english.match(/^\d*/); - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"+ weaponnumber] = ""; - if(typeof weapon.accessories != "undefined"){ - if(weapon.accessories.accessory.length > 1){ - for(var h = 0; h < weapon.accessories.accessory.length; h++){ - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"+ weaponnumber] += weapon.accessories.accessory[h].name+"\n"; - } - }else{ - attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"+ weaponnumber] += weapon.accessories.accessory.name+"\n"; + console.log(weapon); + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponname" + weaponnumber] = weapon.name; + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponaccuracy"+ weaponnumber] = weapon.accuracy.match(/\d+/g).pop(); + if(weapon.type == "Ranged") + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponrc"+ weaponnumber] = weapon.rc.match(/\d+/g).pop(); + if(Number(weapon.ap) != "NaN"){ + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"+ weaponnumber] = weapon.ap; + }else{ + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponap"+ weaponnumber] = 0; + } + attributes["repeating_vehicles_"+newrowid+"_vehicleweapondv"+ weaponnumber] = weapon.damage_english.match(/\d*/); + attributes["repeating_vehicles_"+newrowid+"_vehicleweapondmgtype"+ weaponnumber] = weapon.damage_english.match(/^\d*/); + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"+ weaponnumber] = ""; + if(typeof weapon.accessories != "undefined"){ + if(weapon.accessories.accessory.length > 1){ + for(var h = 0; h < weapon.accessories.accessory.length; h++){ + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"+ weaponnumber] += weapon.accessories.accessory[h].name+"\n"; } + }else{ + attributes["repeating_vehicles_"+newrowid+"_vehicleweaponnotes"+ weaponnumber] += weapon.accessories.accessory.name+"\n"; } - return weaponnumber +1; - } - else { - return weaponnumber; } + return weaponnumber +1; } function importSingleDrone(drone, attributes) {