@@ -505,13 +505,20 @@ const skills = {
505505 dcmuzhen: {
506506 audio: 2,
507507 enable: "phaseUse",
508+ onChooseToUse(event) {
509+ if (game.online) {
510+ return;
511+ }
512+ const count = event.player.getHistory("useSkill", evt => evt.skill == "dcmuzhen" && evt.event.getParent("phaseUse") === event.getParent()).length + 1;
513+ event.set("dcmuzhen_count", count);
514+ },
508515 filter(event, player) {
509516 const types = player
510517 .getCards("he")
511518 .map(card => get.type2(card))
512519 .unique(),
513- count = player.getHistory("useSkill", evt => evt.skill == "dcmuzhen" && evt. event.getParent("phaseUse") === event.getParent("phaseUse")).length ;
514- return types.length > 0 && types.some(type => !player.getStorage("dcmuzhen_used").includes(type) && player.countCards("he", card => get.type2(card, player) == type) >= count + 1 );
520+ count = event.dcmuzhen_count ;
521+ return types.length > 0 && types.some(type => !player.getStorage("dcmuzhen_used").includes(type) && player.countCards("he", card => get.type2(card, player) == type) >= count);
515522 },
516523 filterTarget: lib.filter.notMe,
517524 filterCard(card, player) {
@@ -524,9 +531,8 @@ const skills = {
524531 return get.type2(selected[0], player) == type && bool;
525532 },
526533 selectCard() {
527- const player = get.player(),
528- count = player.getHistory("useSkill", evt => evt.skill == "dcmuzhen" && evt.event.getParent("phaseUse") === get.event().getParent("phaseUse")).length;
529- return count + 1;
534+ const count = get.event("dcmuzhen_count");
535+ return count;
530536 },
531537 position: "he",
532538 complexCard: true,
@@ -12407,7 +12413,7 @@ const skills = {
1240712413 },
1240812414 cardUsable(card, player, num) {
1240912415 if (card.name == "sha") {
12410- return num + player.countMark("suizheng_effect");
12416+ return num + 2 * player.countMark("suizheng_effect");
1241112417 }
1241212418 },
1241312419 },
@@ -14243,7 +14249,7 @@ const skills = {
1424314249 audio: 2,
1424414250 enable: "phaseUse",
1424514251 filter(event, player) {
14246- return player.countMark("weilie_used") <= player.getStorage("fuping").length && player.countCards("he") > 0 && game.hasPlayer(current => current.isDamaged());
14252+ return player.countMark("weilie_used") <= ( player.getStorage("fuping").length + 1) && player.countCards("he") > 0 && game.hasPlayer(current => current.isDamaged());
1424714253 },
1424814254 filterCard: true,
1424914255 position: "he",
@@ -14257,7 +14263,7 @@ const skills = {
1425714263 player.addMark(name + "_used", 1, false);
1425814264 await target.recover();
1425914265 if (target.isDamaged()) {
14260- await target.draw();
14266+ await target.draw(2 );
1426114267 }
1426214268 },
1426314269 onremove: true,
0 commit comments