@maka/maka-cli 4.6.4 → 4.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/bundle/obf/package.json +1 -1
  2. package/bundle/obf/src/command.js +1 -1
  3. package/bundle/obf/src/commands/_index.js +1 -1
  4. package/bundle/obf/src/commands/ai.js +1 -1
  5. package/bundle/obf/src/commands/aws/_index.js +1 -1
  6. package/bundle/obf/src/commands/aws/aws.command.js +1 -1
  7. package/bundle/obf/src/commands/aws/chz.sub.cmd.js +1 -1
  8. package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -1
  9. package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -1
  10. package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -1
  11. package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -1
  12. package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -1
  13. package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -1
  14. package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -1
  15. package/bundle/obf/src/commands/aws/rdn.sub.cmd.js +1 -1
  16. package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -1
  17. package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -1
  18. package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -1
  19. package/bundle/obf/src/commands/build/_index.js +1 -1
  20. package/bundle/obf/src/commands/build/build.js +1 -1
  21. package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -1
  22. package/bundle/obf/src/commands/create.js +1 -1
  23. package/bundle/obf/src/commands/debug.js +1 -1
  24. package/bundle/obf/src/commands/deploy.js +1 -1
  25. package/bundle/obf/src/commands/game/_index.js +1 -1
  26. package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -1
  27. package/bundle/obf/src/commands/game/play.command.js +1 -1
  28. package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -1
  29. package/bundle/obf/src/commands/game/sideQuest/commands/command.js +1 -1
  30. package/bundle/obf/src/commands/game/sideQuest/commands/drop.js +1 -1
  31. package/bundle/obf/src/commands/game/sideQuest/commands/equip.js +1 -1
  32. package/bundle/obf/src/commands/game/sideQuest/commands/go.js +1 -1
  33. package/bundle/obf/src/commands/game/sideQuest/commands/lock.js +1 -1
  34. package/bundle/obf/src/commands/game/sideQuest/commands/look.js +1 -1
  35. package/bundle/obf/src/commands/game/sideQuest/commands/say.js +1 -1
  36. package/bundle/obf/src/commands/game/sideQuest/commands/search.js +1 -1
  37. package/bundle/obf/src/commands/game/sideQuest/commands/solve.js +1 -1
  38. package/bundle/obf/src/commands/game/sideQuest/commands/take.js +1 -1
  39. package/bundle/obf/src/commands/game/sideQuest/commands/unequip.js +1 -1
  40. package/bundle/obf/src/commands/game/sideQuest/commands/unlock.js +1 -1
  41. package/bundle/obf/src/commands/game/sideQuest/commands/use.js +1 -1
  42. package/bundle/obf/src/commands/game/sideQuest/factories/commandF.js +1 -1
  43. package/bundle/obf/src/commands/game/sideQuest/factories/roomsF.js +1 -1
  44. package/bundle/obf/src/commands/game/sideQuest/game.js +1 -1
  45. package/bundle/obf/src/commands/game/sideQuest/models/_index.js +1 -1
  46. package/bundle/obf/src/commands/game/sideQuest/models/door.js +1 -1
  47. package/bundle/obf/src/commands/game/sideQuest/models/inventory.js +1 -1
  48. package/bundle/obf/src/commands/game/sideQuest/models/item.js +1 -1
  49. package/bundle/obf/src/commands/game/sideQuest/models/npc.js +1 -1
  50. package/bundle/obf/src/commands/game/sideQuest/models/player.js +1 -1
  51. package/bundle/obf/src/commands/game/sideQuest/models/puzzle.js +1 -1
  52. package/bundle/obf/src/commands/game/sideQuest/models/room.js +1 -1
  53. package/bundle/obf/src/commands/game/sideQuest/models/scene.js +1 -1
  54. package/bundle/obf/src/commands/game/sideQuest/scenes/items.js +1 -1
  55. package/bundle/obf/src/commands/game/sideQuest/scenes/rooms.js +1 -1
  56. package/bundle/obf/src/commands/game/sideQuest/types/abstracts.js +1 -1
  57. package/bundle/obf/src/commands/game/sideQuest/types/enums.js +1 -1
  58. package/bundle/obf/src/commands/game/sideQuest/types/interfaces.js +1 -1
  59. package/bundle/obf/src/commands/game/sideQuest/types/types.js +1 -1
  60. package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -1
  61. package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -1
  62. package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -1
  63. package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -1
  64. package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -1
  65. package/bundle/obf/src/commands/generate.js +1 -1
  66. package/bundle/obf/src/commands/get/_index.js +1 -1
  67. package/bundle/obf/src/commands/get/get.command.js +1 -1
  68. package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -1
  69. package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -1
  70. package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -1
  71. package/bundle/obf/src/commands/help.js +1 -1
  72. package/bundle/obf/src/commands/install.js +1 -1
  73. package/bundle/obf/src/commands/jsdoc.js +1 -1
  74. package/bundle/obf/src/commands/lint.js +1 -1
  75. package/bundle/obf/src/commands/login.js +1 -1
  76. package/bundle/obf/src/commands/logout.js +1 -1
  77. package/bundle/obf/src/commands/logs.js +1 -1
  78. package/bundle/obf/src/commands/maka.cmd.js +1 -1
  79. package/bundle/obf/src/commands/murder.js +1 -1
  80. package/bundle/obf/src/commands/proxy.js +1 -1
  81. package/bundle/obf/src/commands/reconfig.js +1 -1
  82. package/bundle/obf/src/commands/run/_index.js +1 -1
  83. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
  84. package/bundle/obf/src/commands/run/run.command.js +1 -1
  85. package/bundle/obf/src/commands/set/_index.js +1 -1
  86. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
  87. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
  88. package/bundle/obf/src/commands/set/set.command.js +1 -1
  89. package/bundle/obf/src/commands/ssh.js +1 -1
  90. package/bundle/obf/src/commands/ssl.js +1 -1
  91. package/bundle/obf/src/commands/test.js +1 -1
  92. package/bundle/obf/src/commands/version.js +1 -1
  93. package/bundle/obf/src/error.js +1 -1
  94. package/bundle/obf/src/exec.js +1 -1
  95. package/bundle/obf/src/generator.js +1 -1
  96. package/bundle/obf/src/generators/_index.js +1 -1
  97. package/bundle/obf/src/generators/api.js +1 -1
  98. package/bundle/obf/src/generators/collection.js +1 -1
  99. package/bundle/obf/src/generators/component.js +1 -1
  100. package/bundle/obf/src/generators/config.js +1 -1
  101. package/bundle/obf/src/generators/dbc.js +1 -1
  102. package/bundle/obf/src/generators/dockerfile.js +1 -1
  103. package/bundle/obf/src/generators/hook.js +1 -1
  104. package/bundle/obf/src/generators/kit.js +1 -1
  105. package/bundle/obf/src/generators/layout.js +1 -1
  106. package/bundle/obf/src/generators/maka.gen.js +1 -1
  107. package/bundle/obf/src/generators/methods.js +1 -1
  108. package/bundle/obf/src/generators/package.js +1 -1
  109. package/bundle/obf/src/generators/page.js +1 -1
  110. package/bundle/obf/src/generators/publish.js +1 -1
  111. package/bundle/obf/src/generators/route.js +1 -1
  112. package/bundle/obf/src/generators/service.js +1 -1
  113. package/bundle/obf/src/generators/services/_index.js +1 -1
  114. package/bundle/obf/src/generators/services/openssl.js +1 -1
  115. package/bundle/obf/src/generators/services/translation.js +1 -1
  116. package/bundle/obf/src/maka.js +1 -1
  117. package/bundle/obf/src/tool.js +1 -1
  118. package/bundle/obf/src/tools/actions/actions.class.js +1 -1
  119. package/bundle/obf/src/tools/aws/aws.class.js +1 -1
  120. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
  121. package/bundle/obf/src/tools/docker/docker.class.js +1 -1
  122. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
  123. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
  124. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
  125. package/bundle/obf/src/tools/https/https.class.js +1 -1
  126. package/bundle/obf/src/tools/https/https.interface.js +1 -1
  127. package/bundle/obf/src/tools/https/progress.class.js +1 -1
  128. package/bundle/obf/src/tools/log/log.class.js +1 -1
  129. package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
  130. package/bundle/obf/src/tools/options/options.class.js +1 -1
  131. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
  132. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
  133. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
  134. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
  135. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
  136. package/package.json +1 -1
@@ -1 +1 @@
1
- const a36h=a36d;(function(a,b){const f=a36d,c=a();while(!![]){try{const d=-parseInt(f(0x18d))/0x1*(-parseInt(f(0x18a))/0x2)+-parseInt(f(0x17e))/0x3+parseInt(f(0x183))/0x4*(-parseInt(f(0x186))/0x5)+-parseInt(f(0x190))/0x6*(parseInt(f(0x19b))/0x7)+-parseInt(f(0x191))/0x8*(parseInt(f(0x19c))/0x9)+-parseInt(f(0x17a))/0xa+parseInt(f(0x177))/0xb*(parseInt(f(0x188))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x6b3c4));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const g=a36d;return a36a[g(0x182)]()['search'](g(0x185))[g(0x182)]()[g(0x187)](a36a)[g(0x196)](g(0x185));});a36a();import{Command}from'./command.js';export class TakeCommand extends Command{static ['verb']=a36h(0x19d);static [a36h(0x176)]=a36h(0x179);['execute'](a){const i=a36h;return this[i(0x178)][i(0x197)](i(0x193)+a[i(0x195)]('\x20')),this[i(0x19d)](a);}[a36h(0x19d)](a){const j=a36h,b=a['join']('\x20')[j(0x198)](),c=this[j(0x18e)][j(0x189)];if(!c[j(0x199)]['hasItem'](b))return this['logger'][j(0x197)]('Item\x20\x22'+b+j(0x194)+c[j(0x19e)]+j(0x184)),j(0x180)+b+'\x22\x20in\x20this\x20room.';const d=c[j(0x199)][j(0x19a)](b);if(!d)return this['logger'][j(0x197)](j(0x181)+b+j(0x18c)+c[j(0x19e)]+j(0x18b)),'There\x20is\x20no\x20item\x20\x22'+b+j(0x192);try{return this[j(0x18e)]['addInventory'](d),this['logger'][j(0x197)]('Successfully\x20added\x20\x22'+b+'\x22\x20to\x20'+this['actor'][j(0x19e)]+j(0x19f)),c[j(0x199)][j(0x17c)](b),this[j(0x178)][j(0x197)]('Successfully\x20removed\x20\x22'+b+j(0x17f)+c['name']+j(0x18b)),j(0x18f)+b+'.';}catch(e){return this[j(0x178)][j(0x197)]('Error\x20during\x20\x27Take\x27\x20command:\x20'+e[j(0x17d)]),'The\x20item\x20\x22'+b+j(0x17b);}}}function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x176;let f=c[d];return f;},a36d(a,b);}function a36c(){const k=['\x22\x20in\x20this\x20room.','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','\x22\x20not\x20found\x20in\x20','join','search','write','toLowerCase','inventory','getItem','21IucVUr','9990XjTyvQ','take','name','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','description','7183qgjmcz','logger','Pick\x20up\x20an\x20item.','3181530ISudzH','\x22\x20is\x20too\x20heavy\x20to\x20carry.','removeItem','message','1199217IECeus','\x22\x20from\x20','There\x20is\x20no\x20item\x20\x22','Item\x20\x22','toString','4JalSsb','\x20during\x20\x27Take\x27\x20command.','(((.+)+)+)+$','3100015HzOUBy','constructor','52104PQJWZP','currentLocation','4ZSrRRw','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','\x22\x20not\x20retrieved\x20from\x20','244847mqPAwu','actor','You\x20have\x20taken\x20the\x20','1590618aRnqYS','5424jbBPXa'];a36c=function(){return k;};return a36c();}
1
+ const a36i=a36d;(function(a,b){const f=a36d,c=a();while(!![]){try{const d=-parseInt(f(0x124))/0x1+parseInt(f(0x126))/0x2+-parseInt(f(0x108))/0x3+parseInt(f(0x12a))/0x4+-parseInt(f(0x117))/0x5+-parseInt(f(0x105))/0x6*(-parseInt(f(0x115))/0x7)+-parseInt(f(0x11e))/0x8*(-parseInt(f(0x113))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x62ab5));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0x123)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a[h(0x10e)]()[h(0x111)](h(0x10d))[h(0x10e)]()[h(0x119)](a36a)[h(0x111)]('(((.+)+)+)+$');});a36a();function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x104;let f=c[d];return f;},a36d(a,b);}function a36c(){const l=['hasItem','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','Successfully\x20added\x20\x22','verb','apply','266514FZLUbZ','\x20during\x20\x27Take\x27\x20command.','971974ltunmN','inventory','The\x20item\x20\x22','You\x20have\x20taken\x20the\x20','738892TSoUnK','Item\x20\x22','join','1577934XUzKLq','addInventory','toLowerCase','1447794bqORVY','actor','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','take','description','(((.+)+)+)+$','toString','currentLocation','Successfully\x20removed\x20\x22','search','write','39132MQEgWO','message','7QmZPeo','\x22\x20is\x20too\x20heavy\x20to\x20carry.','3750210vLGBDo','logger','constructor','There\x20is\x20no\x20item\x20\x22','\x22\x20to\x20','\x22\x20in\x20this\x20room.','name','1784bVUncj'];a36c=function(){return l;};return a36c();}import{Command}from'./command.js';export class TakeCommand extends Command{static [a36i(0x122)]='take';static [a36i(0x10c)]='Pick\x20up\x20an\x20item.';['execute'](a){const j=a36i;return this['logger']['write'](j(0x120)+a[j(0x104)]('\x20')),this[j(0x10b)](a);}[a36i(0x10b)](a){const k=a36i,b=a[k(0x104)]('\x20')[k(0x107)](),c=this[k(0x109)][k(0x10f)];if(!c['inventory'][k(0x11f)](b))return this[k(0x118)][k(0x112)](k(0x12b)+b+'\x22\x20not\x20found\x20in\x20'+c[k(0x11d)]+k(0x125)),k(0x11a)+b+'\x22\x20in\x20this\x20room.';const d=c[k(0x127)]['getItem'](b);if(!d)return this['logger'][k(0x112)](k(0x12b)+b+'\x22\x20not\x20retrieved\x20from\x20'+c[k(0x11d)]+'\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.'),k(0x11a)+b+k(0x11c);try{return this['actor'][k(0x106)](d),this['logger'][k(0x112)](k(0x121)+b+k(0x11b)+this[k(0x109)][k(0x11d)]+k(0x10a)),c[k(0x127)]['removeItem'](b),this['logger'][k(0x112)](k(0x110)+b+'\x22\x20from\x20'+c[k(0x11d)]+'\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.'),k(0x129)+b+'.';}catch(e){return this[k(0x118)][k(0x112)]('Error\x20during\x20\x27Take\x27\x20command:\x20'+e[k(0x114)]),k(0x128)+b+k(0x116);}}}
@@ -1 +1 @@
1
- const a37i=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=-parseInt(f(0xd1))/0x1*(parseInt(f(0xd6))/0x2)+-parseInt(f(0xd8))/0x3+parseInt(f(0xd0))/0x4*(-parseInt(f(0xd4))/0x5)+parseInt(f(0xd2))/0x6+-parseInt(f(0xcd))/0x7+parseInt(f(0xdc))/0x8+-parseInt(f(0xcf))/0x9*(-parseInt(f(0xcb))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0x49fe1));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0xd7)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a['toString']()[h(0xdd)](h(0xda))[h(0xd5)]()[h(0xdb)](a37a)[h(0xdd)](h(0xda));});function a37c(){const k=['\x20unqeuiped\x20','unqeuip','logger','3343430mxGFcv','unequip','2359224FqhEyC','join','18HrYlyB','188cmpHQR','229945mBeMOl','3081126lXkiDM','actor','14765ogUjUJ','toString','4xiGGjg','apply','1019808lFGRMh','Unequip\x20an\x20item.','(((.+)+)+)+$','constructor','3172120SoDjrE','search','toLowerCase'];a37c=function(){return k;};return a37c();}a37a();import{Command}from'./command.js';function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0xcb;let f=c[d];return f;},a37d(a,b);}export class UnequipCommand extends Command{static ['verb']=a37i(0xe0);static ['description']=a37i(0xd9);['execute'](a){const j=a37i,b=a[j(0xce)]('\x20')[j(0xde)](),c=this[j(0xd3)][j(0xcc)](b);return this[j(0xe1)]['write']('UnequipCommand:\x20'+this['actor']['name']+j(0xdf)+c),c;}}
1
+ const a37h=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=-parseInt(f(0xdc))/0x1+-parseInt(f(0xcc))/0x2*(-parseInt(f(0xcf))/0x3)+parseInt(f(0xde))/0x4+-parseInt(f(0xdd))/0x5+parseInt(f(0xe0))/0x6+parseInt(f(0xd9))/0x7*(parseInt(f(0xd1))/0x8)+-parseInt(f(0xc9))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0x2d6c7));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const g=a37d;return a37a[g(0xd4)]()['search'](g(0xcd))[g(0xd4)]()[g(0xcb)](a37a)[g(0xdb)](g(0xcd));});a37a();import{Command}from'./command.js';function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0xc9;let f=c[d];return f;},a37d(a,b);}export class UnequipCommand extends Command{static [a37h(0xd3)]=a37h(0xdf);static [a37h(0xd8)]=a37h(0xd2);['execute'](a){const i=a37h,b=a[i(0xd5)]('\x20')[i(0xd0)](),c=this['actor']['unequip'](b);return this[i(0xd6)][i(0xce)](i(0xda)+this['actor'][i(0xca)]+i(0xd7)+c),c;}}function a37c(){const j=['Unequip\x20an\x20item.','verb','toString','join','logger','\x20unqeuiped\x20','description','21ZYSNPL','UnequipCommand:\x20','search','341786AUBrgT','1180660iAoXzR','1008540xVVCmT','unqeuip','1247424jCFTsM','532809sNWifA','name','constructor','1656IyZvYU','(((.+)+)+)+$','write','18nRYmNX','toLowerCase','955112yTzpeQ'];a37c=function(){return j;};return a37c();}
@@ -1 +1 @@
1
- function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0x1bf;let f=c[d];return f;},a38d(a,b);}const a38k=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=parseInt(h(0x1cf))/0x1+parseInt(h(0x1c6))/0x2*(-parseInt(h(0x1d2))/0x3)+-parseInt(h(0x1d6))/0x4+parseInt(h(0x1e2))/0x5+parseInt(h(0x1bf))/0x6+-parseInt(h(0x1da))/0x7+-parseInt(h(0x1ca))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0xf0e92));const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0x1d9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0x1cd)]()[j(0x1d1)]('(((.+)+)+)+$')[j(0x1cd)]()['constructor'](a38a)[j(0x1d1)]('(((.+)+)+)+$');});a38a();import{Door}from'../models/door.js';import{Command}from'./command.js';function a38c(){const m=['logger','apply','2243409TTbkxO','execute','.\x20Result:\x20','getItem','hasItem','attemptUnlockExit','error','Unlock\x20a\x20door.','9727320WKlDAW','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','UnlockCommand:\x20','currentLocation','name','2301660eKPWum','isValidDirection','actor','get','\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','exits','inventory','218iBVqcS','length','UnlockCommand:\x20No\x20target\x20specified.','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','20797360GSOohV','There\x27s\x20no\x20door\x20named\x20\x22','has','toString','\x22\x20here.','1693997JwPsWh','\x20is\x20attempted\x20to\x20unlock\x20','search','801OhIlFd','unlock','toLowerCase','write','348164spUJaI','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'];a38c=function(){return m;};return a38c();}export class UnlockCommand extends Command{static ['verb']=a38k(0x1d3);static ['description']=a38k(0x1e1);[a38k(0x1db)](a){return this['unlock'](a);}[a38k(0x1d3)](a){const l=a38k;if(a[l(0x1c7)]===0x0)return this[l(0x1d8)][l(0x1e0)](l(0x1c8)),l(0x1e3);const b=a[0x0][l(0x1d4)](),c=this[l(0x1c1)][l(0x1e5)];if(this[l(0x1c0)](b)&&c[l(0x1c4)][l(0x1cc)](b)){const d=c[l(0x1c4)][l(0x1c2)](b);if(d instanceof Door){const e=d['unlockItemOrSolution']?.[l(0x1d4)]();if(e&&this[l(0x1c1)][l(0x1c5)][l(0x1de)](e)){const f=this[l(0x1c1)]['inventory'][l(0x1dd)](e);if(f){const g=c[l(0x1df)](b,f[l(0x1e6)]);return this['logger'][l(0x1d5)]('UnlockCommand:\x20'+this[l(0x1c1)][l(0x1e6)]+l(0x1d0)+b+l(0x1dc)+g),g;}}return this['logger'][l(0x1d5)](l(0x1e4)+this[l(0x1c1)][l(0x1e6)]+l(0x1c3)+b+'.'),l(0x1c9);}else return this[l(0x1d8)][l(0x1d5)](l(0x1e4)+b+l(0x1d7)+c[l(0x1e6)]+'.'),l(0x1cb)+b+l(0x1ce);}else return this[l(0x1d8)][l(0x1d5)](l(0x1e4)+b+l(0x1d7)+c['name']+'.'),l(0x1cb)+b+'\x22\x20here.';}}
1
+ function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0x65;let f=c[d];return f;},a38d(a,b);}const a38j=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=-parseInt(h(0x78))/0x1+-parseInt(h(0x82))/0x2*(-parseInt(h(0x8a))/0x3)+-parseInt(h(0x80))/0x4+-parseInt(h(0x88))/0x5+-parseInt(h(0x71))/0x6+parseInt(h(0x89))/0x7+-parseInt(h(0x83))/0x8*(-parseInt(h(0x7d))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0x1cc17));function a38c(){const m=['8MfmRoF','exits','\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','(((.+)+)+)+$','attemptUnlockExit','301705GeJumc','643601vhpSqW','3TJBwYJ','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','getItem','actor','verb','inventory','\x20is\x20attempted\x20to\x20unlock\x20','has','execute','write','Unlock\x20a\x20door.','UnlockCommand:\x20No\x20target\x20specified.','currentLocation','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','toLowerCase','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','881370UwKUPf','unlock','search','unlockItemOrSolution','.\x20Result:\x20','toString','description','94571dpzHHW','UnlockCommand:\x20','There\x27s\x20no\x20door\x20named\x20\x22','name','logger','4371579Rqtzlh','get','\x22\x20here.','800732ExJPZq','isValidDirection','84198zoXeJl'];a38c=function(){return m;};return a38c();}const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const i=a38d;return a38a[i(0x76)]()[i(0x73)](i(0x86))[i(0x76)]()['constructor'](a38a)[i(0x73)](i(0x86));});a38a();import{Door}from'../models/door.js';import{Command}from'./command.js';export class UnlockCommand extends Command{static [a38j(0x65)]=a38j(0x72);static [a38j(0x77)]=a38j(0x6b);[a38j(0x69)](a){const k=a38j;return this[k(0x72)](a);}['unlock'](a){const l=a38j;if(a['length']===0x0)return this[l(0x7c)]['error'](l(0x6c)),l(0x6e);const b=a[0x0][l(0x6f)](),c=this[l(0x8d)][l(0x6d)];if(this[l(0x81)](b)&&c[l(0x84)][l(0x68)](b)){const d=c[l(0x84)][l(0x7e)](b);if(d instanceof Door){const e=d[l(0x74)]?.['toLowerCase']();if(e&&this['actor'][l(0x66)]['hasItem'](e)){const f=this[l(0x8d)]['inventory'][l(0x8c)](e);if(f){const g=c[l(0x87)](b,f['name']);return this[l(0x7c)][l(0x6a)](l(0x79)+this['actor'][l(0x7b)]+l(0x67)+b+l(0x75)+g),g;}}return this[l(0x7c)]['write']('UnlockCommand:\x20'+this[l(0x8d)][l(0x7b)]+l(0x85)+b+'.'),l(0x8b);}else return this[l(0x7c)][l(0x6a)](l(0x79)+b+l(0x70)+c[l(0x7b)]+'.'),l(0x7a)+b+l(0x7f);}else return this[l(0x7c)][l(0x6a)](l(0x79)+b+l(0x70)+c[l(0x7b)]+'.'),'There\x27s\x20no\x20door\x20named\x20\x22'+b+'\x22\x20here.';}}
@@ -1 +1 @@
1
- const a39h=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=-parseInt(f(0x1e5))/0x1*(parseInt(f(0x1fe))/0x2)+-parseInt(f(0x1fd))/0x3*(parseInt(f(0x200))/0x4)+-parseInt(f(0x1fa))/0x5+parseInt(f(0x1e9))/0x6*(-parseInt(f(0x1f6))/0x7)+parseInt(f(0x1fc))/0x8*(-parseInt(f(0x1ed))/0x9)+parseInt(f(0x203))/0xa+parseInt(f(0x201))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0x20edb));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const g=a39d;return a39a[g(0x1e4)]()[g(0x1e6)]('(((.+)+)+)+$')['toString']()['constructor'](a39a)['search']('(((.+)+)+)+$');});a39a();function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x1e4;let f=c[d];return f;},a39d(a,b);}import{Command}from'./command.js';function a39c(){const j=['function','actor','name','80115qIjRPH',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','\x20used\x20','\x20to\x20use.','783040qMjvXY','\x20attempted\x20to\x20use\x20','88dFnlAt','1539dAssgo','253104itiJwh','UseCommand:\x20','712WhhPUd','5042917swEUFG','logger','1933220uwVYOH','inventory','toString','1wXWeOW','search','toLowerCase','Use\x20an\x20item.','30GkdAOP','write','You\x20don\x27t\x20have\x20the\x20','use','69705fFZfDU','execute','\x20not\x20retrieved\x20from\x20','getItem','You\x20can\x27t\x20use\x20the\x20','verb'];a39c=function(){return j;};return a39c();}export class UseCommand extends Command{static [a39h(0x1f2)]=a39h(0x1ec);static ['description']=a39h(0x1e8);[a39h(0x1ee)](a){return this['use'](a);}[a39h(0x1ec)](a){const i=a39h,b=a['join']('\x20')[i(0x1e7)]();if(!this['actor'][i(0x204)]['hasItem'](b))return this[i(0x202)][i(0x1ea)]('UseCommand:\x20'+this[i(0x1f4)]['name']+i(0x1fb)+b+i(0x1f7)),'You\x20don\x27t\x20have\x20the\x20'+b+i(0x1f9);const c=this[i(0x1f4)][i(0x204)][i(0x1f0)](b);if(!c)return this['logger'][i(0x1ea)](i(0x1ff)+b+i(0x1ef)+this['actor'][i(0x1f5)]+'\x27s\x20inventory.'),i(0x1eb)+b+i(0x1f9);if(typeof c['use']===i(0x1f3)){const d=c['use']();return this['logger'][i(0x1ea)](i(0x1ff)+this[i(0x1f4)][i(0x1f5)]+i(0x1f8)+b+'.'),d;}else return this[i(0x202)][i(0x1ea)](i(0x1ff)+b+'\x20doesn\x27t\x20have\x20a\x20use\x20method.'),i(0x1f1)+b+'\x20in\x20this\x20way.';}}
1
+ const a39i=a39d;function a39c(){const l=['Use\x20an\x20item.','description','\x20used\x20','inventory','use','actor','6383781jCzqCf','\x20not\x20retrieved\x20from\x20','constructor','387729OTPJHe','16zJFzJP','\x27s\x20inventory.','123692yZtixt','You\x20can\x27t\x20use\x20the\x20','5zSvaYo','name','375332lQleVV','apply','getItem','2307594OMFJpB','UseCommand:\x20','1351524oirLip','129115nzAcEZ','search','logger','verb','\x20attempted\x20to\x20use\x20','toLowerCase','\x20doesn\x27t\x20have\x20a\x20use\x20method.','\x20to\x20use.','You\x20don\x27t\x20have\x20the\x20','execute','write','function','hasItem','toString'];a39c=function(){return l;};return a39c();}(function(a,b){const f=a39d,c=a();while(!![]){try{const d=parseInt(f(0x10a))/0x1+parseInt(f(0x10d))/0x2+-parseInt(f(0x116))/0x3+-parseInt(f(0x111))/0x4*(parseInt(f(0x10f))/0x5)+-parseInt(f(0x114))/0x6+-parseInt(f(0x117))/0x7+parseInt(f(0x10b))/0x8*(parseInt(f(0x107))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xe0ce8));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0x112)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a[h(0x100)]()[h(0x118)]('(((.+)+)+)+$')[h(0x100)]()[h(0x109)](a39a)[h(0x118)]('(((.+)+)+)+$');});a39a();import{Command}from'./command.js';function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x100;let f=c[d];return f;},a39d(a,b);}export class UseCommand extends Command{static [a39i(0x11a)]='use';static [a39i(0x102)]=a39i(0x101);[a39i(0x120)](a){const j=a39i;return this[j(0x105)](a);}[a39i(0x105)](a){const k=a39i,b=a['join']('\x20')[k(0x11c)]();if(!this['actor'][k(0x104)][k(0x123)](b))return this[k(0x119)]['write'](k(0x115)+this[k(0x106)]['name']+k(0x11b)+b+',\x20which\x20is\x20not\x20in\x20their\x20inventory.'),k(0x11f)+b+k(0x11e);const c=this[k(0x106)][k(0x104)][k(0x113)](b);if(!c)return this[k(0x119)][k(0x121)](k(0x115)+b+k(0x108)+this['actor'][k(0x110)]+k(0x10c)),k(0x11f)+b+'\x20to\x20use.';if(typeof c[k(0x105)]===k(0x122)){const d=c[k(0x105)]();return this[k(0x119)][k(0x121)](k(0x115)+this[k(0x106)]['name']+k(0x103)+b+'.'),d;}else return this['logger'][k(0x121)](k(0x115)+b+k(0x11d)),k(0x10e)+b+'\x20in\x20this\x20way.';}}
@@ -1 +1 @@
1
- const a40i=a40d;(function(a,b){const f=a40d,c=a();while(!![]){try{const d=-parseInt(f(0x17b))/0x1+parseInt(f(0x17d))/0x2*(parseInt(f(0x173))/0x3)+-parseInt(f(0x171))/0x4+parseInt(f(0x17a))/0x5+-parseInt(f(0x179))/0x6*(-parseInt(f(0x176))/0x7)+parseInt(f(0x170))/0x8*(-parseInt(f(0x16e))/0x9)+-parseInt(f(0x174))/0xa*(-parseInt(f(0x16f))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x96040));function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x16e;let f=c[d];return f;},a40d(a,b);}const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const g=a40d;return a40a['toString']()[g(0x17e)](g(0x175))[g(0x17c)]()[g(0x177)](a40a)[g(0x17e)](g(0x175));});a40a();function a40c(){const j=['516362diqxZx','toString','462qFAUbf','search','63LApaQR','693HKPmlb','941432TcvCie','2491420olwqYy','getAllRegisteredCommands','1011TwQTet','298670CsBqYl','(((.+)+)+)+$','17199NnaPYE','constructor','commandMap','576SZHooe','1910470JOPSTo'];a40c=function(){return j;};return a40c();}export class CommandFactory{static ['commandMap']={};static['registerCommand'](a,b){this['commandMap'][a]=b;}static['createCommand'](a,b){const h=a40d,c=this[h(0x178)][a];if(c)return new c(b);return null;}static[a40i(0x172)](){return this['commandMap'];}}
1
+ const a40j=a40d;function a40c(){const m=['apply','277954jOzawX','1007902kyimIN','createCommand','886884ZiGFVU','constructor','commandMap','1734wZaZDo','2292pWZJwQ','1966384RgCXcB','toString','683004BdCJoI','getAllRegisteredCommands','(((.+)+)+)+$','1064000INfjcs'];a40c=function(){return m;};return a40c();}(function(a,b){const f=a40d,c=a();while(!![]){try{const d=parseInt(f(0x1e1))/0x1+-parseInt(f(0x1dc))/0x2+parseInt(f(0x1d8))/0x3*(parseInt(f(0x1d9))/0x4)+parseInt(f(0x1df))/0x5+-parseInt(f(0x1d5))/0x6+parseInt(f(0x1e2))/0x7+-parseInt(f(0x1da))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x385a4));function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x1d4;let f=c[d];return f;},a40d(a,b);}const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0x1e0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a['toString']()['search']('(((.+)+)+)+$')[h(0x1db)]()[h(0x1d6)](a40a)['search'](h(0x1de));});a40a();export class CommandFactory{static ['commandMap']={};static['registerCommand'](a,b){const i=a40d;this[i(0x1d7)][a]=b;}static[a40j(0x1d4)](a,b){const k=a40j,c=this[k(0x1d7)][a];if(c)return new c(b);return null;}static[a40j(0x1dd)](){const l=a40j;return this[l(0x1d7)];}}
@@ -1 +1 @@
1
- const a41j=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=-parseInt(f(0x171))/0x1+-parseInt(f(0x17d))/0x2*(-parseInt(f(0x173))/0x3)+-parseInt(f(0x182))/0x4+parseInt(f(0x189))/0x5*(parseInt(f(0x16e))/0x6)+parseInt(f(0x179))/0x7+parseInt(f(0x188))/0x8*(-parseInt(f(0x176))/0x9)+parseInt(f(0x17e))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0xd4cce));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const g=a41d;return a41a[g(0x16d)]()[g(0x180)](g(0x17c))['toString']()['constructor'](a41a)['search'](g(0x17c));});a41a();import{Room,Puzzle,Inventory}from'../models/_index.js';function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x167;let f=c[d];return f;},a41d(a,b);}function a41c(){const n=['createPuzzle','boots','forEach','toUpperCase','8kyFMNR','240aKqFgX','inventory','name','helmet','content','puzzle','rifle','toString','51816RrJOkd','isStartRoom','convertToRoomConfig','836498sNCWig','description','4645299MlvaXm','roomType','sword','7729893hkUfqz','createItem','legarmor','4081308EdPHiD','gauntlets','rewardItem','(((.+)+)+)+$','2FDwPkG','1996990IlhOdk','key','search','INSIDE','714796dTZJoZ','addItem'];a41c=function(){return n;};return a41c();}import{RoomType}from'../types/enums.js';import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{['createRoom'](a){const h=a41d,b=this[h(0x170)](a),c=new Room(b);if(a['items']){const d=new Inventory();a['items'][h(0x186)](e=>{const i=h;d[i(0x183)](this[i(0x177)](e));}),c[h(0x167)]=d;}return a[h(0x16b)]&&c['setPuzzle'](this[h(0x184)](a['puzzle'])),c;}[a41j(0x177)](a){const k=a41j;switch(a['type']){case k(0x17f):return new Key(a[k(0x168)],a[k(0x172)]);case'book':return new Book(a['name'],a['description'],a[k(0x16a)]);case k(0x175):return new Sword(a['name'],a[k(0x172)]);case k(0x16c):return new Rifle(a['name'],a[k(0x172)]);case k(0x169):return new Helmet(a[k(0x168)],a['description']);case'bodyarmor':return new BodyArmor(a[k(0x168)],a['description']);case k(0x178):return new LegArmor(a[k(0x168)],a[k(0x172)]);case k(0x185):return new Boots(a[k(0x168)],a[k(0x172)]);case'gloves':return new Gloves(a[k(0x168)],a[k(0x172)]);case k(0x17a):return new Gauntlets(a[k(0x168)],a['description']);default:return new BasicItem(a[k(0x168)],a[k(0x172)]);}}['createPuzzle'](a){const l=a41j,b=this[l(0x177)](a[l(0x17b)]);return new Puzzle({...a,'rewardItem':b});}[a41j(0x170)](a){const m=a41j,b=a[m(0x174)]&&RoomType[a['roomType']['toUpperCase']()]?RoomType[a[m(0x174)][m(0x187)]()]:RoomType[m(0x181)];return{'name':a['name'],'description':a[m(0x172)],'isStartRoom':a[m(0x16f)],'roomType':b};}}
1
+ const a41i=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=parseInt(f(0x96))/0x1*(parseInt(f(0x7e))/0x2)+parseInt(f(0x97))/0x3+parseInt(f(0x95))/0x4*(-parseInt(f(0x9a))/0x5)+-parseInt(f(0x81))/0x6+parseInt(f(0x89))/0x7+-parseInt(f(0xa1))/0x8*(-parseInt(f(0x8c))/0x9)+-parseInt(f(0x7d))/0xa*(parseInt(f(0x94))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0x42b2e));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a41d;if(c){const e=c[g(0x8e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0x83)]()[h(0x9d)]('(((.+)+)+)+$')['toString']()[h(0x9f)](a41a)[h(0x9d)](h(0x88));});function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x7d;let f=c[d];return f;},a41d(a,b);}a41a();function a41c(){const o=['2658905XLXsVb','helmet','rewardItem','search','name','constructor','boots','8MtcwXT','convertToRoomConfig','roomType','10GMKmZx','178sOfyDM','sword','key','256266IBCmnT','rifle','toString','INSIDE','isStartRoom','gloves','inventory','(((.+)+)+)+$','2290729anMQWZ','puzzle','description','3504357yHjoQt','toUpperCase','apply','createRoom','createPuzzle','type','bodyarmor','setPuzzle','6502188yezXXQ','4lgwATn','3697XvCzNA','1179435PduhLJ','createItem','gauntlets'];a41c=function(){return o;};return a41c();}import{Room,Puzzle,Inventory}from'../models/_index.js';import{RoomType}from'../types/enums.js';import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{[a41i(0x8f)](a){const j=a41i,b=this[j(0xa2)](a),c=new Room(b);if(a['items']){const d=new Inventory();a['items']['forEach'](e=>{const k=j;d['addItem'](this[k(0x98)](e));}),c[j(0x87)]=d;}return a[j(0x8a)]&&c[j(0x93)](this[j(0x90)](a[j(0x8a)])),c;}[a41i(0x98)](a){const l=a41i;switch(a[l(0x91)]){case l(0x80):return new Key(a[l(0x9e)],a['description']);case'book':return new Book(a['name'],a['description'],a['content']);case l(0x7f):return new Sword(a[l(0x9e)],a[l(0x8b)]);case l(0x82):return new Rifle(a[l(0x9e)],a[l(0x8b)]);case l(0x9b):return new Helmet(a['name'],a[l(0x8b)]);case l(0x92):return new BodyArmor(a[l(0x9e)],a['description']);case'legarmor':return new LegArmor(a['name'],a['description']);case l(0xa0):return new Boots(a['name'],a[l(0x8b)]);case l(0x86):return new Gloves(a[l(0x9e)],a[l(0x8b)]);case l(0x99):return new Gauntlets(a[l(0x9e)],a[l(0x8b)]);default:return new BasicItem(a[l(0x9e)],a['description']);}}[a41i(0x90)](a){const m=a41i,b=this[m(0x98)](a[m(0x9c)]);return new Puzzle({...a,'rewardItem':b});}[a41i(0xa2)](a){const n=a41i,b=a[n(0xa3)]&&RoomType[a[n(0xa3)][n(0x8d)]()]?RoomType[a[n(0xa3)]['toUpperCase']()]:RoomType[n(0x84)];return{'name':a[n(0x9e)],'description':a[n(0x8b)],'isStartRoom':a[n(0x85)],'roomType':b};}}
@@ -1 +1 @@
1
- const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=parseInt(h(0x19c))/0x1*(-parseInt(h(0x195))/0x2)+parseInt(h(0x1b6))/0x3+parseInt(h(0x1a0))/0x4*(parseInt(h(0x1ad))/0x5)+parseInt(h(0x1ac))/0x6+-parseInt(h(0x18e))/0x7+-parseInt(h(0x1a6))/0x8*(parseInt(h(0x192))/0x9)+parseInt(h(0x189))/0xa*(parseInt(h(0x18a))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0xa994a));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0x19a)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a['toString']()[j(0x19f)](j(0x1b4))[j(0x1a3)]()[j(0x19b)](a42a)['search'](j(0x1b4));});a42a();import{Scene}from'./models/scene.js';import{LookCommand}from'./commands/look.js';import{TakeCommand}from'./commands/take.js';import{GoCommand}from'./commands/go.js';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x183;let f=c[d];return f;},a42d(a,b);}import{UseCommand}from'./commands/use.js';import{EquipCommand}from'./commands/equip.js';import{UnequipCommand}from'./commands/unequip.js';function a42c(){const s=['name','search','24dpICLt','currentRoom','unlock','toString','Welcome,\x20','-\x20quit:\x20Exit\x20the\x20game.\x0a','80jcVaye','look','toLowerCase','solve','getWelcomeMessage','scene','7940784kvxqoY','355430apUCLl','getInstance','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','clear','help','trim','determineStartRoom','(((.+)+)+)+$','-\x20clear:\x20Clear\x20the\x20screen.\x0a','3821247dppVDo','Available\x20Commands:\x0a','registerCommands','initialize','execute','getAllRegisteredCommands','getHelpMessage','createCommand','getRooms','handleInput','50phcBTF','881331qxErwg','quit','rooms','slice','3918880SEZFyE','equip','registerCommand','player','1043622nQueYQ','unequip','split','376FqRLwI','maka','drop','take','say','apply','constructor','5374seQHtJ','instance'];a42c=function(){return s;};return a42c();}import{SolveCommand}from'./commands/solve.js';import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';import{LockCommand}from'./commands/lock.js';import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42k(0x19d)];['scene'];[a42k(0x191)];[a42k(0x1a1)];[a42k(0x18c)];constructor(a,b){const l=a42k;this['player']=a,this['scene']=new Scene({'player':a,'roomConfiguration':b}),this[l(0x1ab)][l(0x1b9)](),this[l(0x191)]['currentLocation']=this[l(0x1b3)](),this[l(0x1b8)]();}[a42k(0x1b8)](){const m=a42k;CommandFactory[m(0x190)](m(0x1a7),LookCommand),CommandFactory['registerCommand']('go',GoCommand),CommandFactory[m(0x190)](m(0x198),TakeCommand),CommandFactory['registerCommand']('use',UseCommand),CommandFactory[m(0x190)](m(0x18f),EquipCommand),CommandFactory[m(0x190)](m(0x193),UnequipCommand),CommandFactory[m(0x190)](m(0x1a9),SolveCommand),CommandFactory[m(0x190)](m(0x197),DropCommand),CommandFactory[m(0x190)](m(0x1a2),UnlockCommand),CommandFactory['registerCommand']('lock',LockCommand),CommandFactory['registerCommand'](m(0x19f),SearchCommand),CommandFactory[m(0x190)](m(0x199),SayCommand);}[a42k(0x1b3)](){const n=a42k;return this[n(0x1ab)]['determineStartRoom']();}[a42k(0x1aa)](){const o=a42k;return o(0x1a4)+this[o(0x191)][o(0x19e)];}static[a42k(0x1ae)](a,b){const p=a42k;return!Game['instance']&&(Game[p(0x19d)]=new Game(a,b)),Game[p(0x19d)];}[a42k(0x188)](a){const q=a42k,b=a[q(0x1b2)]()[q(0x194)]('\x20'),c=b[0x0][q(0x1a8)](),d=b[q(0x18d)](0x1);if(c===q(0x18b))return null;if(c===q(0x196))return q(0x1af);if(c===q(0x1b1))return this[q(0x185)]();if(c===q(0x1b0))return'';const e={'actor':this[q(0x191)],'rooms':this[q(0x1ab)][q(0x187)](),'scene':this['scene']},f=CommandFactory[q(0x186)](c,e);if(f){const g=f[q(0x183)](d);return g;}return'I\x20don\x27t\x20understand\x20the\x20command\x20\x22'+c+'\x22.';}[a42k(0x185)](){const r=a42k,a=CommandFactory[r(0x184)]();let b=r(0x1b7);for(const c in a){if(a['hasOwnProperty'](c)){const d=a[c];b+='-\x20'+c+':\x20'+d['getDescription']()+'\x0a';}}return b+=r(0x1b5),b+=r(0x1a5),b;}}
1
+ const a42j=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0x1c4))/0x1+parseInt(h(0x1ce))/0x2*(parseInt(h(0x1af))/0x3)+-parseInt(h(0x1bc))/0x4*(-parseInt(h(0x1a9))/0x5)+-parseInt(h(0x1ae))/0x6*(parseInt(h(0x1b9))/0x7)+-parseInt(h(0x1a8))/0x8*(parseInt(h(0x1c3))/0x9)+parseInt(h(0x1b0))/0xa+-parseInt(h(0x1c9))/0xb*(-parseInt(h(0x1cd))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0x86507));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const i=a42d;return a42a[i(0x1cf)]()[i(0x1bf)](i(0x1d1))[i(0x1cf)]()[i(0x1b4)](a42a)['search'](i(0x1d1));});function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x1a3;let f=c[d];return f;},a42d(a,b);}a42a();import{Scene}from'./models/scene.js';import{LookCommand}from'./commands/look.js';import{TakeCommand}from'./commands/take.js';import{GoCommand}from'./commands/go.js';import{UseCommand}from'./commands/use.js';function a42c(){const r=['getWelcomeMessage','currentRoom','getDescription','1182suRgai','12iHGgLb','9350870AjKpqP','handleInput','lock','use','constructor','unlock','-\x20clear:\x20Clear\x20the\x20screen.\x0a','take','getRooms','30051VccPlq','split','hasOwnProperty','180tEyVcY','registerCommands','determineStartRoom','search','help','getInstance','initialize','36vAVCff','321134jExldG','look','maka','player','registerCommand','550FYmWsE','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','scene','clear','287520kcgfwI','17056LPGNwO','toString','getHelpMessage','(((.+)+)+)+$','-\x20quit:\x20Exit\x20the\x20game.\x0a','Welcome,\x20','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','drop','instance','toLowerCase','quit','equip','getAllRegisteredCommands','createCommand','2054456OgZhWd','64115odSrwn','name'];a42c=function(){return r;};return a42c();}import{EquipCommand}from'./commands/equip.js';import{UnequipCommand}from'./commands/unequip.js';import{SolveCommand}from'./commands/solve.js';import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';import{LockCommand}from'./commands/lock.js';import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42j(0x1d6)];[a42j(0x1cb)];[a42j(0x1c7)];[a42j(0x1ac)];['rooms'];constructor(a,b){const k=a42j;this[k(0x1c7)]=a,this[k(0x1cb)]=new Scene({'player':a,'roomConfiguration':b}),this[k(0x1cb)][k(0x1c2)](),this[k(0x1c7)]['currentLocation']=this['determineStartRoom'](),this[k(0x1bd)]();}[a42j(0x1bd)](){const l=a42j;CommandFactory['registerCommand'](l(0x1c5),LookCommand),CommandFactory['registerCommand']('go',GoCommand),CommandFactory['registerCommand'](l(0x1b7),TakeCommand),CommandFactory[l(0x1c8)](l(0x1b3),UseCommand),CommandFactory[l(0x1c8)](l(0x1a5),EquipCommand),CommandFactory[l(0x1c8)]('unequip',UnequipCommand),CommandFactory[l(0x1c8)]('solve',SolveCommand),CommandFactory[l(0x1c8)](l(0x1d5),DropCommand),CommandFactory[l(0x1c8)](l(0x1b5),UnlockCommand),CommandFactory[l(0x1c8)](l(0x1b2),LockCommand),CommandFactory['registerCommand'](l(0x1bf),SearchCommand),CommandFactory[l(0x1c8)]('say',SayCommand);}[a42j(0x1be)](){const m=a42j;return this[m(0x1cb)][m(0x1be)]();}[a42j(0x1ab)](){const n=a42j;return n(0x1d3)+this['player'][n(0x1aa)];}static[a42j(0x1c1)](a,b){const o=a42j;return!Game['instance']&&(Game[o(0x1d6)]=new Game(a,b)),Game['instance'];}[a42j(0x1b1)](a){const p=a42j,b=a['trim']()[p(0x1ba)]('\x20'),c=b[0x0][p(0x1a3)](),d=b['slice'](0x1);if(c===p(0x1a4))return null;if(c===p(0x1c6))return p(0x1ca);if(c===p(0x1c0))return this[p(0x1d0)]();if(c===p(0x1cc))return'';const e={'actor':this[p(0x1c7)],'rooms':this[p(0x1cb)][p(0x1b8)](),'scene':this['scene']},f=CommandFactory[p(0x1a7)](c,e);if(f){const g=f['execute'](d);return g;}return p(0x1d4)+c+'\x22.';}[a42j(0x1d0)](){const q=a42j,a=CommandFactory[q(0x1a6)]();let b='Available\x20Commands:\x0a';for(const c in a){if(a[q(0x1bb)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[q(0x1ad)]()+'\x0a';}}return b+=q(0x1b6),b+=q(0x1d2),b;}}
@@ -1 +1 @@
1
- (function(a,b){var f=a43d,c=a();while(!![]){try{var d=-parseInt(f(0x16e))/0x1*(parseInt(f(0x167))/0x2)+parseInt(f(0x16f))/0x3+-parseInt(f(0x16c))/0x4+-parseInt(f(0x169))/0x5*(parseInt(f(0x166))/0x6)+-parseInt(f(0x162))/0x7+parseInt(f(0x164))/0x8+parseInt(f(0x168))/0x9*(parseInt(f(0x16b))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x198d7));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x16d)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a[h(0x16a)]()[h(0x165)]('(((.+)+)+)+$')[h(0x16a)]()[h(0x170)](a43a)[h(0x165)](h(0x163));});a43a();function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x162;var f=c[d];return f;},a43d(a,b);}export*from'./door.js';export*from'./inventory.js';export*from'./item.js';export*from'./npc.js';export*from'./player.js';export*from'./puzzle.js';export*from'./room.js';function a43c(){var i=['toString','110850jcWYbv','173984bNnuTE','apply','5xdZvfE','606726qXCgEx','constructor','445326dZCQqe','(((.+)+)+)+$','71192mCfWdF','search','108GZsqYQ','45246WQRPjH','189pJsZHm','33065sqiHTa'];a43c=function(){return i;};return a43c();}export*from'./scene.js';
1
+ (function(a,b){var f=a43d,c=a();while(!![]){try{var d=parseInt(f(0xc9))/0x1+-parseInt(f(0xc6))/0x2+-parseInt(f(0xcc))/0x3*(-parseInt(f(0xcb))/0x4)+-parseInt(f(0xca))/0x5+-parseInt(f(0xc7))/0x6+-parseInt(f(0xc2))/0x7*(-parseInt(f(0xc4))/0x8)+parseInt(f(0xc0))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x1d685));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var g=a43d;return a43a[g(0xc3)]()[g(0xc1)](g(0xc5))[g(0xc3)]()[g(0xc8)](a43a)[g(0xc1)]('(((.+)+)+)+$');});a43a();export*from'./door.js';export*from'./inventory.js';function a43c(){var h=['3QdSxJD','1007523ylAEEF','search','14FDxVxB','toString','159944gweXzh','(((.+)+)+)+$','394430gTtIrD','26994pCYHgr','constructor','116045PeIUEp','850880ynjHYd','897460jsMdAO'];a43c=function(){return h;};return a43c();}export*from'./item.js';export*from'./npc.js';function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0xc0;var f=c[d];return f;},a43d(a,b);}export*from'./player.js';export*from'./puzzle.js';export*from'./room.js';export*from'./scene.js';
@@ -1 +1 @@
1
- var a44i=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x14f))/0x1*(parseInt(f(0x155))/0x2)+parseInt(f(0x160))/0x3*(parseInt(f(0x164))/0x4)+-parseInt(f(0x159))/0x5+-parseInt(f(0x158))/0x6+parseInt(f(0x156))/0x7*(-parseInt(f(0x163))/0x8)+-parseInt(f(0x161))/0x9*(parseInt(f(0x152))/0xa)+parseInt(f(0x168))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0x51782));function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0x14c;var f=c[d];return f;},a44d(a,b);}function a44c(){var o=['Door\x20created\x20between\x20','\x20and\x20','name','logger','getInstance','Door\x20unlocked:\x20','1268082ntZBlD','7641iYlSer','toString','256032wYzEtT','4boUkZE','roomB','constructor','Failed\x20to\x20unlock\x20door:\x20','17191449HdGeVg','unlockItemOrSolution','isLockable','apply','search','.\x20Used:\x20','1IAZqFM','write','isLocked','2090OkcSXI','checkIfLockable','roomA','355702jzbyUa','70PuqMgI','To\x20','2896404VSkyiG','2468945jDTmUi'];a44c=function(){return o;};return a44c();}var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0x14c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a['toString']()[h(0x14d)]('(((.+)+)+)+$')[h(0x162)]()[h(0x166)](a44a)['search']('(((.+)+)+)+$');});a44a();import{Logger}from'../utilities/logger.js';import{capitalCase}from'change-case';import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{['roomA'];[a44i(0x165)];[a44i(0x151)];[a44i(0x169)];[a44i(0x15c)];[a44i(0x15d)];['isLockable'];constructor(a){var j=a44i;super(),this[j(0x154)]=a[j(0x154)],this[j(0x165)]=a[j(0x165)],this[j(0x151)]=a[j(0x151)]||![],this[j(0x169)]=a[j(0x169)],this[j(0x15c)]=a[j(0x15c)]?capitalCase(a[j(0x15c)]):j(0x157)+a[j(0x165)][j(0x15c)],this[j(0x15d)]=Logger[j(0x15e)](),this[j(0x16a)]=!!a['unlockItemOrSolution'],this[j(0x15d)][j(0x150)](j(0x15a)+this[j(0x154)][j(0x15c)]+j(0x15b)+this['roomB'][j(0x15c)]+'.\x20Is\x20Locked:\x20'+this[j(0x151)]);}['getOtherSide'](a){var k=a44i;return this[k(0x154)]===a?this[k(0x165)]:this[k(0x154)];}['attemptUnlock'](a){var l=a44i;if(this[l(0x151)]&&this[l(0x169)]&&this[l(0x169)]===a)return this['isLocked']=![],this['logger'][l(0x150)](l(0x15f)+this['name']+l(0x14e)+a),!![];return this['logger'][l(0x150)](l(0x167)+this['name']+l(0x14e)+a),![];}['checkIfLocked'](){var m=a44i;return this[m(0x151)];}[a44i(0x153)](){var n=a44i;return this[n(0x16a)];}}
1
+ var a44i=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x102))/0x1*(-parseInt(f(0x10f))/0x2)+-parseInt(f(0xfc))/0x3+-parseInt(f(0xf9))/0x4*(parseInt(f(0x104))/0x5)+-parseInt(f(0xfe))/0x6+parseInt(f(0x106))/0x7*(parseInt(f(0x103))/0x8)+parseInt(f(0x107))/0x9*(parseInt(f(0xf4))/0xa)+parseInt(f(0x108))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0x42ed7));function a44c(){var o=['toString','name','596342caCktR','attemptUnlock','Failed\x20to\x20unlock\x20door:\x20','getInstance','logger','(((.+)+)+)+$','checkIfLocked','roomA','25680oplEMH','To\x20','getOtherSide','search','Door\x20created\x20between\x20','584NtfiTe','unlockItemOrSolution','isLockable','1591671WDTcPN','\x20and\x20','2841204xHDNuR','apply','checkIfLockable','.\x20Used:\x20','1iwLzFX','7664yRSedt','6455MPtbjs','constructor','1022OzuUiF','1080dpVDRN','7925643OgspRi','isLocked','write','.\x20Is\x20Locked:\x20','roomB'];a44c=function(){return o;};return a44c();}var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0xff)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a['toString']()[h(0xf7)](h(0x114))[h(0x10d)]()[h(0x105)](a44a)[h(0xf7)](h(0x114));});a44a();function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0xf2;var f=c[d];return f;},a44d(a,b);}import{Logger}from'../utilities/logger.js';import{capitalCase}from'change-case';import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{[a44i(0xf3)];[a44i(0x10c)];[a44i(0x109)];[a44i(0xfa)];[a44i(0x10e)];['logger'];[a44i(0xfb)];constructor(a){var j=a44i;super(),this[j(0xf3)]=a[j(0xf3)],this[j(0x10c)]=a[j(0x10c)],this[j(0x109)]=a[j(0x109)]||![],this['unlockItemOrSolution']=a[j(0xfa)],this[j(0x10e)]=a[j(0x10e)]?capitalCase(a[j(0x10e)]):j(0xf5)+a['roomB'][j(0x10e)],this['logger']=Logger[j(0x112)](),this[j(0xfb)]=!!a[j(0xfa)],this[j(0x113)][j(0x10a)](j(0xf8)+this['roomA']['name']+j(0xfd)+this['roomB'][j(0x10e)]+j(0x10b)+this[j(0x109)]);}[a44i(0xf6)](a){var k=a44i;return this[k(0xf3)]===a?this[k(0x10c)]:this[k(0xf3)];}[a44i(0x110)](a){var l=a44i;if(this[l(0x109)]&&this[l(0xfa)]&&this[l(0xfa)]===a)return this[l(0x109)]=![],this['logger']['write']('Door\x20unlocked:\x20'+this[l(0x10e)]+l(0x101)+a),!![];return this[l(0x113)][l(0x10a)](l(0x111)+this[l(0x10e)]+l(0x101)+a),![];}[a44i(0xf2)](){var m=a44i;return this[m(0x109)];}[a44i(0x100)](){var n=a44i;return this[n(0xfb)];}}
@@ -1 +1 @@
1
- const a45i=a45d;(function(a,b){const f=a45d,c=a();while(!![]){try{const d=-parseInt(f(0xb1))/0x1*(parseInt(f(0x8f))/0x2)+-parseInt(f(0x99))/0x3+-parseInt(f(0x8d))/0x4+-parseInt(f(0xa1))/0x5+parseInt(f(0x97))/0x6*(-parseInt(f(0xb0))/0x7)+-parseInt(f(0xa7))/0x8*(-parseInt(f(0x8b))/0x9)+parseInt(f(0x9f))/0xa*(parseInt(f(0xae))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0x30d88));const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0xb5)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a[h(0x89)]()[h(0xb3)](h(0x95))['toString']()[h(0xb2)](a45a)[h(0xb3)](h(0x95));});a45a();function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0x89;let f=c[d];return f;},a45d(a,b);}import{capitalCase}from'change-case';function a45c(){const r=['(((.+)+)+)+$','hasItem','12QapXBi','Checked\x20for\x20item:\x20','1167711yfXbRF','getItem','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','has','addItem','toLowerCase','81780PePmxc','join','1144985yCtAKI','items','getAllItems','listItems','name','Failed\x20to\x20remove\x20item:\x20','96bubsab','weight','logger','.\x20Item\x20not\x20found.','\x20to\x20inventory.','getWeight','values','1683RkuHsV','get','983059xjjOpp','55397sxkUlg','constructor','search','keys','apply','toString','set','121545TYzjBq','write','1034868UhEgTn','\x20from\x20inventory.','2WkkADx','Removed\x20item:\x20','Added\x20item:\x20','removeItem','delete','.\x20Exists:\x20'];a45c=function(){return r;};return a45c();}import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{[a45i(0xa2)];['logger'];constructor(){const j=a45i;super(),this[j(0xa2)]=new Map(),this[j(0xa9)]=Logger['getInstance']();}[a45i(0x9d)](a){const k=a45i;this[k(0xa2)][k(0x8a)](a[k(0xa5)][k(0x9e)](),a),this[k(0xa9)][k(0x8c)](k(0x91)+a[k(0xa5)]+k(0xab));}[a45i(0x92)](a){const l=a45i,b=this['getItem'](a);if(b)return this[l(0xa2)][l(0x93)](a[l(0x9e)]()),this[l(0xa9)][l(0x8c)](l(0x90)+a+l(0x8e)),b;return this[l(0xa9)][l(0x8c)](l(0xa6)+a+l(0xaa)),null;}[a45i(0x96)](a){const m=a45i,b=this[m(0xa2)][m(0x9c)](a[m(0x9e)]()),c=[...this[m(0xa2)]['keys']()];return this[m(0xa9)]['write'](m(0x98)+a+'\x20in\x20'+c['join'](',\x20')+m(0x94)+b+'.'),b;}[a45i(0x9a)](a){const n=a45i,b=this[n(0xa2)][n(0xaf)](a[n(0x9e)]())||null;return b?this['logger'][n(0x8c)]('Retrieved\x20details\x20for\x20item:\x20'+a+'.'):this[n(0xa9)]['write'](n(0x9b)+a+n(0xaa)),b;}[a45i(0xa4)](){const o=a45i,a=[...this[o(0xa2)][o(0xb4)]()],b=a['map'](c=>capitalCase(c));return this[o(0xa9)][o(0x8c)]('Listed\x20items\x20in\x20inventory:\x20'+b[o(0xa0)](',\x20')+'.'),a;}[a45i(0xac)](){const p=a45i;let a=0x0;for(const b of this[p(0xa2)][p(0xad)]()){a+=b[p(0xa8)];}return a;}[a45i(0xa3)](){const q=a45i;return[...this[q(0xa2)][q(0xad)]()];}}
1
+ function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0xa7;let f=c[d];return f;},a45d(a,b);}const a45i=a45d;(function(a,b){const f=a45d,c=a();while(!![]){try{const d=parseInt(f(0xc2))/0x1*(parseInt(f(0xac))/0x2)+parseInt(f(0xa8))/0x3*(parseInt(f(0xb6))/0x4)+-parseInt(f(0xbd))/0x5+-parseInt(f(0xb4))/0x6+parseInt(f(0xaa))/0x7+parseInt(f(0xb0))/0x8+-parseInt(f(0xad))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0x5e9f2));const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0xb5)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a['toString']()[h(0xc8)]('(((.+)+)+)+$')[h(0xba)]()['constructor'](a45a)[h(0xc8)](h(0xc9));});a45a();function a45c(){const r=['toString','weight','keys','3037505mhprZL','values','set','getInstance','Retrieved\x20details\x20for\x20item:\x20','30819pYIMBh','.\x20Exists:\x20','getWeight','Failed\x20to\x20remove\x20item:\x20','write','\x20from\x20inventory.','search','(((.+)+)+)+$','hasItem','getItem','get','Removed\x20item:\x20','join','name','.\x20Item\x20not\x20found.','listItems','3lWoZgC','toLowerCase','4482709CYeYCG','getAllItems','50VRytNm','6742026YSANhc','Checked\x20for\x20item:\x20','removeItem','2641216KHcVrq','map','\x20in\x20','Added\x20item:\x20','2010840wUHWbc','apply','1353244ulLIpt','logger','items','has'];a45c=function(){return r;};return a45c();}import{capitalCase}from'change-case';import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{[a45i(0xb8)];[a45i(0xb7)];constructor(){const j=a45i;super(),this[j(0xb8)]=new Map(),this[j(0xb7)]=Logger[j(0xc0)]();}['addItem'](a){const k=a45i;this[k(0xb8)][k(0xbf)](a[k(0xcf)][k(0xa9)](),a),this[k(0xb7)][k(0xc6)](k(0xb3)+a[k(0xcf)]+'\x20to\x20inventory.');}[a45i(0xaf)](a){const l=a45i,b=this[l(0xcb)](a);if(b)return this[l(0xb8)]['delete'](a[l(0xa9)]()),this[l(0xb7)]['write'](l(0xcd)+a+l(0xc7)),b;return this[l(0xb7)][l(0xc6)](l(0xc5)+a+'.\x20Item\x20not\x20found.'),null;}[a45i(0xca)](a){const m=a45i,b=this[m(0xb8)][m(0xb9)](a[m(0xa9)]()),c=[...this[m(0xb8)][m(0xbc)]()];return this[m(0xb7)]['write'](m(0xae)+a+m(0xb2)+c['join'](',\x20')+m(0xc3)+b+'.'),b;}['getItem'](a){const n=a45i,b=this[n(0xb8)][n(0xcc)](a[n(0xa9)]())||null;return b?this['logger'][n(0xc6)](n(0xc1)+a+'.'):this[n(0xb7)]['write']('Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20'+a+n(0xd0)),b;}[a45i(0xa7)](){const o=a45i,a=[...this[o(0xb8)]['keys']()],b=a[o(0xb1)](c=>capitalCase(c));return this['logger'][o(0xc6)]('Listed\x20items\x20in\x20inventory:\x20'+b[o(0xce)](',\x20')+'.'),a;}[a45i(0xc4)](){const p=a45i;let a=0x0;for(const b of this[p(0xb8)][p(0xbe)]()){a+=b[p(0xbb)];}return a;}[a45i(0xab)](){const q=a45i;return[...this[q(0xb8)][q(0xbe)]()];}}
@@ -1 +1 @@
1
- var a46i=a46d;(function(a,b){var f=a46d,c=a();while(!![]){try{var d=parseInt(f(0x19c))/0x1+-parseInt(f(0x1a9))/0x2*(parseInt(f(0x1a4))/0x3)+-parseInt(f(0x1a1))/0x4*(parseInt(f(0x194))/0x5)+parseInt(f(0x19b))/0x6+parseInt(f(0x192))/0x7+-parseInt(f(0x19e))/0x8+parseInt(f(0x193))/0x9*(parseInt(f(0x1aa))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x82216));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0x1a6)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a['toString']()['search'](h(0x19f))[h(0x1a5)]()[h(0x1a0)](a46a)['search']('(((.+)+)+)+$');});a46a();import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x192;var f=c[d];return f;},a46d(a,b);}export class Item extends AbstractItem{[a46i(0x198)];[a46i(0x1a7)];[a46i(0x1a2)];[a46i(0x199)];[a46i(0x1a8)];[a46i(0x197)];['color'];['texture'];[a46i(0x19d)];[a46i(0x1ab)];constructor(a){var j=a46i;super(),this[j(0x1a7)]=a['name'],this[j(0x1a2)]=a[j(0x1a2)],this['size']=a[j(0x199)],this[j(0x1a8)]=a[j(0x1a8)],this[j(0x197)]=a[j(0x197)],this[j(0x1a3)]=a[j(0x1a3)],this['texture']=a[j(0x1ac)],this['rating']=a[j(0x19d)],this['weight']=a['weight'],this[j(0x198)]=a46e();}[a46i(0x196)](){var k=a46i;return k(0x195)+this[k(0x1a7)]+k(0x19a);}}function a46c(){var l=['weight','texture','4564112xUaPWH','435483JuDbEJ','5IXweee','You\x20use\x20the\x20','use','shape','uuid','size','.\x20Nothing\x20special\x20happens.','4177668hdqwtY','501712bTOvUT','rating','7961536zkxLLh','(((.+)+)+)+$','constructor','255236ZugGDS','description','color','2841naiLbp','toString','apply','name','category','1158zmbfKo','60gdJDiL'];a46c=function(){return l;};return a46c();}
1
+ var a46i=a46d;function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x142;var f=c[d];return f;},a46d(a,b);}(function(a,b){var f=a46d,c=a();while(!![]){try{var d=parseInt(f(0x142))/0x1*(-parseInt(f(0x146))/0x2)+parseInt(f(0x158))/0x3*(parseInt(f(0x153))/0x4)+parseInt(f(0x14e))/0x5*(parseInt(f(0x150))/0x6)+-parseInt(f(0x15a))/0x7*(parseInt(f(0x14d))/0x8)+parseInt(f(0x152))/0x9+parseInt(f(0x149))/0xa+parseInt(f(0x14f))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x91504));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0x143)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a['toString']()[h(0x154)](h(0x14b))['toString']()[h(0x15b)](a46a)['search'](h(0x14b));});a46a();function a46c(){var l=['rating','size','9066OMnybt','color','description','1600790nYjaOK','category','(((.+)+)+)+$','shape','664168sEuMBS','383655PfWWKU','8917084lRLYbq','6fICetn','uuid','7379658ZspkxP','752ZpFnvk','search','name','texture','.\x20Nothing\x20special\x20happens.','2925vfZMEQ','weight','91hUCeKf','constructor','83FwhEdw','apply'];a46c=function(){return l;};return a46c();}import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{[a46i(0x151)];[a46i(0x155)];[a46i(0x148)];['size'];[a46i(0x14a)];['shape'];[a46i(0x147)];[a46i(0x156)];[a46i(0x144)];['weight'];constructor(a){var j=a46i;super(),this['name']=a[j(0x155)],this[j(0x148)]=a['description'],this['size']=a[j(0x145)],this[j(0x14a)]=a[j(0x14a)],this[j(0x14c)]=a[j(0x14c)],this[j(0x147)]=a[j(0x147)],this[j(0x156)]=a['texture'],this[j(0x144)]=a[j(0x144)],this[j(0x159)]=a[j(0x159)],this[j(0x151)]=a46e();}['use'](){var k=a46i;return'You\x20use\x20the\x20'+this[k(0x155)]+k(0x157);}}
@@ -1 +1 @@
1
- function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x1c4;let f=c[d];return f;},a47d(a,b);}const a47h=a47d;function a47c(){const n=['toString','scene','floor','2270595hPysMq','2558521JGYNMh','4140924WpUWdv','rooms','random','2856058cGpFFB','length','357094PJnDCh','speak','name','_dialogue','moveTo','9072760aKXuib','909715Tfjapq','execute','autonomousMove','_name','constructor','24MFeeTn','(((.+)+)+)+$'];a47c=function(){return n;};return a47c();}(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0x1d8))/0x1+-parseInt(f(0x1d6))/0x2+parseInt(f(0x1d1))/0x3+parseInt(f(0x1d3))/0x4+parseInt(f(0x1c7))/0x5*(-parseInt(f(0x1cc))/0x6)+-parseInt(f(0x1d2))/0x7+parseInt(f(0x1c6))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0xba07d));const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const g=a47d;return a47a[g(0x1ce)]()['search'](g(0x1cd))['toString']()[g(0x1cb)](a47a)['search']('(((.+)+)+)+$');});a47a();import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';export class NPC extends Player{[a47h(0x1ca)];[a47h(0x1c4)];[a47h(0x1d4)];[a47h(0x1cf)];constructor(a,b,c,d){const i=a47h;super(d),this['_name']=a,this['_dialogue']=b,this[i(0x1d4)]=c;}get[a47h(0x1da)](){const j=a47h;return this[j(0x1ca)];}[a47h(0x1d9)](){const k=a47h;return this[k(0x1c4)][Math[k(0x1d0)](Math[k(0x1d5)]()*this[k(0x1c4)][k(0x1d7)])];}[a47h(0x1c9)](a){const l=a47h,b=a[Math['floor'](Math[l(0x1d5)]()*a[l(0x1d7)])];this['moveTo'](b['name']);}[a47h(0x1c5)](a){const m=a47h,b={'actor':this,'rooms':this[m(0x1d4)],'scene':this[m(0x1cf)]},c=new GoCommand(b);c[m(0x1c8)]([a]);}}
1
+ const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0x206))/0x1+parseInt(f(0x1f6))/0x2*(parseInt(f(0x202))/0x3)+parseInt(f(0x1ee))/0x4*(parseInt(f(0x1fd))/0x5)+-parseInt(f(0x201))/0x6*(parseInt(f(0x1ff))/0x7)+parseInt(f(0x1fa))/0x8+-parseInt(f(0x1f4))/0x9+-parseInt(f(0x1fb))/0xa*(parseInt(f(0x207))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0xdf215));function a47c(){const n=['execute','scene','1123753GkfyKx','145255UmIUxo','_name','constructor','7184164xknVbU','random','speak','autonomousMove','length','apply','12321414EUNeVM','toString','32cCdZTi','moveTo','name','search','9058992jSgacy','380HLXlir','(((.+)+)+)+$','5NgkJoE','rooms','2189621IopYgN','floor','30DGTUki','55617dJIgjT','_dialogue'];a47c=function(){return n;};return a47c();}const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a47d;if(c){const e=c[g(0x1f3)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a['toString']()[h(0x1f9)](h(0x1fc))[h(0x1f5)]()[h(0x1ed)](a47a)[h(0x1f9)]('(((.+)+)+)+$');});a47a();function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x1ec;let f=c[d];return f;},a47d(a,b);}import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';export class NPC extends Player{[a47i(0x1ec)];['_dialogue'];[a47i(0x1fe)];[a47i(0x205)];constructor(a,b,c,d){const j=a47i;super(d),this[j(0x1ec)]=a,this[j(0x203)]=b,this['rooms']=c;}get[a47i(0x1f8)](){return this['_name'];}[a47i(0x1f0)](){const k=a47i;return this[k(0x203)][Math[k(0x200)](Math[k(0x1ef)]()*this[k(0x203)][k(0x1f2)])];}[a47i(0x1f1)](a){const l=a47i,b=a[Math[l(0x200)](Math[l(0x1ef)]()*a['length'])];this['moveTo'](b[l(0x1f8)]);}[a47i(0x1f7)](a){const m=a47i,b={'actor':this,'rooms':this[m(0x1fe)],'scene':this[m(0x205)]},c=new GoCommand(b);c[m(0x204)]([a]);}}
@@ -1 +1 @@
1
- const a48i=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x1f7))/0x1+parseInt(f(0x1e4))/0x2*(parseInt(f(0x20c))/0x3)+parseInt(f(0x205))/0x4*(parseInt(f(0x1ed))/0x5)+-parseInt(f(0x1db))/0x6*(-parseInt(f(0x1de))/0x7)+parseInt(f(0x1f9))/0x8*(parseInt(f(0x208))/0x9)+parseInt(f(0x1bd))/0xa*(parseInt(f(0x1d0))/0xb)+-parseInt(f(0x1e3))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x8e060));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x1e1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0x214)]()[h(0x1d8)](h(0x1cd))['toString']()['constructor'](a48a)[h(0x1d8)](h(0x1cd));});a48a();import{camelCase}from'change-case';import{Category}from'../types/enums.js';import{Logger}from'../utilities/logger.js';import{Room}from'./room.js';import{Inventory}from'./inventory.js';function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x1bc;let f=c[d];return f;},a48d(a,b);}import{AbstractPlayer}from'../types/abstracts.js';function a48c(){const B=['.\x20You\x20must\x20unequip\x20it\x20first.','\x20is\x20now\x20listening\x20in\x20room\x20','_maxCarryingWeight','rightHand','leg\x20armor','startLocation','equip','search','canEquip','\x20says:\x20\x22','12uDJnix','\x20slot.','\x20is\x20no\x20longer\x20listeng\x20in\x20','193417uPKFVm','error','A\x20featureless\x20room','apply','gloves','30548340tQIkFI','78nlOzzQ','legs','weight','enterRoom','log','determineEquipmentSlot','addInventory','toLowerCase','currentLocation','262585dwMtxF','Hat','feet','You\x20unequipped\x20','includes','Shield','head','initialEquipment','unequip','leftHand','155755luFhov','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','109936esEFlO','_currentLocation','Max\x20carrying\x20weight\x20must\x20be\x20positive.','torso','removeInventory','bodyarmor','legarmor','equipment','name','Failed\x20to\x20remove\x20','ArmArmor','You\x20don\x27t\x20have\x20','12YCqRZb','inventory','boots','603LLauWs','values','maxCarryingWeight','hear','83055vDuYmS','Removed\x20','Nexus','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','getWeight','addItem','currentWeight','speak','toString','\x20from\x20player\x27s\x20inventory.','You\x20can\x27t\x20equip\x20','hat','shield','write','Gloves','_playerName','category','helmet','2770kKHkGw','armarmor','_equipment','arms','inventoryItems','leaveRoom','playerName','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','BodyArmor','weapon','\x20in\x20your\x20inventory.','unequipBySlot','hasItem','getInstance','_inventory','bind','(((.+)+)+)+$','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','logger','30118xwbZJg'];a48c=function(){return B;};return a48c();}export class Player extends AbstractPlayer{[a48i(0x21b)];[a48i(0x1fa)];[a48i(0x1cb)];[a48i(0x1bf)];[a48i(0x1d3)]=0x32;[a48i(0x1cf)];constructor(a){const j=a48i;super(),this[j(0x21b)]=a[j(0x1c3)],this[j(0x1fa)]=a[j(0x1d6)]||new Room({'name':j(0x20e),'description':j(0x1e0)}),this[j(0x1cb)]=new Inventory(),this['logger']=Logger[j(0x1ca)]();if(a?.[j(0x1c1)])for(const b of a['inventoryItems']){this[j(0x1cb)][j(0x211)](b);}this['_equipment']=a?.[j(0x1f4)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48i(0x201)](){const k=a48i;return this[k(0x21b)];}get[a48i(0x1ec)](){return this['_currentLocation'];}set['currentLocation'](a){const l=a48i;this[l(0x1fa)]!==a&&(this[l(0x1c2)](),this[l(0x1e7)](a)),this[l(0x1fa)]=a;}get[a48i(0x206)](){return this['_inventory'];}get[a48i(0x200)](){const m=a48i;return this[m(0x1bf)];}set[a48i(0x200)](a){const n=a48i;this[n(0x1bf)]=a;}get[a48i(0x20a)](){const o=a48i;return this[o(0x1d3)];}set[a48i(0x20a)](a){const p=a48i;a>0x0?this[p(0x1d3)]=a:console[p(0x1df)](p(0x1fb));}get['currentWeight'](){const q=a48i;let a=this[q(0x1cb)][q(0x210)]();for(const b in this['_equipment']){const c=this[q(0x1bf)][b];c&&(a+=c['weight']);}return a;}[a48i(0x1ea)](a){const r=a48i;if(this[r(0x212)]+a[r(0x1e6)]>this[r(0x20a)]){this['logger'][r(0x219)]('Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.');throw new Error(r(0x1ce));}this[r(0x1cb)][r(0x211)](a),this[r(0x1cf)][r(0x219)]('Added\x20'+a['name']+'\x20to\x20player\x27s\x20inventory.');}['removeInventory'](a){const s=a48i;if(this[s(0x1cb)]['removeItem'](a['name']))return this[s(0x1cf)]['write'](s(0x20d)+a[s(0x201)]+s(0x215)),!![];return this['logger']['write'](s(0x202)+a['name']+'\x20from\x20player\x27s\x20inventory.'),![];}[a48i(0x1d7)](a){const t=a48i;if(!this[t(0x1cb)][t(0x1c9)](a[t(0x201)]))return t(0x204)+a[t(0x201)]+t(0x1c7);if(!this['canEquip'](a))return t(0x216)+a[t(0x201)]+'.';const b=this['determineEquipmentSlot'](a[t(0x21c)]);if(!b)return a['name']+t(0x1f8);if(this['equipment'][b])return t(0x1c4)+b+t(0x1d1);return this[t(0x200)][b]=a,this[t(0x1fd)](a),'You\x20equipped\x20'+a[t(0x201)]+'.';}[a48i(0x1f5)](a){const u=a48i;let b=a;if(!this[u(0x200)][camelCase(b)]){b=this[u(0x1e9)](a);if(!b)return'Invalid\x20category\x20or\x20slot:\x20'+a+'.';}return this[u(0x1c8)](b);}[a48i(0x1e9)](a){const v=a48i;switch(a['toLowerCase']()){case Category['Weapon']['toLowerCase']():return v(0x1d4);case Category[v(0x1f2)][v(0x1eb)]():return v(0x1f6);case Category[v(0x21a)][v(0x1eb)]():return'gloves';case Category['Helmet']['toLowerCase']():case Category[v(0x1ee)][v(0x1eb)]():return v(0x1f3);case Category['Boots'][v(0x1eb)]():return v(0x1ef);case Category['LegArmor']['toLowerCase']():return v(0x1e5);case Category[v(0x203)][v(0x1eb)]():return v(0x1c0);case Category[v(0x1c5)][v(0x1eb)]():return v(0x1fc);case v(0x1c6):return v(0x1d4);case v(0x218):return v(0x1f6);case v(0x1e2):return v(0x1e2);case v(0x1bc):case v(0x217):return v(0x1f3);case v(0x207):return v(0x1ef);case v(0x1d5):case v(0x1ff):return'legs';case'arm\x20armor':case v(0x1be):return'arms';case'body\x20armor':case v(0x1fe):case v(0x1fc):return v(0x1fc);default:return null;}}[a48i(0x1d9)](a){const w=a48i;return Object[w(0x209)](Category)[w(0x1f1)](a['category']);}[a48i(0x1c8)](a){const x=a48i,b=this['equipment'][a];if(!b)return x(0x20f)+a+x(0x1dc);return this[x(0x1ea)](b),this['equipment'][a]=null,x(0x1f0)+b[x(0x201)]+'.';}['hear'](a,b){const y=a48i;a!==this&&this[y(0x1cf)][y(0x1e8)](a[y(0x201)]+y(0x1da)+b+'\x22');}[a48i(0x1e7)](a){const z=a48i;this['_currentLocation']=a,a['on'](z(0x213),this[z(0x20b)][z(0x1cc)](this)),this['logger'][z(0x219)](this[z(0x201)]+z(0x1d2)+a[z(0x201)]);}[a48i(0x1c2)](){const A=a48i;this[A(0x1fa)]&&(this[A(0x1fa)]['off'](A(0x213),this[A(0x20b)][A(0x1cc)](this)),this[A(0x1cf)][A(0x219)](this[A(0x201)]+A(0x1dd)+this[A(0x1fa)][A(0x201)]));}}
1
+ const a48i=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x99))/0x1*(-parseInt(f(0xbc))/0x2)+parseInt(f(0xa6))/0x3+parseInt(f(0xd4))/0x4+-parseInt(f(0xd0))/0x5*(-parseInt(f(0x96))/0x6)+parseInt(f(0x9a))/0x7+-parseInt(f(0xa1))/0x8+-parseInt(f(0xa8))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x6ba6d));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x9d)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0xcf)]()[h(0xc6)]('(((.+)+)+)+$')[h(0xcf)]()[h(0xc2)](a48a)[h(0xc6)](h(0xe7));});a48a();import{camelCase}from'change-case';function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x95;let f=c[d];return f;},a48d(a,b);}function a48c(){const B=['.\x20You\x20must\x20unequip\x20it\x20first.','Weapon','equip','name','\x20is\x20now\x20listening\x20in\x20room\x20','category','inventoryItems','toString','135nRMfqh','Helmet','You\x20equipped\x20','enterRoom','767168sXXWEe','_equipment','You\x20don\x27t\x20have\x20','removeInventory','boots','values','weight','logger','canEquip','toLowerCase','legarmor','BodyArmor','leaveRoom','maxCarryingWeight','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','gloves','removeItem','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','Removed\x20','(((.+)+)+)+$','legs','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','torso','Added\x20','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','leg\x20armor','addInventory','_maxCarryingWeight','arms','getInstance','includes','A\x20featureless\x20room','_currentLocation','speak','141216JhoTRE','_inventory','Boots','137fMvnnf','2722139XaZmkQ','initialEquipment','hat','apply','armarmor','currentWeight','_playerName','427928PaQdzP','\x20in\x20your\x20inventory.','LegArmor','startLocation','helmet','2577504bZlThz','addItem','7149240PWlgTF','leftHand','ArmArmor','shield','bind','unequipBySlot','unequip','\x20from\x20player\x27s\x20inventory.','hasItem','head','determineEquipmentSlot','log','Nexus','getWeight','weapon','Shield','\x20to\x20player\x27s\x20inventory.','Invalid\x20category\x20or\x20slot:\x20','\x20says:\x20\x22','feet','11482jhBQSQ','hear','\x20slot.','inventory','Failed\x20to\x20remove\x20','write','constructor','You\x20unequipped\x20','equipment','currentLocation','search','Hat'];a48c=function(){return B;};return a48c();}import{Category}from'../types/enums.js';import{Logger}from'../utilities/logger.js';import{Room}from'./room.js';import{Inventory}from'./inventory.js';import{AbstractPlayer}from'../types/abstracts.js';export class Player extends AbstractPlayer{[a48i(0xa0)];['_currentLocation'];[a48i(0x97)];[a48i(0xd5)];['_maxCarryingWeight']=0x32;[a48i(0xdb)];constructor(a){const j=a48i;super(),this[j(0xa0)]=a['playerName'],this['_currentLocation']=a[j(0xa4)]||new Room({'name':j(0xb4),'description':j(0xf3)}),this['_inventory']=new Inventory(),this[j(0xdb)]=Logger[j(0xf1)]();if(a?.[j(0xce)])for(const b of a[j(0xce)]){this[j(0x97)][j(0xa7)](b);}this[j(0xd5)]=a?.[j(0x9b)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48i(0xcb)](){return this['_playerName'];}get[a48i(0xc5)](){const k=a48i;return this[k(0xf4)];}set[a48i(0xc5)](a){const l=a48i;this['_currentLocation']!==a&&(this[l(0xe0)](),this[l(0xd3)](a)),this[l(0xf4)]=a;}get[a48i(0xbf)](){const m=a48i;return this[m(0x97)];}get[a48i(0xc4)](){const n=a48i;return this[n(0xd5)];}set['equipment'](a){const o=a48i;this[o(0xd5)]=a;}get[a48i(0xe1)](){const p=a48i;return this[p(0xef)];}set[a48i(0xe1)](a){a>0x0?this['_maxCarryingWeight']=a:console['error']('Max\x20carrying\x20weight\x20must\x20be\x20positive.');}get[a48i(0x9f)](){const q=a48i;let a=this[q(0x97)][q(0xb5)]();for(const b in this['_equipment']){const c=this['_equipment'][b];c&&(a+=c[q(0xda)]);}return a;}[a48i(0xee)](a){const r=a48i;if(this[r(0x9f)]+a[r(0xda)]>this[r(0xe1)]){this['logger'][r(0xc1)]('Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.');throw new Error(r(0xec));}this[r(0x97)][r(0xa7)](a),this[r(0xdb)][r(0xc1)](r(0xeb)+a[r(0xcb)]+r(0xb8));}[a48i(0xd7)](a){const s=a48i;if(this[s(0x97)][s(0xe4)](a[s(0xcb)]))return this[s(0xdb)][s(0xc1)](s(0xe6)+a[s(0xcb)]+'\x20from\x20player\x27s\x20inventory.'),!![];return this['logger'][s(0xc1)](s(0xc0)+a[s(0xcb)]+s(0xaf)),![];}[a48i(0xca)](a){const t=a48i;if(!this[t(0x97)][t(0xb0)](a[t(0xcb)]))return t(0xd6)+a[t(0xcb)]+t(0xa2);if(!this['canEquip'](a))return'You\x20can\x27t\x20equip\x20'+a[t(0xcb)]+'.';const b=this[t(0xb2)](a[t(0xcd)]);if(!b)return a[t(0xcb)]+t(0xe5);if(this[t(0xc4)][b])return t(0xe2)+b+t(0xc8);return this['equipment'][b]=a,this[t(0xd7)](a),t(0xd2)+a['name']+'.';}[a48i(0xae)](a){const u=a48i;let b=a;if(!this[u(0xc4)][camelCase(b)]){b=this[u(0xb2)](a);if(!b)return u(0xb9)+a+'.';}return this['unequipBySlot'](b);}[a48i(0xb2)](a){const v=a48i;switch(a[v(0xdd)]()){case Category[v(0xc9)][v(0xdd)]():return'rightHand';case Category[v(0xb7)][v(0xdd)]():return v(0xa9);case Category['Gloves']['toLowerCase']():return v(0xe3);case Category[v(0xd1)][v(0xdd)]():case Category[v(0xc7)][v(0xdd)]():return v(0xb1);case Category[v(0x98)][v(0xdd)]():return'feet';case Category[v(0xa3)][v(0xdd)]():return v(0xe8);case Category[v(0xaa)][v(0xdd)]():return'arms';case Category[v(0xdf)][v(0xdd)]():return v(0xea);case v(0xb6):return'rightHand';case v(0xab):return v(0xa9);case v(0xe3):return v(0xe3);case v(0xa5):case v(0x9c):return v(0xb1);case v(0xd8):return v(0xbb);case v(0xed):case v(0xde):return v(0xe8);case'arm\x20armor':case v(0x9e):return v(0xf0);case'body\x20armor':case'bodyarmor':case v(0xea):return'torso';default:return null;}}[a48i(0xdc)](a){const w=a48i;return Object[w(0xd9)](Category)[w(0xf2)](a[w(0xcd)]);}[a48i(0xad)](a){const x=a48i,b=this['equipment'][a];if(!b)return x(0xe9)+a+x(0xbe);return this[x(0xee)](b),this['equipment'][a]=null,x(0xc3)+b[x(0xcb)]+'.';}[a48i(0xbd)](a,b){const y=a48i;a!==this&&this[y(0xdb)][y(0xb3)](a['name']+y(0xba)+b+'\x22');}[a48i(0xd3)](a){const z=a48i;this[z(0xf4)]=a,a['on']('speak',this[z(0xbd)][z(0xac)](this)),this['logger'][z(0xc1)](this['name']+z(0xcc)+a[z(0xcb)]);}[a48i(0xe0)](){const A=a48i;this[A(0xf4)]&&(this[A(0xf4)]['off'](A(0x95),this[A(0xbd)][A(0xac)](this)),this[A(0xdb)][A(0xc1)](this[A(0xcb)]+'\x20is\x20no\x20longer\x20listeng\x20in\x20'+this[A(0xf4)]['name']));}}
@@ -1 +1 @@
1
- var a49i=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0x147))/0x1+-parseInt(f(0x13c))/0x2+-parseInt(f(0x14e))/0x3+-parseInt(f(0x146))/0x4*(parseInt(f(0x155))/0x5)+-parseInt(f(0x149))/0x6+-parseInt(f(0x152))/0x7+parseInt(f(0x14f))/0x8*(parseInt(f(0x14c))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0x40db7));var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0x13f)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a[h(0x14d)]()['search'](h(0x13d))[h(0x14d)]()[h(0x15a)](a49a)[h(0x157)](h(0x13d));});a49a();function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x13b;var f=c[d];return f;},a49d(a,b);}import{Logger}from'../utilities/logger.js';function a49c(){var n=['499725RkExfI','12664QCZWmK','Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.','requiredPhrase','2027340LZlNHd','hasRequiredItem','solved','5FZiuaQ','write','search','matchesRequiredPhrase','Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.','constructor','You\x20have\x20already\x20solved\x20this\x20puzzle.','successMessage','861554bifOHj','(((.+)+)+)+$','You\x20solved\x20the\x20puzzle!','apply','hasItem','solve','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','getInstance','failureMessage','rewardItem','116944zEgQxB','363474bAXLov','logger','2393628lESpAA','requiredItem','riddle','6921mPQdet','toString'];a49c=function(){return n;};return a49c();}import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{[a49i(0x148)]=Logger[a49i(0x143)]();[a49i(0x154)]=![];[a49i(0x14a)];['requiredPhrase'];[a49i(0x14b)];['rewardItem'];['successMessage'];[a49i(0x144)];constructor(a){var j=a49i;super(),this['requiredItem']=a[j(0x14a)],this[j(0x151)]=a['requiredPhrase'],this[j(0x14b)]=a[j(0x14b)],this[j(0x145)]=a[j(0x145)],this[j(0x13b)]=a[j(0x13b)]||j(0x13e),this[j(0x144)]=a[j(0x144)]||j(0x142);}['hasRequiredItem'](a){var k=a49i;if(this[k(0x14a)])return a[k(0x140)](this['requiredItem']);return![];}[a49i(0x158)](a){var l=a49i;return this[l(0x151)]===a;}[a49i(0x141)](a,b){var m=a49i;if(this[m(0x154)])return this[m(0x148)][m(0x156)](m(0x159)),{'success':![],'message':m(0x15b)};return this[m(0x153)](b)||this['matchesRequiredPhrase'](a)?(this['solved']=!![],this['logger'][m(0x156)]('Puzzle:\x20Correct\x20solution\x20provided.'),{'success':!![],'message':this['successMessage']}):(this['logger'][m(0x156)](m(0x150)),{'success':![],'message':this[m(0x144)]});}}
1
+ var a49i=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0x122))/0x1+parseInt(f(0x12a))/0x2*(-parseInt(f(0x131))/0x3)+-parseInt(f(0x124))/0x4*(-parseInt(f(0x128))/0x5)+-parseInt(f(0x13a))/0x6*(-parseInt(f(0x11c))/0x7)+-parseInt(f(0x125))/0x8+parseInt(f(0x11e))/0x9*(parseInt(f(0x120))/0xa)+-parseInt(f(0x123))/0xb*(-parseInt(f(0x11d))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0x9e31d));var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0x134)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a[h(0x133)]()[h(0x121)](h(0x130))['toString']()['constructor'](a49a)[h(0x121)](h(0x130));});a49a();function a49c(){var n=['toString','apply','matchesRequiredPhrase','getInstance','solve','write','solved','7266BaAzya','Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.','1225RyZpVN','12cZCllt','63HAYuxT','rewardItem','587330gSvHmB','search','39628kCcNgK','3839704gGQbLr','32wRSGUC','1754440FiVtXT','hasRequiredItem','requiredItem','702560RZYwIQ','successMessage','204RQQZcg','requiredPhrase','hasItem','logger','riddle','failureMessage','(((.+)+)+)+$','37311FgRUHu','You\x20have\x20already\x20solved\x20this\x20puzzle.'];a49c=function(){return n;};return a49c();}import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x11c;var f=c[d];return f;},a49d(a,b);}export class Puzzle extends AbstractPuzzle{[a49i(0x12d)]=Logger[a49i(0x136)]();[a49i(0x139)]=![];[a49i(0x127)];[a49i(0x12b)];[a49i(0x12e)];[a49i(0x11f)];[a49i(0x129)];[a49i(0x12f)];constructor(a){var j=a49i;super(),this[j(0x127)]=a[j(0x127)],this[j(0x12b)]=a[j(0x12b)],this[j(0x12e)]=a['riddle'],this['rewardItem']=a['rewardItem'],this[j(0x129)]=a[j(0x129)]||'You\x20solved\x20the\x20puzzle!',this[j(0x12f)]=a[j(0x12f)]||'You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.';}[a49i(0x126)](a){var k=a49i;if(this[k(0x127)])return a[k(0x12c)](this[k(0x127)]);return![];}[a49i(0x135)](a){var l=a49i;return this[l(0x12b)]===a;}[a49i(0x137)](a,b){var m=a49i;if(this[m(0x139)])return this['logger'][m(0x138)]('Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.'),{'success':![],'message':m(0x132)};return this[m(0x126)](b)||this[m(0x135)](a)?(this['solved']=!![],this[m(0x12d)]['write']('Puzzle:\x20Correct\x20solution\x20provided.'),{'success':!![],'message':this[m(0x129)]}):(this[m(0x12d)]['write'](m(0x13b)),{'success':![],'message':this[m(0x12f)]});}}
@@ -1 +1 @@
1
- const a50i=a50d;(function(a,b){const f=a50d,c=a();while(!![]){try{const d=-parseInt(f(0x1ce))/0x1+-parseInt(f(0x1e6))/0x2+parseInt(f(0x1be))/0x3+parseInt(f(0x1c8))/0x4*(-parseInt(f(0x1c1))/0x5)+parseInt(f(0x1bf))/0x6*(-parseInt(f(0x1f3))/0x7)+-parseInt(f(0x1e8))/0x8+parseInt(f(0x1f2))/0x9*(parseInt(f(0x1f1))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0x9cc5e));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x1e9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0x1d8)]()[h(0x1fa)](h(0x1ec))['toString']()[h(0x1ff)](a50a)[h(0x1fa)](h(0x1ec));});a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';function a50c(){const u=['hasItem','toString','Checking\x20if\x20exit\x20in\x20direction\x20','setPuzzle','\x20unlocked!','\x20is\x20locked.\x20Result:\x20','DOWN','Invalid\x20direction:\x20','removeItem','get','\x20remains\x20locked.','No\x20locked\x20exit\x20found\x20in\x20direction\x20','getExit','EAST','NORTH','597648CPLZIA','The\x20','4434968LpGcud','apply','getOppositeDirection','SOUTH','(((.+)+)+)+$','south','values','Item\x20added\x20to\x20room\x20','findExistingDoor','30bSQaGk','7988157PZzuDW','14cSYYHi','Room\x20created:\x20','isExitLocked','inventory','say','roomType','riddle','search','attemptUnlockExit','north','roomB','down','constructor','Fetching\x20exit\x20in\x20direction:\x20','3851511LtYTBU','2656218JfTwgj','roomA','3364295EUwugM','logger','write','puzzle','name','exits','addExit','4fImAQJ','INSIDE','WEST','Item\x20removed\x20from\x20room\x20','isStartRoom','east','892954VgNsQs','set','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','attemptUnlock','.\x20Success:\x20','speak','description','Puzzle\x20set\x20for\x20room\x20','west'];a50c=function(){return u;};return a50c();}import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x1bd;let f=c[d];return f;},a50d(a,b);}export class Room extends AbstractRoom{[a50i(0x1c2)]=Logger['getInstance']();['name'];['description'];['exits']=new Map();['roomType'];['isStartRoom'];[a50i(0x1f6)]=new Inventory();constructor(a){const j=a50i;super(),this[j(0x1c5)]=a['name'],this[j(0x1d4)]=a[j(0x1d4)],this['roomType']=a[j(0x1f8)]||RoomType[j(0x1c9)],a[j(0x1c6)]&&(this[j(0x1c6)]=a[j(0x1c6)]||new Map()),a[j(0x1f6)]&&(this[j(0x1f6)]=a[j(0x1f6)]),a['puzzle']&&(this[j(0x1c4)]=a[j(0x1c4)]),this[j(0x1cc)]=a['isStartRoom']||![],this['logger']['write'](j(0x1f4)+this[j(0x1c5)]);}[a50i(0x1f7)](a,b){const k=a50i;this['emit'](k(0x1d3),a,b);}[a50i(0x1c7)](a,b,c){const l=a50i;let d=this[l(0x1f0)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[l(0x1c6)][l(0x1cf)](a,d),b[l(0x1c6)][l(0x1cf)](this[l(0x1ea)](a),d);}[a50i(0x1fb)](a,b){const m=a50i,c=this[m(0x1c6)][m(0x1e0)](a);if(c instanceof Door){const d=c[m(0x1d1)](b);return this[m(0x1c2)][m(0x1c3)]('Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20'+a+m(0x1d2)+d),d?'The\x20'+c[m(0x1c5)]+m(0x1db):m(0x1e7)+c[m(0x1c5)]+m(0x1e1);}return this[m(0x1c2)]['write'](m(0x1e2)+a),'There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.';}[a50i(0x1e3)](a){const n=a50i;return this[n(0x1c2)][n(0x1c3)](n(0x1bd)+a),this[n(0x1c6)][n(0x1e0)](a);}[a50i(0x1f5)](a){const o=a50i,b=this['exits'][o(0x1e0)](a),c=b instanceof Door&&b['checkIfLocked']();return this[o(0x1c2)][o(0x1c3)](o(0x1d9)+a+o(0x1dc)+c),c;}['addItem'](a){const p=a50i;this[p(0x1f6)]['addItem'](a),this[p(0x1c2)][p(0x1c3)](p(0x1ef)+this[p(0x1c5)]+':\x20'+a[p(0x1c5)]);}['removeItem'](a){const q=a50i;this[q(0x1f6)][q(0x1d7)](a[q(0x1c5)])?(this[q(0x1f6)][q(0x1df)](a['name']),this[q(0x1c2)]['write'](q(0x1cb)+this[q(0x1c5)]+':\x20'+a[q(0x1c5)])):this[q(0x1c2)]['write'](q(0x1d0)+this[q(0x1c5)]+':\x20'+a[q(0x1c5)]);}[a50i(0x1da)](a){const r=a50i;this[r(0x1c4)]=a,this[r(0x1c2)][r(0x1c3)](r(0x1d5)+this[r(0x1c5)]+':\x20'+a[r(0x1f9)]);}[a50i(0x1ea)](a){const s=a50i;switch(a){case s(0x1fc):return Direction[s(0x1eb)];case s(0x1ed):return Direction[s(0x1e5)];case s(0x1cd):return Direction[s(0x1ca)];case s(0x1d6):return Direction[s(0x1e4)];case'up':return Direction[s(0x1dd)];case s(0x1fe):return Direction['UP'];default:throw new Error(s(0x1de)+a);}}['findExistingDoor'](a){const t=a50i;for(const b of this[t(0x1c6)][t(0x1ee)]()){if(b instanceof Door){if(b[t(0x1c0)]===this&&b[t(0x1fd)]===a||b[t(0x1fd)]===this&&b[t(0x1c0)]===a)return b;}}return undefined;}}
1
+ const a50i=a50d;function a50c(){const u=['Invalid\x20direction:\x20','search','\x20remains\x20locked.','name','hasItem','5966rJVWzK','set','write','Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20','Puzzle\x20set\x20for\x20room\x20','logger','INSIDE','north','attemptUnlockExit','say','5QpJvsa','isStartRoom','(((.+)+)+)+$','checkIfLocked','WEST','removeItem','6875099ZlElgk','east','description','constructor','apply','inventory','.\x20Success:\x20','\x20is\x20locked.\x20Result:\x20','addItem','down','5181000FdbdIt','Room\x20created:\x20','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','EAST','findExistingDoor','1066721RrGDKk','Checking\x20if\x20exit\x20in\x20direction\x20','puzzle','toString','get','roomA','south','getOppositeDirection','The\x20','riddle','SOUTH','Item\x20removed\x20from\x20room\x20','west','27tolofy','getExit','Item\x20added\x20to\x20room\x20','3727064uRoBAN','roomType','roomB','DOWN','isExitLocked','speak','exits','4396652wHBnGZ','14069682vkOrAM'];a50c=function(){return u;};return a50c();}(function(a,b){const f=a50d,c=a();while(!![]){try{const d=-parseInt(f(0x132))/0x1+-parseInt(f(0x150))/0x2*(parseInt(f(0x13f))/0x3)+parseInt(f(0x149))/0x4*(parseInt(f(0x15a))/0x5)+parseInt(f(0x12d))/0x6+parseInt(f(0x160))/0x7+parseInt(f(0x142))/0x8+-parseInt(f(0x14a))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0xb80ad));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x164)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0x135)]()[h(0x14c)](h(0x15c))['toString']()[h(0x163)](a50a)['search']('(((.+)+)+)+$');});a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x12a;let f=c[d];return f;},a50d(a,b);}import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';export class Room extends AbstractRoom{['logger']=Logger['getInstance']();[a50i(0x14e)];['description'];[a50i(0x148)]=new Map();[a50i(0x143)];[a50i(0x15b)];['inventory']=new Inventory();constructor(a){const j=a50i;super(),this[j(0x14e)]=a['name'],this[j(0x162)]=a['description'],this[j(0x143)]=a[j(0x143)]||RoomType[j(0x156)],a['exits']&&(this[j(0x148)]=a[j(0x148)]||new Map()),a['inventory']&&(this[j(0x165)]=a['inventory']),a[j(0x134)]&&(this[j(0x134)]=a['puzzle']),this[j(0x15b)]=a[j(0x15b)]||![],this[j(0x155)][j(0x152)](j(0x12e)+this[j(0x14e)]);}[a50i(0x159)](a,b){const k=a50i;this['emit'](k(0x147),a,b);}['addExit'](a,b,c){const l=a50i;let d=this[l(0x131)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this['exits'][l(0x151)](a,d),b[l(0x148)]['set'](this[l(0x139)](a),d);}[a50i(0x158)](a,b){const m=a50i,c=this[m(0x148)][m(0x136)](a);if(c instanceof Door){const d=c['attemptUnlock'](b);return this[m(0x155)][m(0x152)](m(0x153)+a+m(0x166)+d),d?m(0x13a)+c[m(0x14e)]+'\x20unlocked!':m(0x13a)+c[m(0x14e)]+m(0x14d);}return this[m(0x155)][m(0x152)]('No\x20locked\x20exit\x20found\x20in\x20direction\x20'+a),'There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.';}[a50i(0x140)](a){const n=a50i;return this[n(0x155)][n(0x152)]('Fetching\x20exit\x20in\x20direction:\x20'+a),this[n(0x148)]['get'](a);}[a50i(0x146)](a){const o=a50i,b=this[o(0x148)][o(0x136)](a),c=b instanceof Door&&b[o(0x15d)]();return this[o(0x155)][o(0x152)](o(0x133)+a+o(0x12a)+c),c;}[a50i(0x12b)](a){const p=a50i;this[p(0x165)][p(0x12b)](a),this['logger'][p(0x152)](p(0x141)+this[p(0x14e)]+':\x20'+a['name']);}['removeItem'](a){const q=a50i;this['inventory'][q(0x14f)](a['name'])?(this[q(0x165)][q(0x15f)](a['name']),this['logger'][q(0x152)](q(0x13d)+this[q(0x14e)]+':\x20'+a['name'])):this['logger'][q(0x152)](q(0x12f)+this['name']+':\x20'+a[q(0x14e)]);}['setPuzzle'](a){const r=a50i;this[r(0x134)]=a,this[r(0x155)][r(0x152)](r(0x154)+this[r(0x14e)]+':\x20'+a[r(0x13b)]);}[a50i(0x139)](a){const s=a50i;switch(a){case s(0x157):return Direction[s(0x13c)];case s(0x138):return Direction['NORTH'];case s(0x161):return Direction[s(0x15e)];case s(0x13e):return Direction[s(0x130)];case'up':return Direction[s(0x145)];case s(0x12c):return Direction['UP'];default:throw new Error(s(0x14b)+a);}}[a50i(0x131)](a){const t=a50i;for(const b of this['exits']['values']()){if(b instanceof Door){if(b[t(0x137)]===this&&b[t(0x144)]===a||b[t(0x144)]===this&&b[t(0x137)]===a)return b;}}return undefined;}}
@@ -1 +1 @@
1
- const a51l=a51d;(function(a,b){const i=a51d,c=a();while(!![]){try{const d=-parseInt(i(0x11e))/0x1+parseInt(i(0x117))/0x2*(parseInt(i(0x123))/0x3)+parseInt(i(0x10c))/0x4+-parseInt(i(0x108))/0x5*(parseInt(i(0x103))/0x6)+parseInt(i(0x121))/0x7*(-parseInt(i(0x12c))/0x8)+parseInt(i(0x134))/0x9+-parseInt(i(0x13d))/0xa*(parseInt(i(0x141))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0xbb540));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0x124)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a['toString']()['search'](k(0x13e))[k(0x12d)]()[k(0x128)](a51a)[k(0x11a)](k(0x13e));});a51a();import{Logger}from'../utilities/logger.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0xf8;let f=c[d];return f;},a51d(a,b);}import{Direction}from'../types/enums.js';function a51c(){const C=['rooms','22gYUGXg','\x27s\x20location.\x20Room\x20','roomFactory','\x20to\x20room\x20','Added\x20room\x20to\x20scene:\x20','setPuzzle','.\x20Room\x20','allActors','addItemToRoom','write','getInstance','hasOwnProperty','1540392OtoeqO','direction','Room\x20\x22','setCharacterLocation','exits','20lGllmg','getCharacterLocation','roomConfiguration','Failed\x20to\x20add\x20puzzle.\x20Room\x20','5998568biYlAX','No\x20actor\x20with\x20name\x20','Added\x20puzzle\x20to\x20room\x20','keys','toUpperCase','Failed\x20to\x20set\x20','isStartRoom','addExit','addPuzzleToRoom','connectRooms','currentLocation','2782022pMNhAE','length','Actor\x20with\x20name\x20','search','get','determineStartRoom','getPlayer','344337Pqxono','characterLocations','createExitsFromConfig','182ADHGrk','warn','3PDZzVa','apply','keyRequired','\x22\x20does\x20not\x20exist.','set','constructor','values','has','actors','303944bvwGQk','toString','removeRoom','name','createRoom','logger','player','generateRoomsFromConfig','9549468sxFkNa','join','Scene\x20initialized\x20with\x20rooms:\x20','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','addActor','\x20is\x20now\x20in\x20room\x20','\x20not\x20found\x20in\x20scene.','Added\x20item\x20','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','4126630CXYEqP','(((.+)+)+)+$','push'];a51c=function(){return C;};return a51c();}import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';export class Scene extends AbstractScene{[a51l(0x140)];[a51l(0x132)];[a51l(0x131)];['actors'];[a51l(0x11f)]=new Map();['roomFactory'];constructor(a){const m=a51l;super(),this[m(0xf9)]=new RoomFactory(),this[m(0x132)]=a[m(0x132)],this[m(0x140)]=this[m(0x133)](a[m(0x10a)]),this[m(0x131)]=Logger[m(0x101)](),this['actors']=new Map(),this[m(0x120)](a[m(0x10a)]),this['logger']['write'](m(0x136)+Object[m(0x10f)](this['rooms'])[m(0x135)](',\x20'));}['initialize'](){const n=a51l;this[n(0x132)][n(0x116)]=this['determineStartRoom']();}['generateRoomsFromConfig'](a){const o=a51l;if(!this['roomFactory'])throw new Error('Room\x20Factory\x20was\x20not\x20correctly\x20initialized');const b={};for(const c of a){const d=this['roomFactory'][o(0x130)](c);b[c[o(0x12f)]]=d;}return b;}['createExitsFromConfig'](a){const p=a51l;for(const b of a){const c=this[p(0x140)][b[p(0x12f)]];if(b[p(0x107)])for(const d of b['exits']){const e=d[p(0x104)][p(0x110)](),f=d['targetRoom'],g=d[p(0x125)],h=this[p(0x140)][f];h&&c[p(0x113)](Direction[e],h,g);}}}[a51l(0x138)](a){const q=a51l;if(this[q(0x12b)][q(0x12a)](a[q(0x12f)]))throw new Error(q(0x119)+a[q(0x12f)]+'\x20already\x20exists\x20in\x20the\x20scene.');this[q(0x12b)][q(0x127)](a['name'],a);}['removeActor'](a){const r=a51l;if(!this[r(0x12b)][r(0x12a)](a))throw new Error(r(0x10d)+a+'\x20found\x20in\x20the\x20scene.');this[r(0x12b)]['delete'](a);}['getActor'](a){const s=a51l;return this[s(0x12b)]['get'](a);}get[a51l(0xfe)](){const t=a51l;return Array['from'](this['actors'][t(0x129)]());}['addRoom'](a){const u=a51l;this[u(0x140)][a['name']]=a,this[u(0x131)]['write'](u(0xfb)+a[u(0x12f)]);}[a51l(0x12e)](a){const v=a51l;return this[v(0x140)][a]?(delete this['rooms'][a],this[v(0x131)][v(0x100)]('Removed\x20room\x20from\x20scene:\x20'+a),!![]):(this[v(0x131)][v(0x100)](v(0x137)+a),![]);}[a51l(0xff)](a,b){const w=a51l,c=this[w(0x140)][b];c?(c['addItem'](a),this['logger'][w(0x100)](w(0x13b)+a[w(0x12f)]+w(0xfa)+c[w(0x12f)])):this[w(0x131)][w(0x100)]('Failed\x20to\x20add\x20item\x20'+a['name']+w(0xfd)+b+w(0x13a));}[a51l(0x114)](a,b){const x=a51l,c=this[x(0x140)][b];c?(c[x(0xfc)](a),this[x(0x131)][x(0x100)](x(0x10e)+c['name'])):this[x(0x131)][x(0x100)](x(0x10b)+b+x(0x13a));}[a51l(0x106)](a,b){const y=a51l,c=this[y(0x140)][b];c?(this[y(0x11f)][y(0x127)](a[y(0x12f)],c),this[y(0x131)][y(0x100)](a['name']+y(0x139)+c['name'])):this[y(0x131)][y(0x100)](y(0x111)+a['name']+y(0xf8)+b+y(0x13a));}[a51l(0x109)](a){const z=a51l;return this[z(0x11f)][z(0x11b)](a['name']);}[a51l(0x11c)](){const A=a51l,a=[];for(const c in this[A(0x140)]){if(this[A(0x140)][A(0x102)](c)){const d=this[A(0x140)][c];d[A(0x112)]&&a[A(0x13f)](d);}}if(a[A(0x118)]>0x1)throw new Error('Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.');if(a[A(0x118)]===0x1)return a[0x0];const b=Object[A(0x10f)](this[A(0x140)]);if(b[A(0x118)]===0x0)throw new Error(A(0x13c));return console[A(0x122)]('No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.'),this[A(0x140)][b[0x0]];}[a51l(0x11d)](){return this['player'];}['getRooms'](){return this['rooms'];}[a51l(0x115)](a,b,c,d){const B=a51l,e=this[B(0x140)][a],f=this[B(0x140)][c];if(!e)throw new Error(B(0x105)+a+B(0x126));if(!f)throw new Error(B(0x105)+c+B(0x126));e[B(0x113)](b,f,d);}}
1
+ const a51l=a51d;(function(a,b){const i=a51d,c=a();while(!![]){try{const d=parseInt(i(0x157))/0x1+-parseInt(i(0x162))/0x2+parseInt(i(0x17d))/0x3*(-parseInt(i(0x188))/0x4)+parseInt(i(0x17f))/0x5*(-parseInt(i(0x16c))/0x6)+-parseInt(i(0x15f))/0x7*(parseInt(i(0x15c))/0x8)+parseInt(i(0x18d))/0x9+parseInt(i(0x18c))/0xa*(parseInt(i(0x197))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0x5c4f1));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0x176)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0x185)]()[k(0x16a)](k(0x169))[k(0x185)]()['constructor'](a51a)['search'](k(0x169));});a51a();import{Logger}from'../utilities/logger.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0x155;let f=c[d];return f;},a51d(a,b);}import{Direction}from'../types/enums.js';import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';function a51c(){const D=['toString','write','get','12MrTVxT','roomConfiguration','currentLocation','\x20not\x20found\x20in\x20scene.','10UpFdwI','3969918FbEEgN','characterLocations','delete','logger','exits','actors','rooms','No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.','allActors','getRooms','12271787GFeZId','Added\x20puzzle\x20to\x20room\x20','setCharacterLocation','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','\x20already\x20exists\x20in\x20the\x20scene.','addItemToRoom','getActor','117878ukJkdC','has','createRoom','\x22\x20does\x20not\x20exist.','\x20found\x20in\x20the\x20scene.','128pXbIpY','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','push','271369xlIkYu','set','Room\x20\x22','196842UauesJ','Actor\x20with\x20name\x20','getCharacterLocation','toUpperCase','targetRoom','initialize','Failed\x20to\x20set\x20','(((.+)+)+)+$','search','Failed\x20to\x20add\x20item\x20','3439518gCuNxt','No\x20actor\x20with\x20name\x20','Scene\x20initialized\x20with\x20rooms:\x20','createExitsFromConfig','hasOwnProperty','roomFactory','connectRooms','addItem','removeRoom','addExit','apply','determineStartRoom','length','getInstance','from','name','keys','4554HtGTPw','addRoom','5VsbBwi','generateRoomsFromConfig','Added\x20item\x20','addPuzzleToRoom','player','addActor'];a51c=function(){return D;};return a51c();}export class Scene extends AbstractScene{[a51l(0x193)];[a51l(0x183)];[a51l(0x190)];[a51l(0x192)];['characterLocations']=new Map();[a51l(0x171)];constructor(a){const m=a51l;super(),this['roomFactory']=new RoomFactory(),this['player']=a['player'],this[m(0x193)]=this[m(0x180)](a[m(0x189)]),this['logger']=Logger[m(0x179)](),this[m(0x192)]=new Map(),this[m(0x16f)](a[m(0x189)]),this[m(0x190)]['write'](m(0x16e)+Object[m(0x17c)](this[m(0x193)])['join'](',\x20'));}[a51l(0x167)](){const n=a51l;this[n(0x183)][n(0x18a)]=this[n(0x177)]();}[a51l(0x180)](a){const o=a51l;if(!this['roomFactory'])throw new Error(o(0x15d));const b={};for(const c of a){const d=this[o(0x171)][o(0x159)](c);b[c[o(0x17b)]]=d;}return b;}['createExitsFromConfig'](a){const p=a51l;for(const b of a){const c=this[p(0x193)][b[p(0x17b)]];if(b[p(0x191)])for(const d of b[p(0x191)]){const e=d['direction'][p(0x165)](),f=d[p(0x166)],g=d['keyRequired'],h=this['rooms'][f];h&&c[p(0x175)](Direction[e],h,g);}}}[a51l(0x184)](a){const q=a51l;if(this['actors'][q(0x158)](a[q(0x17b)]))throw new Error(q(0x163)+a[q(0x17b)]+q(0x19b));this['actors'][q(0x160)](a[q(0x17b)],a);}['removeActor'](a){const r=a51l;if(!this['actors'][r(0x158)](a))throw new Error(r(0x16d)+a+r(0x15b));this['actors'][r(0x18f)](a);}[a51l(0x156)](a){const s=a51l;return this[s(0x192)][s(0x187)](a);}get[a51l(0x195)](){const t=a51l;return Array[t(0x17a)](this[t(0x192)]['values']());}[a51l(0x17e)](a){const u=a51l;this['rooms'][a[u(0x17b)]]=a,this[u(0x190)][u(0x186)]('Added\x20room\x20to\x20scene:\x20'+a[u(0x17b)]);}[a51l(0x174)](a){const v=a51l;return this[v(0x193)][a]?(delete this['rooms'][a],this[v(0x190)]['write']('Removed\x20room\x20from\x20scene:\x20'+a),!![]):(this['logger'][v(0x186)]('Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20'+a),![]);}[a51l(0x155)](a,b){const w=a51l,c=this[w(0x193)][b];c?(c[w(0x173)](a),this['logger'][w(0x186)](w(0x181)+a[w(0x17b)]+'\x20to\x20room\x20'+c['name'])):this[w(0x190)][w(0x186)](w(0x16b)+a[w(0x17b)]+'.\x20Room\x20'+b+w(0x18b));}[a51l(0x182)](a,b){const x=a51l,c=this[x(0x193)][b];c?(c['setPuzzle'](a),this[x(0x190)]['write'](x(0x198)+c[x(0x17b)])):this[x(0x190)]['write']('Failed\x20to\x20add\x20puzzle.\x20Room\x20'+b+x(0x18b));}[a51l(0x199)](a,b){const y=a51l,c=this['rooms'][b];c?(this['characterLocations']['set'](a[y(0x17b)],c),this['logger'][y(0x186)](a['name']+'\x20is\x20now\x20in\x20room\x20'+c[y(0x17b)])):this[y(0x190)][y(0x186)](y(0x168)+a['name']+'\x27s\x20location.\x20Room\x20'+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0x164)](a){const z=a51l;return this[z(0x18e)][z(0x187)](a[z(0x17b)]);}[a51l(0x177)](){const A=a51l,a=[];for(const c in this[A(0x193)]){if(this[A(0x193)][A(0x170)](c)){const d=this['rooms'][c];d['isStartRoom']&&a[A(0x15e)](d);}}if(a[A(0x178)]>0x1)throw new Error(A(0x19a));if(a[A(0x178)]===0x1)return a[0x0];const b=Object[A(0x17c)](this[A(0x193)]);if(b[A(0x178)]===0x0)throw new Error('No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.');return console['warn'](A(0x194)),this[A(0x193)][b[0x0]];}['getPlayer'](){return this['player'];}[a51l(0x196)](){const B=a51l;return this[B(0x193)];}[a51l(0x172)](a,b,c,d){const C=a51l,e=this[C(0x193)][a],f=this[C(0x193)][c];if(!e)throw new Error(C(0x161)+a+C(0x15a));if(!f)throw new Error(C(0x161)+c+C(0x15a));e[C(0x175)](b,f,d);}}
@@ -1 +1 @@
1
- var a52r=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=parseInt(f(0x20e))/0x1+parseInt(f(0x1df))/0x2+-parseInt(f(0x1f7))/0x3+-parseInt(f(0x1da))/0x4*(parseInt(f(0x207))/0x5)+parseInt(f(0x1ec))/0x6*(-parseInt(f(0x1ff))/0x7)+-parseInt(f(0x1f4))/0x8*(-parseInt(f(0x1f1))/0x9)+parseInt(f(0x1ee))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x7df28));function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x1da;var f=c[d];return f;},a52d(a,b);}var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var g=a52d;return a52a[g(0x20d)]()[g(0x1dc)](g(0x1e3))[g(0x20d)]()[g(0x1fe)](a52a)[g(0x1dc)](g(0x1e3));});a52a();import{Size,Category,Shape,Color,Texture,Rating}from'../types/enums.js';import{Item}from'../models/item.js';export class BasicItem extends Item{constructor(a,b){var h=a52d;super({'name':a,'description':b,'size':Size[h(0x1e9)],'category':Category[h(0x1ea)],'shape':Shape[h(0x1db)],'color':Color[h(0x1f9)],'texture':Texture[h(0x1eb)],'rating':Rating[h(0x1e6)],'weight':0x1});}['use'](){return this['description'];}}export class Sword extends Item{constructor(a,b){var i=a52d;super({'name':a,'description':b,'size':Size[i(0x1e9)],'category':Category['Weapon'],'shape':Shape[i(0x1de)],'color':Color['Grey'],'texture':Texture[i(0x1fd)],'rating':Rating['Common'],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var j=a52d;super({'name':a,'description':b,'size':Size['Large'],'category':Category[j(0x1ed)],'shape':Shape[j(0x20a)],'color':Color[j(0x206)],'texture':Texture[j(0x1fd)],'rating':Rating['Rare'],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var k=a52d;super({'name':a,'description':b,'size':Size[k(0x1e9)],'category':Category['Helmet'],'shape':Shape[k(0x200)],'color':Color['Grey'],'texture':Texture['Metallic'],'rating':Rating[k(0x1e6)],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var l=a52d;super({'name':a,'description':b,'size':Size[l(0x1fc)],'category':Category[l(0x209)],'shape':Shape[l(0x1db)],'color':Color['Grey'],'texture':Texture['Metallic'],'rating':Rating[l(0x1e6)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var m=a52d;super({'name':a,'description':b,'size':Size[m(0x1e9)],'category':Category[m(0x1e5)],'shape':Shape[m(0x1db)],'color':Color[m(0x204)],'texture':Texture[m(0x1fd)],'rating':Rating['Common'],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var n=a52d;super({'name':a,'description':b,'size':Size[n(0x1e9)],'category':Category[n(0x1e4)],'shape':Shape[n(0x200)],'color':Color[n(0x206)],'texture':Texture[n(0x1eb)],'rating':Rating[n(0x1e6)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var o=a52d;super({'name':a,'description':b,'size':Size['Small'],'category':Category[o(0x1f5)],'shape':Shape['Circle'],'color':Color['Brown'],'texture':Texture[o(0x1eb)],'rating':Rating[o(0x1e6)],'weight':0x1});}}function a52c(){var B=['Tiny','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','Large','Metallic','constructor','7XXDSMe','Circle','use','Small','Book','Grey','Cup','Brown','115oEMeLT','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','BodyArmor','Rifle','name','pageCount','toString','837208cYxNsR','Sniper\x20Rifle','70580lzQjrP','Rectangle','search','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','Blade','751450kbyuZz','Legendary','author','Gold','(((.+)+)+)+$','Boots','LegArmor','Common','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','Holy\x20Grail','Medium','Unknown','Smooth','4189086znHWwj','Weapon','4780360Oktgty','\x20aloft,\x20feeling\x20its\x20immense\x20power.','You\x20hold\x20the\x20','6941943SZJDXS','Short\x20Sword','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','8nZIMVA','Gloves','ArmArmor','2527200DfkYfF','Key','Yellow'];a52c=function(){return B;};return a52c();}export class Gauntlets extends Item{constructor(a,b){var p=a52d;super({'name':a,'description':b,'size':Size[p(0x1e9)],'category':Category[p(0x1f6)],'shape':Shape[p(0x1db)],'color':Color[p(0x204)],'texture':Texture[p(0x1fd)],'rating':Rating['Common'],'weight':0x3});}}export class Key extends Item{constructor(a,b){var q=a52d;super({'name':a,'description':b,'size':Size[q(0x1fa)],'category':Category[q(0x1f8)],'shape':Shape['Rectangle'],'color':Color[q(0x1f9)],'texture':Texture['Smooth'],'rating':Rating[q(0x1e6)],'weight':0x0});}[a52r(0x201)](){var s=a52r;return s(0x1f3);}}export class Weapon extends Item{constructor(a,b){var t=a52r;super({'name':a,'description':b,'size':Size[t(0x1e9)],'category':Category[t(0x1ed)],'shape':Shape[t(0x1de)],'color':Color['Grey'],'texture':Texture[t(0x1fd)],'rating':Rating[t(0x1e6)],'weight':0x3});}[a52r(0x201)](){var u=a52r;return u(0x1dd);}}export class Book extends Item{['author'];['publishDate'];[a52r(0x20c)];constructor(a,b='A\x20mysterious\x20book.',c='Unknown\x20Author'){var v=a52r;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[v(0x203)],'shape':Shape[v(0x1db)],'color':Color[v(0x206)],'texture':Texture[v(0x1eb)],'rating':Rating['Common'],'weight':0x1}),this[v(0x1e1)]=c,this['publishDate']=new Date(),this[v(0x20c)]=0x64;}['use'](){return'There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22';}}export class ShortSword extends Item{constructor(){var w=a52r;super({'name':w(0x1f2),'description':w(0x1e7),'size':Size[w(0x1e9)],'category':Category['Weapon'],'shape':Shape['Blade'],'color':Color[w(0x204)],'texture':Texture['Metallic'],'rating':Rating[w(0x1e6)],'weight':0x3});}[a52r(0x201)](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class SniperRifle extends Item{constructor(){var x=a52r;super({'name':x(0x20f),'description':'An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','size':Size[x(0x1fc)],'category':Category[x(0x1ed)],'shape':Shape[x(0x20a)],'color':Color[x(0x206)],'texture':Texture['Smooth'],'rating':Rating[x(0x1e6)],'weight':0x5});}[a52r(0x201)](){var y=a52r;return y(0x1fb);}}export class HolyGrail extends Item{constructor(){var z=a52r;super({'name':z(0x1e8),'description':z(0x208),'size':Size[z(0x202)],'category':Category[z(0x205)],'shape':Shape[z(0x200)],'color':Color[z(0x1e2)],'texture':Texture[z(0x1fd)],'rating':Rating[z(0x1e0)],'weight':0x1});}[a52r(0x201)](){var A=a52r;return A(0x1f0)+this[A(0x20b)]+A(0x1ef);}}
1
+ function a52c(){var B=['A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','Blade','You\x20hold\x20the\x20','Short\x20Sword','Circle','Gloves','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','LegArmor','Weapon','author','969112fMOzhI','Unknown','Cup','2964voexuE','A\x20mysterious\x20book.','search','Metallic','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','Holy\x20Grail','(((.+)+)+)+$','toString','name','Gold','Medium','Rectangle','Legendary','4674632nUpEcW','Key','\x20aloft,\x20feeling\x20its\x20immense\x20power.','21067080hThtBC','description','Rare','Rifle','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','BodyArmor','ArmArmor','4209915oypndJ','Sniper\x20Rifle','Common','Smooth','9703316oLIzyy','Yellow','Large','12865YCKCZh','Book','Helmet','use','Small','Tiny','constructor','Brown','161808pQhiQL','Grey'];a52c=function(){return B;};return a52c();}var a52i=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=parseInt(f(0xfa))/0x1+-parseInt(f(0xee))/0x2+parseInt(f(0x115))/0x3+parseInt(f(0x10b))/0x4+parseInt(f(0xe6))/0x5*(-parseInt(f(0xfd))/0x6)+parseInt(f(0x119))/0x7+-parseInt(f(0x10e))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0xe5f58));var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var g=a52d;return a52a[g(0x105)]()[g(0xff)](g(0x104))[g(0x105)]()[g(0xec)](a52a)[g(0xff)](g(0x104));});a52a();import{Size,Category,Shape,Color,Texture,Rating}from'../types/enums.js';import{Item}from'../models/item.js';export class BasicItem extends Item{constructor(a,b){var h=a52d;super({'name':a,'description':b,'size':Size[h(0x108)],'category':Category[h(0xfb)],'shape':Shape[h(0x109)],'color':Color[h(0xe4)],'texture':Texture[h(0x118)],'rating':Rating[h(0x117)],'weight':0x1});}[a52i(0xe9)](){var j=a52i;return this[j(0x10f)];}}export class Sword extends Item{constructor(a,b){var k=a52i;super({'name':a,'description':b,'size':Size[k(0x108)],'category':Category[k(0xf8)],'shape':Shape[k(0xf1)],'color':Color[k(0xef)],'texture':Texture[k(0x100)],'rating':Rating['Common'],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52i;super({'name':a,'description':b,'size':Size[l(0xe5)],'category':Category[l(0xf8)],'shape':Shape[l(0x111)],'color':Color[l(0xed)],'texture':Texture[l(0x100)],'rating':Rating[l(0x110)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52i;super({'name':a,'description':b,'size':Size[m(0x108)],'category':Category[m(0xe8)],'shape':Shape['Circle'],'color':Color[m(0xef)],'texture':Texture[m(0x100)],'rating':Rating[m(0x117)],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52i;super({'name':a,'description':b,'size':Size[n(0xe5)],'category':Category[n(0x113)],'shape':Shape[n(0x109)],'color':Color[n(0xef)],'texture':Texture[n(0x100)],'rating':Rating[n(0x117)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52i;super({'name':a,'description':b,'size':Size[o(0x108)],'category':Category[o(0xf7)],'shape':Shape[o(0x109)],'color':Color[o(0xef)],'texture':Texture[o(0x100)],'rating':Rating['Common'],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52i;super({'name':a,'description':b,'size':Size[p(0x108)],'category':Category['Boots'],'shape':Shape[p(0xf4)],'color':Color[p(0xed)],'texture':Texture[p(0x118)],'rating':Rating[p(0x117)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var q=a52i;super({'name':a,'description':b,'size':Size[q(0xea)],'category':Category[q(0xf5)],'shape':Shape['Circle'],'color':Color[q(0xed)],'texture':Texture[q(0x118)],'rating':Rating[q(0x117)],'weight':0x1});}}function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0xe4;var f=c[d];return f;},a52d(a,b);}export class Gauntlets extends Item{constructor(a,b){var r=a52i;super({'name':a,'description':b,'size':Size[r(0x108)],'category':Category[r(0x114)],'shape':Shape[r(0x109)],'color':Color[r(0xef)],'texture':Texture[r(0x100)],'rating':Rating[r(0x117)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52i;super({'name':a,'description':b,'size':Size[s(0xeb)],'category':Category[s(0x10c)],'shape':Shape[s(0x109)],'color':Color['Yellow'],'texture':Texture[s(0x118)],'rating':Rating[s(0x117)],'weight':0x0});}[a52i(0xe9)](){var t=a52i;return t(0x101);}}export class Weapon extends Item{constructor(a,b){var u=a52i;super({'name':a,'description':b,'size':Size[u(0x108)],'category':Category[u(0xf8)],'shape':Shape[u(0xf1)],'color':Color[u(0xef)],'texture':Texture[u(0x100)],'rating':Rating[u(0x117)],'weight':0x3});}[a52i(0xe9)](){var v=a52i;return v(0xf6);}}export class Book extends Item{['author'];['publishDate'];['pageCount'];constructor(a,b=a52i(0xfe),c='Unknown\x20Author'){var w=a52i;super({'name':a,'description':b,'size':Size[w(0x108)],'category':Category[w(0xe7)],'shape':Shape[w(0x109)],'color':Color[w(0xed)],'texture':Texture[w(0x118)],'rating':Rating[w(0x117)],'weight':0x1}),this[w(0xf9)]=c,this['publishDate']=new Date(),this['pageCount']=0x64;}[a52i(0xe9)](){return'There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22';}}export class ShortSword extends Item{constructor(){var x=a52i;super({'name':x(0xf3),'description':x(0x112),'size':Size[x(0x108)],'category':Category[x(0xf8)],'shape':Shape[x(0xf1)],'color':Color[x(0xef)],'texture':Texture[x(0x100)],'rating':Rating[x(0x117)],'weight':0x3});}[a52i(0xe9)](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class SniperRifle extends Item{constructor(){var y=a52i;super({'name':y(0x116),'description':y(0x102),'size':Size[y(0xe5)],'category':Category[y(0xf8)],'shape':Shape['Rifle'],'color':Color[y(0xed)],'texture':Texture[y(0x118)],'rating':Rating[y(0x117)],'weight':0x5});}[a52i(0xe9)](){return'You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22';}}export class HolyGrail extends Item{constructor(){var z=a52i;super({'name':z(0x103),'description':z(0xf0),'size':Size[z(0xea)],'category':Category[z(0xfc)],'shape':Shape[z(0xf4)],'color':Color[z(0x107)],'texture':Texture[z(0x100)],'rating':Rating[z(0x10a)],'weight':0x1});}[a52i(0xe9)](){var A=a52i;return A(0xf2)+this[A(0x106)]+A(0x10d);}}
@@ -1 +1 @@
1
- const a54i=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=-parseInt(f(0x1a4))/0x1+parseInt(f(0x1a8))/0x2+-parseInt(f(0x1c0))/0x3+-parseInt(f(0x183))/0x4+-parseInt(f(0x165))/0x5+parseInt(f(0x18c))/0x6+parseInt(f(0x16a))/0x7*(parseInt(f(0x16f))/0x8);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0x5e002));const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0x1cc)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0x176)]()[h(0x1c4)]('(((.+)+)+)+$')['toString']()[h(0x1c8)](a54a)[h(0x1c4)](h(0x1b7));});a54a();function a54c(){const j=['east','shield','book','1116579HBWmDk','The\x20legendary\x20Holy\x20Grail.','basic','drone','search','disenchant','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','Study','constructor','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','insert\x20gem','A\x20long-range\x20weapon.','apply','north','Armory','Jackpoint\x20Login','Sniper\x20Rifle','Ancient\x20Gem','Courtyard','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','Entrance\x20Hall','Matrix\x20Data\x20Haven','inside','Library','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','2758610AJBmkG','down','south','cup','outside','24353NctxuV','The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','document','Secret\x20Passage','secret123','2776LarsWE','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','OUTSIDE','open\x20sesame','decrypt','CorpSec\x20Plans','toString','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','Golden\x20Key','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','Treasure\x20Room','Encrypted\x20Data\x20Key','A\x20creditstick\x20loaded\x20with\x20nuyen.','The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.','Alchemy\x20Lab','Central\x20Chamber\x20Key','holyGrail','847908hvTVzh','Rigger\x27s\x20Workshop','Barrens\x20Hideout','Corporate\x20Creditstick','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','The\x20chest\x20remains\x20firmly\x20shut.','A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','2563224RsGymR','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','NORTH','Chad\x20the\x20stupid\x20guard','gem','Central\x20Chamber','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','A\x20clear\x20glass\x20vial.','EAST','Watch\x20Tower','Blood-stained\x20Key','A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','Torture\x20Chamber','That\x20passcode\x20is\x20incorrect','MCT\x20Fly-Spy','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','Barrens\x20Entrance','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','key','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','The\x20data\x20remains\x20encrypted.','Riddle\x20Book','214293RCoiPc','Gang\x20Insignia','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','201588yEvlSt','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','SOUTH','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','show\x20loyalty','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','Empty\x20vial','Corp\x20Enclave','Holy\x20Grail','A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','(((.+)+)+)+$','Downtown\x20Seattle','west','Mage\x27s\x20Lair','Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','A\x20thin\x20log\x20book'];a54c=function(){return j;};return a54c();}function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x164;let f=c[d];return f;},a54d(a,b);}export const rooms=[{'name':a54i(0x1d7),'description':'A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','isStartRoom':!![],'items':[{'type':a54i(0x1a0),'name':a54i(0x178),'description':a54i(0x1ac)},{'type':a54i(0x1bf),'name':'Guard\x27s\x20Log\x20Book','description':a54i(0x1bc),'content':a54i(0x190)}],'exits':[{'direction':a54i(0x196),'targetRoom':a54i(0x16d)}]},{'name':'Secret\x20Passage','description':a54i(0x18b),'exits':[{'direction':a54i(0x18f),'targetRoom':a54i(0x17c),'keyRequired':a54i(0x178)},{'direction':a54i(0x1aa),'targetRoom':a54i(0x1d2)}]},{'name':a54i(0x17c),'description':'A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','items':[{'type':a54i(0x182),'name':a54i(0x1b3),'description':a54i(0x1c1)}]},{'name':a54i(0x1d2),'description':a54i(0x1af),'roomType':a54i(0x172),'exits':[{'direction':'UP','targetRoom':a54i(0x197)}]},{'name':a54i(0x197),'description':a54i(0x1c9),'roomType':a54i(0x172),'puzzle':{'requiredPhrase':a54i(0x16e),'riddle':'A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','rewardItem':{'type':'rifle','name':a54i(0x1d0),'description':a54i(0x1cb)},'successMessage':'You\x20pull\x20the\x20sniper\x20rifle\x20from\x20the\x20gun\x20cabinet.\x20\x20Just\x20as\x20you\x20do,\x20you\x20hear\x20a\x20guy\x20from\x20the\x20Courtyard\x20yell\x20\x22HEY!\x20WHAT\x27S\x20YA\x20NAME?!\x22','failureMessage':a54i(0x19b)}}];export const dungeonConfig=[{'name':a54i(0x1d4),'description':'A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','isStartRoom':!![],'roomType':a54i(0x1d6),'puzzle':{'requiredPhrase':a54i(0x173),'riddle':a54i(0x188),'rewardItem':{'type':'key','name':a54i(0x181),'description':'A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.'},'successMessage':a54i(0x164),'failureMessage':'Nothing\x20happens.'},'exits':[{'direction':a54i(0x1cd),'targetRoom':a54i(0x1c7)},{'direction':a54i(0x1bd),'targetRoom':'Central\x20Chamber','keyRequired':a54i(0x181)}]},{'name':a54i(0x1c7),'description':a54i(0x189),'roomType':a54i(0x1d6),'items':[{'type':a54i(0x1bf),'name':a54i(0x1a3),'description':a54i(0x1ae),'content':a54i(0x19d)},{'type':a54i(0x1a0),'name':'Central\x20Chamber\x20Key','description':'A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.'}],'exits':[{'direction':a54i(0x167),'targetRoom':'Entrance\x20Hall'},{'direction':a54i(0x1bd),'targetRoom':a54i(0x180)}]},{'name':a54i(0x180),'description':a54i(0x194),'roomType':'inside','items':[{'type':a54i(0x1c2),'name':a54i(0x1b1),'description':a54i(0x195)}],'exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x1c7)},{'direction':a54i(0x1cd),'targetRoom':a54i(0x1ce)}]},{'name':a54i(0x1ce),'description':a54i(0x17b),'roomType':a54i(0x1d6),'items':[{'type':a54i(0x1be),'name':'Emblem\x20Shield','description':a54i(0x1b4)},{'type':'sword','name':'Rusted\x20Sword','description':'An\x20old\x20and\x20rusted\x20sword.'}],'exits':[{'direction':a54i(0x167),'targetRoom':'Alchemy\x20Lab'},{'direction':a54i(0x1bd),'targetRoom':a54i(0x192)}]},{'name':'Central\x20Chamber','description':a54i(0x18d),'roomType':a54i(0x1d6),'exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x1ce)},{'direction':'south','targetRoom':a54i(0x1d4)},{'direction':a54i(0x1cd),'targetRoom':'Torture\x20Chamber'},{'direction':a54i(0x1bd),'targetRoom':'Treasure\x20Room'}]},{'name':a54i(0x19a),'description':a54i(0x17a),'roomType':a54i(0x1d6),'items':[{'type':a54i(0x1a0),'name':a54i(0x198),'description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':'release','riddle':a54i(0x171),'rewardItem':{'type':a54i(0x191),'name':a54i(0x1d1),'description':'A\x20gem\x20radiating\x20a\x20mysterious\x20aura.'},'successMessage':'The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','failureMessage':a54i(0x17f)},'exits':[{'direction':a54i(0x167),'targetRoom':a54i(0x192)}]},{'name':a54i(0x17c),'description':a54i(0x170),'roomType':a54i(0x1d6),'puzzle':{'requiredPhrase':a54i(0x1ca),'riddle':a54i(0x187),'rewardItem':{'type':a54i(0x168),'name':'Golden\x20Chalice','description':'A\x20chalice\x20made\x20of\x20pure\x20gold.'},'successMessage':a54i(0x1a7),'failureMessage':a54i(0x18a)},'exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x192)}]}];export const shadowrunConfig=[{'name':a54i(0x1cf),'description':a54i(0x1c6),'isStartRoom':!![],'roomType':a54i(0x1d6),'exits':[{'direction':a54i(0x1cd),'targetRoom':'Downtown\x20Seattle'},{'direction':'up','targetRoom':a54i(0x1d5)}]},{'name':a54i(0x1d5),'description':a54i(0x193),'roomType':a54i(0x1d6),'puzzle':{'requiredPhrase':a54i(0x174),'riddle':a54i(0x1bb),'rewardItem':{'type':'key','name':a54i(0x17d),'description':a54i(0x1a6)},'successMessage':a54i(0x179),'failureMessage':a54i(0x1a2)},'exits':[{'direction':a54i(0x166),'targetRoom':a54i(0x1cf)}]},{'name':a54i(0x1b8),'description':a54i(0x19f),'roomType':a54i(0x169),'exits':[{'direction':a54i(0x167),'targetRoom':a54i(0x1cf)},{'direction':a54i(0x1bd),'targetRoom':'Barrens\x20Entrance'},{'direction':a54i(0x1b9),'targetRoom':a54i(0x1b2)}]},{'name':a54i(0x19e),'description':a54i(0x1b6),'roomType':a54i(0x169),'puzzle':{'requiredPhrase':a54i(0x1ad),'riddle':'To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','rewardItem':{'type':a54i(0x1a0),'name':a54i(0x1a5),'description':'A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.'},'successMessage':a54i(0x16b),'failureMessage':a54i(0x1b5)},'exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x1b8)},{'direction':'north','targetRoom':'Barrens\x20Hideout'}]},{'name':a54i(0x1b2),'description':a54i(0x177),'roomType':a54i(0x1d6),'items':[{'type':'creditstick','name':a54i(0x186),'description':a54i(0x17e)},{'type':a54i(0x16c),'name':a54i(0x175),'description':a54i(0x18e)}],'exits':[{'direction':a54i(0x1bd),'targetRoom':a54i(0x1b8)}]},{'name':a54i(0x185),'description':a54i(0x1d3),'roomType':a54i(0x169),'items':[{'type':'weapon','name':'Ares\x20Predator','description':a54i(0x199)}],'exits':[{'direction':'south','targetRoom':a54i(0x19e)},{'direction':'north','targetRoom':a54i(0x1ba)},{'direction':a54i(0x1bd),'targetRoom':a54i(0x184)}]},{'name':a54i(0x1ba),'description':a54i(0x1a1),'roomType':a54i(0x1d6),'puzzle':{'requiredPhrase':a54i(0x1c5),'riddle':a54i(0x1ab),'rewardItem':{'type':'amulet','name':'Amulet\x20of\x20Awakening','description':'A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.'},'successMessage':a54i(0x1a9),'failureMessage':a54i(0x1b0)},'exits':[{'direction':a54i(0x167),'targetRoom':'Barrens\x20Hideout'}]},{'name':a54i(0x184),'description':'Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','roomType':a54i(0x1d6),'items':[{'type':a54i(0x1c3),'name':a54i(0x19c),'description':'A\x20small\x20surveillance\x20drone.'}],'exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x185)}]}];
1
+ const a54i=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=-parseInt(f(0x1d1))/0x1+parseInt(f(0x19c))/0x2+-parseInt(f(0x1f6))/0x3+parseInt(f(0x1da))/0x4*(-parseInt(f(0x1af))/0x5)+-parseInt(f(0x1ac))/0x6*(parseInt(f(0x1c4))/0x7)+parseInt(f(0x1b3))/0x8+parseInt(f(0x1cb))/0x9*(parseInt(f(0x1a9))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0xb6229));const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0x202)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0x205)]()[h(0x1b8)](h(0x1d7))['toString']()[h(0x1ba)](a54a)[h(0x1b8)](h(0x1d7));});function a54c(){const j=['Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','Golden\x20Key','Central\x20Chamber','The\x20chest\x20remains\x20firmly\x20shut.','Encrypted\x20Data\x20Key','Downtown\x20Seattle','3638238LgTEdf','A\x20creditstick\x20loaded\x20with\x20nuyen.','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','Corporate\x20Creditstick','west','open\x20sesame','Ancient\x20Gem','Secret\x20Passage','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','CorpSec\x20Plans','EAST','inside','apply','Rigger\x27s\x20Workshop','A\x20thin\x20log\x20book','toString','Courtyard','north','holyGrail','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','Matrix\x20Data\x20Haven','A\x20small\x20surveillance\x20drone.','Entrance\x20Hall','Holy\x20Grail','Golden\x20Chalice','secret123','1305724fVjOcO','Central\x20Chamber\x20Key','OUTSIDE','Torture\x20Chamber','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','Jackpoint\x20Login','A\x20key\x20stained\x20with\x20old\x20blood.','A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','east','show\x20loyalty','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','72340UiwQqZ','A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','outside','1037334JPxJkx','Mage\x27s\x20Lair','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','115NYmLoc','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','book','8031208eHeXga','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','Riddle\x20Book','search','NORTH','constructor','Barrens\x20Entrance','Nothing\x20happens.','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','A\x20long-range\x20weapon.','weapon','Armory','Corp\x20Enclave','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','key','35aoUmAe','SOUTH','south','down','A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','MCT\x20Fly-Spy','amulet','2637pVyxFW','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','Blood-stained\x20Key','basic','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','930960TauRlW','Amulet\x20of\x20Awakening','Empty\x20vial','insert\x20gem','Treasure\x20Room','A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.','(((.+)+)+)+$','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','Study','3852rlokgM','release','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','Alchemy\x20Lab','Barrens\x20Hideout','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','decrypt','The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','The\x20data\x20remains\x20encrypted.','Rusted\x20Sword','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','Chad\x20the\x20stupid\x20guard','document','Gang\x20Insignia','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','creditstick','An\x20old\x20and\x20rusted\x20sword.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','disenchant'];a54c=function(){return j;};return a54c();}function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x19a;let f=c[d];return f;},a54d(a,b);}a54a();export const rooms=[{'name':'Library','description':a54i(0x1fe),'isStartRoom':!![],'items':[{'type':a54i(0x1c3),'name':a54i(0x1f1),'description':'A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.'},{'type':a54i(0x1b2),'name':'Guard\x27s\x20Log\x20Book','description':a54i(0x204),'content':a54i(0x1e6)}],'exits':[{'direction':a54i(0x200),'targetRoom':a54i(0x1fd)}]},{'name':a54i(0x1fd),'description':a54i(0x1c8),'exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x1d5),'keyRequired':a54i(0x1f1)},{'direction':a54i(0x1c5),'targetRoom':'Courtyard'}]},{'name':a54i(0x1d5),'description':'A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','items':[{'type':a54i(0x208),'name':a54i(0x20d),'description':'The\x20legendary\x20Holy\x20Grail.'}]},{'name':a54i(0x206),'description':a54i(0x1a5),'roomType':a54i(0x19e),'exits':[{'direction':'UP','targetRoom':'Watch\x20Tower'}]},{'name':'Watch\x20Tower','description':a54i(0x1df),'roomType':a54i(0x19e),'puzzle':{'requiredPhrase':a54i(0x19b),'riddle':'A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','rewardItem':{'type':'rifle','name':'Sniper\x20Rifle','description':a54i(0x1be)},'successMessage':'You\x20pull\x20the\x20sniper\x20rifle\x20from\x20the\x20gun\x20cabinet.\x20\x20Just\x20as\x20you\x20do,\x20you\x20hear\x20a\x20guy\x20from\x20the\x20Courtyard\x20yell\x20\x22HEY!\x20WHAT\x27S\x20YA\x20NAME?!\x22','failureMessage':'That\x20passcode\x20is\x20incorrect'}}];export const dungeonConfig=[{'name':a54i(0x20c),'description':a54i(0x1c2),'isStartRoom':!![],'roomType':a54i(0x201),'puzzle':{'requiredPhrase':a54i(0x1fb),'riddle':'Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','rewardItem':{'type':a54i(0x1c3),'name':a54i(0x19d),'description':'A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.'},'successMessage':a54i(0x1b1),'failureMessage':a54i(0x1bc)},'exits':[{'direction':a54i(0x207),'targetRoom':a54i(0x1d9)},{'direction':a54i(0x1a6),'targetRoom':a54i(0x1f2),'keyRequired':a54i(0x19d)}]},{'name':a54i(0x1d9),'description':a54i(0x1a2),'roomType':'inside','items':[{'type':a54i(0x1b2),'name':a54i(0x1b7),'description':a54i(0x209),'content':'When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!'},{'type':'key','name':a54i(0x19d),'description':a54i(0x1a0)}],'exits':[{'direction':a54i(0x1c6),'targetRoom':'Entrance\x20Hall'},{'direction':a54i(0x1a6),'targetRoom':a54i(0x1dd)}]},{'name':a54i(0x1dd),'description':a54i(0x1e5),'roomType':a54i(0x201),'items':[{'type':a54i(0x1cf),'name':a54i(0x1d3),'description':'A\x20clear\x20glass\x20vial.'}],'exits':[{'direction':a54i(0x1fa),'targetRoom':a54i(0x1d9)},{'direction':a54i(0x207),'targetRoom':'Armory'}]},{'name':a54i(0x1c0),'description':a54i(0x1f0),'roomType':'inside','items':[{'type':'shield','name':'Emblem\x20Shield','description':'A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.'},{'type':'sword','name':a54i(0x1e3),'description':a54i(0x1ec)}],'exits':[{'direction':a54i(0x1c6),'targetRoom':'Alchemy\x20Lab'},{'direction':a54i(0x1a6),'targetRoom':a54i(0x1f2)}]},{'name':a54i(0x1f2),'description':a54i(0x1b5),'roomType':a54i(0x201),'exits':[{'direction':a54i(0x1fa),'targetRoom':a54i(0x1c0)},{'direction':'south','targetRoom':a54i(0x20c)},{'direction':a54i(0x207),'targetRoom':a54i(0x19f)},{'direction':'east','targetRoom':a54i(0x1d5)}]},{'name':a54i(0x19f),'description':a54i(0x1bd),'roomType':'inside','items':[{'type':a54i(0x1c3),'name':a54i(0x1ce),'description':a54i(0x1a4)}],'puzzle':{'requiredPhrase':a54i(0x1db),'riddle':a54i(0x1ea),'rewardItem':{'type':'gem','name':a54i(0x1fc),'description':a54i(0x1aa)},'successMessage':'The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','failureMessage':'The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.'},'exits':[{'direction':a54i(0x1c6),'targetRoom':'Central\x20Chamber'}]},{'name':'Treasure\x20Room','description':a54i(0x1d0),'roomType':a54i(0x201),'puzzle':{'requiredPhrase':a54i(0x1d4),'riddle':a54i(0x1e9),'rewardItem':{'type':'cup','name':a54i(0x19a),'description':'A\x20chalice\x20made\x20of\x20pure\x20gold.'},'successMessage':'The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','failureMessage':a54i(0x1f3)},'exits':[{'direction':a54i(0x1fa),'targetRoom':a54i(0x1f2)}]}];export const shadowrunConfig=[{'name':a54i(0x1a3),'description':a54i(0x1a8),'isStartRoom':!![],'roomType':a54i(0x201),'exits':[{'direction':'north','targetRoom':a54i(0x1f5)},{'direction':'up','targetRoom':a54i(0x20a)}]},{'name':a54i(0x20a),'description':a54i(0x1b6),'roomType':a54i(0x201),'puzzle':{'requiredPhrase':a54i(0x1e0),'riddle':'Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','rewardItem':{'type':'key','name':a54i(0x1f4),'description':a54i(0x1ae)},'successMessage':a54i(0x1f8),'failureMessage':a54i(0x1e2)},'exits':[{'direction':a54i(0x1c7),'targetRoom':a54i(0x1a3)}]},{'name':a54i(0x1f5),'description':a54i(0x1e4),'roomType':a54i(0x1ab),'exits':[{'direction':a54i(0x1c6),'targetRoom':a54i(0x1a3)},{'direction':a54i(0x1a6),'targetRoom':a54i(0x1bb)},{'direction':a54i(0x1fa),'targetRoom':a54i(0x1c1)}]},{'name':a54i(0x1bb),'description':'The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','roomType':a54i(0x1ab),'puzzle':{'requiredPhrase':a54i(0x1a7),'riddle':'To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','rewardItem':{'type':a54i(0x1c3),'name':a54i(0x1e8),'description':a54i(0x1d6)},'successMessage':a54i(0x1e1),'failureMessage':a54i(0x1d8)},'exits':[{'direction':a54i(0x1fa),'targetRoom':'Downtown\x20Seattle'},{'direction':a54i(0x207),'targetRoom':a54i(0x1de)}]},{'name':a54i(0x1c1),'description':a54i(0x1b0),'roomType':a54i(0x201),'items':[{'type':a54i(0x1eb),'name':a54i(0x1f9),'description':a54i(0x1f7)},{'type':a54i(0x1e7),'name':a54i(0x1ff),'description':'Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.'}],'exits':[{'direction':'east','targetRoom':a54i(0x1f5)}]},{'name':a54i(0x1de),'description':'A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','roomType':a54i(0x1ab),'items':[{'type':a54i(0x1bf),'name':'Ares\x20Predator','description':a54i(0x1a1)}],'exits':[{'direction':a54i(0x1c6),'targetRoom':a54i(0x1bb)},{'direction':a54i(0x207),'targetRoom':a54i(0x1ad)},{'direction':a54i(0x1a6),'targetRoom':a54i(0x203)}]},{'name':a54i(0x1ad),'description':a54i(0x1cd),'roomType':'inside','puzzle':{'requiredPhrase':a54i(0x1ee),'riddle':a54i(0x1dc),'rewardItem':{'type':a54i(0x1ca),'name':a54i(0x1d2),'description':a54i(0x1cc)},'successMessage':a54i(0x1b4),'failureMessage':a54i(0x1ed)},'exits':[{'direction':a54i(0x1c6),'targetRoom':a54i(0x1de)}]},{'name':'Rigger\x27s\x20Workshop','description':a54i(0x1ef),'roomType':a54i(0x201),'items':[{'type':'drone','name':a54i(0x1c9),'description':a54i(0x20b)}],'exits':[{'direction':a54i(0x1fa),'targetRoom':a54i(0x1de)}]}];