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,334 @@
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.getTriggeredIndexes = void 0;
27
+ const proto_enum_1 = require("../types/proto/proto_enum");
28
+ const skill_utils_1 = require("../utils/skill_utils");
29
+ const efficacy_list_1 = require("./consts/efficacy_list");
30
+ const tra = __importStar(require("./trigger_analyze"));
31
+ // returns undefined if trigger logic hasn't been implemented
32
+ // returns empty array if has trigger but not triggered
33
+ // returns [0] if has no trigger
34
+ function getTriggeredIndexes(trigger, skillType, skillStatus, live, current, deckPosition, isOpponentSide, actable, cardStatus, deckCard) {
35
+ let result = _getTriggeredIndexes(trigger, skillType, skillStatus, live, current, deckPosition, isOpponentSide, actable, cardStatus, deckCard);
36
+ // clear indexes those are not belong to corresponding side
37
+ return isOpponentSide
38
+ ? result === null || result === void 0 ? void 0 : result.filter(it => it === 0 || (6 <= it && it <= 10))
39
+ : result === null || result === void 0 ? void 0 : result.filter(it => it === 0 || (1 <= it && it <= 5));
40
+ }
41
+ exports.getTriggeredIndexes = getTriggeredIndexes;
42
+ // ⚠️ be careful that returned list may contains opponent side indexes
43
+ function _getTriggeredIndexes(trigger, skillType, skillStatus, live, current, deckPosition, isOpponentSide, actable, cardStatus, deckCard) {
44
+ var _a, _b, _c, _d, _e, _f;
45
+ // if skill has trigger
46
+ if (trigger) {
47
+ // who triggered this
48
+ let triggeredList = [];
49
+ // check if trigger conditions are met according to skill's trigger type
50
+ switch (trigger.type) {
51
+ case proto_enum_1.SkillTriggerType.Beat: {
52
+ if (current.chartType === proto_enum_1.MusicChartType.Beat) {
53
+ triggeredList.push(deckPosition);
54
+ }
55
+ break;
56
+ }
57
+ case proto_enum_1.SkillTriggerType.LiveStart: {
58
+ if ([1, 2].includes(current.sequence)) {
59
+ triggeredList.push(deckPosition);
60
+ }
61
+ break;
62
+ }
63
+ case proto_enum_1.SkillTriggerType.Combo: {
64
+ let combo = tra.getTriggerLastNum(trigger.id);
65
+ let userStat = current.userStatuses[isOpponentSide ? 1 : 0];
66
+ if (combo && userStat.combo >= combo) {
67
+ triggeredList.push(deckPosition);
68
+ }
69
+ break;
70
+ }
71
+ case proto_enum_1.SkillTriggerType.MoreThanCharacterCount: {
72
+ console.error("'SkillTriggerType.MoreThanCharacterCount' hasn't been implemented.");
73
+ return undefined;
74
+ }
75
+ case proto_enum_1.SkillTriggerType.BeforeActiveSkillBySomeone: {
76
+ if (current.chartType === proto_enum_1.MusicChartType.ActiveSkill) {
77
+ actable.length && triggeredList.push(actable[0].index);
78
+ }
79
+ break;
80
+ }
81
+ case proto_enum_1.SkillTriggerType.BeforeSpecialSkillBySomeone: {
82
+ if (current.chartType === proto_enum_1.MusicChartType.SpecialSkill) {
83
+ actable.length && triggeredList.push(actable[0].index);
84
+ }
85
+ break;
86
+ }
87
+ case proto_enum_1.SkillTriggerType.BeforeCritical: // probably not correct (currently no card)
88
+ case proto_enum_1.SkillTriggerType.Critical: {
89
+ if (skillType === proto_enum_1.SkillCategoryType.Passive) {
90
+ // case: passive skills
91
+ let beat = (_a = current.beats) === null || _a === void 0 ? void 0 : _a.find(it => it.cardIndex === deckPosition);
92
+ if (beat === null || beat === void 0 ? void 0 : beat.isCritical) {
93
+ triggeredList.push(beat.cardIndex);
94
+ }
95
+ }
96
+ else {
97
+ // case: A or SP skills
98
+ if (((_b = current.actSkill) === null || _b === void 0 ? void 0 : _b.cardIndex) === deckPosition &&
99
+ ((_c = current.actSkill) === null || _c === void 0 ? void 0 : _c.isCritical)) {
100
+ triggeredList.push(current.actSkill.cardIndex);
101
+ }
102
+ }
103
+ break;
104
+ }
105
+ case proto_enum_1.SkillTriggerType.BeforeCriticalBySomeone: {
106
+ if (skillType === proto_enum_1.SkillCategoryType.Passive) {
107
+ // case: passive skills
108
+ if (current.beats) {
109
+ current.beats.forEach(beat => {
110
+ if (beat.isCritical) {
111
+ triggeredList.push(beat.cardIndex);
112
+ }
113
+ });
114
+ }
115
+ }
116
+ else {
117
+ // case: A or SP skills
118
+ if ((_d = current.actSkill) === null || _d === void 0 ? void 0 : _d.isCritical) {
119
+ triggeredList.push(current.actSkill.cardIndex);
120
+ }
121
+ }
122
+ break;
123
+ }
124
+ case proto_enum_1.SkillTriggerType.Status: {
125
+ let efficacyType = tra.getTriggerStatusType(trigger.id);
126
+ if ((_e = cardStatus === null || cardStatus === void 0 ? void 0 : cardStatus.effects) === null || _e === void 0 ? void 0 : _e.some(eff => (0, skill_utils_1.isEffect)(eff, efficacyType))) {
127
+ triggeredList.push(deckPosition);
128
+ }
129
+ break;
130
+ }
131
+ case proto_enum_1.SkillTriggerType.SomeoneStatus: {
132
+ let efficacyType = tra.getTriggerStatusType(trigger.id);
133
+ current.cardStatuses.forEach(cardStat => {
134
+ var _a;
135
+ if ((_a = cardStat.effects) === null || _a === void 0 ? void 0 : _a.some(eff => (0, skill_utils_1.isEffect)(eff, efficacyType))) {
136
+ triggeredList.push(cardStat.cardIndex);
137
+ }
138
+ });
139
+ break;
140
+ }
141
+ case proto_enum_1.SkillTriggerType.StaminaLower: {
142
+ let threshold = tra.getTriggerLastNum(trigger.id);
143
+ if (threshold && cardStatus && deckCard) {
144
+ let rate = cardStatus.stamina / deckCard.deckStamina;
145
+ if (rate <= threshold / 100) {
146
+ triggeredList.push(deckPosition);
147
+ }
148
+ }
149
+ break;
150
+ }
151
+ case proto_enum_1.SkillTriggerType.StaminaHigher: {
152
+ let threshold = tra.getTriggerLastNum(trigger.id);
153
+ if (threshold && cardStatus && deckCard) {
154
+ let rate = cardStatus.stamina / deckCard.deckStamina;
155
+ if (rate >= threshold / 100) {
156
+ triggeredList.push(deckPosition);
157
+ }
158
+ }
159
+ break;
160
+ }
161
+ case proto_enum_1.SkillTriggerType.SomeoneStaminaLower: {
162
+ let threshold = tra.getTriggerLastNum(trigger.id);
163
+ if (threshold) {
164
+ live.liveDeck.liveCards.forEach(card => {
165
+ let cardStat = current.cardStatuses.find(it => it.cardIndex === card.index);
166
+ if (cardStat) {
167
+ if (cardStat.stamina / card.liveCard.deckStamina <= threshold / 100) {
168
+ triggeredList.push(deckPosition);
169
+ }
170
+ }
171
+ });
172
+ }
173
+ break;
174
+ }
175
+ case proto_enum_1.SkillTriggerType.FanEngageHigher: {
176
+ // hasn't been implemented in game
177
+ console.error("'SkillTriggerType.FanEngageHigher' hasn't been implemented.");
178
+ return undefined;
179
+ }
180
+ case proto_enum_1.SkillTriggerType.Center: {
181
+ if ([1, 6].includes(deckPosition)) {
182
+ triggeredList.push(deckPosition);
183
+ }
184
+ break;
185
+ }
186
+ case proto_enum_1.SkillTriggerType.MoodType: {
187
+ // hasn't been implemented in game
188
+ console.error("'SkillTriggerType.MoodType' hasn't been implemented.");
189
+ return undefined;
190
+ }
191
+ case proto_enum_1.SkillTriggerType.Music: {
192
+ // hasn't been implemented in game
193
+ console.error("'SkillTriggerType.Music' hasn't been implemented.");
194
+ return undefined;
195
+ }
196
+ case proto_enum_1.SkillTriggerType.StatusGroup: {
197
+ const group = tra.getTriggerStatusGroup(trigger.id);
198
+ if (group) {
199
+ if ((_f = cardStatus === null || cardStatus === void 0 ? void 0 : cardStatus.effects) === null || _f === void 0 ? void 0 : _f.some(eff => group.includes(eff.efficacyType))) {
200
+ triggeredList.push(deckPosition);
201
+ }
202
+ }
203
+ break;
204
+ }
205
+ case proto_enum_1.SkillTriggerType.SomeoneStatusGroup: {
206
+ let group = tra.getTriggerStatusGroup(trigger.id);
207
+ if (group) {
208
+ current.cardStatuses.forEach(cardStat => {
209
+ var _a;
210
+ if ((_a = cardStat.effects) === null || _a === void 0 ? void 0 : _a.some(eff => group.includes(eff.efficacyType))) {
211
+ triggeredList.push(cardStat.cardIndex);
212
+ }
213
+ });
214
+ }
215
+ break;
216
+ }
217
+ case proto_enum_1.SkillTriggerType.PositionAttributeVocal: {
218
+ let laneType = live.quest.getLaneType(deckPosition);
219
+ if (laneType === proto_enum_1.AttributeType.Vocal) {
220
+ triggeredList.push(deckPosition);
221
+ }
222
+ break;
223
+ }
224
+ case proto_enum_1.SkillTriggerType.PositionAttributeDance: {
225
+ let laneType = live.quest.getLaneType(deckPosition);
226
+ if (laneType === proto_enum_1.AttributeType.Dance) {
227
+ triggeredList.push(deckPosition);
228
+ }
229
+ break;
230
+ }
231
+ case proto_enum_1.SkillTriggerType.PositionAttributeVisual: {
232
+ let laneType = live.quest.getLaneType(deckPosition);
233
+ if (laneType === proto_enum_1.AttributeType.Visual) {
234
+ triggeredList.push(deckPosition);
235
+ }
236
+ break;
237
+ }
238
+ case proto_enum_1.SkillTriggerType.CenterStatus: {
239
+ // hasn't been implemented in game
240
+ console.error("'SkillTriggerType.CenterStatus' hasn't been implemented.");
241
+ return undefined;
242
+ }
243
+ case proto_enum_1.SkillTriggerType.CardTypeStatus: {
244
+ // hasn't been implemented in game
245
+ console.error("'SkillTriggerType.CardTypeStatus' hasn't been implemented.");
246
+ return undefined;
247
+ }
248
+ case proto_enum_1.SkillTriggerType.SomeoneRecovered: {
249
+ current.cardStatuses.forEach(cardStat => {
250
+ var _a;
251
+ if ((_a = cardStat.effects) === null || _a === void 0 ? void 0 : _a.some(eff => efficacy_list_1.SkillEfficacyStaminaRecoveryList.includes(eff.efficacyType))) {
252
+ triggeredList.push(cardStat.cardIndex);
253
+ }
254
+ });
255
+ break;
256
+ }
257
+ case proto_enum_1.SkillTriggerType.AllAttributeType: {
258
+ // hasn't been implemented in game
259
+ console.error("'SkillTriggerType.AllAttributeType' hasn't been implemented.");
260
+ return undefined;
261
+ }
262
+ case proto_enum_1.SkillTriggerType.MostLeft: {
263
+ // hasn't been implemented in game
264
+ console.error("'SkillTriggerType.MostLeft' hasn't been implemented.");
265
+ return undefined;
266
+ }
267
+ case proto_enum_1.SkillTriggerType.MostRight: {
268
+ // hasn't been implemented in game
269
+ console.error("'SkillTriggerType.MostRight' hasn't been implemented.");
270
+ return undefined;
271
+ }
272
+ case proto_enum_1.SkillTriggerType.SecondFromLeft: {
273
+ // hasn't been implemented in game
274
+ console.error("'SkillTriggerType.SecondFromLeft' hasn't been implemented.");
275
+ return undefined;
276
+ }
277
+ case proto_enum_1.SkillTriggerType.SecondFromRight: {
278
+ // hasn't been implemented in game
279
+ console.error("'SkillTriggerType.SecondFromRight' hasn't been implemented.");
280
+ return undefined;
281
+ }
282
+ case proto_enum_1.SkillTriggerType.AllStatus: {
283
+ // hasn't been implemented in game
284
+ console.error("'SkillTriggerType.AllStatus' hasn't been implemented.");
285
+ return undefined;
286
+ }
287
+ case proto_enum_1.SkillTriggerType.AllStatus: {
288
+ // hasn't been implemented in game
289
+ console.error("'SkillTriggerType.AllStatus' hasn't been implemented.");
290
+ return undefined;
291
+ }
292
+ case proto_enum_1.SkillTriggerType.ComboLessEqual: {
293
+ let combo = tra.getTriggerLastNum(trigger.id);
294
+ let userStat = current.userStatuses[isOpponentSide ? 1 : 0];
295
+ if (combo && userStat.combo <= combo) {
296
+ triggeredList.push(deckPosition);
297
+ }
298
+ break;
299
+ }
300
+ case proto_enum_1.SkillTriggerType.SkillFailure: {
301
+ // hasn't been implemented in game
302
+ console.error("'SkillTriggerType.SkillFailure' hasn't been implemented.");
303
+ return undefined;
304
+ }
305
+ case proto_enum_1.SkillTriggerType.MoreThanPositionCardTypeCount: {
306
+ // hasn't been implemented in game
307
+ console.error("'SkillTriggerType.MoreThanPositionCardTypeCount' hasn't been implemented.");
308
+ return undefined;
309
+ }
310
+ case proto_enum_1.SkillTriggerType.BeforeActiveSkill: {
311
+ // hasn't been implemented in game
312
+ console.error("'SkillTriggerType.BeforeActiveSkill' hasn't been implemented.");
313
+ return undefined;
314
+ }
315
+ case proto_enum_1.SkillTriggerType.BeforeSpecialSkill: {
316
+ if (current.chartType === proto_enum_1.MusicChartType.SpecialSkill) {
317
+ if (actable.length && actable[0].index === deckPosition) {
318
+ triggeredList.push(actable[0].index);
319
+ }
320
+ }
321
+ break;
322
+ }
323
+ default: {
324
+ console.error(`Unknown SkillTriggerType enum value: '${trigger.type}'.`);
325
+ return undefined;
326
+ }
327
+ }
328
+ return triggeredList;
329
+ }
330
+ else {
331
+ return [0];
332
+ }
333
+ }
334
+ //# sourceMappingURL=trigger_proc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger_proc.js","sourceRoot":"","sources":["../../concert/trigger_proc.ts"],"names":[],"mappings":"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"}