@maka/maka-cli 4.6.13 → 4.6.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/bundle/obf/package.json +1 -1
  2. package/bundle/obf/src/command.js +1 -1
  3. package/bundle/obf/src/commands/_index.js +1 -1
  4. package/bundle/obf/src/commands/ai.js +1 -1
  5. package/bundle/obf/src/commands/aws/_index.js +1 -1
  6. package/bundle/obf/src/commands/aws/aws.command.js +1 -1
  7. package/bundle/obf/src/commands/aws/chz.sub.cmd.js +1 -1
  8. package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -1
  9. package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -1
  10. package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -1
  11. package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -1
  12. package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -1
  13. package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -1
  14. package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -1
  15. package/bundle/obf/src/commands/aws/rdn.sub.cmd.js +1 -1
  16. package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -1
  17. package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -1
  18. package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -1
  19. package/bundle/obf/src/commands/build/_index.js +1 -1
  20. package/bundle/obf/src/commands/build/build.js +1 -1
  21. package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -1
  22. package/bundle/obf/src/commands/create.js +1 -1
  23. package/bundle/obf/src/commands/debug.js +1 -1
  24. package/bundle/obf/src/commands/deploy.js +1 -1
  25. package/bundle/obf/src/commands/game/_index.js +1 -1
  26. package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -1
  27. package/bundle/obf/src/commands/game/play.command.js +1 -1
  28. package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -1
  29. package/bundle/obf/src/commands/game/sideQuest/commands/command.js +1 -1
  30. package/bundle/obf/src/commands/game/sideQuest/commands/drop.js +1 -1
  31. package/bundle/obf/src/commands/game/sideQuest/commands/equip.js +1 -1
  32. package/bundle/obf/src/commands/game/sideQuest/commands/go.js +1 -1
  33. package/bundle/obf/src/commands/game/sideQuest/commands/lock.js +1 -1
  34. package/bundle/obf/src/commands/game/sideQuest/commands/look.js +1 -1
  35. package/bundle/obf/src/commands/game/sideQuest/commands/say.js +1 -1
  36. package/bundle/obf/src/commands/game/sideQuest/commands/search.js +1 -1
  37. package/bundle/obf/src/commands/game/sideQuest/commands/solve.js +1 -1
  38. package/bundle/obf/src/commands/game/sideQuest/commands/take.js +1 -1
  39. package/bundle/obf/src/commands/game/sideQuest/commands/unequip.js +1 -1
  40. package/bundle/obf/src/commands/game/sideQuest/commands/unlock.js +1 -1
  41. package/bundle/obf/src/commands/game/sideQuest/commands/use.js +1 -1
  42. package/bundle/obf/src/commands/game/sideQuest/factories/commandF.js +1 -1
  43. package/bundle/obf/src/commands/game/sideQuest/factories/roomsF.js +1 -1
  44. package/bundle/obf/src/commands/game/sideQuest/game.js +1 -1
  45. package/bundle/obf/src/commands/game/sideQuest/models/_index.js +1 -1
  46. package/bundle/obf/src/commands/game/sideQuest/models/door.js +1 -1
  47. package/bundle/obf/src/commands/game/sideQuest/models/inventory.js +1 -1
  48. package/bundle/obf/src/commands/game/sideQuest/models/item.js +1 -1
  49. package/bundle/obf/src/commands/game/sideQuest/models/npc.js +1 -1
  50. package/bundle/obf/src/commands/game/sideQuest/models/player.js +1 -1
  51. package/bundle/obf/src/commands/game/sideQuest/models/puzzle.js +1 -1
  52. package/bundle/obf/src/commands/game/sideQuest/models/room.js +1 -1
  53. package/bundle/obf/src/commands/game/sideQuest/models/scene.js +1 -1
  54. package/bundle/obf/src/commands/game/sideQuest/scenes/items.js +1 -1
  55. package/bundle/obf/src/commands/game/sideQuest/scenes/rooms.js +1 -1
  56. package/bundle/obf/src/commands/game/sideQuest/types/abstracts.js +1 -1
  57. package/bundle/obf/src/commands/game/sideQuest/types/enums.js +1 -1
  58. package/bundle/obf/src/commands/game/sideQuest/types/interfaces.js +1 -1
  59. package/bundle/obf/src/commands/game/sideQuest/types/types.js +1 -1
  60. package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -1
  61. package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -1
  62. package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -1
  63. package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -1
  64. package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -1
  65. package/bundle/obf/src/commands/generate.js +1 -1
  66. package/bundle/obf/src/commands/get/_index.js +1 -1
  67. package/bundle/obf/src/commands/get/get.command.js +1 -1
  68. package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -1
  69. package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -1
  70. package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -1
  71. package/bundle/obf/src/commands/help.js +1 -1
  72. package/bundle/obf/src/commands/install.js +1 -1
  73. package/bundle/obf/src/commands/jsdoc.js +1 -1
  74. package/bundle/obf/src/commands/lint.js +1 -1
  75. package/bundle/obf/src/commands/login.js +1 -1
  76. package/bundle/obf/src/commands/logout.js +1 -1
  77. package/bundle/obf/src/commands/logs.js +1 -1
  78. package/bundle/obf/src/commands/maka.cmd.js +1 -1
  79. package/bundle/obf/src/commands/murder.js +1 -1
  80. package/bundle/obf/src/commands/proxy.js +1 -1
  81. package/bundle/obf/src/commands/reconfig.js +1 -1
  82. package/bundle/obf/src/commands/run/_index.js +1 -1
  83. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
  84. package/bundle/obf/src/commands/run/run.command.js +1 -1
  85. package/bundle/obf/src/commands/set/_index.js +1 -1
  86. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
  87. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
  88. package/bundle/obf/src/commands/set/set.command.js +1 -1
  89. package/bundle/obf/src/commands/ssh.js +1 -1
  90. package/bundle/obf/src/commands/ssl.js +1 -1
  91. package/bundle/obf/src/commands/test.js +1 -1
  92. package/bundle/obf/src/commands/version.js +1 -1
  93. package/bundle/obf/src/error.js +1 -1
  94. package/bundle/obf/src/exec.js +1 -1
  95. package/bundle/obf/src/generator.js +1 -1
  96. package/bundle/obf/src/generators/_index.js +1 -1
  97. package/bundle/obf/src/generators/api.js +1 -1
  98. package/bundle/obf/src/generators/collection.js +1 -1
  99. package/bundle/obf/src/generators/component.js +1 -1
  100. package/bundle/obf/src/generators/config.js +1 -1
  101. package/bundle/obf/src/generators/dbc.js +1 -1
  102. package/bundle/obf/src/generators/dockerfile.js +1 -1
  103. package/bundle/obf/src/generators/hook.js +1 -1
  104. package/bundle/obf/src/generators/kit.js +1 -1
  105. package/bundle/obf/src/generators/layout.js +1 -1
  106. package/bundle/obf/src/generators/maka.gen.js +1 -1
  107. package/bundle/obf/src/generators/methods.js +1 -1
  108. package/bundle/obf/src/generators/package.js +1 -1
  109. package/bundle/obf/src/generators/page.js +1 -1
  110. package/bundle/obf/src/generators/publish.js +1 -1
  111. package/bundle/obf/src/generators/route.js +1 -1
  112. package/bundle/obf/src/generators/service.js +1 -1
  113. package/bundle/obf/src/generators/services/_index.js +1 -1
  114. package/bundle/obf/src/generators/services/openssl.js +1 -1
  115. package/bundle/obf/src/generators/services/translation.js +1 -1
  116. package/bundle/obf/src/maka.js +1 -1
  117. package/bundle/obf/src/tool.js +1 -1
  118. package/bundle/obf/src/tools/actions/actions.class.js +1 -1
  119. package/bundle/obf/src/tools/aws/aws.class.js +1 -1
  120. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
  121. package/bundle/obf/src/tools/docker/docker.class.js +1 -1
  122. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
  123. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
  124. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
  125. package/bundle/obf/src/tools/https/https.class.js +1 -1
  126. package/bundle/obf/src/tools/https/https.interface.js +1 -1
  127. package/bundle/obf/src/tools/log/log.class.js +1 -1
  128. package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
  129. package/bundle/obf/src/tools/options/options.class.js +1 -1
  130. package/bundle/obf/src/tools/progress/progress.class.js +1 -1
  131. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
  132. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
  133. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
  134. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
  135. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
  136. package/package.json +1 -1
@@ -1 +1 @@
1
- function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x11d;let f=c[d];return f;},a36d(a,b);}const a36i=a36d;(function(a,b){const f=a36d,c=a();while(!![]){try{const d=-parseInt(f(0x123))/0x1+-parseInt(f(0x12c))/0x2*(parseInt(f(0x145))/0x3)+-parseInt(f(0x13f))/0x4*(-parseInt(f(0x143))/0x5)+parseInt(f(0x12a))/0x6*(parseInt(f(0x120))/0x7)+parseInt(f(0x127))/0x8*(-parseInt(f(0x135))/0x9)+-parseInt(f(0x13c))/0xa*(parseInt(f(0x129))/0xb)+parseInt(f(0x128))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0xa530d));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0x139)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a['toString']()[h(0x141)]('(((.+)+)+)+$')[h(0x137)]()['constructor'](a36a)[h(0x141)](h(0x13a));});a36a();function a36c(){const l=['Pick\x20up\x20an\x20item.','\x22\x20to\x20','description','write','98LViFsH','addInventory','logger','1338072BNTVEk','inventory','Item\x20\x22','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','8DfIRzZ','21794124BUwPIL','11kCxqYO','187386WPaqhM','getItem','2caRyKQ','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','\x22\x20not\x20found\x20in\x20','\x22\x20in\x20this\x20room.','Successfully\x20added\x20\x22','\x22\x20from\x20','name','You\x20have\x20taken\x20the\x20','Successfully\x20removed\x20\x22','4170375uEoCTG','join','toString','hasItem','apply','(((.+)+)+)+$','take','3440830oNqldR','actor','verb','61052msxlzo','There\x20is\x20no\x20item\x20\x22','search','Error\x20during\x20\x27Take\x27\x20command:\x20','215CnEdqS','currentLocation','262707hJzuco'];a36c=function(){return l;};return a36c();}import{Command}from'./command.js';export class TakeCommand extends Command{static [a36i(0x13e)]=a36i(0x13b);static [a36i(0x11e)]=a36i(0x146);['execute'](a){const j=a36i;return this[j(0x122)][j(0x11f)](j(0x12d)+a[j(0x136)]('\x20')),this[j(0x13b)](a);}[a36i(0x13b)](a){const k=a36i,b=a[k(0x136)]('\x20')['toLowerCase'](),c=this[k(0x13d)][k(0x144)];if(!c['inventory'][k(0x138)](b))return this[k(0x122)][k(0x11f)](k(0x125)+b+k(0x12e)+c['name']+'\x20during\x20\x27Take\x27\x20command.'),k(0x140)+b+k(0x12f);const d=c[k(0x124)][k(0x12b)](b);if(!d)return this[k(0x122)][k(0x11f)](k(0x125)+b+'\x22\x20not\x20retrieved\x20from\x20'+c['name']+k(0x126)),k(0x140)+b+'\x22\x20in\x20this\x20room.';try{return this[k(0x13d)][k(0x121)](d),this[k(0x122)][k(0x11f)](k(0x130)+b+k(0x11d)+this['actor'][k(0x132)]+'\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.'),c[k(0x124)]['removeItem'](b),this[k(0x122)]['write'](k(0x134)+b+k(0x131)+c[k(0x132)]+k(0x126)),k(0x133)+b+'.';}catch(e){return this[k(0x122)][k(0x11f)](k(0x142)+e['message']),'The\x20item\x20\x22'+b+'\x22\x20is\x20too\x20heavy\x20to\x20carry.';}}}
1
+ const a36i=a36d;(function(a,b){const f=a36d,c=a();while(!![]){try{const d=parseInt(f(0x1f8))/0x1+parseInt(f(0x20b))/0x2*(parseInt(f(0x209))/0x3)+parseInt(f(0x1ee))/0x4+parseInt(f(0x20f))/0x5*(-parseInt(f(0x1fb))/0x6)+parseInt(f(0x1fd))/0x7+-parseInt(f(0x20e))/0x8+parseInt(f(0x1f6))/0x9*(-parseInt(f(0x1f9))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a36c,0x45200));const a36b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a36d;if(c){const e=c[g(0x1f1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a36a=a36b(this,function(){const h=a36d;return a36a[h(0x20d)]()['search'](h(0x1fa))[h(0x20d)]()[h(0x1eb)](a36a)[h(0x1ec)](h(0x1fa));});a36a();import{Command}from'./command.js';function a36d(a,b){const c=a36c();return a36d=function(d,e){d=d-0x1eb;let f=c[d];return f;},a36d(a,b);}function a36c(){const l=['apply','Error\x20during\x20\x27Take\x27\x20command:\x20','write','name','\x20during\x20\x27Take\x27\x20command.','1521xCzrnk','execute','283494hDnOYS','57990vLWpOo','(((.+)+)+)+$','336wxaonb','\x22\x20to\x20','3430035uomKvd','logger','\x22\x20not\x20retrieved\x20from\x20','message','getItem','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','\x22\x20in\x20this\x20room.','hasItem','\x22\x20from\x20','description','removeItem','inventory','1266ZDIERQ','Item\x20\x22','2136uDzWTx','Successfully\x20added\x20\x22','toString','1542632cdDGME','10205LTsUAX','The\x20item\x20\x22','actor','\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','There\x20is\x20no\x20item\x20\x22','constructor','search','take','1384388paIaOo','\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','\x22\x20is\x20too\x20heavy\x20to\x20carry.'];a36c=function(){return l;};return a36c();}export class TakeCommand extends Command{static ['verb']=a36i(0x1ed);static [a36i(0x206)]='Pick\x20up\x20an\x20item.';[a36i(0x1f7)](a){const j=a36i;return this['logger']['write'](j(0x202)+a['join']('\x20')),this[j(0x1ed)](a);}[a36i(0x1ed)](a){const k=a36i,b=a['join']('\x20')['toLowerCase'](),c=this[k(0x211)]['currentLocation'];if(!c[k(0x208)][k(0x204)](b))return this[k(0x1fe)]['write'](k(0x20a)+b+'\x22\x20not\x20found\x20in\x20'+c[k(0x1f4)]+k(0x1f5)),k(0x213)+b+'\x22\x20in\x20this\x20room.';const d=c[k(0x208)][k(0x201)](b);if(!d)return this[k(0x1fe)]['write'](k(0x20a)+b+k(0x1ff)+c['name']+'\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.'),k(0x213)+b+k(0x203);try{return this[k(0x211)]['addInventory'](d),this[k(0x1fe)][k(0x1f3)](k(0x20c)+b+k(0x1fc)+this['actor']['name']+k(0x212)),c['inventory'][k(0x207)](b),this[k(0x1fe)]['write']('Successfully\x20removed\x20\x22'+b+k(0x205)+c[k(0x1f4)]+k(0x1ef)),'You\x20have\x20taken\x20the\x20'+b+'.';}catch(e){return this[k(0x1fe)][k(0x1f3)](k(0x1f2)+e[k(0x200)]),k(0x210)+b+k(0x1f0);}}}
@@ -1 +1 @@
1
- function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0x120;let f=c[d];return f;},a37d(a,b);}const a37h=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=-parseInt(f(0x122))/0x1+-parseInt(f(0x12e))/0x2+parseInt(f(0x130))/0x3*(parseInt(f(0x120))/0x4)+parseInt(f(0x124))/0x5+parseInt(f(0x12c))/0x6*(-parseInt(f(0x121))/0x7)+-parseInt(f(0x134))/0x8*(-parseInt(f(0x126))/0x9)+-parseInt(f(0x12a))/0xa*(-parseInt(f(0x128))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0x7c0c3));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const g=a37d;return a37a['toString']()[g(0x12d)]('(((.+)+)+)+$')[g(0x132)]()['constructor'](a37a)[g(0x12d)](g(0x133));});a37a();function a37c(){const j=['Unequip\x20an\x20item.','toString','(((.+)+)+)+$','69408fKhRqW','description','unqeuip','toLowerCase','40NIyuii','914347uuWbeN','2058TGUtQO','write','140530loewEU','verb','315HzIltu','\x20unqeuiped\x20','119625FWAiDa','execute','1270loVBxQ','name','42EiWutO','search','1029714PEgSye','actor','67941BcxykV'];a37c=function(){return j;};return a37c();}import{Command}from'./command.js';export class UnequipCommand extends Command{static [a37h(0x125)]=a37h(0x136);static [a37h(0x135)]=a37h(0x131);[a37h(0x129)](a){const i=a37h,b=a['join']('\x20')[i(0x137)](),c=this[i(0x12f)]['unequip'](b);return this['logger'][i(0x123)]('UnequipCommand:\x20'+this[i(0x12f)][i(0x12b)]+i(0x127)+c),c;}}
1
+ const a37i=a37d;(function(a,b){const f=a37d,c=a();while(!![]){try{const d=parseInt(f(0xc8))/0x1+-parseInt(f(0xbb))/0x2*(-parseInt(f(0xb4))/0x3)+parseInt(f(0xc2))/0x4+parseInt(f(0xb2))/0x5*(parseInt(f(0xb6))/0x6)+-parseInt(f(0xbe))/0x7*(parseInt(f(0xc3))/0x8)+-parseInt(f(0xbf))/0x9*(-parseInt(f(0xcc))/0xa)+parseInt(f(0xc6))/0xb*(-parseInt(f(0xb7))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a37c,0xc6c39));const a37b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a37d;if(c){const e=c[g(0xba)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a37a=a37b(this,function(){const h=a37d;return a37a[h(0xbd)]()[h(0xc7)](h(0xb3))[h(0xbd)]()[h(0xc5)](a37a)[h(0xc7)](h(0xb3));});a37a();function a37c(){const k=['1490358ZdHKqK','UnequipCommand:\x20','write','actor','2089590RhusFY','execute','10pLiDpG','(((.+)+)+)+$','3pEwnzA','join','644862jmDyra','8484nJMOFw','name','toLowerCase','apply','1285694wKuXng','logger','toString','63sXDcaY','9OGzQia','verb','description','4188220hBNrYc','630520EjUsbU','\x20unqeuiped\x20','constructor','32373lowEGb','search'];a37c=function(){return k;};return a37c();}function a37d(a,b){const c=a37c();return a37d=function(d,e){d=d-0xb1;let f=c[d];return f;},a37d(a,b);}import{Command}from'./command.js';export class UnequipCommand extends Command{static [a37i(0xc0)]='unqeuip';static [a37i(0xc1)]='Unequip\x20an\x20item.';[a37i(0xb1)](a){const j=a37i,b=a[j(0xb5)]('\x20')[j(0xb9)](),c=this['actor']['unequip'](b);return this[j(0xbc)][j(0xca)](j(0xc9)+this[j(0xcb)][j(0xb8)]+j(0xc4)+c),c;}}
@@ -1 +1 @@
1
- const a38k=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=parseInt(h(0x1f9))/0x1*(-parseInt(h(0x1f6))/0x2)+parseInt(h(0x1ed))/0x3+parseInt(h(0x1e0))/0x4+-parseInt(h(0x201))/0x5*(parseInt(h(0x1fc))/0x6)+parseInt(h(0x1e5))/0x7*(parseInt(h(0x1fb))/0x8)+-parseInt(h(0x1dd))/0x9*(-parseInt(h(0x1eb))/0xa)+parseInt(h(0x1e9))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0x18a41));function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0x1dc;let f=c[d];return f;},a38d(a,b);}function a38c(){const n=['exits','description','91AMbbHO','unlockItemOrSolution','There\x27s\x20no\x20door\x20named\x20\x22','apply','1996577KCgSfp','execute','1305050YyfaNL','toString','1782ulIXsW','length','inventory','name','isValidDirection','.\x20Result:\x20','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','search','1574eiSGrv','toLowerCase','hasItem','181Npkkjx','UnlockCommand:\x20','6088cXYSpu','6herJyZ','(((.+)+)+)+$','attemptUnlockExit','unlock','\x22\x20here.','656485WULcjK','constructor','UnlockCommand:\x20No\x20target\x20specified.','logger','currentLocation','getItem','9GkAmFh','write','actor','208696CmMwtR','\x20is\x20attempted\x20to\x20unlock\x20','\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\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(0x1e8)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const j=a38d;return a38a[j(0x1ec)]()[j(0x1f5)](j(0x1fd))[j(0x1ec)]()[j(0x202)](a38a)['search'](j(0x1fd));});a38a();import{Door}from'../models/door.js';import{Command}from'./command.js';export class UnlockCommand extends Command{static ['verb']=a38k(0x1ff);static [a38k(0x1e4)]='Unlock\x20a\x20door.';[a38k(0x1ea)](a){const l=a38k;return this[l(0x1ff)](a);}[a38k(0x1ff)](a){const m=a38k;if(a[m(0x1ee)]===0x0)return this[m(0x204)]['error'](m(0x203)),m(0x1f3);const b=a[0x0][m(0x1f7)](),c=this[m(0x1df)][m(0x205)];if(this[m(0x1f1)](b)&&c['exits']['has'](b)){const d=c[m(0x1e3)]['get'](b);if(d instanceof Door){const e=d[m(0x1e6)]?.[m(0x1f7)]();if(e&&this['actor'][m(0x1ef)][m(0x1f8)](e)){const f=this[m(0x1df)]['inventory'][m(0x1dc)](e);if(f){const g=c[m(0x1fe)](b,f[m(0x1f0)]);return this[m(0x204)][m(0x1de)](m(0x1fa)+this[m(0x1df)][m(0x1f0)]+m(0x1e1)+b+m(0x1f2)+g),g;}}return this['logger'][m(0x1de)](m(0x1fa)+this[m(0x1df)][m(0x1f0)]+m(0x1e2)+b+'.'),m(0x1f4);}else return this['logger'][m(0x1de)](m(0x1fa)+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'+c[m(0x1f0)]+'.'),m(0x1e7)+b+m(0x200);}else return this[m(0x204)][m(0x1de)](m(0x1fa)+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20'+c[m(0x1f0)]+'.'),m(0x1e7)+b+m(0x200);}}
1
+ function a38c(){const l=['267603xNaQEg','1276KPWdmN','40EmfxYr','exits','toString','unlock','45881UiIGBR','\x22\x20here.','currentLocation','UnlockCommand:\x20','attemptUnlockExit','length','UnlockCommand:\x20No\x20target\x20specified.','There\x27s\x20no\x20door\x20named\x20\x22','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20','6132VDLhxr','logger','verb','\x20is\x20attempted\x20to\x20unlock\x20','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','24uPUMpn','execute','30588jQZEjb','write','.\x20Result:\x20','Unlock\x20a\x20door.','error','has','name','80584SvTDHX','7991217rPZRKp','inventory','constructor','14rrLcLa','8373410bPYHLR','actor','You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.','392EUwiZt','(((.+)+)+)+$','getItem','unlockItemOrSolution','description','search'];a38c=function(){return l;};return a38c();}const a38j=a38d;(function(a,b){const h=a38d,c=a();while(!![]){try{const d=-parseInt(h(0xee))/0x1*(-parseInt(h(0xde))/0x2)+parseInt(h(0xe8))/0x3*(parseInt(h(0xfc))/0x4)+parseInt(h(0xea))/0x5*(-parseInt(h(0xf7))/0x6)+-parseInt(h(0x105))/0x7*(parseInt(h(0xe2))/0x8)+-parseInt(h(0x106))/0x9+parseInt(h(0xdf))/0xa+-parseInt(h(0xe9))/0xb*(-parseInt(h(0xfe))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a38c,0x81345));const a38b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a38a=a38b(this,function(){const i=a38d;return a38a[i(0xec)]()[i(0xe7)]('(((.+)+)+)+$')[i(0xec)]()[i(0x108)](a38a)[i(0xe7)](i(0xe3));});a38a();function a38d(a,b){const c=a38c();return a38d=function(d,e){d=d-0xde;let f=c[d];return f;},a38d(a,b);}import{Door}from'../models/door.js';import{Command}from'./command.js';export class UnlockCommand extends Command{static [a38j(0xf9)]='unlock';static [a38j(0xe6)]=a38j(0x101);[a38j(0xfd)](a){return this['unlock'](a);}[a38j(0xed)](a){const k=a38j;if(a[k(0xf3)]===0x0)return this[k(0xf8)][k(0x102)](k(0xf4)),k(0xfb);const b=a[0x0]['toLowerCase'](),c=this[k(0xe0)][k(0xf0)];if(this['isValidDirection'](b)&&c[k(0xeb)][k(0x103)](b)){const d=c[k(0xeb)]['get'](b);if(d instanceof Door){const e=d[k(0xe5)]?.['toLowerCase']();if(e&&this[k(0xe0)][k(0x107)]['hasItem'](e)){const f=this[k(0xe0)][k(0x107)][k(0xe4)](e);if(f){const g=c[k(0xf2)](b,f[k(0x104)]);return this[k(0xf8)][k(0xff)](k(0xf1)+this[k(0xe0)][k(0x104)]+k(0xfa)+b+k(0x100)+g),g;}}return this[k(0xf8)]['write'](k(0xf1)+this[k(0xe0)]['name']+'\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20'+b+'.'),k(0xe1);}else return this[k(0xf8)][k(0xff)](k(0xf1)+b+k(0xf6)+c[k(0x104)]+'.'),k(0xf5)+b+k(0xef);}else return this[k(0xf8)][k(0xff)](k(0xf1)+b+k(0xf6)+c[k(0x104)]+'.'),k(0xf5)+b+k(0xef);}}
@@ -1 +1 @@
1
- const a39i=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=-parseInt(f(0xbc))/0x1+parseInt(f(0xaf))/0x2+-parseInt(f(0xa1))/0x3*(parseInt(f(0xaa))/0x4)+-parseInt(f(0xba))/0x5+-parseInt(f(0xbe))/0x6*(-parseInt(f(0xb7))/0x7)+-parseInt(f(0x9e))/0x8*(parseInt(f(0xb5))/0x9)+parseInt(f(0xa0))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xb8838));function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x9c;let f=c[d];return f;},a39d(a,b);}const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0xa7)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a['toString']()[h(0xae)]('(((.+)+)+)+$')['toString']()[h(0xb3)](a39a)[h(0xae)](h(0xb0));});a39a();import{Command}from'./command.js';export class UseCommand extends Command{static [a39i(0xab)]='use';static [a39i(0x9f)]=a39i(0xa4);[a39i(0x9c)](a){const j=a39i;return this[j(0xa2)](a);}[a39i(0xa2)](a){const k=a39i,b=a['join']('\x20')[k(0xbb)]();if(!this[k(0xb6)][k(0x9d)][k(0xb8)](b))return this[k(0xa5)][k(0xbd)](k(0xa8)+this[k(0xb6)][k(0xb2)]+k(0xac)+b+k(0xa9)),k(0xa3)+b+k(0xb9);const c=this[k(0xb6)][k(0x9d)][k(0xb4)](b);if(!c)return this[k(0xa5)][k(0xbd)]('UseCommand:\x20'+b+'\x20not\x20retrieved\x20from\x20'+this['actor'][k(0xb2)]+'\x27s\x20inventory.'),k(0xa3)+b+k(0xb9);if(typeof c[k(0xa2)]==='function'){const d=c[k(0xa2)]();return this['logger'][k(0xbd)](k(0xa8)+this[k(0xb6)][k(0xb2)]+k(0xa6)+b+'.'),d;}else return this[k(0xa5)][k(0xbd)]('UseCommand:\x20'+b+k(0xb1)),k(0xad)+b+'\x20in\x20this\x20way.';}}function a39c(){const l=['actor','58471Blvlhh','hasItem','\x20to\x20use.','6586495UeqBTr','toLowerCase','1337361yRvtEN','write','738wlvUyf','execute','inventory','1208zmuOGA','description','28057940eBOrVp','3315288QyGZjg','use','You\x20don\x27t\x20have\x20the\x20','Use\x20an\x20item.','logger','\x20used\x20','apply','UseCommand:\x20',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','4lkyPmC','verb','\x20attempted\x20to\x20use\x20','You\x20can\x27t\x20use\x20the\x20','search','1930268KfofEn','(((.+)+)+)+$','\x20doesn\x27t\x20have\x20a\x20use\x20method.','name','constructor','getItem','16857SvLpGC'];a39c=function(){return l;};return a39c();}
1
+ const a39i=a39d;(function(a,b){const f=a39d,c=a();while(!![]){try{const d=parseInt(f(0x1ee))/0x1*(-parseInt(f(0x207))/0x2)+-parseInt(f(0x203))/0x3+-parseInt(f(0x205))/0x4*(-parseInt(f(0x1f9))/0x5)+parseInt(f(0x1fb))/0x6+parseInt(f(0x208))/0x7+-parseInt(f(0x20a))/0x8+-parseInt(f(0x1f2))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a39c,0xd679b));const a39b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a39d;if(c){const e=c[g(0x20c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a39a=a39b(this,function(){const h=a39d;return a39a[h(0x1fd)]()[h(0x1f6)]('(((.+)+)+)+$')[h(0x1fd)]()[h(0x1ff)](a39a)[h(0x1f6)]('(((.+)+)+)+$');});function a39d(a,b){const c=a39c();return a39d=function(d,e){d=d-0x1ec;let f=c[d];return f;},a39d(a,b);}a39a();function a39c(){const l=['1469870mkyjoX','\x20attempted\x20to\x20use\x20','4134552CrfwYo','write','toString','use','constructor','\x20not\x20retrieved\x20from\x20','\x20doesn\x27t\x20have\x20a\x20use\x20method.','\x20to\x20use.','172182lvffry','join','4vJXrWn','\x27s\x20inventory.','14198acuIJL','9677780eNTnMT','verb','4669936SVturG','function','apply','inventory','execute','You\x20don\x27t\x20have\x20the\x20','24UzeeuI','UseCommand:\x20','You\x20can\x27t\x20use\x20the\x20','getItem','6080427WqkNmr',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','logger','\x20used\x20','search','name','actor'];a39c=function(){return l;};return a39c();}import{Command}from'./command.js';export class UseCommand extends Command{static [a39i(0x209)]='use';static ['description']='Use\x20an\x20item.';[a39i(0x1ec)](a){const j=a39i;return this[j(0x1fe)](a);}[a39i(0x1fe)](a){const k=a39i,b=a[k(0x204)]('\x20')['toLowerCase']();if(!this[k(0x1f8)][k(0x20d)]['hasItem'](b))return this[k(0x1f4)][k(0x1fc)]('UseCommand:\x20'+this[k(0x1f8)][k(0x1f7)]+k(0x1fa)+b+k(0x1f3)),k(0x1ed)+b+'\x20to\x20use.';const c=this[k(0x1f8)][k(0x20d)][k(0x1f1)](b);if(!c)return this[k(0x1f4)]['write'](k(0x1ef)+b+k(0x200)+this[k(0x1f8)]['name']+k(0x206)),k(0x1ed)+b+k(0x202);if(typeof c[k(0x1fe)]===k(0x20b)){const d=c[k(0x1fe)]();return this['logger'][k(0x1fc)]('UseCommand:\x20'+this['actor'][k(0x1f7)]+k(0x1f5)+b+'.'),d;}else return this['logger'][k(0x1fc)](k(0x1ef)+b+k(0x201)),k(0x1f0)+b+'\x20in\x20this\x20way.';}}
@@ -1 +1 @@
1
- const a40i=a40d;(function(a,b){const f=a40d,c=a();while(!![]){try{const d=parseInt(f(0x122))/0x1*(-parseInt(f(0x11a))/0x2)+parseInt(f(0x111))/0x3*(-parseInt(f(0x11c))/0x4)+parseInt(f(0x116))/0x5*(-parseInt(f(0x10f))/0x6)+-parseInt(f(0x110))/0x7*(parseInt(f(0x11d))/0x8)+parseInt(f(0x114))/0x9+parseInt(f(0x115))/0xa+-parseInt(f(0x11f))/0xb*(-parseInt(f(0x118))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0x7ae0b));const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0x119)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a[h(0x11e)]()[h(0x117)](h(0x121))[h(0x11e)]()[h(0x10e)](a40a)['search'](h(0x121));});function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x10e;let f=c[d];return f;},a40d(a,b);}a40a();function a40c(){const l=['apply','250052eOeAFm','createCommand','2116zpEbVP','40syJCps','toString','13056164dcssVk','commandMap','(((.+)+)+)+$','1WiAFoh','constructor','150EuTmpB','566503bNFAwI','681WNFOVc','registerCommand','getAllRegisteredCommands','4525686NvkVuy','2729830smWGfO','161940rUMEDD','search','12ShxlCl'];a40c=function(){return l;};return a40c();}export class CommandFactory{static ['commandMap']={};static[a40i(0x112)](a,b){this['commandMap'][a]=b;}static[a40i(0x11b)](a,b){const j=a40i,c=this[j(0x120)][a];if(c)return new c(b);return null;}static[a40i(0x113)](){const k=a40i;return this[k(0x120)];}}
1
+ function a40c(){const l=['54664ikAPjs','search','(((.+)+)+)+$','462tnZrNT','12JnHEDo','20uYvnhB','24814257DYapou','7874471ZkfPaw','5nsXqJs','constructor','getAllRegisteredCommands','15JFxTho','10ztwYbF','commandMap','toString','1661028EJSKJt','apply','510562gAkAcM','253755thylml','registerCommand','436194WGPPIg'];a40c=function(){return l;};return a40c();}const a40i=a40d;(function(a,b){const f=a40d,c=a();while(!![]){try{const d=parseInt(f(0xb0))/0x1*(-parseInt(f(0xa4))/0x2)+parseInt(f(0xa5))/0x3*(parseInt(f(0xad))/0x4)+-parseInt(f(0x9e))/0x5*(-parseInt(f(0xa2))/0x6)+parseInt(f(0xab))/0x7*(-parseInt(f(0xa8))/0x8)+-parseInt(f(0xa7))/0x9*(parseInt(f(0x9f))/0xa)+-parseInt(f(0xaf))/0xb+parseInt(f(0xac))/0xc*(parseInt(f(0xae))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a40c,0xa3b36));const a40b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a40d;if(c){const e=c[g(0xa3)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a40a=a40b(this,function(){const h=a40d;return a40a[h(0xa1)]()[h(0xa9)](h(0xaa))[h(0xa1)]()[h(0xb1)](a40a)[h(0xa9)](h(0xaa));});a40a();function a40d(a,b){const c=a40c();return a40d=function(d,e){d=d-0x9e;let f=c[d];return f;},a40d(a,b);}export class CommandFactory{static [a40i(0xa0)]={};static[a40i(0xa6)](a,b){this['commandMap'][a]=b;}static['createCommand'](a,b){const j=a40i,c=this[j(0xa0)][a];if(c)return new c(b);return null;}static[a40i(0xb2)](){const k=a40i;return this[k(0xa0)];}}
@@ -1 +1 @@
1
- function a41c(){const n=['setPuzzle','addItem','gloves','toString','boots','puzzle','517808ykPDSP','INSIDE','4902216cRScqf','createRoom','legarmor','2122016SkVUsE','convertToRoomConfig','constructor','description','99095gtxgqP','createItem','inventory','roomType','search','helmet','5949834oXeGOZ','items','1194048RGKhzN','rifle','294232YWzqJu','createPuzzle','80HGXcQS','key','2vNLrkD','39RFYSTF','name','21DVFGgp','forEach','306GfOjEs'];a41c=function(){return n;};return a41c();}const a41h=a41d;(function(a,b){const f=a41d,c=a();while(!![]){try{const d=parseInt(f(0x1e3))/0x1*(parseInt(f(0x1ef))/0x2)+parseInt(f(0x1e4))/0x3*(-parseInt(f(0x1df))/0x4)+parseInt(f(0x1d5))/0x5*(-parseInt(f(0x1e8))/0x6)+parseInt(f(0x1e6))/0x7*(parseInt(f(0x1d1))/0x8)+-parseInt(f(0x1dd))/0x9*(-parseInt(f(0x1e1))/0xa)+parseInt(f(0x1db))/0xb+-parseInt(f(0x1f1))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0x83e85));const a41b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const g=a41d;return a41a[g(0x1ec)]()[g(0x1d9)]('(((.+)+)+)+$')[g(0x1ec)]()[g(0x1d3)](a41a)[g(0x1d9)]('(((.+)+)+)+$');});a41a();function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0x1d1;let f=c[d];return f;},a41d(a,b);}import{Room,Puzzle,Inventory}from'../models/_index.js';import{RoomType}from'../types/enums.js';import{Key,Book,BasicItem,Sword,Rifle,Helmet,BodyArmor,LegArmor,Boots,Gloves,Gauntlets}from'../scenes/items.js';export class RoomFactory{[a41h(0x1f2)](a){const i=a41h,b=this['convertToRoomConfig'](a),c=new Room(b);if(a[i(0x1dc)]){const d=new Inventory();a[i(0x1dc)][i(0x1e7)](e=>{const j=i;d[j(0x1ea)](this[j(0x1d6)](e));}),c[i(0x1d7)]=d;}return a[i(0x1ee)]&&c[i(0x1e9)](this['createPuzzle'](a['puzzle'])),c;}[a41h(0x1d6)](a){const k=a41h;switch(a['type']){case k(0x1e2):return new Key(a[k(0x1e5)],a[k(0x1d4)]);case'book':return new Book(a['name'],a[k(0x1d4)],a['content']);case'sword':return new Sword(a[k(0x1e5)],a[k(0x1d4)]);case k(0x1de):return new Rifle(a[k(0x1e5)],a['description']);case k(0x1da):return new Helmet(a[k(0x1e5)],a['description']);case'bodyarmor':return new BodyArmor(a[k(0x1e5)],a[k(0x1d4)]);case k(0x1f3):return new LegArmor(a[k(0x1e5)],a[k(0x1d4)]);case k(0x1ed):return new Boots(a[k(0x1e5)],a[k(0x1d4)]);case k(0x1eb):return new Gloves(a['name'],a['description']);case'gauntlets':return new Gauntlets(a[k(0x1e5)],a['description']);default:return new BasicItem(a['name'],a[k(0x1d4)]);}}[a41h(0x1e0)](a){const l=a41h,b=this[l(0x1d6)](a['rewardItem']);return new Puzzle({...a,'rewardItem':b});}[a41h(0x1d2)](a){const m=a41h,b=a['roomType']&&RoomType[a[m(0x1d8)]['toUpperCase']()]?RoomType[a['roomType']['toUpperCase']()]:RoomType[m(0x1f0)];return{'name':a[m(0x1e5)],'description':a[m(0x1d4)],'isStartRoom':a['isStartRoom'],'roomType':b};}}
1
+ const a41i=a41d;function a41d(a,b){const c=a41c();return a41d=function(d,e){d=d-0xd6;let f=c[d];return f;},a41d(a,b);}(function(a,b){const f=a41d,c=a();while(!![]){try{const d=-parseInt(f(0xdf))/0x1*(-parseInt(f(0xdd))/0x2)+parseInt(f(0xe6))/0x3*(parseInt(f(0xe2))/0x4)+-parseInt(f(0xfe))/0x5*(parseInt(f(0xf2))/0x6)+-parseInt(f(0xd8))/0x7*(parseInt(f(0xf1))/0x8)+-parseInt(f(0xd7))/0x9*(-parseInt(f(0xfd))/0xa)+parseInt(f(0xed))/0xb*(parseInt(f(0xdb))/0xc)+-parseInt(f(0xf8))/0xd*(parseInt(f(0xf3))/0xe);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a41c,0xd79ab));function a41c(){const o=['forEach','4UbSBSY','bodyarmor','search','gauntlets','638202UVAYrl','(((.+)+)+)+$','createItem','key','sword','apply','roomType','77klAAPT','gloves','puzzle','name','739400KLvmbv','4722zFjSjg','4075498GajNPy','toString','constructor','createPuzzle','addItem','39DmYBUf','createRoom','description','setPuzzle','content','1006090NQWhRY','4915NZzKzP','items','convertToRoomConfig','99xEzrTf','42ZAhsgv','rewardItem','INSIDE','74748tiFsGB','boots','60406TmeSaU','toUpperCase','57JYncNz','rifle'];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(0xeb)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a41a=a41b(this,function(){const h=a41d;return a41a[h(0xf4)]()[h(0xe4)](h(0xe7))['toString']()[h(0xf5)](a41a)['search'](h(0xe7));});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(0xf9)](a){const j=a41i,b=this[j(0xd6)](a),c=new Room(b);if(a[j(0xff)]){const d=new Inventory();a[j(0xff)][j(0xe1)](e=>{const k=j;d[k(0xf7)](this[k(0xe8)](e));}),c['inventory']=d;}return a[j(0xef)]&&c[j(0xfb)](this[j(0xf6)](a['puzzle'])),c;}[a41i(0xe8)](a){const l=a41i;switch(a['type']){case l(0xe9):return new Key(a[l(0xf0)],a[l(0xfa)]);case'book':return new Book(a[l(0xf0)],a['description'],a[l(0xfc)]);case l(0xea):return new Sword(a[l(0xf0)],a[l(0xfa)]);case l(0xe0):return new Rifle(a['name'],a[l(0xfa)]);case'helmet':return new Helmet(a[l(0xf0)],a[l(0xfa)]);case l(0xe3):return new BodyArmor(a['name'],a[l(0xfa)]);case'legarmor':return new LegArmor(a['name'],a[l(0xfa)]);case l(0xdc):return new Boots(a[l(0xf0)],a[l(0xfa)]);case l(0xee):return new Gloves(a[l(0xf0)],a[l(0xfa)]);case l(0xe5):return new Gauntlets(a[l(0xf0)],a[l(0xfa)]);default:return new BasicItem(a[l(0xf0)],a[l(0xfa)]);}}[a41i(0xf6)](a){const m=a41i,b=this[m(0xe8)](a[m(0xd9)]);return new Puzzle({...a,'rewardItem':b});}[a41i(0xd6)](a){const n=a41i,b=a[n(0xec)]&&RoomType[a[n(0xec)][n(0xde)]()]?RoomType[a[n(0xec)][n(0xde)]()]:RoomType[n(0xda)];return{'name':a[n(0xf0)],'description':a[n(0xfa)],'isStartRoom':a['isStartRoom'],'roomType':b};}}
@@ -1 +1 @@
1
- function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x1df;let f=c[d];return f;},a42d(a,b);}function a42c(){const s=['getAllRegisteredCommands','scene','-\x20quit:\x20Exit\x20the\x20game.\x0a','32591590mEhMdu','(((.+)+)+)+$','execute','trim','7viyjsP','search','player','-\x20clear:\x20Clear\x20the\x20screen.\x0a','help','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','take','slice','maka','registerCommand','name','use','getRooms','toString','566172bWnWLX','lock','apply','6706865hYHwEy','clear','look','2TxJPAk','currentRoom','instance','9259064zVvpjP','quit','4750317qHxRKz','say','createCommand','registerCommands','getWelcomeMessage','2806338CmBXWh','currentLocation','unequip','equip','hasOwnProperty','943186UWtvwu','determineStartRoom','getHelpMessage','constructor','3iGCiaf','rooms','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','initialize','getInstance','getDescription'];a42c=function(){return s;};return a42c();}const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=parseInt(h(0x1e1))/0x1*(-parseInt(h(0x206))/0x2)+parseInt(h(0x1e5))/0x3*(-parseInt(h(0x200))/0x4)+-parseInt(h(0x203))/0x5+parseInt(h(0x210))/0x6+parseInt(h(0x1f2))/0x7*(-parseInt(h(0x209))/0x8)+parseInt(h(0x20b))/0x9+parseInt(h(0x1ee))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0xa3dea));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0x202)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a[j(0x1ff)]()[j(0x1f3)](j(0x1ef))[j(0x1ff)]()[j(0x1e4)](a42a)['search'](j(0x1ef));});a42a();import{Scene}from'./models/scene.js';import{LookCommand}from'./commands/look.js';import{TakeCommand}from'./commands/take.js';import{GoCommand}from'./commands/go.js';import{UseCommand}from'./commands/use.js';import{EquipCommand}from'./commands/equip.js';import{UnequipCommand}from'./commands/unequip.js';import{SolveCommand}from'./commands/solve.js';import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';import{LockCommand}from'./commands/lock.js';import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42k(0x208)];[a42k(0x1ec)];[a42k(0x1f4)];[a42k(0x207)];[a42k(0x1e6)];constructor(a,b){const l=a42k;this[l(0x1f4)]=a,this['scene']=new Scene({'player':a,'roomConfiguration':b}),this[l(0x1ec)][l(0x1e8)](),this[l(0x1f4)][l(0x211)]=this[l(0x1e2)](),this[l(0x20e)]();}[a42k(0x20e)](){const m=a42k;CommandFactory['registerCommand'](m(0x205),LookCommand),CommandFactory['registerCommand']('go',GoCommand),CommandFactory['registerCommand'](m(0x1f8),TakeCommand),CommandFactory[m(0x1fb)](m(0x1fd),UseCommand),CommandFactory['registerCommand'](m(0x1df),EquipCommand),CommandFactory['registerCommand'](m(0x212),UnequipCommand),CommandFactory['registerCommand']('solve',SolveCommand),CommandFactory[m(0x1fb)]('drop',DropCommand),CommandFactory['registerCommand']('unlock',UnlockCommand),CommandFactory[m(0x1fb)](m(0x201),LockCommand),CommandFactory[m(0x1fb)](m(0x1f3),SearchCommand),CommandFactory['registerCommand'](m(0x20c),SayCommand);}['determineStartRoom'](){const n=a42k;return this['scene'][n(0x1e2)]();}[a42k(0x20f)](){const o=a42k;return'Welcome,\x20'+this[o(0x1f4)][o(0x1fc)];}static[a42k(0x1e9)](a,b){const p=a42k;return!Game[p(0x208)]&&(Game[p(0x208)]=new Game(a,b)),Game['instance'];}['handleInput'](a){const q=a42k,b=a[q(0x1f1)]()['split']('\x20'),c=b[0x0]['toLowerCase'](),d=b[q(0x1f9)](0x1);if(c===q(0x20a))return null;if(c===q(0x1fa))return q(0x1e7);if(c===q(0x1f6))return this[q(0x1e3)]();if(c===q(0x204))return'';const e={'actor':this[q(0x1f4)],'rooms':this[q(0x1ec)][q(0x1fe)](),'scene':this['scene']},f=CommandFactory[q(0x20d)](c,e);if(f){const g=f[q(0x1f0)](d);return g;}return q(0x1f7)+c+'\x22.';}[a42k(0x1e3)](){const r=a42k,a=CommandFactory[r(0x1eb)]();let b='Available\x20Commands:\x0a';for(const c in a){if(a[r(0x1e0)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[r(0x1ea)]()+'\x0a';}}return b+=r(0x1f5),b+=r(0x1ed),b;}}
1
+ const a42k=a42d;(function(a,b){const h=a42d,c=a();while(!![]){try{const d=-parseInt(h(0x9f))/0x1+parseInt(h(0xb1))/0x2+parseInt(h(0xcb))/0x3+parseInt(h(0xa2))/0x4+parseInt(h(0xbb))/0x5+parseInt(h(0xa1))/0x6+-parseInt(h(0xbf))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a42c,0x533a0));const a42b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a42d;if(c){const e=c[i(0xa8)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a42a=a42b(this,function(){const j=a42d;return a42a[j(0xaf)]()[j(0xc0)](j(0xa0))[j(0xaf)]()[j(0xbd)](a42a)[j(0xc0)](j(0xa0));});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';function a42d(a,b){const c=a42c();return a42d=function(d,e){d=d-0x9d;let f=c[d];return f;},a42d(a,b);}import{UnequipCommand}from'./commands/unequip.js';import{SolveCommand}from'./commands/solve.js';import{DropCommand}from'./commands/drop.js';import{UnlockCommand}from'./commands/unlock.js';function a42c(){const s=['search','initialize','getAllRegisteredCommands','createCommand','scene','getDescription','unlock','currentLocation','Welcome,\x20','hasOwnProperty','registerCommands','1929333iIQHPL','execute','split','getRooms','getHelpMessage','610316MhJxdJ','(((.+)+)+)+$','1616208ZgREXw','2093516WFIRaR','use','slice','name','getInstance','take','apply','getWelcomeMessage','determineStartRoom','solve','look','handleInput','-\x20clear:\x20Clear\x20the\x20screen.\x0a','toString','quit','572pwrbnl','trim','registerCommand','maka','instance','drop','equip','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','player','currentRoom','2515860JrsutZ','lock','constructor','toLowerCase','6916728ZPbMuA'];a42c=function(){return s;};return a42c();}import{LockCommand}from'./commands/lock.js';import{SearchCommand}from'./commands/search.js';import{SayCommand}from'./commands/say.js';import{CommandFactory}from'./factories/commandF.js';export default class Game{static [a42k(0xb5)];[a42k(0xc4)];[a42k(0xb9)];[a42k(0xba)];['rooms'];constructor(a,b){const l=a42k;this[l(0xb9)]=a,this['scene']=new Scene({'player':a,'roomConfiguration':b}),this[l(0xc4)][l(0xc1)](),this[l(0xb9)][l(0xc7)]=this[l(0xaa)](),this[l(0xca)]();}[a42k(0xca)](){const m=a42k;CommandFactory[m(0xb3)](m(0xac),LookCommand),CommandFactory[m(0xb3)]('go',GoCommand),CommandFactory[m(0xb3)](m(0xa7),TakeCommand),CommandFactory[m(0xb3)](m(0xa3),UseCommand),CommandFactory[m(0xb3)](m(0xb7),EquipCommand),CommandFactory['registerCommand']('unequip',UnequipCommand),CommandFactory['registerCommand'](m(0xab),SolveCommand),CommandFactory[m(0xb3)](m(0xb6),DropCommand),CommandFactory[m(0xb3)](m(0xc6),UnlockCommand),CommandFactory[m(0xb3)](m(0xbc),LockCommand),CommandFactory[m(0xb3)](m(0xc0),SearchCommand),CommandFactory[m(0xb3)]('say',SayCommand);}[a42k(0xaa)](){const n=a42k;return this[n(0xc4)][n(0xaa)]();}[a42k(0xa9)](){const o=a42k;return o(0xc8)+this[o(0xb9)][o(0xa5)];}static[a42k(0xa6)](a,b){const p=a42k;return!Game['instance']&&(Game[p(0xb5)]=new Game(a,b)),Game['instance'];}[a42k(0xad)](a){const q=a42k,b=a[q(0xb2)]()[q(0xcd)]('\x20'),c=b[0x0][q(0xbe)](),d=b[q(0xa4)](0x1);if(c===q(0xb0))return null;if(c===q(0xb4))return'You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit';if(c==='help')return this[q(0x9e)]();if(c==='clear')return'';const e={'actor':this[q(0xb9)],'rooms':this[q(0xc4)][q(0x9d)](),'scene':this['scene']},f=CommandFactory[q(0xc3)](c,e);if(f){const g=f[q(0xcc)](d);return g;}return q(0xb8)+c+'\x22.';}[a42k(0x9e)](){const r=a42k,a=CommandFactory[r(0xc2)]();let b='Available\x20Commands:\x0a';for(const c in a){if(a[r(0xc9)](c)){const d=a[c];b+='-\x20'+c+':\x20'+d[r(0xc5)]()+'\x0a';}}return b+=r(0xae),b+='-\x20quit:\x20Exit\x20the\x20game.\x0a',b;}}
@@ -1 +1 @@
1
- (function(a,b){var f=a43d,c=a();while(!![]){try{var d=-parseInt(f(0x9b))/0x1+parseInt(f(0x97))/0x2+-parseInt(f(0x98))/0x3*(-parseInt(f(0x99))/0x4)+-parseInt(f(0x95))/0x5+-parseInt(f(0x96))/0x6*(-parseInt(f(0x9a))/0x7)+parseInt(f(0x9c))/0x8+-parseInt(f(0x9f))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0x5afef));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x9d)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a[h(0x9e)]()[h(0xa0)](h(0x94))[h(0x9e)]()['constructor'](a43a)[h(0xa0)]('(((.+)+)+)+$');});a43a();export*from'./door.js';export*from'./inventory.js';export*from'./item.js';export*from'./npc.js';export*from'./player.js';function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x94;var f=c[d];return f;},a43d(a,b);}export*from'./puzzle.js';export*from'./room.js';export*from'./scene.js';function a43c(){var i=['8905968nfLpus','search','(((.+)+)+)+$','3035745WSKFeK','1362PhQnWW','813640OzACfb','9Iampwl','662044WqzKLx','11060pYIlMV','35328SQDxzO','5941880xvoMLi','apply','toString'];a43c=function(){return i;};return a43c();}
1
+ (function(a,b){var f=a43d,c=a();while(!![]){try{var d=-parseInt(f(0x15b))/0x1*(parseInt(f(0x154))/0x2)+-parseInt(f(0x157))/0x3*(parseInt(f(0x152))/0x4)+-parseInt(f(0x159))/0x5*(-parseInt(f(0x151))/0x6)+parseInt(f(0x15e))/0x7+parseInt(f(0x156))/0x8+-parseInt(f(0x15f))/0x9+-parseInt(f(0x15a))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a43c,0xc1d9a));var a43b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a43d;if(c){var e=c[g(0x155)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a43a=a43b(this,function(){var h=a43d;return a43a[h(0x153)]()[h(0x15c)](h(0x15d))[h(0x153)]()[h(0x158)](a43a)['search'](h(0x15d));});a43a();export*from'./door.js';export*from'./inventory.js';function a43c(){var i=['2870pBnUcE','search','(((.+)+)+)+$','8200297zzlMjh','3155247YqxSAn','132slVIoq','140684EnPvEM','toString','698tJoPDm','apply','8017288VOjxOx','123datGqi','constructor','345365ReLrep','1050040saYQMj'];a43c=function(){return i;};return a43c();}export*from'./item.js';export*from'./npc.js';export*from'./player.js';function a43d(a,b){var c=a43c();return a43d=function(d,e){d=d-0x151;var f=c[d];return f;},a43d(a,b);}export*from'./puzzle.js';export*from'./room.js';export*from'./scene.js';
@@ -1 +1 @@
1
- var a44i=a44d;function a44c(){var o=['121xzaBHS','.\x20Is\x20Locked:\x20','toString','search','apply','14589vksUtI','3250HlyYUu','226680iWmFWd','isLockable','checkIfLockable','To\x20','\x20and\x20','Failed\x20to\x20unlock\x20door:\x20','9aozFAH','name','write','4533228rdfzxf','logger','878810DtxcRe','1700228inylLw','roomA','isLocked','unlockItemOrSolution','constructor','attemptUnlock','roomB','2504dOhgbT','getOtherSide','(((.+)+)+)+$','.\x20Used:\x20','442uMoCFf','7417837ESHnQa','144xlnmke','Door\x20created\x20between\x20'];a44c=function(){return o;};return a44c();}(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x1f3))/0x1*(parseInt(f(0x1e9))/0x2)+parseInt(f(0x1fa))/0x3*(parseInt(f(0x1de))/0x4)+parseInt(f(0x1f4))/0x5*(parseInt(f(0x1eb))/0x6)+-parseInt(f(0x1ea))/0x7+-parseInt(f(0x1e5))/0x8*(parseInt(f(0x1f2))/0x9)+parseInt(f(0x1dd))/0xa*(parseInt(f(0x1ed))/0xb)+-parseInt(f(0x1db))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0xa2cdb));var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0x1f1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a['toString']()['search'](h(0x1e7))[h(0x1ef)]()[h(0x1e2)](a44a)[h(0x1f0)](h(0x1e7));});a44a();import{Logger}from'../utilities/logger.js';function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0x1db;var f=c[d];return f;},a44d(a,b);}import{capitalCase}from'change-case';import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{['roomA'];['roomB'];['isLocked'];[a44i(0x1e1)];['name'];[a44i(0x1dc)];[a44i(0x1f5)];constructor(a){var j=a44i;super(),this[j(0x1df)]=a[j(0x1df)],this[j(0x1e4)]=a[j(0x1e4)],this[j(0x1e0)]=a['isLocked']||![],this[j(0x1e1)]=a[j(0x1e1)],this[j(0x1fb)]=a['name']?capitalCase(a['name']):j(0x1f7)+a[j(0x1e4)][j(0x1fb)],this[j(0x1dc)]=Logger['getInstance'](),this[j(0x1f5)]=!!a[j(0x1e1)],this[j(0x1dc)][j(0x1fc)](j(0x1ec)+this[j(0x1df)][j(0x1fb)]+j(0x1f8)+this[j(0x1e4)][j(0x1fb)]+j(0x1ee)+this[j(0x1e0)]);}[a44i(0x1e6)](a){var k=a44i;return this['roomA']===a?this[k(0x1e4)]:this[k(0x1df)];}[a44i(0x1e3)](a){var l=a44i;if(this[l(0x1e0)]&&this[l(0x1e1)]&&this[l(0x1e1)]===a)return this[l(0x1e0)]=![],this[l(0x1dc)]['write']('Door\x20unlocked:\x20'+this[l(0x1fb)]+l(0x1e8)+a),!![];return this['logger']['write'](l(0x1f9)+this['name']+'.\x20Used:\x20'+a),![];}['checkIfLocked'](){var m=a44i;return this[m(0x1e0)];}[a44i(0x1f6)](){var n=a44i;return this[n(0x1f5)];}}
1
+ var a44i=a44d;(function(a,b){var f=a44d,c=a();while(!![]){try{var d=-parseInt(f(0x161))/0x1*(-parseInt(f(0x157))/0x2)+-parseInt(f(0x166))/0x3+parseInt(f(0x15b))/0x4+parseInt(f(0x155))/0x5+parseInt(f(0x163))/0x6+-parseInt(f(0x159))/0x7+parseInt(f(0x158))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a44c,0xeefe1));function a44d(a,b){var c=a44c();return a44d=function(d,e){d=d-0x14e;var f=c[d];return f;},a44d(a,b);}function a44c(){var o=['roomA','isLockable','unlockItemOrSolution','logger','(((.+)+)+)+$','search','checkIfLocked','Door\x20unlocked:\x20','.\x20Used:\x20','3712355NLTPOz','getOtherSide','3214ZudORA','10415328ghJZie','7498225UCbmEq','write','729664tebQuu','checkIfLockable','toString','Failed\x20to\x20unlock\x20door:\x20','isLocked','getInstance','291WDmZYw','name','3806364DjEORZ','roomB','apply','3836238ZAOggw','\x20and\x20'];a44c=function(){return o;};return a44c();}var a44b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a44d;if(c){var e=c[g(0x165)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a44a=a44b(this,function(){var h=a44d;return a44a[h(0x15d)]()[h(0x151)]('(((.+)+)+)+$')['toString']()['constructor'](a44a)['search'](h(0x150));});a44a();import{Logger}from'../utilities/logger.js';import{capitalCase}from'change-case';import{AbstractDoor}from'../types/abstracts.js';export class Door extends AbstractDoor{['roomA'];[a44i(0x164)];[a44i(0x15f)];[a44i(0x14e)];[a44i(0x162)];[a44i(0x14f)];[a44i(0x169)];constructor(a){var j=a44i;super(),this[j(0x168)]=a[j(0x168)],this['roomB']=a[j(0x164)],this[j(0x15f)]=a[j(0x15f)]||![],this[j(0x14e)]=a[j(0x14e)],this[j(0x162)]=a[j(0x162)]?capitalCase(a[j(0x162)]):'To\x20'+a[j(0x164)][j(0x162)],this[j(0x14f)]=Logger[j(0x160)](),this[j(0x169)]=!!a[j(0x14e)],this[j(0x14f)][j(0x15a)]('Door\x20created\x20between\x20'+this[j(0x168)][j(0x162)]+j(0x167)+this[j(0x164)][j(0x162)]+'.\x20Is\x20Locked:\x20'+this[j(0x15f)]);}[a44i(0x156)](a){var k=a44i;return this[k(0x168)]===a?this[k(0x164)]:this['roomA'];}['attemptUnlock'](a){var l=a44i;if(this['isLocked']&&this[l(0x14e)]&&this['unlockItemOrSolution']===a)return this[l(0x15f)]=![],this[l(0x14f)][l(0x15a)](l(0x153)+this[l(0x162)]+l(0x154)+a),!![];return this[l(0x14f)][l(0x15a)](l(0x15e)+this[l(0x162)]+l(0x154)+a),![];}[a44i(0x152)](){var m=a44i;return this[m(0x15f)];}[a44i(0x15c)](){var n=a44i;return this[n(0x169)];}}
@@ -1 +1 @@
1
- const a45i=a45d;function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0xa9;let f=c[d];return f;},a45d(a,b);}(function(a,b){const f=a45d,c=a();while(!![]){try{const d=parseInt(f(0xc7))/0x1*(-parseInt(f(0xac))/0x2)+-parseInt(f(0xc0))/0x3+-parseInt(f(0xae))/0x4+-parseInt(f(0xd0))/0x5*(parseInt(f(0xc2))/0x6)+-parseInt(f(0xc3))/0x7*(parseInt(f(0xc9))/0x8)+parseInt(f(0xbf))/0x9*(-parseInt(f(0xb9))/0xa)+parseInt(f(0xc8))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0xcb126));function a45c(){const r=['Listed\x20items\x20in\x20inventory:\x20','.\x20Exists:\x20','Retrieved\x20details\x20for\x20item:\x20','toLowerCase','items','write','map','Failed\x20to\x20remove\x20item:\x20','apply','69900AvmyCN','delete','weight','getInstance','getItem','\x20in\x20','234gBklri','3292116tiiJGV','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','372XeAEuU','14PrUZvh','values','addItem','constructor','475529qApKYv','62477349erDFzc','5578864QaqqST','Removed\x20item:\x20','search','\x20from\x20inventory.','\x20to\x20inventory.','keys','Added\x20item:\x20','102610bQhVnm','listItems','getWeight','.\x20Item\x20not\x20found.','get','hasItem','name','toString','2lGECSW','(((.+)+)+)+$','1705024XpTVxl','logger'];a45c=function(){return r;};return a45c();}const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0xb8)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a['toString']()['search'](h(0xad))[h(0xab)]()[h(0xc6)](a45a)[h(0xcb)](h(0xad));});a45a();import{capitalCase}from'change-case';import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{['items'];[a45i(0xaf)];constructor(){const j=a45i;super(),this[j(0xb4)]=new Map(),this[j(0xaf)]=Logger[j(0xbc)]();}[a45i(0xc5)](a){const k=a45i;this['items']['set'](a[k(0xaa)][k(0xb3)](),a),this[k(0xaf)][k(0xb5)](k(0xcf)+a[k(0xaa)]+k(0xcd));}['removeItem'](a){const l=a45i,b=this[l(0xbd)](a);if(b)return this[l(0xb4)][l(0xba)](a['toLowerCase']()),this[l(0xaf)]['write'](l(0xca)+a+l(0xcc)),b;return this['logger']['write'](l(0xb7)+a+l(0xd3)),null;}[a45i(0xa9)](a){const m=a45i,b=this['items']['has'](a[m(0xb3)]()),c=[...this[m(0xb4)][m(0xce)]()];return this['logger']['write']('Checked\x20for\x20item:\x20'+a+m(0xbe)+c['join'](',\x20')+m(0xb1)+b+'.'),b;}[a45i(0xbd)](a){const n=a45i,b=this[n(0xb4)][n(0xd4)](a[n(0xb3)]())||null;return b?this[n(0xaf)][n(0xb5)](n(0xb2)+a+'.'):this[n(0xaf)]['write'](n(0xc1)+a+n(0xd3)),b;}[a45i(0xd1)](){const o=a45i,a=[...this[o(0xb4)][o(0xce)]()],b=a[o(0xb6)](c=>capitalCase(c));return this['logger']['write'](o(0xb0)+b['join'](',\x20')+'.'),a;}[a45i(0xd2)](){const p=a45i;let a=0x0;for(const b of this['items'][p(0xc4)]()){a+=b[p(0xbb)];}return a;}['getAllItems'](){const q=a45i;return[...this[q(0xb4)][q(0xc4)]()];}}
1
+ const a45i=a45d;(function(a,b){const f=a45d,c=a();while(!![]){try{const d=parseInt(f(0x135))/0x1*(parseInt(f(0x136))/0x2)+-parseInt(f(0x13c))/0x3+-parseInt(f(0x145))/0x4*(-parseInt(f(0x14b))/0x5)+-parseInt(f(0x13a))/0x6+parseInt(f(0x138))/0x7+-parseInt(f(0x147))/0x8+-parseInt(f(0x139))/0x9*(parseInt(f(0x158))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a45c,0x5c145));const a45b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a45d;if(c){const e=c[g(0x13d)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a45a=a45b(this,function(){const h=a45d;return a45a[h(0x157)]()[h(0x140)]('(((.+)+)+)+$')[h(0x157)]()['constructor'](a45a)[h(0x140)](h(0x149));});a45a();import{capitalCase}from'change-case';function a45d(a,b){const c=a45c();return a45d=function(d,e){d=d-0x133;let f=c[d];return f;},a45d(a,b);}import{Logger}from'../utilities/logger.js';import{AbstractInventory}from'../types/abstracts.js';export class Inventory extends AbstractInventory{[a45i(0x142)];[a45i(0x141)];constructor(){const j=a45i;super(),this[j(0x142)]=new Map(),this[j(0x141)]=Logger[j(0x150)]();}['addItem'](a){const k=a45i;this[k(0x142)][k(0x14a)](a[k(0x154)][k(0x143)](),a),this[k(0x141)][k(0x146)](k(0x134)+a['name']+k(0x14d));}[a45i(0x153)](a){const l=a45i,b=this['getItem'](a);if(b)return this['items']['delete'](a[l(0x143)]()),this[l(0x141)][l(0x146)](l(0x14c)+a+'\x20from\x20inventory.'),b;return this[l(0x141)]['write']('Failed\x20to\x20remove\x20item:\x20'+a+l(0x159)),null;}[a45i(0x152)](a){const m=a45i,b=this[m(0x142)][m(0x14f)](a[m(0x143)]()),c=[...this[m(0x142)][m(0x137)]()];return this[m(0x141)][m(0x146)]('Checked\x20for\x20item:\x20'+a+m(0x13f)+c['join'](',\x20')+m(0x156)+b+'.'),b;}[a45i(0x151)](a){const n=a45i,b=this['items'][n(0x133)](a[n(0x143)]())||null;return b?this[n(0x141)][n(0x146)](n(0x13b)+a+'.'):this['logger'][n(0x146)](n(0x155)+a+n(0x159)),b;}['listItems'](){const o=a45i,a=[...this[o(0x142)][o(0x137)]()],b=a['map'](c=>capitalCase(c));return this[o(0x141)]['write'](o(0x13e)+b['join'](',\x20')+'.'),a;}['getWeight'](){const p=a45i;let a=0x0;for(const b of this[p(0x142)][p(0x144)]()){a+=b[p(0x14e)];}return a;}[a45i(0x148)](){const q=a45i;return[...this[q(0x142)][q(0x144)]()];}}function a45c(){const r=['Listed\x20items\x20in\x20inventory:\x20','\x20in\x20','search','logger','items','toLowerCase','values','4cyCWeY','write','873872GkgCnG','getAllItems','(((.+)+)+)+$','set','2462155uassJs','Removed\x20item:\x20','\x20to\x20inventory.','weight','has','getInstance','getItem','hasItem','removeItem','name','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','.\x20Exists:\x20','toString','29210agBMMl','.\x20Item\x20not\x20found.','get','Added\x20item:\x20','644331JMJFoo','2YSsYNt','keys','6608xNTxYd','702bwhHfw','31716OwAplX','Retrieved\x20details\x20for\x20item:\x20','1254573IOQAXW','apply'];a45c=function(){return r;};return a45c();}
@@ -1 +1 @@
1
- function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x8d;var f=c[d];return f;},a46d(a,b);}var a46i=a46d;(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0xa1))/0x1*(parseInt(f(0xa8))/0x2)+-parseInt(f(0x9d))/0x3*(-parseInt(f(0xa7))/0x4)+parseInt(f(0x98))/0x5+-parseInt(f(0xa6))/0x6+-parseInt(f(0x95))/0x7+parseInt(f(0x94))/0x8*(parseInt(f(0xa5))/0x9)+parseInt(f(0x9e))/0xa*(parseInt(f(0xa3))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0xee547));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a46d;if(c){var e=c[g(0x8e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var h=a46d;return a46a[h(0x96)]()[h(0x93)](h(0xa4))['toString']()[h(0x90)](a46a)[h(0x93)](h(0xa4));});a46a();function a46c(){var l=['toString','description','4318735logmYX','color','shape','You\x20use\x20the\x20','category','3VwTert','963860gnyfcu','uuid','use','877uVuoxY','size','198bDDlPq','(((.+)+)+)+$','17397ykCAux','8997642HYLenm','4131252FSVDFz','1798gSEitc','weight','apply','rating','constructor','name','texture','search','3272GOWHAd','8105132zjxUwp'];a46c=function(){return l;};return a46c();}import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{[a46i(0x9f)];['name'];[a46i(0x97)];['size'];[a46i(0x9c)];[a46i(0x9a)];[a46i(0x99)];[a46i(0x92)];[a46i(0x8f)];['weight'];constructor(a){var j=a46i;super(),this[j(0x91)]=a['name'],this[j(0x97)]=a[j(0x97)],this[j(0xa2)]=a[j(0xa2)],this[j(0x9c)]=a[j(0x9c)],this[j(0x9a)]=a['shape'],this[j(0x99)]=a[j(0x99)],this[j(0x92)]=a['texture'],this[j(0x8f)]=a[j(0x8f)],this[j(0x8d)]=a[j(0x8d)],this[j(0x9f)]=a46e();}[a46i(0xa0)](){var k=a46i;return k(0x9b)+this[k(0x91)]+'.\x20Nothing\x20special\x20happens.';}}
1
+ var a46h=a46d;(function(a,b){var f=a46d,c=a();while(!![]){try{var d=-parseInt(f(0x171))/0x1*(-parseInt(f(0x181))/0x2)+-parseInt(f(0x17f))/0x3+-parseInt(f(0x184))/0x4+parseInt(f(0x17c))/0x5*(-parseInt(f(0x17b))/0x6)+-parseInt(f(0x186))/0x7*(-parseInt(f(0x17d))/0x8)+parseInt(f(0x182))/0x9*(-parseInt(f(0x172))/0xa)+parseInt(f(0x16d))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a46c,0x2c77b));var a46b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a46a=a46b(this,function(){var g=a46d;return a46a[g(0x176)]()[g(0x16f)]('(((.+)+)+)+$')[g(0x176)]()[g(0x16e)](a46a)['search'](g(0x170));});a46a();function a46d(a,b){var c=a46c();return a46d=function(d,e){d=d-0x16d;var f=c[d];return f;},a46d(a,b);}import{v4 as a46e}from'uuid';import{AbstractItem}from'../types/abstracts.js';export class Item extends AbstractItem{[a46h(0x180)];[a46h(0x179)];['description'];[a46h(0x17a)];[a46h(0x177)];[a46h(0x173)];[a46h(0x175)];[a46h(0x187)];['rating'];[a46h(0x174)];constructor(a){var i=a46h;super(),this['name']=a[i(0x179)],this[i(0x185)]=a[i(0x185)],this[i(0x17a)]=a['size'],this[i(0x177)]=a[i(0x177)],this[i(0x173)]=a[i(0x173)],this[i(0x175)]=a['color'],this[i(0x187)]=a[i(0x187)],this['rating']=a[i(0x188)],this[i(0x174)]=a[i(0x174)],this[i(0x180)]=a46e();}[a46h(0x178)](){var j=a46h;return j(0x17e)+this[j(0x179)]+j(0x183);}}function a46c(){var k=['43ZtJFpI','830rKxAEV','shape','weight','color','toString','category','use','name','size','42SUgcla','212165pUfxLf','33832WfboNO','You\x20use\x20the\x20','105507AATvvO','uuid','3526LSrQBj','11007AUTQhT','.\x20Nothing\x20special\x20happens.','680184VJDqIB','description','119igYiKJ','texture','rating','7020112LVZgSu','constructor','search','(((.+)+)+)+$'];a46c=function(){return k;};return a46c();}
@@ -1 +1 @@
1
- const a47i=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0x18a))/0x1*(-parseInt(f(0x18c))/0x2)+-parseInt(f(0x18e))/0x3*(parseInt(f(0x188))/0x4)+parseInt(f(0x177))/0x5*(-parseInt(f(0x179))/0x6)+parseInt(f(0x183))/0x7+-parseInt(f(0x185))/0x8*(-parseInt(f(0x175))/0x9)+parseInt(f(0x18b))/0xa*(parseInt(f(0x17a))/0xb)+-parseInt(f(0x189))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0x51908));function a47c(){const n=['3WBPtMS','moveTo','_dialogue','2004786HFZuQP','toString','397505zmOWlY','name','12PcqDor','11rxbiiU','scene','execute','length','apply','random','(((.+)+)+)+$','speak','_name','3202290WlQKkA','autonomousMove','16TiUiGo','floor','search','1527268SDPYAH','427920puuDQs','164GzJgVA','1770010JxOMnQ','2066GsduYo','rooms'];a47c=function(){return n;};return a47c();}const a47b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a47d;if(c){const e=c[g(0x17e)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a47a=a47b(this,function(){const h=a47d;return a47a[h(0x176)]()[h(0x187)](h(0x180))[h(0x176)]()['constructor'](a47a)[h(0x187)]('(((.+)+)+)+$');});function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x174;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(0x174)];[a47i(0x18d)];[a47i(0x17b)];constructor(a,b,c,d){const j=a47i;super(d),this[j(0x182)]=a,this['_dialogue']=b,this[j(0x18d)]=c;}get[a47i(0x178)](){return this['_name'];}[a47i(0x181)](){const k=a47i;return this['_dialogue'][Math[k(0x186)](Math[k(0x17f)]()*this[k(0x174)][k(0x17d)])];}[a47i(0x184)](a){const l=a47i,b=a[Math['floor'](Math['random']()*a[l(0x17d)])];this[l(0x18f)](b[l(0x178)]);}[a47i(0x18f)](a){const m=a47i,b={'actor':this,'rooms':this['rooms'],'scene':this[m(0x17b)]},c=new GoCommand(b);c[m(0x17c)]([a]);}}
1
+ const a47h=a47d;(function(a,b){const f=a47d,c=a();while(!![]){try{const d=parseInt(f(0x153))/0x1+parseInt(f(0x146))/0x2+-parseInt(f(0x148))/0x3+parseInt(f(0x155))/0x4+parseInt(f(0x150))/0x5+parseInt(f(0x157))/0x6+-parseInt(f(0x14b))/0x7;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a47c,0x35397));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(0x14a)]()[g(0x14c)](g(0x14e))[g(0x14a)]()[g(0x159)](a47a)[g(0x14c)](g(0x14e));});a47a();function a47c(){const n=['661359QrlwiJ','moveTo','toString','5294639gTBBTM','search','speak','(((.+)+)+)+$','_dialogue','337915IjgSlp','scene','rooms','413174wftYRe','name','1203104dZDKOA','random','2407392TUZbLJ','floor','constructor','execute','24144TWWuHS','_name'];a47c=function(){return n;};return a47c();}function a47d(a,b){const c=a47c();return a47d=function(d,e){d=d-0x146;let f=c[d];return f;},a47d(a,b);}import{Player}from'./player.js';import{GoCommand}from'../commands/go.js';export class NPC extends Player{[a47h(0x147)];[a47h(0x14f)];['rooms'];[a47h(0x151)];constructor(a,b,c,d){const i=a47h;super(d),this[i(0x147)]=a,this[i(0x14f)]=b,this[i(0x152)]=c;}get[a47h(0x154)](){const j=a47h;return this[j(0x147)];}[a47h(0x14d)](){const k=a47h;return this[k(0x14f)][Math[k(0x158)](Math[k(0x156)]()*this[k(0x14f)]['length'])];}['autonomousMove'](a){const l=a47h,b=a[Math[l(0x158)](Math[l(0x156)]()*a['length'])];this[l(0x149)](b[l(0x154)]);}['moveTo'](a){const m=a47h,b={'actor':this,'rooms':this[m(0x152)],'scene':this[m(0x151)]},c=new GoCommand(b);c[m(0x15a)]([a]);}}
@@ -1 +1 @@
1
- const a48i=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x1e4))/0x1+parseInt(f(0x212))/0x2*(-parseInt(f(0x1ff))/0x3)+-parseInt(f(0x1ee))/0x4*(parseInt(f(0x210))/0x5)+-parseInt(f(0x21c))/0x6+parseInt(f(0x1f9))/0x7+-parseInt(f(0x207))/0x8*(-parseInt(f(0x21b))/0x9)+parseInt(f(0x20b))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0x2d6ff));const a48b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a48d;if(c){const e=c[g(0x21f)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a48a=a48b(this,function(){const h=a48d;return a48a[h(0x1fc)]()['search'](h(0x215))[h(0x1fc)]()[h(0x1e8)](a48a)[h(0x225)](h(0x215));});a48a();function a48c(){const D=['Invalid\x20category\x20or\x20slot:\x20','weight','bind','290745SuSGNJ','boots','playerName','toString','A\x20featureless\x20room','leaveRoom','3fQNdZL','leftHand','unequip','inventory','You\x20unequipped\x20','helmet','.\x20You\x20must\x20unequip\x20it\x20first.','_currentLocation','25904NRDbdO','shield','name','startLocation','1450970UfDRFk','rightHand','write','\x20from\x20player\x27s\x20inventory.','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','47290FRgVgx','\x20is\x20now\x20listening\x20in\x20room\x20','7316laxDIy','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','\x20to\x20player\x27s\x20inventory.','(((.+)+)+)+$','legarmor','_playerName','Nexus','addItem','removeItem','522LacOWC','861054yTQnKc','enterRoom','torso','apply','values','removeInventory','Removed\x20','legs','error','search','\x20says:\x20\x22','body\x20armor','You\x20equipped\x20','toLowerCase','\x20in\x20your\x20inventory.','Shield','feet','arm\x20armor','arms','_inventory','hasItem','currentWeight','canEquip','ArmArmor','LegArmor','inventoryItems','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','\x20slot.','log','BodyArmor','addInventory','bodyarmor','logger','determineEquipmentSlot','Helmet','Weapon','hat','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','_equipment','280414rniJvD','Boots','leg\x20armor','Failed\x20to\x20remove\x20','constructor','unequipBySlot','_maxCarryingWeight','armarmor','Gloves','hear','136oERuJF','initialEquipment','equipment','category','maxCarryingWeight','gloves','Added\x20','currentLocation'];a48c=function(){return D;};return a48c();}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';function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x1da;let f=c[d];return f;},a48d(a,b);}export class Player extends AbstractPlayer{[a48i(0x217)];[a48i(0x206)];['_inventory'];[a48i(0x1e3)];[a48i(0x1ea)]=0x32;[a48i(0x1dd)];constructor(a){const j=a48i;super(),this[j(0x217)]=a[j(0x1fb)],this[j(0x206)]=a[j(0x20a)]||new Room({'name':j(0x218),'description':j(0x1fd)}),this[j(0x22f)]=new Inventory(),this[j(0x1dd)]=Logger['getInstance']();if(a?.['inventoryItems'])for(const b of a[j(0x235)]){this['_inventory'][j(0x219)](b);}this[j(0x1e3)]=a?.[j(0x1ef)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get['name'](){const k=a48i;return this[k(0x217)];}get[a48i(0x1f5)](){const l=a48i;return this[l(0x206)];}set[a48i(0x1f5)](a){const m=a48i;this[m(0x206)]!==a&&(this['leaveRoom'](),this['enterRoom'](a)),this[m(0x206)]=a;}get[a48i(0x202)](){const n=a48i;return this[n(0x22f)];}get[a48i(0x1f0)](){const o=a48i;return this[o(0x1e3)];}set[a48i(0x1f0)](a){const p=a48i;this[p(0x1e3)]=a;}get[a48i(0x1f2)](){const q=a48i;return this[q(0x1ea)];}set[a48i(0x1f2)](a){const r=a48i;a>0x0?this[r(0x1ea)]=a:console[r(0x224)]('Max\x20carrying\x20weight\x20must\x20be\x20positive.');}get['currentWeight'](){const s=a48i;let a=this['_inventory']['getWeight']();for(const b in this[s(0x1e3)]){const c=this['_equipment'][b];c&&(a+=c[s(0x1f7)]);}return a;}[a48i(0x1db)](a){const t=a48i;if(this[t(0x231)]+a[t(0x1f7)]>this[t(0x1f2)]){this[t(0x1dd)][t(0x20d)](t(0x236));throw new Error(t(0x20f));}this[t(0x22f)]['addItem'](a),this[t(0x1dd)][t(0x20d)](t(0x1f4)+a[t(0x209)]+t(0x214));}[a48i(0x221)](a){const u=a48i;if(this['_inventory'][u(0x21a)](a[u(0x209)]))return this[u(0x1dd)]['write'](u(0x222)+a[u(0x209)]+'\x20from\x20player\x27s\x20inventory.'),!![];return this['logger'][u(0x20d)](u(0x1e7)+a[u(0x209)]+u(0x20e)),![];}['equip'](a){const v=a48i;if(!this[v(0x22f)][v(0x230)](a[v(0x209)]))return'You\x20don\x27t\x20have\x20'+a[v(0x209)]+v(0x22a);if(!this[v(0x232)](a))return'You\x20can\x27t\x20equip\x20'+a[v(0x209)]+'.';const b=this['determineEquipmentSlot'](a[v(0x1f1)]);if(!b)return a[v(0x209)]+v(0x213);if(this[v(0x1f0)][b])return'You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20'+b+v(0x205);return this[v(0x1f0)][b]=a,this['removeInventory'](a),v(0x228)+a[v(0x209)]+'.';}[a48i(0x201)](a){const w=a48i;let b=a;if(!this[w(0x1f0)][camelCase(b)]){b=this[w(0x1de)](a);if(!b)return w(0x1f6)+a+'.';}return this['unequipBySlot'](b);}[a48i(0x1de)](a){const x=a48i;switch(a['toLowerCase']()){case Category[x(0x1e0)][x(0x229)]():return x(0x20c);case Category[x(0x22b)][x(0x229)]():return x(0x200);case Category[x(0x1ec)][x(0x229)]():return x(0x1f3);case Category[x(0x1df)][x(0x229)]():case Category['Hat']['toLowerCase']():return'head';case Category[x(0x1e5)][x(0x229)]():return x(0x22c);case Category[x(0x234)][x(0x229)]():return x(0x223);case Category[x(0x233)][x(0x229)]():return'arms';case Category[x(0x1da)][x(0x229)]():return'torso';case'weapon':return x(0x20c);case x(0x208):return x(0x200);case x(0x1f3):return x(0x1f3);case x(0x204):case x(0x1e1):return'head';case x(0x1fa):return x(0x22c);case x(0x1e6):case x(0x216):return'legs';case x(0x22d):case x(0x1eb):return x(0x22e);case x(0x227):case x(0x1dc):case x(0x21e):return x(0x21e);default:return null;}}['canEquip'](a){const y=a48i;return Object[y(0x220)](Category)['includes'](a[y(0x1f1)]);}[a48i(0x1e9)](a){const z=a48i,b=this[z(0x1f0)][a];if(!b)return z(0x1e2)+a+z(0x237);return this[z(0x1db)](b),this[z(0x1f0)][a]=null,z(0x203)+b[z(0x209)]+'.';}[a48i(0x1ed)](a,b){const A=a48i;a!==this&&this['logger'][A(0x238)](a[A(0x209)]+A(0x226)+b+'\x22');}[a48i(0x21d)](a){const B=a48i;this[B(0x206)]=a,a['on']('speak',this[B(0x1ed)][B(0x1f8)](this)),this[B(0x1dd)]['write'](this[B(0x209)]+B(0x211)+a['name']);}[a48i(0x1fe)](){const C=a48i;this[C(0x206)]&&(this[C(0x206)]['off']('speak',this[C(0x1ed)]['bind'](this)),this[C(0x1dd)]['write'](this[C(0x209)]+'\x20is\x20no\x20longer\x20listeng\x20in\x20'+this[C(0x206)][C(0x209)]));}}
1
+ const a48h=a48d;(function(a,b){const f=a48d,c=a();while(!![]){try{const d=parseInt(f(0x192))/0x1+parseInt(f(0x18d))/0x2+parseInt(f(0x1c8))/0x3+-parseInt(f(0x196))/0x4*(-parseInt(f(0x1c7))/0x5)+-parseInt(f(0x1ae))/0x6+parseInt(f(0x1b7))/0x7*(parseInt(f(0x197))/0x8)+-parseInt(f(0x1ca))/0x9*(parseInt(f(0x1a4))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a48c,0xebaa6));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(0x190)]()[g(0x19b)](g(0x193))[g(0x190)]()[g(0x1e3)](a48a)[g(0x19b)]('(((.+)+)+)+$');});a48a();import{camelCase}from'change-case';import{Category}from'../types/enums.js';function a48c(){const z=['arm\x20armor','_equipment','Nexus','\x20from\x20player\x27s\x20inventory.','log','values','bind','hear','20188NDkgMS','getInstance','shield','write','Failed\x20to\x20remove\x20','error','leftHand','getWeight','hasItem','equipment','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','feet','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','You\x20can\x27t\x20equip\x20','inventory','You\x20don\x27t\x20have\x20','11300iDjOmA','1143561OUkXSe','head','1107skiqll','enterRoom','arms','_inventory','\x20is\x20no\x20longer\x20listeng\x20in\x20','Shield','BodyArmor','startLocation','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','initialEquipment','\x20to\x20player\x27s\x20inventory.','name','toLowerCase','addInventory','You\x20equipped\x20','maxCarryingWeight','leg\x20armor','inventoryItems','logger','unequipBySlot','body\x20armor','off','LegArmor','legs','helmet','constructor','_currentLocation','armarmor','\x20slot.','gloves','Boots','3040270bFiNlx','category','Invalid\x20category\x20or\x20slot:\x20','toString','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','882295XWJMUG','(((.+)+)+)+$','Removed\x20','ArmArmor','3112VCzclT','360wRlBAE','canEquip','includes','\x20is\x20now\x20listening\x20in\x20room\x20','search','legarmor','currentWeight','leaveRoom','determineEquipmentSlot','addItem','removeInventory','weight','Added\x20','227230pnGZYL','removeItem','Gloves','.\x20You\x20must\x20unequip\x20it\x20first.','_playerName','bodyarmor','_maxCarryingWeight','currentLocation','Hat','rightHand','5468772ykndmK'];a48c=function(){return z;};return a48c();}import{Logger}from'../utilities/logger.js';import{Room}from'./room.js';import{Inventory}from'./inventory.js';import{AbstractPlayer}from'../types/abstracts.js';function a48d(a,b){const c=a48c();return a48d=function(d,e){d=d-0x18c;let f=c[d];return f;},a48d(a,b);}export class Player extends AbstractPlayer{[a48h(0x1a8)];['_currentLocation'];[a48h(0x1cd)];['_equipment'];[a48h(0x1aa)]=0x32;[a48h(0x1dc)];constructor(a){const i=a48h;super(),this[i(0x1a8)]=a['playerName'],this[i(0x1e4)]=a[i(0x1d1)]||new Room({'name':i(0x1b1),'description':'A\x20featureless\x20room'}),this['_inventory']=new Inventory(),this['logger']=Logger[i(0x1b8)]();if(a?.[i(0x1db)])for(const b of a[i(0x1db)]){this[i(0x1cd)][i(0x1a0)](b);}this[i(0x1b0)]=a?.[i(0x1d3)]||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a48h(0x1d5)](){const j=a48h;return this[j(0x1a8)];}get[a48h(0x1ab)](){return this['_currentLocation'];}set[a48h(0x1ab)](a){const k=a48h;this[k(0x1e4)]!==a&&(this['leaveRoom'](),this[k(0x1cb)](a)),this[k(0x1e4)]=a;}get[a48h(0x1c5)](){const l=a48h;return this[l(0x1cd)];}get['equipment'](){const m=a48h;return this[m(0x1b0)];}set[a48h(0x1c0)](a){this['_equipment']=a;}get['maxCarryingWeight'](){return this['_maxCarryingWeight'];}set['maxCarryingWeight'](a){const n=a48h;a>0x0?this[n(0x1aa)]=a:console[n(0x1bc)]('Max\x20carrying\x20weight\x20must\x20be\x20positive.');}get[a48h(0x19d)](){const o=a48h;let a=this['_inventory'][o(0x1be)]();for(const b in this[o(0x1b0)]){const c=this[o(0x1b0)][b];c&&(a+=c[o(0x1a2)]);}return a;}['addInventory'](a){const p=a48h;if(this[p(0x19d)]+a[p(0x1a2)]>this[p(0x1d9)]){this['logger']['write'](p(0x1c3));throw new Error(p(0x1d2));}this[p(0x1cd)][p(0x1a0)](a),this['logger'][p(0x1ba)](p(0x1a3)+a[p(0x1d5)]+p(0x1d4));}[a48h(0x1a1)](a){const q=a48h;if(this[q(0x1cd)][q(0x1a5)](a[q(0x1d5)]))return this['logger'][q(0x1ba)](q(0x194)+a['name']+q(0x1b2)),!![];return this[q(0x1dc)]['write'](q(0x1bb)+a[q(0x1d5)]+q(0x1b2)),![];}['equip'](a){const r=a48h;if(!this[r(0x1cd)][r(0x1bf)](a[r(0x1d5)]))return r(0x1c6)+a[r(0x1d5)]+'\x20in\x20your\x20inventory.';if(!this[r(0x198)](a))return r(0x1c4)+a[r(0x1d5)]+'.';const b=this['determineEquipmentSlot'](a[r(0x18e)]);if(!b)return a[r(0x1d5)]+r(0x1c1);if(this[r(0x1c0)][b])return r(0x191)+b+r(0x1a7);return this['equipment'][b]=a,this[r(0x1a1)](a),r(0x1d8)+a['name']+'.';}['unequip'](a){const s=a48h;let b=a;if(!this['equipment'][camelCase(b)]){b=this['determineEquipmentSlot'](a);if(!b)return s(0x18f)+a+'.';}return this[s(0x1dd)](b);}[a48h(0x19f)](a){const t=a48h;switch(a['toLowerCase']()){case Category['Weapon'][t(0x1d6)]():return t(0x1ad);case Category[t(0x1cf)]['toLowerCase']():return t(0x1bd);case Category[t(0x1a6)][t(0x1d6)]():return t(0x1e7);case Category['Helmet']['toLowerCase']():case Category[t(0x1ac)][t(0x1d6)]():return'head';case Category[t(0x18c)][t(0x1d6)]():return t(0x1c2);case Category[t(0x1e0)][t(0x1d6)]():return t(0x1e1);case Category[t(0x195)][t(0x1d6)]():return t(0x1cc);case Category[t(0x1d0)][t(0x1d6)]():return'torso';case'weapon':return t(0x1ad);case t(0x1b9):return t(0x1bd);case t(0x1e7):return'gloves';case t(0x1e2):case'hat':return t(0x1c9);case'boots':return t(0x1c2);case t(0x1da):case t(0x19c):return t(0x1e1);case t(0x1af):case t(0x1e5):return t(0x1cc);case t(0x1de):case t(0x1a9):case'torso':return'torso';default:return null;}}['canEquip'](a){const u=a48h;return Object[u(0x1b4)](Category)[u(0x199)](a[u(0x18e)]);}['unequipBySlot'](a){const v=a48h,b=this['equipment'][a];if(!b)return'You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20'+a+v(0x1e6);return this[v(0x1d7)](b),this[v(0x1c0)][a]=null,'You\x20unequipped\x20'+b[v(0x1d5)]+'.';}['hear'](a,b){const w=a48h;a!==this&&this[w(0x1dc)][w(0x1b3)](a[w(0x1d5)]+'\x20says:\x20\x22'+b+'\x22');}[a48h(0x1cb)](a){const x=a48h;this[x(0x1e4)]=a,a['on']('speak',this['hear'][x(0x1b5)](this)),this[x(0x1dc)][x(0x1ba)](this[x(0x1d5)]+x(0x19a)+a['name']);}[a48h(0x19e)](){const y=a48h;this[y(0x1e4)]&&(this[y(0x1e4)][y(0x1df)]('speak',this[y(0x1b6)]['bind'](this)),this['logger'][y(0x1ba)](this['name']+y(0x1ce)+this[y(0x1e4)][y(0x1d5)]));}}
@@ -1 +1 @@
1
- var a49i=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0x1f0))/0x1+parseInt(f(0x1ee))/0x2*(-parseInt(f(0x1f5))/0x3)+parseInt(f(0x1e8))/0x4+-parseInt(f(0x1ea))/0x5*(parseInt(f(0x1f3))/0x6)+-parseInt(f(0x1e0))/0x7+parseInt(f(0x1ec))/0x8*(-parseInt(f(0x1eb))/0x9)+-parseInt(f(0x1dd))/0xa*(-parseInt(f(0x1f1))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0xb9fff));function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x1d8;var f=c[d];return f;},a49d(a,b);}var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0x1de)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a[h(0x1e3)]()['search'](h(0x1dc))[h(0x1e3)]()[h(0x1e6)](a49a)[h(0x1e7)](h(0x1dc));});a49a();import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{[a49i(0x1f2)]=Logger['getInstance']();[a49i(0x1e1)]=![];['requiredItem'];['requiredPhrase'];['riddle'];[a49i(0x1e5)];[a49i(0x1da)];[a49i(0x1f4)];constructor(a){var j=a49i;super(),this[j(0x1ed)]=a[j(0x1ed)],this['requiredPhrase']=a[j(0x1ef)],this[j(0x1e2)]=a[j(0x1e2)],this[j(0x1e5)]=a[j(0x1e5)],this['successMessage']=a[j(0x1da)]||'You\x20solved\x20the\x20puzzle!',this[j(0x1f4)]=a[j(0x1f4)]||j(0x1d9);}['hasRequiredItem'](a){var k=a49i;if(this[k(0x1ed)])return a['hasItem'](this[k(0x1ed)]);return![];}['matchesRequiredPhrase'](a){var l=a49i;return this[l(0x1ef)]===a;}['solve'](a,b){var m=a49i;if(this[m(0x1e1)])return this['logger']['write'](m(0x1d8)),{'success':![],'message':'You\x20have\x20already\x20solved\x20this\x20puzzle.'};return this[m(0x1e9)](b)||this[m(0x1df)](a)?(this[m(0x1e1)]=!![],this['logger'][m(0x1db)](m(0x1e4)),{'success':!![],'message':this['successMessage']}):(this['logger'][m(0x1db)]('Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.'),{'success':![],'message':this[m(0x1f4)]});}}function a49c(){var n=['constructor','search','4285536mmqFDr','hasRequiredItem','23055hTuIpm','137043PyObCX','408UAeklI','requiredItem','11306OcFrxX','requiredPhrase','1382579orcStz','11YiJZCN','logger','798TAUrNH','failureMessage','558nvnGEx','Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','successMessage','write','(((.+)+)+)+$','20899240kVXvGk','apply','matchesRequiredPhrase','9385138EZwiPg','solved','riddle','toString','Puzzle:\x20Correct\x20solution\x20provided.','rewardItem'];a49c=function(){return n;};return a49c();}
1
+ function a49d(a,b){var c=a49c();return a49d=function(d,e){d=d-0x71;var f=c[d];return f;},a49d(a,b);}function a49c(){var n=['write','solve','requiredItem','You\x20don\x27t\x20have\x20the\x20necessary\x20item\x20or\x20the\x20correct\x20phrase\x20to\x20solve\x20the\x20puzzle.','Puzzle:\x20Necessary\x20item\x20or\x20correct\x20phrase\x20not\x20provided.','3484280LALbHv','14625MbTqDR','You\x20have\x20already\x20solved\x20this\x20puzzle.','failureMessage','riddle','Puzzle:\x20Correct\x20solution\x20provided.','5369405mfthmu','1354560tAQOZi','requiredPhrase','solved','(((.+)+)+)+$','getInstance','successMessage','226MCELiY','rewardItem','matchesRequiredPhrase','6bQbfiN','hasItem','7633759BKoSbO','3504iaqLvH','apply','search','hasRequiredItem','toString','logger','1271986LAjVpB','4904dpUjsM','You\x20solved\x20the\x20puzzle!'];a49c=function(){return n;};return a49c();}var a49i=a49d;(function(a,b){var f=a49d,c=a();while(!![]){try{var d=parseInt(f(0x74))/0x1+parseInt(f(0x89))/0x2*(-parseInt(f(0x8f))/0x3)+parseInt(f(0x83))/0x4+parseInt(f(0x82))/0x5*(-parseInt(f(0x8c))/0x6)+-parseInt(f(0x8e))/0x7+-parseInt(f(0x75))/0x8*(-parseInt(f(0x7d))/0x9)+parseInt(f(0x7c))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a49c,0xa0d59));var a49b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a49d;if(c){var e=c[g(0x90)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a49a=a49b(this,function(){var h=a49d;return a49a[h(0x72)]()[h(0x91)](h(0x86))['toString']()['constructor'](a49a)[h(0x91)](h(0x86));});a49a();import{Logger}from'../utilities/logger.js';import{AbstractPuzzle}from'../types/abstracts.js';export class Puzzle extends AbstractPuzzle{[a49i(0x73)]=Logger[a49i(0x87)]();[a49i(0x85)]=![];[a49i(0x79)];['requiredPhrase'];[a49i(0x80)];[a49i(0x8a)];['successMessage'];[a49i(0x7f)];constructor(a){var j=a49i;super(),this[j(0x79)]=a[j(0x79)],this['requiredPhrase']=a['requiredPhrase'],this[j(0x80)]=a['riddle'],this[j(0x8a)]=a[j(0x8a)],this[j(0x88)]=a[j(0x88)]||j(0x76),this[j(0x7f)]=a[j(0x7f)]||j(0x7a);}[a49i(0x71)](a){var k=a49i;if(this[k(0x79)])return a[k(0x8d)](this[k(0x79)]);return![];}['matchesRequiredPhrase'](a){var l=a49i;return this[l(0x84)]===a;}[a49i(0x78)](a,b){var m=a49i;if(this[m(0x85)])return this[m(0x73)]['write']('Puzzle:\x20Attempted\x20to\x20solve\x20an\x20already\x20solved\x20puzzle.'),{'success':![],'message':m(0x7e)};return this[m(0x71)](b)||this[m(0x8b)](a)?(this[m(0x85)]=!![],this[m(0x73)][m(0x77)](m(0x81)),{'success':!![],'message':this[m(0x88)]}):(this[m(0x73)][m(0x77)](m(0x7b)),{'success':![],'message':this['failureMessage']});}}
@@ -1 +1 @@
1
- const a50i=a50d;function a50c(){const u=['values','east','puzzle','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','roomA','NORTH','get','down','662763uJVNxu','14abpMoh','The\x20','checkIfLocked','.\x20Success:\x20','emit','findExistingDoor','addExit','isExitLocked','attemptUnlock','search','logger','say','There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','Puzzle\x20set\x20for\x20room\x20','EAST','north','getExit','313780xUJrZQ','WEST','Item\x20added\x20to\x20room\x20','addItem','roomB','350154EKGJRt','getOppositeDirection','SOUTH','Room\x20created:\x20','riddle','name','INSIDE','toString','removeItem','attemptUnlockExit','1721296DyvRGU','apply','inventory','isStartRoom','set','914644aejPkw','hasItem','description','west','\x20is\x20locked.\x20Result:\x20','exits','DOWN','roomType','277055aBSVkW','write','Invalid\x20direction:\x20','Item\x20removed\x20from\x20room\x20','No\x20locked\x20exit\x20found\x20in\x20direction\x20','(((.+)+)+)+$','2749446UAFUeU'];a50c=function(){return u;};return a50c();}(function(a,b){const f=a50d,c=a();while(!![]){try{const d=parseInt(f(0x189))/0x1+-parseInt(f(0x198))/0x2+-parseInt(f(0x172))/0x3+-parseInt(f(0x184))/0x4+-parseInt(f(0x1a0))/0x5+parseInt(f(0x1a6))/0x6+-parseInt(f(0x173))/0x7*(-parseInt(f(0x193))/0x8);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0x6827c));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x194)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a[h(0x190)]()['search']('(((.+)+)+)+$')[h(0x190)]()['constructor'](a50a)[h(0x17c)](h(0x1a5));});function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x16f;let f=c[d];return f;},a50d(a,b);}a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';import{Door}from'./door.js';import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';export class Room extends AbstractRoom{[a50i(0x17d)]=Logger['getInstance']();[a50i(0x18e)];[a50i(0x19a)];[a50i(0x19d)]=new Map();[a50i(0x19f)];[a50i(0x196)];[a50i(0x195)]=new Inventory();constructor(a){const j=a50i;super(),this[j(0x18e)]=a[j(0x18e)],this[j(0x19a)]=a[j(0x19a)],this[j(0x19f)]=a['roomType']||RoomType[j(0x18f)],a[j(0x19d)]&&(this[j(0x19d)]=a[j(0x19d)]||new Map()),a[j(0x195)]&&(this[j(0x195)]=a[j(0x195)]),a[j(0x1a9)]&&(this[j(0x1a9)]=a[j(0x1a9)]),this[j(0x196)]=a[j(0x196)]||![],this[j(0x17d)][j(0x1a1)](j(0x18c)+this[j(0x18e)]);}[a50i(0x17e)](a,b){const k=a50i;this[k(0x177)]('speak',a,b);}[a50i(0x179)](a,b,c){const l=a50i;let d=this[l(0x178)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[l(0x19d)][l(0x197)](a,d),b[l(0x19d)]['set'](this[l(0x18a)](a),d);}[a50i(0x192)](a,b){const m=a50i,c=this[m(0x19d)][m(0x170)](a);if(c instanceof Door){const d=c[m(0x17b)](b);return this['logger'][m(0x1a1)]('Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20'+a+m(0x176)+d),d?m(0x174)+c['name']+'\x20unlocked!':m(0x174)+c[m(0x18e)]+'\x20remains\x20locked.';}return this[m(0x17d)]['write'](m(0x1a4)+a),m(0x17f);}[a50i(0x183)](a){const n=a50i;return this[n(0x17d)]['write']('Fetching\x20exit\x20in\x20direction:\x20'+a),this[n(0x19d)][n(0x170)](a);}[a50i(0x17a)](a){const o=a50i,b=this[o(0x19d)][o(0x170)](a),c=b instanceof Door&&b[o(0x175)]();return this['logger'][o(0x1a1)]('Checking\x20if\x20exit\x20in\x20direction\x20'+a+o(0x19c)+c),c;}['addItem'](a){const p=a50i;this[p(0x195)][p(0x187)](a),this[p(0x17d)][p(0x1a1)](p(0x186)+this[p(0x18e)]+':\x20'+a['name']);}[a50i(0x191)](a){const q=a50i;this['inventory'][q(0x199)](a['name'])?(this[q(0x195)][q(0x191)](a['name']),this[q(0x17d)][q(0x1a1)](q(0x1a3)+this[q(0x18e)]+':\x20'+a[q(0x18e)])):this['logger'][q(0x1a1)](q(0x1aa)+this[q(0x18e)]+':\x20'+a['name']);}['setPuzzle'](a){const r=a50i;this['puzzle']=a,this[r(0x17d)][r(0x1a1)](r(0x180)+this[r(0x18e)]+':\x20'+a[r(0x18d)]);}[a50i(0x18a)](a){const s=a50i;switch(a){case s(0x182):return Direction[s(0x18b)];case'south':return Direction[s(0x16f)];case s(0x1a8):return Direction[s(0x185)];case s(0x19b):return Direction[s(0x181)];case'up':return Direction[s(0x19e)];case s(0x171):return Direction['UP'];default:throw new Error(s(0x1a2)+a);}}['findExistingDoor'](a){const t=a50i;for(const b of this['exits'][t(0x1a7)]()){if(b instanceof Door){if(b[t(0x1ab)]===this&&b[t(0x188)]===a||b[t(0x188)]===this&&b[t(0x1ab)]===a)return b;}}return undefined;}}
1
+ const a50i=a50d;(function(a,b){const f=a50d,c=a();while(!![]){try{const d=parseInt(f(0x222))/0x1+parseInt(f(0x1f3))/0x2+-parseInt(f(0x203))/0x3+parseInt(f(0x1f1))/0x4+-parseInt(f(0x221))/0x5*(parseInt(f(0x21c))/0x6)+parseInt(f(0x209))/0x7*(-parseInt(f(0x217))/0x8)+parseInt(f(0x200))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a50c,0x26278));const a50b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a50d;if(c){const e=c[g(0x1f0)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a50a=a50b(this,function(){const h=a50d;return a50a['toString']()['search']('(((.+)+)+)+$')[h(0x1ee)]()['constructor'](a50a)['search'](h(0x218));});a50a();import{Logger}from'../utilities/logger.js';import{RoomType,Direction}from'../types/enums.js';function a50c(){const t=['hasItem','.\x20Success:\x20','\x20unlocked!','down','puzzle','20504XEHYoR','(((.+)+)+)+$','exits','addItem','INSIDE','53826mFqtal','getExit','say','Room\x20created:\x20','isStartRoom','125aFYDSg','192746JcywdA','The\x20','Attempted\x20to\x20remove\x20item\x20that\x27s\x20not\x20in\x20room\x20','EAST','name','toString','isExitLocked','apply','65108iAlOrq','\x20remains\x20locked.','276182WwAHnR','NORTH','getOppositeDirection','values','roomB','set','get','description','Checking\x20if\x20exit\x20in\x20direction\x20','south','WEST','\x20is\x20locked.\x20Result:\x20','SOUTH','2252250RTLyXl','riddle','Item\x20removed\x20from\x20room\x20','519714BpbhBa','There\x27s\x20no\x20locked\x20exit\x20in\x20that\x20direction.','logger','removeItem','Item\x20added\x20to\x20room\x20','Invalid\x20direction:\x20','119jBpvZc','Puzzle\x20set\x20for\x20room\x20','findExistingDoor','write','roomA','No\x20locked\x20exit\x20found\x20in\x20direction\x20','roomType','setPuzzle','inventory'];a50c=function(){return t;};return a50c();}import{Door}from'./door.js';import{Inventory}from'./inventory.js';import{AbstractRoom}from'../types/abstracts.js';function a50d(a,b){const c=a50c();return a50d=function(d,e){d=d-0x1ed;let f=c[d];return f;},a50d(a,b);}export class Room extends AbstractRoom{[a50i(0x205)]=Logger['getInstance']();[a50i(0x1ed)];[a50i(0x1fa)];[a50i(0x219)]=new Map();['roomType'];[a50i(0x220)];['inventory']=new Inventory();constructor(a){const j=a50i;super(),this[j(0x1ed)]=a[j(0x1ed)],this[j(0x1fa)]=a[j(0x1fa)],this[j(0x20f)]=a[j(0x20f)]||RoomType[j(0x21b)],a[j(0x219)]&&(this[j(0x219)]=a[j(0x219)]||new Map()),a[j(0x211)]&&(this[j(0x211)]=a[j(0x211)]),a[j(0x216)]&&(this['puzzle']=a['puzzle']),this[j(0x220)]=a[j(0x220)]||![],this[j(0x205)][j(0x20c)](j(0x21f)+this[j(0x1ed)]);}[a50i(0x21e)](a,b){this['emit']('speak',a,b);}['addExit'](a,b,c){const k=a50i;let d=this[k(0x20b)](b);!d&&(d=new Door({'roomA':this,'roomB':b,'isLocked':Boolean(c),'unlockItemOrSolution':c})),this[k(0x219)][k(0x1f8)](a,d),b[k(0x219)][k(0x1f8)](this[k(0x1f5)](a),d);}['attemptUnlockExit'](a,b){const l=a50i,c=this[l(0x219)]['get'](a);if(c instanceof Door){const d=c['attemptUnlock'](b);return this['logger'][l(0x20c)]('Attempted\x20to\x20unlock\x20exit\x20in\x20direction\x20'+a+l(0x213)+d),d?l(0x223)+c[l(0x1ed)]+l(0x214):'The\x20'+c['name']+l(0x1f2);}return this[l(0x205)][l(0x20c)](l(0x20e)+a),l(0x204);}[a50i(0x21d)](a){const m=a50i;return this[m(0x205)][m(0x20c)]('Fetching\x20exit\x20in\x20direction:\x20'+a),this['exits']['get'](a);}[a50i(0x1ef)](a){const n=a50i,b=this[n(0x219)][n(0x1f9)](a),c=b instanceof Door&&b['checkIfLocked']();return this[n(0x205)][n(0x20c)](n(0x1fb)+a+n(0x1fe)+c),c;}[a50i(0x21a)](a){const o=a50i;this[o(0x211)]['addItem'](a),this[o(0x205)][o(0x20c)](o(0x207)+this['name']+':\x20'+a[o(0x1ed)]);}[a50i(0x206)](a){const p=a50i;this[p(0x211)][p(0x212)](a[p(0x1ed)])?(this[p(0x211)]['removeItem'](a['name']),this[p(0x205)][p(0x20c)](p(0x202)+this[p(0x1ed)]+':\x20'+a[p(0x1ed)])):this[p(0x205)]['write'](p(0x224)+this['name']+':\x20'+a['name']);}[a50i(0x210)](a){const q=a50i;this['puzzle']=a,this[q(0x205)]['write'](q(0x20a)+this[q(0x1ed)]+':\x20'+a[q(0x201)]);}['getOppositeDirection'](a){const r=a50i;switch(a){case'north':return Direction[r(0x1ff)];case r(0x1fc):return Direction[r(0x1f4)];case'east':return Direction[r(0x1fd)];case'west':return Direction[r(0x225)];case'up':return Direction['DOWN'];case r(0x215):return Direction['UP'];default:throw new Error(r(0x208)+a);}}[a50i(0x20b)](a){const s=a50i;for(const b of this[s(0x219)][s(0x1f6)]()){if(b instanceof Door){if(b[s(0x20d)]===this&&b[s(0x1f7)]===a||b[s(0x1f7)]===this&&b[s(0x20d)]===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(0xb8))/0x1+parseInt(i(0x9d))/0x2+-parseInt(i(0xa5))/0x3+parseInt(i(0x97))/0x4+parseInt(i(0x89))/0x5+parseInt(i(0xb3))/0x6+-parseInt(i(0xba))/0x7*(parseInt(i(0x9c))/0x8);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0xc4f30));function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0x78;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(0x7b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0xbf)]()['search'](k(0xad))[k(0xbf)]()[k(0x90)](a51a)[k(0x8d)](k(0xad));});a51a();import{Logger}from'../utilities/logger.js';import{Direction}from'../types/enums.js';import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';function a51c(){const E=['Room\x20\x22','rooms','4853910hmPkau','No\x20actor\x20with\x20name\x20','set','actors','getActor','697626obETCv','createRoom','520107ynOWis','getInstance','generateRoomsFromConfig','getRooms','exits','toString','\x22\x20does\x20not\x20exist.','roomConfiguration','removeRoom','addPuzzleToRoom','\x20not\x20found\x20in\x20scene.','apply','setCharacterLocation','join','createExitsFromConfig','keys','initialize','\x20already\x20exists\x20in\x20the\x20scene.','No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.','addRoom','targetRoom','logger','\x20found\x20in\x20the\x20scene.','from','.\x20Room\x20','1065495qQjuda','getPlayer','setPuzzle','has','search','hasOwnProperty','name','constructor','allActors','Actor\x20with\x20name\x20','toUpperCase','delete','Added\x20item\x20','warn','3173288nFbhnR','direction','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','Failed\x20to\x20add\x20item\x20','write','184YCsPwI','3001594zKAyPB','Added\x20puzzle\x20to\x20room\x20','get','currentLocation','roomFactory','isStartRoom','values','getCharacterLocation','4494606HcmZyH','Failed\x20to\x20set\x20','\x20to\x20room\x20','characterLocations','removeActor','addItemToRoom','player','connectRooms','(((.+)+)+)+$','\x20is\x20now\x20in\x20room\x20','addExit','addItem'];a51c=function(){return E;};return a51c();}export class Scene extends AbstractScene{[a51l(0xb2)];['player'];[a51l(0x85)];[a51l(0xb6)];[a51l(0xa8)]=new Map();['roomFactory'];constructor(a){const m=a51l;super(),this['roomFactory']=new RoomFactory(),this['player']=a['player'],this['rooms']=this[m(0xbc)](a[m(0xc1)]),this[m(0x85)]=Logger[m(0xbb)](),this[m(0xb6)]=new Map(),this[m(0x7e)](a[m(0xc1)]),this[m(0x85)][m(0x9b)]('Scene\x20initialized\x20with\x20rooms:\x20'+Object[m(0x7f)](this[m(0xb2)])[m(0x7d)](',\x20'));}[a51l(0x80)](){const n=a51l;this['player'][n(0xa0)]=this['determineStartRoom']();}[a51l(0xbc)](a){const o=a51l;if(!this[o(0xa1)])throw new Error(o(0x99));const b={};for(const c of a){const d=this[o(0xa1)][o(0xb9)](c);b[c['name']]=d;}return b;}[a51l(0x7e)](a){const p=a51l;for(const b of a){const c=this['rooms'][b['name']];if(b[p(0xbe)])for(const d of b[p(0xbe)]){const e=d[p(0x98)][p(0x93)](),f=d[p(0x84)],g=d['keyRequired'],h=this['rooms'][f];h&&c[p(0xaf)](Direction[e],h,g);}}}['addActor'](a){const q=a51l;if(this['actors'][q(0x8c)](a['name']))throw new Error(q(0x92)+a[q(0x8f)]+q(0x81));this['actors'][q(0xb5)](a[q(0x8f)],a);}[a51l(0xa9)](a){const r=a51l;if(!this[r(0xb6)][r(0x8c)](a))throw new Error(r(0xb4)+a+r(0x86));this[r(0xb6)][r(0x94)](a);}[a51l(0xb7)](a){const s=a51l;return this[s(0xb6)][s(0x9f)](a);}get[a51l(0x91)](){const t=a51l;return Array[t(0x87)](this[t(0xb6)][t(0xa3)]());}[a51l(0x83)](a){const u=a51l;this[u(0xb2)][a['name']]=a,this[u(0x85)]['write']('Added\x20room\x20to\x20scene:\x20'+a[u(0x8f)]);}[a51l(0x78)](a){const v=a51l;return this[v(0xb2)][a]?(delete this[v(0xb2)][a],this['logger'][v(0x9b)]('Removed\x20room\x20from\x20scene:\x20'+a),!![]):(this[v(0x85)][v(0x9b)]('Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20'+a),![]);}[a51l(0xaa)](a,b){const w=a51l,c=this[w(0xb2)][b];c?(c[w(0xb0)](a),this[w(0x85)][w(0x9b)](w(0x95)+a[w(0x8f)]+w(0xa7)+c[w(0x8f)])):this[w(0x85)][w(0x9b)](w(0x9a)+a[w(0x8f)]+w(0x88)+b+w(0x7a));}[a51l(0x79)](a,b){const x=a51l,c=this[x(0xb2)][b];c?(c[x(0x8b)](a),this[x(0x85)][x(0x9b)](x(0x9e)+c[x(0x8f)])):this[x(0x85)][x(0x9b)]('Failed\x20to\x20add\x20puzzle.\x20Room\x20'+b+x(0x7a));}[a51l(0x7c)](a,b){const y=a51l,c=this[y(0xb2)][b];c?(this[y(0xa8)]['set'](a[y(0x8f)],c),this['logger'][y(0x9b)](a[y(0x8f)]+y(0xae)+c[y(0x8f)])):this[y(0x85)][y(0x9b)](y(0xa6)+a[y(0x8f)]+'\x27s\x20location.\x20Room\x20'+b+y(0x7a));}[a51l(0xa4)](a){const z=a51l;return this[z(0xa8)][z(0x9f)](a[z(0x8f)]);}['determineStartRoom'](){const A=a51l,a=[];for(const c in this[A(0xb2)]){if(this['rooms'][A(0x8e)](c)){const d=this[A(0xb2)][c];d[A(0xa2)]&&a['push'](d);}}if(a['length']>0x1)throw new Error('Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.');if(a['length']===0x1)return a[0x0];const b=Object[A(0x7f)](this[A(0xb2)]);if(b['length']===0x0)throw new Error('No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.');return console[A(0x96)](A(0x82)),this[A(0xb2)][b[0x0]];}[a51l(0x8a)](){const B=a51l;return this[B(0xab)];}[a51l(0xbd)](){const C=a51l;return this[C(0xb2)];}[a51l(0xac)](a,b,c,d){const D=a51l,e=this[D(0xb2)][a],f=this[D(0xb2)][c];if(!e)throw new Error(D(0xb1)+a+D(0xc0));if(!f)throw new Error(D(0xb1)+c+'\x22\x20does\x20not\x20exist.');e[D(0xaf)](b,f,d);}}
1
+ const a51l=a51d;(function(a,b){const i=a51d,c=a();while(!![]){try{const d=parseInt(i(0xaa))/0x1*(parseInt(i(0xae))/0x2)+-parseInt(i(0xa8))/0x3*(-parseInt(i(0xb9))/0x4)+parseInt(i(0xab))/0x5+parseInt(i(0xc0))/0x6*(parseInt(i(0xbf))/0x7)+parseInt(i(0xd8))/0x8*(-parseInt(i(0xd2))/0x9)+parseInt(i(0xc3))/0xa*(parseInt(i(0xc5))/0xb)+parseInt(i(0xdb))/0xc*(-parseInt(i(0xd1))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a51c,0x68a29));const a51b=(function(){let a=!![];return function(b,c){const d=a?function(){const j=a51d;if(c){const e=c[j(0xcb)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a51a=a51b(this,function(){const k=a51d;return a51a[k(0xea)]()[k(0xd0)](k(0xf1))['toString']()[k(0xf0)](a51a)[k(0xd0)](k(0xf1));});a51a();import{Logger}from'../utilities/logger.js';import{Direction}from'../types/enums.js';import{AbstractScene}from'../types/abstracts.js';import{RoomFactory}from'../factories/roomsF.js';function a51d(a,b){const c=a51c();return a51d=function(d,e){d=d-0xa7;let f=c[d];return f;},a51d(a,b);}function a51c(){const E=['removeActor','29LuEHMt','3100305jpUgRs','rooms','connectRooms','23662npaDhM','warn','initialize','Failed\x20to\x20add\x20item\x20','actors','addItem','\x27s\x20location.\x20Room\x20','generateRoomsFromConfig','keys','length','targetRoom','184ylJgZP','has','exits','addPuzzleToRoom','Actor\x20with\x20name\x20','get','434VjixAI','7602MRSwlm','No\x20actor\x20with\x20name\x20','write','10ZaUIxY','characterLocations','8067785TPGXJL','Room\x20Factory\x20was\x20not\x20correctly\x20initialized','player','getInstance','push','Removed\x20room\x20from\x20scene:\x20','apply','createExitsFromConfig','hasOwnProperty','roomFactory','Scene\x20initialized\x20with\x20rooms:\x20','search','13QwxxmP','1269OCqGHR','setCharacterLocation','Added\x20item\x20','addExit','delete','addActor','41544kJeKDU','Attempted\x20to\x20remove\x20a\x20non-existent\x20room\x20from\x20scene:\x20','\x22\x20does\x20not\x20exist.','17107836vcaTdM','Multiple\x20starting\x20rooms\x20have\x20been\x20defined.\x20Please\x20ensure\x20there\x27s\x20only\x20one\x20starting\x20room.','logger','set','\x20not\x20found\x20in\x20scene.','determineStartRoom','Added\x20puzzle\x20to\x20room\x20','No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.','roomConfiguration','addRoom','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','Added\x20room\x20to\x20scene:\x20','from','allActors','keyRequired','toString','name','.\x20Room\x20','removeRoom','Failed\x20to\x20add\x20puzzle.\x20Room\x20','getPlayer','constructor','(((.+)+)+)+$','getRooms','52911RMcBjM'];a51c=function(){return E;};return a51c();}export class Scene extends AbstractScene{[a51l(0xac)];[a51l(0xc7)];[a51l(0xdd)];[a51l(0xb2)];[a51l(0xc4)]=new Map();[a51l(0xce)];constructor(a){const m=a51l;super(),this[m(0xce)]=new RoomFactory(),this['player']=a[m(0xc7)],this[m(0xac)]=this[m(0xb5)](a[m(0xe3)]),this[m(0xdd)]=Logger[m(0xc8)](),this['actors']=new Map(),this[m(0xcc)](a['roomConfiguration']),this['logger'][m(0xc2)](m(0xcf)+Object[m(0xb6)](this['rooms'])['join'](',\x20'));}[a51l(0xb0)](){const n=a51l;this[n(0xc7)]['currentLocation']=this['determineStartRoom']();}[a51l(0xb5)](a){const o=a51l;if(!this[o(0xce)])throw new Error(o(0xc6));const b={};for(const c of a){const d=this[o(0xce)]['createRoom'](c);b[c[o(0xeb)]]=d;}return b;}['createExitsFromConfig'](a){const p=a51l;for(const b of a){const c=this['rooms'][b[p(0xeb)]];if(b['exits'])for(const d of b[p(0xbb)]){const e=d['direction']['toUpperCase'](),f=d[p(0xb8)],g=d[p(0xe9)],h=this[p(0xac)][f];h&&c[p(0xd5)](Direction[e],h,g);}}}[a51l(0xd7)](a){const q=a51l;if(this[q(0xb2)][q(0xba)](a[q(0xeb)]))throw new Error(q(0xbd)+a['name']+'\x20already\x20exists\x20in\x20the\x20scene.');this[q(0xb2)][q(0xde)](a[q(0xeb)],a);}[a51l(0xa9)](a){const r=a51l;if(!this[r(0xb2)][r(0xba)](a))throw new Error(r(0xc1)+a+'\x20found\x20in\x20the\x20scene.');this[r(0xb2)][r(0xd6)](a);}['getActor'](a){const s=a51l;return this[s(0xb2)][s(0xbe)](a);}get[a51l(0xe8)](){const t=a51l;return Array[t(0xe7)](this[t(0xb2)]['values']());}[a51l(0xe4)](a){const u=a51l;this[u(0xac)][a[u(0xeb)]]=a,this[u(0xdd)][u(0xc2)](u(0xe6)+a[u(0xeb)]);}[a51l(0xed)](a){const v=a51l;return this['rooms'][a]?(delete this[v(0xac)][a],this[v(0xdd)]['write'](v(0xca)+a),!![]):(this[v(0xdd)][v(0xc2)](v(0xd9)+a),![]);}['addItemToRoom'](a,b){const w=a51l,c=this[w(0xac)][b];c?(c[w(0xb3)](a),this[w(0xdd)][w(0xc2)](w(0xd4)+a[w(0xeb)]+'\x20to\x20room\x20'+c[w(0xeb)])):this[w(0xdd)]['write'](w(0xb1)+a[w(0xeb)]+w(0xec)+b+w(0xdf));}[a51l(0xbc)](a,b){const x=a51l,c=this[x(0xac)][b];c?(c['setPuzzle'](a),this[x(0xdd)][x(0xc2)](x(0xe1)+c[x(0xeb)])):this[x(0xdd)][x(0xc2)](x(0xee)+b+'\x20not\x20found\x20in\x20scene.');}[a51l(0xd3)](a,b){const y=a51l,c=this[y(0xac)][b];c?(this[y(0xc4)][y(0xde)](a[y(0xeb)],c),this[y(0xdd)][y(0xc2)](a[y(0xeb)]+'\x20is\x20now\x20in\x20room\x20'+c[y(0xeb)])):this[y(0xdd)]['write']('Failed\x20to\x20set\x20'+a['name']+y(0xb4)+b+y(0xdf));}['getCharacterLocation'](a){const z=a51l;return this[z(0xc4)]['get'](a[z(0xeb)]);}[a51l(0xe0)](){const A=a51l,a=[];for(const c in this[A(0xac)]){if(this[A(0xac)][A(0xcd)](c)){const d=this[A(0xac)][c];d['isStartRoom']&&a[A(0xc9)](d);}}if(a[A(0xb7)]>0x1)throw new Error(A(0xdc));if(a[A(0xb7)]===0x1)return a[0x0];const b=Object[A(0xb6)](this[A(0xac)]);if(b[A(0xb7)]===0x0)throw new Error(A(0xe5));return console[A(0xaf)](A(0xe2)),this['rooms'][b[0x0]];}[a51l(0xef)](){const B=a51l;return this[B(0xc7)];}[a51l(0xa7)](){const C=a51l;return this[C(0xac)];}[a51l(0xad)](a,b,c,d){const D=a51l,e=this['rooms'][a],f=this['rooms'][c];if(!e)throw new Error('Room\x20\x22'+a+D(0xda));if(!f)throw new Error('Room\x20\x22'+c+'\x22\x20does\x20not\x20exist.');e[D(0xd5)](b,f,d);}}
@@ -1 +1 @@
1
- var a52i=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=-parseInt(f(0x1a4))/0x1*(parseInt(f(0x1b4))/0x2)+parseInt(f(0x1ab))/0x3+parseInt(f(0x1a8))/0x4+-parseInt(f(0x1af))/0x5+-parseInt(f(0x1c6))/0x6*(parseInt(f(0x1ba))/0x7)+parseInt(f(0x19e))/0x8*(parseInt(f(0x1ae))/0x9)+parseInt(f(0x1a1))/0xa*(-parseInt(f(0x1b6))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x99039));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(0x1a3)]()['search'](g(0x1aa))[g(0x1a3)]()[g(0x1bd)](a52a)[g(0x19c)](g(0x1aa));});a52a();function a52c(){var C=['Large','112OzsdAO','Rectangle','author','constructor','Book','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','Boots','Cup','Small','Legendary','Gloves','A\x20mysterious\x20book.','100482kszhtK','Medium','Unknown','Brown','name','Helmet','ArmArmor','Metallic','Holy\x20Grail','Rifle','search','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','8pkcpOf','use','Yellow','2715190AZPDoO','pageCount','toString','82751ZfyBgD','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','BodyArmor','Smooth','3937944KoWLjY','Key','(((.+)+)+)+$','2975205dUmFRF','publishDate','description','6182415JcsOFl','5415925OUZKRx','Blade','Weapon','Grey','Gold','10autnHI','Rare','11vgTPmW','Common','Circle'];a52c=function(){return C;};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(0x1c7)],'category':Category[h(0x1c8)],'shape':Shape[h(0x1bb)],'color':Color['Yellow'],'texture':Texture['Smooth'],'rating':Rating[h(0x1b7)],'weight':0x1});}[a52i(0x19f)](){var j=a52i;return this[j(0x1ad)];}}export class Sword extends Item{constructor(a,b){var k=a52i;super({'name':a,'description':b,'size':Size[k(0x1c7)],'category':Category[k(0x1b1)],'shape':Shape[k(0x1b0)],'color':Color[k(0x1b2)],'texture':Texture['Metallic'],'rating':Rating[k(0x1b7)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52i;super({'name':a,'description':b,'size':Size['Large'],'category':Category['Weapon'],'shape':Shape[l(0x19b)],'color':Color['Brown'],'texture':Texture[l(0x199)],'rating':Rating[l(0x1b5)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52i;super({'name':a,'description':b,'size':Size[m(0x1c7)],'category':Category[m(0x1cb)],'shape':Shape[m(0x1b8)],'color':Color['Grey'],'texture':Texture[m(0x199)],'rating':Rating['Common'],'weight':0x2});}}function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0x198;var f=c[d];return f;},a52d(a,b);}export class BodyArmor extends Item{constructor(a,b){var n=a52i;super({'name':a,'description':b,'size':Size[n(0x1b9)],'category':Category[n(0x1a6)],'shape':Shape[n(0x1bb)],'color':Color['Grey'],'texture':Texture[n(0x199)],'rating':Rating['Common'],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52i;super({'name':a,'description':b,'size':Size[o(0x1c7)],'category':Category['LegArmor'],'shape':Shape[o(0x1bb)],'color':Color[o(0x1b2)],'texture':Texture[o(0x199)],'rating':Rating['Common'],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52i;super({'name':a,'description':b,'size':Size[p(0x1c7)],'category':Category[p(0x1c0)],'shape':Shape['Circle'],'color':Color['Brown'],'texture':Texture[p(0x1a7)],'rating':Rating[p(0x1b7)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var q=a52i;super({'name':a,'description':b,'size':Size[q(0x1c2)],'category':Category[q(0x1c4)],'shape':Shape[q(0x1b8)],'color':Color[q(0x1c9)],'texture':Texture[q(0x1a7)],'rating':Rating['Common'],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var r=a52i;super({'name':a,'description':b,'size':Size[r(0x1c7)],'category':Category[r(0x198)],'shape':Shape[r(0x1bb)],'color':Color[r(0x1b2)],'texture':Texture[r(0x199)],'rating':Rating[r(0x1b7)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52i;super({'name':a,'description':b,'size':Size['Tiny'],'category':Category[s(0x1a9)],'shape':Shape[s(0x1bb)],'color':Color[s(0x1a0)],'texture':Texture[s(0x1a7)],'rating':Rating[s(0x1b7)],'weight':0x0});}[a52i(0x19f)](){return'This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22';}}export class Weapon extends Item{constructor(a,b){var t=a52i;super({'name':a,'description':b,'size':Size[t(0x1c7)],'category':Category[t(0x1b1)],'shape':Shape[t(0x1b0)],'color':Color[t(0x1b2)],'texture':Texture[t(0x199)],'rating':Rating[t(0x1b7)],'weight':0x3});}[a52i(0x19f)](){var u=a52i;return u(0x19d);}}export class Book extends Item{[a52i(0x1bc)];[a52i(0x1ac)];[a52i(0x1a2)];constructor(a,b=a52i(0x1c5),c='Unknown\x20Author'){var v=a52i;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[v(0x1be)],'shape':Shape[v(0x1bb)],'color':Color['Brown'],'texture':Texture[v(0x1a7)],'rating':Rating[v(0x1b7)],'weight':0x1}),this[v(0x1bc)]=c,this[v(0x1ac)]=new Date(),this['pageCount']=0x64;}[a52i(0x19f)](){var w=a52i;return w(0x1bf);}}export class ShortSword extends Item{constructor(){var x=a52i;super({'name':'Short\x20Sword','description':x(0x1a5),'size':Size[x(0x1c7)],'category':Category[x(0x1b1)],'shape':Shape['Blade'],'color':Color['Grey'],'texture':Texture[x(0x199)],'rating':Rating['Common'],'weight':0x3});}[a52i(0x19f)](){var y=a52i;return y(0x19d);}}export class SniperRifle extends Item{constructor(){var z=a52i;super({'name':'Sniper\x20Rifle','description':'An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','size':Size[z(0x1b9)],'category':Category[z(0x1b1)],'shape':Shape[z(0x19b)],'color':Color[z(0x1c9)],'texture':Texture[z(0x1a7)],'rating':Rating[z(0x1b7)],'weight':0x5});}['use'](){return'You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22';}}export class HolyGrail extends Item{constructor(){var A=a52i;super({'name':A(0x19a),'description':'A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','size':Size[A(0x1c2)],'category':Category[A(0x1c1)],'shape':Shape['Circle'],'color':Color[A(0x1b3)],'texture':Texture[A(0x199)],'rating':Rating[A(0x1c3)],'weight':0x1});}[a52i(0x19f)](){var B=a52i;return'You\x20hold\x20the\x20'+this[B(0x1ca)]+'\x20aloft,\x20feeling\x20its\x20immense\x20power.';}}
1
+ var a52v=a52d;(function(a,b){var f=a52d,c=a();while(!![]){try{var d=-parseInt(f(0xe4))/0x1+-parseInt(f(0xc8))/0x2*(-parseInt(f(0xd2))/0x3)+-parseInt(f(0xb8))/0x4*(parseInt(f(0xcd))/0x5)+parseInt(f(0xbe))/0x6*(-parseInt(f(0xad))/0x7)+-parseInt(f(0xb7))/0x8+parseInt(f(0xde))/0x9*(-parseInt(f(0xe0))/0xa)+parseInt(f(0xd6))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a52c,0x1a61e));var a52b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a52d;if(c){var e=c[g(0xe1)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a52a=a52b(this,function(){var h=a52d;return a52a[h(0xc6)]()[h(0xdf)](h(0xd3))[h(0xc6)]()[h(0xaf)](a52a)[h(0xdf)](h(0xd3));});a52a();import{Size,Category,Shape,Color,Texture,Rating}from'../types/enums.js';function a52d(a,b){var c=a52c();return a52d=function(d,e){d=d-0xab;var f=c[d];return f;},a52d(a,b);}import{Item}from'../models/item.js';export class BasicItem extends Item{constructor(a,b){var i=a52d;super({'name':a,'description':b,'size':Size[i(0xba)],'category':Category[i(0xcc)],'shape':Shape[i(0xb6)],'color':Color[i(0xb1)],'texture':Texture[i(0xbb)],'rating':Rating['Common'],'weight':0x1});}['use'](){var j=a52d;return this[j(0xab)];}}function a52c(){var E=['4298iexplt','Legendary','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','publishDate','Unknown','5WBkxVa','Brown','Helmet','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','Short\x20Sword','141LKzBeR','(((.+)+)+)+$','pageCount','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','5364271mFjYrZ','Rare','Tiny','Metallic','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','Common','Cup','Key','278352gdeVNR','search','20aVXUeG','apply','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','use','142515NRMTNm','\x20aloft,\x20feeling\x20its\x20immense\x20power.','Book','description','BodyArmor','142611lCGbME','ArmArmor','constructor','Sniper\x20Rifle','Yellow','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','Rifle','author','A\x20mysterious\x20book.','Rectangle','791504iwaxbP','627680NlvPyu','Blade','Medium','Smooth','Grey','LegArmor','6ADukUJ','Weapon','Holy\x20Grail','Circle','Gloves','Boots','Unknown\x20Author','Large','toString','name'];a52c=function(){return E;};return a52c();}export class Sword extends Item{constructor(a,b){var k=a52d;super({'name':a,'description':b,'size':Size[k(0xba)],'category':Category[k(0xbf)],'shape':Shape[k(0xb9)],'color':Color[k(0xbc)],'texture':Texture[k(0xd9)],'rating':Rating[k(0xdb)],'weight':0x3});}}export class Rifle extends Item{constructor(a,b){var l=a52d;super({'name':a,'description':b,'size':Size[l(0xc5)],'category':Category[l(0xbf)],'shape':Shape[l(0xb3)],'color':Color[l(0xce)],'texture':Texture[l(0xd9)],'rating':Rating[l(0xd7)],'weight':0x7});}}export class Helmet extends Item{constructor(a,b){var m=a52d;super({'name':a,'description':b,'size':Size[m(0xba)],'category':Category[m(0xcf)],'shape':Shape[m(0xc1)],'color':Color[m(0xbc)],'texture':Texture[m(0xd9)],'rating':Rating[m(0xdb)],'weight':0x2});}}export class BodyArmor extends Item{constructor(a,b){var n=a52d;super({'name':a,'description':b,'size':Size[n(0xc5)],'category':Category[n(0xac)],'shape':Shape[n(0xb6)],'color':Color['Grey'],'texture':Texture[n(0xd9)],'rating':Rating['Common'],'weight':0xa});}}export class LegArmor extends Item{constructor(a,b){var o=a52d;super({'name':a,'description':b,'size':Size[o(0xba)],'category':Category[o(0xbd)],'shape':Shape[o(0xb6)],'color':Color[o(0xbc)],'texture':Texture[o(0xd9)],'rating':Rating[o(0xdb)],'weight':0x6});}}export class Boots extends Item{constructor(a,b){var p=a52d;super({'name':a,'description':b,'size':Size['Medium'],'category':Category[p(0xc3)],'shape':Shape[p(0xc1)],'color':Color[p(0xce)],'texture':Texture[p(0xbb)],'rating':Rating[p(0xdb)],'weight':0x2});}}export class Gloves extends Item{constructor(a,b){var q=a52d;super({'name':a,'description':b,'size':Size['Small'],'category':Category[q(0xc2)],'shape':Shape['Circle'],'color':Color[q(0xce)],'texture':Texture[q(0xbb)],'rating':Rating[q(0xdb)],'weight':0x1});}}export class Gauntlets extends Item{constructor(a,b){var r=a52d;super({'name':a,'description':b,'size':Size[r(0xba)],'category':Category[r(0xae)],'shape':Shape[r(0xb6)],'color':Color['Grey'],'texture':Texture[r(0xd9)],'rating':Rating[r(0xdb)],'weight':0x3});}}export class Key extends Item{constructor(a,b){var s=a52d;super({'name':a,'description':b,'size':Size[s(0xd8)],'category':Category[s(0xdd)],'shape':Shape[s(0xb6)],'color':Color[s(0xb1)],'texture':Texture['Smooth'],'rating':Rating[s(0xdb)],'weight':0x0});}['use'](){var t=a52d;return t(0xca);}}export class Weapon extends Item{constructor(a,b){var u=a52d;super({'name':a,'description':b,'size':Size[u(0xba)],'category':Category['Weapon'],'shape':Shape[u(0xb9)],'color':Color[u(0xbc)],'texture':Texture[u(0xd9)],'rating':Rating[u(0xdb)],'weight':0x3});}[a52v(0xe3)](){var w=a52v;return w(0xe2);}}export class Book extends Item{[a52v(0xb4)];[a52v(0xcb)];[a52v(0xd4)];constructor(a,b=a52v(0xb5),c=a52v(0xc4)){var x=a52v;super({'name':a,'description':b,'size':Size[x(0xba)],'category':Category[x(0xe6)],'shape':Shape[x(0xb6)],'color':Color[x(0xce)],'texture':Texture[x(0xbb)],'rating':Rating['Common'],'weight':0x1}),this[x(0xb4)]=c,this[x(0xcb)]=new Date(),this['pageCount']=0x64;}['use'](){var y=a52v;return y(0xd5);}}export class ShortSword extends Item{constructor(){var z=a52v;super({'name':z(0xd1),'description':'A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','size':Size[z(0xba)],'category':Category[z(0xbf)],'shape':Shape['Blade'],'color':Color[z(0xbc)],'texture':Texture['Metallic'],'rating':Rating['Common'],'weight':0x3});}[a52v(0xe3)](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class SniperRifle extends Item{constructor(){var A=a52v;super({'name':A(0xb0),'description':A(0xd0),'size':Size[A(0xc5)],'category':Category[A(0xbf)],'shape':Shape['Rifle'],'color':Color[A(0xce)],'texture':Texture[A(0xbb)],'rating':Rating['Common'],'weight':0x5});}[a52v(0xe3)](){var B=a52v;return B(0xda);}}export class HolyGrail extends Item{constructor(){var C=a52v;super({'name':C(0xc0),'description':C(0xb2),'size':Size['Small'],'category':Category[C(0xdc)],'shape':Shape['Circle'],'color':Color['Gold'],'texture':Texture[C(0xd9)],'rating':Rating[C(0xc9)],'weight':0x1});}[a52v(0xe3)](){var D=a52v;return'You\x20hold\x20the\x20'+this[D(0xc7)]+D(0xe5);}}
@@ -1 +1 @@
1
- const a54i=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0x211))/0x1+-parseInt(f(0x1fb))/0x2*(parseInt(f(0x1ff))/0x3)+parseInt(f(0x1d4))/0x4+-parseInt(f(0x1f3))/0x5*(parseInt(f(0x1ef))/0x6)+parseInt(f(0x1c3))/0x7*(parseInt(f(0x1b4))/0x8)+-parseInt(f(0x219))/0x9*(-parseInt(f(0x1b7))/0xa)+parseInt(f(0x1e9))/0xb*(parseInt(f(0x209))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0xf1be4));const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0x203)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0x212)]()[h(0x1bf)]('(((.+)+)+)+$')[h(0x212)]()['constructor'](a54a)[h(0x1bf)](h(0x205));});a54a();export const rooms=[{'name':a54i(0x1eb),'description':a54i(0x21f),'isStartRoom':!![],'items':[{'type':'key','name':'Golden\x20Key','description':a54i(0x222)},{'type':'book','name':'Guard\x27s\x20Log\x20Book','description':a54i(0x1dc),'content':a54i(0x1c0)}],'exits':[{'direction':'EAST','targetRoom':a54i(0x206)}]},{'name':'Secret\x20Passage','description':a54i(0x1c4),'exits':[{'direction':'NORTH','targetRoom':a54i(0x1ca),'keyRequired':a54i(0x1b1)},{'direction':a54i(0x1e4),'targetRoom':a54i(0x1e7)}]},{'name':a54i(0x1ca),'description':a54i(0x1f4),'items':[{'type':a54i(0x1bc),'name':a54i(0x1af),'description':a54i(0x21d)}]},{'name':a54i(0x1e7),'description':a54i(0x1f2),'roomType':a54i(0x1da),'exits':[{'direction':'UP','targetRoom':a54i(0x1f8)}]},{'name':'Watch\x20Tower','description':'A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','roomType':a54i(0x1da),'puzzle':{'requiredPhrase':'secret123','riddle':a54i(0x1d1),'rewardItem':{'type':a54i(0x1d0),'name':a54i(0x1df),'description':a54i(0x1e3)},'successMessage':a54i(0x20e),'failureMessage':'That\x20passcode\x20is\x20incorrect'}}];export const dungeonConfig=[{'name':a54i(0x1cb),'description':a54i(0x1c8),'isStartRoom':!![],'roomType':a54i(0x20d),'puzzle':{'requiredPhrase':a54i(0x20c),'riddle':a54i(0x1b9),'rewardItem':{'type':a54i(0x1f9),'name':a54i(0x21b),'description':a54i(0x1cc)},'successMessage':a54i(0x221),'failureMessage':a54i(0x208)},'exits':[{'direction':a54i(0x1c1),'targetRoom':a54i(0x220)},{'direction':a54i(0x1b0),'targetRoom':a54i(0x216),'keyRequired':a54i(0x21b)}]},{'name':a54i(0x220),'description':a54i(0x1c7),'roomType':'inside','items':[{'type':a54i(0x1e2),'name':a54i(0x1ce),'description':a54i(0x1e6),'content':a54i(0x1d8)},{'type':'key','name':a54i(0x21b),'description':a54i(0x1cc)}],'exits':[{'direction':a54i(0x1c2),'targetRoom':a54i(0x1cb)},{'direction':a54i(0x1b0),'targetRoom':a54i(0x1ec)}]},{'name':a54i(0x1ec),'description':'A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','roomType':a54i(0x20d),'items':[{'type':a54i(0x1e1),'name':a54i(0x217),'description':a54i(0x1ee)}],'exits':[{'direction':a54i(0x218),'targetRoom':a54i(0x220)},{'direction':'north','targetRoom':a54i(0x1bd)}]},{'name':a54i(0x1bd),'description':'Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','roomType':'inside','items':[{'type':a54i(0x1b6),'name':'Emblem\x20Shield','description':a54i(0x1d2)},{'type':a54i(0x1c6),'name':a54i(0x1b8),'description':'An\x20old\x20and\x20rusted\x20sword.'}],'exits':[{'direction':a54i(0x1c2),'targetRoom':'Alchemy\x20Lab'},{'direction':'east','targetRoom':a54i(0x216)}]},{'name':a54i(0x216),'description':a54i(0x1d6),'roomType':a54i(0x20d),'exits':[{'direction':'west','targetRoom':'Armory'},{'direction':a54i(0x1c2),'targetRoom':a54i(0x1cb)},{'direction':a54i(0x1c1),'targetRoom':a54i(0x202)},{'direction':a54i(0x1b0),'targetRoom':a54i(0x1ca)}]},{'name':a54i(0x202),'description':a54i(0x1e5),'roomType':'inside','items':[{'type':'key','name':a54i(0x1f7),'description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':a54i(0x214),'riddle':'Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','rewardItem':{'type':a54i(0x1ba),'name':a54i(0x1bb),'description':a54i(0x1d9)},'successMessage':a54i(0x1ea),'failureMessage':'The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.'},'exits':[{'direction':'south','targetRoom':a54i(0x216)}]},{'name':a54i(0x1ca),'description':'Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','roomType':a54i(0x20d),'puzzle':{'requiredPhrase':a54i(0x1cd),'riddle':a54i(0x1fd),'rewardItem':{'type':'cup','name':a54i(0x1f1),'description':a54i(0x21a)},'successMessage':a54i(0x200),'failureMessage':a54i(0x1d3)},'exits':[{'direction':a54i(0x218),'targetRoom':a54i(0x216)}]}];function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x1ae;let f=c[d];return f;},a54d(a,b);}function a54c(){const j=['11BiUGjS','The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','Library','Alchemy\x20Lab','show\x20loyalty','A\x20clear\x20glass\x20vial.','504fZgSzr','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','Golden\x20Chalice','A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','90810HYZQUx','A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','Matrix\x20Data\x20Haven','The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','Blood-stained\x20Key','Watch\x20Tower','key','Ares\x20Predator','551720rUVhGQ','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','The\x20data\x20remains\x20encrypted.','9fBpNFB','The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','outside','Torture\x20Chamber','apply','Mage\x27s\x20Lair','(((.+)+)+)+$','Secret\x20Passage','disenchant','Nothing\x20happens.','25643928PoDMjZ','CorpSec\x20Plans','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','open\x20sesame','inside','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','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','Barrens\x20Hideout','14767IVqDCw','toString','The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','release','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','Central\x20Chamber','Empty\x20vial','west','5322924wvNwTq','A\x20chalice\x20made\x20of\x20pure\x20gold.','Central\x20Chamber\x20Key','Rigger\x27s\x20Workshop','The\x20legendary\x20Holy\x20Grail.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','Study','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','weapon','Holy\x20Grail','east','Golden\x20Key','Corp\x20Enclave','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','2616rMCSBR','Barrens\x20Entrance','shield','10ejHfSC','Rusted\x20Sword','Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','gem','Ancient\x20Gem','holyGrail','Armory','A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','search','Chad\x20the\x20stupid\x20guard','north','south','10423agFMni','A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','sword','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','Downtown\x20Seattle','Treasure\x20Room','Entrance\x20Hall','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','insert\x20gem','Riddle\x20Book','Encrypted\x20Data\x20Key','rifle','A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.','The\x20chest\x20remains\x20firmly\x20shut.','453072BTwsSz','Jackpoint\x20Login','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','down','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','OUTSIDE','A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','A\x20thin\x20log\x20book','creditstick','document','Sniper\x20Rifle','Gang\x20Insignia','basic','book','A\x20long-range\x20weapon.','SOUTH','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','A\x20book\x20containing\x20a\x20mysterious\x20riddle.','Courtyard','decrypt'];a54c=function(){return j;};return a54c();}export const shadowrunConfig=[{'name':'Jackpoint\x20Login','description':'A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','isStartRoom':!![],'roomType':a54i(0x20d),'exits':[{'direction':a54i(0x1c1),'targetRoom':a54i(0x1c9)},{'direction':'up','targetRoom':'Matrix\x20Data\x20Haven'}]},{'name':a54i(0x1f5),'description':a54i(0x20b),'roomType':a54i(0x20d),'puzzle':{'requiredPhrase':a54i(0x1e8),'riddle':'Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','rewardItem':{'type':a54i(0x1f9),'name':a54i(0x1cf),'description':'A\x20key\x20made\x20of\x20pure\x20digital\x20energy.'},'successMessage':a54i(0x1f6),'failureMessage':a54i(0x1fe)},'exits':[{'direction':a54i(0x1d7),'targetRoom':a54i(0x1d5)}]},{'name':a54i(0x1c9),'description':'The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','roomType':'outside','exits':[{'direction':a54i(0x1c2),'targetRoom':a54i(0x1d5)},{'direction':a54i(0x1b0),'targetRoom':a54i(0x1b5)},{'direction':'west','targetRoom':'Corp\x20Enclave'}]},{'name':'Barrens\x20Entrance','description':a54i(0x1f0),'roomType':a54i(0x201),'puzzle':{'requiredPhrase':a54i(0x1ed),'riddle':'To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','rewardItem':{'type':'key','name':a54i(0x1e0),'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(0x1fc)},'exits':[{'direction':'west','targetRoom':a54i(0x1c9)},{'direction':'north','targetRoom':a54i(0x210)}]},{'name':a54i(0x1b2),'description':a54i(0x213),'roomType':a54i(0x20d),'items':[{'type':a54i(0x1dd),'name':'Corporate\x20Creditstick','description':'A\x20creditstick\x20loaded\x20with\x20nuyen.'},{'type':a54i(0x1de),'name':a54i(0x20a),'description':a54i(0x20f)}],'exits':[{'direction':'east','targetRoom':'Downtown\x20Seattle'}]},{'name':a54i(0x210),'description':'A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','roomType':'outside','items':[{'type':a54i(0x1ae),'name':a54i(0x1fa),'description':a54i(0x1be)}],'exits':[{'direction':a54i(0x1c2),'targetRoom':a54i(0x1b5)},{'direction':'north','targetRoom':a54i(0x204)},{'direction':a54i(0x1b0),'targetRoom':a54i(0x21c)}]},{'name':'Mage\x27s\x20Lair','description':a54i(0x1db),'roomType':'inside','puzzle':{'requiredPhrase':a54i(0x207),'riddle':a54i(0x1c5),'rewardItem':{'type':'amulet','name':'Amulet\x20of\x20Awakening','description':a54i(0x215)},'successMessage':a54i(0x1b3),'failureMessage':a54i(0x21e)},'exits':[{'direction':'south','targetRoom':a54i(0x210)}]},{'name':a54i(0x21c),'description':'Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','roomType':'inside','items':[{'type':'drone','name':'MCT\x20Fly-Spy','description':'A\x20small\x20surveillance\x20drone.'}],'exits':[{'direction':a54i(0x218),'targetRoom':'Barrens\x20Hideout'}]}];
1
+ const a54i=a54d;(function(a,b){const f=a54d,c=a();while(!![]){try{const d=parseInt(f(0xcd))/0x1*(-parseInt(f(0xb5))/0x2)+parseInt(f(0x7b))/0x3+parseInt(f(0x8c))/0x4+-parseInt(f(0xb9))/0x5+-parseInt(f(0x81))/0x6*(-parseInt(f(0xe0))/0x7)+parseInt(f(0xc1))/0x8*(parseInt(f(0x82))/0x9)+-parseInt(f(0x78))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a54c,0x28016));const a54b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a54d;if(c){const e=c[g(0xe3)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a54a=a54b(this,function(){const h=a54d;return a54a[h(0xbd)]()[h(0xc5)](h(0x85))[h(0xbd)]()['constructor'](a54a)['search']('(((.+)+)+)+$');});a54a();export const rooms=[{'name':'Library','description':a54i(0xd3),'isStartRoom':!![],'items':[{'type':a54i(0x94),'name':a54i(0xac),'description':a54i(0xd0)},{'type':a54i(0x8b),'name':'Guard\x27s\x20Log\x20Book','description':a54i(0xc2),'content':a54i(0x73)}],'exits':[{'direction':a54i(0x72),'targetRoom':a54i(0xb6)}]},{'name':a54i(0xb6),'description':a54i(0x87),'exits':[{'direction':a54i(0xe8),'targetRoom':a54i(0xb0),'keyRequired':a54i(0xac)},{'direction':a54i(0x8f),'targetRoom':a54i(0xe2)}]},{'name':a54i(0xb0),'description':'A\x20room\x20glittering\x20with\x20gold\x20and\x20jewels.','items':[{'type':a54i(0xe4),'name':a54i(0x86),'description':'The\x20legendary\x20Holy\x20Grail.'}]},{'name':'Courtyard','description':'A\x20serene\x20courtyard\x20with\x20a\x20gentle\x20fountain.\x20There\x20are\x20birds\x20bathing.','roomType':a54i(0xe7),'exits':[{'direction':'UP','targetRoom':a54i(0xa9)}]},{'name':a54i(0xa9),'description':a54i(0xbe),'roomType':'OUTSIDE','puzzle':{'requiredPhrase':a54i(0x7a),'riddle':a54i(0x93),'rewardItem':{'type':a54i(0xb4),'name':a54i(0xca),'description':a54i(0xdf)},'successMessage':a54i(0xa5),'failureMessage':'That\x20passcode\x20is\x20incorrect'}}];function a54d(a,b){const c=a54c();return a54d=function(d,e){d=d-0x72;let f=c[d];return f;},a54d(a,b);}export const dungeonConfig=[{'name':a54i(0xc3),'description':a54i(0xa0),'isStartRoom':!![],'roomType':'inside','puzzle':{'requiredPhrase':'open\x20sesame','riddle':a54i(0xad),'rewardItem':{'type':a54i(0x94),'name':'Central\x20Chamber\x20Key','description':a54i(0xc6)},'successMessage':a54i(0xc9),'failureMessage':a54i(0xe9)},'exits':[{'direction':a54i(0xd2),'targetRoom':a54i(0xb1)},{'direction':a54i(0x9f),'targetRoom':'Central\x20Chamber','keyRequired':a54i(0xd9)}]},{'name':a54i(0xb1),'description':a54i(0xbc),'roomType':a54i(0xa2),'items':[{'type':a54i(0x8b),'name':'Riddle\x20Book','description':'A\x20book\x20containing\x20a\x20mysterious\x20riddle.','content':a54i(0x8e)},{'type':a54i(0x94),'name':a54i(0xd9),'description':'A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.'}],'exits':[{'direction':'south','targetRoom':a54i(0xc3)},{'direction':a54i(0x9f),'targetRoom':a54i(0xa1)}]},{'name':a54i(0xa1),'description':a54i(0x77),'roomType':a54i(0xa2),'items':[{'type':a54i(0x76),'name':a54i(0xaa),'description':a54i(0x92)}],'exits':[{'direction':a54i(0x88),'targetRoom':a54i(0xb1)},{'direction':a54i(0xd2),'targetRoom':a54i(0x75)}]},{'name':'Armory','description':'Rows\x20of\x20ancient\x20weapons\x20and\x20armors.','roomType':a54i(0xa2),'items':[{'type':a54i(0xb7),'name':a54i(0xa8),'description':a54i(0xa3)},{'type':a54i(0x9b),'name':a54i(0x8d),'description':a54i(0x95)}],'exits':[{'direction':'south','targetRoom':a54i(0xa1)},{'direction':'east','targetRoom':a54i(0xd7)}]},{'name':a54i(0xd7),'description':a54i(0xe6),'roomType':a54i(0xa2),'exits':[{'direction':a54i(0x88),'targetRoom':'Armory'},{'direction':a54i(0xd4),'targetRoom':'Entrance\x20Hall'},{'direction':'north','targetRoom':a54i(0xde)},{'direction':a54i(0x9f),'targetRoom':a54i(0xb0)}]},{'name':a54i(0xde),'description':a54i(0xc8),'roomType':a54i(0xa2),'items':[{'type':a54i(0x94),'name':'Blood-stained\x20Key','description':'A\x20key\x20stained\x20with\x20old\x20blood.'}],'puzzle':{'requiredPhrase':a54i(0x84),'riddle':'Speak\x20the\x20word\x20to\x20free\x20the\x20ghost.','rewardItem':{'type':a54i(0xaf),'name':a54i(0xcb),'description':a54i(0x96)},'successMessage':'The\x20ghost\x20thanks\x20you\x20and\x20disappears,\x20leaving\x20behind\x20the\x20gem.','failureMessage':a54i(0xc7)},'exits':[{'direction':a54i(0xd4),'targetRoom':a54i(0xd7)}]},{'name':a54i(0xb0),'description':a54i(0xdd),'roomType':a54i(0xa2),'puzzle':{'requiredPhrase':a54i(0xe5),'riddle':a54i(0xd1),'rewardItem':{'type':a54i(0xd5),'name':a54i(0x74),'description':a54i(0xc4)},'successMessage':a54i(0x99),'failureMessage':a54i(0x7f)},'exits':[{'direction':a54i(0x88),'targetRoom':a54i(0xd7)}]}];export const shadowrunConfig=[{'name':a54i(0x97),'description':a54i(0xd6),'isStartRoom':!![],'roomType':a54i(0xa2),'exits':[{'direction':a54i(0xd2),'targetRoom':'Downtown\x20Seattle'},{'direction':'up','targetRoom':a54i(0x80)}]},{'name':a54i(0x80),'description':a54i(0xa7),'roomType':a54i(0xa2),'puzzle':{'requiredPhrase':'decrypt','riddle':'Unlock\x20the\x20encrypted\x20data\x20to\x20receive\x20your\x20next\x20mission.','rewardItem':{'type':a54i(0x94),'name':a54i(0xda),'description':'A\x20key\x20made\x20of\x20pure\x20digital\x20energy.'},'successMessage':'The\x20data\x20stream\x20reveals\x20a\x20location:\x20Downtown\x20Seattle.','failureMessage':a54i(0xbf)},'exits':[{'direction':a54i(0x83),'targetRoom':a54i(0x97)}]},{'name':a54i(0xdb),'description':'The\x20rain-soaked\x20streets\x20of\x20Seattle\x20with\x20neon\x20lights\x20reflecting\x20off\x20wet\x20pavement.\x20The\x20distant\x20sound\x20of\x20corporate\x20security\x20drones\x20can\x20be\x20heard.','roomType':a54i(0x89),'exits':[{'direction':a54i(0xd4),'targetRoom':a54i(0x97)},{'direction':a54i(0x9f),'targetRoom':a54i(0x7d)},{'direction':'west','targetRoom':'Corp\x20Enclave'}]},{'name':a54i(0x7d),'description':a54i(0x9a),'roomType':a54i(0x89),'puzzle':{'requiredPhrase':'show\x20loyalty','riddle':a54i(0x98),'rewardItem':{'type':a54i(0x94),'name':'Gang\x20Insignia','description':a54i(0x79)},'successMessage':a54i(0x8a),'failureMessage':a54i(0x91)},'exits':[{'direction':a54i(0x88),'targetRoom':a54i(0xdb)},{'direction':a54i(0xd2),'targetRoom':a54i(0x9d)}]},{'name':a54i(0x7e),'description':'The\x20high-security\x20corporate\x20zone,\x20complete\x20with\x20looming\x20skyscrapers\x20and\x20security\x20checkpoints.','roomType':'inside','items':[{'type':a54i(0x9e),'name':a54i(0xcf),'description':'A\x20creditstick\x20loaded\x20with\x20nuyen.'},{'type':a54i(0x90),'name':a54i(0xd8),'description':a54i(0xab)}],'exits':[{'direction':'east','targetRoom':a54i(0xdb)}]},{'name':'Barrens\x20Hideout','description':a54i(0xb2),'roomType':a54i(0x89),'items':[{'type':'weapon','name':a54i(0xb3),'description':a54i(0xdc)}],'exits':[{'direction':a54i(0xd4),'targetRoom':a54i(0x7d)},{'direction':a54i(0xd2),'targetRoom':a54i(0xbb)},{'direction':a54i(0x9f),'targetRoom':a54i(0xe1)}]},{'name':a54i(0xbb),'description':'A\x20hideout\x20filled\x20with\x20magical\x20artifacts,\x20wards,\x20and\x20a\x20few\x20summoned\x20spirits\x20guarding\x20the\x20place.','roomType':a54i(0xa2),'puzzle':{'requiredPhrase':a54i(0xa4),'riddle':a54i(0x7c),'rewardItem':{'type':a54i(0x9c),'name':a54i(0xba),'description':a54i(0xa6)},'successMessage':a54i(0xce),'failureMessage':a54i(0xc0)},'exits':[{'direction':a54i(0xd4),'targetRoom':a54i(0x9d)}]},{'name':'Rigger\x27s\x20Workshop','description':'Drones\x20and\x20vehicles\x20being\x20modified,\x20tools\x20everywhere,\x20and\x20a\x20rigger\x20jacked\x20in\x20to\x20a\x20command\x20console.','roomType':a54i(0xa2),'items':[{'type':a54i(0xae),'name':a54i(0xb8),'description':a54i(0xcc)}],'exits':[{'direction':a54i(0x88),'targetRoom':a54i(0x9d)}]}];function a54c(){const j=['Empty\x20vial','Detailed\x20security\x20plans\x20for\x20a\x20corporate\x20building.','Golden\x20Key','Speak\x20the\x20ancient\x20phrase\x20to\x20unlock\x20the\x20Central\x20Chamber.','drone','gem','Treasure\x20Room','Study','A\x20hidden\x20alley\x20in\x20the\x20Barrens\x20where\x20shadowrunners\x20meet\x20up\x20for\x20covert\x20jobs.','Ares\x20Predator','rifle','18536xNxCeJ','Secret\x20Passage','shield','MCT\x20Fly-Spy','886885SQLQTY','Amulet\x20of\x20Awakening','Mage\x27s\x20Lair','A\x20quiet\x20room\x20filled\x20with\x20bookshelves,\x20a\x20large\x20desk,\x20and\x20scattered\x20papers.','toString','A\x20towering\x20structure\x20giving\x20a\x20bird’s-eye\x20view\x20of\x20the\x20surroundings.','The\x20data\x20remains\x20encrypted.','The\x20magic\x20in\x20the\x20room\x20grows\x20more\x20oppressive,\x20resisting\x20your\x20efforts.','48jjcAyT','A\x20thin\x20log\x20book','Entrance\x20Hall','A\x20chalice\x20made\x20of\x20pure\x20gold.','search','A\x20key\x20with\x20an\x20emblem\x20of\x20the\x20dungeon.','The\x20chains\x20rattle\x20ominously,\x20but\x20nothing\x20else\x20happens.','Dark,\x20grim\x20with\x20chains\x20on\x20walls\x20and\x20an\x20eerie\x20silence.','The\x20gate\x20slowly\x20opens\x20revealing\x20the\x20path\x20to\x20the\x20Central\x20Chamber.','Sniper\x20Rifle','Ancient\x20Gem','A\x20small\x20surveillance\x20drone.','13VppGoX','The\x20ward\x20shatters,\x20revealing\x20the\x20amulet.','Corporate\x20Creditstick','A\x20shiny\x20golden\x20key\x20with\x20intricate\x20engravings.','The\x20chest\x20has\x20a\x20gem-shaped\x20socket.','north','A\x20vast\x20library\x20filled\x20with\x20ancient\x20books.\x20[START]','south','cup','A\x20virtual\x20portal\x20in\x20the\x20Matrix.\x20Glowing\x20neon\x20lights\x20everywhere,\x20with\x20digital\x20sprites\x20zipping\x20by.','Central\x20Chamber','CorpSec\x20Plans','Central\x20Chamber\x20Key','Encrypted\x20Data\x20Key','Downtown\x20Seattle','A\x20popular\x20heavy\x20pistol\x20among\x20shadowrunners.','Glittering\x20treasures\x20from\x20floor\x20to\x20ceiling.','Torture\x20Chamber','A\x20long-range\x20weapon.','7nHNmEf','Rigger\x27s\x20Workshop','Courtyard','apply','holyGrail','insert\x20gem','A\x20large\x20circular\x20room\x20with\x20four\x20doors.','OUTSIDE','NORTH','Nothing\x20happens.','EAST','Chad\x20the\x20stupid\x20guard','Golden\x20Chalice','Armory','basic','A\x20room\x20filled\x20with\x20potions,\x20beakers,\x20and\x20an\x20enchantment\x20circle.','2166390lxxVra','A\x20badge\x20proving\x20your\x20loyalty\x20to\x20one\x20of\x20the\x20Barrens\x27\x20gangs.','secret123','695391IWIYrp','Break\x20the\x20ward\x20to\x20reveal\x20the\x20hidden\x20magical\x20artifact.','Barrens\x20Entrance','Corp\x20Enclave','The\x20chest\x20remains\x20firmly\x20shut.','Matrix\x20Data\x20Haven','1712658HlAJrS','157527DHzMef','down','release','(((.+)+)+)+$','Holy\x20Grail','A\x20dimly\x20lit\x20passage\x20with\x20walls\x20made\x20of\x20stone.','west','outside','The\x20gang\x20members\x20nod\x20and\x20let\x20you\x20pass\x20deeper\x20into\x20the\x20Barrens.','book','224416dYXJdq','Rusted\x20Sword','When\x20is\x20a\x20door\x20not\x20a\x20door?\x20When\x20it\x27s\x20ajar!','SOUTH','document','The\x20gang\x20members\x20block\x20your\x20way,\x20suspicious\x20of\x20your\x20motives.','A\x20clear\x20glass\x20vial.','A\x20locked\x20glass\x20gun\x20cabinet\x20stands\x20here,\x20with\x20a\x20keypad\x20awaiting\x20a\x20password.','key','An\x20old\x20and\x20rusted\x20sword.','A\x20gem\x20radiating\x20a\x20mysterious\x20aura.','Jackpoint\x20Login','To\x20enter\x20deeper\x20into\x20the\x20Barrens,\x20you\x20must\x20show\x20allegiance\x20to\x20one\x20of\x20the\x20gangs.','The\x20chest\x20unlocks\x20revealing\x20the\x20chalice.','The\x20outskirts\x20of\x20the\x20lawless\x20Redmond\x20Barrens.\x20Gang\x20graffiti\x20is\x20everywhere.','sword','amulet','Barrens\x20Hideout','creditstick','east','A\x20grand\x20entrance\x20with\x20huge\x20wooden\x20doors\x20behind\x20and\x20a\x20dimly\x20lit\x20corridor\x20ahead.','Alchemy\x20Lab','inside','A\x20shield\x20with\x20the\x20emblem\x20of\x20the\x20dungeon.','disenchant','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','A\x20powerful\x20amulet\x20said\x20to\x20wake\x20spirits\x20from\x20slumber.','A\x20digital\x20realm\x20with\x20information\x20streams\x20flowing\x20like\x20rivers.','Emblem\x20Shield','Watch\x20Tower'];a54c=function(){return j;};return a54c();}