增加新技能,按属性增加伤害上限

This commit is contained in:
枫谷剑仙 2024-11-01 22:41:11 +08:00
parent 3cb1806e18
commit e67cc71aa0
2 changed files with 20 additions and 9 deletions

View File

@ -1064,8 +1064,8 @@ function impartAwakenings(attrs, types, awakenings) {
function obstructOpponent(typeName, pos, ids) {
return { kind: SkillKinds.ObstructOpponent, typeName: typeName, pos: pos, enemy_skills: ids };
}
function increaseDamageCapacity(cap, targets) {
return { kind: SkillKinds.IncreaseDamageCapacity, cap: cap, targets: targets};
function increaseDamageCapacity(cap, targets, attrs, types) {
return { kind: SkillKinds.IncreaseDamageCapacity, cap, targets, attrs, types};
}
function boardJammingStates(state, posType, options) {
return { kind: SkillKinds.BoardJammingStates, state: state, posType: posType, ...options};
@ -1729,6 +1729,11 @@ const skillObjectParsers = {
[259](percent) { return breakingShield(v.xShield(percent)); },
[260](skillStage, voiceId) { return skillPlayVoice(skillStage, voiceId); },
[261](percent) { return gravity(v.xCHP(percent), 'single'); },
[263](turns, cap, attr, type) { //按属性改变伤害上限主动技
return activeTurns(turns,
increaseDamageCapacity(cap * 1e8, void 0, Bin.unflags(attr), Bin.unflags(type))
);
},
[1000](type, pos, ...ids) {
const posType = (type=>{
switch (type) {
@ -2685,18 +2690,24 @@ function renderSkill(skill, option = {})
break;
}
case SkillKinds.IncreaseDamageCapacity: { //增加伤害上限
const {cap, targets} = skill;
const {cap, targets, attrs, types} = skill;
let dict = {
icon: createIcon(skill.kind, cap > 0x7FFFFFFF ? "cap-incr" : "cap-decr"),
targets: document.createDocumentFragment(),
cap: cap.bigNumberToString(),
};
// if (targets[0] !== 'self' || targets.length > 1) {
if (targets?.length) {
dict.targets.append(createTeamFlags(targets));
// }
dict.targets.append(targets.map(target=>
tsp?.target[target.replaceAll("-","_")]?.())
.nodeJoin(tsp.word.slight_pause()));
dict.targets.append(targets.map(target=>
tsp?.target[target.replaceAll("-","_")]?.())
.nodeJoin(tsp.word.slight_pause()));
}
if (attrs?.length) {
dict.targets.append(renderAttrs(attrs));
}
if (types?.length) {
dict.targets.append(renderTypes(types));
}
frg.ap(tsp.skill.increase_damage_cap(dict));
break;

View File

@ -37343,7 +37343,7 @@ const cachesMap = new Map([
],
[
"script-skill-parser.js",
"733b36d01b6b994d8a4c03d2374cc7ac"
"64aced0baa3b08776e7cf22775be353a"
],
[
"script-universal_function.js",