From d9cbfb1342d01e07e09ebeeefb70f522b4f4b491 Mon Sep 17 00:00:00 2001 From: Idle <651462+reonZ@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:53:25 +0100 Subject: [PATCH] 1.24.3 --- CHANGELOG.md | 6 ++++++ module.json | 4 ++-- scripts/main.js | 10 +++++----- scripts/main.js.map | 8 ++++---- styles/_target.scss | 2 ++ styles/toolbelt.css | 2 +- styles/toolbelt.css.map | 2 +- 7 files changed, 21 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6a2286..d1c1107 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 1.24.3 + +- `Target Token Helper` updates: + - increased the font size of the save result + - increased contrast between failure and critical failure colors for the save result + # 1.24.2 - fixed `Target Token Helper` adding targets to persistent damage, fast-healing and regeneration messages diff --git a/module.json b/module.json index 99316af..483d1e6 100644 --- a/module.json +++ b/module.json @@ -17,12 +17,12 @@ "verified": "11" }, "socket": true, - "version": "1.24.2", + "version": "1.24.3", "manifestPlusVersion": "1.2.0", "url": "https://github.com/reonZ/pf2e-toolbelt", "readme": "https://github.com/reonZ/pf2e-toolbelt/blob/master/README.md", "manifest": "https://raw.githubusercontent.com/reonZ/pf2e-toolbelt/master/module.json", - "download": "https://github.com/reonZ/pf2e-toolbelt/releases/download/1.24.2/module.zip", + "download": "https://github.com/reonZ/pf2e-toolbelt/releases/download/1.24.3/module.zip", "changelog": "https://github.com/reonZ/pf2e-toolbelt/blob/master/CHANGELOG.md", "bugs": "https://github.com/reonZ/pf2e-toolbelt/issues", "styles": [ diff --git a/scripts/main.js b/scripts/main.js index c52fad2..aab43dd 100644 --- a/scripts/main.js +++ b/scripts/main.js @@ -1,10 +1,10 @@ -(()=>{var ft=Object.defineProperty;var ta=(e,t,n)=>t in e?ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var o=(e,t)=>ft(e,"name",{value:t,configurable:!0});var re=(e,t,n)=>(ta(e,typeof t!="symbol"?t+"":t,n),n),na=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var ie=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)};var _=(e,t,n)=>(na(e,t,"access private method"),n);var S="pf2e-toolbelt";function L(e,t,n="WRAPPER"){return libWrapper.register(S,e,t,n)}o(L,"registerWrapper");function w(...e){let[t,n]=e;return t=`${S}.${t}`,n?game.i18n.format(t,n):game.i18n.localize(t)}o(w,"localize");function aa(e){return game.i18n.has(`${S}.${e}`,!1)}o(aa,"hasLocalization");function oa(e){return`${S}.${e}`}o(oa,"localizePath");function T(e){let t=o((...n)=>w(`${e}.${n[0]}`,n[1]),"fn");return Object.defineProperties(t,{warn:{value:(...n)=>D(`${e}.${n[0]}`,n[1],n[2]),enumerable:!1,configurable:!1},info:{value:(...n)=>J(`${e}.${n[0]}`,n[1],n[2]),enumerable:!1,configurable:!1},error:{value:(...n)=>W(`${e}.${n[0]}`,n[1],n[2]),enumerable:!1,configurable:!1},has:{value:n=>aa(`${e}.${n}`),enumerable:!1,configurable:!1},path:{value:n=>oa(`${e}.${n}`),enumerable:!1,configurable:!1},template:{value:(n,{hash:a})=>t(n,a),enumerable:!1,configurable:!1}}),t}o(T,"subLocalize");function ze(e,t,n,a){let s=typeof t=="string"?t:"info",r=typeof t=="object"?t:typeof n=="object"?n:void 0,i=typeof t=="boolean"?t:typeof n=="boolean"?n:a??!1;ui.notifications.notify(w(e,r),s,{permanent:i})}o(ze,"notify");function D(...e){let[t,n,a]=e;ze(t,"warning",n,a)}o(D,"warn");function J(...e){let[t,n,a]=e;ze(t,"info",n,a)}o(J,"info");function W(...e){let[t,n,a]=e;ze(t,"error",n,a)}o(W,"error");function v(e){return game.settings.get(S,e)}o(v,"getSetting");function ce(e,t){return game.settings.set(S,e,t)}o(ce,"setSetting");var sa="CONFIG.PF2E.Item.documentClasses.weapon.prototype.prepareBaseData",ra="CONFIG.PF2E.Item.documentClasses.weapon.prototype.prepareDerivedData";var ia="CONFIG.PF2E.Item.documentClasses.armor.prototype.prepareBaseData",ca="CONFIG.PF2E.Item.documentClasses.armor.prototype.prepareDerivedData";function ut(){return{settings:[{name:"arp",type:Boolean,default:!1,requiresReload:!0}],conflicts:["pf2e-arp"],init:()=>{v("arp")&&(L(sa,ua,"WRAPPER"),L(ra,da,"WRAPPER"),L(ia,ga,"WRAPPER"),L(ca,ha,"WRAPPER"))},ready:e=>{e&&v("arp")&&game.settings.get("pf2e","automaticBonusVariant")!=="noABP"&&(game.settings.set("pf2e","automaticBonusVariant","noABP"),J("arp.forceVariant"))}}}o(ut,"registerArp");function ke(e,t=!1){return e&&!e.getFlag("pf2e","disableABP")&&(!t||e.isOfType("character"))}o(ke,"isValidActor");var la={1:35,2:935,3:8935,4:8935},fa={striking:65,greaterStriking:1065,majorStriking:31065};function dt(e){let t=e._source.system.traits.value,n=e._source.system.group,a=e._source.system.category,s=e._source.system.slug;return n!=="shield"&&(s==="handwraps-of-mighty-blows"||a!=="unarmed")&&!t.includes("alchemical")&&!t.includes("bomb")}o(dt,"isValidWeapon");function ua(e){let t=this.actor;if(!ke(t,!0)||!dt(this))return e();let n=t.level,a=this._source.system.traits.value;if(a.includes("alchemical")&&a.includes("bomb"))return e();this.system.potencyRune.value=n<2?null:n<10?1:n<16?2:3,this.system.strikingRune.value=n<4?null:n<12?"striking":n<19?"greaterStriking":"majorStriking",e()}o(ua,"onPrepareWeaponData");function da(e){if(e(),!ke(this.actor)||this.isSpecific||!dt(this))return;let t=this.price.value.toObject();if(!t.gp)return;let n=this.system.potencyRune.value;n&&(t.gp-=la[n]);let a=this.system.strikingRune.value;a&&(t.gp-=fa[a]),t=new game.pf2e.Coins(t),(n||a)&&!this.system.runes.property.length&&(t=t.add(this._source.system.price.value)),this.system.price.value=t}o(da,"onPrepareWeaponDerivedData");var pa={1:160,2:1060,3:20560,4:20560},ma={resilient:340,greaterResilient:3440,majorResilient:49440};function pt(e){return!0}o(pt,"isValidArmor");function ga(e){let t=this.actor;if(!ke(t,!0)||!pt(this))return e();let n=t.level;this.system.potencyRune.value=n<5?null:n<11?1:n<18?2:3,this.system.resiliencyRune.value=n<8?null:n<14?"resilient":n<20?"greaterResilient":"majorResilient",e()}o(ga,"onPrepareArmorData");function ha(e){if(e(),!ke(this.actor)||this.isSpecific||!pt(this))return;let t=this.price.value.toObject();if(!t.gp)return;let n=this.system.potencyRune.value;n&&(t.gp-=pa[n]);let a=this.system.resiliencyRune.value;a&&(t.gp-=ma[a]),t=new game.pf2e.Coins(t),(n||a)&&!this.system.runes.property.length&&(t=t.add(this._source.system.price.value)),this.system.price.value=t}o(ha,"onPrepareArmorDerivedData");function R(e,t,n=()=>{}){let a=null;return function(s,r=[],i=!1){typeof r=="string"&&(r=[r]),s||=r.some(c=>v(c)),s&&!a?a=Hooks.on(e,t):!s&&a&&(Hooks.off(e,a),a=null),i||n(s)}}o(R,"createHook");function Q(e,t,n=()=>{}){let a=null;return function(s,r=!1){s===!1&&(s="disabled"),s==="disabled"&&a?(Hooks.off(e,a),a=null):s!=="disabled"&&!a&&(a=Hooks.on(e,t)),r||n(s)}}o(Q,"createChoicesHook");function mt(e,t){let n=Hooks.on(e,t),a=Hooks.events[e].findIndex(s=>s.id===n);if(a!==0){let[s]=Hooks.events[e].splice(a,1);Hooks.events[e].unshift(s)}return n}o(mt,"registerUpstreamHook");var We=R("renderEffectsPanel",ba,ya);function gt(){return{settings:[{name:"effect-remove",type:Boolean,default:!1,scope:"client",onChange:e=>We(e,"condition-sheet")},{name:"condition-sheet",type:Boolean,default:!1,scope:"client",onChange:e=>We(e,"effect-remove")}],conflicts:["pf2e-effect-description"],init:()=>{We(!1,["effect-remove","condition-sheet"])}}}o(gt,"registerEffectsPanelHelper");function ya(){game.pf2e.effectPanel?.render()}o(ya,"refreshEffectsPanel");function ba(e,t){let n=`
/,"
Trigger ")),{name:a.name,description:s}}o(Me,"getHeroActionDetails");async function Mt(e){if(!e?.isOfType("character")){D("hero.onlyCharacter");return}let t=F(e),n=e.heroPoints.value-t.length,a=[];for(let s=0;s ${r("header",{sender:a.name,receiver:s.name})} ${r("give",{give:j(t.uuid)})} ${r("want",{want:j(n.uuid)})} ${r("accept")} /," Trigger ")),{name:a.name,description:r}}o(Me,"getHeroActionDetails");async function xt(e){if(!e?.isOfType("character")){D("hero.onlyCharacter");return}let t=L(e),n=e.heroPoints.value-t.length,a=[];for(let r=0;r ${s("header",{sender:a.name,receiver:r.name})} ${s("give",{give:j(t.uuid)})} ${s("want",{want:j(n.uuid)})} ${s("accept")} /, ' Trigger ')\r\n return { name: page.name, description: text }\r\n}\r\n\r\nexport async function drawHeroActions(actor) {\r\n if (!actor?.isOfType('character')) {\r\n warn('hero.onlyCharacter')\r\n return\r\n }\r\n\r\n const actions = getHeroActions(actor)\r\n const nb = actor.heroPoints.value - actions.length\r\n\r\n const drawn = []\r\n for (let i = 0; i < nb; i++) {\r\n const action = await drawHeroAction()\r\n\r\n if (action === undefined) continue\r\n else if (action === null) return\r\n\r\n actions.push(action)\r\n drawn.push(action)\r\n }\r\n\r\n if (!drawn.length) return\r\n\r\n setHeroActions(actor, actions)\r\n createChatMessage({ actor, actions: drawn, label: nb => localize('hero.actions-draw.header', { nb }), secret: true })\r\n}\r\n\r\nfunction createChatMessage({ actor, actions, label, secret = false }) {\r\n const { content, size } = chatActions(actions)\r\n\r\n label = typeof label === 'function' ? label(size) : label\r\n\r\n const data = {\r\n flavor: ` ${localize('header', { sender: senderActor.name, receiver: receiverActor.name })} ${localize('give', { give: chatUUID(sender.uuid) })} ${localize('want', { want: chatUUID(receiver.uuid) })} ${localize('accept')} /, ' Trigger ')\r\n return { name: page.name, description: text }\r\n}\r\n\r\nexport async function drawHeroActions(actor) {\r\n if (!actor?.isOfType('character')) {\r\n warn('hero.onlyCharacter')\r\n return\r\n }\r\n\r\n const actions = getHeroActions(actor)\r\n const nb = actor.heroPoints.value - actions.length\r\n\r\n const drawn = []\r\n for (let i = 0; i < nb; i++) {\r\n const action = await drawHeroAction()\r\n\r\n if (action === undefined) continue\r\n else if (action === null) return\r\n\r\n actions.push(action)\r\n drawn.push(action)\r\n }\r\n\r\n if (!drawn.length) return\r\n\r\n setHeroActions(actor, actions)\r\n createChatMessage({ actor, actions: drawn, label: nb => localize('hero.actions-draw.header', { nb }), secret: true })\r\n}\r\n\r\nfunction createChatMessage({ actor, actions, label, secret = false }) {\r\n const { content, size } = chatActions(actions)\r\n\r\n label = typeof label === 'function' ? label(size) : label\r\n\r\n const data = {\r\n flavor: ` ${localize('header', { sender: senderActor.name, receiver: receiverActor.name })} ${localize('give', { give: chatUUID(sender.uuid) })} ${localize('want', { want: chatUUID(receiver.uuid) })} ${localize('accept')}${n}
`,content:s,speaker:ChatMessage.getSpeaker({actor:e})};a&&v("hero-private")&&(i.type=CONST.CHAT_MESSAGE_TYPES.ROLL,i.rollMode=CONST.DICE_ROLL_MODES.PRIVATE),ChatMessage.create(i)}o(xe,"createChatMessage");function Ha(e){let t=e.map(({uuid:n,name:a})=>j(n,a));return{content:t.map(n=>`${w("hero.actions-use.header")}
`,content:`${r.name}
${r.description}`,speaker:ChatMessage.getSpeaker({actor:e})})):K(e,a)}o(Ft,"useHeroAction");async function Lt(e,t){if(!e?.isOfType("character")){D("hero.onlyCharacter");return}t=typeof t=="string"?[t]:t;let n=F(e),a=[];for(let s of t){let r=n.findIndex(i=>i.uuid===s);r!==-1&&(a.push(n[r]),n.splice(r,1))}K(e,n),xe({actor:e,actions:a,label:s=>w("hero.actions-discard.header",{nb:s})})}o(Lt,"discardHeroActions");async function Ut(e,t){return e.type!==CONST.TABLE_RESULT_TYPES.TEXT?e.text:/@UUID\[[\w\.]+\]{([\w -]+)}/.exec(e.text)?.[1]??(t&&(await fromUuid(t))?.name)}o(Ut,"getLabelfromTableResult");async function _t(e){if(!e)return;let t=await fromUuid(e);return t&&t instanceof RollTable?t:void 0}o(_t,"getTableFromUuid");async function Na(){return _t(Oe)}o(Na,"getDefaultCompendiumTable");function Ht(){return game.tables.find(e=>e.getFlag("core","sourceId")===Oe)}o(Ht,"getDefaultWorldTable");async function Ga(){return _t(v("hero-table"))}o(Ga,"getCustomTable");async function Qe(){return await Ga()??Ht()??await Na()}o(Qe,"getDeckTable");async function Nt(e,t){let n=await Me(t);if(!n)return W("hero.details.missing");ChatMessage.create({content:`${n.name}
${n.description}`,speaker:ChatMessage.getSpeaker({actor:e})})}o(Nt,"sendActionToChat");function Tt(e){if(e.receiver.id===game.user.id){Gt(e);return}O({...e,type:"hero.trade-request"})}o(Tt,"sendTradeRequest");function Gt(e){if(game.user.isGM){jt(e);return}O({...e,type:"hero.trade-accept"})}o(Gt,"acceptRequest");async function jt(e){let{sender:t,receiver:n}=e,a=game.actors.get(t.cid),s=game.actors.get(n.cid);if(!a||!s){Ye(e);return}let r=F(a),i=F(s),c=r.findIndex(m=>m.uuid===t.uuid),l=i.findIndex(m=>m.uuid===n.uuid);if(c===-1||l===-1){Ye(e);return}let u=r.splice(c,1)[0],f=i.splice(l,1)[0];r.push(f),i.push(u),K(a,r),K(s,i);let h=j(u.uuid),p=j(f.uuid),d=T("hero.trade-success"),g=`${d("header",{name:s.name})}
`,content:g,speaker:ChatMessage.getSpeaker({actor:a})})}o(jt,"onTradeAccepted");function Ye({sender:e,receiver:t},n="trade-error"){let a=new Set([e.id,t.id]);a.has(game.user.id)&&(a.delete(game.user.id),Bt(n)),a.size&&O({type:"hero.trade-error",users:Array.from(a),error:n})}o(Ye,"sendTradeError");function Bt(e){W("hero.trade-error")}o(Bt,"onTradeError");async function ja(e){let{sender:t,receiver:n}=e,a=game.actors.get(t.cid),s=game.actors.get(n.cid);if(!a||!s){Ye(e);return}let r=T("hero.trade-request"),i=`${w("giveth.giveth",{target:i.name})}
`,content:g,speaker:ChatMessage.getSpeaker({actor:s})})}o(xa,"takethPhysical");function I(...e){return e=e.filter(t=>typeof t=="string"),`modules/${S}/templates/${e.join("/")}.hbs`}o(I,"templatePath");var te=T("hero.templates.trade"),pe=class extends Application{constructor(t){super({id:`pf2e-hero-actions-trade-${t.id}`}),this._actor=t}static get defaultOptions(){return mergeObject(super.defaultOptions,{title:te("title"),template:I("hero/trade"),width:600,height:"auto"})}get actor(){return this._actor}get target(){return this._target}set target(t){if(!t){te.error("no-target");return}t!==this._target&&(delete this.target?.apps?.[this.appId],this._target=t,this.render())}getData(t){return mergeObject(super.getData(),{actor:this.actor,target:this.target,targets:game.actors.filter(n=>n.type==="character"&&n.id!==this.actor.id&&n.hasPlayerOwner),actions:L(this.actor),targetActions:this.target?L(this.target):[],i18n:te})}activateListeners(t){super.activateListeners(t),t.find('select[name="target"]').on("change",this.#n.bind(this)),t.find('[data-action="description"]').on("click",this.#t.bind(this)),t.find('[data-action="trade"]').on("click",this.#e.bind(this)),t.find('[data-action="cancel"]').on("click",()=>this.close())}render(t,n){return this.actor.apps[this.appId]=this,this.target&&(this.target.apps[this.appId]=this),super.render(t,n)}async close(t){await super.close(t),delete this.actor.apps?.[this.appId],delete this.target?.apps?.[this.appId]}#e(){if(!this.target){te.warn("no-target");return}let t=this.element.find('[name="action"]:checked').val(),n=this.element.find('[name="targetAction"]:checked').val();if(typeof t!="string"||typeof n!="string"){te.warn("no-select");return}let a=St(this.target,!0)??Ct(this.target,!0)??game.users.activeGM;if(!a){te.warn("no-user");return}Dt({sender:{id:game.user.id,cid:this.actor.id,uuid:t},receiver:{id:a.id,cid:this.target.id,uuid:n}}),this.close()}async#t(t){let n=$(t.currentTarget).siblings("input").val();(await fromUuid(n))?.sheet.render(!0)}#n(t){let n=t.currentTarget.value;this.target=game.actors.get(n)}};o(pe,"Trade");function Te(e,t){return e.localeCompare(t,game.i18n.lang)}o(Te,"localeCompare");function V(e){for(let t of Object.values(ui.windows)){let n=t.actor;!(t instanceof ActorSheet)||!n.isOfType("character")||(!e||e===n)&&t.render()}}o(V,"refreshCharacterSheets");function Ke(e,t){if(e.length!==t.length)return!1;let n=t.slice();for(let a of e){let r=n.findIndex(s=>a===s);if(r===-1)return!1;n.splice(r,1)}return!0}o(Ke,"compareArrays");function At(e){let t=new Intl.PluralRules(game.i18n.lang,{type:"ordinal"}),n=game.i18n.localize(`PF2E.OrdinalSuffixes.${t.select(e)}`);return game.i18n.format("PF2E.OrdinalNumber",{value:e,suffix:n})}o(At,"ordinalString");function De(e,t){if(typeof e!="object")return!1;for(;e=Reflect.getPrototypeOf(e);)if(e.constructor.name===t)return!0;return!1}o(De,"isInstanceOf");function Ae(e,t,n){return setProperty(e,`modules.${S}.${t}`,n)}o(Ae,"setInMemory");function me(e,t){return getProperty(e,`modules.${S}.${t}`)}o(me,"getInMemory");var Re="pf2e-hero-actions",Pt=O("renderCharacterSheetPF2e",Ua,La),$a="Compendium.pf2e.journals.JournalEntry.BSp4LUSaOmUyjBko",Oe="Compendium.pf2e.rollable-tables.RollTable.zgZoI7h0XjjJrrNK",Fa="systems/pf2e/icons/features/feats/heroic-recovery.webp",Pe=!1;function Ot(){return{name:"heroActions",settings:[{name:"hero",type:Boolean,default:!1,onChange:e=>Pt(e)},{name:"hero-table",type:String,default:""},{name:"hero-trade",type:Boolean,default:!1,onChange:()=>V()},{name:"hero-private",type:Boolean,default:!1}],conflicts:[Re],api:{createTable:Ja,removeHeroActions:to,getHeroActions:L,useHeroAction:Lt,getHeroActionDetails:Me,drawHeroAction:Ft,drawHeroActions:xt,sendActionToChat:Gt,discardHeroActions:Ut,tradeHeroAction:$t,getDeckTable:Qe,giveHeroActions:oo,createChatMessage:xe},ready:()=>{Pt(!1,"hero")}}}o(Ot,"registerHeroActions");function La(e){e&&!Pe?(X(Rt),Pe=!0):!e&&Pe&&(Z(Rt),Pe=!1)}o(La,"setupSocket");function Rt(e){switch(e.type){case"hero.trade-reject":if(e.sender.id!==game.user.id)return;Wt(e);break;case"hero.trade-accept":if(!ee())return;Bt(e);break;case"hero.trade-request":if(e.receiver.id!==game.user.id)return;Ka(e);break;case"hero.trade-error":if(!e.users.includes(game.user.id))return;zt(e.error);break}}o(Rt,"onSocket");async function Ua(e,t){let n=e.actor;F(n)&&(await _a(t,n),Ha(t,n))}o(Ua,"renderCharacterSheetPF2e");async function _a(e,t){let n=L(t),a=t.heroPoints.value-n.length,r=t.isOwner,s=T("hero.templates.heroActions"),i=await renderTemplate(I("hero/sheet"),{owner:r,list:n,canUse:a>=0&&r,canDraw:a>0&&r,canTrade:v("hero-trade"),mustDiscard:a<0,diff:Math.abs(a),i18n:(c,{hash:l})=>s(c,l)});e.find(".sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] > .strikes-list:not(.skill-action-list)").first().after(i)}o(_a,"addActionsToSheet");function Ha(e,t){let n=e.find(".tab.actions .heroActions-list");n.find("[data-action=draw]").on("click",a=>za(t,a)),n.find("[data-action=expand]").on("click",Mt),n.find("[data-action=use]").on("click",a=>Ba(t,a)),n.find("[data-action=display]").on("click",a=>ja(t,a)),n.find("[data-action=discard]").on("click",Ga),n.find("[data-action=discard-selected]").on("click",()=>Na(t,e)),e.find("[data-action=hero-actions-trade]").on("click",()=>$t(t))}o(Ha,"addSheetEvents");async function Na(e,t){let a=t.find(".tab.actions .heroActions-list .action.discarded").toArray().map(r=>r.dataset.uuid);Ut(e,a)}o(Na,"onClickHeroActionsDiscard");function Ga(e){e.preventDefault();let t=$(e.currentTarget).closest(".action"),n=t.closest(".heroActions-list");t.toggleClass("discarded");let a=Number(n.attr("data-discard")??"0"),r=n.find(".action.discarded");n.toggleClass("discardable",r.length===a)}o(Ga,"onClickHeroActionDiscard");async function ja(e,t){t.preventDefault();let n=$(t.currentTarget).closest(".action").attr("data-uuid");Gt(e,n)}o(ja,"onClickHeroActionDisplay");async function Ba(e,t){t.preventDefault();let n=$(t.currentTarget).closest(".action").attr("data-uuid");Lt(e,n)}o(Ba,"onClickHeroActionUse");async function za(e,t){t.preventDefault(),xt(e)}o(za,"onClickHeroActionsDraw");function L(e){return getProperty(e,`flags.${Re}.heroActions`)??[]}o(L,"getHeroActions");async function K(e,t){return e.update({[`flags.${Re}.heroActions`]:t})}o(K,"setHeroActions");async function Mt(e){e.preventDefault();let t=$(e.currentTarget).closest(".action"),n=t.find(".item-summary");if(!n.hasClass("loaded")){let a=t.attr("data-uuid"),r=await Me(a);if(!r)return;let s=await TextEditor.enrichHTML(r.description,{async:!0});n.find(".item-description").html(s),n.addClass("loaded")}t.toggleClass("expanded")}o(Mt,"onClickHeroActionExpand");async function Me(e){let t=await fromUuid(e);if(!t)return;let n=t instanceof JournalEntry?t:t.parent,a=t instanceof JournalEntry?t.pages.contents[0]:t,r=a?.text.content;if(r)return n.uuid===$a&&(r=r.replace(/^${n}
`,content:r,speaker:ChatMessage.getSpeaker({actor:e})};a&&v("hero-private")&&(i.type=CONST.CHAT_MESSAGE_TYPES.ROLL,i.rollMode=CONST.DICE_ROLL_MODES.PRIVATE),ChatMessage.create(i)}o(xe,"createChatMessage");function Wa(e){let t=e.map(({uuid:n,name:a})=>j(n,a));return{content:t.map(n=>`${w("hero.actions-use.header")}
`,content:`${s.name}
${s.description}`,speaker:ChatMessage.getSpeaker({actor:e})})):K(e,a)}o(Lt,"useHeroAction");async function Ut(e,t){if(!e?.isOfType("character")){D("hero.onlyCharacter");return}t=typeof t=="string"?[t]:t;let n=L(e),a=[];for(let r of t){let s=n.findIndex(i=>i.uuid===r);s!==-1&&(a.push(n[s]),n.splice(s,1))}K(e,n),xe({actor:e,actions:a,label:r=>w("hero.actions-discard.header",{nb:r})})}o(Ut,"discardHeroActions");async function _t(e,t){return e.type!==CONST.TABLE_RESULT_TYPES.TEXT?e.text:/@UUID\[[\w\.]+\]{([\w -]+)}/.exec(e.text)?.[1]??(t&&(await fromUuid(t))?.name)}o(_t,"getLabelfromTableResult");async function Ht(e){if(!e)return;let t=await fromUuid(e);return t&&t instanceof RollTable?t:void 0}o(Ht,"getTableFromUuid");async function qa(){return Ht(Oe)}o(qa,"getDefaultCompendiumTable");function Nt(){return game.tables.find(e=>e.getFlag("core","sourceId")===Oe)}o(Nt,"getDefaultWorldTable");async function Va(){return Ht(v("hero-table"))}o(Va,"getCustomTable");async function Qe(){return await Va()??Nt()??await qa()}o(Qe,"getDeckTable");async function Gt(e,t){let n=await Me(t);if(!n)return W("hero.details.missing");ChatMessage.create({content:`${n.name}
${n.description}`,speaker:ChatMessage.getSpeaker({actor:e})})}o(Gt,"sendActionToChat");function Dt(e){if(e.receiver.id===game.user.id){jt(e);return}M({...e,type:"hero.trade-request"})}o(Dt,"sendTradeRequest");function jt(e){if(game.user.isGM){Bt(e);return}M({...e,type:"hero.trade-accept"})}o(jt,"acceptRequest");async function Bt(e){let{sender:t,receiver:n}=e,a=game.actors.get(t.cid),r=game.actors.get(n.cid);if(!a||!r){Ye(e);return}let s=L(a),i=L(r),c=s.findIndex(p=>p.uuid===t.uuid),l=i.findIndex(p=>p.uuid===n.uuid);if(c===-1||l===-1){Ye(e);return}let u=s.splice(c,1)[0],f=i.splice(l,1)[0];s.push(f),i.push(u),K(a,s),K(r,i);let g=j(u.uuid),m=j(f.uuid),y=T("hero.trade-success"),d=`${y("header",{name:r.name})}
`,content:d,speaker:ChatMessage.getSpeaker({actor:a})})}o(Bt,"onTradeAccepted");function Ye({sender:e,receiver:t},n="trade-error"){let a=new Set([e.id,t.id]);a.has(game.user.id)&&(a.delete(game.user.id),zt(n)),a.size&&M({type:"hero.trade-error",users:Array.from(a),error:n})}o(Ye,"sendTradeError");function zt(e){W("hero.trade-error")}o(zt,"onTradeError");async function Ka(e){let{sender:t,receiver:n}=e,a=game.actors.get(t.cid),r=game.actors.get(n.cid);if(!a||!r){Ye(e);return}let s=T("hero.trade-request"),i=`
"),l.append(u)}),i.after(l),Kn(e,l,r)}o(vs,"renderSpellChatMessage");function Vn(e,t){e.stopPropagation();let n=game.user.targets;G(t,"target.targets",Array.from(n.map(a=>({token:a.document.uuid,actor:a.actor.uuid}))))}o(Vn,"addTargets");async function Ss(e,t){let n=await Yn(e),a=t.find(".message-content"),s=a.find(".damage-application"),r=s.clone(),i=$('');if(n?.targets.length&&s.length){let f=o(()=>{let d=!!me(e,"target.expanded");p.toggleClass("collapse",d),s.toggleClass("hidden",!d)},"toggleDamageRow"),h=w("target.chat.toggle.tooltip"),p=$(`
"),l.append(u)}),i.after(l),ea(e,l,s)}o(vr,"renderSpellChatMessage");function Zn(e,t){e.stopPropagation();let n=game.user.targets;G(t,"target.targets",Array.from(n.map(a=>({token:a.document.uuid,actor:a.actor.uuid}))))}o(Zn,"addTargets");async function Sr(e,t){let n=await ta(e),a=t.find(".message-content"),r=a.find(".damage-application"),s=r.clone(),i=$('');if(n?.targets.length&&r.length){let f=o(()=>{let y=!!me(e,"target.expanded");m.toggleClass("collapse",y),r.toggleClass("hidden",!y)},"toggleDamageRow"),g=w("target.chat.toggle.tooltip"),m=$(`
"),u.append(h),m.each((y,b)=>{b.dataset.rollIndex=y,b.dataset.targetUuid=f,b.classList.toggle("applied",!!d[y]||g&&p.result.success==="criticalSuccess"),g&&b.classList.add(p.result.success)}),u.append(m)}),a.after(u),Kn(e,u,l),u.find("button[data-action^=target-]").on("click",f=>Is(f,e))}o(Ss,"renderDamageChatMessage");function Kn(e,t,n){t.find("[data-action=ping-target]").on("click",Es),t.find("[data-action=open-target-sheet]").on("click",ws),t.find("[data-action=roll-save]").on("click",a=>ks(a,e,n)),t.find("[data-action=reroll-save]").on("click",a=>Cs(a,e,n))}o(Kn,"addHeaderListeners");async function Yn(e){let t=C(e,"target.targets")??[],n=game.user.isGM||game.settings.get("pf2e","metagame_showDC"),a=(()=>{let r=C(e,"target.save");if(r)return{...r,...ds[r.statistic]}})();if(!t.length&&!a)return;if(a){let r=game.i18n.format("PF2E.SavingThrowWithName",{saveName:game.i18n.localize(a.label)}),i=n?w("target.chat.save.dcWithValue",{dc:a.dc}):"";a.tooltipLabel=`${r} ${i}`,a.tooltip=await renderTemplate(I("target/save-tooltip"),{check:a.tooltipLabel})}return{targets:(await Promise.all(t.map(async({token:r})=>{let i=await fromUuid(r);if(!i?.isOwner)return;let c=i.id,l=i.actor,u=a&&!!l?.saves[a.statistic],f=await(async()=>{if(!u)return;let p=C(e,`target.saves.${c}`);if(!p)return;let d=p.rerolled,g=u&&!d,m=game.i18n.localize(`PF2E.Check.Result.Degree.Check.${p.success}`),y=p.value-a.dc;return{...p,canReroll:g,tooltip:await renderTemplate(I("target/save-tooltip"),{i18n:T("target.chat.save"),check:a.tooltipLabel,result:w(`target.chat.save.result.${n?"withOffset":"withoutOffset"}`,{success:m,offset:y>=0?`+${y}`:y,die:` ${p.die}`}),modifiers:p.modifiers,canReroll:g,rerolled:st[d]})}})(),h=a&&{...a,result:f};return{uuid:r,target:i,save:h,applied:C(e,`target.applied.${c}`),template:await renderTemplate(I("target/row-header"),{name:i.name,uuid:r,save:u&&h,canReroll:f?.canReroll,rerolled:st[f?.rerolled]})}}))).filter(Boolean),save:a}}o(Yn,"getMessageData");async function je(e){let{targetUuid:t}=e.currentTarget.closest("[data-target-uuid]").dataset;return fromUuid(t)}o(je,"getTargetFromEvent");async function Cs(e,t,{dc:n}){let a=await je(e),s=a?.actor;if(!s)return;let r=C(t,`target.saves.${a.id}`);if(!r?.roll||r.rerolled)return;let i=s.isOfType("character")?s.heroPoints.value:0,c=Object.entries(st).map(([b,{icon:E,reroll:A}])=>{if(b==="hero"&&!i)return;let M=game.i18n.localize(A);return``}).filter(Boolean).join(""),l={yes:{icon:'',label:"reroll",callback:b=>b.find("[name=reroll]:checked").val()??null},no:{icon:'',label:"cancel",callback:()=>null}},u=await Dialog.wait({title:`${a.name} - ${w("target.chat.save.reroll.confirm.title")}`,content:c,buttons:l,close:()=>null},{id:`pf2e-toolbelt-target-save-reroll-dialog-${a.id}`});if(!u)return;let f=u==="hero",h=f?"new":u;if(f){let{value:b,max:E}=s.heroPoints;if(b<1){D("target.chat.save.reroll.noPoints");return}await s.update({"system.resources.heroPoints.value":Math.clamped(b-1,0,E)})}let p=Roll.fromJSON(r.roll),d=p.clone();d.options.isReroll=!0,Hooks.callAll("pf2e.preReroll",Roll.fromJSON(r.roll),d,f,h);let g=await d.evaluate({async:!0});Hooks.callAll("pf2e.reroll",Roll.fromJSON(r.roll),g,f,h);let m=h==="higher"&&p.total>g.total||h==="lower"&&p.total${w("settings.client")}
`)}o(Ds,"renderSettingsConfig");})();
+
"),u.append(g),p.each((h,b)=>{b.dataset.rollIndex=h,b.dataset.targetUuid=f,b.classList.toggle("applied",!!y[h]||d&&m.result.success==="criticalSuccess"),d&&b.classList.add(m.result.success)}),u.append(p)}),a.after(u),ea(e,u,l),u.find("button[data-action^=target-]").on("click",f=>Ir(f,e))}o(Sr,"renderDamageChatMessage");function ea(e,t,n){t.find("[data-action=ping-target]").on("click",wr),t.find("[data-action=open-target-sheet]").on("click",Er),t.find("[data-action=roll-save]").on("click",a=>kr(a,e,n)),t.find("[data-action=reroll-save]").on("click",a=>Cr(a,e,n))}o(ea,"addHeaderListeners");async function ta(e){let t=C(e,"target.targets")??[],n=game.user.isGM||game.settings.get("pf2e","metagame_showDC"),a=(()=>{let s=C(e,"target.save");if(s)return{...s,...dr[s.statistic]}})();if(!t.length&&!a)return;if(a){let s=game.i18n.format("PF2E.SavingThrowWithName",{saveName:game.i18n.localize(a.label)}),i=n?w("target.chat.save.dcWithValue",{dc:a.dc}):"";a.tooltipLabel=`${s} ${i}`,a.tooltip=await renderTemplate(I("target/save-tooltip"),{check:a.tooltipLabel})}return{targets:(await Promise.all(t.map(async({token:s})=>{let i=await fromUuid(s);if(!i?.isOwner)return;let c=i.id,l=i.actor,u=a&&!!l?.saves[a.statistic],f=await(async()=>{if(!u)return;let m=C(e,`target.saves.${c}`);if(!m)return;let y=m.rerolled,d=u&&!y,p=game.i18n.localize(`PF2E.Check.Result.Degree.Check.${m.success}`),h=m.value-a.dc;return{...m,canReroll:d,tooltip:await renderTemplate(I("target/save-tooltip"),{i18n:T("target.chat.save"),check:a.tooltipLabel,result:w(`target.chat.save.result.${n?"withOffset":"withoutOffset"}`,{success:p,offset:h>=0?`+${h}`:h,die:` ${m.die}`}),modifiers:m.modifiers,canReroll:d,rerolled:st[y]})}})(),g=a&&{...a,result:f};return{uuid:s,target:i,save:g,applied:C(e,`target.applied.${c}`),template:await renderTemplate(I("target/row-header"),{name:i.name,uuid:s,save:u&&g,canReroll:f?.canReroll,rerolled:st[f?.rerolled]})}}))).filter(Boolean),save:a}}o(ta,"getMessageData");async function je(e){let{targetUuid:t}=e.currentTarget.closest("[data-target-uuid]").dataset;return fromUuid(t)}o(je,"getTargetFromEvent");async function Cr(e,t,{dc:n}){let a=await je(e),r=a?.actor;if(!r)return;let s=C(t,`target.saves.${a.id}`);if(!s?.roll||s.rerolled)return;let i=r.isOfType("character")?r.heroPoints.value:0,c=Object.entries(st).map(([b,{icon:k,reroll:P}])=>{if(b==="hero"&&!i)return;let R=game.i18n.localize(P);return``}).filter(Boolean).join(""),l={yes:{icon:'',label:"reroll",callback:b=>b.find("[name=reroll]:checked").val()??null},no:{icon:'',label:"cancel",callback:()=>null}},u=await Dialog.wait({title:`${a.name} - ${w("target.chat.save.reroll.confirm.title")}`,content:c,buttons:l,close:()=>null},{id:`pf2e-toolbelt-target-save-reroll-dialog-${a.id}`});if(!u)return;let f=u==="hero",g=f?"new":u;if(f){let{value:b,max:k}=r.heroPoints;if(b<1){D("target.chat.save.reroll.noPoints");return}await r.update({"system.resources.heroPoints.value":Math.clamped(b-1,0,k)})}let m=Roll.fromJSON(s.roll),y=m.clone();y.options.isReroll=!0,Hooks.callAll("pf2e.preReroll",Roll.fromJSON(s.roll),y,f,g);let d=await y.evaluate({async:!0});Hooks.callAll("pf2e.reroll",Roll.fromJSON(s.roll),d,f,g);let p=g==="higher"&&m.total>d.total||g==="lower"&&m.total${w("settings.client")}
`)}o(Ar,"renderSettingsConfig");})();
//# sourceMappingURL=main.js.map
diff --git a/scripts/main.js.map b/scripts/main.js.map
index 0289891..bda090d 100644
--- a/scripts/main.js.map
+++ b/scripts/main.js.map
@@ -1,7 +1,7 @@
{
"version": 3,
- "sources": ["../src/module.js", "../src/shared/libwrapper.js", "../src/shared/localize.js", "../src/shared/notification.js", "../src/shared/settings.js", "../src/features/arp.js", "../src/shared/hook.js", "../src/features/effects.js", "../src/apps/giveth/popup.js", "../src/shared/actor.js", "../src/shared/flags.js", "../src/shared/chat.js", "../src/shared/socket.js", "../src/shared/user.js", "../src/features/giveth.js", "../src/shared/path.js", "../src/apps/hero/trade.js", "../src/shared/misc.js", "../src/features/hero.js", "../src/apps/knowledges/lores.js", "../src/features/knowledges.js", "../src/apps/merge/multi.js", "../src/features/merge.js", "../src/features/modifiers.js", "../src/features/nobulk.js", "../src/features/share.js", "../src/shared/item.js", "../src/features/stances.js", "../src/features/summary.js", "../src/shared/pf2e.js", "../src/shared/template.js", "../src/features/target.js", "../src/features/unided.js", "../src/macros/condition.js", "../src/main.js"],
- "sourcesContent": ["export const MODULE_ID = 'pf2e-toolbelt'\r\n\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function registerWrapper(path, callback, type = 'WRAPPER') {\r\n return libWrapper.register(MODULE_ID, path, callback, type)\r\n}\r\n\r\nexport function unregisterWrapper(id) {\r\n libWrapper.unregister(MODULE_ID, id)\r\n}\r\n", "import { MODULE_ID } from '../module'\r\nimport { error, info, warn } from './notification'\r\n\r\nexport function localize(...args) {\r\n let [key, data] = args\r\n key = `${MODULE_ID}.${key}`\r\n if (data) return game.i18n.format(key, data)\r\n return game.i18n.localize(key)\r\n}\r\n\r\nexport function hasLocalization(key) {\r\n return game.i18n.has(`${MODULE_ID}.${key}`, false)\r\n}\r\n\r\nexport function localizePath(key) {\r\n return `${MODULE_ID}.${key}`\r\n}\r\n\r\nexport function subLocalize(subKey) {\r\n const fn = (...args) => localize(`${subKey}.${args[0]}`, args[1])\r\n\r\n Object.defineProperties(fn, {\r\n warn: {\r\n value: (...args) => warn(`${subKey}.${args[0]}`, args[1], args[2]),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n info: {\r\n value: (...args) => info(`${subKey}.${args[0]}`, args[1], args[2]),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n error: {\r\n value: (...args) => error(`${subKey}.${args[0]}`, args[1], args[2]),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n has: {\r\n value: key => hasLocalization(`${subKey}.${key}`),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n path: {\r\n value: key => localizePath(`${subKey}.${key}`),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n template: {\r\n value: (key, { hash }) => fn(key, hash),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n })\r\n\r\n return fn\r\n}\r\n", "import { localize } from './localize'\r\n\r\nfunction notify(str, arg1, arg2, arg3) {\r\n const type = typeof arg1 === 'string' ? arg1 : 'info'\r\n const data = typeof arg1 === 'object' ? arg1 : typeof arg2 === 'object' ? arg2 : undefined\r\n const permanent = typeof arg1 === 'boolean' ? arg1 : typeof arg2 === 'boolean' ? arg2 : arg3 ?? false\r\n\r\n ui.notifications.notify(localize(str, data), type, { permanent })\r\n}\r\n\r\nexport function warn(...args) {\r\n const [str, arg1, arg2] = args\r\n notify(str, 'warning', arg1, arg2)\r\n}\r\n\r\nexport function info(...args) {\r\n const [str, arg1, arg2] = args\r\n notify(str, 'info', arg1, arg2)\r\n}\r\n\r\nexport function error(...args) {\r\n const [str, arg1, arg2] = args\r\n notify(str, 'error', arg1, arg2)\r\n}\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function getSetting(setting) {\r\n return game.settings.get(MODULE_ID, setting)\r\n}\r\n\r\nexport function setSetting(key, value) {\r\n return game.settings.set(MODULE_ID, key, value)\r\n}\r\n", "import { registerWrapper } from '../shared/libwrapper'\r\nimport { info } from '../shared/notification'\r\nimport { getSetting } from '../shared/settings'\r\n\r\nconst PREPARE_WEAPON_DATA = 'CONFIG.PF2E.Item.documentClasses.weapon.prototype.prepareBaseData'\r\nconst PREPARE_WEAPON_DERIVED_DATA = 'CONFIG.PF2E.Item.documentClasses.weapon.prototype.prepareDerivedData'\r\n\r\nconst PREPARE_SHIELD_DATA = 'CONFIG.PF2E.Item.documentClasses.shield.prototype.prepareBaseData'\r\nconst PREPARE_SHIELD_DERIVED_DATA = 'CONFIG.PF2E.Item.documentClasses.shield.prototype.prepareDerivedData'\r\n\r\nconst PREPARE_ARMOR_DATA = 'CONFIG.PF2E.Item.documentClasses.armor.prototype.prepareBaseData'\r\nconst PREPARE_ARMOR_DERIVED_DATA = 'CONFIG.PF2E.Item.documentClasses.armor.prototype.prepareDerivedData'\r\n\r\nexport function registerArp() {\r\n return {\r\n settings: [\r\n {\r\n name: 'arp',\r\n type: Boolean,\r\n default: false,\r\n requiresReload: true,\r\n },\r\n ],\r\n conflicts: ['pf2e-arp'],\r\n init: () => {\r\n const setting = getSetting('arp')\r\n if (!setting) return\r\n\r\n registerWrapper(PREPARE_WEAPON_DATA, onPrepareWeaponData, 'WRAPPER')\r\n registerWrapper(PREPARE_WEAPON_DERIVED_DATA, onPrepareWeaponDerivedData, 'WRAPPER')\r\n\r\n registerWrapper(PREPARE_ARMOR_DATA, onPrepareArmorData, 'WRAPPER')\r\n registerWrapper(PREPARE_ARMOR_DERIVED_DATA, onPrepareArmorDerivedData, 'WRAPPER')\r\n\r\n // if (setting === 'with-shield') {\r\n // registerWrapper(PREPARE_SHIELD_DATA, onPrepareShieldData, 'WRAPPER')\r\n // registerWrapper(PREPARE_SHIELD_DERIVED_DATA, onPrepareShieldDerivedData, 'WRAPPER')\r\n // }\r\n },\r\n ready: isGM => {\r\n if (isGM && getSetting('arp') && game.settings.get('pf2e', 'automaticBonusVariant') !== 'noABP') {\r\n game.settings.set('pf2e', 'automaticBonusVariant', 'noABP')\r\n info('arp.forceVariant')\r\n }\r\n },\r\n }\r\n}\r\n\r\nfunction isValidActor(actor, isCharacter = false) {\r\n return actor && !actor.getFlag('pf2e', 'disableABP') && (!isCharacter || actor.isOfType('character'))\r\n}\r\n\r\n/**\r\n * weapon\r\n */\r\n\r\nconst WEAPON_POTENCY_PRICE = {\r\n 1: 35,\r\n 2: 935,\r\n 3: 8935,\r\n 4: 8935,\r\n}\r\n\r\nconst WEAPON_STRIKING_PRICE = {\r\n striking: 65,\r\n greaterStriking: 1065,\r\n majorStriking: 31065,\r\n}\r\n\r\nfunction isValidWeapon(weapon) {\r\n const traits = weapon._source.system.traits.value\r\n const group = weapon._source.system.group\r\n const category = weapon._source.system.category\r\n const slug = weapon._source.system.slug\r\n return (\r\n group !== 'shield' &&\r\n (slug === 'handwraps-of-mighty-blows' || category !== 'unarmed') &&\r\n !traits.includes('alchemical') &&\r\n !traits.includes('bomb')\r\n )\r\n}\r\n\r\nfunction onPrepareWeaponData(wrapped) {\r\n const actor = this.actor\r\n if (!isValidActor(actor, true) || !isValidWeapon(this)) return wrapped()\r\n\r\n const level = actor.level\r\n\r\n const traits = this._source.system.traits.value\r\n if (traits.includes('alchemical') && traits.includes('bomb')) return wrapped()\r\n\r\n this.system.potencyRune.value = level < 2 ? null : level < 10 ? 1 : level < 16 ? 2 : 3\r\n this.system.strikingRune.value = level < 4 ? null : level < 12 ? 'striking' : level < 19 ? 'greaterStriking' : 'majorStriking'\r\n\r\n wrapped()\r\n}\r\n\r\nfunction onPrepareWeaponDerivedData(wrapped) {\r\n wrapped()\r\n\r\n if (!isValidActor(this.actor) || this.isSpecific || !isValidWeapon(this)) return\r\n\r\n let coins = this.price.value.toObject()\r\n if (!coins.gp) return\r\n\r\n const potency = this.system.potencyRune.value\r\n if (potency) coins.gp -= WEAPON_POTENCY_PRICE[potency]\r\n\r\n const striking = this.system.strikingRune.value\r\n if (striking) coins.gp -= WEAPON_STRIKING_PRICE[striking]\r\n\r\n coins = new game.pf2e.Coins(coins)\r\n\r\n if ((potency || striking) && !this.system.runes.property.length) {\r\n coins = coins.add(this._source.system.price.value)\r\n }\r\n\r\n this.system.price.value = coins\r\n}\r\n\r\n/**\r\n * shield\r\n */\r\n\r\nconst SHIELD_REINFORCING = {\r\n 1: { price: 75, increase: 44 }, // level 4\r\n 2: { price: 300, increase: 52 }, // level 7\r\n 3: { price: 900, increase: 64 }, // level 10\r\n 4: { price: 2500, increase: 80 }, // level 13\r\n 5: { price: 8000, increase: 84 }, // level 16\r\n 6: { price: 32000, increase: 108 }, // level 19\r\n}\r\n\r\nfunction isValidShield(shield) {\r\n return true\r\n}\r\n\r\nfunction onPrepareShieldData(wrapped) {\r\n const actor = this.actor\r\n if (!isValidActor(actor, true) || !isValidShield(this)) return wrapped()\r\n\r\n const level = actor.level\r\n\r\n this.system.runes.reinforcing =\r\n level < 4 ? null : level < 7 ? 1 : level < 10 ? 2 : level < 13 ? 3 : level < 16 ? 4 : level < 19 ? 5 : 6\r\n\r\n wrapped()\r\n}\r\n\r\nfunction onPrepareShieldDerivedData(wrapped) {\r\n wrapped()\r\n\r\n if (!isValidActor(this.actor) || this.isSpecific || !isValidShield(this)) return\r\n\r\n let coins = this.price.value.toObject()\r\n if (!coins.gp) return\r\n\r\n const reinforcing = this.system.runes.reinforcing\r\n if (reinforcing) coins.gp -= SHIELD_REINFORCING[reinforcing].price\r\n\r\n coins = new game.pf2e.Coins(coins)\r\n\r\n this.system.price.value = coins\r\n}\r\n\r\n/**\r\n * amor\r\n */\r\n\r\nconst ARMOR_POTENCY_PRICE = {\r\n 1: 160,\r\n 2: 1060,\r\n 3: 20560,\r\n 4: 20560,\r\n}\r\n\r\nconst ARMOR_RESILIENCY_PRICE = {\r\n resilient: 340,\r\n greaterResilient: 3440,\r\n majorResilient: 49440,\r\n}\r\n\r\nfunction isValidArmor(armor) {\r\n return true\r\n}\r\n\r\nfunction onPrepareArmorData(wrapped) {\r\n const actor = this.actor\r\n if (!isValidActor(actor, true) || !isValidArmor(this)) return wrapped()\r\n\r\n const level = actor.level\r\n\r\n this.system.potencyRune.value = level < 5 ? null : level < 11 ? 1 : level < 18 ? 2 : 3\r\n this.system.resiliencyRune.value =\r\n level < 8 ? null : level < 14 ? 'resilient' : level < 20 ? 'greaterResilient' : 'majorResilient'\r\n\r\n wrapped()\r\n}\r\n\r\nfunction onPrepareArmorDerivedData(wrapped) {\r\n wrapped()\r\n\r\n if (!isValidActor(this.actor) || this.isSpecific || !isValidArmor(this)) return\r\n\r\n let coins = this.price.value.toObject()\r\n if (!coins.gp) return\r\n\r\n const potency = this.system.potencyRune.value\r\n if (potency) coins.gp -= ARMOR_POTENCY_PRICE[potency]\r\n\r\n const resiliency = this.system.resiliencyRune.value\r\n if (resiliency) coins.gp -= ARMOR_RESILIENCY_PRICE[resiliency]\r\n\r\n coins = new game.pf2e.Coins(coins)\r\n\r\n if ((potency || resiliency) && !this.system.runes.property.length) {\r\n coins = coins.add(this._source.system.price.value)\r\n }\r\n\r\n this.system.price.value = coins\r\n}\r\n", "import { getSetting } from './settings'\r\n\r\nexport function createHook(event, listener, callback = () => {}) {\r\n let HOOK = null\r\n\r\n return function (value, otherSettings = [], skipCallback = false) {\r\n if (typeof otherSettings === 'string') otherSettings = [otherSettings]\r\n\r\n value ||= otherSettings.some(s => getSetting(s))\r\n\r\n if (value && !HOOK) {\r\n HOOK = Hooks.on(event, listener)\r\n } else if (!value && HOOK) {\r\n Hooks.off(event, HOOK)\r\n HOOK = null\r\n }\r\n\r\n if (!skipCallback) callback(value)\r\n }\r\n}\r\n\r\nexport function createChoicesHook(event, listener, callback = () => {}) {\r\n let HOOK = null\r\n\r\n return function (value, skipCallback = false) {\r\n if (value === false) value = 'disabled'\r\n\r\n if (value === 'disabled' && HOOK) {\r\n Hooks.off(event, HOOK)\r\n HOOK = null\r\n } else if (value !== 'disabled' && !HOOK) {\r\n HOOK = Hooks.on(event, listener)\r\n }\r\n\r\n if (!skipCallback) callback(value)\r\n }\r\n}\r\n\r\nexport function registerUpstreamHook(hook, fn) {\r\n const id = Hooks.on(hook, fn)\r\n const index = Hooks.events[hook].findIndex(x => x.id === id)\r\n\r\n if (index !== 0) {\r\n const [hooked] = Hooks.events[hook].splice(index, 1)\r\n Hooks.events[hook].unshift(hooked)\r\n }\r\n\r\n return id\r\n}\r\n", "import { createHook } from '../shared/hook'\r\nimport { localize } from '../shared/localize'\r\nimport { getSetting } from '../shared/settings'\r\n\r\nconst setHook = createHook('renderEffectsPanel', renderEffectsPanel, refreshEffectsPanel)\r\n\r\nexport function registerEffectsPanelHelper() {\r\n return {\r\n settings: [\r\n {\r\n name: 'effect-remove',\r\n type: Boolean,\r\n default: false,\r\n scope: 'client',\r\n onChange: value => setHook(value, 'condition-sheet'),\r\n },\r\n {\r\n name: 'condition-sheet',\r\n type: Boolean,\r\n default: false,\r\n scope: 'client',\r\n onChange: value => setHook(value, 'effect-remove'),\r\n },\r\n ],\r\n conflicts: ['pf2e-effect-description'],\r\n init: () => {\r\n setHook(false, ['effect-remove', 'condition-sheet'])\r\n },\r\n }\r\n}\r\n\r\nfunction refreshEffectsPanel() {\r\n game.pf2e.effectPanel?.render()\r\n}\r\n\r\nfunction renderEffectsPanel(panel, html) {\r\n const removeRow = `${localize('giveth.giveth', { target: target.name })}
`,\r\n content,\r\n speaker: ChatMessage.getSpeaker({ actor: owner }),\r\n })\r\n}\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function templatePath(...path) {\r\n path = path.filter(x => typeof x === 'string')\r\n return `modules/${MODULE_ID}/templates/${path.join('/')}.hbs`\r\n}\r\n", "import { getHeroActions, sendTradeRequest } from '../../features/hero'\r\nimport { subLocalize } from '../../shared/localize'\r\nimport { templatePath } from '../../shared/path'\r\nimport { getCharacterOwner, getOwner } from '../../shared/user'\r\n\r\nconst localize = subLocalize('hero.templates.trade')\r\n\r\nexport class Trade extends Application {\r\n constructor(actor) {\r\n super({ id: `pf2e-hero-actions-trade-${actor.id}` })\r\n this._actor = actor\r\n }\r\n\r\n static get defaultOptions() {\r\n return mergeObject(super.defaultOptions, {\r\n title: localize('title'),\r\n template: templatePath('hero/trade'),\r\n width: 600,\r\n height: 'auto',\r\n })\r\n }\r\n\r\n get actor() {\r\n return this._actor\r\n }\r\n\r\n get target() {\r\n return this._target\r\n }\r\n\r\n set target(value) {\r\n if (!value) {\r\n localize.error('no-target')\r\n return\r\n }\r\n if (value === this._target) return\r\n delete this.target?.apps?.[this.appId]\r\n this._target = value\r\n this.render()\r\n }\r\n\r\n getData(options) {\r\n return mergeObject(super.getData(), {\r\n actor: this.actor,\r\n target: this.target,\r\n targets: game.actors.filter(x => x.type === 'character' && x.id !== this.actor.id && x.hasPlayerOwner),\r\n actions: getHeroActions(this.actor),\r\n targetActions: this.target ? getHeroActions(this.target) : [],\r\n i18n: localize,\r\n })\r\n }\r\n\r\n activateListeners(html) {\r\n super.activateListeners(html)\r\n html.find('select[name=\"target\"]').on('change', this.#onChangeTarget.bind(this))\r\n html.find('[data-action=\"description\"]').on('click', this.#onDescription.bind(this))\r\n html.find('[data-action=\"trade\"]').on('click', this.#onSendTrade.bind(this))\r\n html.find('[data-action=\"cancel\"]').on('click', () => this.close())\r\n }\r\n\r\n render(force, options) {\r\n this.actor.apps[this.appId] = this\r\n if (this.target) this.target.apps[this.appId] = this\r\n return super.render(force, options)\r\n }\r\n\r\n async close(options) {\r\n await super.close(options)\r\n delete this.actor.apps?.[this.appId]\r\n delete this.target?.apps?.[this.appId]\r\n }\r\n\r\n #onSendTrade() {\r\n if (!this.target) {\r\n localize.warn('no-target')\r\n return\r\n }\r\n\r\n const action = this.element.find('[name=\"action\"]:checked').val()\r\n const target = this.element.find('[name=\"targetAction\"]:checked').val()\r\n\r\n if (typeof action !== 'string' || typeof target !== 'string') {\r\n localize.warn('no-select')\r\n return\r\n }\r\n\r\n let user = getCharacterOwner(this.target, true) ?? getOwner(this.target, true) ?? game.users.activeGM\r\n if (!user) {\r\n localize.warn('no-user')\r\n return\r\n }\r\n\r\n sendTradeRequest({\r\n sender: {\r\n id: game.user.id,\r\n cid: this.actor.id,\r\n uuid: action,\r\n },\r\n receiver: {\r\n id: user.id,\r\n cid: this.target.id,\r\n uuid: target,\r\n },\r\n })\r\n\r\n this.close()\r\n }\r\n\r\n async #onDescription(event) {\r\n const uuid = $(event.currentTarget).siblings('input').val()\r\n const entry = await fromUuid(uuid)\r\n entry?.sheet.render(true)\r\n }\r\n\r\n #onChangeTarget(event) {\r\n const id = event.currentTarget.value\r\n this.target = game.actors.get(id)\r\n }\r\n}\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function localeCompare(a, b) {\r\n return a.localeCompare(b, game.i18n.lang)\r\n}\r\n\r\nexport function refreshCharacterSheets(actor) {\r\n for (const win of Object.values(ui.windows)) {\r\n const winActor = win.actor\r\n if (!(win instanceof ActorSheet) || !winActor.isOfType('character')) continue\r\n if (!actor || actor === winActor) win.render()\r\n }\r\n}\r\n\r\nexport function compareArrays(arr1, arr2) {\r\n if (arr1.length !== arr2.length) return false\r\n\r\n const clonedArr2 = arr2.slice()\r\n\r\n for (const arr1Value of arr1) {\r\n const index = clonedArr2.findIndex(arr2Value => arr1Value === arr2Value)\r\n if (index === -1) return false\r\n clonedArr2.splice(index, 1)\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport function ordinalString(value) {\r\n const pluralRules = new Intl.PluralRules(game.i18n.lang, { type: 'ordinal' })\r\n const suffix = game.i18n.localize(`PF2E.OrdinalSuffixes.${pluralRules.select(value)}`)\r\n return game.i18n.format('PF2E.OrdinalNumber', { value, suffix })\r\n}\r\n\r\nexport function isInstanceOf(obj, name) {\r\n if (typeof obj !== 'object') return false\r\n\r\n while ((obj = Reflect.getPrototypeOf(obj))) {\r\n if (obj.constructor.name === name) return true\r\n }\r\n\r\n return false\r\n}\r\n\r\nexport function setInMemory(doc, key, value) {\r\n return setProperty(doc, `modules.${MODULE_ID}.${key}`, value)\r\n}\r\n\r\nexport function getInMemory(doc, key) {\r\n return getProperty(doc, `modules.${MODULE_ID}.${key}`)\r\n}\r\n\r\nexport function deleteInMemory(doc, key) {\r\n const split = `modules.${MODULE_ID}.${key}`.split('.')\r\n const last = split.pop()\r\n let cursor = doc\r\n for (const key of split) {\r\n cursor = cursor[key]\r\n if (!cursor) return true\r\n }\r\n return delete cursor[last]\r\n}\r\n", "import { Trade } from '../apps/hero/trade'\r\nimport { isPlayedActor } from '../shared/actor'\r\nimport { chatUUID } from '../shared/chat'\r\nimport { createHook } from '../shared/hook'\r\nimport { localize, subLocalize } from '../shared/localize'\r\nimport { refreshCharacterSheets } from '../shared/misc'\r\nimport { error, warn } from '../shared/notification'\r\nimport { templatePath } from '../shared/path'\r\nimport { getSetting, setSetting } from '../shared/settings'\r\nimport { socketEmit, socketOff, socketOn } from '../shared/socket'\r\nimport { isActiveGM } from '../shared/user'\r\n\r\nconst MODULE_ID = 'pf2e-hero-actions'\r\n\r\nconst setHook = createHook('renderCharacterSheetPF2e', renderCharacterSheetPF2e, setupSocket)\r\n\r\nconst JOURNAL_UUID = 'Compendium.pf2e.journals.JournalEntry.BSp4LUSaOmUyjBko'\r\nconst TABLE_UUID = 'Compendium.pf2e.rollable-tables.RollTable.zgZoI7h0XjjJrrNK'\r\n\r\nconst TABLE_ICON = 'systems/pf2e/icons/features/feats/heroic-recovery.webp'\r\n\r\nlet SOCKET = false\r\n\r\nexport function registerHeroActions() {\r\n return {\r\n name: 'heroActions',\r\n settings: [\r\n {\r\n name: 'hero',\r\n type: Boolean,\r\n default: false,\r\n onChange: value => setHook(value),\r\n },\r\n {\r\n name: 'hero-table',\r\n type: String,\r\n default: '',\r\n },\r\n {\r\n name: 'hero-trade',\r\n type: Boolean,\r\n default: false,\r\n onChange: () => refreshCharacterSheets(),\r\n },\r\n {\r\n name: 'hero-private',\r\n type: Boolean,\r\n default: false,\r\n },\r\n ],\r\n conflicts: [MODULE_ID],\r\n api: {\r\n createTable,\r\n removeHeroActions,\r\n getHeroActions,\r\n useHeroAction,\r\n getHeroActionDetails,\r\n drawHeroAction,\r\n drawHeroActions,\r\n sendActionToChat,\r\n discardHeroActions,\r\n tradeHeroAction,\r\n getDeckTable,\r\n giveHeroActions,\r\n createChatMessage,\r\n },\r\n ready: () => {\r\n setHook(false, 'hero')\r\n },\r\n }\r\n}\r\n\r\nfunction setupSocket(value) {\r\n if (value && !SOCKET) {\r\n socketOn(onSocket)\r\n SOCKET = true\r\n } else if (!value && SOCKET) {\r\n socketOff(onSocket)\r\n SOCKET = false\r\n }\r\n}\r\n\r\nfunction onSocket(packet) {\r\n switch (packet.type) {\r\n case 'hero.trade-reject':\r\n if (packet.sender.id !== game.user.id) return\r\n onTradeRejected(packet)\r\n break\r\n case 'hero.trade-accept':\r\n if (!isActiveGM()) return\r\n onTradeAccepted(packet)\r\n break\r\n case 'hero.trade-request':\r\n if (packet.receiver.id !== game.user.id) return\r\n onTradeRequest(packet)\r\n break\r\n case 'hero.trade-error':\r\n if (!packet.users.includes(game.user.id)) return\r\n onTradeError(packet.error)\r\n break\r\n }\r\n}\r\n\r\nasync function renderCharacterSheetPF2e(sheet, html) {\r\n const actor = sheet.actor\r\n if (!isPlayedActor(actor)) return\r\n\r\n await addActionsToSheet(html, actor)\r\n addSheetEvents(html, actor)\r\n}\r\n\r\nasync function addActionsToSheet(html, actor) {\r\n const actions = getHeroActions(actor)\r\n const diff = actor.heroPoints.value - actions.length\r\n const isOwner = actor.isOwner\r\n const localize = subLocalize('hero.templates.heroActions')\r\n\r\n const template = await renderTemplate(templatePath('hero/sheet'), {\r\n owner: isOwner,\r\n list: actions,\r\n canUse: diff >= 0 && isOwner,\r\n canDraw: diff > 0 && isOwner,\r\n canTrade: getSetting('hero-trade'),\r\n mustDiscard: diff < 0,\r\n diff: Math.abs(diff),\r\n i18n: (key, { hash }) => localize(key, hash),\r\n })\r\n\r\n html.find(\r\n '.sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] > .strikes-list:not(.skill-action-list)'\r\n )\r\n .first()\r\n .after(template)\r\n}\r\n\r\nfunction addSheetEvents(html, actor) {\r\n const list = html.find('.tab.actions .heroActions-list')\r\n list.find('[data-action=draw]').on('click', event => onClickHeroActionsDraw(actor, event))\r\n list.find('[data-action=expand]').on('click', onClickHeroActionExpand)\r\n list.find('[data-action=use]').on('click', event => onClickHeroActionUse(actor, event))\r\n list.find('[data-action=display]').on('click', event => onClickHeroActionDisplay(actor, event))\r\n list.find('[data-action=discard]').on('click', onClickHeroActionDiscard)\r\n list.find('[data-action=discard-selected]').on('click', () => onClickHeroActionsDiscard(actor, html))\r\n html.find('[data-action=hero-actions-trade]').on('click', () => tradeHeroAction(actor))\r\n}\r\n\r\nasync function onClickHeroActionsDiscard(actor, html) {\r\n const discarded = html.find('.tab.actions .heroActions-list .action.discarded')\r\n const uuids = discarded.toArray().map(x => x.dataset.uuid)\r\n discardHeroActions(actor, uuids)\r\n}\r\n\r\nfunction onClickHeroActionDiscard(event) {\r\n event.preventDefault()\r\n\r\n const action = $(event.currentTarget).closest('.action')\r\n const list = action.closest('.heroActions-list')\r\n\r\n action.toggleClass('discarded')\r\n\r\n const toDiscard = Number(list.attr('data-discard') ?? '0')\r\n const $discarded = list.find('.action.discarded')\r\n\r\n list.toggleClass('discardable', $discarded.length === toDiscard)\r\n}\r\n\r\nasync function onClickHeroActionDisplay(actor, event) {\r\n event.preventDefault()\r\n const uuid = $(event.currentTarget).closest('.action').attr('data-uuid')\r\n sendActionToChat(actor, uuid)\r\n}\r\n\r\nasync function onClickHeroActionUse(actor, event) {\r\n event.preventDefault()\r\n const uuid = $(event.currentTarget).closest('.action').attr('data-uuid')\r\n useHeroAction(actor, uuid)\r\n}\r\n\r\nasync function onClickHeroActionsDraw(actor, event) {\r\n event.preventDefault()\r\n drawHeroActions(actor)\r\n}\r\n\r\nexport function getHeroActions(actor) {\r\n return getProperty(actor, `flags.${MODULE_ID}.heroActions`) ?? []\r\n}\r\n\r\nasync function setHeroActions(actor, actions) {\r\n return actor.update({ [`flags.${MODULE_ID}.heroActions`]: actions })\r\n}\r\n\r\nasync function onClickHeroActionExpand(event) {\r\n event.preventDefault()\r\n\r\n const action = $(event.currentTarget).closest('.action')\r\n const summary = action.find('.item-summary')\r\n\r\n if (!summary.hasClass('loaded')) {\r\n const uuid = action.attr('data-uuid')\r\n const details = await getHeroActionDetails(uuid)\r\n if (!details) return\r\n\r\n const text = await TextEditor.enrichHTML(details.description, { async: true })\r\n\r\n summary.find('.item-description').html(text)\r\n summary.addClass('loaded')\r\n }\r\n\r\n action.toggleClass('expanded')\r\n}\r\n\r\nasync function getHeroActionDetails(uuid) {\r\n let document = await fromUuid(uuid)\r\n if (!document) return undefined\r\n\r\n const parent = document instanceof JournalEntry ? document : document.parent\r\n const page = document instanceof JournalEntry ? document.pages.contents[0] : document\r\n\r\n let text = page?.text.content\r\n if (!text) return undefined\r\n\r\n if (parent.uuid === JOURNAL_UUID) text = text.replace(/^${label}
`,\r\n content,\r\n speaker: ChatMessage.getSpeaker({ actor: actor }),\r\n }\r\n\r\n if (secret && getSetting('hero-private')) {\r\n data.type = CONST.CHAT_MESSAGE_TYPES.ROLL\r\n data.rollMode = CONST.DICE_ROLL_MODES.PRIVATE\r\n }\r\n\r\n ChatMessage.create(data)\r\n}\r\n\r\nfunction chatActions(actions) {\r\n const links = actions.map(({ uuid, name }) => chatUUID(uuid, name))\r\n return {\r\n content: links.map(x => `${localize('hero.actions-use.header')}
`,\r\n content: `${details.name}
${details.description}`,\r\n speaker: ChatMessage.getSpeaker({ actor }),\r\n })\r\n } else {\r\n setHeroActions(actor, actions)\r\n }\r\n}\r\n\r\nasync function discardHeroActions(actor, uuids) {\r\n if (!actor?.isOfType('character')) {\r\n warn('hero.onlyCharacter')\r\n return\r\n }\r\n\r\n uuids = typeof uuids === 'string' ? [uuids] : uuids\r\n\r\n const actions = getHeroActions(actor)\r\n const removed = []\r\n\r\n for (const uuid of uuids) {\r\n const index = actions.findIndex(x => x.uuid === uuid)\r\n if (index === -1) continue\r\n removed.push(actions[index])\r\n actions.splice(index, 1)\r\n }\r\n\r\n setHeroActions(actor, actions)\r\n createChatMessage({ actor, actions: removed, label: nb => localize('hero.actions-discard.header', { nb }) })\r\n}\r\n\r\nasync function getLabelfromTableResult(result, uuid) {\r\n if (result.type !== CONST.TABLE_RESULT_TYPES.TEXT) return result.text\r\n const label = /@UUID\\[[\\w\\.]+\\]{([\\w -]+)}/.exec(result.text)?.[1]\r\n return label ?? (uuid && (await fromUuid(uuid))?.name)\r\n}\r\n\r\nasync function getTableFromUuid(uuid) {\r\n if (!uuid) return undefined\r\n const table = await fromUuid(uuid)\r\n return table && table instanceof RollTable ? table : undefined\r\n}\r\n\r\nasync function getDefaultCompendiumTable() {\r\n return getTableFromUuid(TABLE_UUID)\r\n}\r\n\r\nfunction getDefaultWorldTable() {\r\n return game.tables.find(x => x.getFlag('core', 'sourceId') === TABLE_UUID)\r\n}\r\n\r\nasync function getCustomTable() {\r\n return getTableFromUuid(getSetting('hero-table'))\r\n}\r\n\r\nasync function getDeckTable() {\r\n return (await getCustomTable()) ?? getDefaultWorldTable() ?? (await getDefaultCompendiumTable())\r\n}\r\n\r\nasync function sendActionToChat(actor, uuid) {\r\n const details = await getHeroActionDetails(uuid)\r\n if (!details) return error('hero.details.missing')\r\n\r\n ChatMessage.create({\r\n content: `${details.name}
${details.description}`,\r\n speaker: ChatMessage.getSpeaker({ actor: actor }),\r\n })\r\n}\r\n\r\nexport function sendTradeRequest(trade) {\r\n if (trade.receiver.id === game.user.id) {\r\n acceptRequest(trade)\r\n return\r\n }\r\n\r\n socketEmit({\r\n ...trade,\r\n type: 'hero.trade-request',\r\n })\r\n}\r\n\r\nfunction acceptRequest(trade) {\r\n if (game.user.isGM) {\r\n onTradeAccepted(trade)\r\n return\r\n }\r\n\r\n socketEmit({\r\n ...trade,\r\n type: 'hero.trade-accept',\r\n })\r\n}\r\n\r\nasync function onTradeAccepted(trade) {\r\n const { sender, receiver } = trade\r\n const senderActor = game.actors.get(sender.cid)\r\n const receiverActor = game.actors.get(receiver.cid)\r\n\r\n if (!senderActor || !receiverActor) {\r\n sendTradeError(trade)\r\n return\r\n }\r\n\r\n const senderActions = getHeroActions(senderActor)\r\n const receiverActions = getHeroActions(receiverActor)\r\n\r\n const senderActionIndex = senderActions.findIndex(x => x.uuid === sender.uuid)\r\n const receiverActionIndex = receiverActions.findIndex(x => x.uuid === receiver.uuid)\r\n\r\n if (senderActionIndex === -1 || receiverActionIndex === -1) {\r\n sendTradeError(trade)\r\n return\r\n }\r\n\r\n const senderAction = senderActions.splice(senderActionIndex, 1)[0]\r\n const receiverAction = receiverActions.splice(receiverActionIndex, 1)[0]\r\n\r\n senderActions.push(receiverAction)\r\n receiverActions.push(senderAction)\r\n\r\n setHeroActions(senderActor, senderActions)\r\n setHeroActions(receiverActor, receiverActions)\r\n\r\n const sentLink = chatUUID(senderAction.uuid)\r\n const receivedLink = chatUUID(receiverAction.uuid)\r\n\r\n const localize = subLocalize('hero.trade-success')\r\n\r\n let content = `${localize('header', { name: receiverActor.name })}
`,\r\n content,\r\n speaker: ChatMessage.getSpeaker({ actor: senderActor }),\r\n })\r\n}\r\n\r\nfunction sendTradeError({ sender, receiver }, error = 'trade-error') {\r\n const users = new Set([sender.id, receiver.id])\r\n\r\n if (users.has(game.user.id)) {\r\n users.delete(game.user.id)\r\n onTradeError(error)\r\n }\r\n\r\n if (!users.size) return\r\n\r\n socketEmit({\r\n type: 'hero.trade-error',\r\n users: Array.from(users),\r\n error,\r\n })\r\n}\r\n\r\nfunction onTradeError(err) {\r\n error('hero.trade-error')\r\n}\r\n\r\nasync function onTradeRequest(trade) {\r\n const { sender, receiver } = trade\r\n const senderActor = game.actors.get(sender.cid)\r\n const receiverActor = game.actors.get(receiver.cid)\r\n\r\n if (!senderActor || !receiverActor) {\r\n sendTradeError(trade)\r\n return\r\n }\r\n\r\n const localize = subLocalize('hero.trade-request')\r\n\r\n let content = `
')\r\n rowsTemplate.append(template)\r\n })\r\n\r\n msgContent.after(rowsTemplate)\r\n\r\n addHeaderListeners(message, rowsTemplate, save)\r\n}\r\n\r\nfunction addTargets(event, message) {\r\n event.stopPropagation()\r\n const targets = game.user.targets\r\n\r\n setFlag(\r\n message,\r\n 'target.targets',\r\n Array.from(targets.map(target => ({ token: target.document.uuid, actor: target.actor.uuid })))\r\n )\r\n}\r\n\r\nasync function renderDamageChatMessage(message, html) {\r\n const data = await getMessageData(message)\r\n const msgContent = html.find('.message-content')\r\n const damageRows = msgContent.find('.damage-application')\r\n const clonedRows = damageRows.clone()\r\n\r\n const buttons = $('')\r\n\r\n if (data?.targets.length && damageRows.length) {\r\n const toggleDamageRow = () => {\r\n const expanded = !!getInMemory(message, 'target.expanded')\r\n toggleBtn.toggleClass('collapse', expanded)\r\n damageRows.toggleClass('hidden', !expanded)\r\n }\r\n\r\n const toggleTooltip = localize('target.chat.toggle.tooltip')\r\n const toggleBtn = $(`
')\r\n rowsTemplate.append(template)\r\n\r\n clones.each((index, el) => {\r\n el.dataset.rollIndex = index\r\n el.dataset.targetUuid = uuid\r\n\r\n el.classList.toggle('applied', !!applied[index] || (isBasicSave && save.result.success === 'criticalSuccess'))\r\n if (isBasicSave) el.classList.add(save.result.success)\r\n })\r\n\r\n rowsTemplate.append(clones)\r\n })\r\n\r\n msgContent.after(rowsTemplate)\r\n\r\n addHeaderListeners(message, rowsTemplate, save)\r\n rowsTemplate.find('button[data-action^=target-]').on('click', event => onTargetButton(event, message))\r\n}\r\n\r\nfunction addHeaderListeners(message, html, save) {\r\n html.find('[data-action=ping-target]').on('click', pingTarget)\r\n html.find('[data-action=open-target-sheet]').on('click', openTargetSheet)\r\n html.find('[data-action=roll-save]').on('click', event => rollSave(event, message, save))\r\n html.find('[data-action=reroll-save]').on('click', event => rerollSave(event, message, save))\r\n}\r\n\r\nasync function getMessageData(message) {\r\n const targetsFlag = getFlag(message, 'target.targets') ?? []\r\n const showDC = game.user.isGM || game.settings.get('pf2e', 'metagame_showDC')\r\n\r\n const save = (() => {\r\n const flag = getFlag(message, 'target.save')\r\n if (!flag) return\r\n return {\r\n ...flag,\r\n ...SAVES[flag.statistic],\r\n }\r\n })()\r\n\r\n if (!targetsFlag.length && !save) return\r\n\r\n if (save) {\r\n const saveLabel = game.i18n.format('PF2E.SavingThrowWithName', { saveName: game.i18n.localize(save.label) })\r\n const saveDC = showDC ? localize('target.chat.save.dcWithValue', { dc: save.dc }) : ''\r\n save.tooltipLabel = `${saveLabel} ${saveDC}`\r\n save.tooltip = await renderTemplate(templatePath('target/save-tooltip'), {\r\n check: save.tooltipLabel,\r\n })\r\n }\r\n\r\n const targets = (\r\n await Promise.all(\r\n targetsFlag.map(async ({ token }) => {\r\n const target = await fromUuid(token)\r\n if (!target?.isOwner) return\r\n\r\n const targetId = target.id\r\n const actor = target.actor\r\n const hasSave = save && !!actor?.saves[save.statistic]\r\n\r\n const targetSave = await (async () => {\r\n if (!hasSave) return\r\n\r\n const flag = getFlag(message, `target.saves.${targetId}`)\r\n if (!flag) return\r\n\r\n const rerolled = flag.rerolled\r\n const canReroll = hasSave && !rerolled\r\n const successLabel = game.i18n.localize(`PF2E.Check.Result.Degree.Check.${flag.success}`)\r\n const offset = flag.value - save.dc\r\n\r\n return {\r\n ...flag,\r\n canReroll,\r\n tooltip: await renderTemplate(templatePath('target/save-tooltip'), {\r\n i18n: subLocalize('target.chat.save'),\r\n check: save.tooltipLabel,\r\n result: localize(`target.chat.save.result.${showDC ? 'withOffset' : 'withoutOffset'}`, {\r\n success: successLabel,\r\n offset: offset >= 0 ? `+${offset}` : offset,\r\n die: ` ${flag.die}`,\r\n }),\r\n modifiers: flag.modifiers,\r\n canReroll,\r\n rerolled: REROLL[rerolled],\r\n }),\r\n }\r\n })()\r\n\r\n const templateSave = save && {\r\n ...save,\r\n result: targetSave,\r\n }\r\n\r\n return {\r\n uuid: token,\r\n target: target,\r\n save: templateSave,\r\n applied: getFlag(message, `target.applied.${targetId}`),\r\n template: await renderTemplate(templatePath('target/row-header'), {\r\n name: target.name,\r\n uuid: token,\r\n save: hasSave && templateSave,\r\n canReroll: targetSave?.canReroll,\r\n rerolled: REROLL[targetSave?.rerolled],\r\n }),\r\n }\r\n })\r\n )\r\n ).filter(Boolean)\r\n\r\n return { targets, save }\r\n}\r\n\r\nasync function getTargetFromEvent(event) {\r\n const { targetUuid } = event.currentTarget.closest('[data-target-uuid]').dataset\r\n return fromUuid(targetUuid)\r\n}\r\n\r\nasync function rerollSave(event, message, { dc }) {\r\n const target = await getTargetFromEvent(event)\r\n const actor = target?.actor\r\n if (!actor) return\r\n\r\n const flag = getFlag(message, `target.saves.${target.id}`)\r\n if (!flag?.roll || flag.rerolled) return\r\n\r\n const heroPoints = actor.isOfType('character') ? actor.heroPoints.value : 0\r\n\r\n const template = Object.entries(REROLL)\r\n .map(([type, { icon, reroll }]) => {\r\n if (type === 'hero' && !heroPoints) return\r\n const label = game.i18n.localize(reroll)\r\n return ``\r\n })\r\n .filter(Boolean)\r\n .join('')\r\n\r\n const buttons = {\r\n yes: {\r\n icon: '',\r\n label: 'reroll',\r\n callback: html => html.find('[name=reroll]:checked').val() ?? null,\r\n },\r\n no: {\r\n icon: '',\r\n label: 'cancel',\r\n callback: () => null,\r\n },\r\n }\r\n\r\n const reroll = await Dialog.wait(\r\n {\r\n title: `${target.name} - ${localize('target.chat.save.reroll.confirm.title')}`,\r\n content: template,\r\n buttons,\r\n close: () => null,\r\n },\r\n {\r\n id: `pf2e-toolbelt-target-save-reroll-dialog-${target.id}`,\r\n }\r\n )\r\n\r\n if (!reroll) return\r\n\r\n const isHeroReroll = reroll === 'hero'\r\n const keep = isHeroReroll ? 'new' : reroll\r\n\r\n if (isHeroReroll) {\r\n const { value, max } = actor.heroPoints\r\n\r\n if (value < 1) {\r\n warn('target.chat.save.reroll.noPoints')\r\n return\r\n }\r\n\r\n await actor.update({\r\n 'system.resources.heroPoints.value': Math.clamped(value - 1, 0, max),\r\n })\r\n }\r\n\r\n const oldRoll = Roll.fromJSON(flag.roll)\r\n const unevaluatedNewRoll = oldRoll.clone()\r\n unevaluatedNewRoll.options.isReroll = true\r\n Hooks.callAll('pf2e.preReroll', Roll.fromJSON(flag.roll), unevaluatedNewRoll, isHeroReroll, keep)\r\n\r\n const newRoll = await unevaluatedNewRoll.evaluate({ async: true })\r\n Hooks.callAll('pf2e.reroll', Roll.fromJSON(flag.roll), newRoll, isHeroReroll, keep)\r\n\r\n const keptRoll =\r\n (keep === 'higher' && oldRoll.total > newRoll.total) || (keep === 'lower' && oldRoll.total < newRoll.total)\r\n ? oldRoll\r\n : newRoll\r\n\r\n if (keptRoll === newRoll) {\r\n const success = new DegreeOfSuccess(newRoll, dc, flag.dosAdjustments)\r\n keptRoll.options.degreeOfSuccess = success.value\r\n }\r\n\r\n const packet = {\r\n type: 'target.update-save',\r\n target: target.id,\r\n data: {\r\n value: keptRoll.total,\r\n die: keptRoll.dice[0].total,\r\n success: keptRoll.degreeOfSuccess,\r\n roll: JSON.stringify(keptRoll.toJSON()),\r\n dosAdjustments: deepClone(flag.dosAdjustments),\r\n modifiers: deepClone(flag.modifiers),\r\n rerolled: reroll,\r\n },\r\n }\r\n\r\n if (keptRoll.options.keeleyAdd10) {\r\n packet.data.modifiers.push({\r\n label: localize('target.chat.save.reroll.keeley'),\r\n modifier: 10,\r\n })\r\n }\r\n\r\n if (game.user.isGM || message.isAuthor) {\r\n packet.message = message\r\n updateMessageSave(packet)\r\n } else {\r\n packet.message = message.id\r\n socketEmit(packet)\r\n }\r\n}\r\n\r\nasync function rollSave(event, message, { dc, statistic }) {\r\n const target = await getTargetFromEvent(event)\r\n const actor = target?.actor\r\n if (!actor) return\r\n\r\n const save = actor.saves[statistic]\r\n if (!save) return\r\n\r\n const item = (() => {\r\n const item = message.item\r\n if (item) return item\r\n\r\n const messageId = getFlag(message, 'target.messageId')\r\n if (!messageId) return\r\n\r\n const otherMessage = game.messages.get(messageId)\r\n if (!otherMessage) return\r\n\r\n return otherMessage.item\r\n })()\r\n\r\n const skipDefault = !game.user.settings.showCheckDialogs\r\n\r\n const packet = {\r\n type: 'target.update-save',\r\n target: target.id,\r\n }\r\n\r\n save.check.roll({\r\n dc: { value: dc },\r\n item,\r\n origin: actor,\r\n skipDialog: event.shiftKey ? !skipDefault : skipDefault,\r\n createMessage: false,\r\n callback: (roll, __, msg) => {\r\n packet.data = {\r\n value: roll.total,\r\n die: roll.dice[0].total,\r\n success: roll.degreeOfSuccess,\r\n roll: JSON.stringify(roll.toJSON()),\r\n dosAdjustments: msg.getFlag('pf2e', 'context.dosAdjustments'),\r\n modifiers: msg\r\n .getFlag('pf2e', 'modifiers')\r\n .filter(modifier => modifier.enabled)\r\n .map(({ label, modifier }) => ({ label, modifier })),\r\n }\r\n\r\n if (game.user.isGM || message.isAuthor) {\r\n packet.message = message\r\n updateMessageSave(packet)\r\n } else {\r\n packet.message = message.id\r\n socketEmit(packet)\r\n }\r\n },\r\n })\r\n}\r\n\r\nfunction updateMessageSave({ message, target, data }) {\r\n if (typeof message === 'string') {\r\n message = game.messages.get(message)\r\n if (!message) return\r\n }\r\n\r\n if (typeof data.success === 'number') data.success = DEGREE_OF_SUCCESS[data.success]\r\n\r\n setFlag(message, `target.saves.${target}`, deepClone(data))\r\n}\r\n\r\nasync function openTargetSheet(event) {\r\n const target = await getTargetFromEvent(event)\r\n if (!target) return\r\n\r\n target.actor?.sheet.render(true)\r\n}\r\n\r\nasync function pingTarget(event) {\r\n if (!canvas.ready) return\r\n\r\n const target = await getTargetFromEvent(event)\r\n if (!target) return\r\n\r\n canvas.ping(target.center)\r\n}\r\n\r\nasync function onTargetButton(event, message) {\r\n const btn = event.currentTarget\r\n const { rollIndex, targetUuid } = btn.closest('[data-target-uuid]').dataset\r\n const target = await fromUuid(targetUuid)\r\n if (!target) return\r\n\r\n const type = btn.dataset.action\r\n\r\n if (type === 'target-shield-block') {\r\n onClickShieldBlock(target, btn, message.element)\r\n return\r\n }\r\n\r\n const multiplier =\r\n type === 'target-apply-healing'\r\n ? -1\r\n : type === 'target-half-damage'\r\n ? 0.5\r\n : type === 'target-apply-damage'\r\n ? 1\r\n : type === 'target-double-damage'\r\n ? 2\r\n : 3\r\n\r\n applyDamageFromMessage(target, {\r\n message,\r\n multiplier,\r\n addend: 0,\r\n promptModifier: event.shiftKey,\r\n rollIndex: Number(rollIndex),\r\n })\r\n}\r\n\r\nexport function onDamageApplied(message, tokenId, rollIndex) {\r\n let updates = {}\r\n moduleFlagUpdate(updates, `target.applied.${tokenId}.${rollIndex}`, true)\r\n\r\n const splashRollIndex = getFlag(message, 'target.splashIndex')\r\n if (splashRollIndex !== undefined) {\r\n const regularRollIndex = splashRollIndex === 0 ? 1 : 0\r\n\r\n if (rollIndex === splashRollIndex) {\r\n moduleFlagUpdate(updates, `target.applied.${tokenId}.${regularRollIndex}`, true)\r\n } else {\r\n moduleFlagUpdate(updates, `target.applied.${tokenId}.${splashRollIndex}`, true)\r\n\r\n const targetsFlag = getFlag(message, 'target.targets') ?? []\r\n for (const target of targetsFlag) {\r\n const targetId = target.token?.split('.').at(-1)\r\n if (targetId === tokenId) continue\r\n\r\n moduleFlagUpdate(updates, `target.applied.${targetId}.${regularRollIndex}`, true)\r\n }\r\n }\r\n }\r\n\r\n if (game.user.isGM || message.isAuthor) {\r\n updateMessageApplied({ message, updates })\r\n } else {\r\n socketEmit({\r\n type: 'target.update-applied',\r\n message: message.id,\r\n updates,\r\n })\r\n }\r\n}\r\n\r\nfunction updateMessageApplied({ message, updates }) {\r\n if (typeof message === 'string') {\r\n message = game.messages.get(message)\r\n if (!message) return\r\n }\r\n message.update(updates)\r\n}\r\n", "import { getSetting } from '../shared/settings'\r\n\r\nlet CREATE_HOOK = null\r\nlet UPDATE_HOOK = null\r\n\r\nexport function registerUnided() {\r\n return {\r\n settings: [\r\n {\r\n name: 'unided',\r\n type: String,\r\n default: 'disabled',\r\n choices: ['disabled', 'create', 'all'],\r\n onChange: setHooks,\r\n },\r\n ],\r\n conflicts: ['pf2e-unided'],\r\n init: () => {\r\n setHooks()\r\n },\r\n }\r\n}\r\n\r\nfunction setHooks(value) {\r\n value ??= getSetting('unided')\r\n\r\n if (value === 'disabled') {\r\n if (CREATE_HOOK) {\r\n Hooks.off('preCreateItem', CREATE_HOOK)\r\n CREATE_HOOK = null\r\n }\r\n if (UPDATE_HOOK) {\r\n Hooks.off('preUpdateItem', UPDATE_HOOK)\r\n UPDATE_HOOK = null\r\n }\r\n } else {\r\n if (!CREATE_HOOK) {\r\n CREATE_HOOK = Hooks.on('preCreateItem', preCreateItem)\r\n }\r\n if (value === 'all' && !UPDATE_HOOK) {\r\n UPDATE_HOOK = Hooks.on('preUpdateItem', preUpdateItem)\r\n } else if (value !== 'all' && UPDATE_HOOK) {\r\n Hooks.off('preUpdateItem', UPDATE_HOOK)\r\n UPDATE_HOOK = null\r\n }\r\n }\r\n}\r\n\r\nfunction preCreateItem(item) {\r\n if (!item.img || !item.isOfType('physical')) return\r\n item._source.system.identification.unidentified.img = item.img\r\n}\r\n\r\nfunction preUpdateItem(item, changes) {\r\n if (!item.isOfType('physical') || !('img' in changes)) return\r\n setProperty(changes, 'system.identification.unidentified.img', changes.img)\r\n}\r\n", "import { subLocalize } from '../shared/localize'\r\nimport { templatePath } from '../shared/path'\r\n\r\nconst localize = subLocalize('macros.condition')\r\n\r\nexport async function permaConditionEffect(actor) {\r\n const callback = (html, type) => {\r\n const condition = html.find('[name=condition]')\r\n const { name, slug, img } = condition.find(':selected').data()\r\n\r\n return {\r\n type,\r\n slug,\r\n img,\r\n name: html.find('[name=name]').val().trim() || localize('effect-name', { condition: name }),\r\n uuid: condition.val(),\r\n badge: Number(html.find('[name=badge]').val() || 1),\r\n unidentified: html.find('[name=unidentified]').prop('checked'),\r\n }\r\n }\r\n\r\n const buttons = {\r\n generate: {\r\n icon: '',\r\n label: localize('generate'),\r\n callback: html => callback(html, 'generate'),\r\n },\r\n add: {\r\n icon: '',\r\n label: localize('add'),\r\n callback: html => callback(html, 'add'),\r\n },\r\n }\r\n\r\n const conditions = Array.from(game.pf2e.ConditionManager.conditions.values())\r\n const withBadge = new Set(conditions.filter(condition => !!condition.badge).map(condition => condition.slug))\r\n\r\n const content = await renderTemplate(templatePath('macros/condition'), {\r\n i18n: localize,\r\n conditions: Array.from(new Set(conditions.sort((a, b) => a.name.localeCompare(b.name)))),\r\n })\r\n\r\n const setInputs = html => {\r\n const { name, slug } = html.find('[name=condition] :selected').data()\r\n html.find('[name=name]').prop('placeholder', localize('effect-name', { condition: name }))\r\n\r\n const hasBadge = withBadge.has(slug)\r\n const badge = html.find('[name=badge]')\r\n badge.prop('disabled', !hasBadge)\r\n if (!hasBadge) badge.val(1)\r\n }\r\n\r\n const result = await Dialog.wait(\r\n {\r\n buttons,\r\n content,\r\n title: localize('title'),\r\n close: () => null,\r\n render: html => {\r\n setInputs(html)\r\n html.find('[name=condition]').on('change', () => setInputs(html))\r\n },\r\n },\r\n {\r\n id: 'pf2e-toolbelt-macros-condition',\r\n width: 320,\r\n }\r\n )\r\n\r\n if (!result) return\r\n\r\n const rule = {\r\n inMemoryOnly: true,\r\n key: 'GrantItem',\r\n uuid: result.uuid,\r\n }\r\n\r\n if (result.badge > 1 && withBadge.has(result.slug)) {\r\n rule.alterations = [\r\n {\r\n mode: 'override',\r\n property: 'badge-value',\r\n value: result.badge,\r\n },\r\n ]\r\n }\r\n\r\n const source = {\r\n name: result.name,\r\n type: 'effect',\r\n img: result.img,\r\n system: {\r\n rules: [rule],\r\n unidentified: result.unidentified,\r\n },\r\n }\r\n\r\n if (result.type === 'generate' || !actor) await Item.create(source)\r\n else await actor.createEmbeddedDocuments('Item', [source])\r\n}\r\n", "import { registerArp } from './features/arp'\r\nimport { registerEffectsPanelHelper } from './features/effects'\r\nimport { registerGiveth } from './features/giveth'\r\nimport { registerHeroActions } from './features/hero'\r\nimport { registerKnowledges } from './features/knowledges'\r\nimport { registerMerge } from './features/merge'\r\nimport { registerHideModifiers } from './features/modifiers'\r\nimport { registerNobulk } from './features/nobulk'\r\nimport { registerShare } from './features/share'\r\nimport { registerStances } from './features/stances'\r\nimport { registerSpellsSummary } from './features/summary'\r\nimport { registerTargetTokenHelper } from './features/target'\r\nimport { registerUnided } from './features/unided'\r\nimport { permaConditionEffect } from './macros/condition'\r\nimport { MODULE_ID } from './module'\r\nimport { localize } from './shared/localize'\r\nimport { warn } from './shared/notification'\r\nimport { getSetting, setSetting } from './shared/settings'\r\nimport { isUserGM } from './shared/user'\r\n\r\nconst FEATURES = [\r\n registerArp(),\r\n registerNobulk(),\r\n registerGiveth(),\r\n registerKnowledges(),\r\n registerUnided(),\r\n registerMerge(),\r\n registerEffectsPanelHelper(),\r\n registerSpellsSummary(),\r\n registerStances(),\r\n registerHeroActions(),\r\n registerHideModifiers(),\r\n registerShare(),\r\n registerTargetTokenHelper(),\r\n]\r\n\r\nconst CONFLICTS = new Set()\r\n\r\nconst SETTINGS_MIGRATION_VERSION = 1\r\n\r\nlet firstClientSetting = null\r\n\r\nHooks.once('init', () => {\r\n const isGM = isUserGM()\r\n\r\n game.settings.register(MODULE_ID, 'settings-min-migration-version', {\r\n scope: 'world',\r\n config: false,\r\n key: 'settings-min-migration-version',\r\n type: Number,\r\n default: 0,\r\n })\r\n\r\n const settings = FEATURES.flatMap(({ settings = [] }) =>\r\n settings.map(setting => {\r\n const key = setting.name\r\n\r\n if (setting.choices) {\r\n setting.choices = setting.choices.reduce((choices, choice) => {\r\n choices[choice] = settingPath(key, `choices.${choice}`)\r\n return choices\r\n }, {})\r\n }\r\n\r\n setting.key = key\r\n setting.scope ??= 'world'\r\n setting.config ??= true\r\n setting.name = settingPath(key, 'name')\r\n setting.hint = settingPath(key, 'hint')\r\n\r\n return setting\r\n })\r\n )\r\n\r\n const [worldSettings, clientSettings] = ['world', 'client'].map(scope =>\r\n settings.filter(settings => settings.scope === scope)\r\n )\r\n\r\n ;[worldSettings, clientSettings].forEach(settings =>\r\n settings.forEach(setting => game.settings.register(MODULE_ID, setting.key, setting))\r\n )\r\n\r\n if (isGM) {\r\n firstClientSetting = clientSettings[0].key\r\n Hooks.on('renderSettingsConfig', renderSettingsConfig)\r\n }\r\n\r\n const module = game.modules.get(MODULE_ID)\r\n module.api = {\r\n macros: {\r\n permaConditionEffect,\r\n },\r\n }\r\n\r\n FEATURES.forEach(feature => {\r\n const { init, conflicts = [], api, name } = feature\r\n\r\n if (isGM) {\r\n for (const id of conflicts) {\r\n const conflictingModule = game.modules.get(id)\r\n if (conflictingModule?.active) {\r\n feature.conflicting = true\r\n CONFLICTS.add(conflictingModule.title)\r\n }\r\n }\r\n }\r\n\r\n if (api && name) module.api[name] = api\r\n\r\n if (!feature.conflicting && init) init(isGM)\r\n })\r\n})\r\n\r\nHooks.once('ready', () => {\r\n const isGM = game.user.isGM\r\n\r\n for (const { conflicting, ready } of FEATURES) {\r\n if (!conflicting && ready) ready(isGM)\r\n }\r\n\r\n if (!isGM) return\r\n\r\n for (const conflict of CONFLICTS) {\r\n warn('module-conflict', { name: conflict }, true)\r\n }\r\n\r\n const settingsMinMigrationVersion = getSetting('settings-min-migration-version')\r\n if (settingsMinMigrationVersion < SETTINGS_MIGRATION_VERSION) {\r\n FEATURES.forEach(({ settings }) => {\r\n settings.forEach(({ migrate, key }) => {\r\n if (!migrate) return\r\n\r\n const originalValue = getSetting(key)\r\n let migratedValue = originalValue\r\n\r\n for (let version = settingsMinMigrationVersion + 1; version <= SETTINGS_MIGRATION_VERSION; version++) {\r\n const migration = migrate[version]\r\n if (typeof migration !== 'function') continue\r\n\r\n migratedValue = migration(migratedValue)\r\n }\r\n\r\n if (migratedValue != null && migratedValue !== originalValue) setSetting(key, migratedValue)\r\n })\r\n })\r\n\r\n setSetting('settings-min-migration-version', SETTINGS_MIGRATION_VERSION)\r\n }\r\n})\r\n\r\nfunction settingPath(setting, key) {\r\n return `${MODULE_ID}.settings.${setting}.${key}`\r\n}\r\n\r\nfunction renderSettingsConfig(_, html) {\r\n if (!firstClientSetting) return\r\n\r\n const group = html.find(`.tab[data-tab=${MODULE_ID}] [data-setting-id=\"${MODULE_ID}.${firstClientSetting}\"]`)\r\n group.before(`${localize('settings.client')}
`)\r\n}\r\n"],
- "mappings": "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",
- "names": ["MODULE_ID", "registerWrapper", "path", "callback", "type", "MODULE_ID", "__name", "localize", "args", "key", "data", "MODULE_ID", "__name", "hasLocalization", "localizePath", "subLocalize", "subKey", "fn", "warn", "info", "error", "hash", "notify", "str", "arg1", "arg2", "arg3", "type", "data", "permanent", "localize", "__name", "warn", "args", "info", "error", "getSetting", "setting", "MODULE_ID", "__name", "setSetting", "key", "value", "PREPARE_WEAPON_DATA", "PREPARE_WEAPON_DERIVED_DATA", "PREPARE_ARMOR_DATA", "PREPARE_ARMOR_DERIVED_DATA", "registerArp", "getSetting", "registerWrapper", "PREPARE_WEAPON_DATA", "onPrepareWeaponData", "PREPARE_WEAPON_DERIVED_DATA", "onPrepareWeaponDerivedData", "onPrepareArmorData", "onPrepareArmorDerivedData", "isGM", "info", "__name", "isValidActor", "actor", "isCharacter", "WEAPON_POTENCY_PRICE", "WEAPON_STRIKING_PRICE", "isValidWeapon", "weapon", "traits", "group", "category", "slug", "wrapped", "level", "coins", "potency", "striking", "ARMOR_POTENCY_PRICE", "ARMOR_RESILIENCY_PRICE", "isValidArmor", "armor", "__name", "onPrepareArmorData", "wrapped", "actor", "isValidActor", "level", "onPrepareArmorDerivedData", "coins", "potency", "resiliency", "createHook", "event", "listener", "callback", "HOOK", "value", "otherSettings", "skipCallback", "s", "getSetting", "__name", "createChoicesHook", "registerUpstreamHook", "hook", "fn", "id", "index", "x", "hooked", "setHook", "createHook", "renderEffectsPanel", "refreshEffectsPanel", "registerEffectsPanelHelper", "value", "__name", "panel", "html", "removeRow", "localize", "editIcon", "effectPanels", "effectPanel", "id", "effect", "getSetting", "event", "onRemoveEffect", "h1", "onConditionSheet", "getEffect", "MoveLootPopup", "object", "options", "callback", "prompt", "buttonLabel", "_event", "formData", "__name", "isPlayedActor", "actor", "__name", "getFlag", "doc", "key", "fallback", "MODULE_ID", "__name", "setFlag", "value", "unsetFlag", "updateSourceFlag", "doc", "key", "value", "MODULE_ID", "__name", "moduleFlagUpdate", "update", "getChatMessageClass", "__name", "latestChatMessages", "nb", "fromMessage", "messages", "start", "m", "i", "message", "chatUUID", "uuid", "label", "fake", "bindOnPreCreateSpellDamageChatMessage", "originalMessage", "messageId", "save", "getFlag", "updateSourceFlag", "socketOn", "callback", "MODULE_ID", "__name", "socketOff", "socketEmit", "packet", "isActiveGM", "__name", "isUserGM", "user", "x", "isGMOnline", "getCharacterOwner", "actor", "connected", "getActiveOwner", "doc", "activeOwners", "a", "b", "isActiveOwner", "getOwner", "enabled", "CANVAS_HOOK", "registerGiveth", "setup", "isGM", "getSetting", "__name", "value", "socketOff", "onSocket", "socketOn", "registerUpstreamHook", "onDropCanvasData", "packet", "isActiveGM", "takethCondition", "takethEffect", "takethPhysical", "canvas", "data", "isGMOnline", "details", "getDetailsFromData", "target", "token", "isValidActor", "maximumX", "maximumY", "a", "b", "giveth", "origin", "item", "ownerId", "targetId", "isIndex", "qty", "warn", "sendPhysicalRequest", "MoveLootPopup", "stack", "uuid", "socketEmit", "itemId", "actor", "id", "isPlayedActor", "actorUUID", "source", "owner", "newQty", "newItem", "content", "chatUUID", "localize", "templatePath", "path", "x", "MODULE_ID", "__name", "localize", "subLocalize", "Trade", "actor", "templatePath", "value", "options", "x", "getHeroActions", "html", "#onChangeTarget", "#onDescription", "#onSendTrade", "force", "action", "target", "user", "getCharacterOwner", "getOwner", "sendTradeRequest", "event", "uuid", "id", "__name", "localeCompare", "a", "b", "__name", "refreshCharacterSheets", "actor", "win", "winActor", "compareArrays", "arr1", "arr2", "clonedArr2", "arr1Value", "index", "arr2Value", "ordinalString", "value", "pluralRules", "suffix", "isInstanceOf", "obj", "name", "setInMemory", "doc", "key", "MODULE_ID", "getInMemory", "MODULE_ID", "setHook", "createHook", "renderCharacterSheetPF2e", "setupSocket", "JOURNAL_UUID", "TABLE_UUID", "TABLE_ICON", "SOCKET", "registerHeroActions", "value", "refreshCharacterSheets", "createTable", "removeHeroActions", "getHeroActions", "useHeroAction", "getHeroActionDetails", "drawHeroAction", "drawHeroActions", "sendActionToChat", "discardHeroActions", "tradeHeroAction", "getDeckTable", "giveHeroActions", "createChatMessage", "__name", "socketOn", "onSocket", "socketOff", "packet", "onTradeRejected", "isActiveGM", "onTradeAccepted", "onTradeRequest", "onTradeError", "sheet", "html", "actor", "isPlayedActor", "addActionsToSheet", "addSheetEvents", "actions", "diff", "isOwner", "localize", "subLocalize", "template", "templatePath", "getSetting", "key", "hash", "list", "event", "onClickHeroActionsDraw", "onClickHeroActionExpand", "onClickHeroActionUse", "onClickHeroActionDisplay", "onClickHeroActionDiscard", "onClickHeroActionsDiscard", "uuids", "x", "action", "toDiscard", "$discarded", "uuid", "setHeroActions", "summary", "details", "text", "document", "parent", "page", "warn", "nb", "drawn", "i", "label", "secret", "content", "size", "chatActions", "data", "links", "name", "chatUUID", "Trade", "table", "draw", "documentUuidFromTableResult", "getLabelfromTableResult", "points", "index", "error", "removed", "result", "getTableFromUuid", "getDefaultCompendiumTable", "getDefaultWorldTable", "getCustomTable", "sendTradeRequest", "trade", "acceptRequest", "socketEmit", "sender", "receiver", "senderActor", "receiverActor", "sendTradeError", "senderActions", "receiverActions", "senderActionIndex", "receiverActionIndex", "senderAction", "receiverAction", "sentLink", "receivedLink", "users", "err", "rejectRequest", "buttons", "type", "unique", "createDefaultTable", "createCustomTable", "createCustomActionsTable", "setTable", "source", "getTableSource", "update", "createDefautActionsTable", "normalize", "setSetting", "removeActionsToggleAll", "removeActionsToggleActor", "actors", "state", "checked", "all", "templateLocalize", "isUnique", "actionsList", "el", "selected", "asDrawn", "withMessage", "tableUpdates", "localize", "subLocalize", "EditLores", "templatePath", "options", "actor", "getFlag", "event", "unspecified", "specific", "setFlag", "html", "#onCancel", "__name", "setHook", "createHook", "renderNPCSheetPF2e", "registerKnowledges", "value", "isGM", "getSetting", "__name", "sheet", "$html", "actor", "isPlayedActor", "replaceLores", "addEditButton", "addEvents", "knowledgeSelector", "html", "section", "selector", "editLores", "EditLores", "unspecifics", "getFlag", "specifics", "lores", "body", "tag", "skills", "dc", "adjustment", "addTags", "start", "tags", "lore", "attempts", "edit", "localize", "subLocalize", "MultiCast", "#message", "#event", "event", "message", "options", "templatePath", "html", "#onCast", "#onCancel", "nb", "spell", "actor", "updateSource", "__name", "damages", "heightening", "id", "damage", "i", "newId", "level", "data", "embeddedSource", "newSpell", "overlayIds", "castLevel", "spellSource", "bindOnPreCreateSpellDamageChatMessage", "setHook", "createHook", "renderChatMessage", "updateMessages", "registerMerge", "value", "isGm", "__name", "chat", "message", "latestChatMessages", "html", "getSetting", "isDamageRoll", "renderDamage", "renderSpell", "spellBtn", "localize", "event", "MultiCast", "buttons", "getFlag", "tooltip", "actorUUID", "getActorUUID", "targetUUIDs", "getTargetUUIDs", "otherMessage", "otherTargetsUUIDS", "compareArrays", "t", "mergeDamages", "warn", "splitDamages", "sources", "data", "removeChatMessages", "getChatMessageClass", "origin", "other", "dataGroups", "getMessageData", "name", "notes", "outcome", "modifiers", "tags", "result", "groups", "group", "flavor", "templatePath", "originRolls", "getMessageRolls", "otherRolls", "groupedRolls", "roll", "options", "total", "terms", "term", "formula", "critRule", "index", "acc", "curr", "getMeansFormula", "createTermGroup", "setHidden", "operand", "MODULE_ID", "entry", "mean", "deepFormula", "flags", "source", "title", "text", "option", "ids", "joinedIds", "id", "targetTargets", "mergeTargets", "setHook", "createChoicesHook", "renderChatMessage", "updateMessages", "registerHideModifiers", "value", "isGM", "getSetting", "__name", "chat", "message", "latestChatMessages", "html", "speaker", "actor", "header", "ACTOR_PREPARE_EMBEDDED_DOCUMENTS", "TREASURE_PREPARE_BASE_DATA", "registerNobulk", "getSetting", "registerWrapper", "actorPrepareEmbeddedDocuments", "treasurePrepareBaseData", "__name", "wrapped", "args", "actor", "InventoryBulk", "_value", "item", "ACTOR_PREPARE_DATA", "DOCUMENT_SHEET_RENDER_INNER", "registerShare", "getSetting", "registerWrapper", "prepareData", "documentSheetRenderInner", "preUpdateActor", "deleteActor", "updateActor", "__name", "wrapped", "args", "inner", "isInstanceOf", "actor", "isPlayedActor", "getSlaves", "masters", "a", "isValidMaster", "group", "templatePath", "getFlag", "MODULE_ID", "subLocalize", "removeSlaveFromMaster", "slaves", "slave", "unsetMaster", "unsetFlag", "updates", "shareFlag", "master", "hpSource", "getMaster", "hpUpdate", "options", "userId", "isOriginalUser", "getShareFlag", "setMaster", "addSlaveToMaster", "data", "refreshActor", "setFlag", "masterId", "hp", "masterHp", "transfertHpData", "from", "to", "doc", "getModuleProperty", "setModuleProperty", "deleteModuleProperty", "path", "value", "getSourceId", "doc", "__name", "includesSourceId", "list", "sourceId", "getItemSourceIdCondition", "item", "getItems", "actor", "itemTypes", "type", "hasItemWithSourceId", "getItemWithSourceId", "setSheetHook", "createHook", "renderCharacterSheetPF2e", "setDeleteCombatHook", "deleteCombat", "setDeleteCombatantHook", "deleteCombatant", "setCreateCombatantHook", "createCombatant", "STANCE_SAVANT", "REPLACERS", "EXTRAS", "registerStances", "setup", "getStances", "toggleStance", "isValidStance", "isGm", "getSetting", "__name", "value", "stance", "actor", "stances", "replaced", "replace", "sourceId", "effectUUID", "effect", "img", "name", "itemName", "action", "actorStances", "foundAction", "getItemWithSourceId", "uuid", "sheet", "html", "isPlayedActor", "inCombat", "token", "tab", "options", "template", "templatePath", "subLocalize", "event", "onToggleStance", "target", "canUseStances", "feat", "replacer", "extra", "getStancesEffects", "effects", "already", "create", "other", "more", "x", "addStance", "obj", "combat", "combatant", "getActorFromCombatant", "isActiveOwner", "refreshCharacterSheets", "checkForSavant", "effectID", "hasItemWithSourceId", "info", "openStancesMenu", "localize", "setHook", "createChoicesHook", "renderCharacterSheetPF2e", "refreshCharacterSheets", "registerSpellsSummary", "value", "isGm", "getSetting", "__name", "sheet", "html", "actor", "isPlayedActor", "tab", "getSpellcastingTab", "getInMemory", "getSpellcastingNav", "event", "onSpellcastingBtnToggle", "addSummaryTab", "data", "getData", "template", "templatePath", "addSummaryEvents", "summary", "getSpellcastingSummarySection", "inputs", "onUsesInputChange", "onUsesInputFocus", "onUsesInputBlur", "onCastSpell", "onTogglePrepare", "onToggleFocusPool", "onSlotsReset", "onItemToChat", "onToggleSummary", "inputPath", "entryId", "slotLevel", "slotId", "expended", "change", "points", "onChargeReset", "getSpellcastingOriginalSection", "itemId", "level", "isCharge", "item", "slot", "max", "target", "collection", "spell", "setInMemory", "focusPool", "stavesActive", "spells", "focuses", "hasFocusCantrips", "entry", "entryDc", "entryName", "isFocus", "isStaff", "charges", "slotSpells", "isCantrip", "actives", "x", "isBroken", "virtual", "uses", "castLevel", "MODULE_ID", "sort", "a", "b", "localeCompare", "rituals", "rank", "ordinalString", "ErrorPF2e", "message", "__name", "DEGREE_ADJUSTMENT_AMOUNTS", "DEGREE_OF_SUCCESS_STRINGS", "_getDegreeAdjustment", "getDegreeAdjustment_fn", "_adjustDegreeOfSuccess", "adjustDegreeOfSuccess_fn", "_adjustDegreeByDieValue", "adjustDegreeByDieValue_fn", "_calculateDegreeOfSuccess", "calculateDegreeOfSuccess_fn", "_DegreeOfSuccess", "roll", "dc", "dosAdjustments", "__privateAdd", "t", "d", "__privateMethod", "DegreeOfSuccess", "degree", "adjustments", "outcome", "label", "amount", "degreeOfSuccess", "__publicField", "extractEphemeralEffects", "affects", "origin", "target", "item", "domains", "options", "effectsFrom", "effectsTo", "fullOptions", "resolvables", "s", "e", "extractNotes", "rollNotes", "selectors", "n", "extractDamageDice", "deferredDice", "shiftAdjustDamage", "token", "multiplier", "rollIndex", "content", "AdjustmentDialog", "$html", "isHealing", "$dialog", "adjustment", "applyDamageFromMessage", "toggleOffShieldBlock", "addend", "promptModifier", "shieldBlockRequest", "isInstanceOf", "damage", "messageRollOptions", "originRollOptions", "o", "messageItem", "domain", "ephemeralEffects", "contextClone", "applicationRollOptions", "breakdown", "rolls", "critical", "damageDice", "dice", "formula", "previous", "current", "modifiers", "extractModifiers", "m", "applyStackingRules", "hasDamage", "notes", "note", "onDamageApplied", "applyStacking", "best", "modifier", "isBetter", "existing", "total", "highestBonus", "lowestPenalty", "abilityModifiers", "bestAbility", "extractModifierAdjustments", "adjustmentsRecord", "slug", "a", "synthetics", "modifierAdjustments", "syntheticModifiers", "messageId", "app", "selector", "htmlQuery", "parent", "onClickShieldBlock", "shieldButton", "messageEl", "getTokens", "getNonBrokenShields", "tokens", "nonBrokenShields", "hasMultipleShields", "shieldActivated", "instance", "_helper", "$content", "multipleShields", "listEl", "shieldList", "shield", "input", "shieldName", "hardness", "hardnessLabel", "itemLi", "getTemplateTokens", "template", "collisionOrigin", "collisionType", "grid", "dimensions", "gridHighlight", "origin", "tokens", "gridSize", "containedTokens", "token", "tokenDoc", "tokenPositions", "h", "tokenX", "w", "position", "gx", "gy", "s", "destination", "__name", "SAVES", "REROLL", "DEGREE_OF_SUCCESS", "setPrecreateMessageHook", "createHook", "preCreateChatMessage", "setRenderMessageHook", "createChoicesHook", "renderChatMessage", "setCreateTemplateHook", "createMeasuredTemplate", "SOCKET", "registerTargetTokenHelper", "setHooks", "value", "getSetting", "__name", "isUserGM", "socketOn", "onSocket", "socketOff", "packet", "isActiveGM", "updateMessageSave", "updateMessageApplied", "template", "_", "userId", "user", "localize", "subLocalize", "item", "actor", "self", "data", "templatePath", "html", "result", "alliance", "opposition", "targetsIds", "getTemplateTokens", "token", "targetAlliance", "HEALINGS_REGEX", "isValidDamageMessage", "message", "healings", "isDamageRoll", "getFlag", "targets", "updateSourceFlag", "target", "splashRollIndex", "roll", "regularRollIndex", "modifier", "save", "dc", "clientEnabled", "renderDamageChatMessage", "refreshMessage", "renderSpellChatMessage", "bindOnPreCreateSpellDamageChatMessage", "chat", "el", "app", "spell", "getMessageData", "msgContent", "cardBtns", "saveBtn", "wrapper", "targetsTooltip", "targetsBtn", "event", "addTargets", "rowsTemplate", "addHeaderListeners", "setFlag", "damageRows", "clonedRows", "buttons", "toggleDamageRow", "expanded", "getInMemory", "toggleBtn", "toggleTooltip", "setInMemory", "action", "uuid", "applied", "isBasicSave", "clones", "index", "onTargetButton", "pingTarget", "openTargetSheet", "rollSave", "rerollSave", "targetsFlag", "showDC", "flag", "saveLabel", "saveDC", "targetId", "hasSave", "targetSave", "rerolled", "canReroll", "successLabel", "offset", "templateSave", "getTargetFromEvent", "targetUuid", "heroPoints", "type", "icon", "reroll", "label", "isHeroReroll", "keep", "max", "warn", "oldRoll", "unevaluatedNewRoll", "newRoll", "keptRoll", "success", "DegreeOfSuccess", "socketEmit", "statistic", "messageId", "otherMessage", "skipDefault", "__", "msg", "btn", "rollIndex", "onClickShieldBlock", "applyDamageFromMessage", "onDamageApplied", "tokenId", "updates", "moduleFlagUpdate", "CREATE_HOOK", "UPDATE_HOOK", "registerUnided", "setHooks", "__name", "value", "getSetting", "preCreateItem", "preUpdateItem", "item", "changes", "localize", "subLocalize", "permaConditionEffect", "actor", "callback", "__name", "html", "type", "condition", "name", "slug", "img", "buttons", "conditions", "withBadge", "content", "templatePath", "a", "b", "setInputs", "hasBadge", "badge", "result", "rule", "source", "FEATURES", "registerArp", "registerNobulk", "registerGiveth", "registerKnowledges", "registerUnided", "registerMerge", "registerEffectsPanelHelper", "registerSpellsSummary", "registerStances", "registerHeroActions", "registerHideModifiers", "registerShare", "registerTargetTokenHelper", "CONFLICTS", "SETTINGS_MIGRATION_VERSION", "firstClientSetting", "isGM", "isUserGM", "MODULE_ID", "settings", "setting", "key", "choices", "choice", "settingPath", "worldSettings", "clientSettings", "scope", "renderSettingsConfig", "module", "permaConditionEffect", "feature", "init", "conflicts", "api", "name", "id", "conflictingModule", "conflicting", "ready", "conflict", "warn", "settingsMinMigrationVersion", "getSetting", "migrate", "originalValue", "migratedValue", "version", "migration", "setSetting", "__name", "_", "html", "localize"]
+ "sources": ["../src/module.js", "../src/shared/libwrapper.js", "../src/shared/localize.js", "../src/shared/notification.js", "../src/shared/settings.js", "../src/features/arp.js", "../src/shared/hook.js", "../src/features/effects.js", "../src/apps/giveth/popup.js", "../src/shared/actor.js", "../src/shared/flags.js", "../src/shared/chat.js", "../src/shared/socket.js", "../src/shared/user.js", "../src/features/giveth.js", "../src/shared/path.js", "../src/apps/hero/trade.js", "../src/shared/misc.js", "../src/features/hero.js", "../src/apps/knowledges/lores.js", "../src/features/knowledges.js", "../src/apps/merge/multi.js", "../src/shared/pf2e/classes.js", "../src/features/merge.js", "../src/features/modifiers.js", "../src/features/nobulk.js", "../src/features/share.js", "../src/shared/item.js", "../src/features/stances.js", "../src/features/summary.js", "../src/shared/pf2e/actor.js", "../src/shared/pf2e/dom.js", "../src/shared/pf2e/misc.js", "../src/shared/pf2e/rules.js", "../src/shared/pf2e/chat.js", "../src/shared/pf2e/success.js", "../src/shared/template.js", "../src/features/target.js", "../src/features/unided.js", "../src/macros/condition.js", "../src/main.js"],
+ "sourcesContent": ["export const MODULE_ID = 'pf2e-toolbelt'\r\n\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function registerWrapper(path, callback, type = 'WRAPPER') {\r\n return libWrapper.register(MODULE_ID, path, callback, type)\r\n}\r\n\r\nexport function unregisterWrapper(id) {\r\n libWrapper.unregister(MODULE_ID, id)\r\n}\r\n", "import { MODULE_ID } from '../module'\r\nimport { error, info, warn } from './notification'\r\n\r\nexport function localize(...args) {\r\n let [key, data] = args\r\n key = `${MODULE_ID}.${key}`\r\n if (data) return game.i18n.format(key, data)\r\n return game.i18n.localize(key)\r\n}\r\n\r\nexport function hasLocalization(key) {\r\n return game.i18n.has(`${MODULE_ID}.${key}`, false)\r\n}\r\n\r\nexport function localizePath(key) {\r\n return `${MODULE_ID}.${key}`\r\n}\r\n\r\nexport function subLocalize(subKey) {\r\n const fn = (...args) => localize(`${subKey}.${args[0]}`, args[1])\r\n\r\n Object.defineProperties(fn, {\r\n warn: {\r\n value: (...args) => warn(`${subKey}.${args[0]}`, args[1], args[2]),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n info: {\r\n value: (...args) => info(`${subKey}.${args[0]}`, args[1], args[2]),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n error: {\r\n value: (...args) => error(`${subKey}.${args[0]}`, args[1], args[2]),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n has: {\r\n value: key => hasLocalization(`${subKey}.${key}`),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n path: {\r\n value: key => localizePath(`${subKey}.${key}`),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n template: {\r\n value: (key, { hash }) => fn(key, hash),\r\n enumerable: false,\r\n configurable: false,\r\n },\r\n })\r\n\r\n return fn\r\n}\r\n", "import { localize } from './localize'\r\n\r\nfunction notify(str, arg1, arg2, arg3) {\r\n const type = typeof arg1 === 'string' ? arg1 : 'info'\r\n const data = typeof arg1 === 'object' ? arg1 : typeof arg2 === 'object' ? arg2 : undefined\r\n const permanent = typeof arg1 === 'boolean' ? arg1 : typeof arg2 === 'boolean' ? arg2 : arg3 ?? false\r\n\r\n ui.notifications.notify(localize(str, data), type, { permanent })\r\n}\r\n\r\nexport function warn(...args) {\r\n const [str, arg1, arg2] = args\r\n notify(str, 'warning', arg1, arg2)\r\n}\r\n\r\nexport function info(...args) {\r\n const [str, arg1, arg2] = args\r\n notify(str, 'info', arg1, arg2)\r\n}\r\n\r\nexport function error(...args) {\r\n const [str, arg1, arg2] = args\r\n notify(str, 'error', arg1, arg2)\r\n}\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function getSetting(setting) {\r\n return game.settings.get(MODULE_ID, setting)\r\n}\r\n\r\nexport function setSetting(key, value) {\r\n return game.settings.set(MODULE_ID, key, value)\r\n}\r\n", "import { registerWrapper } from '../shared/libwrapper'\r\nimport { info } from '../shared/notification'\r\nimport { getSetting } from '../shared/settings'\r\n\r\nconst PREPARE_WEAPON_DATA = 'CONFIG.PF2E.Item.documentClasses.weapon.prototype.prepareBaseData'\r\nconst PREPARE_WEAPON_DERIVED_DATA = 'CONFIG.PF2E.Item.documentClasses.weapon.prototype.prepareDerivedData'\r\n\r\nconst PREPARE_SHIELD_DATA = 'CONFIG.PF2E.Item.documentClasses.shield.prototype.prepareBaseData'\r\nconst PREPARE_SHIELD_DERIVED_DATA = 'CONFIG.PF2E.Item.documentClasses.shield.prototype.prepareDerivedData'\r\n\r\nconst PREPARE_ARMOR_DATA = 'CONFIG.PF2E.Item.documentClasses.armor.prototype.prepareBaseData'\r\nconst PREPARE_ARMOR_DERIVED_DATA = 'CONFIG.PF2E.Item.documentClasses.armor.prototype.prepareDerivedData'\r\n\r\nexport function registerArp() {\r\n return {\r\n settings: [\r\n {\r\n name: 'arp',\r\n type: Boolean,\r\n default: false,\r\n requiresReload: true,\r\n },\r\n ],\r\n conflicts: ['pf2e-arp'],\r\n init: () => {\r\n const setting = getSetting('arp')\r\n if (!setting) return\r\n\r\n registerWrapper(PREPARE_WEAPON_DATA, onPrepareWeaponData, 'WRAPPER')\r\n registerWrapper(PREPARE_WEAPON_DERIVED_DATA, onPrepareWeaponDerivedData, 'WRAPPER')\r\n\r\n registerWrapper(PREPARE_ARMOR_DATA, onPrepareArmorData, 'WRAPPER')\r\n registerWrapper(PREPARE_ARMOR_DERIVED_DATA, onPrepareArmorDerivedData, 'WRAPPER')\r\n\r\n // if (setting === 'with-shield') {\r\n // registerWrapper(PREPARE_SHIELD_DATA, onPrepareShieldData, 'WRAPPER')\r\n // registerWrapper(PREPARE_SHIELD_DERIVED_DATA, onPrepareShieldDerivedData, 'WRAPPER')\r\n // }\r\n },\r\n ready: isGM => {\r\n if (isGM && getSetting('arp') && game.settings.get('pf2e', 'automaticBonusVariant') !== 'noABP') {\r\n game.settings.set('pf2e', 'automaticBonusVariant', 'noABP')\r\n info('arp.forceVariant')\r\n }\r\n },\r\n }\r\n}\r\n\r\nfunction isValidActor(actor, isCharacter = false) {\r\n return actor && !actor.getFlag('pf2e', 'disableABP') && (!isCharacter || actor.isOfType('character'))\r\n}\r\n\r\n/**\r\n * weapon\r\n */\r\n\r\nconst WEAPON_POTENCY_PRICE = {\r\n 1: 35,\r\n 2: 935,\r\n 3: 8935,\r\n 4: 8935,\r\n}\r\n\r\nconst WEAPON_STRIKING_PRICE = {\r\n striking: 65,\r\n greaterStriking: 1065,\r\n majorStriking: 31065,\r\n}\r\n\r\nfunction isValidWeapon(weapon) {\r\n const traits = weapon._source.system.traits.value\r\n const group = weapon._source.system.group\r\n const category = weapon._source.system.category\r\n const slug = weapon._source.system.slug\r\n return (\r\n group !== 'shield' &&\r\n (slug === 'handwraps-of-mighty-blows' || category !== 'unarmed') &&\r\n !traits.includes('alchemical') &&\r\n !traits.includes('bomb')\r\n )\r\n}\r\n\r\nfunction onPrepareWeaponData(wrapped) {\r\n const actor = this.actor\r\n if (!isValidActor(actor, true) || !isValidWeapon(this)) return wrapped()\r\n\r\n const level = actor.level\r\n\r\n const traits = this._source.system.traits.value\r\n if (traits.includes('alchemical') && traits.includes('bomb')) return wrapped()\r\n\r\n this.system.potencyRune.value = level < 2 ? null : level < 10 ? 1 : level < 16 ? 2 : 3\r\n this.system.strikingRune.value = level < 4 ? null : level < 12 ? 'striking' : level < 19 ? 'greaterStriking' : 'majorStriking'\r\n\r\n wrapped()\r\n}\r\n\r\nfunction onPrepareWeaponDerivedData(wrapped) {\r\n wrapped()\r\n\r\n if (!isValidActor(this.actor) || this.isSpecific || !isValidWeapon(this)) return\r\n\r\n let coins = this.price.value.toObject()\r\n if (!coins.gp) return\r\n\r\n const potency = this.system.potencyRune.value\r\n if (potency) coins.gp -= WEAPON_POTENCY_PRICE[potency]\r\n\r\n const striking = this.system.strikingRune.value\r\n if (striking) coins.gp -= WEAPON_STRIKING_PRICE[striking]\r\n\r\n coins = new game.pf2e.Coins(coins)\r\n\r\n if ((potency || striking) && !this.system.runes.property.length) {\r\n coins = coins.add(this._source.system.price.value)\r\n }\r\n\r\n this.system.price.value = coins\r\n}\r\n\r\n/**\r\n * shield\r\n */\r\n\r\nconst SHIELD_REINFORCING = {\r\n 1: { price: 75, increase: 44 }, // level 4\r\n 2: { price: 300, increase: 52 }, // level 7\r\n 3: { price: 900, increase: 64 }, // level 10\r\n 4: { price: 2500, increase: 80 }, // level 13\r\n 5: { price: 8000, increase: 84 }, // level 16\r\n 6: { price: 32000, increase: 108 }, // level 19\r\n}\r\n\r\nfunction isValidShield(shield) {\r\n return true\r\n}\r\n\r\nfunction onPrepareShieldData(wrapped) {\r\n const actor = this.actor\r\n if (!isValidActor(actor, true) || !isValidShield(this)) return wrapped()\r\n\r\n const level = actor.level\r\n\r\n this.system.runes.reinforcing =\r\n level < 4 ? null : level < 7 ? 1 : level < 10 ? 2 : level < 13 ? 3 : level < 16 ? 4 : level < 19 ? 5 : 6\r\n\r\n wrapped()\r\n}\r\n\r\nfunction onPrepareShieldDerivedData(wrapped) {\r\n wrapped()\r\n\r\n if (!isValidActor(this.actor) || this.isSpecific || !isValidShield(this)) return\r\n\r\n let coins = this.price.value.toObject()\r\n if (!coins.gp) return\r\n\r\n const reinforcing = this.system.runes.reinforcing\r\n if (reinforcing) coins.gp -= SHIELD_REINFORCING[reinforcing].price\r\n\r\n coins = new game.pf2e.Coins(coins)\r\n\r\n this.system.price.value = coins\r\n}\r\n\r\n/**\r\n * amor\r\n */\r\n\r\nconst ARMOR_POTENCY_PRICE = {\r\n 1: 160,\r\n 2: 1060,\r\n 3: 20560,\r\n 4: 20560,\r\n}\r\n\r\nconst ARMOR_RESILIENCY_PRICE = {\r\n resilient: 340,\r\n greaterResilient: 3440,\r\n majorResilient: 49440,\r\n}\r\n\r\nfunction isValidArmor(armor) {\r\n return true\r\n}\r\n\r\nfunction onPrepareArmorData(wrapped) {\r\n const actor = this.actor\r\n if (!isValidActor(actor, true) || !isValidArmor(this)) return wrapped()\r\n\r\n const level = actor.level\r\n\r\n this.system.potencyRune.value = level < 5 ? null : level < 11 ? 1 : level < 18 ? 2 : 3\r\n this.system.resiliencyRune.value =\r\n level < 8 ? null : level < 14 ? 'resilient' : level < 20 ? 'greaterResilient' : 'majorResilient'\r\n\r\n wrapped()\r\n}\r\n\r\nfunction onPrepareArmorDerivedData(wrapped) {\r\n wrapped()\r\n\r\n if (!isValidActor(this.actor) || this.isSpecific || !isValidArmor(this)) return\r\n\r\n let coins = this.price.value.toObject()\r\n if (!coins.gp) return\r\n\r\n const potency = this.system.potencyRune.value\r\n if (potency) coins.gp -= ARMOR_POTENCY_PRICE[potency]\r\n\r\n const resiliency = this.system.resiliencyRune.value\r\n if (resiliency) coins.gp -= ARMOR_RESILIENCY_PRICE[resiliency]\r\n\r\n coins = new game.pf2e.Coins(coins)\r\n\r\n if ((potency || resiliency) && !this.system.runes.property.length) {\r\n coins = coins.add(this._source.system.price.value)\r\n }\r\n\r\n this.system.price.value = coins\r\n}\r\n", "import { getSetting } from './settings'\r\n\r\nexport function createHook(event, listener, callback = () => {}) {\r\n let HOOK = null\r\n\r\n return function (value, otherSettings = [], skipCallback = false) {\r\n if (typeof otherSettings === 'string') otherSettings = [otherSettings]\r\n\r\n value ||= otherSettings.some(s => getSetting(s))\r\n\r\n if (value && !HOOK) {\r\n HOOK = Hooks.on(event, listener)\r\n } else if (!value && HOOK) {\r\n Hooks.off(event, HOOK)\r\n HOOK = null\r\n }\r\n\r\n if (!skipCallback) callback(value)\r\n }\r\n}\r\n\r\nexport function createChoicesHook(event, listener, callback = () => {}) {\r\n let HOOK = null\r\n\r\n return function (value, skipCallback = false) {\r\n if (value === false) value = 'disabled'\r\n\r\n if (value === 'disabled' && HOOK) {\r\n Hooks.off(event, HOOK)\r\n HOOK = null\r\n } else if (value !== 'disabled' && !HOOK) {\r\n HOOK = Hooks.on(event, listener)\r\n }\r\n\r\n if (!skipCallback) callback(value)\r\n }\r\n}\r\n\r\nexport function registerUpstreamHook(hook, fn) {\r\n const id = Hooks.on(hook, fn)\r\n const index = Hooks.events[hook].findIndex(x => x.id === id)\r\n\r\n if (index !== 0) {\r\n const [hooked] = Hooks.events[hook].splice(index, 1)\r\n Hooks.events[hook].unshift(hooked)\r\n }\r\n\r\n return id\r\n}\r\n", "import { createHook } from '../shared/hook'\r\nimport { localize } from '../shared/localize'\r\nimport { getSetting } from '../shared/settings'\r\n\r\nconst setHook = createHook('renderEffectsPanel', renderEffectsPanel, refreshEffectsPanel)\r\n\r\nexport function registerEffectsPanelHelper() {\r\n return {\r\n settings: [\r\n {\r\n name: 'effect-remove',\r\n type: Boolean,\r\n default: false,\r\n scope: 'client',\r\n onChange: value => setHook(value, 'condition-sheet'),\r\n },\r\n {\r\n name: 'condition-sheet',\r\n type: Boolean,\r\n default: false,\r\n scope: 'client',\r\n onChange: value => setHook(value, 'effect-remove'),\r\n },\r\n ],\r\n conflicts: ['pf2e-effect-description'],\r\n init: () => {\r\n setHook(false, ['effect-remove', 'condition-sheet'])\r\n },\r\n }\r\n}\r\n\r\nfunction refreshEffectsPanel() {\r\n game.pf2e.effectPanel?.render()\r\n}\r\n\r\nfunction renderEffectsPanel(panel, html) {\r\n const removeRow = `${localize('giveth.giveth', { target: target.name })}
`,\r\n content,\r\n speaker: ChatMessage.getSpeaker({ actor: owner }),\r\n })\r\n}\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function templatePath(...path) {\r\n path = path.filter(x => typeof x === 'string')\r\n return `modules/${MODULE_ID}/templates/${path.join('/')}.hbs`\r\n}\r\n", "import { getHeroActions, sendTradeRequest } from '../../features/hero'\r\nimport { subLocalize } from '../../shared/localize'\r\nimport { templatePath } from '../../shared/path'\r\nimport { getCharacterOwner, getOwner } from '../../shared/user'\r\n\r\nconst localize = subLocalize('hero.templates.trade')\r\n\r\nexport class Trade extends Application {\r\n constructor(actor) {\r\n super({ id: `pf2e-hero-actions-trade-${actor.id}` })\r\n this._actor = actor\r\n }\r\n\r\n static get defaultOptions() {\r\n return mergeObject(super.defaultOptions, {\r\n title: localize('title'),\r\n template: templatePath('hero/trade'),\r\n width: 600,\r\n height: 'auto',\r\n })\r\n }\r\n\r\n get actor() {\r\n return this._actor\r\n }\r\n\r\n get target() {\r\n return this._target\r\n }\r\n\r\n set target(value) {\r\n if (!value) {\r\n localize.error('no-target')\r\n return\r\n }\r\n if (value === this._target) return\r\n delete this.target?.apps?.[this.appId]\r\n this._target = value\r\n this.render()\r\n }\r\n\r\n getData(options) {\r\n return mergeObject(super.getData(), {\r\n actor: this.actor,\r\n target: this.target,\r\n targets: game.actors.filter(x => x.type === 'character' && x.id !== this.actor.id && x.hasPlayerOwner),\r\n actions: getHeroActions(this.actor),\r\n targetActions: this.target ? getHeroActions(this.target) : [],\r\n i18n: localize,\r\n })\r\n }\r\n\r\n activateListeners(html) {\r\n super.activateListeners(html)\r\n html.find('select[name=\"target\"]').on('change', this.#onChangeTarget.bind(this))\r\n html.find('[data-action=\"description\"]').on('click', this.#onDescription.bind(this))\r\n html.find('[data-action=\"trade\"]').on('click', this.#onSendTrade.bind(this))\r\n html.find('[data-action=\"cancel\"]').on('click', () => this.close())\r\n }\r\n\r\n render(force, options) {\r\n this.actor.apps[this.appId] = this\r\n if (this.target) this.target.apps[this.appId] = this\r\n return super.render(force, options)\r\n }\r\n\r\n async close(options) {\r\n await super.close(options)\r\n delete this.actor.apps?.[this.appId]\r\n delete this.target?.apps?.[this.appId]\r\n }\r\n\r\n #onSendTrade() {\r\n if (!this.target) {\r\n localize.warn('no-target')\r\n return\r\n }\r\n\r\n const action = this.element.find('[name=\"action\"]:checked').val()\r\n const target = this.element.find('[name=\"targetAction\"]:checked').val()\r\n\r\n if (typeof action !== 'string' || typeof target !== 'string') {\r\n localize.warn('no-select')\r\n return\r\n }\r\n\r\n let user = getCharacterOwner(this.target, true) ?? getOwner(this.target, true) ?? game.users.activeGM\r\n if (!user) {\r\n localize.warn('no-user')\r\n return\r\n }\r\n\r\n sendTradeRequest({\r\n sender: {\r\n id: game.user.id,\r\n cid: this.actor.id,\r\n uuid: action,\r\n },\r\n receiver: {\r\n id: user.id,\r\n cid: this.target.id,\r\n uuid: target,\r\n },\r\n })\r\n\r\n this.close()\r\n }\r\n\r\n async #onDescription(event) {\r\n const uuid = $(event.currentTarget).siblings('input').val()\r\n const entry = await fromUuid(uuid)\r\n entry?.sheet.render(true)\r\n }\r\n\r\n #onChangeTarget(event) {\r\n const id = event.currentTarget.value\r\n this.target = game.actors.get(id)\r\n }\r\n}\r\n", "import { MODULE_ID } from '../module'\r\n\r\nexport function localeCompare(a, b) {\r\n return a.localeCompare(b, game.i18n.lang)\r\n}\r\n\r\nexport function refreshCharacterSheets(actor) {\r\n for (const win of Object.values(ui.windows)) {\r\n const winActor = win.actor\r\n if (!(win instanceof ActorSheet) || !winActor.isOfType('character')) continue\r\n if (!actor || actor === winActor) win.render()\r\n }\r\n}\r\n\r\nexport function compareArrays(arr1, arr2) {\r\n if (arr1.length !== arr2.length) return false\r\n\r\n const clonedArr2 = arr2.slice()\r\n\r\n for (const arr1Value of arr1) {\r\n const index = clonedArr2.findIndex(arr2Value => arr1Value === arr2Value)\r\n if (index === -1) return false\r\n clonedArr2.splice(index, 1)\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport function ordinalString(value) {\r\n const pluralRules = new Intl.PluralRules(game.i18n.lang, { type: 'ordinal' })\r\n const suffix = game.i18n.localize(`PF2E.OrdinalSuffixes.${pluralRules.select(value)}`)\r\n return game.i18n.format('PF2E.OrdinalNumber', { value, suffix })\r\n}\r\n\r\nexport function isInstanceOf(obj, name) {\r\n if (typeof obj !== 'object') return false\r\n\r\n while ((obj = Reflect.getPrototypeOf(obj))) {\r\n if (obj.constructor.name === name) return true\r\n }\r\n\r\n return false\r\n}\r\n\r\nexport function setInMemory(doc, key, value) {\r\n return setProperty(doc, `modules.${MODULE_ID}.${key}`, value)\r\n}\r\n\r\nexport function getInMemory(doc, key) {\r\n return getProperty(doc, `modules.${MODULE_ID}.${key}`)\r\n}\r\n\r\nexport function deleteInMemory(doc, key) {\r\n const split = `modules.${MODULE_ID}.${key}`.split('.')\r\n const last = split.pop()\r\n let cursor = doc\r\n for (const key of split) {\r\n cursor = cursor[key]\r\n if (!cursor) return true\r\n }\r\n return delete cursor[last]\r\n}\r\n", "import { Trade } from '../apps/hero/trade'\r\nimport { isPlayedActor } from '../shared/actor'\r\nimport { chatUUID } from '../shared/chat'\r\nimport { createHook } from '../shared/hook'\r\nimport { localize, subLocalize } from '../shared/localize'\r\nimport { refreshCharacterSheets } from '../shared/misc'\r\nimport { error, warn } from '../shared/notification'\r\nimport { templatePath } from '../shared/path'\r\nimport { getSetting, setSetting } from '../shared/settings'\r\nimport { socketEmit, socketOff, socketOn } from '../shared/socket'\r\nimport { isActiveGM } from '../shared/user'\r\n\r\nconst MODULE_ID = 'pf2e-hero-actions'\r\n\r\nconst setHook = createHook('renderCharacterSheetPF2e', renderCharacterSheetPF2e, setupSocket)\r\n\r\nconst JOURNAL_UUID = 'Compendium.pf2e.journals.JournalEntry.BSp4LUSaOmUyjBko'\r\nconst TABLE_UUID = 'Compendium.pf2e.rollable-tables.RollTable.zgZoI7h0XjjJrrNK'\r\n\r\nconst TABLE_ICON = 'systems/pf2e/icons/features/feats/heroic-recovery.webp'\r\n\r\nlet SOCKET = false\r\n\r\nexport function registerHeroActions() {\r\n return {\r\n name: 'heroActions',\r\n settings: [\r\n {\r\n name: 'hero',\r\n type: Boolean,\r\n default: false,\r\n onChange: value => setHook(value),\r\n },\r\n {\r\n name: 'hero-table',\r\n type: String,\r\n default: '',\r\n },\r\n {\r\n name: 'hero-trade',\r\n type: Boolean,\r\n default: false,\r\n onChange: () => refreshCharacterSheets(),\r\n },\r\n {\r\n name: 'hero-private',\r\n type: Boolean,\r\n default: false,\r\n },\r\n ],\r\n conflicts: [MODULE_ID],\r\n api: {\r\n createTable,\r\n removeHeroActions,\r\n getHeroActions,\r\n useHeroAction,\r\n getHeroActionDetails,\r\n drawHeroAction,\r\n drawHeroActions,\r\n sendActionToChat,\r\n discardHeroActions,\r\n tradeHeroAction,\r\n getDeckTable,\r\n giveHeroActions,\r\n createChatMessage,\r\n },\r\n ready: () => {\r\n setHook(false, 'hero')\r\n },\r\n }\r\n}\r\n\r\nfunction setupSocket(value) {\r\n if (value && !SOCKET) {\r\n socketOn(onSocket)\r\n SOCKET = true\r\n } else if (!value && SOCKET) {\r\n socketOff(onSocket)\r\n SOCKET = false\r\n }\r\n}\r\n\r\nfunction onSocket(packet) {\r\n switch (packet.type) {\r\n case 'hero.trade-reject':\r\n if (packet.sender.id !== game.user.id) return\r\n onTradeRejected(packet)\r\n break\r\n case 'hero.trade-accept':\r\n if (!isActiveGM()) return\r\n onTradeAccepted(packet)\r\n break\r\n case 'hero.trade-request':\r\n if (packet.receiver.id !== game.user.id) return\r\n onTradeRequest(packet)\r\n break\r\n case 'hero.trade-error':\r\n if (!packet.users.includes(game.user.id)) return\r\n onTradeError(packet.error)\r\n break\r\n }\r\n}\r\n\r\nasync function renderCharacterSheetPF2e(sheet, html) {\r\n const actor = sheet.actor\r\n if (!isPlayedActor(actor)) return\r\n\r\n await addActionsToSheet(html, actor)\r\n addSheetEvents(html, actor)\r\n}\r\n\r\nasync function addActionsToSheet(html, actor) {\r\n const actions = getHeroActions(actor)\r\n const diff = actor.heroPoints.value - actions.length\r\n const isOwner = actor.isOwner\r\n const localize = subLocalize('hero.templates.heroActions')\r\n\r\n const template = await renderTemplate(templatePath('hero/sheet'), {\r\n owner: isOwner,\r\n list: actions,\r\n canUse: diff >= 0 && isOwner,\r\n canDraw: diff > 0 && isOwner,\r\n canTrade: getSetting('hero-trade'),\r\n mustDiscard: diff < 0,\r\n diff: Math.abs(diff),\r\n i18n: (key, { hash }) => localize(key, hash),\r\n })\r\n\r\n html.find(\r\n '.sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] > .strikes-list:not(.skill-action-list)'\r\n )\r\n .first()\r\n .after(template)\r\n}\r\n\r\nfunction addSheetEvents(html, actor) {\r\n const list = html.find('.tab.actions .heroActions-list')\r\n list.find('[data-action=draw]').on('click', event => onClickHeroActionsDraw(actor, event))\r\n list.find('[data-action=expand]').on('click', onClickHeroActionExpand)\r\n list.find('[data-action=use]').on('click', event => onClickHeroActionUse(actor, event))\r\n list.find('[data-action=display]').on('click', event => onClickHeroActionDisplay(actor, event))\r\n list.find('[data-action=discard]').on('click', onClickHeroActionDiscard)\r\n list.find('[data-action=discard-selected]').on('click', () => onClickHeroActionsDiscard(actor, html))\r\n html.find('[data-action=hero-actions-trade]').on('click', () => tradeHeroAction(actor))\r\n}\r\n\r\nasync function onClickHeroActionsDiscard(actor, html) {\r\n const discarded = html.find('.tab.actions .heroActions-list .action.discarded')\r\n const uuids = discarded.toArray().map(x => x.dataset.uuid)\r\n discardHeroActions(actor, uuids)\r\n}\r\n\r\nfunction onClickHeroActionDiscard(event) {\r\n event.preventDefault()\r\n\r\n const action = $(event.currentTarget).closest('.action')\r\n const list = action.closest('.heroActions-list')\r\n\r\n action.toggleClass('discarded')\r\n\r\n const toDiscard = Number(list.attr('data-discard') ?? '0')\r\n const $discarded = list.find('.action.discarded')\r\n\r\n list.toggleClass('discardable', $discarded.length === toDiscard)\r\n}\r\n\r\nasync function onClickHeroActionDisplay(actor, event) {\r\n event.preventDefault()\r\n const uuid = $(event.currentTarget).closest('.action').attr('data-uuid')\r\n sendActionToChat(actor, uuid)\r\n}\r\n\r\nasync function onClickHeroActionUse(actor, event) {\r\n event.preventDefault()\r\n const uuid = $(event.currentTarget).closest('.action').attr('data-uuid')\r\n useHeroAction(actor, uuid)\r\n}\r\n\r\nasync function onClickHeroActionsDraw(actor, event) {\r\n event.preventDefault()\r\n drawHeroActions(actor)\r\n}\r\n\r\nexport function getHeroActions(actor) {\r\n return getProperty(actor, `flags.${MODULE_ID}.heroActions`) ?? []\r\n}\r\n\r\nasync function setHeroActions(actor, actions) {\r\n return actor.update({ [`flags.${MODULE_ID}.heroActions`]: actions })\r\n}\r\n\r\nasync function onClickHeroActionExpand(event) {\r\n event.preventDefault()\r\n\r\n const action = $(event.currentTarget).closest('.action')\r\n const summary = action.find('.item-summary')\r\n\r\n if (!summary.hasClass('loaded')) {\r\n const uuid = action.attr('data-uuid')\r\n const details = await getHeroActionDetails(uuid)\r\n if (!details) return\r\n\r\n const text = await TextEditor.enrichHTML(details.description, { async: true })\r\n\r\n summary.find('.item-description').html(text)\r\n summary.addClass('loaded')\r\n }\r\n\r\n action.toggleClass('expanded')\r\n}\r\n\r\nasync function getHeroActionDetails(uuid) {\r\n let document = await fromUuid(uuid)\r\n if (!document) return undefined\r\n\r\n const parent = document instanceof JournalEntry ? document : document.parent\r\n const page = document instanceof JournalEntry ? document.pages.contents[0] : document\r\n\r\n let text = page?.text.content\r\n if (!text) return undefined\r\n\r\n if (parent.uuid === JOURNAL_UUID) text = text.replace(/^${label}
`,\r\n content,\r\n speaker: ChatMessage.getSpeaker({ actor: actor }),\r\n }\r\n\r\n if (secret && getSetting('hero-private')) {\r\n data.type = CONST.CHAT_MESSAGE_TYPES.ROLL\r\n data.rollMode = CONST.DICE_ROLL_MODES.PRIVATE\r\n }\r\n\r\n ChatMessage.create(data)\r\n}\r\n\r\nfunction chatActions(actions) {\r\n const links = actions.map(({ uuid, name }) => chatUUID(uuid, name))\r\n return {\r\n content: links.map(x => `${localize('hero.actions-use.header')}
`,\r\n content: `${details.name}
${details.description}`,\r\n speaker: ChatMessage.getSpeaker({ actor }),\r\n })\r\n } else {\r\n setHeroActions(actor, actions)\r\n }\r\n}\r\n\r\nasync function discardHeroActions(actor, uuids) {\r\n if (!actor?.isOfType('character')) {\r\n warn('hero.onlyCharacter')\r\n return\r\n }\r\n\r\n uuids = typeof uuids === 'string' ? [uuids] : uuids\r\n\r\n const actions = getHeroActions(actor)\r\n const removed = []\r\n\r\n for (const uuid of uuids) {\r\n const index = actions.findIndex(x => x.uuid === uuid)\r\n if (index === -1) continue\r\n removed.push(actions[index])\r\n actions.splice(index, 1)\r\n }\r\n\r\n setHeroActions(actor, actions)\r\n createChatMessage({ actor, actions: removed, label: nb => localize('hero.actions-discard.header', { nb }) })\r\n}\r\n\r\nasync function getLabelfromTableResult(result, uuid) {\r\n if (result.type !== CONST.TABLE_RESULT_TYPES.TEXT) return result.text\r\n const label = /@UUID\\[[\\w\\.]+\\]{([\\w -]+)}/.exec(result.text)?.[1]\r\n return label ?? (uuid && (await fromUuid(uuid))?.name)\r\n}\r\n\r\nasync function getTableFromUuid(uuid) {\r\n if (!uuid) return undefined\r\n const table = await fromUuid(uuid)\r\n return table && table instanceof RollTable ? table : undefined\r\n}\r\n\r\nasync function getDefaultCompendiumTable() {\r\n return getTableFromUuid(TABLE_UUID)\r\n}\r\n\r\nfunction getDefaultWorldTable() {\r\n return game.tables.find(x => x.getFlag('core', 'sourceId') === TABLE_UUID)\r\n}\r\n\r\nasync function getCustomTable() {\r\n return getTableFromUuid(getSetting('hero-table'))\r\n}\r\n\r\nasync function getDeckTable() {\r\n return (await getCustomTable()) ?? getDefaultWorldTable() ?? (await getDefaultCompendiumTable())\r\n}\r\n\r\nasync function sendActionToChat(actor, uuid) {\r\n const details = await getHeroActionDetails(uuid)\r\n if (!details) return error('hero.details.missing')\r\n\r\n ChatMessage.create({\r\n content: `${details.name}
${details.description}`,\r\n speaker: ChatMessage.getSpeaker({ actor: actor }),\r\n })\r\n}\r\n\r\nexport function sendTradeRequest(trade) {\r\n if (trade.receiver.id === game.user.id) {\r\n acceptRequest(trade)\r\n return\r\n }\r\n\r\n socketEmit({\r\n ...trade,\r\n type: 'hero.trade-request',\r\n })\r\n}\r\n\r\nfunction acceptRequest(trade) {\r\n if (game.user.isGM) {\r\n onTradeAccepted(trade)\r\n return\r\n }\r\n\r\n socketEmit({\r\n ...trade,\r\n type: 'hero.trade-accept',\r\n })\r\n}\r\n\r\nasync function onTradeAccepted(trade) {\r\n const { sender, receiver } = trade\r\n const senderActor = game.actors.get(sender.cid)\r\n const receiverActor = game.actors.get(receiver.cid)\r\n\r\n if (!senderActor || !receiverActor) {\r\n sendTradeError(trade)\r\n return\r\n }\r\n\r\n const senderActions = getHeroActions(senderActor)\r\n const receiverActions = getHeroActions(receiverActor)\r\n\r\n const senderActionIndex = senderActions.findIndex(x => x.uuid === sender.uuid)\r\n const receiverActionIndex = receiverActions.findIndex(x => x.uuid === receiver.uuid)\r\n\r\n if (senderActionIndex === -1 || receiverActionIndex === -1) {\r\n sendTradeError(trade)\r\n return\r\n }\r\n\r\n const senderAction = senderActions.splice(senderActionIndex, 1)[0]\r\n const receiverAction = receiverActions.splice(receiverActionIndex, 1)[0]\r\n\r\n senderActions.push(receiverAction)\r\n receiverActions.push(senderAction)\r\n\r\n setHeroActions(senderActor, senderActions)\r\n setHeroActions(receiverActor, receiverActions)\r\n\r\n const sentLink = chatUUID(senderAction.uuid)\r\n const receivedLink = chatUUID(receiverAction.uuid)\r\n\r\n const localize = subLocalize('hero.trade-success')\r\n\r\n let content = `${localize('header', { name: receiverActor.name })}
`,\r\n content,\r\n speaker: ChatMessage.getSpeaker({ actor: senderActor }),\r\n })\r\n}\r\n\r\nfunction sendTradeError({ sender, receiver }, error = 'trade-error') {\r\n const users = new Set([sender.id, receiver.id])\r\n\r\n if (users.has(game.user.id)) {\r\n users.delete(game.user.id)\r\n onTradeError(error)\r\n }\r\n\r\n if (!users.size) return\r\n\r\n socketEmit({\r\n type: 'hero.trade-error',\r\n users: Array.from(users),\r\n error,\r\n })\r\n}\r\n\r\nfunction onTradeError(err) {\r\n error('hero.trade-error')\r\n}\r\n\r\nasync function onTradeRequest(trade) {\r\n const { sender, receiver } = trade\r\n const senderActor = game.actors.get(sender.cid)\r\n const receiverActor = game.actors.get(receiver.cid)\r\n\r\n if (!senderActor || !receiverActor) {\r\n sendTradeError(trade)\r\n return\r\n }\r\n\r\n const localize = subLocalize('hero.trade-request')\r\n\r\n let content = `
')\r\n rowsTemplate.append(template)\r\n })\r\n\r\n msgContent.after(rowsTemplate)\r\n\r\n addHeaderListeners(message, rowsTemplate, save)\r\n}\r\n\r\nfunction addTargets(event, message) {\r\n event.stopPropagation()\r\n const targets = game.user.targets\r\n\r\n setFlag(\r\n message,\r\n 'target.targets',\r\n Array.from(targets.map(target => ({ token: target.document.uuid, actor: target.actor.uuid })))\r\n )\r\n}\r\n\r\nasync function renderDamageChatMessage(message, html) {\r\n const data = await getMessageData(message)\r\n const msgContent = html.find('.message-content')\r\n const damageRows = msgContent.find('.damage-application')\r\n const clonedRows = damageRows.clone()\r\n\r\n const buttons = $('')\r\n\r\n if (data?.targets.length && damageRows.length) {\r\n const toggleDamageRow = () => {\r\n const expanded = !!getInMemory(message, 'target.expanded')\r\n toggleBtn.toggleClass('collapse', expanded)\r\n damageRows.toggleClass('hidden', !expanded)\r\n }\r\n\r\n const toggleTooltip = localize('target.chat.toggle.tooltip')\r\n const toggleBtn = $(`
')\r\n rowsTemplate.append(template)\r\n\r\n clones.each((index, el) => {\r\n el.dataset.rollIndex = index\r\n el.dataset.targetUuid = uuid\r\n\r\n el.classList.toggle('applied', !!applied[index] || (isBasicSave && save.result.success === 'criticalSuccess'))\r\n if (isBasicSave) el.classList.add(save.result.success)\r\n })\r\n\r\n rowsTemplate.append(clones)\r\n })\r\n\r\n msgContent.after(rowsTemplate)\r\n\r\n addHeaderListeners(message, rowsTemplate, save)\r\n rowsTemplate.find('button[data-action^=target-]').on('click', event => onTargetButton(event, message))\r\n}\r\n\r\nfunction addHeaderListeners(message, html, save) {\r\n html.find('[data-action=ping-target]').on('click', pingTarget)\r\n html.find('[data-action=open-target-sheet]').on('click', openTargetSheet)\r\n html.find('[data-action=roll-save]').on('click', event => rollSave(event, message, save))\r\n html.find('[data-action=reroll-save]').on('click', event => rerollSave(event, message, save))\r\n}\r\n\r\nasync function getMessageData(message) {\r\n const targetsFlag = getFlag(message, 'target.targets') ?? []\r\n const showDC = game.user.isGM || game.settings.get('pf2e', 'metagame_showDC')\r\n\r\n const save = (() => {\r\n const flag = getFlag(message, 'target.save')\r\n if (!flag) return\r\n return {\r\n ...flag,\r\n ...SAVES[flag.statistic],\r\n }\r\n })()\r\n\r\n if (!targetsFlag.length && !save) return\r\n\r\n if (save) {\r\n const saveLabel = game.i18n.format('PF2E.SavingThrowWithName', { saveName: game.i18n.localize(save.label) })\r\n const saveDC = showDC ? localize('target.chat.save.dcWithValue', { dc: save.dc }) : ''\r\n save.tooltipLabel = `${saveLabel} ${saveDC}`\r\n save.tooltip = await renderTemplate(templatePath('target/save-tooltip'), {\r\n check: save.tooltipLabel,\r\n })\r\n }\r\n\r\n const targets = (\r\n await Promise.all(\r\n targetsFlag.map(async ({ token }) => {\r\n const target = await fromUuid(token)\r\n if (!target?.isOwner) return\r\n\r\n const targetId = target.id\r\n const actor = target.actor\r\n const hasSave = save && !!actor?.saves[save.statistic]\r\n\r\n const targetSave = await (async () => {\r\n if (!hasSave) return\r\n\r\n const flag = getFlag(message, `target.saves.${targetId}`)\r\n if (!flag) return\r\n\r\n const rerolled = flag.rerolled\r\n const canReroll = hasSave && !rerolled\r\n const successLabel = game.i18n.localize(`PF2E.Check.Result.Degree.Check.${flag.success}`)\r\n const offset = flag.value - save.dc\r\n\r\n return {\r\n ...flag,\r\n canReroll,\r\n tooltip: await renderTemplate(templatePath('target/save-tooltip'), {\r\n i18n: subLocalize('target.chat.save'),\r\n check: save.tooltipLabel,\r\n result: localize(`target.chat.save.result.${showDC ? 'withOffset' : 'withoutOffset'}`, {\r\n success: successLabel,\r\n offset: offset >= 0 ? `+${offset}` : offset,\r\n die: ` ${flag.die}`,\r\n }),\r\n modifiers: flag.modifiers,\r\n canReroll,\r\n rerolled: REROLL[rerolled],\r\n }),\r\n }\r\n })()\r\n\r\n const templateSave = save && {\r\n ...save,\r\n result: targetSave,\r\n }\r\n\r\n return {\r\n uuid: token,\r\n target: target,\r\n save: templateSave,\r\n applied: getFlag(message, `target.applied.${targetId}`),\r\n template: await renderTemplate(templatePath('target/row-header'), {\r\n name: target.name,\r\n uuid: token,\r\n save: hasSave && templateSave,\r\n canReroll: targetSave?.canReroll,\r\n rerolled: REROLL[targetSave?.rerolled],\r\n }),\r\n }\r\n })\r\n )\r\n ).filter(Boolean)\r\n\r\n return { targets, save }\r\n}\r\n\r\nasync function getTargetFromEvent(event) {\r\n const { targetUuid } = event.currentTarget.closest('[data-target-uuid]').dataset\r\n return fromUuid(targetUuid)\r\n}\r\n\r\nasync function rerollSave(event, message, { dc }) {\r\n const target = await getTargetFromEvent(event)\r\n const actor = target?.actor\r\n if (!actor) return\r\n\r\n const flag = getFlag(message, `target.saves.${target.id}`)\r\n if (!flag?.roll || flag.rerolled) return\r\n\r\n const heroPoints = actor.isOfType('character') ? actor.heroPoints.value : 0\r\n\r\n const template = Object.entries(REROLL)\r\n .map(([type, { icon, reroll }]) => {\r\n if (type === 'hero' && !heroPoints) return\r\n const label = game.i18n.localize(reroll)\r\n return ``\r\n })\r\n .filter(Boolean)\r\n .join('')\r\n\r\n const buttons = {\r\n yes: {\r\n icon: '',\r\n label: 'reroll',\r\n callback: html => html.find('[name=reroll]:checked').val() ?? null,\r\n },\r\n no: {\r\n icon: '',\r\n label: 'cancel',\r\n callback: () => null,\r\n },\r\n }\r\n\r\n const reroll = await Dialog.wait(\r\n {\r\n title: `${target.name} - ${localize('target.chat.save.reroll.confirm.title')}`,\r\n content: template,\r\n buttons,\r\n close: () => null,\r\n },\r\n {\r\n id: `pf2e-toolbelt-target-save-reroll-dialog-${target.id}`,\r\n }\r\n )\r\n\r\n if (!reroll) return\r\n\r\n const isHeroReroll = reroll === 'hero'\r\n const keep = isHeroReroll ? 'new' : reroll\r\n\r\n if (isHeroReroll) {\r\n const { value, max } = actor.heroPoints\r\n\r\n if (value < 1) {\r\n warn('target.chat.save.reroll.noPoints')\r\n return\r\n }\r\n\r\n await actor.update({\r\n 'system.resources.heroPoints.value': Math.clamped(value - 1, 0, max),\r\n })\r\n }\r\n\r\n const oldRoll = Roll.fromJSON(flag.roll)\r\n const unevaluatedNewRoll = oldRoll.clone()\r\n unevaluatedNewRoll.options.isReroll = true\r\n Hooks.callAll('pf2e.preReroll', Roll.fromJSON(flag.roll), unevaluatedNewRoll, isHeroReroll, keep)\r\n\r\n const newRoll = await unevaluatedNewRoll.evaluate({ async: true })\r\n Hooks.callAll('pf2e.reroll', Roll.fromJSON(flag.roll), newRoll, isHeroReroll, keep)\r\n\r\n const keptRoll =\r\n (keep === 'higher' && oldRoll.total > newRoll.total) || (keep === 'lower' && oldRoll.total < newRoll.total)\r\n ? oldRoll\r\n : newRoll\r\n\r\n if (keptRoll === newRoll) {\r\n const success = new DegreeOfSuccess(newRoll, dc, flag.dosAdjustments)\r\n keptRoll.options.degreeOfSuccess = success.value\r\n }\r\n\r\n const packet = {\r\n type: 'target.update-save',\r\n target: target.id,\r\n data: {\r\n value: keptRoll.total,\r\n die: keptRoll.dice[0].total,\r\n success: keptRoll.degreeOfSuccess,\r\n roll: JSON.stringify(keptRoll.toJSON()),\r\n dosAdjustments: deepClone(flag.dosAdjustments),\r\n modifiers: deepClone(flag.modifiers),\r\n rerolled: reroll,\r\n },\r\n }\r\n\r\n if (keptRoll.options.keeleyAdd10) {\r\n packet.data.modifiers.push({\r\n label: localize('target.chat.save.reroll.keeley'),\r\n modifier: 10,\r\n })\r\n }\r\n\r\n if (game.user.isGM || message.isAuthor) {\r\n packet.message = message\r\n updateMessageSave(packet)\r\n } else {\r\n packet.message = message.id\r\n socketEmit(packet)\r\n }\r\n}\r\n\r\nasync function rollSave(event, message, { dc, statistic }) {\r\n const target = await getTargetFromEvent(event)\r\n const actor = target?.actor\r\n if (!actor) return\r\n\r\n const save = actor.saves[statistic]\r\n if (!save) return\r\n\r\n const item = (() => {\r\n const item = message.item\r\n if (item) return item\r\n\r\n const messageId = getFlag(message, 'target.messageId')\r\n if (!messageId) return\r\n\r\n const otherMessage = game.messages.get(messageId)\r\n if (!otherMessage) return\r\n\r\n return otherMessage.item\r\n })()\r\n\r\n const skipDefault = !game.user.settings.showCheckDialogs\r\n\r\n const packet = {\r\n type: 'target.update-save',\r\n target: target.id,\r\n }\r\n\r\n save.check.roll({\r\n dc: { value: dc },\r\n item,\r\n origin: actor,\r\n skipDialog: event.shiftKey ? !skipDefault : skipDefault,\r\n createMessage: false,\r\n callback: (roll, __, msg) => {\r\n packet.data = {\r\n value: roll.total,\r\n die: roll.dice[0].total,\r\n success: roll.degreeOfSuccess,\r\n roll: JSON.stringify(roll.toJSON()),\r\n dosAdjustments: msg.getFlag('pf2e', 'context.dosAdjustments'),\r\n modifiers: msg\r\n .getFlag('pf2e', 'modifiers')\r\n .filter(modifier => modifier.enabled)\r\n .map(({ label, modifier }) => ({ label, modifier })),\r\n }\r\n\r\n if (game.user.isGM || message.isAuthor) {\r\n packet.message = message\r\n updateMessageSave(packet)\r\n } else {\r\n packet.message = message.id\r\n socketEmit(packet)\r\n }\r\n },\r\n })\r\n}\r\n\r\nfunction updateMessageSave({ message, target, data }) {\r\n if (typeof message === 'string') {\r\n message = game.messages.get(message)\r\n if (!message) return\r\n }\r\n\r\n if (typeof data.success === 'number') data.success = DEGREE_OF_SUCCESS[data.success]\r\n\r\n setFlag(message, `target.saves.${target}`, deepClone(data))\r\n}\r\n\r\nasync function openTargetSheet(event) {\r\n const target = await getTargetFromEvent(event)\r\n if (!target) return\r\n\r\n target.actor?.sheet.render(true)\r\n}\r\n\r\nasync function pingTarget(event) {\r\n if (!canvas.ready) return\r\n\r\n const target = await getTargetFromEvent(event)\r\n if (!target) return\r\n\r\n canvas.ping(target.center)\r\n}\r\n\r\nasync function onTargetButton(event, message) {\r\n const btn = event.currentTarget\r\n const { rollIndex, targetUuid } = btn.closest('[data-target-uuid]').dataset\r\n const target = await fromUuid(targetUuid)\r\n if (!target) return\r\n\r\n const type = btn.dataset.action\r\n\r\n if (type === 'target-shield-block') {\r\n onClickShieldBlock(target, btn, message.element)\r\n return\r\n }\r\n\r\n const multiplier =\r\n type === 'target-apply-healing'\r\n ? -1\r\n : type === 'target-half-damage'\r\n ? 0.5\r\n : type === 'target-apply-damage'\r\n ? 1\r\n : type === 'target-double-damage'\r\n ? 2\r\n : 3\r\n\r\n applyDamageFromMessage(target, {\r\n message,\r\n multiplier,\r\n addend: 0,\r\n promptModifier: event.shiftKey,\r\n rollIndex: Number(rollIndex),\r\n })\r\n}\r\n\r\nexport function onDamageApplied(message, tokenId, rollIndex) {\r\n let updates = {}\r\n moduleFlagUpdate(updates, `target.applied.${tokenId}.${rollIndex}`, true)\r\n\r\n const splashRollIndex = getFlag(message, 'target.splashIndex')\r\n if (splashRollIndex !== undefined) {\r\n const regularRollIndex = splashRollIndex === 0 ? 1 : 0\r\n\r\n if (rollIndex === splashRollIndex) {\r\n moduleFlagUpdate(updates, `target.applied.${tokenId}.${regularRollIndex}`, true)\r\n } else {\r\n moduleFlagUpdate(updates, `target.applied.${tokenId}.${splashRollIndex}`, true)\r\n\r\n const targetsFlag = getFlag(message, 'target.targets') ?? []\r\n for (const target of targetsFlag) {\r\n const targetId = target.token?.split('.').at(-1)\r\n if (targetId === tokenId) continue\r\n\r\n moduleFlagUpdate(updates, `target.applied.${targetId}.${regularRollIndex}`, true)\r\n }\r\n }\r\n }\r\n\r\n if (game.user.isGM || message.isAuthor) {\r\n updateMessageApplied({ message, updates })\r\n } else {\r\n socketEmit({\r\n type: 'target.update-applied',\r\n message: message.id,\r\n updates,\r\n })\r\n }\r\n}\r\n\r\nfunction updateMessageApplied({ message, updates }) {\r\n if (typeof message === 'string') {\r\n message = game.messages.get(message)\r\n if (!message) return\r\n }\r\n message.update(updates)\r\n}\r\n", "import { getSetting } from '../shared/settings'\r\n\r\nlet CREATE_HOOK = null\r\nlet UPDATE_HOOK = null\r\n\r\nexport function registerUnided() {\r\n return {\r\n settings: [\r\n {\r\n name: 'unided',\r\n type: String,\r\n default: 'disabled',\r\n choices: ['disabled', 'create', 'all'],\r\n onChange: setHooks,\r\n },\r\n ],\r\n conflicts: ['pf2e-unided'],\r\n init: () => {\r\n setHooks()\r\n },\r\n }\r\n}\r\n\r\nfunction setHooks(value) {\r\n value ??= getSetting('unided')\r\n\r\n if (value === 'disabled') {\r\n if (CREATE_HOOK) {\r\n Hooks.off('preCreateItem', CREATE_HOOK)\r\n CREATE_HOOK = null\r\n }\r\n if (UPDATE_HOOK) {\r\n Hooks.off('preUpdateItem', UPDATE_HOOK)\r\n UPDATE_HOOK = null\r\n }\r\n } else {\r\n if (!CREATE_HOOK) {\r\n CREATE_HOOK = Hooks.on('preCreateItem', preCreateItem)\r\n }\r\n if (value === 'all' && !UPDATE_HOOK) {\r\n UPDATE_HOOK = Hooks.on('preUpdateItem', preUpdateItem)\r\n } else if (value !== 'all' && UPDATE_HOOK) {\r\n Hooks.off('preUpdateItem', UPDATE_HOOK)\r\n UPDATE_HOOK = null\r\n }\r\n }\r\n}\r\n\r\nfunction preCreateItem(item) {\r\n if (!item.img || !item.isOfType('physical')) return\r\n item._source.system.identification.unidentified.img = item.img\r\n}\r\n\r\nfunction preUpdateItem(item, changes) {\r\n if (!item.isOfType('physical') || !('img' in changes)) return\r\n setProperty(changes, 'system.identification.unidentified.img', changes.img)\r\n}\r\n", "import { subLocalize } from '../shared/localize'\r\nimport { templatePath } from '../shared/path'\r\n\r\nconst localize = subLocalize('macros.condition')\r\n\r\nexport async function permaConditionEffect(actor) {\r\n const callback = (html, type) => {\r\n const condition = html.find('[name=condition]')\r\n const { name, slug, img } = condition.find(':selected').data()\r\n\r\n return {\r\n type,\r\n slug,\r\n img,\r\n name: html.find('[name=name]').val().trim() || localize('effect-name', { condition: name }),\r\n uuid: condition.val(),\r\n badge: Number(html.find('[name=badge]').val() || 1),\r\n unidentified: html.find('[name=unidentified]').prop('checked'),\r\n }\r\n }\r\n\r\n const buttons = {\r\n generate: {\r\n icon: '',\r\n label: localize('generate'),\r\n callback: html => callback(html, 'generate'),\r\n },\r\n add: {\r\n icon: '',\r\n label: localize('add'),\r\n callback: html => callback(html, 'add'),\r\n },\r\n }\r\n\r\n const conditions = Array.from(game.pf2e.ConditionManager.conditions.values())\r\n const withBadge = new Set(conditions.filter(condition => !!condition.badge).map(condition => condition.slug))\r\n\r\n const content = await renderTemplate(templatePath('macros/condition'), {\r\n i18n: localize,\r\n conditions: Array.from(new Set(conditions.sort((a, b) => a.name.localeCompare(b.name)))),\r\n })\r\n\r\n const setInputs = html => {\r\n const { name, slug } = html.find('[name=condition] :selected').data()\r\n html.find('[name=name]').prop('placeholder', localize('effect-name', { condition: name }))\r\n\r\n const hasBadge = withBadge.has(slug)\r\n const badge = html.find('[name=badge]')\r\n badge.prop('disabled', !hasBadge)\r\n if (!hasBadge) badge.val(1)\r\n }\r\n\r\n const result = await Dialog.wait(\r\n {\r\n buttons,\r\n content,\r\n title: localize('title'),\r\n close: () => null,\r\n render: html => {\r\n setInputs(html)\r\n html.find('[name=condition]').on('change', () => setInputs(html))\r\n },\r\n },\r\n {\r\n id: 'pf2e-toolbelt-macros-condition',\r\n width: 320,\r\n }\r\n )\r\n\r\n if (!result) return\r\n\r\n const rule = {\r\n inMemoryOnly: true,\r\n key: 'GrantItem',\r\n uuid: result.uuid,\r\n }\r\n\r\n if (result.badge > 1 && withBadge.has(result.slug)) {\r\n rule.alterations = [\r\n {\r\n mode: 'override',\r\n property: 'badge-value',\r\n value: result.badge,\r\n },\r\n ]\r\n }\r\n\r\n const source = {\r\n name: result.name,\r\n type: 'effect',\r\n img: result.img,\r\n system: {\r\n rules: [rule],\r\n unidentified: result.unidentified,\r\n },\r\n }\r\n\r\n if (result.type === 'generate' || !actor) await Item.create(source)\r\n else await actor.createEmbeddedDocuments('Item', [source])\r\n}\r\n", "import { registerArp } from './features/arp'\r\nimport { registerEffectsPanelHelper } from './features/effects'\r\nimport { registerGiveth } from './features/giveth'\r\nimport { registerHeroActions } from './features/hero'\r\nimport { registerKnowledges } from './features/knowledges'\r\nimport { registerMerge } from './features/merge'\r\nimport { registerHideModifiers } from './features/modifiers'\r\nimport { registerNobulk } from './features/nobulk'\r\nimport { registerShare } from './features/share'\r\nimport { registerStances } from './features/stances'\r\nimport { registerSpellsSummary } from './features/summary'\r\nimport { registerTargetTokenHelper } from './features/target'\r\nimport { registerUnided } from './features/unided'\r\nimport { permaConditionEffect } from './macros/condition'\r\nimport { MODULE_ID } from './module'\r\nimport { localize } from './shared/localize'\r\nimport { warn } from './shared/notification'\r\nimport { getSetting, setSetting } from './shared/settings'\r\nimport { isUserGM } from './shared/user'\r\n\r\nconst FEATURES = [\r\n registerArp(),\r\n registerNobulk(),\r\n registerGiveth(),\r\n registerKnowledges(),\r\n registerUnided(),\r\n registerMerge(),\r\n registerEffectsPanelHelper(),\r\n registerSpellsSummary(),\r\n registerStances(),\r\n registerHeroActions(),\r\n registerHideModifiers(),\r\n registerShare(),\r\n registerTargetTokenHelper(),\r\n]\r\n\r\nconst CONFLICTS = new Set()\r\n\r\nconst SETTINGS_MIGRATION_VERSION = 1\r\n\r\nlet firstClientSetting = null\r\n\r\nHooks.once('init', () => {\r\n const isGM = isUserGM()\r\n\r\n game.settings.register(MODULE_ID, 'settings-min-migration-version', {\r\n scope: 'world',\r\n config: false,\r\n key: 'settings-min-migration-version',\r\n type: Number,\r\n default: 0,\r\n })\r\n\r\n const settings = FEATURES.flatMap(({ settings = [] }) =>\r\n settings.map(setting => {\r\n const key = setting.name\r\n\r\n if (setting.choices) {\r\n setting.choices = setting.choices.reduce((choices, choice) => {\r\n choices[choice] = settingPath(key, `choices.${choice}`)\r\n return choices\r\n }, {})\r\n }\r\n\r\n setting.key = key\r\n setting.scope ??= 'world'\r\n setting.config ??= true\r\n setting.name = settingPath(key, 'name')\r\n setting.hint = settingPath(key, 'hint')\r\n\r\n return setting\r\n })\r\n )\r\n\r\n const [worldSettings, clientSettings] = ['world', 'client'].map(scope =>\r\n settings.filter(settings => settings.scope === scope)\r\n )\r\n\r\n ;[worldSettings, clientSettings].forEach(settings =>\r\n settings.forEach(setting => game.settings.register(MODULE_ID, setting.key, setting))\r\n )\r\n\r\n if (isGM) {\r\n firstClientSetting = clientSettings[0].key\r\n Hooks.on('renderSettingsConfig', renderSettingsConfig)\r\n }\r\n\r\n const module = game.modules.get(MODULE_ID)\r\n module.api = {\r\n macros: {\r\n permaConditionEffect,\r\n },\r\n }\r\n\r\n FEATURES.forEach(feature => {\r\n const { init, conflicts = [], api, name } = feature\r\n\r\n if (isGM) {\r\n for (const id of conflicts) {\r\n const conflictingModule = game.modules.get(id)\r\n if (conflictingModule?.active) {\r\n feature.conflicting = true\r\n CONFLICTS.add(conflictingModule.title)\r\n }\r\n }\r\n }\r\n\r\n if (api && name) module.api[name] = api\r\n\r\n if (!feature.conflicting && init) init(isGM)\r\n })\r\n})\r\n\r\nHooks.once('ready', () => {\r\n const isGM = game.user.isGM\r\n\r\n for (const { conflicting, ready } of FEATURES) {\r\n if (!conflicting && ready) ready(isGM)\r\n }\r\n\r\n if (!isGM) return\r\n\r\n for (const conflict of CONFLICTS) {\r\n warn('module-conflict', { name: conflict }, true)\r\n }\r\n\r\n const settingsMinMigrationVersion = getSetting('settings-min-migration-version')\r\n if (settingsMinMigrationVersion < SETTINGS_MIGRATION_VERSION) {\r\n FEATURES.forEach(({ settings }) => {\r\n settings.forEach(({ migrate, key }) => {\r\n if (!migrate) return\r\n\r\n const originalValue = getSetting(key)\r\n let migratedValue = originalValue\r\n\r\n for (let version = settingsMinMigrationVersion + 1; version <= SETTINGS_MIGRATION_VERSION; version++) {\r\n const migration = migrate[version]\r\n if (typeof migration !== 'function') continue\r\n\r\n migratedValue = migration(migratedValue)\r\n }\r\n\r\n if (migratedValue != null && migratedValue !== originalValue) setSetting(key, migratedValue)\r\n })\r\n })\r\n\r\n setSetting('settings-min-migration-version', SETTINGS_MIGRATION_VERSION)\r\n }\r\n})\r\n\r\nfunction settingPath(setting, key) {\r\n return `${MODULE_ID}.settings.${setting}.${key}`\r\n}\r\n\r\nfunction renderSettingsConfig(_, html) {\r\n if (!firstClientSetting) return\r\n\r\n const group = html.find(`.tab[data-tab=${MODULE_ID}] [data-setting-id=\"${MODULE_ID}.${firstClientSetting}\"]`)\r\n group.before(`${localize('settings.client')}
`)\r\n}\r\n"],
+ "mappings": "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",
+ "names": ["MODULE_ID", "registerWrapper", "path", "callback", "type", "MODULE_ID", "__name", "localize", "args", "key", "data", "MODULE_ID", "__name", "hasLocalization", "localizePath", "subLocalize", "subKey", "fn", "warn", "info", "error", "hash", "notify", "str", "arg1", "arg2", "arg3", "type", "data", "permanent", "localize", "__name", "warn", "args", "info", "error", "getSetting", "setting", "MODULE_ID", "__name", "setSetting", "key", "value", "PREPARE_WEAPON_DATA", "PREPARE_WEAPON_DERIVED_DATA", "PREPARE_ARMOR_DATA", "PREPARE_ARMOR_DERIVED_DATA", "registerArp", "getSetting", "registerWrapper", "PREPARE_WEAPON_DATA", "onPrepareWeaponData", "PREPARE_WEAPON_DERIVED_DATA", "onPrepareWeaponDerivedData", "onPrepareArmorData", "onPrepareArmorDerivedData", "isGM", "info", "__name", "isValidActor", "actor", "isCharacter", "WEAPON_POTENCY_PRICE", "WEAPON_STRIKING_PRICE", "isValidWeapon", "weapon", "traits", "group", "category", "slug", "wrapped", "level", "coins", "potency", "striking", "ARMOR_POTENCY_PRICE", "ARMOR_RESILIENCY_PRICE", "isValidArmor", "armor", "__name", "onPrepareArmorData", "wrapped", "actor", "isValidActor", "level", "onPrepareArmorDerivedData", "coins", "potency", "resiliency", "createHook", "event", "listener", "callback", "HOOK", "value", "otherSettings", "skipCallback", "s", "getSetting", "__name", "createChoicesHook", "registerUpstreamHook", "hook", "fn", "id", "index", "x", "hooked", "setHook", "createHook", "renderEffectsPanel", "refreshEffectsPanel", "registerEffectsPanelHelper", "value", "__name", "panel", "html", "removeRow", "localize", "editIcon", "effectPanels", "effectPanel", "id", "effect", "getSetting", "event", "onRemoveEffect", "h1", "onConditionSheet", "getEffect", "MoveLootPopup", "object", "options", "callback", "prompt", "buttonLabel", "_event", "formData", "__name", "isPlayedActor", "actor", "__name", "getFlag", "doc", "key", "fallback", "MODULE_ID", "__name", "setFlag", "value", "unsetFlag", "updateSourceFlag", "doc", "key", "value", "MODULE_ID", "__name", "moduleFlagUpdate", "update", "getChatMessageClass", "__name", "latestChatMessages", "nb", "fromMessage", "messages", "start", "m", "i", "message", "chatUUID", "uuid", "label", "fake", "bindOnPreCreateSpellDamageChatMessage", "originalMessage", "messageId", "save", "getFlag", "updateSourceFlag", "socketOn", "callback", "MODULE_ID", "__name", "socketOff", "socketEmit", "packet", "isActiveGM", "__name", "isUserGM", "user", "x", "isGMOnline", "getCharacterOwner", "actor", "connected", "getActiveOwner", "doc", "activeOwners", "a", "b", "isActiveOwner", "getOwner", "enabled", "CANVAS_HOOK", "registerGiveth", "setup", "isGM", "getSetting", "__name", "value", "socketOff", "onSocket", "socketOn", "registerUpstreamHook", "onDropCanvasData", "packet", "isActiveGM", "takethCondition", "takethEffect", "takethPhysical", "canvas", "data", "isGMOnline", "details", "getDetailsFromData", "target", "token", "isValidActor", "maximumX", "maximumY", "a", "b", "giveth", "origin", "item", "ownerId", "targetId", "isIndex", "qty", "warn", "sendPhysicalRequest", "MoveLootPopup", "stack", "uuid", "socketEmit", "itemId", "actor", "id", "isPlayedActor", "actorUUID", "source", "owner", "newQty", "newItem", "content", "chatUUID", "localize", "templatePath", "path", "x", "MODULE_ID", "__name", "localize", "subLocalize", "Trade", "actor", "templatePath", "value", "options", "x", "getHeroActions", "html", "#onChangeTarget", "#onDescription", "#onSendTrade", "force", "action", "target", "user", "getCharacterOwner", "getOwner", "sendTradeRequest", "event", "uuid", "id", "__name", "localeCompare", "a", "b", "__name", "refreshCharacterSheets", "actor", "win", "winActor", "compareArrays", "arr1", "arr2", "clonedArr2", "arr1Value", "index", "arr2Value", "ordinalString", "value", "pluralRules", "suffix", "isInstanceOf", "obj", "name", "setInMemory", "doc", "key", "MODULE_ID", "getInMemory", "MODULE_ID", "setHook", "createHook", "renderCharacterSheetPF2e", "setupSocket", "JOURNAL_UUID", "TABLE_UUID", "TABLE_ICON", "SOCKET", "registerHeroActions", "value", "refreshCharacterSheets", "createTable", "removeHeroActions", "getHeroActions", "useHeroAction", "getHeroActionDetails", "drawHeroAction", "drawHeroActions", "sendActionToChat", "discardHeroActions", "tradeHeroAction", "getDeckTable", "giveHeroActions", "createChatMessage", "__name", "socketOn", "onSocket", "socketOff", "packet", "onTradeRejected", "isActiveGM", "onTradeAccepted", "onTradeRequest", "onTradeError", "sheet", "html", "actor", "isPlayedActor", "addActionsToSheet", "addSheetEvents", "actions", "diff", "isOwner", "localize", "subLocalize", "template", "templatePath", "getSetting", "key", "hash", "list", "event", "onClickHeroActionsDraw", "onClickHeroActionExpand", "onClickHeroActionUse", "onClickHeroActionDisplay", "onClickHeroActionDiscard", "onClickHeroActionsDiscard", "uuids", "x", "action", "toDiscard", "$discarded", "uuid", "setHeroActions", "summary", "details", "text", "document", "parent", "page", "warn", "nb", "drawn", "i", "label", "secret", "content", "size", "chatActions", "data", "links", "name", "chatUUID", "Trade", "table", "r", "draw", "documentUuidFromTableResult", "getLabelfromTableResult", "points", "index", "error", "removed", "result", "getTableFromUuid", "getDefaultCompendiumTable", "getDefaultWorldTable", "getCustomTable", "sendTradeRequest", "trade", "acceptRequest", "socketEmit", "sender", "receiver", "senderActor", "receiverActor", "sendTradeError", "senderActions", "receiverActions", "senderActionIndex", "receiverActionIndex", "senderAction", "receiverAction", "sentLink", "receivedLink", "users", "err", "rejectRequest", "buttons", "type", "unique", "createDefaultTable", "createCustomTable", "createCustomActionsTable", "setTable", "source", "getTableSource", "update", "createDefautActionsTable", "normalize", "setSetting", "removeActionsToggleAll", "removeActionsToggleActor", "actors", "state", "checked", "all", "templateLocalize", "isUnique", "actionsList", "el", "selected", "asDrawn", "withMessage", "tableUpdates", "localize", "subLocalize", "EditLores", "templatePath", "options", "actor", "getFlag", "event", "unspecified", "specific", "setFlag", "html", "#onCancel", "__name", "setHook", "createHook", "renderNPCSheetPF2e", "registerKnowledges", "value", "isGM", "getSetting", "__name", "sheet", "$html", "actor", "isPlayedActor", "replaceLores", "addEditButton", "addEvents", "knowledgeSelector", "html", "section", "selector", "editLores", "EditLores", "unspecifics", "getFlag", "specifics", "lores", "body", "tag", "skills", "dc", "adjustment", "addTags", "start", "tags", "lore", "attempts", "edit", "localize", "subLocalize", "MultiCast", "#message", "#event", "event", "message", "options", "templatePath", "html", "#onCast", "#onCancel", "nb", "spell", "actor", "updateSource", "__name", "damages", "heightening", "id", "damage", "i", "newId", "level", "data", "embeddedSource", "newSpell", "overlayIds", "castLevel", "spellSource", "bindOnPreCreateSpellDamageChatMessage", "getDamageRollClass", "Roll", "__name", "setHook", "createHook", "renderChatMessage", "updateMessages", "registerMerge", "value", "isGm", "__name", "chat", "message", "latestChatMessages", "html", "getSetting", "isDamageRoll", "renderDamage", "renderSpell", "spellBtn", "localize", "event", "MultiCast", "buttons", "getFlag", "tooltip", "actorUUID", "getActorUUID", "targetUUIDs", "getTargetUUIDs", "otherMessage", "otherTargetsUUIDS", "compareArrays", "t", "mergeDamages", "warn", "splitDamages", "sources", "data", "removeChatMessages", "getChatMessageClass", "origin", "other", "dataGroups", "getMessageData", "name", "notes", "outcome", "modifiers", "tags", "result", "groups", "group", "flavor", "templatePath", "originRolls", "getMessageRolls", "otherRolls", "groupedRolls", "roll", "options", "total", "terms", "term", "formula", "critRule", "DamageRoll", "getDamageRollClass", "index", "acc", "curr", "createTermGroup", "setHidden", "operand", "MODULE_ID", "entry", "flags", "source", "title", "text", "option", "ids", "joinedIds", "id", "targetTargets", "mergeTargets", "setHook", "createChoicesHook", "renderChatMessage", "updateMessages", "registerHideModifiers", "value", "isGM", "getSetting", "__name", "chat", "message", "latestChatMessages", "html", "speaker", "actor", "header", "ACTOR_PREPARE_EMBEDDED_DOCUMENTS", "TREASURE_PREPARE_BASE_DATA", "registerNobulk", "getSetting", "registerWrapper", "actorPrepareEmbeddedDocuments", "treasurePrepareBaseData", "__name", "wrapped", "args", "actor", "InventoryBulk", "_value", "item", "ACTOR_PREPARE_DATA", "DOCUMENT_SHEET_RENDER_INNER", "registerShare", "getSetting", "registerWrapper", "prepareData", "documentSheetRenderInner", "preUpdateActor", "deleteActor", "updateActor", "__name", "wrapped", "args", "inner", "isInstanceOf", "actor", "isPlayedActor", "getSlaves", "masters", "a", "isValidMaster", "group", "templatePath", "getFlag", "MODULE_ID", "subLocalize", "removeSlaveFromMaster", "slaves", "slave", "unsetMaster", "unsetFlag", "updates", "shareFlag", "master", "hpSource", "getMaster", "hpUpdate", "options", "userId", "isOriginalUser", "getShareFlag", "setMaster", "addSlaveToMaster", "data", "refreshActor", "setFlag", "masterId", "hp", "masterHp", "transfertHpData", "from", "to", "doc", "getModuleProperty", "setModuleProperty", "deleteModuleProperty", "path", "value", "getSourceId", "doc", "__name", "includesSourceId", "list", "sourceId", "getItemSourceIdCondition", "item", "getItems", "actor", "itemTypes", "type", "hasItemWithSourceId", "getItemWithSourceId", "setSheetHook", "createHook", "renderCharacterSheetPF2e", "setDeleteCombatHook", "deleteCombat", "setDeleteCombatantHook", "deleteCombatant", "setCreateCombatantHook", "createCombatant", "STANCE_SAVANT", "REPLACERS", "EXTRAS", "registerStances", "setup", "getStances", "toggleStance", "isValidStance", "isGm", "getSetting", "__name", "value", "stance", "actor", "stances", "replaced", "replace", "sourceId", "effectUUID", "effect", "img", "name", "itemName", "action", "actorStances", "foundAction", "getItemWithSourceId", "uuid", "sheet", "html", "isPlayedActor", "inCombat", "token", "tab", "options", "template", "templatePath", "subLocalize", "event", "onToggleStance", "target", "canUseStances", "feat", "replacer", "extra", "getStancesEffects", "effects", "already", "create", "other", "more", "x", "addStance", "obj", "combat", "combatant", "getActorFromCombatant", "isActiveOwner", "refreshCharacterSheets", "checkForSavant", "effectID", "hasItemWithSourceId", "info", "openStancesMenu", "localize", "setHook", "createChoicesHook", "renderCharacterSheetPF2e", "refreshCharacterSheets", "registerSpellsSummary", "value", "isGm", "getSetting", "__name", "sheet", "html", "actor", "isPlayedActor", "tab", "getSpellcastingTab", "getInMemory", "getSpellcastingNav", "event", "onSpellcastingBtnToggle", "addSummaryTab", "data", "getData", "template", "templatePath", "addSummaryEvents", "summary", "getSpellcastingSummarySection", "inputs", "onUsesInputChange", "onUsesInputFocus", "onUsesInputBlur", "onCastSpell", "onTogglePrepare", "onToggleFocusPool", "onSlotsReset", "onItemToChat", "onToggleSummary", "inputPath", "entryId", "slotLevel", "slotId", "expended", "change", "points", "onChargeReset", "getSpellcastingOriginalSection", "itemId", "level", "isCharge", "item", "slot", "max", "target", "collection", "spell", "setInMemory", "focusPool", "stavesActive", "spells", "focuses", "hasFocusCantrips", "entry", "entryDc", "entryName", "isFocus", "isStaff", "charges", "slotSpells", "isCantrip", "actives", "isBroken", "virtual", "uses", "castLevel", "MODULE_ID", "sort", "a", "b", "localeCompare", "rituals", "rank", "ordinalString", "applyStackingRules", "modifiers", "total", "highestBonus", "lowestPenalty", "abilityModifiers", "m", "bestAbility", "best", "modifier", "applyStacking", "__name", "isBetter", "existing", "htmlQuery", "parent", "selectors", "__name", "ErrorPF2e", "message", "__name", "extractEphemeralEffects", "affects", "origin", "target", "item", "domains", "options", "effectsFrom", "effectsTo", "fullOptions", "resolvables", "s", "d", "e", "__name", "extractNotes", "rollNotes", "selectors", "n", "extractDamageDice", "deferredDice", "extractModifiers", "synthetics", "modifierAdjustments", "syntheticModifiers", "modifiers", "modifier", "extractModifierAdjustments", "adjustmentsRecord", "slug", "a", "applyDamageFromMessage", "token", "message", "multiplier", "addend", "promptModifier", "rollIndex", "shiftAdjustDamage", "shieldBlockRequest", "roll", "isInstanceOf", "ErrorPF2e", "damage", "messageRollOptions", "originRollOptions", "o", "messageItem", "domain", "ephemeralEffects", "extractEphemeralEffects", "contextClone", "applicationRollOptions", "outcome", "breakdown", "rolls", "critical", "resolvables", "damageDice", "extractDamageDice", "d", "dice", "formula", "previous", "current", "modifiers", "extractModifiers", "m", "applyStackingRules", "hasDamage", "notes", "extractNotes", "n", "note", "toggleOffShieldBlock", "onDamageApplied", "__name", "onClickShieldBlock", "target", "shieldButton", "messageEl", "getTokens", "getNonBrokenShields", "tokens", "s", "nonBrokenShields", "hasMultipleShields", "shieldActivated", "instance", "_helper", "$content", "multipleShields", "content", "listEl", "htmlQuery", "shieldList", "shield", "input", "shieldName", "hardness", "hardnessLabel", "itemLi", "messageId", "app", "selector", "AdjustmentDialog", "$html", "isHealing", "$dialog", "adjustment", "DEGREE_ADJUSTMENT_AMOUNTS", "DEGREE_OF_SUCCESS_STRINGS", "_getDegreeAdjustment", "getDegreeAdjustment_fn", "_adjustDegreeOfSuccess", "adjustDegreeOfSuccess_fn", "_adjustDegreeByDieValue", "adjustDegreeByDieValue_fn", "_calculateDegreeOfSuccess", "calculateDegreeOfSuccess_fn", "_DegreeOfSuccess", "roll", "dc", "dosAdjustments", "__privateAdd", "t", "d", "__privateMethod", "DegreeOfSuccess", "__name", "degree", "adjustments", "outcome", "label", "amount", "degreeOfSuccess", "__publicField", "getTemplateTokens", "template", "collisionOrigin", "collisionType", "grid", "dimensions", "gridHighlight", "origin", "tokens", "gridSize", "containedTokens", "token", "tokenDoc", "tokenPositions", "h", "tokenX", "y", "w", "position", "gx", "gy", "s", "destination", "__name", "SAVES", "REROLL", "DEGREE_OF_SUCCESS", "setPrecreateMessageHook", "createHook", "preCreateChatMessage", "setRenderMessageHook", "createChoicesHook", "renderChatMessage", "setCreateTemplateHook", "createMeasuredTemplate", "SOCKET", "registerTargetTokenHelper", "setHooks", "value", "getSetting", "__name", "isUserGM", "socketOn", "onSocket", "socketOff", "packet", "isActiveGM", "updateMessageSave", "updateMessageApplied", "template", "_", "userId", "user", "localize", "subLocalize", "item", "actor", "self", "data", "templatePath", "html", "result", "alliance", "opposition", "targetsIds", "getTemplateTokens", "token", "targetAlliance", "HEALINGS_REGEX", "isValidDamageMessage", "message", "healings", "isDamageRoll", "getFlag", "targets", "updateSourceFlag", "target", "splashRollIndex", "roll", "regularRollIndex", "modifier", "save", "dc", "clientEnabled", "renderDamageChatMessage", "refreshMessage", "renderSpellChatMessage", "bindOnPreCreateSpellDamageChatMessage", "chat", "el", "app", "spell", "getMessageData", "msgContent", "cardBtns", "saveBtn", "wrapper", "targetsTooltip", "targetsBtn", "event", "addTargets", "rowsTemplate", "addHeaderListeners", "setFlag", "damageRows", "clonedRows", "buttons", "toggleDamageRow", "expanded", "getInMemory", "toggleBtn", "toggleTooltip", "setInMemory", "action", "uuid", "applied", "isBasicSave", "clones", "index", "onTargetButton", "pingTarget", "openTargetSheet", "rollSave", "rerollSave", "targetsFlag", "showDC", "flag", "saveLabel", "saveDC", "targetId", "hasSave", "targetSave", "rerolled", "canReroll", "successLabel", "offset", "templateSave", "getTargetFromEvent", "targetUuid", "heroPoints", "type", "icon", "reroll", "label", "isHeroReroll", "keep", "max", "warn", "oldRoll", "unevaluatedNewRoll", "newRoll", "keptRoll", "success", "DegreeOfSuccess", "socketEmit", "statistic", "messageId", "otherMessage", "skipDefault", "__", "msg", "btn", "rollIndex", "onClickShieldBlock", "applyDamageFromMessage", "onDamageApplied", "tokenId", "updates", "moduleFlagUpdate", "CREATE_HOOK", "UPDATE_HOOK", "registerUnided", "setHooks", "__name", "value", "getSetting", "preCreateItem", "preUpdateItem", "item", "changes", "localize", "subLocalize", "permaConditionEffect", "actor", "callback", "__name", "html", "type", "condition", "name", "slug", "img", "buttons", "conditions", "withBadge", "content", "templatePath", "a", "b", "setInputs", "hasBadge", "badge", "result", "rule", "source", "FEATURES", "registerArp", "registerNobulk", "registerGiveth", "registerKnowledges", "registerUnided", "registerMerge", "registerEffectsPanelHelper", "registerSpellsSummary", "registerStances", "registerHeroActions", "registerHideModifiers", "registerShare", "registerTargetTokenHelper", "CONFLICTS", "SETTINGS_MIGRATION_VERSION", "firstClientSetting", "isGM", "isUserGM", "MODULE_ID", "settings", "setting", "key", "choices", "choice", "settingPath", "worldSettings", "clientSettings", "scope", "renderSettingsConfig", "module", "permaConditionEffect", "feature", "init", "conflicts", "api", "name", "id", "conflictingModule", "conflicting", "ready", "conflict", "warn", "settingsMinMigrationVersion", "getSetting", "migrate", "originalValue", "migratedValue", "version", "migration", "setSetting", "__name", "_", "html", "localize"]
}
diff --git a/styles/_target.scss b/styles/_target.scss
index 65c3b02..933a435 100644
--- a/styles/_target.scss
+++ b/styles/_target.scss
@@ -145,6 +145,8 @@
}
.degree {
+ font-size: 1.1em;
+
&.criticalSuccess {
color: var(--criticalSuccess);
}
diff --git a/styles/toolbelt.css b/styles/toolbelt.css
index 2d58a35..ec3d556 100644
--- a/styles/toolbelt.css
+++ b/styles/toolbelt.css
@@ -1 +1 @@
-.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action{grid:"icon-name controls" auto "summary summary" auto}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-name h4{white-space:nowrap}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-image{height:20px;width:20px;background-position:center}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-controls>button{text-rendering:optimizeLegibility;border:none;border-radius:2px;box-shadow:inset 0 0 0 2px #bfbebe;color:var(--text-dark);flex:0;font-family:var(--sans-serif);font-size:var(--font-size-10);font-weight:500;letter-spacing:.05em;line-height:14px;margin:0;padding:3px 8px;text-transform:uppercase;white-space:nowrap;background:var(--bg-dark)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-controls>button:hover{text-shadow:0 0 1px var(--text-dark)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action:not(.expanded) .item-summary{display:none}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action.discarded{background-color:rgba(0,0,0,.1294117647)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action.discarded .item-name h4{text-decoration:line-through}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .error{margin:auto;color:#990404;font-weight:900;padding-block:8px}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list:not(.discardable) [data-action=discard-selected]{display:none}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list.discardable .error{display:none}[id^=pf2e-hero-actions-trade-]{--action-height: 24px}[id^=pf2e-hero-actions-trade-] .header{display:flex;justify-content:center;align-items:center;gap:.5em}[id^=pf2e-hero-actions-trade-] .actions{--padding: 6px;display:grid;grid-template-columns:1fr 40px 1fr;flex-basis:93px;gap:6px;border-top:1px solid var(--color-border-light-primary);border-bottom:1px solid var(--color-border-light-highlight);padding-block:var(--padding);margin-block:.5em}[id^=pf2e-hero-actions-trade-] .action{display:flex;align-items:baseline;padding-block:4px}[id^=pf2e-hero-actions-trade-] .action label{cursor:pointer}[id^=pf2e-hero-actions-trade-] .action input{margin-inline:.3em}[id^=pf2e-hero-actions-trade-] .right .action{justify-content:end}[id^=pf2e-hero-actions-trade-] .exchange{display:flex;align-items:center;justify-content:center;font-size:2em;border-left:1px solid var(--color-border-light-primary);border-right:1px solid var(--color-border-light-highlight)}[id^=pf2e-hero-actions-trade-] .buttons{display:flex;justify-content:center;gap:1em}[id^=pf2e-hero-actions-trade-] button{flex:0 0 180px}[id^=pf2e-hero-actions-trade-] hr{width:100%;flex:0}#pf2e-hero-actions-create-table .window-content .dialog-buttons{margin-top:.8em}#pf2e-hero-actions-remove-actions .window-content .actor{margin-left:1em}#pf2e-hero-actions-remove-actions .window-content .dialog-buttons{margin-top:.8em}#pf2e-hero-actions-remove-actions .window-content label{display:flex;align-items:center}#pf2e-hero-actions-give-action{--padding: 8px;max-height:98%}#pf2e-hero-actions-give-action .window-content{padding:0}#pf2e-hero-actions-give-action .window-content .dialog-content{display:flex;flex-direction:column;overflow:hidden}#pf2e-hero-actions-give-action .window-content .dialog-buttons{flex:0;padding:var(--padding);padding-top:0}#pf2e-hero-actions-give-action .window-content .actions{overflow-y:auto;padding-inline:var(--padding);margin-block:var(--padding)}#pf2e-hero-actions-give-action .window-content .action{padding-block:3px;display:grid;grid-template-areas:"item-select item-name item-drawn" "item-summary item-summary item-summary";grid-template-rows:auto auto;grid-template-columns:auto 1fr auto}#pf2e-hero-actions-give-action .window-content .action .item-select{margin-right:.5em;grid-area:item-select;align-self:baseline}#pf2e-hero-actions-give-action .window-content .action .item-name{cursor:pointer;grid-area:item-name}#pf2e-hero-actions-give-action .window-content .action .item-name:hover{color:var(--color-text-dark-improved)}#pf2e-hero-actions-give-action .window-content .action .item-drawn{grid-area:item-drawn}#pf2e-hero-actions-give-action .window-content .action .item-drawn .greyed{color:var(--color-text-light-primary)}#pf2e-hero-actions-give-action .window-content .action .item-name,#pf2e-hero-actions-give-action .window-content .action .item-drawn{display:flex;align-items:center}#pf2e-hero-actions-give-action .window-content .action .item-summary{grid-area:item-summary;box-shadow:inset 0 0 4px 0px #000;padding:1px 6px;margin-bottom:.5em}#pf2e-hero-actions-give-action .window-content .action:not(.expanded) .item-summary{display:none}#pf2e-hero-actions-give-action .window-content hr{width:100%;margin:0}#pf2e-hero-actions-give-action .window-content .buttons{padding-inline:var(--padding)}#pf2e-hero-actions-give-action .window-content .buttons>div{display:flex;align-items:center;flex-direction:row-reverse}#pf2e-hero-actions-give-action .window-content .buttons>div span{font-weight:bold}[id^=npc-edit-lores-]{width:400px}[id^=npc-edit-lores-] .hint{font-size:.9em;text-align:center;width:80%;margin:auto}[id^=npc-edit-lores-] .lores{display:grid;grid-template-columns:auto 1fr;gap:.5em;align-items:center}[id^=npc-edit-lores-] .lores label{text-align:end}[id^=npc-edit-lores-] .buttons{display:flex;margin-top:.6em}.multi-cast-dialog .hint{display:grid;align-items:center;-moz-column-gap:.5em;column-gap:.5em;grid-template-columns:30px auto;padding-inline:.5em .7em;font-size:1.05em;white-space:nowrap}.multi-cast-dialog .hint input{text-align:center}.multi-cast-dialog .buttons{display:flex;margin-top:.6em}.chat-message .pf2e-toolbelt-merged-group{padding-inline:3px;margin-bottom:4px;box-shadow:0 0 4px 0px #000;border-radius:2px}.chat-message .pf2e-toolbelt-merged-group .notes{min-height:2px}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-merge{position:absolute;right:0px;top:1px;display:flex;gap:1px}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-merge button{width:22px;height:22px;font-size:10px;line-height:1px}.chat-message .message-content .dice-result .dice-total .pf2e-td.hide-button+.pf2e-toolbelt-merge,.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-merge:has(+.pf2e-td.hide-button){right:22px}#pf2e-toolbelt-macros-condition .window-content .dialog-content{display:grid;grid-template-columns:auto 1fr;-moz-column-gap:1em;column-gap:1em;row-gap:2px;align-items:center;margin-bottom:.5em;padding-left:.2em}#pf2e-toolbelt-macros-condition .window-content .dialog-content select{margin-right:2px}#pf2e-toolbelt-macros-condition .window-content .dialog-content input[type=number]{width:4ch;text-align:end;justify-self:end;margin-right:2px}#pf2e-toolbelt-macros-condition .window-content .dialog-content input[type=number]:disabled{border:1px solid #a3a3a3;color:#8f8d8d;cursor:not-allowed}#pf2e-toolbelt-macros-condition .window-content .dialog-content div{display:flex;align-items:center}#pf2e-toolbelt-macros-condition .window-content .dialog-content div span{flex:1;text-align:end}#pf2e-toolbelt-macros-condition .window-content .dialog-content div input[type=checkbox]{margin-right:2px}.chat-message .message-header.pf2e-toolbelt-modifiers .action+.tags+hr+.tags{display:none}.chat-message .message-header.pf2e-toolbelt-modifiers.pf2e-toolbelt-modifiers-traits .action+.tags,.chat-message .message-header.pf2e-toolbelt-modifiers.pf2e-toolbelt-modifiers-traits .action+.tags+hr{display:none}.actor.sheet header.char-header .char-details [data-action=select-master]{padding-block:2px 0px;margin-top:4px}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances{display:flex;flex-wrap:wrap;gap:.5em 1em;justify-content:center}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:first-child{margin-top:.5em}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance{display:flex;align-items:center;gap:.5em;box-shadow:0 0 4px #000;padding-right:.5em;cursor:pointer}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance .pf2e-stances__img{flex:0 0 32px;height:32px;width:32px;background-position:center;background-repeat:no-repeat;background-size:cover}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance .pf2e-stances__name{flex:1;white-space:nowrap}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance.active{box-shadow:inset 0 0 4px #000}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance.active .pf2e-stances__img{border:1px solid rgba(0,0,0,0)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance.active .pf2e-stances__name{color:var(--primary)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:not(.can-use-stances) .pf2e-stances__stance{box-shadow:0 0 1px #000;cursor:not-allowed}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:not(.can-use-stances) .pf2e-stances__stance>*{filter:grayscale(1) blur(1px)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:not(.can-use-stances) .pf2e-stances__stance .pf2e-stances__img{border:0}.app.window-app.dialog .window-content .dialog-content .pf2e-stances-menu{margin-bottom:.5em}.app.window-app.dialog .window-content .dialog-content .pf2e-stances-menu label{height:24px;display:block}.app.window-app.dialog .window-content .dialog-content .pf2e-stances-menu input{margin-right:.5em}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting].toggled>.directory-list:not(.summary){display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]:not(.toggled)>.directory-list.summary{display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .spellbook-header .item-controls{padding:0}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .virtual{position:relative}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .virtual:before{background-color:rgba(0,5,255,.114);content:"";height:100%;mix-blend-mode:saturation;pointer-events:none;position:absolute;width:100%}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .focus-pips{cursor:pointer;margin-left:.3em;margin-top:1px}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item{display:grid;grid:"name type cast-spell range" auto "content content content content" auto/10fr 6fr 2fr 4fr}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .item-name{grid-area:name}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .spell-type{grid-area:type}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .cast-spell{grid-area:cast-spell}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .spell-range{grid-area:range;text-align:end}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .item-summary{grid-area:content}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .item-controls{padding-right:0;white-space:nowrap}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .uses-label .broken{margin-left:.3em}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.ritual:not(.spell-level-header) .spell-range{padding-right:1em}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover):not(:hover):not(.hover) .spell-type .uses,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped:not(:hover):not(.hover) .spell-type .uses{display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover):hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover):hover .spell-type .focus-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover).hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover).hover .spell-type .focus-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped:hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped:hover .spell-type .focus-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped.hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped.hover .spell-type .focus-label{display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .expended .item-name,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .expended .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .expended .spell-range{color:var(--color-disabled);text-decoration:line-through}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .cast-spell:disabled{background:var(--color-disabled);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);cursor:not-allowed}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .spell-type .item-toggle-prepare{margin-left:.25em;color:var(--body)}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content{display:flex;justify-content:space-between;margin-right:5px}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content .left,#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content .right{display:flex;flex-direction:column;justify-content:center}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label{display:flex;align-items:center;white-space:nowrap}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label input{flex:0 0 20px;width:20px;margin-inline:5px}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label input[type=radio]{inset:0}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label input[type=checkbox]{height:1.2em}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-buttons{margin-top:.5em}.chat-message .message-content>.damage-application.hidden{display:none}.chat-message .message-content .card-buttons .pf2e-toolbelt-target-wrapper{display:flex}.chat-message .message-content .card-buttons .pf2e-toolbelt-target-wrapper .pf2e-toolbelt-target-targets{display:flex;align-items:center;justify-content:center;flex:0}.chat-message .message-content .card-buttons .pf2e-toolbelt-target-wrapper .pf2e-toolbelt-target-targets i{margin:0}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons{position:absolute;left:0px;top:1px;display:flex}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .targets,.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle{width:22px;height:22px;line-height:1px;display:flex;align-items:center;justify-content:center}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .targets i,.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle i{margin:0}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle{font-size:.8em}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle.collapse .expand{display:none}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle:not(.collapse) .collapse{display:none}.chat-message .message-content+.pf2e-toolbelt-target-damage,.chat-message .message-content+.pf2e-toolbelt-target-spell{--criticalSuccess: rgb(0, 128, 0);--success: rgb(0, 0, 255);--failure: rgb(255 106 0);--criticalFailure: rgb(255, 0, 0)}.chat-message .message-content+.pf2e-toolbelt-target-damage hr,.chat-message .message-content+.pf2e-toolbelt-target-spell hr{width:100%}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header{display:flex;align-items:center;justify-content:space-between;padding-inline:.3em .5em;font-size:.9em;gap:.5em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .name,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .name{font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls{display:flex;gap:.5em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls hr,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls hr{width:0;border:none;border-left:1px solid var(--color-border-light-primary);border-right:1px solid var(--color-border-light-highlight);margin:2px 0}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.criticalSuccess,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.criticalSuccess{color:var(--criticalSuccess)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.success,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.success{color:var(--success)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.failure,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.failure{color:var(--failure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.criticalFailure,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.criticalFailure{text-shadow:0 0 #000;color:var(--criticalFailure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls i.die,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls i.die{font-size:.95em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls i.rotate,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls i.rotate{font-size:.9em;margin-left:1px}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls i.small,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls i.small{font-size:.9em;opacity:.8}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application{display:flex;justify-content:center;margin-top:3px}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button{position:relative;align-items:center;display:flex;flex-direction:column;font-size:var(--font-size-18);height:2em;justify-content:space-around;line-height:unset;padding:0}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button img{border:none;height:var(--font-size-18)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button span{font-size:.5em;font-weight:500;text-transform:uppercase}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.half-damage i{-moz-background-clip:text;-moz-text-fill-color:rgba(0,0,0,0);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;background-image:linear-gradient(to right, var(--text-dark) 50%, var(--color-text-light-6) 50%)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.small{padding-block:.3em calc(.3em - 1px);height:1em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.small img,.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.small i{display:none}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button::after{position:absolute;content:"";inset:0;border-radius:2px}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.success [data-action=target-half-damage]::after{box-shadow:inset 0 0 6px var(--success)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.failure [data-action=target-apply-damage]::after{box-shadow:inset 0 0 6px var(--failure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.criticalFailure [data-action=target-double-damage]::after{box-shadow:inset 0 0 6px var(--criticalFailure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.applied button{filter:blur(1px)}.chat-message .message-content:has(>.damage-application.hidden)+.pf2e-toolbelt-target-damage hr:first-child{display:none}.chat-message .message-content:has(>.damage-application.hidden)+.pf2e-toolbelt-target-damage hr:first-child+.target-header{margin-top:.5em}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-content{display:flex;flex-direction:column;gap:.5em}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-content label input{margin-right:.3em}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-content label i{width:20px;text-align:center}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-buttons{margin-top:.5em}[role=tooltip] .pf2e-toolbelt-target-save{font-size:.9em;display:flex;flex-direction:column;align-items:start;gap:.2em}[role=tooltip] .pf2e-toolbelt-target-save .result i{font-size:.8em}[role=tooltip] .pf2e-toolbelt-target-save .note{font-style:italic;font-size:.8em;align-self:flex-end}[role=tooltip] .pf2e-toolbelt-target-save .note i{font-size:.95em}[role=tooltip] .pf2e-toolbelt-target-save .note i:not(.rotate){opacity:.8}[role=tooltip] i.pf2e-toolbelt-die{font-size:.9em}/*# sourceMappingURL=toolbelt.css.map */
\ No newline at end of file
+.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action{grid:"icon-name controls" auto "summary summary" auto}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-name h4{white-space:nowrap}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-image{height:20px;width:20px;background-position:center}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-controls>button{text-rendering:optimizeLegibility;border:none;border-radius:2px;box-shadow:inset 0 0 0 2px #bfbebe;color:var(--text-dark);flex:0;font-family:var(--sans-serif);font-size:var(--font-size-10);font-weight:500;letter-spacing:.05em;line-height:14px;margin:0;padding:3px 8px;text-transform:uppercase;white-space:nowrap;background:var(--bg-dark)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action .item-controls>button:hover{text-shadow:0 0 1px var(--text-dark)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action:not(.expanded) .item-summary{display:none}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action.discarded{background-color:rgba(0,0,0,.1294117647)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .action.discarded .item-name h4{text-decoration:line-through}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list .error{margin:auto;color:#990404;font-weight:900;padding-block:8px}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list:not(.discardable) [data-action=discard-selected]{display:none}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] ol.actions-list.heroActions-list.discardable .error{display:none}[id^=pf2e-hero-actions-trade-]{--action-height: 24px}[id^=pf2e-hero-actions-trade-] .header{display:flex;justify-content:center;align-items:center;gap:.5em}[id^=pf2e-hero-actions-trade-] .actions{--padding: 6px;display:grid;grid-template-columns:1fr 40px 1fr;flex-basis:93px;gap:6px;border-top:1px solid var(--color-border-light-primary);border-bottom:1px solid var(--color-border-light-highlight);padding-block:var(--padding);margin-block:.5em}[id^=pf2e-hero-actions-trade-] .action{display:flex;align-items:baseline;padding-block:4px}[id^=pf2e-hero-actions-trade-] .action label{cursor:pointer}[id^=pf2e-hero-actions-trade-] .action input{margin-inline:.3em}[id^=pf2e-hero-actions-trade-] .right .action{justify-content:end}[id^=pf2e-hero-actions-trade-] .exchange{display:flex;align-items:center;justify-content:center;font-size:2em;border-left:1px solid var(--color-border-light-primary);border-right:1px solid var(--color-border-light-highlight)}[id^=pf2e-hero-actions-trade-] .buttons{display:flex;justify-content:center;gap:1em}[id^=pf2e-hero-actions-trade-] button{flex:0 0 180px}[id^=pf2e-hero-actions-trade-] hr{width:100%;flex:0}#pf2e-hero-actions-create-table .window-content .dialog-buttons{margin-top:.8em}#pf2e-hero-actions-remove-actions .window-content .actor{margin-left:1em}#pf2e-hero-actions-remove-actions .window-content .dialog-buttons{margin-top:.8em}#pf2e-hero-actions-remove-actions .window-content label{display:flex;align-items:center}#pf2e-hero-actions-give-action{--padding: 8px;max-height:98%}#pf2e-hero-actions-give-action .window-content{padding:0}#pf2e-hero-actions-give-action .window-content .dialog-content{display:flex;flex-direction:column;overflow:hidden}#pf2e-hero-actions-give-action .window-content .dialog-buttons{flex:0;padding:var(--padding);padding-top:0}#pf2e-hero-actions-give-action .window-content .actions{overflow-y:auto;padding-inline:var(--padding);margin-block:var(--padding)}#pf2e-hero-actions-give-action .window-content .action{padding-block:3px;display:grid;grid-template-areas:"item-select item-name item-drawn" "item-summary item-summary item-summary";grid-template-rows:auto auto;grid-template-columns:auto 1fr auto}#pf2e-hero-actions-give-action .window-content .action .item-select{margin-right:.5em;grid-area:item-select;align-self:baseline}#pf2e-hero-actions-give-action .window-content .action .item-name{cursor:pointer;grid-area:item-name}#pf2e-hero-actions-give-action .window-content .action .item-name:hover{color:var(--color-text-dark-improved)}#pf2e-hero-actions-give-action .window-content .action .item-drawn{grid-area:item-drawn}#pf2e-hero-actions-give-action .window-content .action .item-drawn .greyed{color:var(--color-text-light-primary)}#pf2e-hero-actions-give-action .window-content .action .item-name,#pf2e-hero-actions-give-action .window-content .action .item-drawn{display:flex;align-items:center}#pf2e-hero-actions-give-action .window-content .action .item-summary{grid-area:item-summary;box-shadow:inset 0 0 4px 0px #000;padding:1px 6px;margin-bottom:.5em}#pf2e-hero-actions-give-action .window-content .action:not(.expanded) .item-summary{display:none}#pf2e-hero-actions-give-action .window-content hr{width:100%;margin:0}#pf2e-hero-actions-give-action .window-content .buttons{padding-inline:var(--padding)}#pf2e-hero-actions-give-action .window-content .buttons>div{display:flex;align-items:center;flex-direction:row-reverse}#pf2e-hero-actions-give-action .window-content .buttons>div span{font-weight:bold}[id^=npc-edit-lores-]{width:400px}[id^=npc-edit-lores-] .hint{font-size:.9em;text-align:center;width:80%;margin:auto}[id^=npc-edit-lores-] .lores{display:grid;grid-template-columns:auto 1fr;gap:.5em;align-items:center}[id^=npc-edit-lores-] .lores label{text-align:end}[id^=npc-edit-lores-] .buttons{display:flex;margin-top:.6em}.multi-cast-dialog .hint{display:grid;align-items:center;-moz-column-gap:.5em;column-gap:.5em;grid-template-columns:30px auto;padding-inline:.5em .7em;font-size:1.05em;white-space:nowrap}.multi-cast-dialog .hint input{text-align:center}.multi-cast-dialog .buttons{display:flex;margin-top:.6em}.chat-message .pf2e-toolbelt-merged-group{padding-inline:3px;margin-bottom:4px;box-shadow:0 0 4px 0px #000;border-radius:2px}.chat-message .pf2e-toolbelt-merged-group .notes{min-height:2px}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-merge{position:absolute;right:0px;top:1px;display:flex;gap:1px}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-merge button{width:22px;height:22px;font-size:10px;line-height:1px}.chat-message .message-content .dice-result .dice-total .pf2e-td.hide-button+.pf2e-toolbelt-merge,.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-merge:has(+.pf2e-td.hide-button){right:22px}#pf2e-toolbelt-macros-condition .window-content .dialog-content{display:grid;grid-template-columns:auto 1fr;-moz-column-gap:1em;column-gap:1em;row-gap:2px;align-items:center;margin-bottom:.5em;padding-left:.2em}#pf2e-toolbelt-macros-condition .window-content .dialog-content select{margin-right:2px}#pf2e-toolbelt-macros-condition .window-content .dialog-content input[type=number]{width:4ch;text-align:end;justify-self:end;margin-right:2px}#pf2e-toolbelt-macros-condition .window-content .dialog-content input[type=number]:disabled{border:1px solid #a3a3a3;color:#8f8d8d;cursor:not-allowed}#pf2e-toolbelt-macros-condition .window-content .dialog-content div{display:flex;align-items:center}#pf2e-toolbelt-macros-condition .window-content .dialog-content div span{flex:1;text-align:end}#pf2e-toolbelt-macros-condition .window-content .dialog-content div input[type=checkbox]{margin-right:2px}.chat-message .message-header.pf2e-toolbelt-modifiers .action+.tags+hr+.tags{display:none}.chat-message .message-header.pf2e-toolbelt-modifiers.pf2e-toolbelt-modifiers-traits .action+.tags,.chat-message .message-header.pf2e-toolbelt-modifiers.pf2e-toolbelt-modifiers-traits .action+.tags+hr{display:none}.actor.sheet header.char-header .char-details [data-action=select-master]{padding-block:2px 0px;margin-top:4px}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances{display:flex;flex-wrap:wrap;gap:.5em 1em;justify-content:center}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:first-child{margin-top:.5em}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance{display:flex;align-items:center;gap:.5em;box-shadow:0 0 4px #000;padding-right:.5em;cursor:pointer}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance .pf2e-stances__img{flex:0 0 32px;height:32px;width:32px;background-position:center;background-repeat:no-repeat;background-size:cover}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance .pf2e-stances__name{flex:1;white-space:nowrap}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance.active{box-shadow:inset 0 0 4px #000}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance.active .pf2e-stances__img{border:1px solid rgba(0,0,0,0)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances .pf2e-stances__stance.active .pf2e-stances__name{color:var(--primary)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:not(.can-use-stances) .pf2e-stances__stance{box-shadow:0 0 1px #000;cursor:not-allowed}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:not(.can-use-stances) .pf2e-stances__stance>*{filter:grayscale(1) blur(1px)}.sheet.actor.character .sheet-body .sheet-content [data-tab=actions] .tab-content .actions-panels [data-tab=encounter] .pf2e-stances:not(.can-use-stances) .pf2e-stances__stance .pf2e-stances__img{border:0}.app.window-app.dialog .window-content .dialog-content .pf2e-stances-menu{margin-bottom:.5em}.app.window-app.dialog .window-content .dialog-content .pf2e-stances-menu label{height:24px;display:block}.app.window-app.dialog .window-content .dialog-content .pf2e-stances-menu input{margin-right:.5em}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting].toggled>.directory-list:not(.summary){display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]:not(.toggled)>.directory-list.summary{display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .spellbook-header .item-controls{padding:0}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .virtual{position:relative}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .virtual:before{background-color:rgba(0,5,255,.114);content:"";height:100%;mix-blend-mode:saturation;pointer-events:none;position:absolute;width:100%}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .focus-pips{cursor:pointer;margin-left:.3em;margin-top:1px}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item{display:grid;grid:"name type cast-spell range" auto "content content content content" auto/10fr 6fr 2fr 4fr}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .item-name{grid-area:name}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .spell-type{grid-area:type}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .cast-spell{grid-area:cast-spell}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .spell-range{grid-area:range;text-align:end}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .item-summary{grid-area:content}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .item-controls{padding-right:0;white-space:nowrap}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item .uses-label .broken{margin-left:.3em}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.ritual:not(.spell-level-header) .spell-range{padding-right:1em}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover):not(:hover):not(.hover) .spell-type .uses,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped:not(:hover):not(.hover) .spell-type .uses{display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover):hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover):hover .spell-type .focus-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover).hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item:not(.no-hover).hover .spell-type .focus-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped:hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped:hover .spell-type .focus-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped.hover .spell-type .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .item.amped.hover .spell-type .focus-label{display:none}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .expended .item-name,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .expended .uses-label,.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .expended .spell-range{color:var(--color-disabled);text-decoration:line-through}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .cast-spell:disabled{background:var(--color-disabled);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);cursor:not-allowed}.app.sheet.actor.character .sheet-content>.tab[data-tab=spellcasting]>.directory-list.summary .spell-type .item-toggle-prepare{margin-left:.25em;color:var(--body)}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content{display:flex;justify-content:space-between;margin-right:5px}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content .left,#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content .right{display:flex;flex-direction:column;justify-content:center}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label{display:flex;align-items:center;white-space:nowrap}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label input{flex:0 0 20px;width:20px;margin-inline:5px}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label input[type=radio]{inset:0}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-content label input[type=checkbox]{height:1.2em}#pf2e-toolbelt-target-template.app.dialog .window-content .dialog-buttons{margin-top:.5em}.chat-message .message-content>.damage-application.hidden{display:none}.chat-message .message-content .card-buttons .pf2e-toolbelt-target-wrapper{display:flex}.chat-message .message-content .card-buttons .pf2e-toolbelt-target-wrapper .pf2e-toolbelt-target-targets{display:flex;align-items:center;justify-content:center;flex:0}.chat-message .message-content .card-buttons .pf2e-toolbelt-target-wrapper .pf2e-toolbelt-target-targets i{margin:0}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons{position:absolute;left:0px;top:1px;display:flex}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .targets,.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle{width:22px;height:22px;line-height:1px;display:flex;align-items:center;justify-content:center}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .targets i,.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle i{margin:0}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle{font-size:.8em}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle.collapse .expand{display:none}.chat-message .message-content .dice-result .dice-total .pf2e-toolbelt-target-buttons .toggle:not(.collapse) .collapse{display:none}.chat-message .message-content+.pf2e-toolbelt-target-damage,.chat-message .message-content+.pf2e-toolbelt-target-spell{--criticalSuccess: rgb(0, 128, 0);--success: rgb(0, 0, 255);--failure: rgb(255 106 0);--criticalFailure: rgb(255, 0, 0)}.chat-message .message-content+.pf2e-toolbelt-target-damage hr,.chat-message .message-content+.pf2e-toolbelt-target-spell hr{width:100%}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header{display:flex;align-items:center;justify-content:space-between;padding-inline:.3em .5em;font-size:.9em;gap:.5em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .name,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .name{font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls{display:flex;gap:.5em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls hr,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls hr{width:0;border:none;border-left:1px solid var(--color-border-light-primary);border-right:1px solid var(--color-border-light-highlight);margin:2px 0}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree{font-size:1.1em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.criticalSuccess,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.criticalSuccess{color:var(--criticalSuccess)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.success,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.success{color:var(--success)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.failure,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.failure{color:var(--failure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls .degree.criticalFailure,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls .degree.criticalFailure{text-shadow:0 0 #000;color:var(--criticalFailure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls i.die,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls i.die{font-size:.95em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls i.rotate,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls i.rotate{font-size:.9em;margin-left:1px}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-header .controls i.small,.chat-message .message-content+.pf2e-toolbelt-target-spell .target-header .controls i.small{font-size:.9em;opacity:.8}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application{display:flex;justify-content:center;margin-top:3px}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button{position:relative;align-items:center;display:flex;flex-direction:column;font-size:var(--font-size-18);height:2em;justify-content:space-around;line-height:unset;padding:0}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button img{border:none;height:var(--font-size-18)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button span{font-size:.5em;font-weight:500;text-transform:uppercase}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.half-damage i{-moz-background-clip:text;-moz-text-fill-color:rgba(0,0,0,0);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;background-image:linear-gradient(to right, var(--text-dark) 50%, var(--color-text-light-6) 50%)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.small{padding-block:.3em calc(.3em - 1px);height:1em}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.small img,.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button.small i{display:none}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application button::after{position:absolute;content:"";inset:0;border-radius:2px}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.success [data-action=target-half-damage]::after{box-shadow:inset 0 0 6px var(--success)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.failure [data-action=target-apply-damage]::after{box-shadow:inset 0 0 6px var(--failure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.criticalFailure [data-action=target-double-damage]::after{box-shadow:inset 0 0 6px var(--criticalFailure)}.chat-message .message-content+.pf2e-toolbelt-target-damage .target-damage-application.applied button{filter:blur(1px)}.chat-message .message-content:has(>.damage-application.hidden)+.pf2e-toolbelt-target-damage hr:first-child{display:none}.chat-message .message-content:has(>.damage-application.hidden)+.pf2e-toolbelt-target-damage hr:first-child+.target-header{margin-top:.5em}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-content{display:flex;flex-direction:column;gap:.5em}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-content label input{margin-right:.3em}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-content label i{width:20px;text-align:center}[id^=pf2e-toolbelt-target-save-reroll-dialog-] .dialog-buttons{margin-top:.5em}[role=tooltip] .pf2e-toolbelt-target-save{font-size:.9em;display:flex;flex-direction:column;align-items:start;gap:.2em}[role=tooltip] .pf2e-toolbelt-target-save .result i{font-size:.8em}[role=tooltip] .pf2e-toolbelt-target-save .note{font-style:italic;font-size:.8em;align-self:flex-end}[role=tooltip] .pf2e-toolbelt-target-save .note i{font-size:.95em}[role=tooltip] .pf2e-toolbelt-target-save .note i:not(.rotate){opacity:.8}[role=tooltip] i.pf2e-toolbelt-die{font-size:.9em}/*# sourceMappingURL=toolbelt.css.map */
\ No newline at end of file
diff --git a/styles/toolbelt.css.map b/styles/toolbelt.css.map
index 6e5e088..52657e1 100644
--- a/styles/toolbelt.css.map
+++ b/styles/toolbelt.css.map
@@ -1 +1 @@
-{"version":3,"sources":["_hero.scss","_knowledges.scss","_merge.scss","_macros.scss","_modifiers.scss","_share.scss","_stances.scss","_summary.scss","_target.scss","toolbelt.scss"],"names":[],"mappings":"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","file":"toolbelt.css"}
\ No newline at end of file
+{"version":3,"sources":["_hero.scss","_knowledges.scss","_merge.scss","_macros.scss","_modifiers.scss","_share.scss","_stances.scss","_summary.scss","_target.scss","toolbelt.scss"],"names":[],"mappings":"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","file":"toolbelt.css"}
\ No newline at end of file