This commit is contained in:
parent
f11eec4b31
commit
794da4c4c1
|
@ -87,7 +87,7 @@ character.hearth={
|
||||||
hs_kazhakusi:['male','shu',3,['lianjin']],
|
hs_kazhakusi:['male','shu',3,['lianjin']],
|
||||||
// hs_lazi:['male','wei',3,[]],
|
// hs_lazi:['male','wei',3,[]],
|
||||||
hs_shaku:['male','wei',3,['shouji']],
|
hs_shaku:['male','wei',3,['shouji']],
|
||||||
hs_laxiao:['male','qun',3,['guimou','yingxi']],
|
hs_laxiao:['male','shu',3,['guimou','yingxi']],
|
||||||
// hs_xiangyaqishi:['male','wei',3,[]],
|
// hs_xiangyaqishi:['male','wei',3,[]],
|
||||||
// hs_fenjie:['male','shu',3,['guimou','yingxi']],
|
// hs_fenjie:['male','shu',3,['guimou','yingxi']],
|
||||||
},
|
},
|
||||||
|
@ -541,10 +541,21 @@ character.hearth={
|
||||||
});
|
});
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('yingxi',event.target);
|
player.useCard({name:'sha'},result.cards,result.targets,'yingxi');
|
||||||
player.useCard({name:'sha'},result.cards,result.targets);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
group:'yingxi2',
|
||||||
|
},
|
||||||
|
yingxi2:{
|
||||||
|
trigger:{player:'shaBegin'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.skill=='yingxi'&&event.target.isHealthy();
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.directHit=true;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
guimou:{
|
guimou:{
|
||||||
trigger:{player:'damageEnd'},
|
trigger:{player:'damageEnd'},
|
||||||
|
@ -552,7 +563,7 @@ character.hearth={
|
||||||
return ai.get.attitude(player,event.source)<=0;
|
return ai.get.attitude(player,event.source)<=0;
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.source&&event.source.isAlive()&&event.source.num('h')>0;
|
return event.source&&event.source.isAlive()&&event.source!=player&&event.source.num('h')>0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
var card=trigger.source.get('h').randomGet();
|
var card=trigger.source.get('h').randomGet();
|
||||||
|
@ -574,7 +585,7 @@ character.hearth={
|
||||||
target:function(card,player,target){
|
target:function(card,player,target){
|
||||||
if(player.hasSkill('jueqing')) return [1,-2];
|
if(player.hasSkill('jueqing')) return [1,-2];
|
||||||
if(!target.hasFriend()) return false;
|
if(!target.hasFriend()) return false;
|
||||||
if(get.tag(card,'damage')) return [1,0,0,-1];
|
if(get.tag(card,'damage')&&player.num('h')>1) return [1,0,0,-1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5402,7 +5413,7 @@ character.hearth={
|
||||||
guimou:'鬼谋',
|
guimou:'鬼谋',
|
||||||
guimou_info:'每当你受到一次伤害,你可以获得伤害来源的一张手牌,若此牌是黑色,你展示此牌并重复此过程',
|
guimou_info:'每当你受到一次伤害,你可以获得伤害来源的一张手牌,若此牌是黑色,你展示此牌并重复此过程',
|
||||||
yingxi:'影袭',
|
yingxi:'影袭',
|
||||||
yingxi_info:'回合结束阶段,若你本回合未造成伤害,你可以将一张黑色牌当作杀对任意一名角色使用',
|
yingxi_info:'回合结束阶段,若你本回合未造成伤害,你可以将一张黑色牌当作杀对任意一名角色使用,若目标未受到伤害,此杀不可闪避',
|
||||||
peiyu:'培育',
|
peiyu:'培育',
|
||||||
peiyu_info:'回合开始和结束阶段,你可以令一名没有图腾的角色获得一个随机图腾直到其首次受到伤害',
|
peiyu_info:'回合开始和结束阶段,你可以令一名没有图腾的角色获得一个随机图腾直到其首次受到伤害',
|
||||||
peiyu_old_info:'出牌阶段,你可以弃置一张牌令一名没有图腾的角色获得一个随机图腾,或令一名有图腾的角色替换一个图腾;你死亡时,其他角色失去以此法获得的图腾',
|
peiyu_old_info:'出牌阶段,你可以弃置一张牌令一名没有图腾的角色获得一个随机图腾,或令一名有图腾的角色替换一个图腾;你死亡时,其他角色失去以此法获得的图腾',
|
||||||
|
|
|
@ -2591,6 +2591,44 @@ character.swd={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
pozhou2:{
|
pozhou2:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.pozhou>0;
|
||||||
|
},
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target!=player&&!target.hasSkill('fengyin');
|
||||||
|
},
|
||||||
|
selectTarget:function(){
|
||||||
|
return [1,_status.event.player.storage.pozhou];
|
||||||
|
},
|
||||||
|
prompt:'出牌阶段,你可以指定任意名其他角色并弃置等量的破咒标记,令目标的非锁定技失效直到其下一回合结束',
|
||||||
|
content:function(){
|
||||||
|
player.storage.pozhou--;
|
||||||
|
if(!player.storage.pozhou){
|
||||||
|
player.unmarkSkill('pozhou');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.updateMarks();
|
||||||
|
}
|
||||||
|
target.addTempSkill('fengyin',{player:'phaseAfter'});
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:11,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
var skills=target.get('s');
|
||||||
|
for(var i=0;i<skills.length;i++){
|
||||||
|
if(!get.is.locked(skills[i])){
|
||||||
|
if(target.hasSkillTag('maixie')) return -2;
|
||||||
|
return -ai.get.threaten(target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
pozhou2_old:{
|
||||||
trigger:{global:'phaseBegin'},
|
trigger:{global:'phaseBegin'},
|
||||||
priority:-5,
|
priority:-5,
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
|
@ -8703,7 +8741,7 @@ character.swd={
|
||||||
pozhou:'破咒',
|
pozhou:'破咒',
|
||||||
pozhou_bg:'破',
|
pozhou_bg:'破',
|
||||||
pozhou2:'破咒',
|
pozhou2:'破咒',
|
||||||
pozhou_info:'每当你受到一次伤害,你获得一枚破咒标记。在其他角色的回合开始阶段,你可以弃置一枚破咒标记令其所有非锁定技失效直到下一回合开始',
|
pozhou_info:'每当你受到一次伤害,你获得一枚破咒标记。出牌阶段,你可以指定任意名其他角色并弃置等量的破咒标记,令目标的非锁定技失效直到其下一回合结束',
|
||||||
xuanzhou:'玄咒',
|
xuanzhou:'玄咒',
|
||||||
xuanzhou_info:'出牌阶段限一次,你可以将一张非延时锦囊牌当作任意一张延时锦囊,对任意一名角色使用(无视锦囊使用范围限制)',
|
xuanzhou_info:'出牌阶段限一次,你可以将一张非延时锦囊牌当作任意一张延时锦囊,对任意一名角色使用(无视锦囊使用范围限制)',
|
||||||
ningxian:'凝霰',
|
ningxian:'凝霰',
|
||||||
|
|
|
@ -199,17 +199,24 @@ character.yxs={
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
var num=0;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(game.players[i].sex=='female') trigger.num++;
|
if(game.players[i].sex=='female') num++;
|
||||||
}
|
}
|
||||||
|
if(num>2) num=2;
|
||||||
|
trigger.num+=num;
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:function(){
|
threaten:function(){
|
||||||
var num=1;
|
var num=0;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(game.players[i].sex=='female') num++;
|
if(game.players[i].sex=='female') num++;
|
||||||
}
|
}
|
||||||
return Math.sqrt(num);
|
switch(num){
|
||||||
|
case 0:return 1;
|
||||||
|
case 1:return 1.3;
|
||||||
|
default:return 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -375,32 +382,19 @@ character.yxs={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sheshu:{
|
sheshu:{
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'shaBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
priority:10,
|
filter:function(event,player){
|
||||||
filter:function(event){
|
return event.target.hp>=3;
|
||||||
return event.card.name=='sha';
|
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addTempSkill('unequip','useCardAfter');
|
trigger.directHit=true;
|
||||||
},
|
},
|
||||||
mod:{
|
mod:{
|
||||||
targetInRange:function(card){
|
targetInRange:function(card){
|
||||||
if(card.name=='sha') return true;
|
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:{
|
lguiyin:{
|
||||||
unique:true,
|
unique:true,
|
||||||
|
@ -2715,7 +2709,7 @@ character.yxs={
|
||||||
jimin:'机敏',
|
jimin:'机敏',
|
||||||
jimin_info:'当你的装备区内没有牌时,你可以将一张手牌当作闪使用或打出',
|
jimin_info:'当你的装备区内没有牌时,你可以将一张手牌当作闪使用或打出',
|
||||||
sheshu:'射术',
|
sheshu:'射术',
|
||||||
sheshu_info:'锁定技,你的杀无视距离和防具;体力值不小于3的角色不能闪避你的杀',
|
sheshu_info:'锁定技,你的杀无视距离;体力值不小于3的角色不能闪避你的杀',
|
||||||
tongyu:'统御',
|
tongyu:'统御',
|
||||||
tongyu_info:'出牌阶段,你可以弃置一张牌,并转变为罗宾汉(每回合只能转变一次)',
|
tongyu_info:'出牌阶段,你可以弃置一张牌,并转变为罗宾汉(每回合只能转变一次)',
|
||||||
lguiyin:'归隐',
|
lguiyin:'归隐',
|
||||||
|
|
30
game/game.js
30
game/game.js
|
@ -11606,7 +11606,7 @@
|
||||||
if(this.initedSkills.contains(skill)) return;
|
if(this.initedSkills.contains(skill)) return;
|
||||||
this.initedSkills.push(skill);
|
this.initedSkills.push(skill);
|
||||||
if(info.init){
|
if(info.init){
|
||||||
info.init(this);
|
info.init(this,skill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(info.trigger&&this.playerid){
|
if(info.trigger&&this.playerid){
|
||||||
|
@ -11655,7 +11655,7 @@
|
||||||
this.skills.add(skill);
|
this.skills.add(skill);
|
||||||
this.addSkillTrigger(skill);
|
this.addSkillTrigger(skill);
|
||||||
if(info.init2){
|
if(info.init2){
|
||||||
info.init2(this);
|
info.init2(this,skill);
|
||||||
}
|
}
|
||||||
if(info.mark){
|
if(info.mark){
|
||||||
if(info.mark=='card'&&
|
if(info.mark=='card'&&
|
||||||
|
@ -11845,7 +11845,7 @@
|
||||||
var info=lib.skill[skill];
|
var info=lib.skill[skill];
|
||||||
if(info){
|
if(info){
|
||||||
if(info.onremove){
|
if(info.onremove){
|
||||||
info.onremove(this);
|
info.onremove(this,skill);
|
||||||
}
|
}
|
||||||
this.removeSkillTrigger(skill);
|
this.removeSkillTrigger(skill);
|
||||||
if(!info.keepSkill){
|
if(!info.keepSkill){
|
||||||
|
@ -14772,24 +14772,24 @@
|
||||||
zhu:{},
|
zhu:{},
|
||||||
zhuSkill:{},
|
zhuSkill:{},
|
||||||
fengyin:{
|
fengyin:{
|
||||||
init:function(player){
|
init:function(player,skill){
|
||||||
var skills=player.get('s');
|
var skills=player.get('s');
|
||||||
for(var i=0;i<skills.length;i++){
|
for(var i=0;i<skills.length;i++){
|
||||||
if(get.is.locked(skills[i])){
|
if(get.is.locked(skills[i])){
|
||||||
skills.splice(i--,1);
|
skills.splice(i--,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.disableSkill('fengyin',skills);
|
player.disableSkill(skill,skills);
|
||||||
},
|
},
|
||||||
onremove:function(player){
|
onremove:function(player,skill){
|
||||||
player.enableSkill('fengyin');
|
player.enableSkill(skill);
|
||||||
},
|
},
|
||||||
mark:true,
|
mark:true,
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage,player){
|
content:function(storage,player,skill){
|
||||||
var list=[];
|
var list=[];
|
||||||
for(var i in player.disabledSkills){
|
for(var i in player.disabledSkills){
|
||||||
if(player.disabledSkills[i].contains('fengyin')){
|
if(player.disabledSkills[i].contains(skill)){
|
||||||
list.push(i)
|
list.push(i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33128,7 +33128,7 @@
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
},
|
},
|
||||||
storageintro:function(type,content,player,dialog){
|
storageintro:function(type,content,player,dialog,skill){
|
||||||
switch(type){
|
switch(type){
|
||||||
case 'mark':{
|
case 'mark':{
|
||||||
if(content>0){
|
if(content>0){
|
||||||
|
@ -33202,10 +33202,12 @@
|
||||||
}
|
}
|
||||||
default:{
|
default:{
|
||||||
if(typeof type=='string'){
|
if(typeof type=='string'){
|
||||||
return type.replace(/#/g,content);
|
type=type.replace(/#/g,content);
|
||||||
|
type.replace(/\$/g,get.cnNumber(content));
|
||||||
|
return type;
|
||||||
}
|
}
|
||||||
else if(typeof type=='function'){
|
else if(typeof type=='function'){
|
||||||
return type(content,player);
|
return type(content,player,skill);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -33293,7 +33295,7 @@
|
||||||
name=name(storage[i],node);
|
name=name(storage[i],node);
|
||||||
}
|
}
|
||||||
translation='<div><div class="skill">『'+name.slice(0,2)+'』</div><div>';
|
translation='<div><div class="skill">『'+name.slice(0,2)+'』</div><div>';
|
||||||
var stint=get.storageintro(intro.content,storage[i],node);
|
var stint=get.storageintro(intro.content,storage[i],node,null,i);
|
||||||
if(stint){
|
if(stint){
|
||||||
translation+=stint+'</div></div>';
|
translation+=stint+'</div></div>';
|
||||||
uiintro.add(translation);
|
uiintro.add(translation);
|
||||||
|
@ -33465,7 +33467,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
var stint=get.storageintro(info.content,player.storage[node.skill],player,uiintro);
|
var stint=get.storageintro(info.content,player.storage[node.skill],player,uiintro,node.skill);
|
||||||
if(stint){
|
if(stint){
|
||||||
if(stint[0]=='$'){
|
if(stint[0]=='$'){
|
||||||
uiintro.add('<div class="caption">'+stint.slice(1)+'</div>');
|
uiintro.add('<div class="caption">'+stint.slice(1)+'</div>');
|
||||||
|
|
|
@ -18,6 +18,7 @@ window.noname_update={
|
||||||
'character/refresh.js',
|
'character/refresh.js',
|
||||||
'character/shenhua.js',
|
'character/shenhua.js',
|
||||||
'character/swd.js',
|
'character/swd.js',
|
||||||
|
'character/yxs.js',
|
||||||
'character/yijiang.js',
|
'character/yijiang.js',
|
||||||
'mode/boss.js',
|
'mode/boss.js',
|
||||||
'mode/versus.js',
|
'mode/versus.js',
|
||||||
|
|
Loading…
Reference in New Issue