@maka/maka-cli 4.6.8 → 4.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/bundle/obf/package.json +1 -1
  2. package/bundle/obf/src/command.js +1 -1
  3. package/bundle/obf/src/commands/_index.js +1 -1
  4. package/bundle/obf/src/commands/ai.js +1 -1
  5. package/bundle/obf/src/commands/aws/_index.js +1 -1
  6. package/bundle/obf/src/commands/aws/aws.command.js +1 -1
  7. package/bundle/obf/src/commands/aws/chz.sub.cmd.js +1 -1
  8. package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -1
  9. package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -1
  10. package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -1
  11. package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -1
  12. package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -1
  13. package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -1
  14. package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -1
  15. package/bundle/obf/src/commands/aws/rdn.sub.cmd.js +1 -1
  16. package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -1
  17. package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -1
  18. package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -1
  19. package/bundle/obf/src/commands/build/_index.js +1 -1
  20. package/bundle/obf/src/commands/build/build.js +1 -1
  21. package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -1
  22. package/bundle/obf/src/commands/create.js +1 -1
  23. package/bundle/obf/src/commands/debug.js +1 -1
  24. package/bundle/obf/src/commands/deploy.js +1 -1
  25. package/bundle/obf/src/commands/game/_index.js +1 -1
  26. package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -1
  27. package/bundle/obf/src/commands/game/play.command.js +1 -1
  28. package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -1
  29. package/bundle/obf/src/commands/game/sideQuest/commands/command.js +1 -1
  30. package/bundle/obf/src/commands/game/sideQuest/commands/drop.js +1 -1
  31. package/bundle/obf/src/commands/game/sideQuest/commands/equip.js +1 -1
  32. package/bundle/obf/src/commands/game/sideQuest/commands/go.js +1 -1
  33. package/bundle/obf/src/commands/game/sideQuest/commands/lock.js +1 -1
  34. package/bundle/obf/src/commands/game/sideQuest/commands/look.js +1 -1
  35. package/bundle/obf/src/commands/game/sideQuest/commands/say.js +1 -1
  36. package/bundle/obf/src/commands/game/sideQuest/commands/search.js +1 -1
  37. package/bundle/obf/src/commands/game/sideQuest/commands/solve.js +1 -1
  38. package/bundle/obf/src/commands/game/sideQuest/commands/take.js +1 -1
  39. package/bundle/obf/src/commands/game/sideQuest/commands/unequip.js +1 -1
  40. package/bundle/obf/src/commands/game/sideQuest/commands/unlock.js +1 -1
  41. package/bundle/obf/src/commands/game/sideQuest/commands/use.js +1 -1
  42. package/bundle/obf/src/commands/game/sideQuest/factories/commandF.js +1 -1
  43. package/bundle/obf/src/commands/game/sideQuest/factories/roomsF.js +1 -1
  44. package/bundle/obf/src/commands/game/sideQuest/game.js +1 -1
  45. package/bundle/obf/src/commands/game/sideQuest/models/_index.js +1 -1
  46. package/bundle/obf/src/commands/game/sideQuest/models/door.js +1 -1
  47. package/bundle/obf/src/commands/game/sideQuest/models/inventory.js +1 -1
  48. package/bundle/obf/src/commands/game/sideQuest/models/item.js +1 -1
  49. package/bundle/obf/src/commands/game/sideQuest/models/npc.js +1 -1
  50. package/bundle/obf/src/commands/game/sideQuest/models/player.js +1 -1
  51. package/bundle/obf/src/commands/game/sideQuest/models/puzzle.js +1 -1
  52. package/bundle/obf/src/commands/game/sideQuest/models/room.js +1 -1
  53. package/bundle/obf/src/commands/game/sideQuest/models/scene.js +1 -1
  54. package/bundle/obf/src/commands/game/sideQuest/scenes/items.js +1 -1
  55. package/bundle/obf/src/commands/game/sideQuest/scenes/rooms.js +1 -1
  56. package/bundle/obf/src/commands/game/sideQuest/types/abstracts.js +1 -1
  57. package/bundle/obf/src/commands/game/sideQuest/types/enums.js +1 -1
  58. package/bundle/obf/src/commands/game/sideQuest/types/interfaces.js +1 -1
  59. package/bundle/obf/src/commands/game/sideQuest/types/types.js +1 -1
  60. package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -1
  61. package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -1
  62. package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -1
  63. package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -1
  64. package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -1
  65. package/bundle/obf/src/commands/generate.js +1 -1
  66. package/bundle/obf/src/commands/get/_index.js +1 -1
  67. package/bundle/obf/src/commands/get/get.command.js +1 -1
  68. package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -1
  69. package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -1
  70. package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -1
  71. package/bundle/obf/src/commands/help.js +1 -1
  72. package/bundle/obf/src/commands/install.js +1 -1
  73. package/bundle/obf/src/commands/jsdoc.js +1 -1
  74. package/bundle/obf/src/commands/lint.js +1 -1
  75. package/bundle/obf/src/commands/login.js +1 -1
  76. package/bundle/obf/src/commands/logout.js +1 -1
  77. package/bundle/obf/src/commands/logs.js +1 -1
  78. package/bundle/obf/src/commands/maka.cmd.js +1 -1
  79. package/bundle/obf/src/commands/murder.js +1 -1
  80. package/bundle/obf/src/commands/proxy.js +1 -1
  81. package/bundle/obf/src/commands/reconfig.js +1 -1
  82. package/bundle/obf/src/commands/run/_index.js +1 -1
  83. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
  84. package/bundle/obf/src/commands/run/run.command.js +1 -1
  85. package/bundle/obf/src/commands/set/_index.js +1 -1
  86. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
  87. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
  88. package/bundle/obf/src/commands/set/set.command.js +1 -1
  89. package/bundle/obf/src/commands/ssh.js +1 -1
  90. package/bundle/obf/src/commands/ssl.js +1 -1
  91. package/bundle/obf/src/commands/test.js +1 -1
  92. package/bundle/obf/src/commands/version.js +1 -1
  93. package/bundle/obf/src/error.js +1 -1
  94. package/bundle/obf/src/exec.js +1 -1
  95. package/bundle/obf/src/generator.js +1 -1
  96. package/bundle/obf/src/generators/_index.js +1 -1
  97. package/bundle/obf/src/generators/api.js +1 -1
  98. package/bundle/obf/src/generators/collection.js +1 -1
  99. package/bundle/obf/src/generators/component.js +1 -1
  100. package/bundle/obf/src/generators/config.js +1 -1
  101. package/bundle/obf/src/generators/dbc.js +1 -1
  102. package/bundle/obf/src/generators/dockerfile.js +1 -1
  103. package/bundle/obf/src/generators/hook.js +1 -1
  104. package/bundle/obf/src/generators/kit.js +1 -1
  105. package/bundle/obf/src/generators/layout.js +1 -1
  106. package/bundle/obf/src/generators/maka.gen.js +1 -1
  107. package/bundle/obf/src/generators/methods.js +1 -1
  108. package/bundle/obf/src/generators/package.js +1 -1
  109. package/bundle/obf/src/generators/page.js +1 -1
  110. package/bundle/obf/src/generators/publish.js +1 -1
  111. package/bundle/obf/src/generators/route.js +1 -1
  112. package/bundle/obf/src/generators/service.js +1 -1
  113. package/bundle/obf/src/generators/services/_index.js +1 -1
  114. package/bundle/obf/src/generators/services/openssl.js +1 -1
  115. package/bundle/obf/src/generators/services/translation.js +1 -1
  116. package/bundle/obf/src/maka.js +1 -1
  117. package/bundle/obf/src/tool.js +1 -1
  118. package/bundle/obf/src/tools/actions/actions.class.js +1 -1
  119. package/bundle/obf/src/tools/aws/aws.class.js +1 -1
  120. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
  121. package/bundle/obf/src/tools/docker/docker.class.js +1 -1
  122. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
  123. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
  124. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
  125. package/bundle/obf/src/tools/https/https.class.js +1 -1
  126. package/bundle/obf/src/tools/https/https.interface.js +1 -1
  127. package/bundle/obf/src/tools/https/progress.class.js +1 -1
  128. package/bundle/obf/src/tools/log/log.class.js +1 -1
  129. package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
  130. package/bundle/obf/src/tools/options/options.class.js +1 -1
  131. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
  132. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
  133. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
  134. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
  135. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
  136. package/package.json +1 -1
@@ -1 +1 @@
1
- const a36i=a36d;(function(a,b){const f=a36d,c=a();while(!![]){try{const d=parseInt(f(0xe9))/0x1*(parseInt(f(0xf9))/0x2)+parseInt(f(0xda))/0x3*(-parseInt(f(0xf2))/0x4)+-parseInt(f(0xf7))/0x5*(-parseInt(f(0xde))/0x6)+parseInt(f(0xd7))/0x7*(-parseInt(f(0x101))/0x8)+parseInt(f(0xf3))/0x9+parseInt(f(0xe8))/0xa+-parseInt(f(0xd8))/0xb*(parseInt(f(0xf1))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0xcfb4a));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0xef)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a[h(0xd6)]()[h(0xe5)](h(0xe7))[h(0xd6)]()[h(0xed)](a36a)[h(0xe5)](h(0xe7));});a36a();function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0xd5;let f=c[d];return f;},a36d(a,b);}import{Command}from'./command.js';function a36c(){const l=['join','\x22\x20from\x20','530466LZfLiS','Successfully\x20removed\x20\x22','\x22\x20not\x20found\x20in\x20','\x22\x20is\x20too\x20heavy\x20to\x20carry.','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','logger','verb','search','\x20during\x20\x27Take\x27\x20command.','(((.+)+)+)+$','8170270vMzVGV','531454DZxKYu','There\x20is\x20no\x20item\x20\x22','Item\x20\x22','\x22\x20in\x20this\x20room.','constructor','removeItem','apply','write','3840vCBWcC','1468HTwCds','15194916ZVgpie','Error\x20during\x20\x27Take\x27\x20command:\x20','currentLocation','description','65QYaKPK','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','4kBLIlI','\x22\x20not\x20retrieved\x20from\x20','addInventory','hasItem','name','inventory','actor','getItem','12328UhcXtd','take','message','You\x20have\x20taken\x20the\x20','Pick\x20up\x20an\x20item.','toString','6566xupixR','26389eqPKvC','execute','13518RZnifS','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.'];a36c=function(){return l;};return a36c();}export class TakeCommand extends Command{static [a36i(0xe4)]=a36i(0x102);static [a36i(0xf6)]=a36i(0xd5);[a36i(0xd9)](a){const j=a36i;return this['logger']['write'](j(0xe2)+a[j(0xdc)]('\x20')),this[j(0x102)](a);}[a36i(0x102)](a){const k=a36i,b=a['join']('\x20')['toLowerCase'](),c=this[k(0xff)][k(0xf5)];if(!c[k(0xfe)][k(0xfc)](b))return this[k(0xe3)][k(0xf0)](k(0xeb)+b+k(0xe0)+c['name']+k(0xe6)),'There\x20is\x20no\x20item\x20\x22'+b+k(0xec);const d=c['inventory'][k(0x100)](b);if(!d)return this[k(0xe3)]['write'](k(0xeb)+b+k(0xfa)+c[k(0xfd)]+k(0xdb)),k(0xea)+b+k(0xec);try{return this[k(0xff)][k(0xfb)](d),this[k(0xe3)]['write']('Successfully\x20added\x20\x22'+b+'\x22\x20to\x20'+this[k(0xff)]['name']+k(0xf8)),c[k(0xfe)][k(0xee)](b),this[k(0xe3)][k(0xf0)](k(0xdf)+b+k(0xdd)+c[k(0xfd)]+k(0xdb)),k(0x104)+b+'.';}catch(e){return this[k(0xe3)][k(0xf0)](k(0xf4)+e[k(0x103)]),'The\x20item\x20\x22'+b+k(0xe1);}}}
1
+ function a36c(){const l=['Item\x20\x22','21CeqWGB','search','description','execute','427668NBPiTD','\x22\x20not\x20retrieved\x20from\x20','3785312IfFRjo','There\x20is\x20no\x20item\x20\x22','join','inventory','253324XNmHMB','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','(((.+)+)+)+$','\x22\x20in\x20this\x20room.','29905WlAMDQ','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','2609046AEpsWP','\x22\x20is\x20too\x20heavy\x20to\x20carry.','hasItem','logger','Error\x20during\x20\x27Take\x27\x20command:\x20','message','currentLocation','apply','Pick\x20up\x20an\x20item.','name','removeItem','\x22\x20to\x20','Successfully\x20added\x20\x22','actor','272quRbtP','constructor','1408323tkgleg','write','973326BNkLhY','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','take'];a36c=function(){return l;};return a36c();}const a36i=a36d;function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x1c8;let f=c[d];return f;},a36d(a,b);}(function(a,b){const f=a36d,c=a();while(!![]){try{const d=parseInt(f(0x1d1))/0x1+parseInt(f(0x1d7))/0x2+parseInt(f(0x1ed))/0x3+-parseInt(f(0x1eb))/0x4*(parseInt(f(0x1db))/0x5)+parseInt(f(0x1c9))/0x6*(-parseInt(f(0x1cd))/0x7)+parseInt(f(0x1d3))/0x8+-parseInt(f(0x1dd))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x4c946));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0x1e4)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a['toString']()[h(0x1ce)](h(0x1d9))['toString']()[h(0x1ec)](a36a)[h(0x1ce)](h(0x1d9));});a36a();import{Command}from'./command.js';export class TakeCommand extends Command{static ['verb']=a36i(0x1cb);static [a36i(0x1cf)]=a36i(0x1e5);[a36i(0x1d0)](a){const j=a36i;return this['logger']['write'](j(0x1d8)+a['join']('\x20')),this[j(0x1cb)](a);}['take'](a){const k=a36i,b=a[k(0x1d5)]('\x20')['toLowerCase'](),c=this[k(0x1ea)][k(0x1e3)];if(!c['inventory'][k(0x1df)](b))return this['logger']['write'](k(0x1cc)+b+'\x22\x20not\x20found\x20in\x20'+c[k(0x1e6)]+'\x20during\x20\x27Take\x27\x20command.'),k(0x1d4)+b+k(0x1da);const d=c[k(0x1d6)]['getItem'](b);if(!d)return this[k(0x1e0)]['write'](k(0x1cc)+b+k(0x1d2)+c[k(0x1e6)]+k(0x1dc)),k(0x1d4)+b+k(0x1da);try{return this[k(0x1ea)]['addInventory'](d),this[k(0x1e0)][k(0x1c8)](k(0x1e9)+b+k(0x1e8)+this[k(0x1ea)][k(0x1e6)]+k(0x1ca)),c[k(0x1d6)][k(0x1e7)](b),this[k(0x1e0)]['write']('Successfully\x20removed\x20\x22'+b+'\x22\x20from\x20'+c['name']+k(0x1dc)),'You\x20have\x20taken\x20the\x20'+b+'.';}catch(e){return this[k(0x1e0)]['write'](k(0x1e1)+e[k(0x1e2)]),'The\x20item\x20\x22'+b+k(0x1de);}}}
@@ -1 +1 @@
1
- const a37i=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=parseInt(f(0x1c2))/0x1*(-parseInt(f(0x1d3))/0x2)+parseInt(f(0x1ca))/0x3*(parseInt(f(0x1c6))/0x4)+parseInt(f(0x1ce))/0x5+parseInt(f(0x1c4))/0x6+parseInt(f(0x1cf))/0x7+parseInt(f(0x1d2))/0x8+-parseInt(f(0x1c3))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0x20d13));function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x1c0;let f=c[d];return f;},a37d(a,b);}const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0x1cb)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a[h(0x1c1)]()['search']('(((.+)+)+)+$')['toString']()['constructor'](a37a)[h(0x1d5)](h(0x1d6));});a37a();import{Command}from'./command.js';export class UnequipCommand extends Command{static ['verb']=a37i(0x1c9);static [a37i(0x1c5)]=a37i(0x1cd);[a37i(0x1d1)](a){const j=a37i,b=a['join']('\x20')[j(0x1cc)](),c=this[j(0x1c8)][j(0x1d4)](b);return this[j(0x1c0)][j(0x1d0)]('UnequipCommand:\x20'+this['actor']['name']+j(0x1c7)+c),c;}}function a37c(){const k=['apply','toLowerCase','Unequip\x20an\x20item.','992660iUlizd','1766842RXbzSQ','write','execute','1931112ZRcYPl','4532mMlteS','unequip','search','(((.+)+)+)+$','logger','toString','71LsQFfq','6897042QpGwsN','818328sFLKLP','description','931712rOTAXQ','\x20unqeuiped\x20','actor','unqeuip','3fetosh'];a37c=function(){return k;};return a37c();}
1
+ const a37i=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=parseInt(f(0x1e7))/0x1*(parseInt(f(0x1e1))/0x2)+parseInt(f(0x1d7))/0x3*(-parseInt(f(0x1d0))/0x4)+-parseInt(f(0x1db))/0x5*(parseInt(f(0x1d2))/0x6)+-parseInt(f(0x1e3))/0x7*(-parseInt(f(0x1d9))/0x8)+-parseInt(f(0x1da))/0x9+-parseInt(f(0x1d8))/0xa*(parseInt(f(0x1d4))/0xb)+parseInt(f(0x1e6))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0x5c18a));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0x1dc)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a[h(0x1e2)]()[h(0x1e5)](h(0x1ce))[h(0x1e2)]()['constructor'](a37a)[h(0x1e5)](h(0x1ce));});a37a();function a37c(){const k=['4ovpzAt','name','18066CRlOrr','unequip','2303917OqZgxg','write','toLowerCase','1485927noCuuW','10zmdpsN','96TTcxjV','4666284kpkenb','95IkwaFz','apply','actor','join','unqeuip','UnequipCommand:\x20','173006dJSKsM','toString','188349CHxisL','Unequip\x20an\x20item.','search','10827216BPZdbI','5XzRPqW','(((.+)+)+)+$','execute'];a37c=function(){return k;};return a37c();}import{Command}from'./command.js';function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x1ce;let f=c[d];return f;},a37d(a,b);}export class UnequipCommand extends Command{static ['verb']=a37i(0x1df);static ['description']=a37i(0x1e4);[a37i(0x1cf)](a){const j=a37i,b=a[j(0x1de)]('\x20')[j(0x1d6)](),c=this[j(0x1dd)][j(0x1d3)](b);return this['logger'][j(0x1d5)](j(0x1e0)+this[j(0x1dd)][j(0x1d1)]+'\x20unqeuiped\x20'+c),c;}}
@@ -1 +1 @@
1
- function a38c(){const n=['\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','52SOVnWd','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','toString','1552320bxMqam','UnlockCommand:\x20No\x20target\x20specified.','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','\x22\x20here.','search','9657683Eciwss','1336WLTBvJ','437aHfNVm','129249swlDfJ','attemptUnlockExit','apply','write','8qbXYFB','constructor','unlockItemOrSolution','(((.+)+)+)+$','.\x20Result:\x20','description','110ibUPgG','isValidDirection','518342ZVhzlW','logger','inventory','name','9885048qurCDU','6vebOyA','has','length','UnlockCommand:\x20','unlock','get','currentLocation','128IEVLEz','\x20is\x20attempted\x20to\x20unlock\x20','actor','toLowerCase','4326565YEUohr','exits'];a38c=function(){return n;};return a38c();}const a38k=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=parseInt(h(0xbe))/0x1*(-parseInt(h(0xbd))/0x2)+-parseInt(h(0xbf))/0x3*(parseInt(h(0xad))/0x4)+-parseInt(h(0xb1))/0x5*(-parseInt(h(0xd0))/0x6)+-parseInt(h(0xbc))/0x7*(parseInt(h(0xc3))/0x8)+parseInt(h(0xb7))/0x9+parseInt(h(0xc9))/0xa*(-parseInt(h(0xcb))/0xb)+-parseInt(h(0xcf))/0xc*(-parseInt(h(0xb4))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0xba942));const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0xc1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0xb6)]()[j(0xbb)](j(0xc6))[j(0xb6)]()[j(0xc4)](a38a)[j(0xbb)](j(0xc6));});a38a();import{Door}from'../models/door.js';function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0xad;let f=c[d];return f;},a38d(a,b);}import{Command}from'./command.js';export class UnlockCommand extends Command{static ['verb']='unlock';static [a38k(0xc8)]='Unlock\x20a\x20door.';['execute'](a){const l=a38k;return this[l(0xd4)](a);}[a38k(0xd4)](a){const m=a38k;if(a[m(0xd2)]===0x0)return this[m(0xcc)]['error'](m(0xb8)),m(0xb9);const b=a[0x0]['toLowerCase'](),c=this[m(0xaf)][m(0xd6)];if(this[m(0xca)](b)&&c['exits'][m(0xd1)](b)){const d=c[m(0xb2)][m(0xd5)](b);if(d instanceof Door){const e=d[m(0xc5)]?.[m(0xb0)]();if(e&&this[m(0xaf)][m(0xcd)]['hasItem'](e)){const f=this[m(0xaf)][m(0xcd)]['getItem'](e);if(f){const g=c[m(0xc0)](b,f[m(0xce)]);return this['logger']['write'](m(0xd3)+this['actor'][m(0xce)]+m(0xae)+b+m(0xc7)+g),g;}}return this['logger'][m(0xc2)](m(0xd3)+this[m(0xaf)][m(0xce)]+m(0xb3)+b+'.'),m(0xb5);}else return this['logger'][m(0xc2)](m(0xd3)+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'+c[m(0xce)]+'.'),'There\x27s\x20no\x20door\x20named\x20\x22'+b+'\x22\x20here.';}else return this[m(0xcc)][m(0xc2)]('UnlockCommand:\x20'+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'+c[m(0xce)]+'.'),'There\x27s\x20no\x20door\x20named\x20\x22'+b+m(0xba);}}
1
+ const a38k=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=-parseInt(h(0x12d))/0x1+-parseInt(h(0x131))/0x2+parseInt(h(0x13f))/0x3+parseInt(h(0x130))/0x4+parseInt(h(0x14f))/0x5+-parseInt(h(0x12e))/0x6+-parseInt(h(0x14c))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0xc912b));const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0x13e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0x138)]()[j(0x133)](j(0x139))[j(0x138)]()[j(0x147)](a38a)[j(0x133)](j(0x139));});function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0x12c;let f=c[d];return f;},a38d(a,b);}a38a();import{Door}from'../models/door.js';import{Command}from'./command.js';export class UnlockCommand extends Command{static [a38k(0x14a)]='unlock';static ['description']=a38k(0x136);['execute'](a){const l=a38k;return this[l(0x134)](a);}[a38k(0x134)](a){const m=a38k;if(a['length']===0x0)return this[m(0x13d)]['error'](m(0x14d)),m(0x148);const b=a[0x0][m(0x141)](),c=this[m(0x143)]['currentLocation'];if(this[m(0x14b)](b)&&c['exits'][m(0x132)](b)){const d=c['exits']['get'](b);if(d instanceof Door){const e=d['unlockItemOrSolution']?.[m(0x141)]();if(e&&this[m(0x143)][m(0x13b)][m(0x144)](e)){const f=this[m(0x143)]['inventory'][m(0x12f)](e);if(f){const g=c[m(0x13c)](b,f[m(0x142)]);return this[m(0x13d)][m(0x137)](m(0x149)+this[m(0x143)]['name']+m(0x140)+b+m(0x145)+g),g;}}return this['logger'][m(0x137)]('UnlockCommand:\x20'+this['actor'][m(0x142)]+m(0x12c)+b+'.'),m(0x14e);}else return this[m(0x13d)][m(0x137)](m(0x149)+b+m(0x146)+c[m(0x142)]+'.'),m(0x135)+b+'\x22\x20here.';}else return this['logger']['write'](m(0x149)+b+m(0x146)+c[m(0x142)]+'.'),m(0x135)+b+m(0x13a);}}function a38c(){const n=['Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','UnlockCommand:\x20','verb','isValidDirection','3942309nszSFf','UnlockCommand:\x20No\x20target\x20specified.','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','8220545MriejU','\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','28155wXlvBJ','3994416GccRQQ','getItem','2411180rBJomJ','1037374NNSxUE','has','search','unlock','There\x27s\x20no\x20door\x20named\x20\x22','Unlock\x20a\x20door.','write','toString','(((.+)+)+)+$','\x22\x20here.','inventory','attemptUnlockExit','logger','apply','1057368UUbKBX','\x20is\x20attempted\x20to\x20unlock\x20','toLowerCase','name','actor','hasItem','.\x20Result:\x20','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','constructor'];a38c=function(){return n;};return a38c();}
@@ -1 +1 @@
1
- function a39c(){const l=['apply','verb','3727030iSLfdm','description','write','inventory','73259OKLfFF','execute','45jJuAaK','\x20used\x20','\x20to\x20use.','\x20attempted\x20to\x20use\x20','name','Use\x20an\x20item.','logger','6pQJebD','join',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','\x20doesn\x27t\x20have\x20a\x20use\x20method.','function','UseCommand:\x20','search','use','You\x20don\x27t\x20have\x20the\x20','(((.+)+)+)+$','toLowerCase','constructor','1384416aCgiTf','2692990sOQKNK','toString','7371wtFTzm','3462itOiAF','\x20not\x20retrieved\x20from\x20','\x27s\x20inventory.','2872600AGkXVs','actor','2837876kCAEnQ','hasItem'];a39c=function(){return l;};return a39c();}function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x17c;let f=c[d];return f;},a39d(a,b);}const a39i=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=parseInt(f(0x18a))/0x1*(-parseInt(f(0x193))/0x2)+parseInt(f(0x19f))/0x3+parseInt(f(0x182))/0x4+parseInt(f(0x1a0))/0x5+parseInt(f(0x17d))/0x6*(parseInt(f(0x17c))/0x7)+parseInt(f(0x180))/0x8+-parseInt(f(0x18c))/0x9*(parseInt(f(0x186))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0x90c07));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0x184)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a[h(0x1a1)]()[h(0x199)](h(0x19c))[h(0x1a1)]()[h(0x19e)](a39a)[h(0x199)](h(0x19c));});a39a();import{Command}from'./command.js';export class UseCommand extends Command{static [a39i(0x185)]=a39i(0x19a);static [a39i(0x187)]=a39i(0x191);[a39i(0x18b)](a){const j=a39i;return this[j(0x19a)](a);}['use'](a){const k=a39i,b=a[k(0x194)]('\x20')[k(0x19d)]();if(!this[k(0x181)][k(0x189)][k(0x183)](b))return this[k(0x192)][k(0x188)](k(0x198)+this[k(0x181)][k(0x190)]+k(0x18f)+b+k(0x195)),k(0x19b)+b+k(0x18e);const c=this[k(0x181)][k(0x189)]['getItem'](b);if(!c)return this[k(0x192)][k(0x188)](k(0x198)+b+k(0x17e)+this[k(0x181)]['name']+k(0x17f)),k(0x19b)+b+'\x20to\x20use.';if(typeof c[k(0x19a)]===k(0x197)){const d=c['use']();return this[k(0x192)][k(0x188)]('UseCommand:\x20'+this[k(0x181)]['name']+k(0x18d)+b+'.'),d;}else return this['logger']['write'](k(0x198)+b+k(0x196)),'You\x20can\x27t\x20use\x20the\x20'+b+'\x20in\x20this\x20way.';}}
1
+ const a39h=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=parseInt(f(0x64))/0x1+parseInt(f(0x85))/0x2+-parseInt(f(0x81))/0x3*(-parseInt(f(0x79))/0x4)+-parseInt(f(0x7d))/0x5*(-parseInt(f(0x69))/0x6)+parseInt(f(0x76))/0x7*(parseInt(f(0x71))/0x8)+parseInt(f(0x83))/0x9+-parseInt(f(0x73))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xb0fa9));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const g=a39d;return a39a['toString']()[g(0x6e)](g(0x7c))[g(0x72)]()['constructor'](a39a)[g(0x6e)](g(0x7c));});function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x64;let f=c[d];return f;},a39d(a,b);}a39a();function a39c(){const j=['39316300mPmTFP','name','\x20doesn\x27t\x20have\x20a\x20use\x20method.','9352JZkDcS','logger','function','324dgAbQd','\x20not\x20retrieved\x20from\x20',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','(((.+)+)+)+$','5sGfwts','\x20attempted\x20to\x20use\x20','hasItem','execute','36471ZEqQjY','verb','9460638GgQGWd','description','1509068SFjowL','\x20in\x20this\x20way.','You\x20don\x27t\x20have\x20the\x20','225797VMVrsv','\x27s\x20inventory.','UseCommand:\x20','inventory','Use\x20an\x20item.','8511174lDlntG','join','toLowerCase','actor','use','search','write','\x20to\x20use.','1328JHgvid','toString'];a39c=function(){return j;};return a39c();}import{Command}from'./command.js';export class UseCommand extends Command{static [a39h(0x82)]=a39h(0x6d);static [a39h(0x84)]=a39h(0x68);[a39h(0x80)](a){return this['use'](a);}[a39h(0x6d)](a){const i=a39h,b=a[i(0x6a)]('\x20')[i(0x6b)]();if(!this[i(0x6c)][i(0x67)][i(0x7f)](b))return this[i(0x77)]['write'](i(0x66)+this[i(0x6c)][i(0x74)]+i(0x7e)+b+i(0x7b)),i(0x87)+b+i(0x70);const c=this[i(0x6c)]['inventory']['getItem'](b);if(!c)return this[i(0x77)][i(0x6f)](i(0x66)+b+i(0x7a)+this[i(0x6c)][i(0x74)]+i(0x65)),i(0x87)+b+'\x20to\x20use.';if(typeof c[i(0x6d)]===i(0x78)){const d=c['use']();return this['logger'][i(0x6f)](i(0x66)+this['actor']['name']+'\x20used\x20'+b+'.'),d;}else return this[i(0x77)][i(0x6f)](i(0x66)+b+i(0x75)),'You\x20can\x27t\x20use\x20the\x20'+b+i(0x86);}}
@@ -1 +1 @@
1
- const a40i=a40d;function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0xaa;let f=c[d];return f;},a40d(a,b);}(function(a,b){const f=a40d,c=a();while(!![]){try{const d=-parseInt(f(0xab))/0x1+-parseInt(f(0xb1))/0x2+-parseInt(f(0xb7))/0x3+-parseInt(f(0xaa))/0x4+-parseInt(f(0xb0))/0x5+parseInt(f(0xb2))/0x6+parseInt(f(0xac))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x476ed));const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0xae)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a[h(0xaf)]()[h(0xb4)](h(0xad))[h(0xaf)]()[h(0xb3)](a40a)[h(0xb4)](h(0xad));});function a40c(){const k=['(((.+)+)+)+$','apply','toString','2411400zyEftA','151874sEHRDl','1233918wmhQPt','constructor','search','createCommand','commandMap','1247028zkUEqU','getAllRegisteredCommands','430484ljSpBd','48807eTWhGy','8520799aOpzfR'];a40c=function(){return k;};return a40c();}a40a();export class CommandFactory{static [a40i(0xb6)]={};static['registerCommand'](a,b){const j=a40i;this[j(0xb6)][a]=b;}static[a40i(0xb5)](a,b){const c=this['commandMap'][a];if(c)return new c(b);return null;}static[a40i(0xb8)](){return this['commandMap'];}}
1
+ const a40i=a40d;(function(a,b){const f=a40d,c=a();while(!![]){try{const d=parseInt(f(0x1bb))/0x1+-parseInt(f(0x1c7))/0x2+-parseInt(f(0x1c3))/0x3*(parseInt(f(0x1ca))/0x4)+-parseInt(f(0x1cc))/0x5+parseInt(f(0x1c1))/0x6*(-parseInt(f(0x1c2))/0x7)+parseInt(f(0x1ba))/0x8+-parseInt(f(0x1bc))/0x9*(-parseInt(f(0x1c4))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0xd2d18));const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0x1be)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a[h(0x1cb)]()[h(0x1c0)](h(0x1c6))[h(0x1cb)]()[h(0x1c9)](a40a)['search']('(((.+)+)+)+$');});function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x1ba;let f=c[d];return f;},a40d(a,b);}a40a();function a40c(){const m=['commandMap','(((.+)+)+)+$','2111728elBhqO','createCommand','constructor','206692SPJQcU','toString','2291105gPJzsl','3764448VQhriT','1115611mpSfsf','9gFEiSP','getAllRegisteredCommands','apply','registerCommand','search','6LtIpgO','3085369rbOfZa','99hAIxCD','29374060zSHfYc'];a40c=function(){return m;};return a40c();}export class CommandFactory{static [a40i(0x1c5)]={};static[a40i(0x1bf)](a,b){const j=a40i;this[j(0x1c5)][a]=b;}static[a40i(0x1c8)](a,b){const k=a40i,c=this[k(0x1c5)][a];if(c)return new c(b);return null;}static[a40i(0x1bd)](){const l=a40i;return this[l(0x1c5)];}}
@@ -1 +1 @@
1
- const a41k=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=parseInt(f(0x1c5))/0x1+-parseInt(f(0x1d0))/0x2*(parseInt(f(0x1c8))/0x3)+parseInt(f(0x1bc))/0x4+-parseInt(f(0x1cf))/0x5+parseInt(f(0x1dc))/0x6*(parseInt(f(0x1bd))/0x7)+parseInt(f(0x1b8))/0x8+-parseInt(f(0x1d9))/0x9*(parseInt(f(0x1cc))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0xb72cb));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a41d;if(c){const e=c[g(0x1b9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0x1c9)]()[h(0x1c6)](h(0x1c3))['toString']()[h(0x1bb)](a41a)[h(0x1c6)]('(((.+)+)+)+$');});a41a();function a41c(){const o=['isStartRoom','key','4792860SQvbkJ','66TYqPBL','description','forEach','boots','type','legarmor','puzzle','rewardItem','roomType','45qsPoCr','toUpperCase','content','24606tdaZwS','4855456tsTPLE','apply','items','constructor','4366036nSvboS','1701hNKRIo','INSIDE','addItem','gauntlets','setPuzzle','createItem','(((.+)+)+)+$','name','465405UZMXKd','search','helmet','24744BjxCUS','toString','gloves','convertToRoomConfig','2358700YfwcmQ'];a41c=function(){return o;};return a41c();}function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x1b8;let f=c[d];return f;},a41d(a,b);}import{Room,Puzzle,Inventory}from'../models/_index.js';import{RoomType}from'../types/enums.js';import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{['createRoom'](a){const i=a41d,b=this[i(0x1cb)](a),c=new Room(b);if(a[i(0x1ba)]){const d=new Inventory();a[i(0x1ba)][i(0x1d2)](e=>{const j=i;d[j(0x1bf)](this[j(0x1c2)](e));}),c['inventory']=d;}return a[i(0x1d6)]&&c[i(0x1c1)](this['createPuzzle'](a[i(0x1d6)])),c;}[a41k(0x1c2)](a){const l=a41k;switch(a[l(0x1d4)]){case l(0x1ce):return new Key(a[l(0x1c4)],a[l(0x1d1)]);case'book':return new Book(a[l(0x1c4)],a[l(0x1d1)],a[l(0x1db)]);case'sword':return new Sword(a[l(0x1c4)],a[l(0x1d1)]);case'rifle':return new Rifle(a[l(0x1c4)],a[l(0x1d1)]);case l(0x1c7):return new Helmet(a[l(0x1c4)],a[l(0x1d1)]);case'bodyarmor':return new BodyArmor(a['name'],a['description']);case l(0x1d5):return new LegArmor(a[l(0x1c4)],a[l(0x1d1)]);case l(0x1d3):return new Boots(a[l(0x1c4)],a[l(0x1d1)]);case l(0x1ca):return new Gloves(a[l(0x1c4)],a[l(0x1d1)]);case l(0x1c0):return new Gauntlets(a[l(0x1c4)],a[l(0x1d1)]);default:return new BasicItem(a[l(0x1c4)],a[l(0x1d1)]);}}['createPuzzle'](a){const m=a41k,b=this[m(0x1c2)](a[m(0x1d7)]);return new Puzzle({...a,'rewardItem':b});}['convertToRoomConfig'](a){const n=a41k,b=a['roomType']&&RoomType[a['roomType']['toUpperCase']()]?RoomType[a[n(0x1d8)][n(0x1da)]()]:RoomType[n(0x1be)];return{'name':a[n(0x1c4)],'description':a[n(0x1d1)],'isStartRoom':a[n(0x1cd)],'roomType':b};}}
1
+ const a41k=a41d;function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x154;let f=c[d];return f;},a41d(a,b);}(function(a,b){const f=a41d,c=a();while(!![]){try{const d=parseInt(f(0x159))/0x1+-parseInt(f(0x173))/0x2+parseInt(f(0x155))/0x3*(parseInt(f(0x160))/0x4)+-parseInt(f(0x169))/0x5+parseInt(f(0x176))/0x6+parseInt(f(0x157))/0x7*(-parseInt(f(0x156))/0x8)+-parseInt(f(0x15b))/0x9*(-parseInt(f(0x15d))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0x8d266));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a41d;if(c){const e=c[g(0x161)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0x166)]()[h(0x165)](h(0x163))['toString']()[h(0x172)](a41a)[h(0x165)](h(0x163));});function a41c(){const o=['gauntlets','constructor','1518958LekfgS','name','boots','5640912TczuOM','createPuzzle','puzzle','setPuzzle','book','toUpperCase','692739bcpEZQ','5199408syZhIt','7ucDwiA','sword','1134919aIFMxE','inventory','9xxQYIc','gloves','7876550UBNzdE','addItem','convertToRoomConfig','4AqBAxA','apply','roomType','(((.+)+)+)+$','INSIDE','search','toString','isStartRoom','createItem','5530420vGykbq','content','bodyarmor','key','rewardItem','description','items','legarmor'];a41c=function(){return o;};return a41c();}a41a();import{Room,Puzzle,Inventory}from'../models/_index.js';import{RoomType}from'../types/enums.js';import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{['createRoom'](a){const i=a41d,b=this['convertToRoomConfig'](a),c=new Room(b);if(a[i(0x16f)]){const d=new Inventory();a['items']['forEach'](e=>{const j=i;d[j(0x15e)](this[j(0x168)](e));}),c[i(0x15a)]=d;}return a[i(0x178)]&&c[i(0x179)](this[i(0x177)](a[i(0x178)])),c;}[a41k(0x168)](a){const l=a41k;switch(a['type']){case l(0x16c):return new Key(a[l(0x174)],a[l(0x16e)]);case l(0x17a):return new Book(a[l(0x174)],a['description'],a[l(0x16a)]);case l(0x158):return new Sword(a[l(0x174)],a[l(0x16e)]);case'rifle':return new Rifle(a['name'],a[l(0x16e)]);case'helmet':return new Helmet(a[l(0x174)],a[l(0x16e)]);case l(0x16b):return new BodyArmor(a['name'],a[l(0x16e)]);case l(0x170):return new LegArmor(a['name'],a['description']);case l(0x175):return new Boots(a[l(0x174)],a[l(0x16e)]);case l(0x15c):return new Gloves(a[l(0x174)],a['description']);case l(0x171):return new Gauntlets(a[l(0x174)],a[l(0x16e)]);default:return new BasicItem(a[l(0x174)],a['description']);}}[a41k(0x177)](a){const m=a41k,b=this[m(0x168)](a[m(0x16d)]);return new Puzzle({...a,'rewardItem':b});}[a41k(0x15f)](a){const n=a41k,b=a[n(0x162)]&&RoomType[a[n(0x162)]['toUpperCase']()]?RoomType[a['roomType'][n(0x154)]()]:RoomType[n(0x164)];return{'name':a[n(0x174)],'description':a['description'],'isStartRoom':a[n(0x167)],'roomType':b};}}
@@ -1 +1 @@
1
- const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0xad))/0x1*(parseInt(h(0xbb))/0x2)+-parseInt(h(0x97))/0x3*(parseInt(h(0xb1))/0x4)+parseInt(h(0x9f))/0x5+parseInt(h(0xa9))/0x6*(parseInt(h(0x90))/0x7)+-parseInt(h(0xa0))/0x8+parseInt(h(0x99))/0x9+-parseInt(h(0xae))/0xa*(-parseInt(h(0xa3))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0xe860f));function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x8d;let f=c[d];return f;},a42d(a,b);}const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0xb0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a[j(0x8e)]()[j(0x8d)](j(0x98))[j(0x8e)]()[j(0x9e)](a42a)[j(0x8d)](j(0x98));});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';function a42c(){const s=['handleInput','say','28086TcuPPN','currentRoom','search','toString','registerCommands','6167qQEnKr','unlock','equip','Welcome,\x20','use','createCommand','name','3qutlFM','(((.+)+)+)+$','14981598saKmnK','instance','take','registerCommand','-\x20clear:\x20Clear\x20the\x20screen.\x0a','constructor','1999955yLTOsN','4692464ryoPWd','toLowerCase','look','11MtlBkZ','scene','unequip','solve','trim','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','4638ZJPdEr','determineStartRoom','maka','player','57hzNsmM','1636210UlAGaS','initialize','apply','2281660BsshzC','getHelpMessage','quit','currentLocation','getAllRegisteredCommands','clear','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','getInstance'];a42c=function(){return s;};return a42c();}import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42k(0x9a)];[a42k(0xa4)];[a42k(0xac)];[a42k(0xbc)];['rooms'];constructor(a,b){const l=a42k;this[l(0xac)]=a,this[l(0xa4)]=new Scene({'player':a,'roomConfiguration':b}),this[l(0xa4)][l(0xaf)](),this[l(0xac)][l(0xb4)]=this[l(0xaa)](),this[l(0x8f)]();}['registerCommands'](){const m=a42k;CommandFactory[m(0x9c)](m(0xa2),LookCommand),CommandFactory[m(0x9c)]('go',GoCommand),CommandFactory[m(0x9c)](m(0x9b),TakeCommand),CommandFactory[m(0x9c)](m(0x94),UseCommand),CommandFactory[m(0x9c)](m(0x92),EquipCommand),CommandFactory[m(0x9c)](m(0xa5),UnequipCommand),CommandFactory[m(0x9c)](m(0xa6),SolveCommand),CommandFactory[m(0x9c)]('drop',DropCommand),CommandFactory[m(0x9c)](m(0x91),UnlockCommand),CommandFactory[m(0x9c)]('lock',LockCommand),CommandFactory[m(0x9c)]('search',SearchCommand),CommandFactory[m(0x9c)](m(0xba),SayCommand);}[a42k(0xaa)](){const n=a42k;return this[n(0xa4)][n(0xaa)]();}['getWelcomeMessage'](){const o=a42k;return o(0x93)+this[o(0xac)][o(0x96)];}static[a42k(0xb8)](a,b){const p=a42k;return!Game[p(0x9a)]&&(Game[p(0x9a)]=new Game(a,b)),Game[p(0x9a)];}[a42k(0xb9)](a){const q=a42k,b=a[q(0xa7)]()['split']('\x20'),c=b[0x0][q(0xa1)](),d=b['slice'](0x1);if(c===q(0xb3))return null;if(c===q(0xab))return q(0xa8);if(c==='help')return this[q(0xb2)]();if(c===q(0xb6))return'';const e={'actor':this[q(0xac)],'rooms':this[q(0xa4)]['getRooms'](),'scene':this[q(0xa4)]},f=CommandFactory[q(0x95)](c,e);if(f){const g=f['execute'](d);return g;}return q(0xb7)+c+'\x22.';}[a42k(0xb2)](){const r=a42k,a=CommandFactory[r(0xb5)]();let b='Available\x20Commands:\x0a';for(const c in a){if(a['hasOwnProperty'](c)){const d=a[c];b+='-\x20'+c+':\x20'+d['getDescription']()+'\x0a';}}return b+=r(0x9d),b+='-\x20quit:\x20Exit\x20the\x20game.\x0a',b;}}
1
+ const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0x1a1))/0x1*(-parseInt(h(0x1af))/0x2)+-parseInt(h(0x1a0))/0x3*(parseInt(h(0x1ad))/0x4)+parseInt(h(0x1a2))/0x5+-parseInt(h(0x1a5))/0x6+-parseInt(h(0x1a9))/0x7+-parseInt(h(0x19b))/0x8*(-parseInt(h(0x18e))/0x9)+parseInt(h(0x18b))/0xa*(parseInt(h(0x19f))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0xed462));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0x1ac)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a[j(0x18a)]()[j(0x189)]('(((.+)+)+)+$')[j(0x18a)]()['constructor'](a42a)[j(0x189)]('(((.+)+)+)+$');});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';function a42c(){const s=['16659alAJcK','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','getRooms','look','lock','getHelpMessage','getWelcomeMessage','solve','getDescription','registerCommand','-\x20quit:\x20Exit\x20the\x20game.\x0a','handleInput','initialize','416QaNaGW','quit','currentLocation','execute','77UvaMkj','1473EAXBHf','53CYQvWj','1476985yslTZu','-\x20clear:\x20Clear\x20the\x20screen.\x0a','take','5331612ZPXMZK','Welcome,\x20','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','player','2951256KzHvcZ','clear','hasOwnProperty','apply','3284laamxu','registerCommands','34158qUDpiK','say','determineStartRoom','Available\x20Commands:\x0a','toLowerCase','name','slice','rooms','scene','getInstance','unlock','search','toString','1983370EWElIQ','instance','trim'];a42c=function(){return s;};return a42c();}import{SolveCommand}from'./commands/solve.js';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x189;let f=c[d];return f;},a42d(a,b);}import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';import{LockCommand}from'./commands/lock.js';import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42k(0x18c)];[a42k(0x1b7)];[a42k(0x1a8)];['currentRoom'];[a42k(0x1b6)];constructor(a,b){const l=a42k;this[l(0x1a8)]=a,this['scene']=new Scene({'player':a,'roomConfiguration':b}),this['scene'][l(0x19a)](),this[l(0x1a8)][l(0x19d)]=this[l(0x1b1)](),this['registerCommands']();}[a42k(0x1ae)](){const m=a42k;CommandFactory[m(0x197)](m(0x191),LookCommand),CommandFactory[m(0x197)]('go',GoCommand),CommandFactory['registerCommand'](m(0x1a4),TakeCommand),CommandFactory[m(0x197)]('use',UseCommand),CommandFactory['registerCommand']('equip',EquipCommand),CommandFactory[m(0x197)]('unequip',UnequipCommand),CommandFactory[m(0x197)](m(0x195),SolveCommand),CommandFactory[m(0x197)]('drop',DropCommand),CommandFactory[m(0x197)](m(0x1b9),UnlockCommand),CommandFactory[m(0x197)](m(0x192),LockCommand),CommandFactory[m(0x197)](m(0x189),SearchCommand),CommandFactory[m(0x197)](m(0x1b0),SayCommand);}[a42k(0x1b1)](){const n=a42k;return this['scene'][n(0x1b1)]();}[a42k(0x194)](){const o=a42k;return o(0x1a6)+this[o(0x1a8)][o(0x1b4)];}static[a42k(0x1b8)](a,b){const p=a42k;return!Game[p(0x18c)]&&(Game[p(0x18c)]=new Game(a,b)),Game['instance'];}[a42k(0x199)](a){const q=a42k,b=a[q(0x18d)]()['split']('\x20'),c=b[0x0][q(0x1b3)](),d=b[q(0x1b5)](0x1);if(c===q(0x19c))return null;if(c==='maka')return q(0x1a7);if(c==='help')return this[q(0x193)]();if(c===q(0x1aa))return'';const e={'actor':this['player'],'rooms':this[q(0x1b7)][q(0x190)](),'scene':this[q(0x1b7)]},f=CommandFactory['createCommand'](c,e);if(f){const g=f[q(0x19e)](d);return g;}return q(0x18f)+c+'\x22.';}[a42k(0x193)](){const r=a42k,a=CommandFactory['getAllRegisteredCommands']();let b=r(0x1b2);for(const c in a){if(a[r(0x1ab)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[r(0x196)]()+'\x0a';}}return b+=r(0x1a3),b+=r(0x198),b;}}
@@ -1 +1 @@
1
- (function(a,b){var f=a43d,c=a();while(!![]){try{var d=-parseInt(f(0x16b))/0x1*(parseInt(f(0x16a))/0x2)+parseInt(f(0x169))/0x3*(parseInt(f(0x175))/0x4)+parseInt(f(0x16e))/0x5*(parseInt(f(0x16f))/0x6)+-parseInt(f(0x16d))/0x7+parseInt(f(0x176))/0x8*(parseInt(f(0x171))/0x9)+-parseInt(f(0x168))/0xa+parseInt(f(0x173))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0xe6c35));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x16c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a['toString']()[h(0x170)](h(0x174))[h(0x172)]()['constructor'](a43a)[h(0x170)](h(0x174));});a43a();function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x168;var f=c[d];return f;},a43d(a,b);}export*from'./door.js';export*from'./inventory.js';export*from'./item.js';function a43c(){var i=['apply','7385455ddbMCp','5IcKkrM','703842mWYTTY','search','2097DAHhBH','toString','26185698ptXjRJ','(((.+)+)+)+$','4pBjtEg','12248HsEkAo','15332090OzBDkL','4081470rFHgnZ','59266xrzHDf','23GbcWaS'];a43c=function(){return i;};return a43c();}export*from'./npc.js';export*from'./player.js';export*from'./puzzle.js';export*from'./room.js';export*from'./scene.js';
1
+ function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x116;var f=c[d];return f;},a43d(a,b);}(function(a,b){var f=a43d,c=a();while(!![]){try{var d=parseInt(f(0x11f))/0x1+-parseInt(f(0x11d))/0x2+-parseInt(f(0x11a))/0x3*(-parseInt(f(0x11c))/0x4)+-parseInt(f(0x117))/0x5*(parseInt(f(0x118))/0x6)+-parseInt(f(0x11b))/0x7+parseInt(f(0x120))/0x8+parseInt(f(0x122))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x947b6));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var g=a43d;return a43a[g(0x121)]()[g(0x119)](g(0x11e))[g(0x121)]()[g(0x116)](a43a)[g(0x119)](g(0x11e));});a43a();export*from'./door.js';export*from'./inventory.js';function a43c(){var h=['360933umbbGF','6235306FSPJTc','4WnLgHA','1564148rMJddb','(((.+)+)+)+$','46688UjMLvC','3188848nVYTQv','toString','17150859NHGOwQ','constructor','4065yjsMoK','1404IOhQBE','search'];a43c=function(){return h;};return a43c();}export*from'./item.js';export*from'./npc.js';export*from'./player.js';export*from'./puzzle.js';export*from'./room.js';export*from'./scene.js';
@@ -1 +1 @@
1
- var a44i=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0xf0))/0x1*(-parseInt(f(0xff))/0x2)+-parseInt(f(0xec))/0x3*(parseInt(f(0xfd))/0x4)+-parseInt(f(0xf7))/0x5+parseInt(f(0xfb))/0x6*(parseInt(f(0xdf))/0x7)+-parseInt(f(0xf6))/0x8*(parseInt(f(0xfa))/0x9)+parseInt(f(0xf8))/0xa*(parseInt(f(0xee))/0xb)+parseInt(f(0x101))/0xc*(parseInt(f(0xe5))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0xa18f5));var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0xef)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a[h(0xe4)]()[h(0xed)](h(0xfe))[h(0xe4)]()[h(0xea)](a44a)['search']('(((.+)+)+)+$');});a44a();import{Logger}from'../utilities/logger.js';function a44c(){var n=['5550GwKBxi','search','900636CXQUVV','apply','397QsuaUt','.\x20Used:\x20','write','isLocked','logger','roomA','336616GYYoGU','4793520HMZDbI','20GGqsyM','To\x20','117jqflCJ','24PTTJGd','Door\x20created\x20between\x20','2488GmlxcF','(((.+)+)+)+$','458DGbNgL','getInstance','5916LfhStC','1477868Tesxaa','getOtherSide','isLockable','unlockItemOrSolution','roomB','toString','58513EgeISg','checkIfLocked','Door\x20unlocked:\x20','name','\x20and\x20','constructor','checkIfLockable'];a44c=function(){return n;};return a44c();}import{capitalCase}from'change-case';import{AbstractDoor}from'../types/abstracts.js';function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0xdf;var f=c[d];return f;},a44d(a,b);}export class Door extends AbstractDoor{['roomA'];[a44i(0xe3)];[a44i(0xf3)];[a44i(0xe2)];[a44i(0xe8)];['logger'];[a44i(0xe1)];constructor(a){var j=a44i;super(),this[j(0xf5)]=a[j(0xf5)],this[j(0xe3)]=a[j(0xe3)],this[j(0xf3)]=a[j(0xf3)]||![],this[j(0xe2)]=a[j(0xe2)],this['name']=a['name']?capitalCase(a['name']):j(0xf9)+a[j(0xe3)]['name'],this[j(0xf4)]=Logger[j(0x100)](),this[j(0xe1)]=!!a['unlockItemOrSolution'],this[j(0xf4)]['write'](j(0xfc)+this[j(0xf5)][j(0xe8)]+j(0xe9)+this[j(0xe3)][j(0xe8)]+'.\x20Is\x20Locked:\x20'+this[j(0xf3)]);}[a44i(0xe0)](a){var k=a44i;return this[k(0xf5)]===a?this[k(0xe3)]:this[k(0xf5)];}['attemptUnlock'](a){var l=a44i;if(this[l(0xf3)]&&this[l(0xe2)]&&this[l(0xe2)]===a)return this[l(0xf3)]=![],this[l(0xf4)][l(0xf2)](l(0xe7)+this[l(0xe8)]+l(0xf1)+a),!![];return this[l(0xf4)][l(0xf2)]('Failed\x20to\x20unlock\x20door:\x20'+this[l(0xe8)]+l(0xf1)+a),![];}[a44i(0xe6)](){var m=a44i;return this[m(0xf3)];}[a44i(0xeb)](){return this['isLockable'];}}
1
+ var a44i=a44d;function a44c(){var o=['800gtTOLI','logger','1946197KKxoec','7HqrVPd','search','Door\x20unlocked:\x20','attemptUnlock','4117080QtOrcw','3296755qJNamJ','Failed\x20to\x20unlock\x20door:\x20','209TvHqWF','5757690VpPeAV','roomA','checkIfLocked','apply','checkIfLockable','To\x20','isLockable','849fCKtkn','7088SYlAmk','.\x20Used:\x20','isLocked','constructor','963128YkLjuD','toString','unlockItemOrSolution','Door\x20created\x20between\x20','\x20and\x20','9GnSqCk','(((.+)+)+)+$','write','.\x20Is\x20Locked:\x20','getOtherSide','name','roomB'];a44c=function(){return o;};return a44c();}function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0xec;var f=c[d];return f;},a44d(a,b);}(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x102))/0x1*(-parseInt(f(0x10b))/0x2)+parseInt(f(0x10a))/0x3*(-parseInt(f(0xf8))/0x4)+parseInt(f(0x100))/0x5+-parseInt(f(0xff))/0x6+-parseInt(f(0xfb))/0x7*(-parseInt(f(0xec))/0x8)+parseInt(f(0xf1))/0x9*(-parseInt(f(0x103))/0xa)+parseInt(f(0xfa))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0x5c7c0));var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0x106)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a[h(0xed)]()[h(0xfc)]('(((.+)+)+)+$')['toString']()[h(0x10e)](a44a)[h(0xfc)](h(0xf2));});a44a();import{Logger}from'../utilities/logger.js';import{capitalCase}from'change-case';import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{[a44i(0x104)];['roomB'];[a44i(0x10d)];[a44i(0xee)];[a44i(0xf6)];[a44i(0xf9)];[a44i(0x109)];constructor(a){var j=a44i;super(),this[j(0x104)]=a[j(0x104)],this[j(0xf7)]=a[j(0xf7)],this[j(0x10d)]=a[j(0x10d)]||![],this['unlockItemOrSolution']=a['unlockItemOrSolution'],this['name']=a[j(0xf6)]?capitalCase(a[j(0xf6)]):j(0x108)+a[j(0xf7)][j(0xf6)],this[j(0xf9)]=Logger['getInstance'](),this[j(0x109)]=!!a[j(0xee)],this['logger'][j(0xf3)](j(0xef)+this[j(0x104)][j(0xf6)]+j(0xf0)+this[j(0xf7)][j(0xf6)]+j(0xf4)+this[j(0x10d)]);}[a44i(0xf5)](a){var k=a44i;return this['roomA']===a?this['roomB']:this[k(0x104)];}[a44i(0xfe)](a){var l=a44i;if(this[l(0x10d)]&&this['unlockItemOrSolution']&&this[l(0xee)]===a)return this[l(0x10d)]=![],this[l(0xf9)]['write'](l(0xfd)+this[l(0xf6)]+l(0x10c)+a),!![];return this[l(0xf9)][l(0xf3)](l(0x101)+this[l(0xf6)]+l(0x10c)+a),![];}[a44i(0x105)](){var m=a44i;return this[m(0x10d)];}[a44i(0x107)](){var n=a44i;return this[n(0x109)];}}
@@ -1 +1 @@
1
- const a45h=a45d;(function(a,b){const f=a45d,c=a();while(!![]){try{const d=parseInt(f(0x1f7))/0x1*(-parseInt(f(0x1fd))/0x2)+-parseInt(f(0x20c))/0x3*(-parseInt(f(0x1f5))/0x4)+parseInt(f(0x1ff))/0x5+parseInt(f(0x206))/0x6+parseInt(f(0x1ed))/0x7+-parseInt(f(0x1fe))/0x8*(parseInt(f(0x1fa))/0x9)+-parseInt(f(0x212))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0xe697a));function a45c(){const q=['constructor','76040URZhSV','141432rDsGiC','6632105VLbffy','\x20in\x20','search','toString','(((.+)+)+)+$','values','.\x20Exists:\x20','3365142GrjJIO','join','items','Checked\x20for\x20item:\x20','Removed\x20item:\x20','keys','120evjCCV','Listed\x20items\x20in\x20inventory:\x20','\x20to\x20inventory.','delete','toLowerCase','hasItem','1265090EkXAGq','addItem','\x20from\x20inventory.','Failed\x20to\x20remove\x20item:\x20','Retrieved\x20details\x20for\x20item:\x20','946645jpxgbI','removeItem','Added\x20item:\x20','has','.\x20Item\x20not\x20found.','logger','getItem','listItems','67688lbbSEx','write','14xzINmc','get','getAllItems','558CsYyuI','set'];a45c=function(){return q;};return a45c();}function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0x1ea;let f=c[d];return f;},a45d(a,b);}const a45b=(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;};}()),a45a=a45b(this,function(){const g=a45d;return a45a['toString']()[g(0x201)](g(0x203))[g(0x202)]()[g(0x1fc)](a45a)[g(0x201)](g(0x203));});a45a();import{capitalCase}from'change-case';import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{[a45h(0x208)];[a45h(0x1f2)];constructor(){const i=a45h;super(),this[i(0x208)]=new Map(),this['logger']=Logger['getInstance']();}[a45h(0x213)](a){const j=a45h;this[j(0x208)][j(0x1fb)](a['name'][j(0x210)](),a),this[j(0x1f2)][j(0x1f6)](j(0x1ef)+a['name']+j(0x20e));}[a45h(0x1ee)](a){const k=a45h,b=this['getItem'](a);if(b)return this['items'][k(0x20f)](a[k(0x210)]()),this[k(0x1f2)][k(0x1f6)](k(0x20a)+a+k(0x1ea)),b;return this[k(0x1f2)][k(0x1f6)](k(0x1eb)+a+k(0x1f1)),null;}[a45h(0x211)](a){const l=a45h,b=this[l(0x208)][l(0x1f0)](a['toLowerCase']()),c=[...this['items'][l(0x20b)]()];return this['logger'][l(0x1f6)](l(0x209)+a+l(0x200)+c[l(0x207)](',\x20')+l(0x205)+b+'.'),b;}[a45h(0x1f3)](a){const m=a45h,b=this['items'][m(0x1f8)](a[m(0x210)]())||null;return b?this[m(0x1f2)][m(0x1f6)](m(0x1ec)+a+'.'):this[m(0x1f2)][m(0x1f6)]('Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20'+a+'.\x20Item\x20not\x20found.'),b;}[a45h(0x1f4)](){const n=a45h,a=[...this[n(0x208)][n(0x20b)]()],b=a['map'](c=>capitalCase(c));return this[n(0x1f2)][n(0x1f6)](n(0x20d)+b[n(0x207)](',\x20')+'.'),a;}['getWeight'](){const o=a45h;let a=0x0;for(const b of this[o(0x208)][o(0x204)]()){a+=b['weight'];}return a;}[a45h(0x1f9)](){const p=a45h;return[...this[p(0x208)]['values']()];}}
1
+ const a45h=a45d;(function(a,b){const f=a45d,c=a();while(!![]){try{const d=-parseInt(f(0x117))/0x1*(parseInt(f(0x121))/0x2)+parseInt(f(0x10c))/0x3*(-parseInt(f(0x11a))/0x4)+parseInt(f(0x11d))/0x5*(parseInt(f(0x103))/0x6)+-parseInt(f(0x10b))/0x7+-parseInt(f(0x101))/0x8*(-parseInt(f(0x100))/0x9)+parseInt(f(0x114))/0xa+parseInt(f(0x112))/0xb*(parseInt(f(0x118))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0x62056));const a45b=(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;};}()),a45a=a45b(this,function(){const g=a45d;return a45a[g(0xff)]()[g(0x110)](g(0x10a))[g(0xff)]()[g(0x10f)](a45a)[g(0x110)](g(0x10a));});a45a();function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0xfd;let f=c[d];return f;},a45d(a,b);}import{capitalCase}from'change-case';import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';function a45c(){const q=['getItem','827220bJQqfY','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','keys','2705ehEJqH','.\x20Exists:\x20','values','items','32140MHYbdB','Checked\x20for\x20item:\x20','getAllItems','\x20to\x20inventory.','name','toString','18bQNQKG','223928qAqDPX','\x20from\x20inventory.','4002AhShFZ','Retrieved\x20details\x20for\x20item:\x20','logger','.\x20Item\x20not\x20found.','Added\x20item:\x20','join','write','(((.+)+)+)+$','5555340cUaVJW','3OnGAtv','set','toLowerCase','constructor','search','listItems','6611242BBRuPy','weight','5383360daiVpm','has','get','47LxIpwA','24jbLkuI'];a45c=function(){return q;};return a45c();}export class Inventory extends AbstractInventory{[a45h(0x120)];[a45h(0x105)];constructor(){const i=a45h;super(),this['items']=new Map(),this[i(0x105)]=Logger['getInstance']();}['addItem'](a){const j=a45h;this[j(0x120)][j(0x10d)](a[j(0xfe)]['toLowerCase'](),a),this[j(0x105)][j(0x109)](j(0x107)+a[j(0xfe)]+j(0xfd));}['removeItem'](a){const k=a45h,b=this[k(0x119)](a);if(b)return this['items']['delete'](a['toLowerCase']()),this['logger'][k(0x109)]('Removed\x20item:\x20'+a+k(0x102)),b;return this['logger'][k(0x109)]('Failed\x20to\x20remove\x20item:\x20'+a+k(0x106)),null;}['hasItem'](a){const l=a45h,b=this['items'][l(0x115)](a['toLowerCase']()),c=[...this['items'][l(0x11c)]()];return this[l(0x105)]['write'](l(0x122)+a+'\x20in\x20'+c[l(0x108)](',\x20')+l(0x11e)+b+'.'),b;}[a45h(0x119)](a){const m=a45h,b=this['items'][m(0x116)](a[m(0x10e)]())||null;return b?this[m(0x105)][m(0x109)](m(0x104)+a+'.'):this['logger'][m(0x109)](m(0x11b)+a+m(0x106)),b;}[a45h(0x111)](){const n=a45h,a=[...this[n(0x120)][n(0x11c)]()],b=a['map'](c=>capitalCase(c));return this[n(0x105)][n(0x109)]('Listed\x20items\x20in\x20inventory:\x20'+b[n(0x108)](',\x20')+'.'),a;}['getWeight'](){const o=a45h;let a=0x0;for(const b of this[o(0x120)][o(0x11f)]()){a+=b[o(0x113)];}return a;}[a45h(0x123)](){const p=a45h;return[...this['items'][p(0x11f)]()];}}
@@ -1 +1 @@
1
- var a46i=a46d;function a46c(){var l=['4331664wTSXfX','constructor','shape','size','1745176GihJNz','6oaYlbK','.\x20Nothing\x20special\x20happens.','texture','description','1dezzkL','3675025hzeEbi','uuid','name','You\x20use\x20the\x20','category','toString','color','931077rPWDYv','375192bcqauf','28651vtonvW','6882930slqtad','8GVVzcd','weight','search','rating','apply','(((.+)+)+)+$'];a46c=function(){return l;};return a46c();}(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0x1ac))/0x1*(parseInt(f(0x1a7))/0x2)+-parseInt(f(0x1b4))/0x3*(parseInt(f(0x19d))/0x4)+parseInt(f(0x1ad))/0x5+parseInt(f(0x1a8))/0x6*(parseInt(f(0x1b6))/0x7)+parseInt(f(0x1a3))/0x8+parseInt(f(0x1b5))/0x9+parseInt(f(0x1b7))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x7e46f));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0x1a1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a[h(0x1b2)]()[h(0x19f)](h(0x1a2))['toString']()[h(0x1a4)](a46a)[h(0x19f)](h(0x1a2));});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-0x19d;var f=c[d];return f;},a46d(a,b);}export class Item extends AbstractItem{[a46i(0x1ae)];[a46i(0x1af)];[a46i(0x1ab)];['size'];[a46i(0x1b1)];['shape'];['color'];[a46i(0x1aa)];['rating'];[a46i(0x19e)];constructor(a){var j=a46i;super(),this['name']=a[j(0x1af)],this[j(0x1ab)]=a[j(0x1ab)],this['size']=a[j(0x1a6)],this['category']=a[j(0x1b1)],this[j(0x1a5)]=a[j(0x1a5)],this[j(0x1b3)]=a[j(0x1b3)],this[j(0x1aa)]=a['texture'],this[j(0x1a0)]=a[j(0x1a0)],this[j(0x19e)]=a[j(0x19e)],this['uuid']=a46e();}['use'](){var k=a46i;return k(0x1b0)+this[k(0x1af)]+k(0x1a9);}}
1
+ function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x1b6;var f=c[d];return f;},a46d(a,b);}var a46i=a46d;(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0x1b9))/0x1*(-parseInt(f(0x1c4))/0x2)+parseInt(f(0x1ca))/0x3*(parseInt(f(0x1c1))/0x4)+-parseInt(f(0x1ba))/0x5*(-parseInt(f(0x1d2))/0x6)+parseInt(f(0x1ce))/0x7*(-parseInt(f(0x1cc))/0x8)+-parseInt(f(0x1cb))/0x9*(parseInt(f(0x1bb))/0xa)+-parseInt(f(0x1bc))/0xb*(parseInt(f(0x1d0))/0xc)+-parseInt(f(0x1c5))/0xd*(-parseInt(f(0x1c0))/0xe);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0xba658));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0x1c9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a[h(0x1cd)]()[h(0x1bd)](h(0x1c3))[h(0x1cd)]()['constructor'](a46a)[h(0x1bd)](h(0x1c3));});a46a();import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{[a46i(0x1c7)];['name'];['description'];[a46i(0x1c6)];[a46i(0x1d1)];[a46i(0x1c8)];['color'];[a46i(0x1b7)];['rating'];[a46i(0x1bf)];constructor(a){var j=a46i;super(),this[j(0x1b8)]=a['name'],this['description']=a['description'],this[j(0x1c6)]=a['size'],this[j(0x1d1)]=a[j(0x1d1)],this['shape']=a[j(0x1c8)],this['color']=a[j(0x1c2)],this['texture']=a['texture'],this['rating']=a[j(0x1be)],this[j(0x1bf)]=a['weight'],this[j(0x1c7)]=a46e();}[a46i(0x1cf)](){var k=a46i;return'You\x20use\x20the\x20'+this[k(0x1b8)]+k(0x1b6);}}function a46c(){var l=['apply','6YROrYK','18SoJCgy','324344mTJQZP','toString','119nVSGzE','use','12bekIOu','category','6ZChySe','.\x20Nothing\x20special\x20happens.','texture','name','3oSBsMj','7307215RSMmRF','4961220tuwuvx','175098HDAVFe','search','rating','weight','12950gXlyuv','3052zzNYqc','color','(((.+)+)+)+$','417986nnEeZK','5213NIoDHG','size','uuid','shape'];a46c=function(){return l;};return a46c();}
@@ -1 +1 @@
1
- const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0xc2))/0x1+-parseInt(f(0xbb))/0x2+-parseInt(f(0xc6))/0x3*(parseInt(f(0xc1))/0x4)+-parseInt(f(0xc0))/0x5+parseInt(f(0xc5))/0x6+-parseInt(f(0xca))/0x7*(parseInt(f(0xbc))/0x8)+parseInt(f(0xc8))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0x6c1ae));const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a47d;if(c){const e=c[g(0xcd)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a[h(0xba)]()[h(0xbf)](h(0xb7))['toString']()[h(0xcc)](a47a)[h(0xbf)](h(0xb7));});function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0xb7;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(0xbe)];[a47i(0xcb)];[a47i(0xc7)];['scene'];constructor(a,b,c,d){const j=a47i;super(d),this[j(0xbe)]=a,this[j(0xcb)]=b,this[j(0xc7)]=c;}get[a47i(0xb9)](){const k=a47i;return this[k(0xbe)];}['speak'](){const l=a47i;return this[l(0xcb)][Math[l(0xce)](Math[l(0xbd)]()*this['_dialogue']['length'])];}[a47i(0xc9)](a){const m=a47i,b=a[Math[m(0xce)](Math['random']()*a['length'])];this[m(0xc4)](b[m(0xb9)]);}['moveTo'](a){const n=a47i,b={'actor':this,'rooms':this[n(0xc7)],'scene':this[n(0xc3)]},c=new GoCommand(b);c[n(0xb8)]([a]);}}function a47c(){const o=['apply','floor','(((.+)+)+)+$','execute','name','toString','502338QnfRKp','8zwNyWk','random','_name','search','2778425TRbECi','536128OSKjCa','169219NFhxBb','scene','moveTo','2273682Bsdtoe','6upoMGg','rooms','10858203fkAGpR','autonomousMove','1658419XnwqMy','_dialogue','constructor'];a47c=function(){return o;};return a47c();}
1
+ const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=-parseInt(f(0xe1))/0x1*(-parseInt(f(0xfa))/0x2)+-parseInt(f(0xed))/0x3*(-parseInt(f(0xf1))/0x4)+-parseInt(f(0xf5))/0x5*(-parseInt(f(0xe9))/0x6)+parseInt(f(0xfb))/0x7*(parseInt(f(0xec))/0x8)+parseInt(f(0xf3))/0x9*(-parseInt(f(0xe0))/0xa)+parseInt(f(0xf6))/0xb*(-parseInt(f(0xf0))/0xc)+parseInt(f(0xe5))/0xd*(-parseInt(f(0xf9))/0xe);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0xaabc7));function a47c(){const o=['112820yhQbtj','36737DzlcHY','random','_dialogue','toString','3029TfqQdQ','name','moveTo','length','2832366TXsQQB','search','floor','1261360zhvApr','3giZUHA','_name','constructor','4071552RQVHLl','2829312nMWPbK','apply','927KveLcO','rooms','5TGIVuA','33EUiyiC','execute','scene','20006NuOCkz','42GDmXFt','56OpTfjz'];a47c=function(){return o;};return a47c();}const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a47d;if(c){const e=c[g(0xf2)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a['toString']()['search']('(((.+)+)+)+$')[h(0xe4)]()[h(0xef)](a47a)[h(0xea)]('(((.+)+)+)+$');});a47a();import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0xe0;let f=c[d];return f;},a47d(a,b);}export class NPC extends Player{['_name'];[a47i(0xe3)];[a47i(0xf4)];[a47i(0xf8)];constructor(a,b,c,d){const j=a47i;super(d),this[j(0xee)]=a,this[j(0xe3)]=b,this[j(0xf4)]=c;}get[a47i(0xe6)](){const k=a47i;return this[k(0xee)];}['speak'](){const l=a47i;return this[l(0xe3)][Math[l(0xeb)](Math[l(0xe2)]()*this[l(0xe3)][l(0xe8)])];}['autonomousMove'](a){const m=a47i,b=a[Math[m(0xeb)](Math[m(0xe2)]()*a['length'])];this[m(0xe7)](b['name']);}['moveTo'](a){const n=a47i,b={'actor':this,'rooms':this['rooms'],'scene':this['scene']},c=new GoCommand(b);c[n(0xf7)]([a]);}}
@@ -1 +1 @@
1
- const a48i=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x16e))/0x1*(parseInt(f(0x160))/0x2)+parseInt(f(0x182))/0x3+parseInt(f(0x171))/0x4+-parseInt(f(0x176))/0x5+parseInt(f(0x174))/0x6+parseInt(f(0x185))/0x7*(parseInt(f(0x194))/0x8)+parseInt(f(0x18c))/0x9*(-parseInt(f(0x14f))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x5c902));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x15b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0x168)]()[h(0x15e)](h(0x13d))['toString']()[h(0x145)](a48a)[h(0x15e)](h(0x13d));});a48a();import{camelCase}from'change-case';import{Category}from'../types/enums.js';import{Logger}from'../utilities/logger.js';function a48c(){const C=['You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','canEquip','inventoryItems','LegArmor','Hat','off','head','.\x20You\x20must\x20unequip\x20it\x20first.','You\x20can\x27t\x20equip\x20','feet','apply','_maxCarryingWeight','arms','search','Failed\x20to\x20remove\x20','8974tMBmqT','enterRoom','ArmArmor','weight','write','helmet','unequipBySlot','gloves','toString','includes','\x20in\x20your\x20inventory.','bind','equip','initialEquipment','137RGmGEe','boots','leaveRoom','2559172KxkMWA','determineEquipmentSlot','hat','2193336wGQQxV','_equipment','870740gMeboR','\x20to\x20player\x27s\x20inventory.','addInventory','hear','unequip','logger','_playerName','\x20says:\x20\x22','\x20is\x20now\x20listening\x20in\x20room\x20','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','category','Helmet','1926702onBnkw','playerName','Gloves','938077oXmLmP','Boots','currentLocation','hasItem','speak','Max\x20carrying\x20weight\x20must\x20be\x20positive.','You\x20don\x27t\x20have\x20','126XsOTXS','getWeight','name','legarmor','Invalid\x20category\x20or\x20slot:\x20','maxCarryingWeight','toLowerCase','arm\x20armor','16rhbfNq','armarmor','_inventory','currentWeight','rightHand','body\x20armor','(((.+)+)+)+$','\x20slot.','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','removeItem','addItem','leftHand','\x20is\x20no\x20longer\x20listeng\x20in\x20','equipment','constructor','getInstance','torso','legs','_currentLocation','values','A\x20featureless\x20room','Nexus','bodyarmor','\x20from\x20player\x27s\x20inventory.','1412170pVeeOY','error'];a48c=function(){return C;};return a48c();}import{Room}from'./room.js';import{Inventory}from'./inventory.js';import{AbstractPlayer}from'../types/abstracts.js';function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x13b;let f=c[d];return f;},a48d(a,b);}export class Player extends AbstractPlayer{[a48i(0x17c)];[a48i(0x149)];[a48i(0x196)];[a48i(0x175)];[a48i(0x15c)]=0x32;[a48i(0x17b)];constructor(a){const j=a48i;super(),this[j(0x17c)]=a[j(0x183)],this['_currentLocation']=a['startLocation']||new Room({'name':j(0x14c),'description':j(0x14b)}),this['_inventory']=new Inventory(),this[j(0x17b)]=Logger[j(0x146)]();if(a?.[j(0x153)])for(const b of a['inventoryItems']){this[j(0x196)][j(0x141)](b);}this[j(0x175)]=a?.[j(0x16d)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48i(0x18e)](){return this['_playerName'];}get[a48i(0x187)](){const k=a48i;return this[k(0x149)];}set[a48i(0x187)](a){const l=a48i;this[l(0x149)]!==a&&(this[l(0x170)](),this[l(0x161)](a)),this[l(0x149)]=a;}get['inventory'](){const m=a48i;return this[m(0x196)];}get['equipment'](){const n=a48i;return this[n(0x175)];}set['equipment'](a){const o=a48i;this[o(0x175)]=a;}get[a48i(0x191)](){const p=a48i;return this[p(0x15c)];}set['maxCarryingWeight'](a){const q=a48i;a>0x0?this[q(0x15c)]=a:console[q(0x150)](q(0x18a));}get[a48i(0x197)](){const r=a48i;let a=this['_inventory'][r(0x18d)]();for(const b in this[r(0x175)]){const c=this['_equipment'][b];c&&(a+=c[r(0x163)]);}return a;}['addInventory'](a){const s=a48i;if(this[s(0x197)]+a[s(0x163)]>this['maxCarryingWeight']){this['logger'][s(0x164)](s(0x13f));throw new Error('The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.');}this['_inventory']['addItem'](a),this['logger'][s(0x164)]('Added\x20'+a['name']+s(0x177));}['removeInventory'](a){const t=a48i;if(this['_inventory'][t(0x140)](a[t(0x18e)]))return this[t(0x17b)][t(0x164)]('Removed\x20'+a[t(0x18e)]+t(0x14e)),!![];return this['logger'][t(0x164)](t(0x15f)+a[t(0x18e)]+t(0x14e)),![];}[a48i(0x16c)](a){const u=a48i;if(!this['_inventory'][u(0x188)](a[u(0x18e)]))return u(0x18b)+a['name']+u(0x16a);if(!this[u(0x152)](a))return u(0x159)+a[u(0x18e)]+'.';const b=this['determineEquipmentSlot'](a[u(0x180)]);if(!b)return a['name']+u(0x17f);if(this[u(0x144)][b])return'You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20'+b+u(0x158);return this[u(0x144)][b]=a,this['removeInventory'](a),'You\x20equipped\x20'+a[u(0x18e)]+'.';}[a48i(0x17a)](a){const v=a48i;let b=a;if(!this[v(0x144)][camelCase(b)]){b=this[v(0x172)](a);if(!b)return v(0x190)+a+'.';}return this['unequipBySlot'](b);}[a48i(0x172)](a){const w=a48i;switch(a['toLowerCase']()){case Category['Weapon'][w(0x192)]():return w(0x13b);case Category['Shield'][w(0x192)]():return w(0x142);case Category[w(0x184)][w(0x192)]():return w(0x167);case Category[w(0x181)]['toLowerCase']():case Category[w(0x155)][w(0x192)]():return w(0x157);case Category[w(0x186)][w(0x192)]():return w(0x15a);case Category[w(0x154)][w(0x192)]():return w(0x148);case Category[w(0x162)][w(0x192)]():return w(0x15d);case Category['BodyArmor']['toLowerCase']():return w(0x147);case'weapon':return w(0x13b);case'shield':return w(0x142);case w(0x167):return w(0x167);case w(0x165):case w(0x173):return w(0x157);case w(0x16f):return w(0x15a);case'leg\x20armor':case w(0x18f):return'legs';case w(0x193):case w(0x195):return'arms';case w(0x13c):case w(0x14d):case w(0x147):return'torso';default:return null;}}[a48i(0x152)](a){const x=a48i;return Object[x(0x14a)](Category)[x(0x169)](a[x(0x180)]);}[a48i(0x166)](a){const y=a48i,b=this['equipment'][a];if(!b)return y(0x151)+a+y(0x13e);return this[y(0x178)](b),this[y(0x144)][a]=null,'You\x20unequipped\x20'+b[y(0x18e)]+'.';}['hear'](a,b){const z=a48i;a!==this&&this[z(0x17b)]['log'](a[z(0x18e)]+z(0x17d)+b+'\x22');}[a48i(0x161)](a){const A=a48i;this[A(0x149)]=a,a['on'](A(0x189),this['hear'][A(0x16b)](this)),this[A(0x17b)][A(0x164)](this[A(0x18e)]+A(0x17e)+a[A(0x18e)]);}[a48i(0x170)](){const B=a48i;this['_currentLocation']&&(this['_currentLocation'][B(0x156)](B(0x189),this[B(0x179)][B(0x16b)](this)),this[B(0x17b)][B(0x164)](this['name']+B(0x143)+this[B(0x149)]['name']));}}
1
+ function a48c(){const C=['You\x20don\x27t\x20have\x20','232591cziLTS','_currentLocation','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','inventoryItems','\x20is\x20now\x20listening\x20in\x20room\x20','You\x20equipped\x20','Nexus','values','off','You\x20unequipped\x20','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','\x20from\x20player\x27s\x20inventory.','determineEquipmentSlot','legarmor','initialEquipment','10rRBSDy','_maxCarryingWeight','bind','enterRoom','apply','arm\x20armor','3133889raeHqY','Max\x20carrying\x20weight\x20must\x20be\x20positive.','body\x20armor','toString','LegArmor','1548198xVQhxS','currentLocation','canEquip','currentWeight','bodyarmor','logger','speak','Helmet','hear','weapon','category','removeItem','Boots','rightHand','You\x20can\x27t\x20equip\x20','removeInventory','gloves','equipment','leaveRoom','Added\x20','getWeight','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','playerName','boots','830biGzGS','leftHand','12BzDwft','name','2646rGZuNS','write','hat','includes','armarmor','log','1518801JjEzkt','Removed\x20','Shield','feet','Weapon','shield','search','equip','error','24mfxtQu','inventory','weight','\x20says:\x20\x22','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','getInstance','helmet','(((.+)+)+)+$','constructor','\x20in\x20your\x20inventory.','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','legs','A\x20featureless\x20room','maxCarryingWeight','leg\x20armor','BodyArmor','head','Invalid\x20category\x20or\x20slot:\x20','2lnFEwM','\x20slot.','unequip','4354TfhsIg','arms','892IWxoZe','addInventory','_playerName','14126801OZhTQX','torso','toLowerCase','_equipment','_inventory','Gloves','Failed\x20to\x20remove\x20'];a48c=function(){return C;};return a48c();}const a48i=a48d;function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x136;let f=c[d];return f;},a48d(a,b);}(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x17c))/0x1*(parseInt(f(0x16c))/0x2)+-parseInt(f(0x151))/0x3+parseInt(f(0x171))/0x4*(-parseInt(f(0x147))/0x5)+parseInt(f(0x14b))/0x6*(-parseInt(f(0x16f))/0x7)+parseInt(f(0x15a))/0x8*(-parseInt(f(0x196))/0x9)+parseInt(f(0x18b))/0xa*(parseInt(f(0x191))/0xb)+-parseInt(f(0x149))/0xc*(-parseInt(f(0x174))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x420b2));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x18f)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0x194)]()['search'](h(0x161))[h(0x194)]()[h(0x162)](a48a)[h(0x157)](h(0x161));});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(0x173)];['_currentLocation'];[a48i(0x178)];['_equipment'];['_maxCarryingWeight']=0x32;[a48i(0x19b)];constructor(a){const j=a48i;super(),this['_playerName']=a[j(0x145)],this[j(0x17d)]=a['startLocation']||new Room({'name':j(0x182),'description':j(0x166)}),this['_inventory']=new Inventory(),this[j(0x19b)]=Logger[j(0x15f)]();if(a?.[j(0x17f)])for(const b of a[j(0x17f)]){this['_inventory']['addItem'](b);}this[j(0x177)]=a?.[j(0x18a)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48i(0x14a)](){const k=a48i;return this[k(0x173)];}get[a48i(0x197)](){const l=a48i;return this[l(0x17d)];}set[a48i(0x197)](a){const m=a48i;this['_currentLocation']!==a&&(this[m(0x141)](),this[m(0x18e)](a)),this[m(0x17d)]=a;}get[a48i(0x15b)](){const n=a48i;return this[n(0x178)];}get[a48i(0x140)](){const o=a48i;return this[o(0x177)];}set[a48i(0x140)](a){this['_equipment']=a;}get[a48i(0x167)](){const p=a48i;return this[p(0x18c)];}set[a48i(0x167)](a){const q=a48i;a>0x0?this['_maxCarryingWeight']=a:console[q(0x159)](q(0x192));}get[a48i(0x199)](){const r=a48i;let a=this[r(0x178)][r(0x143)]();for(const b in this['_equipment']){const c=this[r(0x177)][b];c&&(a+=c[r(0x15c)]);}return a;}[a48i(0x172)](a){const s=a48i;if(this['currentWeight']+a[s(0x15c)]>this['maxCarryingWeight']){this[s(0x19b)][s(0x14c)](s(0x15e));throw new Error(s(0x186));}this[s(0x178)]['addItem'](a),this[s(0x19b)][s(0x14c)](s(0x142)+a[s(0x14a)]+'\x20to\x20player\x27s\x20inventory.');}['removeInventory'](a){const t=a48i;if(this[t(0x178)][t(0x13a)](a[t(0x14a)]))return this[t(0x19b)][t(0x14c)](t(0x152)+a[t(0x14a)]+t(0x187)),!![];return this[t(0x19b)][t(0x14c)](t(0x17a)+a[t(0x14a)]+t(0x187)),![];}[a48i(0x158)](a){const u=a48i;if(!this[u(0x178)]['hasItem'](a[u(0x14a)]))return u(0x17b)+a[u(0x14a)]+u(0x163);if(!this[u(0x198)](a))return u(0x13d)+a[u(0x14a)]+'.';const b=this[u(0x188)](a[u(0x139)]);if(!b)return a[u(0x14a)]+u(0x164);if(this[u(0x140)][b])return u(0x144)+b+'.\x20You\x20must\x20unequip\x20it\x20first.';return this[u(0x140)][b]=a,this[u(0x13e)](a),u(0x181)+a[u(0x14a)]+'.';}[a48i(0x16e)](a){const v=a48i;let b=a;if(!this[v(0x140)][camelCase(b)]){b=this[v(0x188)](a);if(!b)return v(0x16b)+a+'.';}return this['unequipBySlot'](b);}['determineEquipmentSlot'](a){const w=a48i;switch(a[w(0x176)]()){case Category[w(0x155)][w(0x176)]():return w(0x13c);case Category[w(0x153)]['toLowerCase']():return w(0x148);case Category[w(0x179)][w(0x176)]():return'gloves';case Category[w(0x136)][w(0x176)]():case Category['Hat'][w(0x176)]():return'head';case Category[w(0x13b)]['toLowerCase']():return w(0x154);case Category[w(0x195)][w(0x176)]():return w(0x165);case Category['ArmArmor'][w(0x176)]():return w(0x170);case Category[w(0x169)][w(0x176)]():return w(0x175);case w(0x138):return w(0x13c);case w(0x156):return'leftHand';case'gloves':return w(0x13f);case w(0x160):case w(0x14d):return w(0x16a);case w(0x146):return w(0x154);case w(0x168):case w(0x189):return w(0x165);case w(0x190):case w(0x14f):return w(0x170);case w(0x193):case w(0x19a):case'torso':return w(0x175);default:return null;}}[a48i(0x198)](a){const x=a48i;return Object[x(0x183)](Category)[x(0x14e)](a['category']);}['unequipBySlot'](a){const y=a48i,b=this[y(0x140)][a];if(!b)return y(0x17e)+a+y(0x16d);return this['addInventory'](b),this[y(0x140)][a]=null,y(0x185)+b['name']+'.';}[a48i(0x137)](a,b){const z=a48i;a!==this&&this[z(0x19b)][z(0x150)](a[z(0x14a)]+z(0x15d)+b+'\x22');}[a48i(0x18e)](a){const A=a48i;this[A(0x17d)]=a,a['on'](A(0x19c),this['hear']['bind'](this)),this[A(0x19b)][A(0x14c)](this['name']+A(0x180)+a[A(0x14a)]);}['leaveRoom'](){const B=a48i;this[B(0x17d)]&&(this['_currentLocation'][B(0x184)](B(0x19c),this['hear'][B(0x18d)](this)),this['logger'][B(0x14c)](this[B(0x14a)]+'\x20is\x20no\x20longer\x20listeng\x20in\x20'+this[B(0x17d)][B(0x14a)]));}}
@@ -1 +1 @@
1
- var a49h=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=-parseInt(f(0x1ed))/0x1*(parseInt(f(0x1ec))/0x2)+parseInt(f(0x1f5))/0x3+parseInt(f(0x1e3))/0x4*(-parseInt(f(0x1da))/0x5)+-parseInt(f(0x1e1))/0x6*(-parseInt(f(0x1ef))/0x7)+parseInt(f(0x1eb))/0x8+-parseInt(f(0x1f7))/0x9*(parseInt(f(0x1dd))/0xa)+parseInt(f(0x1e8))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0x87ca7));var a49b=(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;};}()),a49a=a49b(this,function(){var g=a49d;return a49a[g(0x1f4)]()[g(0x1e2)](g(0x1ee))['toString']()[g(0x1f2)](a49a)['search'](g(0x1ee));});a49a();function a49c(){var m=['failureMessage','hasItem','1165760gqyBTi','1062zEIgyA','947mKvgyO','(((.+)+)+)+$','7IycgJq','solve','solved','constructor','successMessage','toString','3082842KmdJoe','hasRequiredItem','5288967scoNzy','logger','rewardItem','getInstance','8895YYjZaQ','riddle','matchesRequiredPhrase','10jhZagP','You\x20have\x20already\x20solved\x20this\x20puzzle.','You\x20solved\x20the\x20puzzle!','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','2894184CVJByh','search','2056VIzgmb','Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.','requiredPhrase','requiredItem','write','9959697MgDzjP'];a49c=function(){return m;};return a49c();}import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x1d7;var f=c[d];return f;},a49d(a,b);}export class Puzzle extends AbstractPuzzle{[a49h(0x1d7)]=Logger[a49h(0x1d9)]();[a49h(0x1f1)]=![];['requiredItem'];[a49h(0x1e5)];[a49h(0x1db)];[a49h(0x1d8)];[a49h(0x1f3)];['failureMessage'];constructor(a){var i=a49h;super(),this[i(0x1e6)]=a['requiredItem'],this[i(0x1e5)]=a['requiredPhrase'],this['riddle']=a[i(0x1db)],this['rewardItem']=a[i(0x1d8)],this['successMessage']=a[i(0x1f3)]||i(0x1df),this[i(0x1e9)]=a[i(0x1e9)]||i(0x1e0);}[a49h(0x1f6)](a){var j=a49h;if(this['requiredItem'])return a[j(0x1ea)](this['requiredItem']);return![];}[a49h(0x1dc)](a){var k=a49h;return this[k(0x1e5)]===a;}[a49h(0x1f0)](a,b){var l=a49h;if(this[l(0x1f1)])return this['logger'][l(0x1e7)](l(0x1e4)),{'success':![],'message':l(0x1de)};return this[l(0x1f6)](b)||this[l(0x1dc)](a)?(this[l(0x1f1)]=!![],this[l(0x1d7)][l(0x1e7)]('Puzzle:\x20Correct\x20solution\x20provided.'),{'success':!![],'message':this['successMessage']}):(this['logger'][l(0x1e7)]('Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.'),{'success':![],'message':this[l(0x1e9)]});}}
1
+ var a49i=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0x117))/0x1*(-parseInt(f(0x132))/0x2)+parseInt(f(0x119))/0x3*(-parseInt(f(0x12e))/0x4)+-parseInt(f(0x11d))/0x5*(-parseInt(f(0x122))/0x6)+parseInt(f(0x120))/0x7*(-parseInt(f(0x11c))/0x8)+parseInt(f(0x125))/0x9*(parseInt(f(0x113))/0xa)+parseInt(f(0x11e))/0xb+-parseInt(f(0x11a))/0xc*(-parseInt(f(0x114))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0xdcf59));var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0x129)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a[h(0x128)]()[h(0x111)]('(((.+)+)+)+$')[h(0x128)]()['constructor'](a49a)[h(0x111)](h(0x12f));});a49a();import{Logger}from'../utilities/logger.js';function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x110;var f=c[d];return f;},a49d(a,b);}import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{[a49i(0x12d)]=Logger[a49i(0x131)]();[a49i(0x118)]=![];[a49i(0x116)];[a49i(0x121)];[a49i(0x12a)];[a49i(0x11b)];[a49i(0x12c)];['failureMessage'];constructor(a){var j=a49i;super(),this['requiredItem']=a[j(0x116)],this[j(0x121)]=a['requiredPhrase'],this['riddle']=a['riddle'],this[j(0x11b)]=a['rewardItem'],this[j(0x12c)]=a[j(0x12c)]||'You\x20solved\x20the\x20puzzle!',this[j(0x130)]=a[j(0x130)]||j(0x124);}[a49i(0x126)](a){var k=a49i;if(this['requiredItem'])return a[k(0x115)](this['requiredItem']);return![];}['matchesRequiredPhrase'](a){var l=a49i;return this[l(0x121)]===a;}[a49i(0x123)](a,b){var m=a49i;if(this[m(0x118)])return this['logger'][m(0x133)](m(0x11f)),{'success':![],'message':m(0x110)};return this[m(0x126)](b)||this[m(0x112)](a)?(this['solved']=!![],this[m(0x12d)]['write'](m(0x12b)),{'success':!![],'message':this['successMessage']}):(this[m(0x12d)][m(0x133)](m(0x127)),{'success':![],'message':this[m(0x130)]});}}function a49c(){var n=['logger','1861864zuXQUD','(((.+)+)+)+$','failureMessage','getInstance','4FdaSCF','write','You\x20have\x20already\x20solved\x20this\x20puzzle.','search','matchesRequiredPhrase','620960WqXqat','13XsfgZs','hasItem','requiredItem','853471QOszde','solved','3ynwXWR','16733736BsdWDN','rewardItem','1784qaTcni','80OlQZaW','11349371DmvlnT','Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.','14zkYKVK','requiredPhrase','58086plQZpk','solve','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','72AOGthZ','hasRequiredItem','Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.','toString','apply','riddle','Puzzle:\x20Correct\x20solution\x20provided.','successMessage'];a49c=function(){return n;};return a49c();}
@@ -1 +1 @@
1
- const a50h=a50d;function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0xef;let f=c[d];return f;},a50d(a,b);}(function(a,b){const f=a50d,c=a();while(!![]){try{const d=-parseInt(f(0xf1))/0x1+-parseInt(f(0x124))/0x2*(parseInt(f(0x11e))/0x3)+parseInt(f(0x11c))/0x4+-parseInt(f(0xf3))/0x5+-parseInt(f(0x119))/0x6*(-parseInt(f(0x10e))/0x7)+-parseInt(f(0x11b))/0x8*(-parseInt(f(0x117))/0x9)+-parseInt(f(0x101))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0xb137f));const a50b=(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;};}()),a50a=a50b(this,function(){const g=a50d;return a50a['toString']()['search'](g(0xfd))[g(0x11d)]()['constructor'](a50a)[g(0x126)]('(((.+)+)+)+$');});a50a();import{Logger}from'../utilities/logger.js';function a50c(){const t=['No\x20locked\x20exit\x20found\x20in\x20direction\x20','6ejCpRG','NORTH','5834360ZeSLem','3591228aXzCqH','toString','9GUiweT','addItem','\x20is\x20locked.\x20Result:\x20','south','set','findExistingDoor','220622exHXrx','setPuzzle','search','getExit','Item\x20added\x20to\x20room\x20','exits','riddle','114870YDkTLn','roomB','2371475LUKOju','hasItem','roomType','emit','removeItem','speak','north','get','SOUTH','Checking\x20if\x20exit\x20in\x20direction\x20','(((.+)+)+)+$','attemptUnlockExit','west','WEST','70180BwJHIf','Puzzle\x20set\x20for\x20room\x20','write','values','roomA','puzzle','isStartRoom','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','name','description','Room\x20created:\x20','getOppositeDirection','logger','181307fnUPoA','inventory','There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','Invalid\x20direction:\x20','isExitLocked','The\x20','east','down','Item\x20removed\x20from\x20room\x20','9qZuMPZ'];a50c=function(){return t;};return a50c();}import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';export class Room extends AbstractRoom{['logger']=Logger['getInstance']();['name'];[a50h(0x10a)];[a50h(0xef)]=new Map();['roomType'];[a50h(0x107)];[a50h(0x10f)]=new Inventory();constructor(a){const i=a50h;super(),this['name']=a['name'],this[i(0x10a)]=a['description'],this[i(0xf5)]=a['roomType']||RoomType['INSIDE'],a['exits']&&(this[i(0xef)]=a[i(0xef)]||new Map()),a[i(0x10f)]&&(this[i(0x10f)]=a[i(0x10f)]),a[i(0x106)]&&(this[i(0x106)]=a[i(0x106)]),this[i(0x107)]=a[i(0x107)]||![],this[i(0x10d)][i(0x103)](i(0x10b)+this[i(0x109)]);}['say'](a,b){const j=a50h;this[j(0xf6)](j(0xf8),a,b);}['addExit'](a,b,c){const k=a50h;let d=this[k(0x123)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[k(0xef)][k(0x122)](a,d),b[k(0xef)]['set'](this[k(0x10c)](a),d);}[a50h(0xfe)](a,b){const l=a50h,c=this[l(0xef)][l(0xfa)](a);if(c instanceof Door){const d=c['attemptUnlock'](b);return this[l(0x10d)][l(0x103)]('Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20'+a+'.\x20Success:\x20'+d),d?l(0x113)+c[l(0x109)]+'\x20unlocked!':'The\x20'+c[l(0x109)]+'\x20remains\x20locked.';}return this[l(0x10d)][l(0x103)](l(0x118)+a),l(0x110);}[a50h(0x127)](a){const m=a50h;return this[m(0x10d)][m(0x103)]('Fetching\x20exit\x20in\x20direction:\x20'+a),this['exits']['get'](a);}[a50h(0x112)](a){const n=a50h,b=this[n(0xef)][n(0xfa)](a),c=b instanceof Door&&b['checkIfLocked']();return this[n(0x10d)][n(0x103)](n(0xfc)+a+n(0x120)+c),c;}[a50h(0x11f)](a){const o=a50h;this[o(0x10f)][o(0x11f)](a),this[o(0x10d)][o(0x103)](o(0x128)+this[o(0x109)]+':\x20'+a[o(0x109)]);}['removeItem'](a){const p=a50h;this['inventory'][p(0xf4)](a[p(0x109)])?(this['inventory'][p(0xf7)](a['name']),this[p(0x10d)][p(0x103)](p(0x116)+this[p(0x109)]+':\x20'+a[p(0x109)])):this[p(0x10d)]['write'](p(0x108)+this[p(0x109)]+':\x20'+a[p(0x109)]);}[a50h(0x125)](a){const q=a50h;this['puzzle']=a,this[q(0x10d)][q(0x103)](q(0x102)+this[q(0x109)]+':\x20'+a[q(0xf0)]);}[a50h(0x10c)](a){const r=a50h;switch(a){case r(0xf9):return Direction[r(0xfb)];case r(0x121):return Direction[r(0x11a)];case r(0x114):return Direction[r(0x100)];case r(0xff):return Direction['EAST'];case'up':return Direction['DOWN'];case r(0x115):return Direction['UP'];default:throw new Error(r(0x111)+a);}}[a50h(0x123)](a){const s=a50h;for(const b of this['exits'][s(0x104)]()){if(b instanceof Door){if(b[s(0x105)]===this&&b[s(0xf2)]===a||b[s(0xf2)]===this&&b[s(0x105)]===a)return b;}}return undefined;}}
1
+ function a50c(){const u=['INSIDE','write','There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','setPuzzle','getOppositeDirection','removeItem','roomB','27vvclWJ','apply','logger','say','No\x20locked\x20exit\x20found\x20in\x20direction\x20','isExitLocked','roomType','addItem','down','addExit','speak','riddle','76357dGeAiV','roomA','Item\x20added\x20to\x20room\x20','isStartRoom','WEST','description','getExit','inventory','.\x20Success:\x20','hasItem','3093342ccQVPQ','4210710ZEYPbN','search','\x20remains\x20locked.','get','Item\x20removed\x20from\x20room\x20','puzzle','findExistingDoor','Fetching\x20exit\x20in\x20direction:\x20','Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20','(((.+)+)+)+$','toString','\x20unlocked!','\x20is\x20locked.\x20Result:\x20','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','18UtiitL','values','name','set','3573936SfxUcW','2056888ulFsZV','689005QkcyFE','exits','DOWN','east','attemptUnlock','emit','Room\x20created:\x20','7017904rzYWXd'];a50c=function(){return u;};return a50c();}const a50i=a50d;function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x124;let f=c[d];return f;},a50d(a,b);}(function(a,b){const f=a50d,c=a();while(!![]){try{const d=-parseInt(f(0x151))/0x1+-parseInt(f(0x135))/0x2+parseInt(f(0x15b))/0x3+-parseInt(f(0x134))/0x4+parseInt(f(0x136))/0x5*(-parseInt(f(0x130))/0x6)+-parseInt(f(0x15c))/0x7+parseInt(f(0x13d))/0x8*(parseInt(f(0x145))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0x9e98a));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x146)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0x12c)]()[h(0x15d)]('(((.+)+)+)+$')[h(0x12c)]()['constructor'](a50a)[h(0x15d)](h(0x12b));});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';export class Room extends AbstractRoom{[a50i(0x147)]=Logger['getInstance']();['name'];[a50i(0x156)];[a50i(0x137)]=new Map();[a50i(0x14b)];[a50i(0x154)];[a50i(0x158)]=new Inventory();constructor(a){const j=a50i;super(),this['name']=a['name'],this[j(0x156)]=a[j(0x156)],this[j(0x14b)]=a[j(0x14b)]||RoomType[j(0x13e)],a[j(0x137)]&&(this['exits']=a['exits']||new Map()),a[j(0x158)]&&(this[j(0x158)]=a[j(0x158)]),a[j(0x127)]&&(this[j(0x127)]=a[j(0x127)]),this[j(0x154)]=a['isStartRoom']||![],this['logger'][j(0x13f)](j(0x13c)+this[j(0x132)]);}[a50i(0x148)](a,b){const k=a50i;this[k(0x13b)](k(0x14f),a,b);}[a50i(0x14e)](a,b,c){const l=a50i;let d=this['findExistingDoor'](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[l(0x137)][l(0x133)](a,d),b[l(0x137)][l(0x133)](this[l(0x142)](a),d);}['attemptUnlockExit'](a,b){const m=a50i,c=this[m(0x137)][m(0x125)](a);if(c instanceof Door){const d=c[m(0x13a)](b);return this[m(0x147)][m(0x13f)](m(0x12a)+a+m(0x159)+d),d?'The\x20'+c[m(0x132)]+m(0x12d):'The\x20'+c['name']+m(0x124);}return this[m(0x147)]['write'](m(0x149)+a),m(0x140);}[a50i(0x157)](a){const n=a50i;return this[n(0x147)][n(0x13f)](n(0x129)+a),this[n(0x137)][n(0x125)](a);}[a50i(0x14a)](a){const o=a50i,b=this[o(0x137)][o(0x125)](a),c=b instanceof Door&&b['checkIfLocked']();return this['logger']['write']('Checking\x20if\x20exit\x20in\x20direction\x20'+a+o(0x12e)+c),c;}['addItem'](a){const p=a50i;this['inventory'][p(0x14c)](a),this[p(0x147)]['write'](p(0x153)+this[p(0x132)]+':\x20'+a[p(0x132)]);}[a50i(0x143)](a){const q=a50i;this[q(0x158)][q(0x15a)](a[q(0x132)])?(this['inventory'][q(0x143)](a[q(0x132)]),this[q(0x147)][q(0x13f)](q(0x126)+this[q(0x132)]+':\x20'+a[q(0x132)])):this['logger'][q(0x13f)](q(0x12f)+this[q(0x132)]+':\x20'+a[q(0x132)]);}[a50i(0x141)](a){const r=a50i;this[r(0x127)]=a,this['logger'][r(0x13f)]('Puzzle\x20set\x20for\x20room\x20'+this[r(0x132)]+':\x20'+a[r(0x150)]);}[a50i(0x142)](a){const s=a50i;switch(a){case'north':return Direction['SOUTH'];case'south':return Direction['NORTH'];case s(0x139):return Direction[s(0x155)];case'west':return Direction['EAST'];case'up':return Direction[s(0x138)];case s(0x14d):return Direction['UP'];default:throw new Error('Invalid\x20direction:\x20'+a);}}[a50i(0x128)](a){const t=a50i;for(const b of this[t(0x137)][t(0x131)]()){if(b instanceof Door){if(b[t(0x152)]===this&&b[t(0x144)]===a||b[t(0x144)]===this&&b['roomA']===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(0xd5))/0x1*(-parseInt(i(0xe1))/0x2)+parseInt(i(0x104))/0x3*(-parseInt(i(0x117))/0x4)+-parseInt(i(0x10c))/0x5*(-parseInt(i(0xda))/0x6)+parseInt(i(0xe4))/0x7+-parseInt(i(0x115))/0x8*(-parseInt(i(0xe9))/0x9)+-parseInt(i(0x119))/0xa+parseInt(i(0x11d))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0x90fc7));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0xea)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0xfd)]()[k(0x105)](k(0x11a))[k(0xfd)]()[k(0x107)](a51a)[k(0x105)](k(0x11a));});a51a();function a51c(){const E=['roomConfiguration','isStartRoom','Actor\x20with\x20name\x20','\x20is\x20now\x20in\x20room\x20','connectRooms','toString','generateRoomsFromConfig','Failed\x20to\x20set\x20','No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.','allActors','logger','player','13821iixIgf','search','\x22\x20does\x20not\x20exist.','constructor','actors','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','getActor','\x20to\x20room\x20','15ZzeiVN','removeActor','exits','getRooms','setCharacterLocation','set','removeRoom','targetRoom','get','8hWFocX','No\x20actor\x20with\x20name\x20','808oFkzCg','roomFactory','8478120rRHZrJ','(((.+)+)+)+$','Added\x20puzzle\x20to\x20room\x20','characterLocations','13345827gPinmb','857909qkhXEP','setPuzzle','\x27s\x20location.\x20Room\x20','Added\x20room\x20to\x20scene:\x20','Failed\x20to\x20add\x20puzzle.\x20Room\x20','723396lWsxHy','push','getPlayer','\x20already\x20exists\x20in\x20the\x20scene.','determineStartRoom','Scene\x20initialized\x20with\x20rooms:\x20','currentLocation','2vQWAbg','has','rooms','6844712cyqWjz','createExitsFromConfig','delete','.\x20Room\x20','hasOwnProperty','6096843IiVkgn','apply','join','initialize','length','write','Room\x20\x22','addItemToRoom','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','name','createRoom','from','\x20not\x20found\x20in\x20scene.','Added\x20item\x20','addItem'];a51c=function(){return E;};return a51c();}import{Logger}from'../utilities/logger.js';import{Direction}from'../types/enums.js';import{AbstractScene}from'../types/abstracts.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0xd5;let f=c[d];return f;},a51d(a,b);}import{RoomFactory}from'../factories/roomsF.js';export class Scene extends AbstractScene{[a51l(0xe3)];[a51l(0x103)];[a51l(0x102)];['actors'];['characterLocations']=new Map();[a51l(0x118)];constructor(a){const m=a51l;super(),this[m(0x118)]=new RoomFactory(),this['player']=a[m(0x103)],this[m(0xe3)]=this[m(0xfe)](a[m(0xf8)]),this[m(0x102)]=Logger['getInstance'](),this[m(0x108)]=new Map(),this[m(0xe5)](a[m(0xf8)]),this['logger'][m(0xee)](m(0xdf)+Object['keys'](this[m(0xe3)])[m(0xeb)](',\x20'));}[a51l(0xec)](){const n=a51l;this['player'][n(0xe0)]=this['determineStartRoom']();}[a51l(0xfe)](a){const o=a51l;if(!this[o(0x118)])throw new Error('Room\x20Factory\x20was\x20not\x20correctly\x20initialized');const b={};for(const c of a){const d=this['roomFactory'][o(0xf3)](c);b[c['name']]=d;}return b;}['createExitsFromConfig'](a){const p=a51l;for(const b of a){const c=this[p(0xe3)][b[p(0xf2)]];if(b[p(0x10e)])for(const d of b[p(0x10e)]){const e=d['direction']['toUpperCase'](),f=d[p(0x113)],g=d['keyRequired'],h=this[p(0xe3)][f];h&&c['addExit'](Direction[e],h,g);}}}['addActor'](a){const q=a51l;if(this[q(0x108)][q(0xe2)](a[q(0xf2)]))throw new Error(q(0xfa)+a[q(0xf2)]+q(0xdd));this[q(0x108)]['set'](a[q(0xf2)],a);}[a51l(0x10d)](a){const r=a51l;if(!this[r(0x108)]['has'](a))throw new Error(r(0x116)+a+'\x20found\x20in\x20the\x20scene.');this[r(0x108)][r(0xe6)](a);}[a51l(0x10a)](a){const s=a51l;return this[s(0x108)][s(0x114)](a);}get[a51l(0x101)](){const t=a51l;return Array[t(0xf4)](this[t(0x108)]['values']());}['addRoom'](a){const u=a51l;this[u(0xe3)][a[u(0xf2)]]=a,this[u(0x102)][u(0xee)](u(0xd8)+a['name']);}[a51l(0x112)](a){const v=a51l;return this[v(0xe3)][a]?(delete this[v(0xe3)][a],this[v(0x102)][v(0xee)]('Removed\x20room\x20from\x20scene:\x20'+a),!![]):(this[v(0x102)][v(0xee)](v(0xf1)+a),![]);}[a51l(0xf0)](a,b){const w=a51l,c=this[w(0xe3)][b];c?(c[w(0xf7)](a),this[w(0x102)][w(0xee)](w(0xf6)+a[w(0xf2)]+w(0x10b)+c[w(0xf2)])):this[w(0x102)][w(0xee)]('Failed\x20to\x20add\x20item\x20'+a[w(0xf2)]+w(0xe7)+b+w(0xf5));}['addPuzzleToRoom'](a,b){const x=a51l,c=this[x(0xe3)][b];c?(c[x(0xd6)](a),this[x(0x102)][x(0xee)](x(0x11b)+c['name'])):this['logger'][x(0xee)](x(0xd9)+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0x110)](a,b){const y=a51l,c=this[y(0xe3)][b];c?(this[y(0x11c)][y(0x111)](a[y(0xf2)],c),this['logger'][y(0xee)](a['name']+y(0xfb)+c[y(0xf2)])):this[y(0x102)][y(0xee)](y(0xff)+a['name']+y(0xd7)+b+'\x20not\x20found\x20in\x20scene.');}['getCharacterLocation'](a){const z=a51l;return this[z(0x11c)]['get'](a['name']);}[a51l(0xde)](){const A=a51l,a=[];for(const c in this['rooms']){if(this[A(0xe3)][A(0xe8)](c)){const d=this['rooms'][c];d[A(0xf9)]&&a[A(0xdb)](d);}}if(a[A(0xed)]>0x1)throw new Error(A(0x109));if(a['length']===0x1)return a[0x0];const b=Object['keys'](this[A(0xe3)]);if(b[A(0xed)]===0x0)throw new Error('No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.');return console['warn'](A(0x100)),this[A(0xe3)][b[0x0]];}[a51l(0xdc)](){const B=a51l;return this[B(0x103)];}[a51l(0x10f)](){const C=a51l;return this[C(0xe3)];}[a51l(0xfc)](a,b,c,d){const D=a51l,e=this['rooms'][a],f=this[D(0xe3)][c];if(!e)throw new Error(D(0xef)+a+'\x22\x20does\x20not\x20exist.');if(!f)throw new Error(D(0xef)+c+D(0x106));e['addExit'](b,f,d);}}
1
+ const a51l=a51d;function a51c(){const D=['keyRequired','Removed\x20room\x20from\x20scene:\x20','addActor','getInstance','\x20to\x20room\x20','149144xbrWhB','\x22\x20does\x20not\x20exist.','search','keys','rooms','1982211XyQwZb','push','\x20not\x20found\x20in\x20scene.','name','205iTyInf','Added\x20item\x20','toUpperCase','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','\x20is\x20now\x20in\x20room\x20','addRoom','getPlayer','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','delete','isStartRoom','\x20already\x20exists\x20in\x20the\x20scene.','characterLocations','hasOwnProperty','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','Failed\x20to\x20add\x20puzzle.\x20Room\x20','set','length','determineStartRoom','setCharacterLocation','get','9722430XHvAVv','119bmnOpL','actors','has','18KTFwBp','setPuzzle','player','initialize','generateRoomsFromConfig','Failed\x20to\x20add\x20item\x20','currentLocation','Scene\x20initialized\x20with\x20rooms:\x20','getCharacterLocation','No\x20actor\x20with\x20name\x20','1412037CzwZrx','addItem','connectRooms','createExitsFromConfig','addExit','logger','exits','roomConfiguration','Room\x20\x22','1766PZziDa','181030hUYezF','targetRoom','createRoom','apply','2035292IABbir','constructor','toString','getActor','write','getRooms','allActors','(((.+)+)+)+$','roomFactory','Actor\x20with\x20name\x20'];a51c=function(){return D;};return a51c();}(function(a,b){const i=a51d,c=a();while(!![]){try{const d=parseInt(i(0x8d))/0x1*(-parseInt(i(0x70))/0x2)+parseInt(i(0x89))/0x3+-parseInt(i(0x75))/0x4+parseInt(i(0x71))/0x5*(-parseInt(i(0xa6))/0x6)+parseInt(i(0xa3))/0x7*(-parseInt(i(0x84))/0x8)+-parseInt(i(0x67))/0x9+parseInt(i(0xa2))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0x580fc));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0x74)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0x77)]()[k(0x86)](k(0x7c))[k(0x77)]()[k(0x76)](a51a)[k(0x86)](k(0x7c));});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-0x64;let f=c[d];return f;},a51d(a,b);}export class Scene extends AbstractScene{[a51l(0x88)];[a51l(0xa8)];[a51l(0x6c)];[a51l(0xa4)];['characterLocations']=new Map();[a51l(0x7d)];constructor(a){const m=a51l;super(),this[m(0x7d)]=new RoomFactory(),this[m(0xa8)]=a[m(0xa8)],this['rooms']=this[m(0xaa)](a[m(0x6e)]),this[m(0x6c)]=Logger[m(0x82)](),this['actors']=new Map(),this[m(0x6a)](a['roomConfiguration']),this[m(0x6c)]['write'](m(0x64)+Object[m(0x87)](this[m(0x88)])['join'](',\x20'));}[a51l(0xa9)](){const n=a51l;this[n(0xa8)][n(0xac)]=this[n(0x9f)]();}[a51l(0xaa)](a){const o=a51l;if(!this[o(0x7d)])throw new Error(o(0x94));const b={};for(const c of a){const d=this[o(0x7d)][o(0x73)](c);b[c['name']]=d;}return b;}[a51l(0x6a)](a){const p=a51l;for(const b of a){const c=this[p(0x88)][b[p(0x8c)]];if(b[p(0x6d)])for(const d of b[p(0x6d)]){const e=d['direction'][p(0x8f)](),f=d[p(0x72)],g=d[p(0x7f)],h=this[p(0x88)][f];h&&c[p(0x6b)](Direction[e],h,g);}}}[a51l(0x81)](a){const q=a51l;if(this[q(0xa4)][q(0xa5)](a[q(0x8c)]))throw new Error(q(0x7e)+a[q(0x8c)]+q(0x98));this['actors'][q(0x9d)](a[q(0x8c)],a);}['removeActor'](a){const r=a51l;if(!this[r(0xa4)][r(0xa5)](a))throw new Error(r(0x66)+a+'\x20found\x20in\x20the\x20scene.');this[r(0xa4)][r(0x96)](a);}[a51l(0x78)](a){const s=a51l;return this[s(0xa4)][s(0xa1)](a);}get[a51l(0x7b)](){const t=a51l;return Array['from'](this[t(0xa4)]['values']());}[a51l(0x92)](a){const u=a51l;this['rooms'][a[u(0x8c)]]=a,this['logger']['write']('Added\x20room\x20to\x20scene:\x20'+a['name']);}['removeRoom'](a){const v=a51l;return this[v(0x88)][a]?(delete this[v(0x88)][a],this[v(0x6c)]['write'](v(0x80)+a),!![]):(this['logger'][v(0x79)](v(0x95)+a),![]);}['addItemToRoom'](a,b){const w=a51l,c=this['rooms'][b];c?(c[w(0x68)](a),this[w(0x6c)]['write'](w(0x8e)+a['name']+w(0x83)+c['name'])):this['logger'][w(0x79)](w(0xab)+a[w(0x8c)]+'.\x20Room\x20'+b+w(0x8b));}['addPuzzleToRoom'](a,b){const x=a51l,c=this[x(0x88)][b];c?(c[x(0xa7)](a),this['logger'][x(0x79)]('Added\x20puzzle\x20to\x20room\x20'+c[x(0x8c)])):this[x(0x6c)][x(0x79)](x(0x9c)+b+x(0x8b));}[a51l(0xa0)](a,b){const y=a51l,c=this[y(0x88)][b];c?(this[y(0x99)][y(0x9d)](a[y(0x8c)],c),this[y(0x6c)][y(0x79)](a[y(0x8c)]+y(0x91)+c[y(0x8c)])):this[y(0x6c)]['write']('Failed\x20to\x20set\x20'+a[y(0x8c)]+'\x27s\x20location.\x20Room\x20'+b+y(0x8b));}[a51l(0x65)](a){const z=a51l;return this['characterLocations'][z(0xa1)](a[z(0x8c)]);}[a51l(0x9f)](){const A=a51l,a=[];for(const c in this[A(0x88)]){if(this['rooms'][A(0x9a)](c)){const d=this[A(0x88)][c];d[A(0x97)]&&a[A(0x8a)](d);}}if(a[A(0x9e)]>0x1)throw new Error(A(0x90));if(a['length']===0x1)return a[0x0];const b=Object[A(0x87)](this[A(0x88)]);if(b['length']===0x0)throw new Error(A(0x9b));return console['warn']('No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.'),this[A(0x88)][b[0x0]];}[a51l(0x93)](){const B=a51l;return this[B(0xa8)];}[a51l(0x7a)](){return this['rooms'];}[a51l(0x69)](a,b,c,d){const C=a51l,e=this['rooms'][a],f=this[C(0x88)][c];if(!e)throw new Error(C(0x6f)+a+C(0x85));if(!f)throw new Error(C(0x6f)+c+C(0x85));e[C(0x6b)](b,f,d);}}
@@ -1 +1 @@
1
- var a52s=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=parseInt(f(0x134))/0x1+parseInt(f(0x14e))/0x2*(-parseInt(f(0x13f))/0x3)+-parseInt(f(0x120))/0x4+-parseInt(f(0x133))/0x5*(-parseInt(f(0x130))/0x6)+-parseInt(f(0x131))/0x7*(parseInt(f(0x12d))/0x8)+parseInt(f(0x136))/0x9+-parseInt(f(0x11d))/0xa*(-parseInt(f(0x13d))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x8c6dc));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['toString']()[g(0x127)](g(0x132))['toString']()[g(0x14c)](a52a)[g(0x127)](g(0x132));});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(0x12e)],'category':Category['Unknown'],'shape':Shape[h(0x146)],'color':Color[h(0x12c)],'texture':Texture[h(0x11c)],'rating':Rating[h(0x12f)],'weight':0x1});}['use'](){var i=a52d;return this[i(0x145)];}}export class Sword extends Item{constructor(a,b){var j=a52d;super({'name':a,'description':b,'size':Size[j(0x12e)],'category':Category[j(0x13b)],'shape':Shape['Blade'],'color':Color[j(0x14b)],'texture':Texture[j(0x123)],'rating':Rating[j(0x12f)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var k=a52d;super({'name':a,'description':b,'size':Size[k(0x12a)],'category':Category[k(0x13b)],'shape':Shape[k(0x137)],'color':Color[k(0x13c)],'texture':Texture['Metallic'],'rating':Rating[k(0x148)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var l=a52d;super({'name':a,'description':b,'size':Size['Medium'],'category':Category['Helmet'],'shape':Shape[l(0x142)],'color':Color[l(0x14b)],'texture':Texture[l(0x123)],'rating':Rating[l(0x12f)],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var m=a52d;super({'name':a,'description':b,'size':Size[m(0x12a)],'category':Category[m(0x150)],'shape':Shape['Rectangle'],'color':Color['Grey'],'texture':Texture[m(0x123)],'rating':Rating['Common'],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var n=a52d;super({'name':a,'description':b,'size':Size[n(0x12e)],'category':Category[n(0x11f)],'shape':Shape[n(0x146)],'color':Color['Grey'],'texture':Texture[n(0x123)],'rating':Rating[n(0x12f)],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var o=a52d;super({'name':a,'description':b,'size':Size[o(0x12e)],'category':Category[o(0x144)],'shape':Shape[o(0x142)],'color':Color['Brown'],'texture':Texture[o(0x11c)],'rating':Rating['Common'],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var p=a52d;super({'name':a,'description':b,'size':Size[p(0x14f)],'category':Category[p(0x13e)],'shape':Shape[p(0x142)],'color':Color['Brown'],'texture':Texture[p(0x11c)],'rating':Rating['Common'],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var q=a52d;super({'name':a,'description':b,'size':Size['Medium'],'category':Category['ArmArmor'],'shape':Shape[q(0x146)],'color':Color[q(0x14b)],'texture':Texture[q(0x123)],'rating':Rating[q(0x12f)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var r=a52d;super({'name':a,'description':b,'size':Size[r(0x11e)],'category':Category[r(0x128)],'shape':Shape[r(0x146)],'color':Color[r(0x12c)],'texture':Texture[r(0x11c)],'rating':Rating[r(0x12f)],'weight':0x0});}[a52s(0x125)](){var t=a52s;return t(0x12b);}}export class Weapon extends Item{constructor(a,b){var u=a52s;super({'name':a,'description':b,'size':Size[u(0x12e)],'category':Category[u(0x13b)],'shape':Shape[u(0x129)],'color':Color[u(0x14b)],'texture':Texture['Metallic'],'rating':Rating[u(0x12f)],'weight':0x3});}[a52s(0x125)](){var v=a52s;return v(0x143);}}export class Book extends Item{['author'];[a52s(0x135)];['pageCount'];constructor(a,b=a52s(0x149),c=a52s(0x121)){var w=a52s;super({'name':a,'description':b,'size':Size[w(0x12e)],'category':Category['Book'],'shape':Shape['Rectangle'],'color':Color['Brown'],'texture':Texture[w(0x11c)],'rating':Rating[w(0x12f)],'weight':0x1}),this[w(0x122)]=c,this[w(0x135)]=new Date(),this['pageCount']=0x64;}[a52s(0x125)](){var x=a52s;return x(0x14d);}}export class ShortSword extends Item{constructor(){var y=a52s;super({'name':y(0x126),'description':'A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','size':Size[y(0x12e)],'category':Category[y(0x13b)],'shape':Shape['Blade'],'color':Color[y(0x14b)],'texture':Texture['Metallic'],'rating':Rating[y(0x12f)],'weight':0x3});}[a52s(0x125)](){var z=a52s;return z(0x143);}}function a52c(){var E=['A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','Weapon','Brown','3817eQsdPV','Gloves','79038cpRsFT','Gold','Cup','Circle','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','Boots','description','Rectangle','Holy\x20Grail','Rare','A\x20mysterious\x20book.','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','Grey','constructor','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','18bvPIgj','Small','BodyArmor','Smooth','10180UofUbP','Tiny','LegArmor','4095020aWFulZ','Unknown\x20Author','author','Metallic','\x20aloft,\x20feeling\x20its\x20immense\x20power.','use','Short\x20Sword','search','Key','Blade','Large','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','Yellow','112mvYbtf','Medium','Common','258jToQnq','431963xlqpwE','(((.+)+)+)+$','111530FqWMQm','434894hYCwyQ','publishDate','8574237QCIZgL','Rifle','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','You\x20hold\x20the\x20'];a52c=function(){return E;};return a52c();}export class SniperRifle extends Item{constructor(){var A=a52s;super({'name':'Sniper\x20Rifle','description':A(0x138),'size':Size['Large'],'category':Category[A(0x13b)],'shape':Shape['Rifle'],'color':Color[A(0x13c)],'texture':Texture[A(0x11c)],'rating':Rating['Common'],'weight':0x5});}[a52s(0x125)](){var B=a52s;return B(0x14a);}}function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x11c;var f=c[d];return f;},a52d(a,b);}export class HolyGrail extends Item{constructor(){var C=a52s;super({'name':C(0x147),'description':C(0x13a),'size':Size[C(0x14f)],'category':Category[C(0x141)],'shape':Shape[C(0x142)],'color':Color[C(0x140)],'texture':Texture[C(0x123)],'rating':Rating['Legendary'],'weight':0x1});}[a52s(0x125)](){var D=a52s;return D(0x139)+this['name']+D(0x124);}}
1
+ var a52t=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=-parseInt(f(0x170))/0x1+parseInt(f(0x16b))/0x2+parseInt(f(0x161))/0x3+parseInt(f(0x164))/0x4+-parseInt(f(0x163))/0x5+parseInt(f(0x16e))/0x6+-parseInt(f(0x17e))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0xceb9a));var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a52d;if(c){var e=c[g(0x179)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var h=a52d;return a52a[h(0x17d)]()[h(0x17a)](h(0x16d))[h(0x17d)]()[h(0x181)](a52a)[h(0x17a)](h(0x16d));});a52a();function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x156;var f=c[d];return f;},a52d(a,b);}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[i(0x184)],'category':Category[i(0x175)],'shape':Shape['Rectangle'],'color':Color['Yellow'],'texture':Texture[i(0x16c)],'rating':Rating['Common'],'weight':0x1});}['use'](){var j=a52d;return this[j(0x156)];}}function a52c(){var C=['Short\x20Sword','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','You\x20hold\x20the\x20','Common','Cup','1053034aENNKU','Smooth','(((.+)+)+)+$','8214936TquVDA','Key','329620ofjEmG','Grey','publishDate','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','pageCount','Unknown','Small','A\x20mysterious\x20book.','Circle','apply','search','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','Book','toString','14632506cNGxot','Unknown\x20Author','author','constructor','Blade','Large','Medium','Legendary','Metallic','Rectangle','Rifle','Holy\x20Grail','description','LegArmor','Weapon','Tiny','Brown','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','Gold','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','use','ArmArmor','\x20aloft,\x20feeling\x20its\x20immense\x20power.','461976ucMevn','Gloves','1275720XAuigM','5888812OPSxsI','Rare'];a52c=function(){return C;};return a52c();}export class Sword extends Item{constructor(a,b){var k=a52d;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[k(0x158)],'shape':Shape[k(0x182)],'color':Color[k(0x171)],'texture':Texture[k(0x186)],'rating':Rating[k(0x169)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52d;super({'name':a,'description':b,'size':Size[l(0x183)],'category':Category[l(0x158)],'shape':Shape['Rifle'],'color':Color['Brown'],'texture':Texture[l(0x186)],'rating':Rating[l(0x165)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52d;super({'name':a,'description':b,'size':Size[m(0x184)],'category':Category['Helmet'],'shape':Shape[m(0x178)],'color':Color['Grey'],'texture':Texture[m(0x186)],'rating':Rating['Common'],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52d;super({'name':a,'description':b,'size':Size['Large'],'category':Category['BodyArmor'],'shape':Shape[n(0x187)],'color':Color[n(0x171)],'texture':Texture[n(0x186)],'rating':Rating[n(0x169)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52d;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[o(0x157)],'shape':Shape['Rectangle'],'color':Color[o(0x171)],'texture':Texture['Metallic'],'rating':Rating[o(0x169)],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52d;super({'name':a,'description':b,'size':Size[p(0x184)],'category':Category['Boots'],'shape':Shape[p(0x178)],'color':Color[p(0x15a)],'texture':Texture['Smooth'],'rating':Rating[p(0x169)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var q=a52d;super({'name':a,'description':b,'size':Size[q(0x176)],'category':Category[q(0x162)],'shape':Shape['Circle'],'color':Color[q(0x15a)],'texture':Texture[q(0x16c)],'rating':Rating[q(0x169)],'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(0x15f)],'shape':Shape[r(0x187)],'color':Color[r(0x171)],'texture':Texture[r(0x186)],'rating':Rating[r(0x169)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52d;super({'name':a,'description':b,'size':Size[s(0x159)],'category':Category[s(0x16f)],'shape':Shape[s(0x187)],'color':Color['Yellow'],'texture':Texture[s(0x16c)],'rating':Rating['Common'],'weight':0x0});}[a52t(0x15e)](){return'This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22';}}export class Weapon extends Item{constructor(a,b){var u=a52t;super({'name':a,'description':b,'size':Size[u(0x184)],'category':Category[u(0x158)],'shape':Shape[u(0x182)],'color':Color['Grey'],'texture':Texture[u(0x186)],'rating':Rating[u(0x169)],'weight':0x3});}['use'](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class Book extends Item{[a52t(0x180)];[a52t(0x172)];[a52t(0x174)];constructor(a,b=a52t(0x177),c=a52t(0x17f)){var v=a52t;super({'name':a,'description':b,'size':Size[v(0x184)],'category':Category[v(0x17c)],'shape':Shape[v(0x187)],'color':Color[v(0x15a)],'texture':Texture[v(0x16c)],'rating':Rating[v(0x169)],'weight':0x1}),this[v(0x180)]=c,this[v(0x172)]=new Date(),this['pageCount']=0x64;}[a52t(0x15e)](){var w=a52t;return w(0x17b);}}export class ShortSword extends Item{constructor(){var x=a52t;super({'name':x(0x166),'description':x(0x167),'size':Size[x(0x184)],'category':Category['Weapon'],'shape':Shape[x(0x182)],'color':Color[x(0x171)],'texture':Texture[x(0x186)],'rating':Rating[x(0x169)],'weight':0x3});}[a52t(0x15e)](){var y=a52t;return y(0x173);}}export class SniperRifle extends Item{constructor(){var z=a52t;super({'name':'Sniper\x20Rifle','description':z(0x15d),'size':Size[z(0x183)],'category':Category[z(0x158)],'shape':Shape[z(0x188)],'color':Color[z(0x15a)],'texture':Texture[z(0x16c)],'rating':Rating['Common'],'weight':0x5});}['use'](){return'You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22';}}export class HolyGrail extends Item{constructor(){var A=a52t;super({'name':A(0x189),'description':A(0x15b),'size':Size[A(0x176)],'category':Category[A(0x16a)],'shape':Shape[A(0x178)],'color':Color[A(0x15c)],'texture':Texture[A(0x186)],'rating':Rating[A(0x185)],'weight':0x1});}[a52t(0x15e)](){var B=a52t;return B(0x168)+this['name']+B(0x160);}}
@@ -1 +1 @@
1
- function a54c(){const i=['Central\x20Chamber\x20Key','cup','49ZUAnJF','A\x20clear\x20glass\x20vial.','The\x20data\x20remains\x20encrypted.','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','That\x20passcode\x20is\x20incorrect','book','Empty\x20vial','An\x20old\x20and\x20rusted\x20sword.','Mage\x27s\x20Lair','A\x20creditstick\x20loaded\x20with\x20nuyen.','Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','Guard\x27s\x20Log\x20Book','Treasure\x20Room','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','The\x20chest\x20remains\x20firmly\x20shut.','amulet','Barrens\x20Entrance','holyGrail','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','Rusted\x20Sword','EAST','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','108520YACUfD','Rigger\x27s\x20Workshop','Ancient\x20Gem','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','Secret\x20Passage','secret123','4156752ObUrGz','Jackpoint\x20Login','1998PlMHuQ','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','Alchemy\x20Lab','Amulet\x20of\x20Awakening','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','Central\x20Chamber','The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.','20AKSdvQ','The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','Encrypted\x20Data\x20Key','show\x20loyalty','Ares\x20Predator','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','75zalPix','key','north','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','A\x20long-range\x20weapon.','Barrens\x20Hideout','Study','rifle','Nothing\x20happens.','SOUTH','Library','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','6466131vyCQMn','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','Torture\x20Chamber','1744140XnNOti','insert\x20gem','(((.+)+)+)+$','A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','Courtyard','Armory','113tqBcmL','The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','Golden\x20Chalice','A\x20chalice\x20made\x20of\x20pure\x20gold.','Golden\x20Key','document','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','701886nxokhZ','2153360FSvtlP','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','A\x20thin\x20log\x20book','decrypt','gem','OUTSIDE','west','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','outside','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','Entrance\x20Hall','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','Holy\x20Grail','inside','Matrix\x20Data\x20Haven','Downtown\x20Seattle','south','The\x20legendary\x20Holy\x20Grail.','Sniper\x20Rifle','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','sword','Emblem\x20Shield','east','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','Corp\x20Enclave','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','A\x20small\x20surveillance\x20drone.','NORTH','A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','search'];a54c=function(){return i;};return a54c();}const a54h=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=-parseInt(f(0xf2))/0x1*(-parseInt(f(0xcc))/0x2)+parseInt(f(0xdc))/0x3*(-parseInt(f(0xc3))/0x4)+parseInt(f(0xeb))/0x5+parseInt(f(0xf9))/0x6*(-parseInt(f(0xad))/0x7)+parseInt(f(0xca))/0x8+parseInt(f(0xe8))/0x9+parseInt(f(0xd4))/0xa*(parseInt(f(0xfa))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0x910fb));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(0xaa)]('(((.+)+)+)+$')['toString']()['constructor'](a54a)[g(0xaa)](g(0xed));});a54a();export const rooms=[{'name':a54h(0xe6),'description':a54h(0xcd),'isStartRoom':!![],'items':[{'type':a54h(0xdd),'name':'Golden\x20Key','description':a54h(0xa6)},{'type':'book','name':a54h(0xb8),'description':a54h(0xfc),'content':'Chad\x20the\x20stupid\x20guard'}],'exits':[{'direction':a54h(0xc1),'targetRoom':'Secret\x20Passage'}]},{'name':a54h(0xc8),'description':'A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','exits':[{'direction':a54h(0xa8),'targetRoom':a54h(0xb9),'keyRequired':a54h(0xf6)},{'direction':a54h(0xe5),'targetRoom':a54h(0xf0)}]},{'name':a54h(0xb9),'description':a54h(0xd1),'items':[{'type':a54h(0xbe),'name':a54h(0x107),'description':a54h(0x10c)}]},{'name':a54h(0xf0),'description':'A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','roomType':a54h(0xff),'exits':[{'direction':'UP','targetRoom':'Watch\x20Tower'}]},{'name':'Watch\x20Tower','description':'A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','roomType':'OUTSIDE','puzzle':{'requiredPhrase':a54h(0xc9),'riddle':'A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','rewardItem':{'type':a54h(0xe3),'name':a54h(0x10d),'description':a54h(0xe0)},'successMessage':a54h(0xe7),'failureMessage':a54h(0xb1)}}];function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0xa2;let f=c[d];return f;},a54d(a,b);}export const dungeonConfig=[{'name':a54h(0x105),'description':a54h(0xdb),'isStartRoom':!![],'roomType':a54h(0x108),'puzzle':{'requiredPhrase':'open\x20sesame','riddle':'Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','rewardItem':{'type':a54h(0xdd),'name':a54h(0xab),'description':a54h(0xc2)},'successMessage':a54h(0x102),'failureMessage':a54h(0xe4)},'exits':[{'direction':a54h(0xde),'targetRoom':a54h(0xe2)},{'direction':a54h(0xa3),'targetRoom':a54h(0xd2),'keyRequired':'Central\x20Chamber\x20Key'}]},{'name':a54h(0xe2),'description':'A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','roomType':'inside','items':[{'type':a54h(0xb2),'name':'Riddle\x20Book','description':'A\x20book\x20containing\x20a\x20mysterious\x20riddle.','content':a54h(0xf8)},{'type':a54h(0xdd),'name':'Central\x20Chamber\x20Key','description':a54h(0xc2)}],'exits':[{'direction':a54h(0x10b),'targetRoom':a54h(0x105)},{'direction':a54h(0xa3),'targetRoom':a54h(0xce)}]},{'name':a54h(0xce),'description':a54h(0xdf),'roomType':a54h(0x108),'items':[{'type':'basic','name':a54h(0xb3),'description':a54h(0xae)}],'exits':[{'direction':a54h(0x100),'targetRoom':a54h(0xe2)},{'direction':a54h(0xde),'targetRoom':a54h(0xf1)}]},{'name':'Armory','description':a54h(0xc6),'roomType':'inside','items':[{'type':'shield','name':a54h(0xa2),'description':'A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.'},{'type':a54h(0x111),'name':a54h(0xc0),'description':a54h(0xb4)}],'exits':[{'direction':'south','targetRoom':a54h(0xce)},{'direction':a54h(0xa3),'targetRoom':'Central\x20Chamber'}]},{'name':a54h(0xd2),'description':a54h(0xa4),'roomType':a54h(0x108),'exits':[{'direction':a54h(0x100),'targetRoom':a54h(0xf1)},{'direction':a54h(0x10b),'targetRoom':a54h(0x105)},{'direction':a54h(0xde),'targetRoom':a54h(0xea)},{'direction':a54h(0xa3),'targetRoom':'Treasure\x20Room'}]},{'name':'Torture\x20Chamber','description':a54h(0x104),'roomType':a54h(0x108),'items':[{'type':a54h(0xdd),'name':'Blood-stained\x20Key','description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':'release','riddle':'Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','rewardItem':{'type':a54h(0xfe),'name':a54h(0xc5),'description':a54h(0xd7)},'successMessage':a54h(0xf3),'failureMessage':a54h(0xd3)},'exits':[{'direction':'south','targetRoom':a54h(0xd2)}]},{'name':a54h(0xb9),'description':a54h(0xc7),'roomType':a54h(0x108),'puzzle':{'requiredPhrase':a54h(0xec),'riddle':'The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','rewardItem':{'type':a54h(0xac),'name':a54h(0xf4),'description':a54h(0xf5)},'successMessage':a54h(0xd5),'failureMessage':a54h(0xbb)},'exits':[{'direction':a54h(0x100),'targetRoom':a54h(0xd2)}]}];export const shadowrunConfig=[{'name':'Jackpoint\x20Login','description':a54h(0xef),'isStartRoom':!![],'roomType':a54h(0x108),'exits':[{'direction':a54h(0xde),'targetRoom':a54h(0x10a)},{'direction':'up','targetRoom':'Matrix\x20Data\x20Haven'}]},{'name':a54h(0x109),'description':a54h(0x106),'roomType':a54h(0x108),'puzzle':{'requiredPhrase':a54h(0xfd),'riddle':a54h(0xb7),'rewardItem':{'type':a54h(0xdd),'name':a54h(0xd8),'description':a54h(0xb0)},'successMessage':a54h(0xfb),'failureMessage':a54h(0xaf)},'exits':[{'direction':'down','targetRoom':'Jackpoint\x20Login'}]},{'name':'Downtown\x20Seattle','description':a54h(0x10e),'roomType':a54h(0x103),'exits':[{'direction':a54h(0x10b),'targetRoom':a54h(0xcb)},{'direction':'east','targetRoom':a54h(0xbd)},{'direction':a54h(0x100),'targetRoom':a54h(0xa5)}]},{'name':'Barrens\x20Entrance','description':a54h(0xd6),'roomType':a54h(0x103),'puzzle':{'requiredPhrase':a54h(0xd9),'riddle':a54h(0xe9),'rewardItem':{'type':a54h(0xdd),'name':'Gang\x20Insignia','description':a54h(0xee)},'successMessage':'The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','failureMessage':a54h(0xbf)},'exits':[{'direction':'west','targetRoom':a54h(0x10a)},{'direction':a54h(0xde),'targetRoom':a54h(0xe1)}]},{'name':a54h(0xa5),'description':a54h(0x101),'roomType':a54h(0x108),'items':[{'type':'creditstick','name':'Corporate\x20Creditstick','description':a54h(0xb6)},{'type':a54h(0xf7),'name':'CorpSec\x20Plans','description':'Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.'}],'exits':[{'direction':'east','targetRoom':'Downtown\x20Seattle'}]},{'name':a54h(0xe1),'description':a54h(0xd0),'roomType':a54h(0x103),'items':[{'type':'weapon','name':a54h(0xda),'description':a54h(0xa9)}],'exits':[{'direction':a54h(0x10b),'targetRoom':a54h(0xbd)},{'direction':a54h(0xde),'targetRoom':a54h(0xb5)},{'direction':a54h(0xa3),'targetRoom':a54h(0xc4)}]},{'name':a54h(0xb5),'description':a54h(0xba),'roomType':a54h(0x108),'puzzle':{'requiredPhrase':'disenchant','riddle':a54h(0x110),'rewardItem':{'type':a54h(0xbc),'name':a54h(0xcf),'description':'A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.'},'successMessage':'The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','failureMessage':a54h(0x10f)},'exits':[{'direction':a54h(0x10b),'targetRoom':a54h(0xe1)}]},{'name':a54h(0xc4),'description':'Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','roomType':a54h(0x108),'items':[{'type':'drone','name':'MCT\x20Fly-Spy','description':a54h(0xa7)}],'exits':[{'direction':'west','targetRoom':a54h(0xe1)}]}];
1
+ const a54i=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0x104))/0x1+-parseInt(f(0xe1))/0x2*(-parseInt(f(0x108))/0x3)+-parseInt(f(0xf6))/0x4+parseInt(f(0x113))/0x5+parseInt(f(0xd2))/0x6*(-parseInt(f(0xfa))/0x7)+parseInt(f(0xc3))/0x8*(parseInt(f(0xfb))/0x9)+-parseInt(f(0xd3))/0xa*(parseInt(f(0x105))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0x252ec));function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0xbe;let f=c[d];return f;},a54d(a,b);}const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0x136)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0x110)]()['search'](h(0x122))[h(0x110)]()[h(0xc4)](a54a)[h(0x100)](h(0x122));});function a54c(){const j=['A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','disenchant','Downtown\x20Seattle','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','The\x20data\x20remains\x20encrypted.','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','toString','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','885150gcUyjZ','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','decrypt','NORTH','A\x20thin\x20log\x20book','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','Mage\x27s\x20Lair','A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.','Central\x20Chamber','SOUTH','Guard\x27s\x20Log\x20Book','The\x20legendary\x20Holy\x20Grail.','key','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','Barrens\x20Hideout','(((.+)+)+)+$','Rusted\x20Sword','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','Treasure\x20Room','Blood-stained\x20Key','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','rifle','A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','Ancient\x20Gem','A\x20key\x20stained\x20with\x20old\x20blood.','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','west','A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','Ares\x20Predator','Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','Barrens\x20Entrance','north','apply','south','CorpSec\x20Plans','secret123','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','A\x20creditstick\x20loaded\x20with\x20nuyen.','MCT\x20Fly-Spy','265904pSSUIL','constructor','Encrypted\x20Data\x20Key','Corp\x20Enclave','Central\x20Chamber\x20Key','Holy\x20Grail','insert\x20gem','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','Armory','inside','Watch\x20Tower','creditstick','Gang\x20Insignia','OUTSIDE','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','15240lHizck','286690rTbprw','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','sword','A\x20small\x20surveillance\x20drone.','A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','down','A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','release','Nothing\x20happens.','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','An\x20old\x20and\x20rusted\x20sword.','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','12282JzGPIm','Matrix\x20Data\x20Haven','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','outside','Rigger\x27s\x20Workshop','Golden\x20Key','Chad\x20the\x20stupid\x20guard','book','shield','holyGrail','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','Jackpoint\x20Login','amulet','Corporate\x20Creditstick','drone','document','A\x20chalice\x20made\x20of\x20pure\x20gold.','Entrance\x20Hall','EAST','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.','685260IvDunv','Courtyard','open\x20sesame','A\x20clear\x20glass\x20vial.','63zJqwpI','81wYEkZM','Empty\x20vial','Torture\x20Chamber','Secret\x20Passage','Riddle\x20Book','search','east','Alchemy\x20Lab','Study','30035rxsvDo','66HsygTt','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','6tlHbnC'];a54c=function(){return j;};return a54c();}a54a();export const rooms=[{'name':'Library','description':'A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','isStartRoom':!![],'items':[{'type':'key','name':a54i(0xe6),'description':a54i(0xd4)},{'type':a54i(0xe8),'name':a54i(0x11d),'description':a54i(0x117),'content':a54i(0xe7)}],'exits':[{'direction':a54i(0xf3),'targetRoom':a54i(0xfe)}]},{'name':a54i(0xfe),'description':a54i(0x131),'exits':[{'direction':a54i(0x116),'targetRoom':a54i(0x128),'keyRequired':a54i(0xe6)},{'direction':a54i(0x11c),'targetRoom':'Courtyard'}]},{'name':a54i(0x128),'description':a54i(0xd8),'items':[{'type':a54i(0xea),'name':a54i(0xc8),'description':a54i(0x11e)}]},{'name':a54i(0xf7),'description':a54i(0xda),'roomType':a54i(0xd0),'exits':[{'direction':'UP','targetRoom':a54i(0xcd)}]},{'name':a54i(0xcd),'description':a54i(0x118),'roomType':a54i(0xd0),'puzzle':{'requiredPhrase':a54i(0x139),'riddle':'A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','rewardItem':{'type':a54i(0x12b),'name':'Sniper\x20Rifle','description':'A\x20long-range\x20weapon.'},'successMessage':'You\x20pull\x20the\x20sniper\x20rifle\x20from\x20the\x20gun\x20cabinet.\x20\x20Just\x20as\x20you\x20do,\x20you\x20hear\x20a\x20guy\x20from\x20the\x20Courtyard\x20yell\x20\x22HEY!\x20WHAT\x27S\x20YA\x20NAME?!\x22','failureMessage':'That\x20passcode\x20is\x20incorrect'}}];export const dungeonConfig=[{'name':a54i(0xf2),'description':a54i(0xf4),'isStartRoom':!![],'roomType':'inside','puzzle':{'requiredPhrase':a54i(0xf8),'riddle':a54i(0xd5),'rewardItem':{'type':a54i(0x11f),'name':a54i(0xc7),'description':a54i(0xca)},'successMessage':a54i(0xbf),'failureMessage':a54i(0xdc)},'exits':[{'direction':a54i(0x135),'targetRoom':a54i(0x103)},{'direction':a54i(0x101),'targetRoom':a54i(0x11b),'keyRequired':a54i(0xc7)}]},{'name':a54i(0x103),'description':a54i(0x125),'roomType':a54i(0xcc),'items':[{'type':a54i(0xe8),'name':a54i(0xff),'description':a54i(0x107),'content':a54i(0xeb)},{'type':a54i(0x11f),'name':'Central\x20Chamber\x20Key','description':'A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.'}],'exits':[{'direction':a54i(0x137),'targetRoom':'Entrance\x20Hall'},{'direction':a54i(0x101),'targetRoom':a54i(0x102)}]},{'name':a54i(0x102),'description':a54i(0xde),'roomType':a54i(0xcc),'items':[{'type':'basic','name':a54i(0xfc),'description':a54i(0xf9)}],'exits':[{'direction':a54i(0x130),'targetRoom':a54i(0x103)},{'direction':a54i(0x135),'targetRoom':a54i(0xcb)}]},{'name':a54i(0xcb),'description':a54i(0xbe),'roomType':'inside','items':[{'type':a54i(0xe9),'name':'Emblem\x20Shield','description':'A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.'},{'type':a54i(0xd6),'name':a54i(0x123),'description':a54i(0xdf)}],'exits':[{'direction':a54i(0x137),'targetRoom':'Alchemy\x20Lab'},{'direction':'east','targetRoom':a54i(0x11b)}]},{'name':'Central\x20Chamber','description':'A\x20large\x20circular\x20room\x20with\x20four\x20doors.','roomType':a54i(0xcc),'exits':[{'direction':a54i(0x130),'targetRoom':a54i(0xcb)},{'direction':a54i(0x137),'targetRoom':a54i(0xf2)},{'direction':a54i(0x135),'targetRoom':a54i(0xfd)},{'direction':a54i(0x101),'targetRoom':a54i(0x128)}]},{'name':a54i(0xfd),'description':a54i(0x112),'roomType':'inside','items':[{'type':'key','name':a54i(0x129),'description':a54i(0x12e)}],'puzzle':{'requiredPhrase':a54i(0xdb),'riddle':a54i(0x126),'rewardItem':{'type':'gem','name':a54i(0x12d),'description':a54i(0x12c)},'successMessage':'The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','failureMessage':a54i(0xf5)},'exits':[{'direction':a54i(0x137),'targetRoom':'Central\x20Chamber'}]},{'name':a54i(0x128),'description':a54i(0xe0),'roomType':'inside','puzzle':{'requiredPhrase':a54i(0xc9),'riddle':'The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','rewardItem':{'type':'cup','name':'Golden\x20Chalice','description':a54i(0xf1)},'successMessage':'The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','failureMessage':'The\x20chest\x20remains\x20firmly\x20shut.'},'exits':[{'direction':a54i(0x130),'targetRoom':a54i(0x11b)}]}];export const shadowrunConfig=[{'name':a54i(0xec),'description':a54i(0x10d),'isStartRoom':!![],'roomType':a54i(0xcc),'exits':[{'direction':a54i(0x135),'targetRoom':a54i(0x10c)},{'direction':'up','targetRoom':a54i(0xe2)}]},{'name':'Matrix\x20Data\x20Haven','description':a54i(0x106),'roomType':a54i(0xcc),'puzzle':{'requiredPhrase':a54i(0x115),'riddle':'Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','rewardItem':{'type':a54i(0x11f),'name':a54i(0xc5),'description':a54i(0x120)},'successMessage':a54i(0x10f),'failureMessage':a54i(0x10e)},'exits':[{'direction':a54i(0xd9),'targetRoom':a54i(0xec)}]},{'name':a54i(0x10c),'description':a54i(0x12a),'roomType':a54i(0xe4),'exits':[{'direction':a54i(0x137),'targetRoom':a54i(0xec)},{'direction':'east','targetRoom':a54i(0x134)},{'direction':'west','targetRoom':a54i(0xc6)}]},{'name':'Barrens\x20Entrance','description':'The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','roomType':a54i(0xe4),'puzzle':{'requiredPhrase':'show\x20loyalty','riddle':a54i(0x127),'rewardItem':{'type':a54i(0x11f),'name':a54i(0xcf),'description':a54i(0x11a)},'successMessage':a54i(0xc0),'failureMessage':a54i(0xd1)},'exits':[{'direction':a54i(0x130),'targetRoom':'Downtown\x20Seattle'},{'direction':a54i(0x135),'targetRoom':a54i(0x121)}]},{'name':a54i(0xc6),'description':a54i(0x13a),'roomType':a54i(0xcc),'items':[{'type':a54i(0xce),'name':a54i(0xee),'description':a54i(0xc1)},{'type':a54i(0xf0),'name':a54i(0x138),'description':a54i(0x12f)}],'exits':[{'direction':a54i(0x101),'targetRoom':'Downtown\x20Seattle'}]},{'name':a54i(0x121),'description':a54i(0x111),'roomType':a54i(0xe4),'items':[{'type':'weapon','name':a54i(0x132),'description':a54i(0x109)}],'exits':[{'direction':a54i(0x137),'targetRoom':'Barrens\x20Entrance'},{'direction':a54i(0x135),'targetRoom':'Mage\x27s\x20Lair'},{'direction':a54i(0x101),'targetRoom':a54i(0xe5)}]},{'name':a54i(0x119),'description':a54i(0x10a),'roomType':a54i(0xcc),'puzzle':{'requiredPhrase':a54i(0x10b),'riddle':a54i(0x114),'rewardItem':{'type':a54i(0xed),'name':'Amulet\x20of\x20Awakening','description':a54i(0x124)},'successMessage':a54i(0xdd),'failureMessage':a54i(0xe3)},'exits':[{'direction':a54i(0x137),'targetRoom':'Barrens\x20Hideout'}]},{'name':a54i(0xe5),'description':a54i(0x133),'roomType':a54i(0xcc),'items':[{'type':a54i(0xef),'name':a54i(0xc2),'description':a54i(0xd7)}],'exits':[{'direction':'west','targetRoom':a54i(0x121)}]}];