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.
- package/LICENSE +201 -0
- package/README.md +17 -0
- package/out/concert/concert.d.ts +69 -0
- package/out/concert/concert.js +161 -0
- package/out/concert/concert.js.map +1 -0
- package/out/concert/consts/chart_consts.d.ts +41 -0
- package/out/concert/consts/chart_consts.js +65 -0
- package/out/concert/consts/chart_consts.js.map +1 -0
- package/out/concert/consts/eff_grades.d.ts +1191 -0
- package/out/concert/consts/eff_grades.js +221 -0
- package/out/concert/consts/eff_grades.js.map +1 -0
- package/out/concert/consts/efficacy_list.d.ts +9 -0
- package/out/concert/consts/efficacy_list.js +50 -0
- package/out/concert/consts/efficacy_list.js.map +1 -0
- package/out/concert/efficacy_analyze.d.ts +11 -0
- package/out/concert/efficacy_analyze.js +82 -0
- package/out/concert/efficacy_analyze.js.map +1 -0
- package/out/concert/efficacy_proc.d.ts +0 -0
- package/out/concert/efficacy_proc.js +1 -0
- package/out/concert/efficacy_proc.js.map +1 -0
- package/out/concert/partial/a_migration.d.ts +2 -0
- package/out/concert/partial/a_migration.js +36 -0
- package/out/concert/partial/a_migration.js.map +1 -0
- package/out/concert/partial/actions/action.d.ts +24 -0
- package/out/concert/partial/actions/action.js +130 -0
- package/out/concert/partial/actions/action.js.map +1 -0
- package/out/concert/partial/actions/active_skill_chance_assignment.d.ts +2 -0
- package/out/concert/partial/actions/active_skill_chance_assignment.js +14 -0
- package/out/concert/partial/actions/active_skill_chance_assignment.js.map +1 -0
- package/out/concert/partial/actions/cool_time_increase.d.ts +4 -0
- package/out/concert/partial/actions/cool_time_increase.js +43 -0
- package/out/concert/partial/actions/cool_time_increase.js.map +1 -0
- package/out/concert/partial/actions/cool_time_reduction.d.ts +4 -0
- package/out/concert/partial/actions/cool_time_reduction.js +43 -0
- package/out/concert/partial/actions/cool_time_reduction.js.map +1 -0
- package/out/concert/partial/actions/dance_boost.d.ts +2 -0
- package/out/concert/partial/actions/dance_boost.js +35 -0
- package/out/concert/partial/actions/dance_boost.js.map +1 -0
- package/out/concert/partial/actions/dance_down.d.ts +2 -0
- package/out/concert/partial/actions/dance_down.js +35 -0
- package/out/concert/partial/actions/dance_down.js.map +1 -0
- package/out/concert/partial/actions/dance_up.d.ts +2 -0
- package/out/concert/partial/actions/dance_up.js +35 -0
- package/out/concert/partial/actions/dance_up.js.map +1 -0
- package/out/concert/partial/actions/fix_stamina_recovery.d.ts +2 -0
- package/out/concert/partial/actions/fix_stamina_recovery.js +35 -0
- package/out/concert/partial/actions/fix_stamina_recovery.js.map +1 -0
- package/out/concert/partial/actions/live_ability_cool_time_reduction.d.ts +2 -0
- package/out/concert/partial/actions/live_ability_cool_time_reduction.js +14 -0
- package/out/concert/partial/actions/live_ability_cool_time_reduction.js.map +1 -0
- package/out/concert/partial/actions/stamina_consumption.d.ts +2 -0
- package/out/concert/partial/actions/stamina_consumption.js +34 -0
- package/out/concert/partial/actions/stamina_consumption.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_assignment.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_assignment.js +14 -0
- package/out/concert/partial/actions/strength_effect_assignment.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_assignment_all.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_assignment_all.js +40 -0
- package/out/concert/partial/actions/strength_effect_assignment_all.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_count_increase.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_count_increase.js +40 -0
- package/out/concert/partial/actions/strength_effect_count_increase.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_erasing.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_erasing.js +41 -0
- package/out/concert/partial/actions/strength_effect_erasing.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_erasing_all.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_erasing_all.js +34 -0
- package/out/concert/partial/actions/strength_effect_erasing_all.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_migration_before_active_skill.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_migration_before_active_skill.js +47 -0
- package/out/concert/partial/actions/strength_effect_migration_before_active_skill.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_migration_before_special_skill.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_migration_before_special_skill.js +47 -0
- package/out/concert/partial/actions/strength_effect_migration_before_special_skill.js.map +1 -0
- package/out/concert/partial/actions/strength_effect_value_increase.d.ts +2 -0
- package/out/concert/partial/actions/strength_effect_value_increase.js +55 -0
- package/out/concert/partial/actions/strength_effect_value_increase.js.map +1 -0
- package/out/concert/partial/actions/target_stamina_recovery.d.ts +2 -0
- package/out/concert/partial/actions/target_stamina_recovery.js +36 -0
- package/out/concert/partial/actions/target_stamina_recovery.js.map +1 -0
- package/out/concert/partial/actions/visual_boost.d.ts +2 -0
- package/out/concert/partial/actions/visual_boost.js +35 -0
- package/out/concert/partial/actions/visual_boost.js.map +1 -0
- package/out/concert/partial/actions/visual_down.d.ts +2 -0
- package/out/concert/partial/actions/visual_down.js +35 -0
- package/out/concert/partial/actions/visual_down.js.map +1 -0
- package/out/concert/partial/actions/visual_up.d.ts +2 -0
- package/out/concert/partial/actions/visual_up.js +35 -0
- package/out/concert/partial/actions/visual_up.js.map +1 -0
- package/out/concert/partial/actions/vocal_boost.d.ts +2 -0
- package/out/concert/partial/actions/vocal_boost.js +35 -0
- package/out/concert/partial/actions/vocal_boost.js.map +1 -0
- package/out/concert/partial/actions/vocal_down.d.ts +2 -0
- package/out/concert/partial/actions/vocal_down.js +35 -0
- package/out/concert/partial/actions/vocal_down.js.map +1 -0
- package/out/concert/partial/actions/vocal_up.d.ts +2 -0
- package/out/concert/partial/actions/vocal_up.js +35 -0
- package/out/concert/partial/actions/vocal_up.js.map +1 -0
- package/out/concert/partial/actions/weakness_effect_inversion.d.ts +2 -0
- package/out/concert/partial/actions/weakness_effect_inversion.js +60 -0
- package/out/concert/partial/actions/weakness_effect_inversion.js.map +1 -0
- package/out/concert/partial/actions/weakness_effect_recovery.d.ts +2 -0
- package/out/concert/partial/actions/weakness_effect_recovery.js +34 -0
- package/out/concert/partial/actions/weakness_effect_recovery.js.map +1 -0
- package/out/concert/partial/apply_continuous_effects.d.ts +2 -0
- package/out/concert/partial/apply_continuous_effects.js +22 -0
- package/out/concert/partial/apply_continuous_effects.js.map +1 -0
- package/out/concert/partial/b_check_existence.d.ts +2 -0
- package/out/concert/partial/b_check_existence.js +37 -0
- package/out/concert/partial/b_check_existence.js.map +1 -0
- package/out/concert/partial/c_check_act_skill_stamina.d.ts +2 -0
- package/out/concert/partial/c_check_act_skill_stamina.js +28 -0
- package/out/concert/partial/c_check_act_skill_stamina.js.map +1 -0
- package/out/concert/partial/d_check_act_skill_cool_time.d.ts +2 -0
- package/out/concert/partial/d_check_act_skill_cool_time.js +24 -0
- package/out/concert/partial/d_check_act_skill_cool_time.js.map +1 -0
- package/out/concert/partial/e_check_act_skill_possibility.d.ts +2 -0
- package/out/concert/partial/e_check_act_skill_possibility.js +21 -0
- package/out/concert/partial/e_check_act_skill_possibility.js.map +1 -0
- package/out/concert/partial/f_determine_act_skill_privilege.d.ts +2 -0
- package/out/concert/partial/f_determine_act_skill_privilege.js +28 -0
- package/out/concert/partial/f_determine_act_skill_privilege.js.map +1 -0
- package/out/concert/partial/handle_combo.d.ts +16 -0
- package/out/concert/partial/handle_combo.js +44 -0
- package/out/concert/partial/handle_combo.js.map +1 -0
- package/out/concert/partial/impl_efficacy.d.ts +7 -0
- package/out/concert/partial/impl_efficacy.js +19 -0
- package/out/concert/partial/impl_efficacy.js.map +1 -0
- package/out/concert/partial/init_concert.d.ts +7 -0
- package/out/concert/partial/init_concert.js +114 -0
- package/out/concert/partial/init_concert.js.map +1 -0
- package/out/concert/partial/perform_beat.d.ts +2 -0
- package/out/concert/partial/perform_beat.js +19 -0
- package/out/concert/partial/perform_beat.js.map +1 -0
- package/out/concert/partial/perform_skill.d.ts +15 -0
- package/out/concert/partial/perform_skill.js +166 -0
- package/out/concert/partial/perform_skill.js.map +1 -0
- package/out/concert/partial/prepare_p_skill.d.ts +5 -0
- package/out/concert/partial/prepare_p_skill.js +68 -0
- package/out/concert/partial/prepare_p_skill.js.map +1 -0
- package/out/concert/partial/rotate_ct.d.ts +2 -0
- package/out/concert/partial/rotate_ct.js +24 -0
- package/out/concert/partial/rotate_ct.js.map +1 -0
- package/out/concert/partial/rotate_remains.d.ts +2 -0
- package/out/concert/partial/rotate_remains.js +14 -0
- package/out/concert/partial/rotate_remains.js.map +1 -0
- package/out/concert/target_analyze.d.ts +4 -0
- package/out/concert/target_analyze.js +32 -0
- package/out/concert/target_analyze.js.map +1 -0
- package/out/concert/target_proc.d.ts +3 -0
- package/out/concert/target_proc.js +200 -0
- package/out/concert/target_proc.js.map +1 -0
- package/out/concert/trigger_analyze.d.ts +4 -0
- package/out/concert/trigger_analyze.js +38 -0
- package/out/concert/trigger_analyze.js.map +1 -0
- package/out/concert/trigger_proc.d.ts +5 -0
- package/out/concert/trigger_proc.js +334 -0
- package/out/concert/trigger_proc.js.map +1 -0
- package/out/database/Card.json +7641 -0
- package/out/database/CardParameter.json +4682 -0
- package/out/database/CardRarity.json +62 -0
- package/out/database/LiveAbility.json +26906 -0
- package/out/database/LiveBonus.json +464 -0
- package/out/database/LiveBonusGroup.json +466 -0
- package/out/database/Music.json +20282 -0
- package/out/database/MusicChartPattern.json +99842 -0
- package/out/database/Quest.json +95671 -0
- package/out/database/Setting.json +280 -0
- package/out/database/Skill.json +94030 -0
- package/out/database/SkillEfficacy.json +37042 -0
- package/out/database/SkillTarget.json +212 -0
- package/out/database/SkillTrigger.json +511 -0
- package/out/db/dao/card_dao.d.ts +5 -0
- package/out/db/dao/card_dao.js +27 -0
- package/out/db/dao/card_dao.js.map +1 -0
- package/out/db/dao/quest_dao.d.ts +8 -0
- package/out/db/dao/quest_dao.js +49 -0
- package/out/db/dao/quest_dao.js.map +1 -0
- package/out/db/dao/setting_dao.d.ts +3 -0
- package/out/db/dao/setting_dao.js +13 -0
- package/out/db/dao/setting_dao.js.map +1 -0
- package/out/db/dao/skill_dao.d.ts +6 -0
- package/out/db/dao/skill_dao.js +42 -0
- package/out/db/dao/skill_dao.js.map +1 -0
- package/out/db/repository/card_repository.d.ts +6 -0
- package/out/db/repository/card_repository.js +39 -0
- package/out/db/repository/card_repository.js.map +1 -0
- package/out/db/repository/quest_repository.d.ts +2 -0
- package/out/db/repository/quest_repository.js +17 -0
- package/out/db/repository/quest_repository.js.map +1 -0
- package/out/db/repository/setting_repository.d.ts +2 -0
- package/out/db/repository/setting_repository.js +9 -0
- package/out/db/repository/setting_repository.js.map +1 -0
- package/out/db/repository/skill_repository.d.ts +2 -0
- package/out/db/repository/skill_repository.js +31 -0
- package/out/db/repository/skill_repository.js.map +1 -0
- package/out/db/wrapper/card_wrapper.d.ts +2 -0
- package/out/db/wrapper/card_wrapper.js +30 -0
- package/out/db/wrapper/card_wrapper.js.map +1 -0
- package/out/db/wrapper/quest_wrapper.d.ts +2 -0
- package/out/db/wrapper/quest_wrapper.js +47 -0
- package/out/db/wrapper/quest_wrapper.js.map +1 -0
- package/out/db/wrapper/skill_wrapper.d.ts +5 -0
- package/out/db/wrapper/skill_wrapper.js +34 -0
- package/out/db/wrapper/skill_wrapper.js.map +1 -0
- package/out/index.d.ts +3 -0
- package/out/index.js +18 -0
- package/out/index.js.map +1 -0
- package/out/main.d.ts +1 -0
- package/out/main.js +67 -0
- package/out/main.js.map +1 -0
- package/out/satomi/card.d.ts +4 -0
- package/out/satomi/card.js +36 -0
- package/out/satomi/card.js.map +1 -0
- package/out/satomi/deck.d.ts +3 -0
- package/out/satomi/deck.js +28 -0
- package/out/satomi/deck.js.map +1 -0
- package/out/satomi/live.d.ts +4 -0
- package/out/satomi/live.js +14 -0
- package/out/satomi/live.js.map +1 -0
- package/out/types/card_types.d.ts +40 -0
- package/out/types/card_types.js +3 -0
- package/out/types/card_types.js.map +1 -0
- package/out/types/concert_types.d.ts +134 -0
- package/out/types/concert_types.js +3 -0
- package/out/types/concert_types.js.map +1 -0
- package/out/types/misc_types.d.ts +15 -0
- package/out/types/misc_types.js +3 -0
- package/out/types/misc_types.js.map +1 -0
- package/out/types/proto/proto_api.d.ts +4353 -0
- package/out/types/proto/proto_api.js +4 -0
- package/out/types/proto/proto_api.js.map +1 -0
- package/out/types/proto/proto_enum.d.ts +1607 -0
- package/out/types/proto/proto_enum.js +1744 -0
- package/out/types/proto/proto_enum.js.map +1 -0
- package/out/types/proto/proto_master.d.ts +1963 -0
- package/out/types/proto/proto_master.js +4 -0
- package/out/types/proto/proto_master.js.map +1 -0
- package/out/types/proto/proto_transaction.d.ts +395 -0
- package/out/types/proto/proto_transaction.js +4 -0
- package/out/types/proto/proto_transaction.js.map +1 -0
- package/out/types/trans_types.d.ts +23 -0
- package/out/types/trans_types.js +3 -0
- package/out/types/trans_types.js.map +1 -0
- package/out/types/wap/card_waps.d.ts +9 -0
- package/out/types/wap/card_waps.js +3 -0
- package/out/types/wap/card_waps.js.map +1 -0
- package/out/types/wap/misc_waps.d.ts +11 -0
- package/out/types/wap/misc_waps.js +3 -0
- package/out/types/wap/misc_waps.js.map +1 -0
- package/out/types/wap/quest_waps.d.ts +12 -0
- package/out/types/wap/quest_waps.js +3 -0
- package/out/types/wap/quest_waps.js.map +1 -0
- package/out/types/wap/skill_waps.d.ts +24 -0
- package/out/types/wap/skill_waps.js +3 -0
- package/out/types/wap/skill_waps.js.map +1 -0
- package/out/utils/calc_utils.d.ts +20 -0
- package/out/utils/calc_utils.js +137 -0
- package/out/utils/calc_utils.js.map +1 -0
- package/out/utils/chart_utils.d.ts +49 -0
- package/out/utils/chart_utils.js +218 -0
- package/out/utils/chart_utils.js.map +1 -0
- package/out/utils/console_utils.d.ts +1 -0
- package/out/utils/console_utils.js +9 -0
- package/out/utils/console_utils.js.map +1 -0
- package/out/utils/skill_utils.d.ts +9 -0
- package/out/utils/skill_utils.js +86 -0
- package/out/utils/skill_utils.js.map +1 -0
- package/package.json +32 -0
@@ -0,0 +1,166 @@
|
|
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._performSkill = exports.performStageSkill = exports.performPSkill = exports.performASPSkill = void 0;
|
27
|
+
const proto_enum_1 = require("../../types/proto/proto_enum");
|
28
|
+
const calc = __importStar(require("../../utils/calc_utils"));
|
29
|
+
const chart_utils_1 = require("../../utils/chart_utils");
|
30
|
+
const target_proc_1 = require("../target_proc");
|
31
|
+
const trigger_proc_1 = require("../trigger_proc");
|
32
|
+
const handle_combo_1 = require("./handle_combo");
|
33
|
+
/**
|
34
|
+
* Performs A, SP skill and return a flag refers to performing info.
|
35
|
+
* @param this
|
36
|
+
* @param actables
|
37
|
+
* @returns A number which refers to which side performed this skill, or Zero(failed).
|
38
|
+
*/
|
39
|
+
function performASPSkill(actables) {
|
40
|
+
if (actables.length) {
|
41
|
+
if (actables[0].skills.length) {
|
42
|
+
const { index, skills } = actables[0];
|
43
|
+
const card = this.liveDeck.getCard(index);
|
44
|
+
const skill = card.getSkill(skills[0]);
|
45
|
+
const cardStat = this.current.getCardStatus(index);
|
46
|
+
const skillStat = cardStat.getSkillStatus(skills[0]);
|
47
|
+
const actSkill = this._performSkill(index, skills[0], skill, skillStat, index > 5, false, card, cardStat);
|
48
|
+
if (actSkill) {
|
49
|
+
this.current.actSkill = actSkill;
|
50
|
+
skillStat.used = true;
|
51
|
+
return index > 5 ? handle_combo_1.ComboType.AddOpponent : handle_combo_1.ComboType.AddAlly;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
// skill failed
|
56
|
+
const isAllyBuffed = this.current
|
57
|
+
.getCardStatus(this.current.actPosition)
|
58
|
+
.getEffects(proto_enum_1.SkillEfficacyType.ComboContinuation).length > 0;
|
59
|
+
if (isAllyBuffed) {
|
60
|
+
return handle_combo_1.ComboType.KeepAllyBreakOpponent;
|
61
|
+
}
|
62
|
+
// FIXME(delayed): keep opponent
|
63
|
+
return handle_combo_1.ComboType.Break;
|
64
|
+
}
|
65
|
+
exports.performASPSkill = performASPSkill;
|
66
|
+
function performPSkill(cardIndex, skillIndex, isBeforeBeat) {
|
67
|
+
const card = this.liveDeck.getCard(cardIndex);
|
68
|
+
const skill = card.getSkill(skillIndex);
|
69
|
+
const cardStat = this.current.getCardStatus(cardIndex);
|
70
|
+
const skillStat = cardStat.getSkillStatus(skillIndex);
|
71
|
+
const actSkill = this._performSkill(cardIndex, skillIndex, skill, skillStat, cardIndex > 5, isBeforeBeat, card, cardStat);
|
72
|
+
if (actSkill) {
|
73
|
+
this.current.actPSkills.push(actSkill);
|
74
|
+
skillStat.used = true;
|
75
|
+
return true;
|
76
|
+
}
|
77
|
+
return false;
|
78
|
+
}
|
79
|
+
exports.performPSkill = performPSkill;
|
80
|
+
function performStageSkill(cardIndex, skillIndex, isBeforeBeat) {
|
81
|
+
const skillStat = this.current.getStageStatus(cardIndex, skillIndex);
|
82
|
+
const actSkill = this._performSkill(skillStat.cardIndex, skillStat.skillIndex, this.live.quest.liveBonuses[skillIndex].skill, skillStat, cardIndex !== 101, isBeforeBeat);
|
83
|
+
if (actSkill) {
|
84
|
+
this.current.actPSkills.push(actSkill);
|
85
|
+
skillStat.used = true;
|
86
|
+
return true;
|
87
|
+
}
|
88
|
+
return false;
|
89
|
+
}
|
90
|
+
exports.performStageSkill = performStageSkill;
|
91
|
+
function _performSkill(cardIndex, skillIndex, skill, skillStat, isOpponentSide, isBeforeBeat, card, cardStat) {
|
92
|
+
var _a;
|
93
|
+
// rolling
|
94
|
+
if (!calc.roll(skill.probabilityPermil)) {
|
95
|
+
return;
|
96
|
+
}
|
97
|
+
// check stamina
|
98
|
+
let stamina = skill.stamina;
|
99
|
+
if (card && cardStat) {
|
100
|
+
stamina = calc.calcSkillStaminaConsumption(skill, card, cardStat, this.live.quest.skillStaminaWeightPermil);
|
101
|
+
if (cardStat.stamina < stamina) {
|
102
|
+
return; // stamina shortages
|
103
|
+
}
|
104
|
+
}
|
105
|
+
// get triggered indexes
|
106
|
+
const triggeredIndexes = (0, trigger_proc_1.getTriggeredIndexes)(skill.trigger, skill.categoryType, skillStat, this.live, this.current, cardIndex, isOpponentSide, this.actables, cardStat, card);
|
107
|
+
if (!triggeredIndexes) {
|
108
|
+
// TODO: notify new triggers
|
109
|
+
console.error("New trigger hasn't been implemented.");
|
110
|
+
return; // unhandled triggers
|
111
|
+
}
|
112
|
+
if (triggeredIndexes.length === 0) {
|
113
|
+
return; // not triggered
|
114
|
+
}
|
115
|
+
// SKILL ACTIVATION COMFIRMED
|
116
|
+
this.order += 1;
|
117
|
+
// critical or not
|
118
|
+
const isCritical = (0, chart_utils_1.getCritical)((_a = cardStat === null || cardStat === void 0 ? void 0 : cardStat.technique) !== null && _a !== void 0 ? _a : 0, this.live.quest.difficultyLevel);
|
119
|
+
// calculate stamina consumption
|
120
|
+
if (card && cardStat) {
|
121
|
+
stamina = calc.calcSkillStaminaConsumption(skill, card, cardStat, this.live.quest.skillStaminaWeightPermil);
|
122
|
+
// consume stamina
|
123
|
+
cardStat.stamina -= stamina;
|
124
|
+
}
|
125
|
+
// create a new ActSkill
|
126
|
+
const actSkill = {
|
127
|
+
cardIndex: cardIndex,
|
128
|
+
skillIndex: skillIndex,
|
129
|
+
order: this.order,
|
130
|
+
stamina: stamina,
|
131
|
+
details: [],
|
132
|
+
isCritical: isCritical,
|
133
|
+
isComboBreak: false,
|
134
|
+
};
|
135
|
+
for (const [index, detail] of skill.wapSkillDetails.entries()) {
|
136
|
+
const detailTriggeredIndexes = (0, trigger_proc_1.getTriggeredIndexes)(detail.trigger, skill.categoryType, skillStat, this.live, this.current, cardIndex, isOpponentSide, this.actables, cardStat, card);
|
137
|
+
if (!detailTriggeredIndexes) {
|
138
|
+
// TODO: notify new triggers
|
139
|
+
console.error("New trigger hasn't been implemented.");
|
140
|
+
continue; // unhandled triggers
|
141
|
+
}
|
142
|
+
if (detailTriggeredIndexes.length === 0) {
|
143
|
+
continue; // not triggered
|
144
|
+
}
|
145
|
+
// get target indexes
|
146
|
+
const targetIndexes = (0, target_proc_1.getTargetIndexes)(detail.efficacy.skillTarget, skillStat, this.live, this.current, cardIndex, isOpponentSide, triggeredIndexes, detailTriggeredIndexes);
|
147
|
+
// implement to CardStatus
|
148
|
+
const { value, grade, maxGrade } = this.implementEfficacy(detail.efficacy, targetIndexes !== null && targetIndexes !== void 0 ? targetIndexes : [], cardIndex, skillIndex, isBeforeBeat);
|
149
|
+
actSkill.details.push({
|
150
|
+
name: detail.efficacy.name,
|
151
|
+
description: detail.efficacy.description,
|
152
|
+
grade: grade,
|
153
|
+
maxGrade: maxGrade,
|
154
|
+
efficacyIndex: index,
|
155
|
+
efficacyType: detail.efficacy.type,
|
156
|
+
targetIndexes: targetIndexes,
|
157
|
+
value: value,
|
158
|
+
});
|
159
|
+
// set SkillStatus
|
160
|
+
skillStat.coolTime = skill.coolTime;
|
161
|
+
skillStat.remainCount && skillStat.remainCount--;
|
162
|
+
}
|
163
|
+
return actSkill;
|
164
|
+
}
|
165
|
+
exports._performSkill = _performSkill;
|
166
|
+
//# sourceMappingURL=perform_skill.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"perform_skill.js","sourceRoot":"","sources":["../../../concert/partial/perform_skill.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.preparePSkill = void 0;
|
4
|
+
const proto_enum_1 = require("../../types/proto/proto_enum");
|
5
|
+
const efficacy_list_1 = require("../consts/efficacy_list");
|
6
|
+
function* preparePSkill(isBefore) {
|
7
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
8
|
+
// stage skills
|
9
|
+
for (const it of (_a = this.current.stageSkillStatuses) !== null && _a !== void 0 ? _a : []) {
|
10
|
+
if (!it.hasTimes()) {
|
11
|
+
continue; // 无剩余次数
|
12
|
+
}
|
13
|
+
if (it.coolTime) {
|
14
|
+
continue; // 在 CT 中
|
15
|
+
}
|
16
|
+
const stageSkill = this.live.quest.liveBonuses[it.skillIndex].skill;
|
17
|
+
if (isBefore) {
|
18
|
+
if (!efficacy_list_1.TriggerBeforeList.includes((_c = (_b = stageSkill.trigger) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : proto_enum_1.SkillTriggerType.Unknown)
|
19
|
+
&& it.used) {
|
20
|
+
continue; // 不在当前发动时间点(beat前)
|
21
|
+
}
|
22
|
+
}
|
23
|
+
if (!isBefore) {
|
24
|
+
if (efficacy_list_1.TriggerBeforeList.includes((_e = (_d = stageSkill.trigger) === null || _d === void 0 ? void 0 : _d.type) !== null && _e !== void 0 ? _e : proto_enum_1.SkillTriggerType.Unknown)) {
|
25
|
+
continue; // 不在当前发动时间点(beat后)
|
26
|
+
}
|
27
|
+
}
|
28
|
+
yield {
|
29
|
+
cardIndex: it.cardIndex,
|
30
|
+
skillIndex: it.skillIndex,
|
31
|
+
};
|
32
|
+
}
|
33
|
+
// characters p-skills
|
34
|
+
for (const it of this.pSkills) {
|
35
|
+
const cardStat = this.current.getCardStatus(it.cardIndex);
|
36
|
+
const skillStat = cardStat.getSkillStatus(it.skillIndex);
|
37
|
+
if (!skillStat.hasTimes()) {
|
38
|
+
continue; // 无剩余次数
|
39
|
+
}
|
40
|
+
if (skillStat.coolTime) {
|
41
|
+
continue; // 在 CT 中
|
42
|
+
}
|
43
|
+
if (cardStat.getEffects(proto_enum_1.SkillEfficacyType.SkillImpossible).length) {
|
44
|
+
continue; // 不调中
|
45
|
+
}
|
46
|
+
if (this.pSkillPerformed.some(performed => performed.cardIndex === it.cardIndex && performed.skillIndex === it.skillIndex)) {
|
47
|
+
continue; // 本回合已发动过P技能
|
48
|
+
}
|
49
|
+
const skill = this.liveDeck.getCard(it.cardIndex).getSkill(it.skillIndex);
|
50
|
+
if (isBefore) {
|
51
|
+
if (!efficacy_list_1.TriggerBeforeList.includes((_g = (_f = skill.trigger) === null || _f === void 0 ? void 0 : _f.type) !== null && _g !== void 0 ? _g : proto_enum_1.SkillTriggerType.Unknown)
|
52
|
+
&& skillStat.used) {
|
53
|
+
continue; // 不在当前发动时间点(beat前)
|
54
|
+
}
|
55
|
+
}
|
56
|
+
if (!isBefore) {
|
57
|
+
if (efficacy_list_1.TriggerBeforeList.includes((_j = (_h = skill.trigger) === null || _h === void 0 ? void 0 : _h.type) !== null && _j !== void 0 ? _j : proto_enum_1.SkillTriggerType.Unknown)) {
|
58
|
+
continue; // 不在当前发动时间点(beat后)
|
59
|
+
}
|
60
|
+
}
|
61
|
+
yield {
|
62
|
+
cardIndex: it.cardIndex,
|
63
|
+
skillIndex: it.skillIndex,
|
64
|
+
};
|
65
|
+
}
|
66
|
+
}
|
67
|
+
exports.preparePSkill = preparePSkill;
|
68
|
+
//# sourceMappingURL=prepare_p_skill.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"prepare_p_skill.js","sourceRoot":"","sources":["../../../concert/partial/prepare_p_skill.ts"],"names":[],"mappings":";;;AAAA,6DAAmF;AAEnF,2DAA4D;AAE5D,QAAe,CAAC,CAAC,aAAa,CAE5B,QAAiB;;IAEjB,eAAe;IACf,KAAK,MAAM,EAAE,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,mCAAI,EAAE,EAAE;QACtD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;YAClB,SAAQ,CAAC,QAAQ;SAClB;QACD,IAAI,EAAE,CAAC,QAAQ,EAAE;YACf,SAAQ,CAAC,SAAS;SACnB;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAA;QACpE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,iCAAiB,CAAC,QAAQ,CAAC,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,IAAI,mCAAI,6BAAgB,CAAC,OAAO,CAAC;mBAChF,EAAE,CAAC,IAAI,EAAE;gBACZ,SAAQ,CAAC,mBAAmB;aAC7B;SACF;QACD,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,iCAAiB,CAAC,QAAQ,CAAC,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,IAAI,mCAAI,6BAAgB,CAAC,OAAO,CAAC,EAAE;gBACpF,SAAQ,CAAC,mBAAmB;aAC7B;SACF;QACD,MAAM;YACJ,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,UAAU,EAAE,EAAE,CAAC,UAAU;SAC1B,CAAA;KACF;IAED,sBAAsB;IACtB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE;YACzB,SAAQ,CAAC,QAAQ;SAClB;QACD,IAAI,SAAS,CAAC,QAAQ,EAAE;YACtB,SAAQ,CAAC,SAAS;SACnB;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,8BAAiB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;YACjE,SAAQ,CAAC,MAAM;SAChB;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CACxC,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,EAAE,CAAC,UAAU,CAAC,EAC/E;YACA,SAAQ,CAAC,aAAa;SACvB;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QACzE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,iCAAiB,CAAC,QAAQ,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,mCAAI,6BAAgB,CAAC,OAAO,CAAC;mBAC3E,SAAS,CAAC,IAAI,EAAE;gBACnB,SAAQ,CAAC,mBAAmB;aAC7B;SACF;QACD,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,iCAAiB,CAAC,QAAQ,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,mCAAI,6BAAgB,CAAC,OAAO,CAAC,EAAE;gBAC/E,SAAQ,CAAC,mBAAmB;aAC7B;SACF;QACD,MAAM;YACJ,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,UAAU,EAAE,EAAE,CAAC,UAAU;SAC1B,CAAA;KACF;AACH,CAAC;AAjED,sCAiEC"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.rotateCT = void 0;
|
4
|
+
function rotateCT() {
|
5
|
+
var _a;
|
6
|
+
// reduce card skill CT
|
7
|
+
this.current.cardStatuses.forEach(cardStat => {
|
8
|
+
cardStat.skillStatuses.forEach(skillStat => {
|
9
|
+
if (skillStat.coolTime) {
|
10
|
+
skillStat.coolTime -= 1;
|
11
|
+
}
|
12
|
+
});
|
13
|
+
});
|
14
|
+
// reduce stage skill CT
|
15
|
+
(_a = this.current.stageSkillStatuses) === null || _a === void 0 ? void 0 : _a.forEach(stageSkillStat => {
|
16
|
+
if (stageSkillStat.coolTime) {
|
17
|
+
stageSkillStat.coolTime -= 1;
|
18
|
+
}
|
19
|
+
});
|
20
|
+
// reduce photo CT
|
21
|
+
//...
|
22
|
+
}
|
23
|
+
exports.rotateCT = rotateCT;
|
24
|
+
//# sourceMappingURL=rotate_ct.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rotate_ct.js","sourceRoot":"","sources":["../../../concert/partial/rotate_ct.ts"],"names":[],"mappings":";;;AAEA,SAAgB,QAAQ;;IAGtB,uBAAuB;IACvB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3C,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACzC,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACtB,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,wBAAwB;IACxB,MAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,0CAAE,OAAO,CAAC,cAAc,CAAC,EAAE;QACxD,IAAI,cAAc,CAAC,QAAQ,EAAE;YAC3B,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAA;SAC7B;IACH,CAAC,CAAC,CAAA;IACF,kBAAkB;IAClB,KAAK;AACP,CAAC;AAnBD,4BAmBC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.rotateRemains = void 0;
|
4
|
+
function rotateRemains() {
|
5
|
+
this.current.cardStatuses.forEach(cardStat => {
|
6
|
+
cardStat.effects.forEach(eff => {
|
7
|
+
if (eff.remain) {
|
8
|
+
eff.remain -= 1;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
});
|
12
|
+
}
|
13
|
+
exports.rotateRemains = rotateRemains;
|
14
|
+
//# sourceMappingURL=rotate_remains.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rotate_remains.js","sourceRoot":"","sources":["../../../concert/partial/rotate_remains.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa;IAG3B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;aAChB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAVD,sCAUC"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { SkillEfficacyType } from "../types/proto/proto_enum";
|
2
|
+
export declare function getTargetStatusType(targetId: string): [SkillEfficacyType, number] | undefined;
|
3
|
+
export declare function getTargetLastNum(targetId: string): number | undefined;
|
4
|
+
export declare function getTargetSecondLastNum(targetId: string): number | undefined;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getTargetSecondLastNum = exports.getTargetLastNum = exports.getTargetStatusType = void 0;
|
4
|
+
const chart_consts_1 = require("./consts/chart_consts");
|
5
|
+
function getTargetStatusType(targetId) {
|
6
|
+
let matched = targetId.match(/target-status-(\w+)-(\d)/);
|
7
|
+
if (matched) {
|
8
|
+
let targetStatusStr = matched[1];
|
9
|
+
let effectType = chart_consts_1.Str2EfficacyType[targetStatusStr];
|
10
|
+
let amount = +matched[2];
|
11
|
+
return [effectType, amount];
|
12
|
+
}
|
13
|
+
return undefined;
|
14
|
+
}
|
15
|
+
exports.getTargetStatusType = getTargetStatusType;
|
16
|
+
function getTargetLastNum(targetId) {
|
17
|
+
let matched = targetId.match(/\d+$/);
|
18
|
+
if (matched) {
|
19
|
+
return +matched[0];
|
20
|
+
}
|
21
|
+
return undefined;
|
22
|
+
}
|
23
|
+
exports.getTargetLastNum = getTargetLastNum;
|
24
|
+
function getTargetSecondLastNum(targetId) {
|
25
|
+
let matched = targetId.match(/\d+(?=-\d+$)/);
|
26
|
+
if (matched) {
|
27
|
+
return +matched[0];
|
28
|
+
}
|
29
|
+
return undefined;
|
30
|
+
}
|
31
|
+
exports.getTargetSecondLastNum = getTargetSecondLastNum;
|
32
|
+
//# sourceMappingURL=target_analyze.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"target_analyze.js","sourceRoot":"","sources":["../../concert/target_analyze.ts"],"names":[],"mappings":";;;AACA,wDAAwD;AAExD,SAAgB,mBAAmB,CACjC,QAAgB;IAEhB,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACxD,IAAI,OAAO,EAAE;QACX,IAAI,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,UAAU,GAAG,+BAAgB,CAAC,eAAe,CAAC,CAAA;QAClD,IAAI,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACxB,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;KAC5B;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAXD,kDAWC;AAED,SAAgB,gBAAgB,CAC9B,QAAgB;IAEhB,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;KACnB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AARD,4CAQC;AAED,SAAgB,sBAAsB,CACpC,QAAgB;IAEhB,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAC5C,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;KACnB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AARD,wDAQC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { Chart, Live, SkillStatus } from "../types/concert_types";
|
2
|
+
import { SkillTarget } from "../types/proto/proto_master";
|
3
|
+
export declare function getTargetIndexes(target: SkillTarget | undefined, skillStatus: SkillStatus, live: Live, current: Chart, deckPosition: number, isOpponentSide: boolean, skillTriggerIdx: number[], detailTriggerIdx: number[]): number[] | undefined;
|
@@ -0,0 +1,200 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getTargetIndexes = void 0;
|
4
|
+
const proto_enum_1 = require("../types/proto/proto_enum");
|
5
|
+
const chart_consts_1 = require("./consts/chart_consts");
|
6
|
+
const target_analyze_1 = require("./target_analyze");
|
7
|
+
function getTargetIndexes(target, skillStatus, live, current, deckPosition, isOpponentSide, skillTriggerIdx, detailTriggerIdx) {
|
8
|
+
return _getTargetIndexes(target, skillStatus, live, current, deckPosition, isOpponentSide, skillTriggerIdx, detailTriggerIdx);
|
9
|
+
}
|
10
|
+
exports.getTargetIndexes = getTargetIndexes;
|
11
|
+
// returns undefined if trigger logic hasn't been implemented
|
12
|
+
function _getTargetIndexes(target, skillStatus, live, current, deckPosition, isOpponentSide, skillTriggerIdx, detailTriggerIdx) {
|
13
|
+
if (target) {
|
14
|
+
// let targetList: number[] = []
|
15
|
+
var isOpponentTarget = false;
|
16
|
+
var targetNum = 1;
|
17
|
+
const targetList = (() => {
|
18
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
19
|
+
switch (target.type) {
|
20
|
+
case proto_enum_1.SkillTargetType.Self: {
|
21
|
+
return [deckPosition];
|
22
|
+
}
|
23
|
+
case proto_enum_1.SkillTargetType.All: {
|
24
|
+
targetNum = 5; // PTI
|
25
|
+
return current.cardStatuses.map(stat => stat.cardIndex);
|
26
|
+
}
|
27
|
+
case proto_enum_1.SkillTargetType.Center: {
|
28
|
+
return [1, 6];
|
29
|
+
}
|
30
|
+
case proto_enum_1.SkillTargetType.DanceHigher: {
|
31
|
+
targetNum = (_a = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _a !== void 0 ? _a : 1;
|
32
|
+
return current.cardStatuses.slice()
|
33
|
+
.sort((a, b) => b.dance - a.dance)
|
34
|
+
.map(stat => stat.cardIndex);
|
35
|
+
}
|
36
|
+
case proto_enum_1.SkillTargetType.DanceLower: {
|
37
|
+
targetNum = (_b = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _b !== void 0 ? _b : 1;
|
38
|
+
return current.cardStatuses.slice()
|
39
|
+
.sort((a, b) => a.dance - b.dance)
|
40
|
+
.map(stat => stat.cardIndex);
|
41
|
+
}
|
42
|
+
case proto_enum_1.SkillTargetType.VocalHigher: {
|
43
|
+
targetNum = (_c = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _c !== void 0 ? _c : 1;
|
44
|
+
return current.cardStatuses.slice()
|
45
|
+
.sort((a, b) => b.vocal - a.vocal)
|
46
|
+
.map(stat => stat.cardIndex);
|
47
|
+
}
|
48
|
+
case proto_enum_1.SkillTargetType.VocalLower: {
|
49
|
+
targetNum = (_d = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _d !== void 0 ? _d : 1;
|
50
|
+
return current.cardStatuses.slice()
|
51
|
+
.sort((a, b) => a.vocal - b.vocal)
|
52
|
+
.map(stat => stat.cardIndex);
|
53
|
+
}
|
54
|
+
case proto_enum_1.SkillTargetType.VisualHigher: {
|
55
|
+
targetNum = (_e = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _e !== void 0 ? _e : 1;
|
56
|
+
return current.cardStatuses.slice()
|
57
|
+
.sort((a, b) => b.visual - a.visual)
|
58
|
+
.map(stat => stat.cardIndex);
|
59
|
+
}
|
60
|
+
case proto_enum_1.SkillTargetType.VisualLower: {
|
61
|
+
targetNum = (_f = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _f !== void 0 ? _f : 1;
|
62
|
+
return current.cardStatuses.slice()
|
63
|
+
.sort((a, b) => a.visual - b.visual)
|
64
|
+
.map(stat => stat.cardIndex);
|
65
|
+
}
|
66
|
+
case proto_enum_1.SkillTargetType.StaminaHigher: {
|
67
|
+
targetNum = (_g = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _g !== void 0 ? _g : 1;
|
68
|
+
return current.cardStatuses.slice()
|
69
|
+
.sort((a, b) => b.stamina - a.stamina)
|
70
|
+
.map(stat => stat.cardIndex);
|
71
|
+
}
|
72
|
+
case proto_enum_1.SkillTargetType.StaminaLower: {
|
73
|
+
targetNum = (_h = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _h !== void 0 ? _h : 1;
|
74
|
+
return current.cardStatuses.slice()
|
75
|
+
.sort((a, b) => a.stamina - b.stamina)
|
76
|
+
.map(stat => stat.cardIndex);
|
77
|
+
}
|
78
|
+
case proto_enum_1.SkillTargetType.Status: {
|
79
|
+
let [effectType, amount] = (_j = (0, target_analyze_1.getTargetStatusType)(target.id)) !== null && _j !== void 0 ? _j : [proto_enum_1.SkillEfficacyType.Unknown, 0];
|
80
|
+
if (effectType !== proto_enum_1.SkillEfficacyType.Unknown && !amount) {
|
81
|
+
targetNum = amount;
|
82
|
+
return current.cardStatuses.filter(status => {
|
83
|
+
var _a;
|
84
|
+
(_a = status.effects) === null || _a === void 0 ? void 0 : _a.some(eff => {
|
85
|
+
eff.efficacyType === effectType;
|
86
|
+
});
|
87
|
+
}).map(stat => stat.cardIndex);
|
88
|
+
}
|
89
|
+
return [];
|
90
|
+
}
|
91
|
+
case proto_enum_1.SkillTargetType.Trigger: {
|
92
|
+
targetNum = (_k = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _k !== void 0 ? _k : 1;
|
93
|
+
return skillTriggerIdx;
|
94
|
+
}
|
95
|
+
case proto_enum_1.SkillTargetType.CardType: {
|
96
|
+
let cardType = (_l = (0, target_analyze_1.getTargetSecondLastNum)(target.id)) !== null && _l !== void 0 ? _l : 0;
|
97
|
+
targetNum = (_m = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _m !== void 0 ? _m : 1;
|
98
|
+
return live.liveDeck.liveCards
|
99
|
+
.filter(it => it.liveCard.type === cardType)
|
100
|
+
.map(it => it.index);
|
101
|
+
}
|
102
|
+
case proto_enum_1.SkillTargetType.Neighbor: {
|
103
|
+
return chart_consts_1.IndexNeighbor[deckPosition];
|
104
|
+
}
|
105
|
+
case proto_enum_1.SkillTargetType.Vocal: {
|
106
|
+
targetNum = (_o = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _o !== void 0 ? _o : 1;
|
107
|
+
return live.liveDeck.liveCards
|
108
|
+
.filter(it => it.liveCard.attributeType === proto_enum_1.AttributeType.Vocal)
|
109
|
+
.map(it => it.index);
|
110
|
+
}
|
111
|
+
case proto_enum_1.SkillTargetType.Dance: {
|
112
|
+
targetNum = (_p = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _p !== void 0 ? _p : 1;
|
113
|
+
return live.liveDeck.liveCards
|
114
|
+
.filter(it => it.liveCard.attributeType === proto_enum_1.AttributeType.Dance)
|
115
|
+
.map(it => it.index);
|
116
|
+
}
|
117
|
+
case proto_enum_1.SkillTargetType.Visual: {
|
118
|
+
targetNum = (_q = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _q !== void 0 ? _q : 1;
|
119
|
+
return live.liveDeck.liveCards
|
120
|
+
.filter(it => it.liveCard.attributeType === proto_enum_1.AttributeType.Visual)
|
121
|
+
.map(it => it.index);
|
122
|
+
}
|
123
|
+
case proto_enum_1.SkillTargetType.PositionAttributeVocal:
|
124
|
+
case proto_enum_1.SkillTargetType.PositionAttributeDance:
|
125
|
+
case proto_enum_1.SkillTargetType.PositionAttributeVisual: {
|
126
|
+
let _type = (() => {
|
127
|
+
switch (target.type) {
|
128
|
+
case proto_enum_1.SkillTargetType.PositionAttributeVocal:
|
129
|
+
return proto_enum_1.AttributeType.Vocal;
|
130
|
+
case proto_enum_1.SkillTargetType.PositionAttributeDance:
|
131
|
+
return proto_enum_1.AttributeType.Dance;
|
132
|
+
case proto_enum_1.SkillTargetType.PositionAttributeVisual:
|
133
|
+
return proto_enum_1.AttributeType.Visual;
|
134
|
+
default:
|
135
|
+
return proto_enum_1.AttributeType.Unknown;
|
136
|
+
}
|
137
|
+
})();
|
138
|
+
targetNum = (_r = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _r !== void 0 ? _r : 1;
|
139
|
+
let _targetList = [];
|
140
|
+
if (live.quest.position1AttributeType === _type) {
|
141
|
+
_targetList.push(1, 6);
|
142
|
+
}
|
143
|
+
if (live.quest.position2AttributeType === _type) {
|
144
|
+
_targetList.push(2, 7);
|
145
|
+
}
|
146
|
+
if (live.quest.position3AttributeType === _type) {
|
147
|
+
_targetList.push(3, 8);
|
148
|
+
}
|
149
|
+
if (live.quest.position4AttributeType === _type) {
|
150
|
+
_targetList.push(4, 9);
|
151
|
+
}
|
152
|
+
if (live.quest.position5AttributeType === _type) {
|
153
|
+
_targetList.push(5, 10);
|
154
|
+
}
|
155
|
+
return _targetList;
|
156
|
+
}
|
157
|
+
case proto_enum_1.SkillTargetType.OpponentCenter: {
|
158
|
+
isOpponentTarget = true;
|
159
|
+
if (deckPosition >= 6)
|
160
|
+
return 1;
|
161
|
+
else
|
162
|
+
return 6;
|
163
|
+
}
|
164
|
+
case proto_enum_1.SkillTargetType.OpponentCardType: {
|
165
|
+
isOpponentTarget = true;
|
166
|
+
let cardType = (_s = (0, target_analyze_1.getTargetSecondLastNum)(target.id)) !== null && _s !== void 0 ? _s : 0;
|
167
|
+
targetNum = (_t = (0, target_analyze_1.getTargetLastNum)(target.id)) !== null && _t !== void 0 ? _t : 1;
|
168
|
+
return live.liveDeck.liveCards
|
169
|
+
.filter(it => it.liveCard.type === cardType)
|
170
|
+
.map(it => it.index);
|
171
|
+
}
|
172
|
+
case proto_enum_1.SkillTargetType.OpponentAll: {
|
173
|
+
isOpponentTarget = true;
|
174
|
+
targetNum = 5;
|
175
|
+
if (deckPosition <= 5) {
|
176
|
+
return [6, 7, 8, 9, 10];
|
177
|
+
}
|
178
|
+
else {
|
179
|
+
return [1, 2, 3, 4, 5];
|
180
|
+
}
|
181
|
+
}
|
182
|
+
case proto_enum_1.SkillTargetType.OpponentSamePosition: {
|
183
|
+
isOpponentTarget = true;
|
184
|
+
return chart_consts_1.SameLaneOpponent[deckPosition];
|
185
|
+
}
|
186
|
+
default:
|
187
|
+
console.error(`Unimplemented 'TargetType': ${target.type.toString()}.`);
|
188
|
+
return [];
|
189
|
+
}
|
190
|
+
})();
|
191
|
+
return ((isOpponentTarget && deckPosition >= 6) || (!isOpponentTarget && deckPosition <= 5)
|
192
|
+
// ally side
|
193
|
+
? targetList.filter(it => it <= 5)
|
194
|
+
// opponent side
|
195
|
+
: targetList.filter(it => it >= 6)).filter((_, index) => {
|
196
|
+
return index < targetNum;
|
197
|
+
});
|
198
|
+
}
|
199
|
+
}
|
200
|
+
//# sourceMappingURL=target_proc.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"target_proc.js","sourceRoot":"","sources":["../../concert/target_proc.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { SkillEfficacyType } from "../types/proto/proto_enum";
|
2
|
+
export declare function getTriggerLastNum(triggerId: string): number | undefined;
|
3
|
+
export declare function getTriggerStatusType(triggerId: string): SkillEfficacyType;
|
4
|
+
export declare function getTriggerStatusGroup(triggerId: string): SkillEfficacyType[] | undefined;
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getTriggerStatusGroup = exports.getTriggerStatusType = exports.getTriggerLastNum = void 0;
|
4
|
+
const proto_enum_1 = require("../types/proto/proto_enum");
|
5
|
+
const chart_consts_1 = require("./consts/chart_consts");
|
6
|
+
function getTriggerLastNum(triggerId) {
|
7
|
+
let matched = triggerId.match(/\d+$/);
|
8
|
+
if (matched) {
|
9
|
+
return +matched[0];
|
10
|
+
}
|
11
|
+
return undefined;
|
12
|
+
}
|
13
|
+
exports.getTriggerLastNum = getTriggerLastNum;
|
14
|
+
function getTriggerLastStr(triggerId) {
|
15
|
+
let matched = triggerId.match(/\w+$/);
|
16
|
+
if (matched) {
|
17
|
+
return matched[0];
|
18
|
+
}
|
19
|
+
return undefined;
|
20
|
+
}
|
21
|
+
function getTriggerStatusType(triggerId) {
|
22
|
+
let flag = getTriggerLastStr(triggerId);
|
23
|
+
if (flag) {
|
24
|
+
let type = chart_consts_1.Str2EfficacyType[flag];
|
25
|
+
return type;
|
26
|
+
}
|
27
|
+
return proto_enum_1.SkillEfficacyType.Unknown;
|
28
|
+
}
|
29
|
+
exports.getTriggerStatusType = getTriggerStatusType;
|
30
|
+
function getTriggerStatusGroup(triggerId) {
|
31
|
+
let flag = getTriggerLastStr(triggerId);
|
32
|
+
if (flag) {
|
33
|
+
let group = chart_consts_1.Str2EfficacyGroup[flag];
|
34
|
+
return group;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
exports.getTriggerStatusGroup = getTriggerStatusGroup;
|
38
|
+
//# sourceMappingURL=trigger_analyze.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"trigger_analyze.js","sourceRoot":"","sources":["../../concert/trigger_analyze.ts"],"names":[],"mappings":";;;AAAA,0DAA6D;AAC7D,wDAA2E;AAE3E,SAAgB,iBAAiB,CAC/B,SAAiB;IAEjB,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;KACnB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AARD,8CAQC;AAED,SAAS,iBAAiB,CACxB,SAAiB;IAEjB,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;KAClB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,oBAAoB,CAClC,SAAiB;IAEjB,IAAI,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,IAAI,EAAE;QACR,IAAI,IAAI,GAAG,+BAAgB,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,8BAAiB,CAAC,OAAO,CAAA;AAClC,CAAC;AATD,oDASC;AAED,SAAgB,qBAAqB,CACnC,SAAiB;IAEjB,IAAI,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,IAAI,EAAE;QACR,IAAI,KAAK,GAAG,gCAAiB,CAAC,IAAI,CAAC,CAAA;QACnC,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AARD,sDAQC"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { LiveCard } from "../types/card_types";
|
2
|
+
import { Actable, CardStatus, Chart, Live, SkillStatus } from "../types/concert_types";
|
3
|
+
import { SkillCategoryType } from "../types/proto/proto_enum";
|
4
|
+
import { SkillTrigger } from "../types/proto/proto_master";
|
5
|
+
export declare function getTriggeredIndexes(trigger: SkillTrigger | undefined, skillType: SkillCategoryType, skillStatus: SkillStatus, live: Live, current: Chart, deckPosition: number, isOpponentSide: boolean, actable: Actable[], cardStatus?: CardStatus, deckCard?: LiveCard): number[] | undefined;
|