diff --git a/Shadowrun5th/Shadowrun5th.css b/Shadowrun5th/Shadowrun5th.css index b6af1b076a..fd50c307f3 100644 --- a/Shadowrun5th/Shadowrun5th.css +++ b/Shadowrun5th/Shadowrun5th.css @@ -442,12 +442,12 @@ input.technomancycheckbox:checked ~ div label.labeltechnomancer{ .skillshowspec:checked ~ button.rollbuttonnospec, .mskillshowspec:checked ~ button.rollbuttonnospec, .knowledgeshowspec:checked ~ button.rollbuttonnospec, -.technomancycheckbox:checked ~ .repcontainer .repitem .spellrow .spellbuttonwrapper .spellrolltechno, -.technomancycheckbox:checked ~ .spelllabels .spelldrainwrapper .technolabel, .spellrollmage, -.magebound, +.technomancycheckbox:not(:checked) ~ div.magebound, +.technomancycheckbox:not(:checked) ~ div div div div.magebound, .technomancycheckbox:checked ~ div.technobound, -.technomancycheckbox:checked ~ div div div div.technobound{ +.technomancycheckbox:checked ~ div div div div.technobound +{ display: inline-block; } @@ -542,19 +542,26 @@ div .labeltechnomancer, .technomancycheckbox:checked ~ label.labelmage, .technomancycheckbox:checked ~ div.magician, .technomancycheckbox:checked ~ div.magicianinitiation, +.technomancycheckbox:checked ~ div.mage, .hiddentextfield, .hiddenmelee, -.technomancycheckbox:checked ~ .repcontainer .repitem .spellrow .spellbuttonwrapper .spellrollmage, -.technomancycheckbox:checked ~ .spelllabels .spelldrainwrapper .magelabel, -.technomancycheckbox:checked ~ .magiciandrainattribute, div .technolabel, -.spellrolltechno, -.technobound, -.technomancycheckbox:checked ~ div.magebound, -.technomancycheckbox:checked ~ div div div div.magebound{ +.technomancycheckbox:checked ~ div div div div.magebound +{ display:none; } +div.spells .technomancycheckbox:checked ~ div.magebound, +div.spiritstable .technomancycheckbox:checked ~ div.magebound +{ + display:none; +} + +div.spells .technomancycheckbox:not(:checked) ~ div.technobound, +div.spiritstable .technomancycheckbox:not(:checked) ~ div.technobound +{ + display:none; +} .woundsmod, .contacts, @@ -564,7 +571,7 @@ div .technolabel, .statblock, .infoblock, .initiation, -.spirites, +.spirits, .equipment, .armor, .cyberdeck, @@ -580,7 +587,7 @@ div .technolabel, padding-bottom:2em; } -.spirites{ +.spirits{ vertical-align:bottom !important; } @@ -779,8 +786,8 @@ div .ammolabel, div .initiativelabel label, div .standardrolls label, div .spelllabel, -div .spirites label, -div .spiritestable label, +div .spirits label, +div .spiritstable label, div .matrixactions label, div .wounds label, div .woundsmod label, @@ -863,7 +870,7 @@ div .limitlabels label{ } -.spiritestable{ +.spiritstable{ width:90%; margin-left:2%; } @@ -1255,7 +1262,7 @@ input[disabled="true"]{ width:7%; } -.spiriteserviceswrapper, +.spiritserviceswrapper, .spiriteforcewrapper, .spriterollwrapper, .ammonumberwrapper, @@ -1421,7 +1428,7 @@ input[disabled="true"]{ width:100%; } -.spiritespacer, +.spiritspacer, .vehiclespacer, .dronespacer{ margin-right:calc(5% - 2em); diff --git a/Shadowrun5th/Shadowrun5th.html b/Shadowrun5th/Shadowrun5th.html index d357781caf..51bfb72b2e 100644 --- a/Shadowrun5th/Shadowrun5th.html +++ b/Shadowrun5th/Shadowrun5th.html @@ -7996,395 +7996,462 @@ Can lift overhead (Strength + Nethits) x 5kg}}">
-

Spells

-
Sustained:
-
- -
- -
- -
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
-
- -
-
-
+
+ +
+
- + +
+
+
+ +
+
+ +
- +
- +
- +
- +
- Drain +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ -
-
- + +
+
+ +
+
+ +
+
X
+
+
+ +
+
+ +
-
- -
-
- -
-
X
-
-
- - -
-
- - -
-
-
-
-

Rituals

-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
+
+
+

Rituals

+
- +
- +
-
- +
- +
- +
- +
- +
- +
-
- -
-
X
+
+
-
- - +
+
-
- - +
+
- -
-

Alchemy

-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
+
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
X
+
+
+ +
+
+ +
+
+
+
+

Alchemy

+
- +
- +
-
- +
- +
- +
- +
- Drain + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ -
-
- + +
+
+ +
+
+ +
+
X
+
+
+ +
+
+ +
-
- -
-
- -
-
X
-
-
- - -
-
- - -
-
-
-
-

Critter Powers

-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
+
+
+

Critter Powers

+
- +
- +
-
- +
- +
- +
- +
- Drain + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
X
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
- +
- +
-
- -
-
X
+
+
-
- - +
+
-
- - +
+
- +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
X
+
+
+ +
+
+ +
+
+
+
+
-
+

Spirits

@@ -8457,119 +8524,172 @@ make sure to enter what the spell is resisted with">
-
+
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
+
- +
-
- -
-
- +
+
- +
-
- +
+
-
- +
+
-
- +
+
-
- +
+
-
- +
+
-
- +
+
-
- -
-
- -
-
- -
- -
-
X
-
- -
-
X
-
- +
+
-
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
X
+
+ +
+
X
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
X
+
+ +
+
X
+
+ +
+
+
+
@@ -15315,16 +15435,14 @@ async function importSingleWeapon(weapon, number, ammunition, attributes) { if(weapon.clips !== null){ if(weapon.clips.clip.length>1){ - for(var j=0; j [v.name, v])).values()].reverse() - if(weapon.clips.clip[j].location === "loaded") { - //skip loaded, they will be found later anyway - continue; - } + for(var j=0; j < clips.length; j++){ var newrowid=generateRowID(); //find ammo to get stats - ammo = ammunition.find(clip => clip.guid === weapon.clips.clip[j].id); + ammo = ammunition.find(clip => clip.guid === clips[j].id); if(ammo != null) { importRepeatingAmmo(ammo, number, attributes); } @@ -15476,16 +15594,17 @@ async function importSingleRepeatingWeapon(weapon, ammunition, attributes) { if(weapon.clips !== null){ if(weapon.clips.clip.length > 1){ let amountImported = 0; - for(var j=0; j < weapon.clips.clip.length && amountImported < 4; j++){ + //make clips unique + var clips = [...new Map(weapon.clips.clip.slice().reverse().map(v => [v.name, v])).values()].reverse() - if(weapon.clips.clip[j].location === "loaded") { - //skip loaded, they will be found later anyway - continue; - } + console.log(weapon.name); + console.log(clips); + + for(var j=0; j < clips.length && amountImported < 4; j++){ var newrowid=generateRowID(); //find ammo to get stats - ammo = ammunition.find(clip => clip.guid === weapon.clips.clip[j].id); + ammo = ammunition.find(clip => clip.guid === clips[j].id); if(ammo != null && !ammo.name_english.includes("Regular")) { importRepeatingWeaponAmmo(row, ammo, amountImported, attributes);