From f9ec62087d801fcb8a0fd9fd24d55dbbdcabb4fa Mon Sep 17 00:00:00 2001 From: Stexinator Date: Thu, 8 Apr 2021 23:18:33 +0200 Subject: [PATCH] [Shadowrun 5th Advanced] fix import of ammunition and weapon dmg type --- Shadowrun5th/Shadowrun5th.html | 182 +++++++++++++++++++++------------ 1 file changed, 116 insertions(+), 66 deletions(-) diff --git a/Shadowrun5th/Shadowrun5th.html b/Shadowrun5th/Shadowrun5th.html index 56cfd98d8b..b4d904942b 100644 --- a/Shadowrun5th/Shadowrun5th.html +++ b/Shadowrun5th/Shadowrun5th.html @@ -610,10 +610,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -765,10 +765,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -920,10 +920,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -1075,10 +1075,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -1230,10 +1230,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -1385,10 +1385,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -1540,10 +1540,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -1695,10 +1695,10 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
- +
- +
@@ -8196,10 +8196,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -8351,10 +8351,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -8506,10 +8506,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -8661,10 +8661,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -8816,10 +8816,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -8971,10 +8971,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -9126,10 +9126,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -9281,10 +9281,10 @@ Only takes the first match even if multiple identical entries are found.">
- +
- +
@@ -9924,10 +9924,6 @@ on("change:chummercheckbox", function(){ attributes["weaponrc"+i]="0"; attributes["weaponmode"+i]="11"; attributes["weaponnotes"+i]=""; - getSectionIDs("repeating_equipment"+i, function(idarray) { - for(var i=0; i < idarray.length; i++) { - removeRepeatingRow("repeating_equipment"+i+idarray[i]); - }}); attributes["armorworn"+i]="0"; attributes["armorname"+i]=""; attributes["armorcapacity"+i]="0"; @@ -10275,17 +10271,17 @@ on("change:chummercheckbox", function(){ attributes["weaponismelee"+i]=0; attributes["weaponrc"+i]=chummerfile.characters.character.weapons.weapon[i-1].rc-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; attributes["weapondv"+i]=chummerfile.characters.character.weapons.weapon[i-1].rawdamage.match(/\d*/); - attributes["weapondmgtype"+i]=chummerfile.characters.character.weapons.weapon[i-1].rawdamage.match(/\D*/); + attributes["weapondmgtype"+i]=chummerfile.characters.character.weapons.weapon[i-1].rawdamage.match(/\D+/); }else{ attributes["weaponismelee"+i]="on"; attributes["weaponreach"+i]=chummerfile.characters.character.weapons.weapon[i-1].reach; attributes["weapondv"+i]=chummerfile.characters.character.weapons.weapon[i-1].damage_english.match(/\d*/); - attributes["weapondmgtype"+i]=chummerfile.characters.character.weapons.weapon[i-1].damage_english.match(/\D*/); + attributes["weapondmgtype"+i]=chummerfile.characters.character.weapons.weapon[i-1].damage_english.match(/\D+/); } attributes["weaponname"+i]=chummerfile.characters.character.weapons.weapon[i-1].name; attributes["weaponaccuracy"+i]=chummerfile.characters.character.weapons.weapon[i-1].accuracy; - if(isNan(chummerfile.characters.character.weapons.weapon[i-1].ap)){ + if(isNaN(chummerfile.characters.character.weapons.weapon[i-1].ap)){ attributes["weaponap"+i]=0; }else{ attributes["weaponap"+i]=chummerfile.characters.character.weapons.weapon[i-1].ap; @@ -10309,20 +10305,56 @@ on("change:chummercheckbox", function(){ //find ammo to get stats ammo = ammunition.find(clip => clip.guid === chummerfile.characters.character.weapons.weapon[i-1].clips.clip[j].id); attributes["repeating_equipment"+i+"_"+newrowid+"_ammoname"+i]=ammo.name; - attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=ammo.weaponbonusdamage_english.match(/\d*/); - attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=ammo.weaponbonusdamage_english.match(/\D*/); - attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=ammo.weaponbonusap; - attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=""; + 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["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]=ammo.weaponbonusap; + } + 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); attributes["repeating_equipment"+i+"_"+newrowid+"_ammoname"+i]=ammo.name; - attributes["repeating_equipment"+i+"_"+newrowid+"_ammodv"+i]=ammo.weaponbonusdamage_english.match(/\d*/); - attributes["repeating_equipment"+i+"_"+newrowid+"_ammodmgtype"+i]=ammo.weaponbonusdamage_english.match(/\D*/); - attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=ammo.weaponbonusap; - attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=""; + 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["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]=ammo.weaponbonusap; + } + attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=0; + } } } } @@ -10332,19 +10364,13 @@ on("change:chummercheckbox", function(){ if(chummerfile.characters.character.weapons.weapon.type=="Ranged"){ attributes["weaponismelee1"]=0; attributes["weaponrc1"]=chummerfile.characters.character.weapons.weapon.rc-Math.ceil(chummerfile.characters.character.attributes[1].attribute[3].total/3)- 1; - if(chummerfile.characters.character.weapons.weapon.rawdamage != "undefined") { - attributes["weapondv1"]=chummerfile.characters.character.weapons.weapon.rawdamage.match(/\d*/); - attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.rawdamage.match(/\D*/); - } - else { - attributes["weapondv1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\d*/); - attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\D*/); - } + attributes["weapondv1"]=chummerfile.characters.character.weapons.weapon.rawdamage.match(/\d*/); + attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.rawdamage.match(/\D+/); }else{ attributes["weaponismelee1"]="on"; attributes["weaponreach1"]=chummerfile.characters.character.weapons.weapon.reach; attributes["weapondv1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\d*/); - attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\D*/); + attributes["weapondmgtype1"]=chummerfile.characters.character.weapons.weapon.damage_english.match(/\D+/); } attributes["weaponname1"]=chummerfile.characters.character.weapons.weapon.name; attributes["weaponaccuracy1"]=chummerfile.characters.character.weapons.weapon.accuracy; @@ -10369,21 +10395,45 @@ on("change:chummercheckbox", function(){ var newrowid=generateRowID(); //find ammo to get stats ammo = ammunition.find(clip => clip.guid === chummerfile.characters.character.weapons.weapon.clips.clip[j].id); - attributes["repeating_equipment1_"+newrowid+"_ammoname1"]=ammo.name; - attributes["repeating_equipment1_"+newrowid+"_ammodv1"]=ammo.weaponbonusdamage_english.match(/\d*/); - attributes["repeating_equipment1_"+newrowid+"_ammodmgtype1"]=ammo.weaponbonusdamage_english.match(/\D*/); - attributes["repeating_equipment1_"+newrowid+"_ammoap1"]=ammo.weaponbonusap; - attributes["repeating_equipment1_"+newrowid+"_ammoacc1"]=""; + 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]=ammo.weaponbonusap; + } + 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); - attributes["repeating_equipment1_"+newrowid+"_ammoname1"]=ammo.name; - attributes["repeating_equipment1_"+newrowid+"_ammodv1"]=ammo.weaponbonusdamage_english.match(/\d*/); - attributes["repeating_equipment1_"+newrowid+"_ammodmgtype1"]=ammo.weaponbonusdamage_english.match(/\D*/); - attributes["repeating_equipment1_"+newrowid+"_ammoap1"]=ammo.weaponbonusap; - attributes["repeating_equipment1_"+newrowid+"_ammoacc1"]=""; + 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); + 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; + attributes["repeating_equipment"+i+"_"+newrowid+"_ammoap"+i]=0; + attributes["repeating_equipment"+i+"_"+newrowid+"_ammoacc"+i]=0; + } } } }