hoshimi-venus 0.1.0

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 (269) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +17 -0
  3. package/out/concert/concert.d.ts +69 -0
  4. package/out/concert/concert.js +161 -0
  5. package/out/concert/concert.js.map +1 -0
  6. package/out/concert/consts/chart_consts.d.ts +41 -0
  7. package/out/concert/consts/chart_consts.js +65 -0
  8. package/out/concert/consts/chart_consts.js.map +1 -0
  9. package/out/concert/consts/eff_grades.d.ts +1191 -0
  10. package/out/concert/consts/eff_grades.js +221 -0
  11. package/out/concert/consts/eff_grades.js.map +1 -0
  12. package/out/concert/consts/efficacy_list.d.ts +9 -0
  13. package/out/concert/consts/efficacy_list.js +50 -0
  14. package/out/concert/consts/efficacy_list.js.map +1 -0
  15. package/out/concert/efficacy_analyze.d.ts +11 -0
  16. package/out/concert/efficacy_analyze.js +82 -0
  17. package/out/concert/efficacy_analyze.js.map +1 -0
  18. package/out/concert/efficacy_proc.d.ts +0 -0
  19. package/out/concert/efficacy_proc.js +1 -0
  20. package/out/concert/efficacy_proc.js.map +1 -0
  21. package/out/concert/partial/a_migration.d.ts +2 -0
  22. package/out/concert/partial/a_migration.js +36 -0
  23. package/out/concert/partial/a_migration.js.map +1 -0
  24. package/out/concert/partial/actions/action.d.ts +24 -0
  25. package/out/concert/partial/actions/action.js +130 -0
  26. package/out/concert/partial/actions/action.js.map +1 -0
  27. package/out/concert/partial/actions/active_skill_chance_assignment.d.ts +2 -0
  28. package/out/concert/partial/actions/active_skill_chance_assignment.js +14 -0
  29. package/out/concert/partial/actions/active_skill_chance_assignment.js.map +1 -0
  30. package/out/concert/partial/actions/cool_time_increase.d.ts +4 -0
  31. package/out/concert/partial/actions/cool_time_increase.js +43 -0
  32. package/out/concert/partial/actions/cool_time_increase.js.map +1 -0
  33. package/out/concert/partial/actions/cool_time_reduction.d.ts +4 -0
  34. package/out/concert/partial/actions/cool_time_reduction.js +43 -0
  35. package/out/concert/partial/actions/cool_time_reduction.js.map +1 -0
  36. package/out/concert/partial/actions/dance_boost.d.ts +2 -0
  37. package/out/concert/partial/actions/dance_boost.js +35 -0
  38. package/out/concert/partial/actions/dance_boost.js.map +1 -0
  39. package/out/concert/partial/actions/dance_down.d.ts +2 -0
  40. package/out/concert/partial/actions/dance_down.js +35 -0
  41. package/out/concert/partial/actions/dance_down.js.map +1 -0
  42. package/out/concert/partial/actions/dance_up.d.ts +2 -0
  43. package/out/concert/partial/actions/dance_up.js +35 -0
  44. package/out/concert/partial/actions/dance_up.js.map +1 -0
  45. package/out/concert/partial/actions/fix_stamina_recovery.d.ts +2 -0
  46. package/out/concert/partial/actions/fix_stamina_recovery.js +35 -0
  47. package/out/concert/partial/actions/fix_stamina_recovery.js.map +1 -0
  48. package/out/concert/partial/actions/live_ability_cool_time_reduction.d.ts +2 -0
  49. package/out/concert/partial/actions/live_ability_cool_time_reduction.js +14 -0
  50. package/out/concert/partial/actions/live_ability_cool_time_reduction.js.map +1 -0
  51. package/out/concert/partial/actions/stamina_consumption.d.ts +2 -0
  52. package/out/concert/partial/actions/stamina_consumption.js +34 -0
  53. package/out/concert/partial/actions/stamina_consumption.js.map +1 -0
  54. package/out/concert/partial/actions/strength_effect_assignment.d.ts +2 -0
  55. package/out/concert/partial/actions/strength_effect_assignment.js +14 -0
  56. package/out/concert/partial/actions/strength_effect_assignment.js.map +1 -0
  57. package/out/concert/partial/actions/strength_effect_assignment_all.d.ts +2 -0
  58. package/out/concert/partial/actions/strength_effect_assignment_all.js +40 -0
  59. package/out/concert/partial/actions/strength_effect_assignment_all.js.map +1 -0
  60. package/out/concert/partial/actions/strength_effect_count_increase.d.ts +2 -0
  61. package/out/concert/partial/actions/strength_effect_count_increase.js +40 -0
  62. package/out/concert/partial/actions/strength_effect_count_increase.js.map +1 -0
  63. package/out/concert/partial/actions/strength_effect_erasing.d.ts +2 -0
  64. package/out/concert/partial/actions/strength_effect_erasing.js +41 -0
  65. package/out/concert/partial/actions/strength_effect_erasing.js.map +1 -0
  66. package/out/concert/partial/actions/strength_effect_erasing_all.d.ts +2 -0
  67. package/out/concert/partial/actions/strength_effect_erasing_all.js +34 -0
  68. package/out/concert/partial/actions/strength_effect_erasing_all.js.map +1 -0
  69. package/out/concert/partial/actions/strength_effect_migration_before_active_skill.d.ts +2 -0
  70. package/out/concert/partial/actions/strength_effect_migration_before_active_skill.js +47 -0
  71. package/out/concert/partial/actions/strength_effect_migration_before_active_skill.js.map +1 -0
  72. package/out/concert/partial/actions/strength_effect_migration_before_special_skill.d.ts +2 -0
  73. package/out/concert/partial/actions/strength_effect_migration_before_special_skill.js +47 -0
  74. package/out/concert/partial/actions/strength_effect_migration_before_special_skill.js.map +1 -0
  75. package/out/concert/partial/actions/strength_effect_value_increase.d.ts +2 -0
  76. package/out/concert/partial/actions/strength_effect_value_increase.js +55 -0
  77. package/out/concert/partial/actions/strength_effect_value_increase.js.map +1 -0
  78. package/out/concert/partial/actions/target_stamina_recovery.d.ts +2 -0
  79. package/out/concert/partial/actions/target_stamina_recovery.js +36 -0
  80. package/out/concert/partial/actions/target_stamina_recovery.js.map +1 -0
  81. package/out/concert/partial/actions/visual_boost.d.ts +2 -0
  82. package/out/concert/partial/actions/visual_boost.js +35 -0
  83. package/out/concert/partial/actions/visual_boost.js.map +1 -0
  84. package/out/concert/partial/actions/visual_down.d.ts +2 -0
  85. package/out/concert/partial/actions/visual_down.js +35 -0
  86. package/out/concert/partial/actions/visual_down.js.map +1 -0
  87. package/out/concert/partial/actions/visual_up.d.ts +2 -0
  88. package/out/concert/partial/actions/visual_up.js +35 -0
  89. package/out/concert/partial/actions/visual_up.js.map +1 -0
  90. package/out/concert/partial/actions/vocal_boost.d.ts +2 -0
  91. package/out/concert/partial/actions/vocal_boost.js +35 -0
  92. package/out/concert/partial/actions/vocal_boost.js.map +1 -0
  93. package/out/concert/partial/actions/vocal_down.d.ts +2 -0
  94. package/out/concert/partial/actions/vocal_down.js +35 -0
  95. package/out/concert/partial/actions/vocal_down.js.map +1 -0
  96. package/out/concert/partial/actions/vocal_up.d.ts +2 -0
  97. package/out/concert/partial/actions/vocal_up.js +35 -0
  98. package/out/concert/partial/actions/vocal_up.js.map +1 -0
  99. package/out/concert/partial/actions/weakness_effect_inversion.d.ts +2 -0
  100. package/out/concert/partial/actions/weakness_effect_inversion.js +60 -0
  101. package/out/concert/partial/actions/weakness_effect_inversion.js.map +1 -0
  102. package/out/concert/partial/actions/weakness_effect_recovery.d.ts +2 -0
  103. package/out/concert/partial/actions/weakness_effect_recovery.js +34 -0
  104. package/out/concert/partial/actions/weakness_effect_recovery.js.map +1 -0
  105. package/out/concert/partial/apply_continuous_effects.d.ts +2 -0
  106. package/out/concert/partial/apply_continuous_effects.js +22 -0
  107. package/out/concert/partial/apply_continuous_effects.js.map +1 -0
  108. package/out/concert/partial/b_check_existence.d.ts +2 -0
  109. package/out/concert/partial/b_check_existence.js +37 -0
  110. package/out/concert/partial/b_check_existence.js.map +1 -0
  111. package/out/concert/partial/c_check_act_skill_stamina.d.ts +2 -0
  112. package/out/concert/partial/c_check_act_skill_stamina.js +28 -0
  113. package/out/concert/partial/c_check_act_skill_stamina.js.map +1 -0
  114. package/out/concert/partial/d_check_act_skill_cool_time.d.ts +2 -0
  115. package/out/concert/partial/d_check_act_skill_cool_time.js +24 -0
  116. package/out/concert/partial/d_check_act_skill_cool_time.js.map +1 -0
  117. package/out/concert/partial/e_check_act_skill_possibility.d.ts +2 -0
  118. package/out/concert/partial/e_check_act_skill_possibility.js +21 -0
  119. package/out/concert/partial/e_check_act_skill_possibility.js.map +1 -0
  120. package/out/concert/partial/f_determine_act_skill_privilege.d.ts +2 -0
  121. package/out/concert/partial/f_determine_act_skill_privilege.js +28 -0
  122. package/out/concert/partial/f_determine_act_skill_privilege.js.map +1 -0
  123. package/out/concert/partial/handle_combo.d.ts +16 -0
  124. package/out/concert/partial/handle_combo.js +44 -0
  125. package/out/concert/partial/handle_combo.js.map +1 -0
  126. package/out/concert/partial/impl_efficacy.d.ts +7 -0
  127. package/out/concert/partial/impl_efficacy.js +19 -0
  128. package/out/concert/partial/impl_efficacy.js.map +1 -0
  129. package/out/concert/partial/init_concert.d.ts +7 -0
  130. package/out/concert/partial/init_concert.js +114 -0
  131. package/out/concert/partial/init_concert.js.map +1 -0
  132. package/out/concert/partial/perform_beat.d.ts +2 -0
  133. package/out/concert/partial/perform_beat.js +19 -0
  134. package/out/concert/partial/perform_beat.js.map +1 -0
  135. package/out/concert/partial/perform_skill.d.ts +15 -0
  136. package/out/concert/partial/perform_skill.js +166 -0
  137. package/out/concert/partial/perform_skill.js.map +1 -0
  138. package/out/concert/partial/prepare_p_skill.d.ts +5 -0
  139. package/out/concert/partial/prepare_p_skill.js +68 -0
  140. package/out/concert/partial/prepare_p_skill.js.map +1 -0
  141. package/out/concert/partial/rotate_ct.d.ts +2 -0
  142. package/out/concert/partial/rotate_ct.js +24 -0
  143. package/out/concert/partial/rotate_ct.js.map +1 -0
  144. package/out/concert/partial/rotate_remains.d.ts +2 -0
  145. package/out/concert/partial/rotate_remains.js +14 -0
  146. package/out/concert/partial/rotate_remains.js.map +1 -0
  147. package/out/concert/target_analyze.d.ts +4 -0
  148. package/out/concert/target_analyze.js +32 -0
  149. package/out/concert/target_analyze.js.map +1 -0
  150. package/out/concert/target_proc.d.ts +3 -0
  151. package/out/concert/target_proc.js +200 -0
  152. package/out/concert/target_proc.js.map +1 -0
  153. package/out/concert/trigger_analyze.d.ts +4 -0
  154. package/out/concert/trigger_analyze.js +38 -0
  155. package/out/concert/trigger_analyze.js.map +1 -0
  156. package/out/concert/trigger_proc.d.ts +5 -0
  157. package/out/concert/trigger_proc.js +334 -0
  158. package/out/concert/trigger_proc.js.map +1 -0
  159. package/out/database/Card.json +7641 -0
  160. package/out/database/CardParameter.json +4682 -0
  161. package/out/database/CardRarity.json +62 -0
  162. package/out/database/LiveAbility.json +26906 -0
  163. package/out/database/LiveBonus.json +464 -0
  164. package/out/database/LiveBonusGroup.json +466 -0
  165. package/out/database/Music.json +20282 -0
  166. package/out/database/MusicChartPattern.json +99842 -0
  167. package/out/database/Quest.json +95671 -0
  168. package/out/database/Setting.json +280 -0
  169. package/out/database/Skill.json +94030 -0
  170. package/out/database/SkillEfficacy.json +37042 -0
  171. package/out/database/SkillTarget.json +212 -0
  172. package/out/database/SkillTrigger.json +511 -0
  173. package/out/db/dao/card_dao.d.ts +5 -0
  174. package/out/db/dao/card_dao.js +27 -0
  175. package/out/db/dao/card_dao.js.map +1 -0
  176. package/out/db/dao/quest_dao.d.ts +8 -0
  177. package/out/db/dao/quest_dao.js +49 -0
  178. package/out/db/dao/quest_dao.js.map +1 -0
  179. package/out/db/dao/setting_dao.d.ts +3 -0
  180. package/out/db/dao/setting_dao.js +13 -0
  181. package/out/db/dao/setting_dao.js.map +1 -0
  182. package/out/db/dao/skill_dao.d.ts +6 -0
  183. package/out/db/dao/skill_dao.js +42 -0
  184. package/out/db/dao/skill_dao.js.map +1 -0
  185. package/out/db/repository/card_repository.d.ts +6 -0
  186. package/out/db/repository/card_repository.js +39 -0
  187. package/out/db/repository/card_repository.js.map +1 -0
  188. package/out/db/repository/quest_repository.d.ts +2 -0
  189. package/out/db/repository/quest_repository.js +17 -0
  190. package/out/db/repository/quest_repository.js.map +1 -0
  191. package/out/db/repository/setting_repository.d.ts +2 -0
  192. package/out/db/repository/setting_repository.js +9 -0
  193. package/out/db/repository/setting_repository.js.map +1 -0
  194. package/out/db/repository/skill_repository.d.ts +2 -0
  195. package/out/db/repository/skill_repository.js +31 -0
  196. package/out/db/repository/skill_repository.js.map +1 -0
  197. package/out/db/wrapper/card_wrapper.d.ts +2 -0
  198. package/out/db/wrapper/card_wrapper.js +30 -0
  199. package/out/db/wrapper/card_wrapper.js.map +1 -0
  200. package/out/db/wrapper/quest_wrapper.d.ts +2 -0
  201. package/out/db/wrapper/quest_wrapper.js +47 -0
  202. package/out/db/wrapper/quest_wrapper.js.map +1 -0
  203. package/out/db/wrapper/skill_wrapper.d.ts +5 -0
  204. package/out/db/wrapper/skill_wrapper.js +34 -0
  205. package/out/db/wrapper/skill_wrapper.js.map +1 -0
  206. package/out/index.d.ts +3 -0
  207. package/out/index.js +18 -0
  208. package/out/index.js.map +1 -0
  209. package/out/main.d.ts +1 -0
  210. package/out/main.js +67 -0
  211. package/out/main.js.map +1 -0
  212. package/out/satomi/card.d.ts +4 -0
  213. package/out/satomi/card.js +36 -0
  214. package/out/satomi/card.js.map +1 -0
  215. package/out/satomi/deck.d.ts +3 -0
  216. package/out/satomi/deck.js +28 -0
  217. package/out/satomi/deck.js.map +1 -0
  218. package/out/satomi/live.d.ts +4 -0
  219. package/out/satomi/live.js +14 -0
  220. package/out/satomi/live.js.map +1 -0
  221. package/out/types/card_types.d.ts +40 -0
  222. package/out/types/card_types.js +3 -0
  223. package/out/types/card_types.js.map +1 -0
  224. package/out/types/concert_types.d.ts +134 -0
  225. package/out/types/concert_types.js +3 -0
  226. package/out/types/concert_types.js.map +1 -0
  227. package/out/types/misc_types.d.ts +15 -0
  228. package/out/types/misc_types.js +3 -0
  229. package/out/types/misc_types.js.map +1 -0
  230. package/out/types/proto/proto_api.d.ts +4353 -0
  231. package/out/types/proto/proto_api.js +4 -0
  232. package/out/types/proto/proto_api.js.map +1 -0
  233. package/out/types/proto/proto_enum.d.ts +1607 -0
  234. package/out/types/proto/proto_enum.js +1744 -0
  235. package/out/types/proto/proto_enum.js.map +1 -0
  236. package/out/types/proto/proto_master.d.ts +1963 -0
  237. package/out/types/proto/proto_master.js +4 -0
  238. package/out/types/proto/proto_master.js.map +1 -0
  239. package/out/types/proto/proto_transaction.d.ts +395 -0
  240. package/out/types/proto/proto_transaction.js +4 -0
  241. package/out/types/proto/proto_transaction.js.map +1 -0
  242. package/out/types/trans_types.d.ts +23 -0
  243. package/out/types/trans_types.js +3 -0
  244. package/out/types/trans_types.js.map +1 -0
  245. package/out/types/wap/card_waps.d.ts +9 -0
  246. package/out/types/wap/card_waps.js +3 -0
  247. package/out/types/wap/card_waps.js.map +1 -0
  248. package/out/types/wap/misc_waps.d.ts +11 -0
  249. package/out/types/wap/misc_waps.js +3 -0
  250. package/out/types/wap/misc_waps.js.map +1 -0
  251. package/out/types/wap/quest_waps.d.ts +12 -0
  252. package/out/types/wap/quest_waps.js +3 -0
  253. package/out/types/wap/quest_waps.js.map +1 -0
  254. package/out/types/wap/skill_waps.d.ts +24 -0
  255. package/out/types/wap/skill_waps.js +3 -0
  256. package/out/types/wap/skill_waps.js.map +1 -0
  257. package/out/utils/calc_utils.d.ts +20 -0
  258. package/out/utils/calc_utils.js +137 -0
  259. package/out/utils/calc_utils.js.map +1 -0
  260. package/out/utils/chart_utils.d.ts +49 -0
  261. package/out/utils/chart_utils.js +218 -0
  262. package/out/utils/chart_utils.js.map +1 -0
  263. package/out/utils/console_utils.d.ts +1 -0
  264. package/out/utils/console_utils.js +9 -0
  265. package/out/utils/console_utils.js.map +1 -0
  266. package/out/utils/skill_utils.d.ts +9 -0
  267. package/out/utils/skill_utils.js +86 -0
  268. package/out/utils/skill_utils.js.map +1 -0
  269. package/package.json +32 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calcCriticalRate = exports.roll = exports.calcActSkillPrivilege = exports.calcSkillStaminaConsumption = exports.calcStaminaRecovery = exports.calcStaminaConsumption = exports.calcBuffedParam = exports.calcParam = void 0;
4
+ const efficacy_list_1 = require("../concert/consts/efficacy_list");
5
+ const eff_grades_1 = require("../concert/consts/eff_grades");
6
+ const proto_enum_1 = require("../types/proto/proto_enum");
7
+ const skill_utils_1 = require("./skill_utils");
8
+ function calcParam(paramValue, permil, rarityBonusPermil) {
9
+ return Math.floor(Math.floor(paramValue * permil / 1000)
10
+ * rarityBonusPermil / 1000);
11
+ }
12
+ exports.calcParam = calcParam;
13
+ function calcBuffedParam(base, mul = 0, add = 0, isPermil = true) {
14
+ let divisor = 1;
15
+ if (isPermil) {
16
+ divisor = 1000;
17
+ }
18
+ return Math.floor(base * mul / divisor) + add;
19
+ }
20
+ exports.calcBuffedParam = calcBuffedParam;
21
+ function calcStaminaConsumption(expectedSt, cardStat, questWeightPermil) {
22
+ let permil = 1000;
23
+ if (cardStat.effects) {
24
+ cardStat.effects.forEach(eff => {
25
+ if ((0, skill_utils_1.isEffects)(eff, efficacy_list_1.StaminaConsumptionAdjustment)) {
26
+ permil += eff_grades_1.EfficacyValue[eff.efficacyType][eff.grade];
27
+ }
28
+ if ((0, skill_utils_1.isEffects)(eff, efficacy_list_1.ParamBoost)) {
29
+ permil += eff.grade * 10;
30
+ }
31
+ });
32
+ }
33
+ return Math.floor(expectedSt * permil / 1000 * questWeightPermil / 1000);
34
+ }
35
+ exports.calcStaminaConsumption = calcStaminaConsumption;
36
+ function calcStaminaRecovery(expectedSt, cardStat, questWeightPermil) {
37
+ let permil = 1000;
38
+ if (questWeightPermil === 0) {
39
+ questWeightPermil = 1000;
40
+ }
41
+ return Math.floor(expectedSt * permil / 1000 * questWeightPermil / 1000);
42
+ }
43
+ exports.calcStaminaRecovery = calcStaminaRecovery;
44
+ /**
45
+ * Calculate stamina consumption.
46
+ * @param skillLevel A `WapSkillLevel` to be performed.
47
+ * @param card A `LiveCard` which performs this skill.
48
+ * @param cardStatus A `CardStatus` belongs to which performs this skill.
49
+ * @param staminaWeightPermil Stamina consumption rate of this stage.
50
+ * @returns Calculated stamina amount to be consumed.
51
+ */
52
+ function calcSkillStaminaConsumption(skillLevel, card, cardStatus, staminaWeightPermil) {
53
+ const expectedSt = skillLevel.staminaPermil
54
+ ? Math.floor(card.deckStamina * skillLevel.staminaPermil / 1000)
55
+ : skillLevel.stamina;
56
+ return calcStaminaConsumption(expectedSt, cardStatus, staminaWeightPermil);
57
+ }
58
+ exports.calcSkillStaminaConsumption = calcSkillStaminaConsumption;
59
+ function calcActSkillPrivilege(laneType, card, cardStatus) {
60
+ var _a, _b;
61
+ let param = (0, skill_utils_1.getRealtimeParamByChartType)(laneType, cardStatus);
62
+ let staminaPct = cardStatus.stamina / card.deckStamina;
63
+ var powerRate = 1.000;
64
+ if (0.90 < staminaPct && staminaPct <= 0.95)
65
+ powerRate = 0.975;
66
+ else if (0.85 < staminaPct && staminaPct <= 0.90)
67
+ powerRate = 0.950;
68
+ else if (0.80 < staminaPct && staminaPct <= 0.85)
69
+ powerRate = 0.925;
70
+ else if (0.75 < staminaPct && staminaPct <= 0.80)
71
+ powerRate = 0.900;
72
+ else if (0.70 < staminaPct && staminaPct <= 0.75)
73
+ powerRate = 0.875;
74
+ else if (0.65 < staminaPct && staminaPct <= 0.70)
75
+ powerRate = 0.850;
76
+ else if (0.60 < staminaPct && staminaPct <= 0.65)
77
+ powerRate = 0.825;
78
+ else if (0.55 < staminaPct && staminaPct <= 0.60)
79
+ powerRate = 0.800;
80
+ else if (0.50 < staminaPct && staminaPct <= 0.55)
81
+ powerRate = 0.775;
82
+ else if (0.45 < staminaPct && staminaPct <= 0.50)
83
+ powerRate = 0.750;
84
+ else if (0.40 < staminaPct && staminaPct <= 0.45)
85
+ powerRate = 0.700;
86
+ else if (0.35 < staminaPct && staminaPct <= 0.40)
87
+ powerRate = 0.650;
88
+ else if (0.30 < staminaPct && staminaPct <= 0.35)
89
+ powerRate = 0.600;
90
+ else if (0.25 < staminaPct && staminaPct <= 0.30)
91
+ powerRate = 0.550;
92
+ else if (0.20 < staminaPct && staminaPct <= 0.25)
93
+ powerRate = 0.500;
94
+ else if (0.15 < staminaPct && staminaPct <= 0.20)
95
+ powerRate = 0.450;
96
+ else if (0.10 < staminaPct && staminaPct <= 0.15)
97
+ powerRate = 0.400;
98
+ else if (0.05 < staminaPct && staminaPct <= 0.10)
99
+ powerRate = 0.350;
100
+ else if (0.00 < staminaPct && staminaPct <= 0.05)
101
+ powerRate = 0.300;
102
+ else if (staminaPct <= 0)
103
+ powerRate = 0.250;
104
+ else
105
+ powerRate = 1.000;
106
+ powerRate += ((_b = (_a = (0, skill_utils_1.getMergedEffectByType)(proto_enum_1.SkillEfficacyType.SkillSuccessRateUp, cardStatus)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0) / 1000;
107
+ return param * powerRate;
108
+ }
109
+ exports.calcActSkillPrivilege = calcActSkillPrivilege;
110
+ function roll(probabilityPermil) {
111
+ if (probabilityPermil >= 1000) {
112
+ return true;
113
+ }
114
+ if (probabilityPermil / 1000 > Math.random()) {
115
+ return true;
116
+ }
117
+ return false;
118
+ }
119
+ exports.roll = roll;
120
+ function calcCriticalRate(technique, difficulty) {
121
+ if (technique === 0) {
122
+ return 0;
123
+ }
124
+ // TODO: implement critical rate calculation
125
+ return 0.5;
126
+ }
127
+ exports.calcCriticalRate = calcCriticalRate;
128
+ // export function calcStaminaRecovery(
129
+ // base: number,
130
+ // permil: number
131
+ // ): number {
132
+ // if (permil === 0) {
133
+ // return base
134
+ // }
135
+ // return Math.floor(base * permil / 1000)
136
+ // }
137
+ //# sourceMappingURL=calc_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calc_utils.js","sourceRoot":"","sources":["../../utils/calc_utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { LiveCard, LiveDeck, UserCard } from "../types/card_types";
2
+ import { CardStatus, Chart, Effect, SkillStatus, StageSkillStatus, UserStatus } from "../types/concert_types";
3
+ import { AttributeType, SkillEfficacyType } from "../types/proto/proto_enum";
4
+ import { WapQuest } from "../types/wap/quest_waps";
5
+ import { WapSkillLevel } from "../types/wap/skill_waps";
6
+ export declare function getCardStatusByIndex(this: Chart, index: number): CardStatus;
7
+ export declare function getUserStatusByIndex(this: Chart, index: number): UserStatus;
8
+ export declare function getStageStatusByIndexes(this: Chart, cardIndex: number, skillIndex: number): StageSkillStatus | undefined;
9
+ export declare function getCardByIndex(this: LiveDeck, index: number): LiveCard;
10
+ export declare function getUserCardSkillByIndex(this: UserCard, index: number): WapSkillLevel;
11
+ export declare function getCardSkillStatus(this: CardStatus, index: number): SkillStatus;
12
+ /**
13
+ * Get all specified type `Effect`s in this CardStatus.
14
+ * By default zero-remaining effects will be ignored.
15
+ */
16
+ export declare function getEffectsByType(this: CardStatus, _type: SkillEfficacyType, needZeroRemain?: boolean): Effect[];
17
+ /**
18
+ * Get sum of specified type effect grades.
19
+ * If this CardStatus doesn't possess the effect, 0 will be returned.
20
+ */
21
+ export declare function getEffectSumGradeByType(this: CardStatus, _type: SkillEfficacyType): number;
22
+ /**
23
+ * Get sum of specified type effect grade.
24
+ * Exceeding grades will be excluded.
25
+ * 🚨CAUTION: If given `type` is not belong to `StrengthList` or other 2 weakness type,
26
+ * maxGrade exceeding check will not be performed and sumGrade
27
+ * will be returned instead.
28
+ */
29
+ export declare function getEffectSumGradeOrMaxGradeByType(this: CardStatus, _type: SkillEfficacyType): number;
30
+ /**
31
+ * Get and calculate effect value of specified type.
32
+ * Exceeding grades will be excluded.
33
+ * If the type is not belong to `StrengthList` or other 2 weakness type, always returns 0.
34
+ */
35
+ export declare function getEffectValue(this: CardStatus, _type: SkillEfficacyType): number;
36
+ /**
37
+ * Apply all attribute-related effects, calculate sum of their permils, then return that sum.
38
+ * Note exceeding grades will be excluded.
39
+ */
40
+ export declare function getBuffedPermil(this: CardStatus, _type: "dance" | "vocal" | "visual"): number;
41
+ /**
42
+ * Refreshes property of given attribute in this `CardStatus`.
43
+ * If efficacy's grade reaches its maxGrade, exceeding grades will be ignored.
44
+ */
45
+ export declare function refreshParam(this: CardStatus, card: LiveCard, type: "dance" | "vocal" | "visual"): void;
46
+ export declare function refreshAllParam(this: CardStatus, card: LiveCard): void;
47
+ export declare function getLaneTypeByIndex(this: WapQuest, index: number): AttributeType;
48
+ export declare function skillHasTimes(this: SkillStatus): boolean;
49
+ export declare function getCritical(technique: number, difficulty: number): boolean;
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCritical = exports.skillHasTimes = exports.getLaneTypeByIndex = exports.refreshAllParam = exports.refreshParam = exports.getBuffedPermil = exports.getEffectValue = exports.getEffectSumGradeOrMaxGradeByType = exports.getEffectSumGradeByType = exports.getEffectsByType = exports.getCardSkillStatus = exports.getUserCardSkillByIndex = exports.getCardByIndex = exports.getStageStatusByIndexes = exports.getUserStatusByIndex = exports.getCardStatusByIndex = void 0;
4
+ const efficacy_list_1 = require("../concert/consts/efficacy_list");
5
+ const eff_grades_1 = require("../concert/consts/eff_grades");
6
+ const proto_enum_1 = require("../types/proto/proto_enum");
7
+ const calc_utils_1 = require("./calc_utils");
8
+ // Chart
9
+ function getCardStatusByIndex(index) {
10
+ return this.cardStatuses.find(x => x.cardIndex === index); // FIXME: potential exception
11
+ }
12
+ exports.getCardStatusByIndex = getCardStatusByIndex;
13
+ function getUserStatusByIndex(index) {
14
+ return this.userStatuses.find(x => x.userIndex === index); // FIXME: potential exception
15
+ }
16
+ exports.getUserStatusByIndex = getUserStatusByIndex;
17
+ function getStageStatusByIndexes(cardIndex, skillIndex) {
18
+ var _a;
19
+ return (_a = this.stageSkillStatuses) === null || _a === void 0 ? void 0 : _a.find(x => x.cardIndex === cardIndex && x.skillIndex === skillIndex);
20
+ }
21
+ exports.getStageStatusByIndexes = getStageStatusByIndexes;
22
+ // LiveDeck
23
+ function getCardByIndex(index) {
24
+ return this.liveCards.find(x => x.index === index).liveCard; // FIXME: potential exception
25
+ }
26
+ exports.getCardByIndex = getCardByIndex;
27
+ // UserCard
28
+ function getUserCardSkillByIndex(index) {
29
+ return this.skills.find(x => x.index === index).skill; // FIXME: potential exception
30
+ }
31
+ exports.getUserCardSkillByIndex = getUserCardSkillByIndex;
32
+ // CardStatus
33
+ function getCardSkillStatus(index) {
34
+ return this.skillStatuses.find(x => x.skillIndex === index); // FIXME: potential exception
35
+ }
36
+ exports.getCardSkillStatus = getCardSkillStatus;
37
+ /**
38
+ * Get all specified type `Effect`s in this CardStatus.
39
+ * By default zero-remaining effects will be ignored.
40
+ */
41
+ function getEffectsByType(_type, needZeroRemain = false) {
42
+ return this.effects.filter(x => x.efficacyType === _type && (needZeroRemain || x.remain));
43
+ }
44
+ exports.getEffectsByType = getEffectsByType;
45
+ /**
46
+ * Get sum of specified type effect grades.
47
+ * If this CardStatus doesn't possess the effect, 0 will be returned.
48
+ */
49
+ function getEffectSumGradeByType(_type) {
50
+ const effs = this.getEffects(_type);
51
+ if (!effs.length) {
52
+ return 0;
53
+ }
54
+ return effs.map(x => x.grade).reduce((c, p) => c + p);
55
+ }
56
+ exports.getEffectSumGradeByType = getEffectSumGradeByType;
57
+ /**
58
+ * Get sum of specified type effect grade.
59
+ * Exceeding grades will be excluded.
60
+ * 🚨CAUTION: If given `type` is not belong to `StrengthList` or other 2 weakness type,
61
+ * maxGrade exceeding check will not be performed and sumGrade
62
+ * will be returned instead.
63
+ */
64
+ function getEffectSumGradeOrMaxGradeByType(_type) {
65
+ var _a;
66
+ const sumGrade = this.getEffectSumGrade(_type);
67
+ if (!efficacy_list_1.StackableSkillEfficacyList.includes(_type)) {
68
+ return sumGrade;
69
+ }
70
+ const maxGrade = (_a = eff_grades_1.EfficacyMaxGrade[_type]) !== null && _a !== void 0 ? _a : 0;
71
+ return sumGrade > maxGrade ? maxGrade : sumGrade;
72
+ }
73
+ exports.getEffectSumGradeOrMaxGradeByType = getEffectSumGradeOrMaxGradeByType;
74
+ /**
75
+ * Get and calculate effect value of specified type.
76
+ * Exceeding grades will be excluded.
77
+ * If the type is not belong to `StrengthList` or other 2 weakness type, always returns 0.
78
+ */
79
+ function getEffectValue(_type) {
80
+ var _a;
81
+ if (!efficacy_list_1.StackableSkillEfficacyList.includes(_type)) {
82
+ return 0;
83
+ }
84
+ const grade = this.getEffectSumOrMaxGrade(_type);
85
+ const value = (_a = eff_grades_1.EfficacyValue[_type][grade]) !== null && _a !== void 0 ? _a : 0; // FIXME: protential error
86
+ return value;
87
+ }
88
+ exports.getEffectValue = getEffectValue;
89
+ /**
90
+ * Apply all attribute-related effects, calculate sum of their permils, then return that sum.
91
+ * Note exceeding grades will be excluded.
92
+ */
93
+ function getBuffedPermil(_type) {
94
+ const { upType, boostType, downType, upDict, boostDict, downDict } = (() => {
95
+ if (_type === "dance") {
96
+ return {
97
+ upType: proto_enum_1.SkillEfficacyType.DanceUp,
98
+ boostType: proto_enum_1.SkillEfficacyType.DanceBoost,
99
+ downType: proto_enum_1.SkillEfficacyType.DanceDown,
100
+ upDict: eff_grades_1.DanceUpGrade,
101
+ boostDict: eff_grades_1.DanceBoostGrade,
102
+ downDict: eff_grades_1.DanceDownGrade,
103
+ };
104
+ }
105
+ else if (_type === "vocal") {
106
+ return {
107
+ upType: proto_enum_1.SkillEfficacyType.VocalUp,
108
+ boostType: proto_enum_1.SkillEfficacyType.VocalBoost,
109
+ downType: proto_enum_1.SkillEfficacyType.VocalDown,
110
+ upDict: eff_grades_1.VocalUpGrade,
111
+ boostDict: eff_grades_1.VocalBoostGrade,
112
+ downDict: eff_grades_1.VocalDownGrade,
113
+ };
114
+ }
115
+ else {
116
+ return {
117
+ upType: proto_enum_1.SkillEfficacyType.VisualUp,
118
+ boostType: proto_enum_1.SkillEfficacyType.VisualBoost,
119
+ downType: proto_enum_1.SkillEfficacyType.VisualDown,
120
+ upDict: eff_grades_1.VisualUpGrade,
121
+ boostDict: eff_grades_1.VisualBoostGrade,
122
+ downDict: eff_grades_1.VisualDownGrade,
123
+ };
124
+ }
125
+ })();
126
+ let upGrade = this.getEffectSumGrade(upType);
127
+ const upMaxGrade = eff_grades_1.EfficacyMaxGrade[upType];
128
+ let boostGrade = this.getEffectSumGrade(boostType);
129
+ const boostMaxGrade = eff_grades_1.EfficacyMaxGrade[boostType];
130
+ let downGrade = this.getEffectSumGrade(downType);
131
+ const downMaxGrade = eff_grades_1.EfficacyMaxGrade[downType];
132
+ upGrade = upGrade > upMaxGrade ? upMaxGrade : upGrade;
133
+ boostGrade = boostGrade > boostMaxGrade ? boostMaxGrade : boostGrade;
134
+ downGrade = downGrade > downMaxGrade ? downMaxGrade : downGrade;
135
+ return upDict[upGrade]
136
+ + boostDict[boostGrade]
137
+ + downDict[downGrade];
138
+ }
139
+ exports.getBuffedPermil = getBuffedPermil;
140
+ /**
141
+ * Refreshes property of given attribute in this `CardStatus`.
142
+ * If efficacy's grade reaches its maxGrade, exceeding grades will be ignored.
143
+ */
144
+ function refreshParam(card, type) {
145
+ const permil = this.getBuffedPermil(type);
146
+ switch (type) {
147
+ case "dance":
148
+ this.dance = (0, calc_utils_1.calcBuffedParam)(card.deckDance, permil);
149
+ break;
150
+ case "vocal":
151
+ this.vocal = (0, calc_utils_1.calcBuffedParam)(card.deckVocal, permil);
152
+ break;
153
+ case "visual":
154
+ this.visual = (0, calc_utils_1.calcBuffedParam)(card.deckVisual, permil);
155
+ break;
156
+ }
157
+ }
158
+ exports.refreshParam = refreshParam;
159
+ function refreshAllParam(card) {
160
+ this.refreshParam(card, "dance");
161
+ this.refreshParam(card, "vocal");
162
+ this.refreshParam(card, "visual");
163
+ }
164
+ exports.refreshAllParam = refreshAllParam;
165
+ function getLaneTypeByIndex(index) {
166
+ switch (index) {
167
+ case 1:
168
+ case 6: return this.position1AttributeType;
169
+ case 2:
170
+ case 7: return this.position2AttributeType;
171
+ case 3:
172
+ case 8: return this.position3AttributeType;
173
+ case 4:
174
+ case 9: return this.position4AttributeType;
175
+ case 5:
176
+ case 10: return this.position5AttributeType;
177
+ default: throw TypeError(`Lane index '${index}' is invalid.`);
178
+ }
179
+ }
180
+ exports.getLaneTypeByIndex = getLaneTypeByIndex;
181
+ // export function getMergedStrengthEffectByType(
182
+ // this: CardStatus,
183
+ // efficacyType: SkillEfficacyType,
184
+ // ) {
185
+ // const effects = this.getEffects(efficacyType)
186
+ // if (!effects || effects.length === 0) {
187
+ // return undefined
188
+ // }
189
+ // if (!GameSetting.skillEfficacyTypeStrengthList.includes(efficacyType)) {
190
+ // return undefined
191
+ // }
192
+ // let grade = 0
193
+ // const maxGrade = EfficacyMaxGrade[efficacyType] ?? 0
194
+ // effects.forEach(it => grade += it.grade)
195
+ // return {
196
+ // efficacyType: efficacyType,
197
+ // grade: grade,
198
+ // maxGrade: maxGrade,
199
+ // overwhelm: grade > maxGrade,
200
+ // value: EfficacyValue[efficacyType][grade > maxGrade ? maxGrade : grade],
201
+ // }
202
+ // }
203
+ function skillHasTimes() {
204
+ if (!this.initCount || this.remainCount) {
205
+ return true;
206
+ }
207
+ return false;
208
+ }
209
+ exports.skillHasTimes = skillHasTimes;
210
+ function getCritical(technique, difficulty) {
211
+ let rate = (0, calc_utils_1.calcCriticalRate)(technique, difficulty);
212
+ if (Math.random() <= rate) {
213
+ return true;
214
+ }
215
+ return false;
216
+ }
217
+ exports.getCritical = getCritical;
218
+ //# sourceMappingURL=chart_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart_utils.js","sourceRoot":"","sources":["../../utils/chart_utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function logIdNotFound(_type: string, id: string): undefined;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logIdNotFound = void 0;
4
+ function logIdNotFound(_type, id) {
5
+ console.error(`[ID Cannot Be Found] Type '${_type}', ID '${id}' not found.`);
6
+ return undefined;
7
+ }
8
+ exports.logIdNotFound = logIdNotFound;
9
+ //# sourceMappingURL=console_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console_utils.js","sourceRoot":"","sources":["../../utils/console_utils.ts"],"names":[],"mappings":";;;AACA,SAAgB,aAAa,CAAC,KAAa,EAAE,EAAU;IACrD,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,UAAU,EAAE,cAAc,CAAC,CAAA;IAC5E,OAAO,SAAS,CAAA;AAClB,CAAC;AAHD,sCAGC"}
@@ -0,0 +1,9 @@
1
+ import { LiveCard } from "../types/card_types";
2
+ import { CardStatus, DetEffect, Effect } from "../types/concert_types";
3
+ import { AttributeType, SkillEfficacyType } from "../types/proto/proto_enum";
4
+ export declare function getDeckParamByChartType(type: AttributeType, card: LiveCard): number;
5
+ export declare function getRealtimeParamByChartType(type: AttributeType, cardStatus: CardStatus): number;
6
+ export declare function getValidGrade(efficacyType: SkillEfficacyType, grade: number): number;
7
+ export declare function isEffect(eff: Effect, efficacyType: SkillEfficacyType): boolean;
8
+ export declare function isEffects(eff: Effect, efficacyTypes: SkillEfficacyType[]): boolean;
9
+ export declare function getMergedEffectByType(efficacyType: SkillEfficacyType, cardStatus: CardStatus): DetEffect | undefined;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getMergedEffectByType = exports.isEffects = exports.isEffect = exports.getValidGrade = exports.getRealtimeParamByChartType = exports.getDeckParamByChartType = void 0;
27
+ const efg = __importStar(require("../concert/consts/eff_grades"));
28
+ const proto_enum_1 = require("../types/proto/proto_enum");
29
+ function getDeckParamByChartType(type, card) {
30
+ switch (type) {
31
+ case proto_enum_1.AttributeType.Dance: return card.deckDance;
32
+ case proto_enum_1.AttributeType.Vocal: return card.deckVocal;
33
+ case proto_enum_1.AttributeType.Visual: return card.deckVisual;
34
+ default:
35
+ throw new TypeError(`Attirbute '${type}' can never be appeared.`);
36
+ }
37
+ }
38
+ exports.getDeckParamByChartType = getDeckParamByChartType;
39
+ function getRealtimeParamByChartType(type, cardStatus) {
40
+ switch (type) {
41
+ case proto_enum_1.AttributeType.Dance: return cardStatus.dance;
42
+ case proto_enum_1.AttributeType.Vocal: return cardStatus.vocal;
43
+ case proto_enum_1.AttributeType.Visual: return cardStatus.visual;
44
+ default:
45
+ throw new TypeError(`Attirbute '${type}' can never be appeared.`);
46
+ }
47
+ }
48
+ exports.getRealtimeParamByChartType = getRealtimeParamByChartType;
49
+ function getValidGrade(efficacyType, grade) {
50
+ const maxGrade = efg.EfficacyMaxGrade[efficacyType];
51
+ if (!maxGrade) {
52
+ return 0;
53
+ }
54
+ return grade > maxGrade ? maxGrade : grade;
55
+ }
56
+ exports.getValidGrade = getValidGrade;
57
+ function isEffect(eff, efficacyType) {
58
+ if (eff.efficacyType === efficacyType && eff.remain > 0) {
59
+ return true;
60
+ }
61
+ return false;
62
+ }
63
+ exports.isEffect = isEffect;
64
+ function isEffects(eff, efficacyTypes) {
65
+ return efficacyTypes.some(effType => {
66
+ isEffect(eff, effType);
67
+ });
68
+ }
69
+ exports.isEffects = isEffects;
70
+ function getMergedEffectByType(efficacyType, cardStatus) {
71
+ let effects = cardStatus.getEffects(efficacyType);
72
+ if (!effects || effects.length === 0) {
73
+ return undefined;
74
+ }
75
+ let grade = 0;
76
+ effects.forEach(it => grade += it.grade);
77
+ grade = getValidGrade(efficacyType, grade);
78
+ return {
79
+ efficacyType: efficacyType,
80
+ grade: grade,
81
+ value: efg.EfficacyValue[efficacyType][grade],
82
+ isInstant: false,
83
+ };
84
+ }
85
+ exports.getMergedEffectByType = getMergedEffectByType;
86
+ //# sourceMappingURL=skill_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill_utils.js","sourceRoot":"","sources":["../../utils/skill_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAoD;AAGpD,0DAA6E;AAE7E,SAAgB,uBAAuB,CACrC,IAAmB,EACnB,IAAc;IAEd,QAAQ,IAAI,EAAE;QACZ,KAAK,0BAAa,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAA;QAC/C,KAAK,0BAAa,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAA;QAC/C,KAAK,0BAAa,CAAC,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAA;QACjD;YACE,MAAM,IAAI,SAAS,CAAC,cAAc,IAAI,0BAA0B,CAAC,CAAA;KACpE;AACH,CAAC;AAXD,0DAWC;AAED,SAAgB,2BAA2B,CACzC,IAAmB,EACnB,UAAsB;IAEtB,QAAQ,IAAI,EAAE;QACZ,KAAK,0BAAa,CAAC,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAA;QACjD,KAAK,0BAAa,CAAC,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAA;QACjD,KAAK,0BAAa,CAAC,MAAM,CAAC,CAAC,OAAO,UAAU,CAAC,MAAM,CAAA;QACnD;YACE,MAAM,IAAI,SAAS,CAAC,cAAc,IAAI,0BAA0B,CAAC,CAAA;KACpE;AACH,CAAC;AAXD,kEAWC;AAED,SAAgB,aAAa,CAC3B,YAA+B,EAC/B,KAAa;IAEb,MAAM,QAAQ,GAAW,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC3D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,CAAC,CAAA;KACT;IACD,OAAO,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAA;AAC5C,CAAC;AATD,sCASC;AAED,SAAgB,QAAQ,CACtB,GAAW,EACX,YAA+B;IAE/B,IAAI,GAAG,CAAC,YAAY,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;QACvD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AARD,4BAQC;AAED,SAAgB,SAAS,CACvB,GAAW,EACX,aAAkC;IAElC,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC;AAPD,8BAOC;AAED,SAAgB,qBAAqB,CACnC,YAA+B,EAC/B,UAAsB;IAEtB,IAAI,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;IACxC,KAAK,GAAG,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IAC1C,OAAO;QACL,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QAC7C,SAAS,EAAE,KAAK;KACjB,CAAA;AACH,CAAC;AAjBD,sDAiBC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "hoshimi-venus",
3
+ "version": "0.1.0",
4
+ "author": "vibbit (https://github.com/MalitsPlus)",
5
+ "description": "Venus System Library (tentative)",
6
+ "keywords": [],
7
+ "license": "Apache-2.0",
8
+ "homepage": "https://github.com/MalitsPlus/VenusSysLib",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/MalitsPlus/VenusSysLib.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/MalitsPlus/VenusSysLib/issues"
15
+ },
16
+ "main": "./out/index.js",
17
+ "types": "./out/index.d.ts",
18
+ "files": [
19
+ "out"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "test": "echo \"Error: no test specified\" && exit 1"
24
+ },
25
+ "dependencies": {
26
+ "lodash": "^4.17.21",
27
+ "uuid": "^8.3.2"
28
+ },
29
+ "devDependencies": {
30
+ "@types/node": "^18.11.2"
31
+ }
32
+ }