This commit is contained in:
libccy 2017-01-23 17:28:05 +08:00
parent d1ae044f63
commit 5b005455ec
15 changed files with 363 additions and 76 deletions

View File

@ -224,7 +224,7 @@ character.diy={
}, },
content:function(){ content:function(){
"step 0" "step 0"
player.unmarkSkill('guihan'); player.awakenSkill('guihan');
player.recover(); player.recover();
player.storage.guihan=true; player.storage.guihan=true;
"step 1" "step 1"

View File

@ -147,7 +147,7 @@ character.extra={
mark:true, mark:true,
content:function(){ content:function(){
"step 0" "step 0"
player.unmark('shenfen'); player.awakenSkill('shenfen');
player.storage.shenfen=true; player.storage.shenfen=true;
player.storage.baonu-=6; player.storage.baonu-=6;
event.targets=game.players.slice(0); event.targets=game.players.slice(0);
@ -289,7 +289,7 @@ character.extra={
content:function(){ content:function(){
player.loseMaxHp(); player.loseMaxHp();
player.addSkill('jilue'); player.addSkill('jilue');
player.removeSkill('sbaiyin'); player.awakenSkill('sbaiyin');
} }
}, },
jilue:{ jilue:{
@ -874,7 +874,7 @@ character.extra={
return [1,3]; return [1,3];
}, },
content:function(){ content:function(){
player.unmark('yeyan'); player.awakenSkill('yeyan');
player.storage.yeyan=true; player.storage.yeyan=true;
if(cards.length==4){ if(cards.length==4){
player.loseHp(3); player.loseHp(3);

View File

@ -841,6 +841,7 @@ character.hearth={
player.changeHujia(2); player.changeHujia(2);
player.removeSkill('nuyan'); player.removeSkill('nuyan');
player.addSkill('nuyan2'); player.addSkill('nuyan2');
player.awakenSkill('chouhuo');
} }
}, },
nuyan2:{ nuyan2:{
@ -3618,6 +3619,7 @@ character.hearth={
}, },
content:function(){ content:function(){
player.storage.anying=true; player.storage.anying=true;
player.awakenSkill('anying');
player.removeSkill('shengguang'); player.removeSkill('shengguang');
player.addSkill('xinci'); player.addSkill('xinci');
}, },
@ -4469,6 +4471,7 @@ character.hearth={
content:function(){ content:function(){
player.storage.tuteng_awake=true; player.storage.tuteng_awake=true;
player.loseMaxHp(); player.loseMaxHp();
player.awakenSkill('zuling');
} }
}, },
tuteng_h:{ tuteng_h:{

View File

@ -5,7 +5,7 @@ character.jiange={
jg_huangyueying:['female','shu',3,['zhinang','jingmiao']], jg_huangyueying:['female','shu',3,['zhinang','jingmiao']],
jg_zhugeliang:['male','shu',3,['biantian','bazhen']], jg_zhugeliang:['male','shu',3,['biantian','bazhen']],
jg_liubei:['male','shu',4,['jizhen','lingfeng']], jg_liubei:['male','shu',4,['jizhen','lingfeng']],
jg_xiahouyuan:['male','wei',4,['shensu','juechen']], jg_xiahouyuan:['male','wei',4,['xinshensu','juechen']],
jg_caozhen:['male','wei',4,['chiying','jingfan']], jg_caozhen:['male','wei',4,['chiying','jingfan']],
jg_zhanghe:['male','wei',4,['huodi','jueji']], jg_zhanghe:['male','wei',4,['huodi','jueji']],
jg_simayi:['male','wei',5,['xuanlei','sfanshi','konghun']], jg_simayi:['male','wei',5,['xuanlei','sfanshi','konghun']],

View File

@ -564,7 +564,7 @@ character.ow={
'step 0' 'step 0'
if(target==targets[0]){ if(target==targets[0]){
player.storage.baoxue=true; player.storage.baoxue=true;
player.unmarkSkill('baoxue'); player.awakenSkill('baoxue');
player.showHandcards(); player.showHandcards();
player.discard(player.get('he',{color:'black'})); player.discard(player.get('he',{color:'black'}));
} }
@ -1639,7 +1639,7 @@ character.ow={
player.discard(player.get('he')); player.discard(player.get('he'));
'step 1' 'step 1'
player.addTempSkill('zhanlong2','phaseAfter'); player.addTempSkill('zhanlong2','phaseAfter');
player.unmarkSkill('zhanlong'); player.awakenSkill('zhanlong');
player.storage.zhanlong=true; player.storage.zhanlong=true;
var cards=[]; var cards=[];
for(var i=0;i<3;i++){ for(var i=0;i<3;i++){
@ -1990,7 +1990,7 @@ character.ow={
if(target==targets[0]){ if(target==targets[0]){
player.turnOver(); player.turnOver();
player.addSkill('sheng2'); player.addSkill('sheng2');
player.unmarkSkill('sheng'); player.awakenSkill('sheng');
player.storage.sheng=true; player.storage.sheng=true;
} }
target.recover(); target.recover();
@ -2169,7 +2169,7 @@ character.ow={
content:function(){ content:function(){
'step 0' 'step 0'
targets.sort(lib.sort.seat); targets.sort(lib.sort.seat);
player.unmarkSkill('huoyu'); player.awakenSkill('huoyu');
player.storage.huoyu=true; player.storage.huoyu=true;
player.useCard({name:'chiyuxi'},targets).animate=false; player.useCard({name:'chiyuxi'},targets).animate=false;
'step 1' 'step 1'

View File

@ -355,6 +355,7 @@ window.characterRank={
'mifuren', 'mifuren',
'hanba', 'hanba',
'pal_lixiaoyao', 'pal_lixiaoyao',
'sunjian',
], ],
b:[ b:[
'caochun', 'caochun',
@ -467,7 +468,6 @@ window.characterRank={
'zhangjiao', 'zhangjiao',
'zhurong', 'zhurong',
'xuhuang', 'xuhuang',
'sunjian',
'jsp_zhaoyun', 'jsp_zhaoyun',
'tianfeng', 'tianfeng',
'sunce', 'sunce',
@ -483,10 +483,11 @@ window.characterRank={
're_lvmeng', 're_lvmeng',
're_xiahoudun', 're_xiahoudun',
'zhangliang', 'zhangliang',
'xiaoqiao',
'xiahouyuan',
], ],
c:[ c:[
'huaxiong', 'huaxiong',
'xiahouyuan',
'liaohua', 'liaohua',
'zhaoyun', 'zhaoyun',
'machao', 'machao',
@ -494,7 +495,6 @@ window.characterRank={
'caohong', 'caohong',
'caocao', 'caocao',
'lvbu', 'lvbu',
'xiaoqiao',
'yanwen', 'yanwen',
'yujin', 'yujin',
], ],

View File

@ -479,6 +479,7 @@ character.refresh={
player.storage.qinxue=true; player.storage.qinxue=true;
player.loseMaxHp(); player.loseMaxHp();
player.addSkill('gongxin'); player.addSkill('gongxin');
player.awakenSkill('qinxue');
} }
}, },
qingjian:{ qingjian:{
@ -714,7 +715,7 @@ character.refresh={
return player.hp<player.storage.retishen2-1; return player.hp<player.storage.retishen2-1;
}, },
content:function(){ content:function(){
player.unmarkSkill('retishen'); player.awakenSkill('retishen');
player.recover(player.storage.retishen2-player.hp); player.recover(player.storage.retishen2-player.hp);
player.draw(player.storage.retishen2-player.hp); player.draw(player.storage.retishen2-player.hp);
player.storage.retishen=true; player.storage.retishen=true;
@ -1273,7 +1274,7 @@ character.refresh={
return player.hp<player.maxHp; return player.hp<player.maxHp;
}, },
content:function(){ content:function(){
player.removeSkill('qianxin'); player.awakenSkill('qianxin');
player.addSkill('jianyan'); player.addSkill('jianyan');
player.loseMaxHp(); player.loseMaxHp();
} }
@ -1402,7 +1403,7 @@ character.refresh={
}); });
"step 1" "step 1"
if(result.bool){ if(result.bool){
player.unmarkSkill('fenwei'); player.awakenSkill('fenwei');
player.logSkill('fenwei',result.targets); player.logSkill('fenwei',result.targets);
player.storage.fenwei=true; player.storage.fenwei=true;
for(var i=0;i<result.targets.length;i++){ for(var i=0;i<result.targets.length;i++){

View File

@ -2,11 +2,11 @@
character.shenhua={ character.shenhua={
connect:true, connect:true,
character:{ character:{
xiahouyuan:['male','wei',4,['shensu']], xiahouyuan:['male','wei',4,['xinshensu']],
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','qimou']], weiyan:['male','shu',4,['xinkuanggu','qimou']],
xiaoqiao:['female','wu',3,['tianxiang','hongyan']], xiaoqiao:['female','wu',3,['xintianxiang','hongyan']],
zhoutai:['male','wu',4,['buqu','fenji']], zhoutai:['male','wu',4,['buqu','fenji']],
sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']], sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']],
// yuji:['male','qun',3,['guhuo']], // yuji:['male','qun',3,['guhuo']],
@ -134,7 +134,7 @@ character.shenhua={
else{ else{
num=1 num=1
} }
player.unmarkSkill('qimou'); player.awakenSkill('qimou');
player.storage.qimou=true; player.storage.qimou=true;
player.chooseControl('一','二','三','四','五','六',function(){ player.chooseControl('一','二','三','四','五','六',function(){
return get.cnNumber(_status.event.goon,true); return get.cnNumber(_status.event.goon,true);
@ -323,6 +323,7 @@ character.shenhua={
}, },
content:function(){ content:function(){
"step 0" "step 0"
player.awakenSkill('zhiji');
player.chooseControl('zhiji_recover','zhiji_draw',function(event,player){ player.chooseControl('zhiji_recover','zhiji_draw',function(event,player){
if(player.hp>=2) return 'zhiji_draw'; if(player.hp>=2) return 'zhiji_draw';
return 'zhiji_recover'; return 'zhiji_recover';
@ -476,6 +477,7 @@ character.shenhua={
else{ else{
event.trigger('zhuUpdate'); event.trigger('zhuUpdate');
} }
player.awakenSkill('ruoyu');
} }
}, },
qiaobian:{ qiaobian:{
@ -829,6 +831,7 @@ character.shenhua={
player.loseMaxHp(); player.loseMaxHp();
player.addSkill('jixi'); player.addSkill('jixi');
player.storage.zaoxian=true; player.storage.zaoxian=true;
player.awakenSkill('zaoxian');
} }
}, },
jixi:{ jixi:{
@ -903,7 +906,7 @@ character.shenhua={
unique:true, unique:true,
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
filter:function(event,player){ filter:function(event,player){
return player.hp==1; return player.hp==1&&!player.storage.hunzi;
}, },
forced:true, forced:true,
priority:3, priority:3,
@ -911,7 +914,7 @@ character.shenhua={
player.loseMaxHp(); player.loseMaxHp();
player.addSkill('reyingzi'); player.addSkill('reyingzi');
player.addSkill('yinghun'); player.addSkill('yinghun');
player.removeSkill('hunzi'); player.awakenSkill('hunzi');
player.storage.hunzi=true; player.storage.hunzi=true;
game.createTrigger('phaseBegin','yinghun',player,trigger); game.createTrigger('phaseBegin','yinghun',player,trigger);
}, },
@ -936,18 +939,6 @@ character.shenhua={
} }
} }
}, },
hunzi2:{
unique:true,
trigger:{player:'phaseBefore'},
filter:function(event,player){
return player.hp==1;
},
forced:true,
popup:false,
content:function(){
player.addTempSkill('yinghun','phaseAfter');
},
},
zhiba:{ zhiba:{
unique:true, unique:true,
global:'zhiba2', global:'zhiba2',
@ -1960,7 +1951,7 @@ character.shenhua={
} }
} }
}, },
yinghun:{ yinghun_old:{
audio:2, audio:2,
audioname:['sunce'], audioname:['sunce'],
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
@ -2025,6 +2016,82 @@ character.shenhua={
} }
} }
}, },
yinghun:{
audio:2,
audioname:['sunce'],
trigger:{player:'phaseBegin'},
filter:function(event,player){
return player.hp<player.maxHp;
},
direct:true,
content:function(){
"step 0"
player.chooseTarget(get.prompt('yinghun'),function(card,player,target){
return player!=target;
}).set('ai',function(target){
var player=_status.event.player;
if(player.maxHp-player.hp==1&&target.num('he')==0){
return 0;
}
if(ai.get.attitude(_status.event.player,target)>0){
return 10+ai.get.attitude(_status.event.player,target);
}
if(player.maxHp-player.hp==1){
return -1;
}
return 1;
});
"step 1"
if(result.bool){
event.num=player.maxHp-player.hp;
if(player.num('e')>=player.hp){
event.num=player.maxHp;
}
player.logSkill('yinghun',result.targets);
event.target=result.targets[0];
if(event.num==1){
event.directcontrol=true;
}
else{
var str1='摸'+get.cnNumber(event.num,true)+'弃一';
var str2='摸一弃'+get.cnNumber(event.num,true);
player.chooseControl(str1,str2,function(event,player){
return _status.event.choice;
}).set('choice',ai.get.attitude(player,event.target)>0?str1:str2);
event.str=str1;
}
}
else{
event.finish();
}
"step 2"
if(event.directcontrol||result.control==event.str){
event.target.draw(event.num);
event.target.chooseToDiscard(true,'he');
}
else{
event.target.draw();
event.target.chooseToDiscard(event.num,true,'he');
}
},
ai:{
threaten:function(player,target){
if(target.hp==1||target.num('e')>=target.hp) return 2;
if(target.hp==2) return 1.5;
return 0.5;
},
maixie:true,
effect:{
target:function(card,player,target){
if(target.maxHp<=3) return;
if(get.tag(card,'damage')){
if(target.hp==target.maxHp) return [0,1];
}
if(get.tag(card,'recover')&&player.hp>=player.maxHp-1) return [0,0];
}
}
}
},
jiuchi:{ jiuchi:{
audio:2, audio:2,
enable:'chooseToUse', enable:'chooseToUse',
@ -2388,7 +2455,7 @@ character.shenhua={
player.hp=Math.min(3,player.maxHp); player.hp=Math.min(3,player.maxHp);
player.discard(player.get('hej')); player.discard(player.get('hej'));
player.draw(3); player.draw(3);
player.unmarkSkill('niepan'); player.awakenSkill('niepan');
player.storage.niepan=true; player.storage.niepan=true;
'step 1' 'step 1'
if(player.isLinked()) player.link(); if(player.isLinked()) player.link();
@ -2958,21 +3025,23 @@ character.shenhua={
shensu:{ shensu:{
group:['shensu1','shensu2'] group:['shensu1','shensu2']
}, },
xinshensu:{
group:['shensu1','shensu2','shensu4']
},
shensu1:{ shensu1:{
audio:2, audio:2,
trigger:{player:'phaseBegin'}, trigger:{player:'phaseBegin'},
direct:true, direct:true,
content:function(){ content:function(){
"step 0" "step 0"
player.addSkill('shensu3');
var check= player.num('h')>2; var check= player.num('h')>2;
player.chooseTarget(get.prompt('shensu'),function(card,player,target){ player.chooseTarget(get.prompt('xinshensu'),function(card,player,target){
if(player==target) return false; if(player==target) return false;
return player.canUse({name:'sha'},target); return player.canUse({name:'sha'},target,false);
}).ai=function(target){ }).set('check',check).set('ai',function(target){
if(!check) return 0; if(!_status.event.check) return 0;
return ai.get.effect(target,{name:'sha'},_status.event.player); return ai.get.effect(target,{name:'sha'},_status.event.player);
} });
"step 1" "step 1"
if(result.bool){ if(result.bool){
player.logSkill('shensu1',result.targets); player.logSkill('shensu1',result.targets);
@ -2980,7 +3049,6 @@ character.shenhua={
player.skip('phaseJudge'); player.skip('phaseJudge');
player.skip('phaseDraw'); player.skip('phaseDraw');
} }
player.removeSkill('shensu3');
} }
}, },
shensu2:{ shensu2:{
@ -2992,24 +3060,23 @@ character.shenhua={
}, },
content:function(){ content:function(){
"step 0" "step 0"
player.addSkill('shensu3'); var check=player.needsToDiscard();
var check=player.num('h')<=player.hp;
player.chooseCardTarget({ player.chooseCardTarget({
prompt:get.prompt('shensu'), prompt:get.prompt('xinshensu'),
filterCard:function(card,player){ filterCard:function(card,player){
return get.type(card)=='equip'&&lib.filter.cardDiscardable(card,player) return get.type(card)=='equip'&&lib.filter.cardDiscardable(card,player)
}, },
position:'he', position:'he',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
if(player==target) return false; if(player==target) return false;
return player.canUse({name:'sha'},target); return player.canUse({name:'sha'},target,false);
}, },
ai1:function(card){ ai1:function(card){
if(!_status.event.check) return 0; if(_status.event.check) return 0;
return 6-ai.get.value(card); return 6-ai.get.value(card);
}, },
ai2:function(target){ ai2:function(target){
if(!_status.event.check) return 0; if(_status.event.check) return 0;
return ai.get.effect(target,{name:'sha'},_status.event.player); return ai.get.effect(target,{name:'sha'},_status.event.player);
}, },
check:check check:check
@ -3022,15 +3089,31 @@ character.shenhua={
trigger.untrigger(); trigger.untrigger();
trigger.finish(); trigger.finish();
} }
player.removeSkill('shensu3');
} }
}, },
shensu3:{ shensu4:{
mod:{ audio:'shensu1',
targetInRange:function(card,player,target,now){ trigger:{player:'phaseDiscardBefore'},
return true; direct:true,
content:function(){
"step 0"
var check=player.needsToDiscard()||player.isTurnedOver();
player.chooseTarget(get.prompt('xinshensu'),function(card,player,target){
if(player==target) return false;
return player.canUse({name:'sha'},target,false);
}).set('check',check).set('ai',function(target){
if(!_status.event.check) return 0;
return ai.get.effect(target,{name:'sha'},_status.event.player);
});
"step 1"
if(result.bool){
player.logSkill('shensu4',result.targets);
player.turnOver();
player.useCard({name:'sha'},result.targets[0],false);
trigger.untrigger();
trigger.finish();
} }
}, }
}, },
jushou:{ jushou:{
audio:true, audio:true,
@ -3124,7 +3207,7 @@ character.shenhua={
} }
return att/2+da; return att/2+da;
}, },
prompt:'天香:弃置一张红桃牌转移伤害' prompt:get.prompt('tianxiang')
}); });
"step 1" "step 1"
if(result.bool){ if(result.bool){
@ -3163,6 +3246,176 @@ character.shenhua={
player.popup('tianxiang'); player.popup('tianxiang');
} }
}, },
xintianxiang:{
audio:'tianxiang',
trigger:{player:'damageBefore'},
direct:true,
filter:function(event,player){
return player.num('he',{suit:'heart'})>0&&event.num>0&&!player.hasSkill('xintianxiang3');
},
content:function(){
"step 0"
player.chooseCardTarget({
filterCard:function(card,player){
return get.suit(card)=='heart'&&lib.filter.cardDiscardable(card,player);
},
filterTarget:function(card,player,target){
return player!=target;
},
position:'he',
ai1:function(card){
return 10-ai.get.value(card);
},
ai2:function(target){
var att=ai.get.attitude(_status.event.player,target);
var trigger=_status.event.getTrigger();
var da=0;
if(_status.event.player.hp==1){
da=10;
}
if(trigger.num>1){
if(target.maxHp>5&&target.hp>1) return -att/10+da;
return -att+da;
}
var eff=ai.get.damageEffect(target,trigger.source,target,trigger.nature);
if(att==0) return 0.1+da;
if(eff>=0&&trigger.num==1){
return att+da;
}
if(target.hp==target.maxHp) return -att+da;
if(target.hp==1){
if(target.maxHp<=4&&!target.hasSkillTag('maixie')){
if(target.maxHp<=3){
return -att+da;
}
return -att/2+da;
}
return da;
}
if(target.hp==target.maxHp-1){
if(target.hp>2||target.hasSkillTag('maixie')) return att/5+da;
if(att>0) return 0.02+da;
return 0.05+da;
}
return att/2+da;
},
prompt:get.prompt('tianxiang')
});
"step 1"
if(result.bool){
player.logSkill('tianxiang',result.targets);
trigger.untrigger();
trigger.player=result.targets[0];
trigger.player.addSkill('xintianxiang2');
trigger.player.storage.xintianxiang=player;
player.discard(result.cards[0]);
}
else{
event.finish();
}
"step 2"
trigger.trigger('damageBefore');
},
ai:{
effect:{
target:function(card,player,target){
if(player.hasSkill('jueqing')) return;
if(get.tag(card,'damage')&&target.num('he')>1) return 0.7;
}
},
}
},
xintianxiang2:{
trigger:{player:['damageAfter','damageCancelled']},
forced:true,
popup:false,
audio:false,
content:function(){
'step 0'
var source=player.storage.xintianxiang;
if(source.isDead()){
event.finish();
return;
}
var num=player.maxHp-player.hp;
var str1='令'+get.translation(player)+'摸'+num+'张牌';
var str2='令'+get.translation(player)+'防止造成和受到的所有伤害且天香失效直到你下一回合开始';
var att=ai.get.attitude(source,player);
var choice=str1;
if(att<0){
if(num>=2){
choice=str2;
}
}
else if(att>0){
if(num<2&&!player.hasSkillTag('maixie')){
choice=str2;
}
}
source.chooseControl(str1,str2,function(){
return _status.event.choice;
}).set('dialogcontrol',true).set('choice',choice);
event.str=str1;
'step 1'
if(result.control==event.str){
if(player.isDamaged()){
player.draw(player.maxHp-player.hp);
}
}
else{
player.storage.xintianxiang.addSkill('xintianxiang3');
player.storage.xintianxiang.storage.xintianxiang3=player;
player.addSkill('xintianxiang4');
}
player.removeSkill('xintianxiang2');
delete player.storage.xintianxiang;
}
},
xintianxiang3:{
trigger:{player:['phaseBegin','dieBegin']},
forced:true,
popup:false,
silent:true,
content:function(){
if(player.storage.xintianxiang3){
player.storage.xintianxiang3.removeSkill('xintianxiang4');
delete player.storage.xintianxiang3;
}
player.removeSkill('xintianxiang3');
}
},
xintianxiang4:{
trigger:{source:'damageBefore',player:'damageBefore'},
forced:true,
mark:true,
intro:{
content:'防止造成和受到的一切伤害'
},
priority:15,
content:function(){
trigger.untrigger();
trigger.finish();
},
ai:{
nofire:true,
nothunder:true,
nodamage:true,
notrick:true,
notricksource:true,
effect:{
target:function(card,player,target,current){
if(get.tag(card,'damage')){
return 'zeroplayertarget';
}
},
player:function(card,player,target,current){
if(get.tag(card,'damage')){
return 'zeroplayertarget';
}
}
}
}
},
hongyan:{ hongyan:{
mod:{ mod:{
suit:function(card,suit){ suit:function(card,suit){
@ -3450,6 +3703,16 @@ character.shenhua={
re_yuanshao:'袁绍', re_yuanshao:'袁绍',
reluanji:'乱击', reluanji:'乱击',
reluanji_info:'你可以将两张与你本回合以此法转化的花色均不相同的手牌当【万箭齐发】使用,然后当一名已受伤的角色因响应此牌而打出【闪】时,该角色摸一张牌', reluanji_info:'你可以将两张与你本回合以此法转化的花色均不相同的手牌当【万箭齐发】使用,然后当一名已受伤的角色因响应此牌而打出【闪】时,该角色摸一张牌',
xintianxiang:'天香',
xintianxiang2:'天香',
xintianxiang3:'天香',
xintianxiang4:'天香',
xintianxiang_bg:'香',
xintianxiang_info:'当你受到伤害时你可以弃置一张♥牌将此伤害转移给一名其他角色然后你选择一项令该角色摸X张牌X为其已损失的体力值或防止其造成与受到的所有伤害且此技能失效直到你的下回合开始',
xinshensu:'神速',
xinshensu_info:'你可以选择一至三项1. 跳过判定阶段和摸牌阶段2. 跳过出牌阶段并弃置一张装备牌3. 跳过弃牌阶段并将你的武将牌翻面。你每选择一项,视为你对一名其他角色使用一张【杀】',
yinghun:'英魂',
yinghun_info:'准备阶段开始时若你已受伤你可令一名其他角色执行一项摸X张牌然后弃置一张牌或摸一张牌然后弃置X张牌X为你已损失的体力值若你装备区里牌的数量不小于你的体力值则X改为你的体力上限',
tiaoxin:'挑衅', tiaoxin:'挑衅',
zhiji:'志继', zhiji:'志继',
@ -3535,7 +3798,6 @@ character.shenhua={
duanliang1:'断粮', duanliang1:'断粮',
haoshi:'好施', haoshi:'好施',
dimeng:'缔盟', dimeng:'缔盟',
yinghun:'英魂',
yinghun_true:'摸X弃1', yinghun_true:'摸X弃1',
yinghun_false:'摸1弃X', yinghun_false:'摸1弃X',
jiuchi:'酒池', jiuchi:'酒池',
@ -3558,7 +3820,7 @@ character.shenhua={
duanliang_info:'出牌阶段你可以将你的任意一张♠或♣的基本牌或装备牌当【兵粮寸断】使用你可以对与你距离2以内的角色使用【兵粮寸断】。', duanliang_info:'出牌阶段你可以将你的任意一张♠或♣的基本牌或装备牌当【兵粮寸断】使用你可以对与你距离2以内的角色使用【兵粮寸断】。',
haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。', haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。',
dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。', dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。',
yinghun_info:'回合开始阶段,若你已受伤,可选择一名其他角色执行下列两项中的一项: 1.摸X张牌然后弃一张牌。 2.摸一张牌然后弃X张牌。 X为你已损失的体力值每回合限一次。', yinghun_old_info:'回合开始阶段,若你已受伤,可选择一名其他角色执行下列两项中的一项: 1.摸X张牌然后弃一张牌。 2.摸一张牌然后弃X张牌。 X为你已损失的体力值每回合限一次。',
jiuchi_info:'你可将你的任意一张♠手牌当【酒】使用。', jiuchi_info:'你可将你的任意一张♠手牌当【酒】使用。',
roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。', roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
benghuai_info:'回合结束阶段,若你的体力不是全场最少的(或之一)你须减1点体力或体力上限。', benghuai_info:'回合结束阶段,若你的体力不是全场最少的(或之一)你须减1点体力或体力上限。',
@ -3617,6 +3879,7 @@ character.shenhua={
shensu:'神速', shensu:'神速',
shensu1:'神速', shensu1:'神速',
shensu2:'神速', shensu2:'神速',
shensu4:'神速',
jushou:'据守', jushou:'据守',
liegong:'烈弓', liegong:'烈弓',
kuanggu:'狂骨', kuanggu:'狂骨',

View File

@ -451,7 +451,7 @@ character.sp={
prepare:'give', prepare:'give',
content:function(){ content:function(){
player.storage.shichou=true; player.storage.shichou=true;
player.unmarkSkill('shichou'); player.awakenSkill('shichou');
target.gain(cards,player); target.gain(cards,player);
player.storage.shichou_target=target; player.storage.shichou_target=target;
player.addSkill('shichou2'); player.addSkill('shichou2');
@ -980,7 +980,7 @@ character.sp={
content:function(){ content:function(){
'step 0' 'step 0'
player.$give(cards,targets[0]); player.$give(cards,targets[0]);
player.unmark('jianshu'); player.awakenSkill('jianshu');
player.storage.jianshu=true; player.storage.jianshu=true;
targets[0].gain(cards,player); targets[0].gain(cards,player);
'step 1' 'step 1'
@ -1046,7 +1046,7 @@ character.sp={
}).set('goon',!player.hasUnknown()); }).set('goon',!player.hasUnknown());
'step 1' 'step 1'
if(result.bool){ if(result.bool){
player.unmarkSkill('yongdi'); player.awakenSkill('yongdi');
player.storage.yongdi=true; player.storage.yongdi=true;
player.logSkill('yongdi',result.targets); player.logSkill('yongdi',result.targets);
var target=result.targets[0]; var target=result.targets[0];
@ -3191,6 +3191,7 @@ character.sp={
player.loseMaxHp(); player.loseMaxHp();
player.addSkill('xintan'); player.addSkill('xintan');
player.storage.zhiri=true; player.storage.zhiri=true;
player.awakenSkill('zhiri');
} }
}, },
xintan:{ xintan:{
@ -3236,6 +3237,7 @@ character.sp={
player.loseMaxHp(); player.loseMaxHp();
player.addSkill('mashu'); player.addSkill('mashu');
player.addSkill('nuzhan'); player.addSkill('nuzhan');
player.awakenSkill('danji');
} }
}, },
nuzhan:{ nuzhan:{
@ -3461,7 +3463,7 @@ character.sp={
},player,trigger.player,trigger.player.identityShown); },player,trigger.player,trigger.player.identityShown);
player.line(trigger.player,'green'); player.line(trigger.player,'green');
player.storage.fenxin=true; player.storage.fenxin=true;
player.unmarkSkill('fenxin'); player.awakenSkill('fenxin');
} }
}, },
qingyi:{ qingyi:{
@ -4305,6 +4307,7 @@ character.sp={
"step 2" "step 2"
player.addSkill('tiaoxin'); player.addSkill('tiaoxin');
player.storage.kunfen=true; player.storage.kunfen=true;
player.awakenSkill('fengliang');
}, },
}, },
zhuiji:{ zhuiji:{
@ -4521,7 +4524,7 @@ character.sp={
"step 0" "step 0"
player.storage.zuixiang=get.cards(3); player.storage.zuixiang=get.cards(3);
player.showCards(player.storage.zuixiang); player.showCards(player.storage.zuixiang);
player.markSkill('zuixiang'); player.awakenSkill('zuixiang');
player.syncStorage('zuixiang'); player.syncStorage('zuixiang');
"step 1" "step 1"
var cards=player.storage.zuixiang; var cards=player.storage.zuixiang;
@ -5085,6 +5088,7 @@ character.sp={
player.recover(); player.recover();
player.removeSkill('liangzhu'); player.removeSkill('liangzhu');
player.addSkill('xiaoji'); player.addSkill('xiaoji');
player.awakenSkill('fanxiang');
}, },
}, },
mingshi:{ mingshi:{
@ -5538,7 +5542,7 @@ character.sp={
}, },
content:function(){ content:function(){
"step 0" "step 0"
player.unmarkSkill('cunsi'); player.awakenSkill('cunsi');
var cards=player.get('h'); var cards=player.get('h');
target.gain(cards,player); target.gain(cards,player);
player.$give(cards.length,target); player.$give(cards.length,target);
@ -5921,7 +5925,7 @@ character.sp={
content:function(){ content:function(){
"step 0" "step 0"
player.storage.xiongyi=true; player.storage.xiongyi=true;
player.unmarkSkill('xiongyi'); player.awakenSkill('xiongyi');
game.asyncDraw(targets,3); game.asyncDraw(targets,3);
"step 1" "step 1"
if(targets.length<=2){ if(targets.length<=2){
@ -6028,7 +6032,7 @@ character.sp={
trigger:{player:'phaseEnd'}, trigger:{player:'phaseEnd'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return player.getStat('damage')>=3&&player.hasSkill('huxiao'); return player.getStat('damage')>=3&&!player.storage.wuji;
}, },
content:function(){ content:function(){
"step 0" "step 0"
@ -6036,6 +6040,8 @@ character.sp={
player.gainMaxHp(); player.gainMaxHp();
"step 1" "step 1"
player.recover(); player.recover();
player.awakenSkill('wuji');
player.storage.wuji=true;
} }
}, },
xueji:{ xueji:{
@ -6596,8 +6602,8 @@ character.sp={
if(player.hasSkill('paoxiao')){ if(player.hasSkill('paoxiao')){
player.storage.baobian.push('paoxiao'); player.storage.baobian.push('paoxiao');
} }
if(player.hasSkill('shensu')){ if(player.hasSkill('xinshensu')){
player.storage.baobian.push('shensu'); player.storage.baobian.push('xinshensu');
} }
} }
if(player.storage.baobian.contains('tiaoxin')==false){ if(player.storage.baobian.contains('tiaoxin')==false){
@ -6606,8 +6612,8 @@ character.sp={
if(player.storage.baobian.contains('paoxiao')==false){ if(player.storage.baobian.contains('paoxiao')==false){
player.removeSkill('paoxiao'); player.removeSkill('paoxiao');
} }
if(player.storage.baobian.contains('shensu')==false){ if(player.storage.baobian.contains('xinshensu')==false){
player.removeSkill('shensu'); player.removeSkill('xinshensu');
} }
if(player.hp<=3){ if(player.hp<=3){
player.addSkill('tiaoxin'); player.addSkill('tiaoxin');
@ -6616,7 +6622,7 @@ character.sp={
player.addSkill('paoxiao'); player.addSkill('paoxiao');
} }
if(player.hp==1){ if(player.hp==1){
player.addSkill('shensu'); player.addSkill('xinshensu');
} }
}, },
ai:{ ai:{
@ -6957,6 +6963,7 @@ character.sp={
player.addSkill('benghuai'); player.addSkill('benghuai');
player.addSkill('weizhong'); player.addSkill('weizhong');
player.storage.juyi=true; player.storage.juyi=true;
player.awakenSkill('juyi');
} }
}, },
weizhong:{ weizhong:{
@ -7064,7 +7071,7 @@ character.sp={
"step 1" "step 1"
if(result.bool){ if(result.bool){
player.storage.suiren=true; player.storage.suiren=true;
player.unmarkSkill('suiren'); player.awakenSkill('suiren');
player.logSkill('suiren',result.targets); player.logSkill('suiren',result.targets);
player.removeSkill('yicong'); player.removeSkill('yicong');
player.gainMaxHp(); player.gainMaxHp();

View File

@ -181,7 +181,7 @@ character.swd={
trigger.num++; trigger.num++;
player.addSkill('shenyan2'); player.addSkill('shenyan2');
player.storage.shenyan=true; player.storage.shenyan=true;
player.unmarkSkill('shenyan'); player.awakenSkill('shenyan');
player.storage.shenyan2=[]; player.storage.shenyan2=[];
for(var i=0;i<game.players.length;i++){ for(var i=0;i<game.players.length;i++){
if(game.players[i]!=player&& if(game.players[i]!=player&&

View File

@ -7113,7 +7113,7 @@
if(event.dialogcontrol){ if(event.dialogcontrol){
event.dialog=ui.create.dialog(event.prompt||'选择一项','hidden'); event.dialog=ui.create.dialog(event.prompt||'选择一项','hidden');
for(var i=0;i<event.controls.length;i++){ for(var i=0;i<event.controls.length;i++){
var item=event.dialog.add('<div class="popup" style="width:calc(100% - 10px);display:inline-block">'+event.controls[i]+'</div>'); var item=event.dialog.add('<div class="popup text" style="width:calc(100% - 10px);display:inline-block">'+event.controls[i]+'</div>');
item.firstChild.listen(ui.click.dialogcontrol); item.firstChild.listen(ui.click.dialogcontrol);
item.firstChild.link=event.controls[i]; item.firstChild.link=event.controls[i];
} }
@ -9208,6 +9208,7 @@
this.additionalSkills={}; this.additionalSkills={};
this.disabledSkills={}; this.disabledSkills={};
this.hiddenSkills=[]; this.hiddenSkills=[];
this.awakenedSkills=[];
this.forbiddenSkills={}; this.forbiddenSkills={};
this.stat=[{card:{},skill:{}}]; this.stat=[{card:{},skill:{}}];
this.tempSkills={}; this.tempSkills={};
@ -11661,6 +11662,11 @@
delete this.additionalSkills[skill]; delete this.additionalSkills[skill];
} }
}, },
awakenSkill:function(skill,nounmark){
if(!nounmark) this.unmarkSkill(skill);
this.disableSkill(skill,skill);
this.awakenedSkills.add(skill);
},
disableSkill:function(skill,skills){ disableSkill:function(skill,skills){
this.disabledSkills[skill]=skills; this.disabledSkills[skill]=skills;
if(typeof skills=='string'){ if(typeof skills=='string'){
@ -28768,6 +28774,7 @@
node.additionalSkills={}; node.additionalSkills={};
node.disabledSkills={}; node.disabledSkills={};
node.hiddenSkills=[]; node.hiddenSkills=[];
node.awakenedSkills=[];
node.forbiddenSkills={}; node.forbiddenSkills={};
node.popups=[]; node.popups=[];
node.damagepopups=[]; node.damagepopups=[];
@ -33137,6 +33144,9 @@
var skills2=game.filterSkills(skills,node); var skills2=game.filterSkills(skills,node);
if(node==game.me&&node.hiddenSkills.length){ if(node==game.me&&node.hiddenSkills.length){
skills.addArray(node.hiddenSkills); skills.addArray(node.hiddenSkills);
}
if(node.awakenedSkills.length){
skills.addArray(node.awakenedSkills);
} }
for(i=0;i<skills.length;i++){ for(i=0;i<skills.length;i++){
if(lib.skill[skills[i]]&&lib.skill[skills[i]].nopop) continue; if(lib.skill[skills[i]]&&lib.skill[skills[i]].nopop) continue;

View File

@ -6,6 +6,7 @@ window.noname_update={
], ],
files:[ files:[
'game/game.js', 'game/game.js',
'game/config.js',
'game/asset.js', 'game/asset.js',
'game/source.js', 'game/source.js',
'character/gujian.js', 'character/gujian.js',
@ -15,11 +16,13 @@ window.noname_update={
'character/xianjian.js', 'character/xianjian.js',
'character/shenhua.js', 'character/shenhua.js',
'character/old.js', 'character/old.js',
'character/sp.js',
'character/yijiang.js', 'character/yijiang.js',
'card/swd.js', 'card/swd.js',
'card/guozhan.js', 'card/guozhan.js',
'mode/tafang.js', 'mode/tafang.js',
'layout/newlayout/global.css', 'layout/newlayout/global.css',
'layout/long/layout.css',
'theme/woodden/style.css', 'theme/woodden/style.css',
'theme/music/style.css', 'theme/music/style.css',
'theme/simple/style.css', 'theme/simple/style.css',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -92,19 +92,19 @@
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.hp:not(.actcount).text{ #arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.hp:not(.actcount).text{
left: 89px; left: 89px;
} }
.player.fullskin2 .avatar2{ #arena:not(.fewplayer).player.fullskin2 .avatar2{
z-index: 2; z-index: 2;
} }
.player.unseen:not(.unseen2) .count{ #arena:not(.fewplayer).player.unseen:not(.unseen2) .count{
text-align: left; text-align: left;
border-radius:3px 0 0 3px; border-radius:3px 0 0 3px;
} }
.player.unseen2 .count{ #arena:not(.fewplayer).player.unseen2 .count{
border-radius: 3px; border-radius: 3px;
text-align: center; text-align: center;
} }
.timerbar>div{ #arena:not(.fewplayer) .timerbar>div{
top: 205px; top: 205px;
width: 96px; width: 96px;
left: 12px; left: 12px;