This commit is contained in:
parent
de56fd31fe
commit
9795055550
|
@ -170,19 +170,16 @@ card.guozhan={
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
wuliu_skill:{
|
||||
global:'wuliu_skill2'
|
||||
},
|
||||
wuliu_skill2:{
|
||||
wuliu_skill:{},
|
||||
_wuliu_skill2:{
|
||||
mod:{
|
||||
attackFrom:function(from,to,distance){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]==from) continue;
|
||||
if(game.players[i].identity=='unknown'||game.players[i].identity=='ye') continue;
|
||||
if(game.players[i].identity!=from.identity) continue;
|
||||
if(game.players[i].skills.contains('wuliu')) distance--;
|
||||
if(game.players[i].get('s').contains('wuliu_skill')) distance--;
|
||||
}
|
||||
if(from.skills.contains('wuliu')) distance--;
|
||||
return distance;
|
||||
}
|
||||
}
|
||||
|
@ -235,7 +232,7 @@ card.guozhan={
|
|||
yiyi_info:'对与自己势力相同的所有角色使用,摸两张牌然后弃置两张牌(非国战模式改为对自己使用,摸3张弃两张)',
|
||||
yiyi_bg:'逸',
|
||||
wuliu:'吴六剑',
|
||||
wuliu_info:'与装备者势力相同的角色攻击范围+1',
|
||||
wuliu_info:'其他与装备者势力相同的角色攻击范围+1',
|
||||
sanjian:'三尖两刃刀',
|
||||
sanjian_info:'当你使用杀造成伤害后,可以弃置1张手牌对一名距离受伤害角色1以内的其他角色造成1点伤害',
|
||||
wuliu_skill:'吴六剑',
|
||||
|
|
|
@ -2482,7 +2482,7 @@ character.boss={
|
|||
if(event.target){
|
||||
var es=event.target.get('e');
|
||||
if(es.length){
|
||||
event.discard(es);
|
||||
event.target.discard(es);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -267,7 +267,6 @@ character.sp={
|
|||
prepare:function(cards,player,targets){
|
||||
player.$give(cards,targets[0]);
|
||||
},
|
||||
line:'green',
|
||||
content:function(){
|
||||
if(target.skills.contains('yanxiao2')&&target.storage.yanxiao2){
|
||||
target.storage.yanxiao2.push(cards[0]);
|
||||
|
@ -1524,7 +1523,7 @@ character.sp={
|
|||
var tosave=trigger.player;
|
||||
var att=ai.get.attitude(target,tosave);
|
||||
var hastao=target.num('h','tao');
|
||||
target.chooseToDiscard(4,true).ai=function(card){
|
||||
target.chooseToDiscard(4,true,'he').ai=function(card){
|
||||
if(!hastao&&att>0){
|
||||
var suit=get.suit(card);
|
||||
for(var i=0;i<ui.selected.cards.length;i++){
|
||||
|
@ -1604,7 +1603,8 @@ character.sp={
|
|||
},
|
||||
mozhix:{
|
||||
filterCard:true,
|
||||
selectCard:1
|
||||
selectCard:1,
|
||||
popname:true,
|
||||
},
|
||||
mozhi2:{
|
||||
trigger:{player:'phaseAfter'},
|
||||
|
|
|
@ -1627,9 +1627,33 @@ character.yijiang={
|
|||
ui.cardPile.insertBefore(event.card,ui.cardPile.firstChild);
|
||||
}
|
||||
},
|
||||
group:['huomo_sha','huomo_jiu','huomo_tao']
|
||||
group:['huomo_count','huomo_count2','huomo_sha','huomo_jiu','huomo_tao']
|
||||
},
|
||||
huomo2:{},
|
||||
huomo_count:{
|
||||
init:function(player){
|
||||
player.storage.huomo={};
|
||||
},
|
||||
trigger:{global:'phaseBegin'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
silent:true,
|
||||
content:function(){
|
||||
player.storage.huomo={};
|
||||
}
|
||||
},
|
||||
huomo_count2:{
|
||||
trigger:{player:'useCard'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
silent:true,
|
||||
content:function(){
|
||||
switch(trigger.card.name){
|
||||
case 'sha':player.storage.huomo.sha=true;break;
|
||||
case 'tao':player.storage.huomo.tao=true;break;
|
||||
}
|
||||
}
|
||||
},
|
||||
huomo_sha:{
|
||||
enable:'phaseUse',
|
||||
discard:false,
|
||||
|
@ -1637,10 +1661,10 @@ character.yijiang={
|
|||
player.$throw(cards);
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(player.storage.huomo.sha) return false;
|
||||
if(!lib.filter.filterCard({name:'sha'},player,event)){
|
||||
return false;
|
||||
}
|
||||
if(player.getStat().card.sha) return false;
|
||||
var hs=player.get('he',{color:'black'});
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(get.type(hs[i])!='basic'){
|
||||
|
@ -1678,16 +1702,13 @@ character.yijiang={
|
|||
}
|
||||
},
|
||||
huomo_tao:{
|
||||
enable:'phaseUse',
|
||||
enable:'chooseToUse',
|
||||
discard:false,
|
||||
prepare:function(cards,player){
|
||||
player.$throw(cards);
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(!lib.filter.filterCard({name:'tao'},player,event)){
|
||||
return false;
|
||||
}
|
||||
if(player.getStat().card.tao) return false;
|
||||
if(player.storage.huomo.tao) return false;
|
||||
var hs=player.get('he',{color:'black'});
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(get.type(hs[i])!='basic'){
|
||||
|
@ -1695,6 +1716,13 @@ character.yijiang={
|
|||
}
|
||||
}
|
||||
if(i==hs.length) return false;
|
||||
if(event.type=='dying'){
|
||||
return event.filterCard({name:'tao'},player);
|
||||
}
|
||||
if(event.parent.name!='phaseUse') return false;
|
||||
if(!lib.filter.filterCard({name:'tao'},player,event)){
|
||||
return false;
|
||||
}
|
||||
return player.hp<player.maxHp;
|
||||
},
|
||||
position:'he',
|
||||
|
@ -1702,6 +1730,9 @@ character.yijiang={
|
|||
return get.type(card)!='basic'&&get.color(card)=='black';
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(_status.event.type=='dying'){
|
||||
return target==_status.event.dying;
|
||||
}
|
||||
return player==target;
|
||||
},
|
||||
selectTarget:-1,
|
||||
|
@ -1714,6 +1745,18 @@ character.yijiang={
|
|||
player.useCard({name:'tao'},targets).delayx=false;
|
||||
},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
if(player.storage.huomo.tao) return false;
|
||||
var hs=player.get('he',{color:'black'});
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(get.type(hs[i])!='basic'){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
threaten:1.5,
|
||||
save:true,
|
||||
order:9,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
|
@ -1824,6 +1867,7 @@ character.yijiang={
|
|||
owner.lose(card,ui.special);
|
||||
}
|
||||
event.card=card;
|
||||
player.$throw(card);
|
||||
'step 1'
|
||||
player.useCard(event.card,targets).animate=false;
|
||||
delete player.storage.taoxi;
|
||||
|
@ -4486,7 +4530,8 @@ character.yijiang={
|
|||
qice2:{
|
||||
filterCard:true,
|
||||
selectCard:-1,
|
||||
audio:2
|
||||
audio:2,
|
||||
popname:true
|
||||
},
|
||||
qice3:{
|
||||
trigger:{player:'useCardBefore'},
|
||||
|
|
|
@ -1809,6 +1809,7 @@ character.yxs={
|
|||
},
|
||||
jieyong2:{
|
||||
filterCard:{suit:'heart'},
|
||||
popname:true,
|
||||
},
|
||||
jieyong3:{
|
||||
trigger:{player:'useCardBefore'},
|
||||
|
|
14
game/game.js
14
game/game.js
|
@ -16,9 +16,9 @@
|
|||
dieClose:[]
|
||||
};
|
||||
var lib={
|
||||
version:1.78,
|
||||
version:1.79,
|
||||
changeLog:[
|
||||
'修bug',
|
||||
'自动标身份',
|
||||
],
|
||||
configprefix:'noname_0.9_',
|
||||
updates:[],
|
||||
|
@ -1686,6 +1686,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
auto_mark_identity:{
|
||||
name:'自动标记身份',
|
||||
init:false
|
||||
},
|
||||
ban_weak:{
|
||||
name:'屏蔽弱将',
|
||||
init:false,
|
||||
|
@ -4216,7 +4220,9 @@
|
|||
cardaudio=false;
|
||||
}
|
||||
player.logSkill(event.skill);
|
||||
player.popup(event.card.name);
|
||||
if(get.info(event.skill).popname){
|
||||
player.popup(event.card.name);
|
||||
}
|
||||
}
|
||||
else if(lib.config.show_card_prompt){
|
||||
if(get.type(event.card)=='equip'&&lib.config.hide_card_prompt_equip);
|
||||
|
@ -4471,7 +4477,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
if((info.line||info.discard!=false)&&targets.length){
|
||||
if(info.line!=false&&targets.length){
|
||||
var config={};
|
||||
if(info.line=='fire'){
|
||||
config.color='fire';
|
||||
|
|
|
@ -886,6 +886,79 @@ mode.identity={
|
|||
if(this!=game.me) this.ai.shown*=2;
|
||||
if(this.ai.shown>0.95) this.ai.shown=0.95;
|
||||
if(this.ai.shown<-0.5) this.ai.shown=-0.5;
|
||||
|
||||
if(this!=game.me&&get.config('auto_mark_identity')&&this.ai.identity_mark!='finished'){
|
||||
if(_status.clickingidentity&&_status.clickingidentity[0]==this){
|
||||
for(var i=0;i<_status.clickingidentity[1].length;i++){
|
||||
_status.clickingidentity[1][i].delete();
|
||||
_status.clickingidentity[1][i].style.transform='';
|
||||
}
|
||||
delete _status.clickingidentity;
|
||||
}
|
||||
if(!Array.isArray(targets)){
|
||||
targets=[];
|
||||
}
|
||||
var effect=0,c,shown;
|
||||
var zhu=game.zhu;
|
||||
if(_status.mode=='zhong'&&!game.zhu.isZhu){
|
||||
zhu=game.zhong;
|
||||
}
|
||||
if(targets.length==1&&targets[0]==this){
|
||||
effect=0;
|
||||
}
|
||||
else if(this.identity!='nei'){
|
||||
if(this.ai.shown>0){
|
||||
if(this.identity=='fan'){
|
||||
effect=-1;
|
||||
}
|
||||
else{
|
||||
effect=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(targets.length>0){
|
||||
for(var i=0;i<targets.length;i++){
|
||||
shown=Math.abs(targets[i].ai.shown);
|
||||
if(shown<0.2||targets[i].identity=='nei') c=0;
|
||||
else if(shown<0.4) c=0.5;
|
||||
else if(shown<0.6) c=0.8;
|
||||
else c=1;
|
||||
effect+=ai.get.effect(targets[i],card,this,zhu)*c;
|
||||
}
|
||||
}
|
||||
if(this.identity=='nei'){
|
||||
if(effect>=0){
|
||||
if(this.ai.identity_mark=='fan'){
|
||||
this.setIdentity();
|
||||
this.ai.identity_mark='finished';
|
||||
}
|
||||
else{
|
||||
this.setIdentity('zhong');
|
||||
this.ai.identity_mark='zhong';
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(this.ai.identity_mark=='zhong'){
|
||||
this.setIdentity();
|
||||
this.ai.identity_mark='finished';
|
||||
}
|
||||
else{
|
||||
this.setIdentity('fan');
|
||||
this.ai.identity_mark='fan';
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(effect>0&&this.identity!='fan'){
|
||||
this.setIdentity('zhong');
|
||||
this.ai.identity_mark='finished';
|
||||
}
|
||||
else if(effect<0&&this.identity=='fan'){
|
||||
this.setIdentity('fan');
|
||||
this.ai.identity_mark='finished';
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
|
@ -942,6 +1015,7 @@ mode.identity={
|
|||
case 'zhong':case 'mingzhong': return 6;
|
||||
case 'nei':
|
||||
if(game.players.length==2) return -10;
|
||||
if(zhongmode&&to.ai.sizhong) return 6;
|
||||
if(get.population('fan')==0) return -0.5;
|
||||
if(situation>1) return 0;
|
||||
return Math.min(3,get.population('fan'));
|
||||
|
@ -953,6 +1027,7 @@ mode.identity={
|
|||
case 'zhu': return 10;
|
||||
case 'zhong':case 'mingzhong': return 4;
|
||||
case 'nei':
|
||||
if(zhongmode&&to.ai.sizhong) return 6;
|
||||
if(get.population('fan')==0) return -2;
|
||||
return Math.min(3,-situation);
|
||||
case 'fan': return -8;
|
||||
|
@ -1008,6 +1083,12 @@ mode.identity={
|
|||
if(strategy==3) num++;
|
||||
return num;
|
||||
case 'mingzhong':
|
||||
if(zhongmode){
|
||||
if(from.ai.sizhong==undefined){
|
||||
from.ai.sizhong=(Math.random()<0.5);
|
||||
}
|
||||
if(from.ai.sizhong) return 6;
|
||||
}
|
||||
if(strategy==5) return Math.min(0,-situation);
|
||||
if(strategy==6) return Math.max(-1,-situation);
|
||||
if(get.population('fan')==0) num=-5;
|
||||
|
@ -1044,6 +1125,7 @@ mode.identity={
|
|||
case 'zhong': return -7;
|
||||
case 'mingzhong':return -5;
|
||||
case 'nei':
|
||||
if(zhongmode&&to.ai.sizhong) return -7;
|
||||
if(get.population('fan')==1) return 0;
|
||||
if(get.population('zhong')+get.population('mingzhong')==0) return -7;
|
||||
if(game.zhu&&game.zhu.hp<=2) return -1;
|
||||
|
|
Loading…
Reference in New Issue