This commit is contained in:
parent
d1ae044f63
commit
5b005455ec
|
@ -224,7 +224,7 @@ character.diy={
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.unmarkSkill('guihan');
|
||||
player.awakenSkill('guihan');
|
||||
player.recover();
|
||||
player.storage.guihan=true;
|
||||
"step 1"
|
||||
|
|
|
@ -147,7 +147,7 @@ character.extra={
|
|||
mark:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.unmark('shenfen');
|
||||
player.awakenSkill('shenfen');
|
||||
player.storage.shenfen=true;
|
||||
player.storage.baonu-=6;
|
||||
event.targets=game.players.slice(0);
|
||||
|
@ -289,7 +289,7 @@ character.extra={
|
|||
content:function(){
|
||||
player.loseMaxHp();
|
||||
player.addSkill('jilue');
|
||||
player.removeSkill('sbaiyin');
|
||||
player.awakenSkill('sbaiyin');
|
||||
}
|
||||
},
|
||||
jilue:{
|
||||
|
@ -874,7 +874,7 @@ character.extra={
|
|||
return [1,3];
|
||||
},
|
||||
content:function(){
|
||||
player.unmark('yeyan');
|
||||
player.awakenSkill('yeyan');
|
||||
player.storage.yeyan=true;
|
||||
if(cards.length==4){
|
||||
player.loseHp(3);
|
||||
|
|
|
@ -841,6 +841,7 @@ character.hearth={
|
|||
player.changeHujia(2);
|
||||
player.removeSkill('nuyan');
|
||||
player.addSkill('nuyan2');
|
||||
player.awakenSkill('chouhuo');
|
||||
}
|
||||
},
|
||||
nuyan2:{
|
||||
|
@ -3618,6 +3619,7 @@ character.hearth={
|
|||
},
|
||||
content:function(){
|
||||
player.storage.anying=true;
|
||||
player.awakenSkill('anying');
|
||||
player.removeSkill('shengguang');
|
||||
player.addSkill('xinci');
|
||||
},
|
||||
|
@ -4469,6 +4471,7 @@ character.hearth={
|
|||
content:function(){
|
||||
player.storage.tuteng_awake=true;
|
||||
player.loseMaxHp();
|
||||
player.awakenSkill('zuling');
|
||||
}
|
||||
},
|
||||
tuteng_h:{
|
||||
|
|
|
@ -5,7 +5,7 @@ character.jiange={
|
|||
jg_huangyueying:['female','shu',3,['zhinang','jingmiao']],
|
||||
jg_zhugeliang:['male','shu',3,['biantian','bazhen']],
|
||||
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_zhanghe:['male','wei',4,['huodi','jueji']],
|
||||
jg_simayi:['male','wei',5,['xuanlei','sfanshi','konghun']],
|
||||
|
|
|
@ -564,7 +564,7 @@ character.ow={
|
|||
'step 0'
|
||||
if(target==targets[0]){
|
||||
player.storage.baoxue=true;
|
||||
player.unmarkSkill('baoxue');
|
||||
player.awakenSkill('baoxue');
|
||||
player.showHandcards();
|
||||
player.discard(player.get('he',{color:'black'}));
|
||||
}
|
||||
|
@ -1639,7 +1639,7 @@ character.ow={
|
|||
player.discard(player.get('he'));
|
||||
'step 1'
|
||||
player.addTempSkill('zhanlong2','phaseAfter');
|
||||
player.unmarkSkill('zhanlong');
|
||||
player.awakenSkill('zhanlong');
|
||||
player.storage.zhanlong=true;
|
||||
var cards=[];
|
||||
for(var i=0;i<3;i++){
|
||||
|
@ -1990,7 +1990,7 @@ character.ow={
|
|||
if(target==targets[0]){
|
||||
player.turnOver();
|
||||
player.addSkill('sheng2');
|
||||
player.unmarkSkill('sheng');
|
||||
player.awakenSkill('sheng');
|
||||
player.storage.sheng=true;
|
||||
}
|
||||
target.recover();
|
||||
|
@ -2169,7 +2169,7 @@ character.ow={
|
|||
content:function(){
|
||||
'step 0'
|
||||
targets.sort(lib.sort.seat);
|
||||
player.unmarkSkill('huoyu');
|
||||
player.awakenSkill('huoyu');
|
||||
player.storage.huoyu=true;
|
||||
player.useCard({name:'chiyuxi'},targets).animate=false;
|
||||
'step 1'
|
||||
|
|
|
@ -355,6 +355,7 @@ window.characterRank={
|
|||
'mifuren',
|
||||
'hanba',
|
||||
'pal_lixiaoyao',
|
||||
'sunjian',
|
||||
],
|
||||
b:[
|
||||
'caochun',
|
||||
|
@ -467,7 +468,6 @@ window.characterRank={
|
|||
'zhangjiao',
|
||||
'zhurong',
|
||||
'xuhuang',
|
||||
'sunjian',
|
||||
'jsp_zhaoyun',
|
||||
'tianfeng',
|
||||
'sunce',
|
||||
|
@ -483,10 +483,11 @@ window.characterRank={
|
|||
're_lvmeng',
|
||||
're_xiahoudun',
|
||||
'zhangliang',
|
||||
'xiaoqiao',
|
||||
'xiahouyuan',
|
||||
],
|
||||
c:[
|
||||
'huaxiong',
|
||||
'xiahouyuan',
|
||||
'liaohua',
|
||||
'zhaoyun',
|
||||
'machao',
|
||||
|
@ -494,7 +495,6 @@ window.characterRank={
|
|||
'caohong',
|
||||
'caocao',
|
||||
'lvbu',
|
||||
'xiaoqiao',
|
||||
'yanwen',
|
||||
'yujin',
|
||||
],
|
||||
|
|
|
@ -479,6 +479,7 @@ character.refresh={
|
|||
player.storage.qinxue=true;
|
||||
player.loseMaxHp();
|
||||
player.addSkill('gongxin');
|
||||
player.awakenSkill('qinxue');
|
||||
}
|
||||
},
|
||||
qingjian:{
|
||||
|
@ -714,7 +715,7 @@ character.refresh={
|
|||
return player.hp<player.storage.retishen2-1;
|
||||
},
|
||||
content:function(){
|
||||
player.unmarkSkill('retishen');
|
||||
player.awakenSkill('retishen');
|
||||
player.recover(player.storage.retishen2-player.hp);
|
||||
player.draw(player.storage.retishen2-player.hp);
|
||||
player.storage.retishen=true;
|
||||
|
@ -1273,7 +1274,7 @@ character.refresh={
|
|||
return player.hp<player.maxHp;
|
||||
},
|
||||
content:function(){
|
||||
player.removeSkill('qianxin');
|
||||
player.awakenSkill('qianxin');
|
||||
player.addSkill('jianyan');
|
||||
player.loseMaxHp();
|
||||
}
|
||||
|
@ -1402,7 +1403,7 @@ character.refresh={
|
|||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.unmarkSkill('fenwei');
|
||||
player.awakenSkill('fenwei');
|
||||
player.logSkill('fenwei',result.targets);
|
||||
player.storage.fenwei=true;
|
||||
for(var i=0;i<result.targets.length;i++){
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
character.shenhua={
|
||||
connect:true,
|
||||
character:{
|
||||
xiahouyuan:['male','wei',4,['shensu']],
|
||||
xiahouyuan:['male','wei',4,['xinshensu']],
|
||||
caoren:['male','wei',4,['jushou','jiewei']],
|
||||
huangzhong:['male','shu',4,['xinliegong']],
|
||||
weiyan:['male','shu',4,['xinkuanggu','qimou']],
|
||||
xiaoqiao:['female','wu',3,['tianxiang','hongyan']],
|
||||
xiaoqiao:['female','wu',3,['xintianxiang','hongyan']],
|
||||
zhoutai:['male','wu',4,['buqu','fenji']],
|
||||
sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']],
|
||||
// yuji:['male','qun',3,['guhuo']],
|
||||
|
@ -134,7 +134,7 @@ character.shenhua={
|
|||
else{
|
||||
num=1
|
||||
}
|
||||
player.unmarkSkill('qimou');
|
||||
player.awakenSkill('qimou');
|
||||
player.storage.qimou=true;
|
||||
player.chooseControl('一','二','三','四','五','六',function(){
|
||||
return get.cnNumber(_status.event.goon,true);
|
||||
|
@ -323,6 +323,7 @@ character.shenhua={
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.awakenSkill('zhiji');
|
||||
player.chooseControl('zhiji_recover','zhiji_draw',function(event,player){
|
||||
if(player.hp>=2) return 'zhiji_draw';
|
||||
return 'zhiji_recover';
|
||||
|
@ -476,6 +477,7 @@ character.shenhua={
|
|||
else{
|
||||
event.trigger('zhuUpdate');
|
||||
}
|
||||
player.awakenSkill('ruoyu');
|
||||
}
|
||||
},
|
||||
qiaobian:{
|
||||
|
@ -829,6 +831,7 @@ character.shenhua={
|
|||
player.loseMaxHp();
|
||||
player.addSkill('jixi');
|
||||
player.storage.zaoxian=true;
|
||||
player.awakenSkill('zaoxian');
|
||||
}
|
||||
},
|
||||
jixi:{
|
||||
|
@ -903,7 +906,7 @@ character.shenhua={
|
|||
unique:true,
|
||||
trigger:{player:'phaseBegin'},
|
||||
filter:function(event,player){
|
||||
return player.hp==1;
|
||||
return player.hp==1&&!player.storage.hunzi;
|
||||
},
|
||||
forced:true,
|
||||
priority:3,
|
||||
|
@ -911,7 +914,7 @@ character.shenhua={
|
|||
player.loseMaxHp();
|
||||
player.addSkill('reyingzi');
|
||||
player.addSkill('yinghun');
|
||||
player.removeSkill('hunzi');
|
||||
player.awakenSkill('hunzi');
|
||||
player.storage.hunzi=true;
|
||||
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:{
|
||||
unique:true,
|
||||
global:'zhiba2',
|
||||
|
@ -1960,7 +1951,7 @@ character.shenhua={
|
|||
}
|
||||
}
|
||||
},
|
||||
yinghun:{
|
||||
yinghun_old:{
|
||||
audio:2,
|
||||
audioname:['sunce'],
|
||||
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:{
|
||||
audio:2,
|
||||
enable:'chooseToUse',
|
||||
|
@ -2388,7 +2455,7 @@ character.shenhua={
|
|||
player.hp=Math.min(3,player.maxHp);
|
||||
player.discard(player.get('hej'));
|
||||
player.draw(3);
|
||||
player.unmarkSkill('niepan');
|
||||
player.awakenSkill('niepan');
|
||||
player.storage.niepan=true;
|
||||
'step 1'
|
||||
if(player.isLinked()) player.link();
|
||||
|
@ -2958,21 +3025,23 @@ character.shenhua={
|
|||
shensu:{
|
||||
group:['shensu1','shensu2']
|
||||
},
|
||||
xinshensu:{
|
||||
group:['shensu1','shensu2','shensu4']
|
||||
},
|
||||
shensu1:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.addSkill('shensu3');
|
||||
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;
|
||||
return player.canUse({name:'sha'},target);
|
||||
}).ai=function(target){
|
||||
if(!check) return 0;
|
||||
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('shensu1',result.targets);
|
||||
|
@ -2980,7 +3049,6 @@ character.shenhua={
|
|||
player.skip('phaseJudge');
|
||||
player.skip('phaseDraw');
|
||||
}
|
||||
player.removeSkill('shensu3');
|
||||
}
|
||||
},
|
||||
shensu2:{
|
||||
|
@ -2992,24 +3060,23 @@ character.shenhua={
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.addSkill('shensu3');
|
||||
var check=player.num('h')<=player.hp;
|
||||
var check=player.needsToDiscard();
|
||||
player.chooseCardTarget({
|
||||
prompt:get.prompt('shensu'),
|
||||
prompt:get.prompt('xinshensu'),
|
||||
filterCard:function(card,player){
|
||||
return get.type(card)=='equip'&&lib.filter.cardDiscardable(card,player)
|
||||
},
|
||||
position:'he',
|
||||
filterTarget:function(card,player,target){
|
||||
if(player==target) return false;
|
||||
return player.canUse({name:'sha'},target);
|
||||
return player.canUse({name:'sha'},target,false);
|
||||
},
|
||||
ai1:function(card){
|
||||
if(!_status.event.check) return 0;
|
||||
if(_status.event.check) return 0;
|
||||
return 6-ai.get.value(card);
|
||||
},
|
||||
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);
|
||||
},
|
||||
check:check
|
||||
|
@ -3022,15 +3089,31 @@ character.shenhua={
|
|||
trigger.untrigger();
|
||||
trigger.finish();
|
||||
}
|
||||
player.removeSkill('shensu3');
|
||||
}
|
||||
},
|
||||
shensu3:{
|
||||
mod:{
|
||||
targetInRange:function(card,player,target,now){
|
||||
return true;
|
||||
shensu4:{
|
||||
audio:'shensu1',
|
||||
trigger:{player:'phaseDiscardBefore'},
|
||||
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:{
|
||||
audio:true,
|
||||
|
@ -3124,7 +3207,7 @@ character.shenhua={
|
|||
}
|
||||
return att/2+da;
|
||||
},
|
||||
prompt:'天香:弃置一张红桃牌转移伤害'
|
||||
prompt:get.prompt('tianxiang')
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
|
@ -3163,6 +3246,176 @@ character.shenhua={
|
|||
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:{
|
||||
mod:{
|
||||
suit:function(card,suit){
|
||||
|
@ -3450,6 +3703,16 @@ character.shenhua={
|
|||
re_yuanshao:'袁绍',
|
||||
reluanji:'乱击',
|
||||
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:'挑衅',
|
||||
zhiji:'志继',
|
||||
|
@ -3535,7 +3798,6 @@ character.shenhua={
|
|||
duanliang1:'断粮',
|
||||
haoshi:'好施',
|
||||
dimeng:'缔盟',
|
||||
yinghun:'英魂',
|
||||
yinghun_true:'摸X弃1',
|
||||
yinghun_false:'摸1弃X',
|
||||
jiuchi:'酒池',
|
||||
|
@ -3558,7 +3820,7 @@ character.shenhua={
|
|||
duanliang_info:'出牌阶段,你可以将你的任意一张♠或♣的基本牌或装备牌当【兵粮寸断】使用;你可以对与你距离2以内的角色使用【兵粮寸断】。',
|
||||
haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。',
|
||||
dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。',
|
||||
yinghun_info:'回合开始阶段,若你已受伤,可选择一名其他角色执行下列两项中的一项: 1.摸X张牌,然后弃一张牌。 2.摸一张牌,然后弃X张牌。 X为你已损失的体力值,每回合限一次。',
|
||||
yinghun_old_info:'回合开始阶段,若你已受伤,可选择一名其他角色执行下列两项中的一项: 1.摸X张牌,然后弃一张牌。 2.摸一张牌,然后弃X张牌。 X为你已损失的体力值,每回合限一次。',
|
||||
jiuchi_info:'你可将你的任意一张♠手牌当【酒】使用。',
|
||||
roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
|
||||
benghuai_info:'回合结束阶段,若你的体力不是全场最少的(或之一),你须减1点体力或体力上限。',
|
||||
|
@ -3617,6 +3879,7 @@ character.shenhua={
|
|||
shensu:'神速',
|
||||
shensu1:'神速',
|
||||
shensu2:'神速',
|
||||
shensu4:'神速',
|
||||
jushou:'据守',
|
||||
liegong:'烈弓',
|
||||
kuanggu:'狂骨',
|
||||
|
|
|
@ -451,7 +451,7 @@ character.sp={
|
|||
prepare:'give',
|
||||
content:function(){
|
||||
player.storage.shichou=true;
|
||||
player.unmarkSkill('shichou');
|
||||
player.awakenSkill('shichou');
|
||||
target.gain(cards,player);
|
||||
player.storage.shichou_target=target;
|
||||
player.addSkill('shichou2');
|
||||
|
@ -980,7 +980,7 @@ character.sp={
|
|||
content:function(){
|
||||
'step 0'
|
||||
player.$give(cards,targets[0]);
|
||||
player.unmark('jianshu');
|
||||
player.awakenSkill('jianshu');
|
||||
player.storage.jianshu=true;
|
||||
targets[0].gain(cards,player);
|
||||
'step 1'
|
||||
|
@ -1046,7 +1046,7 @@ character.sp={
|
|||
}).set('goon',!player.hasUnknown());
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.unmarkSkill('yongdi');
|
||||
player.awakenSkill('yongdi');
|
||||
player.storage.yongdi=true;
|
||||
player.logSkill('yongdi',result.targets);
|
||||
var target=result.targets[0];
|
||||
|
@ -3191,6 +3191,7 @@ character.sp={
|
|||
player.loseMaxHp();
|
||||
player.addSkill('xintan');
|
||||
player.storage.zhiri=true;
|
||||
player.awakenSkill('zhiri');
|
||||
}
|
||||
},
|
||||
xintan:{
|
||||
|
@ -3236,6 +3237,7 @@ character.sp={
|
|||
player.loseMaxHp();
|
||||
player.addSkill('mashu');
|
||||
player.addSkill('nuzhan');
|
||||
player.awakenSkill('danji');
|
||||
}
|
||||
},
|
||||
nuzhan:{
|
||||
|
@ -3461,7 +3463,7 @@ character.sp={
|
|||
},player,trigger.player,trigger.player.identityShown);
|
||||
player.line(trigger.player,'green');
|
||||
player.storage.fenxin=true;
|
||||
player.unmarkSkill('fenxin');
|
||||
player.awakenSkill('fenxin');
|
||||
}
|
||||
},
|
||||
qingyi:{
|
||||
|
@ -4305,6 +4307,7 @@ character.sp={
|
|||
"step 2"
|
||||
player.addSkill('tiaoxin');
|
||||
player.storage.kunfen=true;
|
||||
player.awakenSkill('fengliang');
|
||||
},
|
||||
},
|
||||
zhuiji:{
|
||||
|
@ -4521,7 +4524,7 @@ character.sp={
|
|||
"step 0"
|
||||
player.storage.zuixiang=get.cards(3);
|
||||
player.showCards(player.storage.zuixiang);
|
||||
player.markSkill('zuixiang');
|
||||
player.awakenSkill('zuixiang');
|
||||
player.syncStorage('zuixiang');
|
||||
"step 1"
|
||||
var cards=player.storage.zuixiang;
|
||||
|
@ -5085,6 +5088,7 @@ character.sp={
|
|||
player.recover();
|
||||
player.removeSkill('liangzhu');
|
||||
player.addSkill('xiaoji');
|
||||
player.awakenSkill('fanxiang');
|
||||
},
|
||||
},
|
||||
mingshi:{
|
||||
|
@ -5538,7 +5542,7 @@ character.sp={
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.unmarkSkill('cunsi');
|
||||
player.awakenSkill('cunsi');
|
||||
var cards=player.get('h');
|
||||
target.gain(cards,player);
|
||||
player.$give(cards.length,target);
|
||||
|
@ -5921,7 +5925,7 @@ character.sp={
|
|||
content:function(){
|
||||
"step 0"
|
||||
player.storage.xiongyi=true;
|
||||
player.unmarkSkill('xiongyi');
|
||||
player.awakenSkill('xiongyi');
|
||||
game.asyncDraw(targets,3);
|
||||
"step 1"
|
||||
if(targets.length<=2){
|
||||
|
@ -6028,7 +6032,7 @@ character.sp={
|
|||
trigger:{player:'phaseEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.getStat('damage')>=3&&player.hasSkill('huxiao');
|
||||
return player.getStat('damage')>=3&&!player.storage.wuji;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
@ -6036,6 +6040,8 @@ character.sp={
|
|||
player.gainMaxHp();
|
||||
"step 1"
|
||||
player.recover();
|
||||
player.awakenSkill('wuji');
|
||||
player.storage.wuji=true;
|
||||
}
|
||||
},
|
||||
xueji:{
|
||||
|
@ -6596,8 +6602,8 @@ character.sp={
|
|||
if(player.hasSkill('paoxiao')){
|
||||
player.storage.baobian.push('paoxiao');
|
||||
}
|
||||
if(player.hasSkill('shensu')){
|
||||
player.storage.baobian.push('shensu');
|
||||
if(player.hasSkill('xinshensu')){
|
||||
player.storage.baobian.push('xinshensu');
|
||||
}
|
||||
}
|
||||
if(player.storage.baobian.contains('tiaoxin')==false){
|
||||
|
@ -6606,8 +6612,8 @@ character.sp={
|
|||
if(player.storage.baobian.contains('paoxiao')==false){
|
||||
player.removeSkill('paoxiao');
|
||||
}
|
||||
if(player.storage.baobian.contains('shensu')==false){
|
||||
player.removeSkill('shensu');
|
||||
if(player.storage.baobian.contains('xinshensu')==false){
|
||||
player.removeSkill('xinshensu');
|
||||
}
|
||||
if(player.hp<=3){
|
||||
player.addSkill('tiaoxin');
|
||||
|
@ -6616,7 +6622,7 @@ character.sp={
|
|||
player.addSkill('paoxiao');
|
||||
}
|
||||
if(player.hp==1){
|
||||
player.addSkill('shensu');
|
||||
player.addSkill('xinshensu');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -6957,6 +6963,7 @@ character.sp={
|
|||
player.addSkill('benghuai');
|
||||
player.addSkill('weizhong');
|
||||
player.storage.juyi=true;
|
||||
player.awakenSkill('juyi');
|
||||
}
|
||||
},
|
||||
weizhong:{
|
||||
|
@ -7064,7 +7071,7 @@ character.sp={
|
|||
"step 1"
|
||||
if(result.bool){
|
||||
player.storage.suiren=true;
|
||||
player.unmarkSkill('suiren');
|
||||
player.awakenSkill('suiren');
|
||||
player.logSkill('suiren',result.targets);
|
||||
player.removeSkill('yicong');
|
||||
player.gainMaxHp();
|
||||
|
|
|
@ -181,7 +181,7 @@ character.swd={
|
|||
trigger.num++;
|
||||
player.addSkill('shenyan2');
|
||||
player.storage.shenyan=true;
|
||||
player.unmarkSkill('shenyan');
|
||||
player.awakenSkill('shenyan');
|
||||
player.storage.shenyan2=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=player&&
|
||||
|
|
12
game/game.js
12
game/game.js
|
@ -7113,7 +7113,7 @@
|
|||
if(event.dialogcontrol){
|
||||
event.dialog=ui.create.dialog(event.prompt||'选择一项','hidden');
|
||||
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.link=event.controls[i];
|
||||
}
|
||||
|
@ -9208,6 +9208,7 @@
|
|||
this.additionalSkills={};
|
||||
this.disabledSkills={};
|
||||
this.hiddenSkills=[];
|
||||
this.awakenedSkills=[];
|
||||
this.forbiddenSkills={};
|
||||
this.stat=[{card:{},skill:{}}];
|
||||
this.tempSkills={};
|
||||
|
@ -11661,6 +11662,11 @@
|
|||
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){
|
||||
this.disabledSkills[skill]=skills;
|
||||
if(typeof skills=='string'){
|
||||
|
@ -28768,6 +28774,7 @@
|
|||
node.additionalSkills={};
|
||||
node.disabledSkills={};
|
||||
node.hiddenSkills=[];
|
||||
node.awakenedSkills=[];
|
||||
node.forbiddenSkills={};
|
||||
node.popups=[];
|
||||
node.damagepopups=[];
|
||||
|
@ -33137,6 +33144,9 @@
|
|||
var skills2=game.filterSkills(skills,node);
|
||||
if(node==game.me&&node.hiddenSkills.length){
|
||||
skills.addArray(node.hiddenSkills);
|
||||
}
|
||||
if(node.awakenedSkills.length){
|
||||
skills.addArray(node.awakenedSkills);
|
||||
}
|
||||
for(i=0;i<skills.length;i++){
|
||||
if(lib.skill[skills[i]]&&lib.skill[skills[i]].nopop) continue;
|
||||
|
|
|
@ -6,6 +6,7 @@ window.noname_update={
|
|||
],
|
||||
files:[
|
||||
'game/game.js',
|
||||
'game/config.js',
|
||||
'game/asset.js',
|
||||
'game/source.js',
|
||||
'character/gujian.js',
|
||||
|
@ -15,11 +16,13 @@ window.noname_update={
|
|||
'character/xianjian.js',
|
||||
'character/shenhua.js',
|
||||
'character/old.js',
|
||||
'character/sp.js',
|
||||
'character/yijiang.js',
|
||||
'card/swd.js',
|
||||
'card/guozhan.js',
|
||||
'mode/tafang.js',
|
||||
'layout/newlayout/global.css',
|
||||
'layout/long/layout.css',
|
||||
'theme/woodden/style.css',
|
||||
'theme/music/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 |
|
@ -92,19 +92,19 @@
|
|||
#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.hp:not(.actcount).text{
|
||||
left: 89px;
|
||||
}
|
||||
.player.fullskin2 .avatar2{
|
||||
#arena:not(.fewplayer).player.fullskin2 .avatar2{
|
||||
z-index: 2;
|
||||
}
|
||||
.player.unseen:not(.unseen2) .count{
|
||||
#arena:not(.fewplayer).player.unseen:not(.unseen2) .count{
|
||||
text-align: left;
|
||||
border-radius:3px 0 0 3px;
|
||||
}
|
||||
.player.unseen2 .count{
|
||||
#arena:not(.fewplayer).player.unseen2 .count{
|
||||
border-radius: 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.timerbar>div{
|
||||
#arena:not(.fewplayer) .timerbar>div{
|
||||
top: 205px;
|
||||
width: 96px;
|
||||
left: 12px;
|
||||
|
|
Loading…
Reference in New Issue