@maka/maka-cli 4.5.43 → 4.5.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/bundle/obf/package.json +1 -1
  2. package/bundle/obf/src/command.js +1 -1
  3. package/bundle/obf/src/commands/_index.js +1 -1
  4. package/bundle/obf/src/commands/ai.js +1 -1
  5. package/bundle/obf/src/commands/aws/_index.js +1 -1
  6. package/bundle/obf/src/commands/aws/aws.command.js +1 -1
  7. package/bundle/obf/src/commands/aws/chz.sub.cmd.js +1 -1
  8. package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -1
  9. package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -1
  10. package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -1
  11. package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -1
  12. package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -1
  13. package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -1
  14. package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -1
  15. package/bundle/obf/src/commands/aws/rdn.sub.cmd.js +1 -1
  16. package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -1
  17. package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -1
  18. package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -1
  19. package/bundle/obf/src/commands/build/_index.js +1 -1
  20. package/bundle/obf/src/commands/build/build.js +1 -1
  21. package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -1
  22. package/bundle/obf/src/commands/create.js +1 -1
  23. package/bundle/obf/src/commands/debug.js +1 -1
  24. package/bundle/obf/src/commands/deploy.js +1 -1
  25. package/bundle/obf/src/commands/game/_index.js +1 -1
  26. package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -1
  27. package/bundle/obf/src/commands/game/play.command.js +1 -1
  28. package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -1
  29. package/bundle/obf/src/commands/game/sideQuest/commands/command.js +1 -1
  30. package/bundle/obf/src/commands/game/sideQuest/commands/drop.js +1 -1
  31. package/bundle/obf/src/commands/game/sideQuest/commands/equip.js +1 -1
  32. package/bundle/obf/src/commands/game/sideQuest/commands/go.js +1 -1
  33. package/bundle/obf/src/commands/game/sideQuest/commands/lock.js +1 -1
  34. package/bundle/obf/src/commands/game/sideQuest/commands/look.js +1 -1
  35. package/bundle/obf/src/commands/game/sideQuest/commands/say.js +1 -1
  36. package/bundle/obf/src/commands/game/sideQuest/commands/search.js +1 -1
  37. package/bundle/obf/src/commands/game/sideQuest/commands/solve.js +1 -1
  38. package/bundle/obf/src/commands/game/sideQuest/commands/take.js +1 -1
  39. package/bundle/obf/src/commands/game/sideQuest/commands/unequip.js +1 -1
  40. package/bundle/obf/src/commands/game/sideQuest/commands/unlock.js +1 -1
  41. package/bundle/obf/src/commands/game/sideQuest/commands/use.js +1 -1
  42. package/bundle/obf/src/commands/game/sideQuest/factories/commandF.js +1 -1
  43. package/bundle/obf/src/commands/game/sideQuest/factories/roomsF.js +1 -1
  44. package/bundle/obf/src/commands/game/sideQuest/game.js +1 -1
  45. package/bundle/obf/src/commands/game/sideQuest/models/_index.js +1 -1
  46. package/bundle/obf/src/commands/game/sideQuest/models/door.js +1 -1
  47. package/bundle/obf/src/commands/game/sideQuest/models/inventory.js +1 -1
  48. package/bundle/obf/src/commands/game/sideQuest/models/item.js +1 -1
  49. package/bundle/obf/src/commands/game/sideQuest/models/npc.js +1 -1
  50. package/bundle/obf/src/commands/game/sideQuest/models/player.js +1 -1
  51. package/bundle/obf/src/commands/game/sideQuest/models/puzzle.js +1 -1
  52. package/bundle/obf/src/commands/game/sideQuest/models/room.js +1 -1
  53. package/bundle/obf/src/commands/game/sideQuest/models/scene.js +1 -1
  54. package/bundle/obf/src/commands/game/sideQuest/scenes/items.js +1 -1
  55. package/bundle/obf/src/commands/game/sideQuest/scenes/rooms.js +1 -1
  56. package/bundle/obf/src/commands/game/sideQuest/types/abstracts.js +1 -1
  57. package/bundle/obf/src/commands/game/sideQuest/types/enums.js +1 -1
  58. package/bundle/obf/src/commands/game/sideQuest/types/interfaces.js +1 -1
  59. package/bundle/obf/src/commands/game/sideQuest/types/types.js +1 -1
  60. package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -1
  61. package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -1
  62. package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -1
  63. package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -1
  64. package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -1
  65. package/bundle/obf/src/commands/generate.js +1 -1
  66. package/bundle/obf/src/commands/get/_index.js +1 -1
  67. package/bundle/obf/src/commands/get/get.command.js +1 -1
  68. package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -1
  69. package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -1
  70. package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -1
  71. package/bundle/obf/src/commands/help.js +1 -1
  72. package/bundle/obf/src/commands/jsdoc.js +1 -1
  73. package/bundle/obf/src/commands/lint.js +1 -1
  74. package/bundle/obf/src/commands/login.js +1 -1
  75. package/bundle/obf/src/commands/logout.js +1 -1
  76. package/bundle/obf/src/commands/logs.js +1 -1
  77. package/bundle/obf/src/commands/maka.cmd.js +1 -1
  78. package/bundle/obf/src/commands/murder.js +1 -1
  79. package/bundle/obf/src/commands/proxy.js +1 -1
  80. package/bundle/obf/src/commands/reconfig.js +1 -1
  81. package/bundle/obf/src/commands/run/_index.js +1 -1
  82. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
  83. package/bundle/obf/src/commands/run/run.command.js +1 -1
  84. package/bundle/obf/src/commands/set/_index.js +1 -1
  85. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
  86. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
  87. package/bundle/obf/src/commands/set/set.command.js +1 -1
  88. package/bundle/obf/src/commands/ssh.js +1 -1
  89. package/bundle/obf/src/commands/ssl.js +1 -1
  90. package/bundle/obf/src/commands/test.js +1 -1
  91. package/bundle/obf/src/commands/version.js +1 -1
  92. package/bundle/obf/src/error.js +1 -1
  93. package/bundle/obf/src/exec.js +1 -1
  94. package/bundle/obf/src/generator.js +1 -1
  95. package/bundle/obf/src/generators/_index.js +1 -1
  96. package/bundle/obf/src/generators/api.js +1 -1
  97. package/bundle/obf/src/generators/collection.js +1 -1
  98. package/bundle/obf/src/generators/component.js +1 -1
  99. package/bundle/obf/src/generators/config.js +1 -1
  100. package/bundle/obf/src/generators/dbc.js +1 -1
  101. package/bundle/obf/src/generators/dockerfile.js +1 -1
  102. package/bundle/obf/src/generators/hook.js +1 -1
  103. package/bundle/obf/src/generators/kit.js +1 -1
  104. package/bundle/obf/src/generators/layout.js +1 -1
  105. package/bundle/obf/src/generators/maka.gen.js +1 -1
  106. package/bundle/obf/src/generators/methods.js +1 -1
  107. package/bundle/obf/src/generators/package.js +1 -1
  108. package/bundle/obf/src/generators/page.js +1 -1
  109. package/bundle/obf/src/generators/publish.js +1 -1
  110. package/bundle/obf/src/generators/route.js +1 -1
  111. package/bundle/obf/src/generators/service.js +1 -1
  112. package/bundle/obf/src/generators/services/_index.js +1 -1
  113. package/bundle/obf/src/generators/services/openssl.js +1 -1
  114. package/bundle/obf/src/generators/services/translation.js +1 -1
  115. package/bundle/obf/src/maka.js +1 -1
  116. package/bundle/obf/src/tool.js +1 -1
  117. package/bundle/obf/src/tools/actions/actions.class.js +1 -1
  118. package/bundle/obf/src/tools/aws/aws.class.js +1 -1
  119. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
  120. package/bundle/obf/src/tools/docker/docker.class.js +1 -1
  121. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
  122. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
  123. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
  124. package/bundle/obf/src/tools/https/https.class.js +1 -1
  125. package/bundle/obf/src/tools/https/https.interface.js +1 -1
  126. package/bundle/obf/src/tools/log/log.class.js +1 -1
  127. package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
  128. package/bundle/obf/src/tools/options/options.class.js +1 -1
  129. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
  130. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
  131. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
  132. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
  133. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
  134. package/package.json +1 -1
@@ -1 +1 @@
1
- function a36c(){const k=['402746HKRlTI','\x22\x20from\x20','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','5748777QqYQsY','logger','name','getItem','write','1401928yAYZUo','\x22\x20is\x20too\x20heavy\x20to\x20carry.','78305MKderd','inventory','100TgjmTc','actor','Successfully\x20added\x20\x22','Item\x20\x22','toString','The\x20item\x20\x22','search','Error\x20during\x20\x27Take\x27\x20command:\x20','2qVrhWB','\x20during\x20\x27Take\x27\x20command.','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','\x22\x20in\x20this\x20room.','\x22\x20to\x20','1029ycikOc','10SKAdsp','take','addInventory','removeItem','46728lFMHCC','constructor','execute','join','15009181KQBMWp','\x22\x20not\x20retrieved\x20from\x20','message','currentLocation','toLowerCase','There\x20is\x20no\x20item\x20\x22','30336OKnfpz','Pick\x20up\x20an\x20item.'];a36c=function(){return k;};return a36c();}const a36h=a36d;(function(a,b){const f=a36d,c=a();while(!![]){try{const d=-parseInt(f(0x9c))/0x1*(parseInt(f(0xb1))/0x2)+-parseInt(f(0x90))/0x3+-parseInt(f(0xa9))/0x4*(parseInt(f(0xa7))/0x5)+-parseInt(f(0x9a))/0x6*(parseInt(f(0xb6))/0x7)+parseInt(f(0xa5))/0x8+parseInt(f(0xa0))/0x9+parseInt(f(0xb7))/0xa*(parseInt(f(0x94))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x98aea));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const g=a36d;return a36a[g(0xad)]()['search']('(((.+)+)+)+$')[g(0xad)]()[g(0x91)](a36a)[g(0xaf)]('(((.+)+)+)+$');});a36a();import{Command}from'./command.js';function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x90;let f=c[d];return f;},a36d(a,b);}export class TakeCommand extends Command{static ['verb']='take';static ['description']=a36h(0x9b);[a36h(0x92)](a){const i=a36h;return this[i(0xa1)][i(0xa4)](i(0x9e)+a[i(0x93)]('\x20')),this[i(0xb8)](a);}[a36h(0xb8)](a){const j=a36h,b=a[j(0x93)]('\x20')[j(0x98)](),c=this[j(0xaa)][j(0x97)];if(!c['inventory']['hasItem'](b))return this[j(0xa1)][j(0xa4)](j(0xac)+b+'\x22\x20not\x20found\x20in\x20'+c['name']+j(0xb2)),j(0x99)+b+j(0xb4);const d=c['inventory'][j(0xa3)](b);if(!d)return this[j(0xa1)][j(0xa4)]('Item\x20\x22'+b+j(0x95)+c[j(0xa2)]+j(0x9f)),j(0x99)+b+j(0xb4);try{return this[j(0xaa)][j(0xb9)](d),this[j(0xa1)][j(0xa4)](j(0xab)+b+j(0xb5)+this['actor'][j(0xa2)]+j(0xb3)),c[j(0xa8)][j(0xba)](b),this['logger'][j(0xa4)]('Successfully\x20removed\x20\x22'+b+j(0x9d)+c[j(0xa2)]+j(0x9f)),'You\x20have\x20taken\x20the\x20'+b+'.';}catch(e){return this[j(0xa1)][j(0xa4)](j(0xb0)+e[j(0x96)]),j(0xae)+b+j(0xa6);}}}
1
+ const a36i=a36d;function a36c(){const l=['\x20during\x20\x27Take\x27\x20command.','toString','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','name','\x22\x20is\x20too\x20heavy\x20to\x20carry.','\x22\x20not\x20found\x20in\x20','121252rNrGel','3898420EWaqVm','description','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','\x22\x20in\x20this\x20room.','704018bDEzOy','45129sJxbFv','apply','There\x20is\x20no\x20item\x20\x22','(((.+)+)+)+$','constructor','logger','503160CIxJTK','Successfully\x20added\x20\x22','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','\x22\x20from\x20','take','removeItem','search','1358868spUWsM','\x22\x20to\x20','write','join','720ObePQI','actor','Successfully\x20removed\x20\x22','The\x20item\x20\x22','857088zgNOSB','Error\x20during\x20\x27Take\x27\x20command:\x20','message','currentLocation'];a36c=function(){return l;};return a36c();}(function(a,b){const f=a36d,c=a();while(!![]){try{const d=parseInt(f(0xa2))/0x1+-parseInt(f(0xa7))/0x2+parseInt(f(0xbd))/0x3+parseInt(f(0xb5))/0x4+-parseInt(f(0xa3))/0x5+-parseInt(f(0xb9))/0x6*(-parseInt(f(0xa8))/0x7)+parseInt(f(0xae))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x6e3b3));function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x99;let f=c[d];return f;},a36d(a,b);}const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0xa9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a[h(0x9d)]()[h(0xb4)](h(0xab))[h(0x9d)]()[h(0xac)](a36a)[h(0xb4)](h(0xab));});a36a();import{Command}from'./command.js';export class TakeCommand extends Command{static ['verb']=a36i(0xb2);static [a36i(0xa4)]='Pick\x20up\x20an\x20item.';['execute'](a){const j=a36i;return this['logger']['write'](j(0xa5)+a[j(0xb8)]('\x20')),this['take'](a);}['take'](a){const k=a36i,b=a[k(0xb8)]('\x20')['toLowerCase'](),c=this[k(0xba)][k(0x9b)];if(!c['inventory']['hasItem'](b))return this[k(0xad)][k(0xb7)]('Item\x20\x22'+b+k(0xa1)+c[k(0x9f)]+k(0x9c)),'There\x20is\x20no\x20item\x20\x22'+b+k(0xa6);const d=c['inventory']['getItem'](b);if(!d)return this[k(0xad)][k(0xb7)]('Item\x20\x22'+b+'\x22\x20not\x20retrieved\x20from\x20'+c['name']+k(0xb0)),k(0xaa)+b+k(0xa6);try{return this['actor']['addInventory'](d),this['logger'][k(0xb7)](k(0xaf)+b+k(0xb6)+this[k(0xba)][k(0x9f)]+k(0x9e)),c['inventory'][k(0xb3)](b),this['logger'][k(0xb7)](k(0xbb)+b+k(0xb1)+c['name']+k(0xb0)),'You\x20have\x20taken\x20the\x20'+b+'.';}catch(e){return this[k(0xad)]['write'](k(0x99)+e[k(0x9a)]),k(0xbc)+b+k(0xa0);}}}
@@ -1 +1 @@
1
- function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x1a9;let f=c[d];return f;},a37d(a,b);}const a37i=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=parseInt(f(0x1bf))/0x1+-parseInt(f(0x1c3))/0x2*(parseInt(f(0x1ad))/0x3)+parseInt(f(0x1ac))/0x4*(-parseInt(f(0x1c0))/0x5)+-parseInt(f(0x1b2))/0x6+-parseInt(f(0x1ae))/0x7+-parseInt(f(0x1c2))/0x8*(parseInt(f(0x1b5))/0x9)+parseInt(f(0x1c1))/0xa*(parseInt(f(0x1b0))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0xe8cca));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0x1b4)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a[h(0x1be)]()[h(0x1b3)]('(((.+)+)+)+$')['toString']()[h(0x1bb)](a37a)['search'](h(0x1bd));});a37a();import{Command}from'./command.js';function a37c(){const k=['write','82475877TTCHtN','unequip','10515900YXasaR','search','apply','175779vVbysd','join','actor','UnequipCommand:\x20','description','name','constructor','logger','(((.+)+)+)+$','toString','305071hWdzBb','1474695NcwkDa','10dOwYkk','776hVVQrR','653726zkJOmQ','Unequip\x20an\x20item.','\x20unqeuiped\x20','toLowerCase','unqeuip','20jPPHnE','3hFSNQj','9804319cpIqSz'];a37c=function(){return k;};return a37c();}export class UnequipCommand extends Command{static ['verb']=a37i(0x1ab);static [a37i(0x1b9)]=a37i(0x1c4);['execute'](a){const j=a37i,b=a[j(0x1b6)]('\x20')[j(0x1aa)](),c=this[j(0x1b7)][j(0x1b1)](b);return this[j(0x1bc)][j(0x1af)](j(0x1b8)+this[j(0x1b7)][j(0x1ba)]+j(0x1a9)+c),c;}}
1
+ const a37i=a37d;function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x115;let f=c[d];return f;},a37d(a,b);}(function(a,b){const f=a37d,c=a();while(!![]){try{const d=parseInt(f(0x119))/0x1+-parseInt(f(0x116))/0x2+parseInt(f(0x128))/0x3*(parseInt(f(0x11e))/0x4)+parseInt(f(0x123))/0x5+parseInt(f(0x11c))/0x6*(-parseInt(f(0x118))/0x7)+-parseInt(f(0x117))/0x8*(-parseInt(f(0x127))/0x9)+parseInt(f(0x11d))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0xdd325));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0x126)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a['toString']()[h(0x11a)](h(0x120))[h(0x122)]()[h(0x124)](a37a)[h(0x11a)](h(0x120));});a37a();import{Command}from'./command.js';export class UnequipCommand extends Command{static ['verb']=a37i(0x11f);static [a37i(0x11b)]='Unequip\x20an\x20item.';['execute'](a){const j=a37i,b=a['join']('\x20')['toLowerCase'](),c=this[j(0x125)]['unequip'](b);return this[j(0x115)]['write']('UnequipCommand:\x20'+this[j(0x125)]['name']+j(0x121)+c),c;}}function a37c(){const k=['constructor','actor','apply','1625454KWhoys','1515fZwKFj','logger','2990996QYKqdf','16vFSoeV','192199kyPvdu','1120980CwiIIX','search','description','354pxgFlZ','16506530ZgaEPg','7024seVqeJ','unqeuip','(((.+)+)+)+$','\x20unqeuiped\x20','toString','9285sykdyx'];a37c=function(){return k;};return a37c();}
@@ -1 +1 @@
1
- function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0xff;let f=c[d];return f;},a38d(a,b);}const a38k=a38d;function a38c(){const m=['2699710HATBVo','.\x20Result:\x20','15067890wJvZQi','20GoJEXu','currentLocation','description','22UiVCGI','UnlockCommand:\x20','has','getItem','unlockItemOrSolution','exits','error','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','2850hpbBpC','(((.+)+)+)+$','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','91484GoUmvT','search','9038772tOsMUx','\x22\x20here.','length','execute','Unlock\x20a\x20door.','actor','constructor','apply','toLowerCase','name','3SuKAIo','logger','2175610TYfqZy','unlock','There\x27s\x20no\x20door\x20named\x20\x22','isValidDirection','inventory','5789MDHSmh','get','toString','571437cvduYT','write','8HjjEOS'];a38c=function(){return m;};return a38c();}(function(a,b){const h=a38d,c=a();while(!![]){try{const d=-parseInt(h(0x10a))/0x1+parseInt(h(0x102))/0x2*(parseInt(h(0x100))/0x3)+parseInt(h(0x11e))/0x4*(parseInt(h(0x110))/0x5)+parseInt(h(0x11b))/0x6*(parseInt(h(0x107))/0x7)+-parseInt(h(0x10c))/0x8*(-parseInt(h(0x10f))/0x9)+-parseInt(h(0x10d))/0xa+-parseInt(h(0x113))/0xb*(parseInt(h(0x120))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0xdb596));const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0x127)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0x109)]()[j(0x11f)](j(0x11c))['toString']()[j(0x126)](a38a)[j(0x11f)](j(0x11c));});a38a();import{Door}from'../models/door.js';import{Command}from'./command.js';export class UnlockCommand extends Command{static ['verb']=a38k(0x103);static [a38k(0x112)]=a38k(0x124);[a38k(0x123)](a){return this['unlock'](a);}[a38k(0x103)](a){const l=a38k;if(a[l(0x122)]===0x0)return this[l(0x101)][l(0x119)]('UnlockCommand:\x20No\x20target\x20specified.'),l(0x11a);const b=a[0x0][l(0x128)](),c=this[l(0x125)][l(0x111)];if(this[l(0x105)](b)&&c[l(0x118)][l(0x115)](b)){const d=c[l(0x118)][l(0x108)](b);if(d instanceof Door){const e=d[l(0x117)]?.[l(0x128)]();if(e&&this[l(0x125)][l(0x106)]['hasItem'](e)){const f=this[l(0x125)][l(0x106)][l(0x116)](e);if(f){const g=c['attemptUnlockExit'](b,f[l(0xff)]);return this[l(0x101)][l(0x10b)](l(0x114)+this['actor'][l(0xff)]+'\x20is\x20attempted\x20to\x20unlock\x20'+b+l(0x10e)+g),g;}}return this['logger'][l(0x10b)]('UnlockCommand:\x20'+this['actor'][l(0xff)]+'\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20'+b+'.'),'You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.';}else return this[l(0x101)][l(0x10b)](l(0x114)+b+l(0x11d)+c[l(0xff)]+'.'),'There\x27s\x20no\x20door\x20named\x20\x22'+b+l(0x121);}else return this[l(0x101)]['write'](l(0x114)+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'+c['name']+'.'),l(0x104)+b+'\x22\x20here.';}}
1
+ const a38k=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=-parseInt(h(0x172))/0x1+parseInt(h(0x170))/0x2*(-parseInt(h(0x16e))/0x3)+parseInt(h(0x174))/0x4*(-parseInt(h(0x189))/0x5)+-parseInt(h(0x18d))/0x6*(parseInt(h(0x186))/0x7)+parseInt(h(0x182))/0x8*(parseInt(h(0x18b))/0x9)+parseInt(h(0x165))/0xa+parseInt(h(0x17e))/0xb*(parseInt(h(0x17f))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0x9a9e8));function a38c(){const n=['UnlockCommand:\x20No\x20target\x20specified.','length','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','880059NNmipm','name','2bxUvPZ','unlock','106477ZglKiG','attemptUnlockExit','2873720bAKtys','actor','logger','get','currentLocation','error','inventory','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','There\x27s\x20no\x20door\x20named\x20\x22','getItem','2662YEpixL','14772ITAONQ','execute','verb','219352ddpmBz','\x20is\x20attempted\x20to\x20unlock\x20','toString','constructor','63469nlJWsx','search','exits','5FjaVRg','isValidDirection','279ElFJIw','\x22\x20here.','246jgMqnC','write','9754360ziwElf','apply','(((.+)+)+)+$','toLowerCase','hasItem','UnlockCommand:\x20'];a38c=function(){return n;};return a38c();}const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a38d;if(c){const e=c[i(0x166)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a['toString']()['search'](j(0x167))[j(0x184)]()[j(0x185)](a38a)[j(0x187)](j(0x167));});a38a();import{Door}from'../models/door.js';import{Command}from'./command.js';function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0x164;let f=c[d];return f;},a38d(a,b);}export class UnlockCommand extends Command{static [a38k(0x181)]='unlock';static ['description']='Unlock\x20a\x20door.';[a38k(0x180)](a){const l=a38k;return this[l(0x171)](a);}['unlock'](a){const m=a38k;if(a[m(0x16c)]===0x0)return this[m(0x176)][m(0x179)](m(0x16b)),m(0x16d);const b=a[0x0][m(0x168)](),c=this[m(0x175)][m(0x178)];if(this[m(0x18a)](b)&&c[m(0x188)]['has'](b)){const d=c['exits'][m(0x177)](b);if(d instanceof Door){const e=d['unlockItemOrSolution']?.['toLowerCase']();if(e&&this['actor'][m(0x17a)][m(0x169)](e)){const f=this[m(0x175)][m(0x17a)][m(0x17d)](e);if(f){const g=c[m(0x173)](b,f[m(0x16f)]);return this[m(0x176)][m(0x164)](m(0x16a)+this[m(0x175)][m(0x16f)]+m(0x183)+b+'.\x20Result:\x20'+g),g;}}return this[m(0x176)][m(0x164)](m(0x16a)+this[m(0x175)][m(0x16f)]+'\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20'+b+'.'),'You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.';}else return this[m(0x176)]['write']('UnlockCommand:\x20'+b+m(0x17b)+c[m(0x16f)]+'.'),m(0x17c)+b+m(0x18c);}else return this[m(0x176)][m(0x164)](m(0x16a)+b+m(0x17b)+c[m(0x16f)]+'.'),m(0x17c)+b+m(0x18c);}}
@@ -1 +1 @@
1
- function a39c(){const k=['execute',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','You\x20don\x27t\x20have\x20the\x20','780606ALOTCz','18NQxfXF','description','function','name','constructor','1279425VUeITu','\x20to\x20use.','You\x20can\x27t\x20use\x20the\x20','691780zzVPgO','toLowerCase','inventory','\x20used\x20','verb','Use\x20an\x20item.','toString','write','464720YKcDYm','UseCommand:\x20','81028EuBIQz','\x20in\x20this\x20way.','hasItem','logger','actor','use','\x20attempted\x20to\x20use\x20','getItem','22RTtmCj','33742dBGbvD','35fMQEhF','337916XfwBFU','\x20not\x20retrieved\x20from\x20','(((.+)+)+)+$','39HNthqq','join','\x27s\x20inventory.'];a39c=function(){return k;};return a39c();}const a39h=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=-parseInt(f(0x19f))/0x1+-parseInt(f(0x196))/0x2*(parseInt(f(0x1a4))/0x3)+-parseInt(f(0x1a1))/0x4*(-parseInt(f(0x1a0))/0x5)+-parseInt(f(0x1ab))/0x6*(-parseInt(f(0x1b0))/0x7)+-parseInt(f(0x194))/0x8+-parseInt(f(0x1aa))/0x9+parseInt(f(0x1b3))/0xa*(-parseInt(f(0x19e))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0x4848a));function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x193;let f=c[d];return f;},a39d(a,b);}const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const g=a39d;return a39a[g(0x1b9)]()['search'](g(0x1a3))[g(0x1b9)]()[g(0x1af)](a39a)['search'](g(0x1a3));});a39a();import{Command}from'./command.js';export class UseCommand extends Command{static [a39h(0x1b7)]='use';static [a39h(0x1ac)]=a39h(0x1b8);[a39h(0x1a7)](a){const i=a39h;return this[i(0x19b)](a);}['use'](a){const j=a39h,b=a[j(0x1a5)]('\x20')[j(0x1b4)]();if(!this[j(0x19a)]['inventory'][j(0x198)](b))return this[j(0x199)][j(0x193)](j(0x195)+this[j(0x19a)][j(0x1ae)]+j(0x19c)+b+j(0x1a8)),j(0x1a9)+b+j(0x1b1);const c=this['actor'][j(0x1b5)][j(0x19d)](b);if(!c)return this['logger'][j(0x193)](j(0x195)+b+j(0x1a2)+this[j(0x19a)]['name']+j(0x1a6)),j(0x1a9)+b+j(0x1b1);if(typeof c['use']===j(0x1ad)){const d=c[j(0x19b)]();return this['logger']['write'](j(0x195)+this[j(0x19a)]['name']+j(0x1b6)+b+'.'),d;}else return this[j(0x199)][j(0x193)](j(0x195)+b+'\x20doesn\x27t\x20have\x20a\x20use\x20method.'),j(0x1b2)+b+j(0x197);}}
1
+ const a39i=a39d;function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x141;let f=c[d];return f;},a39d(a,b);}(function(a,b){const f=a39d,c=a();while(!![]){try{const d=parseInt(f(0x151))/0x1*(parseInt(f(0x147))/0x2)+-parseInt(f(0x145))/0x3*(parseInt(f(0x15e))/0x4)+-parseInt(f(0x14a))/0x5*(parseInt(f(0x14d))/0x6)+parseInt(f(0x148))/0x7+-parseInt(f(0x159))/0x8+parseInt(f(0x154))/0x9*(parseInt(f(0x15a))/0xa)+parseInt(f(0x14c))/0xb*(parseInt(f(0x155))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xbeada));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0x14b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a[h(0x157)]()['search'](h(0x153))[h(0x157)]()[h(0x143)](a39a)[h(0x160)](h(0x153));});function a39c(){const l=['\x20doesn\x27t\x20have\x20a\x20use\x20method.','search','execute','use','write','function','\x20used\x20','actor','Use\x20an\x20item.','toLowerCase','constructor','UseCommand:\x20','7806LAqbsG','inventory','142mTUMHI','2145948Colsvs','logger','24860Wzebzl','apply','213906xQeuiR','222eVTPwB','getItem','name','join','19253hKoigj','\x20attempted\x20to\x20use\x20','(((.+)+)+)+$','36dRZppu','420LNCJFA',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','toString','description','9219032vsFCMQ','84580uWXaDj','\x20to\x20use.','\x20in\x20this\x20way.','\x20not\x20retrieved\x20from\x20','416ZoLfdg'];a39c=function(){return l;};return a39c();}a39a();import{Command}from'./command.js';export class UseCommand extends Command{static ['verb']='use';static [a39i(0x158)]=a39i(0x141);[a39i(0x161)](a){const j=a39i;return this[j(0x162)](a);}[a39i(0x162)](a){const k=a39i,b=a[k(0x150)]('\x20')[k(0x142)]();if(!this[k(0x166)][k(0x146)]['hasItem'](b))return this[k(0x149)][k(0x163)]('UseCommand:\x20'+this['actor'][k(0x14f)]+k(0x152)+b+k(0x156)),'You\x20don\x27t\x20have\x20the\x20'+b+k(0x15b);const c=this['actor']['inventory'][k(0x14e)](b);if(!c)return this[k(0x149)]['write'](k(0x144)+b+k(0x15d)+this[k(0x166)]['name']+'\x27s\x20inventory.'),'You\x20don\x27t\x20have\x20the\x20'+b+k(0x15b);if(typeof c[k(0x162)]===k(0x164)){const d=c[k(0x162)]();return this['logger'][k(0x163)](k(0x144)+this[k(0x166)][k(0x14f)]+k(0x165)+b+'.'),d;}else return this['logger'][k(0x163)](k(0x144)+b+k(0x15f)),'You\x20can\x27t\x20use\x20the\x20'+b+k(0x15c);}}
@@ -1 +1 @@
1
- const a40i=a40d;(function(a,b){const f=a40d,c=a();while(!![]){try{const d=-parseInt(f(0x106))/0x1+parseInt(f(0x108))/0x2+parseInt(f(0x114))/0x3*(-parseInt(f(0x10a))/0x4)+-parseInt(f(0x10f))/0x5*(parseInt(f(0x10d))/0x6)+-parseInt(f(0x112))/0x7+-parseInt(f(0x105))/0x8*(-parseInt(f(0x107))/0x9)+-parseInt(f(0x10b))/0xa*(-parseInt(f(0x103))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x58ce5));function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x103;let f=c[d];return f;},a40d(a,b);}function a40c(){const m=['toString','896LLtCpi','281197FIPbPS','49185flUDlx','1095296jaCeif','search','65332OhJjNj','232070hIdDxN','getAllRegisteredCommands','771942DISpJh','apply','15exkMEu','registerCommand','commandMap','3205986GdhHBw','(((.+)+)+)+$','12rvjPtw','187QpAjAT'];a40c=function(){return m;};return a40c();}const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0x10e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a['toString']()[h(0x109)](h(0x113))[h(0x104)]()['constructor'](a40a)[h(0x109)](h(0x113));});a40a();export class CommandFactory{static [a40i(0x111)]={};static[a40i(0x110)](a,b){const j=a40i;this[j(0x111)][a]=b;}static['createCommand'](a,b){const k=a40i,c=this[k(0x111)][a];if(c)return new c(b);return null;}static[a40i(0x10c)](){const l=a40i;return this[l(0x111)];}}
1
+ const a40i=a40d;function a40c(){const l=['commandMap','getAllRegisteredCommands','constructor','2194504ZsoJtu','apply','createCommand','19180380NBzrIg','registerCommand','27azdojw','565312VohjvX','12FIVXyQ','66990jYRDRS','995895KOPefs','2243269lkPuYH','6wGqgYe','188696nBqtZz','(((.+)+)+)+$','toString'];a40c=function(){return l;};return a40c();}function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x17a;let f=c[d];return f;},a40d(a,b);}(function(a,b){const f=a40d,c=a();while(!![]){try{const d=-parseInt(f(0x182))/0x1+-parseInt(f(0x17c))/0x2+-parseInt(f(0x184))/0x3+parseInt(f(0x183))/0x4*(parseInt(f(0x185))/0x5)+-parseInt(f(0x187))/0x6*(parseInt(f(0x186))/0x7)+parseInt(f(0x188))/0x8*(parseInt(f(0x181))/0x9)+parseInt(f(0x17f))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x8dd6f));const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0x17d)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a[h(0x18a)]()['search']('(((.+)+)+)+$')['toString']()[h(0x17b)](a40a)['search'](h(0x189));});a40a();export class CommandFactory{static [a40i(0x18b)]={};static[a40i(0x180)](a,b){const j=a40i;this[j(0x18b)][a]=b;}static[a40i(0x17e)](a,b){const c=this['commandMap'][a];if(c)return new c(b);return null;}static[a40i(0x17a)](){const k=a40i;return this[k(0x18b)];}}
@@ -1 +1 @@
1
- const a41k=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=-parseInt(f(0x193))/0x1+parseInt(f(0x17f))/0x2*(parseInt(f(0x196))/0x3)+parseInt(f(0x199))/0x4+parseInt(f(0x191))/0x5*(-parseInt(f(0x17d))/0x6)+-parseInt(f(0x19e))/0x7*(-parseInt(f(0x19c))/0x8)+-parseInt(f(0x187))/0x9+parseInt(f(0x19f))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0xaafec));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a41d;if(c){const e=c[g(0x17b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0x18e)]()[h(0x186)](h(0x19d))['toString']()[h(0x18d)](a41a)[h(0x186)](h(0x19d));});a41a();function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x179;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';function a41c(){const o=['rewardItem','5yOboDW','gauntlets','1009121yJGoIK','createItem','setPuzzle','1258737XZJbCL','book','description','2958304UrJwYS','helmet','boots','8bgmHog','(((.+)+)+)+$','2144639FQJbUf','4180790XoaghA','content','INSIDE','forEach','apply','gloves','1221630XvwxKw','toUpperCase','6WzbGKp','roomType','convertToRoomConfig','createPuzzle','name','bodyarmor','sword','search','7286823ZYtPFo','puzzle','legarmor','addItem','type','items','constructor','toString','key'];a41c=function(){return o;};return a41c();}export class RoomFactory{['createRoom'](a){const i=a41d,b=this[i(0x181)](a),c=new Room(b);if(a[i(0x18c)]){const d=new Inventory();a[i(0x18c)][i(0x17a)](e=>{const j=i;d[j(0x18a)](this['createItem'](e));}),c['inventory']=d;}return a[i(0x188)]&&c[i(0x195)](this[i(0x182)](a['puzzle'])),c;}[a41k(0x194)](a){const l=a41k;switch(a[l(0x18b)]){case l(0x18f):return new Key(a[l(0x183)],a[l(0x198)]);case l(0x197):return new Book(a['name'],a[l(0x198)],a[l(0x1a0)]);case l(0x185):return new Sword(a[l(0x183)],a['description']);case'rifle':return new Rifle(a[l(0x183)],a['description']);case l(0x19a):return new Helmet(a[l(0x183)],a[l(0x198)]);case l(0x184):return new BodyArmor(a[l(0x183)],a[l(0x198)]);case l(0x189):return new LegArmor(a[l(0x183)],a[l(0x198)]);case l(0x19b):return new Boots(a[l(0x183)],a[l(0x198)]);case l(0x17c):return new Gloves(a[l(0x183)],a[l(0x198)]);case l(0x192):return new Gauntlets(a[l(0x183)],a[l(0x198)]);default:return new BasicItem(a[l(0x183)],a[l(0x198)]);}}['createPuzzle'](a){const m=a41k,b=this[m(0x194)](a[m(0x190)]);return new Puzzle({...a,'rewardItem':b});}[a41k(0x181)](a){const n=a41k,b=a[n(0x180)]&&RoomType[a[n(0x180)][n(0x17e)]()]?RoomType[a[n(0x180)][n(0x17e)]()]:RoomType[n(0x179)];return{'name':a[n(0x183)],'description':a[n(0x198)],'isStartRoom':a['isStartRoom'],'roomType':b};}}
1
+ const a41i=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=-parseInt(f(0x86))/0x1+-parseInt(f(0x6f))/0x2+parseInt(f(0x7f))/0x3+parseInt(f(0x6d))/0x4+parseInt(f(0x6a))/0x5+parseInt(f(0x8a))/0x6+-parseInt(f(0x7a))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0xcf753));function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x6a;let f=c[d];return f;},a41d(a,b);}function a41c(){const o=['content','5196504BKTFGD','book','1678162iamHde','items','createItem','description','gauntlets','toString','createRoom','legarmor','(((.+)+)+)+$','bodyarmor','helmet','11914889ISydPv','apply','convertToRoomConfig','puzzle','INSIDE','4926243JMfXCK','isStartRoom','name','toUpperCase','search','rifle','roomType','1623815zxxcuQ','setPuzzle','gloves','inventory','6762066cQnwRq','4732760QSaLka','createPuzzle'];a41c=function(){return o;};return a41c();}const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a41d;if(c){const e=c[g(0x7b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0x74)]()['search'](h(0x77))[h(0x74)]()['constructor'](a41a)[h(0x83)]('(((.+)+)+)+$');});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{[a41i(0x75)](a){const j=a41i,b=this['convertToRoomConfig'](a),c=new Room(b);if(a[j(0x70)]){const d=new Inventory();a[j(0x70)]['forEach'](e=>{const k=j;d['addItem'](this[k(0x71)](e));}),c[j(0x89)]=d;}return a[j(0x7d)]&&c[j(0x87)](this[j(0x6b)](a[j(0x7d)])),c;}[a41i(0x71)](a){const l=a41i;switch(a['type']){case'key':return new Key(a[l(0x81)],a[l(0x72)]);case l(0x6e):return new Book(a['name'],a[l(0x72)],a[l(0x6c)]);case'sword':return new Sword(a[l(0x81)],a[l(0x72)]);case l(0x84):return new Rifle(a[l(0x81)],a[l(0x72)]);case l(0x79):return new Helmet(a[l(0x81)],a[l(0x72)]);case l(0x78):return new BodyArmor(a[l(0x81)],a[l(0x72)]);case l(0x76):return new LegArmor(a[l(0x81)],a['description']);case'boots':return new Boots(a[l(0x81)],a['description']);case l(0x88):return new Gloves(a['name'],a[l(0x72)]);case l(0x73):return new Gauntlets(a['name'],a[l(0x72)]);default:return new BasicItem(a['name'],a[l(0x72)]);}}[a41i(0x6b)](a){const m=a41i,b=this[m(0x71)](a['rewardItem']);return new Puzzle({...a,'rewardItem':b});}[a41i(0x7c)](a){const n=a41i,b=a['roomType']&&RoomType[a[n(0x85)][n(0x82)]()]?RoomType[a[n(0x85)][n(0x82)]()]:RoomType[n(0x7e)];return{'name':a[n(0x81)],'description':a[n(0x72)],'isStartRoom':a[n(0x80)],'roomType':b};}}
@@ -1 +1 @@
1
- const a42j=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0xfe))/0x1+-parseInt(h(0x108))/0x2+parseInt(h(0xfc))/0x3+-parseInt(h(0xfb))/0x4+-parseInt(h(0x10a))/0x5+-parseInt(h(0x124))/0x6+parseInt(h(0xff))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0x7191f));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const i=a42d;return a42a['toString']()[i(0x101)](i(0x11e))['toString']()[i(0x123)](a42a)['search'](i(0x11e));});a42a();import{Scene}from'./models/scene.js';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0xfb;let f=c[d];return f;},a42d(a,b);}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 r=['getAllRegisteredCommands','quit','getRooms','1512194rBkpZq','scene','939565VxWrpO','Welcome,\x20','use','instance','execute','drop','equip','currentLocation','split','maka','registerCommand','help','Available\x20Commands:\x0a','handleInput','-\x20clear:\x20Clear\x20the\x20screen.\x0a','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','player','look','lock','name','(((.+)+)+)+$','-\x20quit:\x20Exit\x20the\x20game.\x0a','hasOwnProperty','solve','getWelcomeMessage','constructor','3005124oBCMJN','determineStartRoom','getHelpMessage','createCommand','toLowerCase','1976468wlCVAU','961881CVTUZC','rooms','520047oTPSfD','18225088sEylhJ','trim','search','clear','registerCommands','unequip'];a42c=function(){return r;};return a42c();}import{SolveCommand}from'./commands/solve.js';import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';import{LockCommand}from'./commands/lock.js';import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42j(0x10d)];[a42j(0x109)];['player'];['currentRoom'];[a42j(0xfd)];constructor(a,b){const k=a42j;this[k(0x11a)]=a,this[k(0x109)]=new Scene({'player':a,'roomConfiguration':b}),this[k(0x109)]['initialize'](),this[k(0x11a)][k(0x111)]=this[k(0x125)](),this['registerCommands']();}[a42j(0x103)](){const l=a42j;CommandFactory[l(0x114)](l(0x11b),LookCommand),CommandFactory[l(0x114)]('go',GoCommand),CommandFactory[l(0x114)]('take',TakeCommand),CommandFactory[l(0x114)](l(0x10c),UseCommand),CommandFactory[l(0x114)](l(0x110),EquipCommand),CommandFactory[l(0x114)](l(0x104),UnequipCommand),CommandFactory[l(0x114)](l(0x121),SolveCommand),CommandFactory[l(0x114)](l(0x10f),DropCommand),CommandFactory[l(0x114)]('unlock',UnlockCommand),CommandFactory['registerCommand'](l(0x11c),LockCommand),CommandFactory[l(0x114)](l(0x101),SearchCommand),CommandFactory['registerCommand']('say',SayCommand);}[a42j(0x125)](){const m=a42j;return this['scene'][m(0x125)]();}[a42j(0x122)](){const n=a42j;return n(0x10b)+this['player'][n(0x11d)];}static['getInstance'](a,b){const o=a42j;return!Game['instance']&&(Game['instance']=new Game(a,b)),Game[o(0x10d)];}[a42j(0x117)](a){const p=a42j,b=a[p(0x100)]()[p(0x112)]('\x20'),c=b[0x0][p(0x128)](),d=b['slice'](0x1);if(c===p(0x106))return null;if(c===p(0x113))return p(0x119);if(c===p(0x115))return this[p(0x126)]();if(c===p(0x102))return'';const e={'actor':this[p(0x11a)],'rooms':this['scene'][p(0x107)](),'scene':this[p(0x109)]},f=CommandFactory[p(0x127)](c,e);if(f){const g=f[p(0x10e)](d);return g;}return'I\x20don\x27t\x20understand\x20the\x20command\x20\x22'+c+'\x22.';}['getHelpMessage'](){const q=a42j,a=CommandFactory[q(0x105)]();let b=q(0x116);for(const c in a){if(a[q(0x120)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d['getDescription']()+'\x0a';}}return b+=q(0x118),b+=q(0x11f),b;}}
1
+ const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0x102))/0x1*(parseInt(h(0xee))/0x2)+parseInt(h(0x107))/0x3+parseInt(h(0x101))/0x4*(-parseInt(h(0xf7))/0x5)+-parseInt(h(0xf8))/0x6*(-parseInt(h(0x110))/0x7)+-parseInt(h(0x113))/0x8+parseInt(h(0xf4))/0x9+parseInt(h(0xeb))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0xc7ced));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0xef)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a[j(0xff)]()[j(0xea)](j(0x10c))[j(0xff)]()[j(0xfc)](a42a)['search'](j(0x10c));});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=['getRooms','quit','createCommand','-\x20clear:\x20Clear\x20the\x20screen.\x0a','(((.+)+)+)+$','instance','equip','Available\x20Commands:\x0a','7pksMHQ','registerCommand','handleInput','12533832uAsJhF','getHelpMessage','currentLocation','say','use','search','3697330GsLJvH','unlock','determineStartRoom','12aYLkKq','apply','Welcome,\x20','maka','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','split','4674591GJpPDz','initialize','registerCommands','319830BMdIuO','8890170TgNoRm','hasOwnProperty','getDescription','scene','constructor','toLowerCase','look','toString','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','8WLUuso','234804WSdXoA','lock','take','clear','player','4653213vPBFjw'];a42c=function(){return s;};return a42c();}import{SolveCommand}from'./commands/solve.js';import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0xe7;let f=c[d];return f;},a42d(a,b);}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 ['instance'];[a42k(0xfb)];['player'];['currentRoom'];['rooms'];constructor(a,b){const l=a42k;this['player']=a,this['scene']=new Scene({'player':a,'roomConfiguration':b}),this['scene'][l(0xf5)](),this[l(0x106)][l(0xe7)]=this['determineStartRoom'](),this[l(0xf6)]();}[a42k(0xf6)](){const m=a42k;CommandFactory[m(0x111)](m(0xfe),LookCommand),CommandFactory[m(0x111)]('go',GoCommand),CommandFactory['registerCommand'](m(0x104),TakeCommand),CommandFactory[m(0x111)](m(0xe9),UseCommand),CommandFactory['registerCommand'](m(0x10e),EquipCommand),CommandFactory['registerCommand']('unequip',UnequipCommand),CommandFactory[m(0x111)]('solve',SolveCommand),CommandFactory['registerCommand']('drop',DropCommand),CommandFactory[m(0x111)](m(0xec),UnlockCommand),CommandFactory[m(0x111)](m(0x103),LockCommand),CommandFactory[m(0x111)]('search',SearchCommand),CommandFactory[m(0x111)](m(0xe8),SayCommand);}['determineStartRoom'](){const n=a42k;return this[n(0xfb)][n(0xed)]();}['getWelcomeMessage'](){const o=a42k;return o(0xf0)+this[o(0x106)]['name'];}static['getInstance'](a,b){const p=a42k;return!Game[p(0x10d)]&&(Game[p(0x10d)]=new Game(a,b)),Game[p(0x10d)];}[a42k(0x112)](a){const q=a42k,b=a['trim']()[q(0xf3)]('\x20'),c=b[0x0][q(0xfd)](),d=b['slice'](0x1);if(c===q(0x109))return null;if(c===q(0xf1))return q(0xf2);if(c==='help')return this[q(0x114)]();if(c===q(0x105))return'';const e={'actor':this[q(0x106)],'rooms':this[q(0xfb)][q(0x108)](),'scene':this[q(0xfb)]},f=CommandFactory[q(0x10a)](c,e);if(f){const g=f['execute'](d);return g;}return q(0x100)+c+'\x22.';}[a42k(0x114)](){const r=a42k,a=CommandFactory['getAllRegisteredCommands']();let b=r(0x10f);for(const c in a){if(a[r(0xf9)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[r(0xfa)]()+'\x0a';}}return b+=r(0x10b),b+='-\x20quit:\x20Exit\x20the\x20game.\x0a',b;}}
@@ -1 +1 @@
1
- function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x19d;var f=c[d];return f;},a43d(a,b);}(function(a,b){var f=a43d,c=a();while(!![]){try{var d=parseInt(f(0x19d))/0x1*(-parseInt(f(0x1a2))/0x2)+parseInt(f(0x1aa))/0x3*(parseInt(f(0x1a6))/0x4)+-parseInt(f(0x19e))/0x5*(-parseInt(f(0x1ab))/0x6)+parseInt(f(0x19f))/0x7+-parseInt(f(0x1a3))/0x8+-parseInt(f(0x1a9))/0x9+parseInt(f(0x1a4))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0xd9fd6));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x1a1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a[h(0x1a5)]()['search'](h(0x1a8))[h(0x1a5)]()[h(0x1a0)](a43a)[h(0x1a7)]('(((.+)+)+)+$');});function a43c(){var i=['2BGWgAf','315ABGPSf','7384307aNlIcr','constructor','apply','457246sSdnSh','3494584CbdOVx','10050230mbPsve','toString','68NyLdPz','search','(((.+)+)+)+$','8741682FSDbaF','121767DPmxrd','792sRSnay'];a43c=function(){return i;};return a43c();}a43a();export*from'./door.js';export*from'./inventory.js';export*from'./item.js';export*from'./npc.js';export*from'./player.js';export*from'./puzzle.js';export*from'./room.js';export*from'./scene.js';
1
+ (function(a,b){var f=a43d,c=a();while(!![]){try{var d=-parseInt(f(0x16e))/0x1*(-parseInt(f(0x173))/0x2)+-parseInt(f(0x177))/0x3+parseInt(f(0x174))/0x4+-parseInt(f(0x16c))/0x5+-parseInt(f(0x171))/0x6*(parseInt(f(0x178))/0x7)+parseInt(f(0x16d))/0x8+parseInt(f(0x16b))/0x9*(parseInt(f(0x175))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x57742));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x170)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a[h(0x16f)]()[h(0x172)]('(((.+)+)+)+$')[h(0x16f)]()[h(0x176)](a43a)['search']('(((.+)+)+)+$');});a43a();function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x16b;var f=c[d];return f;},a43d(a,b);}export*from'./door.js';export*from'./inventory.js';function a43c(){var i=['18HDpEox','search','10lAfuwz','251836XEWhGz','18691770aGdtNp','constructor','1772586paBtzI','1506351vnEHCD','9SLZfbm','2575775JgijBm','345440jFzpHr','26898kZoWXO','toString','apply'];a43c=function(){return i;};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(0xc9))/0x1*(-parseInt(f(0xc5))/0x2)+-parseInt(f(0xc8))/0x3+parseInt(f(0xcd))/0x4*(-parseInt(f(0xdc))/0x5)+-parseInt(f(0xce))/0x6*(-parseInt(f(0xdb))/0x7)+parseInt(f(0xd8))/0x8*(parseInt(f(0xd1))/0x9)+parseInt(f(0xd0))/0xa*(parseInt(f(0xbd))/0xb)+parseInt(f(0xcf))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0x79fbf));var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0xc6)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a['toString']()[h(0xd3)](h(0xba))[h(0xc0)]()[h(0xbb)](a44a)[h(0xd3)](h(0xba));});a44a();import{Logger}from'../utilities/logger.js';function a44c(){var n=['330LetnZC','8260983OCciBC','isLocked','search','roomB','logger','checkIfLocked','.\x20Used:\x20','8bAfCvF','unlockItemOrSolution','name','7ZUFHkk','5IccFSf','attemptUnlock','(((.+)+)+)+$','constructor','Door\x20unlocked:\x20','328273WBSKpd','To\x20','roomA','toString','getInstance','\x20and\x20','Failed\x20to\x20unlock\x20door:\x20','.\x20Is\x20Locked:\x20','2YrKuMx','apply','write','437352EiSmXe','622187rvyEXT','Door\x20created\x20between\x20','checkIfLockable','isLockable','2966024MSGlwi','629718IFaNKJ','17580MwFlCw'];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-0xb9;var f=c[d];return f;},a44d(a,b);}export class Door extends AbstractDoor{[a44i(0xbf)];[a44i(0xd4)];['isLocked'];[a44i(0xd9)];[a44i(0xda)];[a44i(0xd5)];[a44i(0xcc)];constructor(a){var j=a44i;super(),this[j(0xbf)]=a[j(0xbf)],this[j(0xd4)]=a['roomB'],this['isLocked']=a[j(0xd2)]||![],this[j(0xd9)]=a[j(0xd9)],this['name']=a[j(0xda)]?capitalCase(a['name']):j(0xbe)+a['roomB'][j(0xda)],this[j(0xd5)]=Logger[j(0xc1)](),this['isLockable']=!!a['unlockItemOrSolution'],this['logger'][j(0xc7)](j(0xca)+this[j(0xbf)][j(0xda)]+j(0xc2)+this[j(0xd4)]['name']+j(0xc4)+this[j(0xd2)]);}['getOtherSide'](a){var k=a44i;return this[k(0xbf)]===a?this[k(0xd4)]:this[k(0xbf)];}[a44i(0xb9)](a){var l=a44i;if(this['isLocked']&&this[l(0xd9)]&&this[l(0xd9)]===a)return this[l(0xd2)]=![],this[l(0xd5)][l(0xc7)](l(0xbc)+this['name']+l(0xd7)+a),!![];return this['logger'][l(0xc7)](l(0xc3)+this['name']+l(0xd7)+a),![];}[a44i(0xd6)](){var m=a44i;return this[m(0xd2)];}[a44i(0xcb)](){return this['isLockable'];}}
1
+ var a44i=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0xc8))/0x1+-parseInt(f(0xcb))/0x2*(-parseInt(f(0xd1))/0x3)+-parseInt(f(0xdb))/0x4+-parseInt(f(0xc3))/0x5+-parseInt(f(0xc7))/0x6*(-parseInt(f(0xd0))/0x7)+parseInt(f(0xda))/0x8+-parseInt(f(0xc6))/0x9*(-parseInt(f(0xdd))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0xd334f));var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0xc9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a[h(0xcf)]()['search'](h(0xc5))['toString']()[h(0xc4)](a44a)['search'](h(0xc5));});a44a();import{Logger}from'../utilities/logger.js';import{capitalCase}from'change-case';function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0xc0;var f=c[d];return f;},a44d(a,b);}function a44c(){var n=['constructor','(((.+)+)+)+$','1138419BkgHlU','3197370RHFOMw','847191tclbMd','apply','roomB','66536EpCHJF','Door\x20unlocked:\x20','logger','isLocked','toString','21TyBIgz','18sAmWvJ','name','.\x20Used:\x20','getInstance','write','roomA','checkIfLocked','\x20and\x20','getOtherSide','9983400dQESVY','1439708SHVcsP','unlockItemOrSolution','40zDyxoJ','attemptUnlock','isLockable','Failed\x20to\x20unlock\x20door:\x20','.\x20Is\x20Locked:\x20','7399805RTJnRP'];a44c=function(){return n;};return a44c();}import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{[a44i(0xd6)];['roomB'];[a44i(0xce)];[a44i(0xdc)];[a44i(0xd2)];[a44i(0xcd)];['isLockable'];constructor(a){var j=a44i;super(),this[j(0xd6)]=a[j(0xd6)],this[j(0xca)]=a[j(0xca)],this['isLocked']=a[j(0xce)]||![],this[j(0xdc)]=a['unlockItemOrSolution'],this[j(0xd2)]=a['name']?capitalCase(a[j(0xd2)]):'To\x20'+a[j(0xca)][j(0xd2)],this[j(0xcd)]=Logger[j(0xd4)](),this[j(0xc0)]=!!a[j(0xdc)],this['logger'][j(0xd5)]('Door\x20created\x20between\x20'+this[j(0xd6)][j(0xd2)]+j(0xd8)+this['roomB'][j(0xd2)]+j(0xc2)+this[j(0xce)]);}[a44i(0xd9)](a){var k=a44i;return this[k(0xd6)]===a?this[k(0xca)]:this[k(0xd6)];}[a44i(0xde)](a){var l=a44i;if(this[l(0xce)]&&this[l(0xdc)]&&this[l(0xdc)]===a)return this[l(0xce)]=![],this[l(0xcd)][l(0xd5)](l(0xcc)+this[l(0xd2)]+l(0xd3)+a),!![];return this[l(0xcd)][l(0xd5)](l(0xc1)+this[l(0xd2)]+'.\x20Used:\x20'+a),![];}[a44i(0xd7)](){return this['isLocked'];}['checkIfLockable'](){var m=a44i;return this[m(0xc0)];}}
@@ -1 +1 @@
1
- const a45i=a45d;function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0x88;let f=c[d];return f;},a45d(a,b);}(function(a,b){const f=a45d,c=a();while(!![]){try{const d=-parseInt(f(0xab))/0x1+-parseInt(f(0x8e))/0x2*(parseInt(f(0xa3))/0x3)+parseInt(f(0x8d))/0x4*(-parseInt(f(0xa8))/0x5)+parseInt(f(0xa7))/0x6*(-parseInt(f(0xa6))/0x7)+parseInt(f(0xa0))/0x8+parseInt(f(0x9b))/0x9*(parseInt(f(0xac))/0xa)+parseInt(f(0x9f))/0xb*(parseInt(f(0xaa))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0x307c7));const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0xa1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a[h(0x96)]()['search']('(((.+)+)+)+$')[h(0x96)]()[h(0xad)](a45a)[h(0x88)]('(((.+)+)+)+$');});a45a();import{capitalCase}from'change-case';function a45c(){const r=['9AcGskI','\x20to\x20inventory.','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','join','22xAEoHp','1131392LegSXg','apply','Removed\x20item:\x20','18pAKqtA','removeItem','set','7awnMiz','1832124eJJRRV','22835PWcesD','has','4854084pHVtCH','307370BqCxBM','1435880LrcNgv','constructor','\x20in\x20','write','search','\x20from\x20inventory.','get','Failed\x20to\x20remove\x20item:\x20','map','220DqaHwV','10506kCnezZ','logger','listItems','weight','keys','items','toLowerCase','Checked\x20for\x20item:\x20','toString','Retrieved\x20details\x20for\x20item:\x20','getItem','Listed\x20items\x20in\x20inventory:\x20','values'];a45c=function(){return r;};return a45c();}import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{[a45i(0x93)];['logger'];constructor(){const j=a45i;super(),this[j(0x93)]=new Map(),this[j(0x8f)]=Logger['getInstance']();}['addItem'](a){const k=a45i;this[k(0x93)][k(0xa5)](a['name'][k(0x94)](),a),this['logger'][k(0xaf)]('Added\x20item:\x20'+a['name']+k(0x9c));}[a45i(0xa4)](a){const l=a45i,b=this[l(0x98)](a);if(b)return this[l(0x93)]['delete'](a['toLowerCase']()),this[l(0x8f)][l(0xaf)](l(0xa2)+a+l(0x89)),b;return this['logger']['write'](l(0x8b)+a+'.\x20Item\x20not\x20found.'),null;}['hasItem'](a){const m=a45i,b=this[m(0x93)][m(0xa9)](a[m(0x94)]()),c=[...this[m(0x93)][m(0x92)]()];return this[m(0x8f)][m(0xaf)](m(0x95)+a+m(0xae)+c[m(0x9e)](',\x20')+'.\x20Exists:\x20'+b+'.'),b;}[a45i(0x98)](a){const n=a45i,b=this[n(0x93)][n(0x8a)](a[n(0x94)]())||null;return b?this[n(0x8f)][n(0xaf)](n(0x97)+a+'.'):this['logger'][n(0xaf)](n(0x9d)+a+'.\x20Item\x20not\x20found.'),b;}[a45i(0x90)](){const o=a45i,a=[...this[o(0x93)][o(0x92)]()],b=a[o(0x8c)](c=>capitalCase(c));return this[o(0x8f)]['write'](o(0x99)+b[o(0x9e)](',\x20')+'.'),a;}['getWeight'](){const p=a45i;let a=0x0;for(const b of this[p(0x93)][p(0x9a)]()){a+=b[p(0x91)];}return a;}['getAllItems'](){const q=a45i;return[...this[q(0x93)]['values']()];}}
1
+ const a45i=a45d;(function(a,b){const f=a45d,c=a();while(!![]){try{const d=parseInt(f(0x197))/0x1+-parseInt(f(0x19c))/0x2*(parseInt(f(0x194))/0x3)+parseInt(f(0x18a))/0x4+-parseInt(f(0x19b))/0x5+parseInt(f(0x182))/0x6*(-parseInt(f(0x198))/0x7)+-parseInt(f(0x19a))/0x8*(-parseInt(f(0x19f))/0x9)+-parseInt(f(0x1a0))/0xa*(-parseInt(f(0x18d))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0xf3096));function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0x17e;let f=c[d];return f;},a45d(a,b);}const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0x181)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a[h(0x196)]()[h(0x199)](h(0x18e))[h(0x196)]()[h(0x193)](a45a)['search'](h(0x18e));});a45a();import{capitalCase}from'change-case';import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';function a45c(){const r=['constructor','52413EeVhaq','toLowerCase','toString','778808EZeDAU','1102115OPUkkr','search','459256oqLyAV','7655470vKUbKh','90HAHylC','weight','\x20in\x20','261wCPbqw','429190JKbHKh','join','Failed\x20to\x20remove\x20item:\x20','keys','Removed\x20item:\x20','values','name','Checked\x20for\x20item:\x20','get','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','apply','6pgRGbZ','logger','items','getItem','hasItem','map','getWeight','write','3934728oZqZgi','.\x20Exists:\x20','.\x20Item\x20not\x20found.','11EqChtW','(((.+)+)+)+$','listItems','Added\x20item:\x20','set','Retrieved\x20details\x20for\x20item:\x20'];a45c=function(){return r;};return a45c();}export class Inventory extends AbstractInventory{[a45i(0x184)];['logger'];constructor(){const j=a45i;super(),this['items']=new Map(),this[j(0x183)]=Logger['getInstance']();}['addItem'](a){const k=a45i;this[k(0x184)][k(0x191)](a[k(0x1a6)][k(0x195)](),a),this[k(0x183)]['write'](k(0x190)+a['name']+'\x20to\x20inventory.');}['removeItem'](a){const l=a45i,b=this['getItem'](a);if(b)return this['items']['delete'](a[l(0x195)]()),this[l(0x183)][l(0x189)](l(0x1a4)+a+'\x20from\x20inventory.'),b;return this[l(0x183)][l(0x189)](l(0x1a2)+a+l(0x18c)),null;}[a45i(0x186)](a){const m=a45i,b=this[m(0x184)]['has'](a['toLowerCase']()),c=[...this['items'][m(0x1a3)]()];return this[m(0x183)][m(0x189)](m(0x17e)+a+m(0x19e)+c[m(0x1a1)](',\x20')+m(0x18b)+b+'.'),b;}[a45i(0x185)](a){const n=a45i,b=this[n(0x184)][n(0x17f)](a[n(0x195)]())||null;return b?this['logger'][n(0x189)](n(0x192)+a+'.'):this[n(0x183)][n(0x189)](n(0x180)+a+n(0x18c)),b;}[a45i(0x18f)](){const o=a45i,a=[...this[o(0x184)][o(0x1a3)]()],b=a[o(0x187)](c=>capitalCase(c));return this['logger']['write']('Listed\x20items\x20in\x20inventory:\x20'+b[o(0x1a1)](',\x20')+'.'),a;}[a45i(0x188)](){const p=a45i;let a=0x0;for(const b of this[p(0x184)]['values']()){a+=b[p(0x19d)];}return a;}['getAllItems'](){const q=a45i;return[...this[q(0x184)][q(0x1a5)]()];}}
@@ -1 +1 @@
1
- var a46h=a46d;(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0x141))/0x1*(parseInt(f(0x150))/0x2)+parseInt(f(0x14a))/0x3*(-parseInt(f(0x149))/0x4)+-parseInt(f(0x14c))/0x5+-parseInt(f(0x148))/0x6*(parseInt(f(0x147))/0x7)+-parseInt(f(0x157))/0x8*(-parseInt(f(0x143))/0x9)+-parseInt(f(0x140))/0xa*(parseInt(f(0x156))/0xb)+parseInt(f(0x154))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0xf3226));function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x13f;var f=c[d];return f;},a46d(a,b);}var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var g=a46d;return a46a['toString']()[g(0x14e)]('(((.+)+)+)+$')[g(0x158)]()['constructor'](a46a)[g(0x14e)]('(((.+)+)+)+$');});a46a();import{v4 as a46e}from'uuid';function a46c(){var k=['use','search','color','1094buBHoR','texture','.\x20Nothing\x20special\x20happens.','shape','44082888wvSOtu','rating','6941dTOVCI','7456856gXhqVo','toString','uuid','15790cEkIVr','2721FCRvfG','weight','18UJhkOs','description','name','category','7MixfOd','1512150YSuvIv','19952tjLejt','213aemDYy','size','7255005GRcnmy'];a46c=function(){return k;};return a46c();}import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{['uuid'];[a46h(0x145)];[a46h(0x144)];['size'];['category'];['shape'];[a46h(0x14f)];['texture'];[a46h(0x155)];[a46h(0x142)];constructor(a){var i=a46h;super(),this['name']=a[i(0x145)],this[i(0x144)]=a[i(0x144)],this[i(0x14b)]=a[i(0x14b)],this['category']=a[i(0x146)],this['shape']=a[i(0x153)],this[i(0x14f)]=a['color'],this[i(0x151)]=a['texture'],this['rating']=a['rating'],this[i(0x142)]=a[i(0x142)],this[i(0x13f)]=a46e();}[a46h(0x14d)](){var j=a46h;return'You\x20use\x20the\x20'+this[j(0x145)]+j(0x152);}}
1
+ var a46i=a46d;function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x19b;var f=c[d];return f;},a46d(a,b);}(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0x1a3))/0x1+-parseInt(f(0x19d))/0x2*(parseInt(f(0x1ae))/0x3)+-parseInt(f(0x1a2))/0x4+-parseInt(f(0x1a1))/0x5+-parseInt(f(0x1b1))/0x6+parseInt(f(0x1a4))/0x7+parseInt(f(0x19b))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x636e0));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0x19e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a[h(0x19c)]()[h(0x1b2)](h(0x1a7))[h(0x19c)]()[h(0x1ad)](a46a)[h(0x1b2)](h(0x1a7));});function a46c(){var l=['(((.+)+)+)+$','shape','.\x20Nothing\x20special\x20happens.','texture','weight','size','constructor','12PUOESY','category','name','684846ZoQBCQ','search','17932192goxTEW','toString','298138QbjuWi','apply','use','rating','2121000mvtXRq','2295632txpqlA','187040AkOIVp','429135NVDzRb','description','color'];a46c=function(){return l;};return a46c();}a46a();import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{['uuid'];[a46i(0x1b0)];[a46i(0x1a5)];[a46i(0x1ac)];['category'];[a46i(0x1a8)];[a46i(0x1a6)];[a46i(0x1aa)];['rating'];[a46i(0x1ab)];constructor(a){var j=a46i;super(),this[j(0x1b0)]=a[j(0x1b0)],this[j(0x1a5)]=a[j(0x1a5)],this[j(0x1ac)]=a[j(0x1ac)],this[j(0x1af)]=a[j(0x1af)],this[j(0x1a8)]=a[j(0x1a8)],this[j(0x1a6)]=a[j(0x1a6)],this[j(0x1aa)]=a['texture'],this[j(0x1a0)]=a[j(0x1a0)],this[j(0x1ab)]=a[j(0x1ab)],this['uuid']=a46e();}[a46i(0x19f)](){var k=a46i;return'You\x20use\x20the\x20'+this[k(0x1b0)]+k(0x1a9);}}
@@ -1 +1 @@
1
- const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=-parseInt(f(0x162))/0x1+-parseInt(f(0x160))/0x2*(-parseInt(f(0x150))/0x3)+-parseInt(f(0x14c))/0x4*(-parseInt(f(0x155))/0x5)+-parseInt(f(0x161))/0x6+-parseInt(f(0x15b))/0x7+parseInt(f(0x14d))/0x8+-parseInt(f(0x153))/0x9*(-parseInt(f(0x15e))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0x19645));function a47c(){const o=['4rTNmqh','331712ByKiiM','rooms','speak','3iUccHE','floor','search','14805MXGfTE','random','588635WumbsY','length','toString','name','execute','_dialogue','155372LGzXHX','(((.+)+)+)+$','autonomousMove','860fJFDrm','scene','225832MmgsCq','686502PgFECL','172959TncfdZ','apply','moveTo','_name'];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(0x163)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a[h(0x157)]()[h(0x152)]('(((.+)+)+)+$')['toString']()['constructor'](a47a)[h(0x152)](h(0x15c));});function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x14a;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{['_name'];[a47i(0x15a)];[a47i(0x14e)];[a47i(0x15f)];constructor(a,b,c,d){const j=a47i;super(d),this[j(0x14b)]=a,this[j(0x15a)]=b,this[j(0x14e)]=c;}get[a47i(0x158)](){const k=a47i;return this[k(0x14b)];}[a47i(0x14f)](){const l=a47i;return this['_dialogue'][Math[l(0x151)](Math[l(0x154)]()*this[l(0x15a)]['length'])];}[a47i(0x15d)](a){const m=a47i,b=a[Math['floor'](Math['random']()*a[m(0x156)])];this[m(0x14a)](b[m(0x158)]);}[a47i(0x14a)](a){const n=a47i,b={'actor':this,'rooms':this[n(0x14e)],'scene':this[n(0x15f)]},c=new GoCommand(b);c[n(0x159)]([a]);}}
1
+ const a47h=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0x1e9))/0x1*(parseInt(f(0x1e2))/0x2)+-parseInt(f(0x1e8))/0x3+-parseInt(f(0x1d6))/0x4*(-parseInt(f(0x1d9))/0x5)+parseInt(f(0x1d7))/0x6+-parseInt(f(0x1dc))/0x7+parseInt(f(0x1df))/0x8+-parseInt(f(0x1e5))/0x9*(-parseInt(f(0x1e1))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0xecbbc));function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x1d3;let f=c[d];return f;},a47d(a,b);}const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const g=a47d;return a47a[g(0x1ea)]()[g(0x1de)](g(0x1d4))[g(0x1ea)]()[g(0x1e3)](a47a)['search'](g(0x1d4));});a47a();import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';export class NPC extends Player{['_name'];[a47h(0x1e6)];[a47h(0x1d8)];[a47h(0x1db)];constructor(a,b,c,d){const i=a47h;super(d),this[i(0x1e7)]=a,this['_dialogue']=b,this['rooms']=c;}get[a47h(0x1dd)](){const j=a47h;return this[j(0x1e7)];}[a47h(0x1d5)](){const k=a47h;return this[k(0x1e6)][Math[k(0x1d3)](Math[k(0x1da)]()*this[k(0x1e6)][k(0x1e4)])];}[a47h(0x1eb)](a){const l=a47h,b=a[Math['floor'](Math[l(0x1da)]()*a['length'])];this[l(0x1e0)](b['name']);}[a47h(0x1e0)](a){const m=a47h,b={'actor':this,'rooms':this[m(0x1d8)],'scene':this['scene']},c=new GoCommand(b);c[m(0x1ec)]([a]);}}function a47c(){const n=['5JTahcy','random','scene','9808939ILcbtu','name','search','13149104JgRWId','moveTo','6457480KccLHC','482170rSvXWl','constructor','length','18JzlnzV','_dialogue','_name','4327218IwRDYV','2ypgkSx','toString','autonomousMove','execute','floor','(((.+)+)+)+$','speak','60136bTDsGm','2286030mfAahB','rooms'];a47c=function(){return n;};return a47c();}
@@ -1 +1 @@
1
- function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x156;let f=c[d];return f;},a48d(a,b);}const a48h=a48d;function a48c(){const A=['156804JMRdSo','_inventory','inventoryItems','helmet','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','playerName','61192eqKYQE','\x20from\x20player\x27s\x20inventory.','Hat','search','You\x20don\x27t\x20have\x20','\x20slot.','unequip','2277ZCfwBW','736149zPIWqM','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','torso','\x20is\x20no\x20longer\x20listeng\x20in\x20','Nexus','logger','currentLocation','body\x20armor','188127tZHPPv','7548519FHtvTx','A\x20featureless\x20room','hear','Added\x20','toString','Boots','includes','name','You\x20can\x27t\x20equip\x20','determineEquipmentSlot','getWeight','rightHand','addItem','off','You\x20unequipped\x20','hat','weapon','enterRoom','LegArmor','49jcESqW','bodyarmor','canEquip','feet','addInventory','arms','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','removeInventory','leaveRoom','write','ArmArmor','maxCarryingWeight','equip','_currentLocation','equipment','Invalid\x20category\x20or\x20slot:\x20','965180wiVlmi','category','unequipBySlot','arm\x20armor','weight','\x20to\x20player\x27s\x20inventory.','BodyArmor','values','(((.+)+)+)+$','152ihHnTs','boots','_equipment','bind','_maxCarryingWeight','getInstance','head','\x20is\x20now\x20listening\x20in\x20room\x20','\x20says:\x20\x22','Weapon','Max\x20carrying\x20weight\x20must\x20be\x20positive.','gloves','log','140VVdHwA','_playerName','Failed\x20to\x20remove\x20','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','legarmor','toLowerCase','Removed\x20','206dzkumn','\x20in\x20your\x20inventory.','You\x20equipped\x20','Gloves'];a48c=function(){return A;};return a48c();}(function(a,b){const f=a48d,c=a();while(!![]){try{const d=-parseInt(f(0x16e))/0x1*(-parseInt(f(0x15d))/0x2)+-parseInt(f(0x16f))/0x3+-parseInt(f(0x167))/0x4*(-parseInt(f(0x1b1))/0x5)+parseInt(f(0x161))/0x6*(parseInt(f(0x18b))/0x7)+-parseInt(f(0x1a4))/0x8*(-parseInt(f(0x177))/0x9)+-parseInt(f(0x19b))/0xa+-parseInt(f(0x178))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x34738));const a48b=(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;};}()),a48a=a48b(this,function(){const g=a48d;return a48a[g(0x17c)]()[g(0x16a)](g(0x1a3))[g(0x17c)]()['constructor'](a48a)['search'](g(0x1a3));});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{[a48h(0x156)];[a48h(0x198)];[a48h(0x162)];[a48h(0x1a6)];['_maxCarryingWeight']=0x32;[a48h(0x174)];constructor(a){const i=a48h;super(),this[i(0x156)]=a[i(0x166)],this[i(0x198)]=a['startLocation']||new Room({'name':i(0x173),'description':i(0x179)}),this[i(0x162)]=new Inventory(),this[i(0x174)]=Logger[i(0x1a9)]();if(a?.['inventoryItems'])for(const b of a[i(0x163)]){this[i(0x162)]['addItem'](b);}this[i(0x1a6)]=a?.['initialEquipment']||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48h(0x17f)](){const j=a48h;return this[j(0x156)];}get[a48h(0x175)](){return this['_currentLocation'];}set[a48h(0x175)](a){const k=a48h;this['_currentLocation']!==a&&(this[k(0x193)](),this[k(0x189)](a)),this['_currentLocation']=a;}get['inventory'](){const l=a48h;return this[l(0x162)];}get[a48h(0x199)](){return this['_equipment'];}set['equipment'](a){const m=a48h;this[m(0x1a6)]=a;}get['maxCarryingWeight'](){const n=a48h;return this[n(0x1a8)];}set[a48h(0x196)](a){const o=a48h;a>0x0?this[o(0x1a8)]=a:console['error'](o(0x1ae));}get['currentWeight'](){const p=a48h;let a=this['_inventory'][p(0x182)]();for(const b in this['_equipment']){const c=this[p(0x1a6)][b];c&&(a+=c[p(0x19f)]);}return a;}[a48h(0x18f)](a){const q=a48h;if(this['currentWeight']+a[q(0x19f)]>this[q(0x196)]){this['logger'][q(0x194)](q(0x165));throw new Error(q(0x191));}this['_inventory'][q(0x184)](a),this['logger'][q(0x194)](q(0x17b)+a[q(0x17f)]+q(0x1a0));}[a48h(0x192)](a){const r=a48h;if(this[r(0x162)]['removeItem'](a[r(0x17f)]))return this[r(0x174)][r(0x194)](r(0x15c)+a[r(0x17f)]+r(0x168)),!![];return this[r(0x174)][r(0x194)](r(0x157)+a[r(0x17f)]+r(0x168)),![];}[a48h(0x197)](a){const s=a48h;if(!this[s(0x162)]['hasItem'](a[s(0x17f)]))return s(0x16b)+a[s(0x17f)]+s(0x15e);if(!this['canEquip'](a))return s(0x180)+a[s(0x17f)]+'.';const b=this['determineEquipmentSlot'](a[s(0x19c)]);if(!b)return a[s(0x17f)]+s(0x158);if(this['equipment'][b])return s(0x170)+b+'.\x20You\x20must\x20unequip\x20it\x20first.';return this[s(0x199)][b]=a,this['removeInventory'](a),s(0x15f)+a[s(0x17f)]+'.';}[a48h(0x16d)](a){const t=a48h;let b=a;if(!this[t(0x199)][camelCase(b)]){b=this[t(0x181)](a);if(!b)return t(0x19a)+a+'.';}return this[t(0x19d)](b);}[a48h(0x181)](a){const u=a48h;switch(a['toLowerCase']()){case Category[u(0x1ad)][u(0x15b)]():return u(0x183);case Category['Shield'][u(0x15b)]():return'leftHand';case Category[u(0x160)][u(0x15b)]():return u(0x1af);case Category['Helmet']['toLowerCase']():case Category[u(0x169)]['toLowerCase']():return u(0x1aa);case Category[u(0x17d)][u(0x15b)]():return'feet';case Category[u(0x18a)][u(0x15b)]():return'legs';case Category[u(0x195)][u(0x15b)]():return u(0x190);case Category[u(0x1a1)][u(0x15b)]():return'torso';case u(0x188):return u(0x183);case'shield':return'leftHand';case u(0x1af):return'gloves';case u(0x164):case u(0x187):return u(0x1aa);case u(0x1a5):return u(0x18e);case'leg\x20armor':case u(0x15a):return'legs';case u(0x19e):case'armarmor':return'arms';case u(0x176):case u(0x18c):case u(0x171):return u(0x171);default:return null;}}[a48h(0x18d)](a){const v=a48h;return Object[v(0x1a2)](Category)[v(0x17e)](a['category']);}['unequipBySlot'](a){const w=a48h,b=this[w(0x199)][a];if(!b)return w(0x159)+a+w(0x16c);return this[w(0x18f)](b),this[w(0x199)][a]=null,w(0x186)+b[w(0x17f)]+'.';}[a48h(0x17a)](a,b){const x=a48h;a!==this&&this[x(0x174)][x(0x1b0)](a[x(0x17f)]+x(0x1ac)+b+'\x22');}[a48h(0x189)](a){const y=a48h;this['_currentLocation']=a,a['on']('speak',this[y(0x17a)][y(0x1a7)](this)),this[y(0x174)][y(0x194)](this['name']+y(0x1ab)+a[y(0x17f)]);}[a48h(0x193)](){const z=a48h;this['_currentLocation']&&(this['_currentLocation'][z(0x185)]('speak',this[z(0x17a)]['bind'](this)),this['logger'][z(0x194)](this[z(0x17f)]+z(0x172)+this[z(0x198)]['name']));}}
1
+ const a48i=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0xba))/0x1*(parseInt(f(0xfb))/0x2)+parseInt(f(0xce))/0x3+parseInt(f(0xc0))/0x4*(-parseInt(f(0xf5))/0x5)+-parseInt(f(0xa8))/0x6*(-parseInt(f(0xe3))/0x7)+-parseInt(f(0xf2))/0x8+parseInt(f(0xff))/0x9*(-parseInt(f(0xd6))/0xa)+parseInt(f(0xf8))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0xd9aff));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0xbc)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a['toString']()[h(0xe6)](h(0xac))[h(0xea)]()[h(0xaf)](a48a)[h(0xe6)](h(0xac));});a48a();function a48c(){const D=['getInstance','maxCarryingWeight','Failed\x20to\x20remove\x20','.\x20You\x20must\x20unequip\x20it\x20first.','name','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','_maxCarryingWeight','bind','leaveRoom','12TxtmYA','currentLocation','equip','equipment','(((.+)+)+)+$','\x20is\x20no\x20longer\x20listeng\x20in\x20','\x20says:\x20\x22','constructor','values','leftHand','speak','log','_currentLocation','removeItem','weapon','You\x20don\x27t\x20have\x20','rightHand','Nexus','75273NruNjU','\x20to\x20player\x27s\x20inventory.','apply','You\x20equipped\x20','toLowerCase','A\x20featureless\x20room','4eQMElC','_playerName','inventoryItems','head','LegArmor','helmet','write','body\x20armor','_equipment','currentWeight','Boots','getWeight','bodyarmor','\x20in\x20your\x20inventory.','3914466WdntGN','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','Shield','unequip','addItem','gloves','legs','includes','10FHaGkx','legarmor','ArmArmor','arms','leg\x20armor','logger','hear','_inventory','inventory','arm\x20armor','weight','playerName','torso','4896346tDVBlT','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','removeInventory','search','Removed\x20','unequipBySlot','enterRoom','toString','Gloves','addInventory','category','canEquip','off','\x20from\x20player\x27s\x20inventory.','Hat','3285872gRbQuB','Max\x20carrying\x20weight\x20must\x20be\x20positive.','armarmor','4849645lYgIRr','You\x20can\x27t\x20equip\x20','startLocation','8017328qeJTXA','hasItem','You\x20unequipped\x20','6HrHiwH','error','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','determineEquipmentSlot','12475215cjMdHf','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.'];a48c=function(){return D;};return a48c();}function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0xa5;let f=c[d];return f;},a48d(a,b);}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{['_playerName'];[a48i(0xb4)];['_inventory'];[a48i(0xc8)];['_maxCarryingWeight']=0x32;[a48i(0xdb)];constructor(a){const j=a48i;super(),this['_playerName']=a[j(0xe1)],this[j(0xb4)]=a[j(0xf7)]||new Room({'name':j(0xb9),'description':j(0xbf)}),this[j(0xdd)]=new Inventory(),this[j(0xdb)]=Logger[j(0x101)]();if(a?.['inventoryItems'])for(const b of a[j(0xc2)]){this[j(0xdd)][j(0xd2)](b);}this[j(0xc8)]=a?.['initialEquipment']||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48i(0x105)](){const k=a48i;return this[k(0xc1)];}get[a48i(0xa9)](){const l=a48i;return this[l(0xb4)];}set['currentLocation'](a){const m=a48i;this[m(0xb4)]!==a&&(this[m(0xa7)](),this[m(0xe9)](a)),this[m(0xb4)]=a;}get[a48i(0xde)](){const n=a48i;return this[n(0xdd)];}get['equipment'](){const o=a48i;return this[o(0xc8)];}set[a48i(0xab)](a){const p=a48i;this[p(0xc8)]=a;}get[a48i(0x102)](){const q=a48i;return this[q(0xa5)];}set[a48i(0x102)](a){const r=a48i;a>0x0?this[r(0xa5)]=a:console[r(0xfc)](r(0xf3));}get[a48i(0xc9)](){const s=a48i;let a=this['_inventory'][s(0xcb)]();for(const b in this[s(0xc8)]){const c=this[s(0xc8)][b];c&&(a+=c['weight']);}return a;}[a48i(0xec)](a){const t=a48i;if(this[t(0xc9)]+a[t(0xe0)]>this[t(0x102)]){this[t(0xdb)][t(0xc6)](t(0xcf));throw new Error(t(0xfd));}this[t(0xdd)][t(0xd2)](a),this[t(0xdb)][t(0xc6)]('Added\x20'+a[t(0x105)]+t(0xbb));}[a48i(0xe5)](a){const u=a48i;if(this[u(0xdd)][u(0xb5)](a['name']))return this[u(0xdb)][u(0xc6)](u(0xe7)+a[u(0x105)]+u(0xf0)),!![];return this[u(0xdb)][u(0xc6)](u(0x103)+a[u(0x105)]+'\x20from\x20player\x27s\x20inventory.'),![];}[a48i(0xaa)](a){const v=a48i;if(!this[v(0xdd)][v(0xf9)](a[v(0x105)]))return v(0xb7)+a[v(0x105)]+v(0xcd);if(!this[v(0xee)](a))return v(0xf6)+a[v(0x105)]+'.';const b=this[v(0xfe)](a[v(0xed)]);if(!b)return a[v(0x105)]+v(0x100);if(this['equipment'][b])return v(0x106)+b+v(0x104);return this[v(0xab)][b]=a,this[v(0xe5)](a),v(0xbd)+a['name']+'.';}[a48i(0xd1)](a){const w=a48i;let b=a;if(!this['equipment'][camelCase(b)]){b=this[w(0xfe)](a);if(!b)return'Invalid\x20category\x20or\x20slot:\x20'+a+'.';}return this[w(0xe8)](b);}[a48i(0xfe)](a){const x=a48i;switch(a['toLowerCase']()){case Category['Weapon'][x(0xbe)]():return x(0xb8);case Category[x(0xd0)][x(0xbe)]():return x(0xb1);case Category[x(0xeb)][x(0xbe)]():return x(0xd3);case Category['Helmet'][x(0xbe)]():case Category[x(0xf1)][x(0xbe)]():return x(0xc3);case Category[x(0xca)][x(0xbe)]():return'feet';case Category[x(0xc4)][x(0xbe)]():return x(0xd4);case Category[x(0xd8)]['toLowerCase']():return x(0xd9);case Category['BodyArmor'][x(0xbe)]():return x(0xe2);case x(0xb6):return x(0xb8);case'shield':return x(0xb1);case x(0xd3):return'gloves';case x(0xc5):case'hat':return x(0xc3);case'boots':return'feet';case x(0xda):case x(0xd7):return x(0xd4);case x(0xdf):case x(0xf4):return'arms';case x(0xc7):case x(0xcc):case'torso':return'torso';default:return null;}}[a48i(0xee)](a){const y=a48i;return Object[y(0xb0)](Category)[y(0xd5)](a[y(0xed)]);}[a48i(0xe8)](a){const z=a48i,b=this[z(0xab)][a];if(!b)return z(0xe4)+a+'\x20slot.';return this[z(0xec)](b),this['equipment'][a]=null,z(0xfa)+b['name']+'.';}[a48i(0xdc)](a,b){const A=a48i;a!==this&&this[A(0xdb)][A(0xb3)](a[A(0x105)]+A(0xae)+b+'\x22');}[a48i(0xe9)](a){const B=a48i;this[B(0xb4)]=a,a['on'](B(0xb2),this[B(0xdc)][B(0xa6)](this)),this[B(0xdb)][B(0xc6)](this['name']+'\x20is\x20now\x20listening\x20in\x20room\x20'+a['name']);}[a48i(0xa7)](){const C=a48i;this[C(0xb4)]&&(this[C(0xb4)][C(0xef)](C(0xb2),this[C(0xdc)][C(0xa6)](this)),this[C(0xdb)]['write'](this[C(0x105)]+C(0xad)+this['_currentLocation']['name']));}}
@@ -1 +1 @@
1
- var a49h=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0xf9))/0x1*(parseInt(f(0xf8))/0x2)+parseInt(f(0x10d))/0x3+-parseInt(f(0xff))/0x4*(parseInt(f(0xf5))/0x5)+parseInt(f(0x10b))/0x6+parseInt(f(0x10c))/0x7+parseInt(f(0x106))/0x8+-parseInt(f(0xfc))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0x8907b));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(0xf7)]()[g(0x100)](g(0xf1))['toString']()[g(0xfe)](a49a)['search'](g(0xf1));});function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0xf0;var f=c[d];return f;},a49d(a,b);}a49a();import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';function a49c(){var m=['solve','riddle','requiredItem','write','requiredPhrase','7003680EwLsqY','rewardItem','successMessage','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','getInstance','4638258tzvouO','7237895GWYqCu','1849851mvJCGv','hasRequiredItem','(((.+)+)+)+$','Puzzle:\x20Correct\x20solution\x20provided.','failureMessage','logger','32955gyrkCf','solved','toString','72yXkQkR','3398qzxRRR','hasItem','You\x20have\x20already\x20solved\x20this\x20puzzle.','17140167DUAKeR','matchesRequiredPhrase','constructor','580bsjaza','search'];a49c=function(){return m;};return a49c();}export class Puzzle extends AbstractPuzzle{[a49h(0xf4)]=Logger[a49h(0x10a)]();[a49h(0xf6)]=![];['requiredItem'];[a49h(0x105)];[a49h(0x102)];[a49h(0x107)];[a49h(0x108)];[a49h(0xf3)];constructor(a){var i=a49h;super(),this[i(0x103)]=a[i(0x103)],this[i(0x105)]=a[i(0x105)],this[i(0x102)]=a[i(0x102)],this[i(0x107)]=a[i(0x107)],this[i(0x108)]=a[i(0x108)]||'You\x20solved\x20the\x20puzzle!',this[i(0xf3)]=a[i(0xf3)]||i(0x109);}[a49h(0xf0)](a){var j=a49h;if(this[j(0x103)])return a[j(0xfa)](this[j(0x103)]);return![];}[a49h(0xfd)](a){var k=a49h;return this[k(0x105)]===a;}[a49h(0x101)](a,b){var l=a49h;if(this[l(0xf6)])return this[l(0xf4)][l(0x104)]('Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.'),{'success':![],'message':l(0xfb)};return this['hasRequiredItem'](b)||this[l(0xfd)](a)?(this[l(0xf6)]=!![],this[l(0xf4)][l(0x104)](l(0xf2)),{'success':!![],'message':this['successMessage']}):(this['logger'][l(0x104)]('Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.'),{'success':![],'message':this[l(0xf3)]});}}
1
+ var a49h=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=-parseInt(f(0x16d))/0x1+parseInt(f(0x16f))/0x2*(parseInt(f(0x163))/0x3)+parseInt(f(0x15b))/0x4+-parseInt(f(0x15c))/0x5*(-parseInt(f(0x161))/0x6)+-parseInt(f(0x15a))/0x7*(parseInt(f(0x156))/0x8)+parseInt(f(0x166))/0x9*(parseInt(f(0x16c))/0xa)+parseInt(f(0x15e))/0xb*(-parseInt(f(0x15f))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0x92789));function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x14f;var f=c[d];return f;},a49d(a,b);}function a49c(){var m=['2150696WkozEk','20nBMMpL','search','11vvKYJy','12664116RcBsiD','successMessage','291882ohtfCc','failureMessage','162SZCuig','riddle','hasItem','324774ygYvOa','(((.+)+)+)+$','solved','You\x20solved\x20the\x20puzzle!','getInstance','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','280XYCPiN','812195uxItAg','Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.','42052FmqmeZ','requiredItem','requiredPhrase','hasRequiredItem','toString','Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.','constructor','solve','matchesRequiredPhrase','write','53848btodqN','rewardItem','You\x20have\x20already\x20solved\x20this\x20puzzle.','logger','427lJpUob'];a49c=function(){return m;};return a49c();}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(0x150)]()[g(0x15d)](g(0x167))[g(0x150)]()[g(0x152)](a49a)[g(0x15d)](g(0x167));});a49a();import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{[a49h(0x159)]=Logger[a49h(0x16a)]();[a49h(0x168)]=![];[a49h(0x170)];['requiredPhrase'];[a49h(0x164)];[a49h(0x157)];[a49h(0x160)];['failureMessage'];constructor(a){var i=a49h;super(),this[i(0x170)]=a[i(0x170)],this['requiredPhrase']=a[i(0x171)],this[i(0x164)]=a[i(0x164)],this[i(0x157)]=a['rewardItem'],this['successMessage']=a[i(0x160)]||i(0x169),this[i(0x162)]=a[i(0x162)]||i(0x16b);}[a49h(0x14f)](a){var j=a49h;if(this[j(0x170)])return a[j(0x165)](this[j(0x170)]);return![];}[a49h(0x154)](a){var k=a49h;return this[k(0x171)]===a;}[a49h(0x153)](a,b){var l=a49h;if(this[l(0x168)])return this[l(0x159)][l(0x155)](l(0x16e)),{'success':![],'message':l(0x158)};return this[l(0x14f)](b)||this['matchesRequiredPhrase'](a)?(this['solved']=!![],this[l(0x159)]['write']('Puzzle:\x20Correct\x20solution\x20provided.'),{'success':!![],'message':this[l(0x160)]}):(this[l(0x159)][l(0x155)](l(0x151)),{'success':![],'message':this[l(0x162)]});}}
@@ -1 +1 @@
1
- const a50i=a50d;(function(a,b){const f=a50d,c=a();while(!![]){try{const d=parseInt(f(0x165))/0x1*(-parseInt(f(0x13a))/0x2)+-parseInt(f(0x13c))/0x3+parseInt(f(0x12c))/0x4+parseInt(f(0x14e))/0x5+-parseInt(f(0x142))/0x6*(-parseInt(f(0x14b))/0x7)+-parseInt(f(0x131))/0x8+parseInt(f(0x130))/0x9*(parseInt(f(0x167))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0xdcc6f));function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x12a;let f=c[d];return f;},a50d(a,b);}const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x141)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0x13b)]()['search'](h(0x151))[h(0x13b)]()[h(0x161)](a50a)[h(0x153)](h(0x151));});a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';function a50c(){const u=['There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','NORTH','Fetching\x20exit\x20in\x20direction:\x20','4sPdmPp','toString','4775232AJlBZS','roomB','roomType','removeItem','\x20is\x20locked.\x20Result:\x20','apply','4949754zVMRRt','setPuzzle','north','Room\x20created:\x20','description','riddle','set','hasItem','logger','7qWQSMu','name','exits','5817865RUknTe','get','say','(((.+)+)+)+$','Item\x20added\x20to\x20room\x20','search','write','The\x20','INSIDE','west','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','Item\x20removed\x20from\x20room\x20','addItem','checkIfLocked','EAST','WEST','getInstance','puzzle','addExit','constructor','inventory','down','No\x20locked\x20exit\x20found\x20in\x20direction\x20','550993FXjjki','SOUTH','18917780YwWTKU','isStartRoom','\x20remains\x20locked.','.\x20Success:\x20','236316clpZNH','Invalid\x20direction:\x20','getExit','findExistingDoor','9YpNUTo','2730848TxAoUS','speak','roomA','Puzzle\x20set\x20for\x20room\x20','Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20','DOWN'];a50c=function(){return u;};return a50c();}export class Room extends AbstractRoom{['logger']=Logger[a50i(0x15e)]();[a50i(0x14c)];[a50i(0x146)];[a50i(0x14d)]=new Map();[a50i(0x13e)];[a50i(0x168)];[a50i(0x162)]=new Inventory();constructor(a){const j=a50i;super(),this[j(0x14c)]=a[j(0x14c)],this[j(0x146)]=a['description'],this[j(0x13e)]=a[j(0x13e)]||RoomType[j(0x156)],a['exits']&&(this[j(0x14d)]=a[j(0x14d)]||new Map()),a[j(0x162)]&&(this['inventory']=a['inventory']),a[j(0x15f)]&&(this['puzzle']=a[j(0x15f)]),this['isStartRoom']=a[j(0x168)]||![],this['logger'][j(0x154)](j(0x145)+this['name']);}[a50i(0x150)](a,b){const k=a50i;this['emit'](k(0x132),a,b);}[a50i(0x160)](a,b,c){const l=a50i;let d=this[l(0x12f)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[l(0x14d)][l(0x148)](a,d),b[l(0x14d)][l(0x148)](this['getOppositeDirection'](a),d);}['attemptUnlockExit'](a,b){const m=a50i,c=this[m(0x14d)]['get'](a);if(c instanceof Door){const d=c['attemptUnlock'](b);return this[m(0x14a)][m(0x154)](m(0x135)+a+m(0x12b)+d),d?m(0x155)+c[m(0x14c)]+'\x20unlocked!':m(0x155)+c[m(0x14c)]+m(0x12a);}return this['logger']['write'](m(0x164)+a),m(0x137);}[a50i(0x12e)](a){const n=a50i;return this[n(0x14a)][n(0x154)](n(0x139)+a),this['exits'][n(0x14f)](a);}['isExitLocked'](a){const o=a50i,b=this[o(0x14d)][o(0x14f)](a),c=b instanceof Door&&b[o(0x15b)]();return this[o(0x14a)][o(0x154)]('Checking\x20if\x20exit\x20in\x20direction\x20'+a+o(0x140)+c),c;}['addItem'](a){const p=a50i;this[p(0x162)][p(0x15a)](a),this[p(0x14a)][p(0x154)](p(0x152)+this['name']+':\x20'+a[p(0x14c)]);}['removeItem'](a){const q=a50i;this[q(0x162)][q(0x149)](a[q(0x14c)])?(this[q(0x162)][q(0x13f)](a['name']),this[q(0x14a)][q(0x154)](q(0x159)+this[q(0x14c)]+':\x20'+a[q(0x14c)])):this['logger'][q(0x154)](q(0x158)+this['name']+':\x20'+a[q(0x14c)]);}[a50i(0x143)](a){const r=a50i;this[r(0x15f)]=a,this[r(0x14a)]['write'](r(0x134)+this[r(0x14c)]+':\x20'+a[r(0x147)]);}['getOppositeDirection'](a){const s=a50i;switch(a){case s(0x144):return Direction[s(0x166)];case'south':return Direction[s(0x138)];case'east':return Direction[s(0x15d)];case s(0x157):return Direction[s(0x15c)];case'up':return Direction[s(0x136)];case s(0x163):return Direction['UP'];default:throw new Error(s(0x12d)+a);}}[a50i(0x12f)](a){const t=a50i;for(const b of this[t(0x14d)]['values']()){if(b instanceof Door){if(b['roomA']===this&&b['roomB']===a||b[t(0x13d)]===this&&b[t(0x133)]===a)return b;}}return undefined;}}
1
+ function a50c(){const u=['puzzle','NORTH','apply','There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','3131012QTANLc','checkIfLocked','1136nmuuHU','get','WEST','emit','Fetching\x20exit\x20in\x20direction:\x20','constructor','Item\x20removed\x20from\x20room\x20','8OxOnfJ','findExistingDoor','isExitLocked','toString','name','description','removeItem','down','roomA','roomType','write','4617XfBtPH','getExit','attemptUnlock','addExit','addItem','66dpulKR','search','Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20','11009936YXBQBj','roomB','getOppositeDirection','9547029wGrGse','Invalid\x20direction:\x20','isStartRoom','The\x20','riddle','setPuzzle','Room\x20created:\x20','exits','.\x20Success:\x20','\x20unlocked!','491066NQfmzg','south','420215DXGmeN','north','hasItem','logger','getInstance','EAST','set','inventory','(((.+)+)+)+$','Checking\x20if\x20exit\x20in\x20direction\x20','\x20is\x20locked.\x20Result:\x20','7529005WEJWIs','50VyhphH','attemptUnlockExit'];a50c=function(){return u;};return a50c();}function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x166;let f=c[d];return f;},a50d(a,b);}const a50i=a50d;(function(a,b){const f=a50d,c=a();while(!![]){try{const d=-parseInt(f(0x16e))/0x1+-parseInt(f(0x184))/0x2*(parseInt(f(0x196))/0x3)+-parseInt(f(0x182))/0x4+-parseInt(f(0x170))/0x5*(parseInt(f(0x19b))/0x6)+parseInt(f(0x19e))/0x7+parseInt(f(0x18b))/0x8*(-parseInt(f(0x1a1))/0x9)+parseInt(f(0x17c))/0xa*(parseInt(f(0x17b))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0xd26ca));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x180)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0x18e)]()[h(0x19c)](h(0x178))[h(0x18e)]()[h(0x189)](a50a)[h(0x19c)](h(0x178));});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(0x173)]=Logger[a50i(0x174)]();[a50i(0x18f)];['description'];[a50i(0x16b)]=new Map();[a50i(0x194)];[a50i(0x166)];[a50i(0x177)]=new Inventory();constructor(a){const j=a50i;super(),this[j(0x18f)]=a[j(0x18f)],this[j(0x190)]=a[j(0x190)],this[j(0x194)]=a['roomType']||RoomType['INSIDE'],a[j(0x16b)]&&(this[j(0x16b)]=a['exits']||new Map()),a['inventory']&&(this['inventory']=a['inventory']),a[j(0x17e)]&&(this['puzzle']=a[j(0x17e)]),this['isStartRoom']=a['isStartRoom']||![],this['logger'][j(0x195)](j(0x16a)+this[j(0x18f)]);}['say'](a,b){const k=a50i;this[k(0x187)]('speak',a,b);}[a50i(0x199)](a,b,c){const l=a50i;let d=this[l(0x18c)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this['exits'][l(0x176)](a,d),b[l(0x16b)][l(0x176)](this[l(0x1a0)](a),d);}[a50i(0x17d)](a,b){const m=a50i,c=this[m(0x16b)][m(0x185)](a);if(c instanceof Door){const d=c[m(0x198)](b);return this['logger'][m(0x195)](m(0x19d)+a+m(0x16c)+d),d?m(0x167)+c[m(0x18f)]+m(0x16d):'The\x20'+c[m(0x18f)]+'\x20remains\x20locked.';}return this[m(0x173)][m(0x195)]('No\x20locked\x20exit\x20found\x20in\x20direction\x20'+a),m(0x181);}[a50i(0x197)](a){const n=a50i;return this['logger'][n(0x195)](n(0x188)+a),this[n(0x16b)][n(0x185)](a);}[a50i(0x18d)](a){const o=a50i,b=this['exits'][o(0x185)](a),c=b instanceof Door&&b[o(0x183)]();return this['logger']['write'](o(0x179)+a+o(0x17a)+c),c;}[a50i(0x19a)](a){const p=a50i;this[p(0x177)][p(0x19a)](a),this[p(0x173)][p(0x195)]('Item\x20added\x20to\x20room\x20'+this[p(0x18f)]+':\x20'+a[p(0x18f)]);}[a50i(0x191)](a){const q=a50i;this[q(0x177)][q(0x172)](a['name'])?(this[q(0x177)][q(0x191)](a[q(0x18f)]),this['logger'][q(0x195)](q(0x18a)+this[q(0x18f)]+':\x20'+a[q(0x18f)])):this[q(0x173)][q(0x195)]('Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20'+this[q(0x18f)]+':\x20'+a[q(0x18f)]);}[a50i(0x169)](a){const r=a50i;this[r(0x17e)]=a,this[r(0x173)][r(0x195)]('Puzzle\x20set\x20for\x20room\x20'+this[r(0x18f)]+':\x20'+a[r(0x168)]);}[a50i(0x1a0)](a){const s=a50i;switch(a){case s(0x171):return Direction['SOUTH'];case s(0x16f):return Direction[s(0x17f)];case'east':return Direction[s(0x186)];case'west':return Direction[s(0x175)];case'up':return Direction['DOWN'];case s(0x192):return Direction['UP'];default:throw new Error(s(0x1a2)+a);}}[a50i(0x18c)](a){const t=a50i;for(const b of this[t(0x16b)]['values']()){if(b instanceof Door){if(b[t(0x193)]===this&&b[t(0x19f)]===a||b[t(0x19f)]===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(0xf0))/0x1*(-parseInt(i(0x124))/0x2)+parseInt(i(0x108))/0x3+-parseInt(i(0xec))/0x4*(parseInt(i(0xee))/0x5)+parseInt(i(0xf7))/0x6+parseInt(i(0x11a))/0x7*(-parseInt(i(0x129))/0x8)+-parseInt(i(0x10b))/0x9*(parseInt(i(0xfe))/0xa)+-parseInt(i(0x11b))/0xb*(-parseInt(i(0xe6))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0x57dcc));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0xf5)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0xf2)]()['search'](k(0x10f))[k(0xf2)]()['constructor'](a51a)[k(0x12b)](k(0x10f));});a51a();function a51c(){const D=['285108FqKhQj','push','Added\x20room\x20to\x20scene:\x20','1108494PzDzgn','Scene\x20initialized\x20with\x20rooms:\x20','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','characterLocations','(((.+)+)+)+$','addRoom','Added\x20item\x20','warn','Failed\x20to\x20add\x20puzzle.\x20Room\x20','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','connectRooms','actors','removeRoom','Failed\x20to\x20add\x20item\x20','write','509446JpbfvH','5766673cTICkh','Actor\x20with\x20name\x20','getRooms','get','player','generateRoomsFromConfig','addActor','addItem','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','42572fpAgTJ','determineStartRoom','\x20to\x20room\x20','logger','Removed\x20room\x20from\x20scene:\x20','8eLOGGB','getPlayer','search','addItemToRoom','keyRequired','initialize','\x27s\x20location.\x20Room\x20','keys','currentLocation','set','roomFactory','isStartRoom','exits','addPuzzleToRoom','12brloAc','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','Room\x20\x22','getCharacterLocation','.\x20Room\x20','\x20found\x20in\x20the\x20scene.','907580ZlaGdo','getActor','5juxUYk','rooms','2vDvZjQ','name','toString','setPuzzle','removeActor','apply','join','2203224pdEksY','roomConfiguration','createExitsFromConfig','setCharacterLocation','length','\x20is\x20now\x20in\x20room\x20','No\x20actor\x20with\x20name\x20','30rdXzzU','addExit','allActors','\x20not\x20found\x20in\x20scene.','from','\x20already\x20exists\x20in\x20the\x20scene.','direction','has','Failed\x20to\x20set\x20','\x22\x20does\x20not\x20exist.'];a51c=function(){return D;};return a51c();}import{Logger}from'../utilities/logger.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0xe4;let f=c[d];return f;},a51d(a,b);}import{Direction}from'../types/enums.js';import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';export class Scene extends AbstractScene{[a51l(0xef)];[a51l(0x11f)];[a51l(0x127)];[a51l(0x116)];[a51l(0x10e)]=new Map();[a51l(0x133)];constructor(a){const m=a51l;super(),this['roomFactory']=new RoomFactory(),this[m(0x11f)]=a[m(0x11f)],this[m(0xef)]=this['generateRoomsFromConfig'](a[m(0xf8)]),this['logger']=Logger['getInstance'](),this[m(0x116)]=new Map(),this['createExitsFromConfig'](a[m(0xf8)]),this['logger'][m(0x119)](m(0x10c)+Object[m(0x130)](this[m(0xef)])[m(0xf6)](',\x20'));}[a51l(0x12e)](){const n=a51l;this[n(0x11f)][n(0x131)]=this[n(0x125)]();}[a51l(0x120)](a){const o=a51l;if(!this[o(0x133)])throw new Error(o(0x114));const b={};for(const c of a){const d=this[o(0x133)]['createRoom'](c);b[c['name']]=d;}return b;}[a51l(0xf9)](a){const p=a51l;for(const b of a){const c=this[p(0xef)][b[p(0xf1)]];if(b['exits'])for(const d of b[p(0xe4)]){const e=d[p(0x104)]['toUpperCase'](),f=d['targetRoom'],g=d[p(0x12d)],h=this[p(0xef)][f];h&&c[p(0xff)](Direction[e],h,g);}}}[a51l(0x121)](a){const q=a51l;if(this[q(0x116)][q(0x105)](a[q(0xf1)]))throw new Error(q(0x11c)+a[q(0xf1)]+q(0x103));this['actors'][q(0x132)](a[q(0xf1)],a);}[a51l(0xf4)](a){const r=a51l;if(!this[r(0x116)][r(0x105)](a))throw new Error(r(0xfd)+a+r(0xeb));this[r(0x116)]['delete'](a);}[a51l(0xed)](a){const s=a51l;return this['actors'][s(0x11e)](a);}get[a51l(0x100)](){const t=a51l;return Array[t(0x102)](this['actors']['values']());}[a51l(0x110)](a){const u=a51l;this['rooms'][a[u(0xf1)]]=a,this[u(0x127)][u(0x119)](u(0x10a)+a[u(0xf1)]);}[a51l(0x117)](a){const v=a51l;return this[v(0xef)][a]?(delete this[v(0xef)][a],this['logger']['write'](v(0x128)+a),!![]):(this['logger'][v(0x119)](v(0x123)+a),![]);}[a51l(0x12c)](a,b){const w=a51l,c=this['rooms'][b];c?(c[w(0x122)](a),this[w(0x127)][w(0x119)](w(0x111)+a[w(0xf1)]+w(0x126)+c['name'])):this[w(0x127)][w(0x119)](w(0x118)+a[w(0xf1)]+w(0xea)+b+w(0x101));}[a51l(0xe5)](a,b){const x=a51l,c=this['rooms'][b];c?(c[x(0xf3)](a),this[x(0x127)][x(0x119)]('Added\x20puzzle\x20to\x20room\x20'+c['name'])):this['logger'][x(0x119)](x(0x113)+b+x(0x101));}[a51l(0xfa)](a,b){const y=a51l,c=this[y(0xef)][b];c?(this['characterLocations']['set'](a[y(0xf1)],c),this[y(0x127)]['write'](a[y(0xf1)]+y(0xfc)+c[y(0xf1)])):this[y(0x127)]['write'](y(0x106)+a[y(0xf1)]+y(0x12f)+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0xe9)](a){const z=a51l;return this[z(0x10e)]['get'](a[z(0xf1)]);}[a51l(0x125)](){const A=a51l,a=[];for(const c in this['rooms']){if(this[A(0xef)]['hasOwnProperty'](c)){const d=this['rooms'][c];d[A(0x134)]&&a[A(0x109)](d);}}if(a[A(0xfb)]>0x1)throw new Error(A(0x10d));if(a[A(0xfb)]===0x1)return a[0x0];const b=Object[A(0x130)](this[A(0xef)]);if(b[A(0xfb)]===0x0)throw new Error(A(0xe7));return console[A(0x112)]('No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.'),this['rooms'][b[0x0]];}[a51l(0x12a)](){return this['player'];}[a51l(0x11d)](){const B=a51l;return this[B(0xef)];}[a51l(0x115)](a,b,c,d){const C=a51l,e=this['rooms'][a],f=this[C(0xef)][c];if(!e)throw new Error(C(0xe8)+a+'\x22\x20does\x20not\x20exist.');if(!f)throw new Error(C(0xe8)+c+C(0x107));e['addExit'](b,f,d);}}
1
+ function a51c(){const D=['(((.+)+)+)+$','set','getInstance','generateRoomsFromConfig','write','createExitsFromConfig','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','getPlayer','direction','Added\x20item\x20','3368685SaQqKI','\x20to\x20room\x20','2IrAeht','search','setCharacterLocation','Failed\x20to\x20set\x20','Added\x20room\x20to\x20scene:\x20','\x22\x20does\x20not\x20exist.','allActors','No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.','rooms','402TNjqXQ','Added\x20puzzle\x20to\x20room\x20','\x27s\x20location.\x20Room\x20','3465104MNVGNs','name','.\x20Room\x20','12340716YUtZyG','push','toUpperCase','toString','addItem','1070343alcYQd','exits','length','values','determineStartRoom','961510wVvZgC','27RLTOIf','addExit','keyRequired','logger','currentLocation','warn','characterLocations','setPuzzle','keys','3725072XKUmBB','\x20already\x20exists\x20in\x20the\x20scene.','removeRoom','delete','has','\x20not\x20found\x20in\x20scene.','\x20found\x20in\x20the\x20scene.','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','getRooms','90328acJPDN','from','3PMvoHD','apply','Actor\x20with\x20name\x20','createRoom','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','get','join','isStartRoom','22ZUAyeW','hasOwnProperty','player','roomFactory','actors','connectRooms','getActor','targetRoom','Scene\x20initialized\x20with\x20rooms:\x20','roomConfiguration'];a51c=function(){return D;};return a51c();}const a51l=a51d;(function(a,b){const i=a51d,c=a();while(!![]){try{const d=-parseInt(i(0xf1))/0x1*(-parseInt(i(0xdd))/0x2)+parseInt(i(0xbf))/0x3*(parseInt(i(0xe9))/0x4)+-parseInt(i(0xdb))/0x5+-parseInt(i(0xe6))/0x6*(-parseInt(i(0xbd))/0x7)+parseInt(i(0xb4))/0x8+-parseInt(i(0xab))/0x9*(-parseInt(i(0xaa))/0xa)+-parseInt(i(0xc7))/0xb*(parseInt(i(0xec))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0xc95af));function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0xa8;let f=c[d];return f;},a51d(a,b);}const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0xc0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0xef)]()[k(0xde)](k(0xd1))[k(0xef)]()['constructor'](a51a)['search'](k(0xd1));});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';export class Scene extends AbstractScene{['rooms'];[a51l(0xc9)];['logger'];[a51l(0xcb)];['characterLocations']=new Map();[a51l(0xca)];constructor(a){const m=a51l;super(),this[m(0xca)]=new RoomFactory(),this['player']=a[m(0xc9)],this[m(0xe5)]=this[m(0xd4)](a[m(0xd0)]),this['logger']=Logger[m(0xd3)](),this['actors']=new Map(),this[m(0xd6)](a[m(0xd0)]),this['logger'][m(0xd5)](m(0xcf)+Object[m(0xb3)](this['rooms'])[m(0xc5)](',\x20'));}['initialize'](){const n=a51l;this[n(0xc9)][n(0xaf)]=this[n(0xa9)]();}[a51l(0xd4)](a){const o=a51l;if(!this['roomFactory'])throw new Error('Room\x20Factory\x20was\x20not\x20correctly\x20initialized');const b={};for(const c of a){const d=this[o(0xca)][o(0xc2)](c);b[c[o(0xea)]]=d;}return b;}[a51l(0xd6)](a){const p=a51l;for(const b of a){const c=this['rooms'][b['name']];if(b['exits'])for(const d of b[p(0xf2)]){const e=d[p(0xd9)][p(0xee)](),f=d[p(0xce)],g=d[p(0xad)],h=this[p(0xe5)][f];h&&c[p(0xac)](Direction[e],h,g);}}}['addActor'](a){const q=a51l;if(this[q(0xcb)][q(0xb8)](a[q(0xea)]))throw new Error(q(0xc1)+a[q(0xea)]+q(0xb5));this[q(0xcb)][q(0xd2)](a['name'],a);}['removeActor'](a){const r=a51l;if(!this[r(0xcb)][r(0xb8)](a))throw new Error('No\x20actor\x20with\x20name\x20'+a+r(0xba));this[r(0xcb)][r(0xb7)](a);}[a51l(0xcd)](a){const s=a51l;return this['actors'][s(0xc4)](a);}get[a51l(0xe3)](){const t=a51l;return Array[t(0xbe)](this[t(0xcb)][t(0xa8)]());}['addRoom'](a){const u=a51l;this['rooms'][a['name']]=a,this[u(0xae)][u(0xd5)](u(0xe1)+a[u(0xea)]);}[a51l(0xb6)](a){const v=a51l;return this[v(0xe5)][a]?(delete this[v(0xe5)][a],this[v(0xae)][v(0xd5)]('Removed\x20room\x20from\x20scene:\x20'+a),!![]):(this[v(0xae)][v(0xd5)](v(0xbb)+a),![]);}['addItemToRoom'](a,b){const w=a51l,c=this['rooms'][b];c?(c[w(0xf0)](a),this['logger'][w(0xd5)](w(0xda)+a[w(0xea)]+w(0xdc)+c[w(0xea)])):this[w(0xae)][w(0xd5)]('Failed\x20to\x20add\x20item\x20'+a[w(0xea)]+w(0xeb)+b+w(0xb9));}['addPuzzleToRoom'](a,b){const x=a51l,c=this[x(0xe5)][b];c?(c[x(0xb2)](a),this[x(0xae)]['write'](x(0xe7)+c[x(0xea)])):this['logger']['write']('Failed\x20to\x20add\x20puzzle.\x20Room\x20'+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0xdf)](a,b){const y=a51l,c=this[y(0xe5)][b];c?(this[y(0xb1)][y(0xd2)](a['name'],c),this[y(0xae)][y(0xd5)](a[y(0xea)]+'\x20is\x20now\x20in\x20room\x20'+c['name'])):this[y(0xae)][y(0xd5)](y(0xe0)+a[y(0xea)]+y(0xe8)+b+y(0xb9));}['getCharacterLocation'](a){const z=a51l;return this[z(0xb1)][z(0xc4)](a['name']);}[a51l(0xa9)](){const A=a51l,a=[];for(const c in this[A(0xe5)]){if(this[A(0xe5)][A(0xc8)](c)){const d=this[A(0xe5)][c];d[A(0xc6)]&&a[A(0xed)](d);}}if(a['length']>0x1)throw new Error(A(0xc3));if(a[A(0xf3)]===0x1)return a[0x0];const b=Object[A(0xb3)](this[A(0xe5)]);if(b[A(0xf3)]===0x0)throw new Error(A(0xd7));return console[A(0xb0)](A(0xe4)),this[A(0xe5)][b[0x0]];}[a51l(0xd8)](){return this['player'];}[a51l(0xbc)](){const B=a51l;return this[B(0xe5)];}[a51l(0xcc)](a,b,c,d){const C=a51l,e=this['rooms'][a],f=this[C(0xe5)][c];if(!e)throw new Error('Room\x20\x22'+a+C(0xe2));if(!f)throw new Error('Room\x20\x22'+c+C(0xe2));e[C(0xac)](b,f,d);}}
@@ -1 +1 @@
1
- var a52i=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=-parseInt(f(0x94))/0x1*(-parseInt(f(0xb5))/0x2)+parseInt(f(0xa9))/0x3*(-parseInt(f(0xb1))/0x4)+parseInt(f(0xa4))/0x5*(-parseInt(f(0xa2))/0x6)+-parseInt(f(0x9b))/0x7*(parseInt(f(0xbe))/0x8)+parseInt(f(0x9d))/0x9+-parseInt(f(0xad))/0xa+parseInt(f(0xa1))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x614d0));var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var g=a52d;return a52a[g(0xc8)]()[g(0xc7)](g(0xb9))[g(0xc8)]()[g(0xb7)](a52a)[g(0xc7)]('(((.+)+)+)+$');});a52a();function a52c(){var D=['Unknown','Gloves','732352KrAmLu','Small','LegArmor','use','Grey','Rectangle','Circle','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','search','toString','Boots','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','Unknown\x20Author','\x20aloft,\x20feeling\x20its\x20immense\x20power.','Yellow','251KjCwMn','BodyArmor','A\x20mysterious\x20book.','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','Brown','Book','Medium','49mXHkiT','Weapon','1173366CGlolU','Cup','Short\x20Sword','name','30453126SpycHJ','594498lGYBqh','Rifle','40NxfMgJ','Legendary','Smooth','publishDate','Helmet','2204214LoMLkH','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','Common','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','6932750mTFMKx','Holy\x20Grail','author','Large','4HzqGXj','pageCount','Key','description','2878essHuI','Metallic','constructor','Blade','(((.+)+)+)+$','Rare','Gold'];a52c=function(){return D;};return a52c();}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(0x9a)],'category':Category[h(0xbc)],'shape':Shape[h(0xc3)],'color':Color[h(0x93)],'texture':Texture[h(0xa6)],'rating':Rating[h(0xab)],'weight':0x1});}[a52i(0xc1)](){var j=a52i;return this[j(0xb4)];}}export class Sword extends Item{constructor(a,b){var k=a52i;super({'name':a,'description':b,'size':Size[k(0x9a)],'category':Category[k(0x9c)],'shape':Shape[k(0xb8)],'color':Color[k(0xc2)],'texture':Texture[k(0xb6)],'rating':Rating[k(0xab)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52i;super({'name':a,'description':b,'size':Size[l(0xb0)],'category':Category[l(0x9c)],'shape':Shape[l(0xa3)],'color':Color[l(0x98)],'texture':Texture[l(0xb6)],'rating':Rating[l(0xba)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52i;super({'name':a,'description':b,'size':Size[m(0x9a)],'category':Category[m(0xa8)],'shape':Shape['Circle'],'color':Color[m(0xc2)],'texture':Texture[m(0xb6)],'rating':Rating[m(0xab)],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52i;super({'name':a,'description':b,'size':Size['Large'],'category':Category[n(0x95)],'shape':Shape[n(0xc3)],'color':Color[n(0xc2)],'texture':Texture[n(0xb6)],'rating':Rating[n(0xab)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[o(0xc0)],'shape':Shape[o(0xc3)],'color':Color[o(0xc2)],'texture':Texture[o(0xb6)],'rating':Rating[o(0xab)],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52i;super({'name':a,'description':b,'size':Size[p(0x9a)],'category':Category[p(0xc9)],'shape':Shape['Circle'],'color':Color[p(0x98)],'texture':Texture['Smooth'],'rating':Rating[p(0xab)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var q=a52i;super({'name':a,'description':b,'size':Size[q(0xbf)],'category':Category[q(0xbd)],'shape':Shape[q(0xc4)],'color':Color[q(0x98)],'texture':Texture[q(0xa6)],'rating':Rating[q(0xab)],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var r=a52i;super({'name':a,'description':b,'size':Size[r(0x9a)],'category':Category['ArmArmor'],'shape':Shape[r(0xc3)],'color':Color[r(0xc2)],'texture':Texture[r(0xb6)],'rating':Rating['Common'],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52i;super({'name':a,'description':b,'size':Size['Tiny'],'category':Category[s(0xb3)],'shape':Shape[s(0xc3)],'color':Color[s(0x93)],'texture':Texture[s(0xa6)],'rating':Rating['Common'],'weight':0x0});}[a52i(0xc1)](){var t=a52i;return t(0x97);}}export class Weapon extends Item{constructor(a,b){var u=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[u(0x9c)],'shape':Shape[u(0xb8)],'color':Color['Grey'],'texture':Texture[u(0xb6)],'rating':Rating[u(0xab)],'weight':0x3});}[a52i(0xc1)](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class Book extends Item{[a52i(0xaf)];[a52i(0xa7)];[a52i(0xb2)];constructor(a,b=a52i(0x96),c=a52i(0x91)){var v=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[v(0x99)],'shape':Shape[v(0xc3)],'color':Color[v(0x98)],'texture':Texture[v(0xa6)],'rating':Rating['Common'],'weight':0x1}),this['author']=c,this[v(0xa7)]=new Date(),this[v(0xb2)]=0x64;}[a52i(0xc1)](){var w=a52i;return w(0xca);}}export class ShortSword extends Item{constructor(){var x=a52i;super({'name':x(0x9f),'description':x(0xcb),'size':Size[x(0x9a)],'category':Category['Weapon'],'shape':Shape[x(0xb8)],'color':Color[x(0xc2)],'texture':Texture[x(0xb6)],'rating':Rating[x(0xab)],'weight':0x3});}[a52i(0xc1)](){var y=a52i;return y(0xaa);}}export class SniperRifle extends Item{constructor(){var z=a52i;super({'name':'Sniper\x20Rifle','description':z(0xc5),'size':Size['Large'],'category':Category[z(0x9c)],'shape':Shape[z(0xa3)],'color':Color[z(0x98)],'texture':Texture[z(0xa6)],'rating':Rating[z(0xab)],'weight':0x5});}[a52i(0xc1)](){var A=a52i;return A(0xac);}}function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x91;var f=c[d];return f;},a52d(a,b);}export class HolyGrail extends Item{constructor(){var B=a52i;super({'name':B(0xae),'description':B(0xc6),'size':Size[B(0xbf)],'category':Category[B(0x9e)],'shape':Shape[B(0xc4)],'color':Color[B(0xbb)],'texture':Texture[B(0xb6)],'rating':Rating[B(0xa5)],'weight':0x1});}[a52i(0xc1)](){var C=a52i;return'You\x20hold\x20the\x20'+this[C(0xa0)]+C(0x92);}}
1
+ var a52i=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=parseInt(f(0x191))/0x1*(parseInt(f(0x198))/0x2)+parseInt(f(0x1a6))/0x3+-parseInt(f(0x199))/0x4+-parseInt(f(0x19e))/0x5+-parseInt(f(0x1b9))/0x6+-parseInt(f(0x1b0))/0x7+parseInt(f(0x1a4))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x65aa7));var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var g=a52d;return a52a[g(0x192)]()[g(0x19c)](g(0x1b8))[g(0x192)]()['constructor'](a52a)[g(0x19c)](g(0x1b8));});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(0x1af)],'category':Category['Unknown'],'shape':Shape[h(0x194)],'color':Color[h(0x188)],'texture':Texture['Smooth'],'rating':Rating[h(0x1ae)],'weight':0x1});}[a52i(0x19f)](){var j=a52i;return this[j(0x1b2)];}}export class Sword extends Item{constructor(a,b){var k=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[k(0x1a5)],'shape':Shape[k(0x1ab)],'color':Color[k(0x190)],'texture':Texture[k(0x19b)],'rating':Rating[k(0x1ae)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52i;super({'name':a,'description':b,'size':Size['Large'],'category':Category[l(0x1a5)],'shape':Shape[l(0x1a0)],'color':Color['Brown'],'texture':Texture[l(0x19b)],'rating':Rating[l(0x18e)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52i;super({'name':a,'description':b,'size':Size[m(0x1af)],'category':Category[m(0x195)],'shape':Shape[m(0x1b7)],'color':Color[m(0x190)],'texture':Texture[m(0x19b)],'rating':Rating[m(0x1ae)],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52i;super({'name':a,'description':b,'size':Size['Large'],'category':Category[n(0x19a)],'shape':Shape[n(0x194)],'color':Color['Grey'],'texture':Texture[n(0x19b)],'rating':Rating[n(0x1ae)],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[o(0x1aa)],'shape':Shape[o(0x194)],'color':Color[o(0x190)],'texture':Texture['Metallic'],'rating':Rating[o(0x1ae)],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52i;super({'name':a,'description':b,'size':Size[p(0x1af)],'category':Category[p(0x18b)],'shape':Shape[p(0x1b7)],'color':Color['Brown'],'texture':Texture[p(0x18f)],'rating':Rating[p(0x1ae)],'weight':0x2});}}function a52c(){var E=['BodyArmor','Metallic','search','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','273580IylDgO','use','Rifle','\x20aloft,\x20feeling\x20its\x20immense\x20power.','Brown','publishDate','2072792KXYPHn','Weapon','721089ZlJvSc','author','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','name','LegArmor','Blade','Small','Cup','Common','Medium','1351693lmYBTd','Book','description','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','Gloves','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','Circle','(((.+)+)+)+$','1408830uxDNVU','Yellow','pageCount','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','Boots','Tiny','Key','Rare','Smooth','Grey','1PTYmHz','toString','Large','Rectangle','Helmet','You\x20hold\x20the\x20','ArmArmor','1044368nnlNMW','490412fpFtZX'];a52c=function(){return E;};return a52c();}export class Gloves extends Item{constructor(a,b){var q=a52i;super({'name':a,'description':b,'size':Size['Small'],'category':Category[q(0x1b5)],'shape':Shape[q(0x1b7)],'color':Color[q(0x1a2)],'texture':Texture[q(0x18f)],'rating':Rating[q(0x1ae)],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var r=a52i;super({'name':a,'description':b,'size':Size[r(0x1af)],'category':Category[r(0x197)],'shape':Shape[r(0x194)],'color':Color[r(0x190)],'texture':Texture[r(0x19b)],'rating':Rating[r(0x1ae)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52i;super({'name':a,'description':b,'size':Size[s(0x18c)],'category':Category[s(0x18d)],'shape':Shape[s(0x194)],'color':Color['Yellow'],'texture':Texture[s(0x18f)],'rating':Rating[s(0x1ae)],'weight':0x0});}[a52i(0x19f)](){var t=a52i;return t(0x1b6);}}export class Weapon extends Item{constructor(a,b){var u=a52i;super({'name':a,'description':b,'size':Size[u(0x1af)],'category':Category[u(0x1a5)],'shape':Shape[u(0x1ab)],'color':Color[u(0x190)],'texture':Texture[u(0x19b)],'rating':Rating['Common'],'weight':0x3});}[a52i(0x19f)](){var v=a52i;return v(0x1a8);}}export class Book extends Item{[a52i(0x1a7)];[a52i(0x1a3)];['pageCount'];constructor(a,b='A\x20mysterious\x20book.',c='Unknown\x20Author'){var w=a52i;super({'name':a,'description':b,'size':Size[w(0x1af)],'category':Category[w(0x1b1)],'shape':Shape['Rectangle'],'color':Color[w(0x1a2)],'texture':Texture[w(0x18f)],'rating':Rating['Common'],'weight':0x1}),this[w(0x1a7)]=c,this[w(0x1a3)]=new Date(),this[w(0x189)]=0x64;}[a52i(0x19f)](){var x=a52i;return x(0x19d);}}function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x188;var f=c[d];return f;},a52d(a,b);}export class ShortSword extends Item{constructor(){var y=a52i;super({'name':'Short\x20Sword','description':'A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','size':Size[y(0x1af)],'category':Category[y(0x1a5)],'shape':Shape[y(0x1ab)],'color':Color[y(0x190)],'texture':Texture['Metallic'],'rating':Rating[y(0x1ae)],'weight':0x3});}[a52i(0x19f)](){var z=a52i;return z(0x1a8);}}export class SniperRifle extends Item{constructor(){var A=a52i;super({'name':'Sniper\x20Rifle','description':A(0x18a),'size':Size[A(0x193)],'category':Category['Weapon'],'shape':Shape['Rifle'],'color':Color['Brown'],'texture':Texture[A(0x18f)],'rating':Rating[A(0x1ae)],'weight':0x5});}[a52i(0x19f)](){var B=a52i;return B(0x1b3);}}export class HolyGrail extends Item{constructor(){var C=a52i;super({'name':'Holy\x20Grail','description':C(0x1b4),'size':Size[C(0x1ac)],'category':Category[C(0x1ad)],'shape':Shape[C(0x1b7)],'color':Color['Gold'],'texture':Texture['Metallic'],'rating':Rating['Legendary'],'weight':0x1});}[a52i(0x19f)](){var D=a52i;return D(0x196)+this[D(0x1a9)]+D(0x1a1);}}
@@ -1 +1 @@
1
- function a54c(){const j=['An\x20old\x20and\x20rusted\x20sword.','drone','A\x20key\x20stained\x20with\x20old\x20blood.','gem','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','inside','Sniper\x20Rifle','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','The\x20legendary\x20Holy\x20Grail.','apply','NORTH','A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.','toString','A\x20creditstick\x20loaded\x20with\x20nuyen.','A\x20key\x20made\x20of\x20pure\x20digital\x20energy.','search','Encrypted\x20Data\x20Key','The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.','Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','OUTSIDE','Watch\x20Tower','south','outside','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','creditstick','document','364251HUDGvs','The\x20chest\x20remains\x20firmly\x20shut.','A\x20thin\x20log\x20book','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','SOUTH','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.','Torture\x20Chamber','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','decrypt','Guard\x27s\x20Log\x20Book','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','Barrens\x20Entrance','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','2omAYGk','Matrix\x20Data\x20Haven','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','open\x20sesame','Corporate\x20Creditstick','west','Treasure\x20Room','Rigger\x27s\x20Workshop','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','889KhFUkd','248069ugPqUx','848166UoIuvq','Armory','Courtyard','key','Mage\x27s\x20Lair','Holy\x20Grail','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','That\x20passcode\x20is\x20incorrect','865SIRhiQ','7518zcOAfC','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','Corp\x20Enclave','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','east','amulet','book','cup','Central\x20Chamber','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','Nothing\x20happens.','insert\x20gem','A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','Central\x20Chamber\x20Key','down','CorpSec\x20Plans','Chad\x20the\x20stupid\x20guard','shield','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','576OvIDad','Library','show\x20loyalty','Golden\x20Key','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','Barrens\x20Hideout','holyGrail','Downtown\x20Seattle','north','constructor','EAST','A\x20clear\x20glass\x20vial.','Entrance\x20Hall','Gang\x20Insignia','Empty\x20vial','867032FULwnA','4336MOMcrc','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','Jackpoint\x20Login','Study','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','Golden\x20Chalice','(((.+)+)+)+$','A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','Amulet\x20of\x20Awakening','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','2270tOrAAe','weapon','Alchemy\x20Lab'];a54c=function(){return j;};return a54c();}const a54i=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0x12d))/0x1*(-parseInt(f(0x123))/0x2)+parseInt(f(0x114))/0x3+parseInt(f(0x15a))/0x4+parseInt(f(0x136))/0x5*(parseInt(f(0x137))/0x6)+parseInt(f(0x12c))/0x7*(-parseInt(f(0x15b))/0x8)+-parseInt(f(0x14b))/0x9*(-parseInt(f(0x167))/0xa)+-parseInt(f(0x12e))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0x2ad67));const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0x173)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0x176)]()['search']('(((.+)+)+)+$')[h(0x176)]()[h(0x154)](a54a)[h(0x179)](h(0x162));});a54a();export const rooms=[{'name':a54i(0x14c),'description':a54i(0x166),'isStartRoom':!![],'items':[{'type':a54i(0x131),'name':a54i(0x14e),'description':a54i(0x117)},{'type':'book','name':a54i(0x11f),'description':a54i(0x116),'content':a54i(0x148)}],'exits':[{'direction':a54i(0x155),'targetRoom':'Secret\x20Passage'}]},{'name':'Secret\x20Passage','description':'A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','exits':[{'direction':a54i(0x174),'targetRoom':'Treasure\x20Room','keyRequired':'Golden\x20Key'},{'direction':a54i(0x119),'targetRoom':a54i(0x130)}]},{'name':a54i(0x129),'description':a54i(0x144),'items':[{'type':a54i(0x151),'name':a54i(0x133),'description':a54i(0x172)}]},{'name':a54i(0x130),'description':'A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','roomType':a54i(0x10d),'exits':[{'direction':'UP','targetRoom':a54i(0x10e)}]},{'name':'Watch\x20Tower','description':'A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','roomType':a54i(0x10d),'puzzle':{'requiredPhrase':'secret123','riddle':a54i(0x163),'rewardItem':{'type':'rifle','name':a54i(0x170),'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':a54i(0x135)}}];export const dungeonConfig=[{'name':'Entrance\x20Hall','description':a54i(0x16e),'isStartRoom':!![],'roomType':'inside','puzzle':{'requiredPhrase':a54i(0x126),'riddle':'Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','rewardItem':{'type':'key','name':a54i(0x145),'description':a54i(0x11d)},'successMessage':'The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','failureMessage':a54i(0x142)},'exits':[{'direction':a54i(0x153),'targetRoom':'Study'},{'direction':a54i(0x13c),'targetRoom':'Central\x20Chamber','keyRequired':'Central\x20Chamber\x20Key'}]},{'name':'Study','description':'A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','roomType':'inside','items':[{'type':a54i(0x13e),'name':'Riddle\x20Book','description':a54i(0x165),'content':a54i(0x15f)},{'type':a54i(0x131),'name':'Central\x20Chamber\x20Key','description':a54i(0x11d)}],'exits':[{'direction':'south','targetRoom':a54i(0x157)},{'direction':a54i(0x13c),'targetRoom':a54i(0x169)}]},{'name':a54i(0x169),'description':a54i(0x171),'roomType':a54i(0x16f),'items':[{'type':'basic','name':a54i(0x159),'description':a54i(0x156)}],'exits':[{'direction':a54i(0x128),'targetRoom':a54i(0x15e)},{'direction':a54i(0x153),'targetRoom':a54i(0x12f)}]},{'name':'Armory','description':'Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','roomType':a54i(0x16f),'items':[{'type':a54i(0x149),'name':'Emblem\x20Shield','description':a54i(0x175)},{'type':'sword','name':'Rusted\x20Sword','description':a54i(0x16a)}],'exits':[{'direction':a54i(0x10f),'targetRoom':a54i(0x169)},{'direction':'east','targetRoom':a54i(0x140)}]},{'name':a54i(0x140),'description':'A\x20large\x20circular\x20room\x20with\x20four\x20doors.','roomType':a54i(0x16f),'exits':[{'direction':a54i(0x128),'targetRoom':a54i(0x12f)},{'direction':a54i(0x10f),'targetRoom':a54i(0x157)},{'direction':a54i(0x153),'targetRoom':a54i(0x11c)},{'direction':a54i(0x13c),'targetRoom':a54i(0x129)}]},{'name':a54i(0x11c),'description':a54i(0x14f),'roomType':a54i(0x16f),'items':[{'type':a54i(0x131),'name':a54i(0x11a),'description':a54i(0x16c)}],'puzzle':{'requiredPhrase':'release','riddle':'Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','rewardItem':{'type':a54i(0x16d),'name':'Ancient\x20Gem','description':'A\x20gem\x20radiating\x20a\x20mysterious\x20aura.'},'successMessage':'The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','failureMessage':a54i(0x17b)},'exits':[{'direction':'south','targetRoom':a54i(0x140)}]},{'name':a54i(0x129),'description':a54i(0x138),'roomType':a54i(0x16f),'puzzle':{'requiredPhrase':a54i(0x143),'riddle':a54i(0x134),'rewardItem':{'type':a54i(0x13f),'name':a54i(0x161),'description':'A\x20chalice\x20made\x20of\x20pure\x20gold.'},'successMessage':'The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','failureMessage':a54i(0x115)},'exits':[{'direction':a54i(0x128),'targetRoom':a54i(0x140)}]}];function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x10d;let f=c[d];return f;},a54d(a,b);}export const shadowrunConfig=[{'name':a54i(0x15d),'description':a54i(0x141),'isStartRoom':!![],'roomType':a54i(0x16f),'exits':[{'direction':'north','targetRoom':a54i(0x152)},{'direction':'up','targetRoom':a54i(0x124)}]},{'name':a54i(0x124),'description':a54i(0x125),'roomType':a54i(0x16f),'puzzle':{'requiredPhrase':a54i(0x11e),'riddle':'Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','rewardItem':{'type':a54i(0x131),'name':a54i(0x17a),'description':a54i(0x178)},'successMessage':a54i(0x15c),'failureMessage':'The\x20data\x20remains\x20encrypted.'},'exits':[{'direction':a54i(0x146),'targetRoom':a54i(0x15d)}]},{'name':a54i(0x152),'description':a54i(0x11b),'roomType':'outside','exits':[{'direction':a54i(0x10f),'targetRoom':a54i(0x15d)},{'direction':'east','targetRoom':a54i(0x121)},{'direction':'west','targetRoom':a54i(0x13a)}]},{'name':'Barrens\x20Entrance','description':a54i(0x120),'roomType':a54i(0x110),'puzzle':{'requiredPhrase':a54i(0x14d),'riddle':a54i(0x122),'rewardItem':{'type':a54i(0x131),'name':a54i(0x158),'description':'A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.'},'successMessage':'The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','failureMessage':a54i(0x160)},'exits':[{'direction':'west','targetRoom':'Downtown\x20Seattle'},{'direction':'north','targetRoom':a54i(0x150)}]},{'name':a54i(0x13a),'description':a54i(0x111),'roomType':a54i(0x16f),'items':[{'type':a54i(0x112),'name':a54i(0x127),'description':a54i(0x177)},{'type':a54i(0x113),'name':a54i(0x147),'description':a54i(0x12b)}],'exits':[{'direction':a54i(0x13c),'targetRoom':'Downtown\x20Seattle'}]},{'name':a54i(0x150),'description':a54i(0x118),'roomType':'outside','items':[{'type':a54i(0x168),'name':'Ares\x20Predator','description':'A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.'}],'exits':[{'direction':a54i(0x10f),'targetRoom':'Barrens\x20Entrance'},{'direction':a54i(0x153),'targetRoom':a54i(0x132)},{'direction':a54i(0x13c),'targetRoom':a54i(0x12a)}]},{'name':'Mage\x27s\x20Lair','description':a54i(0x14a),'roomType':'inside','puzzle':{'requiredPhrase':'disenchant','riddle':'Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','rewardItem':{'type':a54i(0x13d),'name':a54i(0x164),'description':'A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.'},'successMessage':a54i(0x139),'failureMessage':a54i(0x13b)},'exits':[{'direction':'south','targetRoom':a54i(0x150)}]},{'name':'Rigger\x27s\x20Workshop','description':a54i(0x17c),'roomType':a54i(0x16f),'items':[{'type':a54i(0x16b),'name':'MCT\x20Fly-Spy','description':'A\x20small\x20surveillance\x20drone.'}],'exits':[{'direction':'west','targetRoom':a54i(0x150)}]}];
1
+ const a54i=a54d;function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x167;let f=c[d];return f;},a54d(a,b);}(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0x169))/0x1+-parseInt(f(0x174))/0x2*(-parseInt(f(0x1be))/0x3)+-parseInt(f(0x198))/0x4+-parseInt(f(0x1d9))/0x5*(-parseInt(f(0x1a2))/0x6)+-parseInt(f(0x1b5))/0x7*(parseInt(f(0x19d))/0x8)+-parseInt(f(0x190))/0x9+parseInt(f(0x18a))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0x36699));function a54c(){const j=['A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','disenchant','An\x20old\x20and\x20rusted\x20sword.','The\x20chest\x20remains\x20firmly\x20shut.','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','key','Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','That\x20passcode\x20is\x20incorrect','Golden\x20Chalice','Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','Downtown\x20Seattle','10696030TsUygJ','basic','west','A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','amulet','The\x20data\x20remains\x20encrypted.','3561039GFJVyE','Central\x20Chamber','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','outside','Central\x20Chamber\x20Key','The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','Rusted\x20Sword','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','1393612tiGhfe','Nothing\x20happens.','Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','Alchemy\x20Lab','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','8YhzgLB','cup','A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.','Encrypted\x20Data\x20Key','A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','68412TaOmdo','open\x20sesame','The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','Empty\x20vial','insert\x20gem','A\x20clear\x20glass\x20vial.','Watch\x20Tower','constructor','rifle','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','Mage\x27s\x20Lair','Sniper\x20Rifle','Ancient\x20Gem','EAST','Matrix\x20Data\x20Haven','release','Entrance\x20Hall','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','1867411rczITL','holyGrail','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','apply','NORTH','secret123','Emblem\x20Shield','Study','creditstick','5190fqYWnW','A\x20long-range\x20weapon.','The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','Corp\x20Enclave','down','Barrens\x20Hideout','A\x20small\x20surveillance\x20drone.','Riddle\x20Book','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','Holy\x20Grail','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','inside','(((.+)+)+)+$','Amulet\x20of\x20Awakening','north','OUTSIDE','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','book','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','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','drone','Secret\x20Passage','toString','Guard\x27s\x20Log\x20Book','SOUTH','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','5BkQeHO','Gang\x20Insignia','east','document','Armory','Jackpoint\x20Login','Corporate\x20Creditstick','107735TBatRZ','Torture\x20Chamber','weapon','search','Treasure\x20Room','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','south','Chad\x20the\x20stupid\x20guard','A\x20thin\x20log\x20book','Blood-stained\x20Key','Rigger\x27s\x20Workshop','52tWnfEO','Barrens\x20Entrance','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.','gem'];a54c=function(){return j;};return a54c();}const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0x1b8)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0x1d5)]()['search'](h(0x1ca))[h(0x1d5)]()[h(0x1a9)](a54a)[h(0x16c)](h(0x1ca));});a54a();export const rooms=[{'name':'Library','description':a54i(0x1ab),'isStartRoom':!![],'items':[{'type':a54i(0x183),'name':'Golden\x20Key','description':a54i(0x17d)},{'type':a54i(0x1d0),'name':a54i(0x1d6),'description':a54i(0x171),'content':a54i(0x170)}],'exits':[{'direction':a54i(0x1b0),'targetRoom':a54i(0x1d4)}]},{'name':a54i(0x1d4),'description':'A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','exits':[{'direction':a54i(0x1b9),'targetRoom':a54i(0x16d),'keyRequired':'Golden\x20Key'},{'direction':a54i(0x1d7),'targetRoom':'Courtyard'}]},{'name':a54i(0x16d),'description':a54i(0x1a1),'items':[{'type':a54i(0x1b6),'name':a54i(0x1c7),'description':'The\x20legendary\x20Holy\x20Grail.'}]},{'name':'Courtyard','description':'A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','roomType':a54i(0x1cd),'exits':[{'direction':'UP','targetRoom':a54i(0x1a8)}]},{'name':a54i(0x1a8),'description':a54i(0x182),'roomType':a54i(0x1cd),'puzzle':{'requiredPhrase':a54i(0x1ba),'riddle':a54i(0x18d),'rewardItem':{'type':a54i(0x1aa),'name':a54i(0x1ae),'description':a54i(0x1bf)},'successMessage':a54i(0x1d1),'failureMessage':a54i(0x185)}}];export const dungeonConfig=[{'name':a54i(0x1b3),'description':a54i(0x19c),'isStartRoom':!![],'roomType':a54i(0x1c9),'puzzle':{'requiredPhrase':a54i(0x1a3),'riddle':'Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','rewardItem':{'type':a54i(0x183),'name':a54i(0x194),'description':a54i(0x1b7)},'successMessage':'The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','failureMessage':a54i(0x199)},'exits':[{'direction':a54i(0x1cc),'targetRoom':a54i(0x1bc)},{'direction':a54i(0x1db),'targetRoom':a54i(0x191),'keyRequired':a54i(0x194)}]},{'name':'Study','description':a54i(0x1c6),'roomType':a54i(0x1c9),'items':[{'type':'book','name':a54i(0x1c5),'description':a54i(0x1ce),'content':'When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!'},{'type':a54i(0x183),'name':'Central\x20Chamber\x20Key','description':'A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.'}],'exits':[{'direction':'south','targetRoom':a54i(0x1b3)},{'direction':'east','targetRoom':'Alchemy\x20Lab'}]},{'name':a54i(0x19b),'description':a54i(0x16e),'roomType':a54i(0x1c9),'items':[{'type':a54i(0x18b),'name':a54i(0x1a5),'description':a54i(0x1a7)}],'exits':[{'direction':a54i(0x18c),'targetRoom':a54i(0x1bc)},{'direction':a54i(0x1cc),'targetRoom':a54i(0x1dd)}]},{'name':a54i(0x1dd),'description':a54i(0x187),'roomType':'inside','items':[{'type':'shield','name':a54i(0x1bb),'description':a54i(0x177)},{'type':'sword','name':a54i(0x196),'description':a54i(0x180)}],'exits':[{'direction':a54i(0x16f),'targetRoom':a54i(0x19b)},{'direction':a54i(0x1db),'targetRoom':a54i(0x191)}]},{'name':'Central\x20Chamber','description':a54i(0x1ac),'roomType':a54i(0x1c9),'exits':[{'direction':a54i(0x18c),'targetRoom':'Armory'},{'direction':a54i(0x16f),'targetRoom':a54i(0x1b3)},{'direction':a54i(0x1cc),'targetRoom':a54i(0x16a)},{'direction':a54i(0x1db),'targetRoom':'Treasure\x20Room'}]},{'name':'Torture\x20Chamber','description':a54i(0x192),'roomType':'inside','items':[{'type':a54i(0x183),'name':a54i(0x172),'description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':a54i(0x1b2),'riddle':a54i(0x17a),'rewardItem':{'type':a54i(0x178),'name':a54i(0x1af),'description':a54i(0x179)},'successMessage':a54i(0x1c0),'failureMessage':'The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.'},'exits':[{'direction':a54i(0x16f),'targetRoom':a54i(0x191)}]},{'name':a54i(0x16d),'description':a54i(0x197),'roomType':'inside','puzzle':{'requiredPhrase':a54i(0x1a6),'riddle':'The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','rewardItem':{'type':a54i(0x19e),'name':a54i(0x186),'description':'A\x20chalice\x20made\x20of\x20pure\x20gold.'},'successMessage':a54i(0x1a4),'failureMessage':a54i(0x181)},'exits':[{'direction':'west','targetRoom':a54i(0x191)}]}];export const shadowrunConfig=[{'name':a54i(0x167),'description':a54i(0x1d8),'isStartRoom':!![],'roomType':a54i(0x1c9),'exits':[{'direction':a54i(0x1cc),'targetRoom':'Downtown\x20Seattle'},{'direction':'up','targetRoom':a54i(0x1b1)}]},{'name':a54i(0x1b1),'description':'A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','roomType':a54i(0x1c9),'puzzle':{'requiredPhrase':'decrypt','riddle':a54i(0x19a),'rewardItem':{'type':a54i(0x183),'name':a54i(0x1a0),'description':'A\x20key\x20made\x20of\x20pure\x20digital\x20energy.'},'successMessage':a54i(0x1b4),'failureMessage':a54i(0x18f)},'exits':[{'direction':a54i(0x1c2),'targetRoom':a54i(0x167)}]},{'name':a54i(0x189),'description':a54i(0x17c),'roomType':'outside','exits':[{'direction':a54i(0x16f),'targetRoom':a54i(0x167)},{'direction':a54i(0x1db),'targetRoom':a54i(0x175)},{'direction':a54i(0x18c),'targetRoom':a54i(0x1c1)}]},{'name':a54i(0x175),'description':a54i(0x1cf),'roomType':a54i(0x193),'puzzle':{'requiredPhrase':'show\x20loyalty','riddle':a54i(0x1d2),'rewardItem':{'type':'key','name':a54i(0x1da),'description':a54i(0x19f)},'successMessage':a54i(0x195),'failureMessage':'The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.'},'exits':[{'direction':a54i(0x18c),'targetRoom':a54i(0x189)},{'direction':a54i(0x1cc),'targetRoom':a54i(0x1c3)}]},{'name':'Corp\x20Enclave','description':'The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','roomType':a54i(0x1c9),'items':[{'type':a54i(0x1bd),'name':a54i(0x168),'description':'A\x20creditstick\x20loaded\x20with\x20nuyen.'},{'type':a54i(0x1dc),'name':'CorpSec\x20Plans','description':a54i(0x1c8)}],'exits':[{'direction':a54i(0x1db),'targetRoom':a54i(0x189)}]},{'name':a54i(0x1c3),'description':a54i(0x176),'roomType':a54i(0x193),'items':[{'type':a54i(0x16b),'name':'Ares\x20Predator','description':'A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.'}],'exits':[{'direction':a54i(0x16f),'targetRoom':a54i(0x175)},{'direction':'north','targetRoom':a54i(0x1ad)},{'direction':a54i(0x1db),'targetRoom':a54i(0x173)}]},{'name':a54i(0x1ad),'description':a54i(0x188),'roomType':a54i(0x1c9),'puzzle':{'requiredPhrase':a54i(0x17f),'riddle':'Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','rewardItem':{'type':a54i(0x18e),'name':a54i(0x1cb),'description':a54i(0x17b)},'successMessage':'The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','failureMessage':a54i(0x17e)},'exits':[{'direction':a54i(0x16f),'targetRoom':'Barrens\x20Hideout'}]},{'name':'Rigger\x27s\x20Workshop','description':a54i(0x184),'roomType':a54i(0x1c9),'items':[{'type':a54i(0x1d3),'name':'MCT\x20Fly-Spy','description':a54i(0x1c4)}],'exits':[{'direction':'west','targetRoom':a54i(0x1c3)}]}];