diff --git a/Pathfinder-Neceros/pathfinder-neceros.html b/Pathfinder-Neceros/pathfinder-neceros.html index bf6a8cb2fe..42d5bd76d9 100644 --- a/Pathfinder-Neceros/pathfinder-neceros.html +++ b/Pathfinder-Neceros/pathfinder-neceros.html @@ -26,7 +26,13 @@ New Features and Updates
    -
  1. Fixed damage dice incorrect on resize
  2. +
  3. Fixed linked attacks losing link when hit recalc
  4. +
  5. Fixed spell defensive casting bonus disappearing on recalc
  6. +
  7. Fixed dwarf encumbrance
  8. +
  9. Fixed speed penalties not stacking
  10. +
  11. Stopped rounding speed down to nearest 5 for single move when penalized
  12. +
  13. Linked attacks handle if linked spell, item, or ability deleted
  14. +
  15. Concentration misc bonus now adds to concentration roll
@@ -13736,7 +13742,7 @@ \ No newline at end of file +var n=["casterlevel","range","range_numeric","range_pick","targets","name"];return 1===parseInt(a.spellranges_migrated,10)?void t():void getSectionIDs("repeating_spells",function(a){var r=[];r=A.default.reduce(a,function(e,t){var a="repeating_spells_"+T.getRepeatingIDStr(t),r=A.default.map(n,function(e){return a+e});return e.concat(r)},[]),getAttrs(r,function(n){var r={};A.default.each(a,function(e){var t,a="repeating_spells_"+T.getRepeatingIDStr(e),i=parseInt(n[a+"casterlevel"],10)||1,l=n[a+"range_pick"],s=n[a+"range"]||"",o=n[a+"targets"]||"",c=(n[a+"name"],0),u=!1;l||s?l&&"blank"!==l||!s?u&&(c=E.findSpellRange(s,l,i)||0,r[a+"range_numeric"]=c,r[a+"range_pick"]=l):(t=E.parseSpellRangeText(s,o),l=t.dropdown,("number"===l||"perlevel"===l||t.useorig)&&(s=t.rangeText),c=E.findSpellRange(s,l,i)||0,r[a+"range"]=s,r[a+"range_numeric"]=c,r[a+"range_pick"]=l):(r[a+"range"]="",r[a+"range_numeric"]=0,r[a+"range_pick"]="blank")}),r.spellranges_migrated="1",A.default.size(r)>0?T.setWrapper(r,{silent:!0},e):t()})})})}function o(){getAttrs(["migrated_rolltemplateimages","header_image-pf_spell","header_image-pf_attack-melee","header_image-pf_attack-ranged","header_image-pf_attack-cmb","header_image-pf_defense"],function(e){var t=parseInt(e.migrated_rolltemplateimages,10)||0,a={};try{t||(a=A.default.chain(e).filter(function(e,t){return/\[default\]/.test(e)}).reduce(function(e,t,a){var n="";try{switch(a){case"header_image-pf_spell":"[default](http://imgur.com/9yjOsAD.png)"!==t&&(n="[default](http://imgur.com/9yjOsAD.png)");break;case"header_image-pf_attack-melee":"[default](http://i.imgur.com/AGq5VBG.png)"!==t&&(n="[default](http://i.imgur.com/AGq5VBG.png)");break;case"header_image-pf_attack-ranged":"[default](http://imgur.com/58j2e8P.png)"!==t&&(n="[default](http://imgur.com/58j2e8P.png)");break;case"header_image-pf_attack-cmb":"[default](http://imgur.com/RUJfMGe.png)"!==t&&(n="[default](http://imgur.com/RUJfMGe.png)");break;case"header_image-pf_defense":"[default](http://imgur.com/02fV6wh.png)"!==t&&(n="[default](http://imgur.com/02fV6wh.png)")}n&&(e[a]=n)}catch(e){I.default.error("migrateRollTemplateImages: inner error on "+a,e)}return e},{}).value())}catch(e){I.default.error("migrateRollTemplateImages outer error",e)}finally{A.default.size(a)>0&&(a.migrated_rolltemplateimages=1,T.setWrapper(a,P.default.silentParams))}})}function c(e,t,a,n){return e=e||"",a=a||"",e||t?(t+=n,a?e+=" "+a:n&&(e+=n>0?" + ":" - ",e+=String(Math.abs(n)))):n?(e=String(n),t=n):(e="",t=0),{macroText:e,macroVal:t}}function u(e,t,a,n,r,i){var l=A.default.once(function(){"function"==typeof e&&e()}),s=[a,n,i,t];r&&s.push(r),getAttrs(s,function(e){var s=0,o=0,u={},d={},p="";try{parseInt(e[t],10)||(s=parseInt(e[i],10)||0,o=parseInt(e[n],10)||0,r&&(p=e[r]),u=c(e[a],o,p,s),u.macroText&&u.macroText!==e[a]&&(d[a]=u.macroText,d[n]=u.macroVal),d[t]=1,d[i]="",r&&(d[r]=""))}catch(e){I.default.error("PFMigrate.migrateMoveIntIntoMacro:"+t,e)}finally{A.default.size(d)>0?T.setWrapper(d,P.default.silentParams,l):l()}})}function d(e){u(e,"migrated_hp_misc","HP-formula-macro-text","HP-formula-mod","","HP-misc")}function p(e){u(e,"migrated_maxskill_misc","Max-Skill-Ranks-Misc","Max-Skill-Ranks-mod","","Max-Skill-Ranks-Misc2")}function f(e,t){var a=A.default.once(function(){"function"==typeof e&&e()}),n=function(e){T.setWrapper({normal_macro_show:1,use_traits:0,use_racial_traits:0,"npc-compimport-show":0},P.default.silentParams,e)},r=function(e){var t=A.default.once(function(){"function"==typeof e&&e()});getAttrs(["HP-ability","HP-ability-mod","npc-type","CON-mod","CHA-mod","total-hp","level","bab","HP-formula-macro-text","HP-formula-mod","class-0-level","class-1-level","class-2-level","class-3-level","class-4-level","class-5-level","class-0-hp","class-1-hp","class-2-hp","class-3-hp","class-4-hp","class-5-hp","is_undead","npc-hd-misc","npc-hd-misc-mod","npc-hd","npc-hd-num","npc-hd2","npc-hd-num2","npc-bab"],function(e){var a=0,n=0,r="",i=0,l=0,s=0,o=0,u=0,d=0,p=0,f=0,m=0,_=0,g=0,b=0,h=0,y=0,v={},k=0,w=0,C=0,x={},S=0,D=0;try{if(u=parseInt(e["npc-hd-num"],10)||0,d=parseInt(e["npc-hd"],10)||0,u>0&&d>0&&(v.auto_calc_hp="1"),i=parseInt(e["npc-hd-num2"],10)||0,l=parseInt(e["npc-hd2"],10)||0,a=/undead/i.test(e["npc-type"])||parseInt(e.is_undead,10)||0,v.is_undead=a,h=parseInt(e.level,10)||0,y=parseInt(e.HP,10)||0,k=parseInt(e.bab,10)||0,w=parseInt(e["npc-bab"],10)||0,C=k+w,C!==k&&(v.bab=C),n=a?parseInt(e["CHA-mod"],10)||0:parseInt(e["HP-ability-mod"],10)||0,g=n*(h||u),r=a?"@{CHA-mod}":"@{CON-mod}",v["HP-ability"]=r,v["HP-ability-mod"]=n,S=parseInt(e["npc-hd-misc-mod"],10)||0,D=parseInt(e["HP-formula-mod"],10)||0,(S||e["HP-formula-macro-text"])&&(v["npc-hd-misc"]="",v["npc-hd-misc-mod"]=""),S&&(S-=g),x=c(e["HP-formula-macro-text"],D,e["npc-hd-misc"],S),x.macroText&&x.macroText!==e["HP-formula-macro-text"]&&(v["HP-formula-macro-text"]=x.macroText,v["HP-formula-mod"]=x.macroVal),p=E.getAvgHP(u,d),v["NPC-HP"]=p,i>0){for(_=0;_<6&&(f=parseInt(e["class-"+_+"-level"],10),b=parseInt(e["class-"+_+"-hp"],10),f||b);_++);_<6?(m=E.getAvgHP(i,l),v["class-"+_+"-hp"]=m,v["class-"+_+"-level"]=i,v["class-"+_+"-hd"]=l):(I.default.error("Cannot convert npc class hit dice, the class grid is full! class levels:"+i+", class hit die:"+l),i=0)}o=y+p+m,s=h+i+u,o!==y&&(v["total-hp"]=o),s!==h&&(v.level=s)}catch(e){I.default.error("PFMigrate.MigrateNPC",e)}finally{v.migrated_npc=1,A.default.size(v)>0?T.setWrapper(v,P.default.silentParams,t):t()}})},i=function(e){var t=function(){"function"==typeof e&&e()};getAttrs(["senses","vision","character-description"],function(e){var a="",n="",r="",i={};try{a=e.senses||"",n=e.vision||"",r=a&&n?a+", "+n:a||n,r&&(i.vision=r),a&&(i.senses="")}catch(e){I.default.error("migrateNPCSenses",e)}finally{A.default.size(i)>0?T.setWrapper(i,P.default.silentParams,t):t()}})};getAttrs(["migrated_npc","is_npc"],function(e){var t=0,l=0,s=A.default.after(3,a);try{t=parseInt(e.is_npc,10)||0,l=parseInt(e.migrated_npc,10)||0,t||(l?a():T.setWrapper({migrated_npc:1},P.default.silentParams,a)),l?a():(i(s),n(s),r(s))}catch(e){I.default.error("PFMigrate.migrateNPC",e),a()}})}function m(e){var t=function(){"function"==typeof e&&e()};getAttrs(["migrated_repeating_item_attributes"],function(e){var a=["weight","hp","hp_max"],n=["qty","qty_max"];return parseInt(e.migrated_repeating_item_attributes,10)?void t():void getSectionIDs("repeating_item",function(e){var r=[];return e&&A.default.size(e)>0?(r=A.default.reduce(e,function(e,t){var r="repeating_item_"+T.getRepeatingIDStr(t),i=[];return A.default.each(a,function(e){i.push(r+e)}),A.default.each(n,function(e){i.push(r+e)}),e.concat(i)},[]),void getAttrs(r,function(n){var r={};try{A.default.each(e,function(e){var t="repeating_item_"+T.getRepeatingIDStr(e);a.forEach(function(e){var a=parseInt(n[t+e],10)||0;n[t+e]&&0!==a&&(r[t+"item-"+e]=a,r[t+e]="")}),isNaN(parseInt(n[t+"qty"],10))&&(r[t+"qty"]=1),isNaN(parseInt(n[t+"qty_max"],10))&&(r[t+"qty_max"]=0)}),r.migrated_repeating_item_attributes="1"}catch(e){I.default.error("migrateRepeatingItemAttributes",e)}finally{A.default.size(r)>0?T.setWrapper(r,{},t):t()}})):void T.setWrapper({migrated_repeating_item_attributes:1},P.default.silentParams,t)})})}function _(e){var t=A.default.once(function(){"function"==typeof e&&e()}),a=A.default.after(5,function(){T.setWrapper({migrated_abilityflags109:1},P.default.silentParams,t)});getAttrs(["migrated_abilityflags109","uses_feats","uses_traits","use_racial_traits","use_class_features","use_npc-spell-like-abilities"],function(e){parseInt(e.migrated_abilityflags109,10)?t():(getSectionIDs("repeating_npc-spell-like-abilities",function(e){e&&A.default.size(e)>0?T.setWrapper({"use_npc-spell-like-abilities":1},P.default.silentParams,a):T.setWrapper({"use_npc-spell-like-abilities":0},P.default.silentParams,a)}),getSectionIDs("repeating_feat",function(e){e&&A.default.size(e)>0?T.setWrapper({use_feats:1},P.default.silentParams,a):T.setWrapper({use_feats:0},P.default.silentParams,a)}),getSectionIDs("repeating_class-ability",function(e){e&&A.default.size(e)>0?T.setWrapper({use_class_features:1},P.default.silentParams,a):T.setWrapper({use_class_features:0},P.default.silentParams,a)}),getSectionIDs("repeating_trait",function(e){e&&A.default.size(e)>0?T.setWrapper({use_traits:1},P.default.silentParams,a):T.setWrapper({use_traits:0},P.default.silentParams,a)}),getSectionIDs("repeating_racial-trait",function(e){e&&A.default.size(e)>0?T.setWrapper({use_racial_traits:1},P.default.silentParams,a):T.setWrapper({use_racial_traits:0},P.default.silentParams,a)}))})}function g(e,t){var a=A.default.once(function(){"function"==typeof e&&e()});t>1.18&&a(),getAttrs(["spellclass-0-spell-points-class","spellclass-0-spell-points-bonus","spellclass-0-spell-points-misc","spellclass-1-spell-points-class","spellclass-1-spell-points-bonus","spellclass-1-spell-points-misc","spellclass-2-spell-points-class","spellclass-2-spell-points-bonus","spellclass-2-spell-points-misc","use_spell_points"],function(e){var t=parseInt("spellclass-0-spell-points-class",10)||parseInt("spellclass-0-spell-points-bonus",10)||parseInt("spellclass-0-spell-points-misc",10)||parseInt("spellclass-1-spell-points-class",10)||parseInt("spellclass-1-spell-points-bonus",10)||parseInt("spellclass-1-spell-points-misc",10)||parseInt("spellclass-2-spell-points-class",10)||parseInt("spellclass-2-spell-points-bonus",10)||parseInt("spellclass-2-spell-points-misc",10);t&&!parseInt(e.use_spell_points,10)?T.setWrapper({uses_spell_points:1},P.default.silentParams,a):a()})}function b(e){var t=A.default.once(function(){"function"==typeof e&&e()});getAttrs(["migrated_whispers","PC-whisper","NPC-whisper"],function(e){var a={};try{parseInt(e.migrated_whispers,10)||((" "===e["PC-whisper"]||" "===e["PC-whisper"]||e["PC-whisper"]&&"/w gm"!==e["PC-whisper"])&&(a["PC-whisper"]=""),(" "===e["NPC-whisper"]||" "===e["NPC-whisper"]||e["NPC-whisper"]&&"/w gm"!==e["NPC-whisper"])&&(a["NPC-whisper"]=""))}catch(e){I.default.error("PFMigrate.migrateWhispers",e)}finally{A.default.size(a)?T.setWrapper(a,P.default.silentParams,t):t()}})}function h(e,t){getAttrs(["migrated_attack_bab_dropdowns","bab"],function(t){var a={},n=0;parseInt(t.migrated_attack_bab_dropdowns,10)?"function"==typeof e&&e():(n=parseInt(t.bab,10)||0,a.melee_bab="bab",a["melee_bab-mod"]=n,a.melee2_bab="bab",a["melee2_bab-mod"]=n,a.ranged_bab="bab",a["ranged_bab-mod"]=n,a.ranged2_bab="bab",a["ranged2_bab-mod"]=n,a.cmb_bab="bab",a["cmb_bab-mod"]=n,a.cmb2_bab="bab",a["cmb2_bab-mod"]=n,a.migrated_attack_bab_dropdowns=1,T.setWrapper(a,P.default.silentParams,e))})}function y(e,t){var a=A.default.once(function(){"function"==typeof e&&e()});f(function(){d(a)}),o(),_(),g(null,t),b()}function v(e){return e=e||{},e.classSkillsMigrated=1,e.spellranges_migrated=1,e["migrated_damage-multiplier"]=1,e.migrated_experience=1,e.migrated_spellflag=1,e.migrated_npc=1,e.migrated_worn_equipment=1,e.migrated_repeating_item_attributes=1,e.migrated_hp_misc=1,e.migrated_maxskill_misc=1,e.migrated_featurelists_defaults=1,e.migrated_attacklist_defaults111=1,e.migrated_itemlist_defaults=1,e.migrated_abilityflags109=1,e.migrated_whispers=1,e.migrated_linked_attacks=1,e.migrated_buffs_rangeddmg_abiilty=1,e.migrated_itemlist_newfields=1,e.migrate_fatigued_conditions=1,e.migrated_attack_bab_dropdowns=1,e.migrated_skill_dropdowns5=1,e}function k(e){var t=A.default.once(function(){"function"==typeof e&&e()});T.setWrapper(v(),P.default.silentParams,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.migrateRepeatingDamage=i,t.migrateMaxDexAndACP=l,t.migrateSpellRanges=s,t.migrateRollTemplateImages=o,t.addNumberToMacro=c,t.migrateMoveIntIntoMacro=u,t.migrateHPMisc=d,t.migrateMaxSkills=p,t.migrateNPC=f,t.migrateRepeatingItemAttributes=m,t.migrateAbilityListFlags=_,t.migrateSpellPointFlag=g,t.migrateWhisperDropdowns=b,t.migrateAttackDropdowns=h,t.migrateConfigFlags=y,t.getAllMigrateFlags=v,t.setAllMigrateFlags=k;var w=a(1),A=r(w),C=a(0),I=r(C),x=(a(4),a(3)),P=r(x),S=a(2),T=n(S),D=a(5),E=n(D)},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=1;return e&&(t=Number(String(e).replace(",",".")),t||(t=1)),t}function l(){getAttrs(["adv_macro_show","global_melee_macro_insert","global_ranged_macro_insert","global_cmb_macro_insert","global_attack_macro_insert","global_melee_damage_macro_insert","global_ranged_damage_macro_insert","global_cmb_damage_macro_insert","global_damage_macro_insert"],function(e){var t=parseInt(e.adv_macro_show,10)||0,a=j.default.reduce(e,function(e,t,a){return"adv_macro_show"!==a&&""!==t&&"0"!==t&&void 0!==t&&null!==t&&(e+=1),e},0);a&&!t&&K.setWrapper({adv_macro_show:1},Z.default.silentParams)})}function s(e,t){var a=function(){},n=K.getRepeatingIDStr(e),r="repeating_weapon_"+n,i=r+"attack-type";getAttrs([i],function(e){var t=Q.findAbilityInString(e[i]),n={};t?(t=t.replace("attk-",""),n[r+"attack-type_macro_insert"]=oe.attackGridFields[t].attackmacro,n[r+"damage-type_macro_insert"]=oe.attackGridFields[t].damagemacro):n[r+"attack-type_macro_insert"]="0",K.setWrapper(n,Z.default.silentParams,a)})}function o(e,t,a,n){var r=(t||0)-(a||0);0!==r&&getAttrs(["repeating_weapon_total-attack"],function(e){var t=parseInt(e["repeating_weapon_total-attack"],10)||0;t+=r,setAttrs({"repeating_weapon_total-attack":t},Z.default.silentParams,n)})}function c(e,t){var a=function(){le.resetOption(e,t)},n=K.getRepeatingIDStr(e),r="repeating_weapon_"+n+"attack-type",i="repeating_weapon_"+n+"enhance",l="repeating_weapon_"+n+"masterwork",s="repeating_weapon_"+n+"attack-type-mod",o="repeating_weapon_"+n+"proficiency",c="repeating_weapon_"+n+"attack-mod",u="repeating_weapon_"+n+"total-attack";getAttrs([i,l,r,s,o,c,u],function(e){var t=0,n=0,d=0,p=0,f=0,m=0,_="",g=0,b={};try{f=parseInt(e[c],10)||0,m=parseInt(e[u],10)||0,_=e[r],"dual"===_?g=f:(t=parseInt(e[i],10)||0,n=parseInt(e[l],10)||0,d=parseInt(e[s],10)||0,p=parseInt(e[o],10)||0,f=parseInt(e[c],10)||0,g=Math.max(t,n)+d+p+f),(g!==m||isNaN(m))&&(b[u]=g,K.setWrapper(b,Z.default.silentParams,a))}catch(e){X.default.error("PFAttacks.updateRepeatingWeaponAttack")}})}function u(e,t,a,n){var r=(t||0)-(a||0);0!==r&&getAttrs(["repeating_weapon_total-damage"],function(e){var t=parseInt(e["repeating_weapon_total-damage"],10)||0;t+=r,setAttrs({"repeating_weapon_total-damage":t},Z.default.silentParams,n)})}function d(e,t){getSectionIDs("repeating_weapon",function(t){j.default.each(t,function(t){ee.setRepeatingDropdownValue("weapon",t,"damage-ability","damage-ability-mod",function(t,a,n){n&&u(e,t,a)},!0)})})}function p(e,t){var a=function(){le.resetOption(e,t)},n=!1,r=K.getRepeatingIDStr(e),l="repeating_weapon_"+r+"damage-ability-max",s="repeating_weapon_"+r+"damage-ability-mod",o="repeating_weapon_"+r+"total-damage",c="repeating_weapon_"+r+"enhance",u="repeating_weapon_"+r+"damage-mod",d="repeating_weapon_"+r+"damage_ability_mult",p="repeating_weapon_"+r+"attack-type",f="repeating_weapon_"+r+"isranged";t&&t.sourceAttribute.toLowerCase().indexOf("buff_dmg_range")>=0&&(n=!0),getAttrs([l,s,"buff_DMG-total","buff_dmg_melee-total","buff_dmg_ranged-total","buff_dmg_melee2-total","buff_dmg_ranged2-total","condition-Sickened",f,o,p,c,u,d],function(e){var t,n,r,f,m,_,g,b,h,y,v=0,k=0,w=0,A={},C=0,I=0;w=/range/i.test(e[p]),w||(C=/melee/i.test(e[p])),I=/2/.test(e[p]),n=parseInt(e[s],10)||0,r=1,_=parseInt(e["condition-Sickened"],10)||0,m=parseInt(e[o],10),b=parseInt(e[u],10)||0,h=parseInt(e[c],10)||0,w?(v=parseInt(e["buff_dmg_ranged-total"],10)||0,I&&(g=parseInt(e["buff_dmg_ranged2-total"],10)||0,v+=g)):C?(v=parseInt(e["buff_dmg_melee-total"],10)||0,I&&(g=parseInt(e["buff_dmg_melee2-total"],10)||0,v+=g)):v=0,k=parseInt(e["buff_DMG-total"],10)||0,v+=k,r=i(e[d])||1,v-=_,t=parseInt(e[l],10),w&&!isNaN(t)||(t=999),f=Math.floor(Math.min(r*n,t)),y=f+v+b+h,(y!==m||isNaN(m))&&(A[o]=y),j.default.size(A)&&K.setWrapper(A,Z.default.silentParams,a)})}function f(e,t,a,n){var r=K.getRepeatingIDStr(e),i="repeating_weapon_"+r+"crit_conf_mod",l="repeating_weapon_"+r+"crit_confirm",s="repeating_weapon_"+r+"attack-type",o=0,c="",u="",d=0,p=0;try{a=a||{},o=t[l]||0,(n||"0"!==t[s]&&"dual"!==t[s])&&(c=t[s].replace("attk-",""),(n||oe.attackGridFields[c])&&(u=oe.attackGridFields[c].crit),(n||u)&&(d=t[u]||0)),p=o+d,p!==(t[i]||0)&&(a[i]=p)}catch(t){X.default.error("updateRepeatingWeaponCrit: error updating crit for id "+e,t)}finally{return a}}function m(e,t){var a=K.getRepeatingIDStr(e),n="repeating_weapon_"+a+"crit_conf_mod",r="repeating_weapon_"+a+"crit_confirm",i="repeating_weapon_"+a+"attack-type",l=["attk_ranged_crit_conf","attk_ranged2_crit_conf","attk_melee_crit_conf","attk_melee2_crit_conf","attk_cmb_crit_conf","attk_cmb2_crit_conf",n,r,i];getAttrs(l,function(t){var a={};try{t=j.default.mapObject(t,function(e,t){return/attack\-type$/i.test(t)||/damage\-ability$/i.test(t)||/damage\-ability\-max$/i.test(t)||/damage_ability_mult$/i.test(t)?e:parseInt(e,10)||0}),f(e,t,a)}catch(t){X.default.error("updateRepeatingWeaponCritAsync: error updating crit for id "+e,t)}finally{j.default.size(a)&&K.setWrapper(a,Z.default.silentParams)}})}function _(e,t){var a=oe.attackGridFields[e]?oe.attackGridFields[e].crit:"";return a?void getSectionIDs("repeating_weapon",function(t){var n=[a];!t||j.default.size(t)<1||(j.default.each(t,function(e){var t=K.getRepeatingIDStr(e);n.push("repeating_weapon_"+t+"crit_conf_mod"),n.push("repeating_weapon_"+t+"crit_confirm"),n.push("repeating_weapon_"+t+"attack-type")}),getAttrs(n,function(n){var r=(parseInt(n[a],10)||0,{});try{n=j.default.mapObject(n,function(e,t){return/attack\-type$/i.test(t)||/damage\-ability$/i.test(t)||/damage\-ability\-max$/i.test(t)||/damage_ability_mult$/i.test(t)?e:parseInt(e,10)||0}),j.default.each(t,function(t){var a=K.getRepeatingIDStr(t),i="repeating_weapon_"+a+"attack-type";n[i]==="attk-"+e&&f(t,n,r,!0)})}catch(e){X.default.error("updateRepeatingWeaponsFromCritAsync: error",e)}finally{j.default.size(r)>0&&K.setWrapper(r,Z.default.silentParams)}}))}):void X.default.error("updateRepeatingWeaponsFromCritAsync: Invalid attack type")}function g(e){var t=K.getRepeatingIDStr(e),a="repeating_weapon_"+t,n=a+"attack-type",r=a+"isranged";getAttrs([n,r],function(e){var t={},a=0;/ranged/i.test(e[n])&&(a=1),(parseInt(e[r],10)||0)!==a&&(t[r]=a,K.setWrapper(t,Z.default.silentParams))})}function b(e,t){var a="repeating_weapon_"+K.getRepeatingIDStr(e),n=t[a+"damage-ability"],r=0,l=0,s=0,o=1,c=0,u=0,d=999,p=t["condition-Sickened"],f=t["buff_dmg_melee-total"]||0,m=t["buff_dmg_ranged-total"]||0,_=t["buff_DMG-total"]||0,g=0,b=0,h={};try{"dual"===n?0!==c&&(h[a+"total-damage"]=0):(r=parseInt(t[a+"isranged"],10)||0,l=parseInt(t[a+"enhance"],10)||0,s=parseInt(t[a+"damage-ability-mod"],10)||0,c=parseInt(t[a+"total-damage"],10),u=parseInt(t[a+"damage-mod"],10)||0,t[a+"attack-type"].indexOf("2")>=0&&(m+=parseInt(t["buff_dmg_ranged2-total"],10)||0,f+=parseInt(t["buff_dmg_melee2-total"],10)||0),r?(_+=m,d=parseInt(t[a+"damage-ability-max"],10),isNaN(d)&&(d=999)):_+=f,o=i(t[a+"damage_ability_mult"]),_-=p,g=Math.floor(Math.min(o*s,d)),b=g+_+u+l,(b!==c||isNaN(c))&&(h[a+"total-damage"]=b))}catch(t){X.default.error("PFAttacks.recalculateAttack for id "+e,t)}finally{return h}}function h(e,t,a){var n=j.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_weapon",function(e){var t;t=K.cartesianAppend(["repeating_weapon_"],e,be),t.push("buff_DMG-total"),t.push("buff_dmg_melee-total"),t.push("buff_dmg_ranged-total"),t.push("buff_dmg_melee2-total"),t.push("buff_dmg_ranged2-total"),t.push("condition-Sickened"),getAttrs(t,function(t){var a;t["buff_DMG-total"]=parseInt(t["buff_DMG-total"],10)||0,t["buff_dmg_ranged-total"]=parseInt(t["buff_dmg_ranged-total"],10)||0,t["buff_dmg_melee-total"]=parseInt(t["buff_dmg_melee-total"],10)||0,t["condition-Sickened"]=parseInt(t["condition-Sickened"],10)||0,a=j.default.reduce(e,function(e,a){var n=b(a,t);return j.default.extend(e,n),e},{}),j.default.size(a)?K.setWrapper(a,{},n):n()})})}function y(e){var t=j.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_weapon",function(e){var a,n=[];return 0==j.default.size(e)?void t():(a=j.default.after(j.default.size(e),function(){t()}),n=j.default.map(e,function(e){return["repeating_weapon_"+e+"_source-item","repeating_weapon_"+e+"_source-spell","repeating_weapon_"+e+"_source-ability"]}),n=j.default.flatten(n),void getAttrs(n,function(t){e=j.default.map(e,function(e){return e.toLowerCase()}),getSectionIDs("repeating_spells",function(n){n=j.default.map(n,function(e){return e.toLowerCase()}),getSectionIDs("repeating_item",function(r){r=j.default.map(r,function(e){return e.toLowerCase()}),getSectionIDs("repeating_ability",function(i){var l={};i=j.default.map(i,function(e){return e.toLowerCase()}),X.default.debug("################","Checking linked attacks. attack links, spellids, itemids, abilityids",t,n,r,i),j.default.each(e,function(e){t["repeating_weapon_"+e+"_source-item"]?(X.default.debug("checking "+e+" for item:"+t["repeating_weapon_"+e+"_source-item"]),"DELETED"!==t["repeating_weapon_"+e+"_source-item"]&&(X.default.debug("lpoking for "+t["repeating_weapon_"+e+"_source-item"]+" in item list"),j.default.size(r>0)&&j.default.contains(r,t["repeating_weapon_"+e+"_source-item"])?ue.createAttackEntryFromRow(t["repeating_weapon_"+e+"_source-item"],a,!0,null,e):X.default.warn("weapon "+e+" item link is not found:"+t["repeating_weapon_"+e+"_source-item"]))):t["repeating_weapon_"+e+"_source-spell"]?(X.default.debug("checking "+e+" for spell:"+t["repeating_weapon_"+e+"_source-spell"]),"DELETED"!==t["repeating_weapon_"+e+"_source-spell"]&&(X.default.debug("lpoking for "+t["repeating_weapon_"+e+"_source-spell"]+" in spell list"),j.default.size(n>0)&&j.default.contains(n,t["repeating_weapon_"+e+"_source-spell"])?pe.createAttackEntryFromRow(t["repeating_weapon_"+e+"_source-spell"],a,!0,null,e):X.default.warn("weapon "+e+" spell link is not found:"+t["repeating_weapon_"+e+"_source-spell"]))):t["repeating_weapon_"+e+"_source-ability"]?(X.default.debug("checking "+e+" for ability:"+t["repeating_weapon_"+e+"_source-ability"]),"DELETED"!==t["repeating_weapon_"+e+"_source-ability"]&&(X.default.debug("lpoking for "+t["repeating_weapon_"+e+"_source-ability"]+" in ability list"),j.default.size(i>0)&&j.default.contains(i,t["repeating_weapon_"+e+"_source-ability"])?me.createAttackEntryFromRow(t["repeating_weapon_"+e+"_source-ability"],a,!0,null,e):X.default.warn("weapon "+e+" ability link is not found:"+t["repeating_weapon_"+e+"_source-ability"]))):(X.default.debug("nothing linked to "+e),a())}),j.default.size(l)>0&&K.setWrapper(l,Z.default.silentParams)})})})}))})}function v(e,t,a){var n,r="repeating_weapon_"+e+"_",l=t[r+"isranged"]||0,s=t[r+"enhance"]||0,o=t[r+"masterwork"]||0,c=t[r+"attack-type-mod"]||0,u=t[r+"proficiency"]||0,d=t[r+"attack-mod"]||0,p=t[r+"total-attack"],m=t[r+"damage-ability-mod"]||0,_=1,g=t[r+"total-damage"],b=t[r+"damage-mod"]||0,h=t[r+"damage-ability-max"],y=t[r+"crit_conf_mod"]||0,v=t[r+"crit_confirm"]||0,k=t[r+"attack-type"],w=t["buff_DMG-total"]||0,A="",C="",I=0,x=0,P=0,S=0,T=0;try{n=a||{},k&&"dual"!==k&&"0"!==k?/range/i.test(k)?l||(l=1,n[r+"isranged"]=1):l&&(n[r+"isranged"]=0):l&&(n[r+"isranged"]=0,l=0),_=i(t[r+"damage_ability_mult"]),l?(w+=t["buff_dmg_ranged-total"]||0,k.indexOf("2")>=0&&(w+=t["buff_dmg_ranged2-total"]||0)):(w+=t["buff_dmg_melee-total"]||0,k.indexOf("2")>=0&&(w+=t["buff_dmg_melee2-total"]||0)),w-=t["condition-Sickened"]||0,T=Math.max(s,o)+c+u+d,(T!==p||isNaN(p))&&(n[r+"total-attack"]=T),h=parseInt(h,10),l&&!isNaN(h)||(h=999),P=Math.min(Math.floor(_*m),h),S=P+w+b+s,X.default.debug("###########################","getRecalculatedAttack attackType:"+k+", ability:"+t["repeating_weapon_"+e+"_damage-ability"]+" mod:"+t["repeating_weapon_"+e+"_damage-ability-mod"]+", isranged:"+l+", damageBuffs:"+w+", maxability:"+h+", abilityMult:"+_+", abilitydmg:"+m+", ability dmg tot:"+P+", new total:"+S+", old total:"+g,"###########################"),(S!==g||isNaN(g))&&(n[r+"total-damage"]=S),k&&"dual"!==k&&"0"!==k&&(A=k.replace("attk-",""),A&&(C=oe.attackGridFields[A].crit,I=C?t[C]:0,t[r+"attack-type_macro_insert"]!==oe.attackGridFields[A].attackmacro&&(n[r+"attack-type_macro_insert"]=oe.attackGridFields[A].attackmacro),t[r+"damage-type_macro_insert"]!==oe.attackGridFields[A].damagemacro&&(n[r+"damage-type_macro_insert"]=oe.attackGridFields[A].damagemacro))),f(e,t,n),x=v+I,x!==y&&(n[r+"crit_conf_mod"]=x),A||("0"!==t[r+"attack-type_macro_insert"]&&(n[r+"attack-type_macro_insert"]="0"),"0"!==t[r+"damage-type_macro_insert"]&&(n[r+"damage-type_macro_insert"]="0"))}catch(t){X.default.error("PFAttacks.getRecalculatedAttack for id "+e,t)}finally{return n}}function k(e,t,a,n,r){return r||(r="repeating_weapon_"+K.getRepeatingIDStr(e)),n&&parseInt(t[r+"size_affects"],10)||(a[r+"default_damage-dice-num"]=t[r+"damage-dice-num"]||0,a[r+"default_damage-die"]=t[r+"damage-die"]||0),a}function w(e,t){var a=K.getRepeatingIDStr(e),n="repeating_weapon_"+a;getAttrs(["modify_dmg_by_size",n+"size_affects",n+"damage-dice-num",n+"damage-die"],function(t){var a={},r=0;(parseInt(t.modify_dmg_by_size,10)||parseInt(t[n+"size_affects"],10))&&(r=1),k(e,t,a,r,n),j.default.size(a)&&K.setWrapper(a,Z.default.silentParams)})}function A(){getAttrs(["modify_dmg_by_size"],function(e){getSectionIDs("repeating_weapons",function(e){var t,a={};j.default.size(e)&&(t=K.cartesianAppend(["repeating_weapon_"],e,["_damage-dice-num","_damage-die","_size_affects"]),t.push("modify_dmg_by_size"),getAttrs(t,function(t){var n=0;j.default.each(e,function(e){var r=n&&parseInt(t["repeating_weapon_"+e+"_size_affects"],10)||0;k(e,t,a,r)}),j.default.size(a)&&K.setWrapper(a,Z.default.silentParams)}))})})}function C(e,t,a,n,r){var i=0,l=0,s=0,o=0,c=0,u=0,d=0,p=0,f=0,m={};try{r||(r="repeating_weapon_"+K.getRepeatingIDStr(e)),d=parseInt(a[r+"not_default_size"],10)||0,parseInt(a[r+"size_affects"],10)?(i=parseInt(a[r+"damage-dice-num"],10)||0,o=parseInt(a[r+"damage-die"],10)||0,0!==i&&0!==o?(p=parseInt(a.default_char_size,10),u=parseInt(a[r+"default_size"],10),l=parseInt(a[r+"default_damage-dice-num"],10)||0,c=parseInt(a[r+"default_damage-die"],10)||0,isNaN(u)&&(u=p,n[r+"default_size"]=u),isNaN(p)&&(p=t),0!==l&&0!==c||(l=i,c=o,n[r+"default_damage-dice-num"]=l,n[r+"default_damage-die"]=c),t!==p&&(d||(n[r+"not_default_size"]=1),f=ge.getSizeLevelChange(t,p)),u!==p&&(d||(n[r+"not_default_size"]=1),s=ge.getSizeLevelChange(u,p)),f+=s,f?(m=ge.updateDamageDice(f,p,l,c),i===m.dice&&o===m.die||(n[r+"damage-dice-num"]=m.dice,n[r+"damage-die"]=m.die)):(d&&(n[r+"not_default_size"]=0),i===l&&o===c||(n[r+"damage-dice-num"]=l,n[r+"damage-die"]=c))):n[r+"size_affects"]=0):0!==i&&0!==o&&(n[r+"damage-dice-num"]=a[r+"default_damage-dice-num"],n[r+"damage-die"]=a[r+"default_damage-die"],d&&(n[r+"not_default_size"]=0))}catch(e){X.default.error("PFAttacks.adjustDamageDice",e)}finally{return n}}function I(e,t){var a=K.getRepeatingIDStr(e),n="repeating_weapon_"+a;getAttrs(["modify_dmg_by_size","size","default_char_size",n+"default_size",n+"size_affects",n+"default_damage-dice-num",n+"default_damage-die",n+"not_default_size",n+"damage-dice-num",n+"damage-die"],function(t){var a={},r=0;try{parseInt(t.modify_dmg_by_size,10)&&(r=parseInt(t.size,10)||0,C(e,r,t,a,n))}finally{j.default.size(a)&&K.setWrapper(a)}})}function x(e,t){var a=j.default.once(function(){"function"==typeof e&&e()});getAttrs(["modify_dmg_by_size","size","default_char_size"],function(e){var t=0;parseInt(e.modify_dmg_by_size,10)&&(t=parseInt(e.size,10)||0,getSectionIDs("repeating_weapon",function(n){var r;j.default.size(n)&&(r=K.cartesianAppend(["repeating_weapon_"],n,ye),getAttrs(r,function(r){var i={};r.default_char_size=parseInt(e.default_char_size,10)||0,j.default.each(n,function(e){K.getRepeatingIDStr(e);C(e,t,r,i)}),j.default.size(i)&&K.setWrapper(i,Z.default.silentParams,a)}))}))})}function P(e,t,a,n,r){var i=K.getRepeatingIDStr(e),l="repeating_weapon_"+i;return r?C(e,t,a,n,l):k(e,a,n,r,l),n}function S(e,t,a,n){var r=1,i=1,l=2,s="",o="{{attackREPLACEITER=[[ 1d20cs>[[ @{repeating_weapon_REPLACEHAND_crit-target} ]] + [[ @{repeating_weapon_REPLACEHAND_attack_macro} ]] + @{iterative_attackREPLACEITER_value} ]]}} {{damageREPLACEITER=[[ @{repeating_weapon_REPLACEHAND_damage-dice-num}d@{repeating_weapon_REPLACEHAND_damage-die} + @{repeating_weapon_REPLACEHAND_damage_macro} ]]}} {{crit_confirmREPLACEITER=[[ 1d20 + [[ @{repeating_weapon_REPLACEHAND_attack_macro} ]] + @{iterative_attackREPLACEITER_value} + @{repeating_weapon_REPLACEHAND_crit_conf_mod} ]]}} {{crit_damageREPLACEITER=[[ [[ @{repeating_weapon_REPLACEHAND_damage-dice-num} * [[ @{repeating_weapon_REPLACEHAND_crit-multiplier} - 1 ]] ]]d@{repeating_weapon_REPLACEHAND_damage-die} + ((@{repeating_weapon_REPLACEHAND_damage_macro}) * [[ @{repeating_weapon_REPLACEHAND_crit-multiplier} - 1 ]]) ]]}} {{precision_dmgREPLACEITER1=@{repeating_weapon_REPLACEHAND_precision_dmg_macro}}} {{critical_dmgREPLACEITER1=@{repeating_weapon_REPLACEHAND_critical_dmg_macro}}} {{precision_dmgREPLACEITER2=@{global_precision_dmg_macro}}} {{critical_dmgREPLACEITER2=@{global_critical_dmg_macro}}} {{attackREPLACEITERname=@{iterative_attackREPLACEITER_name}}} ",c="{{attackREPLACEITER=[[ 1d20cs>[[ @{repeating_weapon_REPLACEHAND_crit-target} ]] + [[ @{repeating_weapon_REPLACEHAND_attack_macro} ]] + @{iterative_attackREPLACEITER_value} ]]}} {{damageREPLACEITER=[[ @{repeating_weapon_REPLACEHAND_damage-dice-num}d@{repeating_weapon_REPLACEHAND_damage-die} + @{repeating_weapon_REPLACEHAND_damage_macro} REPLACEMULT ]]}} {{crit_confirmREPLACEITER=[[ 1d20 + [[ @{repeating_weapon_REPLACEHAND_attack_macro} ]] + @{iterative_attackREPLACEITER_value} + @{repeating_weapon_REPLACEHAND_crit_conf_mod} ]]}} {{crit_damageREPLACEITER=[[ [[ @{repeating_weapon_REPLACEHAND_damage-dice-num} * [[ @{repeating_weapon_REPLACEHAND_crit-multiplier} - 1 ]] ]]d@{repeating_weapon_REPLACEHAND_damage-die} + ((@{repeating_weapon_REPLACEHAND_damage_macro} REPLACEMULT ) * [[ @{repeating_weapon_REPLACEHAND_crit-multiplier} - 1 ]]) ]]}} {{precision_dmgREPLACEITER1=@{repeating_weapon_REPLACEHAND_precision_dmg_macro}}} {{critical_dmgREPLACEITER1=@{repeating_weapon_REPLACEHAND_critical_dmg_macro}}} {{precision_dmgREPLACEITER2=@{global_precision_dmg_macro}}} {{critical_dmgREPLACEITER2=@{global_critical_dmg_macro}}} {{attackREPLACEITERname=@{iterative_attackREPLACEITER_name}}} ",u="- [[ ceil(@{repeating_weapon_REPLACEHAND_damage-ability-mod}/2) ]] ",d=0,p="",f=[],m=0,_=0,g=0,b=0,h="",y="",v="";try{for(X.default.debug("PFAttacks.setDualWieldVals",e),t=t||{},a||(a=generateRowID()),h="repeating_weapon_"+a+"_",n&&(p=e["macro-text"],X.default.debug("currmacro is ",p),p&&(X.default.debug("about to call gettracking"),f=ae.getTracking(p),0===j.default.size(f)&&(p=e["NPC-macro-text"],p&&(f=ae.getTracking(p))))),g=e.offhand_improved,y=K.getTranslated("dual-wield"),y||(y="Dual Wield"),t[h+"dualwield"]=1,t[h+"source-main"]=e.mainhand_id,t[h+"source-off"]=e.offhand_id,t[h+"group"]=y,n||(t[h+"group"]=y,t[h+"source-main-name"]=e.mainhand_name||"",t[h+"source-off-name"]=e.offhand_name||"",t[h+"name"]=y+" "+(e.mainhand_name||"")+"/"+(e.offhand_name||""),t[h+"iterative_attack1_name"]=e.mainhand_name+" [[@{repeating_weapon_"+e.mainhand_id+"_total-attack} + "+e.mainhand_penalty+"]]"),t[h+"link_type"]=ke.weapon,t[h+"size_affects"]=0,t[h+"attack-type"]="dual",t[h+"attack-type-mod"]=0,t[h+"damage-ability"]="dual",t[h+"damage-ability-mod"]=0,t[h+"damage"]="0",t[h+"damage-mod"]=0,i=1,t[h+"damage"]="0",t[h+"damage-mod"]=0,s="&{template:pf_attack} @{toggle_attack_accessible} @{toggle_rounded_flag} {{header_image=@{header_image-pf_attack-dual}}} {{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=@{name}}} {{attack=[[ 1d20cs>[[ @{repeating_weapon_"+e.mainhand_id+"_crit-target} ]] + [[@{repeating_weapon_"+e.mainhand_id+"_attack_macro} ]] + @{attack-mod} ]]}} {{damage=[[@{repeating_weapon_"+e.mainhand_id+"_damage-dice-num}d@{repeating_weapon_"+e.mainhand_id+"_damage-die} + @{repeating_weapon_"+e.mainhand_id+"_damage_macro} ]]}} {{crit_confirm=[[ 1d20 + [[ @{repeating_weapon_"+e.mainhand_id+"_attack_macro} ]] + @{attack-mod} ]]}} {{crit_damage=[[ [[ @{repeating_weapon_"+e.mainhand_id+"_damage-dice-num} * (@{repeating_weapon_"+e.mainhand_id+"_crit-multiplier} - 1) ]]d@{repeating_weapon_"+e.mainhand_id+"_damage-die} + ((@{repeating_weapon_"+e.mainhand_id+"_damage_macro} ) * [[ @{repeating_weapon_"+e.mainhand_id+"_crit-multiplier} - 1 ]]) ]]}} {{precision_dmg1=@{repeating_weapon_"+e.mainhand_id+"_precision_dmg_macro}}} {{precision_dmg1_type=@{repeating_weapon_"+e.mainhand_id+"_precision_dmg_type}}} {{critical_dmg1=@{repeating_weapon_"+e.mainhand_id+"_critical_dmg_macro}}} {{critical_dmg1_type=@{repeating_weapon_"+e.mainhand_id+"_critical_dmg_type}}} {{weapon_notes=@{repeating_weapon_"+e.mainhand_id+"_notes}@{repeating_weapon_"+e.offhand_id+"_notes}}} {{vs=@{repeating_weapon_"+e.mainhand_id+"_vs}}} {{vs@{repeating_weapon_"+e.mainhand_id+"_vs}=@{repeating_weapon_"+e.mainhand_id+"_vs}}} {{precision_dmg2=@{global_precision_dmg_macro}}} {{precision_dmg2_type=@{global_precision_dmg_type}}} {{critical_dmg2=@{global_critical_dmg_macro}}} {{critical_dmg2_type=@{global_critical_dmg_type}}} {{dual_precision_dmg=@{precision_dmg_macro}}} {{dual_precision_dmg_type=@{precision_dmg_type}}} @{iterative_attacks} @{macro_options} {{attack1name=@{iterative_attack1_name}}}", +j.default.size(f)&&(p=" "+f.join(" "),s+=p),t[h+"macro-text"]=s,t[h+"NPC-macro-text"]=s,t[h+"attack"]=e.mainhand_penalty,t[h+"attack-mod"]=e.mainhand_penalty,t[h+"total-attack"]=e.mainhand_penalty,r=Math.floor(e.bab/5)+1,l=r+e.offhand_improved,i=2,_=m;i<=l;)y="",0===g||i%2===1?(m-=5,y=o.replace(/REPLACEHAND/g,e.mainhand_id),d=m+e.mainhand_penalty,t[h+"iterative_attack"+i+"_name"]=e.mainhand_name+" [[ @{repeating_weapon_"+e.mainhand_id+"_total-attack} - "+Math.abs(m)+" - "+Math.abs(e.mainhand_penalty)+" ]]"):(y=c.replace(/REPLACEHAND/g,e.offhand_id),.5===e.offhand_mult?(v=u.replace(/REPLACEHAND/g,e.offhand_id),y=y.replace(/REPLACEMULT/g,v)):y=y.replace(/REPLACEMULT/g,""),d=b+e.offhand_penalty,t[h+"iterative_attack"+i+"_name"]=e.offhand_name+" [[@{repeating_weapon_"+e.offhand_id+"_total-attack} - "+Math.abs(b)+" - "+Math.abs(e.offhand_penalty)+"]]",b-=5,g--),y=y.replace(/REPLACEITER/g,i),t[h+"iterative_attack"+i+"_value"]=d,t[h+"var_iterative_attack"+i+"_macro"]=y,t[h+"toggle_iterative_attack"+i]="@{var_iterative_attack"+i+"_macro}",i++;i<=8&&(y=o.replace(/REPLACEHAND/g,e.mainhand_id),y=y.replace(/REPLACEITER/g,i),d=_+e.mainhand_penalty,t[h+"iterative_attack"+i+"_name"]="Extra full BAB MH attack",t[h+"iterative_attack"+i+"_value"]=d,t[h+"var_iterative_attack"+i+"_macro"]=y)}catch(e){X.default.error("PFAttacks.setDualWieldVals outererr",e)}finally{return t}}function T(e,t){var a=j.default.once(function(){"function"==typeof e&&e()}),n=j.default.once(function(){t?K.setWrapper({update_twoweapon_attack:0},Z.default.silentParams,a):a()});getAttrs(["update_twoweapon_attack","mainhand_penalty","offhand_penalty","offhand_improved","bab","offhand_str_mult"],function(e){return t&&!parseInt(e.update_twoweapon_attack,10)?void a():void getSectionIDs("repeating_weapon",function(t){var a,r=0,i=0,l=0,s=0,o=0;return t&&0!==j.default.size(t)?(r=parseInt(e.mainhand_penalty,10)||0,i=parseInt(e.offhand_penalty,10)||0,l=parseInt(e.offhand_improved,10)||0,s=parseInt(e.bab,10)||0,o=parseFloat(e.offhand_str_mult)||.5,a=K.cartesianAppend(["repeating_weapon_"],t,["_source-main","_source-off","_link_type","_source-main-name","_source-off-name","_macro-text","_NPC-macro-text"]),void getAttrs(a,function(e){var a={};t&&j.default.size(t)&&t.forEach(function(t){var n="repeating_weapon_"+t+"_",c=parseInt(e[n+"link_type"],10),u={};try{c===ke.weapon&&(u.mainhand_id=e[n+"source-main"],u.offhand_id=e[n+"source-off"],u.mainhand_penalty=r,u.offhand_penalty=i,u.offhand_improved=l,u.bab=s,u.mainhand_name=e[n+"source-main-name"],u.offhand_name=e[n+"source-off-name"],u.offhand_mult=o,u["macro-text"]=e[n+"macro-text"],u["NPC-macro-text"]=e[n+"NPC-macro-text"],S(u,a,t,!0))}catch(e){}}),j.default.size(a)?K.setWrapper(a,Z.default.silentParams,n):n()})):void n()})})}function D(e){var t={},a={};try{X.default.debug("at createDualWield:",e),t.mainhand_id=e.mainhand_id,t.offhand_id=e.offhand_id,t.mainhand_penalty=parseInt(e.mainhand_penalty,10)||0,t.offhand_penalty=parseInt(e.offhand_penalty,10)||0,t.offhand_improved=parseInt(e.offhand_improved,10)||0,t.bab=parseInt(e.bab,10)||0,t.mainhand_name=e.mainhand_name,t.offhand_name=e.offhand_name,t.offhand_mult=parseFloat(e.offhand_str_mult)||.5,a=S(t,a)}catch(e){X.default.error("PFAttacks.createDualWield outererr",e)}finally{return a}}function E(e){var t=j.default.once(function(){"function"==typeof e&&e()}),a=function(e){e&&j.default.size(e)?(e.create_twoweapon_attack=0,e.mainhand_id="",e.offhand_id="",K.setWrapper(e,Z.default.silentParams,function(){oe.resetCommandMacro(),t()})):K.setWrapper({create_twoweapon_attack:0},Z.default.silentParams,t)};getAttrs(["create_twoweapon_attack","mainhand_id","mainhand_penalty","offhand_id","offhand_penalty","offhand_improved","bab","offhand_str_mult"],function(e){try{1===parseInt(e.create_twoweapon_attack,10)&&getSectionIDs("repeating_weapon",function(t){var n=[],r={};try{if(!t||0===j.default.size(t))return void a();j.default.contains(t,e.mainhand_id)&&j.default.contains(t,e.offhand_id)?getAttrs(["repeating_weapon_"+e.mainhand_id+"_name","repeating_weapon_"+e.offhand_id+"_name"],function(t){e.mainhand_name=t["repeating_weapon_"+e.mainhand_id+"_name"],e.offhand_name=t["repeating_weapon_"+e.offhand_id+"_name"],X.default.debug("they are there! calling with ",e,t),r=D(e),a(r)}):(n=t.map(function(e){return"repeating_weapon_"+e+"_name"}),getAttrs(n,function(t){var n="",i="";j.default.each(t,function(t,a){X.default.debug("comparing "+e.mainhand_id+" to "+t+" of row "+a),t===e.mainhand_id?(n=K.getRowId(a),e.mainhand_name=t,e.mainhand_id=n):t===e.offhand_id&&(i=K.getRowId(a),e.offhand_name=t,e.offhand_id=i)}),n&&i&&(X.default.debug("calling createDualWield with :",e),r=D(e)),a(r)}))}catch(e){X.default.error("PFAttacks.createDualWieldAsync ierr",e),a()}})}catch(e){X.default.error("PFAttack.createDualWieldAsync outererror",e),a()}})}function M(e,t){var a,n,r=function(){"function"==typeof t&&t()};return e&&0!==j.default.size(e)?(a=j.default.after(j.default.size(e),r),n=K.cartesianAppend(["repeating_weapon_"],e,he),n=n.concat(K.cartesianAppend(["repeating_weapon_"],e,ye)),n=n.concat(ve),void getAttrs(n,function(t){var a,n=0;t=j.default.mapObject(t,function(e,t){return/attack\-type$/i.test(t)||/damage\-ability$/i.test(t)||/damage\-ability\-max$/i.test(t)||/damage_ability_mult$/i.test(t)?e:parseInt(e,10)||0}),a=j.default.reduce(e,function(e,a){var r={},i=0;try{n&&t["repeating_weapon_"+a+"_size_affects"]&&(i=1),"dual"!==t["repeating_weapon_"+a+"_attack-type"]&&(r=v(a,t),P(a,t.size,t,r,i),j.default.extend(e,r))}catch(e){X.default.error("PFAttacks.recalcOtherFields erri",e)}finally{return e}},{}),j.default.size(a)?K.setWrapper(a,{},r):r()})):void r()}function F(e,t){var a,n=j.default.once(function(){"function"==typeof t&&t()}),r=j.default.after(j.default.size(e),n);a=j.default.chain(e).map(function(e){var t="repeating_weapon_"+e+"_";return[t+"damage",t+"attack",t+"damage-mod",t+"attack-mod"]}).flatten().value(),getAttrs(a,function(t){try{j.default.each(e,function(e){var a=j.default.after(4,r),n="repeating_weapon_"+e+"_";t[n+"damage"]&&"0"!==t[n+"damage"]&&"+0"!==t[n+"damage"]||0!==parseInt(t[n+"damage-mod"],10)?K.evaluateAndSetNumber(n+"damage",n+"damage-mod",0,a,!0):a(),t[n+"attack"]&&"0"!==t[n+"attack"]&&"+0"!==t[n+"attack"]||0!==parseInt(t[n+"attack-mod"],10)?K.evaluateAndSetNumber(n+"attack",n+"attack-mod",0,a,!0):a(),K.setDropdownValue(n+"attack-type",n+"attack-type-mod",null,a,!0),K.setDropdownValue(n+"damage-ability",n+"damage-ability-mod",null,a,!0)})}catch(e){X.default.error("recalcEquationFields",e),n()}})}function R(e){var t=function(e){var t="repeating_weapon_"+e+"_";K.setDropdownValue(t+"attack-type",t+"attack-type-mod",null,function(){c(e)},!0)};getSectionIDs("repeating_weapon",function(e){e&&0!==j.default.size(e)&&j.default.each(e,function(e){t(e)})})}function N(e,t){F([e],function(){M([e],t)})}function L(e){var t=j.default.once(function(){"function"==typeof e&&e()}),a=function(){T(e)};getSectionIDs("repeating_weapon",function(e){return e&&0!==j.default.size(e)?void F(e,function(){M(e,a)}):void t()})}function z(e,t,a){var n=j.default.once(function(){"function"==typeof e&&e()}),r="",i="";switch(t){case ke.ability:r="source-ability";break;case ke.equipment:r="source-item";break;case ke.spell:r="source-spell";break;case ke.weapon:r="source-main",i="source-off";break;default:return void n()}getSectionIDs("repeating_weapon",function(e){var t,l;return e&&0!==j.default.size(e)?(l=["_"+r,"_"+r+"-name"],i&&(l.push("_"+i),l.push("_"+i+"-name"),l.push("_name")),t=K.cartesianAppend(["repeating_weapon"],e,l),void getAttrs(t,function(t){var l={};e.forEach(function(e){var n="repeating_weapon_"+e+"_";t[n+r]===a&&(l[n+"link_type"]=0,l[n+r]="",l[n+r+"-name"]="",i&&(l[n+i]="",l[n+i+"-name"]="",l[n+"name"]="UNLINKED "+t[n+"name"]))}),j.default.size(l)?K.setWrapper(l,Z.default.silentParams,n):n()})):void n()})}function O(e,t,a){var n,r;try{a=a||{},r=parseInt(t.size,10)||0,n=j.default.reduce(e,function(e,a){var n="repeating_weapon_"+a+"_";try{e[n+"default_size"]=r,t[n+"damage-dice-num"]?e[n+"default_damage-dice-num"]=t[n+"damage-dice-num"]:(e[n+"default_damage-dice-num"]=0,e[n+"damage-dice-num"]=0),t[n+"damage-die"]?e[n+"default_damage-die"]=t[n+"damage-die"]:(e[n+"default_damage-die"]=0,e[n+"damage-die"]=0)}catch(e){X.default.error("PFAttacks.setNewDefaultsSync errin id "+a,e)}finally{return e}},{}),j.default.extend(a,n)}catch(e){X.default.error("PFAttacks.getNewDefaults errout ",e)}finally{return a}}function W(e){var t=j.default.once(function(){"function"==typeof e&&e()}),a=j.default.once(function(){K.setWrapper({migrated_attacklist_defaults111:1},Z.default.silentParams,t)});getAttrs(["migrated_attacklist_defaults111"],function(e){var n=parseInt(e.migrated_attacklist_defaults111,10)||0;return n?void t():void getSectionIDs("repeating_weapon",function(e){var n;return e||j.default.size(e)?(n=K.cartesianAppend(["repeating_weapon_"],e,["_damage-dice-num","_damage-die"]),n.push("size"),void getAttrs(n,function(n){var r={};try{r=O(e,n,r)}catch(e){X.default.error("PFAttacks.setNewDefaults errout ",e)}finally{j.default.size(r)?K.setWrapper(r,Z.default.silentParams,a):t()}})):void a()})})}function B(e,t){var a=j.default.once(function(){"function"==typeof e&&e()});return t<=0&&t>=1.5?void a():void getSectionIDs("repeating_weapon",function(e){var t;return e&&0!==j.default.size(e)?(t=K.cartesianAppend(["repeating_weapon_"],e,["_source-item","_source-spell","_source-ability","_source-main","_source-off","_source-spell-name","_source-ability-name"]),t.push("migrated_linked_attacks"),void getAttrs(t,function(t){var n={};return parseInt(t.migrated_linked_attacks,10)?void a():(e.forEach(function(e){var a=0;t["repeating_weapon_"+e+"_source-item"]?a=ke.equipment:t["repeating_weapon_"+e+"_source-spell"]?a=ke.spell:t["repeating_weapon_"+e+"_source-ability"]?(a=ke.ability,t["repeating_weapon_"+e+"_source-spell-name"]&&!t["repeating_weapon_"+e+"_source-ability-name"]&&(n["repeating_weapon_"+e+"_source-ability-name"]=t["repeating_weapon_"+e+"_source-spell-name"],n["repeating_weapon_"+e+"_source-spell-name"]="")):(t["repeating_weapon_"+e+"_source-main"]||t["repeating_weapon_"+e+"_source-off"])&&(a=ke.weapon),n["repeating_weapon_"+e+"_link_type"]=a}),n.migrated_linked_attacks=1,void(j.default.size(n)?K.setWrapper(n,Z.default.silentParams,a):a()))})):void a()})}function q(e,t){var a=j.default.once(function(){"function"==typeof e&&e()});getAttrs(["migrated_damage-multiplier"],function(e){var t=0,n=0;return t=parseInt(e["migrated_damage-multiplier"],10)||0,n=parseInt(e.migrated_attacklist_defaults111),t&&n?void a():void getSectionIDs("repeating_weapon",function(e){var n,r;try{if(!e||j.default.size(e)<=0)return void K.setWrapper({"migrated_damage-multiplier":1,migrated_attacklist_defaults111:1},Z.default.silentParams,a);r=function(){W(function(){B(a)})},n=function(){t?r():re.migrateRepeatingDamage(e,r)},n()}catch(e){X.default.error("PFAttacks.migrate",e),a()}finally{}})})}function H(){on("change:repeating_weapon:attack-type",X.default.callback(function(e){X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(ee.setRepeatingDropdownValue("weapon",null,"attack-type","attack-type-mod",function(t,a,n){n&&o(e,t,a)},!0),m(null,e),s(null,e),g(),p(null,e))})),on("change:repeating_weapon:attack",X.default.callback(function(e){X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),K.evaluateAndSetNumber("repeating_weapon_attack","repeating_weapon_attack-mod",0,function(t,a,n){n&&o(e,t,a)},!0)})),on("change:repeating_weapon:attack-type-mod change:repeating_weapon:attack-mod",X.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),c(null,e))})),on("change:repeating_weapon:masterwork change:repeating_weapon:proficiency",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),c(null,e))})),on("change:repeating_weapon:damage-ability",X.default.callback(function(e){X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||ee.setRepeatingDropdownValue("weapon",null,"damage-ability","damage-ability-mod")})),on("change:repeating_weapon:damage",X.default.callback(function(e){X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),K.evaluateAndSetNumber("repeating_weapon_damage","repeating_weapon_damage-mod",0,function(t,a,n){n&&u(e,t,a)},!0)})),on("change:repeating_weapon:damage_ability_mult",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),p(null,e))})),on("change:repeating_weapon:damage-ability-max",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),p(null,e))})),on("change:repeating_weapon:damage-ability-mod change:repeating_weapon:damage-mod",X.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),p(null,e))})),on("change:repeating_weapon:enhance",X.default.callback(function(e){X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(c(null,e),p())})),on("change:repeating_weapon:crit_confirm ",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),m(null,e))})),j.default.each(oe.attackGridFields,function(e,t){on("change:"+e.crit,X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),_(t,e))})),on("change:"+e.atk,X.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),X.default.debug("Yeah baby!"),R(e.sourceAttribute))}))}),on("change:repeating_weapon:default_damage-dice-num change:repeating_weapon:default_size change:repeating_weapon:default_damage-die change:repeating_weapon:size_affects",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),I())})),on("change:repeating_weapon:damage-dice-num change:repeating_weapon:damage-die",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),w())})),on("remove:repeating_weapon change:repeating_weapon:attack-type change:_reporder_repeating_weapon change:repeating_weapon:group change:repeating_weapon:name change:include_attack_totals",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),oe.resetCommandMacro())})),on("remove:repeating_weapon",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),z(null,ke.weapon,K.getRowId(e.sourceAttribute)))})),on("change:create_twoweapon_attack",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),E())})),on("change:update_twoweapon_attack",X.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(X.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),T(null,e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.linkedAttackType=t.updateCharAttrs=t.sizeFieldsLU=t.updateRowAttrsLU=t.damageRowAttrsLU=void 0,t.updateRepeatingWeaponAttackAsync=c,t.updateRepeatingWeaponAbilityDropdowns=d,t.updateRepeatingWeaponDamages=h,t.updateAssociatedAttacksFromParents=y,t.syncAllDefaultDamageDiceAsync=A,t.adjustAllDamageDiceAsync=x,t.setDualWieldVals=S,t.updateDualWieldAttacks=T,t.createDualWieldAsync=E,t.updateRepeatingAttacks=R,t.recalcRepeatingWeapon=N,t.recalculateRepeatingWeapons=L,t.removeLinkedAttack=z,t.setNewDefaultsAsync=W,t.migrateLinkedAttacks=B,t.migrate=q;var U=a(1),j=r(U),G=(a(4),a(0)),X=r(G),V=a(2),K=n(V),$=a(3),Z=r($),Y=a(5),Q=n(Y),J=a(9),ee=n(J),te=a(14),ae=n(te),ne=a(6),re=n(ne),ie=a(12),le=n(ie),se=a(8),oe=n(se),ce=a(30),ue=n(ce),de=a(18),pe=n(de),fe=a(24),me=n(fe),_e=a(15),ge=n(_e),be=t.damageRowAttrsLU=["_damage-ability-max","_damage-ability","_damage-ability-mod","_damage-mod","_damage_ability_mult","_enhance","_total-damage","_attack-type","_isranged"],he=t.updateRowAttrsLU=["_attack-mod","_attack-type","_attack-type-mod","_crit_conf_mod","_crit_confirm","_isranged","_masterwork","_proficiency","_total-attack","_attack-type_macro_insert","_damage-type_macro_insert"].concat(be),ye=t.sizeFieldsLU=["_default_damage-dice-num","_default_damage-die","_default_size","_not_default_size","_damage-dice-num","_damage-die","_size_affects"],ve=t.updateCharAttrs=["attk_ranged_crit_conf","attk_ranged2_crit_conf","attk_melee_crit_conf","attk_melee2_crit_conf","attk_cmb_crit_conf","attk_cmb2_crit_conf","buff_DMG-total","buff_dmg_melee-total","buff_dmg_ranged-total","buff_dmg_melee2-total","buff_dmg_ranged2-total","condition-Sickened","size","default_char_size","modify_dmg_by_size"],ke=t.linkedAttackType={equipment:1,spell:2,ability:3,weapon:4};t.recalculate=X.default.callback(function(e,t,a){var n=function(){X.default.info("leaving PFAttacks.recalculate"),"function"==typeof e&&e()};oe.recalculate(function(){q(function(){l(),L(),oe.resetCommandMacro(),le.recalculate(),y(),n()},a)},t,a)});H()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){var n=h.default.once(function(){"function"==typeof e&&e()});C.updateRowTotal(R,0,F,!1,n,t),getAttrs(["condition-Entangled","condition-Fatigued","condition-Exhausted","condition-Invisible","condition_attack_notes","condition-Grappled","condition-Pinned"],function(e){var t="",a={};parseInt(e["condition-Entangled"],10)?(t+="**"+C.getTranslated("entangled")+"**: ",t+=C.getTranslated("condition-nocharge-note")+"\r\n"):parseInt(e["condition-Fatigued"],10)?(t+="**"+C.getTranslated("fatigued")+"**: ",t+=C.getTranslated("condition-nocharge-note")+"\r\n"):parseInt(e["condition-Exhausted"],10)&&(t+="**"+C.getTranslated("exhausted")+"**: ",t+=C.getTranslated("condition-nocharge-note")+"\r\n"),parseInt(e["condition-Invisible"],10)&&(t+="**"+C.getTranslated("invisible")+"**: ",t+=C.getTranslated("condition-invisible-title")+"\r\n"),parseInt(e["condition-Grappled"],10)&&(t+="**"+C.getTranslated("grappled")+"**: ",t+=C.getTranslated("condition-grappled-cmb-note")+"\r\n"),t!==e.condition_attack_notes&&(a.condition_attack_notes=t,C.setWrapper(a,w.default.silentParams))})}function l(e,t,a){var n=0,r=0;try{a=a||{},n=t[E[e].atk],r=t[E[e].bab]+t["attk-penalty"]+t[E[e].abilityMod]+t[E[e].misc]+t[E[e].size]+t[E[e].buff]+t["buff_attack-total"],E[e].pen&&(r-=t[E[e].pen]),E[e].buff2&&(r+=t[E[e].buff2]),r!==n&&(a[E[e].atk]=r)}catch(e){v.default.error("PFAttackGrid.updateAttack",e)}finally{return a}}function s(e){var t=[];return E[e]&&(t=h.default.chain(E[e]).values().flatten().compact().uniq().reject(function(e){return e.indexOf("macro")>=0}).value().sort()),t.push("attk-penalty"),t.push("buff_attack-total"),t}function o(e){var t=[],a=[];return a=h.default.intersection(Object.keys(E),e),t=h.default.chain(a).map(function(e){return h.default.values(E[e])}).flatten().compact().uniq().reject(function(e){return e.indexOf("macro")>=0}).value().sort(),t.push("attk-penalty"),t.push("buff_attack-total"),t}function c(e,t,a){var n,r=h.default.once(function(){"function"==typeof t&&t()});E[e]?(n=s(e),n.push("attk-penalty"),n.push("buff_attack-total"),getAttrs(n,function(n){var r={},i={},s={};try{r=h.default.reduce(n,function(e,t,a){return e[a]=parseInt(t,10)||0,e},{}),i=l(e,r)}catch(t){v.default.error("PFAttackGrid.updateAttack for "+e,t)}finally{h.default.size(i)?(a&&(s=w.default.silentParams),C.setWrapper(i,s,t)):"function"==typeof t&&t()}})):(v.default.error("PFAttackGrid.updateAttack attack grid fields do not exist for: "+e),r())}function u(e,t,a,n){var r,i;try{a?(i=h.default.intersection(Object.keys(E),a),h.default.size(i)!==h.default.size(a)&&v.default.warn("Error in parameters, some of these are not valid attacks:",a)):(a=Object.keys(E),i=a),r=o(a)}catch(t){return v.default.error("PFAttackGrid.updateAttacks error creating list of fields for ",a,t),void("function"==typeof e&&e())}getAttrs(r,function(a){var n={},r={},s={};try{n=h.default.reduce(a,function(e,t,a){return e[a]=parseInt(t,10)||0,e},{}),r=h.default.reduce(i,function(e,t){return e=l(t,n,e)},{})}catch(e){v.default.error("PFAttackGrid.updateAttacks ",e)}finally{h.default.size(r)?(t&&(s=w.default.silentParams),v.default.debug("PFAttackGrid.updateAttacks setting",r),C.setWrapper(r,s,e)):"function"==typeof e&&e()}})}function d(e,t,a){switch(e.toLowerCase()){case"melee":u(null,a,["melee","melee2"]);break;case"ranged":u(null,a,["ranged","ranged2"]);break;case"cmb":u(null,a,["CMB","CMB2"]);break;case"melee2":c("melee2",null,a);break;case"ranged2":c("ranged2",null,a);break;case"cmb2":c("CMB2",null,a)}}function p(e,t,a){u(null,t,["melee","melee2","CMB","CMB2"])}function f(e){var t=h.default.after(2,function(){"function"==typeof e&&e()});D.resetOneCommandMacro("attacks",!1,t," @{attacks_header_macro}",N),D.resetOneCommandMacro("attacks",!0,t," @{NPC-attacks_header_macro}",N)}function m(e,t,a){var n,r="";a&&(r=a.sourceAttribute,n=[r],n=Object.keys(E).reduce(function(e,t){return e.push(t),e.push(E[t].babdd),e.push(E[t].bab),e},n),getAttrs(n,function(t){var a=0,n={},i={},l=0,s=0;a=parseInt(t[r],10)||0,l=1,s=1,Object.keys(E).filter(function(e){return(t[E[e].babdd]||"").toLowerCase()===r.toLowerCase()}).forEach(function(e){var r=0,l=0;r=parseInt(t[E[e].bab],10)||0,l=a-r,l&&(i[E[e].bab]=a,n[e]=(parseInt(t[e],10)||0)+l)}),h.default.size(i)&&C.setWrapper(i,w.default.silentParams),h.default.size(n)?C.setWrapper(n,{},e):"function"==typeof e&&e()}))}function _(e,t){S.migrateAttackDropdowns(e)}function g(){var e="";h.default.each(E,function(e,t){on("change:"+e.miscmacro,v.default.callback(function(t){v.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),C.evaluateAndAddToTotAsync(null,null,e.miscmacro,e.misc,e.atk)})),on("change:"+e.babdd,v.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||(v.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),C.setDropdownAndAddToTotAsync(e.babdd,e.bab,e.atk))})),on("change:"+e.bab+" change:"+e.abilityMod+" change:"+e.misc,v.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),c(t))}))}),on("change:attk-penalty",v.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),u(null,null,null,e))})),on("change:acp-attack-mod",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i()})),e="change:class-0-level change:class-1-level change:class-2-level change:class-3-level change:class-4-level change:class-5-level",on(e,v.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||m(null,null,e)})),on("change:bab",v.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||m(null,null,e)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.attackGridFields=void 0,t.applyConditions=i,t.updateAttack=l,t.updateAttackAsync=c,t.updateAttacks=u,t.updateAttackGrid=d,t.recalculateMelee=p,t.resetCommandMacro=f,t.migrate=_;var b=a(1),h=r(b),y=a(0),v=r(y),k=a(3),w=r(k),A=a(2),C=n(A),I=a(5),x=(n(I),a(9)),P=(n(x),a(6)),S=n(P),T=a(22),D=n(T),E=t.attackGridFields={melee:{size:"size",atk:"attk-melee",buff:"buff_Melee-total",buff2:"",pen:"condition-Prone",abilityMod:"melee-ability-mod",miscmacro:"attk-melee-misc",misc:"attk-melee-misc-mod",crit:"attk_melee_crit_conf",attackmacro:"@{toggle_global_melee_macro_insert}",damagemacro:"@{toggle_global_melee_damage_macro_insert}",babdd:"melee_bab",bab:"melee_bab-mod"},melee2:{size:"size",atk:"attk-melee2",buff:"buff_Melee-total",buff2:"buff_melee2-total",pen:"condition-Prone",abilityMod:"melee2-ability-mod",miscmacro:"attk-melee2-misc",misc:"attk-melee2-misc-mod",crit:"attk_melee2_crit_conf",attackmacro:"@{toggle_global_melee_macro_insert}",damagemacro:"@{toggle_global_melee_damage_macro_insert}",babdd:"melee2_bab",bab:"melee2_bab-mod"},ranged:{size:"size",atk:"attk-ranged",buff:"buff_Ranged-total",buff2:"",pen:"",abilityMod:"ranged-ability-mod",miscmacro:"attk-ranged-misc",misc:"attk-ranged-misc-mod",crit:"attk_ranged_crit_conf",attackmacro:"@{toggle_global_ranged_macro_insert}",damagemacro:"@{toggle_global_ranged_damage_macro_insert}",babdd:"ranged_bab",bab:"ranged_bab-mod"},ranged2:{size:"size",atk:"attk-ranged2",buff:"buff_Ranged-total",buff2:"buff_ranged2-total",pen:"",abilityMod:"ranged2-ability-mod",miscmacro:"attk-ranged2-misc",misc:"attk-ranged2-misc-mod",crit:"attk_ranged2_crit_conf",attackmacro:"@{toggle_global_ranged_macro_insert}",damagemacro:"@{toggle_global_ranged_damage_macro_insert}",babdd:"ranged2_bab",bab:"ranged2_bab-mod"},CMB:{size:"CMD-size",atk:"CMB",buff:"buff_CMB-total",buff2:"",pen:"",abilityMod:"CMB-ability-mod",miscmacro:"attk-CMB-misc",misc:"attk-CMB-misc-mod",crit:"attk_cmb_crit_conf",attackmacro:"@{toggle_global_cmb_macro_insert}",damagemacro:"@{toggle_global_cmb_damage_macro_insert}",babdd:"cmb_bab",bab:"cmb_bab-mod"},CMB2:{size:"CMD-size",atk:"CMB2",buff:"buff_CMB-total",buff2:"buff_cmb2-total",pen:"",abilityMod:"CMB2-ability-mod",miscmacro:"attk-CMB2-misc",misc:"attk-CMB2-misc-mod",crit:"attk_cmb2_crit_conf",attackmacro:"@{toggle_global_cmb_macro_insert}",damagemacro:"@{toggle_global_cmb_damage_macro_insert}",babdd:"cmb2_bab",bab:"cmb2_bab-mod"}},M=["acp-attack-mod","condition-Drained"],F=["condition-Dazzled","condition-Entangled","condition-Grappled","condition-Fear","condition-Sickened","condition-Wounds"],R=["attk-penalty"].concat(M),N={0:"none","@{attk-melee}":"melee","@{attk-melee2}":"melee","@{attk-ranged}":"ranged","@{attk-ranged2}":"ranged2","@{CMB}":"combat-maneuver-bonus-abbrv","@{CMB2}":"combat-maneuver-bonus-abbrv"};t.recalculate=v.default.callback(function(e,t,a){var n=function(){v.default.info("leaving PFAttackGrid.recalculate"),"function"==typeof e&&e()},r=h.default.once(function(){u(n,t)}),l=h.default.once(function(){i(r,t)});_(l,a)});g()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,n,r){var i=null;r&&(i=h.findAbilityInString),m.setDropdownValue(e,t,i,a,n)}function l(e,t,a,n,r,i,l){var s=m.getRepeatingIDStr(t),o="repeating_"+e+"_"+s,c=null;l&&(c=h.findAbilityInString),m.setDropdownValue(o+a,o+n,c,r,i)}function s(e){getSectionIDs("repeating_"+e,function(t){var a={};u.default.each(t,function(t){a["repeating_"+e+"_"+t+"_row_id"]=t}),m.setWrapper(a)})}function o(){u.default.each(g.default.repeatingSections,function(e){var t="change:repeating_"+e+":ids-show";on(t,p.default.callback(function(t){var a,n={};p.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||(a=m.getRowId(t.sourceAttribute),n["repeating_"+e+"_"+a+"_row_id"]=a,m.setWrapper(n,g.default.silentParams))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.setDropdownValue=i,t.setRepeatingDropdownValue=l,t.setRowIds=s,t.registerEventHandlers=o;var c=a(1),u=r(c),d=a(0),p=r(d),f=a(2),m=n(f),_=a(3),g=r(_),b=a(5),h=n(b);o()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=parseInt(e,10),a=0;return isNaN(t)?A.default.minusreg.test(e)?{base:"-",mod:0}:{base:10,mod:0}:(a=Math.floor((t-10)/2),{base:t,mod:a})}function l(e){var t=b.default.map(T,function(t){return e+t});return t.push(e),t=t.concat(b.default.map(D,function(t){return"buff_"+e+t})),t=t.concat(E)}function s(){var e=k.cartesianAppend(P,T);return e=e.concat(P),e=e.concat(k.cartesianAppend(["buff_"],P,D)),e=e.concat(E)}function o(e,t,a,n){return n=n||{},Object.keys(A.default.abilityScoreManualDropdowns).filter(function(t){return a[t]===e}).reduce(function(e,n){var r=parseInt(a[A.default.abilityScoreManualDropdowns[n]],10)||0;return t!==r&&(e[A.default.abilityScoreManualDropdowns[n]]=t),e},n)}function c(e,t,a,n){var r,i,l=b.default.once(function(){"function"==typeof e&&e()});Array.isArray(a)?r=a:a?(a=a.slice(0,3).toUpperCase()+"-mod",r=[a]):r=S,x.updateRepeatingWeaponAbilityDropdowns(null,null,a),i=r,i=i.concat(Object.keys(A.default.abilityScoreManualDropdowns)),i=i.concat(b.default.values(A.default.abilityScoreManualDropdowns)),getAttrs(i,function(e){var n,i=0,s={};n=r.reduce(function(t,n){var r;return i=i||parseInt(e[a],10)||0,r=o(a,i,e),b.default.extend(t,r),t},{}),b.default.size(n)?(t&&(s=A.default.silentParams),setAttrs(n,s,l)):l()})}function u(e,t,a,n){var r;return n=n||{},e=e.toUpperCase(),r=parseInt(a[e+"-base"],10)||10,r+=t,r=Math.max(r,1),n[e+"-base"]=r,r=parseInt(a[e],10)||10,r+=t,r=Math.max(r,1),n[e]=r,r=parseInt(a[e+"-mod"],10)||0,r+=Math.floor(t/2),r=Math.max(r,1),n[e+"-mod"]=r,n}function d(e,t,a){var n=0,r=0,i=0,l=0,s=0,o=0,c=0,u=0,d=0,p=0,f=0,m=0,_=0,g=0;try{if(a=a||{},n=parseInt(t[e+"-base"],10),isNaN(n)&&!A.default.minusreg.test(t[e+"-base"]))return a;m=parseInt(t[e+"-mod"],10),_=parseInt(t[e+"-modded"],10)||0,f=parseInt(t[e],10),isNaN(n)?(r="-",g=0,d=0):(u=parseInt(t["condition-Helpless"],10)||0,c=parseInt(t["condition-Paralyzed"],10)||0,"DEX"===e&&(u||c)?(r=0,g=-5,d=1):"STR"===e&&c?(r=0,g=-5,d=1):(r=n+(parseInt(t[e+"-enhance"],10)||0)+(parseInt(t[e+"-inherent"],10)||0)+(parseInt(t[e+"-misc"],10)||0)+(parseInt(t[e+"-drain"],10)||0)+(parseInt(t["buff_"+e+"-total"],10)||0),i=Math.abs(parseInt(t[e+"-damage"],10)||0),i>=r||r<=0?(r=0,g=-5,d=1):(l=Math.abs(parseInt(t[e+"-penalty"],10)||0)+Math.abs(parseInt(t["buff_"+e+"-total_penalty"],10)||0),o=Math.abs(parseInt(t[e+"-cond"],10)||0),p=i+l+o,p>=r?(r=f,g=-5,d=1):(0!==p&&(d=1),s=Math.floor(p/2),g=Math.max(-5,Math.floor((r-10)/2)-s))))),f!==r&&(a[e]=r),(m!==g||isNaN(m))&&(a[e+"-mod"]=g),d!==_&&(a[e+"-modded"]=d)}catch(t){y.default.error("updateAbilityScore:"+e,t)}finally{return a}}function p(e,t,a,n){var r=b.default.once(function(){"function"==typeof a&&a()}),i=l(e);getAttrs(i,function(t){var a={},i={};d(e,t,i),b.default.size(i)?(n&&(a=A.default.silentParams),k.setWrapper(i,a,r)):r()})}function f(e,t){var a=b.default.once(function(){"function"==typeof e&&e()}),n=s();getAttrs(n,function(e){var n={},r={};r=b.default.reduce(P,function(t,a){return d(a,e,t),t},{}),b.default.size(r)?(t&&(n=A.default.silentParams),k.setWrapper(r,n,a)):a()})}function m(e,t,a){getAttrs(["STR-cond","DEX-cond","condition-Helpless","condition-Paralyzed","condition-Exhausted","condition-Fatigued","condition-Entangled","condition-Grappled"],function(a){var n={},r={},i=0,l=0,s=0,o=0,c=0,u=0;try{s=parseInt(a.helpless,10)||0,o=parseInt(a.paralyzed,10)||0,o?(r.DEX=0,r["DEX-modded"]=1,n["DEX-mod"]=-5,r.STR=0,r["STR-modded"]=1,n["STR-mod"]=-5):s?(r.DEX=0,r["DEX-modded"]=1,n["DEX-mod"]=-5):(i=(parseInt(a["condition-Fatigued"],10)||0)+(parseInt(a["condition-Exhausted"],10)||0),l=i+(parseInt(a["condition-Entangled"],10)||0)+(parseInt(a["condition-Grappled"],10)||0),c=l*-2,u=i*-2,c!==(parseInt(a["DEX-cond"],10)||0)&&(n["DEX-cond"]=c), +u!==(parseInt(a["STR-cond"],10)||0)&&(n["STR-cond"]=u))}catch(e){y.default.error("PFAbilityScores.applyConditions",e)}finally{t?(b.default.extend(r,n),b.default.size(r)?setAttrs(r,A.default.silentParams,e):"function"==typeof e&&e()):b.default.size(n)?(b.default.size(r)&&setAttrs(r,A.default.silentParams),setAttrs(n,{},e)):b.default.size(r)?setAttrs(r,A.default.silentParams,e):"function"==typeof e&&e()}})}function _(){b.default.each(P,function(e){on(M.abilityEventsAuto.replace(/REPLACE/g,e),y.default.callback(function(t){"sheetworker"!==t.sourceType&&"api"!==t.sourceType||(y.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),p(e,t))})),on(M.abilityEventsPlayer.replace(/REPLACE/g,e),y.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||(y.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),p(e,t))}))}),on("change:condition-Helpless",y.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(y.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),p("DEX",e))})),S.forEach(function(e){on("change:"+e,y.default.callback(function(e){y.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||c(null,null,e.sourceAttribute)}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.migrate=t.abilitymods=t.abilities=void 0,t.getAbilityAndMod=i,t.getAttributes=l,t.getAllAttributes=s,t.modifyAbility=u,t.updateAbilityScore=p,t.updateAbilityScores=f,t.applyConditions=m;var g=a(1),b=r(g),h=a(0),y=r(h),v=(a(4),a(2)),k=n(v),w=a(3),A=r(w),C=a(5),I=(n(C),a(7)),x=n(I),P=t.abilities=["STR","DEX","CON","INT","WIS","CHA"],S=t.abilitymods=["STR-mod","DEX-mod","CON-mod","INT-mod","WIS-mod","CHA-mod"],T=["-base","-enhance","-inherent","-misc","-damage","-penalty","-drain","-mod","-cond","-modded"],D=["-total","-total_penalty"],E=["condition-Helpless","condition-Paralyzed"],M={abilityEventsAuto:"change:REPLACE-cond",abilityEventsPlayer:"change:REPLACE-base change:REPLACE-enhance change:REPLACE-inherent change:REPLACE-misc change:REPLACE-temp change:REPLACE-damage change:REPLACE-penalty change:REPLACE-drain"},F=t.migrate=y.default.callback(function(e,t){"function"==typeof e&&e()});t.recalculate=y.default.callback(function(e,t,a){var n=b.default.once(function(){y.default.info("leaving PFAbilityScores.recalculate"),"function"==typeof e&&e()}),r=b.default.once(function(){c(n,t)}),i=b.default.once(function(){f(r,t)});F(function(){m(i,t)},a)});_()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){return I.default.reduce(e,function(e,a){var n="Misc-Skill"===a?j:"Knowledge"===a?Q:U,r=E.cartesianAppend([a],n,t);return e.concat(r)},[])}function l(e,t){var a=I.default.once(function(){"function"==typeof t&&t()}),n=["total-skill","total-fcskill","INT-mod","level","Max-Skill-Ranks-mod","Max-Skill-Ranks","unchained_skills-show","BG-Skill-Use","npc-skill","npc-hd-num","class-0-skill","class-1-skill","class-2-skill","class-3-skill","class-4-skill","class-5-skill","class-0-level","class-1-level","class-2-level","class-3-level","class-4-level","class-5-level"];getAttrs(n,function(e){var t=parseInt(e["INT-mod"],10)||0,n=(parseInt(e["total-skill"],10)||0,parseInt(e.level,10)||0),r=parseInt(e["total-fcskill"],10)||0,i=parseInt(e["Max-Skill-Ranks-mod"],10)||0,l=parseInt(e["Max-Skill-Ranks"],10)||0,s=0,o=0,c=0,u=0,d=0,p=0,f={};try{for(1===parseInt(e["unchained_skills-show"],10)&&0===(parseInt(e["BG-Skill-Use"],10)||0)&&(p=1),s=0;s<6;s++)o=parseInt(e["class-"+s+"-level"],10)||0,o>0&&(u=(parseInt(e["class-"+s+"-skill"],10)||0)*o+t*o,u0?E.setWrapper(f,{silent:!0},a):a()}})}function s(e,t){var a="",n="",r=!1,i=!1,l=!1,s=!1,o=["BG-Skill-Use","unchained_skills-show"];try{e&&"function"==typeof t&&(n=e.slice(0,4).toLowerCase(),a=n.slice(0,3),"cs-"===a?l=!0:"arti"===n||"lore"===n?i=!0:r=!0,I.default.contains(me,e)&&(s=!0,o=o.concat([e+"-name",e+"-ranks"])),getAttrs(o,function(a){var n=!1,l=parseInt(a["BG-Skill-Use"],10)||0,o=parseInt(a["unchained_skills-show"],10)||0;(!s||a[e+"-name"]||(parseInt(a[e+"-ranks"],10)||0)>0)&&(r?o&&!l||(n=!0):i?o&&l&&(n=!0):o&&!l&&(n=!0)),t(n)}))}catch(e){P.default.error("PFSkills.verifyHasSkill",e),t(!1)}}function o(e,t,a){var n,r=0,i=(parseInt(t.enforce_requires_training,10)||0,e+"-cs"),l=e+"-ranks",s=e+"-ability",o=e+"-racial",c=e+"-trait",u=e+"-feat",d=e+"-item",p=e+"-misc-mod",f=e+"-ut",m=e+"-ReqTrain",_=0,g=0,b=parseInt(t[i],10)||0,h=parseInt(t[e],10),y=parseInt(t[l],10)||0,v=parseInt(t[m],10)||0,k=0,w=0,A="",C="",I=0,x=0,S=0;try{a=a||{},A=t[s],v&&0===y?"{{untrained=1}}"!==t[f]&&(a[f]="{{untrained=1}}"):"{{untrained=}}"!==t[f]&&(a[f]="{{untrained=}}"),y&&b&&(_+=3),"DEX-mod"!==A&&"STR-mod"!==A||(n=parseInt(t.acp,10)||0,_+=n,I=parseInt(t["Phys-skills-cond"],10)||0),A&&(C=A.slice(0,3).toUpperCase(),w+=parseInt(t["buff_"+C+"_skills-total"],10)||0),r="Stealth"===e||"CS-Stealth"===e?2:"Fly"===e?1:0,r&&(1===r?(n=parseInt(t.size_skill,10)||0,_+=n):2===r&&(n=parseInt(t.size_skill_double,10)||0,_+=n)),"Perception"!==e&&"CS-Perception"!==e||(x=parseInt(t["Perception-cond"],10)||0),S=(parseInt(t["checks-cond"],10)||0)+(parseInt(t["buff_Check-total"],10)||0)+(parseInt(t["buff_check_skills-total"],10)||0),g=k+I+x+S,_+=y+g+w+(parseInt(t[A],10)||0)+(parseInt(t[o],10)||0)+(parseInt(t[c],10)||0)+(parseInt(t[u],10)||0)+(parseInt(t[d],10)||0)+(parseInt(t[p],10)||0),h!==_&&(a[e]=_)}catch(e){P.default.error("PFSkills.setNewSkillVal",e)}finally{return a}}function c(e,t,a){var n=function(e,a){"function"==typeof t&&t(e,a)},r=be.map(function(t){return e+t});r=r.concat(ge),getAttrs(r,function(t){var a={},r=0;try{r=parseInt(t[e],10),a=o(e,t,a)}catch(e){P.default.error(e)}finally{I.default.size(a)>0?E.setWrapper(a,T.default.silentParams,function(){n(a[e],r)}):n(r,r)}})}function u(e){getAttrs([e,e+"-ranks",e+"-cs"],function(t){var a=0,n=0,r=0,i=0,l={};a=parseInt(t[e],10)||0,n=parseInt(t[e+"-cs"],10)||0,r=parseInt(t[e+"-ranks"],10)||0,r&&(i=n?a+3:a-3,l[e]=i,E.setWrapper(l))})}function d(e,t){var a=I.default.after(I.default.size(e),t);I.default.each(e,function(e){E.evaluateAndSetNumber(e+"-misc",e+"-misc-mod",0,function(){a()},!0)})}function p(e,t,a){var n,r=I.default.once(function(){"function"==typeof t&&t()});n=ge,I.default.each(e,function(e){var t=be.map(function(t){return e+t});n=n.concat(t)}),getAttrs(n,function(t){var a={};a=I.default.reduce(e,function(e,a){try{o(a,t,e)}catch(e){}finally{return e}},{}),I.default.size(a)?E.setWrapper(a,T.default.silentParams,r):r()})}function f(e,t,a){var n=I.default.once(function(){"function"==typeof t&&t()}),r=(I.default.size(e),function(){p(e,n,a)});d(e,r)}function m(e,t,a){var n=I.default.once(function(){"function"==typeof e&&e()});getAttrs(["unchained_skills-show","BG-Skill-Use"],function(e){try{parseInt(e["unchained_skills-show"],10)?parseInt(e["BG-Skill-Use"],10)?a?(p(K,null,t),p(ce,n,t)):(f(K,null,t),f(ce,n,t)):a?p(ue,n,t):f(ue,n,t):a?p(ce,n,t):f(ce,n,t)}catch(e){P.default.error("PFSKills.recalculate",e),n()}})}function _(e,t){P.default.notice("PFSkills updateallskills diff updating by "+e+", from "+t),getAttrs(_e,function(a){var n=e-t,r={};r=I.default.mapObject(a,function(e,t){return(parseInt(e,10)||0)+n}),P.default.debug("SPSkills.updateAllSkillsDiff setting",r),E.setWrapper(r,T.default.silentParams)})}function g(e,t,a,n){var r,i,l,s=function(){"function"==typeof a&&a()},o="";return e?o=e:t&&(o=t.sourceAttribute,o.indexOf("repeating_")>=0&&(o=E.getAttributeName(o))),o&&("physical"===o||"acp"===o?r=/STR\-mod|DEX\-mod/:(i=o.match(/str|dex|con|int|wis|cha/i),i&&(r=new RegExp(i[0].toUpperCase()+"-mod")))),r?(l=_e.map(function(e){return e+"-ability"}),void getAttrs(l,function(e){var t=[];t=I.default.reduce(e,function(e,t,a){return r.test(t)&&e.push(a.slice(0,-8)),e},[]),P.default.notice("PFSkills updateAbilityBasedSkills getting array:",t),I.default.size(t)?p(t,s,n):s()})):void s()}function b(e,t,a,n,r,l){var s=r?ie:re,o=r?"NPC-":"",c=function(e,t,a){var n="Misc-Skill"===e?j:"Knowledge"===e?Q:U,r=E.cartesianAppend([e],n),i=[];return"Knowledge"===e?i=r:(i=I.default.filter(r,function(e){return!!a[e+"-name"]}),t?I.default.filter(i,function(e){return 0===(parseInt(a[e+"-ReqTrain"],10)||0)||(parseInt(a[e+"-ranks"],10)||0)>0}):i)},u=function(e){var t=e?"+ @{REPLACE}":"",a="[^{REPLACENAME}"+t+"](~@{character_id}|"+o+"REPLACE-check) ";return s.replace("REPLACELOWER","knowledge")+"{{ "+I.default.reduce(se,function(e,t,n){return e+=a.replace(/REPLACENAME/g,t).replace(/REPLACE/g,oe[n])},"")+" }}"},d=function(e,t,a,n){var r=e.toLowerCase(),i=a?"+ @{REPLACE}":"",l=s.replace("REPLACELOWER",r),c="[REPLACENAME"+i+"](~@{character_id}|"+o+"REPLACE-check) ",d="";return"Knowledge"===e?u():(d=I.default.reduce(t,function(e,t,a){var r=n[t+"-name"];return r?(r=E.escapeForChatLinkButton(r),r=E.escapeForRollTemplate(r)):r="@{"+t+"-name}",e+=c.replace(/REPLACENAME/g,r).replace(/REPLACE/g,t)},""),d||(d="description = ^{no-skills-available}"),l+"{{ "+d+" }}")},p=e?V:G,f=i(p,["-name"]);t&&(f=f.concat(i(p,ae)),f=f.sort()),getAttrs(f,function(e){var a={},r="";I.default.each(p,function(r){var i=c(r,t,e),s=d(r,i,l,e);s=ne+s,n[o+r.toLowerCase()+"_skills-macro"]!==s&&(a[o+r.toLowerCase()+"_skills-macro"]=s)}),n[o+"knowledge_skills-macro"]&&(r=ne+u(l),n[o+"knowledge_skills-macro"]!==r&&(a[o+"knowledge_skills-macro"]=r)),I.default.size(a)>0&&E.setWrapper(a,T.default.silentParams)})}function h(e,t,a){return t?I.default.filter(e,function(e){return!!(/^Knowled|^Linguis|^Sleight/i.test(e.slice(0,7))||1!==(parseInt(a[e+"-ReqTrain"],10)||0)||(parseInt(a[e+"-ranks"],10)||0)>0)}):e}function y(e,t,a,n){var r=e.toLowerCase(),i=n?"NPC-":"",l=a?" + @{REPLACE}":"",s="{{name= ^{"+r+"} }} ",o="{{name= ^{npc} ^{"+r+"} }} ",c="[^{REPLACELOWER}"+l+"](~@{character_id}|"+i+"REPLACE-check) ",u="[^{REPLACELOWER}](~@{character_id}|"+i+"REPLACELOWERMAC_skills_buttons_macro) ",d=n?o:s,p="";try{p=I.default.reduce(t,function(e,t,a){var n=t.toLowerCase(),r=I.default.contains(Y,t)?u:c;return r=r.replace(/REPLACELOWERMAC/g,n),r=r.replace(/REPLACELOWER/g,n),r=r.replace(/REPLACE/g,t),e+=r+" "},""),p||(p="^{no-skills-available} ")}finally{return d+"{{ "+p+"}}"}}function v(e,t,a,n,r,i,l,s){var o=I.default.once(function(){"function"==typeof e&&e()}),c=a?"NPC-":"";getAttrs([c+"skills-macro",c+"background_skills-macro",c+"adventure_skills-macro",c+"artistry_skills-macro",c+"lore_skills-macro",c+"craft_skills-macro",c+"knowledge_skills-macro",c+"perform_skills-macro",c+"profession_skills-macro",c+"misc-skill_skills-macro"],function(e){var r={};l?getAttrs(E.cartesianAppend(ue,["-ReqTrain","-ranks"]),function(e){var t,a,r={};t=h(ue,s,e),a=y("skills",t,n),r[c+"consolidated_skills-macro"]=ne+a,E.setWrapper(r,T.default.silentParams,o)}):(b(i,s,t,e,a,n),getAttrs(E.cartesianAppend(O,ae),function(e){var t=[],l="",u=[];try{i?(t=h(W,s,e)||[],u=u.concat(t),t=t.concat(Y).sort(),l=ne+y("background-skills",t,n,a),e[c+"background_skills-macro"]!==l&&(r[c+"background_skills-macro"]=l),t=h(B,s,e)||[],u=u.concat(t),t=t.concat(["Knowledge","Misc-Skill"]).sort(),l=ne+y("adventure-skills",t,n,a),e[c+"adventure_skills-macro"]!==l&&(r[c+"adventure_skills-macro"]=l),u=u.concat(Y).sort()):(t=h(O,s,e)||[],u=u.concat(t).concat(Z).sort()),l=ne+y("skills",u,n,a),e[c+"skills-macro"]!==l&&(r[c+"skills-macro"]=l)}catch(e){P.default.error("PFSkills.resetOneCommandMacro errRT",e)}finally{I.default.size(r)>0?E.setWrapper(r,T.default.silentParams,o):o()}}))})}function k(e,t){var a=I.default.once(function(){"function"==typeof t&&t()});getAttrs(["BG-Skill-Use","unchained_skills-show","enforce_requires_training","is_npc","include_skill_totals"],function(t){var n=parseInt(t.is_npc,10)||0,r=parseInt(t.include_skill_totals,10)||0,i=parseInt(t["unchained_skills-show"],10)||0,l=i&&(parseInt(t["BG-Skill-Use"],10)||0),s=i&&!l,o=parseInt(t.enforce_requires_training,10)||0;v(a,e,n,r,i,l,s,o),n&&v(a,e,!1,r,i,l,s,o)})}function w(e,t){var a=I.default.once(function(){"function"==typeof e&&e()}),n=I.default.after(4,a),r=function(e,t){var a=I.default.once(function(){"function"==typeof e&&e()}),n=function(e){var t=e+"-cs";getAttrs([t],function(e){var a={};isNaN(parseInt(e[t],10))&&e[t]&&"0"!=e[t]&&(a[t]=3,E.setWrapper(a,T.default.silentParams))})},r=function(e){e.forEach(function(e){n(e)})},i=function(){r(_e),E.setWrapper({classSkillsMigrated:1},T.default.silentParams,a)};getAttrs(["classSkillsMigrated"],function(e){parseInt(e.classSkillsMigrated,10)||i(),a()})},i=function(e){getAttrs(["migrated_skill_speedup3"],function(t){var a;return parseInt(t.migrated_skill_speedup3,10)?void("function"==typeof e&&e()):(a=_e.map(function(e){return e+"-macro"}),void getAttrs(a,function(t){var a={};try{a=I.default.reduce(t,function(e,a,n){var r="";try{a.indexOf("@{buff_check_skills-total} + @{buff_Check-total}")<0&&(r=a.replace(/\@\{skill\-query\} \+ (\[\[[^\]]+\]\])/,"@{skill-query} + $1 + [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]]")),r=r.replace("+ [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]] + [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]]","+ [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]]"),r=r.replace("+ [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]] + [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]]","+ [[ @{checks-cond} + @{buff_check_skills-total} + @{buff_Check-total} ]]"),r!==t[n]&&(e[n]=r)}catch(e){P.default.error("PFBuffs.migrate add buff checks for "+n,e)}finally{return e}},{})}catch(e){P.default.error("PFSkills.migrate skill speedup",e)}finally{a.migrated_skill_speedup3=1,setAttrs(a,T.default.silentParams,e)}}))})},l=function(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(["migrated_take10_dropdown","skill-query","investigator_dice","skill-invest-query"],function(e){var t={};0===(parseInt(e.migrated_take10_dropdown,10)||0)?("?{Roll or Take 10/20?|1d20,1d20+@{skill-invest-query}|10,10+@{skill-invest-query}|20,20+@{skill-invest-query}}"===e["skill-query"]?t["skill-query"]="?{Roll or Take 10/20?|1d20,1d20|10,10|20,20}+@{skill-invest-query}":"@{skill-invest-query}"===e["skill-query"]?t["skill-query"]="@{skill-invest-query}+@{custom_dice}":e["skill-query"]&&"0"!==e["skill-query"]?"@{skill-invest-query}+@{custom_dice}"!==e["skill-query"]&&"?{Roll or Take 10/20?|1d20,1d20|10,10|20,20}+@{skill-invest-query}"!==e["skill-query"]&&"1d20+@{skill-invest-query}"!==e["skill-query"]&&(t["skill-query"]="1d20+@{skill-invest-query}"):t["skill-query"]="1d20+@{skill-invest-query}","0"!==e.investigator_dice&&e.investigator_dice||(t.investigator_dice="[[ 1d6 ]] [custom bonus]"),e["skill-invest-query"]?"@{investigator_dice}"!==e["skill-invest-query"]&&"0"!==e["skill-invest-query"]&&(t["skill-invest-query"]="0"):t["skill-invest-query"]="0",t.migrated_take10_dropdown=1,E.setWrapper(t,T.default.silentParams,a)):a()})};l(n),r(n),i(n),N.migrateMaxSkills(n)}function A(){on("change:str-mod change:dex-mod change:con-mod change:int-mod change:wis-mod change:cha-mod",P.default.callback(function(e){P.default.notice("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||g(null,e)})),on("change:total-skill change:total-fcskill change:int-mod change:level change:max-skill-ranks-mod change:unchained_skills-show change:BG-Skill-Use",P.default.callback(function(e){P.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||l(e)})),on(he.skillGlobalPhysEventAuto,P.default.callback(function(e){P.default.debug("caught "+e.sourceAttribute+" event for "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||g("physical",e)})),I.default.each(_e,function(e){on(he.skillEventsAuto.replace(/REPLACE/g,e),P.default.callback(function(t){P.default.debug("caught "+t.sourceAttribute+" event for "+e+", "+t.sourceType),"sheetworker"!==t.sourceType&&"api"!==t.sourceType||s(e,function(a){a&&c(e,t)})})),on(he.skillEventsPlayer.replace(/REPLACE/g,e),P.default.callback(function(t){P.default.debug("caught "+t.sourceAttribute+" event for "+e+", "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||c(e)})),on("change:"+e+"-misc",P.default.callback(function(t){P.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),P.default.debug("calling evalute for "+e),E.evaluateAndAddToTotAsync(null,null,e+"-misc",e+"-misc-mod",e)})),on("change:"+e+"-cs",P.default.callback(function(t){P.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||u(e)})),"Knowledge"!==e.slice(0,9)&&"Linguistics"!==e&&"Sleight-of-Hand"!==e&&on("change:"+e+"-ReqTrain change:"+e+"-ranks",P.default.callback(function(t){P.default.debug("caught "+t.sourceAttribute+" event for "+e+", "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||getAttrs(["enforce_requires_training"],function(e){parseInt(e.enforce_requires_training,10)&&k(t)})}))}),I.default.each(le,function(e,t){1===e?on("change:size_skill",P.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(P.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),c(t))})):2===e&&on("change:size_skill_double",P.default.callback(function(e){P.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||c(t)}))}),on("change:enforce_requires_training",P.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(P.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),k(e))})),I.default.each(E.cartesianAppend(me,["-name"]),function(e){on("change:"+e,P.default.callback(function(t){if("player"===t.sourceType||"api"===t.sourceType){P.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType);var a=e.slice(0,-4)+"ReqTrain",n=e.slice(0,-4)+"ranks";getAttrs(["enforce_requires_training",a,n,"unchained_skills-show","BG-Skill-Use","artistry_skills-macro","lore_skills-macro","craft_skills-macro","knowledge_skills-macro","perform_skills-macro","profession_skills-macro","misc-skill_skills-macro","is_npc","include_skill_totals","NPC-craft_skills-macro","NPC-knowledge_skills-macro","NPC-perform_skills-macro","NPC-profession_skills-macro","NPC-misc-skill_skills-macro"],function(e){var r=parseInt(e.enforce_requires_training,10),i=0,l=parseInt(e.is_npc,10)||0,s=parseInt(e.include_skill_totals,10)||0;r&&parseInt(e[a],10)&&isNaN(parseInt(e[n],10))||(i=l?0:(parseInt(e["unchained_skills-show"],10)||0)&&(parseInt(e["BG-Skill-Use"],10)||0),b(i,r,t,e,l,s))})}}))}),on("change:unchained_skills-show change:BG-Skill-Use change:include_skill_totals",P.default.callback(function(e){P.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||ye(e,function(){k(e)})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.events=t.skillNameAppends=t.globalSkillModAttrs=t.consolidatedSkillAbilityDefaults=t.coreSkillAbilityDefaults=t.allTheSkills=t.allFillInSkillInstances=t.miscFillInSkillsInstances=t.nonMiscFillInSkillsInstances=t.allNonFillInSkills=t.consolidatedSkills=t.allCoreSkills=t.backgroundSkills=t.knowledgeSkills=t.skillsWithSpaces=t.knowledgeSubSkillsTranslateKeys=t.sizeSkills=t.npcSkillHeaderMacro=t.skillHeaderMacro=t.baseGenMacro=t.checkRTArray=t.adventureSkills=t.backgroundCoreSkills=t.subskillArrays=t.knowledgeSkillAppends=t.skillsWithSubSkills=t.coreSkillsWithSubSkills=t.knowledgeSubSkills=t.backgroundOnlySkills=t.skillsWithFillInNames=t.backgroundOnlySkillsWithFillinNames=t.coreSkillsWithFillInNames=t.miscSkillAppendNums=t.skillAppendNums=t.regularAdventurePlusKnow=t.regularBackgroundSkillsPlusKnow=t.regularAdventureSkills=t.regularBackgroundSkills=t.regularCoreSkills=void 0,t.verifyHasSkill=s,t.updateSkillAsync=c,t.recalculateSkills=m,t.updateAllSkillsDiff=_,t.recalculateAbilityBasedSkills=g,t.resetCommandMacro=k,t.migrate=w;var C=a(1),I=r(C),x=a(0),P=r(x),S=(a(4),a(3)),T=r(S),D=a(2),E=n(D),M=a(5),F=(n(M),a(14)),R=(n(F),a(6)),N=n(R),L=a(9),z=(n(L),a(10)),O=(n(z),t.regularCoreSkills=["Appraise","Acrobatics","Bluff","Climb","Diplomacy","Disable-Device","Disguise","Escape-Artist","Fly","Handle-Animal","Heal","Intimidate","Linguistics","Perception","Ride","Sense-Motive","Sleight-of-Hand","Spellcraft","Stealth","Survival","Swim","Use-Magic-Device"]),W=t.regularBackgroundSkills=["Appraise","Handle-Animal","Linguistics","Sleight-of-Hand"],B=t.regularAdventureSkills=["Acrobatics","Bluff","Climb","Diplomacy","Disable-Device","Disguise","Escape-Artist","Fly","Heal","Intimidate","Perception","Ride","Sense-Motive","Spellcraft","Stealth","Survival","Swim","Use-Magic-Device"],q=t.regularBackgroundSkillsPlusKnow=W.concat(["Knowledge-Engineering","Knowledge-Geography","Knowledge-History","Knowledge-Nobility"]).sort(),H=t.regularAdventurePlusKnow=B.concat(["Knowledge-Arcana","Knowledge-Dungeoneering","Knowledge-Local","Knowledge-Nature","Knowledge-Planes","Knowledge-Religion"]).sort(),U=t.skillAppendNums=["","2","3","4","5","6","7","8","9","10"],j=t.miscSkillAppendNums=["-0","-1","-2","-3","-4","-5","-6","-7","-8","-9"],G=t.coreSkillsWithFillInNames=["Craft","Misc-Skill","Perform","Profession"],X=t.backgroundOnlySkillsWithFillinNames=["Artistry","Lore"],V=t.skillsWithFillInNames=G.concat(X).sort(),K=t.backgroundOnlySkills=E.cartesianAppend(X,U),$=t.knowledgeSubSkills=["Arcana","Dungeoneering","Engineering","Geography","History","Local","Nature","Nobility","Planes","Religion"],Z=t.coreSkillsWithSubSkills=G.concat(["Knowledge"]).sort(),Y=t.skillsWithSubSkills=V.concat(["Knowledge"]).sort(),Q=t.knowledgeSkillAppends=I.default.map($,function(e){return"-"+e}),J=t.subskillArrays=I.default.reduce(Y,function(e,t){return e[t]=E.cartesianAppend([t],U),e},{}),ee=t.backgroundCoreSkills=q.concat(J.Craft).concat(J.Perform).concat(J.Profession).concat(["Misc-Skill-5","Misc-Skill-6","Misc-Skill-7","Misc-Skill-8","Misc-Skill-9"]).sort(),te=t.adventureSkills=H.concat(["Misc-Skill-0","Misc-Skill-1","Misc-Skill-2","Misc-Skill-3","Misc-Skill-4"]).sort(),ae=t.checkRTArray=["-ReqTrain","-ranks"],ne=t.baseGenMacro="&{template:pf_generic} @{toggle_accessible_flag} @{toggle_rounded_flag} {{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_generic-skill}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} ",re=t.skillHeaderMacro="{{name=^{REPLACELOWER} ^{skills} }} ",ie=t.npcSkillHeaderMacro="{{name=^{npc} ^{REPLACELOWER} ^{skills} }} ",le=t.sizeSkills={Fly:1,Stealth:2,"CS-Stealth":2},se=t.knowledgeSubSkillsTranslateKeys=I.default.map($,function(e){return e.toLowerCase()}),oe=(t.skillsWithSpaces=["disable device","escape artist","sense motive","handle animal","use magic device","sleight of hand"],t.knowledgeSkills=I.default.map($,function(e){return"Knowledge-"+e})),ce=(t.backgroundSkills=ee.concat(K).sort(),t.allCoreSkills=te.concat(ee).sort()),ue=t.consolidatedSkills=["CS-Acrobatics","CS-Athletics","CS-Finesse","CS-Influence","CS-Nature","CS-Perception","CS-Performance","CS-Religion","CS-Society","CS-Spellcraft","CS-Stealth","CS-Survival"],de=t.allNonFillInSkills=O.concat(oe).concat(ue).sort(),pe=t.nonMiscFillInSkillsInstances=E.cartesianAppend(["Craft","Perform","Profession","Artistry","Lore"],U),fe=t.miscFillInSkillsInstances=E.cartesianAppend(["Misc-Skill"],j),me=t.allFillInSkillInstances=pe.concat(fe).sort(),_e=t.allTheSkills=de.concat(me).sort(),ge=(t.coreSkillAbilityDefaults={Acrobatics:"dex",Appraise:"int",Bluff:"cha",Climb:"str",Craft:"int",Diplomacy:"cha","Disable-Device":"dex",Disguise:"cha","Escape-Artist":"dex",Fly:"dex","Handle-Animal":"cha",Heal:"wis",Intimidate:"cha","Knowledge-Arcana":"int","Knowledge-Dungeoneering":"int","Knowledge-Engineering":"int","Knowledge-Geography":"int","Knowledge-History":"int","Knowledge-Local":"int","Knowledge-Nature":"int","Knowledge-Nobility":"int",Knowledge:"int","Knowledge-Planes":"int","Knowledge-Religion":"int",Linguistics:"int",Perception:"wis",Perform:"cha",Profession:"wis",Ride:"dex","Sense-Motive":"wis","Sleight-of-Hand":"dex",Spellcraft:"int",Stealth:"dex",Survival:"wis",Swim:"str","Use-Magic-Device":"cha"},t.consolidatedSkillAbilityDefaults={"CS-Acrobatics":"dex","CS-Athletics":"str","CS-Finesse":"dex","CS-Influence":"cha","CS-Nature":"int","CS-Perception":"wis","CS-Performance":"cha","CS-Religion":"int","CS-Society":"int","CS-Spellcraft":"int","CS-Stealth":"dex","CS-Survival":"wis"},t.globalSkillModAttrs=["enforce_requires_training","size_skill","size_skill_double","acp","Phys-skills-cond","Perception-cond","STR-mod","DEX-mod","CON-mod","INT-mod","WIS-mod","CHA-mod","buff_STR_skills-total","buff_DEX_skills-total","buff_CON_skills-total","buff_INT_skills-total","buff_WIS_skills-total","buff_CHA_skills-total","checks-cond","buff_Check-total","buff_check_skills-total"]),be=t.skillNameAppends=["","-cs","-ranks","-ability","-racial","-trait","-feat","-item","-misc-mod","-ReqTrain","-ut"],he=t.events={skillGlobalPhysEventAuto:"change:phys-skills-cond change:acp",skillEventsAuto:"change:REPLACE-misc-mod",skillEventsPlayer:"change:REPLACE-ability change:REPLACE-ranks change:REPLACE-racial change:REPLACE-trait change:REPLACE-feat change:REPLACE-item change:REPLACE-ReqTrain"},ye=t.recalculate=P.default.callback(function(e,t,a){var n=I.default.once(function(){P.default.info("leaving PFSkills.recalculate"),k(),"function"==typeof e&&e()});w(function(){l(),m(n,t)},a)});A()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){var n=v.findAbilityInString(a[e+"attack-type"]),r=v.findAbilityInString(a[e+"damage-ability"]),i="{{buff_note=@{buff_attack_notes}}} {{condition_note=@{condition_attack_notes}}}";return"dual"===n||n||a[e+"attack"]?n&&("dual"!==n&&(n=n.replace("attk-","").replace("2","")||""),t["show"+n.toLowerCase()]&&(i+=" ",i+=k[n+"_notes"].replace("REPLACE",w.notes[n])||"")):i+=" {{no_attack_roll=1}}",t.showheader_image&&(i+=" ",i+=k.header_image.replace("REPLACE",w.image[n||"melee"])||""),"dual"===n||r||a[e+"damage"]||parseInt(a[e+"damage-dice-num"],10)&&parseInt(a[e+"damage-die"],10)||(i+=" {{no_damage=1}}"),t.showattack&&(i+=" ",i+=k.attack_notes.replace("REPLACE",w.notes.attack)||""),i}function l(e,t,a){var n=p.default.once(function(){"function"==typeof a&&a()}),r="repeating_weapon_"+g.getRepeatingIDStr(e),l=p.default.map(x,function(e){return r+e}),s=A;s=s.concat(l),s.push(r+"macro_options"),getAttrs(s,function(e){var t=p.default.reduce(A,function(t,a){return t["show"+a.toLowerCase().slice(14).replace("_notes","")]=parseInt(e[a],10)||0,t},{}),a="",l={};a=i(r,t,e)||"",a!==e[r+"macro_options"]&&(l[r+"macro_options"]=a),p.default.size(l)>0?g.setWrapper(l,h.default.silentParams,n):n()})}function s(e,t,a){var n=p.default.once(function(){"function"==typeof a&&a()});return e&&p.default.size(e)?void getAttrs(A,function(t){var a,r=p.default.reduce(A,function(e,a){return e["show"+a.toLowerCase().slice(14).replace("_notes","")]=parseInt(t[a],10)||0,e},{});a=g.cartesianAppend(["repeating_weapon_"],e,P),a=a.concat(g.cartesianAppend(["repeating_weapon_"],e,["_macro_options"])),getAttrs(a,function(t){var a=p.default.reduce(e,function(e,a){var n="repeating_weapon_"+a+"_",l="";try{l=i(n,r,t),l!==t[n+"macro_options"]&&(e[n+"macro_options"]=l)}finally{return e}},{});p.default.size(a)?g.setWrapper(a,h.default.silentParams,n):n()})}):void n()}function o(e,t){getSectionIDs("repeating_weapon",function(a){s(a,t,e)})}function c(e){"function"==typeof e&&e()}function u(){p.default.each(A,function(e){on("change:"+e,m.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),o(null,e))}))}),p.default.each(S.attackOptionEventsAuto,function(e){var t="change:repeating_weapon:"+e;on(t,m.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),l(null,e))}))}),p.default.each(S.attackOptionEventsPlayer,function(e){var t="change:repeating_weapon:"+e;on(t,m.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),l(null,e))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.getOptionText=i,t.resetOption=l,t.resetSomeOptions=s,t.resetOptions=o,t.migrate=c;var d=a(1),p=r(d),f=(a(4),a(0)),m=r(f),_=a(2),g=n(_),b=a(3),h=r(b),y=a(5),v=n(y),k={melee_notes:"{{melee_notes=REPLACE}}",ranged_notes:"{{ranged_notes=REPLACE}}",CMB_notes:"{{CMB_notes=REPLACE}}",attack_notes:"{{attack_notes=REPLACE}}",header_image:"{{header_image=REPLACE}}"},w={notes:{melee:"@{melee-attack-notes}",ranged:"@{ranged-attack-notes}",CMB:"@{CMB-notes}",attack:"@{attack-notes}",dual:"@{melee-attack-notes}"},image:{melee:"@{header_image-pf_attack-melee}",ranged:"@{header_image-pf_attack-ranged}",CMB:"@{header_image-pf_attack-cmb}",dual:"@{header_image-pf_attack-dual}"}},A=["toggle_attack_melee_notes","toggle_attack_ranged_notes","toggle_attack_CMB_notes","toggle_attack_attack_notes","toggle_attack_header_image"],C=["attack-type","damage-ability","damage-dice-num","damage-die","damage","attack"],I=[""],x=C.concat(I),P=p.default.map(x,function(e){return"_"+e}),S={attackOptionEventsPlayer:C,attackOptionEventsAuto:I};t.recalculate=m.default.callback(function(e){o(e)});u()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){var n=p.default.once(function(){"function"==typeof e&&e()});getAttrs(["AC-ability-mod","FF-DEX","AC-penalty","CMD-penalty","size","max-dex","AC-dodge","AC-natural","AC-deflect","AC-misc-mod","buff_AC-total","buff_Touch-total","buff_CMD-total","CMD-DEX","FF-CMD-DEX","CMD-STR","bab","CMD-misc-mod","AC","Touch","Flat-Footed","CMD","FF-CMD","AC-ability","FF-ability","CMD-ability","CMD-ability1","CMD-ability2","AC-armor","AC-shield","condition-Blinded","condition-Pinned","condition-Stunned","condition-Cowering","condition-Drained","condition-Flat-Footed","AC-ability-display","FF-DEX-display","CMD-DEX-display","FF-CMD-DEX-display","maxdex-toggle","nodex-toggle","uncanny_dodge","unlock_def_ability","hd_not_bab","level","buff_armor-total","buff_shield-total","buff_flat-footed-total","buff_natural-total","buff_dodge-total","buff_deflection-total","buffsumac","buffsumtouch","buffsumff","buffsumcmd","buffsumffcmd ","current-load","max-dex-source"],function(e){var a=parseInt(e.size,10)||0,r=parseInt(e["AC-dodge"],10)||0,i=parseInt(e["AC-deflect"],10)||0,l=parseInt(e["AC-misc-mod"],10)||0,s=parseInt(e["AC-penalty"],10)||0,o=parseInt(e["buff_AC-total"],10)||0,c=parseInt(e["buff_Touch-total"],10)||0,u=parseInt(e["buff_CMD-total"],10)||0,d=parseInt(e["AC-armor"],10)||0,f=parseInt(e["AC-shield"],10)||0,_=parseInt(e["AC-natural"],10)||0,b=parseInt(e.bab,10)||0,y=parseInt(e["CMD-misc-mod"],10)||0,k=parseInt(e["max-dex"],10),w=parseInt(e["CMD-penalty"],10)||0,A=parseInt(e["condition-Blinded"],10)?1:0,C=parseInt(e["condition-Pinned"],10)?1:0,I=parseInt(e["condition-Stunned"],10)?1:0,x=parseInt(e["condition-Flat-Footed"],10)?1:0,P=parseInt(e["condition-Cowering"],10)?1:0,S=parseInt(e["max-dex-source"],10)||0,T=parseInt(e["current-load"],10)||0,D=0,E=parseInt(e["maxdex-toggle"],10)||0,M=0,F=parseInt(e["nodex-toggle"],10)||0,R=parseInt(e.unlock_def_ability,10)||0,N=R?0:1,L=10,z=10,O=10,W=10,B=10,q=parseInt(e.AC,10),H=parseInt(e.Touch,10),U=parseInt(e["Flat-Footed"],10),j=parseInt(e.CMD,10),G=parseInt(e["FF-CMD"],10),X=parseInt(e.uncanny_dodge,10)||0,V=v.findAbilityInString(e["AC-ability"]),K=X?V:v.findAbilityInString(e["FF-ability"]),$=N?K:v.findAbilityInString(e["CMD-ability"]),Z=N?V:v.findAbilityInString(e["CMD-ability2"]),Y=parseInt(e["AC-ability-mod"],10)||0,Q=parseInt(e["CMD-STR"],10)||0,J=N?Y:parseInt(e["CMD-DEX"],10)||0,ee=0,te=0,ae=0,ne=0,re=parseInt(e["buff_armor-total"],10)||0,ie=parseInt(e["buff_shield-total"],10)||0,le=parseInt(e["buff_natural-total"],10)||0,se=parseInt(e["buff_flat-footed-total"],10)||0,oe=parseInt(e["buff_dodge-total"],10)||0,ce=0,ue=0,de=0,pe=0,fe=0,me=0,_e=0,ge=0,be={},he={}; +try{m.default.debug("PFDefense.updateDefenses: buffs "+o,e),X?(ee=N?Y:parseInt(e["FF-DEX"],10)||0,te=N?Y:parseInt(e["FF-CMD-DEX"],10)||0):(Y<0&&(ee=Y),J<0&&(te=J)),k=isNaN(k)?99:k,k<99&&k>=0&&("DEX-mod"===V&&k0?(t&&(he=g.default.silentParams),h.setWrapper(be,he,n)):n()}})}function l(e,t,a,n,r){var l=p.default.once(function(){"function"==typeof t&&t()}),s=p.default.once(function(){r?l():i(l,a)}),o="",c="";try{e?(o=e.toLowerCase(),c=x[o],c?getAttrs(["unlock_def_ability","uncanny_dodge"],function(e){parseInt(e.unlock_def_ability,10)||"ac-ability"===o||"cmd-ability1"===o?w.setDropdownValue(c,I[c],function(e,t){e!==t||e<0||t<0||"ff-ability"===o||"cmd-ability"===o?s():l()},a):l()}):(m.default.warn("PFDefense.updateDefenses, called with invalid dropdown: "+e),l())):n&&"uncanny_dodge"===n.sourceAttribute&&getAttrs(["unlock_def_ability","uncanny_dodge","AC-ability",I["AC-ability"]],function(t){var a=0,n=0,r={};try{a=parseInt(t.unlock_def_ability,10)||0,a?(n=parseInt(t["AC-ability"],10)||0,parseInt(t.uncanny_dodge,10)?(r["FF-ability"]=t["AC-ability"],r[I["FF-ability"]]=n,r["CMD-ability"]=t["AC-ability"],r[I["CMD-ability"]]=n):(r["FF-ability"]="0",r[I["FF-ability"]]=0,r["CMD-ability"]="0",r[I["CMD-ability"]]=0),h.setWrapper(r,g.default.silentParams,s)):s()}catch(t){m.default.error("PFDefense.setDefenseDropdownMod inner error for : "+e,t),l()}})}catch(t){m.default.error("PFDefense.setDefenseDropdownMod error for: "+e,t),l()}}function s(e,t,a){var n=function(){"function"==typeof e&&e()};getAttrs(D,function(e){var a=0,r=0,i=0,l=0,s=0,o=0,c=0,u=0,d=0,f=0,_=0,b=99,y=0,v=0,k=99,w=0,A=0,C=0,I=0,x=parseInt(e["max-dex-source"],10)||0,S=parseInt(e["current-load"],10)||0,T={},D={};try{m.default.debug("at updateArmor ",e),P.forEach(function(t){1===parseInt(e[t+"-equipped"],10)&&(c=parseInt(e[t+"-acbonus"],10)||0,y=parseInt(e[t+"-enhance"],10)||0,_=parseInt(e[t+"-spell-fail"],10)||0,s+=_,t.indexOf("armor")>=0?i+=c+y:l+=c+y,d=parseInt(e[t+"-acp"],10)||0,x<2&&(u=parseInt(e[t+"-max-dex"],10),("-"===e[t+"-max-dex"]||isNaN(u))&&(u=99),b=Math.min(u,b),a+=d),f=parseInt(e[t+"-proficiency"],10)||0,f&&(o+=d),/tower/i.test(e[t+"-type"])&&(o-=2))}),r=a,0===x||2===x?1===S?(b=Math.min(b,3),r=Math.min(r,-3)):2===S?(b=Math.min(b,1),r=Math.min(r,-6)):S>2&&(b=0,r=Math.min(r,-6)):3===x&&(r=0,a=0),v=parseInt(e.acp,10)||0,k=parseInt(e["max-dex"],10),k=isNaN(k)?99:k,w=parseInt(e["AC-armor"],10)||0,A=parseInt(e["AC-shield"],10)||0,C=parseInt(e["spell-fail"],10)||0,I=parseInt(e["acp-attack-mod"],10)||0,v!==r&&(T.acp=r),k!==b&&(T["max-dex"]=b),w!==i&&(T["AC-armor"]=i),A!==l&&(T["AC-shield"]=l),C!==s&&(T["spell-fail"]=s),I!==o&&(T["acp-attack-mod"]=o)}catch(e){m.default.error("PFDefense.updateArmor",e)}finally{p.default.size(T)>0?(t&&(D=g.default.silentParams),m.default.notice("updateArmor setting",T,D),h.setWrapper(T,D,n)):n()}})}function o(e,t,a){var n=p.default.once(function(){"function"==typeof e&&e()});getAttrs(["AC-penalty","CMD-penalty","condition-Blinded","condition-Cowering","condition-Stunned","condition-Pinned","condition-Wounds","condition-Drained","has_endurance_feat","wounds_gritty_mode","condition-Grappled","condition-Invisible","condition-Paralyzed","condition-Helpless","condition-Prone","condition_defense_notes"],function(e){var r=0,i=0,l=0,s=0,o=0,c=0,u=0,d=0,f=0,_="",b={},y={};try{a&&/grappled|invisible/i.test(a.sourceAttribute)?t=!0:(i=parseInt(e["condition-Drained"],10)||0,l=parseInt(e["condition-Wounds"],10)||0,s=parseInt(e["AC-penalty"],10)||0,o=parseInt(e["CMD-penalty"],10)||0,d=parseInt(e.has_endurance_feat,10)||0,f=parseInt(e.wounds_gritty_mode,10)||0,u=v.getWoundPenalty(l,d,f),r=-1*((parseInt(e["condition-Blinded"],10)||0)+(parseInt(e["condition-Pinned"],10)||0)+(parseInt(e["condition-Cowering"],10)||0)+(parseInt(e["condition-Stunned"],10)||0)),r+=u,c=i+r,s!==r&&(b["AC-penalty"]=r),o!==c&&(b["CMD-penalty"]=c)),parseInt(e["condition-Paralyzed"],10)&&(_+="**"+h.getTranslated("paralyzed")+"**: ",_+=h.getTranslated("condition-paralyzed-note")+"\r\n"),parseInt(e["condition-Prone"],10)&&(_+="**"+h.getTranslated("prone")+"**: ",_+=h.getTranslated("condition-prone-note")+"\r\n"),parseInt(e["condition-Helpless"],10)&&(_+="**"+h.getTranslated("helpless")+"**: ",_+=h.getTranslated("condition-helpless-note")+"\r\n"),parseInt(e["condition-Grappled"],10)&&parseInt(e["condition-Invisible"],10)&&(_+="**"+h.getTranslated("grappled")+" + "+h.getTranslated("invisible")+"**: ",_+=h.getTranslated("condition-grappled-invisible-note")+"\r\n"),_!==e.condition_defense_notes&&(b.condition_defense_notes=_)}catch(e){m.default.error("PFDefense.applyConditions:",e)}finally{p.default.size(b)>0?(t&&(y=g.default.silentParams),h.setWrapper(b,y,n)):n()}})}function c(e,t){var a=p.default.once(function(){"function"==typeof e&&e()});t>0&&t<.5&&C.migrateMaxDexAndACP(),t>0&&t<1.2?getAttrs(["CMD-ability2","unlock_def_ability","AC-ability"],function(e){var t="",n="",r=0,i={};try{t=v.findAbilityInString(e["AC-ability"]),n=v.findAbilityInString(e["CMD-ability2"]),r=parseInt(e.unlock_def_ability,10)||0,t&&n&&t!==n&&!r?i.unlock_def_ability=1:r&&(i.unlock_def_ability=0)}catch(e){m.default.error("PFDefense.migrate",e)}finally{p.default.size(i)>0?h.setWrapper(i,g.default.silentParams,a):a()}}):a()}function u(){p.default.each(I,function(e,t){on("change:"+t,m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),l(t,null,null,e,!1)}))}),on("change:uncanny_dodge",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||l(null,null,null,e,!1)})),on("change:hd_not_bab",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i(null,null,e)})),on(E.defenseEventsAuto,m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||i(null,null,e)})),on(E.defenseEventsPlayer,m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i(null,null,e)})),on(E.defenseEventsEither,m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i(null,null,e)})),on("change:max-dex-source change:current-load",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s(null,null,e)})),p.default.each(P,function(e){p.default.each(S,function(t){var a="change:"+e+"-"+t;on(a,m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s(null,null,e)}))})})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.events=t.defenseArmorFields=t.defenseFieldTotals=t.defenseArmorShieldColumns=t.defenseArmorShieldRows=t.defenseArmorShieldRowsOld=t.defenseLowerToMixed=t.defenseDropdowns=void 0,t.updateDefenses=i,t.setDefenseDropdownMod=l,t.updateArmor=s,t.applyConditions=o,t.migrate=c;var d=a(1),p=r(d),f=a(0),m=r(f),_=(a(4),a(3)),g=r(_),b=a(2),h=n(b),y=a(5),v=n(y),k=a(9),w=n(k),A=a(6),C=n(A),I=t.defenseDropdowns={"AC-ability":"AC-ability-mod","FF-ability":"FF-DEX","CMD-ability1":"CMD-STR","CMD-ability2":"CMD-DEX","CMD-ability":"FF-CMD-DEX"},x=t.defenseLowerToMixed={"ac-ability":"AC-ability","ff-ability":"FF-ability","cmd-ability1":"CMD-ability1","cmd-ability2":"CMD-ability2","cmd-ability":"CMD-ability"},P=(t.defenseArmorShieldRowsOld=["armor3","armor2","armor","shield3","shield2","shield"],t.defenseArmorShieldRows=["armor3","shield3"]),S=t.defenseArmorShieldColumns=["equipped","acbonus","enhance","max-dex","acp","spell-fail","proficiency","type"],T=t.defenseFieldTotals=["acp","max-dex","AC-armor","AC-shield","spell-fail","acp-attack-mod","max-dex-source","current-load"],D=t.defenseArmorFields=h.cartesianAppend(P,["-"],S).concat(T),E=t.events={defenseEventsAuto:"change:bab change:ac-penalty change:cmd-penalty change:size change:ac-shield change:ac-armor change:ac-ability-mod change:ff-dex change:cmd-dex change:ff-cmd-dex change:cmd-str change:max-dex change:ac-misc-mod change:cmd-misc-mod",defenseEventsPlayer:"change:ff-dex change:ac-penalty change:cmd-penalty change:size change:ac-dodge change:ac-natural change:ac-deflect",defenseEventsEither:"change:size change:AC-ability change:FF-ability change:CMD-ability1 change:CMD-ability2 change:CMD-ability"};t.recalculate=m.default.callback(function(e,t,a){var n=p.default.once(function(){m.default.info("leaving PFDefense.recalculate"),"function"==typeof e&&e()}),r=p.default.size(I),u=p.default.after(r,function(){i(n,!0)});c(function(){o(function(){s(function(){p.default.each(I,function(e,t){l(t,u,!0,null,!0)})},t)},t)},a,t)});u()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t,a,n,r;return e?(t=e.split(/(?=\{\{)|(?=\&\{)|(?=\|\|)/),t=p.trimBoth(t),a=o.default.reduce(t,function(e,t){try{"{{"===t.slice(0,2)?"}}"===t.slice(-2)?e.push(t):(n=t.lastIndexOf("}}"),n<0?(u.default.error("error! no closing brackets for ",t),t+="}}",n=t.lastIndexOf("}}"),e.push(t)):(e.push(p.trimBoth(t.slice(0,n+2))),e=e.concat(p.trimBoth(p.trimBoth(t.slice(n+2)).replace("&","&").split(/(?=[\@\&]\{)/))))):"&{"===t.slice(0,2)?(t=t.replace("&","&"),e=e.concat(p.trimBoth(t.split(/(?=[\@\&]\{)/)))):"||"===t.slice(0,2)?"||"!==p.trimBoth(t)&&(t=t.replace("&","&"),r=p.trimBoth(t.split(/(?=[\@\&]\{)/)),"||"===r[0]?r=r.slice(1):"||"!==r[0].slice(-2)&&(r[0]=r[0]+"||"),e=e.concat(r)):(t=t.replace("&","&"),e=e.concat(p.trimBoth(t.split(/(?=[\@\&]\{)/))))}catch(e){u.default.error("splitmacro",e)}finally{return e}},[])):""}function l(e){var t=[],a=[];try{a=i(e),u.default.debug("PFMacros.getTracking array is ",a),a&&o.default.size(a)&&(t=a.filter(function(e){return/^\{\{[a-z]+tracking\d+=/i.test(e)}).concat(a.filter(function(e){return"{{"!==e.slice(0,1)&&e.indexOf("||")>=0?1:0}))),u.default.debug("PFMacros.getTracking tracking is ",t)}catch(e){u.default.error("PFMacros.getTracking error",e)}finally{return t}}Object.defineProperty(t,"__esModule",{value:!0}),t.getTracking=l;var s=a(1),o=r(s),c=(a(4),a(0)),u=r(c),d=a(2),p=n(d),f=a(3),m=(r(f),a(5)),_=(n(m),a(9));n(_)},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t={size:0,skillSize:0};try{e&&(e=v.trimBoth(e),e=e.toLowerCase(),t.size=M[e],t.skillSize=E[String(t.size)])}catch(a){h.default.error("get size from text:"+e,a),t.size=0,t.skillSize=0}finally{return t}}function l(e,t){var a,n,r;return a=T[String(e)],n=T[String(t)],r=a-n}function s(e,t,a,n){var r,i={1:["1d1"],2:["1d2"],3:["1d3"],4:["1d4"],5:["1d6"],6:["1d8","2d4"],7:["1d10"],8:["2d6","3d4","1d12"],9:["2d8","4d4"],10:["3d6","5d4"],11:["3d8","6d4","2d10"],12:["4d6","7d4","2d12"],13:["4d8","8d4","9d4","5d6","3d10"],14:["6d6","5d8","10d4","11d4","9d4","3d12"],15:["6d8","7d6","12d4","13d4","4d10"],16:["8d6","7d8","14d4","15d4","4d12"],17:["8d8","16d4","9d6","10d6","11d6","5d10","17d4","18d4","19d4","5d12"],18:["12d6","20d4","9d8","7d10","6d12","21d4","22d4","23d4"],19:["12d8","24d4","13d6","14d6","15d6","8d10"],20:["16d6","13d8","10d10","8d12"]},l=0,s="",o=0,c=0,u=0,d=g.default.reduce(i,function(e,t,a){return g.default.each(t,function(t){e[t]=a}),e},{});try{if(a=parseInt(a,10),n=parseInt(n,10),!isNaN(a)&&!isNaN(n)){if(s=a+"d"+n,l=T[String(t)],a<=0||n>12)return null;if(4===n&&a>24?a=24:6===n&&a>16?a=16:8===n&&a>13?a=13:10===n&&a>10?a=10:12===n&&a>8&&(a=8),c=parseInt(d[s],10)||0,!c)return null;for(;0!==e;)if(e>0?o=n<=6&&1===a||l<=3?1:2:e<0&&(o=n<=8&&1===a||l<=4?-1:-2),u=c+o,u=Math.min(Math.max(u,1),20),s=i[u][0],r=s.match(/(\d+)d(\d+)/),a=parseInt(r[1],10),n=parseInt(r[2],10),c=u,e>0){if(l++,e--,c>=20){h.default.warn("PFSize.updateDamageDice increased off top of grid to row "+c);break}}else if(l--,e++,c<=1){h.default.warn("PFSize.updateDamageDice decreased under bottom of grid to row "+c);break}}}catch(e){h.default.error("updateDamageDice: ",e)}finally{return{dice:a,die:n}}}function o(e,t){var a={};try{a=i(e),a&&0!==a.size?(t.size=a.size,t.default_char_size=a.size,t.size_skill=a.skillSize,t["CMD-size"]=a.size*-1,t.size_skill_double=2*a.skillSize):(t.size=0,t.default_char_size=0,t.size_skill=0,t["CMD-size"]=0,t.size_skill_double=0,a||(a={size:0,skillSize:0})),t.size_display=v.getTranslated(e.toLowerCase())}finally{return a}}function c(e,t,a,n){var r=0,i=0,l=0,s=0,o=0,c=0,u="",d="";try{n=n||{},l=parseInt(t.default_char_size,10)||0,r=parseInt(t.size,10)||0,0!==e?(s=T[String(l)],o=s+e,i=D[String(o)],i!==r&&(n.size=i,r=i)):a&&"buff_size-total"===a.sourceAttribute.toLowerCase()&&r!==l&&(n.size=l,r=l),u=F[String(r)],d=v.getTranslated(u),!d||d===t.size_display&&t.size_display||(n.size_display=d),c=E[String(r)],n.size_skill=c,n["CMD-size"]=r*-1,n.size_skill_double=2*c}catch(e){h.default.error("PFSize.updateSize",e)}finally{return n}}function u(e,t,a,n){var r=g.default.once(function(){"function"==typeof e&&e()});getAttrs(["size","size_skill","size_skill_double","default_char_size","CMD-size","buff_size-total","size_display"],function(e){var a={},i={},l=0;try{l=parseInt(e["buff_size-total"],10)||0,c(l,e,n,i)}catch(e){h.default.error("PFSize.updateSizeAsync",e)}finally{g.default.size(i)>0?(t&&(a=w.default.silentParams),v.setWrapper(i,a,r)):r()}})}function d(e){u(function(){x.updateLoadsAndLift(),S.adjustAllDamageDiceAsync(null,e)},!1,e)}function p(e){x.updateLoadsAndLift(),S.adjustAllDamageDiceAsync(null,e)}function f(e){"function"==typeof e&&e()}function m(){on("change:size change:default_char_size",h.default.callback(function(e){h.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"===e.sourceType||"api"===e.sourceType?d(e):p(e)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.reverseSizeNameMap=t.sizeNameMap=t.skillSizeMap=t.reverseSizeMap=t.sizeModToEasySizeMap=void 0,t.getSizeFromText=i,t.getSizeLevelChange=l,t.updateDamageDice=s,t.setSize=o,t.updateSize=c,t.updateSizeAsync=u,t.migrate=f;var _=a(1),g=r(_),b=(a(4),a(0)),h=r(b),y=a(2),v=n(y),k=a(3),w=r(k),A=a(5),C=(n(A),a(6)),I=(n(C),a(16)),x=n(I),P=a(7),S=n(P),T=t.sizeModToEasySizeMap={0:4,1:3,2:2,"-8":8,4:1,"-4":7,"-2":6,"-1":5,8:0},D=t.reverseSizeMap={0:8,1:4,2:2,3:1,4:0,5:-1,6:-2,7:-4,8:-8},E=t.skillSizeMap={0:0,1:2,2:4,8:8,4:6,"-8":-8,"-4":-6,"-2":-4,"-1":-2},M=t.sizeNameMap={colossal:-8,gargantuan:-4,huge:-2,large:-1,medium:0,small:1,tiny:2,diminutive:4,fine:8},F=t.reverseSizeNameMap={0:"medium",1:"small",2:"tiny","-8":"colossal",4:"diminutive","-4":"gargantuan","-2":"huge","-1":"large",8:"fine"};t.recalculate=h.default.callback(function(e,t,a){var n=g.default.once(function(){h.default.info("leaving PFSize.recalculate"),"function"==typeof e&&e()});u(n,t,null)});m()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a,n,r;if(e>=30)return 4*i(e-10,t);switch(e){case 0:a=0,n=0,r=0;break;case 1:a=3,n=6,r=10;break;case 2:a=6,n=13,r=20;break;case 3:a=10,n=20,r=30;break;case 4:a=13,n=26,r=40;break;case 5:a=16,n=33,r=50;break;case 6:a=20,n=40,r=60;break;case 7:a=23,n=46,r=70;break;case 8:a=26,n=53,r=80;break;case 9:a=30,n=60,r=90;break;case 10:a=33,n=66,r=100;break;case 11:a=38,n=76,r=115;break;case 12:a=43,n=86,r=130;break;case 13:a=50,n=100,r=150;break;case 14:a=58,n=116,r=175;break;case 15:a=66,n=133,r=200;break;case 16:a=76,n=153,r=230;break;case 17:a=86,n=173,r=260;break;case 18:a=100,n=200,r=300;break;case 19:a=116,n=233,r=350;break;case 20:a=133,n=266,r=400;break;case 21:a=153,n=306,r=460;break;case 22:a=173,n=346,r=520;break;case 23:a=200,n=400,r=600;break;case 24:a=233,n=466,r=700;break;case 25:a=266,n=533,r=800;break;case 26:a=306,n=613,r=920;break;case 27:a=346,n=693,r=1040;break;case 28:a=400,n=800,r=1200;break;case 29:a=466,n=933,r=1400;break;default:return 0}switch(t){case k.Light:return a;case k.Medium:return n;case k.Heavy:return r}return 0}function l(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(["load-light","load-medium","load-heavy","load-max","current-load","carried-total","max-dex-source"],function(e){var n=0,r=0,i=0,l=0,s=0,o=0,c=0,u=0,d=0,f={},_={};try{c=parseInt(e["max-dex-source"],10)||0,u=1===c||3===c?1:0,n=parseInt(e["current-load"],10)||0,u?d=k.Light:(r=parseInt(e["carried-total"],10)||0,i=parseInt(e["load-light"],10)||0,l=parseInt(e["load-medium"],10)||0,s=parseInt(e["load-heavy"],10)||0,o=2*s,r<=i?d=k.Light:r<=l?d=k.Medium:r<=s?d=k.Heavy:r<=o?d=k.Overloaded:r>o&&(d=k.OverDouble)),n!==d&&(f["current-load"]=d)}catch(e){m.default.error("PFEncumbrance.updateCurrentLoad",e)}finally{p.default.size(f)>0?(t&&(_=h.default.silentParams),g.setWrapper(f,_,a)):a()}})}function s(e,t){var a=p.default.once(function(){"function"==typeof e&&e()});getAttrs(["STR","size","size-multiplier","legs","load-light","load-medium","load-heavy","load-max","lift-above-head","lift-off-ground","lift-drag-and-push","load-str-bonus","load-multiplier","total-load-multiplier","load-misc"],function(e){var n=10,r=1,l=1,s=1,o=1,c=2,u=0,d=0,f=0,_=0,b=0,y=0,v=0,w=0,A=1,C=1,I=0,x=0,P=0,S=0,T=0,D=0,E=0,M={},F={};try{if(n=parseInt(e.STR,10)||0,r=parseInt(e.size,10)||0,l=parseInt(e["size-multiplier"],10)||0,s=l,o=parseInt(e["total-load-multiplier"],10)||0,c=parseInt(e.legs,10)||0,4!==c&&(c=2),u=parseInt(e["load-light"],10)||0,d=parseInt(e["load-medium"],10)||0,f=parseInt(e["load-heavy"],10)||0,_=parseInt(e["load-max"],10)||0,b=parseInt(e["lift-above-head"],10)||0,y=parseInt(e["lift-off-ground"],10)||0,v=parseInt(e["lift-drag-and-push"],10)||0,w=parseInt(e["load-str-bonus"],10)||0,A=parseInt(e["load-multiplier"],10)||0,C=1,I=parseInt(e["load-misc"],10)||0,x=i(n+w,k.Light)+I,P=i(n+w,k.Medium)+I,S=i(n+w,k.Heavy)+I,A<1&&(A=1),A--,4!==c)switch(r){case-8:l=16;break;case-4:l=8;break;case-2:l=4;break;case-1:l=2;break;case 1:l=.75;break;case 2:l=.5;break;case 4:l=.25;break;case 8:l=1/8;break;default:l=1}else if(4===c)switch(r){case-8:l=24;break;case-4:l=12;break;case-2:l=6;break;case-1:l=3;break;case 0:l=1.5;break;case 1:l=1;break;case 2:l=.75;break;case 4:l=.5;break;case 8:l=.25;break;default:l=1.5}C+=A,C*=l,x*=C,P*=C,S*=C,T=S,D=2*S,E=5*S,s!==l&&(M["size-multiplier"]=l),o!==C&&(M["total-load-multiplier"]=C),u!==x&&(M["load-light"]=x),d!==P&&(M["load-medium"]=P),f!==S&&(M["load-heavy"]=S),_!==2*S&&(M["load-max"]=2*S),b!==T&&(M["lift-above-head"]=T),y!==D&&(M["lift-off-ground"]=D),v!==E&&(M["lift-drag-and-push"]=E)}catch(e){m.default.error("updateLoadsAndLift",e)}finally{p.default.size(M)>0?(t&&(F=h.default.silentParams),g.setWrapper(M,F,a)):a()}})}function o(e){var t=["current-load","speed-base","speed-modified","speed-run","is_dwarf","max-dex-source","run-mult","buff_speed-total","condition-Slowed","run_cond_applied","condition-Entangled","condition-Fatigued","condition-Exhausted"];p.default.each(v.defenseArmorShieldRows,function(e){t.push(e+"-equipped"),t.push(e+"-type")}),getAttrs(t,function(t){var a=parseInt(t["current-load"],10)||0,n=parseInt(t["speed-base"],10)||0,r=parseInt(t["max-dex-source"],10)||0,i=isNaN(parseInt(t["run-mult"],10))?4:parseInt(t["run-mult"],10),l=parseInt(t["buff_speed-total"],10)||0,s=0,o=0,c=n,u=i,d=n*u,f=0,_=!1,b=0,y=0,v={};try{n+=l,2===parseInt(t["condition-Entangled"],10)&&(s=1,n/=2,o=1),3===parseInt(t["condition-Exhausted"],10)&&(s=1,n/=2,o=1),c=n,1===parseInt(t["condition-Fatigued"],10)&&(o=1),l<0&&(s=1),3!==r&&(b=parseInt(t["armor3-equipped"],10)||0,_=parseInt(t.is_dwarf,10)||0,!b||0!==r&&1!==r||("Heavy"===t["armor3-type"]?y=2:"Medium"===t["armor3-type"]&&(y=1)),f=Math.max(y,a),f===k.OverDouble?(c=0,d=0,o=1):!_&&f>k.Light&&(f===k.Overloaded?(c=2.5,d=0,o=1):f!==k.Heavy&&f!==k.Medium||(c=n<=5?5:n%15===0?2*n/3:(n+5)%15===0?2*(n+5)/3:2*(n+10)/3-5,f===k.Heavy&&u--))),o&&(u=0),s&&(c=Math.floor(1e3*c)/1e3),d=c*u,c!==(parseInt(t["speed-modified"],10)||0)&&(v["speed-modified"]=c),d!==(parseInt(t["speed-run"],10)||0)&&(v["speed-run"]=d),s!==(parseInt(t["condition-Slowed"],10)||0)&&(v["condition-Slowed"]=s),i>u&&(o=1),o!==(parseInt(t.run_cond_applied,10)||0)&&(v.run_cond_applied=o)}catch(e){m.default.error("PFEncumbrance.updateModifiedSpeed",e)}finally{p.default.size(v)>0?g.setWrapper(v,h.default.silentParams,e):"function"==typeof e&&e()}})}function c(e){var t=function(){"function"==typeof e&&e()};getAttrs(["max-dex-source"],function(e){var a=parseInt(e["max-dex-source"],10);isNaN(a)?g.setWrapper({"max-dex-source":0},h.default.silentParams,t):t()})}function u(){on("change:speed-base change:race change:armor3-equipped change:max-dex-source change:run-mult",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||o()})),on("change:is_dwarf change:current-load change:armor3-equipped change:armor3-type",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||o()})),on("change:load-light change:carried-total",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||l()})),on("change:size-multiplier change:legs change:load-str-bonus change:load-multiplier change:load-misc",m.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s())})),on("change:STR change:size",m.default.callback(function(e){m.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||s()}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.updateLoadsAndLift=s,t.updateModifiedSpeed=o,t.migrate=c;var d=a(1),p=r(d),f=a(0),m=r(f),_=a(2),g=n(_),b=a(3),h=r(b),y=a(13),v=n(y),k={Light:0,Medium:1,Heavy:2,Overloaded:3,OverDouble:4};t.recalculate=m.default.callback(function(e,t,a){var n=p.default.once(function(){m.default.info("leaving PFEncumbrance.recalculate"),"function"==typeof e&&e()}),r=p.default.once(function(){o(n)}),i=p.default.once(function(){l(r)}),u=p.default.once(function(){s(i,t)});try{c(u)}catch(e){m.default.error("PFEncumbrance.recalculate",e),n()}});u()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a,n,r){var i=0;e<=t&&(i=e>a?1:e>n?2:3),i!==r&&S.setWrapper({"condition-Wounds":i})}function l(e){getAttrs(["HP","HP_grazed","HP_wounded","HP_critical","condition-Wounds","wound_threshold-show"],function(t){parseInt(t["wound_threshold-show"],10)&&(isNaN(parseInt(e,10))&&(e=parseInt(t.HP,10)||0),i(e,parseInt(t.HP_grazed,10)||0,parseInt(t.HP_wounded,10)||0,parseInt(t.HP_critical,10)||0,parseInt(t["condition-Wounds"],10)||0))})}function s(e,t,a,n,r){var l={},s=0,o=0,c=0,u=0;try{s=Math.floor(.75*t),o=Math.floor(.5*t),c=Math.floor(.25*t),u=(n>0?n:0)*-1,(parseInt(r.HP_grazed,10)||0)!==s&&(l.HP_grazed=s),(parseInt(r.HP_wounded,10)||0)!==o&&(l.HP_wounded=o),(parseInt(r.HP_critical,10)||0)!==c&&(l.HP_critical=c),(parseInt(r.HP_disabled,10)||0)!==u&&(l.HP_disabled=u)}catch(e){v.default.error("PFHealth.setWoundThresholds",e)}finally{h.default.size(l)>0?S.setWrapper(l,w.default.silentParams,function(){i(e,s,o,c,a)}):i(e,s,o,c,a)}}function o(){getAttrs(["HP","HP_max","wound_threshold-show","condition-Wounds","HP-ability-mod","HP_grazed","HP_wounded","HP_critical","HP_disabled"],function(e){1===parseInt(e["wound_threshold-show"],10)?s(parseInt(e.HP,10)||0,parseInt(e.HP_max,10)||0,parseInt(e["condition-Wounds"],10)||0,parseInt(e["HP-ability-mod"],10)||0,e):0!==(parseInt(e["condition-Wounds"],10)||0)&&S.setWrapper({"condition-Wounds":"0"})})}function c(e,t,a,n,r,i,s){"0"!==r&&(a>=e+t+(n?1+i:0)?S.setWrapper({"condition-Staggered":"1"},w.default.silentParams):s&&S.setWrapper({"condition-Staggered":"0"},w.default.silentParams)),n&&l(e)}function u(){getAttrs(["HP","HP-temp","non-lethal-damage","wound_threshold-show","HP-ability","HP-ability-mod","condition-Staggered"],function(e){c(parseInt(e.HP,10)||0,parseInt(e["HP-temp"],10)||0,parseInt(e["non-lethal-damage"],10)||0,parseInt(e["wound_threshold-show"],10)||0,e["HP-ability"],parseInt(e["HP-ability-mod"],10)||0,parseInt(e["condition-Staggered"],10)||0)})}function d(e,t,a,n){var r=h.default.once(function(){"function"==typeof e&&e()});getAttrs(["HP","HP_max","HP-ability","HP-ability-mod","level","total-hp","total-mythic-hp","condition-Drained","HP-formula-mod","HP-temp","mythic-adventures-show","wound_threshold-show","condition-Wounds","non-lethal-damage","non-lethal-damage_max","condition-Staggered","hp_ability_bonus","HP_grazed","HP_wounded","HP_critical","HP_disabled","increase_hp"],function(e){var t=0,a=0,i=0,l=0,o=0,u=0,d=0,p=0,f=0,m=0,_=0,g=0,b={};try{d=parseInt(e.increase_hp,10)||0,t=parseInt(e["HP-ability-mod"],10)||0,a=t*(parseInt(e.level,10)||0),i=parseInt(e.HP_max,10)||0,l=parseInt(e.HP,10)||0,o=parseInt(e["HP-temp"],10)||0,g=parseInt(e["wound_threshold-show"],10)||0,u=l,p=parseInt(e["non-lethal-damage"],10)||0,m=parseInt(e["mythic-adventures-show"],10)||0,f=a+(parseInt(e["total-hp"],10)||0)+(parseInt(e["HP-formula-mod"],10)||0)+5*(parseInt(e["condition-Drained"],10)||0)+(m?parseInt(e["total-mythic-hp"],10)||0:0),g&&(_=parseInt(e["condition-Wounds"],10)||0),n?(u=f,0!==p&&(b["non-lethal-damage"]=0,b["condition-Staggered"]=0),g&&(b["condition-Wounds"]=0)):u=l+f-i,a!==parseInt(e.hp_ability_bonus,10)&&(b.hp_ability_bonus=a),d&&u!==l?b.HP=u:d||(u=l),i!==f&&(b.HP_max=f),f!==parseInt(e["non-lethal-damage_max"],10)&&(b["non-lethal-damage_max"]=f)}catch(e){v.default.error("PFHealth.updateMaxHPLookup",e)}finally{h.default.size(b)>0?S.setWrapper(b,w.default.silentParams,function(){d&&!n&&i!==f&&(c(u,o,p,0,e["HP-ability"],t,e["condition-Staggered"]),g&&s(u+o,f,_,t,e)),r()}):r()}})}function p(e,t,a){var n=h.default.once(function(){"function"==typeof e&&e()});getAttrs(["HP-temp","HP-temp_max","HP-temp-misc","buff_HP-temp-total"],function(e){var r,i,l,s={};try{r=(parseInt(e["HP-temp-misc"],10)||0)+(parseInt(e["buff_HP-temp-total"],10)||0),i=parseInt(e["HP-temp"],10)||0,l=a?r:i+r-i,a||l!==i?(t&&(s=w.default.silentParams),S.setWrapper({"HP-temp":l,"HP-temp_max":r},s,function(){u(),n()})):n()}catch(e){v.default.error("updateTempMaxHP",e),n()}})}function f(e,t){var a=h.default.once(function(){"function"==typeof e&&e()});S.setWrapper({use_prestige_fame:1,auto_calc_hp:1,autohp_percent:1,maxhp_lvl1:1},w.default.silentParams,function(){t&&x.setHitPoints(a,!1,t)})}function m(e){getAttrs(["npc-hd","npc-hd-num","NPC-HP","is_npc"],function(e){var t=parseInt(e["npc-hd"],10)||0,a=parseInt(e["npc-hd-num"],10)||0,n=parseInt(e["NPC-HP"],10)||0,r=parseInt(e.is_npc,10)||0;r?S.setWrapper({"npc-hd-num2":0,"npc-hd2":0,"HP-misc":"","HP-misc-mod":0}):t||a||!n||S.setWrapper({"npc-hd-num":"","NPC-HP":0})})}function _(e,t){var a=h.default.once(function(){"function"==typeof e&&e()});C.migrateHPMisc(a),t<1.18&&m()}function g(){on("change:set_pfs",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs(["set_pfs"],function(t){parseInt(t.set_pfs,10)&&f(null,e)})})),on("change:hp-ability-mod change:level change:total-hp change:total-mythic-hp change:hp-formula-mod ",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||d()})),on("change:mythic-adventures-show",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs(["total-mythic-hp"],function(e){(parseInt(e["total-mythic-hp"],10)||0)>0&&d()})})),on("change:hp-temp-misc",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||p()})),on("change:HP_reset",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(d(null,null,e,!0),p(null,null,!0),S.setWrapper({HP_reset:"0"},w.default.silentParams))})),on("change:HP change:non-lethal-damage",v.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),u(e))})),on("change:wound_threshold-show",v.default.callback(function(e){v.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||o(e)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.setWoundThreshholdsLookup=o,t.updateCurrHPLookup=u,t.updateMaxHPLookup=d,t.updateTempMaxHP=p,t.setToPFS=f,t.ensureNPCHPZero=m,t.migrate=_;var b=a(1),h=r(b),y=(a(4),a(0)),v=r(y),k=a(3),w=r(k),A=a(6),C=n(A),I=a(27),x=n(I),P=a(2),S=n(P);t.recalculate=v.default.callback(function(e,t,a){var n=h.default.once(function(){v.default.info("leaving PFHealth.recalculate"),"function"==typeof e&&e()}),r=h.default.once(function(){o(),n()}),i=h.default.once(function(){d(r,t)}),l=h.default.once(function(){p(i)});_(l,a)});g()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=A.default.once(function(){"function"==typeof t&&t()}),n=["spell_level","spellclass_number","name","school","slot","metamagic","used","isDomain","isMythic"],r="&{template:pf_block} @{toggle_spell_accessible} @{toggle_rounded_flag}{{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_block}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=@{spellclass-0-name} ^{spells}}} {{concentration=@{Concentration-0}}} {{casterlevel=@{spellclass-0-level-total}}} {{row01=**^{checks}**}} {{row02=[^{caster-level-check}](~@{character_id}|Spell-Class-0-CL-Check) [^{concentration-check}](~@{character_id}|Concentration-Check-0) [^{spell-failure}](~@{character_id}|Spell-Fail-Check)}}",i="&{template:pf_block} @{toggle_spell_accessible} @{toggle_rounded_flag}{{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_block}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=@{spellclass-1-name} ^{spells}}} {{concentration=@{Concentration-1}}} {{casterlevel=@{spellclass-1-level-total}}} {{row01=**^{checks}**}} {{row02=[^{caster-level-check}](~@{character_id}|Spell-Class-1-CL-Check) [^{concentration-check}](~@{character_id}|Concentration-Check-1) [^{spell-failure}](~@{character_id}|Spell-Fail-Check)}}",l="&{template:pf_block} @{toggle_spell_accessible} @{toggle_rounded_flag}{{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_block}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=@{spellclass-2-name} ^{spells}}} {{concentration=@{Concentration-2}}} {{casterlevel=@{spellclass-2-level-total}}} {{row01=**^{checks}**}} {{row02=[^{caster-level-check}](~@{character_id}|Spell-Class-2-CL-Check) [^{concentration-check}](~@{character_id}|Concentration-Check-2) [^{spell-failure}](~@{character_id}|Spell-Fail-Check)}}",s="&{template:pf_block} @{toggle_spell_accessible} @{toggle_rounded_flag}{{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_block}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=^{npc} @{spellclass-0-name} ^{spells}}} {{concentration=@{Concentration-0}}} {{casterlevel=@{spellclass-0-level-total}}} {{row01=**^{checks}**}} {{row02=[^{caster-level-check}](~@{character_id}|Spell-Class-0-CL-Check) [^{concentration-check}](~@{character_id}|Concentration-Check-0) [^{spell-failure}](~@{character_id}|Spell-Fail-Check)}}",o="&{template:pf_block} @{toggle_spell_accessible} @{toggle_rounded_flag}{{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_block}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=^{npc} @{spellclass-1-name} ^{spells}}} {{concentration=@{Concentration-1}}} {{casterlevel=@{spellclass-1-level-total}}} {{row01=**^{checks}**}} {{row02=[^{caster-level-check}](~@{character_id}|Spell-Class-1-CL-Check) [^{concentration-check}](~@{character_id}|Concentration-Check-1) [^{spell-failure}](~@{character_id}|Spell-Fail-Check)}}",c="&{template:pf_block} @{toggle_spell_accessible} @{toggle_rounded_flag}{{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{header_image-pf_block}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=^{npc} @{spellclass-2-name} ^{spells}}} {{concentration=@{Concentration-2}}} {{casterlevel=@{spellclass-2-level-total}}} {{row01=**^{checks}**}} {{row02=[^{caster-level-check}](~@{character_id}|Spell-Class-2-CL-Check) [^{concentration-check}](~@{character_id}|Concentration-Check-2) [^{spell-failure}](~@{character_id}|Spell-Fail-Check)}}",u=[r,i,l],d=[s,o,c],p=function(e){ +var t=[],n=0;for(n=0;n<3;n++)e["spellclass-"+n+"-book"].slice(13)!==u[n].slice(13)&&(t["spellclass-"+n+"-book"]=u[n]),e["spellclass-"+n+"-book-npc"].slice(13)!==d[n].slice(13)&&(t["spellclass-"+n+"-book-npc"]=d[n]);A.default.size(t)>0?T.setWrapper(t,P.default.silentParams,a):a()};getAttrs(["spellclass-0-casting_type","spellclass-1-casting_type","spellclass-2-casting_type","spellclass-0-hide_unprepared","spellclass-1-hide_unprepared","spellclass-2-hide_unprepared","spellclass-0-book","spellclass-1-book","spellclass-2-book","spellclass-0-book-npc","spellclass-1-book-npc","spellclass-2-book-npc","spellclass-0-show_domain_spells","spellclass-1-show_domain_spells","spellclass-2-show_domain_spells","spellmenu_groupby_school","spellmenu_show_uses","mythic-adventures-show"],function(e){var t=[],r=[],i=[],l=0,s=0,o=0;try{t=[2===parseInt(e["spellclass-0-casting_type"],10),2===parseInt(e["spellclass-1-casting_type"],10),2===parseInt(e["spellclass-2-casting_type"],10)],r=[parseInt(e["spellclass-0-show_domain_spells"],10)||0,parseInt(e["spellclass-1-show_domain_spells"],10)||0,parseInt(e["spellclass-2-show_domain_spells"],10)||0],i=[parseInt(e["spellclass-0-hide_unprepared"],10)||0,parseInt(e["spellclass-1-hide_unprepared"],10)||0,parseInt(e["spellclass-2-hide_unprepared"],10)||0],l=parseInt(e.spellmenu_groupby_school,10)||0,s=parseInt(e.spellmenu_show_uses,10)||0,o=parseInt(e["mythic-adventures-show"],10)||0}catch(e){return I.default.error("PFSpells.resetCommandMacro, error assembling global vars",e),void a()}getSectionIDs("repeating_spells",function(c){return c&&0!==c.length?void getAttrs(["_reporder_repeating_spells"],function(p){var f;try{f=A.default.chain(c).map(function(e){var t="repeating_spells_"+T.getRepeatingIDStr(e),a=[];return A.default.each(n,function(e){a.push(t+e)}),a}).flatten().value()}catch(e){return I.default.error("PFSpells.resetCommandMacro errouter",e),void a()}getAttrs(f,function(n){var f,m,_,g,b,h,y,v=0,k=/[^\(\[]*/,w={},C=0;try{for(A.default.isUndefined(p._reporder_repeating_spells)||""===p._reporder_repeating_spells?f=c:(m=p._reporder_repeating_spells.split(","),m=A.default.map(m,function(e){return e.toLowerCase()}),f=A.default.intersection(A.default.union(m,c),c),v=1),_=A.default.chain(f).map(function(e){var t,a="",r=0,i=0,l="",s="",c=0,u="",d="",p=0,f=0,m=0,_="";try{a="repeating_spells_"+T.getRepeatingIDStr(e),r=parseInt(n[a+"metamagic"],10)||0,i=r?n[a+"slot"]||n[a+"spell_level"]:n[a+"spell_level"],l=n[a+"school"]||"",t=k.exec(n[a+"school"]||""),t&&t[0]&&(l=T.trimBoth(t[0]),l=l[0].toUpperCase()+l.slice(1).toLowerCase()),s="^{level} "+String(i),c=parseInt(n[a+"spell_level"],10)||0,u=parseInt(n[a+"spellclass_number"],10)||0,d="class"+(n[a+"spellclass_number"]||"0"),p=parseInt(n[a+"isDomain"],10)||0,f=o*parseInt(n[a+"isMythic"],10)||0,m=parseInt(n[a+"used"],10)||0,_=n[a+"name"]||""}catch(t){I.default.error("PFSpells.resetCommandMacro errmap on id "+e,t)}finally{return{id:e,level:i,levelstr:s,rawlevel:c,school:l,spellClass:u,spellClassstr:d,isDomain:p,isMythic:f,uses:m,name:_}}}).omit(function(e){return i[e.spellClass]&&t[e.spellClass]&&0===e.uses&&!(r[e.spellClass]&&e.isDomain)}).map(function(e){var a=e.name,n="",r="",i="",o="",c="";try{a=T.escapeForChatLinkButton(a),a=T.escapeForRollTemplate(a),a=T.trimBoth(a),n=s?"("+e.uses+")":"",s&&t[e.spellClass]&&e.isDomain&&(n=""),i=e.isMythic?"🄜":"",r=e.isDomain?"🄓":"",o=l?e.level+":":"",c=n||i||r?" ":"",a=" ["+o+a+c+r+i+n+"]"}catch(e){I.default.error("PFSpells.resetCommandMacro error creating link name:",e)}finally{return e.pcChatLink=a+"(~@{character_id}|repeating_spells_"+e.id+"_roll)",e.npcChatLink=a+"(~@{character_id}|repeating_spells_"+e.id+"_npc-roll)",e}}).value(),v||(_=A.default.sortBy(_,"level")),_=A.default.chain(_).groupBy("spellClassstr").mapObject(function(e){return A.default.chain(e).sortBy(l?"school":"levelstr").groupBy(l?"school":"levelstr").value()}).value(),g={},b={},C=10,A.default.each(_,function(e,t){var a="",n="";A.default.each(e,function(e,t){C++,a+=" {{row"+C+"=**"+t+"**}}",n+=" {{row"+C+"=**"+t+"**}}",C++,a+=" {{row"+C+"=",n+=" {{row"+C+"=",A.default.each(e,function(e){a+=e.pcChatLink,n+=e.npcChatLink}),a+="}}",n+="}}"}),g[t]=a,b[t]=n}),h=0;h<3;h++)y=u[h]+g["class"+h],y&&e["spellclass-"+h+"-book"].slice(13)!==y.slice(13)?w["spellclass-"+h+"-book"]=y:y||e["spellclass-"+h+"-book"].slice(13)===u[h].slice(13)||(w["spellclass-"+h+"-book"]=""),y=d[h]+b["class"+h],y&&e["spellclass-"+h+"-book-npc"].slice(13)!==y.slice(13)?w["spellclass-"+h+"-book-npc"]=y:y||e["spellclass-"+h+"-book-npc"].slice(13)===d[h].slice(13)||(w["spellclass-"+h+"-book-npc"]="");A.default.size(w)>0?T.setWrapper(w,P.default.silentParams,a):a()}catch(e){I.default.error("PFSpells.resetCommandMacro",e),a()}})}):void p(e)})})}function l(e,t,a,n){var r=A.default.once(function(){"function"==typeof a&&a()}),i=["total_spells_manually","repeating_spells_used","repeating_spells_spellclass_number","repeating_spells_spell_level","repeating_spells_slot","repeating_spells_metamagic"];getAttrs(i,function(e){var a,n=0,i=0,l=0,s="",o="",c={};try{parseInt(e.total_spells_manually,10)?r():(a=parseInt(e.repeating_spells_spell_level,10)||0,n=parseInt(e.repeating_spells_spellclass_number,10),isNaN(n)&&setAttrs({repeating_spells_spellclass_number:0}),l=parseInt(e.repeating_spells_metamagic,10)||0,l&&(i=parseInt(e.repeating_spells_slot,10),isNaN(i)||(a=i)),s="spellclass-"+n+"-level-"+a+"-spells-per-day",o="spellclass-"+n+"-level-"+a+"-spells-prepared",c[s]=0,c[o]=0,I.default.repeating("spells").attrs(s,o).fields("row_id","used","spell_level","metamagic","slot").reduce(function(e,t){try{(t.I.spell_level===a||t.I.metamagic&&t.I.slot===a)&&(e+=t.I.used)}catch(e){I.default.error("PFSpells.updateSpellsPerDay innererr",e)}finally{return e}},0,function(e,t,a){try{a.S[s]=e,a.S[o]=e}catch(t){I.default.error("ERROR calculating spells per day!",t),a&&a.I&&(a.I[s]=e,a.I[o]=e)}}).execute(r))}catch(e){I.default.error("PFSpells.updateSpellsPerDay ERROR",e,t)}})}function s(e,t,a){var n=0,r=[0,0,0],i=[[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0]],l=[[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0]];try{n=parseInt(t.total_spells_manually,10)||0,r[0]=parseInt(t["spellclass-0-casting_type"],10)||0,parseInt(t.spellclasses_multiclassed,10)&&(r[1]=parseInt(t["spellclass-1-casting_type"],10)||0,r[2]=parseInt(t["spellclass-2-casting_type"],10)||0),A.default.each(e,function(e){var r,s,o="repeating_spells_"+T.getRepeatingIDStr(e),c=0,u=0,d=0;try{r=parseInt(t[o+"spell_level"],10)||0,c=parseInt(t[o+"spellclass_number"],10),isNaN(c)&&(c=0,a[o+"spellclass_number"]=0),u=parseInt(t[o+"metamagic"],10)||0,s=parseInt(t[o+"slot"],10),isNaN(s)?a[o+"slot"]=r:u&&s!==r?r=s:s!==r&&(s=r,a[o+"slot"]=r),l[c][r]+=1,n||(d=parseInt(t[o+"used"],10)||0,i[c][r]+=d)}catch(e){I.default.error("PFSpells.getSpellTotals err2",e)}}),A.default.each(P.default.spellClassIndexes,function(e){A.default.each(U,function(s){var o="spellclass-"+e+"-level-"+s,c=0,u=0;c=parseInt(t[o+"-total-listed"],10)||0,c!==l[e][s]&&(a[o+"-total-listed"]=l[e][s]),u=parseInt(t[o+"-spells-per-day"],10)||0,r[e]>0&&!n?u!==i[e][s]&&(a[o+"-spells-per-day"]=i[e][s]):0!==u&&(a[o+"-spells-per-day"]=0)})})}catch(e){I.default.error("PFSpells.getSpellTotals",e)}finally{return a}}function o(e,t,a,n){var r=A.default.once(function(){"function"==typeof a&&a()});getSectionIDs("repeating_spells",function(e){var t=["total_spells_manually","spellclasses_multiclassed","spellclass-0-casting_type","spellclass-1-casting_type","spellclass-2-casting_type"],a=["spellclass_number","spell_level","slot","metamagic","used"];try{A.default.each(e,function(e){var n="repeating_spells_"+T.getRepeatingIDStr(e);A.default.each(a,function(e){t.push(n+e)})}),A.default.each(P.default.spellClassIndexes,function(e){A.default.each(U,function(a){t.push("spellclass-"+e+"-level-"+a+"-total-listed"),t.push("spellclass-"+e+"-level-"+a+"-spells-prepared"),t.push("spellclass-"+e+"-level-"+a+"-spells-per-day")})}),getAttrs(t,function(t){var a={};try{a=s(e,t,a),A.default.size(a)?T.setWrapper(a,P.default.silentParams,r):r()}catch(e){I.default.error("PFSpells.resetSpellsTotals innererror:",e),r()}})}catch(e){I.default.error("PFSpells.resetSpellsTotals:",e),r()}})}function c(e,t,a,n,r){var i="",l="";n=n||{};try{I.default.debug("UPDATING SPELL ATTACK: "+e,a),l=E.findAbilityInString(a[e+"spell-attack-type"]),a[e+"name"]&&(r||(n[t+"name"]=a[e+"name"]),n[t+"source-spell-name"]=a[e+"name"]),l&&(n[t+"attack-type"]=a[e+"spell-attack-type"],/CMB/i.test(l)?n[t+"vs"]="cmd":n[t+"vs"]="touch"),a[e+"range_numeric"]&&(n[t+"range"]=a[e+"range_numeric"]),a[e+"range"]&&"see_text"===a[e+"range_pick"]&&(i+="Range:"+a[e+"range"]),a[e+"damage-macro-text"]&&(n[t+"precision_dmg_macro"]=a[e+"damage-macro-text"],l&&(n[t+"critical_dmg_macro"]=a[e+"damage-macro-text"])),a[e+"damage-type"]&&(n[t+"precision_dmg_type"]=a[e+"damage-type"],l&&(n[t+"critical_dmg_type"]=a[e+"damage-type"])),a[e+"save"]&&(i+="Save: "+a[e+"save"],/none/.test(a[e+"save"])||(i+=" DC: "+a[e+"savedc"])),a[e+"sr"]&&(i&&(i+=", "),i+="Spell resist:"+a[e+"sr"]),i&&(n[t+"notes"]=i)}catch(e){I.default.error("PFSpells.setAttackEntryVals",e)}finally{return n}}function u(e,t,a,n,r){var i=A.default.once(function(){"function"==typeof t&&t()}),l=[],s="",o="",u="",d=["create-attack-entry","range_pick","range","range_numeric","damage-macro-text","damage-type","sr","savedc","save"],p=["spell-attack-type","name"];try{if("DELETED"==e)return void i();s=e||(n?T.getRowId(n.sourceAttribute):""),o=T.getRepeatingIDStr(s),u="repeating_spells_"+o,d.forEach(function(e){l.push(u+e)}),p.forEach(function(e){l.push(u+e)})}catch(t){return I.default.error("PFSpells.createAttackEntryFromRow erro:",t,e,n),void i()}getAttrs(l,function(e){var t="",n={},l="repeating_weapon_",o="",d=!0,p=!1,f={};try{I.default.debug("PFSpells.createAttack ##### create attack linked from spell, using ",e),0===A.default.size(e)&&(d=!1),I.default.debug("PFSpells.createAttack ##### spellexists = "+d),d?E.findAbilityInString(e[u+"spell-attack-type"])||e[u+"damage-macro-text"]?(t=r?r:generateRowID(),o=t+"_",l+=o,n=c(u,l,e,n),n[l+"source-spell"]=s,n[l+"group"]="Spell",n[l+"link_type"]=H.linkedAttackType.spell):I.default.warn("no attack to create for spell "+e[u+"name"]+", "+s):r&&(n["repeating_weapon_"+r+"_source-spell"]="DELETED",p=!0,I.default.debug("seting deletedspell to "+p,n))}catch(e){I.default.error("PFSpells.createAttackEntryFromRow",e)}finally{p?T.setWrapper(n,P.default.silentParams,i):A.default.size(n)>0?(n[u+"create-attack-entry"]=0,a&&(f=P.default.silentParams),T.setWrapper(n,f,function(){O.resetOption(t),B.resetCommandMacro(),i()})):(n[u+"create-attack-entry"]=0,T.setWrapper(n,P.default.silentParams,i))}})}function d(e,t,a,n){var r=A.default.once(function(){"function"==typeof t&&t()}),i="",l="",s=[];try{i=e||(n?T.getRowId(n.sourceAttribute):""),l="repeating_spells_"+T.getRepeatingIDStr(i),s=[l+"range_pick",l+"range",l+"range_numeric",l+"damage-macro-text",l+"damage-type",l+"sr",l+"savedc",l+"save",l+"spell-attack-type",l+"name"]}catch(t){return I.default.error("PFSpells.updateAssociatedAttack erro",t,e,n),void r()}getAttrs(s,function(e){getSectionIDs("repeating_weapon",function(t){var n=[];n=A.default.reduce(t,function(e,t){return e.push("repeating_weapon_"+t+"_source-spell"),e},[]),getAttrs(n,function(n){var s={},o={},u=[];try{A.default.each(t,function(t){var a="repeating_weapon_"+t+"_";n[a+"source-spell"]===i&&(u.push(t),s=c(l,a,e,s,!0))}),a&&(o=P.default.silentParams)}catch(e){I.default.error("PFSpells.updateAssociatedAttack",e)}finally{A.default.size(s)>0?T.setWrapper(s,o,function(){O.resetSomeOptions(u)}):r()}})})})}function p(e,t){getAttrs(["repeating_spells_used","repeating_spells_spellclass_number","repeating_spells_prepared_state","spellclass-0-hide_unprepared","spellclass-1-hide_unprepared","spellclass-2-hide_unprepared"],function(e){var t=parseInt(e.repeating_spells_used,10)||0,a=parseInt(e.repeating_spells_prepared_state,10)||0,n=e.repeating_spells_spellclass_number,r=2===(parseInt(e["spellclass-"+n+"-casting_type"],10)||0)?1:0,l=r*(parseInt(e["spellclass-"+n+"-hide_unprepared"],10)||0),s={};t>0&&0===a?s.repeating_spells_prepared_state="1":t<1&&0!==a&&(s.repeating_spells_prepared_state="0"),isNaN(n)&&(s.repeating_spells_spellclass_number=0),A.default.size(s)&&(l?T.setWrapper(s,P.default.silentParams,i()):T.setWrapper(s,P.default.silentParams))})}function f(){getSectionIDs("repeating_spells",function(e){var t=[];A.default.each(e,function(e){var a=T.getRepeatingIDStr(e),n="repeating_spells_"+a;t.push(n+"used"),t.push(n+"prepared_state")}),getAttrs(t,function(t){var a={};A.default.each(e,function(e){var a=T.getRepeatingIDStr(e),n="repeating_spells_"+a,r=parseInt(t[n+"used"],10)||0,i=parseInt(t[n+"prepared_state"],10)||0,l={};r>0&&0===i?l[n+"prepared_state"]="1":r<1&&0!==i&&(l[n+"prepared_state"]="0")}),A.default.size(a)&&T.setWrapper(a,P.default.silentParams)})})}function m(e,t,a){var n=A.default.once(function(){"function"==typeof a&&a()});return e>=0&&e<=2&&!isNaN(parseInt(e,10))?void getAttrs(["spellclass-"+e+"-level-total","spellclasses_multiclassed","Concentration-"+e+"-misc-mod","spellclass-"+e+"-name","spellclass-"+e+"-SP-mod","Concentration-"+e+"-def","Concentration-"+e+"-mod"],function(a){var r=parseInt(a["spellclass-"+e+"-level-total"],10)||0,i=parseInt(a["Concentration-"+e+"-mod"],10)||0,l=parseInt(a.spellclasses_multiclassed,10)||0,s=parseInt(a["Concentration-"+e+"-def"],10),o=parseInt(a["Concentration-"+e+"-misc-mod"],10)||0,c=parseInt(a["spellclass-"+e+"-SP-mod"],10)||0,u=(a["spellclass-"+e+"-name"]||"",!!t&&/\-def$/i.test(t.sourceAttribute));return r<=0?void n():void getSectionIDs("repeating_spells",function(t){var a=["casterlevel","CL_misc","spell_class_r","spellclass_number","spellclass","range","range_numeric","range_pick","SP-mod","SP_misc","Concentration_misc","Concentration-mod","spell_options"],d=A.default.reduce(t,function(e,t){var n,r="repeating_spells_"+T.getRepeatingIDStr(t);return n=A.default.map(a,function(e){return r+e}),e.concat(n)},["spellclass-0-name"]);getAttrs(d,function(a){var d=(A.default.after(A.default.size(t),n),{}),p={};try{A.default.each(t,function(t){var n="repeating_spells_"+T.getRepeatingIDStr(t),f=parseInt(a[n+"spellclass_number"],10),m=parseInt(a[n+"spell_class_r"],10),_=a[n+"range_pick"]||"",g=parseInt(a[n+"range_numeric"],10)||0,b=parseInt(a[n+"Concentration_misc"],10)||0,h=a[n+"spell_options"],y=0,v="",k=0,w=0,A=0,C=0,x="",P=0;try{isNaN(f)&&(f=0,d[n+"spellclass_number"]=0,d[n+"spellclass"]=a["spellclass-0-name"]||""),l&&f!==e||((f!==m||isNaN(m))&&(p[n+"spell_class_r"]=f),x=a["spellclass-"+f+"-name"]||"",x!==a[n+"spellclass"]&&(p[n+"spellclass"]=x,h&&(h=h.replace(L.optionTemplateRegexes.spellclass,L.optionTemplates.spellclass.replace("REPLACE",T.escapeForRollTemplate(x))),y=1)),k=parseInt(a[n+"casterlevel"],10),w=r+(parseInt(a[n+"CL_misc"],10)||0),w<1&&(w=1),(w!==k||isNaN(k))&&(k=w,p[n+"casterlevel"]=w,h&&(h=h.replace(L.optionTemplateRegexes.casterlevel,L.optionTemplates.casterlevel.replace("REPLACE",w)),h=h.replace(L.optionTemplateRegexes.casterlevel_chk,L.optionTemplates.casterlevel_chk.replace("REPLACE",w)),y=1)),P=E.findSpellRange(a[n+"range"],_,k)||0,P!==g&&(p[n+"range_numeric"]=P,h&&(h=h.replace(L.optionTemplateRegexes.range,L.optionTemplates.range.replace("REPLACE",P)),y=1)),u&&h&&(v=s>0?L.optionTemplates.cast_def.replace("REPLACE",s):"{{cast_def=}}",h.indexOf("{{cast_def=")>=0?h=h.replace(L.optionTemplateRegexes.cast_def,v):h+=v,y=1),A=w+i+o+b,A!==(parseInt(a[n+"Concentration-mod"],10)||0)&&(p[n+"Concentration-mod"]=A,h&&(h=h.replace(L.optionTemplateRegexes.Concentration,L.optionTemplates.Concentration.replace("REPLACE",A)),h=h.replace(L.optionTemplateRegexes.Concentration_chk,L.optionTemplates.Concentration_chk.replace("REPLACE",A)),y=1)),C=c+(parseInt(a[n+"SP_misc"],10)||0),C!==(parseInt(a[n+"SP-mod"],10)||0)&&(p[n+"SP-mod"]=C,h&&(h=h.replace(L.optionTemplateRegexes.spellPen,L.optionTemplates.spellPen.replace("REPLACE",C)),y=1)),y&&(p[n+"spell_options"]=h))}catch(e){I.default.error("updateSpellsCasterLevelRelated innererror on id: "+t,e)}})}catch(e){I.default.error("updateSpellsCasterLevelRelated error:",e)}finally{A.default.size(p)>0||A.default.size(d)>0?(A.default.size(d)>0&&T.setWrapper(d,{},n),A.default.size(p)>0&&T.setWrapper(p,P.default.silentParams,n)):n()}})})}):void n()}function _(e,t,a){var n=A.default.once(function(){"function"==typeof a&&a()});return e>=0&&e<=2&&!isNaN(parseInt(e,10))?void getAttrs(["spellclass-"+e+"-level-total","Concentration-"+e+"-mod","Concentration-"+e+"-misc-mod","spellclasses_multiclassed"],function(t){var a,r,i;try{if(a=parseInt(t["Concentration-"+e+"-mod"],10)||0,r=parseInt(t["Concentration-"+e+"-misc-mod"],10)||0,i=parseInt(t.spellclasses_multiclassed,10)||0,!parseInt(t["spellclass-"+e+"-level-total"],10))return void n();getSectionIDs("repeating_spells",function(t){var l=[];A.default.each(t,function(e){var t="repeating_spells_"+T.getRepeatingIDStr(e);l=l.concat([t+"spellclass_number",t+"spell_level",t+"spell_level_r",t+"spellclass_number",t+"casterlevel",t+"DC_misc",t+"savedc",t+"Concentration-mod",t+"Concentration_misc",t+"spell_options"])}),getAttrs(l,function(l){var s=0,o=0,c={};try{A.default.each(t,function(t){var n,u=0,d=0,p=0,f=0,m=0,_="repeating_spells_"+T.getRepeatingIDStr(t),g=l[_+"spell_options"],b=parseInt(l[_+"Concentration_misc"],10)||0;try{n=parseInt(l[_+"spellclass_number"],10),isNaN(n)&&(n=0,c[_+"spellclass_number"]=0),i&&n!==e||(u=parseInt(l[_+"spell_level"],10),d=parseInt(l[_+"spell_level_r"],10),isNaN(u)&&(u=0,c[_+"spell_level"]=0,I.default.warn("spell level was NaN for "+_)),(u!==d||isNaN(d))&&(c[_+"spell_level_r"]=u),p=10+u+a+(parseInt(l[_+"DC_misc"],10)||0),m=parseInt(l[_+"savedc"],10)||0,p!==m&&(c[_+"savedc"]=p,g&&(g=g.replace(L.optionTemplateRegexes.dc,L.optionTemplates.dc.replace("REPLACE",p)),f=1)),o=parseInt(l[_+"casterlevel"],10)||0,isNaN(o)?I.default.warn("spell casterlevel is NaN for "+_):(s=o+a+r+b,s!==(parseInt(l[_+"Concentration-mod"],10)||0)&&(c[_+"Concentration-mod"]=s,g&&(g=g.replace(L.optionTemplateRegexes.Concentration,L.optionTemplates.Concentration.replace("REPLACE",s)),g=g.replace(L.optionTemplateRegexes.Concentration_chk,L.optionTemplates.Concentration_chk.replace("REPLACE",s)),f=1)),f&&g&&(c[_+"spell_options"]=g)))}catch(e){I.default.error("updateSpellsCasterAbilityRelated innererror on id:"+t,e)}})}catch(e){I.default.error("updateSpellsCasterAbilityRelated miderr :",e)}finally{A.default.size(c)>0?T.setWrapper(c,P.default.silentParams,n()):n()}})})}catch(e){I.default.error("updateSpellsCasterAbilityRelated outer error:",e)}}):void n()}function g(e,t,a,n){var r,l=!1,s=!1,c=A.default.once(function(){l||(L.resetOption(e,t),n||(o(),i())),"function"==typeof a&&a()}),u="",d="",p="",f="",m="",_="",g="",b="",h="",y="",v=[],k=!1,w=!1,C=!1,x=!1,S=!1,D=!1,M=!1,F=!1,R="";if(t&&t.sourceAttribute){if(R=t.sourceAttribute.toLowerCase(),r=R.match(/name|lvlstr|category|meta|range_pick|range|sp_misc|cl_misc|spellclass_number|spell_level|dc_misc|concen|slot/),!r||!r[0])return I.default.warn("Unimportant field updated, do not update row: "+t.sourceAttribute),void("function"==typeof a&&a());switch(r[0]){case"name":k=!0,D=!0;break;case"range_pick":case"range":C=!0;break;case"sp_misc":x=!0;break;case"cl_misc":w=!0,C=!0;break;case"spellclass_number":k=!0;break;case"concen":S=!0;break;case"spell_level":D=!0;break;case"dc_misc":M=!0;break;case"slot":case"meta":F=!0;break;case"lvlstr":case"category":k=!0,D=!0;break;default:k=!0,D=!0}u=T.getRepeatingIDStr(e),d="repeating_spells_"+u,p=d+"spellclass",f=d+"spell_class_r",m=d+"spellclass_number",_=d+"casterlevel",g=d+"spell_level",b=d+"spell_level_r",h=d+"DC_misc",y=d+"savedc"}else k=!0,D=!0;v=[m,f,p,_,d+"CL_misc",d+"range_pick",d+"range",d+"range_numeric",d+"SP-mod",d+"SP_misc",d+"Concentration_misc",d+"Concentration-mod",d+"spell_options",d+"used",d+"slot",d+"metamagic",g,b,h,y,"spellclass-0-level-total","spellclass-1-level-total","spellclass-2-level-total","spellclass-0-SP-mod","spellclass-1-SP-mod","spellclass-2-SP-mod","Concentration-0-mod","Concentration-1-mod","Concentration-2-mod","Concentration-0-misc-mod","Concentration-1-misc-mod","Concentration-2-misc-mod","Concentration-0-def","Concentration-1-def","Concentration-2-def","spellclass-0-name","spellclass-1-name","spellclass-2-name"],getAttrs(v,function(t){var a,n,r,i,o={},u=0,v=0,R="",N=0,L=0,z=0,O=0,W=0,B=10,q=0,H=0,U="",j=0,G=0,X=!1,V=0;try{a=parseInt(t[m],10),isNaN(a)&&(s=!0,a=0,o[m]=0,o[f]=0,X=!0,k=!0),n=parseInt(t[g],10),r=parseInt(t[d+"slot"],10),isNaN(n)&&(l=!0,n=0,r=0,o[b]=0,o[d+"slot"]=0,o[g]=0,D=!0),(k||w||S||M||C||x)&&(u=a||0,v=parseInt(t[f],10)),(D||M||F||k)&&(N=n||0,L=parseInt(t[d+"metamagic"],10)||0,z=parseInt(t[b],10),q=L?r:N),(k||w||S||C)&&(i=parseInt(t[_],10),isNaN(i)?(w=!0,C=!0):O=i),(k||S||M||D)&&(W=parseInt(t["Concentration-"+u+"-mod"],10)||0),(k||C||w)&&(H=parseInt(t[d+"range_numeric"],10)||0,U=t[d+"range_pick"]||"blank"),k&&(u!==v&&(o[f]=u),R=t["spellclass-"+u+"-name"]||"",t[p]!==R&&(o[p]=R)),(D||F)&&(L?r!==z&&(o[b]=r,o.spells_tab=r):(N!==z&&(o[b]=N,o.spells_tab=N),N!==r&&(o[d+"slot"]=N,r=N))),(w||k)&&(O=(parseInt(t["spellclass-"+u+"-level-total"],10)||0)+(parseInt(t[d+"CL_misc"],10)||0),O<1&&(O=1),(i!==O||isNaN(i))&&(o[d+"casterlevel"]=O)),(M||D)&&(B=10+N+W+(parseInt(t[h],10)||0),B!==(parseInt(t[y],10)||0)&&(o[y]=B)),(S||w||k)&&(G=O+W+(parseInt(t["Concentration-"+u+"-misc-mod"],10)||0)+(parseInt(t[d+"Concentration_misc"],10)||0),G!==(parseInt(t[d+"Concentration-mod"],10)||0)&&(o[d+"Concentration-mod"]=G)),(C||w||k)&&(V=E.findSpellRange(t[d+"range"],U,O)||0,V!==H&&(o[d+"range_numeric"]=V)),(x||k)&&(j=(parseInt(t["spellclass-"+u+"-SP-mod"],10)||0)+(parseInt(t[d+"SP_misc"],10)||0),j!==(parseInt(t[d+"SP-mod"],10)||0)&&(o[d+"SP-mod"]=j))}catch(t){I.default.error("PFSpells.updateSpell:"+e,t)}finally{A.default.size(o)>0?T.setWrapper(o,P.default.silentParams,c):c()}})}function b(e,t,a){var n=function(){"function"==typeof a&&a()},r=T.getRepeatingIDStr(e),i="repeating_spells_"+r,l=i+"spell_level_r",s=i+"slot",o=i+"spell_level",c=i+"metamagic";getAttrs([s,o,c,l],function(r){var i,u,d,p,f=!1,m={};try{i=parseInt(r[s],10),u=parseInt(r[o],10),d=parseInt(r[c],10)||0,p=parseInt(r[l],10)||0,isNaN(u)&&(u=0,m[o]=0,m[s]=0),isNaN(i)&&(i=u,m[s]=u),d?i!==u&&(m[l]=i,m.spells_tab=i,f=!0):p!==u&&(m[l]=u,f=!0)}catch(e){I.default.error("PFSpells.toggleMetaMagic",e)}finally{A.default.size(m)?T.setWrapper(m,P.default.silentParams,function(){f?g(e,t,a):n()}):n()}})}function h(e,t,a){var n=A.default.once(function(){"function"==typeof e&&e()}),r=A.default.after(3,n);getAttrs(["use_spells","spellclass-0-exists","spellclass-1-exists","spellclass-2-exists"],function(e){parseInt(e.use_spells,10)?A.default.times(3,function(t){parseInt(e["spellclass-"+t+"-exists"],10)?_(t,null,function(){m(t,null,r)}):r()}):n()})}function y(e,t){t&&(e||(e=T.getRowId(t.sourceAttribute))),getAttrs(["repeating_spells_compendium_category","repeating_spells_spell_lvlstr","spellclass-0-name","spellclass-1-name","spellclass-2-name","repeating_spells_range_from_compendium","repeating_spells_target_from_compendium","repeating_spells_area_from_compendium","repeating_spells_effect_from_compendium","repeating_spells_description","repeating_spells_cast-time"],function(a){var n,r,i=a.repeating_spells_spell_lvlstr,l=a.repeating_spells_range_from_compendium,s=(a.repeating_spells_target_from_compendium||"")+(a.repeating_spells_area_from_compendium||"")+(a.repeating_spells_effect_from_compendium||""),o=[],c=[],u=["","",""],d="",p=0,f=-1,m=!1,_={},b=0,h={},y="",v=!1,k=!1,w=!1,C=99,x=99,S=!1,D=1,M=-1,F=0;if(I.default.info("at pfspells.importFromCompendium",a),!/spell/i.test(a.repeating_spells_compendium_category))return _.repeating_spells_name="Cannot parse "+a.repeating_spells_compendium_category,void setAttrs(_,P.default.silentParams);if(i){try{if(i=i.toLowerCase(),a["spellclass-0-name"]&&(y=a["spellclass-0-name"].toLowerCase().replace(/^\s+/,"").match(/\w+/)[0],h[y]=0,u[0]=y,/hunter/.test(y)?(v=!0,x=0):/druid/.test(y)?k=!0:/ranger/.test(y)&&(w=!0)),a["spellclass-1-name"]&&(y=a["spellclass-1-name"].toLowerCase().replace(/^\s+/,"").match(/\w+/)[0],h[y]=1,u[1]=y,/hunter/.test(y)?(v=!0,x=1):/druid/.test(y)?k=!0:/ranger/.test(y)&&(w=!0)),a["spellclass-2-name"]&&(y=a["spellclass-2-name"].toLowerCase().replace(/^\s+/,"").match(/\w+/)[0],h[y]=2,u[2]=y,/hunter/.test(y)?(v=!0,x=2):/druid/.test(y)?k=!0:/ranger/.test(y)&&(w=!0)),(!v||!k&&!w)&&A.default.size(h)>0){for(A.default.each(h,function(e,t){A.default.each(j,function(a,n){t.indexOf(n)>=0&&(h[a]=e)})}),o=i.split(/\s*,\s*/),c=A.default.map(o,function(e){return e.split(/\s+/)}),b=0;b=0&&(F++,m||(d=u[e],p=c[b][1],f=e,m=!0))})}}catch(e){I.default.error("PFSpells.importfromCompendium err2:",e),d="",m=0}try{m?_.repeating_spells_description=T.trimBoth(a.repeating_spells_description):(I.default.warn("importFromCompendium: did not find class match"),_.repeating_spells_description="Original spell level:"+a.repeating_spells_spell_lvlstr+" \r\n"+a.repeating_spells_description,r=A.default.map(c,function(e){return e[1]}),p=A.default.chain(r).countBy().pairs().max(A.default.last).head().value()||0,f=0,d=u[0])}catch(e){I.default.error("PFSpells.importFromCompendium err3",e)}finally{p=p||0,f=f||0,d=d||u[0]||"Sorceror",m=!0}a["repeating_spells_cast-time"]&&(_["repeating_spells_cast-time"]=a["repeating_spells_cast-time"].replace(/standard action/i,"S.A.")),_.repeating_spells_spell_level=p,_.repeating_spells_slot=p,_.repeating_spells_spell_level_r=p,_.repeating_spells_spellclass_number=f,_.repeating_spells_spell_class_r=f,_.repeating_spells_spellclass=d,_.spells_tab=p}if(l)try{n=E.parseSpellRangeText(l,s),_.repeating_spells_range_pick=n.dropdown,_.repeating_spells_range=n.rangetext,"touch"===n.dropdown?(S=!0,_["repeating_spells_spell-attack-type"]="attk-melee"):/ranged touch|ray\s/i.test(a.repeating_spells_description)&&(S=!0,_["repeating_spells_spell-attack-type"]="attk-ranged")}catch(e){I.default.error(e),_.repeating_spells_range=l.replace(/\s*\(..*/,""),_.repeating_spells_range_pick="unknownrange"}s&&(_.repeating_spells_targets=s),_.repeating_spells_spell_lvlstr="",_.repeating_spells_range_from_compendium="",_.repeating_spells_target_from_compendium="",_.repeating_spells_area_from_compendium="",_.repeating_spells_effect_from_compendium="",A.default.size(_)>0&&T.setWrapper(_,P.default.silentParams,function(){g(e,t)})})}function v(e){F.migrateSpellRanges(e)}function k(){var e="";e=A.default.reduce(G.repeatingSpellUpdatesPlayer,function(e,t){return e+="change:repeating_spells:"+t+" "},""),on(e,I.default.callback(function(e){I.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||g(null,e)})),A.default.each(G.repeatingSpellEventsPlayer,function(e,t){A.default.each(e,function(e){on(t,I.default.callback(function(t){I.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||e(null,t)}))})}),on("remove:repeating_spells",I.default.callback(function(e){I.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(H.removeLinkedAttack(null,H.linkedAttackType.spell,T.getRowId(e.sourceAttribute)),i(),o())})),on("change:spellmenu_groupby_school change:spellmenu_show_uses change:spellclass-0-hide_unprepared change:spellclass-1-hide_unprepared change:spellclass-2-hide_unprepared change:spellclass-0-show_domain_spells change:spellclass-1-show_domain_spells change:spellclass-2-show_domain_spells",I.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(I.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i())})),e=A.default.reduce(G.repeatingSpellMenuUpdatePlayer,function(e,t){return e+="change:repeating_spells:"+t+" "},""),on(e,I.default.callback(function(e){I.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||g(null,e)})),on("change:_reporder_repeating_spells",I.default.callback(function(e){"player"===e.sourceType&&(I.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i())})),on("change:repeating_spells:spellclass_number change:repeating_spells:spell_level",I.default.callback(function(e){I.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||o()})),on("change:repeating_spells:create-attack-entry",I.default.callback(function(e){I.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||u(null,null,!1,e)})),e=A.default.reduce(G.repeatingSpellAttackEventsPlayer,function(e,t){return e+="change:repeating_spells:"+t+" "},""),on(e,I.default.callback(function(e){var t;I.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),t=T.getAttributeName(e.sourceAttribute),"player"!==e.sourceType&&"api"!==e.sourceType||d(null,null,null,e)})),e=A.default.reduce(G.repeatingSpellAttackEventsAuto,function(e,t){return e+="change:repeating_spells:"+t+" "},""),on(e,I.default.callback(function(e){var t;I.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),t=T.getAttributeName(e.sourceAttribute),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||d(null,null,null,e)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.classesUsingOtherSpellLists=t.spellLevels=void 0,t.resetCommandMacro=i,t.resetSpellsTotals=o,t.createAttackEntryFromRow=u,t.updateAssociatedAttack=d,t.updateSpellsCasterLevelRelated=m,t.updateSpellsCasterAbilityRelated=_,t.updateSpells=h,t.importFromCompendium=y,t.migrate=v;var w=a(1),A=r(w),C=a(0),I=r(C),x=(a(4),a(3)),P=r(x),S=a(2),T=n(S),D=a(5),E=n(D),M=a(6),F=n(M),R=a(14),N=(n(R),a(31)),L=n(N),z=a(12),O=n(z),W=a(8),B=n(W),q=a(7),H=n(q),U=t.spellLevels=["0","1","2","3","4","5","6","7","8","9"],j=t.classesUsingOtherSpellLists={arcanist:"wizard",investigator:"alchemist",warpriest:"cleric",skald:"bard",bloodrager:"sorcerer"},G=(t.recalculate=I.default.callback(function(e,t,a){var n=A.default.once(function(){"function"==typeof e&&e()}),r=A.default.once(function(){f(),o(null,null,null,t),i(),L.resetOptions(),n()}),l=A.default.once(function(){getAttrs(["use_spells"],function(e){parseInt(e.use_spells,10)?h(r,t):n()})});v(l)}),{repeatingSpellUpdatesPlayer:["DC_misc","Concentration_misc","range","range_pick","CL_misc","SP_misc","spellclass_number","spell_level"],repeatingSpellEventsPlayer:{"change:repeating_spells:compendium_category":[y],"change:repeating_spells:used":[l,p],"change:repeating_spells:metamagic":[b],"change:repeating_spells:name":[g]},repeatingSpellMenuUpdatePlayer:["name","spellclass_number","spell_level","slot","used","school","metamagic","isDomain","isMythic"],repeatingSpellAttackEventsPlayer:["range_pick","range","damage-macro-text","damage-type","save","spell-attack-type","name"],repeatingSpellAttackEventsAuto:["range_numeric","sr","savedc"]});k()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(){getAttrs(["expandall"],function(e){parseInt(e.expandall,10)&&(y.setWrapper({expandall:"0",pagetab:"99",abilities_tab:"99","npc-abilities_tab":"99",skills_tab:"99",spellclass_tab:"99",spells_tab:"99",npc_spellclass_tab:"99",equipment_tab:"99","sheet-conditions-show":1,"buffstop-show":1,"command-buttons-show":1,"NPC-command-buttons-show":1,"character-details-show":1,"ability-scores-show":1,"class-info-show":1,class1_show:1,class2_show:1,class3_show:1,"health-and-wounds-show":1,"initiative-show":1, +"macro-text-show":1,"notes-show":1,"saves-show":1,"defense-values-show":1,"armor-shield-show":1,"sanity-show":1,"defense-notes-show":1,"attack-bonuses-show":1,atkm2_show:1,"attack-notes-show":1,"attack-options-show":1,"two-weapon-show":1,"attacks-show":1,"skill-ranks-show":1,"skill_options-show":1,"skills-show":1,"artistry-show":1,"craft-show":1,"knowledge-show":1,"lore-show":1,"perform-show":1,"profession-show":1,"misc-show":1,"skill-notes-show":1,"ability-command-buttons-show":1,"NPC-ability-command-buttons-show":1,"feats-show":1,"mythic-info-show":1,"psionic-info-show":1,"abilities-show":1,"spellclasses-show":1,"spellclass-0-show":1,"spellclass-0-spellpoints-show":1,"spellclass-0-spells-notes-show":1,"spellclass-0-perday-show":1,"spellclass-0-domains-show":1,domain02_show:1,domain03_show:1,"spellclass-1-show":1,"spellclass-1-spellpoints-show":1,"spellclass-1-spells-notes-show":1,"spellclass-1-perday-show":1,"spellclass-1-domains-show":1,"spellclass-2-show":1,"spellclass-2-spellpoints-show":1,"spellclass-2-spells-notes-show":1,"spellclass-2-perday-show":1,"spellclass-2-domains-show":1,"spelloptions-show":1,"spell-lists-show":1,"currency-show":1,"carried-weight-show":1,"loads-show":1,"worn-items-show":1,"other-items-show":1,"equipment-show":1,"npc-compimport-show":1,"npc-details-show":1,"npc-defense-show":1,"npc-offense-show":1,"npc-speed-show":1,"npc-repeating-weapons-show":1,"npc-spell-like-abilities-show":1,"npc-tactics-show":1,"npc-statistics-show":1,"npc-feats-show":1,"npc-mythic-feats-show":1,"npc-skills-show":1,"npc-ecology-show":1,"npc-special-abilities-show":1,"custom-attr-sect-a-show":1,"custom-attr-sect-c-show":1,"custom-attr-sect-b-show":1,"custom-attr-sect-d-show":1,"custom-attr-sect-n-show":1,"header-image-show":1,"sheet-import-show":1,"roll-template-info-show":1,"macros-show":1,"migrations-show":1,"cleanup-show":1,"san-show":1,"buff-min-show":0,"buff-expand-show":0,"buff-column-show":0,"weapon-min-show":0,"weapon-expand-show":0,"weapon-column-show":0,"abilities-min-show":0,"abilities-expand-show":0,"abilities-column-show":0,"class-ability-min-show":0,"class-ability-expand-show":0,"class-ability-column-show":0,"feat-min-show":0,"feat-expand-show":0,"feat-column-show":0,"mythic-feats-min-show":0,"mythic-feats-expand-show":0,"mythic-feats-column-show":0,"racial-trait-min-show":0,"racial-trait-expand-show":0,"racial-trait-column-show":0,"traits-min-show":0,"traits-expand-show":0,"traits-column-show":0,"npc-spell-like-abilities-min-show":0,"npc-spell-like-abilities-expand-show":0,"npc-spell-like-abilities-column-show":0,"mythic-min-show":0,"mythic-expand-show":0,"mythic-column-show":0,"newspells-min-show":0,"newspells-expand-show":0,"newspells-column-show":0,"item-min-show":0,"item-expand-show":0,"item-column-show":0,"npcweapon-min-show":0,"npcweapon-expand-show":0,"npcweapon-column-show":0,"npcnewspells-min-show":0,"npcnewspells-expand-show":0,"npcnewspells-column-show":0,"npcfeat-min-show":0,"npcfeat-expand-show":0,"npcfeat-column-show":0,"npcmythic-feats-min-show":0,"npcmythic-feats-expand-show":0,"npcmythic-feats-column-show":0,"npc-abilities-min-show":0,"npc-abilities-expand-show":0,"npc-abilities-column-show":0,"npc-special-abilities-min-show":0,"npc-special-abilities-expand-show":0,"npc-special-abilities-column-show":0,extra_fields_san_show:1,extra_fields_attacks_show:1,extra_fields_skills_show:1,extra_fields_saves_show:1,extra_fields_spells_show:1,extra_fields_caster_show:1,extra_fields_abilities_show:1,extra_fields_init_show:1,extra_fields_speeds_show:1,extra_fields_defense_show:1,extra_fields_conditions_show:1}),_.default.each(k.default.repeatingSections,function(e){var t="repeating_"+e;getSectionIDs(t,function(a){var n=_.default.reduce(a,function(a,n){var r=t+"_"+n+"_";switch(e){case"weapon":a[r+"add-damage-show"]=1,a[r+"iterative-attacks-show"]=1,a[r+"advmacro-text-show"]=1;break;case"buff":a[r+"options-show"]=1,a[r+"description-show"]=1;break;case"buff2":a[r+"options-show"]=1,a[r+"description-show"]=1;break;case"spells":a[r+"misc-show"]=1,a[r+"attack-show"]=1,a[r+"description-show"]=1;break;case"class-ability":case"feat":case"racial-trait":case"trait":case"mythic-ability":case"mythic-feat":a[r+"description-show"]=1;break;case"item":a[r+"description-show"]=1,a[r+"armor-attributes-show"]=1,a[r+"weapon-attributes-show"]=1;break;case"npc-spell-like-abilities":a[r+"attack-show"]=1;break;case"ability":a[r+"options-show"]=1,a[r+"description-show"]=1,a[r+"misc-show"]=1,a[r+"showextrafields"]=1,a[r+"range-show"]=1}return a[r+"row-show"]=0,a[r+"ids-show"]=1,"buff"!==e&&"buff2"!==e&&(a[r+"macro-text-show"]=1),a},{});y.setWrapper(n,{silent:!0})})}))})}function l(e){var t=_.default.once(function(){var t={is_newsheet:0,is_v1:1,use_buff_bonuses:1,use_advanced_options:0,modify_dmg_by_size:1,PFSheet_Version:String(k.default.version.toFixed(2))};t[k.default.announcementVersionAttr]=1,y.setWrapper(t,k.default.silentParams,function(){"function"==typeof e&&e()})});getAttrs(["is_npc","set_pfs"],function(e){var a=parseInt(e.is_npc,10)||0,n=parseInt(e.set_pfs,10)||0;x.setAllMigrateFlags(function(){N.migrate(),C.migrate(),a?J.setToNPC(t):n?V.setToPFS(t):t()})})}function s(e,t,a){var n,r=_.default.once(function(){b.default.debug("leaving PFSheet.migrate"),"function"==typeof t&&t()}),i=_.default.once(function(){b.default.warn("leaving PFSheet.migrate ERROR UPGRADE NOT FINISHED"),"function"==typeof a?a():r()});try{e<1?(n=_.default.after(7,function(){b.default.info("PFSheet.migrate we finished calling all the migrates"),r()}),x.migrateConfigFlags(b.default.callback(function(){W.migrate(n,e),N.migrate(n,e),V.migrate(n,e),ie.migrate(n,e),Y.migrate(n,e),se.migrate(n,e),ce.migrate(n,e)}),e)):e<1.17?(e<1.02&&(Y.migrate(null,e),se.migrate(null,e)),e<1.05&&ne.resetOptions(),e<1.07&&W.migrate(null,e),e<1.1&&(x.migrateAbilityListFlags(),se.migrate(null,e)),e<1.12&&Y.migrate(null,e),e<1.17&&W.migrate(function(){W.resetCommandMacro()})):(e<1.18&&(F.recalculate(null,!1,e),V.recalculate(null,!1,e),x.migrateSpellPointFlag(null,e)),e<1.2&&V.recalculate(),e<1.4&&(x.migrateWhisperDropdowns(),W.resetCommandMacro(),te.resetCommandMacro(),Y.resetCommandMacro(),se.resetCommandMacro(),ie.recalculate(),be.setHitPoints()),e<1.43&&(ce.recalculate(),N.resetCommandMacro()),e<1.5&&(ce.resetSpellsTotals(null,null,null,!0),W.updateRepeatingItems(),ie.migrateLinkedAttacks(null,e)),e<1.53&&(N.migrate(null,e),D.recalculate(function(){z.migrate()})),e<1.54&&U.recalculate(),e<1.55&&(ie.recalculate(),N.migrate()),e<1.56&&ie.updateRepeatingWeaponDamages(),e<1.57&&S.updateDefenses(),e<=1.65&&C.migrate(function(){U.migrate(function(){ye.migrate(function(){U.recalculate(function(){C.recalculate(function(){N.migrate(function(){N.recalculateSkills()},e),Y.setRuleTabs(),W.updateLocations(),te.recalculate(function(){ie.adjustAllDamageDiceAsync(),ie.updateDualWieldAttacks(),ie.recalculateRepeatingWeapons()}),W.migrate()})})},e)},e)},e),e<1.68&&C.migrate(function(){N.recalculate(null,null,e),S.recalculate(null,null,e),te.recalculate(null,null,e)}),e<1.69&&(de.recalculate(null,null,e),se.recalculate(null,null,e),ie.recalculate(null,null,e),Y.recalculate(null,null,e),W.recalculate(null,null,e),U.recalculate(null,null,e),S.recalculate(null,null,e)),e<1.693&&C.fixProfessionDropdowns(N.recalculate),e<1.697&&ie.recalculate(null,null,e))}catch(e){b.default.error("PFSheet.migrate",e),i()}finally{r()}}function o(e,t,a){var n=_.default.once(function(){b.default.info("leaving PFSheet.recalculateParallelModules"),"function"==typeof e&&e()}),r=[de.recalculate,G.recalculate,se.recalculate,fe.recalculate,N.recalculate,Y.recalculate,F.recalculate,ie.recalculate,ke.recalculate,Ae.recalculate],i=_.default.size(r),l=_.default.after(i,n),s=0,o=0,c=function(){s++,b.default.info("PFSheet.recalculateParallelModules, finished "+s+" modules"),l()};try{_.default.each(r,function(e){try{o++,e(c,t,a)}catch(e){b.default.error("PFSheet.recalculateParallelModules error calling recalculate",e),c()}})}catch(e){b.default.error("PFSheet.recalculateParallelModules OUTER error!",e),n()}}function c(e,t,a){var n=_.default.once(function(){"function"==typeof e&&e()}),r=function(){z.recalculate(n,t,a)},i=_.default.after(2,r);try{W.recalculate(i,t,a),S.recalculate(i,t,a)}catch(e){b.default.error("pfsheet.recalculateDefenseAndEncumbrance",e),r()}}function u(e,t,a){var n=_.default.once(function(){"function"==typeof e&&e()}),r=_.default.once(function(){D.recalculate(n,t,a)}),i=_.default.once(function(){V.recalculate(r,t,a)}),l=_.default.once(function(){J.recalculate(i,t,a)}),s=_.default.once(function(){_e.recalculate(l,t,a)}),o=_.default.once(function(){C.recalculate(s,t,a)}),c=_.default.once(function(){$.applyConditions(o,t,a)}),u=_.default.once(function(){be.recalculate(c,t,a)}),d=_.default.once(function(){q.recalculate(u,t,a)}),p=_.default.once(function(){ye.recalculate(d,t,a)}),f=_.default.once(function(){U.recalculate(p,t,a)});x.migrateConfigFlags(f,a)}function d(e,t,a){var n=function(){b.default.info("leaving PFSheet.recalculate"),"function"==typeof t&&t()},r=b.default.callback(function(){o(n,a,e)}),i=b.default.callback(function(){c(r,a,e)}),l=b.default.callback(function(){u(i,a,e)});a=!0,l()}function p(e){var t=function(){b.default.info("leaving PFSheet.checkForUpdate"),y.setWrapper({recalc1:0,migrate1:0,is_newsheet:0},k.default.silentParams)},a=_.default.once(function(){b.default.warn("leaving PFSheet.checkForUpdate ERROR UPGRADE NOT FINISHED DO NOT RESET VERSION"),y.setWrapper({recalc1:0,migrate1:0},{silent:!0})});getAttrs(["PFSheet_Version","migrate1","recalc1","is_newsheet","is_v1","hp","hp_max","npc-hd","npc-hd-num","race","class-0-name","npc-type","level","hide_announcements",k.default.announcementVersionAttr],function(n){var r={},i=!1,o=!1,c=!1,u=parseFloat(n.PFSheet_Version,10)||0,p=function(){y.setWrapper({recalc1:0,migrate1:0,is_newsheet:0,character_sheet:"Pathinder_Neceros v"+String(k.default.version),PFSheet_Version:String(k.default.version.toFixed(3))},k.default.silentParams,function(){u<1.17&&d(u,null,!1)})};b.default.notice("Attributes at version: "+u),e?c=!0:(parseInt(n.recalc1,10)&&(c=!0),parseInt(n.migrate1,10)&&(i=!0),(parseInt(n.is_newsheet,10)||0===u&&(parseInt(n.is_v1,10)||!(parseInt(n.hp,10)||parseInt(n.hp_max,10)||parseInt(n["npc-hd"],10)||parseInt(n["npc-hd-num"],10)||n.race||n["class-0-name"]||n["npc-type"]||parseInt(n.level,10))))&&(o=!0)),u!==k.default.version&&(i=!0),o||!parseInt(n.hide_announcements,10)||parseInt(n[k.default.announcementVersionAttr],10)||(r[k.default.announcementVersionAttr]=1,y.setWrapper(r,k.default.silentParams)),o?l(t):i?(b.default.notice("UPGRADE SHEET"),s(u,p,a)):c?(u=-1,d(u,t,!0)):t()})}function f(){on("sheet:opened",b.default.callback(function(){p()})),on("change:recalc1 change:migrate1",b.default.callback(function(e){b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||p()})),on("change:expandall",function(e){b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i()}),on("change:repeating_weapon:source-item",b.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs([e.sourceAttribute],function(t){var a=y.getRowId(e.sourceAttribute),n=t[e.sourceAttribute];n&&(n="repeating_item_"+n+"_create-attack-entry",W.createAttackEntryFromRow(n,null,!1,a))}))})),on("change:repeating_weapon:source-ability",b.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs([e.sourceAttribute],function(t){var a=y.getRowId(e.sourceAttribute),n=t[e.sourceAttribute];n&&Y.createAttackEntryFromRow(n,null,!1,null,a)}))})),on("change:repeating_weapon:source-spell",b.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs([e.sourceAttribute],function(t){var a=y.getRowId(e.sourceAttribute),n=t[e.sourceAttribute];n&&ce.createAttackEntryFromRow(n,null,!1,null,a)}))})),on("change:delete_repeating_spells change:delete_repeating_weapon change:delete_repeating_item change:delete_repeating_ability change:delete_repeating_mythic-feat change:delete_repeating_mythic-ability change:delete_repeating_buff change:delete_repeating_buff2 change:delete_repeating_trait change:delete_repeating_racial-trait change:delete_repeating_feat change:delete_repeating_class-ability change:delete_repeating_npc-spell-like-abilities",b.default.callback(function(e){b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs([e.sourceAttribute],function(t){var a="";parseInt(t[e.sourceAttribute],10)&&(a=e.sourceAttribute.replace("delete_repeating_",""),y.deleteRepeating(function(){var t;t={},t[e.sourceAttribute]=0,t[e.sourceAttribute+"_btn"]=0,y.setWrapper(t,{silent:!0}),/buff/i.test(e.sourceAttribute)&&U.clearBuffTotals()},a))})})),on("change:hide_announcements",function(){var e={};e[k.default.announcementVersionAttr]=1,setAttrs(e,k.default.silentParams)})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=d,t.checkForUpdate=p;var m=a(1),_=r(m),g=(a(4),a(0)),b=r(g),h=a(2),y=n(h),v=a(3),k=r(v),w=a(5),A=(n(w),a(38)),C=n(A),I=a(6),x=n(I),P=a(13),S=n(P),T=a(15),D=n(T),E=a(9),M=(n(E),a(21)),F=n(M),R=a(11),N=n(R),L=a(16),z=n(L),O=a(30),W=n(O),B=a(10),q=n(B),H=a(25),U=n(H),j=a(23),G=n(j),X=a(17),V=n(X),K=a(20),$=n(K),Z=a(24),Y=n(Z),Q=a(41),J=n(Q),ee=a(8),te=n(ee),ae=a(12),ne=n(ae),re=a(7),ie=n(re),le=a(29),se=n(le),oe=a(18),ce=n(oe),ue=a(26),de=n(ue),pe=a(43),fe=n(pe),me=a(40),_e=n(me),ge=a(27),be=n(ge),he=a(37),ye=n(he),ve=a(39),ke=n(ve),we=a(42),Ae=n(we);f()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(["condition-Blinded","condition-Fear","condition-Drained","condition-Sickened","condition-Wounds","has_endurance_feat","wounds_gritty_mode","checks-cond","Phys-skills-cond","wound_threshold-show","CasterLevel-Penalty","condition-Dazzled","condition-Deafened","condition-Fascinated","condition_skill_notes","condition_init_notes"],function(e){var t={},n=0,r=0,i=0,l=0,o=0,u=0,p=0,m=0,g=0,b=0,h=0,y="",v="";try{n=parseInt(e["condition-Drained"],10)||0,r=-1*(parseInt(e["condition-Fear"],10)||0),i=-1*(parseInt(e["condition-Sickened"],10)||0),l=d.getWoundPenalty(parseInt(e["condition-Wounds"],10)||0,parseInt(e.has_endurance_feat,10)||0,parseInt(e.wounds_gritty_mode,10)||0),o=(parseInt(e["wound_threshold-show"],10)||0)*l,u=n+r+i+o,p=n+o,m=-2*(parseInt(e["condition-Blinded"],10)||0),g=parseInt(e["checks-cond"],10)||0,b=parseInt(e["Phys-skills-cond"],10)||0,h=parseInt(e["CasterLevel-Penalty"],10)||0,(u!==g||isNaN(g))&&(t["checks-cond"]=u),(m!==b||isNaN(b))&&(t["Phys-skills-cond"]=m),(p!==h||isNaN(h))&&(t["CasterLevel-Penalty"]=p),m&&(y+="**"+f.getTranslated("blinded")+"**: ",y+=f.getTranslated("condition-blinded-note")+"\r\n",v+=f.getTranslated("blinded")+": ",v+=f.getTranslated("condition-blinded-speed")+"\r\n"),parseInt(e["condition-Dazzled"],10)&&(y+="**"+f.getTranslated("dazzled")+"**: ",y+=f.getTranslated("condition-dazzled-note")+"\r\n"),parseInt(e["condition-Deafened"],10)&&(y+="**"+f.getTranslated("deafened")+"**: ",y+=f.getTranslated("condition-deafened-note")+"\r\n"),parseInt(e["condition-Fascinated"],10)&&(y+="**"+f.getTranslated("fascinated")+"**: ",y+=f.getTranslated("condition-fascinated-title")+"\r\n"),y!==e.condition_skill_notes&&(t.condition_skill_notes=y),v!==e.condition_init_notes&&(t.condition_init_notes=v)}catch(e){c.default.error("PFChecks.applyConditions",e)}finally{s.default.size(t)>0?(f.setWrapper(t,{},a),u!==g&&_.updateAllSkillsDiff(u,g)):a()}})}Object.defineProperty(t,"__esModule",{value:!0}),t.applyConditions=i;var l=a(1),s=r(l),o=(a(4),a(0)),c=r(o),u=a(5),d=n(u),p=a(2),f=n(p),m=a(11),_=n(m)},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){getAttrs(["nodex-toggle"],function(a){parseInt(a["nodex-toggle"],10)?f.updateRowTotal(["init","init-trait","init-misc-mod","checks-cond","buff_initiative-total","buff-Check-total","buff_check_ability-total"],0,["condition-Deafened"],!1,e,t):f.updateRowTotal(["init","init-ability-mod","init-trait","init-misc-mod","checks-cond","buff_initiative-total","buff-Check-total","buff_check_ability-total"],0,["condition-Deafened"],!1,e,t)})}function l(e,t){var a=function(){"function"==typeof e&&e()};t<1.18?i(a,!1,!0):a()}function s(){on("change:init-trait change:condition-Deafened ",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i()})),on("change:init-ability-mod change:init-misc-mod change:checks-cond change:nodex-toggle",d.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i())}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.updateInitiative=i,t.migrate=l;var o=a(1),c=r(o),u=(a(4),a(0)),d=r(u),p=a(2),f=n(p);t.recalculate=d.default.callback(function(e,t,a){var n=c.default.once(function(){d.default.info("Leaving PFInitiative.recalculate"),"function"==typeof e&&e()});l(function(){i(n,t)},a)});s()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){var n=function(e,a){"function"==typeof t&&t(e,a)},r="pf_block",i="header_image-pf_block",l="ability-menus",s="name",c="",d="",p="",f="",_="",g="roll",b="",h="&{template:REPLACETEMPLATE} @{toggle_attack_accessible} @{toggle_rounded_flag} {{font=@{apply_specfont_chat}@{use_specfont}}} {{font=@{apply_specfont_chat}@{use_specfont}}} {{color=@{rolltemplate_color}}} {{header_image=@{REPLACEHEADER}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle=REPLACESUBTITLE}} {{name=REPLACENPC^{REPLACENAME}}}",y=" {{description=^{none-available} }}";if(!e||!e.section||!e.linkField)return u.default.error("PFMenus.getRepeatingCommandMacro cannot process",e),void n("");try{a=a||"",h=h.replace("REPLACETEMPLATE",e.template||r),h=h.replace("REPLACEHEADER",e.header||i),h=h.replace("REPLACENAME",e.name||l),h=h.replace("REPLACESUBTITLE",""),h=h.replace(/REPLACENPC/g,e.npcName||""),h+=a,s=e.nameField||s,c=e.bonusField||c,d=e.usesField||d,g=e.linkField||g,f=e.groupBy||f,b=e.filterField||b,p=e.altUsesField||p,_=e.altGroupBy||""}catch(t){return u.default.error("PFMenus.getRepeatingCommandMacro outererror for "+e.section,t),void n("")}getSectionIDs("repeating_"+e.section,function(t){var a=[],r="repeating_"+e.section+"_";try{if(!t||o.default.size(t)<=0)return void n(h+y);o.default.each(t,function(t){var n=r+t+"_";a.push(n+s),e.useshowinmenu&&a.push(n+"showinmenu"),_&&a.push(n+_),c&&a.push(n+c),d&&(a.push(n+d),a.push(n+d+"_max")),b&&a.push(n+b),f&&a.push(n+f),p&&a.push(n+p)})}catch(t){return u.default.error("PFMenus.getRepeatingCommandMacro outerError2. While assembling all attrs in rows for "+e.section,t),void n("")}a.push("_reporder_repeating_"+e.section),e.origMacroAttr&&a.push(e.origMacroAttr),getAttrs(a,function(a){var i,l,s="",v="",k=0,w=20,A="";try{e.origMacroAttr&&(A=a[e.origMacroAttr]||""),a["_reporder_repeating_"+e.section]?(l=a["_reporder_repeating_"+e.section].split(","),l=o.default.map(l,function(e){return e.toLowerCase()}),i=o.default.intersection(o.default.union(l,t),t),k=1):i=t,s=o.default.chain(i).map(function(t){var n=r+t+"_",i="",l="",s="",o="",h="",y=0,v={id:t,name:a[n+"name"]||t,showinmenu:1};try{if(d&&(s=a[n+d]||"",o=a[n+d+"_max"]||""),_&&a[n+_])v.group=a[n+_],v.doNotTranslate=!0;else if(f&&a[n+f])if(e.groupMap)e.groupMap[a[n+f]]?v.group=e.groupMap[a[n+f]]:v.group="AAAAAA";else if("frequency"===f)switch(a[n+f]){case"perday":v.group="",o&&(v.group=o+" "),v.group+=(e.translateGroup?"^{":"")+a[n+f]+(e.translateGroup?"}":""),v.doNotTranslate=1;break;case"not-applicable":v.group="AAAAAA",s=0,o=0;break;case"constant":case"atwill":v.group=a[n+f],s=0,o=0;break;case"hexfreq":case"other":v.group=a[n+f];break;case"everyrounds":v.group=a[n+f],a[n+p]&&(s=a[n+p],o=0);break;default:v.group=a[n+f]}else v.group=a[n+f];else v.group="AAAAAA";"AAAAAA"!==v.group&&e.translateGroup&&!v.doNotTranslate&&(v.group="^{"+v.group+"}"),d&&(s&&o?h=" ("+s+"/"+o+")":s&&(h=" ("+s+")")),b?e.filterValue?String(a[n+b])===String(e.filterValue)?v.showinmenu=1:v.showinmenu=0:v.showinmenu=parseInt(a[n+b],10)||0:v.showinmenu=1,"showinmenu"!==v.filterField&&e.useshowinmenu&&(y=parseInt(a[n+"showinmenu"],10)||0,v.showinmenu=v.showinmenu&&y),l=c&&a[n+c]&&"not-applicable"!==a[n+c]&&"0"!=a[n+c]?" ("+(e.translateBonus?"^{":"")+a[n+c]+(e.translateBonus?"}":"")+")":"",i=v.name+l+h,v.chatLink="["+m.escapeForRollTemplate(m.escapeForChatLinkButton(i))+"](~@{character_id}|"+n+g+")"}catch(e){u.default.error("PFMenus.getRepeatingCommandMacro builderr object for id "+t,e)}finally{return v}}).filter(function(e){return e.showinmenu}).sortBy("group"),"frequency"===f&&(s=s.reverse()),s=s.groupBy("group").reduce(function(e,t,a){var n="";try{"AAAAAA"!==a&&o.default.size(t)>0&&(e+=" {{row"+String(w)+"="+m.escapeForRollTemplate(a)+"}}",w++),n=o.default.reduce(t,function(e,t){return e+=" "+t.chatLink}," {{row"+String(w)+"="),e+=n+"}}",w++}catch(e){u.default.error("PFMenus.getRepeatingCommandMacro strerror creating string for group "+a,e)}finally{return e}},"").value()}catch(t){u.default.error("PFMenus.getRepeatingCommandMacro innererror2 for "+e.section,t)}finally{v=s?h+s:h+y,n(v,A)}})})}function l(e,t,a,n,r){var l=o.default.once(function(){"function"==typeof a&&a()}),s={},c=e;try{if(s={usesField:"used",linkField:"roll",nameField:"name",bonusField:"ability_type",translateBonus:1,macroSuffix:"_buttons_macro"},!g[e])return u.default.error("PFMenus.resetOneCommandMacro Could not find parameters for menu "+e),void l();s=o.default.extend(s,g[e]),t?(g[e].npcLinkField&&(s.linkField=g[e].npcLinkField),g[e].npcMacroName&&(c=g[e].npcMacroName),g[e].npcMacroSuffix&&(s.macroSuffix=g[e].npcMacroSuffix)):s.npcName&&(s.npcName=""),r&&s.groupBy&&(s.groupMap=r),s.origMacroAttr=c+s.macroSuffix,i(s,function(e,t){var a={};t&&e===t?l():(a[c+s.macroSuffix]=e||"",m.setWrapper(a,p.default.silentParams,l))},n)}catch(e){u.default.error("PFMenus.resetOnceCommandMacro, errouter :",e)}}Object.defineProperty(t,"__esModule",{value:!0}),t.getRepeatingCommandMacro=i,t.resetOneCommandMacro=l;var s=a(1),o=r(s),c=a(0),u=r(c),d=(a(4),a(3)),p=r(d),f=a(2),m=n(f),_=a(5),g=(n(_),{"class-ability":{name:"original-class-features-list",section:"class-ability",useshowinmenu:1},feat:{npcMacroName:"NPC-feat",npcName:" ^{npc} ",name:"original-feats-list",section:"feat",npcLinkField:"npc-roll",useshowinmenu:1},"racial-trait":{npcMacroName:"NPC-racial-trait",npcName:" ^{npc} ",name:"original-racial-traits-list",section:"racial-trait",npcLinkField:"npc-roll",useshowinmenu:1},trait:{name:"original-traits-list",section:"trait",useshowinmenu:1},"mythic-ability":{name:"mythic-abilities",section:"mythic-ability",useshowinmenu:1},"mythic-feat":{name:"mythic-feats",section:"mythic-feat",useshowinmenu:1},"npc-spell-like-abilities":{name:"original-spell-like-abilities-list",section:"npc-spell-like-abilities",useshowinmenu:1},ability:{npcMacroName:"NPC-ability",npcName:" ^{npc} ",name:"abilities",section:"ability",groupBy:"rule_category",translateGroup:1,npcLinkField:"npc-roll",useshowinmenu:1},ex:{npcMacroName:"NPC-ex",npcName:" ^{npc} ",name:"extraordinary-abilities-menu",section:"ability",filterField:"ability_type",filterValue:"Ex",groupBy:"frequency",translateGroup:1,altUsesField:"rounds_between",npcLinkField:"npc-roll",useshowinmenu:1},sp:{npcMacroName:"NPC-sp",npcName:" ^{npc} ",name:"spell-like-abilities-menu",section:"ability",filterField:"ability_type",filterValue:"Sp",groupBy:"frequency",translateGroup:1,altUsesField:"rounds_between",npcLinkField:"npc-roll",useshowinmenu:1},su:{npcMacroName:"NPC-su",npcName:" ^{npc} ",name:"supernatural-abilities-menu",section:"ability",filterField:"ability_type",filterValue:"Su",groupBy:"frequency",translateGroup:1,altUsesField:"rounds_between",npcLinkField:"npc-roll",useshowinmenu:1},item:{npcMacroName:"NPC-item",npcName:" ^{npc} ",name:"items",section:"item",usesField:"",bonusField:"",groupBy:"equip-type",translateGroup:1,npcLinkField:"npc-roll",useshowinmenu:1},attacks:{macroSuffix:"-macro",npcMacroSuffix:"-macro-npc",npcName:" ^{npc} ",section:"weapon",name:"attacks",usesField:"",bonusField:"",groupBy:"attack-type",altGroupBy:"group",translateGroup:1,npcLinkField:"attack-npc-roll",linkField:"attack-roll"}})},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=u.default.once(function(){"function"==typeof e&&e()});getAttrs(["condition-Fear","condition-Sickened","condition-Drained","condition-Wounds","saves-cond","has_endurance_feat","wounds_gritty_mode","wound_threshold-show"],function(e){var n=0,r=0,i=0,l=0,s=0,o=0,c={},d={};try{n=parseInt(e["condition-Fear"],10)||0,r=parseInt(e["condition-Sickened"],10)||0,i=parseInt(e["condition-Drained"],10)||0,l=(parseInt(e["wound_threshold-show"],10)||0)*h.getWoundPenalty(parseInt(e["condition-Wounds"],10)||0,parseInt(e.has_endurance_feat,10)||0,parseInt(e.wounds_gritty_mode,10)||0),s=parseInt(e["saves-cond"],10)||0,o=i-n-r+l,s!==o&&(d["saves-cond"]=o)}catch(e){p.default.error("PFSaves.applyConditions",e)}finally{u.default.size(d)>0?(t&&(c=g.default.silentParams),m.setWrapper(d,c,a)):a()}})}function l(e,t,a){var n=[e,"total-"+e,e+"-ability-mod",e+"-trait",e+"-resist",e+"-misc-mod","saves-cond","buff_"+e+"-total","buff_saves-total"];m.updateRowTotal(n,0,[],!1,t,a)}function s(e,t){var a=u.default.once(function(){"function"==typeof e&&e()}),n=u.default.after(3,function(){a()});l("Fort",n,t),l("Ref",n,t),l("Will",n,t)}function o(){u.default.each(y,function(e){var t=v.saveEventsAuto.replace(/REPLACE/g,e);on(t,p.default.callback(function(t){"sheetworker"!==t.sourceType&&"api"!==t.sourceType||(p.default.debug("caught "+t.sourceAttribute+" event for "+e+": "+t.sourceType),l(e,t))}))}),u.default.each(y,function(e){var t=v.saveEventsPlayer.replace(/REPLACE/g,e);on(t,p.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||(p.default.debug("caught "+t.sourceAttribute+" event for "+e+": "+t.sourceType),l(e,t))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.saveTypes=void 0,t.applyConditions=i,t.updateSave=l,t.updateSaves=s;var c=a(1),u=r(c),d=(a(4),a(0)),p=r(d),f=a(2),m=n(f),_=a(3),g=r(_),b=a(5),h=n(b),y=t.saveTypes=["Fort","Ref","Will"],v={saveEventsAuto:"change:saves-cond change:total-REPLACE change:REPLACE-ability-mod change:REPLACE-misc-mod",saveEventsPlayer:"change:REPLACE-trait change:REPLACE-resist"};t.recalculate=p.default.callback(function(e,t,a){var n=u.default.once(function(){p.default.info("leaving PFSaves.recalculate"),"function"==typeof e&&e()});try{i(function(){s(n,t)},t)}catch(e){p.default.error("PFSaves.recalculate OUTER",e),n()}});o()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){var n=x.default.once(function(){"function"==typeof t&&t()}),r=D.getRepeatingIDStr(e),i="repeating_ability_"+r,l=i+"CL-basis";getAttrs([i+"CL-basis",i+"class-name","race","class-0-name","class-1-name","class-2-name","class-3-name","class-4-name","class-5-name"],function(e){var t,a="",r={};try{e[l]&&("@{level}"===e[l]?a=e.race:"@{npc-hd-num}"===e[l]?a=e.race:0===parseInt(e[l],10)?a="":(t=e[i+"CL-basis"].match(/\d+/),t&&(a=e["class-"+t[0]+"-name"])),e[i+"class-name"]!==a&&(r[i+"class-name"]=a))}catch(e){S.default.error("PFAbility.setClassName",e)}finally{x.default.size(r)>0?D.setWrapper(r,M.default.silentParams,n):n()}})}function l(e,t,a,n){var r="repeating_ability_"+D.getRepeatingIDStr(a);getAttrs([r+"frequency",r+"rule_category",r+"CL-basis",r+"ability_type",r+"tabcat",r+"tabcat2","abilities_tab","npc-abilities_tab"],function(e){var t={},a=M.default.silentParams;t[r+"tabcat2"]=e[r+"ability_type"]||"-1",D.setWrapper(t,a)})}function s(e,t,a,n){var r="repeating_ability_"+D.getRepeatingIDStr(a);getAttrs([r+"frequency",r+"rule_category",r+"CL-basis",r+"ability_type",r+"tabcat",r+"tabcat2","abilities_tab","npc-abilities_tab"],function(e){var t={},a="",l=M.default.silentParams;switch(e[r+"rule_category"]){case"racial-traits":a="traits";break;case"monster-rule":a="other";break;default:a=e[r+"rule_category"]||""}a||(a="-1"),t[r+"tabcat"]=a,n&&("-1"!==a&&(e.abilities_tab===a||/Ex|Sp|Su|99/i.test(e.abilites_tab)||(t.abilities_tab=a),e["npc-abilities_tab"]===a||/Ex|Sp|Su|99/i.test(e["npc-abilities_tab"])||(t["npc-abilities_tab"]=a)),"class-features"!==e[r+"rule_category"]||e[r+"CL-basis"]&&"0"!=e[r+"CL-basis"]?"racial-traits"!==e[r+"rule_category"]||e[r+"CL-basis"]&&"0"!=e[r+"CL-basis"]||(t[r+"CL-basis"]="@{level}",l={}):(t[r+"CL-basis"]="@{class-0-level}",l={})),"spell-like-abilities"===e[r+"rule_category"]&&(e[r+"tabcat2"]="Sp",t[r+"ability_type"]="Sp"),e[r+"frequency"]||(t[r+"frequency"]="not-applicable"),x.default.size(t)&&D.setWrapper(t,l,i)})}function o(){getSectionIDs("repeating_ability",function(e){x.default.each(e,function(e){s(null,null,e),l(null,null,e)})})}function c(e){var t=function(t){"function"==typeof e&&e(t)};getSectionIDs("repeating_ability",function(e){var a=[];return e&&0!==x.default.size(e)?(x.default.each(e,function(e){var t="repeating_ability_"+e+"_";a.push(t+"rule_category"),a.push(t+"showinmenu"),a.push(t+"ability_type")}),void getAttrs(a,function(a){var n=[],r=[],i=[];n=x.default.chain(e).map(function(e){var t={},n="repeating_ability_"+e+"_";return t.id=e,t.showinmenu=parseInt(a[n+"showinmenu"],10)||0,t.rule_category=a[n+"rule_category"]||"",t.ability_type=(a[n+"ability_type"]||"").toLowerCase(),t}).filter(function(e){return e.showinmenu}).value(),n&&(r=x.default.chain(n).groupBy("rule_category").keys().compact().value(),i=x.default.chain(n).groupBy("ability_type").keys().compact().value()),r||(r=[]),i||(i=[]),t({rules:r,types:i})})):void t({rules:[],types:[]})})}function u(e){var t,a={},n="",r="";try{n=generateRowID(),r="repeating_ability_"+n+"_",a[r+"row_id"]=n,a[r+"showinmenu"]=e.showinmenu||0,a[r+"name"]=e.name||"",a[r+"used"]=e.used||0,a[r+"used_max"]=e.used_max||0,a[r+"max-calculation"]=e["max-calculation"]||"",a[r+"short-description"]=e["short-description"]||"",a[r+"description"]=e.description||"",a[r+"rule_category"]=e.rule_category||"",a[r+"CL-basis"]=e["CL-basis"]||"0",a[r+"class-name"]=e["class-name"]||"","spell-like-abilities"===e.rule_category?(a[r+"ability_type"]="Sp",e["spell_level-misc"]&&(a[r+"spell_level-misc"]=e["spell_level-misc"],a[r+"spell_level-misc-mod"]=e["spell_level-misc-mod"],a[r+"spell_level-basis"]=e["spell_level-basis"]),e.range_numeric&&(a[r+"range"]=e.range,a[r+"range_numeric"]=e.range_numeric,a[r+"range_pick"]=e.range_pick),e["abil-sr"]&&(a[r+"abil-sr"]=e["abil-sr"]),e.save&&(a[r+"save"]=e.save)):(t=e.name.match(/\b(Sp|Su|Ex)\b/i),t&&t[1]?a[r+"ability_type"]=t[0][0].toUpperCase()+t[0][1].toLowerCase():a[r+"ability_type"]=""),a[r+"macro-text"]=e["macro-text"]||""}catch(t){S.default.error("PFAbility.getNewAbilityAttrs",t,e); +}finally{return a}}function d(e,t){var a=x.default.once(function(){"function"==typeof e&&e()}),n={};x.default.size(t)&&x.default.each(t,function(e){var t=u(e);x.default.extend(n,t)}),x.default.size(n)?D.setWrapper(n,M.default.silentParams,a):a()}function p(e,t){var a=function(t){"function"==typeof e&&e(t)},n="";try{n=" @{orig_ability_header_macro}",c(function(e){var r="",i="";try{t&&(i="NPC-"),e.types&&x.default.each(e.types,function(e){J[e]?r+=J[e].replace("NPCPREFIX",i):e&&S.default.warn("cound not find top macro for "+e)}),r&&(n+=" {{row03=^{ability-menus}}} {{row04="+r+"}}")}catch(e){S.default.error("PFAbility.getTopOfMenu innererr",e)}finally{a(n)}})}catch(e){S.default.error("PFAbility.getTopOfMenu",e),a(n)}}function f(e){var t=x.default.once(function(){"function"==typeof e&&e()}),a=x.default.after(8,t);p(function(e){W.resetOneCommandMacro("ability",!0,a,e)},!0),p(function(e){W.resetOneCommandMacro("ability",!1,a,e)},!1),W.resetOneCommandMacro("ex",!0,a),W.resetOneCommandMacro("sp",!0,a),W.resetOneCommandMacro("su",!0,a),W.resetOneCommandMacro("ex",!1,a),W.resetOneCommandMacro("sp",!1,a),W.resetOneCommandMacro("su",!1,a)}function m(e,t){var a=x.default.once(function(){f(),"function"==typeof e&&e()}),n=D.getRowId(t.sourceAttribute),r="repeating_ability_"+n+"_";getAttrs(["is_undead",r+"name",r+"compendium_category",r+"rule_category",r+"ability_type_compendium",r+"ability_type",r+"description",r+"range_from_compendium",r+"target_from_compendium",r+"area_from_compendium",r+"effect_from_compendium"],function(e){var t,n,i="",l="",s="",o="",c={},u="",d="",p={},f="",m="";try{if(e[r+"ability_type_compendium"]&&(l=e[r+"ability_type_compendium"],c[r+"ability_type"]=l,p[r+"ability_type_compendium"]=""),i=e[r+"compendium_category"],p[r+"compendium_category"]="",i){if(i=i.toLowerCase(),"feats"===i?u="feats":"monster rule"===i?u="monster-rule":"spell"===i&&(u="spell-like-abilities"),"monster-rule"===u&&e[r+"description"]&&(t=e[r+"description"].match(/Location\:\s*(.*)$/i),t&&t[1]&&(o=D.trimBoth(t[1].toLowerCase()),t=o.match(/special qual|sq|special att|special abil|defens|spell/i))))switch(t[0]){case"special qual":case"sq":u="special-qualities";break;case"special att":u="special-attacks";break;case"special abil":u="special-abilities";break;case"defens":u="defensive-abilities";break;case"spell":u="spell-like-abilities"}"Sp"!==l||u||(u="spell-like-abilities"),l||"spell-like-abilities"!==u?"Sp"!==l||u||(u="spell-like-abilities"):(l="Sp",c[r+"ability_type"]="Sp"),u?c[r+"rule_category"]=u:f+=i,"Sp"===l?(m=e[r+"target_from_compendium"]||e[r+"area_from_compendium"]||e[r+"effect_from_compendium"]||"",c[r+"targets"]=m,e[r+"range_from_compendium"]&&(n=R.parseSpellRangeText(e[r+"range_from_compendium"],m),c[r+"range_pick"]=n.dropdown,c[r+"range"]=n.rangetext),c[r+"ability-basis"]="@{CHA-mod}"):e[r+"name"]&&(d=e[r+"name"].tolowercase(),d=d.match(/^[^(]+/),s=q.specialAttackDCAbilityBase[d]?q.specialAttackDCAbilityBase[d]:"CON","CON"===s&&parseInt(e.is_undead,10)&&(s="CHA"),s="@{"+s+"}",c[r+"ability-basis"]=s)}}catch(e){S.default.error("PFAbility.importFromCompendium",e)}finally{x.default.size(p)>0&&D.setWrapper(p,M.default.silentParams),x.default.size(c)>0?D.setWrapper(c,{},a):a()}})}function _(e,t,a,n,r){var i="",l="";n=n||{};try{l=R.findAbilityInString(a[e+"abil-attack-type"]),a[e+"name"]&&(r||(n[t+"name"]=a[e+"name"]),n[t+"source-ability-name"]=a[e+"name"]),l&&(n[t+"attack-type"]=a[e+"abil-attack-type"],/CMB/i.test(l)?n[t+"vs"]="cmd":/ranged/i.test(l)?(n[t+"vs"]="touch",n[t+"isranged"]=1,n[t+"range"]=a[e+"range_numeric"]||0):(n[t+"vs"]="touch",n[t+"range"]=0)),a[e+"damage-macro-text"]&&(n[t+"precision_dmg_macro"]=a[e+"damage-macro-text"],l?n[t+"critical_dmg_macro"]=a[e+"damage-macro-text"]:n[t+"critical_dmg_macro"]=""),a[e+"damage-type"]&&(n[t+"precision_dmg_type"]=a[e+"damage-type"],l?n[t+"critical_dmg_type"]=a[e+"damage-type"]:n[t+"critical_dmg_type"]=""),a[e+"save"]&&(i&&(i+=", "),i+="Save: "+a[e+"save"]+" DC: [[@{"+e+"savedc}]]"),a[e+"abil-sr"]&&(i&&(i+=", "),i+="Spell resist:"+a[e+"abil-sr"]),i&&(n[t+"notes"]=i)}catch(e){S.default.error("PFAbility.setAttackEntryVals",e)}finally{return n}}function g(e,t,a,n,r){var i,l,s,o=x.default.once(function(){"function"==typeof t&&t()}),c=[],u=["range_numeric","damage-macro-text","damage-type","abil-sr","savedc","save","abil-attack-type","name"];return"DELETED"==e?void o():(i=e||(n?D.getRowId(n.sourceAttribute):""),l="repeating_ability_"+D.getRepeatingIDStr(i),s=l,i?(u.forEach(function(e){c.push(s+e)}),void getAttrs(c,function(e){var t="",n={},l="repeating_weapon_",c="",u=!0,d=!1,p={};try{0===x.default.size(e)&&(u=!1),u?R.findAbilityInString(e[s+"abil-attack-type"])||e[s+"damage-macro-text"]?(t=r?r:generateRowID(),c=t+"_",l+=c,n=_(s,l,e,n,r),n[l+"source-ability"]=i,n[l+"group"]="Special",n[l+"link_type"]=$.linkedAttackType.ability):S.default.warn("no attack to create for ability "+e[s+"name"]+", "+i):r&&(n["repeating_weapon_"+r+"_source-ability"]="DELETED",d=!0)}catch(e){S.default.error("PFAbility.createAttackEntryFromRow",e)}finally{d?D.setWrapper(n,p,o):x.default.size(n)>0?(n[s+"create-attack-entry"]=0,a&&(p=M.default.silentParams),D.setWrapper(n,p,function(){U.resetOption(t),G.resetCommandMacro(),o()})):(n[s+"create-attack-entry"]=0,D.setWrapper(n,M.default.silentParams,o))}})):(S.default.warn("Cannot create usable attack entry from SLA since we cannot identify the row id"),void o()))}function b(e,t,a,n){var r=x.default.once(function(){"function"==typeof t&&t()}),i="",l="",s="",o=[];i=e||(n?D.getRowId(n.sourceAttribute):""),l="repeating_ability_"+D.getRepeatingIDStr(i),s=n?D.getAttributeName(n.sourceAttribute):"",o=[],s?(o=[l+s],o=/range/i.test(s)?[l+"range_pick",l+"range",l+"range_numeric"]:[l+"range_pick",l+"range",l+"range_numeric",l+"damage-macro-text",l+"damage-type",l+"sr",l+"savedc",l+"save",l+"abil-attack-type",l+"name"]):o=[l+"range_pick",l+"range",l+"range_numeric",l+"damage-macro-text",l+"damage-type",l+"sr",l+"savedc",l+"save",l+"abil-attack-type",l+"name"],getAttrs(o,function(e){getSectionIDs("repeating_weapon",function(t){var n=[];n=x.default.reduce(t,function(e,t){return e.push("repeating_weapon_"+t+"_source-ability"),e},[]),getAttrs(n,function(n){var s={},o={},c=[];try{x.default.each(t,function(t){var a="repeating_weapon_"+t+"_";n[a+"source-ability"]===i&&(c.push(t),s=_(l,a,e,s))})}catch(e){S.default.error("PFAbility.updateAssociatedAttack",e)}finally{x.default.size(s)>0?(a&&(o=M.default.silentParams),D.setWrapper(s,o,function(){U.resetSomeOptions(c)})):r()}})})})}function h(e,t,a){var n=x.default.once(function(){"function"==typeof t&&t()}),r=D.getRepeatingIDStr(e),i="repeating_ability_"+r;getAttrs([i+"CL-misc-mod",i+"CL-basis-mod",i+"casterlevel",i+"ability_type","buff_CasterLevel-total","CasterLevel-Penalty"],function(e){var t=0,a=0,r=0,l=0,s=0,o={};try{s=parseInt(e[i+"ability_type"],10)||0,t=parseInt(e[i+"CL-basis-mod"],10)||0,r=parseInt(e[i+"CL-misc-mod"],10)||0,l=parseInt(e["CasterLevel-Penalty"],10)||0,a=t+r+l,s&&(a+=parseInt(e["buff_CasterLevel-total"],10)||0),a!==parseInt(e[i+"casterlevel"],10)&&(o[i+"casterlevel"]=a)}catch(e){S.default.error("PFAbility.updateCharLevel",e)}finally{x.default.size(o)?D.setWrapper(o,M.default.silentParams,n):n()}})}function y(e,t,a,n){var r=x.default.once(function(){"function"==typeof t&&t()}),i=D.getRepeatingIDStr(e),l="repeating_ability_"+i;getAttrs([l+"range_pick",l+"range",l+"range_numeric",l+"casterlevel",l+"ability_type"],function(e){var t=0,a=0,n=0,i={},s=0,o=0;try{s="Sp"===e[l+"ability_type"]?1:0,a=parseInt(e[l+"range_numeric"],10)||0,s?(n=parseInt(e[l+"casterlevel"],10)||0,t=R.findSpellRange(e[l+"range"],e[l+"range_pick"],n)||0):t=parseInt(D.trimBoth(e[l+"range"]),10)||0,t!==a&&(i[l+"range_numeric"]=t),o=parseInt(e[l+"hasposrange"],10)||0,t>0&&!o?i[l+"hasposrange"]=1:o&&(i[l+"hasposrange"]=0)}catch(e){S.default.error("updateAbilityRange",e)}finally{x.default.size(i)?D.setWrapper(i,{},r):r()}})}function v(e,t,a,n){var r=D.getRepeatingIDStr(t),i="repeating_ability_"+r,l="",s="",o="",c="",u="",d="",p="";e=e||{};try{if(!a)return e;if(l="Sp"===a[i+"ability_type"]?"1":"",l!==a[i+"is_sp"]&&(e[i+"is_sp"]=l),s=(parseInt(a[i+"range_numeric"],10)||0)>0?"1":"",s!==a[i+"hasposrange"]&&(e[i+"hasposrange"]=s),a[i+"frequency"]&&"not-applicable"!==a[i+"frequency"])switch(c="1",a[i+"frequency"]){case"perday":case"permonth":case"hexfreq":case"other":o="1"}c!==a[i+"hasfrequency"]&&(e[i+"hasfrequency"]=c),o!==a[i+"hasuses"]&&(e[i+"hasuses"]=o),R.findAbilityInString(a[i+"abil-attack-type"])&&(u="1"),u!==a[i+"hasattack"]&&(e[i+"hasattack"]=u),u&&(d=a[i+"abil-attack-type"].toLowerCase(),d.indexOf("melee")>=0?p="touch":d.indexOf("range")>=0?p="ranged-touch-ray":d.indexOf("cmb")>=0&&(p="combat-maneuver-bonus-abbrv")),p!==a[i+"abil-attacktypestr"]&&(e[i+"abil-attacktypestr"]=p)}catch(e){S.default.error("PFAbility.recalcAbilities",e)}finally{return e}}function k(e,t,a){var n=x.default.once(function(){"function"==typeof t&&t()}),r=D.getRepeatingIDStr(e),i="repeating_ability_"+r,l=[];l=x.default.map(Q,function(e){return i+e}),getAttrs(l,function(t){var r={};try{r=v(r,e,t)}catch(e){S.default.error("PFAbility.recalcAbilities",e)}finally{x.default.size(r)?D.setWrapper(r,M.default.silentParams,n,a):n()}})}function w(e,t,a,n){var r=x.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_ability",function(e){var t,a,l=x.default.size(e);return 0===l?void r():(t=x.default.after(l,r),a=function(e){L.setRepeatingDropdownValue("ability",e,"CL-basis","CL-basis-mod",function(){h(e,function(){i(e),y(e,function(){t()})})},!0,!0)},void x.default.each(e,function(e){a(e),n||k(e)}))})}function A(e){"function"==typeof e&&e()}function C(){var e="",t="remove:repeating_ability ",a="change:repeating_ability:";on("remove:repeating_ability",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),$.removeLinkedAttack(null,$.linkedAttackType.ability,D.getRowId(e.sourceAttribute))})),t=x.default.reduce(ee.commandMacroFields,function(e,t){return e+=a+t+" "},t),on(t,S.default.callback(function(e){("player"===e.sourceType||"api"===e.sourceType||/used_max/i.test(e.sourceAttribute))&&(S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),V.resetTopCommandMacro(null,e),f())})),on("change:repeating_ability:CL-basis",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),D.evaluateAndSetNumber("repeating_ability_CL-basis","repeating_ability_CL-basis-mod"),"player"!==e.sourceType&&"api"!==e.sourceType||i(null,null,e)})),e=x.default.reduce(Y,function(e,t){return e+="change:repeating_ability:"+t+" "},""),on(e,S.default.callback(function(e){("player"===e.sourceType||"api"===e.sourceType||/range/i.test(e.sourceAttribute))&&(S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),k())})),on("change:repeating_ability:CL-misc change:repeating_ability:spell_level-misc",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),D.evaluateAndSetNumber(e.sourceAttribute,e.sourceAttribute+"-mod")})),on("change:buff_CasterLevel-total change:CasterLevel-Penalty",S.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),w(null,null,e,!0))})),on("change:repeating_ability:CL-basis-mod change:repeating_ability:CL-misc-mod",S.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),h(null,null,e))})),on("change:repeating_ability:compendium_category",S.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),m(null,e))})),on("change:repeating_ability:create-attack-entry",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||g(null,null,!1,e)})),on("change:repeating_ability:CL-misc-mod change:repeating_ability:CL-basis-mod change:repeating_ability:range_pick change:repeating_ability:range",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),(/range/i.test(e.sourceAttribute)&&("player"===e.sourceType||"api"===e.sourceType)||/CL/i.test(e.sourceAttribute)&&"sheetworker"===e.sourceType||"api"===e.sourceType)&&y(null,null,!1,e)})),e=x.default.reduce(ee.attackEventsSLA,function(e,t){return e+="change:repeating_ability:"+t+" "},""),on(e,S.default.callback(function(e){("player"===e.sourceType||"api"===e.sourceType||/range_numeric/i.test(e.sourceAttribute))&&(S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),b(null,null,null,e))})),on("change:repeating_ability:rule_category",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s(null,null,null,e)})),on("change:repeating_ability:ability_type",S.default.callback(function(e){S.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),l(null,null,null,e)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.setRuleTabs=o,t.copyToAbilities=d,t.resetCommandMacro=f,t.importFromCompendium=m,t.setAttackEntryVals=_,t.createAttackEntryFromRow=g,t.updateAssociatedAttack=b,t.migrate=A;var I=a(1),x=r(I),P=(a(4),a(0)),S=r(P),T=a(2),D=n(T),E=a(3),M=r(E),F=a(5),R=n(F),N=a(9),L=n(N),z=a(14),O=(n(z),a(22)),W=n(O),B=a(28),q=n(B),H=a(12),U=n(H),j=a(8),G=n(j),X=a(29),V=n(X),K=a(7),$=n(K),Z=["is_sp","hasposrange","hasuses","hasattack","abil-attacktypestr"],Y=["ability_type","range_numeric","frequency","abil-attack-type"],Q=Z.concat(Y),J={ex:" [^{extraordinary-abilities-menu}](~@{character_id}|NPCPREFIXex_button)",sp:" [^{spell-like-abilities-menu}](~@{character_id}|NPCPREFIXsp_button)",su:" [^{supernatural-abilities-menu}](~@{character_id}|NPCPREFIXsu_button)"},ee={attackEventsSLA:["damage-macro-text","damage-type","abil-sr","save","abil-attack-type","name","range_numeric"],commandMacroFields:["name","used","used_max","showinmenu","ability_type","frequency","rule_category"]};t.recalculate=S.default.callback(function(e,t,a){var n=x.default.once(function(){S.default.info("leaving PFAbility.recalculate"),"function"==typeof e&&e()}),r=function(){f(),n()},i=function(){w(S.default.callback(r)),o()};try{A(S.default.callback(i))}catch(e){S.default.error("PFAbility.recalculate, ",e),n()}});C()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=function(t){C.setWrapper({merge_buffs_now:0},x.default.silentParams,function(){"function"==typeof e&&e()})};Z.getAllRowAttrs(function(e,a){var n={};return e&&a?(e.forEach(function(e){var t="repeating_buff_"+e+"_",r="",i="",l=0,s="",o="",c="",u=[];try{u=Object.keys(a).filter(function(e){return 0===e.indexOf(t)}).filter(function(e){return/size$|macro\-text$/i.test(e)}).filter(function(e){return!!a[e]}).map(function(e){return e.indexOf("size")>=0?"size":C.getAttributeName(e).slice(5,-11)}).filter(function(e){return 1===parseInt(a[t+"buff-"+e+"-show"],10)}),v.default.size(u)&&(r=generateRowID(),i="repeating_buff2_"+r+"_",s=i+"b",n[i+"enable_toggle"]=a[t+"buff-enable_toggle"]||"0",n[i+"name"]=a[t+"buff-name"]||"",a[t+"buff-notes"]&&(n[i+"notes"]=a[t+"buff-notes"]),u.indexOf("size")>=0&&(l++,o=s+l,n[o+"-show"]=1,n[o+"_macro-text"]=a[t+"buff-size"],n[o+"_val"]=a[t+"buff-size"],n[o+"_bonus"]="size",u=v.default.without(u,"size")),u.indexOf("CMD")>=0&&u.indexOf("AC")>=0&&parseInt(a[t+"buff-AC"],10)===parseInt(a[t+"buff-CMD"],10)&&(l++,o=s+l,n[o+"-show"]=1,n[o+"_macro-text"]=a[t+"buff-AC_macro-text"],n[o+"_val"]=a[t+"buff-AC"],n[o+"_bonus"]="ac",u.indexOf("Touch")?n[o+"_bonustype"]="deflection":n[o+"_bonustype"]="untyped",u=v.default.without(u,"AC","CMD","flat-footed","Touch")),u.indexOf("Melee")>=0&&u.indexOf("Ranged")>=0&&parseInt(a[t+"buff-Melee"],10)===parseInt(a[t+"buff-Ranged"],10)&&(l++,o=s+l,n[o+"-show"]=1,n[o+"_macro-text"]=a[t+"buff-Melee_macro-text"],n[o+"_val"]=a[t+"buff-Melee"],n[o+"_bonus"]="attack",n[o+"_bonustype"]="untyped",u=v.default.without(u,"Melee","Ranged","CMB")),u.indexOf("Fort")>=0&&u.indexOf("Will")>=0&&u.indexOf("Ref")>=0&&parseInt(a[t+"buff-Fort"],10)===parseInt(a[t+"buff-Will"],10)===parseInt(a[t+"buff-Ref"],10)&&(l++,o=s+l,n[o+"-show"]=1,n[o+"_macro-text"]=a[t+"buff-Fort_macro-text"],n[o+"_val"]=a[t+"buff-Fort"],n[o+"_bonus"]="saves",n[o+"_bonustype"]="untyped",u=v.default.without(u,"Fort","Will","Ref")),u.indexOf("Check")>=0&&u.indexOf("check_skills")>=0&&parseInt(a[t+"buff-Check"],10)===parseInt(a[t+"buff-check_skills"],10)&&(l++,o=s+l,n[o+"-show"]=1,n[o+"_macro-text"]=a[t+"buff-Check_macro-text"],n[o+"_val"]=a[t+"buff-Check"],n[o+"_bonus"]="check",n[o+"_bonustype"]="untyped",u=v.default.without(u,"Check","check_skills")),u.indexOf("DMG")>=0&&u.indexOf("DMG_ranged")>=0&&parseInt(a[t+"buff-DMG"],10)===parseInt(a[t+"buff-DMG_ranged"],10)&&(l++,o=s+l,n[o+"_macro-text"]=a[t+"buff-DMG_macro-text"],n[o+"_val"]=a[t+"buff-DMG"],n[o+"_bonus"]="dmg",n[o+"_bonustype"]="untyped",n[o+"-show"]=1,u=v.default.without(u,"DMG","DMG_ranged")),u.forEach(function(e){l++,l>6&&(l=1,r=generateRowID(),i="repeating_buff2_"+r+"_",s=i+"b",n[i+"enable_toggle"]=a[t+"buff-enable_toggle"],n[i+"name"]=a[t+"buff-name"]),o=s+l,n[o+"-show"]=1,n[o+"_macro-text"]=a[t+"buff-"+e+"_macro-text"],n[o+"_val"]=a[t+"buff-"+e]||0,c=e.toLowerCase().replace("-",""),"check"===c?c="check_ability":"dmg"===c&&(c="dmg_melee"),n[o+"_bonus"]=c,n[o+"_bonustype"]="untyped"}))}catch(t){w.default.error("Buff copy error for "+e+" "+(a["repeating_buff_"+e+"_buff-name"]||""),t)}}),void(v.default.size(n)?(w.default.debug("##############################","MERGE BUFFS NEW BUFFS ARE: ",n),C.setWrapper(n,x.default.silentParams,t)):t())):void t(1)})}function l(e,t,a){var n,r=C.getRepeatingIDStr(e),i="repeating_buff2_"+r,l="",s="",o="",c=0,u="";try{a=a||{},t[i+"add_note_to_roll"]&&(o="buff_"+t[i+"add_note_to_roll"]+"_notes"),1===parseInt(t[i+"enable_toggle"],10)&&o&&(c=1),s=C.getTranslated("buff"),l="**"+s+": @{"+i+"name}:** @{"+i+"notes}",n=new RegExp(C.escapeForRegExp(l),"i"),o?(u=t[o]||"",u?n.test(u)?c||(a[o]=u.replace(n,"")):c&&(a[o]=u+l):c&&(a[o]=l),se.forEach(function(e){e!==o&&(u=t[e],u&&(u=u.replace(n,""),u!==t[e]&&(a[e]=u)))})):se.forEach(function(e){u=t[e],u&&(u=u.replace(n,""),u!==t[e]&&(a[e]=u))})}catch(e){}finally{return a}}function s(e,t){var a,n,r;(e||t)&&(e=e||C.getRowId(t.sourceAttribute),a=C.getRepeatingIDStr(e),n="repeating_buff2_"+a,r=se.concat([n+"add_note_to_roll",n+"enable_toggle"]),getAttrs(r,function(t){var a=l(e,t);v.default.size(a)&&C.setWrapper(a,x.default.silentParams)}))}function o(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(ne,function(e){var n={},r={};n=v.default.reduce(J,function(t,a){var n=parseInt(e["buff_"+a+"-total"],10)||0,r=parseInt(e["buff_"+a+"_exists"],10)||0;return n&&(t["buff_"+a+"-total"]=0),r&&(t["buff_"+a+"_exists"]=0),t},{}),n=v.default.reduce(T.abilities,function(t,a){var n=parseInt(e["buff_"+a+"-total_penalty"],10)||0,r=parseInt(e["buff_"+a+"_penalty_exists"],10)||0;return n&&(t["buff_"+a+"-total_penalty"]=0),r&&(t["buff_"+a+"_penalty_exists"]=0),t},n),se.forEach(function(e){n[e]=""}),v.default.size(n)?(t&&(r=x.default.silentParams),C.setWrapper(n,r,a)):a()})}function c(e,t,a){var n=[];a&&(n=ae[a]||[],n=n.concat(te[a]||[]));var r=e.reduce(function(e,r){var i,l="repeating_buff2_"+r+"_";try{i=oe.reduce(function(e,i){var s=l+i,o=s+"_bonus",c={};try{t[o]&&1===parseInt(t[s+"-show"],10)&&(!a||t[o]===a||n.indexOf(t[o])>=0)&&(c.bonus=t[o],c.val=parseInt(t[s+"_val"],10)||0,"size"===c.bonus?c.bonusType=c.bonus:"hptemp"===c.bonus?c.bonusType="untyped":ee.indexOf(c.bonus)>=0?"enhancement"===t[s+"_bonustype"]?c.bonusType="enhancement":c.bonusType=c.bonus:c.bonusType=t[s+"_bonustype"]||"untyped",e.push(c))}catch(e){w.default.error("PFBuffs.assembleRows col:"+a+", row:"+r+", buff:"+i,e)}finally{return e}},[]),i&&v.default.size(i)&&(e=e.concat(i))}catch(e){w.default.error("PFBuffs.assembleRows erri3:",e)}finally{return e}},[]);return r}function u(e,t,a,n){var r=0,i={},l={sum:0,pen:0},s=0,o=0,c=0,u="",d=1,p=[e];try{n=n||{},r=T.abilities.indexOf(e)>=0&&e.indexOf("skill")<9,ae[e]&&(p=p.concat(ae[e])),t=t.filter(function(e){return p.indexOf(e.bonus)>=0?1:0}),t&&v.default.size(t)&&(w.default.debug("PFBUFFS ROWS NOW:",t),"hptemp"===e?l.sum=t.filter(function(e){return e.val>0}).reduce(function(e,t){return e+=t.val||0},0):"size"===e?(l=t.reduce(function(e,t){return t.val>0?e.sum=Math.max(e.sum,t.val):t.val<0&&(e.pen=Math.min(e.pen,t.val)),e},l),l.sum+=l.pen):(i=t.reduce(function(t,a){return a.bonus===e&&(a.val<0?t.penalty=(t.penalty||0)+a.val:ce.includes(a.bonusType)?t[a.bonusType]=(t[a.bonusType]||0)+a.val:t[a.bonusType]=Math.max(t[a.bonusType]||0,a.val)),t},{}),v.default.size(p)>1&&(i=t.reduce(function(t,a){return ce.indexOf(a.bonusType)<0&&ae[e].indexOf(a.bonus)>=0&&a.val>0&&t[a.bonusType]>0&&(a.val0||"shield"===e&&i.shield>0?(w.default.debug("PFBUFFS ac bonsuses ",i,re[e]),l.sum=v.default.reduce(i,function(e,t,a){return t>0&&(e+=t),e},0),l.pen=v.default.reduce(i,function(e,t,a){return t<0&&(e+=t),e},0),d=parseInt(a[e+"3-equipped"],10)||0,s=0,d&&(s=v.default.reduce(re[e],function(e,t,n){return e+=parseInt(a[t],10)||0},0)),l.sum>0&&s>0&&(l.sum<=s?l.sum=0:l.sum>s&&(l.sum-=s)),0!==l.pen&&(l.sum+=l.pen)):(v.default.each(re[e],function(e,t){w.default.debug("PFBUFFS ################## type:"+t+", comparing to "+e),i[t]&&(s=parseInt(a[e],10)||0,i[t]<=s?i[t]=0:i[t]-=s)}),r&&v.default.contains(i,"penalty")&&(l.pen=i.penalty,i.penalty=0),"ac"===e&&i.dodge&&("ac"===e&&(o+=i.dodge),i.dodge=0),l.sum=v.default.reduce(i,function(e,t,a){return e+=t},0)))),"ac"===e&&(w.default.info("column is AC, setting dodge to "+o),c=parseInt(a["buff_dodge-total"],10)||0,o!==c&&(n["buff_dodge-total"]=o),s=parseInt(a.buff_dodge_exists,10)||0,o&&!s?n.buff_dodge_exists=1:s&&!o&&(n.buff_dodge_exists=0)),u=Q[e],u?(parseInt(a["buff_"+u+"-total"],10)!==l.sum&&(n["buff_"+u+"-total"]=l.sum),s=parseInt(a["buff_"+u+"_exists"],10)||0,0!==l.sum&&0===s?n["buff_"+u+"_exists"]=1:0===l.sum&&1===s&&(n["buff_"+u+"_exists"]=0),r&&(parseInt(a["buff_"+u+"-total_penalty"],10)!==l.pen&&(n["buff_"+u+"-total_penalty"]=l.pen),s=parseInt(a["buff_"+u+"_penalty_exists"],10)||0,0!==l.pen&&0===s?n["buff_"+u+"_penalty_exists"]=1:0===l.pen&&1===s&&(n["buff_"+u+"_penalty_exists"]=0))):w.default.error("PFBuffs.updateBuffTotal cannot find total column corresponding to "+e)}catch(e){w.default.error("PFBuffs.updateBuffTotal",e)}finally{return w.default.debug("######################","PFBuffs setting ",n),n}}function d(e,t,a){var n=v.default.once(function(){"function"==typeof t&&t()}),r=T.abilities.indexOf(e)>=0&&e.indexOf("skill")<0;getSectionIDs("repeating_buff2",function(i){var l,s,d,p=[],f=[],m=[];if(i&&v.default.size(i)){try{l=C.cartesianAppend(["repeating_buff2_"],i,de),f=[e],m=[e],te[e]&&(f=f.concat(te[e]),m=m.concat(te[e])),ae[e]&&(f=f.concat(ae[e])),p=m.map(function(e){return Q[e]}),"ac"===e&&p.push("dodge"),s=p.map(function(e){return"buff_"+e+"-total"}).concat(p.map(function(e){return"buff_"+e+"_exists"})),r&&(s=s.concat(["buff_"+Q[e]+"-total_penalty","buff_"+Q[e]+"_penalty_exists"])),l=l.concat(s),l=l.concat(se),d=f.reduce(function(e,t){return re[t]&&v.default.each(re[t],function(t,a){e.push(t)}),e},[]),v.default.size(d)&&(l=l.concat(d)),"armor"===e?l.push("armor3-equipped"):"shield"===e&&l.push("shield3-equipped")}catch(t){return w.default.error("PFBUffs.updateBuffTotalAsync2 "+e+" error before getattrs",t),void n()}getAttrs(l,function(t){var r,l={},s={},d=0;try{i=i.filter(function(e){return parseInt(t["repeating_buff2_"+e+"_enable_toggle"],10)||0}),v.default.size(i)?(r=c(i,t,e),s=m.reduce(function(e,a){return u(a,r,t,e)},s)):o()}catch(t){w.default.error("PFBuffs.updateBuffTotalAsync errrou on col "+e,t)}finally{v.default.size(s)?(a&&(l=x.default.silentParams),v.default.each(s,function(e,a){if(pe.buffEventsTotalOnUpdate[a]){var n=parseInt(t[a],10)||0;d+=parseInt(e,10)-n}}),d&&K.updateAllSkillsDiff(d,0),C.setWrapper(s,l,n)):n()}})}else o(t)})}function p(e,t,a){var n=v.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_buff2",function(e){var a;return e&&0!==v.default.size(e)?(a=C.cartesianAppend(["repeating_buff2_"],e,de),a=a.concat(ne),a=a.concat(le),a=a.concat(["armor3-equipped","shield3-equipped"]),void getAttrs(a,function(a){var r=[],i={},s={};try{if(e=e.filter(function(e){return parseInt(a["repeating_buff2_"+e+"_enable_toggle"],10)||0}),!e||0===v.default.size(e))return void o(n,t);se.forEach(function(e){s[e]="",a[e]=""}),s=e.reduce(function(e,t){return e=l(t,a,e),a=v.default.extend(a,e),e},s),r=c(e,a),v.default.each(Y,function(e){s=u(e,r,a,s)})}catch(e){w.default.error("PFBuffs.updateAllBuffTotalsAsync2 errrou on col ",e)}finally{v.default.size(s)?(t&&(i=x.default.silentParams),C.setWrapper(s,i,n)):n()}})):void o(n,t)})}function f(e){var t=v.default.once(function(){"function"==typeof e&&e()});getAttrs(ne,function(e){var a={},n=function(t,a){var n,r;return a=a||"",n=parseInt(e[t+"-total"+a],10)||0,r=parseInt(e[t+a+"_exists"],10)||0,0===n||r?0===n&&r?0:-1:1};try{a=v.default.reduce(J,function(e,t){var a,r;return a="buff_"+t,r=n(a,""),1!==r&&0!==r||(e[a+"_exists"]=r),e},a),a=v.default.reduce(T.abilities,function(e,t){var a,r;return a="buff_"+t,r=n(a,"_penalty"),1!==r&&0!==r||(e[a+"_penalty_exists"]=r),e},a)}catch(e){w.default.error("PFBuffs.resetStatuspanel2 error inside calculate exists",e)}finally{v.default.size(a)>0?C.setWrapper(a,x.default.silentParams,t):t()}})}function m(e,t){var a=v.default.once(function(){"function"==typeof e&&e()}),n=["_b1-show","_b1_val","_b1_macro-text","_b2-show","_b2_val","_b2_macro-text","_b3-show","_b3_val","_b3_macro-text","_b4-show","_b4_val","_b4_macro-text","_b5-show","_b5_val","_b5_macro-text","_b6-show","_b6_val","_b6_macro-text","_enable_toggle"],r=function(e,t,a){var n=v.default.after(6,e);try{oe.forEach(function(e){parseInt(a["repeating_buff2_"+t+"_enable_toggle"],10)&&parseInt(a["repeating_buff2_"+t+"_"+e+"-show"],10)?C.evaluateAndSetNumber("repeating_buff2_"+t+"_"+e+"_macro-text","repeating_buff2_"+t+"_"+e+"_val",0,n,!0):n()})}catch(e){w.default.error("PFBuffs.reEvaluateCustomMacros2: rowid"+t,e),n()}};getSectionIDs("repeating_buff",function(e){var t;try{v.default.size(e)>0?(t=C.cartesianAppend(["repeating_buff2_"],e,n),getAttrs(t,function(t){var n=v.default.size(e),i=v.default.after(n,a);e.forEach(function(e){r(i,e,t)})})):o(a)}catch(e){w.default.error("PFBuffs.reEvaluateCustomMacros2",e),a()}})}function _(e,t,a){var n,r="",i={},l=0,s=0,o=0,c=0,u=0;if(!e)return i;switch(n=generateRowID(),r="repeating_buff2_"+n+"_",i[r+"enable_toggle"]=a?1:0,i[r+"tabcat2"]="1",t&&(s=parseInt(t["CON-mod"],10),o=parseInt(t["speed-base"],10),c=parseInt(t.level,10),isNaN(s)||isNaN(o)||isNaN(c)||(l=1)),e){case"rage":i[r+"name"]=C.getTranslated("buff-rage"),i[r+"bufftype"]="class",i[r+"tabcat"]="class",i[r+"b1-show"]=1,i[r+"b1_bonus"]="str",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="4+(2*floor((@{level}-1)/10))",u=1===l?c<11?4:20===c?8:6:4,i[r+"b1_val"]=u,i[r+"b2-show"]=1,i[r+"b2_bonus"]="con",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="4+(2*floor((@{level}-1)/10))",i[r+"b2_val"]=u,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ac",i[r+"b3_bonustype"]="untyped",i[r+"b3_macro-text"]="-2",i[r+"b3_val"]=-2,i[r+"b4-show"]=1,i[r+"b4_bonus"]="will",i[r+"b4_bonustype"]="morale",i[r+"b4_macro-text"]="2+floor((@{level}-1)/10)",u/=2,i[r+"b4_val"]=u,i[r+"add_note_to_roll"]="skill",i[r+"notes"]=C.getTranslated("buff-rage-note"),i[r+"description-show"]=1;break;case"unchainedrage":i[r+"name"]=C.getTranslated("buff-rage-unchained"),i[r+"bufftype"]="class",i[r+"tabcat"]="class",i[r+"b1-show"]=1,i[r+"b1_bonus"]="melee",i[r+"b1_bonustype"]="untyped",i[r+"b1_macro-text"]="2+(floor((@{level}-1)/10))",u=1===l?c<11?4:20===c?8:6:4,i[r+"b1_val"]=u,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg_melee",i[r+"b2_bonustype"]="untyped",i[r+"b2_macro-text"]="2+(floor((@{level}-1)/10))",i[r+"b2_val"]=u,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ac",i[r+"b3_bonustype"]="untyped",i[r+"b3_macro-text"]="-2",i[r+"b3_val"]=-2,i[r+"b4-show"]=1,i[r+"b4_bonus"]="will",i[r+"b4_bonustype"]="untyped",i[r+"b4_macro-text"]="2+floor((@{level}-1)/10)",u/=2,i[r+"b4_val"]=u,i[r+"b5-show"]=1,i[r+"b5_bonus"]="hptemp",i[r+"b5_hide"]=1,i[r+"b5_macro-text"]="@{level}*(2+floor((@{level}-1)/10))",u*=c,i[r+"b5_val"]=u,i[r+"add_note_to_roll"]="skill",i[r+"notes"]=C.getTranslated("buff-rage-note"),i[r+"description-show"]=1;break;case"prayer":i[r+"name"]=C.getTranslated("buff-prayer"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="luck",i[r+"b1_macro-text"]="1",i[r+"b1_val"]=1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_bonustype"]="luck",i[r+"b2_macro-text"]="1",i[r+"b2_val"]=1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="saves",i[r+"b3_bonustype"]="luck",i[r+"b3_macro-text"]="1",i[r+"b3_val"]=1,i[r+"b4-show"]=1,i[r+"b4_bonus"]="check_skills",i[r+"b4_bonustype"]="luck",i[r+"b4_macro-text"]="1",i[r+"b4_val"]=1;break;case"prayerdebuff":i[r+"name"]=C.getTranslated("buff-prayer-debuff"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="luck",i[r+"b1_macro-text"]="-1",i[r+"b1_val"]=-1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_bonustype"]="luck",i[r+"b2_macro-text"]="-1",i[r+"b2_val"]=-1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="saves",i[r+"b3_bonustype"]="luck",i[r+"b3_macro-text"]="-1",i[r+"b3_val"]=-1,i[r+"b4-show"]=1,i[r+"b4_bonus"]="check_skills",i[r+"b4_bonustype"]="luck",i[r+"b4_macro-text"]="-1",i[r+"b4_val"]=-1;break;case"bless":i[r+"name"]=C.getTranslated("buff-bless"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="1",i[r+"b1_val"]=1,i[r+"b2-show"]=0,i[r+"b2_bonus"]="will",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="1",i[r+"b2_val"]=1,i[r+"add_note_to_roll"]="save",i[r+"notes"]=C.getTranslated("buff-bless-note"),i[r+"description-show"]=1;break;case"aid":i[r+"name"]=C.getTranslated("buff-aid"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="1",i[r+"b2-show"]=0,i[r+"b2_bonus"]="will",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="2",i[r+"b2_val"]=2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="hptemp",i[r+"b3_hide"]=1,i[r+"b3_val_error"]=1,i[r+"b3_macro-text"]="1d8 + @{level}",u=l?4+c:4,i[r+"b3_val"]=u,i[r+"add_note_to_roll"]="save",i[r+"notes"]=C.getTranslated("buff-aid-note"),i[r+"description-show"]=1;break;case"haste":i[r+"name"]=C.getTranslated("buff-haste"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="untyped",i[r+"b1_macro-text"]="1",i[r+"b1_val"]=1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="ac",i[r+"b2_bonustype"]="dodge",i[r+"b2_macro-text"]="1",i[r+"b2_val"]=1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ref",i[r+"b3_bonustype"]="dodge",i[r+"b3_macro-text"]="1",i[r+"b3_val"]=1,i[r+"b4-show"]=1,i[r+"b4_bonus"]="speed",i[r+"b4_bonustype"]="enhancement",i[r+"b4_macro-text"]="min(@{speed-base},30)",u=30,l&&o<30&&(u=o),i[r+"b4_val"]=u,i[r+"add_note_to_roll"]="attack",i[r+"notes"]=C.getTranslated("buff-haste-note"),i[r+"description-show"]=1;break;case"enlargeperson":i[r+"name"]=C.getTranslated("buff-enlarge-person"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="size",i[r+"b1_hide"]=1,i[r+"b1_macro-text"]="1",i[r+"b1_val"]=1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="str",i[r+"b2_bonustype"]="size",i[r+"b2_macro-text"]="2",i[r+"b2_val"]=2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="dex",i[r+"b3_bonustype"]="size", +i[r+"b3_macro-text"]="-2",i[r+"b3_val"]=-2,i[r+"notes"]=C.getTranslated("buff-enlarge-person-note");break;case"divinefavor":i[r+"name"]=C.getTranslated("buff-divine-favor"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="luck",i[r+"b1_macro-text"]="min(3,1+floor((@{level}-1)/3))",u=1,l&&(u=c<=3?1:c<=6?2:3),i[r+"b1_val"]=u,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_bonustype"]="luck",i[r+"b2_macro-text"]="min(3,1+floor((@{level}-1)/3))",i[r+"b2_val"]=u;break;case"shieldoffaith":i[r+"name"]=C.getTranslated("buff-shield-of-faith"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="ac",i[r+"b1_bonustype"]="deflection",i[r+"b1_macro-text"]="2+floor((@{level})/6)",u=2,l&&(u=c<6?2:c<12?3:c<18?4:5),i[r+"b1_val"]=u;break;case"shield":i[r+"name"]=C.getTranslated("buff-shield"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="shield",i[r+"b1_bonustype"]="shield",i[r+"b1_macro-text"]="4",i[r+"b1_val"]=4,i[r+"add_note_to_roll"]="defense",i[r+"notes"]=C.getTranslated("buff-shield-note"),i[r+"description-show"]=1;break;case"magearmor":i[r+"name"]=C.getTranslated("buff-mage-armor"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="armor",i[r+"b1_bonustype"]="armor",i[r+"b1_macro-text"]="4",i[r+"b1_val"]=4,i[r+"add_note_to_roll"]="defense",i[r+"notes"]=C.getTranslated("buff-magearmor-note"),i[r+"description-show"]=1;break;case"inspirecourage":i[r+"name"]=C.getTranslated("buff-inspire-courage"),i[r+"bufftype"]="song",i[r+"tabcat"]="song",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="competence",i[r+"b1_macro-text"]="1+floor((@{level}+1)/6)",u=1,l&&(u=c<5?1:c<11?2:c<16?3:4),i[r+"b1_val"]=u,i[r+"b3-show"]=1,i[r+"b3_bonus"]="dmg",i[r+"b3_bonustype"]="competence",i[r+"b3_macro-text"]="1+floor((@{level}+1)/6)",i[r+"b3_val"]=u,i[r+"b2-show"]=0,i[r+"b2_bonus"]="will",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="1+floor((@{level}+1)/6)",i[r+"b2_val"]=u,i[r+"add_note_to_roll"]="save",i[r+"notes"]=C.getTranslated("buff-inspire-courage-note"),i[r+"description-show"]=1;break;case"inspiregreatness":i[r+"name"]=C.getTranslated("buff-inspire-greatness"),i[r+"bufftype"]="song",i[r+"tabcat"]="song",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="competence",i[r+"b1_macro-text"]="2",i[r+"b1_val"]=2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="fort",i[r+"b2_bonustype"]="competence",i[r+"b2_macro-text"]="2",i[r+"b2_val"]=2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="hptemp",i[r+"b3_hide"]=1,i[r+"b3_macro-text"]="2d10+(2*@{CON-mod})",u=10,l&&(u=10+2*s),i[r+"b3_val"]=u,i[r+"b3_val_error"]=1,i[r+"b4-show"]=1,i[r+"b4_bonus"]="casterlevel",i[r+"b4_bonustype"]="untyped",i[r+"b4_macro-text"]="2",i[r+"b4_val"]=2;break;case"inspireheroics":i[r+"name"]=C.getTranslated("buff-inspire-heroics"),i[r+"bufftype"]="song",i[r+"tabcat"]="song",i[r+"b1-show"]=1,i[r+"b1_bonus"]="saves",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="4",i[r+"b1_val"]=4,i[r+"b2-show"]=1,i[r+"b2_bonus"]="ac",i[r+"b2_bonustype"]="dodge",i[r+"b2_macro-text"]="4",i[r+"b2_val"]=4;break;case"inspiredrage":i[r+"name"]=C.getTranslated("buff-inspired-rage"),i[r+"bufftype"]="song",i[r+"tabcat"]="song",i[r+"b1-show"]=1,i[r+"b1_bonus"]="str",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="2+(2*floor(@{level}/8))",u=2,l&&(u=c<8?2:c<16?4:6),i[r+"b1_val"]=u,i[r+"b2-show"]=1,i[r+"b2_bonus"]="con",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="2+(2*floor(@{level}/8))",i[r+"b2_val"]=u,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ac",i[r+"b3_bonustype"]="untyped",i[r+"b3_macro-text"]="-1",i[r+"b3_val"]=-1,i[r+"b4-show"]=1,i[r+"b4_bonus"]="will",i[r+"b4_bonustype"]="morale",i[r+"b4_macro-text"]="1+floor(@{level}/4)",u=1,l&&(u=1+Math.floor(c/4)),i[r+"b4_val"]=u,i[r+"add_note_to_roll"]="skill",i[r+"notes"]=C.getTranslated("buff-inspired-rage-note"),i[r+"description-show"]=1;break;case"heroism":i[r+"name"]=C.getTranslated("buff-heroism"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="2",i[r+"b1_val"]=2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="saves",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="2",i[r+"b2_val"]=2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="check_skills",i[r+"b3_bonustype"]="morale",i[r+"b3_macro-text"]="2",i[r+"b3_val"]=2;break;case"blessingoffervor":i[r+"name"]=C.getTranslated("buff-blessing-of-fervor"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="untyped",i[r+"b1_macro-text"]="2",i[r+"b1_val"]=2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="ac",i[r+"b2_bonustype"]="dodge",i[r+"b2_macro-text"]="2",i[r+"b2_val"]=2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ref",i[r+"b3_bonustype"]="dodge",i[r+"b3_macro-text"]="2",i[r+"b3_val"]=2,i[r+"b4-show"]=1,i[r+"b4_bonus"]="speed",i[r+"b4_bonustype"]="enhancement",i[r+"b4_macro-text"]="30",i[r+"b4_val"]=30,i[r+"notes"]=C.getTranslated("buff-blessing-of-fervor-note"),i[r+"description-show"]=1;break;case"goodhope":i[r+"name"]=C.getTranslated("buff-good-hope"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="2",i[r+"b1_val"]=2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="2",i[r+"b2_val"]=2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="saves",i[r+"b3_bonustype"]="morale",i[r+"b3_macro-text"]="2",i[r+"b3_val"]=2,i[r+"b4-show"]=1,i[r+"b4_bonus"]="check",i[r+"b4_bonustype"]="morale",i[r+"b4_macro-text"]="2",i[r+"b4_val"]=2;break;case"crushingdespair":i[r+"name"]=C.getTranslated("buff-crushing-despair"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_macro-text"]="-2",i[r+"b1_val"]=-2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_macro-text"]="-2",i[r+"b2_val"]=-2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="saves",i[r+"b3_macro-text"]="-2",i[r+"b3_val"]=-2,i[r+"b4-show"]=1,i[r+"b4_bonus"]="check",i[r+"b4_macro-text"]="-2",i[r+"b4_val"]=-2;break;case"archonsaura":i[r+"name"]=C.getTranslated("buff-archons-aura"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_macro-text"]="-2",i[r+"b1_val"]=-2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="saves",i[r+"b2_macro-text"]="-2",i[r+"b2_val"]=-2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ac",i[r+"b3_macro-text"]="-2",i[r+"b3_val"]=-2,i[r+"add_note_to_roll"]="defense",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-archons-aura-note");break;case"curse":i[r+"name"]=C.getTranslated("buff-curse"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="str",i[r+"b1_macro-text"]="-6",i[r+"b1_val"]=-6,i[r+"b2-show"]=1,i[r+"b2_bonus"]="attack",i[r+"b2_macro-text"]="-4",i[r+"b2_val"]=-4,i[r+"b2-show"]=1,i[r+"b2_bonus"]="saves",i[r+"b2_macro-text"]="-4",i[r+"b2_val"]=-4,i[r+"b2-show"]=1,i[r+"b2_bonus"]="check",i[r+"b2_macro-text"]="-4",i[r+"b2_val"]=-4,i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-curse-note");break;case"desecrate":i[r+"name"]=C.getTranslated("buff-desecrate"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="profane",i[r+"b1_macro-text"]="1",i[r+"b1_val"]=1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_bonustype"]="profane",i[r+"b2_macro-text"]="1",i[r+"b2_val"]=1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="saves",i[r+"b3_bonustype"]="profane",i[r+"b3_macro-text"]="1",i[r+"b3_val"]=1,i[r+"add_note_to_roll"]="save",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-desecrate-note");break;case"consecrate":i[r+"name"]=C.getTranslated("buff-consecrate"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_macro-text"]="-1",i[r+"b1_val"]=-1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_macro-text"]="-1",i[r+"b2_val"]=-1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="saves",i[r+"b3_macro-text"]="-1",i[r+"b3_val"]=-1,i[r+"add_note_to_roll"]="save",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-consecrate-note");break;case"slow":i[r+"name"]=C.getTranslated("buff-slow"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_macro-text"]="-1",i[r+"b1_val"]=-1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="ac",i[r+"b2_macro-text"]="-1",i[r+"b2_val"]=-1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="ref",i[r+"b3_macro-text"]="-1",i[r+"b3_val"]=-1,i[r+"b4-show"]=1,i[r+"b3_bonus"]="speed",i[r+"b3_macro-text"]="-ceil(ceil(@{speed-base}/2)/5)*5",i[r+"b3_val"]=-15,i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-slow-note");break;case"reduceperson":i[r+"name"]=C.getTranslated("buff-reduce-person"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="size",i[r+"b1_hide"]=1,i[r+"b1_macro-text"]="-1",i[r+"b1_val"]=-1,i[r+"b2-show"]=1,i[r+"b2_bonus"]="str",i[r+"b2_bonustype"]="size",i[r+"b2_macro-text"]="-2",i[r+"b2_val"]=-2,i[r+"b3-show"]=1,i[r+"b3_bonus"]="dex",i[r+"b3_bonustype"]="size",i[r+"b3_macro-text"]="+2",i[r+"b3_val"]=2,i[r+"notes"]=C.getTranslated("buff-reduce-person-note");break;case"bane":i[r+"name"]=C.getTranslated("buff-bane"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_macro-text"]="-1",i[r+"b1_val"]=-1,i[r+"b2-show"]=0,i[r+"b2_bonus"]="will",i[r+"b2_macro-text"]="-1",i[r+"b2_val"]=-1,i[r+"add_note_to_roll"]="save",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-bane-note");break;case"deathknell":i[r+"name"]=C.getTranslated("buff-death-knell"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="str",i[r+"b1_bonustype"]="enhancement",i[r+"b1_macro-text"]="2",i[r+"b1_val"]=2,i[r+"b2-show"]=1,i[r+"b2_bonus"]="casterlevel",i[r+"b2_bonustype"]="untyped",i[r+"b2_macro-text"]="1",i[r+"b2_val"]=1,i[r+"b3-show"]=1,i[r+"b3_bonus"]="hptemp",i[r+"b3_hide"]=1,i[r+"b3_macro-text"]="1d8",i[r+"b3_val"]=4,i[r+"b3_val_error"]=1,i[r+"description-show"]="1",i[r+"notes"]="roll 1d8 and place in temp hp macro textbox";break;case"magicvestment":i[r+"name"]=C.getTranslated("buff-magic-vestment"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="armor",i[r+"b1_bonustype"]="enhancement",i[r+"b1_macro-text"]="1+floor(@{level}/4)",u=1,l&&(u=1+Math.floor(c/4)),i[r+"b1_val"]=u,i[r+"description-show"]="1",i[r+"notes"]="Can change bonus to shield";break;case"ward":i[r+"name"]=C.getTranslated("buff-ward"),i[r+"bufftype"]="hex",i[r+"tabcat"]="hex",i[r+"b1-show"]=1,i[r+"b1_bonus"]="ac",i[r+"b1_bonustype"]="deflection",i[r+"b1_macro-text"]="2 + (floor(@{level}/8)",u=2,l&&(u=2+Math.floor(c/8)),i[r+"b1_val"]=u,i[r+"b2-show"]=1,i[r+"b2_bonus"]="saves",i[r+"b2_bonustype"]="resistance",i[r+"b2_macro-text"]="2 + (floor(@{level}/8)",i[r+"b2_val"]=u,i[r+"add_note_to_roll"]="save",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-ward-note");break;case"battlespirit":i[r+"name"]=C.getTranslated("buff-battle-spirit"),i[r+"bufftype"]="aura",i[r+"tabcat"]="aura",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_bonustype"]="morale",i[r+"b1_macro-text"]="1 + (floor(@{level}/8)",u=1,l&&(u=1+Math.floor(c/8)),i[r+"b1_val"]=u,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg",i[r+"b2_bonustype"]="morale",i[r+"b2_macro-text"]="1 + (floor(@{level}/8)",i[r+"b2_val"]=u;break;case"battleward":i[r+"name"]=C.getTranslated("buff-battle-ward"),i[r+"bufftype"]="hex",i[r+"tabcat"]="hex",i[r+"b1-show"]=1,i[r+"b1_bonus"]="ac",i[r+"b1_bonustype"]="deflection",i[r+"b1_macro-text"]="3 + (floor(@{level}/8)",u=3,l&&(u=3+Math.floor(c/8)),i[r+"b1_val"]=u,i[r+"add_note_to_roll"]="defense",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-battle-ward-note");break;case"hamperinghex":i[r+"name"]=C.getTranslated("buff-hampering-hex"),i[r+"bufftype"]="hex",i[r+"tabcat"]="hex",i[r+"b1-show"]=1,i[r+"b1_bonus"]="ac",i[r+"b1_macro-text"]="-2",i[r+"b1_val"]=-2,i[r+"notes"]="At 8th level the penalty becomes -4";break;case"boneward":i[r+"name"]=C.getTranslated("buff-bone-ward"),i[r+"bufftype"]="hex",i[r+"tabcat"]="hex",i[r+"b1-show"]=1,i[r+"b1_bonus"]="ac",i[r+"b1_bonustype"]="deflection",i[r+"b1_macro-text"]="2 + (floor(@{level}/8)",u=2,l&&(u=2+Math.floor(c/8)),i[r+"b1_val"]=u;break;case"stardust":i[r+"name"]=C.getTranslated("buff-stardust"),i[r+"bufftype"]="spell",i[r+"tabcat"]="spell",i[r+"b1-show"]=1,i[r+"b1_bonus"]="attack",i[r+"b1_macro-text"]="-1 - (floor(@{level}/4))",u=-1,l&&(u=-1*(1+Math.floor(c/4))),i[r+"b1_val"]=u,i[r+"add_note_to_roll"]="skill",i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-stardust-note");break;case"airbarrier":i[r+"name"]=C.getTranslated("buff-air-barrier"),i[r+"bufftype"]="hex",i[r+"tabcat"]="hex",i[r+"b1-show"]=1,i[r+"b1_bonus"]="armor",i[r+"b1_bonustype"]="armor",i[r+"b1_macro-text"]="4 + (2*(floor(max((@{level}-3),0)/4)",u=4,l&&(c<7?u=4:u<11?u=6:u<15?u=8:u<19&&(u=10)),i[r+"b1_val"]=u,i[r+"description-show"]="1",i[r+"notes"]=C.getTranslated("buff-air-barrier-note");break;case"elementaloverflow":i[r+"name"]=C.getTranslated("buff-elemental-overflow"),i[r+"bufftype"]="class",i[r+"tabcat"]="class",i[r+"b1-show"]=1,i[r+"b1_bonus"]="kineticblast",i[r+"b1_bonustype"]="untyped",i[r+"b1_macro-text"]="min(@{kineticistburn},max(0,floor(@{kineticist_level-mod}/3)))",i[r+"b1_val"]=0,i[r+"b2-show"]=1,i[r+"b2_bonus"]="dmg_kineticblast",i[r+"b2_bonustype"]="untyped",i[r+"b2_macro-text"]="2*min(@{kineticistburn},max(0,floor(@{kineticist_level-mod}/3)))",i[r+"b2_val"]=0,i[r+"b3-show"]=1,i[r+"b3_bonus"]="dex",i[r+"b3_bonustype"]="size",i[r+"b3_macro-text"]="min(3,max(0,floor((@{kineticistburn}-1)/2)),floor((@{kineticist_level-mod}-1)/5))*2",i[r+"b3_val"]=0,i[r+"b4-show"]=1,i[r+"b4_bonus"]="con",i[r+"b4_bonustype"]="size",i[r+"b4_macro-text"]="min(2,max(0,floor((@{kineticistburn}+1)/4)),floor((@{kineticist_level-mod}+4)/10))*2",i[r+"b4_val"]=0,i[r+"b5-show"]=1,i[r+"b5_bonus"]="str",i[r+"b5_bonustype"]="size",i[r+"b5_macro-text"]="min(1,max(0,floor(@{kineticistburn}/5)),floor(@{kineticist_level-mod}/11))*2",i[r+"b5_val"]=0,i[r+"description-show"]="1",i[r+"add_note_to_roll"]="defense",i[r+"notes"]="**:"+C.getTranslated("buff-elemental-overflow")+"** [[({1d1,{1d0,(@{kineticist_level-mod}-2)d1}kh1}kl1)*5*@{kineticistburn}]]**%** "+C.getTranslated("buff-elemental-overflow-note")}return i}function g(e,t){var a,n={};a=["add_common_buff","common_buff_toadd","CON-mod","level","speed-base"],getAttrs(a,function(e){var a=0;w.default.debug("adding common buff:",e),parseInt(e.add_common_buff,10)&&(e.common_buff_toadd&&(t&&"player"===t.sourceType&&(a=1),n=_(e.common_buff_toadd,e,a),n.common_buff_toadd="","slow"===e.common_buff_toadd&&(n["condition-Staggered"]=1)),n.add_common_buff=0,C.setWrapper(n,x.default.silentParams,p))})}function b(e){Z.migrate(e)}function h(){var e=["customa1","customa2","customa3","customa4","customa5","customa6","customa7","customa8","customa9","customa10","customa11","customa12"];on("change:add_common_buff",w.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(w.default.debug("caught "+e.sourceAttribute+", event: "+e.sourceType),g(null,e))})),v.default.each(re,function(e,t){v.default.each(e,function(e,a){on("change:"+e,w.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(w.default.debug("caught "+e.sourceAttribute+", event: "+e.sourceType),d(t))}))})}),v.default.each(ie,function(e,t){v.default.each(e,function(e){on("change:"+e,w.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(w.default.debug("caught "+e.sourceAttribute+", event: "+e.sourceType),d(t))}))})}),oe.forEach(function(e){var t="change:repeating_buff2:"+e;on(t+"_macro-text",w.default.callback(function(t){w.default.debug("caught "+t.sourceAttribute+" for column "+e+", event: "+t.sourceType),C.evaluateAndSetNumber("repeating_buff2_"+e+"_macro-text","repeating_buff2_"+e+"_val",0,null,!1)})),on(t+"_bonustype",w.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||getAttrs(["repeating_buff2_"+e+"_val","repeating_buff2_"+e+"-show","repeating_buff2_"+e+"_bonus","repeating_buff2_enable_toggle"],function(a){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType,a),parseInt(a["repeating_buff2_"+e+"-show"],10)&&parseInt(a.repeating_buff2_enable_toggle,10)&&parseInt(a["repeating_buff2_"+e+"_val"],10)&&a["repeating_buff2_"+e+"_bonus"]&&d(a["repeating_buff2_"+e+"_bonus"])})})),on(t+"-show ",w.default.callback(function(t){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||getAttrs(["repeating_buff2_"+e+"_val","repeating_buff2_"+e+"_bonus","repeating_buff2_enable_toggle"],function(a){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType,a),parseInt(a.repeating_buff2_enable_toggle,10)&&parseInt(a["repeating_buff2_"+e+"_val"],10)&&a["repeating_buff2_"+e+"_bonus"]&&d(a["repeating_buff2_"+e+"_bonus"])})})),on(t+"_val",w.default.callback(function(t){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"sheetworker"!==t.sourceType&&"api"!==t.sourceType||getAttrs(["repeating_buff2_"+e+"-show","repeating_buff2_"+e+"_bonus","repeating_buff2_enable_toggle"],function(a){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType,a),parseInt(a.repeating_buff2_enable_toggle,10)&&parseInt(a["repeating_buff2_"+e+"-show"],10)&&a["repeating_buff2_"+e+"_bonus"]&&d(a["repeating_buff2_"+e+"_bonus"])})})),on(t+"_bonus",w.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||getAttrs(["repeating_buff2_"+e+"_val","repeating_buff2_"+e+"_bonus","repeating_buff2_"+e+"_hide","repeating_buff2_enable_toggle"],function(a){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType,a);var n={};ue.indexOf(a["repeating_buff2_"+e+"_bonus"])>=0?(n["repeating_buff2_"+e+"_hide"]=1,C.setWrapper(n,x.default.silentParams)):1===parseInt(a["repeating_buff2_"+e+"_hide"],10)&&(n["repeating_buff2_"+e+"_hide"]=0,C.setWrapper(n,x.default.silentParams)),parseInt(a.repeating_buff2_enable_toggle,10)&&parseInt(a["repeating_buff2_"+e+"_val"],10)&&p(null,null,t)})}))}),on("change:repeating_buff2:add_note_to_roll",w.default.callback(function(e){"player"===e.sourceType&&(w.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s(null,e))})),on("change:repeating_buff2:enable_toggle",w.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs(["repeating_buff2_b1_bonus","repeating_buff2_b2_bonus","repeating_buff2_b3_bonus","repeating_buff2_b4_bonus","repeating_buff2_b5_bonus","repeating_buff2_b6_bonus","repeating_buff2_b1-show","repeating_buff2_b2-show","repeating_buff2_b3-show","repeating_buff2_b4-show","repeating_buff2_b5-show","repeating_buff2_b6-show","repeating_buff2_enable_toggle","repeating_buff2_tabcat2"],function(t){var a={};w.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType,t),oe.forEach(function(e){t["repeating_buff2_"+e+"_bonus"]&&parseInt(t["repeating_buff2_"+e+"-show"],10)&&d(t["repeating_buff2_"+e+"_bonus"])}),s(null,e),a.repeating_buff2_tabcat2=t.repeating_buff2_enable_toggle||"0",C.setWrapper(a,x.default.silentParams)})})),on("change:repeating_buff2:bufftype",w.default.callback(function(e){var t={};"player"===e.sourceType&&(w.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs(["buffs_tab","repeating_buff2_bufftype","repeating_buff2_tabcat"],function(e){t.buffs_tab=e.repeating_buff2_bufftype||"99",t.repeating_buff2_tabcat=e.repeating_buff2_bufftype||"-1",C.setWrapper(t,x.default.silentParams)}))})),on("remove:repeating_buff2",w.default.callback(function(e){w.default.debug("caught remove "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||p(null,null,e)})),v.default.each(pe.buffTotalNonAbilityEvents,function(e,t){var a="change:buff_"+t+"-total";v.default.each(e,function(e){on(a,w.default.callback(function(a){w.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),"sheetworker"!==a.sourceType&&"api"!==a.sourceType||e(t,a)}))})}),v.default.each(pe.buffTotalAbilityEvents,function(e,t){var a="change:buff_"+t+"-total change:buff_"+t+"-total_penalty";v.default.each(e,function(e){on(a,w.default.callback(function(a){w.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),"sheetworker"!==a.sourceType&&"api"!==a.sourceType||e(t,a)}))})}),v.default.each(pe.buffTotalEventsNoParam,function(e,t){var a="change:buff_"+t+"-total";v.default.each(e,function(e){on(a,w.default.callback(function(t){w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"sheetworker"!==t.sourceType&&"api"!==t.sourceType&&"api"!==t.sourceType||e(null,!1,null,t)}))})}),on("change:merge_buffs_now",w.default.callback(function(e){w.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"===e.sourceType&&getAttrs(["merge_buffs_now"],function(e){parseInt(e.merge_buffs_now),i(p)})})),e.forEach(function(e){on("change:buff_"+e+"-total",w.default.callback(function(t){"sheetworker"!==t.sourceType&&"api"!==t.sourceType||(w.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),C.evaluateAndAddAsync(null,null,e,x.default.customEquationMacros[e],"buff_"+e+"-total"))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.bonusTypes=t.totColumns=t.buffToTot=t.buffColumns=void 0,t.clearBuffTotals=o,t.addCommonBuff=g,t.migrate=b;var y=a(1),v=r(y),k=(a(4),a(0)),w=r(k),A=a(2),C=n(A),I=a(3),x=r(I),P=a(5),S=(n(P),a(10)),T=n(S),D=a(23),E=n(D),M=a(8),F=n(M),R=a(7),N=n(R),L=a(13),z=n(L),O=a(17),W=n(O),B=a(20),q=(n(B),a(21)),H=n(q),U=a(16),j=n(U),G=a(15),X=n(G),V=a(11),K=n(V),$=a(36),Z=n($),Y=t.buffColumns=["ac","armor","attack","casterlevel","cha","cha_skills","check","check_ability","check_skills","cmb","cmd","con","con_skills","dex","dex_skills","dmg","dmg_melee","dmg_ranged","flatfooted","fort","hptemp","initiative","int","int_skills","melee","natural","ranged","ref","saves","shield","size","speed","str","str_skills","touch","will","wis","wis_skills","melee2","ranged2","cmb2","dmg_melee2","dmg_ranged2","kineticblast","dmg_kineticblast","customa1","customa2","customa3","customa4","customa5","customa6","customa7","customa8","customa9","customa10","customa11","customa12"],Q=t.buffToTot={ac:"AC",armor:"armor",attack:"attack",casterlevel:"CasterLevel",cha:"CHA",cha_skills:"CHA_skills",check:"Check",check_ability:"check_ability",check_skills:"check_skills",cmb:"CMB",cmd:"CMD",con:"CON",con_skills:"CON_skills",dex:"DEX",dex_skills:"DEX_skills",dmg:"DMG",dmg_melee:"dmg_melee",dmg_ranged:"dmg_ranged",flatfooted:"flat-footed",fort:"Fort",hptemp:"HP-temp",initiative:"Initiative",int:"INT",int_skills:"INT_skills",melee:"Melee",natural:"natural",ranged:"Ranged",ref:"Ref",saves:"saves",shield:"shield",size:"size",speed:"speed",str:"STR",str_skills:"STR_skills",touch:"Touch",will:"Will",wis:"WIS",wis_skills:"WIS_skills",melee2:"melee2",ranged2:"ranged2",cmb2:"cmb2",dmg_melee2:"dmg_melee2",dmg_ranged2:"dmg_ranged2",kineticblast:"kineticblast",dmg_kineticblast:"dmg_kineticblast",customa1:"customa1",customa2:"customa2",customa3:"customa3",customa4:"customa4",customa5:"customa5",customa6:"customa6",customa7:"customa7",customa8:"customa8",customa9:"customa9",customa10:"customa10",customa11:"customa11",customa12:"customa12"},J=t.totColumns=v.default.values(Q).concat(["dodge"]).sort(),ee=(t.bonusTypes=["untyped","alchemical","circumstance","competence","enhancement","inherent","insight","luck","morale","profane","racial","resistance","sacred","size","trait","deflection","dodge"],["armor","shield","natural"]),te={ac:["cmd","touch","flatfooted"],attack:["melee","ranged","cmb","melee2","ranged2","cmb2"],check:["initiative","check_skills","check_ability","str_skills","dex_skills","con_skills","int_skills","wis_skills","cha_skills"],dmg:["dmg_melee","dmg_ranged","dmg_melee2","dmg_ranged2"],dmg_melee:["dmg_melee2"],dmg_ranged:["dmg_ranged2"],saves:["fort","ref","will"],check_skills:["str_skills","dex_skills","con_skills","int_skills","wis_skills","cha_skills"]},ae={melee:["attack"],melee2:["melee","attack"],ranged:["attack"],ranged2:["ranged","attack"],cmb:["attack"],cmb2:["cmb","attack"],dmg_melee:["dmg"],dmg_melee2:["dmg_melee","dmg"],dmg_ranged:["dmg"],dmg_ranged2:["dmg_ranged","dmg"],cmd:["ac"],flatfooted:["ac"],touch:["ac"],fort:["saves"],ref:["saves"],will:["saves"],check_skills:["check"],check_ability:["check"],initiative:["check_ability","check"],str_skills:["check_skills","check"],dex_skills:["check_skills","check"],con_skills:["check_skills","check"],int_skills:["check_skills","check"],wis_skills:["check_skills","check"],cha_skills:["check_skills","check"]},ne=v.default.chain(J).map(function(e){var t=T.abilities.indexOf(e)>=0&&e.indexOf("skill")<1;return t?["buff_"+e+"-total","buff_"+e+"_exists","buff_"+e+"-total_penalty","buff_"+e+"_penalty_exists"]:["buff_"+e+"-total","buff_"+e+"_exists"]}).flatten().value(),re={str:{inherent:"STR-inherent",enhancement:"STR-enhance"},dex:{inherent:"DEX-inherent",enhancement:"DEX-enhance"},con:{inherent:"CON-inherent",enhancement:"CON-enhance"},int:{inherent:"INT-inherent",enhancement:"INT-enhance"},wis:{inherent:"WIS-inherent",enhancement:"WIS-enhance"},cha:{inherent:"CHA-inherent",enhancement:"CHA-enhance"},initiative:{trait:"init-trait"},fort:{resistance:"Fort-resist",trait:"Fort-trait"},ref:{resistance:"Ref-resist",trait:"Ref-trait"},will:{resistance:"Will-resist",trait:"Will-trait"},ac:{deflection:"AC-deflect"},armor:{armor:"armor3-acbonus",enhancement:"armor3-enhance"},shield:{shield:"shield3-acbonus",enhancement:"shield3-enhance"},natural:{natural:"AC-natural"}},ie={armor:["armor3-equipped"],shield:["shield3-equipped"]},le=v.default.chain(re).values().map(function(e){return v.default.values(e)}).flatten().uniq().value().sort(),se=["buff_attack_notes","buff_save_notes","buff_init_notes","buff_skill_notes","buff_defense_notes"],oe=["b1","b2","b3","b4","b5","b6"],ce=["untyped","circumstance","dodge","penalty"],ue=["size","hptemp"],de=["_b1-show","_b1_val","_b1_bonus","_b1_bonustype","_b2-show","_b2_val","_b2_bonus","_b2_bonustype","_b3-show","_b3_val","_b3_bonus","_b3_bonustype","_b4-show","_b4_val","_b4_bonus","_b4_bonustype","_b5-show","_b5_val","_b5_bonus","_b5_bonustype","_b6-show","_b6_val","_b6_bonus","_b6_bonustype","_enable_toggle","_add_note_to_roll"],pe={buffTotalNonAbilityEvents:{Fort:[E.updateSave],Will:[E.updateSave],Ref:[E.updateSave],STR_skills:[K.recalculateAbilityBasedSkills],DEX_skills:[K.recalculateAbilityBasedSkills],CON_skills:[K.recalculateAbilityBasedSkills],INT_skills:[K.recalculateAbilityBasedSkills],WIS_skills:[K.recalculateAbilityBasedSkills],CHA_skills:[K.recalculateAbilityBasedSkills],Melee:[F.updateAttackGrid],Ranged:[F.updateAttackGrid],CMB:[F.updateAttackGrid],melee2:[F.updateAttackGrid],ranged2:[F.updateAttackGrid],cmb2:[F.updateAttackGrid]},buffTotalAbilityEvents:{STR:[T.updateAbilityScore],DEX:[T.updateAbilityScore],CON:[T.updateAbilityScore],INT:[T.updateAbilityScore],WIS:[T.updateAbilityScore],CHA:[T.updateAbilityScore]},buffEventsTotalOnUpdate:{"buff_Check-total":[K.updateAllSkillsDiff],"buff_check_skills-total":[K.updateAllSkillsDiff]},buffTotalEventsNoParam:{DMG:[N.updateRepeatingWeaponDamages],dmg_ranged:[N.updateRepeatingWeaponDamages],dmg_melee:[N.updateRepeatingWeaponDamages],dmg_ranged2:[N.updateRepeatingWeaponDamages],dmg_melee2:[N.updateRepeatingWeaponDamages],saves:[E.updateSaves],attack:[F.updateAttacks],AC:[z.updateDefenses],Touch:[z.updateDefenses],armor:[z.updateDefenses],shield:[z.updateDefenses],dodge:[z.updateDefenses],natural:[z.updateDefenses],"flat-footed":[z.updateDefenses],CMD:[z.updateDefenses],"HP-temp":[W.updateTempMaxHP],Check:[H.updateInitiative],check_ability:[H.updateInitiative],initiative:[H.updateInitiative],speed:[j.updateModifiedSpeed],size:[X.updateSizeAsync]}};t.recalculate=w.default.callback(function(e,t,a){var n=v.default.once(function(){"function"==typeof e&&e()});b(function(){getAttrs(["is_newsheet","use_buff_bonuses"],function(e){return parseInt(e.is_newsheet,10)?void n():void(parseInt(e.use_buff_bonuses,10)?m(function(){p(function(){f(),n()},t)},t):Z.recalculate(n,t))})})});h()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){getAttrs(["use_spells","spellclass-"+e+"-exists"],function(n){try{parseInt(n.use_spells,10)&&parseInt(n["spellclass-"+e+"-exists"],10)?"function"==typeof t&&t():"function"==typeof a&&a()}catch(e){C.default.error("PFSpellCasterClasses.ifSpellClassExists",e),"function"==typeof a&&a()}})}function l(e,t,a){var n=w.default.once(function(){"function"==typeof a&&a()});getAttrs(["spellclass-0-exists","spellclass-1-exists","spellclass-2-exists"],function(e){var t=parseInt(e.spellclasses_multiclassed,10)||0,a={};(parseInt(e["spellclass-0-exists"],10)||0)+(parseInt(e["spellclass-1-exists"],10)||0)+(parseInt(e["spellclass-2-exists"],10)||0)>1?t||(a.spellclasses_multiclassed=1):t&&(a.spellclasses_multiclassed=0),w.default.size(a)>0?S.setWrapper(a,x.default.silentParams,n):n()})}function s(e,t){getAttrs(["spellclass-0-exists","spellclass-1-exists","spellclass-2-exists","spellclass-0-name","spellclass-1-name","spellclass-2-name","allspells_macro","NPC-allspells_macro"],function(t){var a="",n="",r="";parseInt(t["spellclass-0-exists"],10)&&(r="{{row10=["+S.escapeForChatLinkButton(t["spellclass-0-name"])+" ^{spellbook}](~@{character_id}|",a+=r+"spellbook-0) }} ",n+=r+"NPC-spellbook-0) }} "),parseInt(t["spellclass-1-exists"],10)&&(r="{{row11=["+S.escapeForChatLinkButton(t["spellclass-1-name"])+" ^{spellbook}](~@{character_id}|",a+=r+"spellbook-1) }} ",n+=r+"NPC-spellbook-1) }} "),parseInt(t["spellclass-2-exists"],10)&&(r="{{row12=["+S.escapeForChatLinkButton(t["spellclass-2-name"])+" ^{spellbook}](~@{character_id}|",a+=r+"spellbook-2) }} ",n+=r+"NPC-spellbook-2) }} "),a!==t.allspells_macro?S.setWrapper({allspells_macro:a,"NPC-allspells_macro":n},x.default.silentParams,e):"function"==typeof e&&e()})}function o(e,t,a,n,r){var i=function(){"function"==typeof n&&n()},l="spellclass-"+e,s=l+"-level-total",o=l+"-close",c=l+"-medium",u=l+"-long";getAttrs([s,o,c,u],function(e){var t=parseInt(e[s],10)||0,n=parseInt(e[o],10)||0,l=parseInt(e[c],10)||0,d=parseInt(e[u],10)||0,p={},f={},m={};try{p=D.calculateSpellRanges(t),(a||p.close!==n||p.medium!==l||p.long!==d)&&(f[o]=p.close,f[c]=p.medium,f[u]=p.long)}catch(e){C.default.error("PFSpellCasterClasses.updateCasterRanges",e)}finally{w.default.size(f)>0?(r&&(m=x.default.silentParams),S.setWrapper(f,m,i)):i()}})}function c(e,t,a,n){S.updateRowTotal(["Concentration-"+e,"spellclass-"+e+"-level-total","Concentration-"+e+"-mod","Concentration-"+e+"-misc-mod"],0,null,!1,a,n)}function u(e,t,a,n){var r=w.default.once(function(){"function"==typeof a&&a()});getAttrs(["use_spells","spellclass-"+e+"-exists","Concentration-"+e+"-mod","spellclass-"+e+"-level-0-savedc"],function(t){var a,i=parseInt(t["Concentration-"+e+"-mod"],10)||0,l=10+i,s=parseInt(t["spellclass-"+e+"-level-0-savedc"],10),o={},c={};try{if(s!==l||isNaN(s))for(o["spellclass-"+e+"-level-0-savedc"]=l,a=1;a<10;a++)o["spellclass-"+e+"-level-"+a+"-savedc"]=l+a}catch(e){C.default.error("PFSpellCasterClasses.updateSaveDCs",e)}finally{w.default.size(o)>0?(n&&(c=x.default.silentParams),S.setWrapper(o,c,r)):r()}})}function d(e,t,a,n){var r=w.default.once(function(){"function"==typeof a&&a()}),i="Concentration-"+e+"-ability";getAttrs([i,"INT","WIS","CHA","STR","DEX","CON","spellclass-"+e+"-level-0-bonus","spellclass-"+e+"-level-1-bonus","spellclass-"+e+"-level-2-bonus","spellclass-"+e+"-level-3-bonus","spellclass-"+e+"-level-4-bonus","spellclass-"+e+"-level-5-bonus","spellclass-"+e+"-level-6-bonus","spellclass-"+e+"-level-7-bonus","spellclass-"+e+"-level-8-bonus","spellclass-"+e+"-level-9-bonus"],function(t){var a,n,l,s=D.findAbilityInString(t[i]).replace("-mod",""),o=parseInt(t[s],10),c={},u={ +silent:!0},d="spellclass-"+e+"-level-";try{if(!isNaN(o))if(o>=12)for(l=1;l<10;l++)a=Math.floor(Math.max(Math.floor((o-10)/2)+4-l,0)/4),n=d+l+"-bonus",parseInt(t[n],10)!==a&&(c[n]=a);else for(l=1;l<10;l++)n=d+l+"-bonus",0!==parseInt(t[n],10)&&(c[n]=0)}catch(e){C.default.error("PFSpellCasterClasses.updateBonusSpells",e)}finally{w.default.size(c)>0?S.setWrapper(c,u,r):r()}})}function p(e,t,a,n){var r=w.default.once(function(){"function"==typeof a&&a()});getAttrs(["spellclass-"+e+"-level-"+t+"-spells-per-day_max","spellclass-"+e+"-level-"+t+"-class","spellclass-"+e+"-level-"+t+"-bonus","spellclass-"+e+"-level-"+t+"-misc"],function(a){var n=0,i=0,l=0,s=0,o={};try{i=parseInt(a["spellclass-"+e+"-level-"+t+"-class"],10),s=parseInt(a["spellclass-"+e+"-level-"+t+"-spells-per-day_max"],10)||0,isNaN(i)?n=0:(l=(parseInt(a["spellclass-"+e+"-level-"+t+"-bonus"],10)||0)+(parseInt(a["spellclass-"+e+"-level-"+t+"-misc"],10)||0),n=i+l),n!==s?(o["spellclass-"+e+"-level-"+t+"-spells-per-day_max"]=n,S.setWrapper(o,x.default.silentParams,r)):r()}catch(e){C.default.error("PFSpellCasterClasses.updateMaxSpellsPerDay err",e),r()}})}function f(e,t){var a=w.default.once(function(){"function"==typeof e&&e()});getAttrs(["condition_spell_notes","condition-Deafened","condition-Grappled","condition-Pinned"],function(e){var t={},n="";parseInt(e["condition-Deafened"],10)&&(n+="**"+S.getTranslated("deafened")+"**: ",n+=S.getTranslated("condition-deafened-spellonly")+"\r\n"),parseInt(e["condition-Grappled"],10)&&(n+="**"+S.getTranslated("grappled")+"**: ",n+=S.getTranslated("condition-grappled-spell-note")+"\r\n"),parseInt(e["condition-Pinned"],10)&&(n+="**"+S.getTranslated("pinned")+"**: ",n+=S.getTranslated("condition-pinned-spell-note")+" ",n+=S.getTranslated("condition-grappled-spell-note")+"\r\n"),n!==e.condition_spell_notes&&(t.condition_spell_notes=n,S.setWrapper(t,x.default.silentParams)),a()})}function m(e,t,a){var n=w.default.once(function(){"function"==typeof t&&t()}),r=w.default.after(5,n),i=w.default.after(10,r);w.default.times(10,function(t){p(e,t,i,a)}),c(e,null,r,a),u(e,null,r,a),o(e,null,!1,r,a),d(e,null,r,a)}function _(e,t,a,n,r,i){var l=w.default.once(function(){"function"==typeof n&&n()});getAttrs(["use_spells","spellclass-"+e+"-level","spellclass-"+e+"-level-total","spellclass-"+e+"-level-misc-mod","buff_CasterLevel-total","CasterLevel-Penalty","spellclass-"+e+"-exists"],function(t){var n=a||parseInt(t["spellclass-"+e+"-level"],10)||0,s=parseInt(t["spellclass-"+e+"-level-total"],10)||0,o=parseInt(t["spellclass-"+e+"-exists"],10)||0,c=parseInt(t.use_spells,10)||0,u=0,d={},p=0,f={};try{c?(u=n+(parseInt(t["spellclass-"+e+"-level-misc-mod"],10)||0)+(parseInt(t["buff_CasterLevel-total"],10)||0)+(parseInt(t["CasterLevel-Penalty"],10)||0),u<=0&&(u=n>0?1:0),u!==s&&(d["spellclass-"+e+"-level-total"]=u,n>0&&(p=1)),n>0?(0===o&&(d["spellclass-"+e+"-exists"]=1,p=1),i&&(p=1)):1===o&&(d["spellclass-"+e+"-exists"]=0)):1===o&&(d["spellclass-"+e+"-exists"]=0)}catch(e){C.default.error("PFSpellCasterClasses.updateCasterLevel",e)}finally{w.default.size(d)>0?(r&&(f=x.default.silentParams),S.setWrapper(d,f,function(){p?m(e,l,r):l()})):l()}})}function g(e,t,a,n){_(0,t,0,a,n),_(1,t,0,a,n),_(2,t,0,a,n)}function b(e,t,a,n){var r=w.default.once(function(){"function"==typeof a&&a()}),i="spellclass-"+e,l="spellclass-"+e+"-level";getAttrs([i,l],function(a){var n,s,o,c=parseInt(a[i],10),u=parseInt(a[l],10);try{if(isNaN(c)||!a[i]||parseInt(a[i],10)===-1)return void r();n="spellclass-"+e+"-name",s="class-"+c+"-name",o="class-"+c+"-level",6===c&&(s="race",o="npc-hd-num"),getAttrs([s,o,n],function(a){var i={},c=0,d=parseInt(a[o],10)||0;try{(u!==d||isNaN(u))&&(i[l]=d,c=1),a[s]&&a[s]!==a[n]&&(i[n]=a[s])}catch(e){C.default.error("PFSpellCasterClasses.setCasterClassFromDropdown",e)}finally{w.default.size(i)>0?(S.setWrapper(i,{silent:!0},r),c&&_(e,t,d)):r()}})}catch(e){C.default.error("PFSpellCasterClasses.setCasterClassFromDropdown outer",e),r()}})}function h(e,t,a,n,r){var i=(w.default.once(function(){"function"==typeof n&&n()}),"spellclass-0"),l="spellclass-1",s="spellclass-2";e="npc-hd-num"===e?6:parseInt(e,10)||0,getAttrs([i,l,s],function(n){var r,o,c,u,d;if(parseInt(n[i],10)===e)r=0;else if(parseInt(n[l],10)===e)r=1;else{if(parseInt(n[s],10)!==e)return;r=2}u="spellclass-"+r,o=u+"-level",c="class-"+e+"-level",d="class-"+e+"-name",getAttrs([o,c,d],function(n){var r={},i=parseInt(n[c],10)||0,l=parseInt(n[o],10);(i!==l||isNaN(l)||a)&&(r[o]=i,r[u+"-name"]=n[d],S.setWrapper(r,{silent:!0}),_(e,t,i))})})}function y(e,t){"function"==typeof e&&e()}function v(){w.default.each(x.default.spellClassIndexes,function(e){var t=parseInt(e,10)||0;on("change:Concentration-"+t+"-ability",C.default.callback(function(e){C.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),M.setDropdownValue("Concentration-"+t+"-ability","Concentration-"+t+"-mod")})),w.default.each(L.spellcastingClassEventsPlayer,function(e,a){var n=a.replace(/REPLACE/g,t);w.default.each(e,function(e){on(n,C.default.callback(function(a){"player"!==a.sourceType&&"api"!==a.sourceType||(C.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),i(t,function(){e(t,a)}))}))})}),w.default.each(L.spellcastingClassEventsAuto,function(e,a){var n=a.replace(/REPLACE/g,t);w.default.each(e,function(e){on(n,C.default.callback(function(a){"sheetworker"!==a.sourceType&&"api"!==a.sourceType||(C.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),i(t,function(){e(t,a)}))}))})}),w.default.each(L.spellcastingClassEventsIgnoreLevel,function(e,a){var n=a.replace(/REPLACE/g,t);w.default.each(e,function(e){on(n,C.default.callback(function(a){C.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),e(t,a)}))})}),w.default.each(N.spellLevels,function(e){var a=parseInt(e,10),n=L.spellcastingClassEventsPerSpellLevel.replace(/CLASSIDX/g,t).replace(/SPELLLEVEL/g,a);on(n,C.default.callback(function(e){C.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i(t,function(){p(t,a)})}))}),on("change:spellclass-0-exists change:spellclass-1-exists change:spellclass-2-exists",C.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(C.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s(null,e))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.ifSpellClassExists=i,t.updateMultiClassedCasterFlag=l,t.applyConditions=f,t.setCasterClassFromDropdown=b,t.updateCasterFromClassLevel=h,t.migrate=y;var k=a(1),w=r(k),A=a(0),C=r(A),I=(a(4),a(3)),x=r(I),P=a(2),S=n(P),T=a(5),D=n(T),E=a(9),M=n(E),F=a(6),R=(n(F),a(18)),N=n(R),L=(t.recalculate=C.default.callback(function(e,t,a){var n=w.default.once(function(){C.default.info("leaving PFSpellCasterClasses.recalculate"),"function"==typeof e&&e()}),r=function(e,t){var a=(w.default.once(function(){"function"==typeof e&&e()}),w.default.after(3,function(){s(e)}));w.default.each(x.default.spellClassIndexes,function(e){try{b(e,null,function(){_(e,null,0,a,t,!0)},t)}catch(e){C.default.error("PFSpellCasterClasses.recalculate_recalcTopSection",e),a()}})},i=w.default.once(function(){l(null,null,function(){N.recalculate(n,t,a)})}),o=w.default.once(function(){r(i,t)}),c=w.default.once(function(){f(o,t)});y(function(){c()},a)}),{spellcastingClassEventsAuto:{"change:concentration-REPLACE-mod":[d,u,c,N.updateSpellsCasterAbilityRelated],"change:spellclass-REPLACE-level-total":[c,o,N.updateSpellsCasterLevelRelated],"change:concentration-REPLACE-misc-mod":[c,N.updateSpellsCasterLevelRelated],"change:spellclass-REPLACE-SP-mod":[N.updateSpellsCasterLevelRelated],"change:spellclass-REPLACE-level-misc-mod":[_]},spellcastingClassEventsPlayer:{"change:concentration-REPLACE-def":[N.updateSpellsCasterLevelRelated]},spellcastingClassEventsIgnoreLevel:{"change:spellclass-REPLACE":[b],"change:spellclass-REPLACE-level":[_,l],"change:buff_CasterLevel-total change:condition-Drained change:CasterLevel-Penalty":[g]},spellcastingClassEventsPerSpellLevel:"change:spellclass-CLASSIDX-level-SPELLLEVEL-class change:spellclass-CLASSIDX-level-SPELLLEVEL-bonus change:spellclass-CLASSIDX-level-SPELLLEVEL-misc"});v()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(){var e=["multiclassed","class-0-level","class-1-level","class-2-level","class-3-level","class-4-level","class-5-level","npc-hd-num"];getAttrs(e,function(e){var t,a=parseInt(e.multiclassed,10)||0;t=Math.min(1,parseInt(e["class-0-level"],10)||0)+Math.min(1,parseInt(e["class-1-level"],10)||0)+Math.min(1,parseInt(e["class-2-level"],10)||0)+Math.min(1,parseInt(e["class-3-level"],10)||0)+Math.min(1,parseInt(e["class-4-level"],10)||0)+Math.min(1,parseInt(e["class-5-level"],10)||0)+Math.min(1,parseInt(e["npc-hd-num"],10)||0),t>1?a||_.setWrapper({multiclassed:1}):a&&_.setWrapper({multiclassed:0})})}function l(e,t,a,n){var r=function(){"function"==typeof t&&t()},i=function(e,t,a){var n,i,l,s,o,c,u,d,p,f,m,g,h,y=[];if("fchp"===e?e="hp":"hd-num"===e&&(e="level"),i="class-0-"+e,l="class-1-"+e,s="class-2-"+e,o="class-3-"+e,c="class-4-"+e,u="class-5-"+e,n="bab"===e||"level"===e?e:"total-"+e,y=[n,i,l,s,o,c,u],"skill"!==e){switch(e){case"bab":case"Fort":case"Will":case"Ref":y=y.concat(["npc-"+e]);break;case"level":y=y.concat(["npc-hd-num"])}_.updateRowTotal(y,0,[],0,r,a)}else d="class-0-level",p="class-1-level",f="class-2-level",m="class-3-level",g="class-4-level",h="class-5-level",y=y.concat([d,p,f,m,g,h,"npc-skill","npc-hd-num"]),getAttrs(y,function(e){var t={},y=0,v={},k=0;k=Math.floor((parseFloat(e[i],10)||0)*(parseInt(e[d],10)||0)+(parseFloat(e[l],10)||0)*(parseInt(e[p],10)||0)+(parseFloat(e[s],10)||0)*(parseInt(e[f],10)||0)+(parseFloat(e[o],10)||0)*(parseInt(e[m],10)||0)+(parseFloat(e[c],10)||0)*(parseInt(e[g],10)||0)+(parseFloat(e[u],10)||0)*(parseInt(e[h],10)||0)+(parseFloat(e["npc-skill"],10)||0)*(parseInt(e["npc-hd-num"],10)||0)),y=parseInt(e[n],10),isNaN(y)||k!==y?(t[n]=k,a&&(v=b.default.silentParams),_.setWrapper(t,v,r)):r()})};return e&&"hd"!==e&&"hp"!==e?(/^npc/i.test(e)&&(e=e.slice(4)),void i(e,r,a)):(f.default.warn("at updateClassInformation called with bad column:"+e),void r())}function s(e,t,a){var n=d.default.once(function(){"function"==typeof e&&e()}),r=["auto_calc_hp","autohp_percent","maxhp_lvl1","is_npc","set_pfs","total-hp","NPC-HP","npc-hd-num","npc-hd","class-0-hp","class-0-level","class-0-hd","class-0-fchp","class-1-hp","class-1-level","class-1-hd","class-1-fchp","class-2-hp","class-2-level","class-2-hd","class-2-fchp","class-3-hp","class-3-level","class-3-hd","class-3-fchp","class-4-hp","class-4-level","class-4-hd","class-4-fchp","class-5-hp","class-5-level","class-5-hd","class-5-fchp"];getAttrs(r,function(e){var t,r=0,i=0,l=1,s=0,o={},c=0,u={},p=0,m=0,g=0,h=0,v=0,k=-1;try{r=parseInt(e.auto_calc_hp,10)||0,a&&a.sourceAttribute&&(t=a.sourceAttribute.match(/(\d)/),t&&t[1]?k=parseInt(t[1],10)||0:/NPC/i.test(a.sourceAttribute)&&(k=6)),r&&(s=parseInt(e.set_pfs,10)||0,c=parseInt(e.is_npc,10)||0,l=y.getAutoHPPercentMultiplier(e.autohp_percent),i=parseInt(e.maxhp_lvl1,10)||0,i&&6===k&&(k=-1)),g=parseInt(e["npc-hd-num"],10)||0,h=parseInt(e["npc-hd"],10),p=parseInt(e["NPC-HP"],10)||0,isNaN(h)||!r?v+=p:g>0&&h>0?(6===k||k===-1?(m=y.getAvgHP(g,h,l,i,!1),v+=m,m!==p&&(o["NPC-HP"]=m)):v+=p,i&&(i=0)):0===h&&0!==p&&(o["NPC-HP"]=0),d.default.each(I,function(t){var a=0,n=parseInt(t,10);m=0,g=parseInt(e["class-"+t+"-level"],10)||0,h=parseInt(e["class-"+t+"-hd"],10),p=parseInt(e["class-"+t+"-hp"],10)||0,a=parseInt(e["class-"+t+"-fchp"],10)||0,isNaN(h)||!r?v+=p+a:g>0&&h>0?(k===-1||k===n?(m=y.getAvgHP(g,h,l,i,s),v+=m+a,m!==p&&(o["class-"+t+"-hp"]=m)):v+=p+a,i&&(i=0)):0===h&&0!==p&&(o["class-"+t+"-hp"]=0)}),v!==parseInt(e["total-hp"],10)&&(u["total-hp"]=v)}catch(e){f.default.error("PFClassRaceGrid.setHitPoints",e)}finally{d.default.size(u)>0&&_.setWrapper(u),d.default.size(o)>0?_.setWrapper(o,b.default.silentParams,n):n()}})}function o(e,t){"function"==typeof e&&e()}function c(){var e="";d.default.each(A,function(e){var t=d.default.map(I,function(t){return"change:class-"+t+"-"+e}).join(" ");on(t,f.default.callback(function(t){f.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),"player"!==t.sourceType&&"api"!==t.sourceType||l(e,null,null,t)})),"level"===e&&on(t,f.default.callback(function(e){f.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(l("skill",null,null,e),i())}))}),d.default.each(C,function(e){on("change:npc-"+e,f.default.callback(function(t){f.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),("player"===t.sourceType||"api"===t.sourceType||"sheetworker"===t.sourceType||"api"===t.sourceType&&"hp"===t.sourceAttribute.slice(-2))&&("hd-num"===e?(l("level",null,null,t),l("skill",null,null,t),i()):l(e,null,null,t))}))}),d.default.each(I,function(t){e=x.perClassRowhp.replace(/REPLACE/g,t),on(e,f.default.callback(function(e){f.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(s(null,null,e),/level/i.test(e.sourceAttribute)&&w.updateCasterFromClassLevel(parseInt(t,10),e))}))}),on(x.racialhp,f.default.callback(function(e){f.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(s(null,null,e),"npc-hd-num"===e.sourceAttribute&&w.updateCasterFromClassLevel(6,e))})),on(x.basehp,f.default.callback(function(e){f.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||s()})),on("change:class-0-level change:class-1-level change:class-2-level change:class-3-level change:class-4-level change:class-5-level change:bab change:level",f.default.callback(function(e){("level"!==e.sourceAttribute&&"bab"!==e.sourceAttribute||"sheetworker"!==e.sourceType)&&"player"!==e.sourceType&&"api"!==e.sourceType||(f.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),d.default.each(b.default.levelPlusBABManualDropdowns,function(e){_.setDropdownValue(e,e+"-mod")}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.classRows=t.raceColumns=t.classColumns=void 0,t.setMulticlassed=i,t.setHitPoints=s,t.migrate=o;var u=a(1),d=r(u),p=(a(4),a(0)),f=r(p),m=a(2),_=n(m),g=a(3),b=r(g),h=a(5),y=n(h),v=a(18),k=(n(v),a(26)),w=n(k),A=t.classColumns=["skill","fcskill","fcalt","bab","Fort","Ref","Will","level"],C=t.raceColumns=["skill","bab","Fort","Ref","Will","hd-num"],I=t.classRows=["0","1","2","3","4","5"],x={basehp:"change:auto_calc_hp change:autohp_percent change:maxhp_lvl1",racialhp:"change:npc-hd-num change:npc-hd change:npc-hp",perClassRowhp:"change:class-REPLACE-level change:class-REPLACE-hd change:class-REPLACE-hp change:class-REPLACE-fchp"};t.recalculate=f.default.callback(function(e,t,a){var n=d.default.once(function(){f.default.info("leaving PFClassRaceGrid.recalculate"),"function"==typeof e&&e()}),r=A.length,o=d.default.after(r,function(){s(n,t)});d.default.each(A,function(e){l(e,o,t)}),i()});c()},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={unarmedAttacksRegExp:/unarmed|strike|punch|palm|flurry|blow|touch/i,combatManeuversRegExp:/bull\s*rush|trip|disarm|dirty\s*trick|drag|grapple|overrun|reposition|steal|sunder|trip/i,primaryNaturalAttacksRegExp:/bite|claw|gore|slam|sting|talon/i,importantFeatRegExp:/Weapon Fine|^Run$|Enduran|Defensive Combat Train|Agile Maneuv|Arcane Arm|Combat Cast|Critical Focus|Skill Focus|Critical|Intimidating Prow|great fortitude|iron will|lightning reflexes/i,spAttackAttacks:/blooddrain|touch|energydrain|bleed|burn|constrict|trample|engulf|heat|powerfulcharge|swallowwhole|constrict/i,spAttackAttacksPreProcess:/rake|rend|web/i,abilitySrch:/str|dex|con|int|wis|cha/i,cmbMonsterSrch:/tongue|pull|drag|grab|push/i,cmbPlusStrsrch:/swallowwhole|engulf|constrict|swallow/i,casterDefaultAbility:{sorcerer:"cha",wizard:"int",cleric:"wis",bard:"cha",druid:"wis",paladin:"cha",ranger:"wis",oracle:"cha",witch:"int",alchemist:"int",summoner:"cha",inquisitor:"wis",magus:"int"},creatureTypeClassSkills:{aberration:["Acrobatics","Climb","Escape-Artist","Fly","Intimidate","Knowledge","Perception","Spellcraft","Stealth","Survival","Swim"],animal:["Acrobatics","Climb","Fly","Perception","Stealth","Swim"],dragon:["Appraise","Bluff","Climb","Craft","Diplomacy","Fly","Heal","Intimidate","Linguistics","Knowledge","Perception","Sense-Motive","Spellcraft","Stealth","Survival","Swim","Use-Magic-Device"],fey:["Appraise","Bluff","Climb","Craft","Diplomacy","Disguise","Escape-Artist","Fly","Knowledge-Geography","Knowledge-Local","Knowledge-Nature","Perception","Perform","Sense-Motive","Sleight-of-Hand","Stealth","Swim","Use-Magic-Device"],monstrous:["Climb","Craft","Fly","Intimidate","Perception","Ride","Stealth","Survival","Swim"],humanoid:["Climb","Craft","Handle-Animal","Heal","Profession","Ride","Survival"],magicalbeast:["Acrobatics","Climb","Fly","Perception","Stealth","Swim"],outsider:["Bluff","Craft","Knowledge-Planes","Perception","Sense-Motive","Stealth"],plant:["Perception","Stealth"],undead:["Climb","Disguise","Fly","Intimidate","Knowledge-Arcana","Knowledge-Religion","Perception","Sense-Motive","Spellcraft","Stealth"]},creatureSubtypeClassSkills:{air:["Fly"],giant:["Intimidate","Perception"],goblinoid:["Stealth"],inevitable:["Acrobatics","Diplomacy","Intimidate","Survival"],water:["Swim"],robot:["Climb","Disable-Device","Fly","Knowledge","Linguistics","Perception","Sense-Motive"]},specialAttackDCAbilityBase:{breathweapon:"CON",burn:"CON",curse:"CHA",disease:"CON",distraction:"CON",emotionaura:"CHA",energydrain:"CHA",entrap:"CON",fear:"CHA",fearaura:"CHA",fearcone:"CHA",fearray:"CHA",frightfulpresence:"CHA",gaze:"CHA",mentalstaticaura:"CHA",paralysis:"CON",poison:"CON",stench:"CON",trample:"STR",web:"CON",whirlwind:"STR"},monsterRulesPlusAttacks:["grab","trip","engulf","swallow whole"],naturalAttackRegExp:/arm|bite|claw|foreclaw|gore|hoof|kick|leg|pincer|quill|root|slam|slap|snake\s*bite|spike|spine|splinter|sting|tail|tail\s*slap|talon|tendril|tentacle|thorn|tongue|vine|wing|buffet/i,skillBonusFeatRegExp:/Acrobatic|Uncanny Alertness|Alertness|Animal Affinity|Athletic|Breadth of Experience|Brewmaster|Deceitful|Deft Hands|Deny the Reaper|Forgotten Past|Innocent Blood|Monkey Moves|Monkey Style|Monument Builder|No Name|Persuasive|Scavenger.s Eye|Sea Legs|Self.Sufficient|Sharp Senses|Stealthy|Sure and Fleet|Voice of the Sibyl/i,lessImportantCombatFeatRegExp:/Power Attack|Double Slice|Greater Weapon of the Chosen|Spell Focus|Toughness/i,monsterRules:/spells|damage reduction/i}},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=_.default.once(function(){"function"==typeof e&&e()});getAttrs(["is_npc","NPC-orig_ability_header_macro","orig_ability_header_macro","mythic-adventures-show","use_traits","use_racial_traits","use_feats","use_class_features","use_spell-like-abilities"],function(e){var a=0,n=0,r=0,i=0,l=0,s=0,o="",c=0,u="",d={};try{c=parseInt(e.is_npc,10)||0,u=c?"NPC-":"",a=parseInt(e["mythic-adventures-show"],10)||0,i=parseInt(e.use_feats,10)||0,l=parseInt(e.use_class_features,10)||0,n=parseInt(e.use_traits,10)||0,r=parseInt(e.use_racial_traits,10)||0,s=parseInt(e["use_spell-like-abilities"],10)||0,o=(l?M["class-ability"]:"")+(i?M.feat.replace(/REPLACENPC/g,u):"")+(s?M["npc-spell-like-abilities"]:"")+(n?M.trait:"")+(r?M["racial-trait"].replace(/REPLACENPC/g,u):"")+(a?M.mythic:""),o&&(o="{{row01=^{original-abilities-menus}}} {{row02="+o+"}}"),o!==e[u+"orig_ability_header_macro"]&&(d[u+"orig_ability_header_macro"]=o),c&&(o=(l?M["class-ability"]:"")+(i?M.feat.replace(/REPLACENPC/g,""):"")+(s?M["npc-spell-like-abilities"]:"")+(n?M.trait:"")+(r?M["racial-trait"].replace(/REPLACENPC/g,""):"")+(a?M.mythic:""),o&&(o="{{row01=^{original-abilities-menus}}} {{row02="+o+"}}"),o!==e.orig_ability_header_macro&&(d.orig_ability_header_macro=o))}catch(e){b.default.error("PFFeatures.resetTopCommandMacro",e)}finally{_.default.size(d)>0?y.setWrapper(d,k.default.silentParams,t):t()}})}function l(e){var t=_.default.once(function(){"function"==typeof e&&e()});getAttrs(["mythic-adventures-show","use_traits","use_racial_traits","use_class_features","use_feats","use_spell-like-abilities"],function(e){var a,n=[],r=0,l=0,s=0,o=0,c=0,u=0,d=0;try{r=parseInt(e["mythic-adventures-show"],10)||0,o=parseInt(e.use_feats,10)||0,c=parseInt(e.use_class_features,10)||0,l=parseInt(e.use_traits,10)||0,s=parseInt(e.use_racial_traits,10)||0,u=parseInt(e["use_spell-like-abilities"],10)||0,o&&(n.push("feat"),d+=2),l&&(n.push("trait"),d++),s&&(n.push("racial-trait"),d+=2),r&&(n=n.concat(["mythic-ability","mythic-feat"]),d+=2),c&&(n.push("class-ability"),d++),u&&(n.push("npc-spell-like-abilities"),d++),d>0?(a=_.default.after(d,t),_.default.each(n,function(e){"npc-spell-like-abilities"!==e&&x.resetOneCommandMacro(e,!1,a),"racial-trait"!==e&&"feat"!==e&&"npc-spell-like-abilities"!==e||x.resetOneCommandMacro(e,!0,a)})):t()}catch(e){b.default.error("PFFeatures.resetCommandMacro",e),t()}finally{i()}})}function s(e,t,a){var n=_.default.once(function(){"function"==typeof t&&t()});getAttrs(["is_newsheet"],function(t){return parseInt(t.is_newsheet,10)?void n():void getSectionIDs("repeating_"+e,function(t){var a=_.default.size(t),r=_.default.after(a,n);a>0?_.default.each(t,function(t,a){var n="repeating_"+e+"_"+t;y.evaluateAndSetNumber(n+"_max-calculation",n+"_used_max",0,r,!0)}):n()})})}function o(e){var t;return/\d/.test(e)?(t=parseInt(e.match(/\d/)[0],10)||0,"@{class-"+t+"-level}"):/race/i.test(e)?"@{level}":""}function c(e,t,a){var n=_.default.once(function(t){"function"==typeof e&&e(t)}),r=_.default.once(function(){"function"==typeof t?t():n()});return a?void getSectionIDs("repeating_"+a,function(e){var t,i=0;try{if("npc-spell-like-abilities"===a&&(i=1),!_.default.size(e))return void n([]);t=y.cartesianAppend(["repeating_"+a+"_"],e,D[a].LU),t=t.concat(["is_npc","race","class-0-name","class-1-name","class-2-name","class-3-name","class-4-name","class-5-name"]),"npc-spell-like-abilities"===a&&(t=t.concat(["spellclass-0-level-total","spellclass-1-level-total","spellclass-2-level-total","spellclass-0","spellclass-1","spellclass-2","level","npc-hd-num","class-0-level","class-1-level","class-2-level","class-3-level","class-4-level","class-5-level"])),getAttrs(t,function(t){var l,s,c="",u=0,d="macro-text";try{u=parseInt(t.is_npc,10)||0,D[a].hasNPCMacro&&u&&(d="npc-macro-text"),c=D[a].classDefault||"",l=_.default.map(e,function(e){var n,r;try{return n="repeating_"+a+"_"+e+"_",r=_.default.reduce(D[a].copyAttrs,function(e,a){return e[a]=t[n+a]||"",e},{}),r["CL-basis"]=c||o(t[n+"class-number"]),r["CL-basis"]?"@{level}"===r["CL-basis"]?r["class-name"]=t.race:t[n+"class-number"]?r["class-name"]=t[A.findAbilityInString(t[n+"class-number"])]:r["class-name"]="":r["class-name"]="",i&&(r["abil-sr"]=t[n+"sr"]||"",t[n+"level"]&&(s=parseInt(t[n+"level"],10),isNaN(s)||(r["spell_level-misc"]=s,r["spell_level-misc-mod"]=s,r["spell_level-basis"]="0")),t[n+"range"]&&(s=parseInt(t[n+"range"],10),r.range_pick="number",isNaN(s)||(r.range_numeric=s)),t[n+"used"]&&(s=parseInt(t[n+"used"],10),isNaN(s)||(r.used_max=s,r["max-calculation"]=s))),r["macro-text"]=t[n+d]||"",r.rule_category=D[a].ruleCategory,r}catch(t){b.default.error("PFFeatures.getAbilities errorinner on "+e,t)}})}catch(e){b.default.error("PFFeatures.getAbilities errmid",e)}finally{_.default.size(l)?n(l):(b.default.warn("PFFeatures.getAbilities none generated for "+a+" even though there are ids"),r())}})}catch(e){b.default.error("PFFeatures.copyFeatsToAbilities",e),r()}}):void r()}function u(e,t,a){var n=_.default.once(function(t){var n;a&&/merge/i.test(a.sourceAttribute)&&(n={},n[a.sourceAttribute]=0,y.setWrapper(n,k.default.silentParams)),"function"==typeof e&&e(t)}),r=_.default.once(function(){S.recalculate(function(){n(),x.resetOneCommandMacro(t,!1),x.resetOneCommandMacro(t,!0)},!0,0)});c(function(e){e&&_.default.size(e)>0?S.copyToAbilities(r,e):n()},function(){b.default.error("PFFeatures ################# error trying to migrate "+t),n()},t)}function d(e,t){var a,n,r,i=_.default.once(function(){"function"==typeof e&&e()}),l={feat:"feats",trait:"traits","racial-trait":"racial-traits","mythic-ability":"mythic-abilities","mythic-feat":"mythic-feats","class-ability":"class-features","npc-spell-like-abilities":"spell-like-abilities"};r="class-abilities"===t||"npc-spell-like-abilities"===t?"1":"0",a="npc-spell-like-abilities"===t?"Sp":"not-applicable",n=l[t]||"",getSectionIDs("repeating_"+t,function(e){var l={};try{l=_.default.reduce(e,function(e,i){var l="repeating_"+t+"_"+i+"_";try{e[l+"showinmenu"]=r,e[l+"ability_type"]=a,e[l+"rule_category"]=n}catch(e){b.default.error("PFFeatures.setNewDefaults error "+t+" id "+i,e)}finally{return e}},{}),l.migrated_featurelists_defaults=1}catch(e){b.default.error("PFFeatures.setNewDefaults error setting defaults for "+t,e)}finally{_.default.size(l)>0?y.setWrapper(l,k.default.silentParams,i):i()}})}function p(e,t){var a=function(){"function"==typeof e&&e()},n=_.default.size(T),r=_.default.after(n,a);getAttrs(["migrated_featurelists_defaults"],function(e){var t=0;t=parseInt(e.migrated_featurelists_defaults,10)||0,t?a():_.default.each(T,function(e){d(r,e)})})}function f(){on("change:merge_traits_now change:merge_race_traits_now change:merge_feats_now change:merge_class_features_now change:merge_slas_now",b.default.callback(function(e){b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs([e.sourceAttribute],function(t){parseInt(t[e.sourceAttribute],10)&&u(null,E[e.sourceAttribute],e)})})),_.default.each(k.default.repeatingMaxUseSections,function(e){var t="change:repeating_"+e+":max-calculation";on(t,b.default.callback(function(t){b.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),y.evaluateAndSetNumber("repeating_"+e+"_max-calculation","repeating_"+e+"_used_max")}))}),on("change:mythic-adventures-show change:use_traits change:use_racial_traits change:use_class_features change:use_feats change:use_spell-like-abilities",b.default.callback(function(e){b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i(null,e)})),_.default.each(T,function(e){var t="remove:repeating_"+e+" ",a="change:repeating_"+e+":";t=_.default.reduce(F.commandMacroFields,function(e,t){return e+=a+t+" "},t),on(t,b.default.callback(function(t){var a;a=y.getAttributeName(t.sourceAttribute),("player"===t.sourceType||"api"===t.sourceType||"sheetworker"===t.sourceType&&"used_max"===a)&&(b.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),a="repeating_"+e+"_showinmenu",getAttrs([a,"is_npc"],function(t){var n=parseInt(t.is_npc,10)||0;1===parseInt(t[a],10)&&x.resetOneCommandMacro(e,n)}))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.migrateMap=t.featureLists=void 0,t.resetTopCommandMacro=i,t.resetCommandMacro=l,t.convertNameToLevel=o,t.getAbilities=c,t.copyToAbilities=u,t.setNewDefaults=d,t.migrate=p;var m=a(1),_=r(m),g=(a(4),a(0)),b=r(g),h=a(2),y=n(h),v=a(3),k=r(v),w=a(5),A=n(w),C=a(14),I=(n(C),a(22)),x=n(I),P=a(24),S=n(P),T=t.featureLists=["class-ability","feat","racial-trait","trait","mythic-ability","mythic-feat","npc-spell-like-abilities"],D=t.migrateMap={feat:{copyAttrs:["name","short-description","used","used_max","showinmenu","description","max-calculation","ability_type"],LU:["_name","_short-description","_used","_used_max","_showinmenu","_description","_macro-text","_npc-macro-text","_max-calculation","_ability_type"],classDefault:"0",hasNPCMacro:!0,ruleCategory:"feats"},"racial-trait":{copyAttrs:["name","short-description","used","used_max","showinmenu","description","max-calculation","ability_type"],LU:["_name","_short-description","_used","_used_max","_showinmenu","_description","_macro-text","_npc-macro-text","_max-calculation","_ability_type"],hasNPCMacro:!0,classDefault:"@{level}",ruleCategory:"racial-traits"},trait:{copyAttrs:["name","short-description","used","used_max","showinmenu","description","max-calculation","ability_type"],LU:["_name","_short-description","_used","_used_max","_showinmenu","_description","_macro-text","_max-calculation","_ability_type"],classDefault:"@{level}",ruleCategory:"traits"},"class-ability":{copyAttrs:["name","short-description","used","used_max","showinmenu","description","max-calculation"],LU:["_name","_short-description","_used","_used_max","_showinmenu","_description","_macro-text","_max-calculation","_class-number"],ruleCategory:"class-features",convertClass:!0},"npc-spell-like-abilities":{copyAttrs:["name","short-description","used","used_max","showinmenu","description","max-calculation","duration","save","range"],LU:["_name","_short-description","_used","_used_max","_showinmenu","_description","_macro-text","_npc-macro-text","_max-calculation","_level","_range","_duration","_save","_sr"],hasNPCMacro:!1,classDefault:"@{level}",ruleCategory:"spell-like-abilities"}},E={merge_traits_now:"trait",merge_race_traits_now:"racial-trait",merge_feats_now:"feat",merge_class_features_now:"class-ability",merge_slas_now:"npc-spell-like-abilities",delete_traits_now:"trait",delete_race_traits_now:"racial-trait",delete_feats_now:"feat",delete_class_features_now:"class-ability",delete_slas_now:"npc-spell-like-abilities"},M={"class-ability":" [^{original-class-features-list}](~@{character_id}|class-ability_button)",mythic:" [^{mythic-abilities}](~@{character_id}|mythic-ability_button) [^{mythic-feats}](~@{character_id}|mythic-feat_button)",feat:" [^{original-feats-list}](~@{character_id}|REPLACENPCfeat_button)","racial-trait":" [^{original-racial-traits-list}](~@{character_id}|REPLACENPCracial-trait_button)",trait:" [^{original-traits-list}](~@{character_id}|trait_button)","npc-spell-like-abilities":" [^{original-spell-like-abilities-list}](~@{character_id}|npc-spell-like-abilities_button)"},F={commandMacroFields:["name","used","used_max","showinmenu"]};t.recalculate=b.default.callback(function(e,t,a){var n,r,i,o=_.default.once(function(){b.default.info("leaving PFFeatures.recalculate"),"function"==typeof e&&e()});try{n=_.default.size(k.default.repeatingMaxUseSections),r=_.default.after(n,function(){l(o)}),i=function(){_.default.each(k.default.repeatingMaxUseSections,function(e){s(e,r,t)})},p(i,a)}catch(e){b.default.error("PFFeatures.recalculate, ",e),o()}});f()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=P.default.once(function(){"function"==typeof e&&e()}),a=P.default.after(2,t);O.resetOneCommandMacro("item",!0,a,"",te),O.resetOneCommandMacro("item",!1,a,"",te)}function l(e){var t="";if(isNaN(e)&&null!==e&&void 0!==e)return"worn-"+e;if(e>1&&Q[e])try{t="worn-"+Q[e]}catch(e){T.default.error("PFInventory.getWornItemNameField",e)}return t}function s(e){var t="",a="";t=l(e),a=t+"-roll",getAttrs([t,a],function(e){var n="",r={};e[a]&&(r[a]="",n=F.getRowId(e[a]),n&&(r["repeating_item_"+n+"_location"]=J.Carried,r["repeating_item_"+n+"_old_location"]=J.Carried)),e[t]&&(r[t]=""),P.default.size(r)&&F.setWrapper(r,E.default.silentParams)})}function o(e,t,a){var n=P.default.once(function(){"function"==typeof e&&e()});try{a||(a=ae),T.default.repeating("item").attrs("item_total_weight","item-total-hp","item-total-hp_max","item-total-value").fields("item-weight","qty","qty_max","location","item-hp","item-hp_max","value").reduce(function(e,t){try{t.I.qty>0&&(0===t.I.qty_max||1===t.I.qty_max?(a.weight&&t.I.location!==J.NotCarried&&(e["item-weight"]+=t.F["item-weight"]*t.F.qty), +a.value&&(e.value+=t.F.value*t.F.qty),a.hp&&(e["item-hp"]+=t.I["item-hp"]*t.I.qty,e["item-hp_max"]+=t.I["item-hp_max"]*t.I.qty)):(a.weight&&t.I.location!==J.NotCarried&&(e["item-weight"]+=t.F["item-weight"]),a.value&&(e.value+=t.F.value),a.hp&&(e["item-hp"]+=t.I["item-hp"],e["item-hp_max"]+=t.I["item-hp_max"])))}catch(e){T.default.error("PFInventory.updateRepeatingItems inner error",e)}finally{return e}},{"item-weight":0,"item-hp":0,"item-hp_max":0,value:0},function(e,t,n){a.weight&&(n.S.item_total_weight=Math.floor(100*e["item-weight"])/100),a.hp&&(n.S["item-total-hp"]=e["item-hp"],n.S["item-total-hp_max"]=e["item-hp_max"]),a.value&&(n.S["item-total-value"]=Math.floor(100*e.value)/100)}).execute(n)}catch(e){T.default.error("PFInventory.updateRepeatingItems",e),n()}}function c(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(["CP","SP","GP","PP","carried-currency"],function(e){var n=parseInt(e["carried-currency"],10)||0,r={},i=0;try{i=((parseInt(e.CP,10)||0)+(parseInt(e.SP,10)||0)+(parseInt(e.GP,10)||0)+(parseInt(e.PP,10)||0))/50,n!==i?(t&&(r=E.default.silentParams),F.setWrapper({"carried-currency":i},r,a)):a()}catch(e){T.default.error("PFInventory.updateCarriedCurrency",e),a()}})}function u(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(["carried-currency","item_total_weight","carried-misc","carried-total"],function(e){var t,n,r={};try{t=Math.floor(100*parseFloat(e["carried-total"],10)||0),n=Math.floor(100*(parseFloat(e["carried-currency"],10)||0)+100*(parseFloat(e.item_total_weight,10)||0)+100*(parseFloat(e["carried-misc"],10)||0)),t!==n?(n/=100,F.setWrapper({"carried-total":n},r,a)):a()}catch(e){T.default.error("PFInventory.updateCarriedTotal",e),a()}})}function d(e){var t=P.default.once(function(){"function"==typeof e&&e()}),a=P.default.once(function(){F.setWrapper({migrated_worn_equipment:"1"},{},t)}),n=["charges","weight","hp","hp_max","value"],r=function(e,t){var a=P.default.once(function(){"function"==typeof t&&t()}),r=["worn-"+e];r.push("worn-"+e+"-description"),r.push("worn-"+e+"-hardness"),P.default.each(n,function(t){r.push("worn-"+e+"-"+t)}),getAttrs(r,function(t){var n="",r={},i={},l="",s=0,o=ee.noEquipType;try{t["worn-"+e]&&(n=generateRowID(),r["repeating_item_"+n+"_name"]=t["worn-"+e],r["repeating_item_"+n+"_row_id"]=n,l=t["worn-"+e+"-description"],l&&(r["repeating_item_"+n+"_short-description"]=l),l=t["worn-"+e+"-charges"],l?(r["repeating_item_"+n+"_qty"]=l,r["repeating_item_"+n+"_qty_max"]=t["worn-"+e+"-charges_max"]||50):(i["repeating_item_"+n+"_qty"]=1,i["repeating_item_"+n+"_qty_max"]=1),l=t["worn-"+e+"-weight"],l&&(i["repeating_item_"+n+"_item-weight"]=l),l=t["worn-"+e+"-hardness"],l&&(i["repeating_item_"+n+"_hardness"]=l),l=t["worn-"+e+"-hp"],l&&(i["repeating_item_"+n+"_item-hp"]=l),l=t["worn-"+e+"-hp_max"],l&&(r["repeating_item_"+n+"_item-hp_max"]=l),l=t["worn-"+e+"-value"],l&&(i["repeating_item_"+n+"_value"]=l),r["worn-"+e+"-roll"]="@{repeating_item_"+n+"_macro-text}",s=J[e],r["repeating_item_"+n+"_location"]=s,r["repeating_item_"+n+"_old_location"]=s,s===J.NotCarried?r["repeating_item_"+n+"loctype-tab"]=J.NotCarried:s===J.Carried?r["repeating_item_"+n+"loctype-tab"]=J.Carried:s>J.NotCarried?r["repeating_item_"+n+"loctype-tab"]=J.equipped:r["repeating_item_"+n+"loctype-tab"]=-1,o=ee.OtherMagic,r["repeating_item_"+n+"_equip-type"]=o,r["repeating_item_"+n+"_equiptype-tab"]=o)}catch(e){T.default.error("PFInventory.copyWornEquipmentToNewItem",e)}finally{P.default.size(r)>0?F.setWrapper(r,E.default.silentParams,a):a(),P.default.size(i)>0&&F.setWrapper(i)}})},i=function(e,t,a){var n=P.default.once(function(e){"function"==typeof a&&a(e)}),r=[e,e+"-type"],i="",l=0,s=0;if(/armor/i.test(e))l=1;else{if(!/shield/i.test(e))return void n(0);s=1}getAttrs([e],function(a){return a[e]?(i=a[e],void getSectionIDs("repeating_item",function(a){var s=[];s=P.default.map(a,function(e){return"repeating_item_"+e+"_name"}),P.default.each(H.defenseArmorShieldColumns,function(t){r.push(e+"-"+t)}),r=r.concat(s),getAttrs(r,function(a){var r,o="",c={},u={},d=0,p="",f=!0,m=0,_=0;try{m=parseInt(a[e+"-equipped"],10)||0,d=parseInt(a[e+"-max-dex"],10),isNaN(d)&&(d=99),r=P.default.find(s,function(e){return i===a[e]}),r?(f=!1,o=F.getRowId(r)):o=generateRowID(),c["repeating_item_"+o+"_equip-type"]=ee.Armor,c["repeating_item_"+o+"_equiptype-tab"]=ee.Armor,f&&(c["repeating_item_"+o+"_name"]=i),c["repeating_item_"+o+"_qty"]=1,c["repeating_item_"+o+"_qty_max"]=1,t||1!==m?(c["repeating_item_"+o+"_location"]=J.NotCarried,c["repeating_item_"+o+"_old_location"]=J.NotCarried,c["repeating_item_"+o+"_loctype-tab"]=J.NotCarried,m&&(c[e+"-equipped"]=0)):(_=1,l?(f?(c["repeating_item_"+o+"_location"]=J.Armor,c["repeating_item_"+o+"_old_location"]=J.Armor):u["repeating_item_"+o+"_location"]=J.Armor,c["repeating_item_"+o+"_loctype-tab"]=J.equipped,c["armor3-roll"]="@{repeating_item_"+o+"_macro-text}",c.armor3=a[e]):(f?(c["repeating_item_"+o+"_location"]=J.Shield,c["repeating_item_"+o+"_old_location"]=J.Shield):u["repeating_item_"+o+"_location"]=J.Shield,c["repeating_item_"+o+"_loctype-tab"]=J.equipped,c["shield3-roll"]="@{repeating_item_"+o+"_macro-text}",c.shield3=a[e]),d>50&&(c[e+"-max-dex"]="-")),P.default.each(["acbonus","enhance","acp","spell-fail","proficiency"],function(t){p=a[e+"-"+t],p&&(c["repeating_item_"+o+"_item-"+t]=p)}),d>50?c["repeating_item_"+o+"_item-max-dex"]="-":c["repeating_item_"+o+"_item-max-dex"]=d,p=a[e+"-type"],p&&(c["repeating_item_"+o+"_item-defense-type"]=p)}catch(e){T.default.error("PFInventory.copyWornDefenseToNewItem",e)}finally{P.default.size(c)>0?F.setWrapper(c,E.default.silentParams,function(){P.default.size(u)>0?F.setWrapper(u,{},function(){n(_)}):n(_)}):n(!1)}})})):void n(0)})};getAttrs(["migrated_worn_equipment"],function(e){var n=!1,l=!1,s=P.default.after(2,function(){a()}),o=function(){T.default.debug("checking armor3"),i("armor3",n,function(e){n=n||e,T.default.debug("checking armor2, found="+n),i("armor2",n,function(e){n=n||e,T.default.debug("checking armor0, found="+n),i("armor",n,s)})}),T.default.debug("checking shield3"),i("shield3",l,function(e){l=l||e,T.default.debug("checking shield2, found="+l),i("shield2",l,function(e){l=l||e,T.default.debug("checking shield0, found="+l),i("shield",l,s)})})},c=P.default.after(P.default.size($),function(){var e,t,a;try{e=P.default.map($,function(e){return"worn-"+e+"-"}),t=F.cartesianAppend(e,["charges","weight","hp","hp_max","value","description","hardness"]),a=P.default.reduce(t,function(e,t){return e[t]="",e},{}),F.setWrapper(a,E.default.silentParams,o)}catch(e){T.default.error("PFInventory.migrateWornEquipment.doneWornRows err:",e),o()}});try{if(1===parseInt(e.migrated_worn_equipment,10))return void t();P.default.each($,function(e){r(e,c)})}catch(e){T.default.error("PFInventory.migrateWornEquipment",e),o()}})}function p(e,t,a){(!a||t<2||!t)&&"function"==typeof e&&e(),getSectionIDs("repeating_item",function(n){var r=[];return P.default.size(n)<=1?void("function"==typeof e&&e()):(P.default.each(n,function(e,t){e!==a&&r.push("repeating_item_"+e+"_location")}),void getAttrs(r,function(a){var r={};P.default.each(n,function(e,n){(parseInt(a["repeating_item_"+e+"_location"],10)||0)===t&&(r["repeating_item_"+e+"_location"]=0,r["repeating_item_"+e+"_old_location"]=0)}),P.default.size(r)>0?F.setWrapper(r,{silent:!0},e):"function"==typeof e&&e()}))})}function f(e,t,a,n){var r=P.default.once(function(){"function"==typeof t&&t()}),i=(F.getRepeatingIDStr(e),e||(n?F.getRowId(n.sourceAttribute)||"":"")),s="repeating_item_"+i+"_",o=s+"location",c=s+"loctype-tab",u=s+"name",d=s+"old_location",f=s+"macro-text";try{getAttrs([o,d,u,c],function(e){var a=0,n=0,s={},m="",_=-1,g="";try{a=parseInt(e[o],10),isNaN(a)&&(a=J.NotCarried,s[o]=a),_=parseInt(e[c]),isNaN(_)&&(_=-2),a>J.NotCarried?_!==J.equipped&&(s[c]=J.equipped):a===J.Carried?_!==a&&(s[c]=J.Carried):a===J.NotCarried?_!==a&&(s[c]=J.NotCarried):_!==-1&&(s[c]="-1"),n=parseInt(e[d],10),isNaN(n)&&(n=a),s[d]=a,a===J.Carried&&n!==J.NotCarried&&n!==a?(m=l(n),m&&(s[m]="",s[m+"-roll"]="")):a>J.NotCarried&&(m=l(a),m&&(g=e[u]||"",g?s[m]=g:s[m]="Row "+i,s[m+"-roll"]="@{"+f+"}"),n>1&&n!==a&&(m=l(n),m&&(s[m]="",s[m+"-roll"]="")))}catch(e){T.default.error("updateEquipmentLocation update location error:",e)}finally{P.default.size(s)>0?F.setWrapper(s,E.default.silentParams,function(){a>J.NotCarried&&p(t,a,i),r()}):r()}})}catch(e){T.default.error("PFInventory.updateEquipmentLocation",e),r()}}function m(e,t,a){var n=P.default.once(function(){"function"==typeof a&&a()}),r="",i="",o="",c=[],u="",d="",p="",m=["item-acbonus","item-acenhance","item-max-dex","item-acp","item-spell-fail","item-defense-type","item-proficiency","name","set-as-armor","set-as-shield","location","old_location","equip-type","acenhance"];try{i=F.getAttributeName(t),u=F.getRowId(t),p="repeating_item_"+u+"_","_"!==p.slice(-1)&&(p+="_"),d=l(e),o=p+"item-",r=e===J.Armor?"armor3":"shield3",c=P.default.map(m,function(e){return p+e}),c=P.default.reduce(H.defenseArmorShieldColumns,function(e,t){return e.push(r+"-"+t),e},c),c.push(r),c.push(d)}catch(e){return T.default.error("PFInventory.updateWornArmorAndShield error before getattrs",e),void n()}getAttrs(c,function(a){var l=0,c={},m={},_=0,g=0,b="",h="";try{if("set-as-armor"===i||"set-as-shield"===i||e===J.Armor||e===J.Shield){for(l=0;l0&&F.setWrapper(m,E.default.silentParams,function(){g!==e&&f(u,null,!0,null)}),P.default.size(c)>0?F.setWrapper(c,{},n):n()}})}function _(e){var t=P.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_item",function(e){var a,n=0;try{if(!e||!P.default.size(e))return void t();n=P.default.size(e),a=P.default.after(n,t),P.default.each(e,function(e){f(e,a,null,null)})}catch(e){T.default.error("PFInventory.updateLocations",e),t()}})}function g(e,t,a,n,r){var i,l,s,o=P.default.once(function(){"function"==typeof t&&t()}),c=[];return"DELETED"===e?void o():(i=e||(n?F.getRowId(n.sourceAttribute):""),l=F.getRepeatingIDStr(i),s="repeating_item_"+l,c.push(s+"name"),ne.forEach(function(e){c.push(s+"item-"+e)}),c.push(s+"item-wpenhance"),c.push(s+"item-dmg-type"),c.push(s+"default_size"),void getAttrs(c,function(e){var t,n={},l=!1,c=0,u=0,d=!0;a?N.silentParams:{};try{0===P.default.size(e)&&(d=!1),d?(t=r?r:generateRowID(),e[s+"name"]&&(r||(n["repeating_weapon_"+t+"_name"]=e[s+"name"]),n["repeating_weapon_"+t+"_source-item-name"]=e[s+"name"]),ne.forEach(function(a){e[s+"item-"+a]&&(n["repeating_weapon_"+t+"_"+a]=e[s+"item-"+a])}),/melee/i.test(e[s+"item-attack-type"])?n["repeating_weapon_"+t+"_damage-ability"]="STR-mod":/ranged/i.test(e[s+"item-attack-type"])&&(n["repeating_weapon_"+t+"_isranged"]=1),c=parseInt(e[s+"item-wpenhance"],10)||0,c&&(n["repeating_weapon_"+t+"_enhance"]=c),e[s+"item-dmg-type"]&&(n["repeating_weapon_"+t+"_type"]=e[s+"item-dmg-type"]),u=parseInt(e[s+"item-proficiency"],10)||0,0!==u&&(u=-4,n["repeating_weapon_"+t+"_proficiency"]=u),e[s+"default_size"]&&(n["repeating_weapon_"+t+"_default_size"]=e[s+"default_size"]),n["repeating_weapon_"+t+"_default_damage-dice-num"]=e[s+"damage-dice-num"]||0,n["repeating_weapon_"+t+"_default_damage-die"]=e[s+"damage-die"]||0,n["repeating_weapon_"+t+"_source-item"]=i,n["repeating_weapon_"+t+"_link_type"]=K.linkedAttackType.equipment):r&&(n["repeating_weapon_"+r+"_source-item"]="DELETED",l=!0)}catch(e){T.default.error("PFInventory.createAttackEntryFromRow",e)}finally{l?F.setWrapper(n,E.default.silentParam,o):P.default.size(n)>0?(n[s+"create-attack-entry"]=0,F.setWrapper(n,E.default.silentParams,function(){K.recalcRepeatingWeapon(t,function(){X.resetCommandMacro(),j.resetOption(t),o()})})):(n[s+"create-attack-entry"]=0,F.setWrapper(n,E.default.silentParams,o))}}))}function b(e,t){var a=P.default.once(function(){"function"==typeof t&&t()}),n="",r="",i="",l="",s=[],o={};try{if(!e)return void a();if(l=F.getRowId(e),n=F.getAttributeName(e),0===e.indexOf("repeating_weapon_"))return T.default.error("PFInventory.updateAssociatedAttack, called on weapon event, no longer supported!"),void a();r=n.replace("item-",""),"name"===n?r="source-item-name":"item-dmg-type"===n?r="type":"wpenhance"===n&&(r="enhance")}catch(e){return T.default.error("PFInventory.updateAssociatedAttack outer1",e),void a()}getAttrs([e],function(t){var a="";i=t[e],"undefined"==typeof i&&(i=""),"proficiency"===n&&(i=parseInt(i,10)||0,0!==i&&(i=-4)),i=String(i),getSectionIDs("repeating_weapon",function(e){s=P.default.reduce(e,function(e,t){return e=e.concat(["repeating_weapon_"+t+"_source-item","repeating_weapon_"+t+"_"+r])},[]),getAttrs(s,function(t){o={};try{P.default.each(e,function(e){var s="",c="";l===t["repeating_weapon_"+e+"_source-item"]&&(c="repeating_weapon_"+e+"_"+r,s=t[c],"proficiency"===n&&(s=parseInt(s,10)||0),s=String(s),s!==i&&(o[c]=i,"damage-die"!==a&&"damage-dice-num"!==a||(o["repeating_weapon_"+e+"_default_"+a]=i)))})}catch(e){T.default.error("PFInventory.updateAssociatedAttack inner1",e)}finally{P.default.size(o)>0&&F.setWrapper(o)}})})})}function h(e){var t,a,n=ee.noEquipType;if(!e)return n;if(t=e.toLowerCase(),a=t.match(/(?:\bwand\b|\bring\b|\brod\b|plate|sword|shield|mail|spear|potion|spellbook|smokestick|incense|scroll|alchemist|antitoxin|antidote|elixir|staff|acid|\boil\b|water|component pouch|arrow|bolt|bullet|sunrod|flask|ration|armor spike|kit|saddle|tool|spike|pole|ladder|lantern|candle|torch|rope|chain|crowbar|\bnet\b|\bram\b|tanglefoot|tinder|flint|vial)/i))switch(a[0]){case"sword":case"spear":case"armor spike":case"net":n=ee.Weapon;break;case"mail":case"plate":case"shield":n=ee.Armor;break;case"vial":case"flint":case"kit":case"tool":case"spike":case"crowbar":case"ram":case"lantern":case"candle":case"torch":case"rope":case"chain":case"saddle":case"spyglass":case"spellbook":case"tinder":case"component pouch":n=ee.Gear;break;case"ring":n=ee.OtherMagic;break;case"rod":case"wand":case"staff":n=ee.Charged;break;case"tanglefoot":case"incense":case"smokestick":case"sunrod":case"ration":case"water":case"alchemist":case"oil":case"flask":case"acid":case"potion":case"elixir":case"scroll":case"antitoxin":case"antidote":n=ee.Consumables;break;case"arrow":case"bolt":case"bullet":case"stone":n=ee.Ammo}return n}function y(e){var t=F.getRowId(e.sourceAttribute),a="repeating_item_"+t+"_",n=a+"item-",r=["default_char_size","equipment_tab",n+"category_compendium",n+"value_compendium",n+"range_compendium",n+"critical_compendium",n+"smalldamage_compendium",n+"meddamage_compendium",n+"specialtype_compendium",n+"speed20_compendium",n+"speed30_compendium",n+"weight_compendium",n+"spell-fail_compendium",n+"acbonus_compendium",n+"acp_compendium",n+"dmg-type",a+"description",n+"max-dex",a+"name"];getAttrs(r,function(e){var r,i,l={},s=0,c=0,u="",d=0,p=0,f=ee.noEquipType,m=0,_=0;try{if("Items"!==e[n+"category_compendium"])return void T.default.warn("compendium item is "+e["repeating_item_item-category_compendium"]+", INVALID");l[a+"row_id"]=t,i=e[a+"name"],N.getCompendiumIntSet(n,"range",e,l),N.getCompendiumFunctionSet(n,"value",N.getCostInGP,e,l),N.getCompendiumIntSet(n,"spell-fail",e,l),N.getCompendiumIntSet(n,"acbonus",e,l),N.getCompendiumIntSet(n,"acp",e,l),e[n+"acbonus_compendium"]&&(p=1),m=parseInt(e[n+"speed20_compendium"],10)||0,_=parseInt(e[n+"speed30_compendium"],10)||0,e[n+"max-dex"]&&(r=e[n+"max-dex"],r=r.replace(/\u2013|\u2014|-|\\u2013|\\u2014/,"-"),r!==e[n+"max-dex"]&&(l[n+"max-dex"]=r)),e[n+"specialtype_compendium"]&&(r=e[n+"specialtype_compendium"],r=r.replace(/\u2013|\u2014|-|\\u2013|\\u2014/,""),r&&(r=e[n+"item-dmg-type"]?e[n+"item-dmg-type"]+" "+e[n+"specialtype_compendium"]:e[n+"specialtype_compendium"],l[n+"item-dmg-type"]=r)),e[n+"critical_compendium"]&&(d=1,r=N.getCritFromString(e[n+"critical_compendium"]),r&&(20!==r.crit&&(l[n+"crit-target"]=r.crit),2!==r.critmult&&(l[n+"crit-multiplier"]=r.critmult))),s=parseInt(e.default_char_size,10)||0,u="meddamage_compendium",c=0,s>=1&&(c=1,u="smalldamage_compendium"),0!==s&&(l[a+"default_size"]=c),N.getCompendiumIntSet(n,"weight",e,l),s>=1&&(c=parseInt(l[n+"weight"],10)||0,c&&(c=Math.floor(c/2*100)/100,l[n+"weight"]=c)),e[n+u]&&(d=1,r=N.getDiceDieFromString(e[n+u]),r&&(r.dice&&r.die&&(l[n+"damage-dice-num"]=r.dice,l[n+"damage-die"]=r.die),r.plus&&(l[n+"damage"]=r.plus))),d?(f=ee.Weapon,e[n+"range_compendium"]&&parseInt(e[n+"range_compendium"],10)>0?l[n+"attack-type"]="@{attk-ranged}":l[n+"attack-type"]="@{attk-melee}"):p?(f=ee.Armor,i&&(u=/tower/i.test(i)?"Tower Shield":30===m&&20===_?"Light":/heavy|stone|full|half.plate|splint|banded|iron|tatami|kusari/i.test(u)?"Heavy":/medium|mountain|chainmail|breastplate|scale|kikko|steel|horn|mirror|hide|maru|armored coat/i.test(u)?"Medium":"Light",l[n+"defense-type"]=u)):f=h(i),f<0?f=ee.Other:f===ee.Weapon?l[a+"weapon-attributes-show"]=1:f===ee.Armor&&(l[a+"armor-attributes-show"]=1),f&&(l.equipment_tab=f,l[a+"equip-type"]=f,l[a+"equiptype-tab"]=f),l[a+"qty"]=1,l[a+"qty_max"]=1,l[a+"location"]=J.Carried,l[a+"old_location"]=J.Carried,l[a+"loctype-tab"]=J.Carried,l[n+"category_compendium"]="",l[n+"value_compendium"]="",l[n+"range_compendium"]="",l[n+"critical_compendium"]="",l[n+"smalldamage_compendium"]="",l[n+"meddamage_compendium"]="",l[n+"specialtype_compendium"]="",l[n+"speed20_compendium"]="",l[n+"speed30_compendium"]="",l[n+"weight_compendium"]="",l[n+"spell-fail_compendium"]="",l[n+"acbonus_compendium"]="",l[n+"acp_compendium"]=""}catch(e){T.default.error("importFromCompendium",e)}finally{P.default.size(l)>0&&F.setWrapper(l,E.default.silentParams,o)}})}function v(e){var t=P.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_item",function(e){var a=[];return e&&P.default.size(e)?(a=P.default.reduce(e,function(e,t){return e.push("repeating_item_"+t+"_has_uses"),e.push("repeating_item_"+t+"_qty_max"),e},[]),void getAttrs(a,function(a){var n={};try{n=P.default.reduce(e,function(e,t){var n="repeating_item_"+t+"_",r=0;try{r=parseInt(a[n+"qty_max"],10)||0,r>1?e[n+"has_uses"]="true":e[n+"has_uses"]=""}catch(e){T.default.error("PFInventory.updateUses error repeating_item id "+t,e)}finally{return e}},{})}catch(e){T.default.error("PFInventory.updateUses error setting defaults ",e)}finally{P.default.size(n)>0?F.setWrapper(n,E.default.silentParams,t):t()}})):void t()})}function k(e){var t=P.default.once(function(){"function"==typeof e&&e()});getSectionIDs("repeating_item",function(e){return e&&P.default.size(e)>0?void getAttrs(Y,function(a){var n=[],r=[],i={};try{r=P.default.map(e,function(e){return e.toLowerCase()}),n=P.default.chain(a).omit(function(e,t){return!e}).mapObject(function(e){return F.getRowId(e).toLowerCase()}).omit(function(e,t){return P.default.contains(r,e)}).value(),P.default.size(n)>0?(i=P.default.reduce(n,function(e,t,a){var n=a.slice(-5);return e[n]="",e[a]="",e},{}),F.setWrapper(i,E.default.params,t)):t()}catch(e){T.default.error("PFInventory.deleteOrphanWornRows",e),t()}}):void t()})}function w(e,t){e=e.toLowerCase(),getAttrs(Y,function(a){var n="",r="",i={};try{n=P.default.findKey(a,function(t){return!!t&&t.toLowerCase().indexOf(e)>=0}),n?(r=n.slice(0,-5),i[n]="",i[r]="",F.setWrapper(i,E.default.silent,t)):"function"==typeof t&&t()}catch(t){T.default.error("PFInventory.event delete item for attribute: "+e,t)}})}function A(e,t){var a=P.default.once(function(){"function"==typeof e&&e()});getAttrs(["migrated_itemlist_defaults"],function(e){try{if(1===parseInt(e.migrated_itemlist_defaults,10))return void a();getSectionIDs("repeating_item",function(e){var t=[];try{if(!e||!P.default.size(e))return void a();t=P.default.map(e,function(e){return["repeating_item_"+e+"_name","repeating_item_"+e+"_location","repeating_item_"+e+"_qty_max","repeating_item_"+e+"_equip-type"]}),t=P.default.flatten(t)}catch(e){return T.default.error("PFInventory.setNewDefaults miderror",e),void a()}getAttrs(t,function(t){var n={},r=0;try{n=P.default.reduce(e,function(e,a){var n="repeating_item_"+a+"_",i=0,l=n+"name",s=0,o=0;try{s=parseInt(t[n+"location"],10),isNaN(s)&&(s=J.Carried,e[n+"location"]=s),e[n+"oldlocation"]=s,s===J.NotCarried?e[n+"loctype-tab"]=J.NotCarried:s===J.Carried?e[n+"loctype-tab"]=J.Carried:s>J.NotCarried?e[n+"loctype-tab"]=J.equipped:e[n+"loctype-tab"]=-1,i=parseInt(t[n+"qty_max"],10),isNaN(i)&&(i=0,e[n+"_qty_max"]=i),i>1?e[n+"has_uses"]="true":e[n+"has_uses"]="",r=parseInt(t["repeating_item_"+a+"_equip-type"],10),r?e[n+"equiptype-tab"]=r:(t[l]&&(o=h(t[l])),o?(e[n+"equip-type"]=o,e[n+"equiptype-tab"]=o):(e[n+"equip-type"]=ee.noEquipType,e[n+"equiptype-tab"]=ee.noEquipType)),e[n+"showinmenu"]=0}catch(e){T.default.error("PFInventory.setNewDefaults error repeating_item id "+a,e)}finally{return e}},{})}catch(e){T.default.error("PFInventory.setNewDefaults error setting defaults ",e)}finally{P.default.size(n)>0?(n.migrated_itemlist_defaults=1,F.setWrapper(n,E.default.silentParams,a)):a()}})})}catch(e){T.default.error("PFInventory.setNewDefaults outererr",e),a()}})}function C(e,t){var a=P.default.once(function(){"function"==typeof e&&e()});B.migrateRepeatingItemAttributes(T.default.callback(function(){A(T.default.callback(function(){d(a)}))}))}function I(){on("change:repeating_item:item-category_compendium",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||y(e)})),on("change:repeating_item:location",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs(["repeating_item_location","repeating_item_old_location"],function(t){var a=parseInt(t.repeating_item_location,10),n=parseInt(t.repeating_item_old_location,10);a===J.Armor||a===J.Shield?m(a,e.sourceAttribute,function(){f(null,null,null,e)}):f(null,null,null,e),(a!==J.NotCarried||n!==J.NotCarried&&n!==a)&&o(null,!1,{weight:1})})})),on("change:repeating_item:qty_max",T.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),o(),getAttrs(["repeating_item_qty_max"],function(e){parseInt(e.repeating_item_qty_max,10)>1?F.setWrapper({repeating_item_has_uses:"true"},E.default.silentParams):F.setWrapper({repeating_item_has_uses:""},E.default.silentParams)}))})),on("change:repeating_item:qty",T.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs(["repeating_item_qty_max"],function(e){var t=parseInt(e.repeating_item_qty_max,10)||0;0!==t&&1!==t||o()}))})),on("change:repeating_item:value",T.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),o(null,!0,{value:1}))})),on("change:repeating_item:item-weight",T.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs(["repeating_item_location"],function(e){parseInt(e.repeating_item_location,10)!==J.NotCarried&&o(null,!1,{weight:1})}))})),on("remove:repeating_item",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(o(),w(e.sourceAttribute)),K.removeLinkedAttack(null,K.linkedAttackType.equipment,F.getRowId(e.sourceAttribute))})),on("change:CP change:SP change:GP change:PP",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),c()})),on("change:carried-currency change:item_total_weight change:carried-misc",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),u()})),on("change:repeating_item:item-defense-type change:repeating_item:item-acbonus change:repeating_item:item-max-dex change:repeating_item:item-acp change:repeating_item:item-spell-fail change:repeating_item:item-proficiency change:repeating_item:acenhance",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),getAttrs(["repeating_item_location"],function(t){var a=parseInt(t.repeating_item_location,10)||0;a!==J.Armor&&a!==J.Shield||m(a,e.sourceAttribute)})})),P.default.each(ne,function(e){var t="change:repeating_item:item-"+e;on(t,T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||b(e.sourceAttribute)}))}),on("change:repeating_item:name change:repeating_item:item-dmg-type change:repeating_item:item-proficiency change:repeating_item:default_size change:repeating_item:wpenhance",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||b(e.sourceAttribute)})),on("change:repeating_item:create-attack-entry",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||g(null,null,!1,e)})),on("change:repeating_item:set-as-armor",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||m(J.Armor,e.sourceAttribute,function(){f(null,null,null,e)})})),on("change:repeating_item:set-as-shield",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||m(J.Shield,e.sourceAttribute,function(){f(null,null,null,e)})})),on("change:repeating_item:showinmenu change:repeating_item:equip-type change:repeating_item:name",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i()})),on("change:repeating_item:equip-type",T.default.callback(function(e){T.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs(["repeating_item_equip-type","repeating_item_equiptype-tab","equipment_tab"],function(e){var t=parseInt(e["repeating_item_equip-type"],10)||0,a=parseInt(e["repeating_item_equiptype-tab"],10),n=parseInt(e.equipment_tab,10)||0,r={};(t!==a||isNaN(a))&&(r["repeating_item_equiptype-tab"]=t),t>0&&t!==n&&n<9&&(r.equipment_tab=t),P.default.size(r)&&F.setWrapper(r,E.default.silentParams)})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.resetCommandMacro=i,t.updateRepeatingItems=o,t.updateLocations=_,t.createAttackEntryFromRow=g,t.updateAssociatedAttack=b,t.getEquipmentTypeFromName=h,t.importFromCompendium=y,t.setNewDefaults=A,t.migrate=C;var x=a(1),P=r(x),S=(a(4),a(0)),T=r(S),D=a(3),E=r(D),M=a(2),F=n(M),R=a(5),N=n(R),L=a(14),z=(n(L),a(22)),O=n(z),W=a(6),B=n(W),q=a(13),H=n(q),U=a(12),j=n(U),G=a(8),X=n(G),V=a(7),K=n(V),$=["Belt","Body","Chest","Eyes","Feet","Hands","Head","Headband","Neck","Ring1","Ring2","Shoulders","Wrist"],Z=$.concat(["Armor3","Shield3"]),Y=(P.default.map(Z,function(e){return"worn-"+e}),P.default.map(Z,function(e){return"worn-"+e+"-roll"})),Q=["Carried","NotCarried","Armor","Belt","Body","Chest","Eyes","Feet","Hands","Head","Headband","Neck","Ring1","Ring2","Shield","Shoulders","Wrist"],J={Carried:0,NotCarried:1,Armor:2,Belt:3,Body:4,Chest:5,Eyes:6,Feet:7,Hands:8,Head:9,Headband:10,Neck:11,Ring1:12,Ring2:13,Shield:14,Shoulders:15,Wrist:16,equipped:2},ee={noEquipType:0,Weapon:1,Armor:2,Ammo:3,Consumables:4,OtherMagic:5,Gear:6,Other:7,Charged:8,Other2:9},te={0:"",1:"weapons",2:"armor-shield",3:"ammunition",4:"consumables",5:"other-magic-items",6:"gear-tool",7:"other-items",8:"charged-magics",9:"other-items-2"},ae={value:1,hp:1,weight:1},ne=["attack-type","range","masterwork","crit-target","crit-multiplier","damage-dice-num","damage-die","damage","precision_dmg_macro","precision_dmg_type","critical_dmg_macro","critical_dmg_type"];t.recalculate=T.default.callback(function(e,t,a){var n=P.default.once(function(){T.default.info("leaving PFInventory.recalculate"),"function"==typeof e&&e()}),r=P.default.after(2,function(){T.default.debug("PFInventory.recalculate at setTotals"),_(v),i(),k(),u(n)});try{T.default.debug("at PFInventory.recalculate"),C(function(){c(r,t),o(r,t)})}catch(e){T.default.error("PFInventory.recalculate",e),n()}});I()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a="repeating_spells_"+t,n=S[t];getAttrs([a,"repeating_spells_spell_options","repeating_spells_spell_lvlstr",n,"repeating_spells_sr","repeating_spells_SP-mod","repeating_spells_savedc"],function(e){var r=e.repeating_spells_spell_options,i="",l={};if(!e.repeating_spells_spell_lvlstr&&r)try{if(i=e[a]||"",1===parseInt(e[n],10)){switch(t){case"school":r=r.replace(w.school,k.school);break;case"cast-time":r=!i||/1\s+(S\.A\.|standard action)/i.test(i)?y.deleteOption(r,"casting_time",w):r.replace(w.casting_time,k.casting_time);break;case"components":r=r.replace(w.components,k.components);break;case"duration":r=r.replace(w.duration,k.duration);break;case"range":r=r.replace(w.range,k.range);break;case"targets":r=r.replace(w.targets,k.targets);break;case"save":r=y.shouldNotDisplayOption("saving_throw",i)?y.deleteOption(r,"saving_throw",w):r.replace(w.saving_throw,k.saving_throw);break;case"sr":r=y.shouldNotDisplayOption("sr",i)?y.deleteOption(r,"sr",w):r.replace(w.sr,k.sr);break;case"damage-macro-text":r=i?r.replace(w.spelldamage,k.spelldamage):y.deleteOption(r,"spelldamage",w);break;case"damage-type":r=i?r.replace(w.spelldamagetype,k.spelldamagetype):y.deleteOption(r,"spelldamagetype",w);break;case"sp-mod":f.default.debug("found damage type"+i),r=i?r.replace(w.spellPen,k.spellPen):y.deleteOption(r,"spellPen",w)}l.repeating_spells_spell_options=r,b.setWrapper(l,{silent:!0})}}catch(e){f.default.error("PFSpellOptions.updateSpellOption",e)}})}function l(e,t,a,n){var r="repeating_spells_"+b.getRepeatingIDStr(e),i=parseInt(n[r+"Concentration_misc"],10)||0,l=parseInt(n[r+"CL_misc"],10)||0,s=parseInt(n[r+"spellclass_number"],10),o=parseInt(n[r+"spell_level"],10),c=parseInt(n[r+"slot"],10),u=(parseInt(n[r+"casterlevel"],10),parseInt(n[r+"Concentration-mod"],10),isNaN(c)||c===o?o:c),d=15+2*u,p=parseInt(a["Concentration-"+s+"-def"],10)||0,m="{{condition_note=@{condition_spell_notes}}}",_="";return isNaN(s)||isNaN(o)?(f.default.warn("cannot set options for spell! id:"+e+" class or level are not numbers"),"{{condition_note=@{condition_spell_notes}}}"):(a.showschool&&(m+=k.school),a.showlevel&&(m+=k.spellclass,m+=k.level),a.showcasting_time&&(m+=!n[r+"cast-time"]||/1 (S\.A\.|standard action)/i.test(n[r+"cast-time"])?"{{casting_time=}}":k.casting_time), +a.showcomponents&&(m+=k.components),a.showsaving_throw&&(_=n[r+"save"]||"",m+=y.shouldNotDisplayOption("saving_throw",_)?"{{saving_throw=}}":k.saving_throw,m+=k.dc),a.showrange&&(m+=k.range_pick,m+=k.range,m+=k.rangetext),a.showtargets&&(m+=k.targets),a.showduration&&(m+=k.duration),a.showsr&&(_=n[r+"sr"]||"",m+=y.shouldNotDisplayOption("sr",_)?"{{sr=}}":k.sr,_=parseInt(n[r+"SP-mod"],10)||0,m+=_?k.spellPen:"{{spellPen=}}"),m+=a.showcasterlevel&&l?k.casterlevel:"{{casterlevel=}}",a.showcasterlevel_check&&(m+=k.casterlevel_chk),(a.showcasterlevel||a.showcasterlevel_check)&&(_=parseInt(n[r+"SP-mod"],10)||0,m+=0===_?"{{spellPen=}}":k.spellPen),m+=a.showconcentration&&(i||l)?k.Concentration:"{{Concentration=}}",a.showconcentration_check&&(m+=k.Concentration_chk),(a.showconcentration||a.showconcentration_check)&&(m+=p>0?k.cast_def.replace("REPLACE",p)||"":"{{cast_def=}}",m+=k.cast_defDC.replace("REPLACE",d)||""),a.showdescription&&(m+=k.description),a.showspellnotes&&(m+=k.spellnotes.replace("REPLACE","@{spell-class-"+s+"-spells-notes}")||""),a.showspell_fail_check&&parseInt(n["spell-fail"],10)>0&&(m+=k.spell_fail_check||"",m+=k.spell_fail||""),a.showdamage?(m+=n[r+"damage-macro-text"]?k.spelldamage:"{{spelldamage=}}",m+=n["damage-type"]?k.spelldamagetype:"{{spelldamagetype=}}"):m+="{{spelldamage=}}{{spelldamagetype=}}",m)}function s(e,t){var a,n="repeating_spells_"+b.getRepeatingIDStr(e);a=d.default.map(P,function(e){return n+e}).concat(C),getAttrs(a,function(a){var n=d.default.chain(v).reduce(function(e,t){return e["show"+t.toLowerCase().slice(13).replace("_notes","")]=parseInt(a[t],10)||0,e},{}).extend({"Concentration-0-def":parseInt(a["Concentration-0-def"],10)||0,"Concentration-1-def":parseInt(a["Concentration-1-def"],10)||0,"Concentration-2-def":parseInt(a["Concentration-2-def"],10)||0}).value(),r="",i={};f.default.debug("PFSPellOptions.resetOption id : "+e,n),r=l(e,t,n,a)||"{{condition_note=@{condition_spell_notes}}}",i["repeating_spells_"+b.getRepeatingIDStr(e)+"spell_options"]=r,b.setWrapper(i,{silent:!0})})}function o(e,t){var a=d.default.once(function(){"function"==typeof e&&e()});getAttrs(C,function(e){var n;try{f.default.debug("PFSpellOptions.resetOptions:",e),n=d.default.chain(v).reduce(function(t,a){return t["show"+a.toLowerCase().slice(13).replace("_notes","")]=parseInt(e[a],10)||0,t},{}).extend({"Concentration-0-def":parseInt(e["Concentration-0-def"],10)||0,"Concentration-1-def":parseInt(e["Concentration-1-def"],10)||0,"Concentration-2-def":parseInt(e["Concentration-2-def"],10)||0}).value(),f.default.debug("PFSPellOptions.resetOptions: ",n),getSectionIDs("repeating_spells",function(e){var r,i;return e&&0!==d.default.size(e)?(i=d.default.map(e,function(e){return"repeating_spells_"+e+"_"}),r=b.cartesianAppend(i,P),void getAttrs(r,function(r){var i={};d.default.each(e,function(e){var a="";try{a=l(e,t,n,r)||"{{condition_note=@{condition_spell_notes}}}",i["repeating_spells_"+e+"_spell_options"]=a}catch(t){f.default.error("PFSpellOptions.resetOptions error on id "+e+", innererr",t)}}),d.default.size(i)>0?b.setWrapper(i,_.default.silentParams,a):a()})):void a()})}catch(e){f.default.error("PFSpellOptions.resetOptions outererr:",e),a()}})}function c(){d.default.each(T.spellOptionEventsPlayer,function(e){var t="change:repeating_spells:"+e;on(t,f.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||(f.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),i(t,e))}))}),d.default.each(v,function(e){on("change:"+e,f.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(f.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),o(null,e))}))})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.optionTemplateRegexes=t.optionTemplates=t.optionToggles=void 0,t.updateSpellOption=i,t.getOptionText=l,t.resetOption=s,t.resetOptions=o;var u=a(1),d=r(u),p=a(0),f=r(p),m=(a(4),a(3)),_=r(m),g=a(2),b=n(g),h=a(5),y=n(h),v=t.optionToggles=["toggle_spell_school_notes","toggle_spell_casting_time_notes","toggle_spell_duration_notes","toggle_spell_saving_throw_notes","toggle_spell_sr_notes","toggle_spell_range_notes","toggle_spell_targets_notes","toggle_spell_description_notes","toggle_spell_concentration_notes","toggle_spell_concentration_check","toggle_spell_casterlevel_notes","toggle_spell_casterlevel_check","toggle_spell_level_notes","toggle_spell_components_notes","toggle_spell_spellnotes_notes","toggle_spell_spell_fail_check","toggle_spell_damage_notes"],k=t.optionTemplates={school:"{{school=@{school}}}",casting_time:"{{casting_time=@{cast-time}}}",components:"{{components=@{components}}}",duration:"{{duration=@{duration}}}",saving_throw:"{{saving_throw=@{save}}}",sr:"{{sr=@{sr}}}",casterlevel:"{{casterlevel=[[ @{casterlevel} ]]}}",range:"{{range=@{range_numeric}}}",targets:"{{targets=@{targets}}}",Concentration:"{{Concentration=[[ @{Concentration-mod} ]]}}",description:"{{description=@{description}}}",dc:"{{dc=[[ @{savedc} ]]}}",spellPen:"{{spellPen=[[ @{SP-mod} ]]}}",range_pick:"{{@{range_pick}=Range_pick}}",rangetext:"{{rangetext=@{range}}}",level:"{{level=@{spell_level}}}",spellclass:"{{spellclass=@{spellclass}}}",cast_def:"{{cast_def=[[ REPLACE ]]}}",cast_defDC:"{{cast_defDC=[[ REPLACE ]]}}",concentrationNote:"{{concentrationNote=REPLACE}}",spellPenNote:"{{spellPenNote=REPLACE}}",casterlevel_chk:"{{casterlevel_chk=[[ 1d20 + @{casterlevel} ]]}}",Concentration_chk:"{{Concentration_chk=[[ 1d20 + @{Concentration-mod} ]]}}",spellnotes:"{{spells_notes=REPLACE}}",spell_fail_check:"{{spell_fail_check=[[ 1d100cf<[[ @{spell-fail} ]]cs>[[ @{spell-fail}+1 ]] ]]}}",spell_fail:"{{spell_fail=@{spell-fail}}}",spelldamage:"{{spelldamage=@{damage-macro-text}}}",spelldamagetype:"{{spelldamagetype=@{damage-type}}}"},w=t.optionTemplateRegexes=y.getOptionsCompiledRegexMap(k),A=["Concentration-0-def","Concentration-1-def","Concentration-2-def","spell-fail"],C=v.concat(A),I=["school","cast-time","duration","save","sr","range_numeric","targets","description","Concentration-mod","savedc","SP-mod","range_pick","range","spell_level","spellclass","casterlevel","components","spellclass_number","damage-macro-text","damage-type"],x=["spellclass_number","SP_misc","CL_misc","Concentration_misc","slot","spell-attack-type"],P=I.concat(x),S={school:"toggle_spell_school_notes","cast-time":"toggle_spell_casting_time_notes",components:"toggle_spell_components_notes",duration:"toggle_spell_duration_notes",save:"toggle_spell_saving_throw_notes",sr:"toggle_spell_sr_notes",range:"toggle_spell_range_notes",targets:"toggle_spell_targets_notes",description:"toggle_spell_description_notes",spellnotes:"toggle_spells_notes",spell_fail_check:"toggle_spell_spell_fail_check","damage-macro-text":"toggle_spell_damage_notes","damage-type":"toggle_spell_damage_notes"},T={spellOptionEventsPlayer:["school","cast-time","components","duration","save","sr","range","targets","damage-macro-text","damage-type","sp-mod"]};t.recalculate=f.default.callback(function(e){o(e)});c()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return N.default.isUndefined(e)||""===e?0:parseInt(e)||0}function l(e,t){return Math.max(0,Math.floor((e+4-t)/4))}function s(e,t){return N.default.map(e,function(e){return e[t]}).join(", ")}function o(e){switch(e.toLowerCase()){case"colossal":return-8;case"gargantuan":return-4;case"huge":return-2;case"large":return-1;case"small":return 1;case"tiny":return 2;case"diminutive":return 4;case"fine":return 8;default:return 0}}function c(e){return N.default.isUndefined(e)?[]:Array.isArray(e)?e:new Array(e)}function u(e,t){e.init=i(t._total),e["init-misc"]=i(t._total)-i(t._attrtext),e["init-ability"]=t._attrname.substr(0,3).toUpperCase()+"-mod",e["init-ability-mod"]=i(t._attrtext),e.init_notes=t.situationalmodifiers._text}function d(e,t){t.forEach(function(t){var a=t._name.substr(0,3).toUpperCase(),n=i(t.attrvalue._base),r=i(t.attrvalue._modified)-n;e[a+"-base"]=n,e[a]=i(t.attrvalue._modified),e[a+"-mod"]=i(t.attrbonus._modified),r>0?(e[a+"-enhance"]=r,e[a]=i(t.attrvalue._modified)):(e[a+"-penalty"]=r,e[a]=n)})}function p(e,t){var a=0,n=t.allsaves.situationalmodifiers._text;for(a=0;a1?e[r+"_"+o+"_name"]=t._name+" x"+s:e[r+"_"+o+"_name"]=t._name,e[r+"_"+o+"_description"]=t.description,e[r+"_"+o+"_rule_category"]="feats",i.push(t._name),N.default.contains(Object.keys(n),t._name)&&(e[r+"_"+o+"_max-calculation"]=n[t._name]._max)}})}function h(e){return e.toLowerCase().indexOf("shield")!==-1||e.toLowerCase().indexOf("buckler")!==-1||e.toLowerCase().indexOf("klar")!==-1}function y(e,t,a,n,r){var l="repeating_item";getSectionIDs(l,function(s){var o=N.default.union(N.default.map(s,function(e){return l+"_"+e+"_name"}),["shield3-acp","shield3-spell-fail"]);getAttrs(o,function(s){var o=i(s["shield3-acp"]),u=i(s["shield3-spell-fail"]);N.default.isUndefined(s["shield3-acp"])||delete s["shield3-acp"],N.default.isUndefined(s["shield3-spell-fail"])||delete s["shield3-spell-fail"];var d=N.default.object(N.default.map(s,function(e,t){return[t.substring(l.length+1,t.indexOf("_name")),e]})),p=[],f={},_=N.default.map(n,function(e){return e._name}),g=N.default.map(r,function(e){return e._name}),b=["mithral","adamantine","angelskin","darkleaf","darkwood","dragonhide","eel","fire-forged","frost-forged","greenwood","paueliel"];N.default.each(e,function(e){var s=m(d,e._name);N.default.isUndefined(d[s])||delete d[s],p.push(e._name),l="repeating_item_"+s,f[l+"_name"]=e._name,f[l+"_item-weight"]=e.weight._value,f[l+"_value"]=parseFloat(e.cost._value)/parseInt(e._quantity),f[l+"_description"]=e.description,N.default.contains(Object.keys(t),e._name)&&"1"===e._quantity&&"1"!==t[e._name]._max?(f[l+"_qty"]=t[e._name]._left,f[l+"_qty_max"]=t[e._name]._max):f[l+"_qty"]=e._quantity,N.default.isUndefined(e.itempower)||N.default.each(c(e.itempower),function(e){p.push(e._name)});var y=e._name;if(e._name.toLowerCase().indexOf("shield")!==-1){var v;v=e._name.toLowerCase().indexOf(!0)?"heavy shield bash":"light shield bash",y=N.default.find(g,function(e){return e.toLowerCase().indexOf(v)!==-1})||e._name}if(N.default.contains(g,y)){var k=r[N.default.indexOf(g,y)];if("As Spell"!=k._damage){if(f[l+"_item-wpenhance"]=i(k._name.match(/\+\d+/)),N.default.isUndefined(k._typetext)||(f[l+"_item-dmg-type"]=k._typetext),(y.toLowerCase().indexOf("masterwork")!==-1||N.default.intersection(b,e._name.toLowerCase().split(" ")).length>0)&&(f[l+"_item-masterwork"]=1),!N.default.isUndefined(k._damage)){var w=k._damage.match(/\d+d\d+/);w.length>0&&(f[l+"_item-damage-dice-num"]=i(w[0].split("d")[0]),f[l+"_item-damage-die"]=i(w[0].split("d")[1]))}if(!N.default.isUndefined(k._crit)){var A=k._crit.split("/");A.length>1?f[l+"_item-crit-target"]=i(A[0].match(/\d+/)[0]):f[l+"_item-crit-target"]=20,f[l+"_item-crit-multiplier"]=i(A[A.length-1].replace(/\D/g,""))}N.default.isUndefined(k.rangedattack)||N.default.isUndefined(k.rangedattack._rangeincvalue)||(f[l+"_item-range"]=i(k.rangedattack._rangeincvalue))}}var C=e._name;if(e._name.toLowerCase().indexOf("klar")!==-1&&(C=N.default.find(_,function(e){return e.toLowerCase().indexOf("klar")!==-1})||e._name),N.default.contains(_,C)){var I=n[N.default.indexOf(_,C)];if(h(e._name)){var x=i(C.match(/\+\d+/)),P=i(I._ac)-x;f[l+"_item-acbonus"]=P,f[l+"_item-acenhance"]=x,N.default.isUndefined(I._equipped)||"yes"!==I._equipped||(f[l+"_item-acp"]=o,f[l+"_item-spell-fail"]=u,f.shield3=e._name,f["shield3-acbonus"]=P,f["shield3-enhance"]=x)}else{var x=i(e._name.match(/\+\d+/)),P=i(I._ac)-x;f[l+"_item-acbonus"]=P,f[l+"_item-acenhance"]=x,N.default.isUndefined(I._equipped)||"yes"!==I._equipped||(f["armor3-acp"]=f[l+"_item-acp"]=a.ACP-o,f["armor3-spell-fail"]=f[l+"_item-spell-fail"]=a.spellfail-u,99==a.maxDex?f["armor3-max-dex"]=f[l+"_item-max-dex"]="":f["armor3-max-dex"]=f[l+"_item-max-dex"]=a.maxDex,f.armor3=e._name,f["armor3-acbonus"]=P,f["armor3-enhance"]=x)}}}),setAttrs(f,{silent:!0})})})}function v(e,t,a,n){var r="repeating_ability";t.forEach(function(t){var i=f(a,t._name);N.default.isUndefined(a[i])||delete a[i],e[r+"_"+i+"_name"]=t._name,e[r+"_"+i+"_description"]=t.description,e[r+"_"+i+"_rule_category"]="traits",N.default.contains(Object.keys(n),t._name)&&(e[r+"_"+i+"_max-calculation"]=n[t._name]._max)})}function k(e,t,a,n){var r="repeating_ability";t.forEach(function(t){var i=f(a,t._name);N.default.isUndefined(a[i])||delete a[i],e[r+"_"+i+"_name"]=t._name,e[r+"_"+i+"_description"]=t.description,e[r+"_"+i+"_rule_category"]="spell-like-abilities",e[r+"_"+i+"_ability_type"]="Sp",N.default.contains(Object.keys(n),t._name)&&(e[r+"_"+i+"_max-calculation"]=n[t._name]._max)})}function w(e,t,a,n,r){var i=N.default.map(a,function(e){return e._name}),l=[];N.default.each(a,function(a){var s,o=a._name,u="repeating_ability",d=-1,p=o.replace(/ x[0-9]+$/,"").replace(/\(([^\)]+)\)/g,"").trim();if(!N.default.contains(l,p)){var f=N.default.filter(i,function(e){return e.replace(/\(([^\)]+)\)/g,"").trim()===p});if(f.length>1){l.push(p);var m=N.default.map(f,function(e){return e.match(/\(([^\)]+)\)/)[0].replace("(","").replace(")","")});o=o.replace(/\(([^\)]+)\)/,"("+N.default.uniq(m).join(", ")+")")}s=g(t,o),u="repeating_ability_"+s,N.default.isUndefined(t[s])?a.specsource?e[u+"_rule_category"]="class-features":e[u+"_rule_category"]="racial-traits":delete t[s],d=S(c(a.specsource),n),e[u+"_name"]=o,e[u+"_description"]=a.description,d!==-1&&(e[u+"_CL-basis"]="@{class-"+d+"-level}",e[u+"_class-name"]=Object.keys(n)[d]),N.default.contains(Object.keys(r),a._name)&&(e[u+"_max-calculation"]=r[a._name]._max),N.default.isUndefined(a._type)||(e[u+"_ability_type"]=a._type.substr(0,2))}})}function A(e,t,a){for(var n,r=new Object,i=N.default.without(N.default.map(a.split(";")[a.split(";").length-1].trim().split(/[\+\-]/),function(e){var t=e.split("d");return t.length<2?null:{dice:t[0],die:t[1]}}),null),l=0;l=5)return;l>0&&(e["class"+l+"_show"]=1),r[n._name.replace(/\(([^\)]+)\)/g,"").replace("(","").replace(")","").trim()]=n,e["class-"+l+"-name"]=n._name,e["class-"+l+"-level"]=n._level;var s=N.default.find(i,function(e){return e.dice==n._level});N.default.isUndefined(s)||(e["class-"+l+"-hd"]=s.die,i=N.default.without(i,s)),l++}return i.length>0&&(e["npc-hd"]=i[0].die),r}function C(e,t,a,n){var r,s,o,u,d,p,f,m=new Object,_=0,g=0;for(r=0;r=3)return m;var h=b._name.replace(/\(([^\)]+)\)/g,"").replace("(","").replace(")","").trim(),y=N.default.indexOf(Object.keys(a),N.default.find(Object.keys(a),function(e){return e.toLowerCase().indexOf(h.toLowerCase())!==-1}));if(y!==-1){if(d=i(a[h]._casterlevel),e["spellclass-"+g]=y,e["spellclass-"+g+"-level-misc"]=d-i(a[h]._level),e["spellclass-"+g+"-level"]=i(a[h]._level),e["spellclass-"+g+"-level-total"]=d,e["spellclass-"+g+"-name"]=a[h]._name.replace(/\(.*\)/g,"").trim(),e["spellclass-"+g+"-exists"]=1,e["spellclass-"+g+"-close"]=25+5*Math.floor(d/2),e["spellclass-"+g+"-medium"]=100+10*d,e["spellclass-"+g+"-long"]=400+40*d,N.default.isUndefined(a[h].arcanespellfailure)||(e["armor3-spell-fail"]=i(a[h].arcanespellfailure._value)),!N.default.isUndefined(a[h]._basespelldc))for(_=i(a[h]._basespelldc)-10,s=3;s0&&(o-=l(_,u)),o<0&&(o=""),e["spellclass-"+g+"-level-"+u+"-class"]=o}e["spellclass-"+g+"-level-1-bonus"]=l(_,1),e["spellclass-"+g+"-level-2-bonus"]=l(_,2),e["spellclass-"+g+"-level-3-bonus"]=l(_,3),e["spellclass-"+g+"-level-4-bonus"]=l(_,4),e["spellclass-"+g+"-level-5-bonus"]=l(_,5),e["spellclass-"+g+"-level-6-bonus"]=l(_,6),e["spellclass-"+g+"-level-7-bonus"]=l(_,7),e["spellclass-"+g+"-level-8-bonus"]=l(_,8),e["spellclass-"+g+"-level-9-bonus"]=l(_,9)}m[h]=a[Object.keys(a)[y]],g++}}return g>1&&(e.spellclasses_multiclassed=1),m}function I(e,t){var a=["Abjurer","Conjurer","Diviner","Enchanter","Evoker","Illusionist","Necromancer","Transmuter"],n="repeating_spells";getSectionIDs(n,function(r){var l=N.default.union(N.default.map(r,function(e){return n+"_"+e+"_name"}),N.default.map(r,function(e){return n+"_"+e+"_spellclass_number"}));getAttrs(l,function(r){var l={},s=Object.keys(r);N.default.each(s,function(e){var t;e.indexOf("_name")!==-1&&(t=e.substring(n.length+1,e.indexOf("_name")),N.default.isUndefined(l[t])&&(l[t]={rowID:t}),l[t].name=r[e]),e.indexOf("_spellclass_number")!==-1&&(t=e.substring(n.length+1,e.indexOf("_spellclass_number")),N.default.isUndefined(l[t])&&(l[t]={rowID:t}),l[t].spellclass=r[e])});var o=Object.keys(t),c={};N.default.each(e,function(e){var r,s,u,d,p,f;switch(f=i(e._level),n="repeating_spells_",d=e._name.replace(/\(x\d+\)/,"").trim(),""===e._class?(s=0,u=o[0]):(u=e._class,s=N.default.indexOf(o,u),s==-1&&(u=N.default.intersection(o,a)[0],s=N.default.indexOf(o,u))),r=_(l,d,s),N.default.isUndefined(r)&&(console.log("Undefined spell row ID!"),console.log(e)),n+=r,c[n+"_name"]=d,c[n+"_spell_level_r"]=c[n+"_spell_level"]=f,c[n+"_spellclass_number"]=s,c[n+"_spellclass"]=u,c[n+"_components"]=e._componenttext.replace("Divine Focus","DF").replace("Focus","F").replace("Material","M").replace("Verbal","V").replace("Somatic","S").replace(" or ","/"),c[n+"_duration"]=e._duration,c[n+"_save"]=e._save.replace(/DC \d+/,"").trim(),c[n+"_savedc"]=i(e._dc),c[n+"_cast-time"]=e._casttime,c[n+"_DC_misc"]=i(e._dc)-i(t[""!==u?u:Object.keys(t)[0]]._basespelldc)-f,c[n+"_CL_misc"]=i(e._casterlevel)-i(t[""!==u?u:Object.keys(t)[0]]._casterlevel),c[n+"_casterlevel"]=e._casterlevel,e._resist.toLowerCase().indexOf("yes")!==-1?e._resist.toLowerCase().indexOf("harmless")!==-1?c[n+"_sr"]="Yes (Harmless)":e._resist.toLowerCase().indexOf("object")!==-1?c[n+"_sr"]="Yes (Object)":c[n+"_sr"]="Yes":e._resist.toLowerCase().indexOf("no")!==-1?c[n+"_sr"]="No":c[n+"_sr"]="",e._range.toLowerCase()){case"close (25 + 5 ft./2 levels)":c[n+"_range_pick"]="close";break;case"medium (100 + 10 ft./level)":c[n+"_range_pick"]="medium";break;case"long (400 + 40 ft./level)":c[n+"_range_pick"]="long";break;case"touch":case"personal":c[n+"_range_pick"]=e._range.toLowerCase();break;default:c[n+"_range_pick"]="number",c[n+"_range"]=e._range}""!==e._area?c[n+"_targets"]=e._area:""!==e._effect?c[n+"_targets"]=e._effect:c[n+"_targets"]=e._target,p=e._schooltext,""!==e._subschooltext&&(p=p+" ("+e._subschooltext+")"),""!==e._descriptortext&&(p=p+" ["+e._descriptortext+"]"),c[n+"_school"]=p,c[n+"_description"]=e.description}),setAttrs(c,{silent:!0},function(){U.resetOptions(),G.resetCommandMacro()})})})}function x(e){for(var t=e.match(/\d+d\d/g),a=0,n=0;n6?e.custom_skill_num_show=10:y>3?e.custom_skill_num_show=6:y>2?e.custom_skill_num_show=3:y>2?e.custom_skill_num_show=2:e.custom_skill_num_show=1,_>6?e.misc_skill_num_show=10:_>3?e.misc_skill_num_show=6:_>2?e.misc_skill_num_show=3:_>2?e.misc_skill_num_show=2:e.misc_skill_num_show=1}function D(e,t){for(var a=0,n=0;n0&&(t.add_race=1,t["npc-hd-num"]=z);var O=o(e.size._name);if(t.size=O,t.default_char_size=O,t["CMD-size"]=O*-1,e.skills.skill=c(e.skills.skill),T(t,e.skills.skill,O,m),N.default.isUndefined(e.senses.special)||(e.senses.special=c(e.senses.special),t.vision=s(e.senses.special,"_shortname")),N.default.isUndefined(e.damagereduction.special)||(e.damagereduction.special=c(e.damagereduction.special),t.DR=s(e.damagereduction.special,"_shortname")),N.default.isUndefined(e.resistances.special)||(e.resistances.special=c(e.resistances.special),t.resistances=s(e.resistances.special,"_shortname")),N.default.isUndefined(e.immunities.special)||(e.immunities.special=c(e.immunities.special),t.immunities=s(e.immunities.special,"_shortname")),N.default.isUndefined(e.weaknesses.special)||(e.weaknesses.special=c(e.weaknesses.special),t.weaknesses=s(e.weaknesses.special,"_shortname")),N.default.isUndefined(e.languages.language)||(e.languages.language=c(e.languages.language),t.languages=s(e.languages.language,"_name")),t["npc-type"]=c(e.types.type)[0]._name,N.default.isUndefined(e.subtypes.subtype)||(t["npc-type"]=t["npc-type"]+" ("+s(c(e.subtypes.subtype),"_name")+")"),t.character_name=e._name,t["player-name"]=e._playername,t.deity=e.deity._name,t.race=e.race._racetext.substr(0,1).toUpperCase()+e.race._racetext.substr(1,1e3),t.alignment=e.alignment._name,t.gender=e.personal._gender,t.age=e.personal._age,t.height=e.personal.charheight._text,t.weight=e.personal.charweight._text,t.hair=e.personal._hair,t.eyes=e.personal._eyes,t.skin=e.personal._skin,t.character_description=e.personal.description,t["npc-cr"]=e.challengerating._text.replace("CR ",""),t["npc-xp"]=e.xpaward._value,t["speed-base"]=t["speed-modified"]=i(e.movement.speed._value),t.cmb=i(e.maneuvers._total),t.cmd=i(e.maneuvers._cmd),t["ff-cmd"]=i(e.maneuvers._cmdflatfooted),t["cmd-str"]=t["STR-mod"],t["cmd-misc"]=t.cmd-10-t["AC-ability-mod"]-t["cmd-str"]-t["CMD-size"]-t["AC-dodge"]-t["AC-deflect"]-t.bab,t["attk-melee"]=i(e.attack._meleeattack.split("/")[0]),t["attk-ranged"]=t["attk-melee2"]=i(e.attack._rangedattack.split("/")[0]),N.default.isUndefined(e.favoredclasses.favoredclass)||(e.favoredclasses.favoredclass=c(e.favoredclasses.favoredclass),t["class-favored"]=s(e.favoredclasses.favoredclass,"_name")),t["other-PP"]=e.money._pp,t["other-GP"]=e.money._gp,t["other-SP"]=e.money._sp,t["other-CP"]=e.money._cp,t["load-str-bonus"]=i(e.encumbrance._encumstr)-t.STR,t["load-light"]=e.encumbrance._light,t["load-medium"]=e.encumbrance._medium,t["load-heavy"]=t["lift-above-head"]=e.encumbrance._heavy,t["load-max"]=t["lift-off-ground"]=2*i(e.encumbrance._heavy),t["lift-drag-and-push"]=5*i(e.encumbrance._heavy),N.default.isUndefined(e.pathfindersociety)||(t.set_pfs=1,q.setToPFS(null)),!N.default.isUndefined(e.factions.faction)){var W=N.default.find(c(e.factions.faction),function(e){return N.default.isUndefined(e._retired)});N.default.isUndefined(W)||(t.prestige=W._cpa,t.fame=W._tpa,t.faction_notes=W._name)}setAttrs(t,{silent:!0})}function F(){on("change:herolab_import",function(e){z.default.debug("caught "+e.sourceAttribute+" event"+e.sourceType),"player"===e.sourceType&&getAttrs(["herolab_import"],function(e){var t;if(!N.default.isUndefined(e.herolab_import))try{t=JSON.parse(e.herolab_import),M(N.default.isArray(t.document.public.character)?t.document.public.character[0]:t.document.public.character),setAttrs({herolab_import:""},{silent:!0})}catch(e){console.log(e),setAttrs({herolab_import:e.message},{silent:!0})}})})}Object.defineProperty(t,"__esModule",{value:!0}),t.parseNum=i,t.bonusSpellSlots=l,t.buildList=s,t.getSizeMod=o,t.arrayify=c,t.importInit=u,t.importAbilityScores=d,t.importSaves=p,t.getOrMakeRowID=f,t.getOrMakeItemRowID=m,t.getOrMakeSpellRowID=_,t.getOrMakeClassRowID=g,t.importFeats=b,t.nameIsShield=h,t.importItems=y,t.importTraits=v,t.importSLAs=k,t.importFeatures=w,t.importClasses=A,t.importSpellClasses=C,t.importSpells=I,t.calcHitDice=x,t.buildArchetypeArray=P,t.getClassSource=S,t.importSkills=T,t.importPenalties=D,t.importAC=E,t.importCharacter=M,t.registerEventHandlers=F;var R=a(1),N=r(R),L=a(0),z=r(L),O=a(4),W=a(19),B=(n(W),a(17)),q=n(B),H=a(31),U=n(H),j=a(18),G=n(j);F(),O.PFConsole.log(" HLImport module loaded "),O.PFLog.modulecount++},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t,a;return e=oe.convertDashToMinus(e),e=Q.trimBoth(e),/^Init/i.test(e)||/^[\+\-]{0,1}\d+/.test(e)?t=oe.getIntFromString(e,!0):null!==(a=e.match(/[\+\-]{0,1}\d+$/))?(e=e.slice(a.index),"+"!==e[0]&&(e="-"+e),t=parseInt(e.match(/[\-\+]\d+$/),10)||0):t=oe.getIntFromString(e,!0),t}function l(e){Z.default.debug("buildImportantFeatObj is ",e);var t=K.default.chain(e).filter(function(e){return!!e}).filter(function(e){return re.default.importantFeatRegExp.test(e)}).map(function(e){return e=Q.trimBoth(e),/\b[A-Z]$/i.test(e)&&(e=e.slice(0,-2),e=Q.trimBoth(e)),e}).reduce(function(e,t){var a,n="",r={},i={},l={},s=[],o="";try{if(t.indexOf("(")>=0&&(a=/(.*?)\((.*)\)/.exec(t),Z.default.debug("looking at "+t+", split into ",a),t=a[1],n=a[2],t=Q.trimBoth(t),n=Q.trimBoth(n)),t=t.replace(/\s/g,"").toLowerCase(),"improvedcritical"===t||"criticalmastery"===t)return e;e[t]=1,t.indexOf("critical")>0?(n=t,t="criticaldamage",l=e.criticaldamage||{},l[n]=1,e.criticaldamage=l):t.indexOf("skillfocus")>=0?(o=n.replace(" ","-"),o&&(o=o[0].toUpperCase()+o.slice(1),s=e.skillfocuses||[],s.push(o),e.skillfocuses=s)):"weaponfinesse"!==t&&"improvedcritical"!==t||(r=e.attacks||{},i=r[n]||{},i[t]=1,r[n]=i,e.attacks=r)}catch(a){Z.default.error("buildImportantFeatObj error:",a),e[t]=1}finally{return e}},{}).value();return Z.default.debug("returning important feats:",t),t}function s(e,t){var a,n={hp:0,hdie1:0,hdice1:0,basehp:0,misc:0,heal:""},r=0,i=0;try{t=t||0,/^hp/i.test(e)&&(e=e.slice(2)),e=oe.replaceMissingNegatives_BadDice(e),e=oe.convertDashToMinus(e),e=e.replace("plus","+"),n.hp=parseInt(e,10)||0,e=e.slice(e.indexOf("(")+1),a=oe.getDiceDieFromString(e,!0),0!==a.dice&&(n.hdice1=a.dice,n.hdie1=a.die,r=t*n.hdice1,n.misc=a.plus-r,n.basehp=oe.getAvgHP(n.hdice1,n.hdie1),i=n.basehp+a.plus,i!==n.hp&&(Z.default.warn("parseNPChp, hp not adding right, should be:"+n.hp+" but getNPCHP returns "+i,n),n.misc+=n.hp-i),e=e.slice(a.spaces+1)),e&&(e=Q.trimBoth(e.replace(/[\);]/g,"")),n.heal=e||"")}catch(e){Z.default.error("parseNPChp",e)}finally{return n}}function o(e,t,a,n){var r,i=0,l="",s={ac:10,touch:10,ff:10,armor:0,shield:0,deflect:0,dex:0,dodge:0,natural:0,misc:0,note:"",size:0,altability:"",acbuff:0,uncanny:0,cmd:10,notes:"",cmdnotes:""};a=a||0,n=n||0;try{/^ac\s/i.test(e)&&(e=e.slice(3)),s.ac=parseInt(e,10)||0,r=t.match(/(\d+)/),r&&r[1]&&(s.cmd=parseInt(r[1],10)||0,l=t.slice(r.index+r[0].length),l&&(l=Q.trimBoth(l),s.cmdnotes=l)),r=e.match(/Touch\s*?(\d+)/i),r&&r[1]&&(s.touch=parseInt(r[1],10)),r=e.match(/Flat\-footed\s*?(\d+)/i),r&&r[1]&&(s.ff=parseInt(r[1],10)),r=e.match(/([+\-]??\d+)\s*?Deflect[,\i\s]/i),r&&r[1]&&(s.deflect=parseInt(r[1],10)),r=e.match(/([+\-]??\d+)\s*?Nat[,u\s]/i),r&&r[1]&&(s.natural=parseInt(r[1],10)),r=e.match(/([+\-]??\d+)\s*?Dodge/i),r&&r[1]&&(s.dodge=parseInt(r[1],10)),r=e.match(/([+\-]??\d+)\s*?Size/i),r&&r[1]&&(s.size=parseInt(r[1],10)),s.size!==n&&(s.size=n),r=e.match(/([+\-]??\d+)\s*?armor/i),r&&r[1]&&(s.armor=parseInt(r[1],10)),r=e.match(/([+\-]??\d+)\s*?shield/i),r&&r[1]&&(s.shield=parseInt(r[1],10)),r=e.match(/\)\s*?(.*)/),r&&r[1]&&(s.note=r[1]),r=e.match(/([+\-]??\d+)\s*?Dex/i),r&&r[1]?(s.dex=parseInt(r[1],10)||0,a!==s.dex&&(s.dex=a)):(r=e.match(/([+\-]??\d+)\s*?(Wis|Int|Str|Con|Cha)/i),r&&r[1]&&r[2]&&(s.dex=parseInt(r[1],10)||0,s.altability=r[2].toUppercase())),i=s.dodge+s.dex+s.deflect+s.size+10,s.touch!==i&&(s.misc=s.touch-i),i=s.armor+s.shield+s.dodge+s.dex+s.natural+s.deflect+s.size+s.misc+10,s.ac!==i&&(s.acbuff=s.ac-i),s.ac===s.ff&&(s.dex>0||s.dodge>0)&&(s.uncanny=1)}catch(e){Z.default.error("parseNPCAC",e)}finally{return s}}function c(e){var t,a=e.split(/,\s*/);return t=K.default.reduce(a,function(e,t,a){var n,r=0;try{0===a?(r=parseInt(t.match(/(\d+)/)[1],10)||0,r&&(e.land=r)):(n=t.match(/([\w]+)\s*(\d+)/),n&&(r=parseInt(n[2],10)||0,r&&(e[n[1].toLowerCase()]=r,/fly/i.test(n[1])&&(n=t.match(/\(([\w]+)\)/),n&&n[1].length>0&&(e.flyability=n[1])))))}catch(e){Z.default.error("parseSped",e)}finally{return e}},{})}function u(e){var t=e.match(/^\s*([^\(]+)/),a="",n="",r="";return t&&t[1]&&(a=t[1],a=Q.trimBoth(a),n=a.replace(/\d+d\d+|\-\d+|\+|\d+|\//g,""),n=Q.trimBoth(n),n=n[0].toUpperCase()+n.slice(1),r=n.toLowerCase(),r=r.replace(/ray|cone|aura|mwk/gi,""),r=r.replace(/\s+/g,"")),{name:a,basename:r,abilityName:n}}function d(e){var t,a="",n=[],r=[],i={reach:5,reachNotes:"",reachExceptions:[]};if(!e)return i;try{t=e.match(/reach/i),t&&(e=e.slice(t.index+t[0].length)),e=Q.trimBoth(e),e=oe.convertDashToMinus(e),e=e.replace("21/2","2-1/2"),e=e.replace("2.5","2-1/2"),"2-1/2"===e.slice(0,5)?(i.reach=2.5,a=e.slice(5)):(i.reach=parseInt(e,10)||0,a=oe.getNoteAfterNumber(e)),a&&a.indexOf("(")>=0&&(i.reachNotes=a,a=Q.trimBoth(a.replace("(","").replace(")","").replace(/with\s/gi,"").replace(";","").replace(/ft[\.\s]*/gi,"").replace(/,\s*/g,",")),a&&(n=a.split(","),r=K.default.reduce(n,function(t,a){var n=[];try{"2-1/2"===a.slice(0,5)?(n.push(Q.trimBoth(a.slice(5))),n[0]&&(n.push(2.5),t.push(n))):(n.push(oe.getNoteAfterNumber(e)||""),n[0]&&(n.push(parseInt(e,10)||0),t.push(n)))}catch(e){Z.default.error("parseReach inner error erri:",e)}finally{return t}},[]),r&&r.length>0&&(i.reachExceptions=r)))}catch(e){Z.default.error("parseReach error:",e)}finally{return i}}function p(e){var t,a,n=e.toLowerCase().replace(/\s/g,"");try{a=K.default.find(re.default.creatureTypeClassSkills,function(e,t){var a=new RegExp(t);return a.test(n)}),a&&a.length>0&&(t=a),a=K.default.find(re.default.creatureSubtypeClassSkills,function(e,t){var a=new RegExp(t);return a.test(n)}),a&&(t=t?t.concat(a):a)}catch(e){Z.default.error("parseCreatureClassSkills",e)}finally{return t?t:[]}}function f(e){var t,a;try{if(a=K.default.filter(e,function(e){return"natural"===e.type}),K.default.size(a)<=0)return e;1===K.default.size(a)?(a[0].naturaltype="primary",(a[0].iter&&1===a[0].iter.length||isNaN(parseInt(a[0].iter,10)))&&(a[0].dmgMult=1.5)):(t=K.default.groupBy(a,function(e){return re.default.primaryNaturalAttacksRegExp.exec(e.name)}),1===K.default.size(t)?K.default.each(a,function(e){e.naturaltype="primary"}):K.default.each(a,function(e){re.default.primaryNaturalAttacksRegExp.test(e.name)?e.naturaltype="primary":e.naturaltype="secondary"}))}catch(e){Z.default.error("assignPrimarySecondary",e)}finally{return e}}function m(e,t,a,n,r){var i,l,s,o,c,d,p="",f=0,m="",_=e,g=0,b="",h=0,y={enh:0,mwk:0,name:"",basename:"",atktype:"melee",type:"",range:"",countFullBAB:1,iter:[],dmgdice:0,dmgdie:0,dmgtype:"",crit:20,critmult:2,dmgbonus:0,plus:"",plusamount:"",plustype:"",note:""};try{if(Z.default.debug("parseAttack: "+e),a&&(y.group="Full attack "+n),c=u(e),y.name+=c.name,y.basename=c.basename,e=Q.trimBoth(e),i=e.match(/^(\d+)\s*/),i&&i[1]&&(y.countFullBAB=parseInt(i[1],10)||1,e=e.slice(i[0].length)),i=e.match(/^([+\-]\d+|mwk)\s*/i),i&&("mwk"===i[1].toLowerCase()?y.mwk=1:y.enh=parseInt(i[1],10)||0,y.type="weapon",e=e.slice(i[0].length)),re.default.cmbPlusStrsrch.test(y.basename)?(y.atktype="cmb",y.vs="cmd",y.type="natural",g=1):"melee"===t&&re.default.combatManeuversRegExp.test(y.basename)?(y.atktype="cmb",y.vs="cmd"):re.default.cmbMonsterSrch.test(y.basename)?(y.atktype="cmb",y.type="natural",y.vs="cmd"):/web/i.test(y.basename)?(y.atktype="ranged",y.type="special",y.vs="touch",y.range=10):/touch/i.test(y.basename)?(/range/i.test(y.basename)?y.atktype="ranged":y.atktype="melee",y.vs="touch"):/special/i.test(t)?(y.atktype="special",y.type="special"):y.atktype=t,y.type||(re.default.naturalAttackRegExp.test(y.basename)?y.type="natural":re.default.unarmedAttacksRegExp.test(p)?y.type="unarmed":y.type="weapon"),y.vs||/touch|web/i.test(y.name)&&(y.vs="touch",/ranged|web/i.test(y.name)&&(y.atktype="ranged",/web/i.test(y.basename)&&(y.range=10))),e=Q.trimBoth(e),i=e.match(/^[a-z\s]+/i),i&&i[0]&&(i.index&&(h=i.index),e=e.slice(h+i[0].length)),Z.default.debug("PFNPCParse atkstr is now "+e),e){if(o=e.split(/\(|\)/),l=o[0].split(/\//),/\d/.test(l[0])?y.iter=K.default.map(l,function(e,t){return/^[+\-]/.test(e)?parseInt(e,10)||0:-1*(parseInt(e,10)||0)}):"cmb"===y.atktype&&(y.iter[0]=0),o[1]){if(d=o[1].split(/,\s*/),b=K.default.reduce(d,function(e,t){return/ft\./i.test(t)?y.range=t:/D[Cc]\s\d+/.test(t)?(i=t.match(/(D[Cc]\s\d+)/),y.DC=i[1].toUpperCase(),y.DCability=re.default.specialAttackDCAbilityBase[y.basename]||"CON",r&&"CON"===y.DCability&&(y.DCability="CHA"),y.DCEquation=oe.getDCString(y.DCability,"npc-hd-num",r),i=t.match(/(Will|Fort|Ref|Fortitude|Reflex)\s*D[Cc]\s*\d+([^),.])/i),i?(i[1]&&(b=i[1][0].toUpperCase()+i[1].slice(1).toLowerCase(),y.save=b),i[2]&&(y.save+=" "+i[2])):(i=t.match(/(Will|Fort|Ref|Fortitude|Reflex)/i),i&&i[1]&&(b=i[1][0].toUpperCase()+i[1].slice(1).toLowerCase(),y.save=b))):/freq|day|constant|at.will/i.test(t)?y.frequency=t:/AC|hp/.test(t)||!/\d|plus/.test(t)?y.note+=t+", ":e+=t+" ",e},""),b=Q.trimBoth(b),s=oe.getDiceDieFromString(b,!0,!0),Z.default.debug("##### Attack dice parse of "+b+" is ",s),s&&s.dice&&(y.dmgdice=s.dice,y.dmgdie=s.die,y.dmgbonus=s.plus,b=b.slice(s.spaces)),Z.default.debug("PFParseAttack e3:"+b),b){var v=oe.getCritFromString(b,!0);Z.default.debug("PFParseAttack e4:"+b+", crits:",v),y.crit=v.crit,y.critmult=v.critmult,b=b.slice(v.spaces)}m=Q.trimBoth(b),m&&(g&&(i=m.match(/\sac\s\d+/i),i&&(y.note+=m.slice(i.index),m=Q.trimBoth(m.slice(0,i.index)))),i=m.match(/plus(.*)/i),i&&(b=Q.trimBoth(i[1]),m=Q.trimBoth(m.slice(0,i.index)),/\d+d\d+/i.test(b)?(i=b.match(/(\d+d\d+)\s*([\w\s]*)/),y.plusamount=i[1],i[2]&&(y.plustype=i[2].replace(/^\s+|\s+$/g,""))):y.plus=b),m&&m.length>0&&(y.dmgtype+=m)),"cmb"===y.atktype||y.iter[0]||!y.dmgtype||!y.dmgdice||!y.dmgdie||y.plusamount||y.plustype||/bludg|slash|pierc/i.test(y.dmgtype)||(y.plustype=y.dmgtype,b=String(y.dmgdice)+"d"+String(y.dmgdie),y.dmgbonus&&(b+=y.dmgbonus>0?"+"+y.dmgbonus:"-"+Math.abs(y.dmgbonus)),y.plusamount=b,y.dmgtype="",y.dmgdice=0,y.dmgdie=0)}for(f=2;f1&&(i=!0),r=K.default.reduce(n,function(e,n,r){var l,s;try{l=Q.splitByCommaIgnoreParens(n),l.length>1&&(i=!0),s=K.default.reduce(l,function(e,n){var l;try{l=m(n,t,i,r,a),l&&e.push(l)}catch(e){Z.default.error("parseAttacks",e)}finally{return e}},[])}catch(e){Z.default.error("parseAttacks",e)}finally{return e.concat(s)}},[])}catch(e){Z.default.error("parseAttacks",e)}return r}function g(e){var t,a=K.default.map(me.abilities,function(e){return e.toLowerCase()}),n=K.default.map(pe.allCoreSkills,function(e){return e.toLowerCase()}),r=K.default.map(pe.skillsWithSubSkills,function(e){return e.toLowerCase()}),i=pe.skillsWithSpaces,l=[],s="",o="",c="",u=!1,d="",p={},f=[],m={},_={skillmods:p,skillnotes:f,abilitymods:m};if(!e)return _;if(t=e.split(";"),t.length>1&&(e=t[0],s=t[1]),s){try{o=s.toLowerCase(),c=K.default.find(a,function(e){return o.indexOf(e)>=0}),c&&(d=K.default.find(n,function(e){return o.indexOf(e)>=0}),d&&(m[d[0].toUpperCase()+d.slice(1)]=c.toLowerCase(),u=!0))}catch(e){Z.default.error("parseSkillRacialBonuses inner",e)}u||f.push(s)}return l=e.split(/,\s*/),K.default.each(l,function(e){var l,s,o=e.toLowerCase(),u=0,_="",g="",b="",h=0,y="";try{if(s=e.match(/\s*([+\-]\d+)\s*(?:on|to)?\s*([\w]+)\s*([\w\s]+)?\s*(\([^)]*\))?/),!s)return d=K.default.find(n,function(e){return o.indexOf(e)>=0}),void(d?(c=K.default.find(a,function(e){return o.indexOf(e)>=0}),c?m[d.toLowerCase()]=c:f.push(e)):f.push(e));if(b=s[3],u=parseInt(s[1],10)||0,_=s[2],!K.default.contains(n,_.toLowerCase())){if(d=K.default.find(i,function(e){return o.indexOf(e)>=0}),!d||d.length<1)return void f.push(e);t=d.split(/\s/),t=K.default.map(t,function(e){return"of"===e?"of":e[0].toUpperCase()+e.slice(1)}),_=t.join("-"),b=b.slice(d.length-d.indexOf(" ")+1)}if(b)return void f.push(e);if(l=_[0].toUpperCase()+_.slice(1),!s[4])return void(p[l]=u);b=s[4].replace(/^\s+|\(|\)|\s+$/g,""),K.default.contains(r,_.toLowerCase())?(b=b[0].toUpperCase()+b.slice(1),l+="knowledge"===_.toLowerCase()?"-"+b:"["+b+"]",p[l]=u):(s=b.match(/([+\-]\d+)\s(.*)$/),s&&s[1]?(h=parseInt(s[1],10)||0,s[2]&&(y=s[2]),h-=u,p[l]=u,g=(h>0?"+":"")+h+" "+l+" "+y,f.push(g)):f.push(e))}catch(t){Z.default.error("parseSkillRacialBonuses outer error",t),f.push(e)}}),_}function b(e){var t=e.match(/[\w][\w\s]+\s*(?:\([\w\s,]+\))?\s*[+\-]\d+[,]??/g),a=K.default.reduce(t,function(e,t){var a,n=t.match(/^([\w][\w\s]+[\w])\s*(\([\w\s,]+\))??([+\s]+\d+)$/),r="",i=0;return n&&(i=parseInt(n[3],10)||0,r=n[1].replace(/^\s+|\s+$/g,""),r=r[0].toUpperCase()+r.slice(1),r=r.replace(/\s/g,"-"),n[2]?(a=n[2].split(/,\s*/),K.default.each(a,function(t){t=t.replace(/^\s+|,|\(|\)|\s+$/g,""),t=t[0].toUpperCase()+t.slice(1),t="Knowledge"===r?"-"+t:"["+t+"]",e[r+t]=i})):e[r]=i),e},{});return a||{}}function h(e){var t={};return t.str=me.getAbilityAndMod(e.str_compendium),t.dex=me.getAbilityAndMod(e.dex_compendium),t.con=me.getAbilityAndMod(e.con_compendium),t.wis=me.getAbilityAndMod(e.wis_compendium),t.int=me.getAbilityAndMod(e.int_compendium),t.cha=me.getAbilityAndMod(e.cha_compendium),t}function y(e,t){var a,n,r,i,l,s,o="special",c="",d=!1,p={};try{a=t,n=u(t),t.indexOf("(")>=0?re.default.spAttackAttacksPreProcess.test(n.basename)?(/rake/i.test(n.basename)?t=oe.removeUptoFirstComma(t,!0):/rend/i.test(n.basename)?t=oe.removeUptoFirstComma(t):/web/i.test(n.basename)&&(t=oe.removeUptoFirstComma(t,!0), +t="web "+t,o="ranged"),d=!0):re.default.spAttackAttacks.test(n.basename)&&(d=!0):/damage|drain|dmg/i.test(n.basename)&&!/blood|energy/i.test(n.basename)&&re.default.abilitySrch.test(n.basename)&&(l=n.basename.match(/damage|drain/i),n.AbilityName="Ability "+l[0],t=n.AbilityName+" ("+t+")",d=!0),d&&(p=m(t,o,!1,0),p.specialtype="attack",p.group="Special",p.name=n.AbilityName&&"Ability"===n.AbilityName.slice(0,7)?n.AbilityName:n.name,p.basename=n.basename),d||(p.name=n.abilityName||n.name,p.basename=n.basename,p.specialtype="ability",p.rule_category="special-attacks",s=/usable\severy/i.exec(a),s&&(p.frequency="everyrounds",r=a.slice(s.index+s[0].length),i=oe.getDiceDieString(r),i&&(p.used=i,s=r.match(/rounds|days|minutes/i),s&&(p.used+=" "+s[0]))),re.default.specialAttackDCAbilityBase[p.basename]&&(p.DCability=re.default.specialAttackDCAbilityBase[p.basename],1===parseInt(e.is_undead,10)&&"CON"===p.DCability&&(p.DCability="CHA")),p.shortdesc=oe.replaceDCString(oe.replaceDiceDieString(a),p.DCability,"npc-hd-num",e.is_undead)),c=oe.getSpecialAbilityTypeFromString(t),c&&(p.ability_type=c)}catch(e){Z.default.error("parseSpecialAttack",e)}finally{return p}}function v(e,t,a){var n;return t?(n=Q.splitByCommaIgnoreParens(t),K.default.reduce(n,function(t,a){var n;try{n=y(e,a)}catch(e){Z.default.error("parseSpecialAttacks",e),n={},n.name=a,n.specialtype="ability",n.rule_category="special-attacks"}finally{return t.push(n),t}},[])):{}}function k(e){var t,a={};return a.description=[],a.specialAbilities=[],e=e.replace(/\((Ex|Sp|Su)\)\s*(?:\r\n|[\n\v\f\r\x85\u2028\u2029])/gi,"($1) "),t=e.split(/\s\s\s|\r\n|[\n\v\f\r\x85\u2028\u2029]|special abilities|\.(?=[^\.]+\((?:Ex|Sp|Su)\))/i),t=Q.trimBoth(t).filter(function(e){return e&&!/^special abilities$/i.test(e)}),a=K.default.reduce(t,function(e,t){var a,n={},r="";try{a=t.match(/\((Su|Ex|Sp)\)|^(\w+):/i),a?a[2]?(n.name=a[2],n.description=Q.trimBoth(t.slice(a[0].length+1)),e.specialAbilities.push(n)):(r=t.slice(0,a.index),n.name=r.replace(/^[^\w]+|[^\w]$/,""),n.basename=n.name.replace(/\s/g,"").toLowerCase(),n.rule_category="special-abilities",n.ability_type=a[1][0].toUpperCase()+a[1][1].toLowerCase(),n.description=Q.trimBoth(t.slice(a.index+a[0].length+1)),a=n.description.match(/(\d+d\d+) (?:points of){0,1}(.*?) damage/i),a?(a[1]&&(n.extraDamage="[["+a[1]+"]]"),a[2]&&(n.extraDamageType=a[2])):(a=n.description.match(/([a-z]) for (\d+d\d+) (rounds|minutes|hours|days)/i),a&&(a[2]&&(n.extraDamage="[["+a[2]+"]] "+a[3]||""),a[1]&&(n.extraDamageType=a[1]))),a=n.description.match(/dc is (cha|con|wis|int|str|dex)[a-zA-Z]*.based/i),a&&a[1]?(r=a[1].toUpperCase(),n.DCability=r):re.default.specialAttackDCAbilityBase[n.basename]&&(n.DCability=re.default.specialAttackDCAbilityBase[n.basename]),a=n.description.match(/DC (\d+) (Will|Fort|Ref)[a-zA-Z]* save/i),a?(a[1]&&(n.DC=a[1]),a[2]&&(r=a[2][0].toUpperCase()+a[2].slice(1).toLowerCase(),n.save=r)):(a=n.description.match(/(Will|Fort|Ref)[a-zA-Z]* DC (\d+) ([^),.])/i),a&&(a[1]&&(r=a[1][0].toUpperCase()+a[1].slice(1).toLowerCase(),n.save=r,a[3]&&(n.save+=" "+a[3])),a[2]&&(n.DC=a[2]))),e.specialAbilities.push(n)):e.description.push(t+"\r\n")}catch(e){Z.default.error("parseSpecialAbilities error parsing: "+t+" error is"+e)}finally{return e}},a)}function w(e){var t,a,n=[];return e?(t=e.match(/^SQ[\s:]*/i),t&&(e=e.slice(t[0].length)),a=Q.splitByCommaIgnoreParens(e),K.default.each(a,function(e){var t={},a="";t.name=e,a=oe.getSpecialAbilityTypeFromString(e),a&&(t.ability_type=a),t.rule_category="special-qualities",n.push(t)}),n):null}function A(e){var t,a="",n={};try{n.spellLikeAbilities=[],n.CL=0,n.concentration=0,n.classname="",t=e.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/),K.default.each(t,function(e){var t,r,i,l,s="",o="",c={},u=0,d="",p="",f=0,m=0,_=0,g=0,b=0;try{if(/CL\s*\d+/i.test(e)||/concentrat/i.test(e)||/psychic\smagic/i.test(e)||/spell.like.abilit/i.test(e)?m=1:/\u2013|\u2014|-/.test(e)&&(_=1),m)/CL\s*\d+/i.test(e)&&(t=e.match(/CL\s*(\d+)/i),t[1]&&(n.CL=parseInt(t[1],10)||0)),/concentrat/i.test(e)&&(t=e.match(/concentrat[\w]*\s*[+\-]??(\d+)/i),t[1]&&(n.concentration=parseInt(t[1],10)||0)),/psychic\smagic/i.test(e)?n.classname="Psychic Magic":n.classname="Spell-like abilities";else{if(!_)return void Z.default.warn("Cannot parse "+e);t=e.match(/\u2013|\u2014|\-/),o=e.slice(t.index+1),s=Q.trimBoth(e.slice(0,t.index)).toLowerCase(),t=s.match(/constant|will|day|month/i),t&&t[0]?(p=t[0].toLowerCase(),c.type=p,"day"!==p&&"month"!==p||(b=1,t=s.match(/\d+/),t&&t[0]&&(f=parseInt(t[0],10)||0,c.perDay=f))):(l=s.split("/"),l.length>=2&&(b=1,t=l[0].match(/\d+/),t&&t[0]&&(f=parseInt(t[0],10)||0,c.perDay=f),p="other",c.type=p,c.otherPer=l[1])),i=Q.splitByCommaIgnoreParens(o),r=K.default.reduce(i,function(e,n){var r={};try{r.type=p,b&&f>0&&(r.perDay=f),t=n.match(/level\s*(\d+)/i),t&&(t[1]&&(r.spell_level=parseInt(t[1],10)||0,g=1),n=n.replace(t[0],"")),t=n.match(/D[Cc]\s*\d+/),t&&(d=n.replace(t[0],""),a=t[0].match(/\d+/),u=parseInt(a,10)||0,r.DC=u,t=d.match(/\b(fortitude|willpower|reflex|fort|will|ref)\b([^,]+,)/i),t&&(r.save=t[0])),n.indexOf("(")>0?(r.name=n.slice(0,n.indexOf("(")-1),a=n.slice(n.indexOf("(")-1),r.shortdesc=a):r.name=n,r.spell_level&&/^summon/i.test(r.name)&&(r.name+=" Level "+String(r.spell_level)),e.push(r)}catch(t){Z.default.error("parseSLAs, error reducing to SLAArray for: "+n,t),r.name?r.description=n:r.name=n,e.push(r)}finally{return e}},[]),r&&K.default.size(r)>0&&(c.type=p,b&&f>0&&(c.perDay=f),c.SLAs=r,n.spellLikeAbilities.push(c))}}catch(t){Z.default.error("parseSLAs error parsing"+e,t)}})}catch(e){Z.default.error("parseSLAs",e)}finally{return n.spellLikeAbilities&&K.default.size(n.spellLikeAbilities)>0?n:null}}function C(e){var t,a={};return e?(a.classLevel=-1,a.concentration=-1,a.classname="",a.spellsByLevel=[],a.spellnotes="",t=e.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/),a=K.default.reduce(t,function(e,t){var a,n,r,i,l,s,o,c=[],u={};try{/C[Ll]\s*\d+/i.test(t)?e.classLevel===-1&&(a=t.match(/C[Ll]\s*(\d+)/i),a&&a[1]&&(e.classLevel=parseInt(a[1],10)||0),a=t.match(/concentrat[\w]*\s*[+\-]??(\d+)/i),a&&a[1]&&(e.concentration=parseInt(a[1],10)||0),a=t.match(/([\w\s]*)spells\s(?:known|prepared)/i),a&&a[1]?(e.classname=a[1].replace(/^\s|\s$/g,""),e.classname=e.classname.toLowerCase()):/spells\sprepared/i.test(t)?e.classname="cleric":e.classname="sorcerer"):/opposition schools|domains/i.test(t)?(o=t.match(/opposition schools/i),o?(s=t.slice(o.index+o[0].length),e.oppositionschools=Q.trimBoth(s)):(a=t.match(/domains/i),t=t.slice(a.index+a[0].length),r=t.split(","),c=r.map(function(e){return Q.trimBoth(e)}),e.domains=c)):/\u2013|\u2014|-/.test(t)?(u.perDay=-1,u.spellLevel=-1,r=t.split(/\u2013|\u2014|-/),r&&r[0]&&(a=r[0].match(/^(\d+)/),a&&a[1]&&(u.spellLevel=parseInt(a[1],10)||0,a=r[0].match(/(\d+)\/day/i),a&&a[1]&&(u.perDay=parseInt(a[1],10)||0))),r&&r[1]&&(i=r[1].split(","),n=K.default.reduce(i,function(n,r){var i={};try{a=r.split(/\(dc/i),i.name=a[0].replace(/^\s|\s$/g,""),a[1]&&(l=a[1],a=l.match(/\d+/),a&&a[0]&&(i.DC=parseInt(a[0],10)||0)),"D"===i.name.slice(-1)&&(i.name=Q.trimBoth(i.name.slice(0,-1)),i.isDomain=1,e.classname&&"cleric"===e.classname||(e.classname="cleric")),n.push(i)}catch(e){Z.default.error("PFNPCParser.parseSpells errinner on spell: "+r+" on line"+t,e)}finally{return n}},[])),u.spellLevel>=0&&n&&n.length>0&&(u.spells=n,e.spellsByLevel.push(u))):e.spellnotes+=t}catch(e){Z.default.error("PFNPCParser.parseSpells error on line "+t,e)}finally{return e}},a)):null}function I(e){var t,a,n=e;try{t=e.match(/\s*(\d*\.?\d*)?/),t&&(a=parseFloat(t[1]),isNaN||(n=String(a)))}finally{return n}}function x(e,t,a,n,r){var i={};if(!e||!t||!a)return null;try{Z.default.debug("getCasterObj spellObj,abilities,health are:",e,t,a),i.abilityMod=0,i.CL=0,i.concentrationBonus=0,r?(i.classname="Cleric",i.ability="WIS",i.abilityMod=t.wis.mod):n||!e.classname?(i.classname=n?"Spell-like abilities":"Sorcerer",i.ability="CHA",i.abilityMod=t.cha.mod):(i.classname=e.classname[0].toUpperCase()+e.classname.slice(1).toLowerCase(),re.default.casterDefaultAbility[e.classname]&&t[re.default.casterDefaultAbility[e.classname]]?(i.ability=re.default.casterDefaultAbility[e.classname].toUpperCase(),i.abilityMod=t[re.default.casterDefaultAbility[e.classname]].mod):(i.ability="CHA",i.abilityMod=t.cha.mod)),e.classLevel?i.CL=e.classLevel:i.CL=a.hdice1,e.concentration&&(i.concentrationBonus=e.concentration-i.abilityMod-i.CL),e.oppositionschools&&(i.oppositionschools=e.oppositionschools,e.oppositionschools=null),e.spellnotes&&(i.spellnotes=e.spellnotes,e.spellnotes=null),e.domains&&(i.domains=e.domains,e.domains=null)}catch(e){Z.default.error("getCasterObj error trying to create obj returning null",e),i=null}finally{return i}}function P(e,t,a,n){var r=!1,i=0;try{n=n||{},t=t||0,t<0&&(t=0),a&&(a["spellclass-"+t+"-name"]||a["spellclass-"+t+"-level"])&&(parseInt(a["spellclass-"+t+"-level"],10)!==parseInt(e.CL,10)||oe.findAbilityInString(a["Concentration-"+t+"-ability"])!==e.ability.toUpperCase()?t++:r=!0),t>2?(Z.default.error("Could not setCasterFields, 0,1,2 spellclasses already defined:"),e.pageClassIdx=-1):r?(n["spellclass-"+t+"-name"]=n["spellclass-"+t+"-name"]+" and "+e.classname,e.pageClassIdx=t):(n["spellclass-"+t+"-name"]=e.classname,n["spellclass-"+t+"-level"]=e.CL,n["spellclass-"+t+"-level-total"]=e.CL,/wizard|cleric|druid|paladin|ranger|investigator|shaman|witch|alchemist|warpriest/i.test(e.classname)?n["spellclass-"+t+"-casting_type"]=2:n["spellclass-"+t+"-casting_type"]=1,e.ability&&(n["Concentration-"+t+"-ability"]=e.ability+"-mod"),n["Concentration-"+t+"-mod"]=e.abilityMod,e.concentrationBonus&&(n["Concentration-"+t+"-misc"]=e.concentrationBonus),e.pageClassIdx=t,e.oppositionschools&&(n["spellclass-"+t+"-oppositionschool-0"]=e.oppositionschools),e.spellnotes&&(n["spellclass-"+t+"-notes"]=e.spellnotes),e.domains&&(n["spellclass-"+t+"-domains-show"]=1,i=0,K.default.each(e.domains,function(e){n["spellclass-"+t+"-domain-"+i]=e,n["spellclass-"+t+"-domaintype-"+i]="Domain",i++,i>1&&(n["domain0"+i+"_show"]=1)})))}catch(e){Z.default.error("setCasterFields",e)}finally{return n}}function S(e,t,a){var n="spells";return a=a||{},e&&t?(K.default.each(e.spellsByLevel,function(e){var r=parseInt(e.spellLevel,10)||0,i=0,l="";try{l="spellclass-"+t.pageClassIdx+"-level-"+r,e.perDay&&(a[l+"-class"]=e.perDay,a[l+"-spells-per-day_max"]=e.perDay,a[l+"-spells-per-day"]=e.perDay),i=10+r+(parseInt(t.abilityMod,10)||0)}catch(e){Z.default.error("createSpellEntries error setting spells per day",e)}a=K.default.reduce(e.spells,function(e,l){var s=generateRowID(),o=0,c="repeating_"+n+"_"+s+"_";try{a[c+"name"]=l.name[0].toUpperCase()+l.name.slice(1),a[c+"classnumber"]=t.pageClassIdx,a[c+"spell_class_r"]=t.pageClassIdx,a[c+"spellclass"]=t.classname,a[c+"spell_level"]=r,a[c+"spell_level_r"]=r,l.DC&&(o=parseInt(l.DC,10)||0,o!==i&&(a[c+"DC_misc"]=o-i),a[c+"savedc"]=o),t.concentration&&(a[c+"Concentration-mod"]=t.concentration),l.isDomain&&(a[c+"isDomain"]=1)}catch(e){Z.default.error("createSpellEntries error setting spell :",l,e)}finally{return a}},a)}),a):a}function T(e,t,a,n,r){var i="ability";return r=r||{},e&&t?(n=n||0,K.default.each(e.spellLikeAbilities,function(l){var s=parseInt(l.perDay,10)||0,o=l.type;r=K.default.reduce(l.SLAs,function(r,l){var c,u,d="repeating_"+i+"_"+c+"_",p="",f=0,m=0;try{switch(c=generateRowID(),d="repeating_"+i+"_"+c+"_",r[d+"name"]=l.name[0].toUpperCase()+l.name.slice(1),r[d+"ability_type"]="Sp",r[d+"rule_category"]="spell-like-abilities",r[d+"showinmenu"]="1",t.ability?(u=t.ability,r[d+"ability-basis"]="@{"+t.ability+"-mod}"):(u="CHA",r[d+"ability-basis"]="@{CHA-mod}"),r[d+"CL-basis"]="@{npc-hd-num}",r[d+"CL-basis-mod"]=n,a&&(r[d+"class-name"]=a),t.CL?(f=n||0,f>0&&(r[d+"CL-misc"]=t.CL-f,r[d+"CL-misc-mod"]=t.CL-f),m=t.CL):m=n,r[d+"casterlevel"]=m,l.spell_level?l.spell_level===n?r[d+"spell_level-basis"]="@{casterlevel}":l.spell_level===Math.floor(n/2)?r[d+"spell_level-basis"]="floor(@{casterlevel}/2)":(r[d+"spell_level-basis"]="0",r[d+"spell_level-misc"]=l.spell_level):r[d+"spell_level-basis"]="floor(@{casterlevel}/2)",o){case"day":r[d+"frequency"]="perday",r[d+"used"]=s,r[d+"used_max"]=s,r[d+"max-calculation"]=s,r[d+"hasfrequency"]="1",r[d+"hasuses"]="1";break;case"will":r[d+"frequency"]="atwill",r[d+"hasfrequency"]="1";break;case"constant":r[d+"frequency"]="constant",r[d+"hasfrequency"]="1";break;case"month":r[d+"frequency"]="permonth",r[d+"used"]=s,r[d+"used_max"]=s,r[d+"max-calculation"]=s,r[d+"hasfrequency"]="1",r[d+"hasuses"]="1";break;case"everyrounds":r[d+"frequency"]="everyrounds",r[d+"hasfrequency"]="1",r[d+"rounds_between"]=l.used||"";break;case"other":r[d+"frequency"]="other",r[d+"used"]=s,r[d+"used_max"]=s,r[d+"max-calculation"]=s,r[d+"hasfrequency"]="1",r[d+"hasuses"]="1",e.otherPer&&(p="Frequency per :"+e.otherPer);break;default:r[d+"frequency"]="not-applicable",r[d+"used"]=0,r[d+"used_max"]=0,r[d+"max-calculation"]="",r[d+"hasfrequency"]="",r[d+"hasuses"]=""}if(l.save&&(r[d+"save"]=l.save),l.DC)try{l.save||(r[d+"save"]="See Text"),t.abilityMod&&(f=0,f=l.spell_level?10+t.abilityMod+l.spell_level:10+t.abilityMod+Math.floor(m/2),f!==l.DC&&(r[d+"spell_level-misc"]=l.DC-f,r[d+"spell_level-misc-mod"]=l.DC-f))}catch(e){Z.default.error("createSLAentries, error trying to calculate DC: "+l,e)}l.description&&(r[d+"description"]=l.description),l.shortdesc&&(p=p?l.shortdesc+", "+p:l.shortdesc),p&&(r[d+"short-description"]=p)}catch(e){Z.default.error("createSLAEntries error setting SLA :",l,e)}finally{return r}},r)}),r):r}function D(e,t,a,n,r,i,l,s){return s=s||{},e&&0!==K.default.size(e)?s=K.default.reduce(e,function(e,s){var o,c="",u="",d=!1,p=!1,f=0,m=0,_=0,g=0,b=1,h=0,y=0,v="",k="",w=NaN;try{if(c=generateRowID(),u="repeating_weapon_"+c+"_",y=Math.max(s.enh,s.mwk),k=s.basename,v+=s.name,s.plus&&(v+=" Plus "+s.plus),e[u+"name"]=v,e[u+"default_size"]=l.size,"ranged"===s.atktype?(_=t.ranged,e[u+"attack-type"]="attk-ranged",e[u+"attack-type-mod"]=t.ranged,e[u+"isranged"]=1):re.default.cmbPlusStrsrch.test(k)?(_=t.cmb,e[u+"attack-type"]="CMB",e[u+"attack-type-mod"]=t.cmb,d=!0,b=1.5,p=!0):"cmb"===s.atktype?(_=t.cmb,e[u+"attack-type"]="CMB",e[u+"attack-type-mod"]=t.cmb):"special"===s.atktype?(_=0,e[u+"attack-type-mod"]=0,e[u+"total-attack"]=0,"trample"===s.basename&&(d=!0,b=1.5,Z.default.debug("CREATEATTACKS trample the attack is : ",s))):(d=!0,n.weaponfinesse?(_=t.melee2,e[u+"attack-type"]="attk-melee2",e[u+"attack-type-mod"]=t.melee2):(_=t.melee,e[u+"attack-type"]="attk-melee",e[u+"attack-type-mod"]=t.melee),"natural"===s.type&&("secondary"===s.naturaltype?b=.5:s.dmgMult&&1.5===s.dmgMult&&(e[u+"damage_ability_mult"]="1.5",b=1.5))),(d||p)&&(p&&0===s.dmgbonus?(e[u+"damage-ability"]="0",h=0):(e[u+"damage-ability"]="STR-mod",1!==b?(h=Math.floor(b*a.str.mod),e[u+"damage_ability_mult"]=b):h=a.str.mod),e[u+"damage-ability-mod"]=h),s.enh&&(e[u+"enhance"]=s.enh),s.mwk&&(e[u+"masterwork"]="1"),!p&&s.iter&&s.iter.length>0?w=parseInt(s.iter[0],10):p&&(w=_),isNaN(w)?"cmb"===s.atktype?/swallowwhole|pin/i.test(s.basename)?(e[u+"attack"]=5,e[u+"attack-mod"]=5,e[u+"total-attack"]=t.cmb+5):e[u+"total-attack"]=t.cmb:e[u+"total-attack"]=0:p?(e[u+"attack"]=0,e[u+"attack-mod"]=0,e[u+"total-attack"]=_):(e[u+"attack"]=w-y-_,e[u+"attack-mod"]=w-y-_,e[u+"total-attack"]=w),20!==s.crit&&(e[u+"crit-target"]=s.crit),2!==s.critmult&&s.critmult&&(e[u+"crit-multiplier"]=s.critmult),n.criticalfocus&&(e[u+"crit_conf_mod"]=4),e[u+"total-attack"]||(e[u+"total-attack"]=0),Z.default.debug("Create attack e6 "+s.name+", enhance:"+s.enh+" dmg from attack:"+s.dmgbonus+", from str:"+h),e[u+"damage-dice-num"]=s.dmgdice,e[u+"default_damage-dice-num"]=s.dmgdice,e[u+"damage-die"]=s.dmgdie,e[u+"default_damage-die"]=s.dmgdie,e[u+"damage"]=s.dmgbonus-s.enh-h,e[u+"damage-mod"]=s.dmgbonus-s.enh-h,e[u+"total-damage"]=s.dmgbonus,s.note?e[u+"notes"]="("+s.type+") "+s.note:e[u+"notes"]="("+s.type+")",s.iter.length>1)for(f=1;f1)for(f=1;f0?(o=K.default.filter(i,function(e){return k.indexOf(e[0])>=0}),o&&o[0]&&o[0][1]?e[u+"range"]=o[0][1]:r&&(e[u+"range"]=r)):r&&(e[u+"range"]=r)),s.vs&&!/tongue/i.test(s.name)&&(e[u+"vs"]=s.vs),s.group&&(e[u+"group"]=s.group),s.DC&&(Z.default.debug("PFNPCParser has attack dc",s),e[u+"notes"]=e[u+"notes"]+" "+(s.save||"")+" "+s.DC+s.DCEquation?" "+s.DCEquation:"")}catch(e){Z.default.error("createattacks error on:",s,e)}finally{return e}},s):s}function E(e,t,a,n,r,i,l){var s="DEX",o=t.dex.mod,c=0,u=0;try{if(l=l||{},e.altability&&(s=e.altability.toUpperCase(),"DEX"!==s)){switch(l["AC-ability"]=s+"-mod",l["CMD-ability2"]=s+"-mod",e.altability.toLowerCase()){case"wis":o=t.wis.mod;break;case"int":o=t.int.mod;break;case"cha":o=t.cha.mod;break;case"con":o=t.con.mod;break;default:o=t.dex.mod}l["AC-ability-mod"]=o}e.uncanny&&(l["FF-ability"]=s+"-mod",l["FF-ability-mod"]=o,l["CMD-ability"]=s+"-mod",l["CMD-ability"]=o,l.uncanny_dodge=1,l.uncanny_cmd_dodge=1),u=r,a.defensivecombattraining&&(l.hd_not_bab=1,u=Math.max((n.hdice1||0)+(n.hdice2||0),i||0));try{c=10+u+t.str.mod+o+-1*e.size,isNaN(e.cmd)||c===e.cmd?l.CMD=c:(l.CMD=e.cmd,l["CMD-misc"]=e.cmd-c,l["CMD-misc-mod"]=e.cmd-c)}catch(e){Z.default.error("createACEntries error trying to calculate CMD",e)}l.AC=e.ac,l.Touch=e.touch,l["Flat-Footed"]=e.ff,l["AC-deflect"]=e.deflect,l["AC-dodge"]=e.dodge,l["AC-misc"]=e.misc,l["AC-misc-mod"]=e.misc,l["AC-natural"]=e.natural,e.armor&&(l["armor3-equipped"]="1",l["armor3-acbonus"]=e.armor,l.armor3="Armor bonus",l["AC-armor"]=e.armor),e.shield&&(l["shield3-equipped"]="1",l["shield3-acbonus"]=e.shield,l.shield3="Shield bonus",l["AC-shield"]=e.shield),e.notes&&(l["defense-notes"]=e.notes),e.cmdnotes&&(l["cmd-notes"]=e.cmdnotes)}catch(e){}finally{return l}}function M(e,t,a,n,r,i,l,s){var o=0,c=pe.coreSkillAbilityDefaults,u="";try{s=s||{},Z.default.info("PFNPC createSkillEntries sizemap is: ",e,t,a,n,r,i,l),t&&(t.abilitymods&&K.default.size(t.abilitymods)>0&&(c=K.default.extend({},pe.coreSkillAbilityDefaults,t.abilitymods)),t.skillmods&&K.default.size(t.skillmods)>0&&K.default.each(t.skillmods,function(e,t){"Knowledge"===t?K.default.each(pe.knowledgeSkills,function(t){s[t+"-racial"]=e}):K.default.contains(pe.coreSkillsWithFillInNames,t)?K.default.each(pe.allFillInSkillInstances[t],function(t){s[t+"-racial"]=e}):s[t+"-racial"]=e}),t.skillnotes&&t.skillnotes.length>0&&(u="",K.default.each(t.skillnotes,function(e){u+=e+", "}),u.replace(/,\s$/,""),u&&(s["Skill-notes"]=u))),n&&K.default.size(n)>0&&(n.intimidatingprowess&&(s["Intimidate-feat"]=a.str.mod),n.skillfocuses&&K.default.each(n.skillfocuses,function(e){"Knowledge"===e?K.default.each(pe.knowledgeSkills,function(e){s[e+"-feat"]=3}):K.default.contains(pe.coreSkillsWithFillInNames,e)?K.default.each(pe.allFillInSkillInstances[e],function(e){s[e+"-feat"]=3}):s[e+"-feat"]=3})),r&&K.default.size(r)>0&&K.default.each(r,function(e){try{"Knowledge"===e?K.default.each(pe.knowledgeSkills,function(e){s[e+"-cs"]=3}):K.default.contains(pe.coreSkillsWithFillInNames,e)?K.default.each(pe.allFillInSkillInstances[e],function(e){s[e+"-cs"]=3}):s[e+"-cs"]=3}catch(e){Z.default.error("createSkillEntries",e)}}),K.default.each(e,function(e,n){var r="",l=0,u=0;try{e=parseInt(e,10)||0,c[n]?(r=c[n],l=a[r]?a[r].mod:0,s[n+"-ability"]=r.toUpperCase()+"-mod",s[n+"-ability-mod"]=l,s[n]=e,u=e,"Stealth"===n&&Z.default.debug("skilltot 1:"+u),u-=l,"Stealth"===n&&Z.default.debug("skilltot 2 minus "+l+" =:"+u),"Stealth"===n?(0!==i.skillSize&&(u-=2*i.skillSize),Z.default.debug("skilltot 3 minus "+2*i.skillSize+" =:"+u)):"Fly"===n&&0!==i.skillSize&&(u-=i.skillSize),t&&t.skillmods&&t.skillmods[n]&&(u-=parseInt(t.skillmods[n],10)||0,"Stealth"===n&&Z.default.debug("skilltot 4 minus "+(parseInt(t.skillmods[n],10)||0)+" =:"+u)),parseInt(s[n+"-feat"],10)>0&&(u-=3,"Stealth"===n&&Z.default.debug("skilltot 5 minus 3 =:"+u)),u>0&&parseInt(s[n+"-cs"],10)>0&&(u-=3,"Stealth"===n&&Z.default.debug("skilltot 6 minus 3 =:"+u)),"Stealth"===n&&Z.default.debug("skilltot 7 final ranks are :"+u),s[n+"-ranks"]=u,u<0&&(s[n+"-note"]="Ranks less than 0, possible parse error or error in statblock"),o++):(Z.default.warn("createSkillEntries, skill "+n+" not found"),s[n+"-note"]=(s[n+"-note"]||"")+", "+n+":"+e)}catch(e){Z.default.error("createSkillEntries inner reduce",e)}})}catch(e){Z.default.error("at createskillEntries OUTER error",e)}finally{return Z.default.info("leaving creaeskills:",s),s}}function F(e,t,a,n){var r=0;try{n=n||{},r=e-t.dex.mod,n.init=e,n["init-misc"]=r,n["init-misc-mod"]=r,n["init-ability-mod"]=t.dex.mod}catch(e){Z.default.error("createInitEntries",e)}finally{return n}}function R(e,t,a){try{a=a||{},t||"-"===e.con.base?(a["HP-ability"]="CHA-mod",a["HP-ability-mod"]=e.cha.mod):a["HP-ability-mod"]=e.con.mod}finally{return a}}function N(e,t,a,n){try{n=n||{},n["npc-hd-num"]=a.hdice1,n.level=a.hdice1,n["npc-hd"]=a.hdie1,n.HP=a.hp,n.HP_max=a.hp,n["non-lethal-damage_max"]=a.hp,n.auto_calc_hp="1",n.both_whisper_show="1",a.basehp&&(n["NPC-HP"]=a.basehp),a.misc&&(n["HP-formula-macro-text"]=a.misc,n["HP-formula-mod"]=a.misc),a.heal&&(n["npc-heal-conditions"]=a.heal)}catch(e){Z.default.error("createHealthEntries",e)}finally{return n}}function L(e,t,a){var n="";try{a=a||{},K.default.each(e,function(e,t){switch(t){case"land":a["speed-base"]=e,a["speed-modified"]=e;break;case"fly":a["speed-fly"]=e;break;case"climb":a["speed-climb"]=e;break;case"swim":a["speed-swim"]=e;break;case"flyability":a["speed-fly-maneuverability"]=e;break;default:a["speed-misc"]=e,n.length>0&&(n+=", "),n+=t+" "+e}}),n&&(a["speed-notes"]=n),t.run&&(a["run-mult"]=5)}catch(t){Z.default.error("parseAndSetSpeed error, speedMap",e,t)}finally{return a}}function z(e,t,a,n,r,i){var l,s,o,c="",u="";try{i=i||{},l=a.baseFort-e.con.mod,s=a.baseRef-e.dex.mod,o=a.baseWill-e.wis.mod,t||"-"===e.con.base?(l=a.baseFort-e.cha.mod,i["Fort-ability"]="CHA-mod",i["Fort-ability-mod"]=e.cha.mod):i["Fort-ability-mod"]=e.con.mod,r.greatfortitude&&(i["Fort-misc"]=2,i["Fort-misc-mod"]=2,l-=2),i["total-Fort"]=l,i["npc-Fort"]=l,i.Fort=a.baseFort,c="",u=oe.getNoteAfterNumber(n.fort_compendium),u&&(c+="Fortitude "+u),r.lightningreflexes&&(i["Ref-misc"]=2,i["Ref-misc-mod"]=2,s-=2),i["total-Ref"]=s,i["npc-Ref"]=s,i.Ref=a.baseRef,0!==e.dex.mod&&(i["Ref-ability-mod"]=e.dex.mod),u=oe.getNoteAfterNumber(n.ref_compendium),u&&(c+="Reflex "+u),r.ironwill&&(i["Will-misc"]=2,i["Will-misc-mod"]=2,o-=2),i["total-Will"]=o,i["npc-Will"]=o,i.Will=a.baseWill,0!==e.wis.mod&&(i["Will-ability-mod"]=e.wis.mod),u=oe.getNoteAfterNumber(n.will_compendium),u&&(c+=u),c&&(i.saves_notes=c,i.toggle_save_notes="1")}catch(e){Z.default.error("createSaveEntries",e)}finally{return i}}function O(e,t){try{t=t||{},t["STR-base"]=e.str.base,t["DEX-base"]=e.dex.base,t["CON-base"]=e.con.base,t["WIS-base"]=e.wis.base,t["INT-base"]=e.int.base,t["CHA-base"]=e.cha.base,t.STR=e.str.base,t.DEX=e.dex.base,t.CON=e.con.base,t.WIS=e.wis.base,t.INT=e.int.base,t.CHA=e.cha.base,t["STR-mod"]=e.str.mod,t["DEX-mod"]=e.dex.mod,t["CON-mod"]=e.con.mod,t["WIS-mod"]=e.wis.mod,t["INT-mod"]=e.int.mod,t["CHA-mod"]=e.cha.mod}catch(e){Z.default.error("createAbilityScoreEntries",e)}finally{return t}}function W(e,t,a,n,r,i,l){var s,o,c="",u=0,d={},p=0,f=0;try{l=l||{},d.melee=e.str.mod+n+t.size,l.bab=n,l["npc-bab"]=n,l["melee-ability-mod"]=e.str.mod,l["attk-melee"]=d.melee,l["melee-ability"]="STR-mod",l["melee-ability-mod"]=e.str.mod,l.melee_bab="bab",l["melee_bab-mod"]=n,d.melee2=e.dex.mod+n+t.size,l["melee2-ability"]="DEX-mod",l["melee2-ability-mod"]=e.dex.mod,l["attk-melee2"]=d.melee2,l.attk_melee2_note="Weapon Finesse",l.melee2_bab="bab",l["melee2_bab-mod"]=n,d.ranged=e.dex.mod+n+t.size,d.ranged2=d.ranged,l["ranged-ability"]="DEX-mod",l["ranged-ability-mod"]=e.dex.mod,l["attk-ranged"]=d.ranged,l.ranged_bab="bab",l["ranged_bab-mod"]=n,l["ranged2-ability"]="DEX-mod",l["ranged2-ability-mod"]=e.dex.mod,l["attk-ranged2"]=d.ranged,l.ranged2_bab="bab",l["ranged2_bab-mod"]=n,a.defensivecombattraining?(l.cmb_bab="level",l["cmb_bab-mod"]=r,l.cmb2_bab="level",l["cmb2_bab-mod"]=r,u=r):(l.cmb_bab="bab",l["cmb_bab-mod"]=n,l.cmb2_bab="bab",l["cmb2_bab-mod"]=n,u=n),a.agilemaneuvers?(l["CMB-ability"]="DEX-mod",l["CMB-ability-mod"]=e.dex.mod,l["CMB2-ability"]="DEX-mod",l["CMB2-ability-mod"]=e.dex.mod,f=e.dex.mod+u-t.size,l.cmb_desc="Agile Maneuvers"):(l["CMB-ability"]="STR-mod",l["CMB-ability-mod"]=e.str.mod,l["CMB2-ability"]="STR-mod",l["CMB2-ability-mod"]=e.str.mod,f=e.str.mod+u-t.size),o=f,i&&(s=i.match(/\d+/),s&&(o=parseInt(s[0],10),c=i.slice(s.index+s[0].length),c&&(d.cmbnotes=c,l["CMB-notes"]=c))),l.CMB=o,d.cmb=o,l.CMB2=o,d.cmb2=o,p=o-f,p&&(l["attk-CMB-misc"]=p,l["attk-CMB-misc-mod"]=p,l["attk-CMB2-misc"]=p,l["attk-CMB2-misc-mod"]=p),a.criticalfocus&&(l.cmb_crit_conf=4,l.ranged_crit_conf=4,l.melee_crit_conf=4,l.cmb2_crit_conf=4,l.ranged2_crit_conf=4,l.melee2_crit_conf=4)}catch(e){Z.default.error("parseAndCreateAttackGrid error creating CMB attack types",e)}finally{return d}}function B(e,t,a,n,r,i,l,s,o){var c=[];try{if(o=o||{},l)try{c=_(l,"melee"),f(c),D(c,r,e,a,i.reach,i.reachExceptions,t,o)}catch(e){Z.default.error("parseAndCreateAttacks error creating melee attacks",e)}if(s)try{c=_(s,"ranged"),D(c,r,e,a,null,null,t,o)}catch(e){Z.default.error("parseAndCreateAttacks error creating ranged attacks",e)}}catch(e){Z.default.error("parseAndCreateAttacks",e)}finally{return o}}function q(e,t,a,n){return K.default.reduce(e,function(e,n){var r=generateRowID(),i="repeating_ability_"+r+"_";return e[i+"name"]=n,e[i+"rule_category"]="feats",e[i+"showinmenu"]="1",e[i+"CL-basis"]="@{npc-hd-num}",e[i+"CL-basis-mod"]=a||0,t&&(e[i+"class-name"]=t),e[i+"row_id"]=r,e[i+"frequency"]="not-applicable",e[i+"ability_type"]="",e},n)}function H(e){return"feats"===e.slice(0,5).toLowerCase()&&(e=e.slice(5)),Q.splitByCommaIgnoreParens(e)}function U(e,t,a,n,r){var i={},l="",s=0,o=0,c=0,u=0,d=0;try{u=Math.floor(n/2),l=a,i=K.default.chain(e).map(function(e){var t;try{e.description=e.description||"",e.note&&(e.description&&(e.description+=", "),e.description+=e.note.replace(/,\s$/,"")),e.other&&(e.description&&(e.description+=", "),e.description+=e.other.replace(/,\s$/,""),e.other=null),e.ability_type||e.name&&(t=oe.getSpecialAbilityTypeFromString(e.name),t&&(e.ability_type=t,e.name=e.name.replace(/\b(Su|Ex|Sp)\b/i,"").replace("()","")))}catch(e){Z.default.error("createFeatureEntries err3",e)}finally{return e}}).filter(function(e){return!!e.name}).reduce(function(e,a){var n,i;try{n=generateRowID(),i="repeating_ability_"+n+"_",e[i+"name"]=a.name,e[i+"row_id"]=n,e[i+"showinmenu"]="1",a.shortdesc&&(e[i+"short-description"]=a.shortdesc),a.description&&(e[i+"description"]=a.description),a.used?a.frequency&&"everyrounds"===a.frequency?(e[i+"frequency"]=a.frequency,e[i+"rounds_between"]=a.used,e[i+"hasfrequency"]="1",e[i+"used"]=0,e[i+"used_max"]=0,e[i+"max-calculation"]=""):(a.frequency?(e[i+"frequency"]=a.frequency,e[i+"hasfrequency"]=a.frequency):(e[i+"frequency"]="perday",e[i+"hasfrequency"]="perday"),e[i+"hasuses"]="1",e[i+"used"]=a.used,e[i+"used_max"]=a.used,e[i+"max-calculation"]=a.used):(e[i+"frequency"]="not-applicable",e[i+"used"]=0,e[i+"used_max"]=0,e[i+"max-calculation"]="",e[i+"hasfrequency"]="",e[i+"hasuses"]=""),a.dmgtype&&(e[i+"damage-type"]=a.dmgtype),a.rule_category&&(e[i+"rule_category"]=a.rule_category),a.ability_type?e[i+"ability_type"]=a.ability_type:e[i+"ability_type"]="",e[i+"CL-basis"]="@{npc-hd-num}",e[i+"CL-basis-mod"]=r.level||0,l&&(e[i+"class-name"]=l),a.save&&(e[i+"save"]=a.save),a.DCability?(e[i+"ability-basis"]="@{"+a.DCability.toUpperCase()+"-mod}",c=t[a.DCability.toLowerCase()].mod):"Sp"===a.ability_type||r.is_undead?(e[i+"ability-basis"]="@{CHA-mod}",c=t.cha.mod):(e[i+"ability-basis"]="@{CON-mod}",c=t.con.mod),a.extraDamage&&(e[i+"damage-macro-text"]=a.extraDamage),a.extraDamageType&&(e[i+"damage-type"]=a.extraDamageType),e[i+"spell_level-basis"]="floor(@{casterlevel}/2)",a.DC&&(o=parseInt(a.DC,10)||0,d=c+u+10,s=o-d,0!==s&&(e[i+"spell_level-misc"]=s,e[i+"spell_level-misc-mod"]=s))}catch(e){Z.default.error("createFeatureEntries",e)}finally{return e}},{}).value(),r=K.default.extend(r,i)}catch(e){Z.default.error("createFeatureEntries",e)}finally{return r}}function j(e,t){var a;return a=K.default.map(e,function(e){var a;try{a=K.default.findWhere(t,{name:e.name}),a&&K.default.each(K.default.keys(a),function(t){"description"===t?e.description=(e.description?e.description+", ":"")+(a.description||""):"shortdesc"===t?e.shortdesc=(e.shortdesc?e.shortdesc+", ":"")+(a.shortdesc||""):!e[t]&&a[t]&&(e[t]=a[t])})}catch(e){Z.default.error("combineSpecialAbilities err1",e)}finally{return e}}),t=K.default.reject(t,function(t){return!!K.default.findWhere(e,{name:t.name})}),a=K.default.union(a,t)}function G(e,t,a){var n=0,r=0,i=0,l=!1;try{if(a=a||{},n=a.level||0,e.CL&&e.classname){for(r=0;r<7;r++)if((t["class-"+r+"-name"]||t["class-"+r+"-level"]>0)&&(i=r,t["class-"+r+"-name"].toLowerCase()===e.classname.toLowerCase())){l=!0;break}i>=6?Z.default.warning("too many classes, cannot add "+e.classname):(a["class-"+i+"-name"]=e.classname||"",a["class-"+i+"-level"]=e.CL||0),e.CL&&(n+=e.CL||0),(a.level||0)!==n&&(a.level=n)}}catch(e){Z.default.error("createClassEntries",e)}finally{return a}}function X(e,t,a){var n=function(e){Z.default.info("##############################################"),Z.default.info("Leaving importFromCompendium"),e&&ae.checkForUpdate(!0),"function"==typeof t&&t()},r=K.default.once(function(){Z.default.warn("Leaving importFromCompendium NOTHING DONE"),"function"==typeof a&&a()}),u=ge.concat(["is_npc","alignment","npc_parse_no_recalc"]);getAttrs(u,function(e){var t,a,u,f,m,_,y,X,V,$={},Y={},J={},te={},ae={},ne={},re={},ie={},se={},oe={},ce={},de=0,pe=0,fe=0,me=0,_e=[],ge=0,be=!1,he=!1,ye={},ve="",ke="",we=0,Ae=null,Ce=0,Ie=-1,xe={},Pe={},Se=[],Te=0,De={};try{de=parseInt(e.fort_compendium,10)||0,pe=parseInt(e.ref_compendium,10)||0,fe=parseInt(e.will_compendium,10)||0,me=parseInt(e.bab_compendium,10)||0,$.level=0,parseInt(e.npc_parse_no_recalc,10)||(Te=1),$.is_npc="1",$.is_v1="1",$.PFSheet_Version=String(ee.default.version.toFixed(3)),$["max-dex-source"]=3,le.getAllMigrateFlags($),e.xp_compendium&&($["npc-xp"]=e.xp_compendium),e.cr_compendium&&(t=e.cr_compendium.replace(/\s*cr\s*/i,""),t=Q.trimBoth(t),$["npc-cr"]=t),$["PC-Whisper"]="/w gm",e.type_compendium&&($["npc-type"]=e.type_compendium),be=/undead/i.test(e.type_compendium)||/undead/i.test(e.character_name),be&&($.is_undead="1"),e.character_name&&($.race=e.character_name),e.class_compendium&&($.add_class=1,we=0,m=e.class_compendium.split(","),K.default.each(m,function(t){var a,n=0,r="";try{a=t.match(/\d+/),a&&(n=parseInt(a[0],10)||0,r=Q.trimBoth(t.replace(/\s*\d+\s*/," "))),G({classname:r,CL:n},{},$),we++}catch(t){Z.default.error("PFNPCparser error trying to parse class"+e.class_compendium)}}),we>1&&($.multiclassed=1,$.class1_show=1),we=0,ge=$.level),Y=h(e,be),O(Y,$),J=ue.setSize(e.size_compendium,$),_e=H(e["npc-feats-text"]),re=l(_e),Ce=i(e.init_compendium),F(Ce,Y,re,$),e.dr_compendium&&($.DR=e.dr_compendium),e.sr_compendium&&($.SR=e.sr_compendium,$["SR-macro-text"]=e.sr_compendium),De={baseFort:de,baseRef:pe,baseWill:fe},z(Y,be,De,e,re,$),R(Y,be,$),a=parseInt($["HP-ability-mod"],10),ae=s(e.npc_hp_compendium,a),ge+=ae.hdice1||0,$.level=ge,N(Y,be,ae,$),ne=o(e.ac_compendium,e.cmd_compendium,Y.dex.mod,J.size), +E(ne,Y,re,ae,me,ge,$),e.senses_compendium||(m=e.init_compendium.match(/senses/i),m&&m[0]&&(e.senses_compendium=Q.trimBoth(e.init_compendium.slice(m.index+7)))),e.senses_compendium&&(m=e.senses_compendium.match(/perception/i),m?$.vision=e.senses_compendium.slice(0,m.index-1):$.vision=e.senses_compendium),e.speed_compendium&&(te=c(e.speed_compendium),L(te,re,$)),e.alignment&&($.alignment=e.alignment.toUpperCase()),e.space_compendium&&($.space=I(e.space_compendium)),ie=d(e.reach_compendium),ie?($.reach=ie.reach,ie.reachNotes&&($["reach-notes"]=ie.reachNotes)):(ie={},ie.reach=5,ie.reachExceptions=[]),ce=W(Y,J,re,me,ge,e.cmb_compendium,$),K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 1")}),$={},q(_e,Pe.race,Pe.level,$),K.default.size($)&&(K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 2")}),$={}),B(Y,J,re,me,ce,ie,e["npc-melee-attacks-text"],e["npc-ranged-attacks-text"],$),K.default.size($)&&(K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 3")}),$={}),e["npc-spells-prepared_compendium"]?(ke=e["npc-spells-prepared_compendium"],he=!0):e["npc-spells-known-text"]&&(ke=e["npc-spells-known-text"]),ke&&(Ie=0,$.use_spells=1,u=C(ke),u&&($.use_spells=1,f=x(u,Y,ae,!1,he),P(f,Ie,Pe,$),S(u,f,$),K.default.size($)&&(K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 4")}),$={}))),e["npc-spellike-ability-text"]&&(X=A(e["npc-spellike-ability-text"]),X&&(f=x(X,Y,ae,!0),$=T(X,f,Pe.race,Pe.level,$),K.default.size($)&&(K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 5")}),$={}))),y=v($,e["npc-special-attacks"],ce.cmb),y&&y.length>0&&(V=K.default.groupBy(y,"specialtype"),D(V.attack,ce,Y,re,null,null,J,$),xe=V.ability,K.default.size($)&&(K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 6")}),$={})),e.content_compendium&&(ye=k(e.content_compendium),ye?(ye.description&&K.default.size(ye.description)>0&&(ve=K.default.reduce(ye.description,function(e,t){return e+=" ",e+=t},""),$.character_description=ve),ye.specialAbilities&&(xe=j(xe,ye.specialAbilities))):$.character_description=e.content_compendium),e.SQ_compendium&&(Se=w(e.SQ_compendium),Se&&(xe=j(xe,Se))),xe&&K.default.size(xe)>0&&(U(xe,Y,Pe.race,Pe.level,$),Ae=K.default.find(xe,function(e){return/sneak.attack/i.test(e.name)}),Ae&&($.global_precision_dmg_macro="[[[[floor((@{level}+1)/2)]]d6]]",$.global_precision_dmg_type=Ae.name),K.default.size($)&&(K.default.extend(Pe,$),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("saved 7")}),$={})),e.skills_compendium&&(oe=b(e.skills_compendium),_=p(e.type_compendium),e.racial_mods_compendium&&(se=g(e.racial_mods_compendium)),oe&&K.default.size(oe)>0&&M(oe,se,Y,re,_,J,be,$))}catch(e){Z.default.error("importFromCompendium outer at end",e)}finally{K.default.size($)||K.default.size(Pe)?($.npc_import_now=0,$["npc-compimport-show"]=0,$.modify_dmg_by_size=1,$.use_buff_bonuses=1,Te&&($.is_newsheet=1,$.recalc1=1),Q.setWrapper($,ee.default.silentParams,function(){Z.default.notice("##### finished settings now done"),n(Te)})):($.npc_import_now=0,$["npc-compimport-show"]=0,Q.setWrapper($,ee.default.silentParams,r))}})}Object.defineProperty(t,"__esModule",{value:!0}),t.importFromCompendium=X;var V=a(1),K=r(V),$=(a(4),a(0)),Z=r($),Y=a(2),Q=n(Y),J=a(3),ee=r(J),te=a(19),ae=n(te),ne=a(28),re=r(ne),ie=a(6),le=n(ie),se=a(5),oe=n(se),ce=a(15),ue=n(ce),de=a(11),pe=n(de),fe=a(10),me=n(fe),_e=a(25),ge=(n(_e),["npc-spellike-ability-text","npc-spells-known-text","character_name","cr_compendium","xp_compendium","alignment","size_compendium","type_compendium","init_compendium","senses_compendium","npc-aura","ac_compendium","npc_hp_compendium","fort_compendium","ref_compendium","will_compendium","dr_compendium","sr_compendium","npc-defensive-abilities","immunities","resistances","weaknesses","speed_compendium","space_compendium","reach_compendium","npc-melee-attacks-text","npc-ranged-attacks-text","npc-special-attacks","str_compendium","dex_compendium","con_compendium","int_compendium","wis_compendium","cha_compendium","bab_compendium","cmb_compendium","cmd_compendium","class_compendium","npc-feats-text","skills_compendium","racial_mods_compendium","environment","organization","other_items_treasure","languages","SQ_compendium","content_compendium","npc-spells-prepared_compendium"]);on("change:npc_import_now",Z.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(Z.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs(["npc_import_now"],function(t){1===parseInt(t.npc_import_now,10)&&X(e)}))}))},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){"giant"===e?getAttrs(["npc-type","size","AC-natural","is_undead","npc-cr","STR-base","STR","STR-mod","CON-base","CON","CON-mod","DEX-base","DEX","DEX-mod"],function(e){var t={},a="",n=0;a=d.getTranslated("giant"),t["npc-type"]=a+" "+e["npc-type"],t=_.modifyAbility("STR",4,e,t),t=_.modifyAbility("DEX",-2,e,t),t=parseInt(e.is_undead,10)?_.modifyAbility("CHA",4,e,t):_.modifyAbility("CON",4,e,t),n=parseInt(e["AC-natural"],10)||0,n+=3,t["AC-natural"]=n,n=parseInt(e["npc-cr"],10)||0,n++,t["npc-cr"]=n,t=b.updateSize(1,e,null,t),d.setWrapper(t,f.default.silentParams,y.recalculate)}):"giantremove"===e?getAttrs(["npc-type","size","AC-natural","is_undead","npc-cr","STR-base","STR","STR-mod","CON-base","CON","CON-mod","DEX-base","DEX","DEX-mod"],function(e){var t={},a="",n=0;a=d.getTranslated("giant")+" ",e["npc-type"]&&(t["npc-type"]=e["npc-type"].replace(a,"")),t=_.modifyAbility("STR",-4,e,t),t=_.modifyAbility("DEX",2,e,t),t=parseInt(e.is_undead,10)?_.modifyAbility("CHA",-4,e,t):_.modifyAbility("CON",-4,e,t),n=parseInt(e["AC-natural"],10)||0,n-=3,t["AC-natural"]=n,n=parseInt(e["npc-cr"],10)||0,n--,t["npc-cr"]=n,t=b.updateSize(-1,e,null,t),d.setWrapper(t,f.default.silentParams,y.recalculate)}):"young"===e?getAttrs(["npc-type","size","AC-natural","is_undead","npc-cr","STR-base","STR","STR-mod","CON-base","CON","CON-mod","DEX-base","DEX","DEX-mod"],function(e){var t={},a="",n=0;a=d.getTranslated("young"),t["npc-type"]=a+" "+e["npc-type"],t=_.modifyAbility("STR",-4,e,t),t=_.modifyAbility("DEX",4,e,t),t=parseInt(e.is_undead,10)?_.modifyAbility("CHA",-4,e,t):_.modifyAbility("CON",-4,e,t),n=parseInt(e["AC-natural"],10)||0,n=Math.max(0,n-2),t["AC-natural"]=n,n=parseInt(e["npc-cr"],10)||0,n--,n<=0&&(n=".5"),t["npc-cr"]=n,t=b.updateSize(-1,e,null,t),d.setWrapper(t,f.default.silentParams,y.recalculate)}):"youngremove"===e?getAttrs(["npc-type","size","AC-natural","is_undead","npc-cr","STR-base","STR","STR-mod","CON-base","CON","CON-mod","DEX-base","DEX","DEX-mod"],function(e){var t={},a="",n=0;a=d.getTranslated("young")+" ",e["npc-type"]&&(t["npc-type"]=e["npc-type"].replace(a,"")),t=_.modifyAbility("STR",4,e,t),t=_.modifyAbility("DEX",-4,e,t),t=parseInt(e.is_undead,10)?_.modifyAbility("CHA",4,e,t):_.modifyAbility("CON",4,e,t),n=parseInt(e["AC-natural"],10)||0,n+=2,t["AC-natural"]=n,n=parseInt(e["npc-cr"],10)||0,n++,t["npc-cr"]=n,t=b.updateSize(1,e,null,t),d.setWrapper(t,f.default.silentParams,y.recalculate)}):"advanced"===e?getAttrs(["npc-type","size","is_undead","AC-natural","npc-cr","STR-base","STR","STR-mod","CON-base","CON","CON-mod","DEX-base","DEX","DEX-mod","INT-base","INT","INT-mod","WIS-base","WIS","WIS-mod","CHA-base","CHA","CHA-mod"],function(e){var t={},a="",n=0;a=d.getTranslated("advanced"),t["npc-type"]=a+" "+e["npc-type"],t=_.modifyAbility("STR",4,e,t),parseInt(e.is_undead,10)||(t=_.modifyAbility("CON",4,e,t)),t=_.modifyAbility("DEX",4,e,t),parseInt(e["INT-base"])>2&&(t=_.modifyAbility("INT",4,e,t)),t=_.modifyAbility("WIS",4,e,t),t=_.modifyAbility("CHA",4,e,t),n=parseInt(e["AC-natural"],10)||0,n+=2,t["AC-natural"]=n,n=parseInt(e["npc-cr"],10)||0,n++,t["npc-cr"]=n,d.setWrapper(t,f.default.silentParams,y.recalculate)}):"degenerate"===e?getAttrs(["npc-type","size","is_undead","AC-natural","npc-cr","STR-base","STR","STR-mod","CON-base","CON","CON-mod","DEX-base","DEX","DEX-mod","INT-base","INT","INT-mod","WIS-base","WIS","WIS-mod","CHA-base","CHA","CHA-mod"],function(e){var t={},a="",n=0;a=d.getTranslated("degenerate"),t["npc-type"]=a+" "+e["npc-type"],t=_.modifyAbility("STR",-4,e,t),parseInt(e.is_undead,10)||(t=_.modifyAbility("CON",-4,e,t)),t=_.modifyAbility("DEX",-4,e,t),t=_.modifyAbility("INT",-4,e,t),t=_.modifyAbility("WIS",-4,e,t),t=_.modifyAbility("CHA",-4,e,t),n=parseInt(e["AC-natural"],10)||0,n-=2,t["AC-natural"]=n,n=parseInt(e["npc-cr"],10)||0,n--,n<=0&&(n=".5"),t["npc-cr"]=n,d.setWrapper(t,f.default.silentParams,y.recalculate)}):"celestial"!==e&&"fiendish"!==e&&"entropic"!==e&&"resolute"!==e||getAttrs(["npc-type","npc-cr","npc-hd","DR","SR-macro-text","SR","resistances","vision","CHA-mod"],function(t){var a={},n="",r="",i="",l=0,s=0,o=0,c="",u="";n=d.getTranslated(e),a["npc-type"]=n+" "+t["npc-type"],s=parseInt(t["npc-hd"],10)||0,/darkvision/i.test(t.vision)||(n=d.getTranslated("darkvision"),n=n+" 60"+getTranslationByKey("feet-abbrv"),t.vision&&(n=n+" "+t.vision),a.vision=n),"celestial"===e?(i="Evil",r="good",n="Resist Cold, Acid, Electricity "):"fiendish"===e?(i="Good",r="evil",n="Resist Cold and Fire "):"entropic"===e?(i="Lawful",r="chaos",n="Resist Acid and Fire "):"resolute"===e&&(i="chaotic",r="law",n="Resist Acid, Cold, and Fire "),n+=s<5?" 5;":s>=5&&s<=10?" 10;":" 15;",a.resistances=n+(t.resistances||""),n="",s>=5&&s<=10?n="5/"+i+";":s>10&&(n="10/"+i+";"),n&&(a.DR=n+(t.DR||"")),l=parseInt(t["npc-cr"],10)||0,s>=5&&(l++,a["npc-cr"]=o),o=parseInt(t.SR,10)||0,o=)|(<=)|(<<)|(>>)|(\*\*)|[?:|\^&=><%!~])/))?t("extoperator",a):(a=e.match(/^[\-+*\/td]/))?t("baseoperator",a):(a=e.match(/^\[([^\]]+)\]/))?t("label",a):(a=e.match(/^\$\{([^'"\($\}][^}]*)\}/))?t("variable",a):(a=e.match(/^\$\{/),a?t("openvariable",a):{type:"raw",text:e.charAt(0)}):e}function n(e){return e.tok=a(e.s),e.tok&&(e.s=e.s.substring(e.tok.text.length)),e}function i(e,t){function a(e){return e.replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g,"\t").replace(/\\/g,"")}for(var r,i=-1,l=i;0===(i-l&1);){if(i=e.s.indexOf(t,i+1),i<0)return;for(l=i-1;l>=0&&"\\"===e.s.charAt(l);)l--}return r=e.s.substring(0,i).split("\\\\").map(a).join("\\"),e.s=e.s.substring(i),n(e),r}function l(){var e,t,a,n=v.pop(),r=k.pop();return n.unary?void k.push({type:"baseoperator"===n.type?"unop":"unopex",datatype:r.datatype,operator:n.text,operand:r}):(e=k.pop(),":"!==n.text?("d"===n.text||"t"===n.text?a="number":e.datatype===r.datatype?a=e.datatype:"string"!==e.datatype&&"string"!==r.datatype||(a="string"),void k.push({type:"baseoperator"===n.type?"binop":"binopex",datatype:a,operator:n.text,left:e,right:r,mods:n.mods,label:n.label})):(n=v.pop(),"?"!==n.text?"Error: Expected ? but got "+n.text:(t=k.pop(),void k.push({type:"cond",cond:t,left:e,right:r,datatype:e.datatype===r.datatype?e.datatype:void 0}))))}function s(e){var t;for(e.precedence=(e.unary?h[e.text]:b[e.text])||0;v[v.length-1].precedence>=e.precedence;)if(t=l())return t;v.push(e)}function c(e){return","===e||")"===e}function u(){var t,a,l,o,d,p,f,m,_,b,v,w;if(n(e),!e.tok)return"Error: Unrecognized token: "+e.s.split(" ",1)[0];for(;"whitespace"===e.tok.type;)if(n(e),!e.tok)return"Error: Unrecognized token: "+e.s.split(" ",1)[0];switch(e.tok.type){case"function":if(a=e.tok.match[1],l=g[a],void 0===l)return"Error: Unrecognized function: "+a;for(Array.isArray(l)?(o=l[0],d=l[1]):(o=l,d=l),f=[];e.tok&&")"!==e.tok.text;){if(m=r(e,c),"string"==typeof m)return m;if(f.push(m),!e.tok)return"Error: Unterminated function: "+a;if(!c(e.tok.text))return"Error: Expected ',' or ')' to continue/close '"+a+"(', but got '"+e.tok.text+"'"}return o<0&&(o=f.length),(isNaN(d)||d<0)&&(d=f.length),f.lengthd?"Error: Function '"+a+"' requires at most "+d+" argument(s)":void k.push({type:"function",datatype:"number",function:a,args:f});case"number":return void k.push({type:"number",datatype:"number",value:parseFloat(e.tok.text)});case"variable":return void k.push({type:"variable",value:e.tok.match[1]});case"quote":return p=i(e,e.tok.text),"string"!=typeof p?"Error: Unterminated string":void k.push({type:"string",datatype:"string",value:p});case"opengroup":if(_=e.tok.text,b=y[_],v=r(e,b),"string"==typeof v)return v;if(k.push(v),e.tok.text!==b)return"Error: Expected '"+b+"' to close '"+_+"', but got '"+e.tok.text+"'";return;case"openvariable":return w=r(e,"}"),"string"==typeof w?w:"}"!==e.tok.text?"Error: Expected '}' to close '${', but got '"+e.tok.text+"'":void k.push({type:"variable",value:w});case"extoperator":case"baseoperator":return h[e.tok.text]?(e.tok.unary=!0,t=s(e.tok),t?t:u()):"Error: "+e.tok.text+" is not a unary operator"}return"Error: Unrecognized token: "+e.tok.text+("raw"===e.tok.type?e.s.split(" ",1)[0]:"")}var d,p,f,m,_="function"==typeof t?t:function(e){return e==t},g={abs:1,ceil:1,floor:1,round:1,max:[1],min:[1]},b={"?":1,":":2,"||":3,"&&":4,"|":5,"^":6,"&":7,"=":8,"==":8,"!=":8,">=":9,">":9,"<":9,"<=":9,"<<":10,">>":10,"+":11,"-":11,"*":12,"/":12,"%":12,"**":14,t:98,d:99},h={"!":13,"~":13,"-":13},y={"(":")","{":"}"},v=[{precedence:0}],k=[];if("string"==typeof e&&(e={s:e}),f=u())return f;for(n(e);e.tok&&!_(e.tok.text)&&(t||"raw"!==e.tok.type);n(e))switch(e.tok.type){case"extoperator":case"baseoperator":if(o="d"===e.tok.text?e.tok:null,f=s(e.tok))return f;if(o&&"F"===e.s.charAt(0))k.push({type:"rollspec",value:"F"}),e.s=e.s.substring(1);else if("t"===e.tok.text){if("["!==e.s.charAt(0))return"Error: 't' operator requires '[table]' argument";if(p=e.s.match(/^\[([^'"$(\]][^\]]*)\]/))d=p[1],e.s=e.s.substring(p[0].length);else{if(e.s=e.s.substring(1),d=r(e,"]"),"string"==typeof d)return d;if("]"!==e.tok.text)return"Error: Expected ']' to close 't[', but got '"+e.tok.text+"'"}k.push({type:"tablename",value:d})}else if(f=u())return f;o&&(p=e.s.match(/^[acdfhkloprs0-9<=>!]+/),p&&(o.mods=p[0],e.s=e.s.substring(p[0].length)));break;case"label":if(v.length>0&&"d"===v[v.length-1].text){v[v.length-1].label=e.tok.match[1];break}m=k.pop(),m&&(m.label=e.tok.match[1],k.push(m))}for(;v.length>1;)if(f=l())return f;return k.pop()}function i(e){p.default.debug("EXEXP:"+e)}function l(e,t,a,n){function r(e,t,a,n,i,l){var s,o,c,d=[],p=0;switch(e.label&&(t[e.label]=e),e.type){case"number":case"rollspec":return e.baseValid=!0,e;case"string":return e;case"tablename":if("string"!=typeof e.value){if(s=r(e.value,t,a,n,i,!0),"string"==typeof s)return s;if("number"===s.type&&(s.value=String(s.value),s.type="string"),"string"!==s.type)return e.baseValid&&(e.baseValid=!1),n.push(e.value),e;e.value=s.value}return e.baseValid=!0,e;case"function":for(p=0;p=":function(e,t){return e>=t},">":function(e,t){return e>t},"<":function(e,t){return e>":function(e,t){return e>>t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"**":Math.pow,d:function(e,t){var a=0,n=0;for(n=0;n0;){if(g=r(w.shift(),n,k,w,A,!0),"string"==typeof g)return d(m);"string"===g.type||"number"===g.type?I=!0:x.push(g)}w=x}for(C=t.length-1;C>=0;C--)(t[C].baseValid||"number"===t[C].type||"string"===t[C].type)&&(w.length>0&s(t[C])||e.splice(C,2,(e[C]||"")+c(t.splice(C,1)[0])+(e[C+1]||"")));return A.length>0?(p.default.error("Cannot evaluate"),""):t.length>0&&(1!==t.length||"binop"!==t[0].type)?l(e,t,[],n):b=e.join("")}function s(e){var t,a,n,s=[],o=[];return e=e.replace(/\s/g,"").replace(/^-/,"0-").replace(/\(-/g,"(0-").replace(/^\+/,"").replace(/\(\+/g,"(0+"),t=e,a={s:t},n=r(a,null),"string"==typeof n?(i("could not parse"+e),""):(o.push(n),a.s=a.tok?a.tok.text+a.s:a.s,s.push(a.s),l(s,o,[],{}))}Object.defineProperty(t,"__esModule",{value:!0}),t.write=i,t.handleExpression=s;var o,c=a(1),u=n(c),d=(a(4),a(0)),p=n(d)},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=function(){"function"==typeof e&&e()};getAttrs(B,function(e){var n={},r={};n=g.default.reduce(O,function(t,a){var n=parseInt(e["buff_"+a+"-total"],10)||0,r=parseInt(e["buff_"+a+"_exists"],10)||0;return n&&(t["buff_"+a+"-total"]=0),r&&(t["buff_"+a+"_exists"]=0),t},{}),n=g.default.reduce(I.abilities,function(t,a){var n=parseInt(e["buff_"+a+"-total_penalty"],10)||0,r=parseInt(e["buff_"+a+"_penalty_exists"],10)||0;return n&&(t["buff_"+a+"-total_penalty"]=0),r&&(t["buff_"+a+"_penalty_exists"]=0),t},n),g.default.size(n)?(t&&(r=w.default.silentParams),v.setWrapper(n,r,a)):a()})}function l(e){getSectionIDs("repeating_buff",function(t){var a,n;return t&&g.default.size(t)?(n=v.cartesianAppend(["_buff-"],O,["_macro-text","","-show"]),n=n.concat(["_buff-enable_toggle","_buff-name","_buff-notes"]),a=v.cartesianAppend(["repeating_buff_"],t,n),void getAttrs(a,function(a){e(t,a)})):e(null,null)})}function s(e){var t,a=g.default.once(function(){"function"==typeof e&&e()});try{t=v.cartesianAppend(["buff_"],O,["-total","_exists"]).concat(v.cartesianAppend(["buff_"],I.abilities,["-total_penalty","_penalty_exists"]))}catch(e){return h.default.error("PFBuffsOld.resetStatuspanel error creating field array, abort:",e),void a()}getAttrs(t,function(e){var t={},n=function(t,a){var n,r;return a=a||"",n=parseInt(e[t+"-total"+a],10)||0,r=parseInt(e[t+a+"_exists"],10)||0,0===n||r?0===n&&r?0:void 0:1};try{t=g.default.reduce(O,function(e,t){var a,r;try{a="buff_"+t,r=n(a,""),(r||0===r)&&(e[a+"_exists"]=r)}catch(e){}finally{return e}},t),t=g.default.reduce(I.abilities,function(e,t){var a,r;try{a="buff_"+t,r=n(a,"_penalty"),(r||0===r)&&(e[a+"_penalty_exists"]=r)}catch(e){}finally{return e}},t)}catch(e){h.default.error("PFBuffsOld.resetStatuspanel error inside calculate exists",e)}finally{g.default.size(t)>0?v.setWrapper(t,{silent:!0},a):a()}})}function o(e,t,a,n){var r=0,i={sum:0,pen:0},l=e,s=[];try{n=n||{},W[e]&&(l=W[e]),h.default.notice("Updating "+e+" the total is "+l,W,a),r=I.abilities.indexOf(e)>=0&&e.indexOf("skill")<9,t=t.filter(function(t){var n="repeating_buff_"+t+"_buff-";return 0!==(parseInt(a[n+e+"-show"],10)||0)&&0!==(parseInt(a[n+e],10)||0)}),h.default.debug("updating "+e+" there are "+g.default.size(t)+" rows"),g.default.size(t)>0&&(s=t.map(function(t){return parseInt(a["repeating_buff_"+t+"_buff-"+e],10)||0}),h.default.debug("PFBuffsOld ROWS NOW:",s),"HP-temp"===e?i.sum=s.filter(function(e){return e>0}).reduce(function(e,t){return e+=t},0):"size"===e?(i=s.reduce(function(e,t){return t>0?e.sum=Math.max(e.sum,t):t<0&&(e.pen=Math.min(e.pen,t)),e},i),i.sum+=i.pen,i.pen=0):r?i=s.reduce(function(e,t){return t<0?e.pen+=t:t>0&&(e.sum+=t),e},i):(h.default.debug("now calculating sum for "+e),i.sum=s.reduce(function(t,a){return h.default.debug("ADDING "+a+" to m for "+e+" is "+a),t+=a},0),h.default.debug("calcuatling "+e+" sum is "+i.sum))),(parseInt(a["buff_"+l+"-total"],10)||0)!==i.sum&&(n["buff_"+l+"-total"]=i.sum),i.sum?n["buff_"+l+"_exists"]=1:1===(parseInt(a["buff_"+l+"_exists"],10)||0)&&(n["buff_"+l+"_exists"]=0),r&&((parseInt(a["buff_"+l+"-total_penalty"],10)||0)!==i.pen&&(n["buff_"+l+"-total_penalty"]=i.pen),i.pen?n["buff_"+l+"_penalty_exists"]=1:1===(parseInt(a["buff_"+l+"_penalty_exists"],10)||0)&&(n["buff_"+l+"_penalty_exists"]=0))}catch(e){h.default.error("PFBuffsOld.updateBuffTotal",e)}finally{return n}}function c(e,t,a){var n=g.default.once(function(){"function"==typeof t&&t()}),r=I.abilities.indexOf(e)>=0&&e.indexOf("skill")<9;getSectionIDs("repeating_buff",function(t){var i,l,s=e;t?(W[e]&&(s=W[e]),i=v.cartesianAppend(["repeating_buff_"],t,["_buff-"+e,"_buff-"+e+"-show","_buff-enable_toggle"]),l=["buff_"+s+"-total","buff_"+s+"_exists"],r&&(l=l.concat(["buff_"+s+"-total_penalty","buff_"+s+"_penalty_exists"])),i=i.concat(l),getAttrs(i,function(r){var i={},l={};try{t=t.filter(function(e){var t="repeating_buff_"+e+"_buff-";return parseInt(r[t+"enable_toggle"],10)||0}),l=o(e,t,r,l),W[e]&&(l["buff_"+e+"-total"]=0,l["buff_"+e+"_exists"]=0,l["buff_"+e+"-total_penalty"]=0,l["buff_"+e+"_penalty_exists"]=0)}catch(t){h.default.error("PFBuffsOld.updateBuffTotalAsync errrou on col "+e,t)}finally{g.default.size(l)?(h.default.debug("######################","PFBuffsOld setting ",l),a&&(i=w.default.silentParams),v.setWrapper(l,i,n)):n()}})):n()})}function u(e,t){var a=g.default.once(function(){"function"==typeof e&&e()});h.default.debug("PFBuffsOld.updateAllBuffTotalsAsync"),getSectionIDs("repeating_buff",function(e){var n;return e&&0!==g.default.size(e)?(n=v.cartesianAppend(["repeating_buff_"],e,["_buff-"],O,["","-show"]),n=n.concat(v.cartesianAppend(["repeating_buff_"],e,["_buff-enable_toggle"])),n=n.concat(B),n.push("use_buff_bonuses"),h.default.debug("############ BUFF FIELDS ARE:",n),void getAttrs(n,function(n){var r=!1,l={},s={};try{if(h.default.debug("PFBuffsOld.updateAllBuffTotalsAsync found:",n),r=parseInt(n.use_buff_bonuses,10)||0,e=e.filter(function(e){return parseInt(n["repeating_buff_"+e+"_buff-enable_toggle"],10)}),!e||0===g.default.size(e))return h.default.debug("there are no ids with enable toggle checked"),void i(a,t);g.default.each(O,function(t){s=o(t,e,n,s,r)})}catch(e){h.default.error("PFBuffsOld.updateAllBuffTotalsAsync errrou on col ",e)}finally{g.default.size(s)?(h.default.debug("######################","PFBuffsOldsetting ",s),t&&(l=w.default.silentParams),v.setWrapper(s,l,a)):a()}})):void i(a,t)})}function d(e,t,a,n){var r=function(){"function"==typeof a&&a()},i=v.getRepeatingIDStr(e),l="repeating_buff_"+i+"buff-"+t;return"size"===t?void r():void v.evaluateAndSetNumber(l+"_macro-text",l,0,function(e,a,i){i?c(t,r,n):r()},!0,r)}function p(e,t){var a=g.default.once(function(){s(),"function"==typeof e&&e()}),n=g.default.size(O),r=g.default.after(n,function(){u(a,t)}),l=function(e,t){var a,n=g.default.size(e);if(h.default.debug("PFBuffsOld.recalculateBuffColumn:"+t),"size"===t)return void r();a=g.default.after(n,function(){r()});try{if("size"===t)return void r();g.default.each(e,function(e){try{getAttrs(["repeating_buff_"+e+"_buff-enable_toggle","repeating_buff_"+e+"_buff-"+t+"-show"],function(n){parseInt(n["repeating_buff_"+e+"_buff-enable_toggle"],10)&&parseInt(n["repeating_buff_"+e+"_buff-"+t+"-show"],10)?v.evaluateAndSetNumber("repeating_buff_"+e+"_buff-"+t+"_macro-text","repeating_buff_"+e+"_buff-"+t,0,a,!0):a()})}catch(n){h.default.error("PFBuffsOld.recalculate_recalculateBuffColumn:"+t+", rowid"+e,n),a()}})}catch(e){h.default.error("PFBuffsOld.recalculate_recalculateBuffColumn OUTER error:"+t,e),r()}};getSectionIDs("repeating_buff",function(e){try{g.default.size(e)>0?g.default.each(O,function(t){l(e,t)}):i(a)}catch(e){h.default.error("PFBuffsOld.recalculate.recalculateAll",e),a()}})}function f(e){var t=g.default.once(function(){"function"==typeof e&&e()}),a=function(e){var t=g.default.once(function(){"function"==typeof e&&e()}),a=function(){v.setWrapper({migrated_buffs_rangeddmg_abiilty:1},w.default.silentParams,t)};getAttrs(["migrated_buffs_rangeddmg_abiilty"],function(e){var n=parseInt(e.migrated_buffs_rangeddmg_abiilty,10)||0;return n?void t():void getSectionIDs("repeating_buff",function(e){var t;g.default.size(e)?(t=v.cartesianAppend(["repeating_buff_"],e,["_buff-DMG_macro-text","_buff-DMG","_buff-DMG-show","_buff-DMG_ranged_macro-text","_buff-DMG_ranged","_buff-Melee_macro-text","_buff-Melee","_buff-Melee-show","_buff-CMB_macro-text","_buff-CMB_ranged","_buff-Check_macro-text","_buff-Check","_buff-Check-show","_buff-check_skills_macro-text","_buff-check_skills"]),t=t.concat(["buff_Check-total","buff_check_skills-total","buff_Melee-total","buff_DMG-total","buff_DMG_ranged-total","buff-CMB-total"]),getAttrs(t,function(t){var n={},r=!1,i=0;try{e.forEach(function(e){var a="repeating_buff_"+e+"_buff-";t[a+"DMG_macro-text"]&&!t[a+"DMG_ranged_macro-text"]&&(n[a+"DMG_ranged_macro-text"]=t[a+"DMG_macro-text"],n[a+"DMG_ranged"]=parseInt(t[a+"DMG"],10)||0,parseInt(t[a+"DMG-show"],10)&&(n[a+"DMG_ranged-show"]=1)),t[a+"Check_macro-text"]&&!t[a+"check_skills_macro-text"]&&(n[a+"check_skills_macro-text"]=t[a+"Check_macro-text"],n[a+"check_skills"]=parseInt(t[a+"Check"],10)||0,r=!0,parseInt(t[a+"Check-show"],10)&&(n[a+"check_skills-show"]=1)),t[a+"Melee_macro-text"]&&!t[a+"CMB_macro-text"]&&(n[a+"CMB_macro-text"]=t[a+"Melee_macro-text"],n[a+"CMB"]=parseInt(t[a+"Melee"],10)||0,r=!0,parseInt(t[a+"Melee-show"],10)&&(n[a+"CMB-show"]=1))}),i=parseInt(t["buff_DMG-total"],10)||0,i&&(n["buff_DMG_ranged-total"]=i+parseInt(t["buff_DMG_ranged-total"],10)||0),i=parseInt(t["buff_Check-total"],10)||0,i&&(n["buff_check_skills-total"]=i+parseInt(t["buff_check_skills-total"],10)||0),i=parseInt(t["buff_Melee-total"],10)||0,i&&(n["buff_CMB-total"]=i+parseInt(t["buff_CMB-total"],10)||0)}catch(e){h.default.error("PFBuffsOld.migrateDmgAbility",e); +}finally{g.default.size(n)?(v.setWrapper(n,w.default.silentParams,a),r&&(M.applyConditions(),R.updateInitiative())):a()}})):a()})})};a(t)}function m(){g.default.each(O,function(e){var t="change:repeating_buff:buff-"+e;"size"!==e&&on(t+"_macro-text",h.default.callback(function(t){h.default.debug("caught "+t.sourceAttribute+" for column "+e+", event: "+t.sourceType),d(null,e)})),on(t+"-show",h.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||(h.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),h.default.debug("we updated "+e+"!!!!!!!!!!!!!!!!!!!!!!!!!!!!"),getAttrs(["repeating_buff_buff-"+e,"repeating_buff_buff-enable_toggle"],function(t){parseInt(t["repeating_buff_buff-enable_toggle"],10)&&parseInt(t["repeating_buff_buff-"+e],10)&&(h.default.debug("Show or don't show update "+e),c(e))}))}))}),on("change:repeating_buff:buff-size",h.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(h.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),c("size"))})),on("remove:repeating_buff",h.default.callback(function(e){h.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"===e.sourceType&&u()})),on("change:repeating_buff:buff-enable_toggle",h.default.callback(function(e){var t;"player"!==e.sourceType&&"api"!==e.sourceType||(h.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),t=O.map(function(e){return"repeating_buff_buff-"+e}),t=t.concat(t.map(function(e){return e+"-show"})),getAttrs(t,function(e){g.default.each(O,function(t){parseInt(e["repeating_buff_buff-"+t+"-show"],10)&&parseInt(e["repeating_buff_buff-"+t],10)&&c(t)})}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=t.buffTotFields=t.buffToTotExceptions=t.buffColumns=void 0,t.getAllRowAttrs=l,t.reEvaluateCustomMacros=p,t.migrate=f;var _=a(1),g=r(_),b=(a(4),a(0)),h=r(b),y=a(2),v=n(y),k=a(3),w=r(k),A=a(5),C=(n(A),a(10)),I=n(C),x=a(23),P=(n(x),a(8)),S=(n(P),a(7)),T=(n(S),a(13)),D=(n(T),a(17)),E=(n(D),a(20)),M=n(E),F=a(21),R=n(F),N=a(16),L=(n(N),a(15)),z=(n(L),a(11)),O=(n(z),t.buffColumns=["Ranged","Melee","CMB","DMG","DMG_ranged","AC","Touch","CMD","flat-footed","speed","initiative","size","check_skills","HP-temp","Fort","Will","Ref","Check","CasterLevel","STR","DEX","CON","INT","WIS","CHA","STR_skills","DEX_skills","CON_skills","INT_skills","WIS_skills","CHA_skills"]),W=t.buffToTotExceptions={Check:"check_ability",DMG:"dmg_melee"},B=t.buffTotFields=g.default.chain(O).map(function(e){var t=I.abilities.indexOf(e)>=0&&e.indexOf("skill")<1;return t?["buff_"+e+"-total","buff_"+e+"_exists","buff_"+e+"-total_penalty","buff_"+e+"_penalty_exists"]:["buff_"+e+"-total","buff_"+e+"_exists"]}).flatten().value().concat(["buff_check_ability-total","buff_dmg_melee-total"]);t.recalculate=h.default.callback(function(e,t,a){var n=g.default.once(function(){"function"==typeof e&&e()});getAttrs(["use_buff_bonuses"],function(e){parseInt(e.use_buff_bonuses,10)?(h.default.debug("USING NEW BUFFS"),n()):(h.default.debug("USING OLD BUFFS"),f(function(){p(n,t)}))})});m()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){E.updateAbilityScore("DEX"),E.updateAbilityScore("STR"),z.applyConditions(null,null,a)}function l(e,t,a){E.updateAbilityScore("DEX"),z.applyConditions(null,null,a)}function s(e,t,a){E.applyConditions(function(){N.applyConditions(),z.applyConditions()},null,a),P.applyConditions()}function o(e,t,a){getAttrs(["condition-Pinned","condition-Grappled"],function(e){parseInt(e["condition-Pinned"],10)&&parseInt(e["condition-Grappled"],10)?A.setWrapper({"condition-Pinned":"0"},k.default.silentParams,function(){s(a)}):s(a)})}function c(e,t,a){getAttrs(["condition-Pinned","condition-Grappled"],function(e){parseInt(e["condition-Pinned"],10)&&parseInt(e["condition-Grappled"],10)?A.setWrapper({"condition-Grappled":"0"},k.default.silentParams,function(){s(a)}):s(a)})}function u(e){E.applyConditions(null,null,e),N.applyConditions(null,null,e),G.updateModifiedSpeed()}function d(e,t,a){getAttrs(["condition-Fatigued","condition-Exhausted"],function(e){e=b.default.mapObject(e,function(e,t){return parseInt(e,10)||0}),e["condition-Fatigued"]&&e["condition-Exhausted"]?A.setWrapper({"condition-Exhausted":"0"},k.default.silentParams,function(){u(a)}):u(a)})}function p(e,t,a){getAttrs(["condition-Fatigued","condition-Exhausted"],function(e){e=b.default.mapObject(e,function(e,t){return parseInt(e,10)||0}),e["condition-Fatigued"]&&e["condition-Exhausted"]?A.setWrapper({"condition-Fatigued":"0"},k.default.silentParams,function(){u(a)}):u(a)})}function f(e,t,a){var n=b.default.once(function(){"function"==typeof e&&e()});getAttrs(["condition-Drained","condition_is_drained"],function(e){var t=parseInt(e["condition-Drained"],10)||0,a=parseInt(e.condition_is_drained,10)||0;0!==t&&0===a?A.setWrapper({condition_is_drained:1},k.default.silentParams,n):0===t&&0!==a?A.setWrapper({condition_is_drained:0},k.default.silentParams,n):n()})}function m(e,t){getAttrs(["migrated_fatigue_conditions","condition-Fatigued"],function(t){var a={};parseInt(t.migrate_fatigued_conditions,10)?"function"==typeof e&&e():(3===parseInt(t["condition-Fatigued"],10)&&(a["condition-Fatigued"]=0,a["condition-Exhausted"]=3),a.migrate_fatigued_conditions=1,A.setWrapper(a,k.default.silentParams,e))})}function _(){b.default.each(X.conditionEventsPlayer,function(e,t){b.default.each(e,function(e){on(t,y.default.callback(function(t){"player"!==t.sourceType&&"api"!==t.sourceType||(y.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),e(null,null,t))}))})}),b.default.each(X.conditionEventsEither,function(e,t){b.default.each(e,function(e){on(t,y.default.callback(function(t){y.default.debug("caught "+t.sourceAttribute+" event: "+t.sourceType),e(null,null,t)}))})}),on("change:Perception-cond",y.default.callback(function(e){y.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),T.verifyHasSkill("Perception",function(t){t?T.updateSkillAsync("Perception",e):T.updateSkillAsync("CS-Perception",e)})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.setParalyzed=i,t.setHelpless=l,t.migrate=m;var g=a(1),b=r(g),h=(a(4),a(0)),y=r(h),v=a(3),k=r(v),w=a(2),A=n(w),C=a(21),I=n(C),x=a(26),P=n(x),S=a(11),T=n(S),D=a(10),E=n(D),M=a(23),F=n(M),R=a(8),N=n(R),L=a(13),z=n(L),O=a(17),W=n(O),B=a(20),q=n(B),H=a(7),U=n(H),j=a(16),G=n(j),X=(t.recalculate=y.default.callback(function(e,t,a){m(function(){f(e)})}),{conditionEventsEither:{"change:condition-wounds change:has_endurance_feat change:wounds_gritty_mode":[q.applyConditions,F.applyConditions,N.applyConditions,z.applyConditions]},conditionEventsPlayer:{"change:condition-grappled":[o],"change:condition-pinned":[c],"change:condition-Fatigued":[d],"change:condition-Exhausted":[p],"change:condition-sickened":[U.updateRepeatingWeaponDamages,q.applyConditions,F.applyConditions,N.applyConditions],"change:condition-stunned":[z.updateDefenses,z.applyConditions],"change:condition-flat-footed":[z.updateDefenses],"change:condition-deafened":[I.updateInitiative,P.applyConditions,q.applyConditions],"change:condition-fascinated":[q.applyConditions],"change:condition-entangled":[E.applyConditions,N.applyConditions,G.updateModifiedSpeed],"change:condition-drained":[f,W.updateMaxHPLookup,q.applyConditions,F.applyConditions,N.applyConditions,z.applyConditions],"change:condition-fear":[q.applyConditions,F.applyConditions,N.applyConditions],"change:condition-blinded":[q.applyConditions,z.applyConditions],"change:condition-cowering":[z.applyConditions],"change:condition-invisible":[z.updateDefenses,N.applyConditions,q.applyConditions,z.applyConditions],"change:condition-dazzled":[N.applyConditions,q.applyConditions],"change:condition-prone":[z.applyConditions,N.recalculateMelee],"change:condition-paralyzed":[i],"change:condition-helpless":[l]}});_()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){getAttrs(["customd1","customd2","customd3","customd4","customd5","customd6","customd1-name","customd2-name","customd3-name","customd4-name","customd5-name","customd6-name","allcustom_macro","NPC-allcustom_macro"],function(t){var a="",n="",r="";try{t.customd1&&(r="["+(y.escapeForChatLinkButton(t["customd1-name"])||"customd1")+"](~@{character_id}|",a+=r+"customd1_roll) ",n+=r+"NPC-customd1_roll) "),t.customd2&&(r="["+(y.escapeForChatLinkButton(t["customd2-name"])||"customd2")+"](~@{character_id}|",a+=r+"customd2_roll) ",n+=r+"NPC-customd2_roll) "),t.customd3&&(r="["+(y.escapeForChatLinkButton(t["customd3-name"])||"customd3")+"](~@{character_id}|",a+=r+"customd3_roll) ",n+=r+"NPC-customd3_roll) "),t.customd4&&(r="["+(y.escapeForChatLinkButton(t["customd4-name"])||"customd4")+"](~@{character_id}|",a+=r+"customd4_roll) ",n+=r+"NPC-customd4_roll) "),t.customd5&&(r="["+(y.escapeForChatLinkButton(t["customd5-name"])||"customd5")+"](~@{character_id}|",a+=r+"customd5_roll) ",n+=r+"NPC-customd5_roll) "),t.customd6&&(r="["+(y.escapeForChatLinkButton(t["customd6-name"])||"customd6")+"](~@{character_id}|",a+=r+"customd6_roll) ",n+=r+"NPC-customd6_roll) "),(a||n)&&(a="{{roll20=^{custom}}} {{roll21="+a+" }}",n="{{roll20=^{custom}}} {{roll21="+n+" }}")}catch(e){b.default.error("PFCustom.resetCommandMacro ",e)}finally{a!==t.allcustom_macro||n!==t["NPC-allcustom_macro"]?y.setWrapper({allcustom_macro:a,"NPC-allcustom_macro":n},k.default.silentParams,e):"function"==typeof e&&e()}})}function l(){y.setWrapper({extra_fields_attacks_show:1,extra_fields_skills_show:1,extra_fields_saves_show:1,extra_fields_spells_show:1,extra_fields_defense_show:1,extra_fields_caster_show:1,extra_fields_abilities_show:1,extra_fields_init_show:1,extra_fields_speeds_show:1,extra_fields_conditions_show:1},k.default.silentParams)}function s(){y.setWrapper({extra_fields_attacks_show:0,extra_fields_skills_show:0,extra_fields_saves_show:0,extra_fields_spells_show:0,extra_fields_defense_show:0,extra_fields_caster_show:0,extra_fields_abilities_show:0,extra_fields_init_show:0,extra_fields_speeds_show:0,extra_fields_conditions_show:0},k.default.silentParams)}function o(e,t,a){var n=_.default.size(k.default.equationMacros),r=_.default.once(function(){"function"==typeof e&&e()}),i=_.default.after(n,r);try{_.default.each(k.default.equationMacros,function(e,a){try{y.evaluateAndSetNumber(a,e,0,i,t)}catch(e){b.default.error("PFSheet.recalcExpressions",e),i()}})}catch(e){b.default.error("PFSheet.recalcExpressions OUTER wtf how did this happen?",e)}finally{r()}}function c(e,t,a){var n=_.default.size(k.default.abilityScoreManualDropdowns),r=_.default.size(k.default.levelPlusBABManualDropdowns),i=_.default.once(function(){"function"==typeof e&&e()}),l=_.default.after(2,i),s=_.default.after(n,l),o=_.default.after(r,l);try{_.default.each(k.default.abilityScoreManualDropdowns,function(e,a){try{I.setDropdownValue(a,e,s,t)}catch(e){b.default.error("PFSheet.recalcDropdowns",e),s()}}),_.default.each(k.default.levelPlusBABManualDropdowns,function(e){try{I.setDropdownValue(e,e+"-mod",o,t)}catch(e){b.default.error("PFSheet.recalcDropdowns",e),o()}})}catch(e){b.default.error("PFSheet.recalcDropdowns OUTER wtf how did this happen?",e)}finally{i()}}function u(e,t,a){var n,r=_.default.size(k.default.customEquationMacros),i=_.default.once(function(){"function"==typeof e&&e()}),l=_.default.after(r,i);try{n=_.default.reduce(k.default.customEquationMacros,function(e,t,a){return e=e.concat([a,t,"buff_"+P.buffToTot[a]+"-total"])},[]),getAttrs(n,function(e){_.default.each(k.default.customEquationMacros,function(a,n){y.evaluateAndAdd(l,t,e[n],a,e[a],e["buff_"+P.buffToTot[n]+"-total"])})})}catch(e){b.default.error("PFCustom.recalculate OUTER wtf how did this happen?",e)}finally{i()}}function d(e,t){var a=_.default.once(function(){"function"==typeof e&&e()}),n=_.default.after(4,function(){setAttrs({migrated_ability_dropdowns4:1},k.default.silentParams,a)}),r=function(){var e,t;return e=Object.keys(k.default.repeatingAttackTypeManualDropdowns),_.default.size(e)?(t=_.default.after(_.default.size(e),n),void e.forEach(function(e){getSectionIDs("repeating_"+e,function(a){var n,r="";return a&&0!==_.default.size(a)?(r="_"+k.default.repeatingAttackTypeManualDropdowns[e],n=a.map(function(t){return"repeating_"+e+"_"+t+r}),void getAttrs(n,function(a){var n,r="";n=Object.keys(a).reduce(function(t,n){try{a[n]&&"0"!==a[n][0]&&(r=a[n].replace("@{","").replace("}",""),r!==a[n]&&(t[n]=r))}catch(t){b.default.error("PFSheet.migrate repeating attacktype dropdowns for: "+e,t)}finally{return t}},{}),_.default.size(n)>0?(b.default.debug("Migrate attack dropdowns setting:",n),setAttrs(n,k.default.silentParams,t)):t()})):(b.default.warn("migrate repeating attacktype Dropdowns, there are no rows for "+e),void t())})})):void n()},i=function(){getSectionIDs("repeating_weapon",function(e){var t;return e&&0!==_.default.size(e)?(t=y.cartesianAppend(["repeating_weapon_"],e,["_damage-ability"]),void getAttrs(t,function(e){var t;try{t=Object.keys(e).reduce(function(t,a){var n="";return e[a]&&"0"!==e[a]&&(n=e[a].replace("@{","").replace("}",""),n!==e[a]&&(t[a]=n)),t},{})}catch(e){b.default.error("PFSheet.migrate repeating ability dropdowns ",e)}finally{_.default.size(t)?(b.default.debug("Migrate repeatingweapon ability dropdowns setting:",t),setAttrs(t,k.default.silentParams,n)):n()}})):void n()})},l=function(){var e=Object.keys(k.default.abilityScoreManualDropdowns);getAttrs(e,function(t){var a={};try{a=e.reduce(function(e,a){var n="";if(t[a])switch(a){case"concentration-0-ability":case"concentration-1-ability":case"concentration-2-ability":case"FF-ability":case"CMD-ability":case"sanity-ability":case"selected-ability-psionic-power":case"melee2-ability":case"ranged2-ability":case"cmb2-ability":n=A.findAbilityInString(t[a])||"0";break;default:n=A.findAbilityInString(t[a])}return!n&&k.default.manualDropdownDefaults[a]&&(n=k.default.manualDropdownDefaults[a]),n&&n!==t[a]&&(e[a]=n),e},{})}catch(e){b.default.error("PFSheet.migrate AbilityModDropdowns ",e)}finally{_.default.size(a)?(b.default.debug("Migrate ability dropdowns setting:",a),setAttrs(a,k.default.silentParams,n)):n()}})},s=function(){var e=E.allTheSkills.map(function(e){return e+"-ability"});getAttrs(e,function(t){var a={};try{a=e.reduce(function(e,a){var n,r="",i="";try{if(t[a]&&t[a].indexOf("@{")>=0)r=t[a].replace("@{","").replace("}","");else if(!/misc/i.test(a)&&(!t[a]||T.abilitymods.indexOf(t[a])<0)){if(n=a.match(/Perform|Profession|Craft|Lore|Artistry|Knowledge/i))switch(n[0]){case"Perform":r="CHA-mod";break;case"Profession":r="WIS-mod";break;case"Craft":case"Knowledge":case"Artistry":case"Lore":r="INT-mod"}r||(i=a.slice(0,-8),r=E.coreSkillAbilityDefaults[i],r||(r=E.consolidatedSkillAbilityDefaults[i]),r&&(r=r.toUpperCase()+"-mod"))}r&&r!==t[a]&&(e[a]=r)}catch(e){b.default.error("Migrate Skill dropdowns error skillerri on "+a,e)}finally{return e}},{})}catch(e){b.default.error("PFSheet.migrate Skills dropdowns ",e)}finally{_.default.size(a)?setAttrs(a,k.default.silentParams,n):(b.default.warn("Migrate skill dropdowns, there was nothing to set!"),n())}})};getAttrs(["migrated_ability_dropdowns4"],function(e){parseInt(e.migrated_ability_dropdowns4,10)?a():(i(),l(),r(),s())})}function p(e){var t=["migrated_skill_dropdowns5","Profession-ability","Profession2-ability","Profession3-ability","Profession4-ability","Profession5-ability","Profession6-ability","Profession7-ability","Profession8-ability","Profession9-ability","Profession10-ability"];getAttrs(t,function(t){var a={},n=0,r=0,i="";try{if(!parseInt(t.migrated_skill_dropdowns5,10))for(a.migrated_skill_dropdowns5=1,r=10;r>0&&(i=r>1?"Profession"+r+"-ability":"Profession-ability","INT-mod"===t[i]);r--)a[i]="WIS-mod",n++}catch(e){b.default.error("PFSheet.migrate Skills dropdowns ",e)}finally{_.default.size(a)?setAttrs(a,k.default.silentParams,e):"function"==typeof e&&e()}})}function f(){on("change:customd1 change:customd2 change:customd3 change:customd4 change:customd5 change:customd6 change:customd1-name change:customd2-name change:customd3-name change:customd4-name change:customd5-name change:customd6-name",b.default.callback(function(e){"player"===e.sourceType&&(b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i(e))})),on("change:use_advanced_options",b.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs(["use_advanced_options"],function(e){parseInt(e.use_advanced_options,10)?l():s()}))})),_.default.each(k.default.abilityScoreManualDropdowns,function(e,t){on("change:"+t,b.default.callback(function(a){"player"!==a.sourceType&&"api"!==a.sourceType||(b.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),I.setDropdownValue(t,e))}))}),_.default.each(k.default.equationMacros,function(e,t){on("change:"+t,b.default.callback(function(a){b.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),y.evaluateAndSetNumber(t,e)}))}),_.default.each(k.default.customEquationMacros,function(e,t){on("change:"+t,b.default.callback(function(a){b.default.debug("caught "+a.sourceAttribute+" event: "+a.sourceType),y.evaluateAndAddAsync(null,null,t,e,"buff_"+t+"-total")}))}),on("change:kineticist_level",b.default.callback(function(e){"player"===e.sourceType&&(b.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),I.setDropdownValue("kineticist_level","kineticist_level-mod"))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.resetCommandMacro=i,t.migrate=d,t.fixProfessionDropdowns=p;var m=a(1),_=r(m),g=(a(4),a(0)),b=r(g),h=a(2),y=n(h),v=a(3),k=r(v),w=a(5),A=n(w),C=a(9),I=n(C),x=a(25),P=n(x),S=a(10),T=n(S),D=a(11),E=n(D);t.recalculate=b.default.callback(function(e,t,a){d(function(){c(function(){p(),o(function(){u(function(){i(e)},t,a)},t,a)},t,a)},a)});f()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=function(){"function"==typeof e&&e()};getAttrs(["use_horror_adventures","sanity_threshold","sanity-ability-mod","sanity_threshold_misc-mod"],function(e){var a=0,n=0,r={};try{parseInt(e.use_horror_adventures,10)&&(a=parseInt(e.sanity_threshold,10)||0,n=(parseInt(e["sanity-ability-mod"],10)||0)+(parseInt(e["sanity_threshold_misc-mod"],10)||0),n=Math.max(1,n),a!==n&&(r.sanity_threshold=n))}catch(e){d.default.error("PFHorror.setSanityThreshold error",e)}finally{c.default.size(r)?_.setWrapper(r,f.default.silentParams,t):t()}})}function l(e){var t=function(){"function"==typeof e&&e()};getAttrs(["use_horror_adventures","sanity_score_max","sanity_edge","sanity_score_misc-mod","WIS","INT","CHA","WIS-damage","INT-damage","CHA-damage","WIS-penalty","INT-penalty","CHA-penalty","buff_WIS-total_penalty","buff_INT-total_penalty","buff_CHA-total_penalty"],function(e){var a=0,n=0,r=0,i={};try{parseInt(e.use_horror_adventures,10)&&(a=parseInt(e.sanity_score_max,10)||0,n=(parseInt(e["sanity_score_misc-mod"],10)||0)+(parseInt(e.WIS,10)||0)+(parseInt(e.INT,10)||0)+(parseInt(e.CHA,10)||0)+(parseInt(e["WIS-damage"],10)||0)+(parseInt(e["INT-damage"],10)||0)+(parseInt(e["CHA-damage"],10)||0)+(parseInt(e["WIS-penalty"],10)||0)+(parseInt(e["INT-penalty"],10)||0)+(parseInt(e["CHA-penalty"],10)||0)+(parseInt(e["buff_WIS-total_penalty"],10)||0)+(parseInt(e["buff_INT-total_penalty"],10)||0)+(parseInt(e["buff_CHA-total_penalty"],10)||0),a!==n&&(r=Math.floor(n/2),i.sanity_score_max=n,i.sanity_edge=r))}catch(e){d.default.error("PFHorror.setSanityScore error",e)}finally{c.default.size(i)?_.setWrapper(i,f.default.silentParams,t):t()}})}function s(){on("change:sanity_score_misc-mod change:WIS change:INT change:CHA change:buff_WIS-total_penalty change:buff_INT-total_penalty change:buff_CHA-total_penalty",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||l()})),on("change:WIS-damage change:INT-damage change:CHA-damage change:WIS-penalty change:INT-penalty change:CHA-penalty",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||l()})),on("change:sanity-ability-mod change:sanity_threshold_misc-mod",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"sheetworker"!==e.sourceType&&"api"!==e.sourceType||i()})),on("change:use_horror_adventures",d.default.callback(function(e){getAttrs(["use_horror_adventures"],function(e){parseInt(e.use_horror_adventures,10)&&(l(),i())})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0;var o=a(1),c=r(o),u=(a(4),a(0)),d=r(u),p=a(3),f=r(p),m=a(2),_=n(m);t.recalculate=d.default.callback(function(e){l(),i(),"function"==typeof e&&(d.default.info("Leaving PFHorror.recalculate"),e())});s()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=u.default.once(function(){"function"==typeof e&&e()});getAttrs(["mythic-tier","mythic-hp","total-mythic-hp"],function(e){var n=0,r=0,i={},l={};try{n=(parseInt(e["mythic-tier"],10)||0)*(parseInt(e["mythic-hp"],10)||0),r=parseInt(e["total-mythic-hp"],10)||0,r!==n&&(i["total-mythic-hp"]=n)}catch(e){p.default.error("PFMythic.updateTierMythicPower error",e)}finally{u.default.size(i)>0?(t&&(l=g.default.silentParams),m.setWrapper(i,l,a)):a()}})}function l(e,t){var a=u.default.once(function(){"function"==typeof e&&e()});getAttrs(["tier-mythic-power","mythic-tier"],function(e){var n,r,i={},l={};try{n=3+2*(parseInt(e["mythic-tier"],10)||0),r=parseInt(e["tier-mythic-power"],10)||0,r!==n&&(i["tier-mythic-power"]=n)}catch(e){p.default.error("PFMythic.updateTierMythicPower error",e)}finally{u.default.size(i)>0?(t&&(l=g.default.silentParams),m.setWrapper(i,l,a)):a()}})}function s(e){"function"==typeof e&&e()}function o(){on("change:mythic-tier change:mythic-hp",p.default.callback(function(e){p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||(i(),l())})),on("change:mythic-hp",p.default.callback(function(e){p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||i()})),on("change:misc-mythic-power change:tier-mythic-power",p.default.callback(function(e){p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),("player"===e.sourceType||"api"===e.sourceType||"sheetworker"===e.sourceType||"api"===e.sourceType&&"tier-mythic-power"===e.sourceAttribute)&&m.updateRowTotal(["mythic-power_max","tier-mythic-power","misc-mythic-power"])}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.migrate=s;var c=a(1),u=r(c),d=(a(4),a(0)),p=r(d),f=a(2),m=n(f),_=a(3),g=r(_);t.recalculate=p.default.callback(function(e,t,a){var n=u.default.once(function(){p.default.info("leaving PFMythic.recalculate"),"function"==typeof e&&e()});getAttrs(["mythic-adventures-show"],function(e){try{1===parseInt(e["mythic-adventures-show"],10)?(i(n,t),l()):n()}catch(e){p.default.error("PFMythic.recalculate",e),n()}})});o()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=c.default.once(function(){"function"==typeof e&&e()});getAttrs(["npc-hd","PFSheet_Version","npc-hd-num","level","hp","hp_max","is_newsheet","npc-type"],function(e){parseInt(e.is_newsheet,10)||0===(parseInt(e.PFSheet_Version,10)||0)||!(e["npc-type"]||parseInt(e["npc-hd"],10)||parseInt(e["npc-hd-num"],10)||parseInt(e.level,10)||parseInt(e.hp,10)||parseInt(e.hp_max,10))?b.setWrapper({auto_calc_hp:1,autohp_percent:1,maxhp_lvl1:0,normal_macro_show:1,"max-dex-source":3,both_whisper_show:1,use_traits:0,use_racial_traits:0,tab:8,is_v1:1,"npc-compimport-show":1},f.default.silentParams,a):a()})}function l(e){_.migrateNPC(e)}function s(){on("change:is_npc",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||getAttrs(["is_npc"],function(t){1===parseInt(t.is_npc,10)&&i(e)})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.setToNPC=i,t.migrate=l;var o=a(1),c=r(o),u=(a(4),a(0)),d=r(u),p=a(3),f=r(p),m=a(6),_=n(m),g=a(2),b=n(g);t.recalculate=d.default.callback(function(e,t,a){var n=c.default.once(function(){d.default.info("leaving PFNPC.recalculate"),"function"==typeof e&&e()});l(n)});s()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,a){getAttrs(["kineticist_level-mod","kineticist_ability-mod","kineticblast_dc"],function(t){var a={},n=0,r=0;n=parseInt(t.kineticblast_dc,10)||0,r=10+(parseInt(t["kineticist_ability-mod"],10)||0)+Math.floor((parseInt(t["kineticist_level-mod"],10)||0)/2),n!==r?(a.kineticblast_dc=r,m.setWrapper(a,g.default.silentParams,e)):"function"==typeof e&&e()})}function l(e){getAttrs(["kineticblast_attack_type","kineticblast_type","kineticblast_damage_type","use_devastating_infusion"],function(e){var t="",a="",n="",r=0,i=0,l="6",s={};r=parseInt(e.use_devastating_infusion,10)||0,"composite"===e.kineticblast_type&&(i=1),!r||"ranged"!==e.kineticblast_attack_type&&"energy"!==e.kineticblast_damage_type?(t="@{kineticblast_attack-mod}+@{buff_kineticblast-total}",r?(l="8",n="@{kineticist_level-mod}"):n="floor((@{kineticist_level-mod}+1)/2)",i&&(n="2*"+n),a="[[ "+n+" ]]d"+l,r?a+="+ @{kineticist_ability-mod}":"physical"===e.kineticblast_damage_type?a=a+"+ [[ "+n+" ]] + @{kineticist_ability-mod}":a+="+ [[ floor(@{kineticist_ability-mod}/2) ]]",a+="+@{kineticblast_dmg-mod}","ranged"===e.kineticblast_attack_type&&(a+="+@{buff_dmg_kineticblast-total}")):(a="INVALID",t="INVALID"),s.kineticblast_tempattack=t,s.kineticblast_tempdmg="[[ "+a+" ]]",s.create_kineticblast_macro=0,m.setWrapper(s,g.default.silentParams)})}function s(e){getAttrs(["adv_macro_show","create_kineticblast_attack","kineticblast_attack_type","kineticblast_type","kineticblast_damage_type","kineticblast_tempattack","kineticblast_tempdmg"],function(e){var t="",a="",n={},r="",i="";if(parseInt(e.create_kineticblast_attack,10))try{a=generateRowID(),t="repeating_weapon_"+a+"_",r=e.kineticblast_type+"-"+e.kineticblast_damage_type+"-",r+="ranged"===e.kineticblast_attack_type?"blast":"blade",r=m.getTranslated(r),r=r.replace("-"," "),n[t+"name"]=r,"physical"===e.kineticblast_damage_type?(n[t+"vs"]="AC",i=m.getTranslated("physical")):(n[t+"vs"]="touch",i=m.getTranslated("energy")),parseInt(e.adv_macro_show)?n[t+"attack_macro_insert"]=e.kineticblast_tempattack:n[t+"attack"]=e.kineticblast_tempattack,"ranged"===e.kineticblast_attack_type?(n[t+"attack-type"]="attk-ranged",n[t+"range"]="@{kineticblast_range}",n[t+"isranged"]=1):n[t+"attack-type"]="attk-melee",n[t+"precision_dmg_macro"]=e.kineticblast_tempdmg,n[t+"precision_dmg_type"]=i,n[t+"critical_dmg_macro"]=e.kineticblast_tempdmg,n[t+"critical_dmg_type"]=i,n[t+"notes"]="DC [[@{kineticblast_dc}]] (if applicable)",n[t+"default_damage-dice-num"]=0,n[t+"default_damage-die"]=0,n[t+"damage-dice-num"]=0,n[t+"damage-die"]=0,n[t+"size_affects"]=0,n[t+"damage-ability"]="0"}catch(t){p.default.error("PFAttacks.createAttack err creating "+e.kineticblast_attack_type,t)}finally{u.default.size(n)?(n.create_kineticblast_attack=0,m.setWrapper(n,g.default.silentParams,function(){h.recalcRepeatingWeapon(a,function(){v.resetCommandMacro(),w.resetOption(a)})})):m.setWrapper({create_kineticblast_attack:0},g.default.silentParams)}})}function o(e){getAttrs(["non-lethal-damage","kineticistburn","oldkineticistburn","level"],function(e){var t=0,a=0,n=0,r=0,i=0,l=0,s=0,o={};try{a=parseInt(e.oldkineticistburn,10)||0,n=parseInt(e.kineticistburn,10)||0,a!==n&&(o.oldkineticistburn=n,t=parseInt(e["non-lethal-damage"],10)||0,r=n-a||0,i=parseInt(e.level,10)||0,l=r*i,p.default.debug("PFOccult.change:kineticistburn level:"+i+", newdmg:"+l+", curr nld:"+t,e),s=t+l,s<0&&(s=0),o["non-lethal-damage"]=s)}catch(e){p.default.error("PFOccult.change:kineticistburn kineticburn",e)}finally{u.default.size(o)&&m.setWrapper(o,g.default.silentParams)}})}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.updateNLDamageFromBurn=o;var c=a(1),u=r(c),d=(a(4),a(0)),p=r(d),f=a(2),m=n(f),_=a(3),g=r(_),b=a(7),h=n(b),y=a(8),v=n(y),k=a(12),w=n(k),A=t.recalculate=p.default.callback(function(e,t,a){getAttrs(["use_burn"],function(t){parseInt(t.use_burn,10)&&i(),"function"==typeof e&&(p.default.info("leaving PFOccult.recalculate"),e())})});on("change:create_kineticblast_macro",p.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),getAttrs(["create_kineticblast_macro"],function(t){parseInt(t.create_kineticblast_macro,10)&&l(e)}))})),on("change:kineticist_level-mod change:kineticist_ability-mod",p.default.callback(function(e){"sheetworker"!==e.sourceType&&"api"!==e.sourceType||(p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i(null,null,e))})),on("change:use_burn",p.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),A())})),on("change:create_kineticblast_attack",p.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),s(e))})),on("change:kineticistburn",p.default.callback(function(e){"player"!==e.sourceType&&"api"!==e.sourceType||(p.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),o(e))}))},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var a=c.default.once(function(){"function"==typeof e&&e()});f.getDropdownValue("selected-ability-psionic-power",null,function(e){getAttrs(["psionic-level-total","ability-psionic-power"],function(n){var r=0,i=0,l=0,s={};try{r=parseInt(e,10)||0,i=parseInt(n["ability-psionic-power"],10)||0,l=Math.floor(r*(parseInt(n["psionic-level-total"],10)||0)*.5),d.default.debug("PFSIONIC ability="+r,"newTotal="+l,"currentTotal="+i),i!==l&&(t&&(s=_.default.silentParams),f.setWrapper({"ability-psionic-power":l},s,a))}catch(e){d.default.error("PFPsionic.updatePsionicBonusPower",e)}finally{a()}})})}function l(e){"function"==typeof e&&e()}function s(){on("change:psionic-level change:psionic-level-misc",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),"player"!==e.sourceType&&"api"!==e.sourceType||f.updateRowTotal(["psionic-level-total","psionic-level","psionic-level-misc"])})),on("change:class-psionic-power change:ability-psionic-power change:misc-psionic-power",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),("player"===e.sourceType||"api"===e.sourceType||"sheetworker"===e.sourceType||"api"===e.sourceType&&"ability-psionic-power"===e.sourceAttribute)&&f.updateRowTotal(["psionic-power_max","class-psionic-power","ability-psionic-power","misc-psionic-power"]); +})),on("change:selected-ability-psionic-power change:psionic-level-total",d.default.callback(function(e){d.default.debug("caught "+e.sourceAttribute+" event: "+e.sourceType),i()}))}Object.defineProperty(t,"__esModule",{value:!0}),t.recalculate=void 0,t.migrate=l;var o=a(1),c=r(o),u=(a(4),a(0)),d=r(u),p=a(2),f=n(p),m=a(3),_=r(m);t.recalculate=d.default.callback(function(e,t,a){var n=c.default.once(function(){d.default.info("Leaving PFPsionic.recalculate"),"function"==typeof e&&e()});getAttrs(["psionics-show"],function(e){try{1===parseInt(e["psionics-show"],10)?i(n,t):n()}catch(e){d.default.error("PFPsionic.recalculate",e),n()}})});s()},function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function r(e){return e&&e.__esModule?e:{default:e}}var i=a(0),l=r(i),s=a(4),o=a(3),c=r(o),u=a(19),d=(n(u),a(32)),p=(n(d),a(33)),f=(n(p),a(34));n(f);l.default.config({logging:{info:!1,debug:!1}}),s.PFConsole.log(" ,## /## "),s.PFConsole.log(" /#/ / ## "),s.PFConsole.log(" / / / ## "),s.PFConsole.log(" | ##___#/ "),s.PFConsole.log(" | ## athfinder "),s.PFConsole.log(" # | ## sheet version "),s.PFConsole.log(" ### / "+("0000"+c.default.version.toFixed(2)).slice(-5)+" "),s.PFConsole.log(" ")}]); \ No newline at end of file