This commit is contained in:
libccy 2017-01-13 18:46:49 +08:00
parent e407da759d
commit 7c4ea8cd01
18 changed files with 683 additions and 44 deletions

View File

@ -1463,18 +1463,11 @@ card.swd={
yufulu:{ yufulu:{
fullskin:true, fullskin:true,
type:'equip', type:'equip',
chongzhu:true,
enable:function(card,player){
return player.sex=='female';
},
subtype:'equip5', subtype:'equip5',
skills:['touzhi'], skills:['touzhi'],
ai:{ ai:{
basic:{ basic:{
equipValue:function(card,player){ equipValue:5
if(player.sex=='female') return 5;
return 0;
},
} }
} }
}, },
@ -1640,18 +1633,11 @@ card.swd={
guangshatianyi:{ guangshatianyi:{
fullskin:true, fullskin:true,
type:'equip', type:'equip',
chongzhu:true,
enable:function(card,player){
return player.sex=='female';
},
subtype:'equip2', subtype:'equip2',
skills:['guangshatianyi'], skills:['guangshatianyi'],
ai:{ ai:{
basic:{ basic:{
equipValue:function(card,player){ equipValue:6
if(player.sex=='female') return 6;
return 0;
},
} }
} }
}, },
@ -4521,7 +4507,7 @@ card.swd={
guiyoujie:'鬼幽结', guiyoujie:'鬼幽结',
guiyoujie_info:'出牌阶段,对一名其他角色使用。若判定结果为黑色,则将其翻面。', guiyoujie_info:'出牌阶段,对一名其他角色使用。若判定结果为黑色,则将其翻面。',
yufulu:'御夫录', yufulu:'御夫录',
yufulu_info:'仅女性角色可以使用,出牌阶段,可弃置一张武器牌令一名角色受到一点伤害,然后该角色获得此武器牌', yufulu_info:'出牌阶段,可弃置一张武器牌令一名角色受到一点伤害,然后该角色获得此武器牌',
touzhi:'投掷', touzhi:'投掷',
touzhi_info:'出牌阶段,可弃置一张武器牌令一名角色受到一点伤害,然后该角色获得此武器牌', touzhi_info:'出牌阶段,可弃置一张武器牌令一名角色受到一点伤害,然后该角色获得此武器牌',
xixueguizhihuan:'吸血鬼指环', xixueguizhihuan:'吸血鬼指环',
@ -4536,7 +4522,7 @@ card.swd={
chiyuxi_info:'出牌阶段对所有其他角色使用。每名目标角色需打出一张【闪】否则受到1点火焰伤害。', chiyuxi_info:'出牌阶段对所有其他角色使用。每名目标角色需打出一张【闪】否则受到1点火焰伤害。',
guangshatianyi:'光纱天衣', guangshatianyi:'光纱天衣',
guangshatianyi_bg:'纱', guangshatianyi_bg:'纱',
guangshatianyi_info:'仅女性角色可使用,锁定技,每当你即将受到伤害,有三分之一的概率令伤害减一', guangshatianyi_info:'锁定技,每当你即将受到伤害,有三分之一的概率令伤害减一',
sifeizhenmian:'四非真面', sifeizhenmian:'四非真面',
sifeizhenmian_info:'出牌阶段限一次,你可以弃置一张牌,然后指定攻击范围内的一名角色并亮出牌堆顶的一张牌,若此牌为黑色,你弃置四非真面,该角色进入混乱状态直到下一回合结束;否则该角色摸一张牌', sifeizhenmian_info:'出牌阶段限一次,你可以弃置一张牌,然后指定攻击范围内的一名角色并亮出牌堆顶的一张牌,若此牌为黑色,你弃置四非真面,该角色进入混乱状态直到下一回合结束;否则该角色摸一张牌',
yiluan:'意乱', yiluan:'意乱',

View File

@ -92,7 +92,9 @@ character.ow={
return player.num('h',{type:'hslingjian'})>1; return player.num('h',{type:'hslingjian'})>1;
}, },
filterCard:{type:'hslingjian'}, filterCard:{type:'hslingjian'},
filterTarget:true, filterTarget:function(card,player,target){
return !target.hujia;
},
selectCard:2, selectCard:2,
usable:1, usable:1,
content:function(){ content:function(){
@ -363,7 +365,6 @@ character.ow={
game.addVideo('storage',player,['shoujia2',null]); game.addVideo('storage',player,['shoujia2',null]);
if(!player.isTurnedOver()){ if(!player.isTurnedOver()){
player.turnOver(); player.turnOver();
player.draw();
} }
}, },
intro:{ intro:{
@ -385,7 +386,7 @@ character.ow={
group:'shoujia3' group:'shoujia3'
}, },
shoujia3:{ shoujia3:{
trigger:{source:'damageEnd'}, trigger:{global:'damageEnd'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return event.player==player.storage.shoujia2; return event.player==player.storage.shoujia2;
@ -393,6 +394,7 @@ character.ow={
content:function(){ content:function(){
ui.discardPile.appendChild(player.storage.shoujia); ui.discardPile.appendChild(player.storage.shoujia);
player.$throw(player.storage.shoujia); player.$throw(player.storage.shoujia);
game.log(player.storage.shoujia,'被置入弃牌堆')
delete player.storage.shoujia; delete player.storage.shoujia;
delete player.storage.shoujia2; delete player.storage.shoujia2;
player.removeSkill('shoujia2'); player.removeSkill('shoujia2');
@ -2585,7 +2587,7 @@ character.ow={
paotai_info:'出牌阶段你可以弃置一张杀布置或升级一个炮台最高3级回合结束阶段炮台有一定机率对一名随机敌人造成一点火焰伤害每当你受到杀造成的伤害炮台降低一级', paotai_info:'出牌阶段你可以弃置一张杀布置或升级一个炮台最高3级回合结束阶段炮台有一定机率对一名随机敌人造成一点火焰伤害每当你受到杀造成的伤害炮台降低一级',
maoding:'铆钉', maoding:'铆钉',
maoding2:'铆钉', maoding2:'铆钉',
maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名角色获得一点护甲', maoding_info:'每当你造成或受到一次伤害,你可以获得一个零件;出牌限阶段限一次,你可以弃置两张零件牌令一名没有护甲的角色获得一点护甲',
fengshi:'风矢', fengshi:'风矢',
fengshi2:'风矢', fengshi2:'风矢',
fengshi_info:'锁定技,在一合内每当你使用一张牌,你的攻击范围+1你的杀增加20%的概率强制命中你的杀造成伤害后增加20%的概率令伤害+1', fengshi_info:'锁定技,在一合内每当你使用一张牌,你的攻击范围+1你的杀增加20%的概率强制命中你的杀造成伤害后增加20%的概率令伤害+1',
@ -2596,7 +2598,7 @@ character.ow={
shoujia:'兽夹', shoujia:'兽夹',
shoujia2:'兽夹', shoujia2:'兽夹',
shoujia3:'兽夹', shoujia3:'兽夹',
shoujia_info:'出牌阶段限一次,你可以将一张牌背面朝上置于一名其他角色的武将牌上,当该角色使用一张与此牌花色相同的牌指定其他角色为目标时,将此牌置入弃牌堆,该角色将武将牌翻至背面并摸一张牌;当该角色对你造成伤害时,将此牌置入弃牌堆', shoujia_info:'出牌阶段限一次,你可以将一张牌背面朝上置于一名其他角色的武将牌上,当该角色使用一张与此牌花色相同的牌指定其他角色为目标时,将此牌置入弃牌堆,该角色将武将牌翻至背面;当你受到伤害时,将此牌置入弃牌堆',
shihuo:'嗜火', shihuo:'嗜火',
shihuo_info:'锁定技,每当一名角色受到火焰伤害,你摸一张牌', shihuo_info:'锁定技,每当一名角色受到火焰伤害,你摸一张牌',
shanguang:'闪光', shanguang:'闪光',

View File

@ -130,6 +130,7 @@ window.characterRank={
'wanglang', 'wanglang',
'huangzhong', 'huangzhong',
'pal_wangpengxu', 'pal_wangpengxu',
'yxs_luobinhan',
], ],
am:[ am:[
'guohuanghou', 'guohuanghou',
@ -215,8 +216,12 @@ window.characterRank={
'yanbaihu', 'yanbaihu',
'hs_kchromaggus', 'hs_kchromaggus',
'sunru', 'sunru',
'yxs_zhangsanfeng',
'yxs_nandinggeer',
], ],
bp:[ bp:[
'yxs_zhaoyong',
'yxs_yangguang',
'litong', 'litong',
'mizhu', 'mizhu',
'hs_hallazeal', 'hs_hallazeal',
@ -278,7 +283,6 @@ window.characterRank={
'hs_wuther', 'hs_wuther',
'sp_dongzhuo', 'sp_dongzhuo',
'jiangwei', 'jiangwei',
'yxs_luobinhan',
'liubei', 'liubei',
'mateng', 'mateng',
'wutugu', 'wutugu',
@ -422,8 +426,10 @@ window.characterRank={
'xin_yujin', 'xin_yujin',
'hs_yogg', 'hs_yogg',
'diy_feishi', 'diy_feishi',
'yxs_lvzhi',
], ],
bm:[ bm:[
'yxs_tangbohu',
'tadun', 'tadun',
'guohuai', 'guohuai',
'sunluban', 'sunluban',
@ -463,7 +469,6 @@ window.characterRank={
'madai', 'madai',
'liru', 'liru',
're_zhangfei', 're_zhangfei',
'yxs_lvzhi',
'yxs_goujian', 'yxs_goujian',
'yangxiu', 'yangxiu',
're_lvmeng', 're_lvmeng',

View File

@ -1246,7 +1246,6 @@ character.refresh={
trigger:{global:'phaseEnd'}, trigger:{global:'phaseEnd'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
if(lib.filter.autoRespondSha.call({player:player})) return false;
return event.player.isAlive()&&event.player.getStat('damage')&& return event.player.isAlive()&&event.player.getStat('damage')&&
lib.filter.targetEnabled({name:'sha'},player,event.player)&& lib.filter.targetEnabled({name:'sha'},player,event.player)&&
!lib.filter.autoRespondSha.call({player:player}); !lib.filter.autoRespondSha.call({player:player});

View File

@ -5,7 +5,7 @@ character.shenhua={
xiahouyuan:['male','wei',4,['shensu']], xiahouyuan:['male','wei',4,['shensu']],
caoren:['male','wei',4,['jushou','jiewei']], caoren:['male','wei',4,['jushou','jiewei']],
huangzhong:['male','shu',4,['xinliegong']], huangzhong:['male','shu',4,['xinliegong']],
weiyan:['male','shu',4,['xinkuanggu']], weiyan:['male','shu',4,['xinkuanggu','qimou']],
xiaoqiao:['female','wu',3,['tianxiang','hongyan']], xiaoqiao:['female','wu',3,['tianxiang','hongyan']],
zhoutai:['male','wu',4,['buqu','fenji']], zhoutai:['male','wu',4,['buqu','fenji']],
zhangjiao:['male','qun',3,['leiji','guidao','huangtian'],['zhu']], zhangjiao:['male','qun',3,['leiji','guidao','huangtian'],['zhu']],
@ -45,6 +45,103 @@ character.shenhua={
menghuo:['zhurong'], menghuo:['zhurong'],
}, },
skill:{ skill:{
qimou:{
unique:true,
enable:'phaseUse',
filter:function(event,player){
return !player.storage.qimou;
},
init:function(player){
player.storage.qimou=false;
},
mark:true,
intro:{
content:'limited'
},
skillAnimation:'legend',
animationColor:'metal',
content:function(){
'step 0'
var shas=player.get('h','sha');
var num;
if(player.hp>=4&&shas.length>=3){
num=3;
}
else if(player.hp>=3&&shas.length>=2){
num=2;
}
else{
num=1
}
player.unmarkSkill('qimou');
player.storage.qimou=true;
player.chooseControl('一','二','三','四','五','六',function(){
return get.cnNumber(_status.event.goon,true);
}).set('prompt','失去任意点体力').set('goon',num);
'step 1'
var num;
switch(result.control){
case '一':num=1;break;
case '二':num=2;break;
case '三':num=3;break;
case '四':num=4;break;
case '五':num=5;break;
case '六':num=6;break;
}
player.storage.qimou=num;
player.loseHp(num);
player.addTempSkill('qimou2','phaseAfter');
},
ai:{
order:2,
result:{
player:function(player){
if(player.hp==1) return 0;
var shas=player.get('h','sha');
if(!shas.length) return 0;
var card=shas[0];
if(!lib.filter.cardEnabled(card,player)) return 0;
if(lib.filter.cardUsable(card,player)) return 0;
var mindist;
if(player.hp>=4&&shas.length>=3){
mindist=4;
}
else if(player.hp>=3&&shas.length>=2){
mindist=3;
}
else{
mindist=2;
}
for(var i=0;i<game.players.length;i++){
if(game.players[i].hp<=mindist-1&&
get.distance(player,game.players[i],'attack')<=mindist&&
player.canUse(card,game.players[i],false)&&
ai.get.effect(game.players[i],card,player,player)>0){
return 1;
}
}
return 0;
}
}
}
},
qimou2:{
onremove:function(player){
delete player.storage.qimou;
},
mod:{
cardUsable:function(card,player,num){
if(typeof player.storage.qimou=='number'&&card.name=='sha'){
return num+player.storage.qimou;
}
},
attackFrom:function(from,to,distance){
if(typeof from.storage.qimou=='number'){
return distance-from.storage.qimou;
}
}
}
},
xinkuanggu:{ xinkuanggu:{
trigger:{source:'damageEnd'}, trigger:{source:'damageEnd'},
filter:function(event,player){ filter:function(event,player){
@ -3252,6 +3349,8 @@ character.shenhua={
huashen1:'化身', huashen1:'化身',
huashen2:'化身', huashen2:'化身',
xinsheng:'新生', xinsheng:'新生',
qimou:'奇谋',
qimou_info:'限定技,出牌阶段,你可以失去任意点体力,然后直到回合结束,你计算与其他角色的距离-X且你可以多使用X张【杀】X为你失去的体力值',
tiaoxin_info:'出牌阶段,你可以指定一名使用【杀】能攻击到你的角色,该角色需对你使用一张【杀】,若该角色不如此做,你弃掉他的一张牌,每回合限一次。', tiaoxin_info:'出牌阶段,你可以指定一名使用【杀】能攻击到你的角色,该角色需对你使用一张【杀】,若该角色不如此做,你弃掉他的一张牌,每回合限一次。',
zhiji_info:'觉醒技回合开始阶段若你没有手牌你须回复1点体力或摸两张牌然后减1点体力上限并永久获得技能“观星”。', zhiji_info:'觉醒技回合开始阶段若你没有手牌你须回复1点体力或摸两张牌然后减1点体力上限并永久获得技能“观星”。',
xiangle_info:'锁定技,当其他玩家使用【杀】指定你为目标时,需额外弃掉一张基本牌,否则该【杀】对你无效。', xiangle_info:'锁定技,当其他玩家使用【杀】指定你为目标时,需额外弃掉一张基本牌,否则该【杀】对你无效。',

View File

@ -423,20 +423,13 @@ character.xianjian={
return Math.random()<0.5; return Math.random()<0.5;
}, },
content:function(){ content:function(){
var node;
if(player.name2=='pal_longkui'){
node=player.node.avatar2;
}
else if(player.name=='pal_longkui'){
node=player.node.avatar;
}
if(player.storage.fenxing){ if(player.storage.fenxing){
player.storage.fenxing=false; player.storage.fenxing=false;
player.removeSkill('guijiang'); player.removeSkill('guijiang');
player.removeSkill('diesha'); player.removeSkill('diesha');
player.addSkill('diewu'); player.addSkill('diewu');
player.addSkill('lingyu'); player.addSkill('lingyu');
if(node) node.setBackground('pal_longkui','character'); player.setAvatar('pal_longkui','pal_longkui');
} }
else{ else{
player.storage.fenxing=true; player.storage.fenxing=true;
@ -444,7 +437,7 @@ character.xianjian={
player.removeSkill('lingyu'); player.removeSkill('lingyu');
player.addSkill('guijiang'); player.addSkill('guijiang');
player.addSkill('diesha'); player.addSkill('diesha');
if(node) node.setBackground('pal_longkuigui','character'); player.setAvatar('pal_longkui','pal_longkuigui');
} }
}, },
}, },

View File

@ -19,7 +19,7 @@ character.yxs={
yxs_goujian:['male','wu',3,['keji','tuqiang']], yxs_goujian:['male','wu',3,['keji','tuqiang']],
yxs_lishimin:['male','qun',4,['kongju']], yxs_lishimin:['male','qun',4,['kongju']],
yxs_huamulan:['female','shu',3,['xiaoji','yizhuang']], yxs_huamulan:['female','shu',3,['xiaoji','yizhuang']],
yxs_luobinhan:['male','wu',4,['xiadao','lzhangyi']], yxs_luobinhan:['male','wu',4,['xiadao','sheshu','lguiyin']],
yxs_chengjisihan:['male','qun',4,['mashu','qianglue']], yxs_chengjisihan:['male','qun',4,['mashu','qianglue']],
yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']], yxs_mingchenghuanghou:['female','shu',3,['tiewan','chajue']],
yxs_wangzhaojun:['female','wei',3,['heqin','wluoyan']], yxs_wangzhaojun:['female','wei',3,['heqin','wluoyan']],
@ -35,8 +35,440 @@ character.yxs={
yxs_guiguzi:['male','qun',3,['baihe','yinyang','xiushen']], yxs_guiguzi:['male','qun',3,['baihe','yinyang','xiushen']],
yxs_xiaoqiao:['female','wu',3,['chujia','zhijie']], yxs_xiaoqiao:['female','wu',3,['chujia','zhijie']],
yxs_luzhishen:['male','wei',4,['dili','kuangchan']], yxs_luzhishen:['male','wei',4,['dili','kuangchan']],
yxs_zhaoyong:['male','shu',3,['zyhufu','hanbei']],
yxs_yangguang:['male','qun',3,['shiqin','yaoyi']],
yxs_tangbohu:['male','qun',3,['luobi','fengliu']],
yxs_zhangsanfeng:['male','wei',4,['zbudao','taiji']],
yxs_nandinggeer:['female','shu',3,['huli','xianqu','yixin']],
}, },
skill:{ skill:{
huli:{
enable:'phaseUse',
filterCard:{suit:'heart'},
filterTarget:function(card,player,target){
return get.distance(player,target)<=1&&lib.filter.cardEnabled({name:'tao'},target,target);
},
check:function(card){
return 8-ai.get.value(card);
},
discard:false,
filter:function(event,player){
if(player.num('h',{suit:'heart'})){
return true;
}
return false;
},
prepare:function(cards,player,targets){
player.$throw(cards);
},
content:function(){
player.useCard({name:'tao'},cards,targets[0]).animate=false;
},
ai:{
order:9.5,
result:{
target:function(player,target){
return ai.get.recoverEffect(target,player,player);
}
},
threaten:1.6
}
},
yixin:{
skillAnimation:true,
unique:true,
mark:true,
init:function(player){
player.storage.yixin=false;
},
enable:'phaseUse',
filter:function(event,player){
return !player.storage.yixin&&player.num('he')>2;
},
intro:{
content:'limited'
},
filterTarget:function(card,player,target){
return target.isDamaged();
},
filterCard:true,
position:'he',
selectCard:2,
check:function(card){
return 7-ai.get.value(card);
},
content:function(){
player.unmarkSkill('yixin');
player.storage.yixin=true;
var num=Math.min(4,target.maxHp-target.hp);
target.recover(num);
if(num<4){
target.draw(4-num);
}
},
ai:{
order:9.6,
result:{
target:function(player,target){
if(target.hp==1&&target.maxHp>=3){
return ai.get.recoverEffect(target,player,player);
}
return 0;
}
}
}
},
xianqu:{
mod:{
targetEnabled:function(card){
if(card.name=='sha'&&card.number<8) return false;
}
},
},
zbudao:{
trigger:{player:'phaseDrawBegin'},
check:function(event,player){
if(player.hasFriend()) return true;
return false;
},
content:function(){
trigger.num++;
player.addTempSkill('zbudao2','phaseDrawAfter');
},
ai:{
threaten:1.3
},
},
zbudao2:{
trigger:{player:'phaseDrawEnd'},
forced:true,
popup:false,
filter:function(event){
return event.cards&&event.cards.length;
},
content:function(){
'step 0'
event.cards=trigger.cards.slice(0);
player.chooseCardTarget({
filterCard:function(card){
return _status.event.getParent().cards.contains(card);
},
selectCard:1,
filterTarget:function(card,player,target){
return player!=target;
},
ai1:function(card){
if(ui.selected.cards.length>0) return -1;
if(card.name=='du') return 20;
return (_status.event.player.num('h')-_status.event.player.hp);
},
ai2:function(target){
var att=ai.get.attitude(_status.event.player,target);
if(ui.selected.cards.length&&ui.selected.cards[0].name=='du'){
return 1-att;
}
return att-4;
},
forced:true,
prompt:'请选择要送人的卡牌'
});
"step 1"
if(result.bool){
player.line(result.targets,'green');
result.targets[0].gain(result.cards);
player.$give(result.cards.length,result.targets[0]);
game.delay(0.7);
}
}
},
taiji:{
trigger:{player:'respond'},
filter:function(event,player){
if(lib.filter.autoRespondSha.call({player:player})) return false;
return event.card.name=='shan';
},
direct:true,
content:function(){
player.chooseToUse({name:'sha'},'太极:是否使用一张杀?').logSkill='taiji';
},
},
fengliu:{
trigger:{player:'phaseDrawBegin'},
filter:function(event,player){
for(var i=0;i<game.players.length;i++){
if(game.players[i].sex=='female') return true;
}
return false;
},
forced:true,
content:function(){
for(var i=0;i<game.players.length;i++){
if(game.players[i].sex=='female') trigger.num++;
}
},
ai:{
threaten:function(){
var num=1;
for(var i=0;i<game.players.length;i++){
if(game.players[i].sex=='female') num++;
}
return Math.sqrt(num);
}
},
},
luobi:{
trigger:{player:'phaseEnd'},
filter:function(event,player){
return player.isDamaged();
},
content:function(){
"step 0"
player.draw(player.maxHp-player.hp);
"step 1"
event.cards=result;
"step 2"
player.chooseCardTarget({
filterCard:function(card){
return _status.event.getParent().cards.contains(card);
},
selectCard:[1,event.cards.length],
filterTarget:function(card,player,target){
return player!=target;
},
ai1:function(card){
if(ui.selected.cards.length>0) return -1;
if(card.name=='du') return 20;
return (_status.event.player.num('h')-_status.event.player.hp);
},
ai2:function(target){
var att=ai.get.attitude(_status.event.player,target);
if(ui.selected.cards.length&&ui.selected.cards[0].name=='du'){
return 1-att;
}
return att-4;
},
prompt:'请选择要送人的卡牌'
});
"step 3"
if(result.bool){
player.line(result.targets,'green');
result.targets[0].gain(result.cards);
player.$give(result.cards.length,result.targets[0]);
for(var i=0;i<result.cards.length;i++){
event.cards.remove(result.cards[i]);
}
if(event.cards.length) event.goto(2);
}
},
},
yaoyi:{
trigger:{player:'damageEnd'},
direct:true,
filter:function(event,player){
if(event.num>0){
for(var i=0;i<game.players.length;i++){
if(game.players[i].group!='qun'&&game.players[i]!=player) return true;
}
}
return false;
},
content:function(){
'step 0'
player.chooseTarget(get.prompt('yaoyi'),[1,2],function(card,player,target){
return target.num('h')&&target.group!='qun'&&target!=player;
}).set('ai',function(target){
return 0.5-ai.get.attitude(_status.event.player,target);
});
'step 1'
if(result.bool){
player.logSkill('yaoyi',result.targets);
event.targets=result.targets;
}
else{
event.finish();
}
'step 2'
if(event.targets&&event.targets.length){
event.target=event.targets.shift();
event.target.chooseCard('交给'+get.translation(player)+'一张手牌',true).ai=function(card){
return -ai.get.value(card);
}
}
else{
event.finish();
}
'step 3'
if(result.bool&&result.cards&&result.cards.length){
event.target.$give(1,player);
player.gain(result.cards);
}
event.goto(2);
},
ai:{
maixie:true,
expose:0.2,
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkill('jueqing')) return [1,-2];
if(!target.hasFriend()) return;
for(var i=0;i<game.players.length;i++){
if(game.players[i].group!='qun'&&
ai.get.attitude(player,game.players[i])<=0&&
game.players[i]!=player){
if(target.hp>=4) return [1,get.tag(card,'damage')*2];
if(target.hp==3) return [1,get.tag(card,'damage')*1.5];
if(target.hp==2) return [1,get.tag(card,'damage')*0.5];
}
}
}
}
}
}
},
shiqin:{
trigger:{global:'dying'},
priority:11,
filter:function(event,player){
return event.player!=player&&event.player.hp<=0&&event.player.group=='qun';
},
check:function(event,player){
return ai.get.attitude(player,event.player)<0;
},
forced:true,
logTarget:'player',
content:function(){
'step 0'
game.delay(0.5);
trigger.player.die();
'step 1'
if(!trigger.player.isAlive()){
trigger.untrigger(true);
trigger.finish();
}
}
},
zyhufu:{
trigger:{player:'phaseDrawBegin'},
filter:function(event,player){
return !player.get('e','2');
},
forced:true,
content:function(){
trigger.num++;
},
ai:{
threaten:1.3
},
mod:{
maxHandcard:function(player,num){
if(player.get('e','2')) return num+5;
}
}
},
hanbei:{
trigger:{player:'shaBegin'},
forced:true,
filter:function(event,player){
if(player.get('e','3')||player.get('e','4')) return true;
return false;
},
content:function(){
trigger.directHit=true;
}
},
sheshu:{
trigger:{player:'useCard'},
forced:true,
priority:10,
filter:function(event){
return event.card.name=='sha';
},
content:function(){
player.addTempSkill('unequip','useCardAfter');
},
mod:{
targetInRange:function(card){
if(card.name=='sha') return true;
},
},
group:'sheshu2'
},
sheshu2:{
trigger:{player:'shaBegin'},
forced:true,
popup:false,
filter:function(event,player){
return event.target.hp>=3;
},
content:function(){
trigger.directHit=true;
}
},
lguiyin:{
unique:true,
forceunique:true,
enable:'phaseUse',
filter:function(event,player){
return !player.hasSkill('tongyu_guiyin')&&!player.getStat('damage');
},
content:function(){
player.recover();
player.setAvatar('yxs_luobinhan','yxs_handingdun');
player.removeSkill('lguiyin');
player.removeSkill('sheshu');
player.removeSkill('xiadao');
player.addSkill('jimin');
player.addSkill('lzhangyi');
player.addSkill('tongyu');
player.addTempSkill('tongyu_guiyin','phaseAfter');
},
ai:{
order:function(){
if(_status.event.player.hp==1) return 9;
return 0.5;
},
result:{
player:function(player){
if(player.hp<player.maxHp) return 1;
return 0;
}
}
}
},
tongyu:{
unique:true,
forceunique:true,
enable:'phaseUse',
filter:function(event,player){
return player.num('he')>0&&!player.hasSkill('tongyu_guiyin');
},
filterCard:true,
position:'he',
check:function(card){
return 7-ai.get.value(card);
},
content:function(){
player.setAvatar('yxs_luobinhan','yxs_luobinhan');
player.addSkill('lguiyin');
player.addSkill('sheshu');
player.addSkill('xiadao');
player.removeSkill('jimin');
player.removeSkill('lzhangyi');
player.removeSkill('tongyu');
player.addTempSkill('tongyu_guiyin','phaseAfter');
},
ai:{
order:9,
result:{
player:function(player){
if(player.hasFriend()) return 1;
return 0;
}
}
}
},
tongyu_guiyin:{},
zhijie:{ zhijie:{
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
@ -645,7 +1077,7 @@ character.yxs={
} }
} }
}, },
xiadao:{ jimin:{
enable:['chooseToRespond'], enable:['chooseToRespond'],
filterCard:true, filterCard:true,
viewAs:{name:'shan'}, viewAs:{name:'shan'},
@ -668,6 +1100,44 @@ character.yxs={
} }
} }
}, },
xiadao:{
trigger:{source:'damageEnd'},
direct:true,
filter:function(event,player){
if(event.player.isDead()) return false;
var nh=event.player.num('h');
if(nh==0) return false;
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&&
game.players[i]!=event.player&&
game.players[i].num('h')<=nh){
return true;
}
}
return false;
},
content:function(){
'step 0'
var nh=trigger.player.num('h');
var att=ai.get.attitude(player,trigger.player);
player.chooseTarget(get.prompt('xiadao'),function(card,player,target){
return target!=player&&target!=trigger.player&&target.num('h')<=nh;
}).ai=function(target){
if(att>0) return 0;
return ai.get.attitude(player,target);
}
'step 1'
if(result.bool){
player.logSkill('xiadao',result.targets);
result.targets[0].gain(trigger.player.get('h').randomGet());
trigger.player.$give(1,result.targets[0]);
}
},
ai:{
expose:0.2,
threaten:1.4
}
},
lzhangyi:{ lzhangyi:{
trigger:{player:'discardAfter'}, trigger:{player:'discardAfter'},
filter:function(event,player){ filter:function(event,player){
@ -848,7 +1318,7 @@ character.yxs={
trigger:{global:'dying'}, trigger:{global:'dying'},
priority:11, priority:11,
filter:function(event,player){ filter:function(event,player){
return event.player.hp<=0&&player.num('h','jiu')>0&&player!=event.player; return event.player.hp<=0&&(player.num('h','jiu')>0||player.num('h',{color:'black'})>=2)&&player!=event.player;
}, },
check:function(event,player){ check:function(event,player){
return ai.get.attitude(player,event.player)<0; return ai.get.attitude(player,event.player)<0;
@ -857,12 +1327,30 @@ character.yxs={
content:function(){ content:function(){
'step 0' 'step 0'
var goon=(ai.get.attitude(player,trigger.player)<0); var goon=(ai.get.attitude(player,trigger.player)<0);
var next=player.chooseToDiscard({name:'jiu'},'鸠杀:是否弃置一张酒令'+get.translation(trigger.player)+'立即死亡?'); var next=player.chooseToDiscard('鸠杀:是否弃置一张酒或两张黑色手牌令'+get.translation(trigger.player)+'立即死亡?');
next.ai=function(card){ next.ai=function(card){
if(goon) return 1; if(ui.selected.cards.length){
if(ui.selected.cards[0].name=='jiu') return 0;
}
if(goon){
if(card.name=='jiu') return 2;
return 1;
}
return 0; return 0;
}; };
next.filterCard=function(card){
if(ui.selected.cards.length){
return get.color(card)=='black';
}
return get.color(card)=='black'||card.name=='jiu';
};
next.logSkill=['zhensha',trigger.player]; next.logSkill=['zhensha',trigger.player];
next.selectCard=function(){
if(ui.selected.cards.length){
if(get.color(ui.selected.cards[0])!='black') return [1,1];
}
return [1,2];
}
'step 1' 'step 1'
if(result.bool){ if(result.bool){
trigger.player.die(); trigger.player.die();
@ -875,6 +1363,9 @@ character.yxs={
trigger.untrigger(true); trigger.untrigger(true);
trigger.finish(); trigger.finish();
} }
},
ai:{
threaten:1.5
} }
}, },
ducai:{ ducai:{
@ -2146,7 +2637,37 @@ character.yxs={
yxs_guiguzi:'鬼谷子', yxs_guiguzi:'鬼谷子',
yxs_xiaoqiao:'小乔', yxs_xiaoqiao:'小乔',
yxs_luzhishen:'鲁智深', yxs_luzhishen:'鲁智深',
yxs_handingdun:'汉丁顿伯爵',
yxs_zhaoyong:'赵雍',
yxs_yangguang:'杨广',
yxs_tangbohu:'唐伯虎',
yxs_zhangsanfeng:'张三丰',
yxs_nandinggeer:'南丁格尔',
huli:'护理',
huli_info:'出牌阶段你可以将一张红桃手牌当作桃对距离1以内的角色使用',
yixin:'医心',
yixin_info:'限定技你可以弃置两张牌然后令一名已受伤角色回复X点体力并摸4-X张牌X为该角色已损失的体力值且不超过4',
xianqu:'先驱',
xianqu_info:'锁定技你不能成为点数小于8的杀的目标',
zbudao:'布道',
zbudao_info:'摸牌阶段,你可以额外摸一张牌,然后将摸到的牌中的一张交给一名其他角色',
taiji:'太极',
taiji_info:'每当你使用或打出一张闪,你可以使用一张杀',
luobi:'落笔',
luobi_info:'回合结束阶段,可以摸数量等同于已损失体力值的牌,并以任意方式分配给任意角色',
fengliu:'风流',
fengliu_info:'锁定技摸牌阶段你额外摸X张牌X为存活女性角色数且不超过2',
shiqin:'弑亲',
shiqin_info:'锁定技,其他群势力角色濒死时,你令其立即死亡',
yjujian:'拒谏',
yjujian_info:'出牌阶段限一次,你可以交给一名其他角色一张牌,该角色的锦囊牌不能指定你为目标直到你的下一回合开始',
yaoyi:'徭役',
yaoyi_info:'每当你受到一次伤害你可以令至多2名非群势力角色交给你一张手牌',
zyhufu:'胡服',
zyhufu_info:'锁定技,当你的装备区内没有防具牌时,你摸牌阶段额外摸一张牌;当你装备区内有防具牌时,你的手牌上限+5',
hanbei:'捍北',
hanbei_info:'你的装备区有马时,你的杀不可闪避',
kuangchan:'狂禅', kuangchan:'狂禅',
kuangchan_info:'锁定技,你做主公时,不增加体力上限', kuangchan_info:'锁定技,你做主公时,不增加体力上限',
dili:'底力', dili:'底力',
@ -2195,7 +2716,15 @@ character.yxs={
qianglue:'强掠', qianglue:'强掠',
qianglue_info:'每当你的杀被闪避时,你可以进行一次判定,若结果为黑色,你可以获得对方的一张牌', qianglue_info:'每当你的杀被闪避时,你可以进行一次判定,若结果为黑色,你可以获得对方的一张牌',
xiadao:'侠盗', xiadao:'侠盗',
xiadao_info:'当你的装备区内没有牌时,你可以将一张手牌当作闪使用或打出', xiadao_info:'每当你造成一次伤害,你可以令一名手牌数不少于受伤害角色的另一名角色获得其一张手牌',
jimin:'机敏',
jimin_info:'当你的装备区内没有牌时,你可以将一张手牌当作闪使用或打出',
sheshu:'射术',
sheshu_info:'锁定技你的杀无视距离和防具体力值不小于3的角色不能闪避你的杀',
tongyu:'统御',
tongyu_info:'出牌阶段,你可以弃置一张牌,并转变为罗宾汉(每回合只能转变一次)',
lguiyin:'归隐',
lguiyin_info:'出牌阶段,若你本回合内未造成伤害,你可以回复一点体力,并转变为汉丁顿伯爵(每回合只能转变一次)',
lzhangyi:'仗义', lzhangyi:'仗义',
lzhangyi_info:'你可以将你弃置的卡牌交给一名其他角色', lzhangyi_info:'你可以将你弃置的卡牌交给一名其他角色',
yizhuang:'易装', yizhuang:'易装',
@ -2206,7 +2735,7 @@ character.yxs={
tuqiang:'图强', tuqiang:'图强',
tuqiang_info:'每当你使用或打出一张闪,你可以摸一张牌', tuqiang_info:'每当你使用或打出一张闪,你可以摸一张牌',
zhensha:'鸩杀', zhensha:'鸩杀',
zhensha_info:'当场上有角色进入濒死状态时,你可以弃置一张酒,则该角色立即死亡。', zhensha_info:'当场上有角色进入濒死状态时,你可以弃置一张酒或两张黑色手牌,则该角色立即死亡。',
xumou:'蓄谋', xumou:'蓄谋',
xumou_info:'回合结束阶段你可以将武将牌翻页并摸3张牌', xumou_info:'回合结束阶段你可以将武将牌翻页并摸3张牌',
guifu:'鬼斧', guifu:'鬼斧',

View File

@ -671,6 +671,7 @@ window.noname_asset_list=[
'image/character/yxs_fuermosi.jpg', 'image/character/yxs_fuermosi.jpg',
'image/character/yxs_goujian.jpg', 'image/character/yxs_goujian.jpg',
'image/character/yxs_guiguzi.jpg', 'image/character/yxs_guiguzi.jpg',
'image/character/yxs_handingdun.jpg',
'image/character/yxs_huamulan.jpg', 'image/character/yxs_huamulan.jpg',
'image/character/yxs_jinke.jpg', 'image/character/yxs_jinke.jpg',
'image/character/yxs_kaisa.jpg', 'image/character/yxs_kaisa.jpg',
@ -683,16 +684,21 @@ window.noname_asset_list=[
'image/character/yxs_lvzhi.jpg', 'image/character/yxs_lvzhi.jpg',
'image/character/yxs_mingchenghuanghou.jpg', 'image/character/yxs_mingchenghuanghou.jpg',
'image/character/yxs_mozi.jpg', 'image/character/yxs_mozi.jpg',
'image/character/yxs_nandinggeer.jpg',
'image/character/yxs_napolun.jpg', 'image/character/yxs_napolun.jpg',
'image/character/yxs_sunwu.jpg', 'image/character/yxs_sunwu.jpg',
'image/character/yxs_tangbohu.jpg',
'image/character/yxs_wangzhaojun.jpg', 'image/character/yxs_wangzhaojun.jpg',
'image/character/yxs_wuzetian.jpg', 'image/character/yxs_wuzetian.jpg',
'image/character/yxs_xiangyu.jpg', 'image/character/yxs_xiangyu.jpg',
'image/character/yxs_xiaoqiao.jpg', 'image/character/yxs_xiaoqiao.jpg',
'image/character/yxs_yangguang.jpg',
'image/character/yxs_yangyuhuan.jpg', 'image/character/yxs_yangyuhuan.jpg',
'image/character/yxs_yingzheng.jpg', 'image/character/yxs_yingzheng.jpg',
'image/character/yxs_yuefei.jpg', 'image/character/yxs_yuefei.jpg',
'image/character/yxs_yujix.jpg', 'image/character/yxs_yujix.jpg',
'image/character/yxs_zhangsanfeng.jpg',
'image/character/yxs_zhaoyong.jpg',
'image/character/yxs_zhuyuanzhang.jpg', 'image/character/yxs_zhuyuanzhang.jpg',
'image/character/zhangbao.jpg', 'image/character/zhangbao.jpg',
'image/character/zhangchunhua.jpg', 'image/character/zhangchunhua.jpg',

View File

@ -5971,6 +5971,7 @@
event.goto(0); event.goto(0);
}, },
phaseDraw:function(){ phaseDraw:function(){
"step 0"
if(game.modPhaseDraw){ if(game.modPhaseDraw){
game.modPhaseDraw(player,event.num); game.modPhaseDraw(player,event.num);
} }
@ -5982,6 +5983,10 @@
player.draw(event.num); player.draw(event.num);
} }
} }
"step 1"
if(Array.isArray(result)){
event.cards=result;
}
}, },
phaseUse:function(){ phaseUse:function(){
"step 0"; "step 0";
@ -9130,6 +9135,16 @@
setNickname:function(str){ setNickname:function(str){
this.node.nameol.innerHTML=str||this.nickname||''; this.node.nameol.innerHTML=str||this.nickname||'';
return this; return this;
},
setAvatar:function(name,name2){
var node;
if(this.name2==name){
node=this.node.avatar2;
}
else if(this.name==name){
node=this.node.avatar;
}
if(node) node.setBackground(name2,'character');
}, },
update:function(){ update:function(){
if(_status.video&&arguments.length==0) return; if(_status.video&&arguments.length==0) return;

View File

@ -10,13 +10,18 @@ window.noname_update={
'card/extra.js', 'card/extra.js',
'card/yunchou.js', 'card/yunchou.js',
'card/swd.js', 'card/swd.js',
'character/extra.js',
'character/hearth.js', 'character/hearth.js',
'character/standard.js', 'character/standard.js',
'character/swd.js', 'character/swd.js',
'character/rank.js', 'character/rank.js',
'character/xianjian.js', 'character/xianjian.js',
'character/sp.js',
'character/yijiang.js',
'character/ow.js',
'character/yxs.js',
'mode/chess.js', 'mode/chess.js',
], ],
'1.9.3.4':[], // '1.9.3.4':[],
} }
} }

BIN
image/character/weiyan.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
image/skin/weiyan/2.jpg Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 26 KiB