Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

668 linhas
9.8 KiB

  1. let events = require('../misc/events');
  2. const routerConfig = {
  3. signatures: {
  4. global: {
  5. clientConfig: {
  6. getClientConfig: {
  7. callback: true,
  8. data: []
  9. }
  10. },
  11. leaderboard: {
  12. requestList: {
  13. callback: true,
  14. data: [
  15. {
  16. key: 'offset',
  17. dataType: 'integer'
  18. },
  19. {
  20. key: 'prophecies',
  21. dataType: 'arrayOfStrings'
  22. }
  23. ]
  24. }
  25. },
  26. cons: {
  27. unzone: {
  28. callback: true,
  29. data: []
  30. }
  31. }
  32. },
  33. threadGlobal: {
  34. instancer: {
  35. clientAck: {
  36. callback: false,
  37. data: []
  38. }
  39. },
  40. rezoneManager: {
  41. clientAck: {
  42. callback: false,
  43. data: []
  44. }
  45. }
  46. },
  47. cpnMethods: {
  48. auth: {
  49. login: {
  50. callback: true,
  51. allowWhenIngame: false,
  52. data: [
  53. {
  54. key: 'username',
  55. dataType: 'string'
  56. },
  57. {
  58. key: 'password',
  59. dataType: 'string'
  60. }
  61. ]
  62. },
  63. register: {
  64. callback: true,
  65. allowWhenIngame: false,
  66. data: [
  67. {
  68. key: 'username',
  69. dataType: 'string'
  70. },
  71. {
  72. key: 'password',
  73. dataType: 'string'
  74. }
  75. ]
  76. },
  77. deleteCharacter: {
  78. callback: true,
  79. allowWhenIngame: false,
  80. data: [
  81. {
  82. key: 'name',
  83. dataType: 'string'
  84. }
  85. ]
  86. },
  87. getSkinList: {
  88. callback: true,
  89. data: []
  90. },
  91. createCharacter: {
  92. callback: true,
  93. allowWhenIngame: false,
  94. data: [
  95. {
  96. key: 'name',
  97. dataType: 'string'
  98. },
  99. {
  100. key: 'class',
  101. dataType: 'string'
  102. },
  103. {
  104. key: 'skinId',
  105. dataType: 'string'
  106. },
  107. {
  108. key: 'prophecies',
  109. dataType: 'arrayOfStrings'
  110. }
  111. ]
  112. },
  113. getCharacterList: {
  114. callback: true,
  115. allowWhenIngame: false,
  116. data: []
  117. },
  118. getCharacter: {
  119. callback: true,
  120. allowWhenIngame: false,
  121. data: [
  122. {
  123. key: 'name',
  124. dataType: 'string'
  125. }
  126. ]
  127. },
  128. play: {
  129. callback: true,
  130. allowWhenIngame: false,
  131. data: [
  132. {
  133. key: 'name',
  134. dataType: 'string'
  135. }
  136. ]
  137. }
  138. },
  139. player: {
  140. move: {
  141. callback: false,
  142. data: [
  143. {
  144. key: 'x',
  145. dataType: 'integer'
  146. },
  147. {
  148. key: 'y',
  149. dataType: 'integer'
  150. },
  151. {
  152. key: 'priority',
  153. dataType: 'boolean',
  154. optional: true
  155. }
  156. ]
  157. },
  158. castSpell: {
  159. callback: false,
  160. data: [
  161. {
  162. key: 'priority',
  163. dataType: 'boolean'
  164. },
  165. {
  166. key: 'target',
  167. dataType: 'integerNullOrObject',
  168. spec: [
  169. {
  170. key: 'x',
  171. dataType: 'integer'
  172. },
  173. {
  174. key: 'y',
  175. dataType: 'integer'
  176. }
  177. ]
  178. },
  179. {
  180. key: 'spell',
  181. dataType: 'integer'
  182. },
  183. {
  184. key: 'self',
  185. dataType: 'boolean',
  186. optional: true
  187. }
  188. ]
  189. },
  190. performAction: {
  191. callback: 'deferred',
  192. data: [
  193. {
  194. key: 'cpn',
  195. dataType: 'string'
  196. },
  197. {
  198. key: 'method',
  199. dataType: 'string'
  200. },
  201. {
  202. key: 'data',
  203. dataType: 'object'
  204. }
  205. ]
  206. }
  207. },
  208. social: {
  209. chat: {
  210. callback: false,
  211. data: [
  212. {
  213. key: 'message',
  214. dataType: 'string'
  215. },
  216. {
  217. key: 'type',
  218. dataType: 'string',
  219. optional: true
  220. },
  221. {
  222. key: 'subType',
  223. dataType: 'stringOrNull',
  224. optional: true
  225. },
  226. {
  227. key: 'item',
  228. dataType: 'object',
  229. optional: true
  230. }
  231. ]
  232. },
  233. getInvite: {
  234. callback: false,
  235. data: [
  236. {
  237. key: 'targetId',
  238. dataType: 'integer'
  239. }
  240. ]
  241. },
  242. acceptInvite: {
  243. callback: false,
  244. data: [
  245. {
  246. key: 'targetId',
  247. dataType: 'integer'
  248. }
  249. ]
  250. },
  251. declineInvite: {
  252. callback: false,
  253. data: [
  254. {
  255. key: 'targetId',
  256. dataType: 'integer'
  257. }
  258. ]
  259. },
  260. removeFromParty: {
  261. callback: false,
  262. data: [
  263. {
  264. key: 'id',
  265. dataType: 'integer'
  266. }
  267. ]
  268. },
  269. leaveParty: {
  270. callback: false,
  271. data: []
  272. }
  273. }
  274. },
  275. threadCpnMethods: {
  276. dialogue: {
  277. talk: {
  278. callback: false,
  279. data: [
  280. {
  281. key: 'target',
  282. dataType: 'integerOrString'
  283. },
  284. {
  285. optional: true,
  286. key: 'state',
  287. dataType: 'numberOrString'
  288. }
  289. ]
  290. }
  291. },
  292. gatherer: {
  293. gather: {
  294. callback: false,
  295. data: [
  296. {
  297. key: 'targetId',
  298. dataType: 'integer'
  299. }
  300. ]
  301. }
  302. },
  303. quests: {
  304. complete: {
  305. callback: false,
  306. data: [
  307. {
  308. key: 'questId',
  309. dataType: 'integer'
  310. }
  311. ]
  312. }
  313. },
  314. player: {
  315. clearQueue: {
  316. callback: false,
  317. data: []
  318. }
  319. },
  320. inventory: {
  321. combineStacks: {
  322. callback: false,
  323. data: [
  324. {
  325. key: 'fromId',
  326. dataType: 'integer'
  327. },
  328. {
  329. key: 'toId',
  330. dataType: 'integer'
  331. }
  332. ]
  333. },
  334. splitStack: {
  335. callback: false,
  336. data: [
  337. {
  338. key: 'itemId',
  339. dataType: 'integer'
  340. },
  341. {
  342. key: 'stackSize',
  343. dataType: 'integer'
  344. }
  345. ]
  346. },
  347. useItem: {
  348. callback: false,
  349. data: [
  350. {
  351. key: 'itemId',
  352. dataType: 'integer'
  353. }
  354. ]
  355. },
  356. moveItem: {
  357. callback: false,
  358. data: [
  359. {
  360. key: 'moveMsgs',
  361. dataType: 'arrayOfObjects',
  362. spec: [
  363. {
  364. key: 'itemId',
  365. dataType: 'integer'
  366. },
  367. {
  368. key: 'targetPos',
  369. dataType: 'integer'
  370. }
  371. ]
  372. }
  373. ]
  374. },
  375. learnAbility: {
  376. callback: false,
  377. data: [
  378. {
  379. key: 'itemId',
  380. dataType: 'integer'
  381. },
  382. {
  383. key: 'slot',
  384. dataType: 'integer',
  385. optional: true
  386. }
  387. ]
  388. },
  389. unlearnAbility: {
  390. callback: false,
  391. data: [
  392. {
  393. key: 'itemId',
  394. dataType: 'integer'
  395. }
  396. ]
  397. },
  398. dropItem: {
  399. callback: false,
  400. data: [
  401. {
  402. key: 'itemId',
  403. dataType: 'integer'
  404. }
  405. ]
  406. },
  407. destroyItem: {
  408. callback: false,
  409. data: [
  410. {
  411. key: 'itemId',
  412. dataType: 'integer'
  413. }
  414. ]
  415. },
  416. salvageItem: {
  417. callback: false,
  418. data: [
  419. {
  420. key: 'itemId',
  421. dataType: 'integer'
  422. }
  423. ]
  424. },
  425. stashItem: {
  426. callback: false,
  427. data: [
  428. {
  429. key: 'itemId',
  430. dataType: 'integer'
  431. }
  432. ]
  433. },
  434. sortInventory: {
  435. callback: false,
  436. data: []
  437. }
  438. },
  439. equipment: {
  440. equip: {
  441. callback: false,
  442. data: [
  443. {
  444. key: 'itemId',
  445. dataType: 'integer'
  446. },
  447. {
  448. key: 'slot',
  449. dataType: 'string',
  450. optional: true
  451. }
  452. ]
  453. },
  454. unequip: {
  455. callback: false,
  456. data: [
  457. {
  458. key: 'itemId',
  459. dataType: 'integer'
  460. },
  461. {
  462. key: 'slot',
  463. dataType: 'string',
  464. optional: true
  465. }
  466. ]
  467. },
  468. setQuickSlot: {
  469. data: [
  470. {
  471. key: 'itemId',
  472. dataType: 'integer'
  473. },
  474. {
  475. key: 'slot',
  476. dataType: 'integer'
  477. }
  478. ]
  479. },
  480. useQuickSlot: {
  481. data: [
  482. {
  483. key: 'slot',
  484. dataType: 'integer'
  485. }
  486. ]
  487. },
  488. inspect: {
  489. callback: false,
  490. data: [
  491. {
  492. key: 'playerId',
  493. dataType: 'integer'
  494. }
  495. ]
  496. }
  497. },
  498. stash: {
  499. withdraw: {
  500. callback: false,
  501. data: [
  502. {
  503. key: 'itemId',
  504. dataType: 'integer'
  505. }
  506. ]
  507. },
  508. open: {
  509. callback: false,
  510. data: [
  511. {
  512. key: 'targetId',
  513. dataType: 'integer'
  514. }
  515. ]
  516. }
  517. },
  518. trade: {
  519. buySell: {
  520. callback: false,
  521. data: [
  522. {
  523. key: 'itemId',
  524. dataType: 'integer'
  525. },
  526. {
  527. key: 'action',
  528. dataType: 'string'
  529. }
  530. ]
  531. }
  532. },
  533. door: {
  534. lock: {
  535. callback: false,
  536. data: [
  537. {
  538. key: 'targetId',
  539. dataType: 'integer'
  540. }
  541. ]
  542. },
  543. unlock: {
  544. callback: false,
  545. data: [
  546. {
  547. key: 'targetId',
  548. dataType: 'integer'
  549. }
  550. ]
  551. }
  552. },
  553. wardrobe: {
  554. open: {
  555. callback: false,
  556. data: [
  557. {
  558. key: 'targetId',
  559. dataType: 'integer'
  560. }
  561. ]
  562. },
  563. apply: {
  564. callback: false,
  565. data: [
  566. {
  567. key: 'targetId',
  568. dataType: 'integer'
  569. },
  570. {
  571. key: 'skinId',
  572. dataType: 'string'
  573. }
  574. ]
  575. }
  576. },
  577. stats: {
  578. respawn: {
  579. callback: false,
  580. data: []
  581. }
  582. },
  583. passives: {
  584. tickNode: {
  585. callback: false,
  586. data: [
  587. {
  588. key: 'nodeId',
  589. dataType: 'integer'
  590. }
  591. ]
  592. },
  593. untickNode: {
  594. callback: false,
  595. data: [
  596. {
  597. key: 'nodeId',
  598. dataType: 'integer',
  599. optional: true
  600. }
  601. ]
  602. }
  603. },
  604. workbench: {
  605. open: {
  606. callback: false,
  607. data: [
  608. {
  609. key: 'targetId',
  610. dataType: 'integer'
  611. }
  612. ]
  613. },
  614. craft: {
  615. callback: false,
  616. data: [
  617. {
  618. key: 'targetId',
  619. dataType: 'integer'
  620. },
  621. {
  622. key: 'name',
  623. dataType: 'string'
  624. },
  625. {
  626. key: 'pickedItemIds',
  627. dataType: 'arrayOfIntegers'
  628. }
  629. ]
  630. },
  631. getRecipe: {
  632. data: [
  633. {
  634. key: 'targetId',
  635. dataType: 'integer'
  636. },
  637. {
  638. key: 'name',
  639. dataType: 'string'
  640. },
  641. {
  642. key: 'pickedItemIds',
  643. dataType: 'arrayOfIntegers',
  644. optional: true
  645. }
  646. ]
  647. }
  648. }
  649. }
  650. }
  651. };
  652. module.exports = {
  653. routerConfig,
  654. init: function () {
  655. routerConfig.allowed = {};
  656. routerConfig.allowTargetId = {};
  657. routerConfig.secondaryAllowed = {};
  658. routerConfig.secondaryAllowTargetId = {};
  659. routerConfig.globalAllowed = {};
  660. events.emit('onBeforeGetRouterSignatureConfig', routerConfig);
  661. }
  662. };