@doodle-engine/core 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @doodle-engine/core
2
2
 
3
+ ## 0.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - a509381: Add dice roller
8
+
9
+ ## 0.0.11
10
+
11
+ ### Patch Changes
12
+
13
+ - 8716abd: update templates for interlude
14
+
3
15
  ## 0.0.10
4
16
 
5
17
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conditions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAiDjF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAErF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conditions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAoDjF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAErF"}
package/dist/core.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var V=Object.defineProperty;var R=(t,e,n)=>e in t?V(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var N=(t,e,n)=>R(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function L(t,e){switch(t.type){case"hasFlag":return D(t.flag,e);case"notFlag":return P(t.flag,e);case"hasItem":return $(t.itemId,e);case"variableEquals":return q(t.variable,t.value,e);case"variableGreaterThan":return F(t.variable,t.value,e);case"variableLessThan":return W(t.variable,t.value,e);case"atLocation":return M(t.locationId,e);case"questAtStage":return G(t.questId,t.stageId,e);case"characterAt":return j(t.characterId,t.locationId,e);case"characterInParty":return H(t.characterId,e);case"relationshipAbove":return Q(t.characterId,t.value,e);case"relationshipBelow":return J(t.characterId,t.value,e);case"timeIs":return U(t.startHour,t.endHour,e);case"itemAt":return B(t.itemId,t.locationId,e);default:return!1}}function v(t,e){return t.every(n=>L(n,e))}function D(t,e){return e.flags[t]===!0}function P(t,e){return e.flags[t]!==!0}function $(t,e){return e.inventory.includes(t)}function q(t,e,n){return n.variables[t]===e}function F(t,e,n){const r=n.variables[t];return typeof r=="number"&&r>e}function W(t,e,n){const r=n.variables[t];return typeof r=="number"&&r<e}function M(t,e){return e.currentLocation===t}function G(t,e,n){return n.questProgress[t]===e}function j(t,e,n){const r=n.characterState[t];return(r==null?void 0:r.location)===e}function H(t,e){const n=e.characterState[t];return(n==null?void 0:n.inParty)===!0}function Q(t,e,n){const r=n.characterState[t];return r!==void 0&&r.relationship>e}function J(t,e,n){const r=n.characterState[t];return r!==void 0&&r.relationship<e}function U(t,e,n){const r=n.currentTime.hour;return t<e?r>=t&&r<e:r>=t||r<e}function B(t,e,n){return n.itemLocations[t]===e}function x(t,e){switch(t.type){case"setFlag":return _(t.flag,e);case"clearFlag":return z(t.flag,e);case"setVariable":return Y(t.variable,t.value,e);case"addVariable":return K(t.variable,t.value,e);case"addItem":return X(t.itemId,e);case"removeItem":return Z(t.itemId,e);case"moveItem":return ee(t.itemId,t.locationId,e);case"goToLocation":return te(t.locationId,e);case"advanceTime":return ne(t.hours,e);case"setQuestStage":return re(t.questId,t.stageId,e);case"addJournalEntry":return ae(t.entryId,e);case"startDialogue":return ie(t.dialogueId,e);case"endDialogue":return se(e);case"setCharacterLocation":return oe(t.characterId,t.locationId,e);case"addToParty":return le(t.characterId,e);case"removeFromParty":return ce(t.characterId,e);case"setRelationship":return ue(t.characterId,t.value,e);case"addRelationship":return de(t.characterId,t.value,e);case"setCharacterStat":return he(t.characterId,t.stat,t.value,e);case"addCharacterStat":return pe(t.characterId,t.stat,t.value,e);case"setMapEnabled":return ge(t.enabled,e);case"playMusic":return e;case"playSound":return me(t.sound,e);case"notify":return fe(t.message,e);case"playVideo":return be(t.file,e);case"showInterlude":return ye(t.interludeId,e);default:return e}}function S(t,e){return t.reduce((n,r)=>x(r,n),e)}function _(t,e){return{...e,flags:{...e.flags,[t]:!0}}}function z(t,e){return{...e,flags:{...e.flags,[t]:!1}}}function Y(t,e,n){return{...n,variables:{...n.variables,[t]:e}}}function K(t,e,n){const r=n.variables[t],a=typeof r=="number"?r+e:e;return{...n,variables:{...n.variables,[t]:a}}}function X(t,e){return e.inventory.includes(t)?e:{...e,inventory:[...e.inventory,t],itemLocations:{...e.itemLocations,[t]:"inventory"}}}function Z(t,e){return{...e,inventory:e.inventory.filter(n=>n!==t)}}function ee(t,e,n){return{...n,inventory:n.inventory.filter(r=>r!==t),itemLocations:{...n.itemLocations,[t]:e}}}function te(t,e){return{...e,currentLocation:t}}function ne(t,e){const n=e.currentTime.hour+t,r=Math.floor(n/24),a=n%24;return{...e,currentTime:{day:e.currentTime.day+r,hour:a}}}function re(t,e,n){return{...n,questProgress:{...n.questProgress,[t]:e}}}function ae(t,e){return e.unlockedJournalEntries.includes(t)?e:{...e,unlockedJournalEntries:[...e.unlockedJournalEntries,t]}}function ie(t,e){return{...e,dialogueState:{dialogueId:t,nodeId:""}}}function se(t){return{...t,dialogueState:null}}function oe(t,e,n){const r=n.characterState[t];return r?{...n,characterState:{...n.characterState,[t]:{...r,location:e}}}:n}function le(t,e){const n=e.characterState[t];return n?{...e,characterState:{...e.characterState,[t]:{...n,inParty:!0}}}:e}function ce(t,e){const n=e.characterState[t];return n?{...e,characterState:{...e.characterState,[t]:{...n,inParty:!1}}}:e}function ue(t,e,n){const r=n.characterState[t];return r?{...n,characterState:{...n.characterState,[t]:{...r,relationship:e}}}:n}function de(t,e,n){const r=n.characterState[t];return r?{...n,characterState:{...n.characterState,[t]:{...r,relationship:r.relationship+e}}}:n}function he(t,e,n,r){const a=r.characterState[t];return a?{...r,characterState:{...r.characterState,[t]:{...a,stats:{...a.stats,[e]:n}}}}:r}function pe(t,e,n,r){const a=r.characterState[t];if(!a)return r;const s=a.stats[e],i=typeof s=="number"?s+n:n;return{...r,characterState:{...r.characterState,[t]:{...a,stats:{...a.stats,[e]:i}}}}}function ge(t,e){return{...e,mapEnabled:t}}function fe(t,e){return{...e,notifications:[...e.notifications,t]}}function me(t,e){return{...e,pendingSounds:[...e.pendingSounds,t]}}function be(t,e){return{...e,pendingVideo:t}}function ye(t,e){return{...e,pendingInterlude:t}}function A(t,e){if(!t.startsWith("@"))return t;const n=t.slice(1);return e[n]??t}function Se(t){return e=>A(e,t)}function k(t,e){const n=e.locales[t.currentLocale]??{},r=m=>A(m,n),a=ve(t.currentLocation,e,r),s=Ie(t,e,r),i=Te(t,e,r),{dialogue:o,choices:l}=Ee(t,e,r),c=Ne(t,e,r),d=Ae(t,e,r),f=we(t,e,r),b=Ce(t,e,r),u=t.mapEnabled?Le(t,e,r):null,g=e.locations[t.currentLocation],h=(g==null?void 0:g.music)??"",p=(g==null?void 0:g.ambient)??"",y=t.notifications.map(r),E=[...t.pendingSounds],O=t.pendingVideo;let C=null;if(t.pendingInterlude){const m=e.interludes[t.pendingInterlude];m&&(C={id:m.id,background:m.background,banner:m.banner,music:m.music,voice:m.voice,sounds:m.sounds,scroll:m.scroll??!0,scrollSpeed:m.scrollSpeed??30,text:r(m.text)})}return{location:a,charactersHere:s,itemsHere:i,choices:l,dialogue:o,party:c,inventory:d,quests:f,journal:b,variables:{...t.variables},time:t.currentTime,map:u,music:h,ambient:p,notifications:y,pendingSounds:E,pendingVideo:O,pendingInterlude:C}}function ve(t,e,n){const r=e.locations[t];return r?{id:r.id,name:n(r.name),description:n(r.description),banner:r.banner}:{id:t,name:t,description:`Location not found: ${t}`,banner:""}}function Ie(t,e,n){const r=[];for(const[a,s]of Object.entries(t.characterState))if(s.location===t.currentLocation){const i=e.characters[a];i&&r.push({id:i.id,name:n(i.name),biography:n(i.biography),portrait:i.portrait,location:s.location,inParty:s.inParty,relationship:s.relationship,stats:s.stats})}return r}function Te(t,e,n){const r=[];for(const[a,s]of Object.entries(t.itemLocations))if(s===t.currentLocation){const i=e.items[a];i&&r.push({id:i.id,name:n(i.name),description:n(i.description),icon:i.icon,image:i.image,stats:i.stats})}return r}function Ee(t,e,n){var l,c;if(!t.dialogueState)return{dialogue:null,choices:[]};const r=e.dialogues[t.dialogueState.dialogueId];if(!r)return{dialogue:null,choices:[]};const a=r.nodes.find(d=>{var f;return d.id===((f=t.dialogueState)==null?void 0:f.nodeId)});if(!a)return{dialogue:null,choices:[]};const s=a.speaker?n(((l=e.characters[a.speaker])==null?void 0:l.name)??a.speaker):"Narrator",i={speaker:a.speaker,speakerName:s,text:n(a.text),portrait:a.portrait??((c=e.characters[a.speaker??""])==null?void 0:c.portrait),voice:a.voice},o=a.choices.filter(d=>!d.conditions||d.conditions.length===0?!0:v(d.conditions,t)).map(d=>({id:d.id,text:n(d.text)}));return{dialogue:i,choices:o}}function Ne(t,e,n){const r=[];for(const[a,s]of Object.entries(t.characterState))if(s.inParty){const i=e.characters[a];i&&r.push({id:i.id,name:n(i.name),biography:n(i.biography),portrait:i.portrait,location:s.location,inParty:s.inParty,relationship:s.relationship,stats:s.stats})}return r}function Ae(t,e,n){return t.inventory.map(r=>{const a=e.items[r];return a?{id:a.id,name:n(a.name),description:n(a.description),icon:a.icon,image:a.image,stats:a.stats}:null}).filter(r=>r!==null)}function we(t,e,n){const r=[];for(const[a,s]of Object.entries(t.questProgress)){const i=e.quests[a];if(!i)continue;const o=i.stages.find(l=>l.id===s);o&&r.push({id:i.id,name:n(i.name),description:n(i.description),currentStage:o.id,currentStageDescription:n(o.description)})}return r}function Ce(t,e,n){return t.unlockedJournalEntries.map(r=>{const a=e.journalEntries[r];return a?{id:a.id,title:n(a.title),text:n(a.text),category:a.category}:null}).filter(r=>r!==null)}function Le(t,e,n){const r=Object.keys(e.maps);if(r.length===0)return null;const a=e.maps[r[0]];if(!a)return null;const s=a.locations.map(i=>{const o=e.locations[i.id];return{id:i.id,name:o?n(o.name):i.id,x:i.x,y:i.y,isCurrent:i.id===t.currentLocation}});return{id:a.id,name:n(a.name),image:a.image,scale:a.scale,locations:s}}class xe{constructor(e,n){N(this,"registry");N(this,"state");this.registry=e,this.state=n}newGame(e){const n={};for(const[a,s]of Object.entries(this.registry.characters))n[a]={location:s.location,inParty:!1,relationship:0,stats:{...s.stats}};const r={};for(const[a,s]of Object.entries(this.registry.items))r[a]=s.location;return this.state={currentLocation:e.startLocation,currentTime:{...e.startTime},flags:{...e.startFlags},variables:{...e.startVariables},inventory:[...e.startInventory],questProgress:{},unlockedJournalEntries:[],playerNotes:[],dialogueState:null,characterState:n,itemLocations:r,mapEnabled:!0,notifications:[],pendingSounds:[],pendingVideo:null,pendingInterlude:null,currentLocale:"en"},this.checkTriggeredDialogues(),this.checkTriggeredInterludes(),this.buildSnapshotAndClearTransients()}loadGame(e){return this.state={...e.state},this.buildSnapshotAndClearTransients()}saveGame(){return{version:"1.0",timestamp:new Date().toISOString(),state:{...this.state}}}selectChoice(e){if(!this.state.dialogueState)return this.buildSnapshotAndClearTransients();const n=this.registry.dialogues[this.state.dialogueState.dialogueId];if(!n)return this.buildSnapshotAndClearTransients();const r=n.nodes.find(i=>{var o;return i.id===((o=this.state.dialogueState)==null?void 0:o.nodeId)});if(!r)return this.buildSnapshotAndClearTransients();const a=r.choices.find(i=>i.id===e);if(!a)return this.buildSnapshotAndClearTransients();a.effects&&(this.state=S(a.effects,this.state));const s=n.nodes.find(i=>i.id===a.next);if(!s)return this.state={...this.state,dialogueState:null},this.buildSnapshotAndClearTransients();if(this.state={...this.state,dialogueState:{dialogueId:n.id,nodeId:s.id}},s.effects&&(this.state=S(s.effects,this.state)),s.choices.length===0){const i=this.resolveNextNode(s);i?this.state={...this.state,dialogueState:{dialogueId:n.id,nodeId:i}}:this.state={...this.state,dialogueState:null}}return this.buildSnapshotAndClearTransients()}talkTo(e){const n=this.registry.characters[e];if(!n||!n.dialogue)return this.buildSnapshotAndClearTransients();const r=this.registry.dialogues[n.dialogue];if(!r)return this.buildSnapshotAndClearTransients();const a=r.nodes.find(s=>s.id===r.startNode);if(!a)return this.buildSnapshotAndClearTransients();if(this.state={...this.state,dialogueState:{dialogueId:r.id,nodeId:a.id}},a.effects&&(this.state=S(a.effects,this.state)),a.choices.length===0){const s=this.resolveNextNode(a);s?this.state={...this.state,dialogueState:{dialogueId:r.id,nodeId:s}}:this.state={...this.state,dialogueState:null}}return this.buildSnapshotAndClearTransients()}takeItem(e){return this.state.itemLocations[e]!==this.state.currentLocation?this.buildSnapshotAndClearTransients():(this.state={...this.state,inventory:[...this.state.inventory,e],itemLocations:{...this.state.itemLocations,[e]:"inventory"}},this.buildSnapshotAndClearTransients())}travelTo(e){if(!this.state.mapEnabled)return this.buildSnapshotAndClearTransients();const n=Object.keys(this.registry.maps);if(n.length===0)return this.buildSnapshotAndClearTransients();const r=this.registry.maps[n[0]];if(!r)return this.buildSnapshotAndClearTransients();const a=r.locations.find(f=>f.id===this.state.currentLocation),s=r.locations.find(f=>f.id===e);if(!a||!s)return this.buildSnapshotAndClearTransients();const i=Math.sqrt(Math.pow(s.x-a.x,2)+Math.pow(s.y-a.y,2)),o=Math.round(i*r.scale),l=this.state.currentTime.hour+o,c=Math.floor(l/24),d=l%24;return this.state={...this.state,currentLocation:e,dialogueState:null,currentTime:{day:this.state.currentTime.day+c,hour:d}},this.checkTriggeredDialogues(),this.checkTriggeredInterludes(),this.buildSnapshotAndClearTransients()}writeNote(e,n){const r={id:`note_${Date.now()}`,title:e,text:n};return this.state={...this.state,playerNotes:[...this.state.playerNotes,r]},this.buildSnapshotAndClearTransients()}deleteNote(e){return this.state={...this.state,playerNotes:this.state.playerNotes.filter(n=>n.id!==e)},this.buildSnapshotAndClearTransients()}setLocale(e){return this.state={...this.state,currentLocale:e},this.buildSnapshotAndClearTransients()}getSnapshot(){return this.buildSnapshotAndClearTransients()}buildSnapshotAndClearTransients(){const e=k(this.state,this.registry);return this.state={...this.state,notifications:[],pendingSounds:[],pendingVideo:null,pendingInterlude:null},e}resolveNextNode(e){if(e.conditionalNext&&e.conditionalNext.length>0){for(const n of e.conditionalNext)if(v([n.condition],this.state))return n.next}return e.next??null}checkTriggeredDialogues(){for(const e of Object.values(this.registry.dialogues)){if(e.triggerLocation!==this.state.currentLocation||e.conditions&&!v(e.conditions,this.state))continue;const n=e.nodes.find(r=>r.id===e.startNode);if(n){if(this.state={...this.state,dialogueState:{dialogueId:e.id,nodeId:n.id}},n.effects&&(this.state=S(n.effects,this.state)),n.choices.length===0){const r=this.resolveNextNode(n);r?this.state={...this.state,dialogueState:{dialogueId:e.id,nodeId:r}}:this.state={...this.state,dialogueState:null}}break}}}checkTriggeredInterludes(){for(const e of Object.values(this.registry.interludes))if(e.triggerLocation===this.state.currentLocation&&!(e.triggerConditions&&!v(e.triggerConditions,this.state))){this.state={...this.state,pendingInterlude:e.id};break}}}function ke(t){return t.split(`
2
- `).map((e,n)=>({original:e,lineNumber:n+1})).map(({original:e,lineNumber:n})=>{let r=e;const a=e.indexOf("#");if(a===-1)r=e;else{const o=e.match(/"[^"]*"/);if(o){const l=e.indexOf(o[0]),c=l+o[0].length;a<l?r=e.substring(0,a):a>=l&&a<c?r=e.substring(0,c)+e.substring(c).split("#")[0]:r=e.substring(0,a)}else r=e.substring(0,a)}const s=r.length-r.trimStart().length;return{line:r.trim(),lineNumber:n,indent:s}}).filter(e=>e.line.length>0)}function w(t){const e=t.trim();return e.startsWith("@")?e:e.startsWith('"')&&e.endsWith('"')?e.substring(1,e.length-1):e}function I(t){const e=t.trim().split(/\s+/),n=e[0];switch(n){case"hasFlag":return{type:"hasFlag",flag:e[1]};case"notFlag":return{type:"notFlag",flag:e[1]};case"hasItem":return{type:"hasItem",itemId:e[1]};case"variableEquals":return{type:"variableEquals",variable:e[1],value:isNaN(Number(e[2]))?e[2]:Number(e[2])};case"variableGreaterThan":return{type:"variableGreaterThan",variable:e[1],value:Number(e[2])};case"variableLessThan":return{type:"variableLessThan",variable:e[1],value:Number(e[2])};case"atLocation":return{type:"atLocation",locationId:e[1]};case"questAtStage":return{type:"questAtStage",questId:e[1],stageId:e[2]};case"characterAt":return{type:"characterAt",characterId:e[1],locationId:e[2]};case"characterInParty":return{type:"characterInParty",characterId:e[1]};case"relationshipAbove":return{type:"relationshipAbove",characterId:e[1],value:Number(e[2])};case"relationshipBelow":return{type:"relationshipBelow",characterId:e[1],value:Number(e[2])};case"timeIs":return{type:"timeIs",startHour:Number(e[1]),endHour:Number(e[2])};case"itemAt":return{type:"itemAt",itemId:e[1],locationId:e[2]};default:throw new Error(`Unknown condition type: ${n}`)}}function T(t){const e=t.trim();if(e.startsWith("NOTIFY "))return{type:"notify",message:w(e.substring(7))};if(e.startsWith("MUSIC "))return{type:"playMusic",track:e.substring(6).trim()};if(e.startsWith("SOUND "))return{type:"playSound",sound:e.substring(6).trim()};if(e.startsWith("VIDEO "))return{type:"playVideo",file:e.substring(6).trim()};if(e.startsWith("INTERLUDE "))return{type:"showInterlude",interludeId:e.substring(10).trim()};const n=e.split(/\s+/),r=n[0];switch(r){case"SET":if(n[1]==="flag")return{type:"setFlag",flag:n[2]};if(n[1]==="variable")return{type:"setVariable",variable:n[2],value:isNaN(Number(n[3]))?n[3]:Number(n[3])};if(n[1]==="questStage")return{type:"setQuestStage",questId:n[2],stageId:n[3]};if(n[1]==="characterLocation")return{type:"setCharacterLocation",characterId:n[2],locationId:n[3]};if(n[1]==="relationship")return{type:"setRelationship",characterId:n[2],value:Number(n[3])};if(n[1]==="characterStat")return{type:"setCharacterStat",characterId:n[2],stat:n[3],value:isNaN(Number(n[4]))?n[4]:Number(n[4])};if(n[1]==="mapEnabled")return{type:"setMapEnabled",enabled:n[2]==="true"};throw new Error(`Unknown SET effect: ${n[1]}`);case"CLEAR":if(n[1]==="flag")return{type:"clearFlag",flag:n[2]};throw new Error(`Unknown CLEAR effect: ${n[1]}`);case"ADD":if(n[1]==="variable")return{type:"addVariable",variable:n[2],value:Number(n[3])};if(n[1]==="item")return{type:"addItem",itemId:n[2]};if(n[1]==="journalEntry")return{type:"addJournalEntry",entryId:n[2]};if(n[1]==="toParty")return{type:"addToParty",characterId:n[2]};if(n[1]==="relationship")return{type:"addRelationship",characterId:n[2],value:Number(n[3])};if(n[1]==="characterStat")return{type:"addCharacterStat",characterId:n[2],stat:n[3],value:Number(n[4])};throw new Error(`Unknown ADD effect: ${n[1]}`);case"REMOVE":if(n[1]==="item")return{type:"removeItem",itemId:n[2]};if(n[1]==="fromParty")return{type:"removeFromParty",characterId:n[2]};throw new Error(`Unknown REMOVE effect: ${n[1]}`);case"MOVE":if(n[1]==="item")return{type:"moveItem",itemId:n[2],locationId:n[3]};throw new Error(`Unknown MOVE effect: ${n[1]}`);case"GOTO":if(n[1]==="location")return{type:"goToLocation",locationId:n[2]};throw new Error("GOTO should not be parsed as an effect");case"ADVANCE":if(n[1]==="time")return{type:"advanceTime",hours:Number(n[2])};throw new Error(`Unknown ADVANCE effect: ${n[1]}`);case"START":if(n[1]==="dialogue")return{type:"startDialogue",dialogueId:n[2]};throw new Error(`Unknown START effect: ${n[1]}`);case"END":if(n[1]==="dialogue")return{type:"endDialogue"};throw new Error("END should not be parsed as an effect");default:throw new Error(`Unknown effect keyword: ${r}`)}}function Oe(t,e,n){const r=t[e],a=w(r.line.substring(7)),s=[],i=[];let o="",l=e+1;const c=r.indent;for(;l<t.length;){const u=t[l];if(u.line==="END"&&u.indent===c){l++;break}if(u.line.startsWith("REQUIRE ")){const g=u.line.substring(8).trim();s.push(I(g)),l++}else if(u.line.startsWith("GOTO ")){const g=u.line.substring(5).trim();if(g.startsWith("location ")){const h=g.substring(9).trim();i.push({type:"goToLocation",locationId:h}),i.push({type:"endDialogue"}),o=""}else o=g;l++}else u.line.includes(":")||i.push(T(u.line)),l++}const d=a.replace(/[@"]/g,"").replace(/[^a-z0-9]/gi,"_");return{choice:{id:`${n}_choice_${d.toLowerCase().substring(0,30)}`,text:a,conditions:s.length>0?s:void 0,effects:i.length>0?i:void 0,next:o||""},nextIndex:l}}function Ve(t,e){const n=t[e],r=n.line.substring(3).trim(),a=I(r);let s;const i=[];let o=e+1;const l=n.indent;for(;o<t.length;){const c=t[o];if(c.line==="END"&&c.indent===l){o++;break}c.line.startsWith("GOTO ")?(s=c.line.substring(5).trim(),o++):(i.push(T(c.line)),o++)}return{condition:a,next:s,effects:i,nextIndex:o}}function Re(t,e){const r=t[e].line.substring(5).trim();let a=null,s="",i,o;const l=[],c=[],d=[];let f;const b=[];let u=e+1;for(;u<t.length;){const h=t[u];if(h.line.startsWith("NODE "))break;if(h.line.includes(":")&&!h.line.startsWith("VOICE")){const p=h.line.indexOf(":"),y=h.line.substring(0,p).trim(),E=h.line.substring(p+1).trim();y==="NARRATOR"?a=null:a=y.toLowerCase(),s=w(E),u++}else if(h.line.startsWith("VOICE "))i=h.line.substring(6).trim(),u++;else if(h.line.startsWith("PORTRAIT "))o=h.line.substring(9).trim(),u++;else if(h.line.startsWith("CHOICE ")){const p=Oe(t,u,r);c.push(p.choice),u=p.nextIndex}else if(h.line.startsWith("IF ")){const p=Ve(t,u);p.next&&b.push({condition:p.condition,next:p.next}),d.push(...p.effects),u=p.nextIndex}else if(h.line.startsWith("GOTO ")){const p=h.line.substring(5).trim();if(p.startsWith("location ")){const y=p.substring(9).trim();d.push({type:"goToLocation",locationId:y}),d.push({type:"endDialogue"})}else f=p;u++}else d.push(T(h.line)),u++}const g={id:r,speaker:a,text:s,voice:i,portrait:o,conditions:l.length>0?l:void 0,choices:c,effects:d.length>0?d:void 0,next:f};return b.length>0&&(g.conditionalNext=b),{node:g,nextIndex:u}}function De(t,e){const n=ke(t);let r;const a=[],s=[];let i="",o=0;for(;o<n.length;){const l=n[o];if(l.line.startsWith("TRIGGER "))r=l.line.substring(8).trim(),o++;else if(l.line.startsWith("REQUIRE ")){const c=l.line.substring(8).trim();a.push(I(c)),o++}else if(l.line.startsWith("NODE ")){const c=Re(n,o);s.push(c.node),i||(i=c.node.id),o=c.nextIndex}else throw new Error(`Unexpected token at line ${l.lineNumber}: ${l.line}`)}return{id:e,triggerLocation:r,conditions:a.length>0?a:void 0,startNode:i,nodes:s}}function Pe(t,e){const n=t;window.doodle={setFlag(r){n.state.flags[r]=!0,e(),console.log(`🐾 Flag set: ${r}`)},clearFlag(r){delete n.state.flags[r],e(),console.log(`🐾 Flag cleared: ${r}`)},setVariable(r,a){n.state.variables[r]=a,e(),console.log(`🐾 Variable set: ${r} = ${a}`)},getVariable(r){const a=n.state.variables[r];return console.log(`🐾 Variable: ${r} = ${a}`),a},teleport(r){t.travelTo(r),e(),console.log(`🐾 Teleported to: ${r}`)},triggerDialogue(r){const a=n.registry.dialogues[r];if(!a){console.error(`🐾 Dialogue not found: ${r}`);return}const s=a.nodes.find(i=>i.id===a.startNode);if(!s){console.error(`🐾 Start node not found for dialogue: ${r}`);return}n.state.dialogueState={dialogueId:a.id,nodeId:s.id},e(),console.log(`🐾 Triggered dialogue: ${r}`)},setQuestStage(r,a){n.state.questProgress[r]=a,e(),console.log(`🐾 Quest stage set: ${r} -> ${a}`)},addItem(r){n.state.inventory.includes(r)?console.log(`🐾 Item already in inventory: ${r}`):(n.state.inventory.push(r),n.state.itemLocations[r]="inventory",e(),console.log(`🐾 Item added: ${r}`))},removeItem(r){const a=n.state.inventory.indexOf(r);a!==-1?(n.state.inventory.splice(a,1),delete n.state.itemLocations[r],e(),console.log(`🐾 Item removed: ${r}`)):console.log(`🐾 Item not in inventory: ${r}`)},inspect(){const r=t.getSnapshot();console.log("🐾 DOODLE ENGINE INSPECTOR 🐾"),console.log(""),console.log("Current Location:",r.location.name),console.log("Current Time:",`Day ${r.time.day}, Hour ${r.time.hour}`),console.log("Flags:",Object.keys(n.state.flags)),console.log("Variables:",n.state.variables),console.log("Inventory:",r.inventory.map(a=>a.name)),console.log("Quest Progress:",n.state.questProgress),console.log(""),console.log("Available commands:"),console.log(" doodle.setFlag(flag)"),console.log(" doodle.clearFlag(flag)"),console.log(" doodle.setVariable(variable, value)"),console.log(" doodle.getVariable(variable)"),console.log(" doodle.teleport(locationId)"),console.log(" doodle.triggerDialogue(dialogueId)"),console.log(" doodle.setQuestStage(questId, stageId)"),console.log(" doodle.addItem(itemId)"),console.log(" doodle.removeItem(itemId)"),console.log(" doodle.inspectState()"),console.log(" doodle.inspectRegistry()")},inspectState(){return console.log("🐾 GAME STATE:",n.state),n.state},inspectRegistry(){return console.log("🐾 CONTENT REGISTRY:",n.registry),n.registry}},console.log("🐾 Doodle Engine dev tools enabled! Type `doodle.inspect()` to see available commands.")}const $e="0.0.1";exports.Engine=xe;exports.VERSION=$e;exports.applyEffect=x;exports.applyEffects=S;exports.buildSnapshot=k;exports.createResolver=Se;exports.enableDevTools=Pe;exports.evaluateCondition=L;exports.evaluateConditions=v;exports.parseCondition=I;exports.parseDialogue=De;exports.parseEffect=T;exports.resolveText=A;
1
+ "use strict";var R=Object.defineProperty;var V=(t,e,n)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var E=(t,e,n)=>V(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function L(t,e){switch(t.type){case"hasFlag":return D(t.flag,e);case"notFlag":return P(t.flag,e);case"hasItem":return $(t.itemId,e);case"variableEquals":return q(t.variable,t.value,e);case"variableGreaterThan":return F(t.variable,t.value,e);case"variableLessThan":return M(t.variable,t.value,e);case"atLocation":return W(t.locationId,e);case"questAtStage":return G(t.questId,t.stageId,e);case"characterAt":return j(t.characterId,t.locationId,e);case"characterInParty":return H(t.characterId,e);case"relationshipAbove":return Q(t.characterId,t.value,e);case"relationshipBelow":return J(t.characterId,t.value,e);case"timeIs":return U(t.startHour,t.endHour,e);case"itemAt":return B(t.itemId,t.locationId,e);case"roll":return _(t.min,t.max,t.threshold);default:return!1}}function v(t,e){return t.every(n=>L(n,e))}function D(t,e){return e.flags[t]===!0}function P(t,e){return e.flags[t]!==!0}function $(t,e){return e.inventory.includes(t)}function q(t,e,n){return n.variables[t]===e}function F(t,e,n){const r=n.variables[t];return typeof r=="number"&&r>e}function M(t,e,n){const r=n.variables[t];return typeof r=="number"&&r<e}function W(t,e){return e.currentLocation===t}function G(t,e,n){return n.questProgress[t]===e}function j(t,e,n){const r=n.characterState[t];return(r==null?void 0:r.location)===e}function H(t,e){const n=e.characterState[t];return(n==null?void 0:n.inParty)===!0}function Q(t,e,n){const r=n.characterState[t];return r!==void 0&&r.relationship>e}function J(t,e,n){const r=n.characterState[t];return r!==void 0&&r.relationship<e}function U(t,e,n){const r=n.currentTime.hour;return t<e?r>=t&&r<e:r>=t||r<e}function B(t,e,n){return n.itemLocations[t]===e}function _(t,e,n){return Math.floor(Math.random()*(e-t+1))+t>=n}function x(t,e){switch(t.type){case"setFlag":return z(t.flag,e);case"clearFlag":return Y(t.flag,e);case"setVariable":return K(t.variable,t.value,e);case"addVariable":return X(t.variable,t.value,e);case"addItem":return Z(t.itemId,e);case"removeItem":return ee(t.itemId,e);case"moveItem":return te(t.itemId,t.locationId,e);case"goToLocation":return ne(t.locationId,e);case"advanceTime":return re(t.hours,e);case"setQuestStage":return ae(t.questId,t.stageId,e);case"addJournalEntry":return ie(t.entryId,e);case"startDialogue":return se(t.dialogueId,e);case"endDialogue":return oe(e);case"setCharacterLocation":return le(t.characterId,t.locationId,e);case"addToParty":return ce(t.characterId,e);case"removeFromParty":return ue(t.characterId,e);case"setRelationship":return de(t.characterId,t.value,e);case"addRelationship":return he(t.characterId,t.value,e);case"setCharacterStat":return pe(t.characterId,t.stat,t.value,e);case"addCharacterStat":return ge(t.characterId,t.stat,t.value,e);case"setMapEnabled":return fe(t.enabled,e);case"playMusic":return e;case"playSound":return be(t.sound,e);case"notify":return me(t.message,e);case"playVideo":return ye(t.file,e);case"showInterlude":return Se(t.interludeId,e);case"roll":return ve(t.variable,t.min,t.max,e);default:return e}}function S(t,e){return t.reduce((n,r)=>x(r,n),e)}function z(t,e){return{...e,flags:{...e.flags,[t]:!0}}}function Y(t,e){return{...e,flags:{...e.flags,[t]:!1}}}function K(t,e,n){return{...n,variables:{...n.variables,[t]:e}}}function X(t,e,n){const r=n.variables[t],a=typeof r=="number"?r+e:e;return{...n,variables:{...n.variables,[t]:a}}}function Z(t,e){return e.inventory.includes(t)?e:{...e,inventory:[...e.inventory,t],itemLocations:{...e.itemLocations,[t]:"inventory"}}}function ee(t,e){return{...e,inventory:e.inventory.filter(n=>n!==t)}}function te(t,e,n){return{...n,inventory:n.inventory.filter(r=>r!==t),itemLocations:{...n.itemLocations,[t]:e}}}function ne(t,e){return{...e,currentLocation:t}}function re(t,e){const n=e.currentTime.hour+t,r=Math.floor(n/24),a=n%24;return{...e,currentTime:{day:e.currentTime.day+r,hour:a}}}function ae(t,e,n){return{...n,questProgress:{...n.questProgress,[t]:e}}}function ie(t,e){return e.unlockedJournalEntries.includes(t)?e:{...e,unlockedJournalEntries:[...e.unlockedJournalEntries,t]}}function se(t,e){return{...e,dialogueState:{dialogueId:t,nodeId:""}}}function oe(t){return{...t,dialogueState:null}}function le(t,e,n){const r=n.characterState[t];return r?{...n,characterState:{...n.characterState,[t]:{...r,location:e}}}:n}function ce(t,e){const n=e.characterState[t];return n?{...e,characterState:{...e.characterState,[t]:{...n,inParty:!0}}}:e}function ue(t,e){const n=e.characterState[t];return n?{...e,characterState:{...e.characterState,[t]:{...n,inParty:!1}}}:e}function de(t,e,n){const r=n.characterState[t];return r?{...n,characterState:{...n.characterState,[t]:{...r,relationship:e}}}:n}function he(t,e,n){const r=n.characterState[t];return r?{...n,characterState:{...n.characterState,[t]:{...r,relationship:r.relationship+e}}}:n}function pe(t,e,n,r){const a=r.characterState[t];return a?{...r,characterState:{...r.characterState,[t]:{...a,stats:{...a.stats,[e]:n}}}}:r}function ge(t,e,n,r){const a=r.characterState[t];if(!a)return r;const s=a.stats[e],i=typeof s=="number"?s+n:n;return{...r,characterState:{...r.characterState,[t]:{...a,stats:{...a.stats,[e]:i}}}}}function fe(t,e){return{...e,mapEnabled:t}}function me(t,e){return{...e,notifications:[...e.notifications,t]}}function be(t,e){return{...e,pendingSounds:[...e.pendingSounds,t]}}function ye(t,e){return{...e,pendingVideo:t}}function Se(t,e){return{...e,pendingInterlude:t}}function ve(t,e,n,r){const a=Math.floor(Math.random()*(n-e+1))+e;return{...r,variables:{...r.variables,[t]:a}}}function w(t,e,n){let r;if(t.startsWith("@")){const a=t.slice(1);r=e[a]??t}else r=t;return n&&r.includes("{")&&(r=r.replace(/\{(\w+)\}/g,(a,s)=>{const i=n[s];return i!==void 0?String(i):`{${s}}`})),r}function Ie(t,e){return n=>w(n,t,e)}function O(t,e){const n=e.locales[t.currentLocale]??{},r=m=>w(m,n,t.variables),a=Te(t.currentLocation,e,r),s=Ne(t,e,r),i=Ee(t,e,r),{dialogue:o,choices:l}=we(t,e,r),c=Ae(t,e,r),d=Ce(t,e,r),f=Le(t,e,r),b=xe(t,e,r),u=t.mapEnabled?Oe(t,e,r):null,g=e.locations[t.currentLocation],h=(g==null?void 0:g.music)??"",p=(g==null?void 0:g.ambient)??"",y=t.notifications.map(r),N=[...t.pendingSounds],k=t.pendingVideo;let C=null;if(t.pendingInterlude){const m=e.interludes[t.pendingInterlude];m&&(C={id:m.id,background:m.background,banner:m.banner,music:m.music,voice:m.voice,sounds:m.sounds,scroll:m.scroll??!0,scrollSpeed:m.scrollSpeed??30,text:r(m.text)})}return{location:a,charactersHere:s,itemsHere:i,choices:l,dialogue:o,party:c,inventory:d,quests:f,journal:b,variables:{...t.variables},time:t.currentTime,map:u,music:h,ambient:p,notifications:y,pendingSounds:N,pendingVideo:k,pendingInterlude:C}}function Te(t,e,n){const r=e.locations[t];return r?{id:r.id,name:n(r.name),description:n(r.description),banner:r.banner}:{id:t,name:t,description:`Location not found: ${t}`,banner:""}}function Ne(t,e,n){const r=[];for(const[a,s]of Object.entries(t.characterState))if(s.location===t.currentLocation){const i=e.characters[a];i&&r.push({id:i.id,name:n(i.name),biography:n(i.biography),portrait:i.portrait,location:s.location,inParty:s.inParty,relationship:s.relationship,stats:s.stats})}return r}function Ee(t,e,n){const r=[];for(const[a,s]of Object.entries(t.itemLocations))if(s===t.currentLocation){const i=e.items[a];i&&r.push({id:i.id,name:n(i.name),description:n(i.description),icon:i.icon,image:i.image,stats:i.stats})}return r}function we(t,e,n){var l,c;if(!t.dialogueState)return{dialogue:null,choices:[]};const r=e.dialogues[t.dialogueState.dialogueId];if(!r)return{dialogue:null,choices:[]};const a=r.nodes.find(d=>{var f;return d.id===((f=t.dialogueState)==null?void 0:f.nodeId)});if(!a)return{dialogue:null,choices:[]};const s=a.speaker?n(((l=e.characters[a.speaker])==null?void 0:l.name)??a.speaker):"Narrator",i={speaker:a.speaker,speakerName:s,text:n(a.text),portrait:a.portrait??((c=e.characters[a.speaker??""])==null?void 0:c.portrait),voice:a.voice},o=a.choices.filter(d=>!d.conditions||d.conditions.length===0?!0:v(d.conditions,t)).map(d=>({id:d.id,text:n(d.text)}));return{dialogue:i,choices:o}}function Ae(t,e,n){const r=[];for(const[a,s]of Object.entries(t.characterState))if(s.inParty){const i=e.characters[a];i&&r.push({id:i.id,name:n(i.name),biography:n(i.biography),portrait:i.portrait,location:s.location,inParty:s.inParty,relationship:s.relationship,stats:s.stats})}return r}function Ce(t,e,n){return t.inventory.map(r=>{const a=e.items[r];return a?{id:a.id,name:n(a.name),description:n(a.description),icon:a.icon,image:a.image,stats:a.stats}:null}).filter(r=>r!==null)}function Le(t,e,n){const r=[];for(const[a,s]of Object.entries(t.questProgress)){const i=e.quests[a];if(!i)continue;const o=i.stages.find(l=>l.id===s);o&&r.push({id:i.id,name:n(i.name),description:n(i.description),currentStage:o.id,currentStageDescription:n(o.description)})}return r}function xe(t,e,n){return t.unlockedJournalEntries.map(r=>{const a=e.journalEntries[r];return a?{id:a.id,title:n(a.title),text:n(a.text),category:a.category}:null}).filter(r=>r!==null)}function Oe(t,e,n){const r=Object.keys(e.maps);if(r.length===0)return null;const a=e.maps[r[0]];if(!a)return null;const s=a.locations.map(i=>{const o=e.locations[i.id];return{id:i.id,name:o?n(o.name):i.id,x:i.x,y:i.y,isCurrent:i.id===t.currentLocation}});return{id:a.id,name:n(a.name),image:a.image,scale:a.scale,locations:s}}class ke{constructor(e,n){E(this,"registry");E(this,"state");this.registry=e,this.state=n}newGame(e){const n={};for(const[a,s]of Object.entries(this.registry.characters))n[a]={location:s.location,inParty:!1,relationship:0,stats:{...s.stats}};const r={};for(const[a,s]of Object.entries(this.registry.items))r[a]=s.location;return this.state={currentLocation:e.startLocation,currentTime:{...e.startTime},flags:{...e.startFlags},variables:{...e.startVariables},inventory:[...e.startInventory],questProgress:{},unlockedJournalEntries:[],playerNotes:[],dialogueState:null,characterState:n,itemLocations:r,mapEnabled:!0,notifications:[],pendingSounds:[],pendingVideo:null,pendingInterlude:null,currentLocale:"en"},this.checkTriggeredDialogues(),this.checkTriggeredInterludes(),this.buildSnapshotAndClearTransients()}loadGame(e){return this.state={...e.state},this.buildSnapshotAndClearTransients()}saveGame(){return{version:"1.0",timestamp:new Date().toISOString(),state:{...this.state}}}selectChoice(e){if(!this.state.dialogueState)return this.buildSnapshotAndClearTransients();const n=this.registry.dialogues[this.state.dialogueState.dialogueId];if(!n)return this.buildSnapshotAndClearTransients();const r=n.nodes.find(i=>{var o;return i.id===((o=this.state.dialogueState)==null?void 0:o.nodeId)});if(!r)return this.buildSnapshotAndClearTransients();const a=r.choices.find(i=>i.id===e);if(!a)return this.buildSnapshotAndClearTransients();a.effects&&(this.state=S(a.effects,this.state));const s=n.nodes.find(i=>i.id===a.next);if(!s)return this.state={...this.state,dialogueState:null},this.buildSnapshotAndClearTransients();if(this.state={...this.state,dialogueState:{dialogueId:n.id,nodeId:s.id}},s.effects&&(this.state=S(s.effects,this.state)),s.choices.length===0){const i=this.resolveNextNode(s);i?this.state={...this.state,dialogueState:{dialogueId:n.id,nodeId:i}}:this.state={...this.state,dialogueState:null}}return this.buildSnapshotAndClearTransients()}talkTo(e){const n=this.registry.characters[e];if(!n||!n.dialogue)return this.buildSnapshotAndClearTransients();const r=this.registry.dialogues[n.dialogue];if(!r)return this.buildSnapshotAndClearTransients();const a=r.nodes.find(s=>s.id===r.startNode);if(!a)return this.buildSnapshotAndClearTransients();if(this.state={...this.state,dialogueState:{dialogueId:r.id,nodeId:a.id}},a.effects&&(this.state=S(a.effects,this.state)),a.choices.length===0){const s=this.resolveNextNode(a);s?this.state={...this.state,dialogueState:{dialogueId:r.id,nodeId:s}}:this.state={...this.state,dialogueState:null}}return this.buildSnapshotAndClearTransients()}takeItem(e){return this.state.itemLocations[e]!==this.state.currentLocation?this.buildSnapshotAndClearTransients():(this.state={...this.state,inventory:[...this.state.inventory,e],itemLocations:{...this.state.itemLocations,[e]:"inventory"}},this.buildSnapshotAndClearTransients())}travelTo(e){if(!this.state.mapEnabled)return this.buildSnapshotAndClearTransients();const n=Object.keys(this.registry.maps);if(n.length===0)return this.buildSnapshotAndClearTransients();const r=this.registry.maps[n[0]];if(!r)return this.buildSnapshotAndClearTransients();const a=r.locations.find(f=>f.id===this.state.currentLocation),s=r.locations.find(f=>f.id===e);if(!a||!s)return this.buildSnapshotAndClearTransients();const i=Math.sqrt(Math.pow(s.x-a.x,2)+Math.pow(s.y-a.y,2)),o=Math.round(i*r.scale),l=this.state.currentTime.hour+o,c=Math.floor(l/24),d=l%24;return this.state={...this.state,currentLocation:e,dialogueState:null,currentTime:{day:this.state.currentTime.day+c,hour:d}},this.checkTriggeredDialogues(),this.checkTriggeredInterludes(),this.buildSnapshotAndClearTransients()}writeNote(e,n){const r={id:`note_${Date.now()}`,title:e,text:n};return this.state={...this.state,playerNotes:[...this.state.playerNotes,r]},this.buildSnapshotAndClearTransients()}deleteNote(e){return this.state={...this.state,playerNotes:this.state.playerNotes.filter(n=>n.id!==e)},this.buildSnapshotAndClearTransients()}setLocale(e){return this.state={...this.state,currentLocale:e},this.buildSnapshotAndClearTransients()}getSnapshot(){return this.buildSnapshotAndClearTransients()}buildSnapshotAndClearTransients(){const e=O(this.state,this.registry);return this.state={...this.state,notifications:[],pendingSounds:[],pendingVideo:null,pendingInterlude:null},e}resolveNextNode(e){if(e.conditionalNext&&e.conditionalNext.length>0){for(const n of e.conditionalNext)if(v([n.condition],this.state))return n.next}return e.next??null}checkTriggeredDialogues(){for(const e of Object.values(this.registry.dialogues)){if(e.triggerLocation!==this.state.currentLocation||e.conditions&&!v(e.conditions,this.state))continue;const n=e.nodes.find(r=>r.id===e.startNode);if(n){if(this.state={...this.state,dialogueState:{dialogueId:e.id,nodeId:n.id}},n.effects&&(this.state=S(n.effects,this.state)),n.choices.length===0){const r=this.resolveNextNode(n);r?this.state={...this.state,dialogueState:{dialogueId:e.id,nodeId:r}}:this.state={...this.state,dialogueState:null}}break}}}checkTriggeredInterludes(){for(const e of Object.values(this.registry.interludes))if(e.triggerLocation===this.state.currentLocation&&!(e.triggerConditions&&!v(e.triggerConditions,this.state))){this.state={...this.state,pendingInterlude:e.id},e.effects&&(this.state=S(e.effects,this.state));break}}}function Re(t){return t.split(`
2
+ `).map((e,n)=>({original:e,lineNumber:n+1})).map(({original:e,lineNumber:n})=>{let r=e;const a=e.indexOf("#");if(a===-1)r=e;else{const o=e.match(/"[^"]*"/);if(o){const l=e.indexOf(o[0]),c=l+o[0].length;a<l?r=e.substring(0,a):a>=l&&a<c?r=e.substring(0,c)+e.substring(c).split("#")[0]:r=e.substring(0,a)}else r=e.substring(0,a)}const s=r.length-r.trimStart().length;return{line:r.trim(),lineNumber:n,indent:s}}).filter(e=>e.line.length>0)}function A(t){const e=t.trim();return e.startsWith("@")?e:e.startsWith('"')&&e.endsWith('"')?e.substring(1,e.length-1):e}function I(t){const e=t.trim().split(/\s+/),n=e[0];switch(n){case"hasFlag":return{type:"hasFlag",flag:e[1]};case"notFlag":return{type:"notFlag",flag:e[1]};case"hasItem":return{type:"hasItem",itemId:e[1]};case"variableEquals":return{type:"variableEquals",variable:e[1],value:isNaN(Number(e[2]))?e[2]:Number(e[2])};case"variableGreaterThan":return{type:"variableGreaterThan",variable:e[1],value:Number(e[2])};case"variableLessThan":return{type:"variableLessThan",variable:e[1],value:Number(e[2])};case"atLocation":return{type:"atLocation",locationId:e[1]};case"questAtStage":return{type:"questAtStage",questId:e[1],stageId:e[2]};case"characterAt":return{type:"characterAt",characterId:e[1],locationId:e[2]};case"characterInParty":return{type:"characterInParty",characterId:e[1]};case"relationshipAbove":return{type:"relationshipAbove",characterId:e[1],value:Number(e[2])};case"relationshipBelow":return{type:"relationshipBelow",characterId:e[1],value:Number(e[2])};case"timeIs":return{type:"timeIs",startHour:Number(e[1]),endHour:Number(e[2])};case"itemAt":return{type:"itemAt",itemId:e[1],locationId:e[2]};case"roll":return{type:"roll",min:Number(e[1]),max:Number(e[2]),threshold:Number(e[3])};default:throw new Error(`Unknown condition type: ${n}`)}}function T(t){const e=t.trim();if(e.startsWith("NOTIFY "))return{type:"notify",message:A(e.substring(7))};if(e.startsWith("MUSIC "))return{type:"playMusic",track:e.substring(6).trim()};if(e.startsWith("SOUND "))return{type:"playSound",sound:e.substring(6).trim()};if(e.startsWith("VIDEO "))return{type:"playVideo",file:e.substring(6).trim()};if(e.startsWith("INTERLUDE "))return{type:"showInterlude",interludeId:e.substring(10).trim()};if(e.startsWith("ROLL ")){const a=e.split(/\s+/);return{type:"roll",variable:a[1],min:Number(a[2]),max:Number(a[3])}}const n=e.split(/\s+/),r=n[0];switch(r){case"SET":if(n[1]==="flag")return{type:"setFlag",flag:n[2]};if(n[1]==="variable")return{type:"setVariable",variable:n[2],value:isNaN(Number(n[3]))?n[3]:Number(n[3])};if(n[1]==="questStage")return{type:"setQuestStage",questId:n[2],stageId:n[3]};if(n[1]==="characterLocation")return{type:"setCharacterLocation",characterId:n[2],locationId:n[3]};if(n[1]==="relationship")return{type:"setRelationship",characterId:n[2],value:Number(n[3])};if(n[1]==="characterStat")return{type:"setCharacterStat",characterId:n[2],stat:n[3],value:isNaN(Number(n[4]))?n[4]:Number(n[4])};if(n[1]==="mapEnabled")return{type:"setMapEnabled",enabled:n[2]==="true"};throw new Error(`Unknown SET effect: ${n[1]}`);case"CLEAR":if(n[1]==="flag")return{type:"clearFlag",flag:n[2]};throw new Error(`Unknown CLEAR effect: ${n[1]}`);case"ADD":if(n[1]==="variable")return{type:"addVariable",variable:n[2],value:Number(n[3])};if(n[1]==="item")return{type:"addItem",itemId:n[2]};if(n[1]==="journalEntry")return{type:"addJournalEntry",entryId:n[2]};if(n[1]==="toParty")return{type:"addToParty",characterId:n[2]};if(n[1]==="relationship")return{type:"addRelationship",characterId:n[2],value:Number(n[3])};if(n[1]==="characterStat")return{type:"addCharacterStat",characterId:n[2],stat:n[3],value:Number(n[4])};throw new Error(`Unknown ADD effect: ${n[1]}`);case"REMOVE":if(n[1]==="item")return{type:"removeItem",itemId:n[2]};if(n[1]==="fromParty")return{type:"removeFromParty",characterId:n[2]};throw new Error(`Unknown REMOVE effect: ${n[1]}`);case"MOVE":if(n[1]==="item")return{type:"moveItem",itemId:n[2],locationId:n[3]};throw new Error(`Unknown MOVE effect: ${n[1]}`);case"GOTO":if(n[1]==="location")return{type:"goToLocation",locationId:n[2]};throw new Error("GOTO should not be parsed as an effect");case"ADVANCE":if(n[1]==="time")return{type:"advanceTime",hours:Number(n[2])};throw new Error(`Unknown ADVANCE effect: ${n[1]}`);case"START":if(n[1]==="dialogue")return{type:"startDialogue",dialogueId:n[2]};throw new Error(`Unknown START effect: ${n[1]}`);case"END":if(n[1]==="dialogue")return{type:"endDialogue"};throw new Error("END should not be parsed as an effect");default:throw new Error(`Unknown effect keyword: ${r}`)}}function Ve(t,e,n){const r=t[e],a=A(r.line.substring(7)),s=[],i=[];let o="",l=e+1;const c=r.indent;for(;l<t.length;){const u=t[l];if(u.line==="END"&&u.indent===c){l++;break}if(u.line.startsWith("REQUIRE ")){const g=u.line.substring(8).trim();s.push(I(g)),l++}else if(u.line.startsWith("GOTO ")){const g=u.line.substring(5).trim();if(g.startsWith("location ")){const h=g.substring(9).trim();i.push({type:"goToLocation",locationId:h}),i.push({type:"endDialogue"}),o=""}else o=g;l++}else u.line.includes(":")||i.push(T(u.line)),l++}const d=a.replace(/[@"]/g,"").replace(/[^a-z0-9]/gi,"_");return{choice:{id:`${n}_choice_${d.toLowerCase().substring(0,30)}`,text:a,conditions:s.length>0?s:void 0,effects:i.length>0?i:void 0,next:o||""},nextIndex:l}}function De(t,e){const n=t[e],r=n.line.substring(3).trim(),a=I(r);let s;const i=[];let o=e+1;const l=n.indent;for(;o<t.length;){const c=t[o];if(c.line==="END"&&c.indent===l){o++;break}c.line.startsWith("GOTO ")?(s=c.line.substring(5).trim(),o++):(i.push(T(c.line)),o++)}return{condition:a,next:s,effects:i,nextIndex:o}}function Pe(t,e){const r=t[e].line.substring(5).trim();let a=null,s="",i,o;const l=[],c=[],d=[];let f;const b=[];let u=e+1;for(;u<t.length;){const h=t[u];if(h.line.startsWith("NODE "))break;if(h.line.includes(":")&&!h.line.startsWith("VOICE")){const p=h.line.indexOf(":"),y=h.line.substring(0,p).trim(),N=h.line.substring(p+1).trim();y==="NARRATOR"?a=null:a=y.toLowerCase(),s=A(N),u++}else if(h.line.startsWith("VOICE "))i=h.line.substring(6).trim(),u++;else if(h.line.startsWith("PORTRAIT "))o=h.line.substring(9).trim(),u++;else if(h.line.startsWith("CHOICE ")){const p=Ve(t,u,r);c.push(p.choice),u=p.nextIndex}else if(h.line.startsWith("IF ")){const p=De(t,u);p.next&&b.push({condition:p.condition,next:p.next}),d.push(...p.effects),u=p.nextIndex}else if(h.line.startsWith("GOTO ")){const p=h.line.substring(5).trim();if(p.startsWith("location ")){const y=p.substring(9).trim();d.push({type:"goToLocation",locationId:y}),d.push({type:"endDialogue"})}else f=p;u++}else d.push(T(h.line)),u++}const g={id:r,speaker:a,text:s,voice:i,portrait:o,conditions:l.length>0?l:void 0,choices:c,effects:d.length>0?d:void 0,next:f};return b.length>0&&(g.conditionalNext=b),{node:g,nextIndex:u}}function $e(t,e){const n=Re(t);let r;const a=[],s=[];let i="",o=0;for(;o<n.length;){const l=n[o];if(l.line.startsWith("TRIGGER "))r=l.line.substring(8).trim(),o++;else if(l.line.startsWith("REQUIRE ")){const c=l.line.substring(8).trim();a.push(I(c)),o++}else if(l.line.startsWith("NODE ")){const c=Pe(n,o);s.push(c.node),i||(i=c.node.id),o=c.nextIndex}else throw new Error(`Unexpected token at line ${l.lineNumber}: ${l.line}`)}return{id:e,triggerLocation:r,conditions:a.length>0?a:void 0,startNode:i,nodes:s}}function qe(t,e){const n=t;window.doodle={setFlag(r){n.state.flags[r]=!0,e(),console.log(`🐾 Flag set: ${r}`)},clearFlag(r){delete n.state.flags[r],e(),console.log(`🐾 Flag cleared: ${r}`)},setVariable(r,a){n.state.variables[r]=a,e(),console.log(`🐾 Variable set: ${r} = ${a}`)},getVariable(r){const a=n.state.variables[r];return console.log(`🐾 Variable: ${r} = ${a}`),a},teleport(r){t.travelTo(r),e(),console.log(`🐾 Teleported to: ${r}`)},triggerDialogue(r){const a=n.registry.dialogues[r];if(!a){console.error(`🐾 Dialogue not found: ${r}`);return}const s=a.nodes.find(i=>i.id===a.startNode);if(!s){console.error(`🐾 Start node not found for dialogue: ${r}`);return}n.state.dialogueState={dialogueId:a.id,nodeId:s.id},e(),console.log(`🐾 Triggered dialogue: ${r}`)},setQuestStage(r,a){n.state.questProgress[r]=a,e(),console.log(`🐾 Quest stage set: ${r} -> ${a}`)},addItem(r){n.state.inventory.includes(r)?console.log(`🐾 Item already in inventory: ${r}`):(n.state.inventory.push(r),n.state.itemLocations[r]="inventory",e(),console.log(`🐾 Item added: ${r}`))},removeItem(r){const a=n.state.inventory.indexOf(r);a!==-1?(n.state.inventory.splice(a,1),delete n.state.itemLocations[r],e(),console.log(`🐾 Item removed: ${r}`)):console.log(`🐾 Item not in inventory: ${r}`)},inspect(){const r=t.getSnapshot();console.log("🐾 DOODLE ENGINE INSPECTOR 🐾"),console.log(""),console.log("Current Location:",r.location.name),console.log("Current Time:",`Day ${r.time.day}, Hour ${r.time.hour}`),console.log("Flags:",Object.keys(n.state.flags)),console.log("Variables:",n.state.variables),console.log("Inventory:",r.inventory.map(a=>a.name)),console.log("Quest Progress:",n.state.questProgress),console.log(""),console.log("Available commands:"),console.log(" doodle.setFlag(flag)"),console.log(" doodle.clearFlag(flag)"),console.log(" doodle.setVariable(variable, value)"),console.log(" doodle.getVariable(variable)"),console.log(" doodle.teleport(locationId)"),console.log(" doodle.triggerDialogue(dialogueId)"),console.log(" doodle.setQuestStage(questId, stageId)"),console.log(" doodle.addItem(itemId)"),console.log(" doodle.removeItem(itemId)"),console.log(" doodle.inspectState()"),console.log(" doodle.inspectRegistry()")},inspectState(){return console.log("🐾 GAME STATE:",n.state),n.state},inspectRegistry(){return console.log("🐾 CONTENT REGISTRY:",n.registry),n.registry}},console.log("🐾 Doodle Engine dev tools enabled! Type `doodle.inspect()` to see available commands.")}const Fe="0.0.1";exports.Engine=ke;exports.VERSION=Fe;exports.applyEffect=x;exports.applyEffects=S;exports.buildSnapshot=O;exports.createResolver=Ie;exports.enableDevTools=qe;exports.evaluateCondition=L;exports.evaluateConditions=v;exports.parseCondition=I;exports.parseDialogue=$e;exports.parseEffect=T;exports.resolveText=w;
package/dist/core.js CHANGED
@@ -4,9 +4,9 @@ var T = (t, e, n) => k(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  function O(t, e) {
5
5
  switch (t.type) {
6
6
  case "hasFlag":
7
- return V(t.flag, e);
8
- case "notFlag":
9
7
  return R(t.flag, e);
8
+ case "notFlag":
9
+ return V(t.flag, e);
10
10
  case "hasItem":
11
11
  return D(t.itemId, e);
12
12
  case "variableEquals":
@@ -31,6 +31,8 @@ function O(t, e) {
31
31
  return Q(t.startHour, t.endHour, e);
32
32
  case "itemAt":
33
33
  return J(t.itemId, t.locationId, e);
34
+ case "roll":
35
+ return U(t.min, t.max, t.threshold);
34
36
  default:
35
37
  return !1;
36
38
  }
@@ -38,10 +40,10 @@ function O(t, e) {
38
40
  function v(t, e) {
39
41
  return t.every((n) => O(n, e));
40
42
  }
41
- function V(t, e) {
43
+ function R(t, e) {
42
44
  return e.flags[t] === !0;
43
45
  }
44
- function R(t, e) {
46
+ function V(t, e) {
45
47
  return e.flags[t] !== !0;
46
48
  }
47
49
  function D(t, e) {
@@ -87,68 +89,73 @@ function Q(t, e, n) {
87
89
  function J(t, e, n) {
88
90
  return n.itemLocations[t] === e;
89
91
  }
90
- function U(t, e) {
92
+ function U(t, e, n) {
93
+ return Math.floor(Math.random() * (e - t + 1)) + t >= n;
94
+ }
95
+ function B(t, e) {
91
96
  switch (t.type) {
92
97
  case "setFlag":
93
- return B(t.flag, e);
94
- case "clearFlag":
95
98
  return _(t.flag, e);
99
+ case "clearFlag":
100
+ return z(t.flag, e);
96
101
  case "setVariable":
97
- return z(t.variable, t.value, e);
98
- case "addVariable":
99
102
  return Y(t.variable, t.value, e);
103
+ case "addVariable":
104
+ return K(t.variable, t.value, e);
100
105
  case "addItem":
101
- return K(t.itemId, e);
102
- case "removeItem":
103
106
  return X(t.itemId, e);
107
+ case "removeItem":
108
+ return Z(t.itemId, e);
104
109
  case "moveItem":
105
- return Z(t.itemId, t.locationId, e);
110
+ return ee(t.itemId, t.locationId, e);
106
111
  case "goToLocation":
107
- return ee(t.locationId, e);
112
+ return te(t.locationId, e);
108
113
  case "advanceTime":
109
- return te(t.hours, e);
114
+ return ne(t.hours, e);
110
115
  case "setQuestStage":
111
- return ne(t.questId, t.stageId, e);
116
+ return re(t.questId, t.stageId, e);
112
117
  case "addJournalEntry":
113
- return re(t.entryId, e);
118
+ return ae(t.entryId, e);
114
119
  case "startDialogue":
115
- return ae(t.dialogueId, e);
120
+ return ie(t.dialogueId, e);
116
121
  case "endDialogue":
117
- return ie(e);
122
+ return se(e);
118
123
  case "setCharacterLocation":
119
- return se(t.characterId, t.locationId, e);
124
+ return oe(t.characterId, t.locationId, e);
120
125
  case "addToParty":
121
- return oe(t.characterId, e);
122
- case "removeFromParty":
123
126
  return le(t.characterId, e);
127
+ case "removeFromParty":
128
+ return ce(t.characterId, e);
124
129
  case "setRelationship":
125
- return ce(t.characterId, t.value, e);
126
- case "addRelationship":
127
130
  return ue(t.characterId, t.value, e);
131
+ case "addRelationship":
132
+ return de(t.characterId, t.value, e);
128
133
  case "setCharacterStat":
129
- return de(t.characterId, t.stat, t.value, e);
130
- case "addCharacterStat":
131
134
  return he(t.characterId, t.stat, t.value, e);
135
+ case "addCharacterStat":
136
+ return pe(t.characterId, t.stat, t.value, e);
132
137
  case "setMapEnabled":
133
- return pe(t.enabled, e);
138
+ return ge(t.enabled, e);
134
139
  case "playMusic":
135
140
  return e;
136
141
  case "playSound":
137
- return fe(t.sound, e);
142
+ return me(t.sound, e);
138
143
  case "notify":
139
- return ge(t.message, e);
144
+ return fe(t.message, e);
140
145
  case "playVideo":
141
- return me(t.file, e);
146
+ return be(t.file, e);
142
147
  case "showInterlude":
143
- return be(t.interludeId, e);
148
+ return ye(t.interludeId, e);
149
+ case "roll":
150
+ return Se(t.variable, t.min, t.max, e);
144
151
  default:
145
152
  return e;
146
153
  }
147
154
  }
148
155
  function S(t, e) {
149
- return t.reduce((n, r) => U(r, n), e);
156
+ return t.reduce((n, r) => B(r, n), e);
150
157
  }
151
- function B(t, e) {
158
+ function _(t, e) {
152
159
  return {
153
160
  ...e,
154
161
  flags: {
@@ -157,7 +164,7 @@ function B(t, e) {
157
164
  }
158
165
  };
159
166
  }
160
- function _(t, e) {
167
+ function z(t, e) {
161
168
  return {
162
169
  ...e,
163
170
  flags: {
@@ -166,7 +173,7 @@ function _(t, e) {
166
173
  }
167
174
  };
168
175
  }
169
- function z(t, e, n) {
176
+ function Y(t, e, n) {
170
177
  return {
171
178
  ...n,
172
179
  variables: {
@@ -175,7 +182,7 @@ function z(t, e, n) {
175
182
  }
176
183
  };
177
184
  }
178
- function Y(t, e, n) {
185
+ function K(t, e, n) {
179
186
  const r = n.variables[t], a = typeof r == "number" ? r + e : e;
180
187
  return {
181
188
  ...n,
@@ -185,7 +192,7 @@ function Y(t, e, n) {
185
192
  }
186
193
  };
187
194
  }
188
- function K(t, e) {
195
+ function X(t, e) {
189
196
  return e.inventory.includes(t) ? e : {
190
197
  ...e,
191
198
  inventory: [...e.inventory, t],
@@ -195,7 +202,7 @@ function K(t, e) {
195
202
  }
196
203
  };
197
204
  }
198
- function X(t, e) {
205
+ function Z(t, e) {
199
206
  return {
200
207
  ...e,
201
208
  inventory: e.inventory.filter((n) => n !== t)
@@ -203,7 +210,7 @@ function X(t, e) {
203
210
  // or wherever it was. Use moveItem to relocate it.
204
211
  };
205
212
  }
206
- function Z(t, e, n) {
213
+ function ee(t, e, n) {
207
214
  return {
208
215
  ...n,
209
216
  inventory: n.inventory.filter((r) => r !== t),
@@ -213,13 +220,13 @@ function Z(t, e, n) {
213
220
  }
214
221
  };
215
222
  }
216
- function ee(t, e) {
223
+ function te(t, e) {
217
224
  return {
218
225
  ...e,
219
226
  currentLocation: t
220
227
  };
221
228
  }
222
- function te(t, e) {
229
+ function ne(t, e) {
223
230
  const n = e.currentTime.hour + t, r = Math.floor(n / 24), a = n % 24;
224
231
  return {
225
232
  ...e,
@@ -229,7 +236,7 @@ function te(t, e) {
229
236
  }
230
237
  };
231
238
  }
232
- function ne(t, e, n) {
239
+ function re(t, e, n) {
233
240
  return {
234
241
  ...n,
235
242
  questProgress: {
@@ -238,13 +245,13 @@ function ne(t, e, n) {
238
245
  }
239
246
  };
240
247
  }
241
- function re(t, e) {
248
+ function ae(t, e) {
242
249
  return e.unlockedJournalEntries.includes(t) ? e : {
243
250
  ...e,
244
251
  unlockedJournalEntries: [...e.unlockedJournalEntries, t]
245
252
  };
246
253
  }
247
- function ae(t, e) {
254
+ function ie(t, e) {
248
255
  return {
249
256
  ...e,
250
257
  dialogueState: {
@@ -254,13 +261,13 @@ function ae(t, e) {
254
261
  }
255
262
  };
256
263
  }
257
- function ie(t) {
264
+ function se(t) {
258
265
  return {
259
266
  ...t,
260
267
  dialogueState: null
261
268
  };
262
269
  }
263
- function se(t, e, n) {
270
+ function oe(t, e, n) {
264
271
  const r = n.characterState[t];
265
272
  return r ? {
266
273
  ...n,
@@ -273,7 +280,7 @@ function se(t, e, n) {
273
280
  }
274
281
  } : n;
275
282
  }
276
- function oe(t, e) {
283
+ function le(t, e) {
277
284
  const n = e.characterState[t];
278
285
  return n ? {
279
286
  ...e,
@@ -286,7 +293,7 @@ function oe(t, e) {
286
293
  }
287
294
  } : e;
288
295
  }
289
- function le(t, e) {
296
+ function ce(t, e) {
290
297
  const n = e.characterState[t];
291
298
  return n ? {
292
299
  ...e,
@@ -299,7 +306,7 @@ function le(t, e) {
299
306
  }
300
307
  } : e;
301
308
  }
302
- function ce(t, e, n) {
309
+ function ue(t, e, n) {
303
310
  const r = n.characterState[t];
304
311
  return r ? {
305
312
  ...n,
@@ -312,7 +319,7 @@ function ce(t, e, n) {
312
319
  }
313
320
  } : n;
314
321
  }
315
- function ue(t, e, n) {
322
+ function de(t, e, n) {
316
323
  const r = n.characterState[t];
317
324
  return r ? {
318
325
  ...n,
@@ -325,7 +332,7 @@ function ue(t, e, n) {
325
332
  }
326
333
  } : n;
327
334
  }
328
- function de(t, e, n, r) {
335
+ function he(t, e, n, r) {
329
336
  const a = r.characterState[t];
330
337
  return a ? {
331
338
  ...r,
@@ -341,7 +348,7 @@ function de(t, e, n, r) {
341
348
  }
342
349
  } : r;
343
350
  }
344
- function he(t, e, n, r) {
351
+ function pe(t, e, n, r) {
345
352
  const a = r.characterState[t];
346
353
  if (!a)
347
354
  return r;
@@ -360,51 +367,67 @@ function he(t, e, n, r) {
360
367
  }
361
368
  };
362
369
  }
363
- function pe(t, e) {
370
+ function ge(t, e) {
364
371
  return {
365
372
  ...e,
366
373
  mapEnabled: t
367
374
  };
368
375
  }
369
- function ge(t, e) {
376
+ function fe(t, e) {
370
377
  return {
371
378
  ...e,
372
379
  notifications: [...e.notifications, t]
373
380
  };
374
381
  }
375
- function fe(t, e) {
382
+ function me(t, e) {
376
383
  return {
377
384
  ...e,
378
385
  pendingSounds: [...e.pendingSounds, t]
379
386
  };
380
387
  }
381
- function me(t, e) {
388
+ function be(t, e) {
382
389
  return {
383
390
  ...e,
384
391
  pendingVideo: t
385
392
  };
386
393
  }
387
- function be(t, e) {
394
+ function ye(t, e) {
388
395
  return {
389
396
  ...e,
390
397
  pendingInterlude: t
391
398
  };
392
399
  }
393
- function C(t, e) {
394
- if (!t.startsWith("@"))
395
- return t;
396
- const n = t.slice(1);
397
- return e[n] ?? t;
400
+ function Se(t, e, n, r) {
401
+ const a = Math.floor(Math.random() * (n - e + 1)) + e;
402
+ return {
403
+ ...r,
404
+ variables: {
405
+ ...r.variables,
406
+ [t]: a
407
+ }
408
+ };
398
409
  }
399
- function Re(t) {
400
- return (e) => C(e, t);
410
+ function L(t, e, n) {
411
+ let r;
412
+ if (t.startsWith("@")) {
413
+ const a = t.slice(1);
414
+ r = e[a] ?? t;
415
+ } else
416
+ r = t;
417
+ return n && r.includes("{") && (r = r.replace(/\{(\w+)\}/g, (a, s) => {
418
+ const i = n[s];
419
+ return i !== void 0 ? String(i) : `{${s}}`;
420
+ })), r;
401
421
  }
402
- function ye(t, e) {
403
- const n = e.locales[t.currentLocale] ?? {}, r = (m) => C(m, n), a = Se(t.currentLocation, e, r), s = ve(t, e, r), i = Ie(t, e, r), { dialogue: o, choices: l } = Te(t, e, r), c = Ne(t, e, r), d = Ee(t, e, r), f = Ae(t, e, r), b = we(t, e, r), u = t.mapEnabled ? Ce(t, e, r) : null, g = e.locations[t.currentLocation], h = (g == null ? void 0 : g.music) ?? "", p = (g == null ? void 0 : g.ambient) ?? "", y = t.notifications.map(r), I = [...t.pendingSounds], L = t.pendingVideo;
404
- let w = null;
422
+ function Pe(t, e) {
423
+ return (n) => L(n, t, e);
424
+ }
425
+ function ve(t, e) {
426
+ const n = e.locales[t.currentLocale] ?? {}, r = (m) => L(m, n, t.variables), a = Ie(t.currentLocation, e, r), s = Te(t, e, r), i = Ne(t, e, r), { dialogue: o, choices: l } = Ee(t, e, r), c = we(t, e, r), d = Ae(t, e, r), f = Le(t, e, r), b = Ce(t, e, r), u = t.mapEnabled ? xe(t, e, r) : null, g = e.locations[t.currentLocation], h = (g == null ? void 0 : g.music) ?? "", p = (g == null ? void 0 : g.ambient) ?? "", y = t.notifications.map(r), I = [...t.pendingSounds], C = t.pendingVideo;
427
+ let A = null;
405
428
  if (t.pendingInterlude) {
406
429
  const m = e.interludes[t.pendingInterlude];
407
- m && (w = {
430
+ m && (A = {
408
431
  id: m.id,
409
432
  background: m.background,
410
433
  banner: m.banner,
@@ -433,11 +456,11 @@ function ye(t, e) {
433
456
  ambient: p,
434
457
  notifications: y,
435
458
  pendingSounds: I,
436
- pendingVideo: L,
437
- pendingInterlude: w
459
+ pendingVideo: C,
460
+ pendingInterlude: A
438
461
  };
439
462
  }
440
- function Se(t, e, n) {
463
+ function Ie(t, e, n) {
441
464
  const r = e.locations[t];
442
465
  return r ? {
443
466
  id: r.id,
@@ -451,7 +474,7 @@ function Se(t, e, n) {
451
474
  banner: ""
452
475
  };
453
476
  }
454
- function ve(t, e, n) {
477
+ function Te(t, e, n) {
455
478
  const r = [];
456
479
  for (const [a, s] of Object.entries(t.characterState))
457
480
  if (s.location === t.currentLocation) {
@@ -469,7 +492,7 @@ function ve(t, e, n) {
469
492
  }
470
493
  return r;
471
494
  }
472
- function Ie(t, e, n) {
495
+ function Ne(t, e, n) {
473
496
  const r = [];
474
497
  for (const [a, s] of Object.entries(t.itemLocations))
475
498
  if (s === t.currentLocation) {
@@ -485,7 +508,7 @@ function Ie(t, e, n) {
485
508
  }
486
509
  return r;
487
510
  }
488
- function Te(t, e, n) {
511
+ function Ee(t, e, n) {
489
512
  var l, c;
490
513
  if (!t.dialogueState)
491
514
  return { dialogue: null, choices: [] };
@@ -510,7 +533,7 @@ function Te(t, e, n) {
510
533
  }));
511
534
  return { dialogue: i, choices: o };
512
535
  }
513
- function Ne(t, e, n) {
536
+ function we(t, e, n) {
514
537
  const r = [];
515
538
  for (const [a, s] of Object.entries(t.characterState))
516
539
  if (s.inParty) {
@@ -528,7 +551,7 @@ function Ne(t, e, n) {
528
551
  }
529
552
  return r;
530
553
  }
531
- function Ee(t, e, n) {
554
+ function Ae(t, e, n) {
532
555
  return t.inventory.map((r) => {
533
556
  const a = e.items[r];
534
557
  return a ? {
@@ -541,7 +564,7 @@ function Ee(t, e, n) {
541
564
  } : null;
542
565
  }).filter((r) => r !== null);
543
566
  }
544
- function Ae(t, e, n) {
567
+ function Le(t, e, n) {
545
568
  const r = [];
546
569
  for (const [a, s] of Object.entries(t.questProgress)) {
547
570
  const i = e.quests[a];
@@ -557,7 +580,7 @@ function Ae(t, e, n) {
557
580
  }
558
581
  return r;
559
582
  }
560
- function we(t, e, n) {
583
+ function Ce(t, e, n) {
561
584
  return t.unlockedJournalEntries.map((r) => {
562
585
  const a = e.journalEntries[r];
563
586
  return a ? {
@@ -568,7 +591,7 @@ function we(t, e, n) {
568
591
  } : null;
569
592
  }).filter((r) => r !== null);
570
593
  }
571
- function Ce(t, e, n) {
594
+ function xe(t, e, n) {
572
595
  const r = Object.keys(e.maps);
573
596
  if (r.length === 0) return null;
574
597
  const a = e.maps[r[0]];
@@ -591,7 +614,7 @@ function Ce(t, e, n) {
591
614
  locations: s
592
615
  };
593
616
  }
594
- class De {
617
+ class $e {
595
618
  /**
596
619
  * Create a new engine instance.
597
620
  *
@@ -880,7 +903,7 @@ class De {
880
903
  * Transient state is data that should only appear in one snapshot.
881
904
  */
882
905
  buildSnapshotAndClearTransients() {
883
- const e = ye(this.state, this.registry);
906
+ const e = ve(this.state, this.registry);
884
907
  return this.state = {
885
908
  ...this.state,
886
909
  notifications: [],
@@ -958,12 +981,12 @@ class De {
958
981
  this.state = {
959
982
  ...this.state,
960
983
  pendingInterlude: e.id
961
- };
984
+ }, e.effects && (this.state = S(e.effects, this.state));
962
985
  break;
963
986
  }
964
987
  }
965
988
  }
966
- function Le(t) {
989
+ function ke(t) {
967
990
  return t.split(`
968
991
  `).map((e, n) => ({
969
992
  original: e,
@@ -1044,11 +1067,13 @@ function E(t) {
1044
1067
  return { type: "timeIs", startHour: Number(e[1]), endHour: Number(e[2]) };
1045
1068
  case "itemAt":
1046
1069
  return { type: "itemAt", itemId: e[1], locationId: e[2] };
1070
+ case "roll":
1071
+ return { type: "roll", min: Number(e[1]), max: Number(e[2]), threshold: Number(e[3]) };
1047
1072
  default:
1048
1073
  throw new Error(`Unknown condition type: ${n}`);
1049
1074
  }
1050
1075
  }
1051
- function A(t) {
1076
+ function w(t) {
1052
1077
  const e = t.trim();
1053
1078
  if (e.startsWith("NOTIFY "))
1054
1079
  return { type: "notify", message: N(e.substring(7)) };
@@ -1060,6 +1085,10 @@ function A(t) {
1060
1085
  return { type: "playVideo", file: e.substring(6).trim() };
1061
1086
  if (e.startsWith("INTERLUDE "))
1062
1087
  return { type: "showInterlude", interludeId: e.substring(10).trim() };
1088
+ if (e.startsWith("ROLL ")) {
1089
+ const a = e.split(/\s+/);
1090
+ return { type: "roll", variable: a[1], min: Number(a[2]), max: Number(a[3]) };
1091
+ }
1063
1092
  const n = e.split(/\s+/), r = n[0];
1064
1093
  switch (r) {
1065
1094
  case "SET":
@@ -1156,7 +1185,7 @@ function A(t) {
1156
1185
  throw new Error(`Unknown effect keyword: ${r}`);
1157
1186
  }
1158
1187
  }
1159
- function xe(t, e, n) {
1188
+ function Oe(t, e, n) {
1160
1189
  const r = t[e], a = N(r.line.substring(7)), s = [], i = [];
1161
1190
  let o = "", l = e + 1;
1162
1191
  const c = r.indent;
@@ -1177,7 +1206,7 @@ function xe(t, e, n) {
1177
1206
  } else
1178
1207
  o = g;
1179
1208
  l++;
1180
- } else u.line.includes(":") || i.push(A(u.line)), l++;
1209
+ } else u.line.includes(":") || i.push(w(u.line)), l++;
1181
1210
  }
1182
1211
  const d = a.replace(/[@"]/g, "").replace(/[^a-z0-9]/gi, "_");
1183
1212
  return { choice: {
@@ -1188,7 +1217,7 @@ function xe(t, e, n) {
1188
1217
  next: o || ""
1189
1218
  }, nextIndex: l };
1190
1219
  }
1191
- function ke(t, e) {
1220
+ function Re(t, e) {
1192
1221
  const n = t[e], r = n.line.substring(3).trim(), a = E(r);
1193
1222
  let s;
1194
1223
  const i = [];
@@ -1200,11 +1229,11 @@ function ke(t, e) {
1200
1229
  o++;
1201
1230
  break;
1202
1231
  }
1203
- c.line.startsWith("GOTO ") ? (s = c.line.substring(5).trim(), o++) : (i.push(A(c.line)), o++);
1232
+ c.line.startsWith("GOTO ") ? (s = c.line.substring(5).trim(), o++) : (i.push(w(c.line)), o++);
1204
1233
  }
1205
1234
  return { condition: a, next: s, effects: i, nextIndex: o };
1206
1235
  }
1207
- function Oe(t, e) {
1236
+ function Ve(t, e) {
1208
1237
  const r = t[e].line.substring(5).trim();
1209
1238
  let a = null, s = "", i, o;
1210
1239
  const l = [], c = [], d = [];
@@ -1223,10 +1252,10 @@ function Oe(t, e) {
1223
1252
  else if (h.line.startsWith("PORTRAIT "))
1224
1253
  o = h.line.substring(9).trim(), u++;
1225
1254
  else if (h.line.startsWith("CHOICE ")) {
1226
- const p = xe(t, u, r);
1255
+ const p = Oe(t, u, r);
1227
1256
  c.push(p.choice), u = p.nextIndex;
1228
1257
  } else if (h.line.startsWith("IF ")) {
1229
- const p = ke(t, u);
1258
+ const p = Re(t, u);
1230
1259
  p.next && b.push({
1231
1260
  condition: p.condition,
1232
1261
  next: p.next
@@ -1240,7 +1269,7 @@ function Oe(t, e) {
1240
1269
  f = p;
1241
1270
  u++;
1242
1271
  } else
1243
- d.push(A(h.line)), u++;
1272
+ d.push(w(h.line)), u++;
1244
1273
  }
1245
1274
  const g = {
1246
1275
  id: r,
@@ -1255,8 +1284,8 @@ function Oe(t, e) {
1255
1284
  };
1256
1285
  return b.length > 0 && (g.conditionalNext = b), { node: g, nextIndex: u };
1257
1286
  }
1258
- function Pe(t, e) {
1259
- const n = Le(t);
1287
+ function qe(t, e) {
1288
+ const n = ke(t);
1260
1289
  let r;
1261
1290
  const a = [], s = [];
1262
1291
  let i = "", o = 0;
@@ -1268,7 +1297,7 @@ function Pe(t, e) {
1268
1297
  const c = l.line.substring(8).trim();
1269
1298
  a.push(E(c)), o++;
1270
1299
  } else if (l.line.startsWith("NODE ")) {
1271
- const c = Oe(n, o);
1300
+ const c = Ve(n, o);
1272
1301
  s.push(c.node), i || (i = c.node.id), o = c.nextIndex;
1273
1302
  } else
1274
1303
  throw new Error(`Unexpected token at line ${l.lineNumber}: ${l.line}`);
@@ -1281,7 +1310,7 @@ function Pe(t, e) {
1281
1310
  nodes: s
1282
1311
  };
1283
1312
  }
1284
- function $e(t, e) {
1313
+ function Fe(t, e) {
1285
1314
  const n = t;
1286
1315
  window.doodle = {
1287
1316
  // Flag manipulation
@@ -1345,19 +1374,19 @@ function $e(t, e) {
1345
1374
  }
1346
1375
  }, console.log("🐾 Doodle Engine dev tools enabled! Type `doodle.inspect()` to see available commands.");
1347
1376
  }
1348
- const qe = "0.0.1";
1377
+ const We = "0.0.1";
1349
1378
  export {
1350
- De as Engine,
1351
- qe as VERSION,
1352
- U as applyEffect,
1379
+ $e as Engine,
1380
+ We as VERSION,
1381
+ B as applyEffect,
1353
1382
  S as applyEffects,
1354
- ye as buildSnapshot,
1355
- Re as createResolver,
1356
- $e as enableDevTools,
1383
+ ve as buildSnapshot,
1384
+ Pe as createResolver,
1385
+ Fe as enableDevTools,
1357
1386
  O as evaluateCondition,
1358
1387
  v as evaluateConditions,
1359
1388
  E as parseCondition,
1360
- Pe as parseDialogue,
1361
- A as parseEffect,
1362
- C as resolveText
1389
+ qe as parseDialogue,
1390
+ w as parseEffect,
1391
+ L as resolveText
1363
1392
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAuFvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAE3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CA0FvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAE3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAK7C;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAW;IAExB;;;;;OAKG;gBACS,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS;IASvD;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ;IA+CrC;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IAQtC;;;;;;OAMG;IACH,QAAQ,IAAI,QAAQ;IAQpB;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IA0ExC;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ;IAsDrC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAmBlC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ;IAqDtC;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;IAehD;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IASpC;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IASnC;;;;;;OAMG;IACH,WAAW,IAAI,QAAQ;IAQvB;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAevC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAevB;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAyD/B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;CAsBjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAK7C;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAW;IAExB;;;;;OAKG;gBACS,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS;IASvD;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ;IA+CrC;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IAQtC;;;;;;OAMG;IACH,QAAQ,IAAI,QAAQ;IAQpB;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IA0ExC;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ;IAsDrC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAmBlC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ;IAqDtC;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;IAehD;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IASpC;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IASnC;;;;;;OAMG;IACH,WAAW,IAAI,QAAQ;IAQvB;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAevC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAevB;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAyD/B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;CA2BjC"}
package/dist/index.d.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  */
7
7
  export declare const VERSION = "0.0.1";
8
8
  export type { Location, Character, Item, Map, MapLocation, Dialogue, DialogueNode, Choice, Quest, QuestStage, JournalEntry, Interlude, GameConfig, } from './types/entities';
9
- export type { Condition, HasFlagCondition, NotFlagCondition, HasItemCondition, VariableEqualsCondition, VariableGreaterThanCondition, VariableLessThanCondition, AtLocationCondition, QuestAtStageCondition, CharacterAtCondition, CharacterInPartyCondition, RelationshipAboveCondition, RelationshipBelowCondition, TimeIsCondition, ItemAtCondition, } from './types/conditions';
10
- export type { Effect, SetFlagEffect, ClearFlagEffect, SetVariableEffect, AddVariableEffect, AddItemEffect, RemoveItemEffect, MoveItemEffect, GoToLocationEffect, AdvanceTimeEffect, SetQuestStageEffect, AddJournalEntryEffect, StartDialogueEffect, EndDialogueEffect, SetCharacterLocationEffect, AddToPartyEffect, RemoveFromPartyEffect, SetRelationshipEffect, AddRelationshipEffect, SetCharacterStatEffect, AddCharacterStatEffect, SetMapEnabledEffect, PlayMusicEffect, PlaySoundEffect, NotifyEffect, PlayVideoEffect, ShowInterludeEffect, } from './types/effects';
9
+ export type { Condition, HasFlagCondition, NotFlagCondition, HasItemCondition, VariableEqualsCondition, VariableGreaterThanCondition, VariableLessThanCondition, AtLocationCondition, QuestAtStageCondition, CharacterAtCondition, CharacterInPartyCondition, RelationshipAboveCondition, RelationshipBelowCondition, TimeIsCondition, ItemAtCondition, RollCondition, } from './types/conditions';
10
+ export type { Effect, SetFlagEffect, ClearFlagEffect, SetVariableEffect, AddVariableEffect, AddItemEffect, RemoveItemEffect, MoveItemEffect, GoToLocationEffect, AdvanceTimeEffect, SetQuestStageEffect, AddJournalEntryEffect, StartDialogueEffect, EndDialogueEffect, SetCharacterLocationEffect, AddToPartyEffect, RemoveFromPartyEffect, SetRelationshipEffect, AddRelationshipEffect, SetCharacterStatEffect, AddCharacterStatEffect, SetMapEnabledEffect, PlayMusicEffect, PlaySoundEffect, NotifyEffect, PlayVideoEffect, ShowInterludeEffect, RollEffect, } from './types/effects';
11
11
  export type { GameState, CharacterState, DialogueState, PlayerNote, Time, } from './types/state';
12
12
  export type { Snapshot, SnapshotLocation, SnapshotCharacter, SnapshotItem, SnapshotChoice, SnapshotDialogue, SnapshotQuest, SnapshotJournalEntry, SnapshotMapLocation, SnapshotMap, SnapshotInterlude, } from './types/snapshot';
13
13
  export type { SaveData, } from './types/save';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,YAAY,EACV,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,EACH,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,KAAK,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EACV,MAAM,EACN,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,IAAI,GACL,MAAM,eAAe,CAAA;AAGtB,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EACV,QAAQ,GACT,MAAM,cAAc,CAAA;AAGrB,YAAY,EACV,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,WAAW,EACX,YAAY,GACb,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,aAAa,GACd,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,MAAM,GACP,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,YAAY,EACV,QAAQ,GACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,cAAc,GACf,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,YAAY,EACV,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,EACH,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,KAAK,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EACV,MAAM,EACN,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,UAAU,GACX,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,IAAI,GACL,MAAM,eAAe,CAAA;AAGtB,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EACV,QAAQ,GACT,MAAM,cAAc,CAAA;AAGrB,YAAY,EACV,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,WAAW,EACX,YAAY,GACb,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,aAAa,GACd,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,MAAM,GACP,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,YAAY,EACV,QAAQ,GACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,cAAc,GACf,MAAM,YAAY,CAAA"}
@@ -23,20 +23,21 @@ import type { LocaleData } from '../types/registry';
23
23
  * resolveText("@missing.key", localeData) // "@missing.key" (fallback)
24
24
  * ```
25
25
  */
26
- export declare function resolveText(text: string, localeData: LocaleData): string;
26
+ export declare function resolveText(text: string, localeData: LocaleData, variables?: Record<string, number | string>): string;
27
27
  /**
28
- * Create a localization resolver function bound to a specific locale.
28
+ * Create a localization resolver function bound to a specific locale and variables.
29
29
  * Useful for passing to functions that need to resolve multiple strings.
30
30
  *
31
31
  * @param localeData - Locale dictionary for the current language
32
- * @returns Function that resolves text using the provided locale data
32
+ * @param variables - Optional game variables for {varName} substitution
33
+ * @returns Function that resolves text using the provided locale data and variables
33
34
  *
34
35
  * @example
35
36
  * ```ts
36
- * const resolve = createResolver(localeData)
37
+ * const resolve = createResolver(localeData, variables)
37
38
  * const name = resolve("@character.bartender.name")
38
- * const bio = resolve("@character.bartender.bio")
39
+ * const roll = resolve("You rolled a {bluffRoll}.")
39
40
  * ```
40
41
  */
41
- export declare function createResolver(localeData: LocaleData): (text: string) => string;
42
+ export declare function createResolver(localeData: LocaleData, variables?: Record<string, number | string>): (text: string) => string;
42
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/localization/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAYxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAE/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/localization/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC1C,MAAM,CAmBR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC1C,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAE1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,mBAAmB,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAqF9C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CA4D9D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmJrD;AAiPD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAyCjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,mBAAmB,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAqF9C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CA8D9D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuJrD;AAiPD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAyCjE"}
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../src/types/conditions.ts","../src/types/effects.ts","../src/types/entities.ts","../src/types/registry.ts","../src/types/state.ts","../src/types/snapshot.ts","../src/types/save.ts","../src/localization/index.ts","../src/conditions/index.ts","../src/snapshot/index.ts","../src/effects/index.ts","../src/engine/index.ts","../src/devtools.ts","../src/parser/index.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/kleur/kleur.d.ts","../../../node_modules/@types/prompts/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts"],"fileIdsList":[[81,90,144,161,162],[90,144,161,162],[81,82,83,84,85,90,144,161,162],[81,83,90,144,161,162],[90,141,142,144,161,162],[90,143,144,161,162],[144,161,162],[90,144,149,161,162,179],[90,144,145,150,155,161,162,164,176,187],[90,144,145,146,155,161,162,164],[90,144,147,161,162,188],[90,144,148,149,156,161,162,165],[90,144,149,161,162,176,184],[90,144,150,152,155,161,162,164],[90,143,144,151,161,162],[90,144,152,153,161,162],[90,144,154,155,161,162],[90,143,144,155,161,162],[90,144,155,156,157,161,162,176,187],[90,144,155,156,157,161,162,171,176,179],[90,136,144,152,155,158,161,162,164,176,187],[90,144,155,156,158,159,161,162,164,176,184,187],[90,144,158,160,161,162,176,184,187],[88,89,90,91,92,93,94,95,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[90,144,155,161,162],[90,144,161,162,163,187],[90,144,152,155,161,162,164,176],[90,144,161,162,165],[90,144,161,162,166],[90,143,144,161,162,167],[90,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[90,144,161,162,169],[90,144,161,162,170],[90,144,155,161,162,171,172],[90,144,161,162,171,173,188,190],[90,144,156,161,162],[90,144,155,161,162,176,177,179],[90,144,161,162,178,179],[90,144,161,162,176,177],[90,144,161,162,179],[90,144,161,162,180],[90,141,144,161,162,176,181,187],[90,144,155,161,162,182,183],[90,144,161,162,182,183],[90,144,149,161,162,164,176,184],[90,144,161,162,185],[90,144,161,162,164,186],[90,144,158,161,162,170,187],[90,144,149,161,162,188],[90,144,161,162,176,189],[90,144,161,162,163,190],[90,144,161,162,191],[90,144,149,161,162],[90,136,144,161,162],[90,144,161,162,192],[90,136,144,155,157,161,162,167,176,179,187,189,190,192],[90,144,161,162,176,193],[90,144,161,162,176,194,195],[90,144,161,162,199],[90,144,161,162,197,198],[90,102,105,108,109,144,161,162,187],[90,105,144,161,162,176,187],[90,105,109,144,161,162,187],[90,144,161,162,176],[90,99,144,161,162],[90,103,144,161,162],[90,101,102,105,144,161,162,187],[90,144,161,162,164,184],[90,144,161,162,194],[90,99,144,161,162,194],[90,101,105,144,161,162,164,187],[90,96,97,98,100,104,144,155,161,162,176,187],[90,105,113,121,144,161,162],[90,97,103,144,161,162],[90,105,130,131,144,161,162],[90,97,100,105,144,161,162,179,187,194],[90,105,144,161,162],[90,101,105,144,161,162,187],[90,96,144,161,162],[90,99,100,101,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,144,161,162],[90,105,123,126,144,152,161,162],[90,105,113,114,115,144,161,162],[90,103,105,114,116,144,161,162],[90,104,144,161,162],[90,97,99,105,144,161,162],[90,105,109,114,116,144,161,162],[90,109,144,161,162],[90,103,105,108,144,161,162,187],[90,97,101,105,113,144,161,162],[90,105,123,144,161,162],[90,116,144,161,162],[90,99,105,130,144,161,162,179,192,194],[66,70,90,144,161,162],[77,90,144,161,162],[67,70,90,144,161,162],[68,69,70,71,72,74,75,76,90,144,161,162],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,90,144,161,162],[69,90,144,161,162],[66,67,68,90,144,161,162],[69,70,71,73,74,90,144,161,162],[66,67,90,144,161,162],[68,90,144,161,162],[70,90,144,161,162]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"2d59c08e8aa73bb43aea7e420d5f41beebbff5325bce50d5efeac8b10106f685","signature":"dcd373d835298e64cb5d5e4597a62aad73ba343cea6404d87d010514a75576b8"},{"version":"de65291879e6bca5bf8f304f143621ac9be4239cd7a3fed1ed2ebe820eb6212e","signature":"dc376a03e65c979ba125c51af0f29072afee321edd90bf5fb20752e0a54d5907"},{"version":"5de0eb2e4670c8961ba336f0dee77c7bb379f31568c983224198e3a50269e719","signature":"728631154b7ae6036582aa96d9712afe112d467e19f21cef70b956fc442cf757"},{"version":"2cac873376f02c33588b47bbf2aabf3d82bb43d371b404fd23b396e09891c9ee","signature":"25f77fe0029116cb1c96af7beb8c6573633eb23cb7a0fdccef6aa9f47e8d9da5"},{"version":"6689c9debfa51fa620836c2f1ab6fd3c2676efed78b8ae5cd82aece1f2c43b71","signature":"944d0b5bcad42a6a308de7d9236ba30e2b21e0b321a9bd5e7e5f16062897723f"},{"version":"f00fec571078b92fb088eb179fef37713228ca78ed24a35daf80b7832bdbf710","signature":"adc61375a5de4ea796a6f2d8fa1cd29b9284875a59182b266f43ced2cee84f18"},{"version":"2e8df3e91ae3d3e70651dee6b7e4eeb905a9538eaf49887eceb99806042fc250","signature":"0c0a572898a4b515c2a2b6cdbff925c0612a1588f51217f93efca21770c076d1"},{"version":"f5d3d8d1cc9b4a202d35223c497256c5a0c7d7bab98f8e07cc6dc4f39ab8120a","signature":"a76c8101df57d8d763093febe03cd342f603dc17b60706542316c03e58e59cd0"},{"version":"0625ead5ebfb23b2e22bf2defa5fc20c6cebc5a1956cb19a07fc4fc4f3e00eef","signature":"6392e4d06eb2762faf7303aa41b92d23fd5ad66309f1c57f89ad1c6086ae8bc2"},{"version":"f0c45dd041d8d8b8113929980ee84aee3e6687269971539c3f102ec10b9cc6f3","signature":"66e9f207c03d41359bf33a048cda49fbe48b10fa29289d120eaa538456c85f28"},{"version":"ca45e6352ab15c692f6c878bd3de3e83412dbb286010f0fb73a0f461ab82e7ff","signature":"8fc6f464550b89ee260f708e7af0eef88fb520cf39cf86eebdc5adea1950e5ec"},{"version":"e9aaf653aa49307c7e2977114befb9354e46d5be0bbcdc06fe4f313e0c7f73c6","signature":"ba664c5ce070fb5a818f53f40ea1107cfa3163a000847723029106006fc2f9d4"},{"version":"fc2af440b25c2c494e5811650c240f17571242f9c296bca70305af6d862bd66d","signature":"65dadec4672dcfeac52baf18b409394d8b221262f2dfd088d4721789cd7495f5","affectsGlobalScope":true},{"version":"0d43bc86ab3f4d0ee16dd80604e053a484ff58cd5fb55c1cb761e44dfde98718","signature":"31b1936bc25f5184d594adabad011ca1f0357183284de7e3cf2b6bd0bd155afe"},{"version":"b153004042d2f8e06a1169b35dd3ae04d043f898be401925958ecb2c863f3f39","signature":"9bb29fab0483347d67fa1861099e3fba39b6f45ee88682da2740a215e73125f1"},{"version":"556ccd493ec36c7d7cb130d51be66e147b91cc1415be383d71da0f1e49f742a9","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"95aba78013d782537cc5e23868e736bec5d377b918990e28ed56110e3ae8b958","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b21e13ed07d0df176ae31d6b7f01f7b17d66dbeb489c0d31d00de2ca14883da","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f929f0b6b3421a2d34344b0f421f45aeb2c84ad365ebf29d04312023b3accc58","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"0904660ae854e6d41f6ff25356db1d654436c6305b0f0aa89d1532df0253486e","impliedFormat":1},{"version":"9cdfd0a77dd7eeed57e91d3f449274ea2470abdb7e167a2f146b1ea8de6224e0","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"e8aabbee5e7b9101b03bb4222607d57f38859b8115a8050a4eb91b4ee43a3a73","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"c0bb1b65757c72bbf8ddf7eaa532223bacf58041ff16c883e76f45506596e925","impliedFormat":1},{"version":"c8b85f7aed29f8f52b813f800611406b0bfe5cf3224d20a4bdda7c7f73ce368e","affectsGlobalScope":true,"impliedFormat":1},{"version":"145dcf25fd4967c610c53d93d7bc4dce8fbb1b6dd7935362472d4ae49363c7ba","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"9043daec15206650fa119bad6b8d70136021ea7d52673a71f79a87a42ee38d44","affectsGlobalScope":true,"impliedFormat":1},{"version":"d00e86e2e74089bf416b4c5cc433d88eb2e09dcef5e3c5b79ca04a36d8d8d6f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"65faec1b4bd63564aeec33eab9cacfaefd84ce2400f03903a71a1841fbce195f","impliedFormat":1},{"version":"b33b74b97952d9bf4fbd2951dcfbb5136656ddb310ce1c84518aaa77dbca9992","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"8d117798e5228c7fdff887f44851d07320739c5cc0d511afae8f250c51809a36","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"8e7c3bed5f19ade8f911677ddc83052e2283e25b0a8654cd89db9079d4b323c7","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"a1a3cbade20430dcb7f00fa23c2f020e827d5620c0d44213db1665c53231f1fc","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"69e0a41d620fb678a899c65e073413b452f4db321b858fe422ad93fd686cd49a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3585d6891e9ea18e07d0755a6d90d71331558ba5dc5561933553209f886db106","affectsGlobalScope":true,"impliedFormat":1},{"version":"86be71cbb0593468644932a6eb96d527cfa600cecfc0b698af5f52e51804451d","impliedFormat":1},{"version":"84dd6b0fd2505135692935599d6606f50a421389e8d4535194bcded307ee5cf2","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"db19ea066fdc5f97df3f769e582ae3000380ab7942e266654bdb1a4650d19eaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a034894bf28c220a331c7a0229d33564803abe2ac1b9a5feee91b6b9b6e88ea","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"6ab263df6465e2ed8f1d02922bae18bb5b407020767de021449a4c509859b22e","impliedFormat":1},{"version":"6805621d9f970cda51ab1516e051febe5f3ec0e45b371c7ad98ac2700d13d57c","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1}],"root":[[66,80]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[83,1],[81,2],[86,3],[82,1],[84,4],[85,1],[87,2],[141,5],[142,5],[143,6],[90,7],[144,8],[145,9],[146,10],[88,2],[147,11],[148,12],[149,13],[150,14],[151,15],[152,16],[153,16],[154,17],[155,18],[156,19],[157,20],[91,2],[89,2],[158,21],[159,22],[160,23],[194,24],[161,25],[162,2],[163,26],[164,27],[165,28],[166,29],[167,30],[168,31],[169,32],[170,33],[171,34],[172,34],[173,35],[174,2],[175,36],[176,37],[178,38],[177,39],[179,40],[180,41],[181,42],[182,43],[183,44],[184,45],[185,46],[186,47],[187,48],[188,49],[189,50],[190,51],[191,52],[92,2],[93,53],[94,2],[95,2],[137,54],[138,55],[139,2],[140,40],[192,56],[193,57],[196,58],[200,59],[197,2],[199,60],[198,2],[195,2],[63,2],[64,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[65,2],[57,2],[58,2],[60,2],[59,2],[1,2],[61,2],[62,2],[14,2],[13,2],[113,61],[125,62],[111,63],[126,64],[135,65],[102,66],[103,67],[101,68],[134,69],[129,70],[133,71],[105,72],[122,73],[104,74],[132,75],[99,76],[100,70],[106,77],[107,2],[112,78],[110,77],[97,79],[136,80],[127,81],[116,82],[115,77],[117,83],[120,84],[114,85],[118,86],[130,69],[108,87],[109,88],[121,89],[98,64],[124,90],[123,77],[119,91],[128,2],[96,2],[131,92],[74,93],[78,94],[76,95],[77,96],[80,97],[73,98],[79,99],[75,100],[66,2],[67,2],[68,101],[69,102],[72,103],[71,103],[70,2]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../src/types/conditions.ts","../src/types/effects.ts","../src/types/entities.ts","../src/types/registry.ts","../src/types/state.ts","../src/types/snapshot.ts","../src/types/save.ts","../src/localization/index.ts","../src/conditions/index.ts","../src/snapshot/index.ts","../src/effects/index.ts","../src/engine/index.ts","../src/devtools.ts","../src/parser/index.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/kleur/kleur.d.ts","../../../node_modules/@types/prompts/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts"],"fileIdsList":[[81,90,144,161,162],[90,144,161,162],[81,82,83,84,85,90,144,161,162],[81,83,90,144,161,162],[90,141,142,144,161,162],[90,143,144,161,162],[144,161,162],[90,144,149,161,162,179],[90,144,145,150,155,161,162,164,176,187],[90,144,145,146,155,161,162,164],[90,144,147,161,162,188],[90,144,148,149,156,161,162,165],[90,144,149,161,162,176,184],[90,144,150,152,155,161,162,164],[90,143,144,151,161,162],[90,144,152,153,161,162],[90,144,154,155,161,162],[90,143,144,155,161,162],[90,144,155,156,157,161,162,176,187],[90,144,155,156,157,161,162,171,176,179],[90,136,144,152,155,158,161,162,164,176,187],[90,144,155,156,158,159,161,162,164,176,184,187],[90,144,158,160,161,162,176,184,187],[88,89,90,91,92,93,94,95,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[90,144,155,161,162],[90,144,161,162,163,187],[90,144,152,155,161,162,164,176],[90,144,161,162,165],[90,144,161,162,166],[90,143,144,161,162,167],[90,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[90,144,161,162,169],[90,144,161,162,170],[90,144,155,161,162,171,172],[90,144,161,162,171,173,188,190],[90,144,156,161,162],[90,144,155,161,162,176,177,179],[90,144,161,162,178,179],[90,144,161,162,176,177],[90,144,161,162,179],[90,144,161,162,180],[90,141,144,161,162,176,181,187],[90,144,155,161,162,182,183],[90,144,161,162,182,183],[90,144,149,161,162,164,176,184],[90,144,161,162,185],[90,144,161,162,164,186],[90,144,158,161,162,170,187],[90,144,149,161,162,188],[90,144,161,162,176,189],[90,144,161,162,163,190],[90,144,161,162,191],[90,144,149,161,162],[90,136,144,161,162],[90,144,161,162,192],[90,136,144,155,157,161,162,167,176,179,187,189,190,192],[90,144,161,162,176,193],[90,144,161,162,176,194,195],[90,144,161,162,199],[90,144,161,162,197,198],[90,102,105,108,109,144,161,162,187],[90,105,144,161,162,176,187],[90,105,109,144,161,162,187],[90,144,161,162,176],[90,99,144,161,162],[90,103,144,161,162],[90,101,102,105,144,161,162,187],[90,144,161,162,164,184],[90,144,161,162,194],[90,99,144,161,162,194],[90,101,105,144,161,162,164,187],[90,96,97,98,100,104,144,155,161,162,176,187],[90,105,113,121,144,161,162],[90,97,103,144,161,162],[90,105,130,131,144,161,162],[90,97,100,105,144,161,162,179,187,194],[90,105,144,161,162],[90,101,105,144,161,162,187],[90,96,144,161,162],[90,99,100,101,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,144,161,162],[90,105,123,126,144,152,161,162],[90,105,113,114,115,144,161,162],[90,103,105,114,116,144,161,162],[90,104,144,161,162],[90,97,99,105,144,161,162],[90,105,109,114,116,144,161,162],[90,109,144,161,162],[90,103,105,108,144,161,162,187],[90,97,101,105,113,144,161,162],[90,105,123,144,161,162],[90,116,144,161,162],[90,99,105,130,144,161,162,179,192,194],[66,70,90,144,161,162],[77,90,144,161,162],[67,70,90,144,161,162],[68,69,70,71,72,74,75,76,90,144,161,162],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,90,144,161,162],[69,90,144,161,162],[66,67,68,90,144,161,162],[69,70,71,73,74,90,144,161,162],[66,67,90,144,161,162],[68,90,144,161,162],[70,90,144,161,162]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"67bb4d0aded224b0d55360947c824cac6a98609a236b486866ab1ed72f734a7d","signature":"b64bbbe5f2911a5d2063f75be35b0b8b4198f209c1dc96f9298331352dc58c94"},{"version":"8088bce389231a6c47e0d08afb46d0171f71486c5186e6e4b9d7e788692749a6","signature":"b6a0fe7b42301b5c3a41826fd9f966a4a55ddc86a01ee66bb75f3f34a7486834"},{"version":"9deaa4697ca491095e6516cb2e06e4b825266136c1cf581c0163281791350fb8","signature":"1aaafc49edb58782846fdc6b2242a6ddc56649d4967a9009f47b02936e6a0647"},{"version":"2cac873376f02c33588b47bbf2aabf3d82bb43d371b404fd23b396e09891c9ee","signature":"25f77fe0029116cb1c96af7beb8c6573633eb23cb7a0fdccef6aa9f47e8d9da5"},{"version":"6689c9debfa51fa620836c2f1ab6fd3c2676efed78b8ae5cd82aece1f2c43b71","signature":"944d0b5bcad42a6a308de7d9236ba30e2b21e0b321a9bd5e7e5f16062897723f"},{"version":"f00fec571078b92fb088eb179fef37713228ca78ed24a35daf80b7832bdbf710","signature":"adc61375a5de4ea796a6f2d8fa1cd29b9284875a59182b266f43ced2cee84f18"},{"version":"2e8df3e91ae3d3e70651dee6b7e4eeb905a9538eaf49887eceb99806042fc250","signature":"0c0a572898a4b515c2a2b6cdbff925c0612a1588f51217f93efca21770c076d1"},{"version":"c51b22605742514095096a96f66aeb4bc7789b78de1ccfc75ff9fbb8adac8cbc","signature":"5b2b5ef823a1530fc2b059f73fee28690856c89d65a28b3bd13ef9293d14848a"},{"version":"e63939b2e0312f8f239d87b15dca3cc91b1c83077cfbd30d977823a6a8dd8b93","signature":"6392e4d06eb2762faf7303aa41b92d23fd5ad66309f1c57f89ad1c6086ae8bc2"},{"version":"0991d37943a7510c40a53f34bebe08030ea80a41d910f20eccb5a3a370eac21e","signature":"66e9f207c03d41359bf33a048cda49fbe48b10fa29289d120eaa538456c85f28"},{"version":"6471e8043cd40ab97ed1f972524f2a13691d871e77d0916b8facaa9aedec64dc","signature":"8fc6f464550b89ee260f708e7af0eef88fb520cf39cf86eebdc5adea1950e5ec"},{"version":"f7ca759629eeac9318a5706de3b0176be119263b3dc3cc3f797b714f80301804","signature":"ba664c5ce070fb5a818f53f40ea1107cfa3163a000847723029106006fc2f9d4"},{"version":"fc2af440b25c2c494e5811650c240f17571242f9c296bca70305af6d862bd66d","signature":"65dadec4672dcfeac52baf18b409394d8b221262f2dfd088d4721789cd7495f5","affectsGlobalScope":true},{"version":"777c01e50103436632034505d7e4121d11dc7b347440386dbfaa6b4196b49d40","signature":"31b1936bc25f5184d594adabad011ca1f0357183284de7e3cf2b6bd0bd155afe"},{"version":"08d0128d8c6c563324113c73113951d66bb4554783ef96a5f56c1b2e5a1e7a63","signature":"b1a9954c9436524030fd205a53afbf192e5309a7634ddbf6a5ac8dfc80f64dd0"},{"version":"556ccd493ec36c7d7cb130d51be66e147b91cc1415be383d71da0f1e49f742a9","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"95aba78013d782537cc5e23868e736bec5d377b918990e28ed56110e3ae8b958","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b21e13ed07d0df176ae31d6b7f01f7b17d66dbeb489c0d31d00de2ca14883da","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f929f0b6b3421a2d34344b0f421f45aeb2c84ad365ebf29d04312023b3accc58","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"0904660ae854e6d41f6ff25356db1d654436c6305b0f0aa89d1532df0253486e","impliedFormat":1},{"version":"9cdfd0a77dd7eeed57e91d3f449274ea2470abdb7e167a2f146b1ea8de6224e0","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"e8aabbee5e7b9101b03bb4222607d57f38859b8115a8050a4eb91b4ee43a3a73","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"c0bb1b65757c72bbf8ddf7eaa532223bacf58041ff16c883e76f45506596e925","impliedFormat":1},{"version":"c8b85f7aed29f8f52b813f800611406b0bfe5cf3224d20a4bdda7c7f73ce368e","affectsGlobalScope":true,"impliedFormat":1},{"version":"145dcf25fd4967c610c53d93d7bc4dce8fbb1b6dd7935362472d4ae49363c7ba","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"9043daec15206650fa119bad6b8d70136021ea7d52673a71f79a87a42ee38d44","affectsGlobalScope":true,"impliedFormat":1},{"version":"d00e86e2e74089bf416b4c5cc433d88eb2e09dcef5e3c5b79ca04a36d8d8d6f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"65faec1b4bd63564aeec33eab9cacfaefd84ce2400f03903a71a1841fbce195f","impliedFormat":1},{"version":"b33b74b97952d9bf4fbd2951dcfbb5136656ddb310ce1c84518aaa77dbca9992","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"8d117798e5228c7fdff887f44851d07320739c5cc0d511afae8f250c51809a36","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"8e7c3bed5f19ade8f911677ddc83052e2283e25b0a8654cd89db9079d4b323c7","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"a1a3cbade20430dcb7f00fa23c2f020e827d5620c0d44213db1665c53231f1fc","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"69e0a41d620fb678a899c65e073413b452f4db321b858fe422ad93fd686cd49a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3585d6891e9ea18e07d0755a6d90d71331558ba5dc5561933553209f886db106","affectsGlobalScope":true,"impliedFormat":1},{"version":"86be71cbb0593468644932a6eb96d527cfa600cecfc0b698af5f52e51804451d","impliedFormat":1},{"version":"84dd6b0fd2505135692935599d6606f50a421389e8d4535194bcded307ee5cf2","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"db19ea066fdc5f97df3f769e582ae3000380ab7942e266654bdb1a4650d19eaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a034894bf28c220a331c7a0229d33564803abe2ac1b9a5feee91b6b9b6e88ea","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"6ab263df6465e2ed8f1d02922bae18bb5b407020767de021449a4c509859b22e","impliedFormat":1},{"version":"6805621d9f970cda51ab1516e051febe5f3ec0e45b371c7ad98ac2700d13d57c","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1}],"root":[[66,80]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[83,1],[81,2],[86,3],[82,1],[84,4],[85,1],[87,2],[141,5],[142,5],[143,6],[90,7],[144,8],[145,9],[146,10],[88,2],[147,11],[148,12],[149,13],[150,14],[151,15],[152,16],[153,16],[154,17],[155,18],[156,19],[157,20],[91,2],[89,2],[158,21],[159,22],[160,23],[194,24],[161,25],[162,2],[163,26],[164,27],[165,28],[166,29],[167,30],[168,31],[169,32],[170,33],[171,34],[172,34],[173,35],[174,2],[175,36],[176,37],[178,38],[177,39],[179,40],[180,41],[181,42],[182,43],[183,44],[184,45],[185,46],[186,47],[187,48],[188,49],[189,50],[190,51],[191,52],[92,2],[93,53],[94,2],[95,2],[137,54],[138,55],[139,2],[140,40],[192,56],[193,57],[196,58],[200,59],[197,2],[199,60],[198,2],[195,2],[63,2],[64,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[65,2],[57,2],[58,2],[60,2],[59,2],[1,2],[61,2],[62,2],[14,2],[13,2],[113,61],[125,62],[111,63],[126,64],[135,65],[102,66],[103,67],[101,68],[134,69],[129,70],[133,71],[105,72],[122,73],[104,74],[132,75],[99,76],[100,70],[106,77],[107,2],[112,78],[110,77],[97,79],[136,80],[127,81],[116,82],[115,77],[117,83],[120,84],[114,85],[118,86],[130,69],[108,87],[109,88],[121,89],[98,64],[124,90],[123,77],[119,91],[128,2],[96,2],[131,92],[74,93],[78,94],[76,95],[77,96],[80,97],[73,98],[79,99],[75,100],[66,2],[67,2],[68,101],[69,102],[72,103],[71,103],[70,2]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
@@ -147,9 +147,24 @@ export interface ItemAtCondition {
147
147
  /** Location ID to check */
148
148
  locationId: string;
149
149
  }
150
+ /**
151
+ * Roll a random integer and check if it meets a threshold.
152
+ * Example: roll 1 20 15 (roll 1-20, pass if >= 15)
153
+ *
154
+ * Used for silent pass/fail checks without storing the result.
155
+ */
156
+ export interface RollCondition {
157
+ type: 'roll';
158
+ /** Minimum value (inclusive) */
159
+ min: number;
160
+ /** Maximum value (inclusive) */
161
+ max: number;
162
+ /** Minimum result needed to pass (inclusive) */
163
+ threshold: number;
164
+ }
150
165
  /**
151
166
  * Union of all condition types.
152
167
  * This discriminated union allows authors to extend with custom conditions.
153
168
  */
154
- export type Condition = HasFlagCondition | NotFlagCondition | HasItemCondition | VariableEqualsCondition | VariableGreaterThanCondition | VariableLessThanCondition | AtLocationCondition | QuestAtStageCondition | CharacterAtCondition | CharacterInPartyCondition | RelationshipAboveCondition | RelationshipBelowCondition | TimeIsCondition | ItemAtCondition;
169
+ export type Condition = HasFlagCondition | NotFlagCondition | HasItemCondition | VariableEqualsCondition | VariableGreaterThanCondition | VariableLessThanCondition | AtLocationCondition | QuestAtStageCondition | CharacterAtCondition | CharacterInPartyCondition | RelationshipAboveCondition | RelationshipBelowCondition | TimeIsCondition | ItemAtCondition | RollCondition;
155
170
  //# sourceMappingURL=conditions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/types/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/types/conditions.ts"],"names":[],"mappings":"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"}
@@ -257,9 +257,22 @@ export interface ShowInterludeEffect {
257
257
  /** Interlude ID to display */
258
258
  interludeId: string;
259
259
  }
260
+ /**
261
+ * Roll a random integer and store it in a variable.
262
+ * Example: ROLL bluffRoll 1 20
263
+ */
264
+ export interface RollEffect {
265
+ type: 'roll';
266
+ /** Variable to store the result in */
267
+ variable: string;
268
+ /** Minimum value (inclusive) */
269
+ min: number;
270
+ /** Maximum value (inclusive) */
271
+ max: number;
272
+ }
260
273
  /**
261
274
  * Union of all effect types.
262
275
  * This discriminated union allows authors to extend with custom effects.
263
276
  */
264
- export type Effect = SetFlagEffect | ClearFlagEffect | SetVariableEffect | AddVariableEffect | AddItemEffect | RemoveItemEffect | MoveItemEffect | GoToLocationEffect | AdvanceTimeEffect | SetQuestStageEffect | AddJournalEntryEffect | StartDialogueEffect | EndDialogueEffect | SetCharacterLocationEffect | AddToPartyEffect | RemoveFromPartyEffect | SetRelationshipEffect | AddRelationshipEffect | SetCharacterStatEffect | AddCharacterStatEffect | SetMapEnabledEffect | PlayMusicEffect | PlaySoundEffect | NotifyEffect | PlayVideoEffect | ShowInterludeEffect;
277
+ export type Effect = SetFlagEffect | ClearFlagEffect | SetVariableEffect | AddVariableEffect | AddItemEffect | RemoveItemEffect | MoveItemEffect | GoToLocationEffect | AdvanceTimeEffect | SetQuestStageEffect | AddJournalEntryEffect | StartDialogueEffect | EndDialogueEffect | SetCharacterLocationEffect | AddToPartyEffect | RemoveFromPartyEffect | SetRelationshipEffect | AddRelationshipEffect | SetCharacterStatEffect | AddCharacterStatEffect | SetMapEnabledEffect | PlayMusicEffect | PlaySoundEffect | NotifyEffect | PlayVideoEffect | ShowInterludeEffect | RollEffect;
265
278
  //# sourceMappingURL=effects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/types/effects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/types/effects.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,8 @@ export interface Interlude {
205
205
  triggerLocation?: string;
206
206
  /** Conditions that must pass for auto-trigger (optional) */
207
207
  triggerConditions?: Condition[];
208
+ /** Effects applied to game state when the interlude triggers (e.g. setFlag to prevent repeat) */
209
+ effects?: Effect[];
208
210
  }
209
211
  /**
210
212
  * Game configuration that defines starting conditions.
@@ -1 +1 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,CAAC,EAAE,MAAM,CAAA;IACT,gCAAgC;IAChC,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,SAAS,EAAE,WAAW,EAAE,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,mDAAmD;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qDAAqD;IACrD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,sDAAsD;IACtD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iFAAiF;IACjF,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/D,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,MAAM,EAAE,UAAU,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;IAC/B,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,oBAAoB;IACpB,SAAS,EAAE;QACT,mBAAmB;QACnB,GAAG,EAAE,MAAM,CAAA;QACX,2BAA2B;QAC3B,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,yBAAyB;IACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IAC/C,6CAA6C;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doodle-engine/core",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "type": "module",
5
5
  "main": "./dist/core.cjs",
6
6
  "module": "./dist/core.js",