mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-09-04 14:12:28 +00:00
[Shadowrun5thA] fix import of skill with multiple specs
This commit is contained in:
+54
-138
@@ -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;i<chummerfile.characters.character.metamagics.metamagic.length;i++){
|
||||
@@ -12451,123 +12451,38 @@ on("change:chummercheckbox", async function(){
|
||||
var ritual=0;
|
||||
try{
|
||||
console.log("Importing Skills");
|
||||
if(chummerfile.characters.character.skills.skill[0].name_english !== undefined) {
|
||||
for(var i=0;i<chummerfile.characters.character.skills.skill.length;i++){
|
||||
if(chummerfile.characters.character.skills.skill[i].name_english=="Alchemy"){
|
||||
alchemy=i;
|
||||
}
|
||||
if(chummerfile.characters.character.skills.skill[i].name_english=="Spellcasting"){
|
||||
spellcasting=i;
|
||||
}
|
||||
if(chummerfile.characters.character.skills.skill[i].name_english=="Ritual Spellcasting"){
|
||||
ritual=i;
|
||||
}
|
||||
if(chummerfile.characters.character.skills.skill[i].knowledge=="True"){
|
||||
var newrowid=generateRowID();
|
||||
attributes["repeating_knowledge_"+newrowid+"_knowledgename"]=chummerfile.characters.character.skills.skill[i].name;
|
||||
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;
|
||||
}
|
||||
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;h<chummerfile.characters.character.weapons.weapon.length+1&&h<9;h++){
|
||||
if(chummerfile.characters.character.weapons.weapon[h-1].category!="Gear"){
|
||||
if(names[compname] == chummerfile.characters.character.weapons.weapon[h-1].skill){
|
||||
attributes["weaponcategory"+h]="@{skilldicepool"+j+"}";
|
||||
attributes["weaponbonus"+h]=chummerfile.characters.character.weapons.weapon[h-1].dicepool-chummerfile.characters.character.skills.skill[i].total;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(chummerfile.characters.character.weapons.weapon.category!="Gear"){
|
||||
if(names[compname] == chummerfile.characters.character.weapons.weapon.skill){
|
||||
attributes["weaponcategory1"]="@{skilldicepool"+j+"}";
|
||||
attributes["weaponbonus1"]=chummerfile.characters.character.weapons.weapon.dicepool-chummerfile.characters.character.skills.skill[i].total;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
for(var i=0;i<chummerfile.characters.character.skills.skill.length;i++){
|
||||
if(chummerfile.characters.character.skills.skill[i].name=="Alchemy"){
|
||||
for(var i=0;i<chummerfile.characters.character.skills.skill.length;i++){
|
||||
if(chummerfile.characters.character.skills.skill[i].name_english=="Alchemy"){
|
||||
alchemy=i;
|
||||
}
|
||||
if(chummerfile.characters.character.skills.skill[i].name=="Spellcasting"){
|
||||
if(chummerfile.characters.character.skills.skill[i].name_english=="Spellcasting"){
|
||||
spellcasting=i;
|
||||
}
|
||||
if(chummerfile.characters.character.skills.skill[i].name=="Ritual Spellcasting"){
|
||||
if(chummerfile.characters.character.skills.skill[i].name_english=="Ritual Spellcasting"){
|
||||
ritual=i;
|
||||
}
|
||||
if(chummerfile.characters.character.skills.skill[i].knowledge=="True"){
|
||||
var newrowid=generateRowID();
|
||||
attributes["repeating_knowledge_"+newrowid+"_knowledgename"]=chummerfile.characters.character.skills.skill[i].name;
|
||||
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;
|
||||
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<chummerfile.characters.character.weapons.weapon.length+1&&h<=6;h++){
|
||||
for(var h=1;h<chummerfile.characters.character.weapons.weapon.length+1&&h<9;h++){
|
||||
if(chummerfile.characters.character.weapons.weapon[h-1].category!="Gear"){
|
||||
if(names[compname]==chummerfile.characters.character.weapons.weapon[h-1].skill){
|
||||
if(names[compname] == chummerfile.characters.character.weapons.weapon[h-1].skill){
|
||||
attributes["weaponcategory"+h]="@{skilldicepool"+j+"}";
|
||||
attributes["weaponbonus"+h]=chummerfile.characters.character.weapons.weapon[h-1].dicepool-chummerfile.characters.character.skills.skill[i].total;
|
||||
}
|
||||
@@ -12609,7 +12529,7 @@ on("change:chummercheckbox", async function(){
|
||||
}
|
||||
}else{
|
||||
if(chummerfile.characters.character.weapons.weapon.category!="Gear"){
|
||||
if(names[compname]==chummerfile.characters.character.weapons.weapon.skill){
|
||||
if(names[compname] == chummerfile.characters.character.weapons.weapon.skill){
|
||||
attributes["weaponcategory1"]="@{skilldicepool"+j+"}";
|
||||
attributes["weaponbonus1"]=chummerfile.characters.character.weapons.weapon.dicepool-chummerfile.characters.character.skills.skill[i].total;
|
||||
}
|
||||
@@ -12619,11 +12539,11 @@ on("change:chummercheckbox", async function(){
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(err){
|
||||
}catch(err){
|
||||
goodcode=false;
|
||||
error= error + "\n" + "Error with Skills: "+ err;
|
||||
}
|
||||
|
||||
try{
|
||||
if(chummerfile.characters.character.spells != null){
|
||||
console.log("Importing spells");
|
||||
@@ -13137,33 +13057,29 @@ const importSingleVehicleMod = (mod, newrowid, attributes, weaponnumber) => {
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user