Skip to content

Commit 1033d1c

Browse files
authored
Merge pull request #3125 from xizifu/PR-Branch
bugfix
2 parents 8296356 + 3962cf1 commit 1033d1c

File tree

4 files changed

+63
-54
lines changed

4 files changed

+63
-54
lines changed

character/extra/skill.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,13 +1119,13 @@ const skills = {
11191119
});
11201120
} else {
11211121
delete evt.result.used;
1122+
delete evt.result.skill;
11221123
evt.result.card = get.autoViewAs({
11231124
name: name,
11241125
storage: { mark_shouli: true },
11251126
isCard: true,
11261127
});
11271128
evt.result.cards = [];
1128-
evt.result._apply_args = { addSkillCount: false };
11291129
evt.redo();
11301130
return;
11311131
}
@@ -7783,6 +7783,7 @@ const skills = {
77837783
});
77847784
} else {
77857785
delete evt.result.used;
7786+
delete evt.result.skill;
77867787
evt.result.card = get.autoViewAs(
77877788
{
77887789
name: name,
@@ -7792,7 +7793,6 @@ const skills = {
77927793
result.links
77937794
);
77947795
evt.result.cards = [result.links[0]];
7795-
evt.result._apply_args = { addSkillCount: false };
77967796
target.$give(result.links[0], player, false);
77977797
if (player != target) {
77987798
target.addTempSkill("fengyin");

character/jsrg/skill.js

Lines changed: 56 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4935,56 +4935,61 @@ const skills = {
49354935
}
49364936
}
49374937
});
4938-
const result = await player
4939-
.chooseButtonTarget({
4940-
createDialog: [`###${get.prompt(event.skill)}###移去一张“城”,令一名目标角色摸X张牌(X为该角色本回合失去过的牌数且至多为5)`, cards],
4941-
targets: targets,
4942-
drawMap: map,
4943-
filterButton: true,
4944-
filterTarget(card, player, target) {
4945-
const { targets, drawMap } = get.event();
4946-
if (drawMap.has(target)) {
4947-
target.prompt(`${drawMap.get(target)}张`);
4948-
}
4949-
return targets.includes(target);
4950-
},
4951-
complexTarget: true,
4952-
ai2(target) {
4953-
return target == get.event("targetx") ? 1 : 0;
4954-
},
4955-
targetx: (() => {
4956-
let info = [];
4957-
targets.filter(target => {
4958-
let att = get.attitude(player, target);
4959-
if (att <= 0) {
4960-
return false;
4961-
}
4962-
if (Math.abs(att) > 1) {
4963-
att = Math.sign(att) * Math.sqrt(Math.abs(att));
4964-
}
4965-
info.push([
4966-
target,
4967-
att *
4968-
target
4969-
.getHistory("lose")
4970-
.map(evt => evt.cards2.length)
4971-
.reduce((p, c) => p + c, 0),
4972-
]);
4938+
const next = player.chooseButtonTarget({
4939+
createDialog: [`###${get.prompt(event.skill)}###移去一张“城”,令一名目标角色摸X张牌(X为该角色本回合失去过的牌数且至多为5)`, cards],
4940+
targets: targets,
4941+
drawMap: map,
4942+
filterButton: true,
4943+
filterTarget(card, player, target) {
4944+
return get.event().targets.includes(target);
4945+
},
4946+
ai2(target) {
4947+
return target == get.event("targetx") ? 1 : 0;
4948+
},
4949+
targetx: (() => {
4950+
let info = [];
4951+
targets.filter(target => {
4952+
let att = get.attitude(player, target);
4953+
if (att <= 0) {
49734954
return false;
4974-
});
4975-
if (!info.length) {
4976-
return null;
49774955
}
4978-
info = info.sort((a, b) => {
4979-
return b[1] - a[1];
4980-
})[0];
4981-
if (info[1] <= 0) {
4982-
return null;
4956+
if (Math.abs(att) > 1) {
4957+
att = Math.sign(att) * Math.sqrt(Math.abs(att));
4958+
}
4959+
info.push([
4960+
target,
4961+
att *
4962+
target
4963+
.getHistory("lose")
4964+
.map(evt => evt.cards2.length)
4965+
.reduce((p, c) => p + c, 0),
4966+
]);
4967+
return false;
4968+
});
4969+
if (!info.length) {
4970+
return null;
4971+
}
4972+
info = info.sort((a, b) => {
4973+
return b[1] - a[1];
4974+
})[0];
4975+
if (info[1] <= 0) {
4976+
return null;
4977+
}
4978+
return info[0];
4979+
})(),
4980+
});
4981+
next.set(
4982+
"targetprompt2",
4983+
next.targetprompt2.concat([
4984+
target => {
4985+
if (!target.isIn() || !get.event().filterTarget(null, get.player(), target)) {
4986+
return false;
49834987
}
4984-
return info[0];
4985-
})(),
4986-
})
4987-
.forResult();
4988+
return `${get.cnNumber(get.event().drawMap.get(target))}张`;
4989+
},
4990+
])
4991+
);
4992+
const { result } = await next;
49884993
if (result?.links?.length && result.targets?.length) {
49894994
event.result = {
49904995
bool: true,
@@ -5030,9 +5035,10 @@ const skills = {
50305035
filter(event, player) {
50315036
return event.name != "phase" || game.phaseNumber == 0;
50325037
},
5033-
content() {
5034-
var cards = get.cards(2);
5035-
player.addToExpansion(cards, "gain2").gaintag.add("jsrgshacheng");
5038+
async content(event, trigger, player) {
5039+
const next = player.addToExpansion(get.cards(2), "gain2");
5040+
next.gaintag.add("jsrgshacheng");
5041+
await next;
50365042
},
50375043
},
50385044
},

character/offline/skill.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28882,6 +28882,7 @@ const skills = {
2888228882
});
2888328883
} else {
2888428884
delete evt.result.used;
28885+
delete evt.result.skill;
2888528886
evt.result.card = get.autoViewAs(
2888628887
{
2888728888
name: name,
@@ -28891,7 +28892,6 @@ const skills = {
2889128892
result.links
2889228893
);
2889328894
evt.result.cards = [result.links[0]];
28894-
evt.result._apply_args = { addSkillCount: false };
2889528895
target.$give(result.links[0], player, false);
2889628896
if (player != target) {
2889728897
target.addTempSkill("fengyin");
@@ -29844,6 +29844,7 @@ const skills = {
2984429844
evt.backup("psqichu_backup");
2984529845
} else {
2984629846
delete evt.result.used;
29847+
delete evt.result.skill;
2984729848
evt.result.card = get.autoViewAs(result.links[0]);
2984829849
if (aozhan) {
2984929850
evt.result.card.name = name;
@@ -29888,6 +29889,7 @@ const skills = {
2988829889
event.result.cards = event.result.card.cards;
2988929890
event.result.card = get.autoViewAs(event.result.cards[0]);
2989029891
event.result.card.name = name;
29892+
event.result._apply_args = { addSkillCount: false };
2989129893
},
2989229894
filterCard: () => false,
2989329895
selectCard: -1,

character/sp/skill.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38694,8 +38694,8 @@ const skills = {
3869438694
evt.backup("aocai_backup");
3869538695
} else {
3869638696
delete evt.result.used;
38697+
delete evt.result.skill;
3869738698
evt.result.card = get.autoViewAs(card);
38698-
evt.result._apply_args = { addSkillCount: false };
3869938699
if (aozhan) {
3870038700
evt.result.card.name = name;
3870138701
}
@@ -38743,6 +38743,7 @@ const skills = {
3874338743
card = get.autoViewAs({ name, isCard: true });
3874438744
}
3874538745
event.result.card = card;
38746+
event.result._apply_args = { addSkillCount: false };
3874638747
},
3874738748
filterCard: () => false,
3874838749
selectCard: -1,

0 commit comments

Comments
 (0)