PageSourceSearch

https://gok-tool.vercel.app/_next/static/chunks/9449.113f9e586d5cea2d.js

js gok-tool.vercel.app collected 2026-10-03 07:04:39 UTC 28,445 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9449],{27770:(e,t,i)=>{i.d(t,{Bq:()=>S,E8:()=>m,Gq:()=>v,KM:()=>g,LI:()=>f,Qm:()=>o,cF:()=>s,kB:()=>w,vq:()=>y});var n=i(5848);let a=new Set(["targetedItemUse","sporeBombTimedTurns","structuredItemRule"]),r=new Set(["selfItemUse","itemEncounterAction","structuredItemRule","manualSafeItemRule","sceneItemTrap"]);function o(e){return a.has(String(e||"").trim())}function s(e){return r.has(String(e||"").trim())}function l(e,t=1){let i=Number(e);return Number.isFinite(i)&&i>0?Math.floor(i):t}function u(e){let t=Number(e);return Number.isFinite(t)&&t>=0?Math.floor(t):null}function c(e){let t=e instanceof Date?new Date(e.getTime()):null==e?new Date:new Date(e);return Number.isFinite(t.getTime())?t.toISOString():new Date().toISOString()}function d(e){return String(e||"").normalize("NFD").replace(/\p{Diacritic}/gu,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function m(e){return e&&"object"==typeof e?d(e.id||e.itemId||e.item_id||e.catalogId||e.objectId||e.codice||e.nome||e.name).replace(/-/g,""):d(e).replace(/-/g,"")}function p(e){return d(e.sourceItemId||e.itemId||e.sourceItemName||e.itemName||"unknown-item")}function h(e,t,i){let a="conditionImmunity"===t?d((0,n.D)(i)):d(i);return["item",p(e),d(t),a||"self"].join(":")}function b(e,t){let i=Number(t);if(Number.isFinite(i)&&!(i<=0))return new Date(Date.parse(e)+60*i*6e4).toISOString()}function f(e,t,i,n){let a=Array.isArray(e)?[...e]:[],r=Number(t),o=l(i);if(!Number.isInteger(r)||r<0||r>=a.length)return{equipment:a,applied:!1,removed:!1,usedCount:0,maxUses:o};let s=a[r],d=s?.itemUse&&"object"==typeof s.itemUse?s.itemUse:{},m=Math.min(o,(u(d.usedCount)??0)+1),p={...s,itemUse:{...d,usedCount:m,usedAt:c(n)}},h=m>=o,b=Object.prototype.hasOwnProperty.call(s,"quantity")?"quantity":Object.prototype.hasOwnProperty.call(s,"qty")?"qty":Object.prototype.hasOwnProperty.call(s,"quantita")?"quantita":"quantity",f=l(s?.[b]),g=h&&f<=1;if(g)a.splice(r,1);else if(h){let{usedCount:e,usedAt:t,...i}=d,n={...s,[b]:f-1,...Object.keys(i).length>0?{itemUse:i}:{}};0===Object.keys(i).length&&delete n.itemUse,a[r]=n}else a[r]=p;return{equipment:a,applied:!0,removed:g,usedCount:m,maxUses:o,item:p}}function g(e,t,i,n){let a=i?.per||"item",r=i?.consumeOnUse??"item"===a,o=d(i?.key||"default")||"default",s=String(i?.scopeId||"").trim()||void 0,m=l(i?.uses);if(r){let i=f(e,t,m,n);return{...i,activationKey:o,...s?{scopeId:s}:{},blocked:!i.applied}}let p=Array.isArray(e)?[...e]:[],h=Number(t);if(!Number.isInteger(h)||h<0||h>=p.length||"item"!==a&&!s)return{equipment:p,applied:!1,removed:!1,usedCount:0,maxUses:m,activationKey:o,...s?{scopeId:s}:{},blocked:!0};let b=p[h];if(i?.unlimited===!0&&"item"===a)return{equipment:p,applied:!0,removed:!1,usedCount:0,maxUses:m,item:b,activationKey:o,blocked:!1};let g=b?.itemUse&&"object"==typeof b.itemUse?b.itemUse:{},v=g.activations&&"object"==typeof g.activations&&!Array.isArray(g.activations)?g.activations:{},y=v[o]&&"object"==typeof v[o]?v[o]:{},S=String(y.per||"")===a&&String(y.scopeId||"")===String(s||"")?u(y.usedCount)??0:0;if(S>=m)return{equipment:p,applied:!1,removed:!1,usedCount:S,maxUses:m,item:b,activationKey:o,...s?{scopeId:s}:{},blocked:!0};let w=S+1,x={...b,itemUse:{...g,activations:{...v,[o]:{key:o,per:a,...s?{scopeId:s}:{},usedCount:w,maxUses:m,usedAt:c(n)}}}};return p[h]=x,{equipment:p,applied:!0,removed:!1,usedCount:w,maxUses:m,item:x,activationKey:o,...s?{scopeId:s}:{},blocked:!1}}function v(e,t={}){let i=c(t.now),n={...String(e?.itemId||"").trim()?{sourceItemId:String(e.itemId).trim()}:{},...String(e?.itemName||"").trim()?{sourceItemName:String(e.itemName).trim()}:{}},a=String(e?.effectText||"").trim(),r=[];for(let t of e?.temporaryAbilityBonuses||[]){let o=String(t?.ability||"").trim(),s=Number(t?.amount);if(!o||!Number.isFinite(s)||0===s)continue;let l=String(t?.effectKey||"").trim()||h(e,"temporaryAbilityBonus",o),u=String(t?.expiresAt||"").trim(),c=b(i,t?.durationHours);r.push({key:l,effectKey:l,kind:"abilityBonus",op:"temporaryAbilityBonus",...n,ability:o,amount:s,startedAt:i,...u?{expiresAt:u}:c?{expiresAt:c}:{},...t?.clearOn?{clearOn:String(t.clearOn)}:{},...t?.durationLabel?{durationLabel:String(t.durationLabel)}:{},...a?{effectText:a}:{}})}for(let t of e?.immunities||[]){let o=String(t?.condition||"").trim();if(!o)continue;let s=h(e,"conditionImmunity",o),l=u(t?.remainingScenes??t?.scenes),c=String(t?.expiresAt||"").trim();r.push({key:s,effectKey:s,kind:"conditionImmunity",op:"conditionImmunity",...n,condition:o,startedAt:i,...null!=l?{remainingScenes:l}:{},...c?{expiresAt:c}:{},...t?.clearOn?{clearOn:String(t.clearOn)}:{},...a?{effectText:a}:{}})}for(let t of e?.temporaryResistances||[]){let o=Number(t?.amount),s=Array.from(new Set((Array.isArray(t?.elements)?t.elements:[]).map(e=>
1d(e)).filter(Boolean))).sort();if(!Number.isFinite(o)||o<=0||0===s.length)continue;let l=String(t?.effectKey||"").trim()||h(e,"resistance",s.join("-")),u=String(t?.expiresAt||"").trim(),c=b(i,t?.durationHours);r.push({key:l,effectKey:l,kind:"resistance",op:"resistance",...n,amount:o,elements:s,startedAt:i,...u?{expiresAt:u}:c?{expiresAt:c}:{},...t?.clearOn?{clearOn:String(t.clearOn)}:{},...t?.durationLabel?{durationLabel:String(t.durationLabel)}:{},...a?{effectText:a}:{}})}for(let t of e?.initiativeBonuses||[]){let o=Number(t?.amount),s=String(t?.encounterId||"").trim();if(!Number.isFinite(o)||0===o||!s)continue;let l=String(t?.effectKey||"").trim()||h(e,"initiativeBonus",s);r.push({key:l,effectKey:l,kind:"initiativeBonus",op:"initiativeBonus",...n,amount:o,encounterId:s,startedAt:i,clearOn:String(t?.clearOn||"combatEnd"),durationLabel:String(t?.durationLabel||"Scontro"),...a?{effectText:a}:{}})}return r}function y(e){if(!e||"object"!=typeof e)return"";let t=d(e.op||("abilityBonus"===e.kind?"temporaryAbilityBonus":e.kind)),i="conditionImmunity"===e.kind||"conditionimmunity"===t?(0,n.D)(e.condition):"resistance"===e.kind||"resistance"===t?Array.isArray(e.elements)?[...e.elements].sort().join("-"):"":"initiativeBonus"===e.kind||"initiativebonus"===t?e.encounterId||"initiative":e.ability;return t&&d(i)?["item",p(e),t,d(i)].join(":"):String(e.key||e.effectKey||"").trim()}function S(e,t,i=new Date){let n=y(t);return!!n&&(Array.isArray(e)?e:[]).some(e=>y(e)===n&&function(e,t=new Date){if(!e||"object"!=typeof e||e.endedAt)return!1;let i=Number(e.remainingScenes);if(null!=e.remainingScenes&&Number.isFinite(i)&&i<=0)return!1;let n=Date.parse(String(e.expiresAt||"")),a=new Date(t).getTime();return!(Number.isFinite(n)&&Number.isFinite(a))||!(n<=a)}(e,i))}function w(e,t,i=new Date){let n=Array.isArray(e)?[...e]:[],a=[],r=[];for(let e of Array.isArray(t)?t:[]){let t=y(e);if(!t||S(n,e,i)){r.push(e);continue}(n=n.filter(e=>y(e)!==t)).push(e),a.push(e)}return{effects:n,added:a,blocked:r}}},28425:(e,t,i)=>{function n(e){return"lumina"===String(e||"").trim().toLowerCase()?"lumina":"classic"}function a(e){return"lumina"===n(e)?"/api/card-assets/ev/lumina/EV%20LUMINA":"/ev-deck/standard"}function r(e,t,i){let n,r=a(e),o=String(t||"").trim(),s="1"===(n=String(i??"").trim().toUpperCase())?"A":"11"===n?"J":"12"===n?"Q":"13"===n?"K":("A"===n||"J"===n,n);return`${r}/${encodeURIComponent(`${o}${s}.webp`)}`}function o(e){let t=n(e),i=a(t),r="lumina"===t?"BACK LUMINA EV.webp":"BACK EV.webp";return`${i}/${encodeURIComponent(r)}`}i.d(t,{K1:()=>n,iw:()=>r,tZ:()=>o})},28967:(e,t,i)=>{i.d(t,{DM:()=>o,NG:()=>u,P2:()=>s,Z0:()=>a.Z0,eG:()=>l,r_:()=>a.r_,z5:()=>r});var n=i(62275),a=i(32835);function r(){let e=n.R.getItem("roomToken")||void 0,t={"Content-Type":"application/json"};return e&&(t.Authorization=`Bearer ${e}`),t}function o(e,t,i,n,a,r){if(!i||!n)return{relX:.5,relY:.5};if(!a||!r)return{relX:e/i,relY:t/n};let o=Math.max(i/a,n/r),s=a*o,l=r*o;return{relX:(e-i/2+s/2)/s,relY:(t-n/2+l/2)/l}}function s(e,t,i,n,a,r){if(!i||!n)return{absX:0,absY:0};if(!a||!r)return{absX:e*i,absY:t*n};let o=Math.max(i/a,n/r),s=a*o,l=r*o;return{absX:i/2-s/2+e*s,absY:n/2-l/2+t*l}}function l(e){try{if(!e)return!1;if(e.enemyId)return!0;let t=String(e.url||"");return/\/enemies\//i.test(t)}catch{return!1}}function u(e){return Array.isArray(e)?e.reduce((e,t)=>{let i;return e+((i=String(t||"").match(/^(Cuori|Quadri|Fiori|Picche)-(A|K|Q|J|10|[2-9])$/i))?(0,a.Ee)(i[2].toUpperCase()):0)},0):0}},32835:(e,t,i)=>{i.d(t,{Ee:()=>r,Z0:()=>o,r_:()=>s});var n=i(18137),a=i(27770);function r(e){return"A"===e?14:"K"===e?13:"Q"===e?12:"J"===e?11:Number(e)}function o(e,t){if(!e)return 0;let i=t=>t-(0,n.QU)((0,n.hy)(e)),r=e=>String(e||"").normalize("NFD").replace(/\p{Diacritic}/gu,"").toLowerCase().trim(),o=new Set(t.map(r)),s=[e?.finalAbilities,e?.abilities,e?.abilityBonuses,e?.mandatoryBonuses,e?.stats?.finalAbilities,e?.stats?.abilities,e?.stats?.abilityBonuses,e?.stats?.mandatoryBonuses,e?.stats,e,e?.statistics,e?.stats?.statistics,e?.attributes,e?.stats?.attributes],l=new Set;for(let e of o)l.add(e),(e.includes("intelligence")||e.includes("intel")||e.includes("intelligenza"))&&(l.add("intelligence"),l.add("intelligenza")),(e.includes("charisma")||e.includes("char")||e.includes("carisma"))&&(l.add("charisma"),l.add("carisma")),(e.includes("robust")||e.includes("rob")||e.includes("tou")||e.includes("con")||e.includes("constitution")||e.includes("robustness")||e.includes("toughness")||e.includes("atletica"))&&(l.add("robustness"),l.add("toughness"),l.add("constitution"),l.add("atletica")),(e.includes("agility")||e.includes("agi")||e.includes("dex")||e.includes("destrezza")||e.includes("agilita"))&&(l.add("agility"),l.add("destrezza"),l.add("agilita"));let u=(()=>{let t=Array.isArray(e?.activeItemEffects)?e.activeItemEffects:[];if(0===t.length)return 0;let i=new Set;return t.reduce((e,t)=>
1{let n;if(!t||t.endedAt||"abilityBonus"!==t.kind||("intelligence"===(n=r(String(t.ability||"")))||"intelligenza"===n?!(l.has("intelligence")||l.has("intelligenza")||l.has("intel")):"charisma"===n||"carisma"===n?!(l.has("charisma")||l.has("carisma")||l.has("char")):"toughness"===n||"robustezza"===n||"robustness"===n?!(l.has("toughness")||l.has("robustezza")||l.has("robustness")||l.has("constitution")||l.has("atletica")):!(("agility"===n||"agilita"===n)&&(l.has("agility")||l.has("agilita")||l.has("destrezza")||l.has("dex")))))return e;let o=Date.parse(String(t.expiresAt||""));if(Number.isFinite(o)&&o<=Date.now())return e;let s=(0,a.vq)(t);if(s&&i.has(s))return e;s&&i.add(s);let u=Number(t.amount||0);return Number.isFinite(u)?e+u:e},0)})();for(let t of s)if(t&&"object"==typeof t){for(let n of Object.keys(t))if(l.has(r(n))){let a=t[n];if("number"==typeof a&&!Number.isNaN(a)){if(t===e?.finalAbilities||t===e?.stats?.finalAbilities)return i(a+u);let o=[n],s=r(n);for(let t of((s.includes("intelligence")||s.includes("intel")||s.includes("intelligenza"))&&o.push("intelligence","intelligenza","iintelligence"),(s.includes("charisma")||s.includes("char")||s.includes("carisma"))&&o.push("charisma","carisma"),(s.includes("robust")||s.includes("rob")||s.includes("tou")||s.includes("con")||s.includes("constitution")||s.includes("toughness")||s.includes("atletica"))&&o.push("robustness","toughness","constitution","atletica"),(s.includes("agility")||s.includes("agi")||s.includes("dex")||s.includes("destrezza")||s.includes("agilita"))&&o.push("agility","destrezza","agilita"),o)){let n=[e?.abilities,e?.stats?.abilities,e?.statistics,e?.stats?.statistics,e?.attributes,e?.stats?.attributes,e],r=!1;for(let e of n)if(e&&t in e){r=!0;break}if(r){let n=[e?.abilityBonuses,e?.stats?.abilityBonuses,e?.mandatoryBonuses,e?.stats?.mandatoryBonuses,e?.statistics,e?.stats?.statistics],r=0,o=0;for(let i of n)if(i&&t in i){let n=i[t];"number"!=typeof n||Number.isNaN(n)||(i===e?.abilityBonuses||i===e?.stats?.abilityBonuses?r+=n:(i===e?.mandatoryBonuses||i===e?.stats?.mandatoryBonuses)&&(o+=n))}return i(a+r+o+u)}}return i(a+u)}}}return i(u)}function s(e){return({intelligenza:["intelligenza","intelligence","intel","int","iintelligence","intelligenza_base","intelligence_base","intelligenza_final","intelligence_final"],carisma:["carisma","charisma","charme","cha","car","charisma","carisma_base","charisma_base","carisma_final","charisma_final"],robustezza:["robustezza","robustness","toughness","rob","tou","con","atletica","athletics","robustezza_base","constitution_base","constitution","atletica_base","toughness_base"],agilita:["agilita","agility","agi","dex","agility","destrezza","agilita_base","dexterity_base","destrezza_base"]})[e]||[e]}},35867:(e,t,i)=>{i.d(t,{y:()=>a});let n=e=>{let t,i=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),i.forEach(i=>i(t,e))}},a=()=>t,r={setState:n,getState:a,getInitialState:()=>o,subscribe:e=>(i.add(e),()=>i.delete(e))},o=t=e(n,a,r);return r},a=e=>e?n(e):n},41535:(e,t,i)=>{i.d(t,{P:()=>o,v:()=>l});var n=i(12115),a=i(35867);let r=e=>e;function o(e,t=r){let i=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(i),i}let s=e=>{let t=(0,a.y)(e),i=e=>o(t,e);return Object.assign(i,t),i},l=e=>e?s(e):s},83756:(e,t,i)=>{i.d(t,{Bm:()=>s,FX:()=>N,G2:()=>k,OQ:()=>E,Qk:()=>C,XS:()=>x,jO:()=>I,vm:()=>A});var n=i(12115),a=i(62275),r=i(57083);let o="vtt-settings-v1",s="vtt:voice-command",l=Object.freeze({audioEnabled:!0,voiceEnabled:!0,translationEnabled:!1,subtitlesEnabled:!1,subtitleLanguage:"it",cinematicNarrationEnabled:!1,distinctNpcVoicesEnabled:!0,narratorVoice:"cedar",playerJapaneseVoice:"coral",musicVolume:.7,ambienceVolume:.6,weatherAudioEnabled:!0,weatherVolume:.7,sfxVolume:.8,voiceVolume:.9,originalVoiceVolume:.9,translatedVoiceVolume:.9,inputDeviceId:"",outputDeviceId:"",cameraEnabled:!1,cameraDeviceId:"",mirrorCamera:!0,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}),u=Object.freeze({phase:"idle",error:null,japanesePhase:"idle",japaneseError:null,talking:!1,translating:!1,inputDevices:[],outputDevices:[],cameraDevices:[],activeInputDeviceId:"",activeOutputDeviceId:"",activeCameraDeviceId:"",cameraPublishing:!1,cameraError:null}),c={...l},d={...u},m=!1,p=new Set,h=new Set;function b(e,t){let i=Number(e);return Number.isFinite(i)?Math.max(0,Math.min(1,i)):t}function f(e){let t={...l,...e||{}};return{...t,audioEnabled:!1!==t.audioEnabled,voiceEnabled:!1!==t.voiceEnabled,translationEnabled:!0===t.translationEnabled,subtitlesEnabled:!0===t.subtitlesEnabled,subtitleLanguage:["it","en","fr","de","es","pt-br"].includes(t.subtitleLanguage)?t.subt
1itleLanguage:l.subtitleLanguage,cinematicNarrationEnabled:!0===t.cinematicNarrationEnabled,distinctNpcVoicesEnabled:!1!==t.distinctNpcVoicesEnabled,narratorVoice:r.cJ.includes(t.narratorVoice)?t.narratorVoice:l.narratorVoice,playerJapaneseVoice:r.cJ.includes(t.playerJapaneseVoice)?t.playerJapaneseVoice:l.playerJapaneseVoice,musicVolume:b(t.musicVolume,l.musicVolume),ambienceVolume:b(t.ambienceVolume,l.ambienceVolume),weatherAudioEnabled:!1!==t.weatherAudioEnabled,weatherVolume:b(t.weatherVolume,l.weatherVolume),sfxVolume:b(t.sfxVolume,l.sfxVolume),voiceVolume:b(t.voiceVolume,l.voiceVolume),originalVoiceVolume:b(t.originalVoiceVolume,l.originalVoiceVolume),translatedVoiceVolume:b(t.translatedVoiceVolume,l.translatedVoiceVolume),inputDeviceId:"string"==typeof t.inputDeviceId?t.inputDeviceId:"",outputDeviceId:"string"==typeof t.outputDeviceId?t.outputDeviceId:"",cameraEnabled:!0===t.cameraEnabled,cameraDeviceId:"string"==typeof t.cameraDeviceId?t.cameraDeviceId:"",mirrorCamera:!1!==t.mirrorCamera,echoCancellation:!1!==t.echoCancellation,noiseSuppression:!1!==t.noiseSuppression,autoGainControl:!1!==t.autoGainControl}}function g(){p.forEach(e=>e())}function v(e){return p.add(e),()=>p.delete(e)}function y(){a.R.setJSON(o,c),a.R.setItem("vtt-audio-enabled",String(c.audioEnabled)),a.R.setJSON("vtt-audio-settings",{musicVolume:c.musicVolume,ambienceVolume:c.ambienceVolume,sfxVolume:c.sfxVolume,voiceVolume:c.voiceVolume}),window.dispatchEvent(new CustomEvent("vtt:settings-changed",{detail:c}))}function S(){if(m)return;m=!0;let e=a.R.getJSON(o,{}),t=a.R.getItem("vtt-audio-enabled");c=f({...a.R.getJSON("vtt-audio-settings",{})||{},...e||{},...e?.audioEnabled===void 0&&null!==t?{audioEnabled:"true"===t}:{}}),g()}function w(){return c}function x(e){c=f({...c,...e}),y(),g()}function N(){c={...l},y(),g()}function I(){return(0,n.useEffect)(()=>S(),[]),(0,n.useSyncExternalStore)(v,w,()=>l)}function C(e){return(0,n.useEffect)(()=>S(),[]),(0,n.useSyncExternalStore)(v,()=>c[e],()=>l[e])}function k(e){d={...d,...e},h.forEach(e=>e())}function E(){return(0,n.useSyncExternalStore)(e=>(h.add(e),()=>h.delete(e)),()=>d,()=>u)}function A(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}},95114:(e,t,i)=>{i.r(t),i.d(t,{DemoVttTutorial:()=>N});var n=i(95155),a=i(12115),r=i(59368),o=i(75845),s=i(6195),l=i(74069),u=i(70104),c=i.n(u),d=i(80372),m=i(87939),p=i(94321);function h({highlighted:e}){let{t,language:i}=(0,r.o)();return(0,n.jsxs)("section",{className:`${c().vttCanvas} vtt-canvas-area ${e?c().tutorialTarget:""}`,"data-testid":"demo-vtt-scene",children:[(0,n.jsx)(d.C,{backgroundUrl:m.Os.evocation}),(0,n.jsxs)("div",{className:c().vttSceneLabel,children:[(0,n.jsx)("span",{children:t("starterKit.demo.tutorial.vtt.sceneLabel")}),(0,n.jsx)("strong",{children:(0,p.c$)(p.NX.evocation.title,i)})]})]})}var b=i(84455),f=i(23853),g=i(98658),v=i(5772),y=i(5444);let S=[{tab:"profile",selector:".vtt-hero-facts",it:["Profilo \xb7 Chi \xe8 il tuo Eroe","Nome, Rango e Psicologia sono in alto; qui trovi Razza e Classi. Descrivono l’identit\xe0 dell’Eroe e le sue possibilit\xe0 di gioco."],en:["Profile \xb7 Your Hero","Name, Rank and Psychology appear above; Race and Classes are here. They describe your Hero’s identity and options."]},{tab:"profile",selector:".vtt-hero-attributes",it:["Statistiche e Semi Benedetti","Intelligenza, Carisma, Robustezza e Agilit\xe0 sono i valori usati dalle prove e dalle Tecniche. Nello stesso riquadro trovi i Semi Benedetti del tuo Eroe."],en:["Attributes and Blessed Suits","Intelligence, Charisma, Toughness and Agility are the values used by checks and Techniques. This panel also shows your Hero’s Blessed Suits."]},{tab:"profile",selector:".vtt-hero-innates",it:["Innate \xb7 Le tue particolarit\xe0","Qui leggi i tratti innati dell’Eroe e i loro effetti. Consulta il dettaglio per capire quando aiutano nella narrazione o in uno scontro."],en:["Innates \xb7 Your unique traits","Read your Hero’s innate traits and their effects here. Check the details to see when they help in the story or in combat."]},{tab:"profile",selector:".vtt-hero-resources",it:["Identit\xe0 \xb7 I segni dell’avventura","Trauma, 
1Corruzione, Sacralit\xe0 e Perdita di S\xe9 registrano le conseguenze delle esperienze vissute. I loro livelli possono comportare effetti sull’Eroe."],en:["Identity \xb7 The marks of adventure","Trauma, Corruption, Sacredness and Loss of Self track the consequences of your experiences. Their levels can affect your Hero."]},{tab:"abilities",selector:".vtt-hero-page-abilities",it:["Abilit\xe0 \xb7 Cosa puoi fare","Trovi Specializzazioni di Classe, Tecniche e capacit\xe0 attivabili. Apri una Tecnica per leggerne le regole; prima di attivare una capacit\xe0, controlla costi e usi disponibili."],en:["Abilities \xb7 What you can do","Find Class Specializations, Techniques and activated abilities here. Expand a Technique to read its rules; check costs and remaining uses before activating an ability."]},{tab:"inventory",selector:".vtt-hero-page-inventory",it:["Equipaggiamento \xb7 Cosa porti con te","Qui trovi monete, armi, protezioni e oggetti nello zaino. Seleziona un oggetto per le azioni disponibili: equipaggiarlo, usarlo o leggerlo. Le Pozioni Curative recuperano Fatica."],en:["Equipment \xb7 What you carry","Find coins, weapons, armour and backpack items here. Select an item to see its actions: equip, use or read it. Healing Potions recover Fatigue."]},{tab:"bonds",selector:".vtt-hero-page-bonds",it:["Alleati \xb7 Chi \xe8 al tuo fianco","Qui trovi i tuoi alleati, il livello delle relazioni e chi \xe8 al seguito. Puoi consultarne i dettagli; all’inizio di questa demo l’elenco \xe8 vuoto."],en:["Allies \xb7 Who stands beside you","See your allies, relationship levels and who is following you. You can inspect their details; this demo starts with an empty roster."]}],w={welcome:c().coachmarkCenter,scene:c().coachmarkBottomRight,hero:c().coachmarkTopLeft,techniques:c().coachmarkTopRight,"ev-deck":c().coachmarkTopLeft,audio:c().coachmarkTopLeft};function x({step:e,stepIndex:t,stepCount:i,heroName:o,onPrevious:s,onNext:l,onSkip:u,onComplete:d,sheetGuideIndex:m}){let{t:p,language:h}=(0,r.o)(),b=t===i-1,f=y.Y.find(t=>t.name===e),N=void 0===m?null:function(e,t){let i=S[e]||S[0],[n,a]=i.it.map((e,n)=>(0,g.W)({it:e,en:i.en[n]},t));return{title:n,description:a}}(m,h),I=(0,a.useRef)(null);return(0,a.useLayoutEffect)(()=>{let e=I.current,t=e?.closest('[data-testid="demo-vtt"]');if(!e||!t)return;let i=()=>t.style.setProperty("--demo-guide-height",`${e.getBoundingClientRect().height}px`);i();let n=new ResizeObserver(i);return n.observe(e),()=>{n.disconnect(),t.style.removeProperty("--demo-guide-height")}},[]),(0,n.jsxs)("aside",{ref:I,className:`${c().tutorialCoachmark} ${w[e]}`,"aria-live":"polite","data-testid":"demo-tutorial-coachmark","data-tutorial-step":e,children:[(0,n.jsxs)("div",{className:c().coachmarkTopline,children:[(0,n.jsxs)("span",{children:[p("starterKit.demo.tutorial.vtt.stepCount",{current:t+1,total:i}),N?` \xb7 ${(0,g.j)(h,"Scheda","Sheet")} ${m+1}/${S.length}`:""]}),b?null:(0,n.jsx)("button",{type:"button",onClick:u,children:p("starterKit.demo.tutorial.vtt.skip")})]}),(0,n.jsxs)("h2",{className:f?c().coachmarkControlTitle:void 0,children:[f?(0,n.jsx)("span",{children:(0,n.jsx)(v.default,{src:f.icon,alt:"",width:28,height:28})}):null,N?.title||p(f?f.labelKey:`starterKit.demo.tutorial.steps.${e}.title`)]}),(0,n.jsx)("p",{id:"demo-tutorial-description",children:N?.description||(f?(0,y.l)(f.name,h):p(`starterKit.demo.tutorial.steps.${e}.description`,{name:o}))}),f&&!N?(0,n.jsxs)("div",{className:c().coachmarkTryHint,children:[(0,y.l)("tryButton",h)," ",(0,n.jsx)("span",{"aria-hidden":"true",children:"→"})]}):null,(0,n.jsx)("div",{className:c().coachmarkProgress,"aria-hidden":"true",children:Array.from({length:i},(e,i)=>(0,n.jsx)("span",{className:i===t?c().coachmarkProgressActive:""},i))}),(0,n.jsxs)("div",{className:c().coachmarkActions,children:[(0,n.jsx)("button",{type:"button",className:c().coachmarkSecondary,onClick:s,disabled:0===t,children:p("starterKit.demo.tutorial.vtt.previous")}),(0,n.jsxs)("button",{type:"button",className:c().coachmarkPrimary,onClick:b?d:l,children:[p(b?"starterKit.demo.tutorial.vtt.startAdventure":"starterKit.demo.tutorial.vtt.next"),(0,n.jsx)("span",{"aria-hidden":"true",children:"→"})]})]})]})}function N({hero:e,stepIndex:t,onPrevious:i,onNext:u,onSkip:d,onComplete:p}){let{t:g}=(0,r.o)(),[v,y]=(0,a.useState)(null),[w,I]=(0,a.useState)(0),C=(0,a.useCallback)((e,t)=>y(e&&t||null),[]),k=(0,a.useCallback)(e=>I(S.findIndex(t=>t.tab===e)),[]),E=(0,a.useMemo)(()=>(0,s.M)(e),[e]),A=o.fN[t]??o.fN[0],j="hero"===A&&"hero"===v;return(0,n.jsxs)("section",{className:`${c().demoVtt} ${m.vd}`,"aria-label":g("starterKit.demo.tutorial.vtt.ariaLabel"),"data-testid":"demo-vtt","data-guide-panel-open":null!==v,children:[(0,n.jsx)(f.x,{hero:E}),(0,n.jsxs)("div",{className:`${c().vttMain} vtt-main-grid`,children:[(0,n.jsx)(h,{highlighted:"scene"===A}),(0,n.jsx)(l.u,{hero:E,tutorialStep:A,onPanelVisibilityChange:C,sheetGuideFocus:j?S[w]:void 0,onSheetTabChange:j?k:void 0})]}),(0,n.jsx)(b.l,{techniquesHighlighted:"techniques"===A,evDeckHighlighted:"ev-deck"===A}),(0,n.jsx)("div",{className:c().tutorialVeil,"aria-hidden":"true"}),(0,n.jsx)(x,{step:A,stepIndex:t,stepCount:o.fN.length,heroName:E.name,sheetGuideIndex:j?w:void 0,onPrevious:()=>{j&&w>0?I(e=>e-1):(I(0),i())},onNext:()=>{j&&w<S.length-1?I(e=>e+1):(I(0),u())},onSkip:d,onComplete:p})]})}},96683:(e,t,i)=>{i.d(t,{R:()=>o});var n=i(95155),a=i(12115),r=i(47650);function o({open:e,title:t,closeLabel:i,panel:s,navigationKey:l=s,host:u,onClose:c,children:d,backAction:m}){let p=(0,a.useId)(),h=(0,a.useRef)(null),b=(0,a.useRef)(null),f=(0,a.useRef)(null),g=(0,a.useRef)(new Map),v=(0,a.useRef)({x:0,y:0}),y=(0,a.useRef)(null),S=(0,a.useCallback)(()=>{let e=y.current;y.current=null,h.current?.removeAttribute("data-dragging"),e?.handle.hasPointerCapture(e.pointerId)&&e.handle.releasePointerCapture(e.pointerId)},[]),w=(0,a.useCallback)((e,t)=>{let i=h.current;if(!i||!u)return;let n=u.getBoundingClientRect(),a=i.getBoundingClientRect(),r=a.left-v.current.x,o=a.top-v.current.y,l=Math.max(0,n.left)-r,c=Math.max(0,n.top)-o,d=Math.min(window.innerWidth,n.right)-a.width-r,m=Math.min(window.innerHeight,n.bottom)-a.height-o,p=u.classList.contains("vtt-mobile-shell")?{x:0,y:0}:{x:Math.max(l,Math.min(e,Math.max(l,d))),y:Math.max(c,Math.min(t,Math.max(c,m)))};v.current=p,i.style.setProperty("--vtt-window-x",`${p.x}px`),i.style.setProperty("--vtt-window-y",`${p.y}px`),u.classList.contains("vtt-mobile-shell")||g.current.set(s,p)},[u,s]);(0,a.useLayoutEffect)(()=>
1{if(!e||!u)return;v.current={x:0,y:0},h.current?.style.removeProperty("--vtt-window-x"),h.current?.style.removeProperty("--vtt-window-y");let t=g.current.get(s)||v.current;w(t.x,t.y);let i=()=>{S(),w(v.current.x,v.current.y)},n="u"<typeof ResizeObserver?null:new ResizeObserver(i);return n?.observe(u),h.current&&n?.observe(h.current),window.addEventListener("resize",i),window.addEventListener("blur",S),()=>{S(),n?.disconnect(),window.removeEventListener("resize",i),window.removeEventListener("blur",S)}},[e,u,s,w,S]);let x=e=>{y.current?.pointerId===e.pointerId&&(e.stopPropagation(),S())};return((0,a.useEffect)(()=>{e&&f.current&&(f.current.scrollTop=0)},[e,l]),(0,a.useEffect)(()=>{if(!e||!u)return;let t=h.current,i=document.activeElement instanceof HTMLElement?document.activeElement:null;b.current?.focus({preventScroll:!0});let n=e=>{if("Escape"!==e.key||e.defaultPrevented||e.isComposing)return;let t=e.target?.closest?.('[role="dialog"], dialog');t&&t!==h.current||Array.from(document.querySelectorAll('dialog[open], [aria-modal="true"]')).some(e=>e!==h.current&&e.getClientRects().length>0)||(e.preventDefault(),e.stopPropagation(),c())};return window.addEventListener("keydown",n),()=>{window.removeEventListener("keydown",n),i?.isConnected&&(t?.contains(document.activeElement)||document.activeElement===document.body)&&i.focus({preventScroll:!0})}},[e,u,c]),e&&u)?(0,r.createPortal)((0,n.jsx)("div",{className:"vtt-panel-window-layer",children:(0,n.jsxs)("section",{ref:h,id:"vtt-center-panel",role:"dialog","aria-labelledby":p,className:"vtt-panel-window vtt-right-panel","data-panel":s,children:[(0,n.jsxs)("header",{className:"vtt-panel-window-header vtt-panel-header",onPointerDown:e=>{0!==e.button||!1===e.isPrimary||u?.classList.contains("vtt-mobile-shell")||e.target.closest('button, a, input, select, textarea, [role="button"], [contenteditable="true"]')||(e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId),y.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,startX:v.current.x,startY:v.current.y,handle:e.currentTarget},h.current?.setAttribute("data-dragging","true"))},onPointerMove:e=>{let t=y.current;t&&t.pointerId===e.pointerId&&(e.preventDefault(),e.stopPropagation(),w(t.startX+e.clientX-t.x,t.startY+e.clientY-t.y))},onPointerUp:x,onPointerCancel:x,onLostPointerCapture:x,children:[(0,n.jsxs)("div",{className:"vtt-panel-window-title",children:[m,(0,n.jsx)("span",{className:"vtt-panel-window-mark","aria-hidden":"true",children:(0,n.jsx)("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"currentColor",children:(0,n.jsx)("path",{d:"M12 1c1.8 6.2 4.8 9.2 11 11-6.2 1.8-9.2 4.8-11 11C10.2 16.8 7.2 13.8 1 12 7.2 10.2 10.2 7.2 12 1Z"})})}),(0,n.jsx)("h2",{id:p,children:t})]}),(0,n.jsx)("button",{ref:b,type:"button",className:"vtt-panel-window-close",onClick:c,title:i,"aria-label":i,children:(0,n.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m6 6 12 12M18 6 6 18"})})})]}),(0,n.jsx)("div",{ref:f,className:"vtt-panel-window-body vtt-panel-content",children:d})]})}),u):null}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.