diff --git a/StarWars5E/README.md b/StarWars5E/README.md index aa4c6f74f7..382ad9e280 100644 --- a/StarWars5E/README.md +++ b/StarWars5E/README.md @@ -8,6 +8,10 @@ More Information - [Star Wars 5e Discord](https://discord.gg/zYcPYTu) # Changelog +## 2024-11-30 +* Bugfix : Fixing buttons for when the sheet is resized +* Bugfix : Fixing PC Powers +* Improvement : Remade NPC Powers ## 2024-11-27 * Chore : Massive refactor of the sheet using GULP as build engine * Chore : Removal of leftover unused code for 5e compendium & Charmancer integration diff --git a/StarWars5E/StarWars5E_CSS.css b/StarWars5E/StarWars5E_CSS.css index c159b8c7c4..dfd21d1583 100644 --- a/StarWars5E/StarWars5E_CSS.css +++ b/StarWars5E/StarWars5E_CSS.css @@ -398,7 +398,7 @@ font-weight: bold; } - .charsheet .ship .insp-prof-container .value input[type=number] { + .ship .insp-prof-container .value input[type=number] { width: 140%; } @@ -546,7 +546,7 @@ .textbox span, .tool_proficiencies span, .proficiencies span, - .powers span, + .powers .body span, .options .body span { display: block; font-size: 9px; @@ -1282,6 +1282,7 @@ } .power .display button[type=roll] { + display:flex; background-color: transparent; color: black; border-top: none; @@ -1302,17 +1303,16 @@ content: "" !important; } - span.powerritual, - span.powerconcentration { + .powers .body span.powerritual, + .powers .body span.powerconcentration { display: none; font-size: 8px; font-weight: normal; margin-top: 0; color: white; background-color: black; - position: absolute; - width: 10px; - height: 10px; + width: 1rem; + height: 1rem; top: 0; line-height: 10px; } @@ -1322,7 +1322,7 @@ right: 11px; } - .powericon_flag:not([value="none"]) + .body .power .display .powerconcentration:not([value="0"]) ~ span.powerconcentration { + .powers .body .power .display .powerconcentration:not([value="0"]) ~ span.powerconcentration { border-radius: 100%; display: inline-block; right: 0; @@ -1378,7 +1378,7 @@ max-width: 220px; } - .power .display .prep ~ span.powername { + .powers .body .power .display .prep ~ span.powername { margin-left: 14px; } @@ -1627,7 +1627,7 @@ position: relative; } - .power .prep { + .powers .body .power .prep { width: 10px; height: 10px; border-radius: 50%; @@ -1636,11 +1636,14 @@ border: 1px solid black; } - .power input[type=checkbox]:checked ~ span.prep { + .powers .body .power input[type=checkbox]:checked ~ span.prep { background-color: #EC2127; } - .power .prep-box { + .powers .options .flex-row{ + margin-bottom: 0.2rem; + } + .powers .body .power .prep-box { -webkit-appearance: checkbox; -moz-appearance: checkbox; opacity: 0; @@ -1649,7 +1652,7 @@ width: 12px } - .charsheet .power .display button[type=roll].powercard { + .power .display button[type=roll].powercard { width: calc(100% - 18px); } @@ -2291,7 +2294,7 @@ pointer-events: none; } - .charsheet .options .body .version input[type="text"] { + .options .body .version input[type="text"] { border-bottom: none; width: 20px; } @@ -2300,8 +2303,8 @@ display: none; } - .charsheet .powers .powerattackinfoflag[value="ATTACK"] ~ .powerattackinfo, - .charsheet .npc .powerattackinfoflag[value="ATTACK"] ~ .powerattackinfo { + .powers .powerattackinfoflag[value="ATTACK"] ~ .powerattackinfo, + npc .powerattackinfoflag[value="ATTACK"] ~ .powerattackinfo { display: block; } @@ -2338,7 +2341,7 @@ width: 74px; } - .charsheet .hlabel-container .multiclass-display { + .hlabel-container .multiclass-display { width: 57px; font-size: 13px; border-bottom: 1px solid #D3D3D3; @@ -2349,7 +2352,7 @@ text-overflow: ellipsis; } - .charsheet .hlabel-container .multiclass-display-level { + .hlabel-container .multiclass-display-level { width: 31px; text-align: center; font-size: 13px; @@ -2359,7 +2362,7 @@ overflow: hidden; } - .charsheet .hlabel-container input.class-level { + .hlabel-container input.class-level { margin-left: -6px; width: 34px; } @@ -2479,11 +2482,11 @@ cursor: pointer !important; } - .charsheet .options .sheet-row span.transition_text { + .options .sheet-row span.transition_text { color: #A0A0A0; } - .charsheet .options .sheet-row span.transition_text_highlight { + .options .sheet-row span.transition_text_highlight { color: #F00; } @@ -2516,6 +2519,15 @@ display: none; } + .npc-powers{ + padding: 0.75rem 2rem 0; + .body{ + box-sizing: border-box; + width: 100%; + margin:0; + padding: 1rem 0 0; + } + } .missing-info-flag[value="1"] + .missing-info, .missing-info:hover .missing-info-desc, .missing-info-desc:hover { @@ -2527,9 +2539,6 @@ display: none; } - .npcpower_flag[value="1"] + .actions.npcpower.powers { - display: block; - } .powers .innate { color: #A0A0A0; @@ -2538,10 +2547,6 @@ font-weight: normal; } - .innate:before { - content: ", " - } - .innate_flag:not([value=""]) + .innate { display: inline; } @@ -2736,214 +2741,88 @@ /* Tab Switching */ - input[type=radio].tab-button { - opacity: 0; - position: absolute; - top: 92px; - right: 2rem; - width: 18px; - height: 18px; - z-index: 2; - } - - input[type=radio].tab-button + span { - position: absolute; - top: 92px; - right: 2rem; - width: 17px; - height: 17px; - border: 1px solid black; - border-radius: 5px; - background-color: #E8E8E8; - color: black; - text-align: center; - font-weight: bold; - } - - .advantagetoggle input[type=radio]:checked + span, - input[type=radio].tab-button:checked + span { - color: #FFFFFF; - background-color: #EC2127; - } - - .advantagetoggle input.toggle-left, - .advantagetoggle input.toggle-left + span { - right: calc(181px + 2rem); - width: 90px; - } - - .advantagetoggle input.toggle-center, - .advantagetoggle input.toggle-center + span { - right: calc(113px + 2rem); - width: 65px; - } - - .advantagetoggle input.toggle-right, - .advantagetoggle input.toggle-right + span { - right: calc(0px + 2rem); - width: 110px; - } - - .whispertoggle { - left: 270px; - } - - .advantagetoggle.whispertoggle input.toggle-right, - .advantagetoggle.whispertoggle input.toggle-right + span { - width: 50px; - } - - .advantagetoggle.whispertoggle input.toggle-left, - .advantagetoggle.whispertoggle input.toggle-left + span { - right: calc(54px + 2rem); - width: 55px; - } - - .npc_toggle[value="1"] ~ .advantagetoggle { - top: -10px; - left: 390px; - } - - .npc_toggle[value="1"] ~ .advantagetoggle.whispertoggle { - top: -10px; - left: 120px; - } - - .advantagetoggle { - display: none; - } - - .toggleflag[value*="advantagetoggle"] + .advantagetoggle, - .toggleflag[value*="whispertoggle"] + .whispertoggle, - .toggleflag[value="1"] + .conditional-visibility, - .toggleflag[value="1"] + .sheet-row.conditional-visibility { - display: block; - } - - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc, - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.powers .header { - display: block; - visibility: hidden; - width: 0; - top: -150px; + div.button-row { + padding: 0 2rem 0 5rem; margin: 0; - padding: 0; + + + .adv-btn-group, + .gm-btn-group{ + display: none; + } + + input[name="attr_rtype"][value*="advantagetoggle"] + .adv-btn-group, + input[name="attr_wtype"][value*="whispertoggle"] + .gm-btn-group{ + display: block; + } + + button { + border: 0.1rem solid black; + border-radius: 0.5rem; + font-size: 1.1rem; + font-weight: bold; + padding: 0.1rem 0.5rem; + + span { + margin: 0; + padding: 0; + } + } + + /*PC*/ + input[name="attr_tab"][value="core"] ~ button[name="act_tab_core"], + input[name="attr_tab"][value="bio"] ~ button[name="act_tab_bio"], + input[name="attr_tab"][value="powers"] ~ button[name="act_tab_powers"], + input[name="attr_tab"][value="options"] ~ button[name="act_tab_options"], + /*SHIP*/ + input[name="attr_ship_tab"][value="ship-core"] ~ button[name="act_ship_tab_core"], + input[name="attr_ship_tab"][value="ship-cargo"] ~ button[name="act_ship_tab_cargo"], + input[name="attr_ship_tab"][value="ship-mods"] ~ button[name="act_ship_tab_mods"], + input[name="attr_ship_tab"][value="ship-suites"] ~ button[name="act_ship_tab_suites"], + input[name="attr_ship_tab"][value="ship-options"] ~ button[name="act_ship_tab_options"], + /*Whisper*/ + input[name="attr_whispertoggle"][value=""] ~ button[name="act_wtype_public"], + input[name="attr_whispertoggle"][value*="gm"] ~ button[name="act_wtype_whisper"], + /*Advantages*/ + input[name="attr_advantagetoggle"]:not([value*="disadvantage"])[value*="advantage"] ~ button[name="act_adv_advantage"], + input[name="attr_advantagetoggle"][value*="normal"] ~ button[name="act_adv_normal"], + input[name="attr_advantagetoggle"][value*="disadvantage"] ~ button[name="act_adv_disadvantage"]{ + background-color: #EC2127; + color: white; + } } - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.powers { - display: block; - } - - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.core, - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.bio, - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.options { + /*PC TABS*/ + .tab.core, + .tab.bio, + .tab.powers, + .tab.options, + /*SHIP TABS*/ + .tab.ship-core, + .tab.ship-suites, + .tab.ship-cargo, + .tab.ship-mods, + /* NPC POWERS */ + .npc-powers{ display: none; } - - .npc_toggle[value="2"] ~ .ship .tab.ship-core, - .npc_toggle[value="2"] ~ .ship .tab.ship-cargo, - .npc_toggle[value="2"] ~ .ship .tab.ship-mods, - .npc_toggle[value="2"] ~ .ship .tab.ship-suites { - display: none; + /*PC TAB SELECTED */ + input[name="attr_tab"][value="core"] ~ .tab.core, + input[name="attr_tab"][value="bio"] ~ .tab.bio, + input[name="attr_tab"][value="powers"] ~ .tab.powers, + input[name="attr_tab"][value="options"] ~ .tab.options, + /*SHIP TAB SELECTED */ + input[name="attr_ship_tab"][value="ship-core"] ~ .tab.ship-core, + input[name="attr_ship_tab"][value="ship-options"] ~ .tab.options, + input[name="attr_ship_tab"][value="ship-suites"] ~ .tab.ship-suites, + input[name="attr_ship_tab"][value="ship-cargo"] ~ .tab.ship-cargo, + input[name="attr_ship_tab"][value="ship-mods"] ~ .tab.ship-mods, + /*NPC POWERS SELECTED*/ + input[name="attr_npcpowercastingflag"][value="1"] ~ .npc-powers{ + display: flex; + flex-direction:column; } - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.powers .body { - visibility: visible; - } - - .npc_toggle[value="1"] + .npcpowercastingflag[value="1"] ~ .pc .tab.powers .body .col { - display: block; - } - - .conditional-visibility, - .options .sheet-row.conditional-visibility { - display: none; - } - - .npc_toggle[value="1"] ~ .advantagetoggle input[type=radio] + span { - text-transform: lowercase; - font-variant: small-caps; - font-weight: normal; - background: transparent; - border: none; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - } - - .npc_toggle[value="1"] ~ .advantagetoggle input[type=radio] + span:first-letter { - text-transform: uppercase; - } - - .npc_toggle[value="1"] ~ .advantagetoggle input[type=radio] + span > span.togm { - text-transform: uppercase; - } - - .npc_toggle[value="1"] ~ .advantagetoggle input[type=radio]:checked + span { - font-weight: bold; - color: rgb(126, 45, 64); - } - - .tab { - display: none; - } - - input[type=radio].tab-button.core:checked ~ .tab.core, - input[type=radio].tab-button.bio:checked ~ .tab.bio, - input[type=radio].tab-button.powers:checked ~ .tab.powers, - input[type=radio].tab-button.options:checked ~ .tab.options, - input[type=radio].tab-button.ship-core:checked ~ .tab.ship-core, - input[type=radio].tab-button.ship-cargo:checked ~ .tab.ship-cargo, - input[type=radio].tab-button.ship-mods:checked ~ .tab.ship-mods, - input[type=radio].tab-button.ship-suites:checked ~ .tab.ship-suites { - display: block; - } - - input[type=radio].tab-button.core, - input[type=radio].tab-button.core + span { - right: calc(121px + 2rem); - width: 45px; - } - - input[type=radio].tab-button.ship-core, - input[type=radio].tab-button.ship-core + span { - height: 15px; - right: calc(100px + 2rem); - width: 80px; - } - - input[type=radio].tab-button.ship-cargo, - input[type=radio].tab-button.ship-cargo + span { - height: 15px; - right: calc(20px + 2rem); - width: 80px; - } - - input[type=radio].tab-button.ship-mods, - input[type=radio].tab-button.ship-mods + span { - top: 110px; - height: 15px; - right: calc(100px + 2rem); - width: 80px; - } - - input[type=radio].tab-button.ship-suites, - input[type=radio].tab-button.ship-suites + span { - top: 110px; - height: 15px; - right: calc(20px + 2rem); - width: 80px; - } - - input[type=radio].tab-button.bio, - input[type=radio].tab-button.bio + span { - right: calc(88px + 2rem); - width: 30px; - } - - input[type=radio].tab-button.powers, - input[type=radio].tab-button.powers + span { - right: calc(20px + 2rem); - width: 65px; - } /* Switch between complex & simple data */ .equipment .complex, diff --git a/StarWars5E/StarWars5E_HTML.html b/StarWars5E/StarWars5E_HTML.html index a3a04292a6..7a96190069 100644 --- a/StarWars5E/StarWars5E_HTML.html +++ b/StarWars5E/StarWars5E_HTML.html @@ -1,27 +1,6 @@ -
+
- - - - -
- ADVANTAGE - NORMAL - DISADVANTAGE -
- - -
- PUBLIC - TO GM -
-
@@ -952,6 +931,1697 @@
+ +
+
+ POWERS +
+
+
+
+ + FORCE TOTAL + FORCE REMAINING + +
+
+ FP +
+ +
+ +
+
+ +
+
+ + TECH TOTAL + TECH REMAINING + +
+
+ TP +
+ +
+ +
+
+ +
+
+
+
+
+ 0 +
+
+ AT-WILL +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ AT-WILL PROGRESSION + +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + C +
+
+
+
+ +
+
+ 1 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ 2 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ +
+
+ 3 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ 4 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ 5 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ +
+
+ 6 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ 7 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ 8 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+ 9 +
+
+
+
+
+ y +
+
+ NAME: + +
+
+ SCHOOL: + +
+
+ CASTING TIME: + +
+
+ RANGE: + +
+
+ TARGET: + +
+
+ + CONCENTRATION +
+
+ DURATION: + +
+
+ POWERCASTING ABILITY + +
+
+ INNATE: + +
+
+ OUTPUT: + +
+ +
+
+ POWER ATTACK: + +
+
+ DAMAGE: + + TYPE: + +
+
+ DAMAGE2: + + TYPE: + +
+
+ HEALING: + +
+
+ + ADD ABILITY MOD TO DAMAGE OR HEALING +
+
+ SAVING THROW: + + EFFECT: + +
+
+ HIGHER LVL CAST DMG: + + + + + +
+
+ INCLUDE POWER DESCRIPTION IN ATTACK: + +
+
+
+ DESCRIPTION: +
+
+ +
+
+ AT HIGHER LEVELS: +
+
+ +
+ + +
+
+ + + + + C +
+
+
+
+ +
+
+
+