diff --git a/Stars_Without_Number_Revised/Source/ts/autofill.ts b/Stars_Without_Number_Revised/Source/ts/autofill.ts index 5daab4c47bc..8d906019793 100644 --- a/Stars_Without_Number_Revised/Source/ts/autofill.ts +++ b/Stars_Without_Number_Revised/Source/ts/autofill.ts @@ -273,4 +273,4 @@ const fillRepeatingSectionFromData = (sName: string, data: {[key: string]: Attri }, {}); }).reduce((m, o) => Object.assign(m, o), {}); setAttrs(setting, {}, callback); -}; \ No newline at end of file +}; diff --git a/Stars_Without_Number_Revised/Stars_Without_Number_Revised.css b/Stars_Without_Number_Revised/Stars_Without_Number_Revised.css index 7d4ef5ef694..fb00f29c088 100644 --- a/Stars_Without_Number_Revised/Stars_Without_Number_Revised.css +++ b/Stars_Without_Number_Revised/Stars_Without_Number_Revised.css @@ -1 +1 @@ -.charsheet{background-color:#fff;padding:0 !important;font-size:12px;line-height:18px;min-width:800px;color:#000}.charsheet div,.charsheet span,.charsheet label,.charsheet textarea,.charsheet button[type=roll],.charsheet h1,.charsheet h2,.charsheet h3{box-sizing:border-box}.charsheet label,.charsheet .label{margin:0;padding:0;color:inherit;font-size:1em;font-weight:normal;width:auto;display:block;border-radius:inherit;white-space:normal}.charsheet p{font-size:1em;margin:0 0 5px;line-height:inherit}.charsheet textarea{resize:vertical;padding:1px 4px;font-size:12px;margin:0;color:#000;display:block}.charsheet input[type=text],.charsheet input[type=number]{padding:1px 4px;font-size:12px;height:20px;color:#000}.charsheet input[type=number][readonly=readonly],.charsheet input[type=number].no-spinners{-moz-appearance:textfield}.charsheet input[type=number][readonly=readonly]::-webkit-inner-spin-button,.charsheet input[type=number][readonly=readonly]::-webkit-outer-spin-button,.charsheet input[type=number].no-spinners::-webkit-inner-spin-button,.charsheet input[type=number].no-spinners::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.charsheet select{margin:0;color:#000;font-size:12px;padding:1px 2px;line-height:18px;height:22px}.charsheet button[type=roll].btn{margin:0}.charsheet button[type=roll].unstyled-button{text-shadow:none;box-shadow:none;color:inherit;text-align:inherit;padding:0;border:none;border-radius:0;font-size:inherit;background:transparent}.charsheet button[type=roll].unstyled-button::before{content:""}.charsheet button[type=roll].invisible-button{position:absolute;z-index:1;opacity:0;left:0;width:100%;height:100%;top:0}.charsheet button[type=roll].invisible-button:hover~div:not(.no-highlight){color:#2b3fea;border-color:#2b3fea}.charsheet .hider[value="0"]+div,.charsheet .hider[value="0"]+label,.charsheet .hider[value="0"]+button,.charsheet .hider[value="0"]+span{display:none}.charsheet .hider[value=""]+button{display:none}.charsheet .editmode[value="0"]~.content .empty-hider[value=""]+div{display:none}.charsheet h1{font-family:"Contrail One",sans-serif;background-color:#9b9b9b;padding-left:5px;color:#fff;font-size:1.3em;line-height:22px;font-weight:normal}.charsheet h1::after{content:"";position:absolute;right:0;background-color:#223297;background-position:center;background-size:100%;width:22px;height:22px}.charsheet h2{font-family:"Contrail One",sans-serif;padding-left:5px;border:2px solid #000;background-color:#ccc;color:#000;font-size:1.1em;margin:5px 0;width:175px;line-height:18px}.charsheet h3{font-size:1.2em;font-family:"Contrail One",sans-serif;color:#6b6b6b;line-height:1.5;font-weight:normal}.charsheet .npc-input[value="0"]~.tabs .npc-tab,.charsheet .npc-input[value="1"]~.tabs .pc-tab,.charsheet .npc-input[value="0"]~.drones .npc-show,.charsheet .npc-input[value="1"]~.drones .pc-show,.charsheet .tab-input:not([value=character])~.character,.charsheet .tab-input:not([value=ship])~.ship,.charsheet .tab-input:not([value=drones])~.drones,.charsheet .tab-input:not([value=npc])~.npc{display:none}.charsheet .content{min-width:800px;display:grid;grid-gap:5px}.charsheet .editmode[value="0"]~.content .edit,.charsheet .editmode[value="0"]~.content .repcontrol,.charsheet .editmode[value="1"]~.content .display{display:none}.charsheet .editmode[value="1"]~.content{border-color:#ff0;border-style:solid;border-width:0 2px 2px 2px}.charsheet .editmode[value="1"]~.header{border-bottom:2px solid #ff0}.charsheet .editmode[value="1"]~.tabs{border-color:#ff0;border-style:solid;border-width:0 2px 0 2px}.charsheet .editmode[value="1"]~.settings{border-color:#ff0;border-style:solid;border-width:0 2px 0 2px}.charsheet .editmode[value="1"]~div .edit-button{background-color:#ff0;height:29px;padding:0 5px 0 5px;margin:0 0 0 15px;display:flex;align-items:center}.charsheet .editmode[value="1"]~div .edit-button input{align-self:center}.charsheet .dice-icon{background:transparent url("https://github.com/Roll20/roll20-character-sheets/blob/master/Stars_Without_Number_Revised/Assets/dice.png") no-repeat 80px 3px !important;background-size:15px 15px !important}.charsheet .header input{opacity:0;position:absolute}.charsheet .header .logo{width:480px}.charsheet .header .npc-chooser{cursor:pointer;margin-left:auto;color:#fff}.charsheet .header .npc-chooser span{padding:3px 6px}.charsheet .header .npc-chooser input:not(:checked)~.pc-label,.charsheet .header .npc-chooser input:checked~.npc-label{background:#11194b}.charsheet .header .npc-chooser input:checked~.pc-label,.charsheet .header .npc-chooser input:not(:checked)~.npc-label{background:#223297}.charsheet .header .edit-button{margin:0 5px 0 20px}.charsheet .header .settings-gear,.charsheet .header .edit-button{cursor:pointer;font-size:16px;font-family:pictos}.charsheet .header .settings-gear input:not(:checked)+span,.charsheet .header .edit-button input:not(:checked)+span{color:#888}.charsheet .header .settings-gear input:checked+span,.charsheet .header .edit-button input:checked+span{color:#223297}.charsheet .footer{font-size:10px;border-top:1px solid #ccc;margin-top:10px;color:#666}.charsheet .footer button[type=roll].btn:hover{color:#223297}.charsheet .tabs{padding-bottom:10px;padding-top:10px;width:100%;position:relative;z-index:2;border-top:1px solid #333;font-family:"Contrail One",sans-serif;flex-flow:row-reverse;justify-content:flex-end}.charsheet .tabs input{opacity:0;position:absolute}.charsheet .tabs input:checked+span{background:#11194b}.charsheet .tabs input:not(:checked)+span{background:#223297}.charsheet .tabs span{padding:1px 25px 0}.charsheet .tabs label{cursor:pointer;line-height:17px;display:flex;margin:-1px -10px 0 0;color:#fff;clip-path:polygon(0 0, 100% 0, 100% 10px, calc(100% - 10px) 100%, 0 100%)}.charsheet .flex{display:flex}.charsheet .flex-start{display:flex;align-items:flex-start}.charsheet .flex-center{display:flex;align-items:center}.charsheet .flex-between{display:flex;align-items:center;justify-content:space-between}.charsheet .flex-wrap{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start}.charsheet .grow{flex-grow:1}.charsheet .halfgrid{display:grid;grid:auto/1fr 1fr;grid-gap:5px}.charsheet .thirdsgrid{display:grid;grid:auto/repeat(3, 1fr);grid-column-gap:1%}.charsheet .column>div:not(:first-child){margin-top:5px}.charsheet .col-2{grid-column:2}.charsheet .col-3{grid-column:3}.charsheet .col-4{grid-column:4}.charsheet .cols-2{grid-column:span 2}.charsheet .cols-3{grid-column:span 3}.charsheet .cols-4{grid-column:span 4}.charsheet .rows-2{grid-row:span 2}.charsheet .col55{width:55%}.charsheet .col50{width:50%}.charsheet .col40{width:40%}.charsheet .colthird{width:calc(100% / 3)}.charsheet .col25{width:25%}.charsheet .col20{width:20%}.charsheet .colsixth{width:calc(100% / 6)}.charsheet .grey-box,.charsheet .grey-box-bordered{padding:4px;background:#f0f0f0}.charsheet .grey-box-bordered{border:1px solid #aaa}.charsheet .core-box{padding:8px;background:#f0f0f0}.charsheet .core-box-text{padding:8px 3px 3px 8px;background:#f0f0f0}.charsheet input[type=text].inherit{border-radius:0;border:none;background:transparent;box-shadow:none;padding:0;color:inherit;font:inherit}.charsheet .inline-input{position:relative;z-index:2;vertical-align:baseline;padding:0 3px}.charsheet .text-input{color:#666;padding-right:5px;line-height:1}.charsheet .text-input .label{font-size:.9em;text-align:inherit;line-height:14px;border-top:1px solid #aaa}.charsheet .text-input .label input[type=checkbox]{height:14px;margin:0 3px 0 0}.charsheet .text-input input[type=text],.charsheet .text-input input[type=number],.charsheet .text-input textarea{background:transparent;padding:1px 0;width:100%;border-radius:0;color:#223297;border:none;text-align:inherit;font-weight:inherit;box-shadow:none}.charsheet .text-input input[type=text][readonly=readonly],.charsheet .text-input input[type=number][readonly=readonly],.charsheet .text-input textarea[readonly=readonly]{cursor:default}.charsheet .text-input input[type=text],.charsheet .text-input input[type=number]{font-size:1.1em}.charsheet .text-input textarea{height:20px;min-height:20px}.charsheet .text-input>input[type=checkbox]{height:14px;margin:3px 0}.charsheet .text-input select{width:100%;height:20px;color:#223297;background:transparent;border:none}.charsheet .text-input.important{font-weight:bold;font-size:1.1em}.charsheet .text-input.center{text-align:center}.charsheet .text-input.duo{display:grid;text-align:center;grid:auto/3px 1fr 5px 1fr 3px;align-items:center;align-content:start;grid-column-gap:0}.charsheet .text-input.duo>span{font-size:16px;color:#333}.charsheet .text-input.duo .label{grid-column:1/5}.charsheet .text-input.trio{display:grid;text-align:center;grid:auto/3px 1fr 5px 1fr 5px 1fr 3px;align-items:center;align-content:start;grid-column-gap:0}.charsheet .text-input.trio>span{font-size:16px;color:#333}.charsheet .text-input.trio .label{grid-column:1/7}.charsheet .text-input button[type=roll].btn{width:100%}.charsheet .text-input button[type=roll].btn:hover{color:red}.charsheet .table-header{font-size:.9em;color:#666}.charsheet .table-header .center{text-align:center}.charsheet .table-header>div{padding-left:2px;border-bottom:1px solid #aaa}.charsheet .blue-button{text-align:center;line-height:1.5}.charsheet .blue-button button[type=roll].btn{background:#2b3fea;width:35px;height:35px;display:block;margin:0 auto;color:#fff}.charsheet .blue-button button[type=roll].btn::before{content:""}.charsheet .focusinfo{position:relative}.charsheet .focusinfo .details{position:absolute;z-index:1;opacity:1;width:250px;top:22px;left:calc(50% - 125px);transition:all .3s;background:#fff;border:1px solid #777;border-radius:8px;padding:5px}.charsheet .focusinfo input:not(:focus)~.details{visibility:hidden;opacity:0}.charsheet .lower{text-transform:lowercase}.charsheet .space-before::before,.charsheet .space-after::after{content:" "}.charsheet .colon-after::after{content:":"}.charsheet .hide-empty[value=""]+span{display:none}.charsheet .add-plus:not([value^="-"])+span::before{content:"+"}.charsheet .api{font-size:.8em;background:#f0f0f0;border-radius:5px;padding:1px;line-height:1;vertical-align:super}.charsheet .simple-repsection .repitem{margin-bottom:3px}.charsheet .simple-repsection textarea{margin:3px 0 0;height:50px}.charsheet .simple-repsection .display .name{font-weight:bold;font-size:1.1em;border-bottom:1px solid #777}.charsheet .simple-repsection .display .details{line-height:1.4;text-align:justify;white-space:pre-wrap}.charsheet .rep-grid{display:grid;align-items:start;grid-column-gap:3px;margin-bottom:3px}.charsheet .rep-grid .text-input{padding:0}.charsheet .skills-type[value=neither]~div .skills-either,.charsheet .skills-type:not([value=first])~div .skills-first,.charsheet .skills-type:not([value=revised])~div .skills-revised,.charsheet .skills-type:not([value=wwn])~div .skills-wwn,.charsheet .skills-type:not([value=neither])~div .skills-neither,.charsheet .super-type:not([value=psionics]):not([value=both])~div .skills-psionics,.charsheet .super-type:not([value=magic]):not([value=both])~div .skills-magic,.charsheet .skills-query:not([value=hover])~div .skills-query-hover,.charsheet .skills-query[value=query]~div .skills-query-display,.charsheet .skills-query[value=query]~div .skills-query-ask{display:none}.charsheet .skills-query-display input:not([value*=str])~.str,.charsheet .skills-query-display input:not([value*=dex])~.dex,.charsheet .skills-query-display input:not([value*=con])~.con,.charsheet .skills-query-display input:not([value*=int])~.int,.charsheet .skills-query-display input:not([value*=wis])~.wis,.charsheet .skills-query-display input:not([value*=cha])~.cha{display:none}.charsheet .skills-query[value=hover]~div .skill:hover .skills-query-display,.charsheet .skill .display .query:focus+.skills-query-display{display:none}.charsheet .repcontrol{display:flex;margin-top:4px}.charsheet .repcontrol button{padding:3px 10px}.charsheet .repcontrol_edit{order:1;margin-left:auto}.charsheet .repcontrol button{background:#223297;color:#fff;box-shadow:none;text-shadow:none}.charsheet .repcontrol_move,.charsheet .repcontrol_del{padding:1px 10px}.charsheet .itemcontrol{z-index:100}.charsheet .section-toggle-header{position:relative}.charsheet .section-toggle-header input{cursor:pointer;position:absolute;width:22px;height:100%;z-index:2;right:0;opacity:0}.charsheet .section-toggle-header input+h1::after{background-image:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/white_arrow.svg")}.charsheet .section-toggle-header input:not(:checked)+h1::after{transform:rotate(180deg)}.charsheet .section-toggle-header+input+div{margin-top:5px}.charsheet .settings label{font-weight:bold}.charsheet .settings label span{margin-right:4px}.charsheet .settings select{width:120px;display:inline-block}.charsheet .settings select.wide{width:170px}.charsheet .generate{margin-bottom:5px}.charsheet .generate .generate-source{height:20px;width:170px}.charsheet .generate .generate-info{margin:0 5px;min-height:20px;flex-grow:1;background:#f0f0f0;border-radius:4px;padding:1px 4px}.charsheet .generate .generate-button{padding:1px 8px;border-radius:4px;cursor:pointer;background:#223297;color:#fff}.charsheet .generate .generate-button input[type=checkbox]{position:absolute;visibility:hidden}.charsheet .generate .generate-button:active{outline:5px auto;outline-offset:-2px}.charsheet .core{display:grid;grid-column-gap:5px}.charsheet .core.core-info{grid:auto/2.5fr 1fr .8fr}.charsheet .core.core-info .info{flex-wrap:wrap;padding-right:3px}.charsheet .core.core-info .info .important{width:calc(60% - 22px)}.charsheet .core.core-info .info .level{width:44px}.charsheet .core.core-info .info .level-rest{width:calc(40% - 22px)}.charsheet .core.core-stats{grid:auto/minmax(310px, 1.2fr) minmax(260px, 1fr) minmax(220px, 0.8fr)}.charsheet .core .main-content{margin-top:3px;display:grid;grid:auto/repeat(3, 1fr);grid-row-gap:3px}.charsheet .core .main-content .left-margin{margin-left:15px}.charsheet .strain-above-max[value="1"]~div .total-strain{color:red}.charsheet .saves .flex{margin-top:4px}.charsheet .menus-content{display:grid;grid:auto/1fr 1fr}.charsheet .menus button[type=roll].btn{color:#2b3fea;font-size:1.1em}.charsheet .menus button[type=roll].btn:hover{color:red}.character .charsheet .menus button[type=roll].btn{margin-right:auto}.charsheet .attributes{font-size:1.1em;line-height:1.2}.charsheet .attributes table{width:100%;height:100%}.charsheet .attributes td:first-child,.charsheet .attributes .mod{font-weight:bold}.charsheet .attributes td:not(:first-child){text-align:center}.charsheet .attributes input[type=number]{width:45px}.charsheet .attributes td:nth-child(2n+3) input[type=number]{width:37px}.charsheet .attributes .mod{font-size:1.1em}.charsheet .editmode[value="0"]~.content .resources .repcontainer{grid:auto/1fr 1fr}.charsheet .resources .credits{margin-left:auto}.charsheet .resources .repcontainer{display:grid;grid-row-gap:3px;margin-top:3px}.charsheet .resources input[type=text]{width:calc(100% - 8em);margin-right:auto}.charsheet .resources .slash{margin:0 2px}.charsheet .shells .shells-grid{grid:auto/40px 35px 35px 35px 45px 1fr}.charsheet .transhuman-setting:not([value=transhuman])~.column .transhuman-enabled{display:none}.charsheet .transhuman-setting[value=transhuman]~.core .transhuman-disabled{display:none}.charsheet .weapons .edit{justify-content:space-between;padding-right:1px}.charsheet .weapons .edit .name{width:138px}.charsheet .weapons .edit .ab{width:45px}.charsheet .weapons .edit .weapon-skill{width:80px}.charsheet .weapons .edit .attribute{width:60px}.charsheet .weapons .edit .burst{width:65px}.charsheet .weapons .edit .damage{width:60px}.charsheet .weapons .edit .shock-damage{width:55px}.charsheet .weapons .edit .shock-ac{width:55px}.charsheet .weapons .edit .skill-to-damage{width:30px}.charsheet .weapons .edit .range{width:60px}.charsheet .weapons .edit .ammo{width:80px}.charsheet .weapons .edit .enc{width:40px}.charsheet .weapons .text-input{padding-right:3px}.charsheet .weapons .repitem{margin-bottom:3px}.charsheet .weapons .display{font-size:1.1em;border:1px solid #888;text-indent:-10px;padding:2px 4px 2px 14px}.charsheet .weapons .display .name{font-weight:bold}.charsheet .weapons .repitem:nth-child(odd) .display{background:#d3d3d3}.charsheet .skill-container,.charsheet .skills-repeating .repcontainer{display:grid;grid:auto/1fr 1fr;grid-gap:4px 1%}.charsheet .skill{position:relative}.charsheet .skill .display,.charsheet .skill .edit{border:1px solid #888;padding:2px 4px;height:100%}.charsheet .skill .display{font-weight:bold;font-size:1.1em}.charsheet .skill .display .dice[value="3d6d1"]+.name::after{content:"3d6"}.charsheet .skill .display .dice[value="4d6d2"]+.name::after{content:"4d6"}.charsheet .skill .display .name{margin-right:auto}.charsheet .skill .display .name::after{vertical-align:super;margin-left:2px;font-weight:normal;font-size:.7em}.charsheet .skill .display .query{width:55px;background:transparent;border-color:transparent;position:relative;height:18px;z-index:2;margin:0 2px;outline:none;color:inherit;flex-shrink:0;line-height:16px;padding:0}.charsheet .skill:not(:hover) .display .query:not(:focus){display:none}.charsheet .skill .skills-query-display{margin:0 3px;flex-shrink:0;font-weight:normal}.charsheet .skill .edit input[type=text].name{width:100%;margin-bottom:2px}.charsheet .skill .edit div.name{flex-grow:1;width:0;padding:1px 2px}.charsheet .skill .edit .level{margin:0 2px;padding:1px 2px;width:40px}.charsheet .skill .edit .query{width:50px}.charsheet .skill .edit .dice{width:35px}.charsheet .skill .edit.flex-wrap select,.charsheet .skill .edit.flex-wrap input{flex-grow:1}.charsheet .skill.skill-points .display{font-size:1.1em;font-weight:bold;width:100%}.charsheet .skill.skill-points .name{background:#000;color:#fff;flex-grow:0;margin-right:auto;width:auto;padding:0 4px}.charsheet .skill.skill-points .edit .level{margin:0}.charsheet .skill-container .skill:nth-of-type(4n+1),.charsheet .skill-container .skill:nth-of-type(4n+2){background:#d3d3d3}.charsheet .repcontainer[data-groupname=repeating_skills] .repitem:nth-of-type(4n+1) .skill,.charsheet .repcontainer[data-groupname=repeating_skills] .repitem:nth-of-type(4n+2) .skill{background:#d3d3d3}.charsheet .skills-type:not([value=neither])~div .skills-repeating,.charsheet .psionics .skills-repeating,.charsheet .magic .skills-repeating{margin-top:4px}.charsheet .skill-blurb{margin-top:3px;font-style:italic;text-align:center}.charsheet .details-button{margin-left:auto;font-weight:bold;color:#999;letter-spacing:1px;cursor:pointer;text-transform:uppercase;font-size:10px}.charsheet .details-button input{visibility:hidden;position:absolute}.charsheet .details-button input:checked+span{color:#333}.charsheet .input-details:not([value="1"])~div .details{display:none}.charsheet .input-details:not([value="0"])~div .notdetails{display:none}.charsheet .super-type:not([value=psionics])~div .super-psionics-only,.charsheet .super-type:not([value=magic])~div .super-magic-only,.charsheet .super-type:not([value=both])~div .super-both,.charsheet .super-type[value=magic]~div .super-psionics,.charsheet .super-type[value=psionics]~div .super-magic,.charsheet .super-type[value=neither]~div .super{display:none}.charsheet .tab-input:not([value=psionics])~.psionics,.charsheet .tab-input:not([value=magic])~.magic{display:none}.charsheet .psionics-effort{display:grid;grid:auto/auto 45px 45px 45px 45px 80px;align-items:center;grid-column-gap:4px;margin-top:5px}.charsheet .psionics-effort h3{line-height:1}.charsheet .techniques{margin-top:5px}.charsheet .techniques>.flex-center{margin-bottom:5px}.charsheet .techniques .display .discipline{margin-left:auto}.charsheet .techniques .edit .discipline{margin-left:5px;width:90px}.charsheet .magic-effort{display:grid;grid:auto/auto 45px 45px 45px 45px 80px;align-items:center;grid-column-gap:4px;margin-top:5px}.charsheet .magic-effort h3{line-height:1}.charsheet .spells{margin-top:5px}.charsheet .spells>.flex-center{margin-bottom:5px}.charsheet .spells>.flex{border-bottom:1px solid #666;margin-bottom:3px}.charsheet .spells>.flex :not(:first-child){text-align:center}.charsheet .spells .edit .name{width:220px;flex-grow:1}.charsheet .spells .edit .prepared{margin:0 3px}.charsheet .spells .edit .prepared,.charsheet .spells .edit .damage{width:60px}.charsheet .spells .display .name{padding-bottom:1px}.charsheet .spells .display span.prepared{margin:0 4px 0 auto}.charsheet .spells .display input[type=number].prepared{padding:0 4px;position:relative;z-index:2}.charsheet .spell-slots{display:grid;grid:auto/auto 55px 55px 55px 55px 55px;align-items:center;grid-column-gap:4px;margin-top:5px}.charsheet .spell-slots h3{line-height:1}.charsheet .magic-type:not([value=adept])~div .adept,.charsheet .magic-type:not([value=magister])~div .magister,.charsheet .magic-type:not([value=arcanist])~div .arcanist,.charsheet .magic-type[value=adept]~div .spellcaster{display:none}.charsheet .ai-processing{display:grid;grid:auto/auto 45px 45px 45px 45px 80px;align-items:center;grid-column-gap:4px}.charsheet .ai-processing h3{line-height:1}.charsheet .ai-processing-nodes .nodes-grid{grid:auto/65px 65px 1fr}.charsheet .ai-setting:not([value=ai])~.ai-enabled{display:none}.charsheet .ai-setting[value=ai]~.column .ai-enabled{display:block}.charsheet .ai-setting[value=ai]~.core .ai-disabled{display:none}.charsheet .foci-loc[value=left]~.column .foci-right,.charsheet .foci-loc[value=right]~.column .foci-left{display:none}.charsheet .foci .details-button{position:relative;z-index:2}.charsheet .foci .class-ability{position:relative}.charsheet .foci .class-ability .edit .name{font-weight:bold;font-size:1.1em;border-bottom:1px solid #777}.charsheet .foci .class-ability .name,.charsheet .foci .class-ability .edit textarea,.charsheet .foci .class-ability .display{margin-bottom:3px}.charsheet .foci .edit .name{flex-grow:1}.charsheet .foci .edit .level{margin-left:3px;width:60px}.charsheet .foci .display .level{margin-left:auto}.charsheet .armor .armor-grid{grid:auto/40px 1fr 40px 75px 35px 35px 70px}.charsheet .armor .details div,.charsheet .armor .details label{grid-column:2/8}.charsheet .armor .details .display{line-height:1.3}.charsheet .readied-stowed{display:grid;align-items:center;grid:auto/1fr 60px 60px 80px 80px;grid-column-gap:7px}.charsheet .readied-stowed .input-gear-over[value="1"]+.text-input input:first-child{color:red}.charsheet .cyberware h3{margin:5px 0}.charsheet .cyberware .edit{flex-wrap:wrap}.charsheet .cyberware .edit input[type=text]{width:0;flex-grow:1}.charsheet .cyberware .edit>span{margin:0 3px}.charsheet .equipment .repcontainer[data-groupname=repeating_weapons]+.repcontrol{display:none}.charsheet .equipment .gear-grid{grid:auto/35px minmax(130px, 1fr) 2fr 35px 70px 40px}.charsheet .equipment .other h3{margin-bottom:5px}.charsheet .equipment .other-gear{height:100px}.charsheet .misc .text-input input{padding-left:2px}.charsheet .misc .repitem{margin-bottom:2px}.charsheet .misc .xp{width:50px}.charsheet .notes{margin-top:5px}.charsheet .ship-class[value=fighter]~.section .generate-source .frigate,.charsheet .ship-class[value=fighter]~.section .generate-source .cruiser,.charsheet .ship-class[value=fighter]~.section .generate-source .capital{display:none}.charsheet .ship-class[value=frigate]~.section .generate-source .cruiser,.charsheet .ship-class[value=frigate]~.section .generate-source .capital{display:none}.charsheet .ship-class[value=cruiser]~.section .generate-source .capital{display:none}.charsheet .ship{margin-top:-20px;grid:auto/4fr 3fr 2fr}.charsheet .ship .menus h3{line-height:1}.charsheet .ship .menus button[type=roll].btn{line-height:1}.charsheet .ship .type{padding:5px 8px}.charsheet .ship .type h3{line-height:1}.charsheet .ship .type select{height:20px;width:80px;background:transparent}.charsheet .ship .info{flex-wrap:wrap}.charsheet .ship .info .text-input{margin-bottom:3px}.charsheet .ship .data{display:grid;grid:auto/repeat(6, 1fr)}.charsheet .ship .data .text-input,.charsheet .ship .data .text-input input[type=number]{text-align:center}.charsheet .ship .data .duo{grid-column-start:1;grid-column-end:3}.charsheet .ship .trio{grid-column-start:3;grid-column-end:7;grid:auto/0 1fr 5px 1fr 5px 1fr 0}.charsheet .ship .duo{grid:auto/0 1fr 5px 1fr 0}.charsheet .ship .stats{display:grid;grid:auto/1fr 1fr}.charsheet .ship .input-color-negative[value^="-"]+.text-input input:first-child{color:red}.charsheet .ship .repcontainer{display:grid;grid-row-gap:3px}.charsheet .ship .repitem,.charsheet .ship .repitem .edit,.charsheet .ship .repitem .display{width:100%}.charsheet .ship .grey-box-bordered{padding-right:0}.charsheet .ship .ship-weapons .edit .name{width:calc(100% - 200px)}.charsheet .ship .ship-weapons .edit .damage{width:65px}.charsheet .ship .ship-weapons .edit .duo{width:80px}.charsheet .ship .ship-weapons .edit .qualities{width:calc(100% - 195px)}.charsheet .ship .ship-weapons .edit .range{width:70px}.charsheet .ship .ship-weapons .display{text-indent:-10px;padding-left:14px}.charsheet .ship .ship-defenses .edit .name,.charsheet .ship .ship-defenses .edit .effect,.charsheet .ship .ship-fitting .edit .name,.charsheet .ship .ship-fitting .edit .effect{flex:1 1 auto;width:0}.charsheet .ship .ship-defenses .display,.charsheet .ship .ship-fitting .display{text-indent:-10px;padding:2px 4px 2px 14px}.charsheet .ship .edit .broken{width:50px}.charsheet .ship .edit .number{width:50px}.charsheet .ship .display .name{font-weight:bold}.charsheet .ship .display .broken{color:red;text-transform:uppercase}.charsheet .ship .display .description{font-style:italic}.charsheet .ship .input-type[value=SHIP]~div .vehicle-type:not(.vehicle-type-ship),.charsheet .ship .input-type[value=MECH]~div .vehicle-type:not(.vehicle-type-mech),.charsheet .ship .input-type[value=VEHICLE]~div .vehicle-type:not(.vehicle-type-custom){display:none}.editmode[value="0"]~.charsheet .ship .ship-defenses,.editmode[value="0"]~.charsheet .ship .ship-fitting{background:#f0f0f0;padding:3px 0}.charsheet .npc{margin-top:-20px;grid:auto/3fr .8fr 2.2fr}.charsheet .npc .input-individual-hide:not([value="1"])~.rolls .individual-hide{display:none}.charsheet .npc .menus h3{line-height:1}.charsheet .npc .menus button[type=roll].btn{line-height:1}.charsheet .npc .info{display:grid;grid:auto/repeat(5, 1fr) 1.3fr}.charsheet .npc .npc-hp{display:grid;grid:auto/40px 1fr}.charsheet .npc .individual-hide input[type=checkbox]{margin-right:2px}.charsheet .npc .npc-rep-header{margin:4px}.charsheet .npc .rolls>:first-child{margin-bottom:5px}.charsheet .npc .npc-checkbox{font-size:.9em}.charsheet .npc .npc-checkbox span{vertical-align:middle;margin-right:4px}.charsheet .npc .repcontainer{display:grid;grid-gap:3px}.charsheet .npc .full-attacks{margin:0 6px 0 auto}.charsheet .npc .grey-box-bordered{padding-right:1px}.charsheet .npc .text-input{padding-right:3px}.charsheet .npc .npc-attacks .edit .name{width:0;flex-grow:1}.charsheet .npc .npc-attacks .edit .attacks,.charsheet .npc .npc-attacks .edit .ab,.charsheet .npc .npc-attacks .edit .range{width:50px}.charsheet .npc .npc-attacks .edit .burst,.charsheet .npc .npc-attacks .edit .damage{width:60px}.charsheet .npc .npc-attacks .edit .shock-damage{width:30px}.charsheet .npc .npc-attacks .edit .shock-ac{width:40px}.charsheet .npc .npc-attacks .display{font-size:1.1em;font-weight:bold;padding:4px 8px}.charsheet .npc .npc-attacks .display .range[value="0"]+span{display:none}.charsheet .npc .npc-attacks .display .attacks[value="1"]+span{display:none}.charsheet .npc .npc-attacks .display .attacks{text-transform:lowercase}.charsheet .npc .npc-abilities .npc-checkbox{margin-left:auto}.charsheet .npc .npc-abilities .edit .name{width:100px}.charsheet .npc .npc-abilities .edit .description{width:0;flex-grow:1}.charsheet .npc .npc-abilities .display{text-indent:-10px;padding:4px 8px 4px 18px}.charsheet .npc .npc-abilities .display .name{font-weight:bold}.charsheet .npc .npc-abilities .display .description{font-style:italic}.charsheet .drone{display:grid;grid:86px 1fr/1fr 1fr;grid-gap:5px;align-items:start;border-top:1px solid #555;padding:5px 0}.charsheet .drone .stats{display:grid;align-content:start;grid:auto/repeat(7, 1fr)}.charsheet .drone .fittings .name{font-weight:bold}.charsheet .drone .fittings .name:not(:empty)::after{content:". "}.charsheet .drone .fittings .desc{font-style:italic}.charsheet .drone .fittings .display{margin-bottom:3px}.charsheet .drone .fitting-grid{grid:auto/0.8fr 1.2fr}.charsheet .drone .num-fittings[value="1"]~.fitting-5,.charsheet .drone .num-fittings[value="2"]~.fitting-5,.charsheet .drone .num-fittings[value="3"]~.fitting-5,.charsheet .drone .num-fittings[value="4"]~.fitting-5{display:none}.charsheet .drone .num-fittings[value="1"]~.fitting-4,.charsheet .drone .num-fittings[value="2"]~.fitting-4,.charsheet .drone .num-fittings[value="3"]~.fitting-4{display:none}.charsheet .drone .num-fittings[value="1"]~.fitting-3,.charsheet .drone .num-fittings[value="2"]~.fitting-3{display:none}.charsheet .drone .num-fittings[value="1"]~.fitting-2{display:none}.charsheet .drone .weapon-grid{grid:auto/35px 1fr 50px 60px 35px 70px}.charsheet .drone .weapon{position:relative}.charsheet .drone .weapon .name{font-weight:bold}.charsheet .drone .weapon .display{margin-right:4px}.charsheet .drone .weapon .display div::after{content:","}.editmode[value="0"]~.content .charsheet .drone .drone-weapons{display:flex;flex-wrap:wrap}.sheet-rolltemplate-swn-default,.sheet-rolltemplate-swn-attack,.sheet-rolltemplate-swn-skill,.sheet-rolltemplate-swn-save{margin-left:-41px;width:292px;color:#fff;font-family:"Arial",sans-serif}.sheet-rolltemplate-swn-default div,.sheet-rolltemplate-swn-attack div,.sheet-rolltemplate-swn-skill div,.sheet-rolltemplate-swn-save div{box-sizing:border-box}.sheet-withoutavatars .sheet-rolltemplate-swn-default,.sheet-withoutavatars .sheet-rolltemplate-swn-attack,.sheet-withoutavatars .sheet-rolltemplate-swn-skill,.sheet-withoutavatars .sheet-rolltemplate-swn-save{margin-left:-11px}.sheet-rolltemplate-swn-default .sheet-container .inlinerollresult,.sheet-rolltemplate-swn-attack .sheet-container .inlinerollresult,.sheet-rolltemplate-swn-skill .sheet-container .inlinerollresult,.sheet-rolltemplate-swn-save .sheet-container .inlinerollresult{padding:0;font-family:inherit;background:transparent;border-color:transparent;border:none}.sheet-rolltemplate-swn-default .sheet-container,.sheet-rolltemplate-swn-attack .sheet-container,.sheet-rolltemplate-swn-skill .sheet-container,.sheet-rolltemplate-swn-save .sheet-container{min-height:175px;position:relative;padding:18px 20px;clip-path:polygon(0 7px, 7px 0, 173px 0, 177px 3px, 281px 3px, 289px 11px, 289px 82px, 100% 87px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 22px 100%, 0 calc(100% - 22px))}.sheet-rolltemplate-swn-default .sheet-header,.sheet-rolltemplate-swn-attack .sheet-header,.sheet-rolltemplate-swn-skill .sheet-header,.sheet-rolltemplate-swn-save .sheet-header{width:198px}.sheet-rolltemplate-swn-default .sheet-header .sheet-name,.sheet-rolltemplate-swn-attack .sheet-header .sheet-name,.sheet-rolltemplate-swn-skill .sheet-header .sheet-name,.sheet-rolltemplate-swn-save .sheet-header .sheet-name{margin-bottom:12px;font-size:13px;line-height:1;height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Times New Roman",serif;font-weight:bold}.sheet-rolltemplate-swn-default .sheet-header .sheet-title,.sheet-rolltemplate-swn-attack .sheet-header .sheet-title,.sheet-rolltemplate-swn-skill .sheet-header .sheet-title,.sheet-rolltemplate-swn-save .sheet-header .sheet-title{font-size:14px;height:32px;line-height:16px;overflow:hidden;font-weight:bold;margin-bottom:24px}.sheet-rolltemplate-swn-default .sheet-content,.sheet-rolltemplate-swn-attack .sheet-content,.sheet-rolltemplate-swn-skill .sheet-content,.sheet-rolltemplate-swn-save .sheet-content{position:relative}.sheet-rolltemplate-swn-default .sheet-rolls .inlinerollresult,.sheet-rolltemplate-swn-attack .sheet-rolls .inlinerollresult,.sheet-rolltemplate-swn-skill .sheet-rolls .inlinerollresult,.sheet-rolltemplate-swn-save .sheet-rolls .inlinerollresult{font-size:36px;font-weight:bold;line-height:29px;white-space:nowrap}.sheet-rolltemplate-swn-default .sheet-rolls,.sheet-rolltemplate-swn-attack .sheet-rolls,.sheet-rolltemplate-swn-skill .sheet-rolls,.sheet-rolltemplate-swn-save .sheet-rolls{height:35px;display:flex;align-items:start}.sheet-rolltemplate-swn-default .sheet-rollname,.sheet-rolltemplate-swn-attack .sheet-rollname,.sheet-rolltemplate-swn-skill .sheet-rollname,.sheet-rolltemplate-swn-save .sheet-rollname{font-size:12px;line-height:1}.sheet-rolltemplate-swn-default a,.sheet-rolltemplate-swn-attack a,.sheet-rolltemplate-swn-skill a,.sheet-rolltemplate-swn-save a{color:inherit}.sheet-rolltemplate-swn-default a:hover,.sheet-rolltemplate-swn-attack a:hover,.sheet-rolltemplate-swn-skill a:hover,.sheet-rolltemplate-swn-save a:hover{color:red}.sheet-rolltemplate-swn-default a[href^="~"],.sheet-rolltemplate-swn-attack a[href^="~"],.sheet-rolltemplate-swn-skill a[href^="~"],.sheet-rolltemplate-swn-save a[href^="~"]{padding:0;background:transparent;border:none;line-height:1.4}.sheet-rolltemplate-swn-default .sheet-container{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-black.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-default .sheet-name{color:#bababa}.sheet-rolltemplate-swn-default .sheet-rollname{margin-right:auto}.sheet-rolltemplate-swn-default .sheet-desc,.sheet-rolltemplate-swn-default .sheet-buttons{font-size:12px;line-height:1.4}.sheet-rolltemplate-swn-default .sheet-info{font-style:italic;font-size:10px;line-height:1;margin:-10px 0 5px}.sheet-rolltemplate-swn-default .sheet-info .inlinerollresult{font-size:1em;font-weight:normal}.sheet-rolltemplate-swn-attack .sheet-container{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-purple.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-attack .sheet-name{color:#b291ec}.sheet-rolltemplate-swn-attack .sheet-title .inlinerollresult{font-size:1em;pointer-events:none}.sheet-rolltemplate-swn-attack .sheet-damage{margin-left:auto}.sheet-rolltemplate-swn-attack .sheet-roll{margin-left:10px}.sheet-rolltemplate-swn-attack .sheet-rolls:not(:first-of-type){margin-top:5px}.sheet-rolltemplate-swn-attack .sheet-shock{font-style:italic;margin-top:4px;font-size:12px}.sheet-rolltemplate-swn-attack .sheet-info{font-style:italic;font-size:10px}.sheet-rolltemplate-swn-attack .sheet-info>span:first-child{margin-right:10px}.sheet-rolltemplate-swn-attack .sheet-info .inlinerollresult{font-weight:normal;font-size:1em;margin-left:2px}.sheet-rolltemplate-swn-attack .sheet-desc{font-size:12px;line-height:1.4}.sheet-rolltemplate-swn-skill .sheet-container{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-blue.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-skill .sheet-name{color:#80b0ff}.sheet-rolltemplate-swn-skill .sheet-title .sheet-italic{font-style:italic}.sheet-rolltemplate-swn-skill .sheet-title .inlinerollresult{font-size:1em;pointer-events:none}.sheet-rolltemplate-swn-skill .sheet-rollname{margin-right:auto}.sheet-rolltemplate-swn-save .sheet-container.sheet-success{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-green.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-save .sheet-container.sheet-success .sheet-name{color:#83db53}.sheet-rolltemplate-swn-save .sheet-container.sheet-failure{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-red.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-save .sheet-container.sheet-failure .sheet-name{color:#ff8080}.sheet-rolltemplate-swn-save .sheet-vs{margin:0 10px}.sheet-rolltemplate-swn-save .sheet-rollname{margin-right:auto} +.charsheet{background-color:#fff;padding:0 !important;font-size:12px;line-height:18px;min-width:800px;color:#000}.charsheet div,.charsheet span,.charsheet label,.charsheet textarea,.charsheet button[type=roll],.charsheet h1,.charsheet h2,.charsheet h3{box-sizing:border-box}.charsheet label,.charsheet .label{margin:0;padding:0;color:inherit;font-size:1em;font-weight:normal;width:auto;display:block;border-radius:inherit;white-space:normal}.charsheet p{font-size:1em;margin:0 0 5px;line-height:inherit}.charsheet textarea{resize:vertical;padding:1px 4px;font-size:12px;margin:0;color:#000;display:block}.charsheet input[type=text],.charsheet input[type=number]{padding:1px 4px;font-size:12px;height:20px;color:#000}.charsheet input[type=number][readonly=readonly],.charsheet input[type=number].no-spinners{-moz-appearance:textfield}.charsheet input[type=number][readonly=readonly]::-webkit-inner-spin-button,.charsheet input[type=number][readonly=readonly]::-webkit-outer-spin-button,.charsheet input[type=number].no-spinners::-webkit-inner-spin-button,.charsheet input[type=number].no-spinners::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.charsheet select{margin:0;color:#000;font-size:12px;padding:1px 2px;line-height:18px;height:22px}.charsheet button[type=roll].btn{margin:0}.charsheet button[type=roll].unstyled-button{text-shadow:none;box-shadow:none;color:inherit;text-align:inherit;padding:0;border:none;border-radius:0;font-size:inherit;background:rgba(0,0,0,0)}.charsheet button[type=roll].unstyled-button::before{content:""}.charsheet button[type=roll].invisible-button{position:absolute;z-index:1;opacity:0;left:0;width:100%;height:100%;top:0}.charsheet button[type=roll].invisible-button:hover~div:not(.no-highlight){color:#2b3fea;border-color:#2b3fea}.charsheet .hider[value="0"]+div,.charsheet .hider[value="0"]+label,.charsheet .hider[value="0"]+button,.charsheet .hider[value="0"]+span{display:none}.charsheet .hider[value=""]+button{display:none}.charsheet .editmode[value="0"]~.content .empty-hider[value=""]+div{display:none}.charsheet h1{font-family:"Contrail One",sans-serif;background-color:#9b9b9b;padding-left:5px;color:#fff;font-size:1.3em;line-height:22px;font-weight:normal}.charsheet h1::after{content:"";position:absolute;right:0;background-color:#223297;background-position:center;background-size:100%;width:22px;height:22px}.charsheet h2{font-family:"Contrail One",sans-serif;padding-left:5px;border:2px solid #000;background-color:#ccc;color:#000;font-size:1.1em;margin:5px 0;width:175px;line-height:18px}.charsheet h3{font-size:1.2em;font-family:"Contrail One",sans-serif;color:#6b6b6b;line-height:1.5;font-weight:normal}.charsheet .npc-input[value="0"]~.tabs .npc-tab,.charsheet .npc-input[value="1"]~.tabs .pc-tab,.charsheet .npc-input[value="0"]~.drones .npc-show,.charsheet .npc-input[value="1"]~.drones .pc-show,.charsheet .tab-input:not([value=character])~.character,.charsheet .tab-input:not([value=ship])~.ship,.charsheet .tab-input:not([value=drones])~.drones,.charsheet .tab-input:not([value=npc])~.npc{display:none}.charsheet .content{min-width:800px;display:grid;grid-gap:5px}.charsheet .editmode[value="0"]~.content .edit,.charsheet .editmode[value="0"]~.content .repcontrol,.charsheet .editmode[value="1"]~.content .display{display:none}.charsheet .editmode[value="1"]~.content{border-color:#ff0;border-style:solid;border-width:0 2px 2px 2px}.charsheet .editmode[value="1"]~.header{border-bottom:2px solid #ff0}.charsheet .editmode[value="1"]~.tabs{border-color:#ff0;border-style:solid;border-width:0 2px 0 2px}.charsheet .editmode[value="1"]~.settings{border-color:#ff0;border-style:solid;border-width:0 2px 0 2px}.charsheet .editmode[value="1"]~div .edit-button{background-color:#ff0;height:29px;padding:0 5px 0 5px;margin:0 0 0 15px;display:flex;align-items:center}.charsheet .editmode[value="1"]~div .edit-button input{align-self:center}.charsheet .dice-icon{background:rgba(0,0,0,0) url("https://github.com/Roll20/roll20-character-sheets/blob/master/Stars_Without_Number_Revised/Assets/dice.png") no-repeat 80px 3px !important;background-size:15px 15px !important}.charsheet .header input{opacity:0;position:absolute}.charsheet .header .logo{width:480px}.charsheet .header .npc-chooser{cursor:pointer;margin-left:auto;color:#fff}.charsheet .header .npc-chooser span{padding:3px 6px}.charsheet .header .npc-chooser input:not(:checked)~.pc-label,.charsheet .header .npc-chooser input:checked~.npc-label{background:#11194b}.charsheet .header .npc-chooser input:checked~.pc-label,.charsheet .header .npc-chooser input:not(:checked)~.npc-label{background:#223297}.charsheet .header .edit-button{margin:0 5px 0 20px}.charsheet .header .settings-gear,.charsheet .header .edit-button{cursor:pointer;font-size:16px;font-family:pictos}.charsheet .header .settings-gear input:not(:checked)+span,.charsheet .header .edit-button input:not(:checked)+span{color:#888}.charsheet .header .settings-gear input:checked+span,.charsheet .header .edit-button input:checked+span{color:#223297}.charsheet .footer{font-size:10px;border-top:1px solid #ccc;margin-top:10px;color:#666}.charsheet .footer button[type=roll].btn:hover{color:#223297}.charsheet .tabs{padding-bottom:10px;padding-top:10px;width:100%;position:relative;z-index:2;border-top:1px solid #333;font-family:"Contrail One",sans-serif;flex-flow:row-reverse;justify-content:flex-end}.charsheet .tabs input{opacity:0;position:absolute}.charsheet .tabs input:checked+span{background:#11194b}.charsheet .tabs input:not(:checked)+span{background:#223297}.charsheet .tabs span{padding:1px 25px 0}.charsheet .tabs label{cursor:pointer;line-height:17px;display:flex;margin:-1px -10px 0 0;color:#fff;clip-path:polygon(0 0, 100% 0, 100% 10px, calc(100% - 10px) 100%, 0 100%)}.charsheet .flex{display:flex}.charsheet .flex-start{display:flex;align-items:flex-start}.charsheet .flex-center{display:flex;align-items:center}.charsheet .flex-between{display:flex;align-items:center;justify-content:space-between}.charsheet .flex-wrap{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start}.charsheet .grow{flex-grow:1}.charsheet .halfgrid{display:grid;grid:auto/1fr 1fr;grid-gap:5px}.charsheet .thirdsgrid{display:grid;grid:auto/repeat(3, 1fr);grid-column-gap:1%}.charsheet .column>div:not(:first-child){margin-top:5px}.charsheet .col-2{grid-column:2}.charsheet .col-3{grid-column:3}.charsheet .col-4{grid-column:4}.charsheet .cols-2{grid-column:span 2}.charsheet .cols-3{grid-column:span 3}.charsheet .cols-4{grid-column:span 4}.charsheet .rows-2{grid-row:span 2}.charsheet .col55{width:55%}.charsheet .col50{width:50%}.charsheet .col40{width:40%}.charsheet .colthird{width:33.3333333333%}.charsheet .col25{width:25%}.charsheet .col20{width:20%}.charsheet .colsixth{width:16.6666666667%}.charsheet .grey-box,.charsheet .grey-box-bordered{padding:4px;background:#f0f0f0}.charsheet .grey-box-bordered{border:1px solid #aaa}.charsheet .core-box{padding:8px;background:#f0f0f0}.charsheet .core-box-text{padding:8px 3px 3px 8px;background:#f0f0f0}.charsheet input[type=text].inherit{border-radius:0;border:none;background:rgba(0,0,0,0);box-shadow:none;padding:0;color:inherit;font:inherit}.charsheet .inline-input{position:relative;z-index:2;vertical-align:baseline;padding:0 3px}.charsheet .text-input{color:#666;padding-right:5px;line-height:1}.charsheet .text-input .label{font-size:.9em;text-align:inherit;line-height:14px;border-top:1px solid #aaa}.charsheet .text-input .label input[type=checkbox]{height:14px;margin:0 3px 0 0}.charsheet .text-input input[type=text],.charsheet .text-input input[type=number],.charsheet .text-input textarea{background:rgba(0,0,0,0);padding:1px 0;width:100%;border-radius:0;color:#223297;border:none;text-align:inherit;font-weight:inherit;box-shadow:none}.charsheet .text-input input[type=text][readonly=readonly],.charsheet .text-input input[type=number][readonly=readonly],.charsheet .text-input textarea[readonly=readonly]{cursor:default}.charsheet .text-input input[type=text],.charsheet .text-input input[type=number]{font-size:1.1em}.charsheet .text-input textarea{height:20px;min-height:20px}.charsheet .text-input>input[type=checkbox]{height:14px;margin:3px 0}.charsheet .text-input select{width:100%;height:20px;color:#223297;background:rgba(0,0,0,0);border:none}.charsheet .text-input.important{font-weight:bold;font-size:1.1em}.charsheet .text-input.center{text-align:center}.charsheet .text-input.duo{display:grid;text-align:center;grid:auto/3px 1fr 5px 1fr 3px;align-items:center;align-content:start;grid-column-gap:0}.charsheet .text-input.duo>span{font-size:16px;color:#333}.charsheet .text-input.duo .label{grid-column:1/5}.charsheet .text-input.trio{display:grid;text-align:center;grid:auto/3px 1fr 5px 1fr 5px 1fr 3px;align-items:center;align-content:start;grid-column-gap:0}.charsheet .text-input.trio>span{font-size:16px;color:#333}.charsheet .text-input.trio .label{grid-column:1/7}.charsheet .text-input button[type=roll].btn{width:100%}.charsheet .text-input button[type=roll].btn:hover{color:red}.charsheet .table-header{font-size:.9em;color:#666}.charsheet .table-header .center{text-align:center}.charsheet .table-header>div{padding-left:2px;border-bottom:1px solid #aaa}.charsheet .blue-button{text-align:center;line-height:1.5}.charsheet .blue-button button[type=roll].btn{background:#2b3fea;width:35px;height:35px;display:block;margin:0 auto;color:#fff}.charsheet .blue-button button[type=roll].btn::before{content:""}.charsheet .focusinfo{position:relative}.charsheet .focusinfo .details{position:absolute;z-index:1;opacity:1;width:250px;top:22px;left:calc(50% - 125px);transition:all .3s;background:#fff;border:1px solid #777;border-radius:8px;padding:5px}.charsheet .focusinfo input:not(:focus)~.details{visibility:hidden;opacity:0}.charsheet .lower{text-transform:lowercase}.charsheet .space-before::before,.charsheet .space-after::after{content:" "}.charsheet .colon-after::after{content:":"}.charsheet .hide-empty[value=""]+span{display:none}.charsheet .add-plus:not([value^="-"])+span::before{content:"+"}.charsheet .api{font-size:.8em;background:#f0f0f0;border-radius:5px;padding:1px;line-height:1;vertical-align:super}.charsheet .simple-repsection .repitem{margin-bottom:3px}.charsheet .simple-repsection textarea{margin:3px 0 0;height:50px}.charsheet .simple-repsection .display .name{font-weight:bold;font-size:1.1em;border-bottom:1px solid #777}.charsheet .simple-repsection .display .details{line-height:1.4;text-align:justify;white-space:pre-wrap}.charsheet .rep-grid{display:grid;align-items:start;grid-column-gap:3px;margin-bottom:3px}.charsheet .rep-grid .text-input{padding:0}.charsheet .skills-type[value=neither]~div .skills-either,.charsheet .skills-type:not([value=first])~div .skills-first,.charsheet .skills-type:not([value=revised])~div .skills-revised,.charsheet .skills-type:not([value=wwn])~div .skills-wwn,.charsheet .skills-type:not([value=neither])~div .skills-neither,.charsheet .super-type:not([value=psionics]):not([value=both])~div .skills-psionics,.charsheet .super-type:not([value=magic]):not([value=both])~div .skills-magic,.charsheet .skills-query:not([value=hover])~div .skills-query-hover,.charsheet .skills-query[value=query]~div .skills-query-display,.charsheet .skills-query[value=query]~div .skills-query-ask{display:none}.charsheet .skills-query-display input:not([value*=str])~.str,.charsheet .skills-query-display input:not([value*=dex])~.dex,.charsheet .skills-query-display input:not([value*=con])~.con,.charsheet .skills-query-display input:not([value*=int])~.int,.charsheet .skills-query-display input:not([value*=wis])~.wis,.charsheet .skills-query-display input:not([value*=cha])~.cha{display:none}.charsheet .skills-query[value=hover]~div .skill:hover .skills-query-display,.charsheet .skill .display .query:focus+.skills-query-display{display:none}.charsheet .repcontrol{display:flex;margin-top:4px}.charsheet .repcontrol button{padding:3px 10px}.charsheet .repcontrol_edit{order:1;margin-left:auto}.charsheet .repcontrol button{background:#223297;color:#fff;box-shadow:none;text-shadow:none}.charsheet .repcontrol_move,.charsheet .repcontrol_del{padding:1px 10px}.charsheet .itemcontrol{z-index:100}.charsheet .section-toggle-header{position:relative}.charsheet .section-toggle-header input{cursor:pointer;position:absolute;width:22px;height:100%;z-index:2;right:0;opacity:0}.charsheet .section-toggle-header input+h1::after{background-image:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/white_arrow.svg")}.charsheet .section-toggle-header input:not(:checked)+h1::after{transform:rotate(180deg)}.charsheet .section-toggle-header+input+div{margin-top:5px}.charsheet .settings label{font-weight:bold}.charsheet .settings label span{margin-right:4px}.charsheet .settings select{width:120px;display:inline-block}.charsheet .settings select.wide{width:170px}.charsheet .generate{margin-bottom:5px}.charsheet .generate .generate-source{height:20px;width:170px}.charsheet .generate .generate-info{margin:0 5px;min-height:20px;flex-grow:1;background:#f0f0f0;border-radius:4px;padding:1px 4px}.charsheet .generate .generate-button{padding:1px 8px;border-radius:4px;cursor:pointer;background:#223297;color:#fff}.charsheet .generate .generate-button input[type=checkbox]{position:absolute;visibility:hidden}.charsheet .generate .generate-button:active{outline:5px auto;outline-offset:-2px}.charsheet .core{display:grid;grid-column-gap:5px}.charsheet .core.core-info{grid:auto/2.5fr 1fr .8fr}.charsheet .core.core-info .info{flex-wrap:wrap;padding-right:3px}.charsheet .core.core-info .info .important{width:calc(60% - 22px)}.charsheet .core.core-info .info .level{width:44px}.charsheet .core.core-info .info .level-rest{width:calc(40% - 22px)}.charsheet .core.core-stats{grid:auto/minmax(310px, 1.2fr) minmax(260px, 1fr) minmax(220px, 0.8fr)}.charsheet .core .main-content{margin-top:3px;display:grid;grid:auto/repeat(3, 1fr);grid-row-gap:3px}.charsheet .core .main-content .left-margin{margin-left:15px}.charsheet .strain-above-max[value="1"]~div .total-strain{color:red}.charsheet .saves .flex{margin-top:4px}.charsheet .menus-content{display:grid;grid:auto/1fr 1fr}.charsheet .menus button[type=roll].btn{color:#2b3fea;font-size:1.1em}.charsheet .menus button[type=roll].btn:hover{color:red}.character .charsheet .menus button[type=roll].btn{margin-right:auto}.charsheet .attributes{font-size:1.1em;line-height:1.2}.charsheet .attributes table{width:100%;height:100%}.charsheet .attributes td:first-child,.charsheet .attributes .mod{font-weight:bold}.charsheet .attributes td:not(:first-child){text-align:center}.charsheet .attributes input[type=number]{width:45px}.charsheet .attributes td:nth-child(2n+3) input[type=number]{width:37px}.charsheet .attributes .mod{font-size:1.1em}.charsheet .editmode[value="0"]~.content .resources .repcontainer{grid:auto/1fr 1fr}.charsheet .resources .credits{margin-left:auto}.charsheet .resources .repcontainer{display:grid;grid-row-gap:3px;margin-top:3px}.charsheet .resources input[type=text]{width:calc(100% - 8em);margin-right:auto}.charsheet .resources .slash{margin:0 2px}.charsheet .shells .shells-grid{grid:auto/40px 35px 35px 35px 45px 1fr}.charsheet .transhuman-setting:not([value=transhuman])~.column .transhuman-enabled{display:none}.charsheet .transhuman-setting[value=transhuman]~.core .transhuman-disabled{display:none}.charsheet .weapons .edit{justify-content:space-between;padding-right:1px}.charsheet .weapons .edit .name{width:138px}.charsheet .weapons .edit .ab{width:45px}.charsheet .weapons .edit .weapon-skill{width:80px}.charsheet .weapons .edit .attribute{width:60px}.charsheet .weapons .edit .burst{width:65px}.charsheet .weapons .edit .damage{width:60px}.charsheet .weapons .edit .shock-damage{width:55px}.charsheet .weapons .edit .shock-ac{width:55px}.charsheet .weapons .edit .skill-to-damage{width:30px}.charsheet .weapons .edit .range{width:60px}.charsheet .weapons .edit .ammo{width:80px}.charsheet .weapons .edit .enc{width:40px}.charsheet .weapons .text-input{padding-right:3px}.charsheet .weapons .repitem{margin-bottom:3px}.charsheet .weapons .display{font-size:1.1em;border:1px solid #888;text-indent:-10px;padding:2px 4px 2px 14px}.charsheet .weapons .display .name{font-weight:bold}.charsheet .weapons .repitem:nth-child(odd) .display{background:#d3d3d3}.charsheet .skill-container,.charsheet .skills-repeating .repcontainer{display:grid;grid:auto/1fr 1fr;grid-gap:4px 1%}.charsheet .skill{position:relative}.charsheet .skill .display,.charsheet .skill .edit{border:1px solid #888;padding:2px 4px;height:100%}.charsheet .skill .display{font-weight:bold;font-size:1.1em}.charsheet .skill .display .dice[value="3d6d1"]+.name::after{content:"3d6"}.charsheet .skill .display .dice[value="4d6d2"]+.name::after{content:"4d6"}.charsheet .skill .display .name{margin-right:auto}.charsheet .skill .display .name::after{vertical-align:super;margin-left:2px;font-weight:normal;font-size:.7em}.charsheet .skill .display .query{width:55px;background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);position:relative;height:18px;z-index:2;margin:0 2px;outline:none;color:inherit;flex-shrink:0;line-height:16px;padding:0}.charsheet .skill:not(:hover) .display .query:not(:focus){display:none}.charsheet .skill .skills-query-display{margin:0 3px;flex-shrink:0;font-weight:normal}.charsheet .skill .edit input[type=text].name{width:100%;margin-bottom:2px}.charsheet .skill .edit div.name{flex-grow:1;width:0;padding:1px 2px}.charsheet .skill .edit .level{margin:0 2px;padding:1px 2px;width:40px}.charsheet .skill .edit .query{width:50px}.charsheet .skill .edit .dice{width:35px}.charsheet .skill .edit.flex-wrap select,.charsheet .skill .edit.flex-wrap input{flex-grow:1}.charsheet .skill.skill-points .display{font-size:1.1em;font-weight:bold;width:100%}.charsheet .skill.skill-points .name{background:#000;color:#fff;flex-grow:0;margin-right:auto;width:auto;padding:0 4px}.charsheet .skill.skill-points .edit .level{margin:0}.charsheet .skill-container .skill:nth-of-type(4n+1),.charsheet .skill-container .skill:nth-of-type(4n+2){background:#d3d3d3}.charsheet .repcontainer[data-groupname=repeating_skills] .repitem:nth-of-type(4n+1) .skill,.charsheet .repcontainer[data-groupname=repeating_skills] .repitem:nth-of-type(4n+2) .skill{background:#d3d3d3}.charsheet .skills-type:not([value=neither])~div .skills-repeating,.charsheet .psionics .skills-repeating,.charsheet .magic .skills-repeating{margin-top:4px}.charsheet .skill-blurb{margin-top:3px;font-style:italic;text-align:center}.charsheet .details-button{margin-left:auto;font-weight:bold;color:#999;letter-spacing:1px;cursor:pointer;text-transform:uppercase;font-size:10px}.charsheet .details-button input{visibility:hidden;position:absolute}.charsheet .details-button input:checked+span{color:#333}.charsheet .input-details:not([value="1"])~div .details{display:none}.charsheet .input-details:not([value="0"])~div .notdetails{display:none}.charsheet .super-type:not([value=psionics])~div .super-psionics-only,.charsheet .super-type:not([value=magic])~div .super-magic-only,.charsheet .super-type:not([value=both])~div .super-both,.charsheet .super-type[value=magic]~div .super-psionics,.charsheet .super-type[value=psionics]~div .super-magic,.charsheet .super-type[value=neither]~div .super{display:none}.charsheet .tab-input:not([value=psionics])~.psionics,.charsheet .tab-input:not([value=magic])~.magic{display:none}.charsheet .psionics-effort{display:grid;grid:auto/auto 45px 45px 45px 45px 80px;align-items:center;grid-column-gap:4px;margin-top:5px}.charsheet .psionics-effort h3{line-height:1}.charsheet .techniques{margin-top:5px}.charsheet .techniques>.flex-center{margin-bottom:5px}.charsheet .techniques .display .discipline{margin-left:auto}.charsheet .techniques .edit .discipline{margin-left:5px;width:90px}.charsheet .magic-effort{display:grid;grid:auto/auto 45px 45px 45px 45px 80px;align-items:center;grid-column-gap:4px;margin-top:5px}.charsheet .magic-effort h3{line-height:1}.charsheet .spells{margin-top:5px}.charsheet .spells>.flex-center{margin-bottom:5px}.charsheet .spells>.flex{border-bottom:1px solid #666;margin-bottom:3px}.charsheet .spells>.flex :not(:first-child){text-align:center}.charsheet .spells .edit .name{width:220px;flex-grow:1}.charsheet .spells .edit .prepared{margin:0 3px}.charsheet .spells .edit .prepared,.charsheet .spells .edit .damage{width:60px}.charsheet .spells .display .name{padding-bottom:1px}.charsheet .spells .display span.prepared{margin:0 4px 0 auto}.charsheet .spells .display input[type=number].prepared{padding:0 4px;position:relative;z-index:2}.charsheet .spell-slots{display:grid;grid:auto/auto 55px 55px 55px 55px 55px;align-items:center;grid-column-gap:4px;margin-top:5px}.charsheet .spell-slots h3{line-height:1}.charsheet .magic-type:not([value=adept])~div .adept,.charsheet .magic-type:not([value=magister])~div .magister,.charsheet .magic-type:not([value=arcanist])~div .arcanist,.charsheet .magic-type[value=adept]~div .spellcaster{display:none}.charsheet .ai-processing{display:grid;grid:auto/auto 45px 45px 45px 45px 80px;align-items:center;grid-column-gap:4px}.charsheet .ai-processing h3{line-height:1}.charsheet .ai-processing-nodes .nodes-grid{grid:auto/65px 65px 1fr}.charsheet .ai-setting:not([value=ai])~.ai-enabled{display:none}.charsheet .ai-setting[value=ai]~.column .ai-enabled{display:block}.charsheet .ai-setting[value=ai]~.core .ai-disabled{display:none}.charsheet .foci-loc[value=left]~.column .foci-right,.charsheet .foci-loc[value=right]~.column .foci-left{display:none}.charsheet .foci .details-button{position:relative;z-index:2}.charsheet .foci .class-ability{position:relative}.charsheet .foci .class-ability .edit .name{font-weight:bold;font-size:1.1em;border-bottom:1px solid #777}.charsheet .foci .class-ability .name,.charsheet .foci .class-ability .edit textarea,.charsheet .foci .class-ability .display{margin-bottom:3px}.charsheet .foci .edit .name{flex-grow:1}.charsheet .foci .edit .level{margin-left:3px;width:60px}.charsheet .foci .display .level{margin-left:auto}.charsheet .armor .armor-grid{grid:auto/40px 1fr 40px 75px 35px 35px 70px}.charsheet .armor .details div,.charsheet .armor .details label{grid-column:2/8}.charsheet .armor .details .display{line-height:1.3}.charsheet .readied-stowed{display:grid;align-items:center;grid:auto/1fr 60px 60px 80px 80px;grid-column-gap:7px}.charsheet .readied-stowed .input-gear-over[value="1"]+.text-input input:first-child{color:red}.charsheet .cyberware h3{margin:5px 0}.charsheet .cyberware .edit{flex-wrap:wrap}.charsheet .cyberware .edit input[type=text]{width:0;flex-grow:1}.charsheet .cyberware .edit>span{margin:0 3px}.charsheet .equipment .repcontainer[data-groupname=repeating_weapons]+.repcontrol{display:none}.charsheet .equipment .gear-grid{grid:auto/35px minmax(130px, 1fr) 2fr 35px 70px 40px}.charsheet .equipment .other h3{margin-bottom:5px}.charsheet .equipment .other-gear{height:100px}.charsheet .misc .text-input input{padding-left:2px}.charsheet .misc .repitem{margin-bottom:2px}.charsheet .misc .xp{width:50px}.charsheet .notes{margin-top:5px}.charsheet .ship-class[value=fighter]~.section .generate-source .frigate,.charsheet .ship-class[value=fighter]~.section .generate-source .cruiser,.charsheet .ship-class[value=fighter]~.section .generate-source .capital{display:none}.charsheet .ship-class[value=frigate]~.section .generate-source .cruiser,.charsheet .ship-class[value=frigate]~.section .generate-source .capital{display:none}.charsheet .ship-class[value=cruiser]~.section .generate-source .capital{display:none}.charsheet .ship{margin-top:-20px;grid:auto/4fr 3fr 2fr}.charsheet .ship .menus h3{line-height:1}.charsheet .ship .menus button[type=roll].btn{line-height:1}.charsheet .ship .type{padding:5px 8px}.charsheet .ship .type h3{line-height:1}.charsheet .ship .type select{height:20px;width:80px;background:rgba(0,0,0,0)}.charsheet .ship .info{flex-wrap:wrap}.charsheet .ship .info .text-input{margin-bottom:3px}.charsheet .ship .data{display:grid;grid:auto/repeat(6, 1fr)}.charsheet .ship .data .text-input,.charsheet .ship .data .text-input input[type=number]{text-align:center}.charsheet .ship .data .duo{grid-column-start:1;grid-column-end:3}.charsheet .ship .trio{grid-column-start:3;grid-column-end:7;grid:auto/0 1fr 5px 1fr 5px 1fr 0}.charsheet .ship .duo{grid:auto/0 1fr 5px 1fr 0}.charsheet .ship .stats{display:grid;grid:auto/1fr 1fr}.charsheet .ship .input-color-negative[value^="-"]+.text-input input:first-child{color:red}.charsheet .ship .repcontainer{display:grid;grid-row-gap:3px}.charsheet .ship .repitem,.charsheet .ship .repitem .edit,.charsheet .ship .repitem .display{width:100%}.charsheet .ship .grey-box-bordered{padding-right:0}.charsheet .ship .ship-weapons .edit .name{width:calc(100% - 200px)}.charsheet .ship .ship-weapons .edit .damage{width:65px}.charsheet .ship .ship-weapons .edit .duo{width:80px}.charsheet .ship .ship-weapons .edit .qualities{width:calc(100% - 195px)}.charsheet .ship .ship-weapons .edit .range{width:70px}.charsheet .ship .ship-weapons .display{text-indent:-10px;padding-left:14px}.charsheet .ship .ship-defenses .edit .name,.charsheet .ship .ship-defenses .edit .effect,.charsheet .ship .ship-fitting .edit .name,.charsheet .ship .ship-fitting .edit .effect{flex:1 1 auto;width:0}.charsheet .ship .ship-defenses .display,.charsheet .ship .ship-fitting .display{text-indent:-10px;padding:2px 4px 2px 14px}.charsheet .ship .edit .broken{width:50px}.charsheet .ship .edit .number{width:50px}.charsheet .ship .display .name{font-weight:bold}.charsheet .ship .display .broken{color:red;text-transform:uppercase}.charsheet .ship .display .description{font-style:italic}.charsheet .ship .input-type[value=SHIP]~div .vehicle-type:not(.vehicle-type-ship),.charsheet .ship .input-type[value=MECH]~div .vehicle-type:not(.vehicle-type-mech),.charsheet .ship .input-type[value=VEHICLE]~div .vehicle-type:not(.vehicle-type-custom){display:none}.editmode[value="0"]~.charsheet .ship .ship-defenses,.editmode[value="0"]~.charsheet .ship .ship-fitting{background:#f0f0f0;padding:3px 0}.charsheet .npc{margin-top:-20px;grid:auto/3fr .8fr 2.2fr}.charsheet .npc .input-individual-hide:not([value="1"])~.rolls .individual-hide{display:none}.charsheet .npc .menus h3{line-height:1}.charsheet .npc .menus button[type=roll].btn{line-height:1}.charsheet .npc .info{display:grid;grid:auto/repeat(5, 1fr) 1.3fr}.charsheet .npc .npc-hp{display:grid;grid:auto/40px 1fr}.charsheet .npc .individual-hide input[type=checkbox]{margin-right:2px}.charsheet .npc .npc-rep-header{margin:4px}.charsheet .npc .rolls>:first-child{margin-bottom:5px}.charsheet .npc .npc-checkbox{font-size:.9em}.charsheet .npc .npc-checkbox span{vertical-align:middle;margin-right:4px}.charsheet .npc .repcontainer{display:grid;grid-gap:3px}.charsheet .npc .full-attacks{margin:0 6px 0 auto}.charsheet .npc .grey-box-bordered{padding-right:1px}.charsheet .npc .text-input{padding-right:3px}.charsheet .npc .npc-attacks .edit .name{width:0;flex-grow:1}.charsheet .npc .npc-attacks .edit .attacks,.charsheet .npc .npc-attacks .edit .ab,.charsheet .npc .npc-attacks .edit .range{width:50px}.charsheet .npc .npc-attacks .edit .burst,.charsheet .npc .npc-attacks .edit .damage{width:60px}.charsheet .npc .npc-attacks .edit .shock-damage{width:30px}.charsheet .npc .npc-attacks .edit .shock-ac{width:40px}.charsheet .npc .npc-attacks .display{font-size:1.1em;font-weight:bold;padding:4px 8px}.charsheet .npc .npc-attacks .display .range[value="0"]+span{display:none}.charsheet .npc .npc-attacks .display .attacks[value="1"]+span{display:none}.charsheet .npc .npc-attacks .display .attacks{text-transform:lowercase}.charsheet .npc .npc-abilities .npc-checkbox{margin-left:auto}.charsheet .npc .npc-abilities .edit .name{width:100px}.charsheet .npc .npc-abilities .edit .description{width:0;flex-grow:1}.charsheet .npc .npc-abilities .display{text-indent:-10px;padding:4px 8px 4px 18px}.charsheet .npc .npc-abilities .display .name{font-weight:bold}.charsheet .npc .npc-abilities .display .description{font-style:italic}.charsheet .drone{display:grid;grid:86px 1fr/1fr 1fr;grid-gap:5px;align-items:start;border-top:1px solid #555;padding:5px 0}.charsheet .drone .stats{display:grid;align-content:start;grid:auto/repeat(7, 1fr)}.charsheet .drone .fittings .name{font-weight:bold}.charsheet .drone .fittings .name:not(:empty)::after{content:". "}.charsheet .drone .fittings .desc{font-style:italic}.charsheet .drone .fittings .display{margin-bottom:3px}.charsheet .drone .fitting-grid{grid:auto/0.8fr 1.2fr}.charsheet .drone .num-fittings[value="1"]~.fitting-5,.charsheet .drone .num-fittings[value="2"]~.fitting-5,.charsheet .drone .num-fittings[value="3"]~.fitting-5,.charsheet .drone .num-fittings[value="4"]~.fitting-5{display:none}.charsheet .drone .num-fittings[value="1"]~.fitting-4,.charsheet .drone .num-fittings[value="2"]~.fitting-4,.charsheet .drone .num-fittings[value="3"]~.fitting-4{display:none}.charsheet .drone .num-fittings[value="1"]~.fitting-3,.charsheet .drone .num-fittings[value="2"]~.fitting-3{display:none}.charsheet .drone .num-fittings[value="1"]~.fitting-2{display:none}.charsheet .drone .weapon-grid{grid:auto/35px 1fr 50px 60px 35px 70px}.charsheet .drone .weapon{position:relative}.charsheet .drone .weapon .name{font-weight:bold}.charsheet .drone .weapon .display{margin-right:4px}.charsheet .drone .weapon .display div::after{content:","}.editmode[value="0"]~.content .charsheet .drone .drone-weapons{display:flex;flex-wrap:wrap}.sheet-rolltemplate-swn-default,.sheet-rolltemplate-swn-attack,.sheet-rolltemplate-swn-skill,.sheet-rolltemplate-swn-save{margin-left:-41px;width:292px;color:#fff;font-family:"Arial",sans-serif}.sheet-rolltemplate-swn-default div,.sheet-rolltemplate-swn-attack div,.sheet-rolltemplate-swn-skill div,.sheet-rolltemplate-swn-save div{box-sizing:border-box}.sheet-withoutavatars .sheet-rolltemplate-swn-default,.sheet-withoutavatars .sheet-rolltemplate-swn-attack,.sheet-withoutavatars .sheet-rolltemplate-swn-skill,.sheet-withoutavatars .sheet-rolltemplate-swn-save{margin-left:-11px}.sheet-rolltemplate-swn-default .sheet-container .inlinerollresult,.sheet-rolltemplate-swn-attack .sheet-container .inlinerollresult,.sheet-rolltemplate-swn-skill .sheet-container .inlinerollresult,.sheet-rolltemplate-swn-save .sheet-container .inlinerollresult{padding:0;font-family:inherit;background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border:none}.sheet-rolltemplate-swn-default .sheet-container,.sheet-rolltemplate-swn-attack .sheet-container,.sheet-rolltemplate-swn-skill .sheet-container,.sheet-rolltemplate-swn-save .sheet-container{min-height:175px;position:relative;padding:18px 20px;clip-path:polygon(0 7px, 7px 0, 173px 0, 177px 3px, 281px 3px, 289px 11px, 289px 82px, 100% 87px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 22px 100%, 0 calc(100% - 22px))}.sheet-rolltemplate-swn-default .sheet-header,.sheet-rolltemplate-swn-attack .sheet-header,.sheet-rolltemplate-swn-skill .sheet-header,.sheet-rolltemplate-swn-save .sheet-header{width:198px}.sheet-rolltemplate-swn-default .sheet-header .sheet-name,.sheet-rolltemplate-swn-attack .sheet-header .sheet-name,.sheet-rolltemplate-swn-skill .sheet-header .sheet-name,.sheet-rolltemplate-swn-save .sheet-header .sheet-name{margin-bottom:12px;font-size:13px;line-height:1;height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Times New Roman",serif;font-weight:bold}.sheet-rolltemplate-swn-default .sheet-header .sheet-title,.sheet-rolltemplate-swn-attack .sheet-header .sheet-title,.sheet-rolltemplate-swn-skill .sheet-header .sheet-title,.sheet-rolltemplate-swn-save .sheet-header .sheet-title{font-size:14px;height:32px;line-height:16px;overflow:hidden;font-weight:bold;margin-bottom:24px}.sheet-rolltemplate-swn-default .sheet-content,.sheet-rolltemplate-swn-attack .sheet-content,.sheet-rolltemplate-swn-skill .sheet-content,.sheet-rolltemplate-swn-save .sheet-content{position:relative}.sheet-rolltemplate-swn-default .sheet-rolls .inlinerollresult,.sheet-rolltemplate-swn-attack .sheet-rolls .inlinerollresult,.sheet-rolltemplate-swn-skill .sheet-rolls .inlinerollresult,.sheet-rolltemplate-swn-save .sheet-rolls .inlinerollresult{font-size:36px;font-weight:bold;line-height:29px;white-space:nowrap}.sheet-rolltemplate-swn-default .sheet-rolls,.sheet-rolltemplate-swn-attack .sheet-rolls,.sheet-rolltemplate-swn-skill .sheet-rolls,.sheet-rolltemplate-swn-save .sheet-rolls{height:35px;display:flex;align-items:start}.sheet-rolltemplate-swn-default .sheet-rollname,.sheet-rolltemplate-swn-attack .sheet-rollname,.sheet-rolltemplate-swn-skill .sheet-rollname,.sheet-rolltemplate-swn-save .sheet-rollname{font-size:12px;line-height:1}.sheet-rolltemplate-swn-default a,.sheet-rolltemplate-swn-attack a,.sheet-rolltemplate-swn-skill a,.sheet-rolltemplate-swn-save a{color:inherit}.sheet-rolltemplate-swn-default a:hover,.sheet-rolltemplate-swn-attack a:hover,.sheet-rolltemplate-swn-skill a:hover,.sheet-rolltemplate-swn-save a:hover{color:red}.sheet-rolltemplate-swn-default a[href^="~"],.sheet-rolltemplate-swn-attack a[href^="~"],.sheet-rolltemplate-swn-skill a[href^="~"],.sheet-rolltemplate-swn-save a[href^="~"]{padding:0;background:rgba(0,0,0,0);border:none;line-height:1.4}.sheet-rolltemplate-swn-default .sheet-container{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-black.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-default .sheet-name{color:#bababa}.sheet-rolltemplate-swn-default .sheet-rollname{margin-right:auto}.sheet-rolltemplate-swn-default .sheet-desc,.sheet-rolltemplate-swn-default .sheet-buttons{font-size:12px;line-height:1.4}.sheet-rolltemplate-swn-default .sheet-info{font-style:italic;font-size:10px;line-height:1;margin:-10px 0 5px}.sheet-rolltemplate-swn-default .sheet-info .inlinerollresult{font-size:1em;font-weight:normal}.sheet-rolltemplate-swn-attack .sheet-container{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-purple.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-attack .sheet-name{color:#b291ec}.sheet-rolltemplate-swn-attack .sheet-title .inlinerollresult{font-size:1em;pointer-events:none}.sheet-rolltemplate-swn-attack .sheet-damage{margin-left:auto}.sheet-rolltemplate-swn-attack .sheet-roll{margin-left:10px}.sheet-rolltemplate-swn-attack .sheet-rolls:not(:first-of-type){margin-top:5px}.sheet-rolltemplate-swn-attack .sheet-shock{font-style:italic;margin-top:4px;font-size:12px}.sheet-rolltemplate-swn-attack .sheet-info{font-style:italic;font-size:10px}.sheet-rolltemplate-swn-attack .sheet-info>span:first-child{margin-right:10px}.sheet-rolltemplate-swn-attack .sheet-info .inlinerollresult{font-weight:normal;font-size:1em;margin-left:2px}.sheet-rolltemplate-swn-attack .sheet-desc{font-size:12px;line-height:1.4}.sheet-rolltemplate-swn-skill .sheet-container{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-blue.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-skill .sheet-name{color:#80b0ff}.sheet-rolltemplate-swn-skill .sheet-title .sheet-italic{font-style:italic}.sheet-rolltemplate-swn-skill .sheet-title .inlinerollresult{font-size:1em;pointer-events:none}.sheet-rolltemplate-swn-skill .sheet-rollname{margin-right:auto}.sheet-rolltemplate-swn-save .sheet-container.sheet-success{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-green.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-save .sheet-container.sheet-success .sheet-name{color:#83db53}.sheet-rolltemplate-swn-save .sheet-container.sheet-failure{background:url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-top-red.png") top no-repeat,url("https://raw.githubusercontent.com/roll20/roll20-character-sheets/master/Stars_Without_Number_Revised/Assets/rt-bottom.png") bottom no-repeat,#0f0f0f}.sheet-rolltemplate-swn-save .sheet-container.sheet-failure .sheet-name{color:#ff8080}.sheet-rolltemplate-swn-save .sheet-vs{margin:0 10px}.sheet-rolltemplate-swn-save .sheet-rollname{margin-right:auto} diff --git a/Stars_Without_Number_Revised/Stars_Without_Number_Revised.html b/Stars_Without_Number_Revised/Stars_Without_Number_Revised.html index 608844c23b6..b3a784a503c 100644 --- a/Stars_Without_Number_Revised/Stars_Without_Number_Revised.html +++ b/Stars_Without_Number_Revised/Stars_Without_Number_Revised.html @@ -1,12 +1,8 @@ -

API

Play as an AI, with mechanical Shells and advanced Processing and Routines. Rules for this are in the Deluxe Edition.

Run a Transhuman campaign with body-swapping. Rules for this are in the Deluxe edition.

/
++
=/
System Strain / Max
/
Mod

/
/

(, ).  / 
/

API

Play as an AI, with mechanical Shells and advanced Processing and Routines. Rules for this are in the Deluxe Edition.

Run a Transhuman campaign with body-swapping. Rules for this are in the Deluxe edition.

/
++
=/
System Strain / Max
/
Mod

/
/

(, ).  / 
/

:
:
-

+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +

+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +

:

+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +

:
:
-

Processing Nodes

AI Routines

/
/
#

:

/
Fuel
/
Life Support
//
Crew Min/Current/Max
/
/
Free Power
/
Free Mass
/
Free Hardpoints

:(;; ;  ,  ,  ).  / 
/

:( ,  ).

:( ,  ).

/

: ( )

/
( ).  / 
/
( ).  / 
/
( ).  / 
/
+ @{shell_affinity}"/>

:
:
-

+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +

+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +

:

+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +

:
:
-

Processing Nodes

AI Routines

/
/
#

:

/
Fuel
/
Life Support
//
Crew Min/Current/Max
/
/
Free Power
/
Free Mass
/
Free Hardpoints

:(;; ;  ,  ,  ).  / 
/

:( ,  ).

:( ,  ).

/

: ( )

/
( ).  / 
/
( ).  / 
/
( ).  / 
/
{{charname}}
{{title}}
{{#reaction}}
{{#rollLess() reaction 3}} {{/rollLess() reaction 3}}{{#rollBetween() reaction 3 5}} {{/rollBetween() reaction 3 5}}{{#rollBetween() reaction 6 8}} {{/rollBetween() reaction 6 8}}{{#rollBetween() reaction 9 11}} {{/rollBetween() reaction 9 11}}{{#rollGreater() reaction 11}} {{/rollGreater() reaction 11}}
{{reaction}}
{{/reaction}} {{#info}}
{{info}}
{{/info}} {{#rollGreater() damage 0}}
{{damage}}
{{/rollGreater() damage 0}} {{#allprops() charname title damage reaction desc info buttons}}
{{key}}
{{value}}
{{/allprops() charname title damage reaction desc info buttons}}
{{desc}}
{{buttons}}
{{charname}}
{{title}} {{#rollGreater() burst 0}}(){{/rollGreater() burst 0}} {{#rollLess() mod 0}}{{mod}}{{/rollLess() mod 0}}{{#rollGreater() mod 0}}+ {{mod}}{{/rollGreater() mod 0}}
{{attack}}
{{damage}}
{{#attack2}}
{{attack2}}
{{damage2}}
{{/attack2}}{{#attack3}}
{{attack3}}
{{damage3}}
{{/attack3}}{{#attack4}}
{{attack4}}
{{damage4}}
{{/attack4}} {{#attack5}}
{{attack5}}
{{damage5}}
{{/attack5}} {{#attack6}}
{{attack6}}
{{damage6}}
{{/attack6}} {{#attack7}}
{{attack7}}
{{damage7}}
{{/attack7}} {{#attack8}}
{{attack8}}
{{damage8}}
{{/attack8}} {{#shock}}
{{shock}}
{{/shock}}
{{#range}} {{range}}{{/range}}{{#ammo}} {{ammo}}{{/ammo}}
{{desc}}
{{charname}}
{{title}} {{attribute}} {{#rollLess() mod 0}}{{mod}}{{/rollLess() mod 0}}{{#rollGreater() mod 0}}+ {{mod}}{{/rollGreater() mod 0}}
{{dice}}
{{#save}} {{#^rollLess() dice save}}
{{charname}}
{{title}}
{{dice}}
{{save}}{{morale}}
{{/^rollLess() dice save}} {{#rollLess() dice save}}
{{charname}}
{{title}}
{{dice}}
{{save}}{{morale}}
{{/rollLess() dice save}} {{/save}} {{#morale}} {{#^rollGreater() dice morale}}
{{charname}}
{{title}}
{{dice}}
{{save}}{{morale}}
{{/^rollGreater() dice morale}} {{#rollGreater() dice morale}}
{{charname}}
{{title}}
{{dice}}
{{save}}{{morale}}
{{/rollGreater() dice morale}} {{/morale}}
- - - - + "use strict";var _a,_b,__spreadArray=this&&this.__spreadArray||function(e,a,n){if(n||2===arguments.length)for(var t,r=0,_=a.length;r<_;r++)!t&&r in a||(t||(t=Array.prototype.slice.call(a,0,r)),t[r]=a[r]);return e.concat(t||Array.prototype.slice.call(a))},__assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var a,n=1,t=arguments.length;n=0?"+".concat(a):"".concat(a)},sum=function(e){return e.reduce(function(e,a){return e+(parseInt(a)||0)},0)},buildLink=function(e,a,n){return"[".concat(e).concat(n?"":",","](~").concat(a,")")},mySetAttrs=function(e,a,n,t){Object.keys(e).forEach(function(n){"".concat(a[n])==="".concat(e[n])&&delete e[n]}),setAttrs(e,n,t)},fillAdventurerClassStats=function(e){var a=autofillData.classes,n=a.partialPsychic,t=a.partialWarrior,r={class_ability:""},_=function(a,n){e.includes(a)&&(r=__assign(__assign({},n),{class_ability:"".concat(r.class_ability).concat(n.class_ability,"\n")}))};return _("expert",a.partialExpert),_("psychic",n),_("warrior",t),r},fillClassStats=function(){getAttrs(["class","class_ability","attack_bonus"],function(e){var a=e.class&&reverseClasses[e.class?e.class.toLowerCase():""];if(a){var n={};a.startsWith("adventurer")?n=fillAdventurerClassStats(a):autofillData.classes.hasOwnProperty(a)&&(n=Object.assign({},autofillData.classes[a])),Object.keys(n).forEach(function(a){["","0"].includes("".concat(e[a]))||delete n[a]}),mySetAttrs(n,e)}})},getShipMultiplier=function(e){return"frigate"===(e||"").toLowerCase()?2:"cruiser"===(e||"").toLowerCase()?3:"capital"===(e||"").toLowerCase()?4:1},getShipPriceMultiplier=function(e){return"frigate"===(e||"").toLowerCase()?10:"cruiser"===(e||"").toLowerCase()?25:"capital"===(e||"").toLowerCase()?100:1},getAutofillData=function(e){var a=e.sName,n=e.v,t=e.data,r=e.label,_=Object.assign({},t);return"ship-defenses"===a&&(r&&(_.defense_name=translate(r.toUpperCase())?translate(r.toUpperCase()):"false"),_.defense_mass.includes("#")&&(_.defense_mass="".concat(parseInt(_.defense_mass)*n.ship_multiplier)),_.defense_price.includes("*")&&(_.defense_price="".concat(parseInt(_.defense_price)*n.ship_price_multiplier))),"ship-fittings"===a&&(r&&(_.fitting_name=translate(r.toUpperCase()),_.fitting_effect=translate("".concat(r.toUpperCase(),"_DESC"))),_.fitting_mass.includes("#")&&(_.fitting_mass="".concat(Math.round(parseFloat(_.fitting_mass)*n.ship_multiplier))),_.fitting_power.includes("#")&&(_.fitting_power="".concat(parseInt(_.fitting_power)*n.ship_multiplier)),_.fitting_price.includes("*")&&(_.fitting_price="".concat(parseInt(_.fitting_price)*n.ship_price_multiplier))),"ship-weapons"===a&&(r&&(_.weapon_name=translate(r.toUpperCase())),_.weapon_ammo&&(_.weapon_ammo_max=_.weapon_ammo,_.weapon_use_ammo="{{ammo=[[@{weapon_ammo} - 1]] / @{weapon_ammo_max}}}")),"weapons"===a&&(r&&(_.weapon_name=translate(r.toUpperCase()),_.weapon_description=translate("".concat(r.toUpperCase(),"_DESC"))),_.weapon_ammo&&(_.weapon_ammo_max=_.weapon_ammo,_.weapon_use_ammo="{{ammo=[[0@{weapon_ammo} - (1 @{weapon_burst})]] / @{weapon_ammo|max}}}"),_.weapon_shock_damage&&(_.weapon_shock="{{shock=[[@{weapon_shock_damage} + @{weapon_attribute_mod}[Attribute] + @{weapon_skill_to_damage}[Skill]]] ^{SHOCK_DAMAGE_AGAINST_AC_LEQ} @{weapon_shock_ac}!}}"),_.weapon_burst&&(_.weapon_burst="@{burst_query}"),_.weapon_attribute_mod||(_.weapon_attribute_mod="@{dexterity_mod}")),"armor"===a&&r&&(_.armor_name=translate(r.toUpperCase()),_.armor_description=translate("".concat(r.toUpperCase(),"_DESC"))||""),"cyberware"===a&&r&&(_.cyberware_name=translate(r.toUpperCase()),_.cyberware_description=translate("".concat(r.toUpperCase(),"_DESC"))),"foci"===a&&r&&(_.focus_name=translate(r.toUpperCase()),_.focus_level="1",_.focus_description=translate("".concat(r.toUpperCase(),"_DESC"))),"techniques"===a&&r&&(_.technique_name=translate(r.toUpperCase()),_.technique_description=translate("".concat(r.toUpperCase(),"_DESC"))),"gear"===a&&(r&&(_.gear_name=translate(r.toUpperCase()),_.gear_description=translate("".concat(r.toUpperCase(),"_DESC"))),"1#"===_.gear_encumbrance&&(_.gear_encumbrance="1",_.gear_bundled="on")),_},getAutofillInfo=function(e){var a,n=e.sName,t=e.v,r=e.data,_=e.label,c=getAutofillData({sName:n,v:t,data:r,label:_}),i=new Intl.NumberFormat;if("ship-defenses"===n)return"".concat(translate(c.class),"+. ").concat(translate("POWER_INIT"),": ").concat(c.defense_power,", ").concat(translate("MASS_INIT"),": ").concat(c.defense_mass,", ").concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.defense_price)?i.format(r.defense_price):r.defense_price,". ").concat(c.defense_effect);if("ship-fittings"===n)return"".concat(translate(c.class),"+. ").concat(translate("POWER_INIT"),": ").concat(c.fitting_power,", ").concat(translate("MASS_INIT"),": ").concat(c.fitting_mass,", ").concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.fitting_price)?i.format(r.fitting_price):r.fitting_price,". ").concat(c.fitting_effect);if("ship-weapons"===n)return"".concat(translate(c.class),"+. ").concat(translate("POWER_INIT"),": ").concat(c.weapon_power,", ").concat(translate("MASS_INIT"),": ").concat(c.weapon_mass,", ").concat(translate("HARDPOINTS_INIT"),": ").concat(c.weapon_hardpoints,", ").concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.weapon_price)?i.format(r.weapon_price):r.weapon_price,". ").concat(translate("DAMAGE_SHORT")," ").concat(c.weapon_damage,". ").concat(c.weapon_qualities).concat(c.weapon_ammo?", ".concat(translate("AMMO"),": ").concat(c.weapon_ammo):"",".");if("weapons"===n){return"".concat(translate("DAMAGE_SHORT")," ").concat(c.weapon_damage).concat(c.weapon_burst?" (".concat(translate("BURST"),")"):"").concat(c.weapon_ab?", ".concat(translate("ATTACK_BONUS_SHORT")," +").concat(c.weapon_ab):"").concat(c.weapon_range?", ".concat(translate("RANGE")," ").concat(c.weapon_range):"").concat(c.weapon_ammo?", ".concat(translate("AMMO")," ").concat(c.weapon_ammo):"").concat(c.weapon_shock?", ".concat(c.weapon_shock_damage," ").concat(translate("SHOCK_DAMAGE_AGAINST_AC_LEQ")," ").concat(c.weapon_shock_ac):"",", +").concat((a=c.weapon_attribute_mod,"@{dexterity_mod}"===a?translate("DEXTERITY_SHORT"):"@{strength_mod}"===a?translate("STRENGTH_SHORT"):"@{str_dex_mod}"===a?translate("STR_DEX"):void 0)).concat(c.weapon_encumbrance?", ".concat(translate("ENCUMBRANCE_SHORT")," ").concat(c.weapon_encumbrance):"").concat(c.weapon_price?", ".concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.weapon_price)?i.format(r.weapon_price):r.weapon_price):"",".")}return"armor"===n?"".concat(translate("AC")," ").concat(c.armor_ac,", ").concat(translate(c.armor_type),", ").concat(translate("ENCUMBRANCE_SHORT")," ").concat(c.armor_encumbrance,", ").concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.armor_price)?i.format(r.armor_price):r.armor_price,"."):"cyberware"===n?"".concat(translate("STRAIN"),": ").concat(c.cyberware_strain,", ").concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.cyberware_price)?i.format(r.cyberware_price):r.cyberware_price,"."):"techniques"===n?"0"===c.level?"".concat(translate("CORE_TECHNIQUE"),"."):"".concat(translate("LEVEL"),"-").concat(c.level,"."):"gear"===n?"".concat(translate("ENCUMBRANCE_SHORT")," ").concat(c.gear_encumbrance).concat("on"===c.gear_bundled?"#":"").concat(c.gear_price?", ".concat(translate("CREDITS"),": ").concat("NaN"!==i.format(c.gear_price)?i.format(r.gear_price):r.gear_price):"","."):""},generateAutofillRow=function(e){getAttrs(["generate_".concat(e,"_source"),"ship_class"],function(a){var n=a["generate_".concat(e,"_source")];if(a.ship_multiplier=getShipMultiplier(a.ship_class).toString(),a.ship_price_multiplier=getShipPriceMultiplier(a.ship_class).toString(),n&&autofillData[e].hasOwnProperty(n)){var t=getAutofillData({sName:e,v:a,data:autofillData[e][n],label:n});delete t.class,delete t.level,fillRepeatingSectionFromData(e,t)}})},generateAutofillInfo=function(e){getAttrs(["generate_".concat(e,"_source"),"ship_class"],function(a){var n,t,r=a["generate_".concat(e,"_source")];if(a.ship_multiplier=getShipMultiplier(a.ship_class).toString(),a.ship_price_multiplier=getShipPriceMultiplier(a.ship_class).toString(),r&&autofillData[e].hasOwnProperty(r)){var _=getAutofillInfo({sName:e,v:a,data:autofillData[e][r],label:r});_&&setAttrs(((n={})["generate_".concat(e,"_info")]=_,n))}else setAttrs(((t={})["generate_".concat(e,"_info")]=" ",t))})},fillRepeatingSectionFromData=function(e,a,n){n=n||function(){};var t=[],r=(Array.isArray(a)?a:[a]).map(function(a){var n=function(){for(;;){var e=generateRowID();if(!t.includes(e))return t.push(e),e}}();return Object.entries(a).reduce(function(a,t){var r=t[0],_=t[1];return a["repeating_".concat(e,"_").concat(n,"_").concat(r)]="".concat(_),a},{})}).reduce(function(e,a){return Object.assign(e,a)},{});setAttrs(r,{},n)},calculateSaves=function(){getAttrs(__spreadArray(__spreadArray([],attributes.map(function(e){return"".concat(e,"_mod")}),!0),["level","homebrew_luck_save","save_physical","save_mental","save_evasion","save_luck"],!1),function(e){var a=16-(parseInt(e.level)||1),n={save_physical:a-(Math.max(parseInt(e.strength_mod),parseInt(e.constitution_mod))||0),save_mental:a-(Math.max(parseInt(e.charisma_mod),parseInt(e.wisdom_mod))||0),save_evasion:a-(Math.max(parseInt(e.intelligence_mod),parseInt(e.dexterity_mod))||0)};"1"===e.homebrew_luck_save&&(n.save_luck=a),mySetAttrs(n,e)})},calculateEffort=function(){getSectionIDs("repeating_psychic-skills",function(e){getAttrs(__spreadArray(__spreadArray(__spreadArray([],effortAttributes,!0),["psionics_total_effort"],!1),e.map(function(e){return"repeating_psychic-skills_".concat(e,"_skill")}),!0),function(a){var n=Math.max(parseInt(a.wisdom_mod),parseInt(a.constitution_mod))||0,t=Math.max.apply(Math,__spreadArray(__spreadArray([],skills.psionic.map(function(e){return parseInt(a["skill_".concat(e)])||0}),!1),e.map(function(e){return parseInt(a["repeating_psychic-skills_".concat(e,"_skill")])||0}),!1)),r=Math.max(1+n+t,1)+parseInt(a.psionics_extra_effort)-parseInt(a.psionics_committed_effort_current)-parseInt(a.psionics_committed_effort_scene)-parseInt(a.psionics_committed_effort_day)||0;mySetAttrs({psionics_total_effort:r},a)})})},calculateMagicEffort=function(){getAttrs(["magic_total_effort","magic_committed_effort_current","magic_committed_effort_scene","magic_committed_effort_day","magic_uncommitted_effort"],function(e){var a=parseInt(e.magic_total_effort)-(parseInt(e.magic_committed_effort_current)+parseInt(e.magic_committed_effort_scene)+parseInt(e.magic_committed_effort_day))||0;mySetAttrs({magic_uncommitted_effort:a},e)})},calculateProcessing=function(){getSectionIDs("repeating_processing-nodes",function(e){var a=__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_processing-nodes_".concat(e,"_node_value")}),!0),e.map(function(e){return"repeating_processing-nodes_".concat(e,"_node_connected")}),!0),["wisdom_mod","intelligence_mod","ai_extra_processing","ai_committed_processing_current","ai_committed_processing_scene","ai_committed_processing_day","ai_total_processing"],!1);getAttrs(a,function(a){var n=(1+Math.max(parseInt(a.wisdom_mod),parseInt(a.intelligence_mod))||0)+Math.max.apply(Math,__spreadArray(__spreadArray([],e.filter(function(e){return"1"===a["repeating_processing-nodes_".concat(e,"_node_connected")]}).map(function(e){return parseInt(a["repeating_processing-nodes_".concat(e,"_node_value")])||0}),!1),[0],!1))+parseInt(a.ai_extra_processing)-parseInt(a.ai_committed_processing_current)-parseInt(a.ai_committed_processing_scene)-parseInt(a.ai_committed_processing_day)||0;mySetAttrs({ai_total_processing:n},a)})})},calculateAC=function(){getSectionIDs("repeating_armor",function(e){var a=__spreadArray(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_armor_".concat(e,"_armor_ac")}),!0),e.map(function(e){return"repeating_armor_".concat(e,"_armor_active")}),!0),e.map(function(e){return"repeating_armor_".concat(e,"_armor_type")}),!0),["npc","AC","innate_ac","dexterity_mod"],!1);getAttrs(a,function(a){if("1"!==a.npc){var n=Math.max.apply(Math,__spreadArray([parseInt(a.innate_ac)||0],e.filter(function(e){return"1"===a["repeating_armor_".concat(e,"_armor_active")]}).filter(function(e){return"SHIELD"!==a["repeating_armor_".concat(e,"_armor_type")]}).map(function(e){return parseInt(a["repeating_armor_".concat(e,"_armor_ac")])||0}),!1)),t=Math.max.apply(Math,__spreadArray([0],e.filter(function(e){return"1"===a["repeating_armor_".concat(e,"_armor_active")]}).filter(function(e){return"SHIELD"===a["repeating_armor_".concat(e,"_armor_type")]}).map(function(e){return parseInt(a["repeating_armor_".concat(e,"_armor_ac")])||0}),!1)),r=(t>0?t<=n?n+1:t:n)+(parseInt(a.dexterity_mod)||0);mySetAttrs({AC:r},a)}})})},calculateMaxStrain=function(){getAttrs(["constitution","strain_max"],function(e){mySetAttrs({strain_max:parseInt(e.constitution)||0},e)})},calculatePermanentStrain=function(){getAttrs(["cyberware_strain_total","strain_permanent_extra","strain_permanent"],function(e){var a=parseInt(e.cyberware_strain_total)+parseInt(e.strain_permanent_extra)||0;mySetAttrs({strain_permanent:a},e)})},calculateCyberwareStrain=function(){getSectionIDs("repeating_cyberware",function(e){var a=__spreadArray(__spreadArray([],e.map(function(e){return"repeating_cyberware_".concat(e,"_cyberware_strain")}),!0),["cyberware_strain_total"],!1);getAttrs(a,function(a){var n=e.reduce(function(e,n){return e+=parseInt(a["repeating_cyberware_".concat(n,"_cyberware_strain")])||0},0);mySetAttrs({cyberware_strain_total:n},a)})})},calculateStrain=function(){getAttrs(["strain_permanent","strain_extra","strain","strain_max","strain_above_max"],function(e){var a=(parseInt(e.strain_permanent)||0)+(parseInt(e.strain_extra)||0),n=a>parseInt(e.strain_max)?1:0;mySetAttrs({strain:a,strain_above_max:n},e)})},calculateAttr=function(e){getAttrs([e,"".concat(e,"_base"),"".concat(e,"_boosts")],function(a){var n,t=((n={})["".concat(e)]="".concat((parseInt(a["".concat(e,"_base")])||10)+(parseInt(a["".concat(e,"_boosts")])||0)),n);mySetAttrs(t,a,null,function(){calculateMod(e)})})},calculateMod=function(e){getAttrs([e,"".concat(e,"_bonus"),"".concat(e,"_mod")],function(a){var n,t,r=(t=parseInt(a[e])||10)>=18?2:t>=14?1:t>=8?0:t>=4?-1:-2,_=((n={})["".concat(e,"_mod")]="".concat(r+(parseInt(a["".concat(e,"_bonus")])||0)),n);mySetAttrs(_,a,null,function(){calculateSaves(),generateWeaponDisplay(),calculateStrDexMod(),"dexterity"===e&&calculateAC()})})},calculateStrDexMod=function(){getAttrs(["str_dex_mod","strength_mod","dexterity_mod"],function(e){var a=Math.max(parseInt(e.strength_mod)||0,parseInt(e.dexterity_mod)||0);mySetAttrs({str_dex_mod:a},e)})},calculateShellAttrs=function(){var e=["strength","dexterity","constitution"];getSectionIDs("repeating_shells",function(a){var n=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],a.map(function(e){return"repeating_shells_".concat(e,"_shell_active")}),!0),a.map(function(e){return"repeating_shells_".concat(e,"_shell_strength")}),!0),a.map(function(e){return"repeating_shells_".concat(e,"_shell_dexterity")}),!0),a.map(function(e){return"repeating_shells_".concat(e,"_shell_constitution")}),!0),e,!0),["setting_transhuman_enable","setting_ai_enable"],!1);getAttrs(n,function(n){if("transhuman"===n.setting_transhuman_enable||"ai"===n.setting_ai_enable){var t={};e.forEach(function(e){return t[e]=a.filter(function(e){return"1"===n["repeating_shells_".concat(e,"_shell_active")]}).map(function(a){return n["repeating_shells_".concat(a,"_shell_").concat(e)]})[0]||"None"}),mySetAttrs(t,n,null,function(){e.filter(function(e){return"None"!==t[e]}).forEach(function(e){return calculateMod(e)})})}else e.forEach(function(e){return calculateAttr(e)})})})},calculateNextLevelXP=function(){var e=[0,3,6,12,18,27,39,54,72,93];getAttrs(["level","setting_xp_scheme"],function(a){var n=parseInt(a.level);"xp"===a.setting_xp_scheme?n<10?setAttrs({xp_next:e[n]}):setAttrs({xp_next:93+24*(n-9)}):"money"===a.setting_xp_scheme&&setAttrs({xp_next:2*n*2500})})},calculateGearReadiedStowed=function(){getSectionIDs("repeating_gear",function(e){getSectionIDs("repeating_weapons",function(a){getSectionIDs("repeating_armor",function(n){return function(e,a,n){var t=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_gear_".concat(e,"_gear_amount")}),!0),e.map(function(e){return"repeating_gear_".concat(e,"_gear_encumbrance")}),!0),e.map(function(e){return"repeating_gear_".concat(e,"_gear_status")}),!0),e.map(function(e){return"repeating_gear_".concat(e,"_gear_bundled")}),!0),n.map(function(e){return"repeating_armor_".concat(e,"_armor_encumbrance")}),!0),n.map(function(e){return"repeating_armor_".concat(e,"_armor_encumbrance_bonus")}),!0),n.map(function(e){return"repeating_armor_".concat(e,"_armor_status")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_weapon_encumbrance")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_weapon_status")}),!0),["gear_readied","gear_stowed","strength","gear_readied_max","gear_readied_over","gear_stowed_over","gear_stowed_max"],!1);getAttrs(t,function(t){var r=n.reduce(function(e,a){return"READIED"===t["repeating_armor_".concat(a,"_armor_status")]?e[0]+=parseInt(t["repeating_armor_".concat(a,"_armor_encumbrance")])||0:"STOWED"===t["repeating_armor_".concat(a,"_armor_status")]&&(e[1]+=parseInt(t["repeating_armor_".concat(a,"_armor_encumbrance")])||0),e},a.reduce(function(e,a){return"READIED"===t["repeating_weapons_".concat(a,"_weapon_status")]?e[0]+=parseInt(t["repeating_weapons_".concat(a,"_weapon_encumbrance")])||0:"STOWED"===t["repeating_weapons_".concat(a,"_weapon_status")]&&(e[1]+=parseInt(t["repeating_weapons_".concat(a,"_weapon_encumbrance")])||0),e},e.reduce(function(e,a){var n=parseInt(t["repeating_gear_".concat(a,"_gear_amount")])||0,r=1;return"on"===t["repeating_gear_".concat(a,"_gear_bundled")]&&(r=3),"READIED"===t["repeating_gear_".concat(a,"_gear_status")]?e[0]+=Math.ceil(n*parseFloat(t["repeating_gear_".concat(a,"_gear_encumbrance")])/r)||0:"STOWED"===t["repeating_gear_".concat(a,"_gear_status")]&&(e[1]+=Math.ceil(n*parseFloat(t["repeating_gear_".concat(a,"_gear_encumbrance")])/r)||0),e},[0,0]))),_=r[0],c=r[1],i=Math.max.apply(Math,__spreadArray([0],n.filter(function(e){return"READIED"===t["repeating_armor_".concat(e,"_armor_status")]}).map(function(e){return parseInt(t["repeating_armor_".concat(e,"_armor_encumbrance_bonus")])||0}),!1)),s=parseInt(t.strength)+i||0,o=Math.floor(s/2),p={gear_readied:_,gear_stowed:c,gear_readied_max:o,gear_stowed_max:s,gear_readied_over:parseInt(t.gear_readied)>o?"1":"0",gear_stowed_over:parseInt(t.gear_stowed)>s?"1":"0"};mySetAttrs(p,t,{silent:!0})})}(e,a,n)})})})},generateWeaponDisplay=function(){getSectionIDs("repeating_weapons",function(e){var a=e.map(function(e){return"repeating_weapons_".concat(e)}),n=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],a.map(function(e){return"".concat(e,"_weapon_attack")}),!0),a.map(function(e){return"".concat(e,"_weapon_name")}),!0),a.map(function(e){return"".concat(e,"_weapon_skill_bonus")}),!0),a.map(function(e){return"".concat(e,"_weapon_attribute_mod")}),!0),a.map(function(e){return"".concat(e,"_weapon_damage")}),!0),a.map(function(e){return"".concat(e,"_weapon_shock")}),!0),a.map(function(e){return"".concat(e,"_weapon_shock_damage")}),!0),a.map(function(e){return"".concat(e,"_weapon_shock_ac")}),!0),a.map(function(e){return"".concat(e,"_weapon_skill_to_damage")}),!0),a.map(function(e){return"".concat(e,"_weapon_attack_display")}),!0),a.map(function(e){return"".concat(e,"_weapon_damage_display")}),!0),attributes.map(function(e){return"".concat(e,"_mod")}),!0),weaponSkills,!0),["attack_bonus","str_dex_mod","macro_weapons"],!1);getAttrs(n,function(e){var n={},t=parseInt(e.attack_bonus)||0;a.forEach(function(a){var r=parseInt(e[(e["".concat(a,"_weapon_attribute_mod")]||"").slice(2,-1)])||0,_=parseInt(e[(e["".concat(a,"_weapon_skill_bonus")]||"").slice(2,-1)])||parseInt(e["".concat(a,"_weapon_skill_bonus")])||0,c=r+("@{weapon_skill_bonus}"===e["".concat(a,"_weapon_skill_to_damage")]?_:0),i="0"===e["".concat(a,"_weapon_damage")]?"":e["".concat(a,"_weapon_damage")],s="0"!==e["".concat(a,"_weapon_shock")]?", ".concat((parseInt(e["".concat(a,"_weapon_shock_damage")])||0)+c," ").concat(translate("SHOCK").toString().toLowerCase()).concat(e["".concat(a,"_weapon_shock_ac")]?" ".concat(translate("VS_AC_LEQ")," ").concat(e["".concat(a,"_weapon_shock_ac")]):""):"",o=t+(parseInt(e["".concat(a,"_weapon_attack")])||0)+(-1===_?-2:_)+r,p=i+(i?0===c?"":c>0?" + ".concat(c):" - ".concat(-c):c);n["".concat(a,"_weapon_attack_display")]=o>=0?"+".concat(o):o.toString(),n["".concat(a,"_weapon_damage_display")]="".concat(p||0," ").concat(translate("DAMAGE").toString().toLowerCase()).concat(s)}),n.macro_weapons=a.map(function(t,r){var _="".concat(e["".concat(t,"_weapon_name")]," (").concat(n["".concat(t,"_weapon_attack_display")],")");return buildLink(_,"".concat(t,"_attack"),r===a.length-1)}).join(" "),mySetAttrs(n,e,{silent:!0})})})},handleAmmoAPI=function(e){var a="weapons"===e?"[[-1 - @{weapon_burst}]]":"-1";getSectionIDs("repeating_".concat(e),function(n){getAttrs(__spreadArray(__spreadArray(["setting_use_ammo"],n.map(function(a){return"repeating_".concat(e,"_").concat(a,"_weapon_use_ammo")}),!0),n.map(function(a){return"repeating_".concat(e,"_").concat(a,"_weapon_api")}),!0),function(t){var r=n.reduce(function(n,r){return n["repeating_".concat(e,"_").concat(r,"_weapon_api")]="1"===t.setting_use_ammo&&"0"!==t["repeating_".concat(e,"_").concat(r,"_weapon_use_ammo")]?"\n!modattr --mute --charid @{character_id} --repeating_".concat(e,"_").concat(r,"_weapon_ammo|").concat(a):"",n},{});mySetAttrs(r,t,{silent:!0})})})},fillDroneStats=function(){getAttrs(["repeating_drones_drone_model"],function(e){var a=(e.repeating_drones_drone_model||"").toLowerCase().trim().replace(/ /g,"_");if(autofillData.drones.hasOwnProperty(a)){var n=Object.entries(autofillData.drones[a]).reduce(function(e,a){var n=a[0],t=a[1];return"string"==typeof t&&(e["repeating_drones_".concat(n)]=t),e},{});n.repeating_drones_drone_HP_max=n.repeating_drones_drone_HP,setAttrs(n)}})},fillDroneFitting=function(e){var a="repeating_drones_drone_fitting_".concat(e);getAttrs(["".concat(a,"_desc"),"".concat(a,"_name")],function(e){var n,t=(e["".concat(a,"_name")]||"").toLowerCase().trim().replace(/ /g,"_");""===e["".concat(a,"_desc")]&&autofillData.droneFittings.includes(t)&&setAttrs(((n={})["".concat(a,"_desc")]=translate("".concat(t.toUpperCase(),"_DESC")),n))})},calculateDroneAttack=function(e,a){var n=e.reduce(function(e,a){return e.concat(["".concat(a,"_drone_weapon1_ab"),"".concat(a,"_drone_weapon1_active"),"".concat(a,"_drone_weapon1_attack"),"".concat(a,"_drone_weapon1_skill"),"".concat(a,"_drone_weapon2_ab"),"".concat(a,"_drone_weapon2_active"),"".concat(a,"_drone_weapon2_attack"),"".concat(a,"_drone_weapon2_skill"),"".concat(a,"_drone_weapon3_ab"),"".concat(a,"_drone_weapon3_active"),"".concat(a,"_drone_weapon3_attack"),"".concat(a,"_drone_weapon3_skill")])},["attack_bonus","intelligence_mod","skill_pilot","skill_program","npc","npc_attack_bonus"]);getAttrs(n,function(n){var t,r,_;"1"!==n.npc?(t=Math.max(parseInt(n.skill_pilot),parseInt(n.skill_program))||0,r=parseInt(n.intelligence_mod)||0,_=parseInt(n.attack_bonus)||0):(t=0,r=0,_=parseInt(n.npc_attack_bonus)||0);var c=e.reduce(function(e,a){return[1,2,3].filter(function(e){return"1"===n["".concat(a,"_drone_weapon").concat(e,"_active")]}).forEach(function(c){e["".concat(a,"_drone_weapon").concat(c,"_attack")]=(r+_+(-1===t?-2:t)+parseInt(n["".concat(a,"_drone_weapon").concat(c,"_ab")])||0).toString(),e["".concat(a,"_drone_weapon").concat(c,"_skill")]=(-1===t?-2:t).toString()}),e},{});mySetAttrs(c,n,null,a)})},handleUpgrade=function(){getAttrs(["character_sheet"],function(e){e.character_sheet&&0===e.character_sheet.indexOf(sheetName)?e.character_sheet.slice(32)!==sheetVersion&&upgradeSheet(e.character_sheet.slice(32),!0):upgradeFrom162()})},upgradeSheet=function(e,a,n){void 0===a&&(a=!1),void 0===n&&(n=!1);var t=function(e){var a=e.split(".").map(function(e){return parseInt(e)}),n=a[0],t=a[1],r=a[2];if(console.log("Upgrading from version ".concat(e,".")),2===n&&t<1){var c=_.after(4,function(){buildShipWeaponsMenu(),buildAttacksMenu(),buildMagicMenu(),generateWeaponDisplay(),attributes.forEach(calculateMod),upgradeSheet("2.1.0")});getSectionIDs("repeating_weapons",function(e){var a=__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_weapons_".concat(e,"_weapon_burst")}),!0),e.map(function(e){return"repeating_weapons_".concat(e,"_weapon_shock_damage")}),!0),e.map(function(e){return"repeating_weapons_".concat(e,"_weapon_ammo")}),!0);getAttrs(a,function(a){var n=e.reduce(function(e,n){return"0"===a["repeating_weapons_".concat(n,"_weapon_burst")]?e["repeating_weapons_".concat(n,"_weapon_burst")]="":"2"===a["repeating_weapons_".concat(n,"_weapon_burst")]&&(e["repeating_weapons_".concat(n,"_weapon_burst")]="+ 2[Burst]"),"0"!==a["repeating_weapons_".concat(n,"_weapon_shock_damage")]&&(e["repeating_weapons_".concat(n,"_weapon_shock")]="{{shock=[[@{weapon_shock_damage} + @{weapon_attribute_mod}[Attribute] + @{weapon_skill_to_damage}[Skill]]] ^{SHOCK_DAMAGE_AGAINST_AC_LEQ} @{weapon_shock_ac}!}}"),a["repeating_weapons_".concat(n,"_weapon_ammo")]&&"0"!==a["repeating_weapons_".concat(n,"_weapon_ammo")]&&(e["repeating_weapons_".concat(n,"_weapon_use_ammo")]="{{ammo=[[0@{weapon_ammo} - (1 @{weapon_burst})]] / @{weapon_ammo|max}}}"),e},{});setAttrs(n,{},function(){return c()})})}),getSectionIDs("repeating_ship-weapons",function(e){getAttrs(e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_ammo_max")}),function(a){var n=e.reduce(function(e,n){return a["repeating_ship-weapons_".concat(n,"_weapon_ammo_max")]&&"0"!==a["repeating_ship-weapons_".concat(n,"_weapon_ammo_max")]&&(e["repeating_ship-weapons_".concat(n,"_weapon_use_ammo")]="{{ammo=[[@{weapon_ammo} - 1]] / @{weapon_ammo_max}}}"),e},{});setAttrs(n,{},function(){return c()})})}),getSectionIDs("repeating_npc-attacks",function(e){getAttrs(e.map(function(e){return"repeating_npc-attacks_".concat(e,"_attack_burst")}),function(a){var n=e.reduce(function(e,n){return"0"===a["repeating_npc-attacks_".concat(n,"_attack_burst")]?e["repeating_npc-attacks_".concat(n,"_attack_burst")]="":"2"===a["repeating_npc-attacks_".concat(n,"_attack_burst")]&&(e["repeating_npc-attacks_".concat(n,"_attack_burst")]="+ 2[Burst]"),e},{});setAttrs(n,{},function(){return c()})})}),getSectionIDs("repeating_gear",function(e){getAttrs(e.map(function(e){return"repeating_gear_".concat(e,"_gear_status")}),function(a){var n=e.reduce(function(e,n){return e["repeating_gear_".concat(n,"_gear_status")]=(a["repeating_gear_".concat(n,"_gear_status")]||"").toUpperCase(),e},{});mySetAttrs(n,a,null,function(){return c()})})})}else if(2===n&&t<2){var i=_.after(2,function(){calculateStrDexMod(),calculateEffort(),buildPsionicsMenu(),buildSkillMenu(),upgradeSheet("2.2.0")});getAttrs(["armor_name","armor_ac","armor_encumbrance","armor_type","setting_ship_tab_name"],function(e){if(e.armor_ac){var a={armor_active:"1",armor_ac:e.armor_ac,armor_encumbrance:e.armor_encumbrance||"0",armor_name:e.armor_name||"",armor_status:"READIED",armor_type:(e.armor_type||"").toUpperCase()};fillRepeatingSectionFromData("armor",a,function(){return i()})}else i();"MECH"===e.setting_ship_tab_name&&setAttrs({ship_vehicle_type:"MECH"})}),getSectionIDs("repeating_skills",function(e){return getSectionIDs("repeating_magic-skills",function(a){getSectionIDs("repeating_psychic-skills",function(n){var t=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_skills_".concat(e,"_skill_query")}),!0),a.map(function(e){return"repeating_magic-skills_".concat(e,"_skill_query")}),!0),n.map(function(e){return"repeating_psychic-skills_".concat(e,"_skill_query")}),!0),skills.revised.map(function(e){return"skill_".concat(e,"_query")}),!0),skills.first.map(function(e){return"skill_".concat(e,"_query")}),!0),skills.psionic.map(function(e){return"skill_".concat(e,"_query")}),!0),["skill_magic_query","skill_magic2_query"],!1);getAttrs(t,function(e){var a=t.reduce(function(a,n){return"@{attribute_query_none}"===e[n]&&(a[n]="@{attribute_query}"),a},{});mySetAttrs(a,e,null,function(){return i()})})})})})}else if(2===n&&(t<3||3===t&&0===r)){var s=_.after(1,function(){upgradeSheet("2.3.1")});generateWeaponDisplay(),getSectionIDs("repeating_drones",function(e){calculateDroneAttack(e.map(function(e){return"repeating_drones_".concat(e)}),function(){return s()})})}else 2===n&&(t<4||4===t&&r<3)?(calculateCyberwareStrain(),upgradeSheet("2.4.3")):2===n&&4===t&&r<7?(attributes.forEach(function(e){getAttrs([e,"".concat(e,"_base")],function(a){var n;mySetAttrs(((n={})["".concat(e,"_base")]=parseInt(a["".concat(e)])||10,n),a,null,function(){calculateAttr(e)})})}),upgradeSheet("2.4.7")):2===n&&4===t&&r<12?(getSectionIDs("repeating_drones",function(e){calculateDroneAttack(e.map(function(e){return"repeating_drones_".concat(e)}))}),upgradeSheet("2.4.12")):2===n&&t<5?(buildMagicMenu(),upgradeSheet("2.5.3")):2===n&&t<6?getAttrs(["strain","strain_permanent","strain_extra","AC","HP","HP_max"],function(e){var a=(parseInt(e.strain)||0)-(parseInt(e.strain_permanent)||0);mySetAttrs({strain_extra:a,npc_ac:e.AC,npc_hd:e.HD,npc_hd_max:e.HP_max},e,null,function(){upgradeSheet("2.6.0")})}):2===n&&t<6?(generateWeaponDisplay(),upgradeSheet("2.6.3")):upgradeSheet(sheetVersion,!1,!0)};a?t(e):setAttrs({character_sheet:"".concat(sheetName," v").concat(e)},{},function(){n||t(e)})},upgradeFrom162=function(){console.log("Upgrading from versionless sheet (assumed to be fresh or v1.6.2).");var e=_.after(13,function(){upgradeSheet("2.0.1")});getAttrs([1,2,3,4,5,6,7,8].map(function(e){return"psionics_mastered_".concat(e)}),function(e){for(var a={},n=1;n<9;n++){var t=e["psionics_mastered_".concat(n)];if(t){var r=generateRowID();a["repeating_techniques_".concat(r,"_technique_name")]=t}}setAttrs(a)}),getAttrs([1,2,3,4].map(function(e){return"cyberware_".concat(e)}),function(e){for(var a={},n=1;n<5;n++){var t=e["cyberware_".concat(n)];if(t){var r=generateRowID();a["repeating_cyberware_".concat(r,"_cyberware_name")]=t}}setAttrs(a)}),getAttrs(["languages"],function(e){if(e.languages){var a={};e.languages.split(/\r?\n/).filter(function(e){return!!e}).forEach(function(e){var n=generateRowID();a["repeating_languages_".concat(n,"_language")]=e}),setAttrs(a)}});var a={armor_enc:"armor_encumbrance",cha:"charisma",cha_misc:"charisma_bonus",con:"constitution",con_misc:"constitution_bonus",dex:"dexterity",dex_misc:"dexterity_bonus",gender:"species_gender",hd:"npc_hd",int:"intelligence",int_misc:"intelligence_bonus",morale:"npc_morale",move:"npc_move",name:"npc_name",notes:"npc_notes",npc_ac:"AC",saves:"npc_saves",ship_hp_min:"ship_hp",ship_current_crew:"ship_crew",ship_last_maintenance_cost:"ship_last_maintenance",skills:"npc_skills",skill_biopsion:"skill_biopsionics",skill_metapsion:"skill_metapsionics",skill_points:"unspent_skill_points",str:"strength",strain_perm:"strain_permanent",str_misc:"strength_bonus",wis:"wisdom",wis_misc:"wisdom_bonus"},n=["homebrew_luck_save","homebrew_extra_skills","setting_heroic_enable"],t=__spreadArray(__spreadArray(["damage","homebrew_psionics_disable","npc_attacks","npc_attack_bonus","setting_space_magic_enable","ship_other_notes","ship_free_hardpoints","ship_free_mass","ship_free_power","skill_culture_alien_type","skill_culture_one_value","skill_culture_two_value","skill_culture_three_value","profession_type","tab"],[1,2,3,4].map(function(e){return"homebrew_custom_counter_".concat(e,"_name")}),!0),[1,2,3,4].map(function(e){return"homebrew_custom_counter_".concat(e,"_counter")}),!0);getAttrs(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],Object.keys(a),!0),Object.values(a),!0),n,!0),t,!0),function(t){var r=Object.entries(a).reduce(function(e,a){var n=a[0],r=a[1];return t[n]&&""!==t[n]&&"".concat(t[r])!=="".concat(t[n])&&(e[r]=t[n]),e},{});n.forEach(function(e){"on"===t[e]&&(r[e]="1")}),["one","two","three"].forEach(function(e){t["skill_culture_".concat(e,"_value")]&&(r["skill_culture_".concat(e,"_name")]="Culture/".concat(t["skill_culture_".concat(e,"_value")]))}),t.profession_type&&(r.skill_profession_name="Profession/".concat(t.profession_type)),t.skill_culture_alien_type&&(r.skill_culture_alien_name="Culture/Alien/".concat(t.skill_culture_alien_type)),(t.ship_free_hardpoints||t.ship_free_mass||t.ship_free_power)&&(r.ship_other_notes="\nLegacy attributes".concat(t.ship_free_power?"\nFree Power: ".concat(t.ship_free_power):"").concat(t.ship_free_mass?"\nFree Mass: ".concat(t.ship_free_mass):"").concat(t.ship_free_hardpoints?"\nFree Hardpoints: ".concat(t.ship_free_hardpoints):"","\n\t\t\t\t\t").concat(t.ship_other_notes||""));var _=[1,2,3,4].reduce(function(e,a){return t["homebrew_custom_counter_".concat(a,"_name")]&&e.push({resource_name:t["homebrew_custom_counter_".concat(a,"_name")],resource_count:t["homebrew_custom_counter_".concat(a,"_counter")]||0}),e},[]);if(fillRepeatingSectionFromData("resources",_,function(){return e()}),"1"!=="".concat(t.tab)&&"4"!=="".concat(t.tab)||(r.tab="character"),"2"==="".concat(t.tab)&&(r.tab="ship"),"3"==="".concat(t.tab)&&(r.tab="character",r.npc="1"),t.damage){var c={attack_damage:t.damage,attack_name:translate("ATTACK"),attack_number:t.npc_attacks||"1"};fillRepeatingSectionFromData("npc-attacks",c,function(){return e()})}else e();"on"===t.setting_space_magic_enable&&"on"!==t.homebrew_psionics_disable?r.setting_super_type="both":"on"===t.setting_space_magic_enable?r.setting_super_type="magic":"on"===t.homebrew_psionics_disable&&(r.setting_super_type="neither"),setAttrs(r,{},function(){return e()})}),getSectionIDs("repeating_weapons",function(a){var n=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],a.map(function(e){return"repeating_weapons_".concat(e,"_attribute_mod")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_add_skill")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_weapon_shock")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_name")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_power")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_ab")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_damage")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_ammo")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_special_effects")}),!0),a.map(function(e){return"repeating_weapons_".concat(e,"_ship_weapon_broken")}),!0);getAttrs(n,function(n){var t=a.reduce(function(e,a){switch("@{weapon_skill_bonus}"===n["repeating_weapons_".concat(a,"_add_skill")]&&(e["repeating_weapons_".concat(a,"_weapon_skill_to_damage")]="@{weapon_skill_bonus}"),n["repeating_weapons_".concat(a,"_weapon_shock")]&&(e["repeating_weapons_".concat(a,"_weapon_shock_damage")]=n["repeating_weapons_".concat(a,"_weapon_shock")]),n["repeating_weapons_".concat(a,"_attribute_mod")]){case"@{dex_bonus}":e["repeating_weapons_".concat(a,"_weapon_attribute_mod")]="@{dexterity_mod}";break;case"@{con_bonus}":e["repeating_weapons_".concat(a,"_weapon_attribute_mod")]="@{constitution_mod}";break;case"@{int_bonus}":e["repeating_weapons_".concat(a,"_weapon_attribute_mod")]="@{intelligence_mod}";break;case"@{wis_bonus}":e["repeating_weapons_".concat(a,"_weapon_attribute_mod")]="@{wisdom_mod}";break;case"@{cha_bonus}":e["repeating_weapons_".concat(a,"_weapon_attribute_mod")]="@{charisma_mod}";break;default:e["repeating_weapons_".concat(a,"_weapon_attribute_mod")]="@{strength_mod}"}return e},{}),r=a.filter(function(e){return n["repeating_weapons_".concat(e,"_ship_weapon_name")]}).map(function(e){var a={};return a.weapon_name=n["repeating_weapons_".concat(e,"_ship_weapon_name")],n["repeating_weapons_".concat(e,"_ship_weapon_power")]&&(a.weapon_power=n["repeating_weapons_".concat(e,"_ship_weapon_power")]),n["repeating_weapons_".concat(e,"_ship_weapon_ab")]&&(a.weapon_attack_bonus=n["repeating_weapons_".concat(e,"_ship_weapon_ab")]),n["repeating_weapons_".concat(e,"_ship_weapon_damage")]&&(a.weapon_damage=n["repeating_weapons_".concat(e,"_ship_weapon_damage")]),n["repeating_weapons_".concat(e,"_ship_weapon_ammo")]&&(a.weapon_ammo=n["repeating_weapons_".concat(e,"_ship_weapon_ammo")]),n["repeating_weapons_".concat(e,"_ship_weapon_special_effects")]&&(a.weapon_qualities=n["repeating_weapons_".concat(e,"_ship_weapon_special_effects")]),"on"===n["repeating_weapons_".concat(e,"_ship_weapon_broken")]&&(a.weapon_broken="1"),a});fillRepeatingSectionFromData("ship-weapons",r,function(){return e()}),setAttrs(t,null,function(){return e()})})}),getSectionIDs("repeating_skills",function(a){var n=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],a.map(function(e){return"repeating_skills_".concat(e,"_custom_skill_1_name")}),!0),a.map(function(e){return"repeating_skills_".concat(e,"_custom_skill_2_name")}),!0),a.map(function(e){return"repeating_skills_".concat(e,"_custom_skill_1_level")}),!0),a.map(function(e){return"repeating_skills_".concat(e,"_custom_skill_2_level")}),!0),a.map(function(e){return"repeating_skills_".concat(e,"_custom_skill_1_specialist")}),!0),a.map(function(e){return"repeating_skills_".concat(e,"_custom_skill_2_specialist")}),!0);getAttrs(n,function(n){var t=a.reduce(function(e,a){return[1,2].forEach(function(t){if(n["repeating_skills_".concat(a,"_custom_skill_").concat(t,"_name")]){var r=void 0===n["repeating_skills_".concat(a,"_custom_skill_").concat(t,"_level")]?"-1":n["repeating_skills_".concat(a,"_custom_skill_").concat(t,"_level")];e.push({skill_name:n["repeating_skills_".concat(a,"_custom_skill_").concat(t,"_name")],skill:r,skill_specialist:n["repeating_skills_".concat(a,"_custom_skill_").concat(t,"_specialist")]||"2d6"})}}),e},[]);a.forEach(function(e){return removeRepeatingRow("repeating_skills_".concat(e))}),fillRepeatingSectionFromData("skills",t,function(){return e()})})}),getSectionIDs("repeating_technique",function(a){var n=__spreadArray(__spreadArray([],a.map(function(e){return"repeating_technique_".concat(e,"_technique")}),!0),a.map(function(e){return"repeating_technique_".concat(e,"_technique_description")}),!0);getAttrs(n,function(n){var t=a.reduce(function(e,a){return n["repeating_technique_".concat(a,"_technique")]&&e.push({technique_name:n["repeating_technique_".concat(a,"_technique")],technique_description:n["repeating_technique_".concat(a,"_technique_description")]||""}),e},[]);fillRepeatingSectionFromData("techniques",t,function(){return e()}),a.forEach(function(e){return removeRepeatingRow("repeating_technique_".concat(e))})})}),getSectionIDs("repeating_cyberware",function(a){getAttrs(a.map(function(e){return"repeating_cyberware_".concat(e,"_cyberware")}),function(n){var t=a.reduce(function(e,a){return n["repeating_cyberware_".concat(a,"_cyberware")]&&(e["repeating_cyberware_".concat(a,"_cyberware_name")]=n["repeating_cyberware_".concat(a,"_cyberware")]),e},{});setAttrs(t,null,function(){return e()})})}),getSectionIDs("repeating_goals",function(a){var n=__spreadArray(__spreadArray([],a.map(function(e){return"repeating_goals_".concat(e,"_misc_goal")}),!0),a.map(function(e){return"repeating_goals_".concat(e,"_misc_goal_xp")}),!0);getAttrs(n,function(n){var t=a.reduce(function(e,a){return n["repeating_goals_".concat(a,"_misc_goal")]&&(e["repeating_goals_".concat(a,"_goal_name")]=n["repeating_goals_".concat(a,"_misc_goal")]),n["repeating_goals_".concat(a,"_misc_goal_xp")]&&(e["repeating_goals_".concat(a,"_goal_xp")]=n["repeating_goals_".concat(a,"_misc_goal_xp")]),e},{});setAttrs(t,null,function(){return e()})})}),getSectionIDs("repeating_languages",function(a){getAttrs(a.map(function(e){return"repeating_languages_".concat(e,"_languages")}),function(n){var t=a.reduce(function(e,a){return n["repeating_languages_".concat(a,"_languages")]&&(e["repeating_languages_".concat(a,"_language")]=n["repeating_languages_".concat(a,"_languages")]),e},{});setAttrs(t,null,function(){return e()})})}),getSectionIDs("repeating_gear",function(a){getAttrs(a.map(function(e){return"repeating_gear_".concat(e,"_gear_readied")}),function(n){var t=a.reduce(function(e,a){return"1"==="".concat(n["repeating_gear_".concat(a,"_gear_readied")])?e["repeating_gear_".concat(a,"_gear_status")]="readied":"2"==="".concat(n["repeating_gear_".concat(a,"_gear_readied")])&&(e["repeating_gear_".concat(a,"_gear_status")]="stowed"),e},{});setAttrs(t,null,function(){return e()})})}),getSectionIDs("repeating_defenses",function(a){var n=__spreadArray(__spreadArray(__spreadArray([],a.map(function(e){return"repeating_defenses_".concat(e,"_ship_defense_name")}),!0),a.map(function(e){return"repeating_defenses_".concat(e,"_ship_defense_special_effects")}),!0),a.map(function(e){return"repeating_defenses_".concat(e,"_ship_defense_broken")}),!0);getAttrs(n,function(n){var t=a.map(function(e){var a={};return n["repeating_defenses_".concat(e,"_ship_defense_name")]&&(a.defense_name=n["repeating_defenses_".concat(e,"_ship_defense_name")]),n["repeating_defenses_".concat(e,"_ship_defense_special_effects")]&&(a.defense_effect=n["repeating_defenses_".concat(e,"_ship_defense_special_effects")]),n["repeating_defenses_".concat(e,"_ship_defense_broken")]&&(a.defense_broken="1"),a});fillRepeatingSectionFromData("ship-defenses",t,function(){return e()})})}),getSectionIDs("repeating_fittings",function(a){var n=__spreadArray(__spreadArray(__spreadArray([],a.map(function(e){return"repeating_fittings_".concat(e,"_ship_fitting_name")}),!0),a.map(function(e){return"repeating_fittings_".concat(e,"_ship_fitting_special_effects")}),!0),a.map(function(e){return"repeating_fittings_".concat(e,"_ship_fitting_broken")}),!0);getAttrs(n,function(n){var t=a.map(function(e){var a={};return n["repeating_fittings_".concat(e,"_ship_fitting_name")]&&(a.fitting_name=n["repeating_fittings_".concat(e,"_ship_fitting_name")]),n["repeating_fittings_".concat(e,"_ship_fitting_special_effects")]&&(a.fitting_effect=n["repeating_fittings_".concat(e,"_ship_fitting_special_effects")]),n["repeating_fittings_".concat(e,"_ship_fitting_broken")]&&(a.fitting_broken="1"),a});fillRepeatingSectionFromData("ship-fittings",t,function(){return e()})})})},validateTab=function(){getAttrs(["tab","npc"],function(e){"character"===e.tab&&"1"===e.npc&&setAttrs({tab:"npc"}),"npc"===e.tab&&"0"===e.npc&&setAttrs({tab:"character"})})},validateSuperTab=function(){getAttrs(["setting_super_type","tab_super"],function(e){var a={};"magic"===e.setting_super_type&&(a.tab_super="magic"),"psionics"===e.setting_super_type&&(a.tab_super="psionics"),mySetAttrs(a,e)})},validateWeaponSkills=function(e){var a=e&&e.map(function(e){return"repeating_weapons_".concat(e)})||["repeating_weapons"];getAttrs(__spreadArray(["homebrew_skill_list"],a.map(function(e){return"".concat(e,"_weapon_skill_bonus")}),!0),function(e){var n=["@{skill_exert}","@{skill_punch}","@{skill_shoot}","@{skill_stab}","@{skill_telekinesis}","0"],t=["@{skill_combat_energy}","@{skill_combat_gunnery}","@{skill_combat_primitive}","@{skill_combat_projectile}","@{skill_combat_psitech}","@{skill_combat_unarmed}","@{skill_telekinesis}","0"],r=e.homebrew_skill_list,_={};a.forEach(function(a){"revised"!==r||n.includes(e["".concat(a,"_weapon_skill_bonus")])||(_["".concat(a,"_weapon_skill_bonus")]="@{skill_shoot}"),"first"!==r||t.includes(e["".concat(a,"_weapon_skill_bonus")])||(_["".concat(a,"_weapon_skill_bonus")]="@{skill_combat_energy}")}),setAttrs(_)})},validateShells=function(e){"active"===e.sourceAttribute.slice(-6)&&"affinity"!==e.sourceAttribute.slice(-15,-7)?(console.log("Changing"),getSectionIDs("repeating_shells",function(a){var n={};(a=a.filter(function(a){return a!==e.sourceAttribute.slice(17,-13)})).forEach(function(e){return n["repeating_shells_".concat(e,"_shell_active")]="0"}),setAttrs(n,{},function(){calculateShellAttrs()})})):(console.log("No change needed"),calculateShellAttrs())},setTranslatedDefaults=function(){var e={skill_culture_alien_name:{trans:"".concat(translate("CULTURE_ALIEN"),"/"),default:"Culture/Alien/"},skill_culture_one_name:{trans:"".concat(translate("CULTURE"),"/"),default:"Culture/"},skill_culture_two_name:{trans:"".concat(translate("CULTURE"),"/"),default:"Culture/"},skill_culture_three_name:{trans:"".concat(translate("CULTURE"),"/"),default:"Culture/"},skill_profession_name:{trans:"".concat(translate("PROFESSION"),"/"),default:"Profession/"}};getAttrs(__spreadArray(__spreadArray([],Object.keys(e),!0),["homebrew_skill_list","innate_ac_name"],!1),function(a){var n={};"first"===a.homebrew_skill_list&&Object.entries(e).forEach(function(e){var t=e[0],r=e[1];a[t]===r.default&&a[t]!==r.trans&&(n[t]=r.trans)}),n.innate_ac_name=translate("INNATE_AC").toString(),mySetAttrs(n,a)})},handleAttributeQueries=function(){var e=attributes.map(function(e){var a=translate(e.toUpperCase());return"".concat(a,",+ @{").concat(e,"_mod}[").concat(a,"]]]}} ")+"{{attribute= + ".concat(translate("".concat(e.toUpperCase(),"_SHORT")),"}}")});getAttrs(__spreadArray(["attribute_query","setting_skill_query"],attributes.map(function(e){return"attribute_query_".concat(e.slice(0,3))}),!0),function(a){"hover"===a.setting_skill_query||"hide"===a.setting_skill_query?mySetAttrs({attribute_query:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray([e[0]],e.slice(1),!0).join("|"),"}"),attribute_query_str:"+ @{strength_mod}[".concat(translate("STRENGTH"),"]]]}} {{attribute= + ").concat(translate("STRENGTH_SHORT"),"}}"),attribute_query_dex:"+ @{dexterity_mod}[".concat(translate("DEXTERITY"),"]]]}} {{attribute= + ").concat(translate("DEXTERITY_SHORT"),"}}"),attribute_query_con:"+ @{constitution_mod}[".concat(translate("CONSTITUTION"),"]]]}} {{attribute= + ").concat(translate("CONSTITUTION_SHORT"),"}}"),attribute_query_int:"+ @{intelligence_mod}[".concat(translate("INTELLIGENCE"),"]]]}} {{attribute= + ").concat(translate("INTELLIGENCE_SHORT"),"}}"),attribute_query_wis:"+ @{wisdom_mod}[".concat(translate("WISDOM"),"]]]}} {{attribute= + ").concat(translate("WISDOM_SHORT"),"}}"),attribute_query_cha:"+ @{charisma_mod}[".concat(translate("CHARISMA"),"]]]}} {{attribute= + ").concat(translate("CHARISMA_SHORT"),"}}")},a):"query"===a.setting_skill_query&&mySetAttrs({attribute_query:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray([e[0]],e.slice(1),!0).join("|"),"}"),attribute_query_str:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray([e[0]],e.slice(1),!0).join("|"),"}"),attribute_query_dex:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray([e[1],e[0]],e.slice(2),!0).join("|"),"}"),attribute_query_con:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray(__spreadArray([e[2]],e.slice(0,2),!0),e.slice(3),!0).join("|"),"}"),attribute_query_int:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray(__spreadArray([e[3]],e.slice(0,3),!0),e.slice(4),!0).join("|"),"}"),attribute_query_wis:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray(__spreadArray([e[4]],e.slice(0,4),!0),e.slice(5),!0).join("|"),"}"),attribute_query_cha:"?{".concat(translate("ATTRIBUTE"),"|").concat(__spreadArray([e[5]],e.slice(0,5),!0).join("|"),"}")},a)})},handleModifierQuery=function(){getAttrs(["modifier_query","setting_modifier_query"],function(e){"1"==="".concat(e.setting_modifier_query)?mySetAttrs({modifier_query:"+ ?{".concat(translate("MODIFIER"),"|0}[").concat(translate("MODIFIER_SHORT"),"]")},e):mySetAttrs({modifier_query:" "},e)})},setTranslatedQueries=function(){getAttrs(["burst_query","extra_hp_query","translation_numdice","proficient_query","skill_name_query"],function(e){var a={burst_query:"?{".concat(translate("BURST"),"|").concat(translate("YES"),",+ 2[").concat(translate("BURST"),"]|").concat(translate("NO"),",&")+"#32;}",extra_hp_query:"?{".concat(translate("EXTRA_HP_QUERY"),"|0}[").concat(translate("BONUS"),"]"),proficient_query:"?{".concat(translate("PROFICIENT"),"|").concat(translate("YES"),", @{npc_skills}|").concat(translate("NO"),", 0}[").concat(translate("SKILL"),"]"),skill_name_query:"?{".concat(translate("SKILL_NAME"),"|").concat(translate("SKILL"),"}"),translation_numdice:translate("NUMBER_OF_DICE")};mySetAttrs(a,e)})},skillToMacro=function(e){return function(a){return["culture_one","culture_two","culture_three","culture_alien","profession","magic2"].includes(a)?["@{skill_".concat(a,"_name} (").concat(sign(parseInt(e["skill_".concat(a)])),")"),"skill_".concat(a)]:["^{".concat(a.toUpperCase(),"} (").concat(sign(parseInt(e["skill_".concat(a)])),")"),"skill_".concat(a)]}},idToSkillMacro=function(e,a){return function(n){var t="repeating_".concat(a,"_").concat(n,"_skill");return["".concat(e["".concat(t,"_name")]," (").concat(sign(parseInt(e[t])),")"),t]}},buildSkillMacro=function(e,a,n){var t=e[0],r=e[1];return buildLink(t,r,a+1===n.length)},buildSaveMenu=function(){getAttrs(["homebrew_luck_save","macro_saves"],function(e){var a=buildLink("^{PHYSICAL} (v@{save_physical})","save_physical")+" "+buildLink("^{MENTAL} (v@{save_mental})","save_mental")+" "+buildLink("^{EVASION} (v@{save_evasion})","save_evasion","1"!==e.homebrew_luck_save)+("1"===e.homebrew_luck_save?" "+buildLink("^{LUCK} (v@{save_luck})","save_luck",!0):"");mySetAttrs({macro_saves:a},e)})},buildSkillMenu=function(){getSectionIDs("repeating_skills",function(e){var a=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],skills.revised.map(function(e){return"skill_".concat(e)}),!0),skills.first.map(function(e){return"skill_".concat(e)}),!0),["homebrew_skill_list","setting_show_untrained_skills","macro_skills"],!1),e.map(function(e){return"repeating_skills_".concat(e,"_skill_name")}),!0),e.map(function(e){return"repeating_skills_".concat(e,"_skill")}),!0);getAttrs(a,function(a){var n=skills[a.homebrew_skill_list]||[],t=n.filter(function(e){return"-1"!==a["skill_".concat(e)]}).length||e.filter(function(e){return"-1"!==a["repeating_skills_".concat(e,"_skill")]}).length,r="".concat(__spreadArray(__spreadArray([],n.filter(function(e){return"-1"!==a["skill_".concat(e)]}).map(skillToMacro(a)),!0),e.filter(function(e){return"-1"!==a["repeating_skills_".concat(e,"_skill")]}).map(idToSkillMacro(a,"skills")),!0).map(buildSkillMacro).join(" ")).concat("1"===a.setting_show_untrained_skills?"".concat(t?"\n\n**^{UNTRAINED}**\n":"").concat(__spreadArray(__spreadArray([],n.filter(function(e){return"-1"===a["skill_".concat(e)]}).map(skillToMacro(a)),!0),e.filter(function(e){return"-1"===a["repeating_skills_".concat(e,"_skill")]}).map(idToSkillMacro(a,"skills")),!0).map(buildSkillMacro).join(" ")):"");mySetAttrs({macro_skills:r},a)})})},buildPsionicsMenu=function(){getSectionIDs("repeating_techniques",function(e){getSectionIDs("repeating_psychic-skills",function(a){var n=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],skills.psionic.map(function(e){return"skill_".concat(e)}),!0),["setting_super_type","macro_psionics"],!1),a.map(function(e){return"repeating_psychic-skills_".concat(e,"_skill_name")}),!0),a.map(function(e){return"repeating_psychic-skills_".concat(e,"_skill")}),!0),e.map(function(e){return"repeating_techniques_".concat(e,"_technique_name")}),!0);getAttrs(n,function(n){if("magic"!==n.setting_super_type&&"neither"!==n.setting_super_type){var t="".concat(__spreadArray(__spreadArray([],skills.psionic.filter(function(e){return"-1"!==n["skill_".concat(e)]}).map(skillToMacro(n)),!0),a.filter(function(e){return"-1"!==n["repeating_psychic-skills_".concat(e,"_skill")]}).map(idToSkillMacro(n,"psychic-skills")),!0).map(buildSkillMacro).join(" ")).concat(e.length?"\n\n":"").concat(e.map(function(e,a,t){return buildLink(n["repeating_techniques_".concat(e,"_technique_name")],"repeating_techniques_".concat(e,"_technique"),a+1===t.length)}).join(" "));mySetAttrs({macro_psionics:t},n)}})})})},buildMagicMenu=function(){getSectionIDs("repeating_spells",function(e){getSectionIDs("repeating_magic-skills",function(a){var n=__spreadArray(__spreadArray(__spreadArray(["skill_know_magic","skill_use_magic","skill_sunblade_magic","skill_fight","skill_magic2","skill_magic2_name","setting_super_type","macro_magic"],a.map(function(e){return"repeating_magic-skills_".concat(e,"_skill_name")}),!0),a.map(function(e){return"repeating_magic-skills_".concat(e,"_skill")}),!0),e.map(function(e){return"repeating_spells_".concat(e,"_spell_name")}),!0);getAttrs(n,function(n){if("psionics"!==n.setting_super_type&&"neither"!==n.setting_super_type){var t="".concat(__spreadArray(__spreadArray([],(n.skill_magic2_name?["know_magic","use_magic","fight","sunblade","magic2"]:["know_magic","use_magic","fight","sunblade"]).map(skillToMacro(n)),!0),a.map(idToSkillMacro(n,"magic-skills")),!0).map(buildSkillMacro).join(" ")).concat(e.length?"\n\n":"").concat(e.map(function(e){return buildLink(n["repeating_spells_".concat(e,"_spell_name")],"repeating_spells_".concat(e,"_spell"))}).join(" "));mySetAttrs({macro_magic:t},n)}})})})},buildShipWeaponsMenu=function(){getSectionIDs("repeating_ship-weapons",function(e){var a=__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_name")}),!0),e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_attack_bonus")}),!0),["macro_ship_weapons"],!1);getAttrs(a,function(a){var n=e.map(function(n,t){var r=a["repeating_ship-weapons_".concat(n,"_weapon_name")]+" ".concat(sign(a["repeating_ship-weapons_".concat(n,"_weapon_attack_bonus")]));return buildLink(r,"repeating_ship-weapons_".concat(n,"_attack"),t+1===e.length)}).join(" ");mySetAttrs({macro_ship_weapons:n},a)})})},buildAttacksMenu=function(){getSectionIDs("repeating_npc-attacks",function(e){var a=__spreadArray(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_npc-attacks_".concat(e,"_attack_name")}),!0),e.map(function(e){return"repeating_npc-attacks_".concat(e,"_attack_ab")}),!0),e.map(function(e){return"repeating_npc-attacks_".concat(e,"_attack_number")}),!0),["macro_npc_attacks"],!1);getAttrs(a,function(a){var n=e.map(function(n,t){var r=a["repeating_npc-attacks_".concat(n,"_attack_name")]+" ".concat(sign(a["repeating_npc-attacks_".concat(n,"_attack_ab")]))+("1"!==a["repeating_npc-attacks_".concat(n,"_attack_number")]?" (".concat(a["repeating_npc-attacks_".concat(n,"_attack_number")]," attacks)"):"");return buildLink(r,"repeating_npc-attacks_".concat(n,"_attack"),t+1===e.length)}).join(" ");mySetAttrs({macro_npc_attacks:n},a)})})},buildAbilitiesMenu=function(){getSectionIDs("repeating_npc-abilities",function(e){var a=__spreadArray(__spreadArray([],e.map(function(e){return"repeating_npc-abilities_".concat(e,"_ability_name")}),!0),["macro_npc_abilities"],!1);getAttrs(a,function(a){var n=e.map(function(n,t){return buildLink(a["repeating_npc-abilities_".concat(n,"_ability_name")],"repeating_npc-abilities_".concat(n,"_ability"),t+1===e.length)}).join(" ");mySetAttrs({macro_npc_abilities:n},a)})})},buildStatblock=function(){getAttrs(["npc","macro_npc_abilities","macro_npc_attacks","macro_statblock"],function(e){if("1"===e.npc){var a=["[**^{SAVES}** v@{npc_saves},](~npc_save) [**^{SKILLS}** +@{npc_skills},](~npc_skill) ","[**^{MORALE}** v@{npc_morale}](~npc_morale)\n","[**^{INITIATIVE_FIXED}** d8,](~npc_initiative) [**^{REACTION}** 2d6,](~npc_reaction) ","**Move** @{npc_move}\n"];e.macro_npc_attacks&&a.push("\n**Attacks:** @{macro_npc_attacks}"),e.macro_npc_abilities&&a.push("\n**Abilities:** @{macro_npc_abilities}"),mySetAttrs({macro_statblock:a.join("")},e)}})},fillShipStats=function(){getAttrs(__spreadArray(["ship_hulltype"],shipStats,!0),function(e){var a=e.ship_hulltype&&reverseHullTypes[e.ship_hulltype.toLowerCase()];if(a&&autofillData.hulltypes.hasOwnProperty(a)){var n=Object.assign({},autofillData.hulltypes[a]);n.ship_hp_max=n.ship_hp,Object.keys(n).forEach(function(a){!["",0,"0"].includes(e[a])&&e.hasOwnProperty(a)&&delete n[a]}),mySetAttrs(n,e),calculateShipStats()}})},setShipClass=function(){getAttrs(["ship_class","ship_class_normalised"],function(e){["fighter",translate("FIGHTER").toString().toLowerCase()].includes(e.ship_class.toLowerCase())?setAttrs({ship_class_normalised:"fighter"}):["frigate",translate("FRIGATE").toString().toLowerCase()].includes(e.ship_class.toLowerCase())?setAttrs({ship_class_normalised:"frigate"}):["cruiser",translate("CRUISER").toString().toLowerCase()].includes(e.ship_class.toLowerCase())?setAttrs({ship_class_normalised:"cruiser"}):mySetAttrs({ship_class_normalised:""},e)})},calculateShipStats=function(){getSectionIDs("repeating_ship-weapons",function(e){return getSectionIDs("repeating_ship-fittings",function(a){getSectionIDs("repeating_ship-defenses",function(n){return function(e,a,n){console.log(e),console.log(a),console.log(n);var t=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_power")}),!0),e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_mass")}),!0),e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_hardpoints")}),!0),e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_price")}),!0),a.map(function(e){return"repeating_ship-fittings_".concat(e,"_fitting_power")}),!0),a.map(function(e){return"repeating_ship-fittings_".concat(e,"_fitting_mass")}),!0),a.map(function(e){return"repeating_ship-fittings_".concat(e,"_fitting_price")}),!0),n.map(function(e){return"repeating_ship-defenses_".concat(e,"_defense_power")}),!0),n.map(function(e){return"repeating_ship-defenses_".concat(e,"_defense_mass")}),!0),n.map(function(e){return"repeating_ship-defenses_".concat(e,"_defense_price")}),!0),["ship_power_max","ship_mass_max","ship_hardpoints_max","ship_power","ship_mass","ship_hardpoints","ship_price","ship_hull_price","ship_calculate_price"],!1);getAttrs(t,function(t){var r={ship_power:(parseInt(t.ship_power_max)||0)-sum(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_power")}),!0),a.map(function(e){return"repeating_ship-fittings_".concat(e,"_fitting_power")}),!0),n.map(function(e){return"repeating_ship-defenses_".concat(e,"_defense_power")}),!0).map(function(e){return t[e]})),ship_mass:(parseInt(t.ship_mass_max)||0)-sum(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_mass")}),!0),a.map(function(e){return"repeating_ship-fittings_".concat(e,"_fitting_mass")}),!0),n.map(function(e){return"repeating_ship-defenses_".concat(e,"_defense_mass")}),!0).map(function(e){return t[e]})),ship_hardpoints:(parseInt(t.ship_hardpoints_max)||0)-sum(e.map(function(e){return t["repeating_ship-weapons_".concat(e,"_weapon_hardpoints")]})),ship_price:""};"1"===t.ship_calculate_price&&(r.ship_price=(new Intl.NumberFormat).format((parseInt(t.ship_hull_price)||0)+sum(__spreadArray(__spreadArray(__spreadArray([],e.map(function(e){return"repeating_ship-weapons_".concat(e,"_weapon_price")}),!0),a.map(function(e){return"repeating_ship-fittings_".concat(e,"_fitting_price")}),!0),n.map(function(e){return"repeating_ship-defenses_".concat(e,"_defense_price")}),!0).map(function(e){return t[e]})))),mySetAttrs(r,t,{silent:!0})})}(e,a,n)})})})},fillNPC=function(){getAttrs(["npc_stat_block"],function(e){if(e.npc_stat_block&&Object.keys(autofillData.statblocks).includes(e.npc_stat_block)){var a=autofillData.statblocks[e.npc_stat_block],n=a.npc_hd,t=a.npc_ac,r=a.npc_attack_bonus,_=a.npc_damage,c=a.npc_attacks,i=a.npc_move,s=a.npc_morale,o=a.npc_skills,p=a.npc_saves,l=a.npc_armor_type,u={npc_ac:t,npc_attack_bonus:r,npc_move:i,npc_morale:s,npc_skills:o,npc_saves:p};if(l&&(u.npc_armor_type=l),"string"==typeof n&&n.includes("hp")?u.HP=n.replace("hp",""):u.npc_hd=n,setAttrs(u),"Unarmed"!==_){var m={attack_ab:r,attack_damage:_||0,attack_name:translate("ATTACK"),attack_number:c};fillRepeatingSectionFromData("npc-attacks",m)}}})},addNPCAttackBonus=function(){getAttrs(["repeating_npc-attacks_attack_ab","npc_attack_bonus"],function(e){var a;"0"==="".concat(e["repeating_npc-attacks_attack_ab"])&&setAttrs(((a={})["repeating_npc-attacks_attack_ab"]=e.npc_attack_bonus,a))})},setNPCMultiAttacks=function(){getSectionIDs("repeating_npc-attacks",function(e){var a=__spreadArray(__spreadArray([],e.map(function(e){return"repeating_npc-attacks_".concat(e,"_attack_number")}),!0),["npc_roll_full_attack"],!1);getAttrs(a,function(a){var n=e.reduce(function(e,n){if("1"===a.npc_roll_full_attack){var t=parseInt(a["repeating_npc-attacks_".concat(n,"_attack_number")])||1;e["repeating_npc-attacks_".concat(n,"_attack_extra_macro")]=[2,3,4,5,6,7,8].map(function(e){return e<=t?"{{attack".concat(e,"=[[1d20 + @{attack_ab} @{attack_burst} @{modifier_query}]]}} ")+"{{damage".concat(e,"=[[@{attack_damage} @{attack_burst}]]}} "):""}).join("")}else e["repeating_npc-attacks_".concat(n,"_attack_extra_macro")]="";return e},{});setAttrs(n)})})},handleNPCRollHide=function(){var e=["hp","initiative","save","skill","morale","reaction"];getAttrs(__spreadArray(["npc_rolls_hidden"],e.map(function(e){return"npc_".concat(e,"_hidden")}),!0),function(a){var n=e.reduce(function(e,n){return e["npc_".concat(n,"_hidden")]=a.npc_rolls_hidden,e},{});mySetAttrs(n,a)})};on("sheet:opened",handleUpgrade),on("sheet:opened change:npc",validateTab),on("sheet:opened",setTranslatedQueries),on("sheet:opened change:setting_skill_query",handleAttributeQueries),on("sheet:opened change:setting_modifier_query",handleModifierQuery),on("change:homebrew_skill_list",setTranslatedDefaults),["weapons","ship-weapons"].forEach(function(e){on("change:repeating_".concat(e,":weapon_use_ammo"),function(){return handleAmmoAPI(e)})}),on("change:setting_use_ammo",function(){handleAmmoAPI("weapons"),handleAmmoAPI("ship-weapons")}),on("change:class",fillClassStats),attributes.forEach(function(e){return on("change:".concat(e,"_base change:").concat(e,"_boosts"),function(){return calculateAttr(e)})}),attributes.forEach(function(e){return on("change:".concat(e," change:").concat(e,"_bonus"),function(){return calculateMod(e)})}),on("change:repeating_shells remove:repeating_shells",function(e){"player"===e.sourceType&&validateShells(e)}),on("change:setting_transhuman_enable change:setting_ai_enable",calculateShellAttrs),on(weaponDisplayEvent,generateWeaponDisplay),on("change:repeating_weapons:weapon_name",function(){return validateWeaponSkills()}),on("change:homebrew_skill_list",function(){return getSectionIDs("repeating_weapons",validateWeaponSkills)}),on("change:strain_extra change:strain_permanent",calculateStrain),on("change:constitution",calculateMaxStrain),on("change:repeating_cyberware remove:repeating_cyberware",calculateCyberwareStrain),on("change:strain_permanent_extra change:cyberware_strain_total",calculatePermanentStrain),on("change:level",calculateSaves),on(__spreadArray(__spreadArray([],effortAttributes,!0),["repeating_psychic-skills:skill"],!1).map(function(e){return"change:".concat(e)}).join(" "),calculateEffort),on("change:magic_committed_effort_current change:magic_committed_effort_scene change:magic_committed_effort_day change:magic_total_effort",calculateMagicEffort),on("change:ai_committed_processing_current change:ai_committed_processing_scene change:ai_committed_processing_day change:ai_extra_processing change:repeating_processing-nodes remove:repeating:processing_nodes",calculateProcessing),on("change:repeating_armor change:innate_ac remove:repeating_armor",calculateAC),on("change:strength change:repeating_gear remove:repeating_gear change:repeating_weapons remove:repeating_weapons change:repeating_armor remove:repeating_armor",calculateGearReadiedStowed),on("change:level change:setting_xp_scheme",calculateNextLevelXP),on("change:setting_super_type",validateSuperTab),on("change:homebrew_luck_save",buildSaveMenu),on(__spreadArray(__spreadArray(__spreadArray([],skills.revised.map(function(e){return"change:skill_".concat(e)}),!0),skills.first.map(function(e){return"change:skill_".concat(e)}),!0),["change:homebrew_skill_list","change:repeating_skills","change:setting_show_untrained_skills","remove:repeating_skills"],!1).join(" "),buildSkillMenu),on(__spreadArray(__spreadArray([],skills.psionic.map(function(e){return"change:skill_".concat(e)}),!0),["change:setting_super_type change:repeating_techniques remove:repeating_techniques","change:repeating_psychic-skills remove:repeating_psychic-skills"],!1).join(" "),buildPsionicsMenu),on("change:setting_super_type change:repeating_spells remove:repeating_spells change:repeating_magic-skills remove:repeating_magic-skills change:skill_know_magic change:skill_use_magic change:skill_fight change:skill_sunblade change:skill_magic2_name change:skill_magic2",buildMagicMenu),autofillSections.forEach(function(e){on("change:generate_".concat(e,"_source"),function(){return generateAutofillInfo(e)}),on("change:generate_".concat(e,"_button"),function(){return generateAutofillRow(e)})}),on("change:ship_hulltype",fillShipStats),on("change:ship_calculate_price",calculateShipStats),on("change:ship_class",function(){setShipClass(),["ship-fittings","ship-defenses"].forEach(function(e){return generateAutofillInfo(e)})}),on(shipStatEvent,calculateShipStats),on("change:repeating_ship-weapons:weapon_name change:repeating_ship-weapons:weapon_attack_bonus remove:repeating_ship-weapons",buildShipWeaponsMenu),[1,2,3,4,5].forEach(function(e){on("change:repeating_drones:drone_fitting_".concat(e,"_name"),function(){return fillDroneFitting(e)})}),on("change:repeating_drones:drone_model",fillDroneStats),on("change:attack_bonus change:intelligence_mod change:skill_pilot change:skill_program change:npc",function(){return getSectionIDs("repeating_drones",function(e){calculateDroneAttack(e.map(function(e){return"repeating_drones_".concat(e)}))})}),on(__spreadArray(__spreadArray([],[1,2,3].map(function(e){return"change:repeating_drones:drone_weapon".concat(e,"_ab")}),!0),[1,2,3].map(function(e){return"change:repeating_drones:drone_weapon".concat(e,"_active")}),!0).join(" "),function(){return calculateDroneAttack(["repeating_drones"])}),on("change:npc_stat_block",fillNPC),on("change:npc_rolls_hidden",handleNPCRollHide),on("change:repeating_npc-attacks:attack_name",addNPCAttackBonus),on("change:npc_roll_full_attack change:repeating_npc-attacks:attack_number",setNPCMultiAttacks),on("change:repeating_npc-abilities:ability_name remove:repeating_npc-abilities",buildAbilitiesMenu),on("change:repeating_npc-attacks:attack_name change:repeating_npc-attacks:attack_ab change:repeating_npc-attacks:attack_number remove:repeating_npc-attacks",buildAttacksMenu),on("change:npc change:npc_armor_type change:macro_npc_attacks change:macro_npc_abilities",buildStatblock); })(); \ No newline at end of file