Merge pull request #747 from mengxinzxz/PR-Branch

技能调整
This commit is contained in:
Spmario233 2023-12-28 22:03:49 +08:00 committed by GitHub
commit 10768f7b5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 127 additions and 144 deletions

Binary file not shown.

Binary file not shown.

BIN
audio/skill/sbhuoji3.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -100,7 +100,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){
return !target.hasSkill('wuling_wuqinxi');
},
usable:1,
usable:2,
prompt:'选择一名角色,向其传授“五禽戏”',
group:'wuling_die',
content:function(){
@ -154,9 +154,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wuqinxiMap:[
'虎:当你使用指定唯一目标的牌对目标角色造成伤害时,此伤害+1。',
'鹿①当你获得此效果时你回复1点体力并弃置判定区的所有牌。②你不能成为延时锦囊牌的目标。',
'熊:当你受到伤害时,此伤害-1。',
'熊:每回合限一次,当你受到伤害时,此伤害-1。',
'猿:出牌阶段开始时,你选择一名角色,随机获得其装备区里的一张牌。',
'鹤:出牌阶段开始时,你摸张牌。',
'鹤:出牌阶段开始时,你摸张牌。',
],
updateMark:function(player){
var wuqinxi=player.storage.wuling_wuqinxi;
@ -226,7 +226,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var evt=event.getParent('useCard');
return evt.targets&&evt.targets.length==1&&evt.targets.includes(event.player);
case 'damageBegin4':
return wuqinxi=='熊';
return wuqinxi=='熊'&&!player.hasSkill('wuling_xiong');
default:
if(wuqinxi=='鹤') return true;
if(wuqinxi!='猿') return false;
@ -251,12 +251,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish();
break;
case 'damageBegin4':
player.addTempSkill('wuling_xiong');
trigger.num--;
event.finish();
break;
default:
if(wuqinxi=='鹤'){
player.draw(2);
player.draw(3);
event.finish();
}
else{
@ -290,7 +291,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
const curWuqinxi=wuqinxi[0];
const nextWuqinxi=wuqinxi[1];
if(nextWuqinxi=='鹿'&&get.type(card)=='delay') return 'zerotarget';
if(curWuqinxi!='熊') return;
if(curWuqinxi!='熊'||player.hasSkill('wuling_xiong')) return;
if(player.hasSkillTag('jueqing',false,target)) return;
var num=get.tag(card,'damage');
if(num){
@ -301,6 +302,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
},
xiong:{charlotte:true},
die:{
trigger:{player:'die'},
filter:function(event,player){
@ -7997,14 +7999,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shen_huatuo:'神华佗',
shen_huatuo_prefix:'神',
wuling:'五灵',
wuling_info:'①出牌阶段限次。你可以选择一名没有“五禽戏”的角色,按照你选择的顺序向其传授“五禽戏”,且其获得如下效果:其获得你选择的第一种“五禽戏”的效果,并在其每个准备阶段移除当前“五禽戏”的效果并切换为下一种。②当你死亡时,你令场上的角色失去你传授的“五禽戏”。',
wuling_info:'①出牌阶段限次。你可以选择一名没有“五禽戏”的角色,按照你选择的顺序向其传授“五禽戏”,且其获得如下效果:其获得你选择的第一种“五禽戏”的效果,并在其每个准备阶段移除当前“五禽戏”的效果并切换为下一种。②当你死亡时,你令场上的角色失去你传授的“五禽戏”。',
wuling_wuqinxi:'五禽戏',
wuling_wuqinxi_info:'<br><li>“五禽戏”分为“虎、鹿、熊、猿、鹤”五个不同的效果:'+
'<br><li>虎:当你使用指定唯一目标的牌对目标角色造成伤害时,此伤害+1。'+
'<br><li>鹿①当你获得此效果时你回复1点体力并弃置判定区的所有牌。②你不能成为延时锦囊牌的目标。'+
'<br><li>熊:当你受到伤害时,此伤害-1。'+
'<br><li>熊:每回合限一次,当你受到伤害时,此伤害-1。'+
'<br><li>猿:出牌阶段开始时,你选择一名角色,随机获得其装备区里的一张牌。'+
'<br><li>鹤:出牌阶段开始时,你摸张牌。',
'<br><li>鹤:出牌阶段开始时,你摸张牌。',
youyi:'游医',
youyi_info:'①弃牌阶段结束时你可以将所有于此阶段弃置的牌置入仁区。②出牌阶段限一次。你可以将仁区的所有牌置入弃牌堆令所有角色各回复1点体力。',

View File

@ -46,7 +46,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterSort:{
sb:{
sb_zhi:['sb_sunquan','sb_zhouyu','sb_zhangjiao','sb_caocao','sb_zhenji','sb_liubei','sb_daqiao','sb_liubiao','sb_sp_zhugeliang'],
sb_zhi:['sb_sunquan','sb_zhouyu','sb_zhangjiao','sb_caocao','sb_zhenji','sb_liubei','sb_daqiao','sb_liubiao','sb_sp_zhugeliang','sb_zhugeliang'],
sb_shi:['sb_xuhuang','sb_machao','sb_fazheng','sb_chengong','sb_diaochan','sb_pangtong','sb_zhanghe'],
sb_tong:['liucheng','sp_yangwan','sb_xiahoushi','sb_zhangfei','sb_zhaoyun','sb_sunce','sb_zhurong','sb_xiaoqiao'],
sb_yu:['sb_yujin','sb_lvmeng','sb_huangzhong','sb_huanggai','sb_zhouyu','sb_caoren','sb_ganning','sb_yl_luzhi','sb_huangyueying'],

View File

@ -24387,102 +24387,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
},
"xinfu_xionghuo":{
group:["xinfu_xionghuo_damage","xinfu_xionghuo_begin","xinfu_xionghuo_init"],
subSkill:{
begin:{
audio:'xinfu_xionghuo',
logTarget:'player',
line:false,
forced:true,
trigger:{
global:"phaseUseBegin",
},
filter:function (event,player){
return event.player.countMark('xionghuo')>0&&event.player!=player;
},
content:function (){
'step 0'
trigger.player.removeMark('xionghuo',trigger.player.countMark('xionghuo'));
var list=[1,2,3];
var num=list.randomGet();
event.goto(num);
'step 1'
player.line(trigger.player,'fire');
trigger.player.damage('fire');
if(!trigger.player.storage.xionghuo_disable) trigger.player.storage.xionghuo_disable=[];
trigger.player.storage.xionghuo_disable.push(player);
trigger.player.addTempSkill('xionghuo_disable','phaseAfter');
event.goto(4);
'step 2'
player.line(trigger.player,'water');
trigger.player.loseHp();
trigger.player.addMark('xionghuo_low',1,false);
trigger.player.addTempSkill('xionghuo_low','phaseAfter');
event.goto(4);
'step 3'
player.line(trigger.player,'green');
var card1=trigger.player.getCards('h').randomGet();
var card2=trigger.player.getCards('e').randomGet();
var list=[];
if(card1) list.push(card1);
if(card2) list.push(card2);
if(list.length>0){
player.gain(list,trigger.player,'giveAuto','bySelf');
}
'step 4'
game.delay();
},
},
damage:{
audio:"xinfu_xionghuo",
sub:true,
forced:true,
trigger:{
source:"damageBegin1",
},
filter:function (event,player){
return event.player.countMark('xionghuo')>0&&event.player!=player;
},
content:function (){
trigger.num++;
},
},
init:{
audio:'xinfu_xionghuo',
trigger:{
global:"phaseBefore",
player:"enterGame",
},
forced:true,
locked:false,
filter:function(event,player){
return (event.name!='phase'||game.phaseNumber==0);
},
content:function(){
player.addMark("xionghuo",3);
},
},
},
xinfu_xionghuo:{
audio:2,
enable:"phaseUse",
enable:'phaseUse',
filter:function(event,player){
return player.countMark('xionghuo')>0;
return player.countMark('xinfu_xionghuo')>0;
},
filterTarget:function (card,player,target){
if(target.hasMark('xionghuo')) return false;
return player!=target>0;
filterTarget:function(card,player,target){
return player!=target&&!target.hasMark('xinfu_xionghuo');
},
content:function (){
player.removeMark('xionghuo',1);
target.addMark('xionghuo',1);
content:function(){
player.removeMark('xinfu_xionghuo',1);
target.addMark('xinfu_xionghuo',1);
},
ai:{
order:11,
result:{
target:function(player,target){
if((player.countMark('xionghuo')>=2||!game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)<0&&current.hasMark('xionghuo');
if((player.countMark('xinfu_xionghuo')>=2||!game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)<0&&current.hasMark('xinfu_xionghuo');
}))&&player.countCards('h',function(card){
return get.tag(card,'damage')&&player.canUse(card,target,null,true)
&&player.getUseValue(card)>0&&get.effect_use(target,card,player)>0
@ -24493,7 +24416,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
})) return 3/Math.max(1,target.hp);
if((!player.hasUnknown()&&game.countPlayer(function(current){
return get.attitude(player,current)<0;
})<=1)||player.countMark('xionghuo')>=2){
})<=1)||player.countMark('xinfu_xionghuo')>=2){
return -1;
}
return 0;
@ -24501,7 +24424,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
effect:{
player:function(card,player,target){
if(player!=target&&get.tag(card,'damage')&&target&&target.hasMark('xionghuo')&&!target.hasSkillTag('filterDamage',null,{
if(player!=target&&get.tag(card,'damage')&&target&&target.hasMark('xinfu_xionghuo')&&!target.hasSkillTag('filterDamage',null,{
player:player,
card:card,
})) return [1,0,1,-2];
@ -24509,41 +24432,107 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
threaten:1.6,
},
},
xionghuo:{
marktext:"戾",
marktext:'戾',
intro:{
name:'暴戾',
content:"mark",
content:'mark',
},
locked:true,
},
"xionghuo_disable":{
mod:{
playerEnabled:function (card,player,target){
if(card.name=='sha'&&(player.storage.xionghuo_disable&&player.storage.xionghuo_disable.contains(target))) return false;
group:['xinfu_xionghuo_init','xinfu_xionghuo_damage','xinfu_xionghuo_effect'],
subSkill:{
init:{
audio:'xinfu_xionghuo',
trigger:{
global:"phaseBefore",
player:'enterGame',
},
filter:function(event,player){
return event.name!='phase'||game.phaseNumber==0;
},
forced:true,
locked:false,
content:function(){
player.addMark('xinfu_xionghuo',3);
},
},
},
onremove:true,
charlotte:true,
mark:true,
marktext:"禁",
intro:{
content:"本回合内不能对$使用【杀】",
},
},
"xionghuo_low":{
mod:{
maxHandcard:function (player,num){
return num-player.countMark('xionghuo_low');
damage:{
audio:"xinfu_xionghuo",
trigger:{source:'damageBegin1'},
filter:function(event,player){
return event.player.countMark('xinfu_xionghuo')>0&&event.player!=player;
},
forced:true,
locked:false,
logTarget:'player',
content:function(){
trigger.num++;
},
},
effect:{
audio:'xinfu_xionghuo',
trigger:{global:'phaseUseBegin'},
filter:function(event,player){
return event.player.countMark('xinfu_xionghuo')>0&&event.player!=player;
},
line:false,
forced:true,
locked:false,
logTarget:'player',
content:function(){
'step 0'
trigger.player.removeMark('xinfu_xionghuo',trigger.player.countMark('xinfu_xionghuo'));
'step 1'
var num=get.rand(0,2);
switch(num){
case 0:
player.line(trigger.player,'fire');
trigger.player.damage('fire');
trigger.player.addTempSkill('xinfu_xionghuo_disable');
trigger.player.markAuto('xinfu_xionghuo_disable',[player]);
break;
case 1:
player.line(trigger.player,'water');
trigger.player.loseHp();
trigger.player.addMark('xinfu_xionghuo_low',1,false);
trigger.player.addTempSkill('xinfu_xionghuo_low');
break;
case 2:
player.line(trigger.player,'green');
var card1=trigger.player.getCards('h').randomGet();
var card2=trigger.player.getCards('e').randomGet();
var list=[];
if(card1) list.push(card1);
if(card2) list.push(card2);
if(list.length) player.gain(list,trigger.player,'giveAuto','bySelf');
break;
}
'step 2'
game.delay();
},
},
disable:{
mod:{
playerEnabled:function (card,player,target){
if(card.name=='sha'&&player.getStorage('xinfu_xionghuo_disable').includes(target)) return false;
},
},
charlotte:true,
onremove:true,
mark:true,
marktext:'禁',
intro:{content:'不能对$使用【杀】'},
},
low:{
mod:{
maxHandcard:function (player,num){
return num-player.countMark('xinfu_xionghuo_low');
},
},
charlotte:true,
onremove:true,
mark:true,
marktext:'减',
intro:{content:'手牌上限-#'},
},
},
marktext:"减",
mark:true,
onremove:true,
charlotte:true,
intro:{
content:"本回合内手牌上限-#",
},
},
xinfu_shajue:{
@ -24554,15 +24543,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
forced:true,
content:function(){
player.addMark('xionghuo',1);
if(trigger.player.hp<0&&trigger.parent.name=='damage'&&get.itemtype(trigger.parent.cards)=='cards'&&get.position(trigger.parent.cards[0],true)=='o'){
player.addMark('xinfu_xionghuo',1);
if(trigger.player.hp<0&&get.itemtype(trigger.parent.cards)=='cards'&&get.position(trigger.parent.cards[0],true)=='o'){
player.gain(trigger.parent.cards,'gain2');
}
},
},
xinfu_jianjie:{
audio:3,
},
xinfu_jianjie:{audio:3},
jianjie:{
group:["jianjie_use","jianjie_die"],
derivation:['jianjie_huoji','jianjie_lianhuan','jianjie_yeyan'],
@ -25537,16 +25524,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"lingren_xingshang_info":"当有角色死亡后你可以选择一项1.回复1点体力。2.获得该角色的所有牌。",
"xinfu_fujian":"伏间",
"xinfu_fujian_info":"锁定技结束阶段开始时你观看一名随机的其他角色的随机X张手牌。(X为场上手牌最少的角色的手牌数)",
"xinfu_xionghuo":"凶镬",
"xinfu_xionghuo_info":"游戏开始时你获得3个“暴戾”标记。出牌阶段你可以交给一名其他角色一个“暴戾”标记你对有“暴戾”标记的其他角色造成伤害时此伤害+1。有“暴戾”的其他角色的出牌阶段开始时其移去所有“暴戾”标记并随机执行一项1.受到1点火焰伤害且本回合不能对你使用【杀】2.失去1点体力且本回合手牌上限-13.你随机获得其一张手牌和一张装备区的牌。",
xionghuo:"凶镬",
"xionghuo_info":"",
"xionghuo_disable":"凶镬",
"xionghuo_disable_info":"",
"xionghuo_low":"凶镬",
"xionghuo_low_info":"",
"xinfu_shajue":"杀绝",
"xinfu_shajue_info":"锁定技其他角色进入濒死状态时你获得一个“暴戾”标记。然后若其体力值小于0你获得使其进入濒死状态的牌。",
xinfu_xionghuo:'凶镬',
xinfu_xionghuo_info:'游戏开始时你获得3个“暴戾”标记。出牌阶段你可以交给一名其他角色一个“暴戾”标记。当你对有“暴戾”标记的其他角色造成伤害时此伤害+1。有“暴戾”标记的其他角色的出牌阶段开始时其移去所有“暴戾”标记并随机执行一项1.受到1点火焰伤害且本回合不能对你使用【杀】2.失去1点体力且本回合手牌上限-13.你随机获得其一张手牌和一张装备区的牌。',
xinfu_shajue:'杀绝',
xinfu_shajue_info:'锁定技其他角色进入濒死状态时你获得一个“暴戾”标记。然后若其体力值小于0你获得使其进入濒死状态的牌。',
xinfu_jianjie:"荐杰",
jianjie:'荐杰',
jianjie_info:'①你的第一个准备阶段开始时,你令一名其他角色获得“龙印”,然后令另一名其他角色获得“凤印”。②出牌阶段限一次。若当前回合不是你的第一个回合,则你可以移动场上的“龙印”或“凤印”。③拥有“龙印”或“凤印”的其他角色死亡时,你转移该角色的“龙印”和“凤印”。④拥有“龙印”/“凤印”的角色视为拥有〖火计〗/〖连环〗,且同时拥有这两种标记的角色视为拥有〖业炎〗。',

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB