Skip to content

Commit 4306bf8

Browse files
committed
技能修改
1.吉吉国王增加动态翻译以及优化部分代码 2.新杀谋刘协结算调整
1 parent 65dca9b commit 4306bf8

File tree

3 files changed

+61
-58
lines changed

3 files changed

+61
-58
lines changed

character/huicui/dynamicTranslate.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { lib, game, ui, get, ai, _status } from "../../noname.js";
22

33
const dynamicTranslates = {
4+
dcyanxi(player) {
5+
return lib.translate["dcyanxi_info"].replace(//, get.cnNumber(player.countMark("dcyanxi")));
6+
},
47
dcboxuan(player) {
58
if (player.storage.dcboxuan) {
69
return lib.translate["dcboxuan_rewrite_info"];

character/huicui/skill.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const skills = {
99
usable: 1,
1010
chooseButton: {
1111
dialog(event, player) {
12-
return ui.create.dialog(`###诹议###`, [
12+
return ui.create.dialog(`###诹议###${get.translation("dczouyi_info")}`, [
1313
[
1414
["draw", "你摸2张牌并可弃置一名其他角色1张牌"],
1515
["discard", "你弃置1张牌并可令一名其他角色摸2张牌"],
@@ -67,11 +67,8 @@ const skills = {
6767
await target.draw(2);
6868
}
6969
}
70-
player.addMark(
71-
"dcyanxi",
72-
game.countPlayer(target => target.countCards("h") == player.countCards("h")),
73-
false
74-
);
70+
const num = game.countPlayer(target => target.countCards("h") == player.countCards("h"));
71+
player.addMark("dcyanxi", num, false);
7572
},
7673
};
7774
},
@@ -102,8 +99,9 @@ const skills = {
10299
card = get.autoViewAs({ name: "sha", isCard: true });
103100
let isFirst = true;
104101
while (player.countMark(event.name) > 0 && player.canUse(card, target, false, false) && target.isIn()) {
105-
if (!isFirst) {
102+
if (isFirst) {
106103
isFirst = false;
104+
} else {
107105
player.logSkill(event.name, target);
108106
}
109107
player.removeMark(event.name, 1, false);

character/xianding/skill.js

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,65 +1056,33 @@ const skills = {
10561056
backup(links) {
10571057
return {
10581058
audio: "dcsbzhanban",
1059-
link: links[0],
10601059
filterTarget: lib.filter.notMe,
10611060
selectTarget: -1,
10621061
log: false,
1063-
multitarget: true,
1064-
multiline: true,
1065-
line: false,
1066-
async content(event, trigger, player) {
1067-
const link = lib.skill.dcsbzhanban_backup.link;
1062+
async precontent(event, trigger, player) {
1063+
player.logSkill("dcsbzhanban", event.result.targets);
1064+
const link = links[0];
10681065
if (link > 0) {
10691066
await player.draw(link);
10701067
} else if (link < 0) {
10711068
await player.chooseToDiscard(`斩绊:弃置至多三张牌`, "he", [1, 3], true);
10721069
}
1073-
let targets = event.targets;
1074-
if (player.hasZhuSkill("dcsbtiancheng") && targets.some(target => target.group == "qun")) {
1075-
const result = await player
1076-
.chooseTarget(`斩绊:你可以选择任意名群雄角色不成为目标或取消不选择`, [1, Infinity], (card, player, target) => {
1077-
return target != player && target.group == "qun";
1078-
})
1079-
.set("ai", target => {
1080-
const num = get.player().countCards("h"),
1081-
numx = num - target.countCards("h"),
1082-
att = get.attitude(get.player(), target);
1083-
let val;
1084-
if (numx > 0) {
1085-
val = numx - 3;
1086-
} else if (numx < 0) {
1087-
val = numx + 3;
1088-
} else {
1089-
val = -2;
1090-
}
1091-
val = val == 0 ? 0.5 : val;
1092-
return val * att < 0;
1093-
})
1094-
.forResult();
1095-
if (result?.targets?.length) {
1096-
targets.removeArray(result.targets);
1097-
}
1098-
}
1099-
targets = targets.sortBySeat();
1100-
player.logSkill("dcsbzhanban", targets);
1101-
const num = player.countCards("h");
1102-
for (const target of targets) {
1103-
const numx = num - target.countCards("h");
1104-
if (numx > 0) {
1105-
await target.draw(numx, "nodelay");
1106-
} else if (numx < 0) {
1107-
await target.chooseToDiscard(-numx, "h", true);
1108-
}
1109-
}
1110-
for (const target of targets) {
1111-
if (target.hasHistory("gain", evt => evt.getParent(2) == event)) {
1112-
await target.chooseToDiscard(3, "h", true);
1113-
} else if (target.hasHistory("lose", evt => evt.type == "discard" && evt.getlx !== false && evt.getParent(3) == event)) {
1114-
await target.draw(3, "nodelay");
1115-
} else {
1116-
await target.damage();
1117-
}
1070+
},
1071+
async content(event, trigger, player) {
1072+
const num = player.countCards("h"),
1073+
{ target } = event;
1074+
const numx = num - target.countCards("h");
1075+
if (numx > 0) {
1076+
await target.draw(numx, "nodelay");
1077+
} else if (numx < 0) {
1078+
await target.chooseToDiscard(-numx, "h", true);
1079+
}
1080+
if (target.hasHistory("gain", evt => evt.getParent(2) == event)) {
1081+
await target.chooseToDiscard(3, "h", true);
1082+
} else if (target.hasHistory("lose", evt => evt.type == "discard" && evt.getlx !== false && evt.getParent(3) == event)) {
1083+
await target.draw(3, "nodelay");
1084+
} else {
1085+
await target.damage();
11181086
}
11191087
},
11201088
};
@@ -1126,6 +1094,9 @@ const skills = {
11261094
player: 1,
11271095
},
11281096
},
1097+
subSkill: {
1098+
backup: {},
1099+
},
11291100
},
11301101
dcsbchensheng: {
11311102
audio: 2,
@@ -1142,6 +1113,37 @@ const skills = {
11421113
dcsbtiancheng: {
11431114
audio: 2,
11441115
zhuSkill: true,
1116+
trigger: { player: "pre_dcsbzhanban_backupBegin" },
1117+
filter(event, player) {
1118+
return event.player == player && game.hasPlayer(target => target != player && target.group == "qun" && event.result.targets.includes(target)) && player.hasZhuSkill("dcsbtiancheng");
1119+
},
1120+
async cost(event, trigger, player) {
1121+
event.result = await player
1122+
.chooseTarget(get.prompt2(event.skill), [1, Infinity], (card, player, target) => {
1123+
return target != player && target.group == "qun" && get.event().getTrigger().result.targets.includes(target);
1124+
})
1125+
.set("ai", target => {
1126+
const num = get.player().countCards("h"),
1127+
numx = num - target.countCards("h"),
1128+
att = get.attitude(get.player(), target);
1129+
let val;
1130+
if (numx > 0) {
1131+
val = numx - 3;
1132+
} else if (numx < 0) {
1133+
val = numx + 3;
1134+
} else {
1135+
val = -2;
1136+
}
1137+
val = val == 0 ? 0.5 : val;
1138+
return val * att < 0;
1139+
})
1140+
.forResult();
1141+
},
1142+
async content(event, trigger, player) {
1143+
const { targets } = event;
1144+
trigger.result.targets.removeArray(targets);
1145+
await game.delayx();
1146+
},
11451147
ai: { combo: "dcsbzhanban" },
11461148
},
11471149
//谋曹洪

0 commit comments

Comments
 (0)