@maka/maka-cli 4.5.48 → 4.5.50

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 (134) 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/jsdoc.js +1 -1
  73. package/bundle/obf/src/commands/lint.js +1 -1
  74. package/bundle/obf/src/commands/login.js +1 -1
  75. package/bundle/obf/src/commands/logout.js +1 -1
  76. package/bundle/obf/src/commands/logs.js +1 -1
  77. package/bundle/obf/src/commands/maka.cmd.js +1 -1
  78. package/bundle/obf/src/commands/murder.js +1 -1
  79. package/bundle/obf/src/commands/proxy.js +1 -1
  80. package/bundle/obf/src/commands/reconfig.js +1 -1
  81. package/bundle/obf/src/commands/run/_index.js +1 -1
  82. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
  83. package/bundle/obf/src/commands/run/run.command.js +1 -1
  84. package/bundle/obf/src/commands/set/_index.js +1 -1
  85. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
  86. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
  87. package/bundle/obf/src/commands/set/set.command.js +1 -1
  88. package/bundle/obf/src/commands/ssh.js +1 -1
  89. package/bundle/obf/src/commands/ssl.js +1 -1
  90. package/bundle/obf/src/commands/test.js +1 -1
  91. package/bundle/obf/src/commands/version.js +1 -1
  92. package/bundle/obf/src/error.js +1 -1
  93. package/bundle/obf/src/exec.js +1 -1
  94. package/bundle/obf/src/generator.js +1 -1
  95. package/bundle/obf/src/generators/_index.js +1 -1
  96. package/bundle/obf/src/generators/api.js +1 -1
  97. package/bundle/obf/src/generators/collection.js +1 -1
  98. package/bundle/obf/src/generators/component.js +1 -1
  99. package/bundle/obf/src/generators/config.js +1 -1
  100. package/bundle/obf/src/generators/dbc.js +1 -1
  101. package/bundle/obf/src/generators/dockerfile.js +1 -1
  102. package/bundle/obf/src/generators/hook.js +1 -1
  103. package/bundle/obf/src/generators/kit.js +1 -1
  104. package/bundle/obf/src/generators/layout.js +1 -1
  105. package/bundle/obf/src/generators/maka.gen.js +1 -1
  106. package/bundle/obf/src/generators/methods.js +1 -1
  107. package/bundle/obf/src/generators/package.js +1 -1
  108. package/bundle/obf/src/generators/page.js +1 -1
  109. package/bundle/obf/src/generators/publish.js +1 -1
  110. package/bundle/obf/src/generators/route.js +1 -1
  111. package/bundle/obf/src/generators/service.js +1 -1
  112. package/bundle/obf/src/generators/services/_index.js +1 -1
  113. package/bundle/obf/src/generators/services/openssl.js +1 -1
  114. package/bundle/obf/src/generators/services/translation.js +1 -1
  115. package/bundle/obf/src/maka.js +1 -1
  116. package/bundle/obf/src/tool.js +1 -1
  117. package/bundle/obf/src/tools/actions/actions.class.js +1 -1
  118. package/bundle/obf/src/tools/aws/aws.class.js +1 -1
  119. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
  120. package/bundle/obf/src/tools/docker/docker.class.js +1 -1
  121. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
  122. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
  123. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
  124. package/bundle/obf/src/tools/https/https.class.js +1 -1
  125. package/bundle/obf/src/tools/https/https.interface.js +1 -1
  126. package/bundle/obf/src/tools/log/log.class.js +1 -1
  127. package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
  128. package/bundle/obf/src/tools/options/options.class.js +1 -1
  129. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
  130. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
  131. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
  132. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
  133. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
  134. package/package.json +1 -1
@@ -1 +1 @@
1
- function a36c(){const l=['currentLocation','apply','Error\x20during\x20\x27Take\x27\x20command:\x20','message','There\x20is\x20no\x20item\x20\x22','name','join','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','115002APiZDC','4453924dFicpR','\x22\x20not\x20retrieved\x20from\x20','5FFVMkr','Pick\x20up\x20an\x20item.','\x22\x20to\x20','removeItem','inventory','Item\x20\x22','actor','\x22\x20in\x20this\x20room.','addInventory','toLowerCase','search','toString','764632PvFFiz','1691964ivXkku','constructor','2298237dHImRi','logger','Successfully\x20added\x20\x22','write','getItem','4679928XOBJAN','\x22\x20not\x20found\x20in\x20','\x20during\x20\x27Take\x27\x20command.','410KYkrvl','4bKajuE','execute','126989kNDufM','verb','(((.+)+)+)+$','take','91JXOpTp','Successfully\x20removed\x20\x22'];a36c=function(){return l;};return a36c();}const a36i=a36d;function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0xbf;let f=c[d];return f;},a36d(a,b);}(function(a,b){const f=a36d,c=a();while(!![]){try{const d=-parseInt(f(0xc9))/0x1*(-parseInt(f(0xc7))/0x2)+parseInt(f(0xeb))/0x3+-parseInt(f(0xda))/0x4*(-parseInt(f(0xdc))/0x5)+-parseInt(f(0xe9))/0x6+parseInt(f(0xcd))/0x7*(-parseInt(f(0xe8))/0x8)+parseInt(f(0xd9))/0x9*(parseInt(f(0xc6))/0xa)+-parseInt(f(0xc3))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0xacb8b));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0xd0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a[h(0xe7)]()['search']('(((.+)+)+)+$')[h(0xe7)]()[h(0xea)](a36a)[h(0xe6)](h(0xcb));});a36a();import{Command}from'./command.js';export class TakeCommand extends Command{static [a36i(0xca)]=a36i(0xcc);static ['description']=a36i(0xdd);[a36i(0xc8)](a){const j=a36i;return this[j(0xbf)]['write'](j(0xd6)+a[j(0xd5)]('\x20')),this[j(0xcc)](a);}['take'](a){const k=a36i,b=a[k(0xd5)]('\x20')[k(0xe5)](),c=this[k(0xe2)][k(0xcf)];if(!c['inventory']['hasItem'](b))return this[k(0xbf)]['write'](k(0xe1)+b+k(0xc4)+c['name']+k(0xc5)),k(0xd3)+b+k(0xe3);const d=c['inventory'][k(0xc2)](b);if(!d)return this[k(0xbf)][k(0xc1)](k(0xe1)+b+k(0xdb)+c[k(0xd4)]+k(0xd8)),k(0xd3)+b+k(0xe3);try{return this[k(0xe2)][k(0xe4)](d),this[k(0xbf)][k(0xc1)](k(0xc0)+b+k(0xde)+this[k(0xe2)][k(0xd4)]+k(0xd7)),c[k(0xe0)][k(0xdf)](b),this['logger'][k(0xc1)](k(0xce)+b+'\x22\x20from\x20'+c[k(0xd4)]+k(0xd8)),'You\x20have\x20taken\x20the\x20'+b+'.';}catch(e){return this[k(0xbf)][k(0xc1)](k(0xd1)+e[k(0xd2)]),'The\x20item\x20\x22'+b+'\x22\x20is\x20too\x20heavy\x20to\x20carry.';}}}
1
+ const a36i=a36d;function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x123;let f=c[d];return f;},a36d(a,b);}(function(a,b){const f=a36d,c=a();while(!![]){try{const d=-parseInt(f(0x12e))/0x1+-parseInt(f(0x12c))/0x2+parseInt(f(0x134))/0x3*(parseInt(f(0x148))/0x4)+parseInt(f(0x14b))/0x5*(parseInt(f(0x132))/0x6)+parseInt(f(0x143))/0x7+-parseInt(f(0x124))/0x8*(-parseInt(f(0x12f))/0x9)+-parseInt(f(0x13e))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x703f7));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0x127)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a[h(0x145)]()[h(0x135)](h(0x141))[h(0x145)]()['constructor'](a36a)[h(0x135)](h(0x141));});function a36c(){const l=['join','\x22\x20not\x20retrieved\x20from\x20','6mSWkzP','The\x20item\x20\x22','180budIHE','search','\x22\x20to\x20','verb','\x22\x20not\x20found\x20in\x20','\x22\x20from\x20','name','Pick\x20up\x20an\x20item.','Successfully\x20added\x20\x22','actor','132190Zzmlbm','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','message','(((.+)+)+)+$','removeItem','5111365bCmzKR','\x20during\x20\x27Take\x27\x20command.','toString','logger','There\x20is\x20no\x20item\x20\x22','43732JGzTtU','\x22\x20in\x20this\x20room.','getItem','789395lNzRoZ','\x22\x20is\x20too\x20heavy\x20to\x20carry.','take','inventory','616CIbfTr','write','You\x20have\x20taken\x20the\x20','apply','currentLocation','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','Item\x20\x22','execute','1817504OQbtVI','hasItem','742973mPlkpm','67869ShDMxn'];a36c=function(){return l;};return a36c();}a36a();import{Command}from'./command.js';export class TakeCommand extends Command{static [a36i(0x137)]='take';static ['description']=a36i(0x13b);[a36i(0x12b)](a){const j=a36i;return this[j(0x146)]['write'](j(0x13f)+a[j(0x130)]('\x20')),this[j(0x14d)](a);}[a36i(0x14d)](a){const k=a36i,b=a[k(0x130)]('\x20')['toLowerCase'](),c=this[k(0x13d)][k(0x128)];if(!c[k(0x123)][k(0x12d)](b))return this['logger'][k(0x125)]('Item\x20\x22'+b+k(0x138)+c[k(0x13a)]+k(0x144)),k(0x147)+b+k(0x149);const d=c[k(0x123)][k(0x14a)](b);if(!d)return this[k(0x146)]['write'](k(0x12a)+b+k(0x131)+c[k(0x13a)]+k(0x129)),k(0x147)+b+k(0x149);try{return this[k(0x13d)]['addInventory'](d),this[k(0x146)][k(0x125)](k(0x13c)+b+k(0x136)+this[k(0x13d)][k(0x13a)]+'\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.'),c[k(0x123)][k(0x142)](b),this[k(0x146)]['write']('Successfully\x20removed\x20\x22'+b+k(0x139)+c[k(0x13a)]+k(0x129)),k(0x126)+b+'.';}catch(e){return this[k(0x146)][k(0x125)]('Error\x20during\x20\x27Take\x27\x20command:\x20'+e[k(0x140)]),k(0x133)+b+k(0x14c);}}}
@@ -1 +1 @@
1
- const a37i=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=parseInt(f(0x1c8))/0x1*(parseInt(f(0x1ca))/0x2)+-parseInt(f(0x1c2))/0x3+-parseInt(f(0x1bf))/0x4+parseInt(f(0x1c3))/0x5*(-parseInt(f(0x1ce))/0x6)+parseInt(f(0x1bd))/0x7*(parseInt(f(0x1bb))/0x8)+-parseInt(f(0x1c9))/0x9+parseInt(f(0x1b7))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0x884ae));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0x1c0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a[h(0x1c1)]()[h(0x1c7)]('(((.+)+)+)+$')[h(0x1c1)]()[h(0x1c6)](a37a)[h(0x1c7)](h(0x1c4));});function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x1b6;let f=c[d];return f;},a37d(a,b);}a37a();import{Command}from'./command.js';function a37c(){const k=['(((.+)+)+)+$','description','constructor','search','2EUStWM','947448ZRStOw','104134IpTGSL','unequip','\x20unqeuiped\x20','name','1980KWwWpJ','Unequip\x20an\x20item.','join','3900100dBIwQZ','unqeuip','actor','logger','392IbtyxO','execute','155974lqOpNy','write','1399788LDPgoh','apply','toString','910617EegVNI','4075vrImQl'];a37c=function(){return k;};return a37c();}export class UnequipCommand extends Command{static ['verb']=a37i(0x1b8);static [a37i(0x1c5)]=a37i(0x1cf);[a37i(0x1bc)](a){const j=a37i,b=a[j(0x1b6)]('\x20')['toLowerCase'](),c=this[j(0x1b9)][j(0x1cb)](b);return this[j(0x1ba)][j(0x1be)]('UnequipCommand:\x20'+this[j(0x1b9)][j(0x1cd)]+j(0x1cc)+c),c;}}
1
+ const a37h=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=-parseInt(f(0xa0))/0x1+parseInt(f(0xab))/0x2*(parseInt(f(0xa1))/0x3)+parseInt(f(0x9f))/0x4+parseInt(f(0xa9))/0x5+-parseInt(f(0xa4))/0x6*(parseInt(f(0xa7))/0x7)+parseInt(f(0xaa))/0x8+-parseInt(f(0xae))/0x9*(-parseInt(f(0xac))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0xdc59b));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(0xa8)]()['search'](g(0xaf))[g(0xa8)]()[g(0x9d)](a37a)[g(0xa2)]('(((.+)+)+)+$');});a37a();import{Command}from'./command.js';function a37c(){const j=['name','logger','constructor','verb','4695316yjvBQO','1791730jgJqqC','176862OJLfml','search','description','84KBnGMs','join','Unequip\x20an\x20item.','264481xkaSEa','toString','2223905NAFpYM','1901344rszufc','12AiqRkm','273850xFUyMX','execute','333XXRAak','(((.+)+)+)+$','actor'];a37c=function(){return j;};return a37c();}function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x9d;let f=c[d];return f;},a37d(a,b);}export class UnequipCommand extends Command{static [a37h(0x9e)]='unqeuip';static [a37h(0xa3)]=a37h(0xa6);[a37h(0xad)](a){const i=a37h,b=a[i(0xa5)]('\x20')['toLowerCase'](),c=this[i(0xb0)]['unequip'](b);return this[i(0xb2)]['write']('UnequipCommand:\x20'+this[i(0xb0)][i(0xb1)]+'\x20unqeuiped\x20'+c),c;}}
@@ -1 +1 @@
1
- const a38k=a38d;function a38c(){const m=['1872428HyJvBS','actor','verb','description','310835QDSQvc','currentLocation','write','unlock','Unlock\x20a\x20door.','4346235xBFapY','getItem','hasItem','8233460kcSlde','5dMkHTP','exits','UnlockCommand:\x20','4lpxqKx','toString','get','unlockItemOrSolution','429483Ugndas','toLowerCase','has','1rdwZlZ','inventory','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','logger','apply','21254178jqHvRy','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','\x20is\x20attempted\x20to\x20unlock\x20','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','name','\x22\x20here.','(((.+)+)+)+$','attemptUnlockExit','search','184hWeSvh','438168yiHcZo','There\x27s\x20no\x20door\x20named\x20\x22'];a38c=function(){return m;};return a38c();}(function(a,b){const h=a38d,c=a();while(!![]){try{const d=parseInt(h(0x13b))/0x1*(parseInt(h(0x14c))/0x2)+parseInt(h(0x138))/0x3*(parseInt(h(0x134))/0x4)+parseInt(h(0x131))/0x5*(-parseInt(h(0x14a))/0x6)+parseInt(h(0x150))/0x7*(-parseInt(h(0x149))/0x8)+-parseInt(h(0x155))/0x9+-parseInt(h(0x130))/0xa+parseInt(h(0x140))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0x95299));const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0x13f)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0x135)]()[j(0x148)](j(0x146))[j(0x135)]()['constructor'](a38a)[j(0x148)]('(((.+)+)+)+$');});a38a();import{Door}from'../models/door.js';function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0x12f;let f=c[d];return f;},a38d(a,b);}import{Command}from'./command.js';export class UnlockCommand extends Command{static [a38k(0x14e)]=a38k(0x153);static [a38k(0x14f)]=a38k(0x154);['execute'](a){return this['unlock'](a);}[a38k(0x153)](a){const l=a38k;if(a['length']===0x0)return this[l(0x13e)]['error']('UnlockCommand:\x20No\x20target\x20specified.'),l(0x143);const b=a[0x0][l(0x139)](),c=this[l(0x14d)][l(0x151)];if(this['isValidDirection'](b)&&c[l(0x132)][l(0x13a)](b)){const d=c[l(0x132)][l(0x136)](b);if(d instanceof Door){const e=d[l(0x137)]?.[l(0x139)]();if(e&&this[l(0x14d)][l(0x13c)][l(0x12f)](e)){const f=this[l(0x14d)]['inventory'][l(0x156)](e);if(f){const g=c[l(0x147)](b,f[l(0x144)]);return this['logger'][l(0x152)](l(0x133)+this[l(0x14d)][l(0x144)]+l(0x142)+b+'.\x20Result:\x20'+g),g;}}return this[l(0x13e)]['write'](l(0x133)+this[l(0x14d)][l(0x144)]+'\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20'+b+'.'),l(0x13d);}else return this[l(0x13e)]['write'](l(0x133)+b+l(0x141)+c[l(0x144)]+'.'),'There\x27s\x20no\x20door\x20named\x20\x22'+b+'\x22\x20here.';}else return this['logger']['write'](l(0x133)+b+l(0x141)+c[l(0x144)]+'.'),l(0x14b)+b+l(0x145);}}
1
+ const a38k=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=parseInt(h(0xb4))/0x1*(-parseInt(h(0xcf))/0x2)+-parseInt(h(0xbb))/0x3+parseInt(h(0xb7))/0x4+parseInt(h(0xc9))/0x5+-parseInt(h(0xb6))/0x6+parseInt(h(0xc6))/0x7+parseInt(h(0xbc))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0x70915));function a38c(){const n=['logger','2325880DYOVgb','execute','error','actor','attemptUnlockExit','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','78654mJswkO','(((.+)+)+)+$','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','search','.\x20Result:\x20','toString','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','unlock','\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','get','UnlockCommand:\x20','description','name','6AqduOJ','\x20is\x20attempted\x20to\x20unlock\x20','4452630QaPzOY','2323128ATEkrf','currentLocation','apply','length','136443xXFeDo','1475608UYuoda','constructor','Unlock\x20a\x20door.','exits','write','hasItem','There\x27s\x20no\x20door\x20named\x20\x22','toLowerCase','\x22\x20here.','UnlockCommand:\x20No\x20target\x20specified.','1779512nNpcXk','has'];a38c=function(){return n;};return a38c();}const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0xb9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0xd4)]()[j(0xd2)](j(0xd0))[j(0xd4)]()[j(0xbd)](a38a)['search'](j(0xd0));});a38a();function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0xb1;let f=c[d];return f;},a38d(a,b);}import{Door}from'../models/door.js';import{Command}from'./command.js';export class UnlockCommand extends Command{static ['verb']=a38k(0xd6);static [a38k(0xb2)]=a38k(0xbe);[a38k(0xca)](a){const l=a38k;return this[l(0xd6)](a);}[a38k(0xd6)](a){const m=a38k;if(a[m(0xba)]===0x0)return this[m(0xc8)][m(0xcb)](m(0xc5)),m(0xce);const b=a[0x0][m(0xc3)](),c=this['actor'][m(0xb8)];if(this['isValidDirection'](b)&&c[m(0xbf)][m(0xc7)](b)){const d=c[m(0xbf)][m(0xd8)](b);if(d instanceof Door){const e=d['unlockItemOrSolution']?.[m(0xc3)]();if(e&&this[m(0xcc)]['inventory'][m(0xc1)](e)){const f=this['actor']['inventory']['getItem'](e);if(f){const g=c[m(0xcd)](b,f[m(0xb3)]);return this[m(0xc8)]['write'](m(0xb1)+this['actor'][m(0xb3)]+m(0xb5)+b+m(0xd3)+g),g;}}return this[m(0xc8)][m(0xc0)](m(0xb1)+this[m(0xcc)]['name']+m(0xd7)+b+'.'),m(0xd1);}else return this['logger'][m(0xc0)](m(0xb1)+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'+c['name']+'.'),'There\x27s\x20no\x20door\x20named\x20\x22'+b+m(0xc4);}else return this['logger'][m(0xc0)](m(0xb1)+b+m(0xd5)+c['name']+'.'),m(0xc2)+b+m(0xc4);}}
@@ -1 +1 @@
1
- const a39i=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=-parseInt(f(0x12a))/0x1*(-parseInt(f(0x124))/0x2)+-parseInt(f(0x10f))/0x3+-parseInt(f(0x111))/0x4*(-parseInt(f(0x116))/0x5)+parseInt(f(0x10c))/0x6*(-parseInt(f(0x120))/0x7)+-parseInt(f(0x10b))/0x8+-parseInt(f(0x12c))/0x9*(parseInt(f(0x122))/0xa)+parseInt(f(0x126))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xc5c35));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0x118)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a['toString']()['search'](h(0x121))[h(0x125)]()[h(0x11c)](a39a)[h(0x112)](h(0x121));});a39a();import{Command}from'./command.js';function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x10b;let f=c[d];return f;},a39d(a,b);}function a39c(){const l=['logger','description','5wIurlf','function','apply','getItem','inventory','verb','constructor','\x20doesn\x27t\x20have\x20a\x20use\x20method.','You\x20don\x27t\x20have\x20the\x20','name','1309322mhtMGt','(((.+)+)+)+$','142610ajKcjD','UseCommand:\x20','2eTUELU','toString','9039041WoiySS','\x20used\x20','Use\x20an\x20item.','\x20to\x20use.','671941njAkOA','\x27s\x20inventory.','513WttSWJ','join','\x20not\x20retrieved\x20from\x20','write','\x20attempted\x20to\x20use\x20','3683296IrTDxn','6elDqzr','execute','You\x20can\x27t\x20use\x20the\x20','599154tjyarl','use','3905672eBflgl','search','actor'];a39c=function(){return l;};return a39c();}export class UseCommand extends Command{static [a39i(0x11b)]=a39i(0x110);static [a39i(0x115)]=a39i(0x128);[a39i(0x10d)](a){const j=a39i;return this[j(0x110)](a);}[a39i(0x110)](a){const k=a39i,b=a[k(0x12d)]('\x20')['toLowerCase']();if(!this[k(0x113)]['inventory']['hasItem'](b))return this[k(0x114)][k(0x12f)]('UseCommand:\x20'+this[k(0x113)][k(0x11f)]+k(0x130)+b+',\x20which\x20is\x20not\x20in\x20their\x20inventory.'),k(0x11e)+b+'\x20to\x20use.';const c=this[k(0x113)][k(0x11a)][k(0x119)](b);if(!c)return this[k(0x114)][k(0x12f)](k(0x123)+b+k(0x12e)+this[k(0x113)][k(0x11f)]+k(0x12b)),k(0x11e)+b+k(0x129);if(typeof c['use']===k(0x117)){const d=c[k(0x110)]();return this['logger'][k(0x12f)](k(0x123)+this[k(0x113)][k(0x11f)]+k(0x127)+b+'.'),d;}else return this[k(0x114)][k(0x12f)](k(0x123)+b+k(0x11d)),k(0x10e)+b+'\x20in\x20this\x20way.';}}
1
+ const a39i=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=parseInt(f(0xd4))/0x1+parseInt(f(0xe2))/0x2*(parseInt(f(0xda))/0x3)+-parseInt(f(0xe6))/0x4*(parseInt(f(0xd9))/0x5)+parseInt(f(0xf0))/0x6*(-parseInt(f(0xd3))/0x7)+-parseInt(f(0xd6))/0x8*(-parseInt(f(0xe0))/0x9)+parseInt(f(0xe5))/0xa+parseInt(f(0xef))/0xb*(-parseInt(f(0xce))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xdc640));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0xea)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a[h(0xeb)]()[h(0xdb)](h(0xd8))[h(0xeb)]()[h(0xde)](a39a)[h(0xdb)]('(((.+)+)+)+$');});function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0xcc;let f=c[d];return f;},a39d(a,b);}a39a();function a39c(){const k=['204dIZUep','name','UseCommand:\x20','description','toLowerCase','11837cXWuPG','485095cjZSzN','inventory','184NTIKZn','hasItem','(((.+)+)+)+$','5wrAauQ','1878cBuhMB','search','Use\x20an\x20item.','use','constructor','\x20not\x20retrieved\x20from\x20','242901QvreIG','verb','3308IizuNQ','logger',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','14017240aajrvE','2309092QRykrt','write','\x27s\x20inventory.','getItem','apply','toString','You\x20can\x27t\x20use\x20the\x20','\x20in\x20this\x20way.','You\x20don\x27t\x20have\x20the\x20','1300948slFuWJ','186PvBcVL','execute','\x20to\x20use.','actor'];a39c=function(){return k;};return a39c();}import{Command}from'./command.js';export class UseCommand extends Command{static [a39i(0xe1)]=a39i(0xdd);static [a39i(0xd1)]=a39i(0xdc);[a39i(0xf1)](a){return this['use'](a);}[a39i(0xdd)](a){const j=a39i,b=a['join']('\x20')[j(0xd2)]();if(!this[j(0xcd)][j(0xd5)][j(0xd7)](b))return this['logger'][j(0xe7)](j(0xd0)+this['actor']['name']+'\x20attempted\x20to\x20use\x20'+b+j(0xe4)),j(0xee)+b+j(0xcc);const c=this[j(0xcd)][j(0xd5)][j(0xe9)](b);if(!c)return this[j(0xe3)][j(0xe7)](j(0xd0)+b+j(0xdf)+this[j(0xcd)][j(0xcf)]+j(0xe8)),j(0xee)+b+j(0xcc);if(typeof c[j(0xdd)]==='function'){const d=c['use']();return this[j(0xe3)]['write']('UseCommand:\x20'+this[j(0xcd)]['name']+'\x20used\x20'+b+'.'),d;}else return this[j(0xe3)]['write'](j(0xd0)+b+'\x20doesn\x27t\x20have\x20a\x20use\x20method.'),j(0xec)+b+j(0xed);}}
@@ -1 +1 @@
1
- function a40c(){const j=['8870vvqaHq','(((.+)+)+)+$','commandMap','1311985eoKEkx','488120QHWnQd','256446gRKeFS','2315250eGEYzs','6imubWC','21wlpUtx','1462986nvtGdN','registerCommand','getAllRegisteredCommands','4EeHzZI','createCommand','109007IhzCve','toString'];a40c=function(){return j;};return a40c();}const a40h=a40d;function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0xbe;let f=c[d];return f;},a40d(a,b);}(function(a,b){const f=a40d,c=a();while(!![]){try{const d=parseInt(f(0xc0))/0x1*(-parseInt(f(0xc9))/0x2)+-parseInt(f(0xc7))/0x3*(-parseInt(f(0xbe))/0x4)+-parseInt(f(0xc5))/0x5+parseInt(f(0xcb))/0x6+-parseInt(f(0xca))/0x7*(-parseInt(f(0xc6))/0x8)+parseInt(f(0xc8))/0x9+-parseInt(f(0xc2))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x2bc67));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']()['search'](g(0xc3))[g(0xc1)]()['constructor'](a40a)['search'](g(0xc3));});a40a();export class CommandFactory{static ['commandMap']={};static[a40h(0xcc)](a,b){this['commandMap'][a]=b;}static[a40h(0xbf)](a,b){const c=this['commandMap'][a];if(c)return new c(b);return null;}static[a40h(0xcd)](){const i=a40h;return this[i(0xc4)];}}
1
+ const a40i=a40d;(function(a,b){const f=a40d,c=a();while(!![]){try{const d=-parseInt(f(0x122))/0x1*(-parseInt(f(0x127))/0x2)+-parseInt(f(0x132))/0x3*(parseInt(f(0x126))/0x4)+parseInt(f(0x12a))/0x5+parseInt(f(0x125))/0x6+parseInt(f(0x12d))/0x7+-parseInt(f(0x12e))/0x8*(-parseInt(f(0x12f))/0x9)+-parseInt(f(0x130))/0xa*(parseInt(f(0x123))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x2b36b));const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0x121)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a[h(0x12b)]()[h(0x128)]('(((.+)+)+)+$')['toString']()[h(0x124)](a40a)['search'](h(0x133));});function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x121;let f=c[d];return f;},a40d(a,b);}a40a();function a40c(){const k=['80uaWdDh','1978TMukFA','search','commandMap','1181330igbtFd','toString','getAllRegisteredCommands','768719dBOczC','224JiumCa','31626dJFgBn','3467450uEXKUA','createCommand','29733HATdqo','(((.+)+)+)+$','apply','98YhJmeh','11JwVGyd','constructor','1083426zWLwTD'];a40c=function(){return k;};return a40c();}export class CommandFactory{static [a40i(0x129)]={};static['registerCommand'](a,b){this['commandMap'][a]=b;}static[a40i(0x131)](a,b){const c=this['commandMap'][a];if(c)return new c(b);return null;}static[a40i(0x12c)](){const j=a40i;return this[j(0x129)];}}
@@ -1 +1 @@
1
- const a41h=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=parseInt(f(0x148))/0x1*(parseInt(f(0x13f))/0x2)+parseInt(f(0x154))/0x3*(parseInt(f(0x14b))/0x4)+parseInt(f(0x15a))/0x5*(-parseInt(f(0x159))/0x6)+-parseInt(f(0x150))/0x7*(parseInt(f(0x143))/0x8)+-parseInt(f(0x14a))/0x9+-parseInt(f(0x13b))/0xa+-parseInt(f(0x15d))/0xb*(-parseInt(f(0x153))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0x3bf6a));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['toString']()[g(0x13d)](g(0x13c))[g(0x141)]()['constructor'](a41a)[g(0x13d)](g(0x13c));});a41a();function a41c(){const n=['createItem','forEach','type','2534052lIWjKC','5Msvyty','setPuzzle','gloves','11ZBryhd','puzzle','book','gauntlets','767630ixKGpR','(((.+)+)+)+$','search','createPuzzle','186JgjFwS','inventory','toString','rewardItem','230824dQWZtR','items','toUpperCase','createRoom','content','3098tHvtuk','key','1748718laULHE','68hKAfjS','boots','description','roomType','name','119FFSraj','addItem','convertToRoomConfig','11163780SGFzst','37251AvkNWi','legarmor'];a41c=function(){return n;};return a41c();}import{Room,Puzzle,Inventory}from'../models/_index.js';import{RoomType}from'../types/enums.js';function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x138;let f=c[d];return f;},a41d(a,b);}import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{[a41h(0x146)](a){const i=a41h,b=this[i(0x152)](a),c=new Room(b);if(a['items']){const d=new Inventory();a[i(0x144)][i(0x157)](e=>{const j=i;d[j(0x151)](this[j(0x156)](e));}),c[i(0x140)]=d;}return a[i(0x138)]&&c[i(0x15b)](this[i(0x13e)](a[i(0x138)])),c;}[a41h(0x156)](a){const k=a41h;switch(a[k(0x158)]){case k(0x149):return new Key(a[k(0x14f)],a[k(0x14d)]);case k(0x139):return new Book(a[k(0x14f)],a[k(0x14d)],a[k(0x147)]);case'sword':return new Sword(a[k(0x14f)],a['description']);case'rifle':return new Rifle(a[k(0x14f)],a[k(0x14d)]);case'helmet':return new Helmet(a['name'],a[k(0x14d)]);case'bodyarmor':return new BodyArmor(a['name'],a['description']);case k(0x155):return new LegArmor(a['name'],a['description']);case k(0x14c):return new Boots(a[k(0x14f)],a[k(0x14d)]);case k(0x15c):return new Gloves(a[k(0x14f)],a[k(0x14d)]);case k(0x13a):return new Gauntlets(a[k(0x14f)],a['description']);default:return new BasicItem(a[k(0x14f)],a['description']);}}[a41h(0x13e)](a){const l=a41h,b=this['createItem'](a[l(0x142)]);return new Puzzle({...a,'rewardItem':b});}[a41h(0x152)](a){const m=a41h,b=a['roomType']&&RoomType[a[m(0x14e)]['toUpperCase']()]?RoomType[a[m(0x14e)][m(0x145)]()]:RoomType['INSIDE'];return{'name':a[m(0x14f)],'description':a[m(0x14d)],'isStartRoom':a['isStartRoom'],'roomType':b};}}
1
+ const a41i=a41d;function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0xb7;let f=c[d];return f;},a41d(a,b);}(function(a,b){const f=a41d,c=a();while(!![]){try{const d=-parseInt(f(0xbe))/0x1+parseInt(f(0xd1))/0x2+parseInt(f(0xd3))/0x3+parseInt(f(0xcd))/0x4+-parseInt(f(0xba))/0x5+-parseInt(f(0xc5))/0x6+parseInt(f(0xb9))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0x6c86f));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a41d;if(c){const e=c[g(0xce)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0xb7)]()[h(0xbb)](h(0xd0))[h(0xb7)]()['constructor'](a41a)[h(0xbb)](h(0xd0));});a41a();import{Room,Puzzle,Inventory}from'../models/_index.js';import{RoomType}from'../types/enums.js';function a41c(){const o=['isStartRoom','rewardItem','4119792souEUc','roomType','inventory','legarmor','description','puzzle','createItem','boots','2722904XXxexB','apply','gauntlets','(((.+)+)+)+$','84522ZWPYTL','toUpperCase','1891356lijvvW','createRoom','items','createPuzzle','type','toString','name','5765221UwScEe','1144695osVSQs','search','convertToRoomConfig','book','816944JGdlWk','helmet','gloves','key','INSIDE'];a41c=function(){return o;};return a41c();}import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{[a41i(0xd4)](a){const j=a41i,b=this[j(0xbc)](a),c=new Room(b);if(a['items']){const d=new Inventory();a[j(0xd5)]['forEach'](e=>{const k=j;d['addItem'](this[k(0xcb)](e));}),c[j(0xc7)]=d;}return a[j(0xca)]&&c['setPuzzle'](this[j(0xd6)](a[j(0xca)])),c;}[a41i(0xcb)](a){const l=a41i;switch(a[l(0xd7)]){case l(0xc1):return new Key(a[l(0xb8)],a[l(0xc9)]);case l(0xbd):return new Book(a[l(0xb8)],a['description'],a['content']);case'sword':return new Sword(a[l(0xb8)],a[l(0xc9)]);case'rifle':return new Rifle(a[l(0xb8)],a['description']);case l(0xbf):return new Helmet(a[l(0xb8)],a['description']);case'bodyarmor':return new BodyArmor(a[l(0xb8)],a[l(0xc9)]);case l(0xc8):return new LegArmor(a[l(0xb8)],a[l(0xc9)]);case l(0xcc):return new Boots(a['name'],a[l(0xc9)]);case l(0xc0):return new Gloves(a[l(0xb8)],a[l(0xc9)]);case l(0xcf):return new Gauntlets(a[l(0xb8)],a[l(0xc9)]);default:return new BasicItem(a[l(0xb8)],a[l(0xc9)]);}}[a41i(0xd6)](a){const m=a41i,b=this['createItem'](a[m(0xc4)]);return new Puzzle({...a,'rewardItem':b});}[a41i(0xbc)](a){const n=a41i,b=a['roomType']&&RoomType[a[n(0xc6)][n(0xd2)]()]?RoomType[a['roomType'][n(0xd2)]()]:RoomType[n(0xc2)];return{'name':a['name'],'description':a['description'],'isStartRoom':a[n(0xc3)],'roomType':b};}}
@@ -1 +1 @@
1
- const a42j=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=parseInt(h(0x150))/0x1+parseInt(h(0x15d))/0x2*(-parseInt(h(0x151))/0x3)+parseInt(h(0x16d))/0x4+parseInt(h(0x179))/0x5*(parseInt(h(0x164))/0x6)+-parseInt(h(0x176))/0x7*(-parseInt(h(0x16e))/0x8)+-parseInt(h(0x156))/0x9*(-parseInt(h(0x16b))/0xa)+parseInt(h(0x170))/0xb*(-parseInt(h(0x172))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0x54010));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(0x16f)]()[i(0x168)](i(0x17b))[i(0x16f)]()[i(0x182)](a42a)[i(0x168)](i(0x17b));});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=['30372thWrxB','handleInput','currentRoom','scene','currentLocation','drop','getInstance','420iGRJOw','-\x20quit:\x20Exit\x20the\x20game.\x0a','registerCommand','look','search','equip','maka','260wDwyJg','name','353664anQvZg','2990440CknteS','toString','3399jCnUHe','getWelcomeMessage','14484hvEjYI','clear','initialize','createCommand','7QjNNxW','getDescription','instance','13090bZvyBN','player','(((.+)+)+)+$','Available\x20Commands:\x0a','split','quit','take','toLowerCase','say','constructor','use','getHelpMessage','181900FQXiwt','30VKoNHm','unlock','getRooms','unequip','trim','14373AkepDT','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','registerCommands','hasOwnProperty','getAllRegisteredCommands','rooms','determineStartRoom'];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';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x14e;let f=c[d];return f;},a42d(a,b);}import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42j(0x178)];[a42j(0x160)];[a42j(0x17a)];[a42j(0x15f)];[a42j(0x15b)];constructor(a,b){const k=a42j;this['player']=a,this[k(0x160)]=new Scene({'player':a,'roomConfiguration':b}),this['scene'][k(0x174)](),this[k(0x17a)][k(0x161)]=this[k(0x15c)](),this['registerCommands']();}[a42j(0x158)](){const l=a42j;CommandFactory[l(0x166)](l(0x167),LookCommand),CommandFactory[l(0x166)]('go',GoCommand),CommandFactory[l(0x166)](l(0x17f),TakeCommand),CommandFactory['registerCommand'](l(0x14e),UseCommand),CommandFactory[l(0x166)](l(0x169),EquipCommand),CommandFactory[l(0x166)](l(0x154),UnequipCommand),CommandFactory[l(0x166)]('solve',SolveCommand),CommandFactory[l(0x166)](l(0x162),DropCommand),CommandFactory[l(0x166)](l(0x152),UnlockCommand),CommandFactory['registerCommand']('lock',LockCommand),CommandFactory[l(0x166)]('search',SearchCommand),CommandFactory['registerCommand'](l(0x181),SayCommand);}[a42j(0x15c)](){const m=a42j;return this[m(0x160)][m(0x15c)]();}[a42j(0x171)](){const n=a42j;return'Welcome,\x20'+this[n(0x17a)][n(0x16c)];}static[a42j(0x163)](a,b){const o=a42j;return!Game[o(0x178)]&&(Game[o(0x178)]=new Game(a,b)),Game[o(0x178)];}[a42j(0x15e)](a){const p=a42j,b=a[p(0x155)]()[p(0x17d)]('\x20'),c=b[0x0][p(0x180)](),d=b['slice'](0x1);if(c===p(0x17e))return null;if(c===p(0x16a))return'You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit';if(c==='help')return this[p(0x14f)]();if(c===p(0x173))return'';const e={'actor':this[p(0x17a)],'rooms':this[p(0x160)][p(0x153)](),'scene':this[p(0x160)]},f=CommandFactory[p(0x175)](c,e);if(f){const g=f['execute'](d);return g;}return p(0x157)+c+'\x22.';}[a42j(0x14f)](){const q=a42j,a=CommandFactory[q(0x15a)]();let b=q(0x17c);for(const c in a){if(a[q(0x159)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[q(0x177)]()+'\x0a';}}return b+='-\x20clear:\x20Clear\x20the\x20screen.\x0a',b+=q(0x165),b;}}
1
+ const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0xb3))/0x1*(parseInt(h(0xb8))/0x2)+parseInt(h(0xc1))/0x3+-parseInt(h(0xc7))/0x4*(-parseInt(h(0xad))/0x5)+-parseInt(h(0xb0))/0x6*(parseInt(h(0x9e))/0x7)+parseInt(h(0xb5))/0x8+-parseInt(h(0x9a))/0x9+-parseInt(h(0x9b))/0xa*(-parseInt(h(0xb9))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0x56b93));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0xa0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a[j(0xca)]()[j(0xac)](j(0xa7))['toString']()[j(0x9c)](a42a)['search'](j(0xa7));});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';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';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x9a;let f=c[d];return f;},a42d(a,b);}function a42c(){const s=['toString','3469005ehSjFP','670GDQNOF','constructor','look','21EnqIFf','currentRoom','apply','execute','help','determineStartRoom','getHelpMessage','rooms','registerCommands','(((.+)+)+)+$','currentLocation','Available\x20Commands:\x0a','scene','Welcome,\x20','search','5zluyWG','unlock','getDescription','1039806WwhrIs','drop','getWelcomeMessage','19483jHmGvh','getInstance','794568xMPSqW','say','toLowerCase','50IVVQZB','254518zKqLKO','getAllRegisteredCommands','use','createCommand','registerCommand','quit','initialize','name','94926XJCPHF','-\x20quit:\x20Exit\x20the\x20game.\x0a','player','clear','slice','equip','265732TQiaNf','instance','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit'];a42c=function(){return s;};return a42c();}export default class Game{static [a42k(0xc8)];['scene'];[a42k(0xc3)];[a42k(0x9f)];[a42k(0xa5)];constructor(a,b){const l=a42k;this['player']=a,this['scene']=new Scene({'player':a,'roomConfiguration':b}),this['scene'][l(0xbf)](),this[l(0xc3)][l(0xa8)]=this[l(0xa3)](),this['registerCommands']();}[a42k(0xa6)](){const m=a42k;CommandFactory[m(0xbd)](m(0x9d),LookCommand),CommandFactory[m(0xbd)]('go',GoCommand),CommandFactory['registerCommand']('take',TakeCommand),CommandFactory[m(0xbd)](m(0xbb),UseCommand),CommandFactory[m(0xbd)](m(0xc6),EquipCommand),CommandFactory[m(0xbd)]('unequip',UnequipCommand),CommandFactory['registerCommand']('solve',SolveCommand),CommandFactory[m(0xbd)](m(0xb1),DropCommand),CommandFactory[m(0xbd)](m(0xae),UnlockCommand),CommandFactory['registerCommand']('lock',LockCommand),CommandFactory[m(0xbd)]('search',SearchCommand),CommandFactory[m(0xbd)](m(0xb6),SayCommand);}[a42k(0xa3)](){const n=a42k;return this[n(0xaa)][n(0xa3)]();}[a42k(0xb2)](){const o=a42k;return o(0xab)+this['player'][o(0xc0)];}static[a42k(0xb4)](a,b){const p=a42k;return!Game[p(0xc8)]&&(Game[p(0xc8)]=new Game(a,b)),Game[p(0xc8)];}['handleInput'](a){const q=a42k,b=a['trim']()['split']('\x20'),c=b[0x0][q(0xb7)](),d=b[q(0xc5)](0x1);if(c===q(0xbe))return null;if(c==='maka')return q(0xc9);if(c===q(0xa2))return this[q(0xa4)]();if(c===q(0xc4))return'';const e={'actor':this[q(0xc3)],'rooms':this[q(0xaa)]['getRooms'](),'scene':this[q(0xaa)]},f=CommandFactory[q(0xbc)](c,e);if(f){const g=f[q(0xa1)](d);return g;}return'I\x20don\x27t\x20understand\x20the\x20command\x20\x22'+c+'\x22.';}[a42k(0xa4)](){const r=a42k,a=CommandFactory[r(0xba)]();let b=r(0xa9);for(const c in a){if(a['hasOwnProperty'](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[r(0xaf)]()+'\x0a';}}return b+='-\x20clear:\x20Clear\x20the\x20screen.\x0a',b+=r(0xc2),b;}}
@@ -1 +1 @@
1
- (function(a,b){var f=a43d,c=a();while(!![]){try{var d=-parseInt(f(0x114))/0x1*(parseInt(f(0x116))/0x2)+parseInt(f(0x10f))/0x3+-parseInt(f(0x117))/0x4*(-parseInt(f(0x10b))/0x5)+parseInt(f(0x112))/0x6+parseInt(f(0x110))/0x7*(-parseInt(f(0x10c))/0x8)+-parseInt(f(0x10e))/0x9*(-parseInt(f(0x118))/0xa)+parseInt(f(0x113))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x721d4));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x111)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a[h(0x10d)]()[h(0x115)]('(((.+)+)+)+$')['toString']()['constructor'](a43a)[h(0x115)]('(((.+)+)+)+$');});function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x10b;var f=c[d];return f;},a43d(a,b);}a43a();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';export*from'./scene.js';function a43c(){var i=['1319025TGGuHR','390222dmcWsw','apply','1580898vUKUMz','1501511uQOxEz','3YAVhxo','search','148834PJOniC','638060YdPXzg','28850yNHint','5ZZbrtd','48FZEuZZ','toString','81LcvzNP'];a43c=function(){return i;};return a43c();}
1
+ (function(a,b){var f=a43d,c=a();while(!![]){try{var d=parseInt(f(0x75))/0x1+parseInt(f(0x72))/0x2+-parseInt(f(0x71))/0x3*(parseInt(f(0x76))/0x4)+-parseInt(f(0x77))/0x5+parseInt(f(0x73))/0x6+-parseInt(f(0x78))/0x7*(parseInt(f(0x7c))/0x8)+parseInt(f(0x7b))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x245f6));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x7a)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a['toString']()['search']('(((.+)+)+)+$')[h(0x70)]()[h(0x6f)](a43a)[h(0x74)](h(0x79));});a43a();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=['(((.+)+)+)+$','apply','1063035jZnuKi','16udzUPl','constructor','toString','3upEOAn','561680AajaWt','453408pvOdtG','search','141780dKapip','400228fvncBI','1165080zrcVXA','469868OYjkHC'];a43c=function(){return i;};return a43c();}function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x6f;var f=c[d];return f;},a43d(a,b);}export*from'./scene.js';
@@ -1 +1 @@
1
- var a44h=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x152))/0x1+parseInt(f(0x139))/0x2*(-parseInt(f(0x136))/0x3)+-parseInt(f(0x146))/0x4*(parseInt(f(0x147))/0x5)+-parseInt(f(0x148))/0x6*(-parseInt(f(0x143))/0x7)+parseInt(f(0x154))/0x8*(parseInt(f(0x142))/0x9)+parseInt(f(0x14b))/0xa*(-parseInt(f(0x13c))/0xb)+-parseInt(f(0x13d))/0xc*(-parseInt(f(0x14a))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0x595c7));var a44b=(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;};}()),a44a=a44b(this,function(){var g=a44d;return a44a[g(0x137)]()[g(0x13b)](g(0x134))[g(0x137)]()[g(0x138)](a44a)[g(0x13b)](g(0x134));});a44a();import{Logger}from'../utilities/logger.js';import{capitalCase}from'change-case';function a44c(){var l=['name','Door\x20unlocked:\x20','Failed\x20to\x20unlock\x20door:\x20','unlockItemOrSolution','.\x20Used:\x20','roomA','240054DTQkBZ','roomB','8QBsifW','attemptUnlock','(((.+)+)+)+$','getOtherSide','19245kiqnqW','toString','constructor','198HMebqz','isLocked','search','781NzLsCI','453576wMVISy','\x20and\x20','write','To\x20','Door\x20created\x20between\x20','1710090xgDQPe','396879KTuZGf','logger','checkIfLockable','7720DaSEKD','965UpxWxm','6GuDEHX','getInstance','559tkfTRi','36390UyvUcl'];a44c=function(){return l;};return a44c();}function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0x134;var f=c[d];return f;},a44d(a,b);}import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{[a44h(0x151)];[a44h(0x153)];[a44h(0x13a)];['unlockItemOrSolution'];['name'];[a44h(0x144)];['isLockable'];constructor(a){var i=a44h;super(),this[i(0x151)]=a['roomA'],this[i(0x153)]=a[i(0x153)],this['isLocked']=a[i(0x13a)]||![],this['unlockItemOrSolution']=a[i(0x14f)],this[i(0x14c)]=a[i(0x14c)]?capitalCase(a[i(0x14c)]):i(0x140)+a[i(0x153)][i(0x14c)],this[i(0x144)]=Logger[i(0x149)](),this['isLockable']=!!a[i(0x14f)],this[i(0x144)][i(0x13f)](i(0x141)+this[i(0x151)][i(0x14c)]+i(0x13e)+this[i(0x153)][i(0x14c)]+'.\x20Is\x20Locked:\x20'+this['isLocked']);}[a44h(0x135)](a){var j=a44h;return this[j(0x151)]===a?this['roomB']:this[j(0x151)];}[a44h(0x155)](a){var k=a44h;if(this[k(0x13a)]&&this[k(0x14f)]&&this[k(0x14f)]===a)return this['isLocked']=![],this['logger'][k(0x13f)](k(0x14d)+this[k(0x14c)]+'.\x20Used:\x20'+a),!![];return this[k(0x144)][k(0x13f)](k(0x14e)+this[k(0x14c)]+k(0x150)+a),![];}['checkIfLocked'](){return this['isLocked'];}[a44h(0x145)](){return this['isLockable'];}}
1
+ var a44i=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x20c))/0x1+-parseInt(f(0x1f7))/0x2*(-parseInt(f(0x1f6))/0x3)+parseInt(f(0x203))/0x4+parseInt(f(0x1fa))/0x5+parseInt(f(0x202))/0x6*(parseInt(f(0x1fb))/0x7)+parseInt(f(0x204))/0x8+-parseInt(f(0x1f2))/0x9*(parseInt(f(0x201))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0x41f59));function a44c(){var n=['85350BRTxzi','39720lIgSRk','2736864fOpNsD','constructor','Failed\x20to\x20unlock\x20door:\x20','roomB','(((.+)+)+)+$','.\x20Used:\x20','To\x20','write','128512ATmELV','isLocked','Door\x20unlocked:\x20','logger','apply','getInstance','5364eJUGmx','.\x20Is\x20Locked:\x20','getOtherSide','roomA','1605TSHocS','2004haDuwB','checkIfLockable','search','2239005CFRSmF','28RXeaGp','attemptUnlock','unlockItemOrSolution','toString','name','isLockable','16680LvHmDB'];a44c=function(){return n;};return a44c();}var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0x1f0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a[h(0x1fe)]()[h(0x1f9)](h(0x208))[h(0x1fe)]()[h(0x205)](a44a)[h(0x1f9)](h(0x208));});function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0x1f0;var f=c[d];return f;},a44d(a,b);}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(0x207)];['isLocked'];[a44i(0x1fd)];['name'];[a44i(0x20f)];[a44i(0x200)];constructor(a){var j=a44i;super(),this[j(0x1f5)]=a[j(0x1f5)],this[j(0x207)]=a[j(0x207)],this[j(0x20d)]=a[j(0x20d)]||![],this[j(0x1fd)]=a['unlockItemOrSolution'],this['name']=a[j(0x1ff)]?capitalCase(a[j(0x1ff)]):j(0x20a)+a[j(0x207)][j(0x1ff)],this['logger']=Logger[j(0x1f1)](),this[j(0x200)]=!!a[j(0x1fd)],this[j(0x20f)][j(0x20b)]('Door\x20created\x20between\x20'+this[j(0x1f5)][j(0x1ff)]+'\x20and\x20'+this[j(0x207)][j(0x1ff)]+j(0x1f3)+this['isLocked']);}[a44i(0x1f4)](a){var k=a44i;return this['roomA']===a?this[k(0x207)]:this['roomA'];}[a44i(0x1fc)](a){var l=a44i;if(this['isLocked']&&this['unlockItemOrSolution']&&this['unlockItemOrSolution']===a)return this[l(0x20d)]=![],this[l(0x20f)]['write'](l(0x20e)+this[l(0x1ff)]+l(0x209)+a),!![];return this[l(0x20f)][l(0x20b)](l(0x206)+this[l(0x1ff)]+l(0x209)+a),![];}['checkIfLocked'](){return this['isLocked'];}[a44i(0x1f8)](){var m=a44i;return this[m(0x200)];}}
@@ -1 +1 @@
1
- const a45i=a45d;function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0xec;let f=c[d];return f;},a45d(a,b);}function a45c(){const r=['weight','65jQdRuh','15VydVKe','Listed\x20items\x20in\x20inventory:\x20','write','map','getAllItems','addItem','search','keys','5QsnDQv','\x20in\x20','22696YfdRwB','name','set','Failed\x20to\x20remove\x20item:\x20','\x20to\x20inventory.','getWeight','(((.+)+)+)+$','delete','apply','toString','301088OiUZVe','2062810cztRQW','93162faSOvP','Removed\x20item:\x20','getInstance','.\x20Exists:\x20','.\x20Item\x20not\x20found.','listItems','4884044wtntxh','logger','toLowerCase','removeItem','join','getItem','values','2390751AnAlDC','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','items','763RvdEAL','168106lhCPWC'];a45c=function(){return r;};return a45c();}(function(a,b){const f=a45d,c=a();while(!![]){try{const d=parseInt(f(0x102))/0x1*(-parseInt(f(0xf7))/0x2)+parseInt(f(0xfa))/0x3*(parseInt(f(0x10e))/0x4)+parseInt(f(0xf9))/0x5*(parseInt(f(0x110))/0x6)+parseInt(f(0xf6))/0x7*(-parseInt(f(0x104))/0x8)+-parseInt(f(0xf3))/0x9+parseInt(f(0x10f))/0xa+parseInt(f(0xec))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0x38f8f));const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0x10c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a[h(0x10d)]()[h(0x100)]('(((.+)+)+)+$')[h(0x10d)]()['constructor'](a45a)[h(0x100)](h(0x10a));});a45a();import{capitalCase}from'change-case';import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{[a45i(0xf5)];[a45i(0xed)];constructor(){const j=a45i;super(),this[j(0xf5)]=new Map(),this['logger']=Logger[j(0x112)]();}[a45i(0xff)](a){const k=a45i;this['items'][k(0x106)](a[k(0x105)]['toLowerCase'](),a),this[k(0xed)][k(0xfc)]('Added\x20item:\x20'+a[k(0x105)]+k(0x108));}[a45i(0xef)](a){const l=a45i,b=this['getItem'](a);if(b)return this['items'][l(0x10b)](a[l(0xee)]()),this[l(0xed)]['write'](l(0x111)+a+'\x20from\x20inventory.'),b;return this[l(0xed)][l(0xfc)](l(0x107)+a+l(0x114)),null;}['hasItem'](a){const m=a45i,b=this[m(0xf5)]['has'](a[m(0xee)]()),c=[...this['items'][m(0x101)]()];return this['logger'][m(0xfc)]('Checked\x20for\x20item:\x20'+a+m(0x103)+c[m(0xf0)](',\x20')+m(0x113)+b+'.'),b;}[a45i(0xf1)](a){const n=a45i,b=this['items']['get'](a[n(0xee)]())||null;return b?this[n(0xed)][n(0xfc)]('Retrieved\x20details\x20for\x20item:\x20'+a+'.'):this['logger'][n(0xfc)](n(0xf4)+a+n(0x114)),b;}[a45i(0x115)](){const o=a45i,a=[...this['items'][o(0x101)]()],b=a[o(0xfd)](c=>capitalCase(c));return this['logger'][o(0xfc)](o(0xfb)+b['join'](',\x20')+'.'),a;}[a45i(0x109)](){const p=a45i;let a=0x0;for(const b of this[p(0xf5)][p(0xf2)]()){a+=b[p(0xf8)];}return a;}[a45i(0xfe)](){const q=a45i;return[...this['items'][q(0xf2)]()];}}
1
+ const a45i=a45d;function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0x92;let f=c[d];return f;},a45d(a,b);}(function(a,b){const f=a45d,c=a();while(!![]){try{const d=-parseInt(f(0xb3))/0x1*(parseInt(f(0xb9))/0x2)+parseInt(f(0xac))/0x3+parseInt(f(0xa5))/0x4+-parseInt(f(0xb6))/0x5*(-parseInt(f(0x9a))/0x6)+-parseInt(f(0xa0))/0x7*(-parseInt(f(0xb7))/0x8)+-parseInt(f(0xa7))/0x9+-parseInt(f(0x99))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0xa2d78));const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0xad)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a[h(0x9f)]()[h(0x93)]('(((.+)+)+)+$')[h(0x9f)]()['constructor'](a45a)[h(0x93)](h(0xb5));});a45a();function a45c(){const r=['search','\x20from\x20inventory.','Retrieved\x20details\x20for\x20item:\x20','logger','Failed\x20to\x20remove\x20item:\x20','Removed\x20item:\x20','18273520hDAHhJ','42LlrIyV','listItems','get','getItem','.\x20Item\x20not\x20found.','toString','660674NMsjkR','set','addItem','map','join','4956004CrtbfA','keys','1537155NgUZGN','write','Checked\x20for\x20item:\x20','getAllItems','\x20to\x20inventory.','2480169DOThku','apply','values','items','getWeight','name','Listed\x20items\x20in\x20inventory:\x20','789vAeOqI','toLowerCase','(((.+)+)+)+$','629780pyCEvd','16YAjsDI','delete','1194clPIRn','has','removeItem','Added\x20item:\x20'];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(0xaf)];[a45i(0x96)];constructor(){const j=a45i;super(),this[j(0xaf)]=new Map(),this[j(0x96)]=Logger['getInstance']();}[a45i(0xa2)](a){const k=a45i;this[k(0xaf)][k(0xa1)](a[k(0xb1)][k(0xb4)](),a),this[k(0x96)][k(0xa8)](k(0x92)+a['name']+k(0xab));}[a45i(0xbb)](a){const l=a45i,b=this[l(0x9d)](a);if(b)return this['items'][l(0xb8)](a[l(0xb4)]()),this[l(0x96)][l(0xa8)](l(0x98)+a+l(0x94)),b;return this[l(0x96)][l(0xa8)](l(0x97)+a+l(0x9e)),null;}['hasItem'](a){const m=a45i,b=this[m(0xaf)][m(0xba)](a[m(0xb4)]()),c=[...this['items'][m(0xa6)]()];return this['logger'][m(0xa8)](m(0xa9)+a+'\x20in\x20'+c[m(0xa4)](',\x20')+'.\x20Exists:\x20'+b+'.'),b;}[a45i(0x9d)](a){const n=a45i,b=this[n(0xaf)][n(0x9c)](a[n(0xb4)]())||null;return b?this[n(0x96)][n(0xa8)](n(0x95)+a+'.'):this[n(0x96)][n(0xa8)]('Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20'+a+n(0x9e)),b;}[a45i(0x9b)](){const o=a45i,a=[...this[o(0xaf)][o(0xa6)]()],b=a[o(0xa3)](c=>capitalCase(c));return this[o(0x96)][o(0xa8)](o(0xb2)+b['join'](',\x20')+'.'),a;}[a45i(0xb0)](){const p=a45i;let a=0x0;for(const b of this[p(0xaf)][p(0xae)]()){a+=b['weight'];}return a;}[a45i(0xaa)](){const q=a45i;return[...this['items'][q(0xae)]()];}}
@@ -1 +1 @@
1
- var a46i=a46d;function a46c(){var k=['search','size','2165292VFVWEg','611814EhMrCD','toString','apply','7293kcHEzM','204hrbhll','description','weight','(((.+)+)+)+$','6oizDCi','21510IdBCOh','1143JBByzU','5097180xRmlip','32eYWlfF','color','name','65218klQwYs','texture','category','constructor','uuid','rating','use','1235935CQkFUq'];a46c=function(){return k;};return a46c();}(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0xb8))/0x1*(-parseInt(f(0xbf))/0x2)+-parseInt(f(0xcd))/0x3*(-parseInt(f(0xce))/0x4)+-parseInt(f(0xc6))/0x5+parseInt(f(0xc9))/0x6+parseInt(f(0xca))/0x7*(-parseInt(f(0xbc))/0x8)+parseInt(f(0xba))/0x9*(-parseInt(f(0xb9))/0xa)+parseInt(f(0xbb))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x42e05));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0xcc)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a[h(0xcb)]()['search'](h(0xb7))['toString']()[h(0xc2)](a46a)[h(0xc7)](h(0xb7));});function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0xb6;var f=c[d];return f;},a46d(a,b);}a46a();import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{[a46i(0xc3)];['name'];[a46i(0xcf)];[a46i(0xc8)];['category'];['shape'];[a46i(0xbd)];['texture'];[a46i(0xc4)];[a46i(0xb6)];constructor(a){var j=a46i;super(),this[j(0xbe)]=a['name'],this['description']=a[j(0xcf)],this[j(0xc8)]=a[j(0xc8)],this[j(0xc1)]=a['category'],this['shape']=a['shape'],this[j(0xbd)]=a[j(0xbd)],this[j(0xc0)]=a[j(0xc0)],this[j(0xc4)]=a['rating'],this[j(0xb6)]=a[j(0xb6)],this['uuid']=a46e();}[a46i(0xc5)](){return'You\x20use\x20the\x20'+this['name']+'.\x20Nothing\x20special\x20happens.';}}
1
+ var a46h=a46d;function a46c(){var k=['size','2260088asxJEC','(((.+)+)+)+$','186960dCBcJW','1488786uUySEn','uuid','10oYiGLu','category','texture','weight','7KWSfZs','toString','2172699FCYWbI','8EVJueS','color','constructor','799196GOoZBw','rating','description','104427uhgdLv','name','shape','search','1528025OSUChf'];a46c=function(){return k;};return a46c();}(function(a,b){var f=a46d,c=a();while(!![]){try{var d=parseInt(f(0x1a7))/0x1+-parseInt(f(0x1b1))/0x2*(-parseInt(f(0x1b7))/0x3)+-parseInt(f(0x1b4))/0x4+parseInt(f(0x1a3))/0x5+parseInt(f(0x1a8))/0x6+parseInt(f(0x1ae))/0x7*(-parseInt(f(0x1a5))/0x8)+parseInt(f(0x1b0))/0x9*(-parseInt(f(0x1aa))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x26233));var a46b=(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;};}()),a46a=a46b(this,function(){var g=a46d;return a46a[g(0x1af)]()['search'](g(0x1a6))[g(0x1af)]()[g(0x1b3)](a46a)[g(0x1a2)](g(0x1a6));});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-0x1a0;var f=c[d];return f;},a46d(a,b);}export class Item extends AbstractItem{[a46h(0x1a9)];[a46h(0x1a0)];[a46h(0x1b6)];['size'];[a46h(0x1ab)];['shape'];[a46h(0x1b2)];['texture'];['rating'];[a46h(0x1ad)];constructor(a){var i=a46h;super(),this['name']=a[i(0x1a0)],this['description']=a[i(0x1b6)],this['size']=a[i(0x1a4)],this[i(0x1ab)]=a[i(0x1ab)],this[i(0x1a1)]=a[i(0x1a1)],this[i(0x1b2)]=a['color'],this['texture']=a[i(0x1ac)],this[i(0x1b5)]=a[i(0x1b5)],this[i(0x1ad)]=a[i(0x1ad)],this[i(0x1a9)]=a46e();}['use'](){var j=a46h;return'You\x20use\x20the\x20'+this[j(0x1a0)]+'.\x20Nothing\x20special\x20happens.';}}
@@ -1 +1 @@
1
- const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0x118))/0x1*(-parseInt(f(0xff))/0x2)+parseInt(f(0x10c))/0x3*(parseInt(f(0x10b))/0x4)+-parseInt(f(0x10e))/0x5*(-parseInt(f(0x10a))/0x6)+parseInt(f(0x105))/0x7*(-parseInt(f(0x113))/0x8)+parseInt(f(0x110))/0x9*(parseInt(f(0x101))/0xa)+-parseInt(f(0x108))/0xb+parseInt(f(0x107))/0xc*(-parseInt(f(0x111))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0xca304));const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a47d;if(c){const e=c[g(0x11a)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a[h(0x109)]()[h(0x117)]('(((.+)+)+)+$')[h(0x109)]()[h(0x11b)](a47a)[h(0x117)](h(0x114));});function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0xff;let f=c[d];return f;},a47d(a,b);}a47a();import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';export class NPC extends Player{[a47i(0x10f)];['_dialogue'];['rooms'];['scene'];constructor(a,b,c,d){const j=a47i;super(d),this[j(0x10f)]=a,this[j(0x106)]=b,this[j(0x100)]=c;}get[a47i(0x104)](){return this['_name'];}[a47i(0x103)](){const k=a47i;return this[k(0x106)][Math['floor'](Math[k(0x102)]()*this['_dialogue'][k(0x116)])];}[a47i(0x112)](a){const l=a47i,b=a[Math[l(0x10d)](Math[l(0x102)]()*a['length'])];this['moveTo'](b[l(0x104)]);}['moveTo'](a){const m=a47i,b={'actor':this,'rooms':this[m(0x100)],'scene':this[m(0x115)]},c=new GoCommand(b);c[m(0x119)]([a]);}}function a47c(){const n=['45dxavlu','402181yKPemd','autonomousMove','4792IXYbwP','(((.+)+)+)+$','scene','length','search','2yCEqmN','execute','apply','constructor','67476hwRpur','rooms','1396510CgBwNX','random','speak','name','9646RKtohv','_dialogue','24gxHJJK','7482827fBgHao','toString','90GyLILd','169684FchLXs','69hVQfGG','floor','263085zorWHP','_name'];a47c=function(){return n;};return a47c();}
1
+ const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=-parseInt(f(0x19f))/0x1+-parseInt(f(0x195))/0x2*(parseInt(f(0x1a0))/0x3)+parseInt(f(0x18a))/0x4*(parseInt(f(0x192))/0x5)+parseInt(f(0x189))/0x6*(parseInt(f(0x18d))/0x7)+parseInt(f(0x1a2))/0x8*(parseInt(f(0x18f))/0x9)+parseInt(f(0x197))/0xa+-parseInt(f(0x19d))/0xb*(parseInt(f(0x198))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0x39b4f));const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a47d;if(c){const e=c[g(0x191)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a[h(0x199)]()['search']('(((.+)+)+)+$')[h(0x199)]()[h(0x19c)](a47a)[h(0x18b)](h(0x1a4));});a47a();import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';export class NPC extends Player{[a47i(0x18e)];[a47i(0x188)];[a47i(0x19e)];[a47i(0x19b)];constructor(a,b,c,d){const j=a47i;super(d),this[j(0x18e)]=a,this[j(0x188)]=b,this[j(0x19e)]=c;}get['name'](){const k=a47i;return this[k(0x18e)];}[a47i(0x193)](){const l=a47i;return this['_dialogue'][Math[l(0x190)](Math[l(0x196)]()*this[l(0x188)][l(0x19a)])];}[a47i(0x194)](a){const m=a47i,b=a[Math[m(0x190)](Math[m(0x196)]()*a[m(0x19a)])];this[m(0x1a3)](b[m(0x18c)]);}[a47i(0x1a3)](a){const n=a47i,b={'actor':this,'rooms':this['rooms'],'scene':this['scene']},c=new GoCommand(b);c[n(0x1a1)]([a]);}}function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x188;let f=c[d];return f;},a47d(a,b);}function a47c(){const o=['(((.+)+)+)+$','_dialogue','3378gKriUo','554188JDgguj','search','name','4004aPDsWk','_name','9cpPNxk','floor','apply','5QqZcRB','speak','autonomousMove','66LyNyNo','random','3171960txUbvR','47832MjSfuL','toString','length','scene','constructor','1837kqPsMy','rooms','199883jmAexd','7278ZWGCES','execute','3233528DyBonS','moveTo'];a47c=function(){return o;};return a47c();}
@@ -1 +1 @@
1
- const a48i=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=-parseInt(f(0x86))/0x1*(parseInt(f(0x9d))/0x2)+-parseInt(f(0x87))/0x3+-parseInt(f(0x81))/0x4*(parseInt(f(0x7e))/0x5)+parseInt(f(0xb7))/0x6*(parseInt(f(0x76))/0x7)+parseInt(f(0x6c))/0x8+-parseInt(f(0x6e))/0x9+parseInt(f(0xb6))/0xa*(parseInt(f(0x7d))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x63e0d));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x6b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0x89)]()[h(0x71)](h(0x9e))[h(0x89)]()['constructor'](a48a)[h(0x71)](h(0x9e));});a48a();import{camelCase}from'change-case';import{Category}from'../types/enums.js';import{Logger}from'../utilities/logger.js';function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x6b;let f=c[d];return f;},a48d(a,b);}import{Room}from'./room.js';import{Inventory}from'./inventory.js';import{AbstractPlayer}from'../types/abstracts.js';export class Player extends AbstractPlayer{['_playerName'];[a48i(0xa5)];['_inventory'];['_equipment'];[a48i(0x92)]=0x32;['logger'];constructor(a){const j=a48i;super(),this[j(0x7a)]=a[j(0x8a)],this[j(0xa5)]=a[j(0x6d)]||new Room({'name':j(0x99),'description':j(0x72)}),this[j(0x79)]=new Inventory(),this[j(0x96)]=Logger[j(0xc0)]();if(a?.[j(0xb9)])for(const b of a['inventoryItems']){this[j(0x79)][j(0xa1)](b);}this['_equipment']=a?.[j(0xb4)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48i(0xac)](){const k=a48i;return this[k(0x7a)];}get['currentLocation'](){const l=a48i;return this[l(0xa5)];}set[a48i(0x88)](a){const m=a48i;this[m(0xa5)]!==a&&(this['leaveRoom'](),this['enterRoom'](a)),this[m(0xa5)]=a;}get[a48i(0x8e)](){const n=a48i;return this[n(0x79)];}get[a48i(0xaf)](){return this['_equipment'];}set[a48i(0xaf)](a){const o=a48i;this[o(0xa9)]=a;}get[a48i(0xae)](){const p=a48i;return this[p(0x92)];}set[a48i(0xae)](a){const q=a48i;a>0x0?this[q(0x92)]=a:console['error']('Max\x20carrying\x20weight\x20must\x20be\x20positive.');}get[a48i(0xa8)](){const r=a48i;let a=this['_inventory'][r(0x83)]();for(const b in this[r(0xa9)]){const c=this[r(0xa9)][b];c&&(a+=c['weight']);}return a;}[a48i(0x9f)](a){const s=a48i;if(this[s(0xa8)]+a[s(0x84)]>this[s(0xae)]){this['logger']['write'](s(0xc3));throw new Error(s(0xb2));}this[s(0x79)][s(0xa1)](a),this[s(0x96)][s(0xc2)]('Added\x20'+a[s(0xac)]+s(0xa7));}[a48i(0x82)](a){const t=a48i;if(this[t(0x79)]['removeItem'](a['name']))return this['logger'][t(0xc2)](t(0x70)+a[t(0xac)]+'\x20from\x20player\x27s\x20inventory.'),!![];return this[t(0x96)][t(0xc2)](t(0x8b)+a[t(0xac)]+t(0x73)),![];}[a48i(0xc4)](a){const u=a48i;if(!this[u(0x79)][u(0x95)](a[u(0xac)]))return'You\x20don\x27t\x20have\x20'+a[u(0xac)]+u(0x7c);if(!this[u(0x9b)](a))return u(0xad)+a[u(0xac)]+'.';const b=this[u(0xa4)](a[u(0xa2)]);if(!b)return a[u(0xac)]+'\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.';if(this[u(0xaf)][b])return u(0x6f)+b+'.\x20You\x20must\x20unequip\x20it\x20first.';return this[u(0xaf)][b]=a,this[u(0x82)](a),'You\x20equipped\x20'+a['name']+'.';}[a48i(0xb8)](a){const v=a48i;let b=a;if(!this[v(0xaf)][camelCase(b)]){b=this[v(0xa4)](a);if(!b)return'Invalid\x20category\x20or\x20slot:\x20'+a+'.';}return this[v(0xab)](b);}[a48i(0xa4)](a){const w=a48i;switch(a[w(0x9a)]()){case Category[w(0xb3)]['toLowerCase']():return w(0x78);case Category[w(0x98)]['toLowerCase']():return w(0x8c);case Category[w(0x90)][w(0x9a)]():return w(0x74);case Category[w(0xbe)][w(0x9a)]():case Category[w(0xa0)][w(0x9a)]():return'head';case Category[w(0xb1)][w(0x9a)]():return w(0xb5);case Category['LegArmor'][w(0x9a)]():return w(0xba);case Category[w(0x77)][w(0x9a)]():return w(0x75);case Category['BodyArmor'][w(0x9a)]():return w(0x7f);case w(0x7b):return w(0x78);case w(0xaa):return w(0x8c);case w(0x74):return w(0x74);case w(0xbd):case'hat':return w(0x8f);case w(0x97):return w(0xb5);case w(0xbc):case w(0xbb):return w(0xba);case w(0xa6):case w(0x9c):return w(0x75);case w(0x80):case'bodyarmor':case w(0x7f):return w(0x7f);default:return null;}}[a48i(0x9b)](a){const x=a48i;return Object[x(0xbf)](Category)[x(0xc6)](a['category']);}[a48i(0xab)](a){const y=a48i,b=this[y(0xaf)][a];if(!b)return'You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20'+a+y(0xc5);return this[y(0x9f)](b),this[y(0xaf)][a]=null,y(0xc1)+b[y(0xac)]+'.';}['hear'](a,b){const z=a48i;a!==this&&this[z(0x96)]['log'](a[z(0xac)]+'\x20says:\x20\x22'+b+'\x22');}[a48i(0x94)](a){const A=a48i;this[A(0xa5)]=a,a['on'](A(0x8d),this[A(0x85)][A(0xa3)](this)),this[A(0x96)]['write'](this[A(0xac)]+A(0xb0)+a['name']);}['leaveRoom'](){const B=a48i;this[B(0xa5)]&&(this[B(0xa5)][B(0x91)](B(0x8d),this[B(0x85)][B(0xa3)](this)),this[B(0x96)][B(0xc2)](this['name']+B(0x93)+this['_currentLocation'][B(0xac)]));}}function a48c(){const C=['1880Mzxlhv','494082nNLiOB','unequip','inventoryItems','legs','legarmor','leg\x20armor','helmet','Helmet','values','getInstance','You\x20unequipped\x20','write','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','equip','\x20slot.','includes','apply','1513904OMdjeo','startLocation','2255364FyFFpa','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','Removed\x20','search','A\x20featureless\x20room','\x20from\x20player\x27s\x20inventory.','gloves','arms','35SHVoeE','ArmArmor','rightHand','_inventory','_playerName','weapon','\x20in\x20your\x20inventory.','43384RoNVXU','10oijGdj','torso','body\x20armor','524056CZwKHp','removeInventory','getWeight','weight','hear','99457WlyHxn','963789zxzxWj','currentLocation','toString','playerName','Failed\x20to\x20remove\x20','leftHand','speak','inventory','head','Gloves','off','_maxCarryingWeight','\x20is\x20no\x20longer\x20listeng\x20in\x20','enterRoom','hasItem','logger','boots','Shield','Nexus','toLowerCase','canEquip','armarmor','2ipiDSH','(((.+)+)+)+$','addInventory','Hat','addItem','category','bind','determineEquipmentSlot','_currentLocation','arm\x20armor','\x20to\x20player\x27s\x20inventory.','currentWeight','_equipment','shield','unequipBySlot','name','You\x20can\x27t\x20equip\x20','maxCarryingWeight','equipment','\x20is\x20now\x20listening\x20in\x20room\x20','Boots','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','Weapon','initialEquipment','feet'];a48c=function(){return C;};return a48c();}
1
+ const a48i=a48d;function a48c(){const B=['boots','6581622LOOelq','shield','Gloves','_currentLocation','removeInventory','hear','Helmet','_equipment','Weapon','rightHand','torso','search','Removed\x20','72qkuPyY','.\x20You\x20must\x20unequip\x20it\x20first.','You\x20don\x27t\x20have\x20','head','Failed\x20to\x20remove\x20','equip','arms','Hat','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','\x20says:\x20\x22','\x20is\x20no\x20longer\x20listeng\x20in\x20','apply','name','getInstance','maxCarryingWeight','LegArmor','4325376PwcYfs','You\x20equipped\x20','\x20in\x20your\x20inventory.','_maxCarryingWeight','logger','includes','\x20slot.','4zxiQwt','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','hat','canEquip','inventoryItems','unequipBySlot','\x20to\x20player\x27s\x20inventory.','category','values','BodyArmor','armarmor','body\x20armor','addInventory','toString','hasItem','off','enterRoom','Max\x20carrying\x20weight\x20must\x20be\x20positive.','Nexus','arm\x20armor','write','You\x20unequipped\x20','9hgpbiK','Added\x20','gloves','equipment','Shield','leaveRoom','788081xIxoDA','43986LjThfy','weapon','leftHand','determineEquipmentSlot','legarmor','speak','currentWeight','weight','102lJIsKw','addItem','_inventory','_playerName','feet','helmet','inventory','\x20is\x20now\x20listening\x20in\x20room\x20','\x20from\x20player\x27s\x20inventory.','bind','removeItem','967980bfyuBk','getWeight','4653130FXoJRz','ArmArmor','bodyarmor','2904970UCkYNQ','leg\x20armor','(((.+)+)+)+$','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','toLowerCase','error'];a48c=function(){return B;};return a48c();}(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x1de))/0x1+-parseInt(f(0x1d3))/0x2*(-parseInt(f(0x1cb))/0x3)+parseInt(f(0x20e))/0x4*(-parseInt(f(0x1e0))/0x5)+-parseInt(f(0x1ea))/0x6+-parseInt(f(0x1ca))/0x7*(-parseInt(f(0x1f7))/0x8)+-parseInt(f(0x1c4))/0x9*(-parseInt(f(0x1e3))/0xa)+-parseInt(f(0x207))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x922b3));function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x1c1;let f=c[d];return f;},a48d(a,b);}const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x202)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0x21b)]()[h(0x1f5)](h(0x1e5))[h(0x21b)]()['constructor'](a48a)['search']('(((.+)+)+)+$');});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';import{AbstractPlayer}from'../types/abstracts.js';export class Player extends AbstractPlayer{[a48i(0x1d6)];['_currentLocation'];['_inventory'];[a48i(0x1f1)];[a48i(0x20a)]=0x32;[a48i(0x20b)];constructor(a){const j=a48i;super(),this[j(0x1d6)]=a['playerName'],this[j(0x1ed)]=a['startLocation']||new Room({'name':j(0x220),'description':'A\x20featureless\x20room'}),this[j(0x1d5)]=new Inventory(),this[j(0x20b)]=Logger[j(0x204)]();if(a?.[j(0x212)])for(const b of a[j(0x212)]){this[j(0x1d5)]['addItem'](b);}this[j(0x1f1)]=a?.['initialEquipment']||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get['name'](){const k=a48i;return this[k(0x1d6)];}get['currentLocation'](){const l=a48i;return this[l(0x1ed)];}set['currentLocation'](a){const m=a48i;this[m(0x1ed)]!==a&&(this['leaveRoom'](),this[m(0x21e)](a)),this[m(0x1ed)]=a;}get[a48i(0x1d9)](){return this['_inventory'];}get[a48i(0x1c7)](){return this['_equipment'];}set['equipment'](a){const n=a48i;this[n(0x1f1)]=a;}get[a48i(0x205)](){const o=a48i;return this[o(0x20a)];}set['maxCarryingWeight'](a){const p=a48i;a>0x0?this[p(0x20a)]=a:console[p(0x1e8)](p(0x21f));}get[a48i(0x1d1)](){const q=a48i;let a=this['_inventory'][q(0x1df)]();for(const b in this['_equipment']){const c=this['_equipment'][b];c&&(a+=c['weight']);}return a;}[a48i(0x21a)](a){const r=a48i;if(this[r(0x1d1)]+a[r(0x1d2)]>this['maxCarryingWeight']){this[r(0x20b)][r(0x1c2)](r(0x1ff));throw new Error('The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.');}this[r(0x1d5)][r(0x1d4)](a),this[r(0x20b)][r(0x1c2)](r(0x1c5)+a['name']+r(0x214));}[a48i(0x1ee)](a){const s=a48i;if(this[s(0x1d5)][s(0x1dd)](a['name']))return this[s(0x20b)]['write'](s(0x1f6)+a[s(0x203)]+s(0x1db)),!![];return this['logger']['write'](s(0x1fb)+a[s(0x203)]+s(0x1db)),![];}[a48i(0x1fc)](a){const t=a48i;if(!this[t(0x1d5)][t(0x21c)](a[t(0x203)]))return t(0x1f9)+a['name']+t(0x209);if(!this['canEquip'](a))return'You\x20can\x27t\x20equip\x20'+a[t(0x203)]+'.';const b=this[t(0x1ce)](a[t(0x215)]);if(!b)return a['name']+t(0x1e6);if(this[t(0x1c7)][b])return'You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20'+b+t(0x1f8);return this[t(0x1c7)][b]=a,this[t(0x1ee)](a),t(0x208)+a[t(0x203)]+'.';}['unequip'](a){const u=a48i;let b=a;if(!this[u(0x1c7)][camelCase(b)]){b=this[u(0x1ce)](a);if(!b)return'Invalid\x20category\x20or\x20slot:\x20'+a+'.';}return this['unequipBySlot'](b);}['determineEquipmentSlot'](a){const v=a48i;switch(a[v(0x1e7)]()){case Category[v(0x1f2)][v(0x1e7)]():return v(0x1f3);case Category[v(0x1c8)]['toLowerCase']():return v(0x1cd);case Category[v(0x1ec)][v(0x1e7)]():return v(0x1c6);case Category[v(0x1f0)][v(0x1e7)]():case Category[v(0x1fe)][v(0x1e7)]():return v(0x1fa);case Category['Boots']['toLowerCase']():return v(0x1d7);case Category[v(0x206)][v(0x1e7)]():return'legs';case Category[v(0x1e1)][v(0x1e7)]():return v(0x1fd);case Category[v(0x217)][v(0x1e7)]():return v(0x1f4);case v(0x1cc):return v(0x1f3);case v(0x1eb):return v(0x1cd);case v(0x1c6):return'gloves';case v(0x1d8):case v(0x210):return v(0x1fa);case v(0x1e9):return v(0x1d7);case v(0x1e4):case v(0x1cf):return'legs';case v(0x1c1):case v(0x218):return v(0x1fd);case v(0x219):case v(0x1e2):case v(0x1f4):return v(0x1f4);default:return null;}}[a48i(0x211)](a){const w=a48i;return Object[w(0x216)](Category)[w(0x20c)](a['category']);}[a48i(0x213)](a){const x=a48i,b=this[x(0x1c7)][a];if(!b)return x(0x20f)+a+x(0x20d);return this[x(0x21a)](b),this['equipment'][a]=null,x(0x1c3)+b['name']+'.';}[a48i(0x1ef)](a,b){const y=a48i;a!==this&&this[y(0x20b)]['log'](a[y(0x203)]+y(0x200)+b+'\x22');}[a48i(0x21e)](a){const z=a48i;this['_currentLocation']=a,a['on'](z(0x1d0),this['hear'][z(0x1dc)](this)),this[z(0x20b)]['write'](this[z(0x203)]+z(0x1da)+a[z(0x203)]);}[a48i(0x1c9)](){const A=a48i;this[A(0x1ed)]&&(this[A(0x1ed)][A(0x21d)](A(0x1d0),this[A(0x1ef)][A(0x1dc)](this)),this[A(0x20b)][A(0x1c2)](this['name']+A(0x201)+this[A(0x1ed)][A(0x203)]));}}
@@ -1 +1 @@
1
- function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x165;var f=c[d];return f;},a49d(a,b);}var a49i=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=-parseInt(f(0x178))/0x1+parseInt(f(0x16c))/0x2*(parseInt(f(0x168))/0x3)+parseInt(f(0x170))/0x4+parseInt(f(0x176))/0x5*(-parseInt(f(0x171))/0x6)+parseInt(f(0x183))/0x7*(parseInt(f(0x177))/0x8)+-parseInt(f(0x165))/0x9+parseInt(f(0x169))/0xa*(parseInt(f(0x16a))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0x9a724));var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0x172)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a['toString']()[h(0x16d)]('(((.+)+)+)+$')[h(0x179)]()['constructor'](a49a)[h(0x16d)](h(0x173));});function a49c(){var m=['You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','getInstance','65MfBjIS','11512dGBIeq','764542BSMUQe','toString','write','logger','You\x20solved\x20the\x20puzzle!','Puzzle:\x20Correct\x20solution\x20provided.','You\x20have\x20already\x20solved\x20this\x20puzzle.','riddle','failureMessage','rewardItem','requiredItem','5719NtBwYi','solve','successMessage','10653579UsjzWC','hasRequiredItem','matchesRequiredPhrase','6xmvTeh','40sBhnGc','2505349XrzBiF','Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.','284134SDPSlo','search','solved','requiredPhrase','2158772omvRtg','152142KvWbud','apply','(((.+)+)+)+$'];a49c=function(){return m;};return a49c();}a49a();import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{[a49i(0x17b)]=Logger[a49i(0x175)]();[a49i(0x16e)]=![];[a49i(0x182)];[a49i(0x16f)];[a49i(0x17f)];['rewardItem'];[a49i(0x185)];['failureMessage'];constructor(a){var j=a49i;super(),this[j(0x182)]=a[j(0x182)],this['requiredPhrase']=a[j(0x16f)],this[j(0x17f)]=a[j(0x17f)],this[j(0x181)]=a['rewardItem'],this['successMessage']=a[j(0x185)]||j(0x17c),this[j(0x180)]=a[j(0x180)]||j(0x174);}[a49i(0x166)](a){var k=a49i;if(this['requiredItem'])return a['hasItem'](this[k(0x182)]);return![];}[a49i(0x167)](a){return this['requiredPhrase']===a;}[a49i(0x184)](a,b){var l=a49i;if(this['solved'])return this[l(0x17b)]['write'](l(0x16b)),{'success':![],'message':l(0x17e)};return this[l(0x166)](b)||this[l(0x167)](a)?(this[l(0x16e)]=!![],this[l(0x17b)]['write'](l(0x17d)),{'success':!![],'message':this[l(0x185)]}):(this[l(0x17b)][l(0x17a)]('Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.'),{'success':![],'message':this[l(0x180)]});}}
1
+ var a49i=a49d;function a49c(){var m=['getInstance','You\x20have\x20already\x20solved\x20this\x20puzzle.','(((.+)+)+)+$','requiredItem','constructor','Puzzle:\x20Correct\x20solution\x20provided.','Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.','206180epqaXc','You\x20solved\x20the\x20puzzle!','write','matchesRequiredPhrase','search','10031856LTPCFk','toString','hasRequiredItem','riddle','48xnkmLq','117235rOOCDd','rewardItem','solved','3398130VzfJDe','114dQlinY','successMessage','requiredPhrase','969417qKPkHS','failureMessage','logger','8868tIXhoY','solve','20hzSJxa','7260148mqpITe','apply','hasItem'];a49c=function(){return m;};return a49c();}(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0xbf))/0x1*(parseInt(f(0xca))/0x2)+-parseInt(f(0xc3))/0x3+-parseInt(f(0xb6))/0x4+-parseInt(f(0xc0))/0x5*(parseInt(f(0xc4))/0x6)+parseInt(f(0xcd))/0x7+parseInt(f(0xbb))/0x8+-parseInt(f(0xc7))/0x9*(parseInt(f(0xcc))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0xa0d74));var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0xce)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a[h(0xbc)]()[h(0xba)]('(((.+)+)+)+$')[h(0xbc)]()[h(0xd4)](a49a)['search'](h(0xd2));});a49a();import{Logger}from'../utilities/logger.js';function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0xb4;var f=c[d];return f;},a49d(a,b);}import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{['logger']=Logger[a49i(0xd0)]();[a49i(0xc2)]=![];[a49i(0xd3)];['requiredPhrase'];[a49i(0xbe)];[a49i(0xc1)];[a49i(0xc5)];[a49i(0xc8)];constructor(a){var j=a49i;super(),this['requiredItem']=a[j(0xd3)],this[j(0xc6)]=a[j(0xc6)],this[j(0xbe)]=a[j(0xbe)],this[j(0xc1)]=a['rewardItem'],this[j(0xc5)]=a[j(0xc5)]||j(0xb7),this[j(0xc8)]=a[j(0xc8)]||'You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.';}[a49i(0xbd)](a){var k=a49i;if(this[k(0xd3)])return a[k(0xcf)](this[k(0xd3)]);return![];}[a49i(0xb9)](a){return this['requiredPhrase']===a;}[a49i(0xcb)](a,b){var l=a49i;if(this[l(0xc2)])return this[l(0xc9)][l(0xb8)]('Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.'),{'success':![],'message':l(0xd1)};return this['hasRequiredItem'](b)||this['matchesRequiredPhrase'](a)?(this['solved']=!![],this[l(0xc9)][l(0xb8)](l(0xb4)),{'success':!![],'message':this[l(0xc5)]}):(this[l(0xc9)][l(0xb8)](l(0xb5)),{'success':![],'message':this['failureMessage']});}}
@@ -1 +1 @@
1
- const a50i=a50d;(function(a,b){const f=a50d,c=a();while(!![]){try{const d=-parseInt(f(0x17a))/0x1+parseInt(f(0x1ac))/0x2*(parseInt(f(0x19f))/0x3)+-parseInt(f(0x175))/0x4*(parseInt(f(0x181))/0x5)+parseInt(f(0x180))/0x6*(-parseInt(f(0x1a7))/0x7)+parseInt(f(0x186))/0x8*(parseInt(f(0x194))/0x9)+-parseInt(f(0x1a9))/0xa*(parseInt(f(0x189))/0xb)+-parseInt(f(0x198))/0xc*(-parseInt(f(0x1a4))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0x462a7));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x197)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a['toString']()[h(0x1aa)]('(((.+)+)+)+$')[h(0x182)]()[h(0x195)](a50a)[h(0x1aa)](h(0x185));});function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x170;let f=c[d];return f;},a50d(a,b);}a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';function a50c(){const u=['Fetching\x20exit\x20in\x20direction:\x20','roomA','\x20is\x20locked.\x20Result:\x20','209332GjdWTm','riddle','name','addItem','north','489095OGlLcN','inventory','findExistingDoor','WEST','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','logger','2844288qZJJMn','20fVYcpK','toString','south','values','(((.+)+)+)+$','52864FgVZBC','No\x20locked\x20exit\x20found\x20in\x20direction\x20','addExit','616bzYoEt','west','SOUTH','getExit','isExitLocked','\x20unlocked!','get','\x20remains\x20locked.','speak','puzzle','exits','162NJsCiP','constructor','isStartRoom','apply','18792hqCPxz','EAST','Invalid\x20direction:\x20','write','set','removeItem','INSIDE','15009fRWHap','down','getOppositeDirection','checkIfLocked','NORTH','7683jTnlCd','DOWN','description','7WHcRrx','Room\x20created:\x20','18730qqGtmK','search','There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','208kQPQjH','getInstance','roomType','say'];a50c=function(){return u;};return a50c();}export class Room extends AbstractRoom{[a50i(0x17f)]=Logger[a50i(0x1ad)]();[a50i(0x177)];[a50i(0x1a6)];[a50i(0x193)]=new Map();['roomType'];[a50i(0x196)];['inventory']=new Inventory();constructor(a){const j=a50i;super(),this['name']=a[j(0x177)],this['description']=a[j(0x1a6)],this['roomType']=a[j(0x170)]||RoomType[j(0x19e)],a[j(0x193)]&&(this['exits']=a[j(0x193)]||new Map()),a[j(0x17b)]&&(this[j(0x17b)]=a['inventory']),a['puzzle']&&(this[j(0x192)]=a[j(0x192)]),this[j(0x196)]=a['isStartRoom']||![],this[j(0x17f)][j(0x19b)](j(0x1a8)+this[j(0x177)]);}[a50i(0x171)](a,b){const k=a50i;this['emit'](k(0x191),a,b);}[a50i(0x188)](a,b,c){const l=a50i;let d=this[l(0x17c)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[l(0x193)][l(0x19c)](a,d),b[l(0x193)][l(0x19c)](this['getOppositeDirection'](a),d);}['attemptUnlockExit'](a,b){const m=a50i,c=this['exits'][m(0x18f)](a);if(c instanceof Door){const d=c['attemptUnlock'](b);return this['logger'][m(0x19b)]('Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20'+a+'.\x20Success:\x20'+d),d?'The\x20'+c['name']+m(0x18e):'The\x20'+c[m(0x177)]+m(0x190);}return this[m(0x17f)][m(0x19b)](m(0x187)+a),m(0x1ab);}[a50i(0x18c)](a){const n=a50i;return this[n(0x17f)][n(0x19b)](n(0x172)+a),this[n(0x193)][n(0x18f)](a);}[a50i(0x18d)](a){const o=a50i,b=this[o(0x193)][o(0x18f)](a),c=b instanceof Door&&b[o(0x1a2)]();return this['logger']['write']('Checking\x20if\x20exit\x20in\x20direction\x20'+a+o(0x174)+c),c;}['addItem'](a){const p=a50i;this['inventory'][p(0x178)](a),this[p(0x17f)]['write']('Item\x20added\x20to\x20room\x20'+this[p(0x177)]+':\x20'+a[p(0x177)]);}[a50i(0x19d)](a){const q=a50i;this[q(0x17b)]['hasItem'](a[q(0x177)])?(this[q(0x17b)][q(0x19d)](a[q(0x177)]),this['logger'][q(0x19b)]('Item\x20removed\x20from\x20room\x20'+this[q(0x177)]+':\x20'+a[q(0x177)])):this[q(0x17f)][q(0x19b)](q(0x17e)+this[q(0x177)]+':\x20'+a['name']);}['setPuzzle'](a){const r=a50i;this[r(0x192)]=a,this['logger']['write']('Puzzle\x20set\x20for\x20room\x20'+this[r(0x177)]+':\x20'+a[r(0x176)]);}[a50i(0x1a1)](a){const s=a50i;switch(a){case s(0x179):return Direction[s(0x18b)];case s(0x183):return Direction[s(0x1a3)];case'east':return Direction[s(0x17d)];case s(0x18a):return Direction[s(0x199)];case'up':return Direction[s(0x1a5)];case s(0x1a0):return Direction['UP'];default:throw new Error(s(0x19a)+a);}}['findExistingDoor'](a){const t=a50i;for(const b of this['exits'][t(0x184)]()){if(b instanceof Door){if(b[t(0x173)]===this&&b['roomB']===a||b['roomB']===this&&b['roomA']===a)return b;}}return undefined;}}
1
+ const a50i=a50d;function a50c(){const u=['checkIfLocked','values','Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20','SOUTH','39418zTAEUC','5663238WdArki','.\x20Success:\x20','south','west','description','\x20remains\x20locked.','emit','INSIDE','1IVmfSp','getExit','EAST','toString','DOWN','The\x20','apply','isStartRoom','3342003pEvAaN','search','Item\x20added\x20to\x20room\x20','getOppositeDirection','Room\x20created:\x20','findExistingDoor','riddle','5779980CbdQgj','attemptUnlock','Fetching\x20exit\x20in\x20direction:\x20','logger','removeItem','constructor','Puzzle\x20set\x20for\x20room\x20','puzzle','\x20is\x20locked.\x20Result:\x20','(((.+)+)+)+$','exits','down','addItem','inventory','north','write','WEST','name','speak','hasItem','get','No\x20locked\x20exit\x20found\x20in\x20direction\x20','getInstance','east','set','roomA','addExit','8046283rNVEky','\x20unlocked!','6170980dcuDpP','setPuzzle','roomB','roomType','6363304mLQZrW'];a50c=function(){return u;};return a50c();}(function(a,b){const f=a50d,c=a();while(!![]){try{const d=parseInt(f(0xa4))/0x1*(-parseInt(f(0x9b))/0x2)+parseInt(f(0xac))/0x3+parseInt(f(0x92))/0x4+parseInt(f(0xb3))/0x5+-parseInt(f(0x9c))/0x6+-parseInt(f(0x90))/0x7+-parseInt(f(0x96))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0xdcc56));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0xaa)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0xa7)]()[h(0xad)](h(0xbc))[h(0xa7)]()[h(0xb8)](a50a)[h(0xad)]('(((.+)+)+)+$');});a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';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-0x8a;let f=c[d];return f;},a50d(a,b);}export class Room extends AbstractRoom{[a50i(0xb6)]=Logger[a50i(0x8b)]();[a50i(0xc4)];[a50i(0xa0)];[a50i(0xbd)]=new Map();[a50i(0x95)];[a50i(0xab)];['inventory']=new Inventory();constructor(a){const j=a50i;super(),this[j(0xc4)]=a['name'],this[j(0xa0)]=a[j(0xa0)],this[j(0x95)]=a[j(0x95)]||RoomType[j(0xa3)],a['exits']&&(this[j(0xbd)]=a[j(0xbd)]||new Map()),a['inventory']&&(this['inventory']=a[j(0xc0)]),a['puzzle']&&(this[j(0xba)]=a[j(0xba)]),this['isStartRoom']=a[j(0xab)]||![],this[j(0xb6)]['write'](j(0xb0)+this[j(0xc4)]);}['say'](a,b){const k=a50i;this[k(0xa2)](k(0xc5),a,b);}[a50i(0x8f)](a,b,c){const l=a50i;let d=this[l(0xb1)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this['exits'][l(0x8d)](a,d),b[l(0xbd)][l(0x8d)](this['getOppositeDirection'](a),d);}['attemptUnlockExit'](a,b){const m=a50i,c=this[m(0xbd)]['get'](a);if(c instanceof Door){const d=c[m(0xb4)](b);return this[m(0xb6)]['write'](m(0x99)+a+m(0x9d)+d),d?'The\x20'+c[m(0xc4)]+m(0x91):m(0xa9)+c['name']+m(0xa1);}return this[m(0xb6)][m(0xc2)](m(0x8a)+a),'There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.';}[a50i(0xa5)](a){const n=a50i;return this[n(0xb6)][n(0xc2)](n(0xb5)+a),this[n(0xbd)][n(0xc7)](a);}['isExitLocked'](a){const o=a50i,b=this[o(0xbd)][o(0xc7)](a),c=b instanceof Door&&b[o(0x97)]();return this[o(0xb6)][o(0xc2)]('Checking\x20if\x20exit\x20in\x20direction\x20'+a+o(0xbb)+c),c;}['addItem'](a){const p=a50i;this[p(0xc0)][p(0xbf)](a),this['logger'][p(0xc2)](p(0xae)+this[p(0xc4)]+':\x20'+a[p(0xc4)]);}[a50i(0xb7)](a){const q=a50i;this[q(0xc0)][q(0xc6)](a[q(0xc4)])?(this['inventory'][q(0xb7)](a[q(0xc4)]),this['logger'][q(0xc2)]('Item\x20removed\x20from\x20room\x20'+this['name']+':\x20'+a[q(0xc4)])):this[q(0xb6)][q(0xc2)]('Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20'+this['name']+':\x20'+a[q(0xc4)]);}[a50i(0x93)](a){const r=a50i;this['puzzle']=a,this[r(0xb6)][r(0xc2)](r(0xb9)+this[r(0xc4)]+':\x20'+a[r(0xb2)]);}[a50i(0xaf)](a){const s=a50i;switch(a){case s(0xc1):return Direction[s(0x9a)];case s(0x9e):return Direction['NORTH'];case s(0x8c):return Direction[s(0xc3)];case s(0x9f):return Direction[s(0xa6)];case'up':return Direction[s(0xa8)];case s(0xbe):return Direction['UP'];default:throw new Error('Invalid\x20direction:\x20'+a);}}[a50i(0xb1)](a){const t=a50i;for(const b of this[t(0xbd)][t(0x98)]()){if(b instanceof Door){if(b[t(0x8e)]===this&&b['roomB']===a||b[t(0x94)]===this&&b[t(0x8e)]===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(0x155))/0x1+-parseInt(i(0x18d))/0x2*(parseInt(i(0x17f))/0x3)+parseInt(i(0x16e))/0x4+-parseInt(i(0x179))/0x5+parseInt(i(0x173))/0x6*(-parseInt(i(0x18e))/0x7)+-parseInt(i(0x18f))/0x8+-parseInt(i(0x164))/0x9*(-parseInt(i(0x15d))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0xcad57));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0x182)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0x15c)]()[k(0x190)](k(0x180))['toString']()[k(0x151)](a51a)[k(0x190)](k(0x180));});function a51c(){const D=['8071525YmVviP','name','rooms','\x20found\x20in\x20the\x20scene.','logger','delete','1100175AAVVGx','(((.+)+)+)+$','values','apply','\x27s\x20location.\x20Room\x20','allActors','Scene\x20initialized\x20with\x20rooms:\x20','push','roomConfiguration','roomFactory','\x20is\x20now\x20in\x20room\x20','currentLocation','getInstance','direction','6kDDlnE','2149ovGHvo','5857424JiwPhl','search','setPuzzle','length','write','addActor','Actor\x20with\x20name\x20','set','join','keys','player','keyRequired','constructor','Room\x20\x22','targetRoom','get','1488236jXJmhL','createRoom','generateRoomsFromConfig','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','from','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','Added\x20room\x20to\x20scene:\x20','toString','6548260GatsYC','addItemToRoom','has','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','getActor','characterLocations','addItem','72XgOYSQ','Added\x20item\x20','\x20not\x20found\x20in\x20scene.','determineStartRoom','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','getPlayer','toUpperCase','initialize','addPuzzleToRoom','addExit','2312220kYGepX','\x22\x20does\x20not\x20exist.','actors','warn','removeRoom','996bLfFmQ','Removed\x20room\x20from\x20scene:\x20','hasOwnProperty','connectRooms','Failed\x20to\x20add\x20puzzle.\x20Room\x20','setCharacterLocation'];a51c=function(){return D;};return a51c();}a51a();import{Logger}from'../utilities/logger.js';import{Direction}from'../types/enums.js';import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0x151;let f=c[d];return f;},a51d(a,b);}export class Scene extends AbstractScene{[a51l(0x17b)];[a51l(0x199)];[a51l(0x17d)];['actors'];[a51l(0x162)]=new Map();[a51l(0x188)];constructor(a){const m=a51l;super(),this['roomFactory']=new RoomFactory(),this['player']=a[m(0x199)],this[m(0x17b)]=this[m(0x157)](a[m(0x187)]),this[m(0x17d)]=Logger[m(0x18b)](),this[m(0x170)]=new Map(),this['createExitsFromConfig'](a[m(0x187)]),this[m(0x17d)][m(0x193)](m(0x185)+Object[m(0x198)](this[m(0x17b)])[m(0x197)](',\x20'));}[a51l(0x16b)](){const n=a51l;this[n(0x199)][n(0x18a)]=this[n(0x167)]();}[a51l(0x157)](a){const o=a51l;if(!this[o(0x188)])throw new Error(o(0x168));const b={};for(const c of a){const d=this[o(0x188)][o(0x156)](c);b[c[o(0x17a)]]=d;}return b;}['createExitsFromConfig'](a){const p=a51l;for(const b of a){const c=this['rooms'][b[p(0x17a)]];if(b['exits'])for(const d of b['exits']){const e=d[p(0x18c)][p(0x16a)](),f=d[p(0x153)],g=d[p(0x19a)],h=this[p(0x17b)][f];h&&c[p(0x16d)](Direction[e],h,g);}}}[a51l(0x194)](a){const q=a51l;if(this['actors'][q(0x15f)](a[q(0x17a)]))throw new Error(q(0x195)+a[q(0x17a)]+'\x20already\x20exists\x20in\x20the\x20scene.');this[q(0x170)][q(0x196)](a['name'],a);}['removeActor'](a){const r=a51l;if(!this['actors'][r(0x15f)](a))throw new Error('No\x20actor\x20with\x20name\x20'+a+r(0x17c));this[r(0x170)][r(0x17e)](a);}[a51l(0x161)](a){const s=a51l;return this[s(0x170)]['get'](a);}get[a51l(0x184)](){const t=a51l;return Array[t(0x159)](this[t(0x170)][t(0x181)]());}['addRoom'](a){const u=a51l;this[u(0x17b)][a[u(0x17a)]]=a,this[u(0x17d)]['write'](u(0x15b)+a[u(0x17a)]);}[a51l(0x172)](a){const v=a51l;return this[v(0x17b)][a]?(delete this[v(0x17b)][a],this[v(0x17d)]['write'](v(0x174)+a),!![]):(this[v(0x17d)][v(0x193)](v(0x160)+a),![]);}[a51l(0x15e)](a,b){const w=a51l,c=this[w(0x17b)][b];c?(c[w(0x163)](a),this[w(0x17d)][w(0x193)](w(0x165)+a[w(0x17a)]+'\x20to\x20room\x20'+c[w(0x17a)])):this[w(0x17d)]['write']('Failed\x20to\x20add\x20item\x20'+a['name']+'.\x20Room\x20'+b+w(0x166));}[a51l(0x16c)](a,b){const x=a51l,c=this[x(0x17b)][b];c?(c[x(0x191)](a),this['logger'][x(0x193)]('Added\x20puzzle\x20to\x20room\x20'+c['name'])):this[x(0x17d)][x(0x193)](x(0x177)+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0x178)](a,b){const y=a51l,c=this['rooms'][b];c?(this['characterLocations'][y(0x196)](a[y(0x17a)],c),this['logger'][y(0x193)](a[y(0x17a)]+y(0x189)+c[y(0x17a)])):this[y(0x17d)][y(0x193)]('Failed\x20to\x20set\x20'+a[y(0x17a)]+y(0x183)+b+'\x20not\x20found\x20in\x20scene.');}['getCharacterLocation'](a){const z=a51l;return this[z(0x162)][z(0x154)](a[z(0x17a)]);}['determineStartRoom'](){const A=a51l,a=[];for(const c in this[A(0x17b)]){if(this['rooms'][A(0x175)](c)){const d=this[A(0x17b)][c];d['isStartRoom']&&a[A(0x186)](d);}}if(a[A(0x192)]>0x1)throw new Error(A(0x15a));if(a[A(0x192)]===0x1)return a[0x0];const b=Object[A(0x198)](this[A(0x17b)]);if(b[A(0x192)]===0x0)throw new Error(A(0x158));return console[A(0x171)]('No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.'),this[A(0x17b)][b[0x0]];}[a51l(0x169)](){const B=a51l;return this[B(0x199)];}['getRooms'](){return this['rooms'];}[a51l(0x176)](a,b,c,d){const C=a51l,e=this[C(0x17b)][a],f=this[C(0x17b)][c];if(!e)throw new Error(C(0x152)+a+'\x22\x20does\x20not\x20exist.');if(!f)throw new Error(C(0x152)+c+C(0x16f));e[C(0x16d)](b,f,d);}}
1
+ const a51l=a51d;(function(a,b){const i=a51d,c=a();while(!![]){try{const d=parseInt(i(0x215))/0x1+parseInt(i(0x216))/0x2+-parseInt(i(0x201))/0x3+-parseInt(i(0x203))/0x4+parseInt(i(0x214))/0x5*(parseInt(i(0x1fc))/0x6)+-parseInt(i(0x213))/0x7+-parseInt(i(0x208))/0x8*(-parseInt(i(0x20f))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0xc6c44));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0x1f9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0x1e8)]()[k(0x1ec)](k(0x1e7))[k(0x1e8)]()[k(0x20e)](a51a)['search']('(((.+)+)+)+$');});a51a();import{Logger}from'../utilities/logger.js';function a51c(){const D=['\x20not\x20found\x20in\x20scene.','search','\x27s\x20location.\x20Room\x20','removeRoom','Failed\x20to\x20add\x20item\x20','getInstance','\x20to\x20room\x20','\x22\x20does\x20not\x20exist.','toUpperCase','join','characterLocations','createExitsFromConfig','No\x20actor\x20with\x20name\x20','actors','apply','addRoom','.\x20Room\x20','48558VOvXQI','Actor\x20with\x20name\x20','Added\x20puzzle\x20to\x20room\x20','roomConfiguration','roomFactory','947964FLzyZZ','removeActor','3398516fLdfkq','from','logger','keyRequired','No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.','176PeQdBk','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','direction','initialize','values','write','constructor','816417hxtnZR','player','length','Removed\x20room\x20from\x20scene:\x20','8778602kMSFsf','210wlEJRO','884678hzJMgQ','27162bTGMZv','setPuzzle','hasOwnProperty','addActor','has','getPlayer','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','currentLocation','determineStartRoom','getCharacterLocation','\x20already\x20exists\x20in\x20the\x20scene.','Failed\x20to\x20set\x20','keys','addItem','Added\x20item\x20','Room\x20\x22','rooms','name','getRooms','(((.+)+)+)+$','toString','get','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.'];a51c=function(){return D;};return a51c();}import{Direction}from'../types/enums.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0x1dd;let f=c[d];return f;},a51d(a,b);}import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';export class Scene extends AbstractScene{['rooms'];['player'];[a51l(0x205)];[a51l(0x1f8)];['characterLocations']=new Map();[a51l(0x200)];constructor(a){const m=a51l;super(),this[m(0x200)]=new RoomFactory(),this[m(0x210)]=a[m(0x210)],this[m(0x1e4)]=this['generateRoomsFromConfig'](a['roomConfiguration']),this[m(0x205)]=Logger[m(0x1f0)](),this[m(0x1f8)]=new Map(),this[m(0x1f6)](a[m(0x1ff)]),this[m(0x205)][m(0x20d)]('Scene\x20initialized\x20with\x20rooms:\x20'+Object['keys'](this[m(0x1e4)])[m(0x1f4)](',\x20'));}[a51l(0x20b)](){const n=a51l;this[n(0x210)][n(0x21d)]=this[n(0x21e)]();}['generateRoomsFromConfig'](a){const o=a51l;if(!this[o(0x200)])throw new Error(o(0x21c));const b={};for(const c of a){const d=this[o(0x200)]['createRoom'](c);b[c[o(0x1e5)]]=d;}return b;}[a51l(0x1f6)](a){const p=a51l;for(const b of a){const c=this['rooms'][b['name']];if(b['exits'])for(const d of b['exits']){const e=d[p(0x20a)][p(0x1f3)](),f=d['targetRoom'],g=d[p(0x206)],h=this[p(0x1e4)][f];h&&c['addExit'](Direction[e],h,g);}}}[a51l(0x219)](a){const q=a51l;if(this[q(0x1f8)][q(0x21a)](a[q(0x1e5)]))throw new Error(q(0x1fd)+a[q(0x1e5)]+q(0x1de));this['actors']['set'](a['name'],a);}[a51l(0x202)](a){const r=a51l;if(!this['actors'][r(0x21a)](a))throw new Error(r(0x1f7)+a+'\x20found\x20in\x20the\x20scene.');this['actors']['delete'](a);}['getActor'](a){const s=a51l;return this[s(0x1f8)][s(0x1e9)](a);}get['allActors'](){const t=a51l;return Array[t(0x204)](this[t(0x1f8)][t(0x20c)]());}[a51l(0x1fa)](a){const u=a51l;this[u(0x1e4)][a[u(0x1e5)]]=a,this['logger'][u(0x20d)]('Added\x20room\x20to\x20scene:\x20'+a[u(0x1e5)]);}[a51l(0x1ee)](a){const v=a51l;return this[v(0x1e4)][a]?(delete this[v(0x1e4)][a],this[v(0x205)][v(0x20d)](v(0x212)+a),!![]):(this[v(0x205)][v(0x20d)](v(0x209)+a),![]);}['addItemToRoom'](a,b){const w=a51l,c=this[w(0x1e4)][b];c?(c[w(0x1e1)](a),this[w(0x205)][w(0x20d)](w(0x1e2)+a[w(0x1e5)]+w(0x1f1)+c[w(0x1e5)])):this[w(0x205)][w(0x20d)](w(0x1ef)+a[w(0x1e5)]+w(0x1fb)+b+w(0x1eb));}['addPuzzleToRoom'](a,b){const x=a51l,c=this[x(0x1e4)][b];c?(c[x(0x217)](a),this['logger'][x(0x20d)](x(0x1fe)+c[x(0x1e5)])):this[x(0x205)][x(0x20d)]('Failed\x20to\x20add\x20puzzle.\x20Room\x20'+b+x(0x1eb));}['setCharacterLocation'](a,b){const y=a51l,c=this['rooms'][b];c?(this[y(0x1f5)]['set'](a[y(0x1e5)],c),this['logger'][y(0x20d)](a[y(0x1e5)]+'\x20is\x20now\x20in\x20room\x20'+c[y(0x1e5)])):this['logger'][y(0x20d)](y(0x1df)+a[y(0x1e5)]+y(0x1ed)+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0x1dd)](a){const z=a51l;return this[z(0x1f5)]['get'](a['name']);}[a51l(0x21e)](){const A=a51l,a=[];for(const c in this[A(0x1e4)]){if(this[A(0x1e4)][A(0x218)](c)){const d=this['rooms'][c];d['isStartRoom']&&a['push'](d);}}if(a['length']>0x1)throw new Error(A(0x1ea));if(a[A(0x211)]===0x1)return a[0x0];const b=Object[A(0x1e0)](this['rooms']);if(b[A(0x211)]===0x0)throw new Error('No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.');return console['warn'](A(0x207)),this[A(0x1e4)][b[0x0]];}[a51l(0x21b)](){const B=a51l;return this[B(0x210)];}[a51l(0x1e6)](){return this['rooms'];}['connectRooms'](a,b,c,d){const C=a51l,e=this[C(0x1e4)][a],f=this['rooms'][c];if(!e)throw new Error('Room\x20\x22'+a+'\x22\x20does\x20not\x20exist.');if(!f)throw new Error(C(0x1e3)+c+C(0x1f2));e['addExit'](b,f,d);}}
@@ -1 +1 @@
1
- var a52i=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=parseInt(f(0x1f0))/0x1*(parseInt(f(0x1ec))/0x2)+parseInt(f(0x1d1))/0x3+parseInt(f(0x1e8))/0x4+parseInt(f(0x1d6))/0x5+-parseInt(f(0x1ef))/0x6+parseInt(f(0x1c9))/0x7+-parseInt(f(0x1f4))/0x8*(parseInt(f(0x1d3))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x3941c));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(0x1d8)]()[g(0x1d7)]('(((.+)+)+)+$')[g(0x1d8)]()[g(0x1de)](a52a)[g(0x1d7)]('(((.+)+)+)+$');});function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x1c6;var f=c[d];return f;},a52d(a,b);}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(0x1f5)],'category':Category['Unknown'],'shape':Shape[h(0x1ea)],'color':Color[h(0x1d9)],'texture':Texture[h(0x1c6)],'rating':Rating[h(0x1da)],'weight':0x1});}[a52i(0x1ed)](){var j=a52i;return this[j(0x1e5)];}}export class Sword extends Item{constructor(a,b){var k=a52i;super({'name':a,'description':b,'size':Size[k(0x1f5)],'category':Category[k(0x1f7)],'shape':Shape[k(0x1e2)],'color':Color['Grey'],'texture':Texture[k(0x1ee)],'rating':Rating['Common'],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52i;super({'name':a,'description':b,'size':Size[l(0x1c7)],'category':Category[l(0x1f7)],'shape':Shape[l(0x1cd)],'color':Color[l(0x1f1)],'texture':Texture['Metallic'],'rating':Rating[l(0x1e4)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52i;super({'name':a,'description':b,'size':Size[m(0x1f5)],'category':Category['Helmet'],'shape':Shape[m(0x1e7)],'color':Color['Grey'],'texture':Texture[m(0x1ee)],'rating':Rating['Common'],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52i;super({'name':a,'description':b,'size':Size[n(0x1c7)],'category':Category[n(0x1f2)],'shape':Shape[n(0x1ea)],'color':Color['Grey'],'texture':Texture[n(0x1ee)],'rating':Rating[n(0x1da)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52i;super({'name':a,'description':b,'size':Size[o(0x1f5)],'category':Category[o(0x1d5)],'shape':Shape[o(0x1ea)],'color':Color[o(0x1f3)],'texture':Texture[o(0x1ee)],'rating':Rating['Common'],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52i;super({'name':a,'description':b,'size':Size[p(0x1f5)],'category':Category['Boots'],'shape':Shape['Circle'],'color':Color[p(0x1f1)],'texture':Texture['Smooth'],'rating':Rating['Common'],'weight':0x2});}}function a52c(){var B=['Cup','Weapon','Smooth','Large','Unknown\x20Author','3142867gNgXLR','pageCount','author','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','Rifle','You\x20hold\x20the\x20','\x20aloft,\x20feeling\x20its\x20immense\x20power.','Holy\x20Grail','639693jMJaHZ','Gold','160281GrIanl','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','LegArmor','1454575jhqyEl','search','toString','Yellow','Common','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','A\x20mysterious\x20book.','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','constructor','name','ArmArmor','publishDate','Blade','Legendary','Rare','description','Book','Circle','1425128Qgzfws','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','Rectangle','Gloves','50ataOky','use','Metallic','526872qrdbUP','11807NjpUpV','Brown','BodyArmor','Grey','576HqzRYy','Medium'];a52c=function(){return B;};return a52c();}export class Gloves extends Item{constructor(a,b){var q=a52i;super({'name':a,'description':b,'size':Size['Small'],'category':Category[q(0x1eb)],'shape':Shape[q(0x1e7)],'color':Color[q(0x1f1)],'texture':Texture['Smooth'],'rating':Rating[q(0x1da)],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var r=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[r(0x1e0)],'shape':Shape[r(0x1ea)],'color':Color[r(0x1f3)],'texture':Texture[r(0x1ee)],'rating':Rating[r(0x1da)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52i;super({'name':a,'description':b,'size':Size['Tiny'],'category':Category['Key'],'shape':Shape['Rectangle'],'color':Color['Yellow'],'texture':Texture['Smooth'],'rating':Rating[s(0x1da)],'weight':0x0});}[a52i(0x1ed)](){var t=a52i;return t(0x1db);}}export class Weapon extends Item{constructor(a,b){var u=a52i;super({'name':a,'description':b,'size':Size[u(0x1f5)],'category':Category[u(0x1f7)],'shape':Shape['Blade'],'color':Color[u(0x1f3)],'texture':Texture[u(0x1ee)],'rating':Rating[u(0x1da)],'weight':0x3});}[a52i(0x1ed)](){var v=a52i;return v(0x1dd);}}export class Book extends Item{['author'];['publishDate'];['pageCount'];constructor(a,b=a52i(0x1dc),c=a52i(0x1c8)){var w=a52i;super({'name':a,'description':b,'size':Size[w(0x1f5)],'category':Category[w(0x1e6)],'shape':Shape['Rectangle'],'color':Color[w(0x1f1)],'texture':Texture[w(0x1c6)],'rating':Rating[w(0x1da)],'weight':0x1}),this[w(0x1cb)]=c,this[w(0x1e1)]=new Date(),this[w(0x1ca)]=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 x=a52i;super({'name':'Short\x20Sword','description':x(0x1e9),'size':Size[x(0x1f5)],'category':Category[x(0x1f7)],'shape':Shape[x(0x1e2)],'color':Color['Grey'],'texture':Texture[x(0x1ee)],'rating':Rating[x(0x1da)],'weight':0x3});}['use'](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class SniperRifle extends Item{constructor(){var y=a52i;super({'name':'Sniper\x20Rifle','description':y(0x1cc),'size':Size['Large'],'category':Category[y(0x1f7)],'shape':Shape['Rifle'],'color':Color['Brown'],'texture':Texture['Smooth'],'rating':Rating['Common'],'weight':0x5});}[a52i(0x1ed)](){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(0x1d0),'description':z(0x1d4),'size':Size['Small'],'category':Category[z(0x1f6)],'shape':Shape[z(0x1e7)],'color':Color[z(0x1d2)],'texture':Texture[z(0x1ee)],'rating':Rating[z(0x1e3)],'weight':0x1});}[a52i(0x1ed)](){var A=a52i;return A(0x1ce)+this[A(0x1df)]+A(0x1cf);}}
1
+ var a52t=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=parseInt(f(0x183))/0x1*(parseInt(f(0x185))/0x2)+parseInt(f(0x197))/0x3+parseInt(f(0x195))/0x4+-parseInt(f(0x17e))/0x5*(-parseInt(f(0x181))/0x6)+parseInt(f(0x191))/0x7*(parseInt(f(0x194))/0x8)+-parseInt(f(0x1a0))/0x9*(-parseInt(f(0x180))/0xa)+-parseInt(f(0x1a1))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0xcf72f));var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a52d;if(c){var e=c[g(0x176)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var h=a52d;return a52a[h(0x19c)]()[h(0x179)]('(((.+)+)+)+$')[h(0x19c)]()[h(0x1a2)](a52a)[h(0x179)](h(0x17d));});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 i=a52d;super({'name':a,'description':b,'size':Size['Medium'],'category':Category['Unknown'],'shape':Shape[i(0x16c)],'color':Color[i(0x198)],'texture':Texture[i(0x19e)],'rating':Rating[i(0x18d)],'weight':0x1});}['use'](){var j=a52d;return this[j(0x17c)];}}export class Sword extends Item{constructor(a,b){var k=a52d;super({'name':a,'description':b,'size':Size[k(0x184)],'category':Category[k(0x18a)],'shape':Shape[k(0x177)],'color':Color['Grey'],'texture':Texture[k(0x173)],'rating':Rating[k(0x18d)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52d;super({'name':a,'description':b,'size':Size['Large'],'category':Category[l(0x18a)],'shape':Shape[l(0x18e)],'color':Color['Brown'],'texture':Texture[l(0x173)],'rating':Rating['Rare'],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52d;super({'name':a,'description':b,'size':Size[m(0x184)],'category':Category[m(0x189)],'shape':Shape[m(0x175)],'color':Color['Grey'],'texture':Texture[m(0x173)],'rating':Rating['Common'],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52d;super({'name':a,'description':b,'size':Size[n(0x19f)],'category':Category[n(0x19a)],'shape':Shape[n(0x16c)],'color':Color[n(0x199)],'texture':Texture[n(0x173)],'rating':Rating[n(0x18d)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52d;super({'name':a,'description':b,'size':Size[o(0x184)],'category':Category['LegArmor'],'shape':Shape[o(0x16c)],'color':Color['Grey'],'texture':Texture[o(0x173)],'rating':Rating[o(0x18d)],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52d;super({'name':a,'description':b,'size':Size[p(0x184)],'category':Category[p(0x19b)],'shape':Shape['Circle'],'color':Color[p(0x18f)],'texture':Texture[p(0x19e)],'rating':Rating[p(0x18d)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var q=a52d;super({'name':a,'description':b,'size':Size[q(0x18b)],'category':Category['Gloves'],'shape':Shape[q(0x175)],'color':Color['Brown'],'texture':Texture[q(0x19e)],'rating':Rating['Common'],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var r=a52d;super({'name':a,'description':b,'size':Size[r(0x184)],'category':Category[r(0x16d)],'shape':Shape[r(0x16c)],'color':Color[r(0x199)],'texture':Texture[r(0x173)],'rating':Rating[r(0x18d)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52d;super({'name':a,'description':b,'size':Size['Tiny'],'category':Category[s(0x188)],'shape':Shape[s(0x16c)],'color':Color['Yellow'],'texture':Texture[s(0x19e)],'rating':Rating['Common'],'weight':0x0});}[a52t(0x193)](){var u=a52t;return u(0x172);}}export class Weapon extends Item{constructor(a,b){var v=a52t;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[v(0x18a)],'shape':Shape[v(0x177)],'color':Color[v(0x199)],'texture':Texture[v(0x173)],'rating':Rating['Common'],'weight':0x3});}[a52t(0x193)](){var w=a52t;return w(0x171);}}export class Book extends Item{['author'];[a52t(0x18c)];[a52t(0x178)];constructor(a,b='A\x20mysterious\x20book.',c=a52t(0x170)){var x=a52t;super({'name':a,'description':b,'size':Size[x(0x184)],'category':Category[x(0x196)],'shape':Shape['Rectangle'],'color':Color['Brown'],'texture':Texture['Smooth'],'rating':Rating[x(0x18d)],'weight':0x1}),this[x(0x186)]=c,this[x(0x18c)]=new Date(),this[x(0x178)]=0x64;}[a52t(0x193)](){var y=a52t;return y(0x174);}}function a52c(){var F=['Gold','Smooth','Large','2092842XNOXTO','44865711bzrjUb','constructor','Cup','Rectangle','ArmArmor','\x20aloft,\x20feeling\x20its\x20immense\x20power.','You\x20hold\x20the\x20','Unknown\x20Author','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','Metallic','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','Circle','apply','Blade','pageCount','search','name','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','description','(((.+)+)+)+$','305fieevn','Holy\x20Grail','10BPknQu','44730kyKKMw','Sniper\x20Rifle','2327GxDzQg','Medium','994lBqZGu','author','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','Key','Helmet','Weapon','Small','publishDate','Common','Rifle','Brown','Legendary','2431219KfsEJB','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','use','24NOLEHQ','2899828dJaviZ','Book','3953076uisPTb','Yellow','Grey','BodyArmor','Boots','toString'];a52c=function(){return F;};return a52c();}export class ShortSword extends Item{constructor(){var z=a52t;super({'name':'Short\x20Sword','description':z(0x187),'size':Size['Medium'],'category':Category[z(0x18a)],'shape':Shape[z(0x177)],'color':Color[z(0x199)],'texture':Texture[z(0x173)],'rating':Rating[z(0x18d)],'weight':0x3});}[a52t(0x193)](){var A=a52t;return A(0x171);}}export class SniperRifle extends Item{constructor(){var B=a52t;super({'name':B(0x182),'description':'An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','size':Size['Large'],'category':Category[B(0x18a)],'shape':Shape['Rifle'],'color':Color[B(0x18f)],'texture':Texture[B(0x19e)],'rating':Rating[B(0x18d)],'weight':0x5});}['use'](){var C=a52t;return C(0x17b);}}function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x16b;var f=c[d];return f;},a52d(a,b);}export class HolyGrail extends Item{constructor(){var D=a52t;super({'name':D(0x17f),'description':D(0x192),'size':Size[D(0x18b)],'category':Category[D(0x16b)],'shape':Shape['Circle'],'color':Color[D(0x19d)],'texture':Texture['Metallic'],'rating':Rating[D(0x190)],'weight':0x1});}[a52t(0x193)](){var E=a52t;return E(0x16f)+this[E(0x17a)]+E(0x16e);}}
@@ -1 +1 @@
1
- const a54h=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0x1a2))/0x1+-parseInt(f(0x1ad))/0x2+-parseInt(f(0x17f))/0x3*(parseInt(f(0x18e))/0x4)+parseInt(f(0x1ec))/0x5+-parseInt(f(0x185))/0x6*(-parseInt(f(0x1ea))/0x7)+parseInt(f(0x1b6))/0x8+parseInt(f(0x1da))/0x9*(-parseInt(f(0x1bd))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0xa7da2));function a54c(){const i=['Empty\x20vial','SOUTH','Sniper\x20Rifle','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','south','OUTSIDE','CorpSec\x20Plans','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','416844HDvgvR','cup','Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','north','insert\x20gem','release','A\x20thin\x20log\x20book','A\x20chalice\x20made\x20of\x20pure\x20gold.','Blood-stained\x20Key','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','Mage\x27s\x20Lair','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','creditstick','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','3642940EeCKNy','A\x20clear\x20glass\x20vial.','1561285GAghAa','(((.+)+)+)+$','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','sword','MCT\x20Fly-Spy','document','search','Watch\x20Tower','Rusted\x20Sword','shield','Armory','15ugcayR','Chad\x20the\x20stupid\x20guard','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','Guard\x27s\x20Log\x20Book','inside','12CvctEq','Barrens\x20Entrance','A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','Library','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','secret123','That\x20passcode\x20is\x20incorrect','Torture\x20Chamber','Encrypted\x20Data\x20Key','102572gLorxr','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','Courtyard','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','Downtown\x20Seattle','Matrix\x20Data\x20Haven','east','constructor','key','Emblem\x20Shield','Amulet\x20of\x20Awakening','Entrance\x20Hall','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','Nothing\x20happens.','Secret\x20Passage','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','345565vsAJkM','amulet','Ancient\x20Gem','gem','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','A\x20creditstick\x20loaded\x20with\x20nuyen.','Corp\x20Enclave','book','Gang\x20Insignia','Treasure\x20Room','1286398FhJBTQ','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','A\x20small\x20surveillance\x20drone.','outside','holyGrail','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','The\x20data\x20remains\x20encrypted.','6604336oQaIgG','Central\x20Chamber','An\x20old\x20and\x20rusted\x20sword.','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','Rigger\x27s\x20Workshop','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','230oNEvFA','Jackpoint\x20Login','decrypt','disenchant','drone','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','rifle','west','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','Holy\x20Grail','open\x20sesame','The\x20chest\x20remains\x20firmly\x20shut.','A\x20long-range\x20weapon.','Central\x20Chamber\x20Key','Barrens\x20Hideout','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','Study','Golden\x20Chalice','Golden\x20Key','Alchemy\x20Lab'];a54c=function(){return i;};return a54c();}const a54b=(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;};}()),a54a=a54b(this,function(){const g=a54d;return a54a['toString']()[g(0x1f2)]('(((.+)+)+)+$')['toString']()[g(0x198)](a54a)[g(0x1f2)](g(0x1ed));});a54a();function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x17c;let f=c[d];return f;},a54d(a,b);}export const rooms=[{'name':a54h(0x188),'description':a54h(0x1c5),'isStartRoom':!![],'items':[{'type':a54h(0x199),'name':a54h(0x1cf),'description':'A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.'},{'type':a54h(0x1aa),'name':a54h(0x183),'description':a54h(0x1e1),'content':a54h(0x180)}],'exits':[{'direction':'EAST','targetRoom':a54h(0x19f)}]},{'name':a54h(0x19f),'description':'A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','exits':[{'direction':'NORTH','targetRoom':a54h(0x1ac),'keyRequired':a54h(0x1cf)},{'direction':a54h(0x1d2),'targetRoom':a54h(0x191)}]},{'name':a54h(0x1ac),'description':'A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','items':[{'type':a54h(0x1b2),'name':a54h(0x1c6),'description':'The\x20legendary\x20Holy\x20Grail.'}]},{'name':a54h(0x191),'description':a54h(0x182),'roomType':a54h(0x1d6),'exits':[{'direction':'UP','targetRoom':a54h(0x1f3)}]},{'name':a54h(0x1f3),'description':a54h(0x1ae),'roomType':'OUTSIDE','puzzle':{'requiredPhrase':a54h(0x18a),'riddle':'A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','rewardItem':{'type':a54h(0x1c3),'name':a54h(0x1d3),'description':a54h(0x1c9)},'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':a54h(0x18b)}}];export const dungeonConfig=[{'name':'Entrance\x20Hall','description':a54h(0x189),'isStartRoom':!![],'roomType':a54h(0x184),'puzzle':{'requiredPhrase':a54h(0x1c7),'riddle':a54h(0x1dc),'rewardItem':{'type':a54h(0x199),'name':'Central\x20Chamber\x20Key','description':a54h(0x19d)},'successMessage':a54h(0x1c2),'failureMessage':a54h(0x19e)},'exits':[{'direction':'north','targetRoom':a54h(0x1cd)},{'direction':a54h(0x197),'targetRoom':a54h(0x1b7),'keyRequired':a54h(0x1ca)}]},{'name':a54h(0x1cd),'description':a54h(0x1e9),'roomType':a54h(0x184),'items':[{'type':a54h(0x1aa),'name':'Riddle\x20Book','description':a54h(0x1ee),'content':a54h(0x1e6)},{'type':a54h(0x199),'name':a54h(0x1ca),'description':a54h(0x19d)}],'exits':[{'direction':a54h(0x1d5),'targetRoom':a54h(0x19c)},{'direction':a54h(0x197),'targetRoom':a54h(0x1d0)}]},{'name':a54h(0x1d0),'description':a54h(0x1dd),'roomType':'inside','items':[{'type':'basic','name':a54h(0x1d1),'description':a54h(0x1eb)}],'exits':[{'direction':'west','targetRoom':a54h(0x1cd)},{'direction':'north','targetRoom':a54h(0x17e)}]},{'name':'Armory','description':a54h(0x1e4),'roomType':a54h(0x184),'items':[{'type':a54h(0x17d),'name':a54h(0x19a),'description':'A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.'},{'type':a54h(0x1ef),'name':a54h(0x17c),'description':a54h(0x1b8)}],'exits':[{'direction':'south','targetRoom':a54h(0x1d0)},{'direction':a54h(0x197),'targetRoom':a54h(0x1b7)}]},{'name':a54h(0x1b7),'description':a54h(0x1bc),'roomType':a54h(0x184),'exits':[{'direction':'west','targetRoom':a54h(0x17e)},{'direction':a54h(0x1d5),'targetRoom':a54h(0x19c)},{'direction':'north','targetRoom':a54h(0x18c)},{'direction':a54h(0x197),'targetRoom':a54h(0x1ac)}]},{'name':a54h(0x18c),'description':a54h(0x1d8),'roomType':'inside','items':[{'type':a54h(0x199),'name':a54h(0x1e3),'description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':a54h(0x1e0),'riddle':a54h(0x194),'rewardItem':{'type':a54h(0x1a5),'name':a54h(0x1a4),'description':a54h(0x187)},'successMessage':a54h(0x1d9),'failureMessage':'The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.'},'exits':[{'direction':a54h(0x1d5),'targetRoom':a54h(0x1b7)}]},{'name':a54h(0x1ac),'description':a54h(0x1d4),'roomType':'inside','puzzle':{'requiredPhrase':a54h(0x1df),'riddle':a54h(0x1a1),'rewardItem':{'type':a54h(0x1db),'name':a54h(0x1ce),'description':a54h(0x1e2)},'successMessage':'The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','failureMessage':a54h(0x1c8)},'exits':[{'direction':'west','targetRoom':'Central\x20Chamber'}]}];export const shadowrunConfig=[{'name':a54h(0x1be),'description':a54h(0x1b4),'isStartRoom':!![],'roomType':a54h(0x184),'exits':[{'direction':a54h(0x1de),'targetRoom':'Downtown\x20Seattle'},{'direction':'up','targetRoom':'Matrix\x20Data\x20Haven'}]},{'name':a54h(0x196),'description':a54h(0x1bb),'roomType':a54h(0x184),'puzzle':{'requiredPhrase':a54h(0x1bf),'riddle':a54h(0x190),'rewardItem':{'type':a54h(0x199),'name':a54h(0x18d),'description':a54h(0x181)},'successMessage':a54h(0x18f),'failureMessage':a54h(0x1b5)},'exits':[{'direction':'down','targetRoom':'Jackpoint\x20Login'}]},{'name':a54h(0x195),'description':a54h(0x193),'roomType':a54h(0x1b1),'exits':[{'direction':'south','targetRoom':'Jackpoint\x20Login'},{'direction':'east','targetRoom':a54h(0x186)},{'direction':a54h(0x1c4),'targetRoom':'Corp\x20Enclave'}]},{'name':a54h(0x186),'description':a54h(0x192),'roomType':a54h(0x1b1),'puzzle':{'requiredPhrase':'show\x20loyalty','riddle':a54h(0x1e8),'rewardItem':{'type':a54h(0x199),'name':a54h(0x1ab),'description':'A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.'},'successMessage':'The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','failureMessage':a54h(0x1b3)},'exits':[{'direction':a54h(0x1c4),'targetRoom':a54h(0x195)},{'direction':a54h(0x1de),'targetRoom':'Barrens\x20Hideout'}]},{'name':a54h(0x1a9),'description':a54h(0x1a6),'roomType':'inside','items':[{'type':a54h(0x1e7),'name':'Corporate\x20Creditstick','description':a54h(0x1a8)},{'type':a54h(0x1f1),'name':a54h(0x1d7),'description':a54h(0x1b9)}],'exits':[{'direction':a54h(0x197),'targetRoom':'Downtown\x20Seattle'}]},{'name':a54h(0x1cb),'description':'A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','roomType':'outside','items':[{'type':'weapon','name':'Ares\x20Predator','description':'A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.'}],'exits':[{'direction':'south','targetRoom':a54h(0x186)},{'direction':a54h(0x1de),'targetRoom':a54h(0x1e5)},{'direction':a54h(0x197),'targetRoom':'Rigger\x27s\x20Workshop'}]},{'name':a54h(0x1e5),'description':'A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','roomType':a54h(0x184),'puzzle':{'requiredPhrase':a54h(0x1c0),'riddle':a54h(0x1af),'rewardItem':{'type':a54h(0x1a3),'name':a54h(0x19b),'description':a54h(0x1a0)},'successMessage':a54h(0x1cc),'failureMessage':a54h(0x1a7)},'exits':[{'direction':a54h(0x1d5),'targetRoom':'Barrens\x20Hideout'}]},{'name':a54h(0x1ba),'description':'Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','roomType':a54h(0x184),'items':[{'type':a54h(0x1c1),'name':a54h(0x1f0),'description':a54h(0x1b0)}],'exits':[{'direction':a54h(0x1c4),'targetRoom':a54h(0x1cb)}]}];
1
+ function a54c(){const i=['disenchant','Jackpoint\x20Login','A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.','west','The\x20chest\x20remains\x20firmly\x20shut.','book','insert\x20gem','cup','north','(((.+)+)+)+$','NORTH','inside','Watch\x20Tower','outside','Golden\x20Chalice','document','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','EAST','rifle','secret123','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','Emblem\x20Shield','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','9051048sMyaDr','110MiZheQ','shield','28FkscES','2523357bsDsAS','A\x20clear\x20glass\x20vial.','215191DgZGnZ','basic','A\x20long-range\x20weapon.','Study','1970928GKPKGk','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','OUTSIDE','4bIvYTN','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','652065ElTTfh','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','Library','Riddle\x20Book','Barrens\x20Entrance','sword','A\x20chalice\x20made\x20of\x20pure\x20gold.','Torture\x20Chamber','Holy\x20Grail','south','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','Mage\x27s\x20Lair','The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.','The\x20data\x20remains\x20encrypted.','4336629SNaFJA','5187518VmEcms','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','key','Downtown\x20Seattle','down','Nothing\x20happens.','A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','Golden\x20Key','Alchemy\x20Lab','Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','toString','holyGrail','Secret\x20Passage','A\x20thin\x20log\x20book','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','Barrens\x20Hideout','Central\x20Chamber\x20Key','A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','A\x20small\x20surveillance\x20drone.','Courtyard','Corp\x20Enclave','amulet','east','Encrypted\x20Data\x20Key','A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','decrypt','Chad\x20the\x20stupid\x20guard','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','Treasure\x20Room','Ancient\x20Gem','12NWirHQ','Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','Sniper\x20Rifle','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','Empty\x20vial','The\x20legendary\x20Holy\x20Grail.','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','Corporate\x20Creditstick','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','CorpSec\x20Plans','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','constructor','search','release','Central\x20Chamber','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','Guard\x27s\x20Log\x20Book','Rigger\x27s\x20Workshop','gem','creditstick','A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','Entrance\x20Hall','That\x20passcode\x20is\x20incorrect','Armory','Gang\x20Insignia'];a54c=function(){return i;};return a54c();}function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x13f;let f=c[d];return f;},a54d(a,b);}const a54h=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0x1b4))/0x1*(parseInt(f(0x146))/0x2)+-parseInt(f(0x142))/0x3+parseInt(f(0x1b1))/0x4*(-parseInt(f(0x149))/0x5)+-parseInt(f(0x179))/0x6*(parseInt(f(0x158))/0x7)+-parseInt(f(0x1ae))/0x8+parseInt(f(0x1b2))/0x9+-parseInt(f(0x1af))/0xa*(-parseInt(f(0x157))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0xd2ef4));const a54b=(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;};}()),a54a=a54b(this,function(){const g=a54d;return a54a[g(0x164)]()[g(0x186)](g(0x19e))[g(0x164)]()[g(0x185)](a54a)['search'](g(0x19e));});a54a();export const rooms=[{'name':a54h(0x14b),'description':'A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','isStartRoom':!![],'items':[{'type':a54h(0x15b),'name':a54h(0x160),'description':'A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.'},{'type':a54h(0x19a),'name':a54h(0x18b),'description':a54h(0x167),'content':a54h(0x175)}],'exits':[{'direction':a54h(0x1a6),'targetRoom':a54h(0x166)}]},{'name':'Secret\x20Passage','description':a54h(0x16c),'exits':[{'direction':a54h(0x19f),'targetRoom':'Treasure\x20Room','keyRequired':a54h(0x160)},{'direction':'SOUTH','targetRoom':'Courtyard'}]},{'name':a54h(0x177),'description':a54h(0x173),'items':[{'type':a54h(0x165),'name':a54h(0x151),'description':a54h(0x17f)}]},{'name':a54h(0x16e),'description':a54h(0x18f),'roomType':a54h(0x145),'exits':[{'direction':'UP','targetRoom':'Watch\x20Tower'}]},{'name':a54h(0x1a1),'description':a54h(0x190),'roomType':'OUTSIDE','puzzle':{'requiredPhrase':a54h(0x1a8),'riddle':a54h(0x148),'rewardItem':{'type':a54h(0x1a7),'name':a54h(0x17b),'description':a54h(0x140)},'successMessage':a54h(0x14a),'failureMessage':a54h(0x192)}}];export const dungeonConfig=[{'name':a54h(0x191),'description':a54h(0x143),'isStartRoom':!![],'roomType':a54h(0x1a0),'puzzle':{'requiredPhrase':'open\x20sesame','riddle':'Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','rewardItem':{'type':'key','name':a54h(0x16b),'description':a54h(0x15a)},'successMessage':'The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','failureMessage':a54h(0x15e)},'exits':[{'direction':a54h(0x19d),'targetRoom':a54h(0x141)},{'direction':a54h(0x171),'targetRoom':a54h(0x188),'keyRequired':a54h(0x16b)}]},{'name':'Study','description':a54h(0x153),'roomType':a54h(0x1a0),'items':[{'type':a54h(0x19a),'name':a54h(0x14c),'description':'A\x20book\x20containing\x20a\x20mysterious\x20riddle.','content':a54h(0x1aa)},{'type':'key','name':a54h(0x16b),'description':a54h(0x15a)}],'exits':[{'direction':'south','targetRoom':a54h(0x191)},{'direction':a54h(0x171),'targetRoom':a54h(0x161)}]},{'name':a54h(0x161),'description':a54h(0x17d),'roomType':a54h(0x1a0),'items':[{'type':a54h(0x13f),'name':a54h(0x17e),'description':a54h(0x1b3)}],'exits':[{'direction':a54h(0x198),'targetRoom':a54h(0x141)},{'direction':a54h(0x19d),'targetRoom':a54h(0x193)}]},{'name':a54h(0x193),'description':a54h(0x189),'roomType':'inside','items':[{'type':a54h(0x1b0),'name':a54h(0x1ac),'description':'A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.'},{'type':a54h(0x14e),'name':'Rusted\x20Sword','description':'An\x20old\x20and\x20rusted\x20sword.'}],'exits':[{'direction':'south','targetRoom':a54h(0x161)},{'direction':'east','targetRoom':a54h(0x188)}]},{'name':'Central\x20Chamber','description':'A\x20large\x20circular\x20room\x20with\x20four\x20doors.','roomType':a54h(0x1a0),'exits':[{'direction':a54h(0x198),'targetRoom':a54h(0x193)},{'direction':a54h(0x152),'targetRoom':a54h(0x191)},{'direction':'north','targetRoom':a54h(0x150)},{'direction':a54h(0x171),'targetRoom':a54h(0x177)}]},{'name':a54h(0x150),'description':'Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','roomType':'inside','items':[{'type':'key','name':'Blood-stained\x20Key','description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':a54h(0x187),'riddle':a54h(0x163),'rewardItem':{'type':a54h(0x18d),'name':a54h(0x178),'description':'A\x20gem\x20radiating\x20a\x20mysterious\x20aura.'},'successMessage':'The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','failureMessage':a54h(0x155)},'exits':[{'direction':a54h(0x152),'targetRoom':'Central\x20Chamber'}]},{'name':a54h(0x177),'description':a54h(0x169),'roomType':a54h(0x1a0),'puzzle':{'requiredPhrase':a54h(0x19b),'riddle':a54h(0x1a5),'rewardItem':{'type':a54h(0x19c),'name':a54h(0x1a3),'description':a54h(0x14f)},'successMessage':'The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','failureMessage':a54h(0x199)},'exits':[{'direction':'west','targetRoom':a54h(0x188)}]}];export const shadowrunConfig=[{'name':'Jackpoint\x20Login','description':a54h(0x184),'isStartRoom':!![],'roomType':'inside','exits':[{'direction':a54h(0x19d),'targetRoom':a54h(0x15c)},{'direction':'up','targetRoom':'Matrix\x20Data\x20Haven'}]},{'name':'Matrix\x20Data\x20Haven','description':a54h(0x1ab),'roomType':a54h(0x1a0),'puzzle':{'requiredPhrase':a54h(0x174),'riddle':a54h(0x162),'rewardItem':{'type':a54h(0x15b),'name':a54h(0x172),'description':a54h(0x147)},'successMessage':a54h(0x144),'failureMessage':a54h(0x156)},'exits':[{'direction':a54h(0x15d),'targetRoom':a54h(0x196)}]},{'name':a54h(0x15c),'description':a54h(0x182),'roomType':'outside','exits':[{'direction':'south','targetRoom':a54h(0x196)},{'direction':a54h(0x171),'targetRoom':a54h(0x14d)},{'direction':a54h(0x198),'targetRoom':'Corp\x20Enclave'}]},{'name':a54h(0x14d),'description':'The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','roomType':a54h(0x1a2),'puzzle':{'requiredPhrase':'show\x20loyalty','riddle':a54h(0x1ad),'rewardItem':{'type':a54h(0x15b),'name':a54h(0x194),'description':a54h(0x197)},'successMessage':'The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','failureMessage':a54h(0x159)},'exits':[{'direction':'west','targetRoom':a54h(0x15c)},{'direction':'north','targetRoom':'Barrens\x20Hideout'}]},{'name':a54h(0x16f),'description':a54h(0x176),'roomType':a54h(0x1a0),'items':[{'type':a54h(0x18e),'name':a54h(0x181),'description':'A\x20creditstick\x20loaded\x20with\x20nuyen.'},{'type':a54h(0x1a4),'name':a54h(0x183),'description':a54h(0x17c)}],'exits':[{'direction':'east','targetRoom':a54h(0x15c)}]},{'name':a54h(0x16a),'description':a54h(0x18a),'roomType':'outside','items':[{'type':'weapon','name':'Ares\x20Predator','description':a54h(0x15f)}],'exits':[{'direction':a54h(0x152),'targetRoom':'Barrens\x20Entrance'},{'direction':a54h(0x19d),'targetRoom':a54h(0x154)},{'direction':'east','targetRoom':a54h(0x18c)}]},{'name':a54h(0x154),'description':a54h(0x180),'roomType':a54h(0x1a0),'puzzle':{'requiredPhrase':a54h(0x195),'riddle':'Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','rewardItem':{'type':a54h(0x170),'name':'Amulet\x20of\x20Awakening','description':a54h(0x168)},'successMessage':'The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','failureMessage':a54h(0x1a9)},'exits':[{'direction':a54h(0x152),'targetRoom':'Barrens\x20Hideout'}]},{'name':'Rigger\x27s\x20Workshop','description':a54h(0x17a),'roomType':a54h(0x1a0),'items':[{'type':'drone','name':'MCT\x20Fly-Spy','description':a54h(0x16d)}],'exits':[{'direction':'west','targetRoom':'Barrens\x20Hideout'}]}];