25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

115 satır
2.0 KiB

  1. define([
  2. 'misc/events'
  3. ], function(
  4. events
  5. ) {
  6. var config = {
  7. 'wizard 1': {
  8. name: 'Wizard 1',
  9. sprite: [2, 0],
  10. class: 'wizard',
  11. default: true
  12. },
  13. 'wizard 2': {
  14. name: 'Wizard 2',
  15. sprite: [3, 0],
  16. class: 'wizard',
  17. default: true
  18. },
  19. 'warrior 1': {
  20. name: 'Warrior 1',
  21. sprite: [1, 1],
  22. class: 'warrior',
  23. default: true
  24. },
  25. 'warrior 2': {
  26. name: 'Warrior 2',
  27. sprite: [2, 1],
  28. class: 'warrior',
  29. default: true
  30. },
  31. 'cleric 1': {
  32. name: 'Cleric 1',
  33. sprite: [4, 0],
  34. class: 'cleric',
  35. default: true
  36. },
  37. 'cleric 2': {
  38. name: 'Cleric 2',
  39. sprite: [5, 0],
  40. class: 'cleric',
  41. default: true
  42. },
  43. 'thief 1': {
  44. name: 'Thief 1',
  45. sprite: [6, 0],
  46. class: 'thief',
  47. default: true
  48. },
  49. 'thief 2': {
  50. name: 'Thief 2',
  51. sprite: [7, 0],
  52. class: 'thief',
  53. default: true
  54. },
  55. 'gaekatla druid': {
  56. name: 'Skin: Gaekatlan Druid',
  57. sprite: [0, 4],
  58. class: 'cleric'
  59. }
  60. };
  61. events.emit('onBeforeGetSkins', config);
  62. return {
  63. getBlueprint: function(skinId) {
  64. return config[skinId];
  65. },
  66. getSkinList: function(skins) {
  67. var list = Object.keys(config)
  68. .filter(function(s) {
  69. return ((config[s].default) || (skins.some(f => (f == s))));
  70. })
  71. .map(function(s) {
  72. return config[s];
  73. });
  74. var result = {};
  75. list.forEach(function(l) {
  76. if (!result[l.class])
  77. result[l.class] = [];
  78. result[l.class].push({
  79. sprite: l.sprite[0] + ',' + l.sprite[1],
  80. spritesheet: l.spritesheet
  81. });
  82. });
  83. return result;
  84. },
  85. getCell: function(className, costume) {
  86. var res = Object.keys(config)
  87. .filter(function(s) {
  88. return (config[s].class == className);
  89. })
  90. .map(function(s) {
  91. return config[s];
  92. })[costume];
  93. return (res.sprite[1] * 8) + res.sprite[0];
  94. },
  95. getSpritesheet: function(className) {
  96. return Object.keys(config)
  97. .filter(function(s) {
  98. return (config[s].class == className);
  99. })
  100. .map(function(s) {
  101. return config[s];
  102. })[0].spritesheet;
  103. }
  104. };
  105. });