Skip to content

Commit 252e4f3

Browse files
committed
Merge branch 'PR-Branch' into player
2 parents 55a2f54 + 8bdc4e0 commit 252e4f3

File tree

7 files changed

+87
-42
lines changed

7 files changed

+87
-42
lines changed

card/standard.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -566,15 +566,15 @@ game.import("card", function () {
566566
cardcolor: "red",
567567
toself: true,
568568
enable(card, player) {
569-
return player.hp < player.maxHp;
569+
return player.isDamaged();
570570
},
571571
savable: true,
572572
selectTarget: -1,
573573
filterTarget(card, player, target) {
574-
return target === player && target.hp < target.maxHp;
574+
return target === player && target.isDamaged();
575575
},
576576
modTarget(card, player, target) {
577-
return target.hp < target.maxHp;
577+
return target.isDamaged();
578578
},
579579
content() {
580580
target.recover();

character/refresh/skill.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14969,7 +14969,7 @@ const skills = {
1496914969
trigger: { global: "recoverBefore" },
1497014970
direct: true,
1497114971
filter(event, player) {
14972-
return player != event.player && event.player.group == "wu" && player.hp <= event.player.hp && event.getParent().name != "rejiuyuan" && player.hasZhuSkill("rejiuyuan", event.player);
14972+
return player != event.player && event.player.group == "wu" && player.hp <= event.player.hp && event.getParent().name != "rejiuyuan" && player.hasZhuSkill("rejiuyuan", event.player) && event.player === _status.currentPhase;
1497314973
},
1497414974
content() {
1497514975
"step 0";

character/sp2/skill.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,7 +1125,7 @@ const skills = {
11251125
async content(event, trigger, player) {
11261126
player.awakenSkill(event.name);
11271127
const target = event.target;
1128-
await target.addSkills("starchengfeng");
1128+
const list = ["starchengfeng"];
11291129
if (
11301130
target.isZhu2() &&
11311131
!target.getSkills(null, false, false).filter(skill => {
@@ -1136,25 +1136,25 @@ const skills = {
11361136
return true;
11371137
}).length
11381138
) {
1139-
await target.addSkills("startongyin");
1139+
list.push("startongyin");
11401140
}
1141+
await target.addSkills(list);
11411142
const targets = game.filterPlayer(current => current != target && current.countCards("he"));
11421143
let targetx;
11431144
if (!targets.length) {
11441145
return;
11451146
} else if (targets.length == 1) {
11461147
targetx = targets[0];
11471148
} else {
1148-
const result = await player
1149+
const { result } = await player
11491150
.chooseTarget(`令另一名角色将牌置于${get.translation(target)}武将牌上`, true, function (card, player, target) {
11501151
return target != get.event("gainer") && target.countCards("he");
11511152
})
11521153
.set("gainer", target)
11531154
.set("ai", target => {
11541155
return get.attitude(get.player(), target) * target.countCards("he");
1155-
})
1156-
.forResult();
1157-
if (result.bool) {
1156+
});
1157+
if (result?.targets?.length) {
11581158
targetx = result.targets[0];
11591159
} else {
11601160
return;
@@ -1164,14 +1164,13 @@ const skills = {
11641164
for (let card of targetx.getCards("he")) {
11651165
suits.add(get.suit(card));
11661166
}
1167-
const result = await targetx
1167+
const { result } = await targetx
11681168
.chooseCard("he", true, suits.length)
11691169
.set("complexCard", true)
11701170
.set("filterCard", card => {
11711171
return ui.selected.cards.every(cardx => get.suit(cardx) != get.suit(card));
1172-
})
1173-
.forResult();
1174-
if (result.bool) {
1172+
});
1173+
if (result?.cards?.length) {
11751174
const next = target.addToExpansion(result.cards, targetx, "give");
11761175
next.gaintag.add("starchengfeng");
11771176
await next;

character/sp2/translate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ const translates = {
600600
staranshu: "安庶",
601601
staranshu_info: "①每轮结束时,你可以选择弃牌堆中不同牌名的基本牌各一张置于牌堆顶,然后视为使用一张【五谷丰登】(从你或一名已受伤角色开始结算);②一名角色的回合结束时,若有角色本回合失去了上轮因〖安庶〗①获得的牌,你可令其将手牌摸至体力上限(至多摸五张)。",
602602
starkuangzuo: "匡祚",
603-
starkuangzuo_info: "限定技,出牌阶段,你可以令一名角色A获得〖承奉〗(若其为主公且没有主公技,其获得〖统荫〗),然后令另一名角色B将每种花色的牌各一张置于A武将牌上,称为“匡祚”。",
603+
starkuangzuo_info: "限定技,出牌阶段,你可以令一名角色A获得〖承奉〗(若其为主公且没有主公技,其额外获得〖统荫〗),然后令另一名角色B将每种花色的牌各一张置于A武将牌上,称为“匡祚”。",
604604
starchengfeng: "承奉",
605605
starchengfeng_info: "每回合限一次,你可以将一张红色/黑色“匡祚”牌当作【闪】/【无懈可击】对即将对你生效的牌使用。此牌结算完成后,若你的“匡祚”牌包含颜色数少于2,你可以将牌堆顶一张牌当作“匡祚”置于武将牌上。",
606606
startongyin: "统荫",

character/tw/intro.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

character/tw/skill.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4352,12 +4352,14 @@ const skills = {
43524352
"tdnodes",
43534353
],
43544354
],
4355+
[
4356+
dialog => {
4357+
dialog.style.setProperty("top", get.is.phoneLayout() ? "20%" : "30%", "important");
4358+
},
4359+
"handle",
4360+
],
43554361
],
43564362
],
4357-
css: {
4358-
position: "absolute",
4359-
top: get.is.phoneLayout() ? "20%" : "30%",
4360-
},
43614363
forced: true,
43624364
selectButton: [1, 2],
43634365
filterOk: () => {

noname/game/index.js

Lines changed: 65 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9937,30 +9937,65 @@ export class Game extends GameCompatible {
99379937
}
99389938
});
99399939
}
9940-
game.saveConfig("version", lib.version);
9941-
if (_status.extensionChangeLog) {
9942-
Object.keys(_status.extensionChangeLog).forEach(value => {
9943-
const li = document.createElement("li");
9944-
li.innerHTML = `${value}${_status.extensionChangeLog[value]}`;
9945-
ul.appendChild(li);
9946-
});
9940+
const dialog = ui.create.dialog(caption, "hidden");
9941+
if (lib.version != lib.config.version) {
9942+
const lic = ui.create.div(dialog.content);
9943+
lic.style.display = "block";
9944+
lic.appendChild(ul);
99479945
}
9948-
const dialog = ui.create.dialog(caption, "hidden"),
9949-
lic = ui.create.div(dialog.content);
9950-
lic.style.display = "block";
9951-
ul.style.display = "inline-block";
9952-
ul.style.marginLeft = "-40px";
9953-
lic.appendChild(ul);
9954-
if (players && players.length) {
9946+
game.saveConfig("version", lib.version);
9947+
if (players?.length) {
99559948
dialog.addSmall([players, "character"]);
99569949
dialog.classList.add("forcebutton");
99579950
dialog.classList.add("withbg");
99589951
}
9959-
if (cards && cards.length) {
9952+
if (cards?.length) {
99609953
dialog.addSmall([cards.map(value => [get.translation(get.type(value)), "", value]), "vcard"]);
99619954
dialog.classList.add("forcebutton");
99629955
dialog.classList.add("withbg");
99639956
}
9957+
if (_status.extensionChangeLog) {
9958+
Object.keys(_status.extensionChangeLog).forEach(extname => {
9959+
dialog.add(ui.create.div(".placeholder"));
9960+
dialog.add(`${extname} ${lib.extensionPack[extname].version} 更新内容`);
9961+
dialog.add(ui.create.div(".placeholder"));
9962+
const changeLogList = _status.extensionChangeLog[extname];
9963+
changeLogList.forEach(item => {
9964+
switch (item.type) {
9965+
case "text": {
9966+
const list = Array.isArray(item.data) ? item.data : [item.data];
9967+
if (item.addText) {
9968+
list.forEach(value => {
9969+
dialog.addText(value);
9970+
});
9971+
} else {
9972+
list.forEach(value => {
9973+
const li = document.createElement("li");
9974+
li.innerHTML = value;
9975+
li.style.textAlign = item.textAlign || "center";
9976+
dialog.content.appendChild(li);
9977+
});
9978+
}
9979+
break;
9980+
}
9981+
case "players": {
9982+
dialog.addSmall([item.data, "character"]);
9983+
dialog.classList.add("forcebutton");
9984+
dialog.classList.add("withbg");
9985+
break;
9986+
}
9987+
case "cards": {
9988+
dialog.addSmall([item.data.map(value => [get.translation(get.type(value)), "", value]), "vcard"]);
9989+
dialog.classList.add("forcebutton");
9990+
dialog.classList.add("withbg");
9991+
break;
9992+
}
9993+
default:
9994+
return;
9995+
}
9996+
});
9997+
});
9998+
}
99649999
dialog.open();
996510000
let hidden = false;
996610001
if (!ui.auto.classList.contains("hidden")) {
@@ -9979,8 +10014,9 @@ export class Game extends GameCompatible {
997910014
lib.init.onfree();
998010015
}
998110016
/**
9982-
* @param { string } str
9983-
* @param { string } [extname]
10017+
* 显示显示扩展的更新日志,在game.showChangeLog时显示扩展更新内容
10018+
* @param { string } str 更新日志内容,支持以下格式:`string`: 文本,自动包装为 `{ type: 'text', data: str }`;`Array`: 对象数组,每个对象格式为 `{ type, data, 其他属性 }`; `Object`: 单个日志对象,自动包装成数组
10019+
* @param { string } [extname] 扩展名,未输入则使用_status.extension
998410020
*/
998510021
showExtensionChangeLog(str, extname) {
998610022
extname = extname || _status.extension;
@@ -9989,11 +10025,19 @@ export class Game extends GameCompatible {
998910025
return;
999010026
}
999110027
game.saveConfig(cfg, lib.extensionPack[extname].version);
9992-
if (_status.extensionChangeLog) {
9993-
return;
10028+
_status.extensionChangeLog ??= {};
10029+
if (typeof str === "string") {
10030+
_status.extensionChangeLog[extname] = [
10031+
{
10032+
type: "text",
10033+
data: str,
10034+
},
10035+
];
10036+
} else if (Array.isArray(str)) {
10037+
_status.extensionChangeLog[extname] = str;
10038+
} else if (get.objtype(str) === "object") {
10039+
_status.extensionChangeLog[extname] = [str];
999410040
}
9995-
_status.extensionChangeLog = {};
9996-
_status.extensionChangeLog[extname] = str;
999710041
}
999810042
/**
999910043
* @param { string } key

0 commit comments

Comments
 (0)