commit
10768f7b5b
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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点体力。',
|
||||
|
||||
|
|
|
@ -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'],
|
||||
|
|
249
character/sp.js
249
character/sp.js
|
@ -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&¤t.hasMark('xionghuo');
|
||||
if((player.countMark('xinfu_xionghuo')>=2||!game.hasPlayer(function(current){
|
||||
return current!=player&&get.attitude(player,current)<0&¤t.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点体力且本回合手牌上限-1;3.你随机获得其一张手牌和一张装备区的牌。",
|
||||
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点体力且本回合手牌上限-1;3.你随机获得其一张手牌和一张装备区的牌。',
|
||||
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 |
Loading…
Reference in New Issue