This commit is contained in:
libccy 2016-07-29 19:42:04 +08:00
parent 9970fb2a91
commit bc25e32dd8
5 changed files with 142 additions and 86 deletions

View File

@ -2424,9 +2424,14 @@ card.swd={
mujiaren_skill:{ mujiaren_skill:{
enable:'phaseUse', enable:'phaseUse',
filter:function(event,player){ filter:function(event,player){
return player.num('h',{type:'hslingjian'})>=1; return player.num('h',{type:'basic'})<player.num('h');
},
filterCard:function(card){
return get.type(card)!='basic';
},
check:function(card){
return 5-ai.get.value(card);
}, },
filterCard:{type:'hslingjian'},
viewAs:{name:'jiguanshu'} viewAs:{name:'jiguanshu'}
}, },
_lingjianduanzao:{ _lingjianduanzao:{
@ -3269,9 +3274,9 @@ card.swd={
lingjiandai:'零件袋', lingjiandai:'零件袋',
lingjiandai_info:'出牌阶段对距离1以内的一名角色使用目标获得3张随机零件', lingjiandai_info:'出牌阶段对距离1以内的一名角色使用目标获得3张随机零件',
mujiaren:'木甲人', mujiaren:'木甲人',
mujiaren_skill:'木甲人', mujiaren_skill:'巧匠',
mujiaren_skill_info:'你在煅造装备时可以额外加入一个零件;你可以将零件当作机关鼠使用', mujiaren_skill_info:'你在煅造装备时可以额外加入一个零件;你可以非基本牌当作机关鼠使用',
mujiaren_info:'出牌阶段对距离1以内的一名角色使用目标获得技能木甲人(你在煅造装备时可以额外加入一个零件;你可以将零件当作机关鼠使用)', mujiaren_info:'出牌阶段对距离1以内的一名角色使用目标获得技能巧匠(你在煅造装备时可以额外加入一个零件;你可以将非基本牌当作机关鼠使用)',
hslingjian:'零件', hslingjian:'零件',
hslingjian_xuanfengzhiren:'旋风之刃', hslingjian_xuanfengzhiren:'旋风之刃',
hslingjian_xuanfengzhiren_info:'随机弃置一名角色的一张牌', hslingjian_xuanfengzhiren_info:'随机弃置一名角色的一张牌',

View File

@ -798,6 +798,52 @@ character.hearth={
player.draw(2); player.draw(2);
} }
}, },
maoxian_old:{
enable:'phaseUse',
usable:2,
direct:true,
delay:false,
unique:true,
onremove:function(player){
delete player.additionalSkills.maoxian;
},
content:function(){
'step 0'
var list=get.gainableSkills();
list.remove('maoxian');
player.chooseControl(list.randomGets(3)).prompt='选择一项作为你的技能';
'step 1'
if(result.control){
game.stopCountChoose();
var link=result.control;
player.addSkill(link);
player.skills.remove(link);
if(player.additionalSkills.maoxian){
player.removeSkill(player.additionalSkills.maoxian);
}
player.additionalSkills.maoxian=link;
player.popup(link);
game.log(player,'获得了技能','【'+get.translation(link)+'】');
player.checkMarks();
player.markSkill('maoxian');
game.delay();
}
},
intro:{
content:function(storage,player){
return '当前技能:'+get.translation(player.additionalSkills.maoxian);
}
},
ai:{
order:11,
result:{
player:function(player){
if(player.getStat().skill.maoxian) return 0;
return 1;
}
}
}
},
maoxian:{ maoxian:{
enable:'phaseUse', enable:'phaseUse',
usable:2, usable:2,

View File

@ -24,7 +24,7 @@ character.swd={
swd_quxian:['female','qun',3,['mojian','huanxia']], swd_quxian:['female','qun',3,['mojian','huanxia']],
swd_xiyan:['male','qun',3,['tianshu','daofa']], swd_xiyan:['male','qun',3,['tianshu','daofa']],
swd_cheyun:['female','wu',3,['shengong','xianjiang','qiaoxie']], swd_cheyun:['female','wu',3,['shengong','xianjiang','qiaoxie']],
swd_huanyuanzhi:['male','qun',3,['lanzhi','mufeng','tianshu']], swd_huanyuanzhi:['male','qun',3,['tianshu','lanzhi','mufeng']],
swd_murongshi:['female','shu',4,['duanyi','guxing']], swd_murongshi:['female','shu',4,['duanyi','guxing']],
swd_jipeng:['male','wu',3,['reyingzi','guozao']], swd_jipeng:['male','wu',3,['reyingzi','guozao']],
swd_qi:['male','qun',3,['yaotong','heihuo','pojian']], swd_qi:['male','qun',3,['yaotong','heihuo','pojian']],
@ -4530,7 +4530,10 @@ character.swd={
}, },
content:function(){ content:function(){
if(player.num('e')){ if(player.num('e')){
player.gain(game.createCard(['jiguanshu','jiguanyuan','jiguanfeng'].randomGet()),'gain'); var list=get.typeCard('hslingjian');
if(list.length){
player.gain(game.createCard(list.randomGet()),'gain');
}
} }
else{ else{
player.gain(game.createCard(get.inpile('equip').randomGet()),'gain'); player.gain(game.createCard(get.inpile('equip').randomGet()),'gain');
@ -5170,13 +5173,13 @@ character.swd={
} }
} }
}, },
tianshu:{ tianshu_old:{
unique:true, unique:true,
trigger:{player:'useCardAfter'}, trigger:{player:'phaseEnd'},
frequent:true, direct:true,
init:function(player){ init:function(player){
player.storage.tianshu=[]; player.storage.tianshu=[];
player.storage.tianshu2=[]; player.storage.tianshu2={};
}, },
intro:{ intro:{
content:function(storage){ content:function(storage){
@ -5197,57 +5200,61 @@ character.swd={
}, },
mark:true, mark:true,
filter:function(event,player){ filter:function(event,player){
if(event.targets&&event.targets.length==1&&event.targets[0]!=player){ return player.num('he')>0;
var target=event.targets[0];
var names=[];
if(target.name&&!target.classList.contains('unseen')) names.add(target.name);
if(target.name1&&!target.classList.contains('unseen')) names.add(target.name1);
if(target.name2&&!target.classList.contains('unseen2')) names.add(target.name2);
var pss=player.get('s');
for(var i=0;i<names.length;i++){
var info=lib.character[names[i]];
if(info){
var skills=info[3];
for(var j=0;j<skills.length;j++){
if(player.storage.tianshu.contains(skills[j])) continue;
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&&!pss.contains(skills[j])){
return true;
}
}
}
}
}
return false;
}, },
content:function(){ content:function(){
var target=trigger.targets[0]; 'step 0'
var names=[]; player.chooseToDiscard('he','是否发动【天书】?').ai=function(card){
if(get.position(card)=='h') return 5-ai.get.useful(card);
return 4-ai.get.value(card);
}.logSkill='tianshu';
'step 1'
if(result.bool){
var list=[]; var list=[];
if(target.name&&!target.classList.contains('unseen')) names.add(target.name); for(var i in lib.character){
if(target.name1&&!target.classList.contains('unseen')) names.add(target.name1); if(lib.character[i][4]&&(lib.character[i][4].contains('boss')||lib.character[i][4].contains('hiddenboss'))) continue;
if(target.name2&&!target.classList.contains('unseen2')) names.add(target.name2); if(i==player.name||i==player.name1||i==player.name2) continue;
var pss=player.get('s'); for(var j=0;j<lib.character[i][3].length;j++){
for(var i=0;i<names.length;i++){ if(!lib.skill[lib.character[i][3][j]].unique){
var info=lib.character[names[i]]; list.push(i);break;
if(info){
var skills=info[3];
for(var j=0;j<skills.length;j++){
if(player.storage.tianshu.contains(skills[j])) continue;
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&&!pss.contains(skills[j])){
list.add(skills[j]);
} }
} }
} }
player.chooseButton(['选择角色',[list.randomGets(3),'character']],true);
} }
var skill=list.randomGet(); else{
player.storage.tianshu.push(skill); event.finish();
player.storage.tianshu2.push(target); }
player.popup(skill); 'step 2'
player.syncStorage('tianshu'); player.storage.tianshu_learn=result.links[0];
player.updateMarks(); //
game.log(player,'学习了','【'+get.translation(skill)+'】'); // var target=trigger.targets[0];
// var names=[];
// var list=[];
// if(target.name&&!target.classList.contains('unseen')) names.add(target.name);
// if(target.name1&&!target.classList.contains('unseen')) names.add(target.name1);
// if(target.name2&&!target.classList.contains('unseen2')) names.add(target.name2);
// var pss=player.get('s');
// for(var i=0;i<names.length;i++){
// var info=lib.character[names[i]];
// if(info){
// var skills=info[3];
// for(var j=0;j<skills.length;j++){
// if(player.storage.tianshu.contains(skills[j])) continue;
// if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
// !lib.skill[skills[j]].unique&&!pss.contains(skills[j])){
// list.add(skills[j]);
// }
// }
// }
// }
// var skill=list.randomGet();
// player.storage.tianshu.push(skill);
// player.storage.tianshu2.push(target);
// player.popup(skill);
// player.syncStorage('tianshu');
// player.updateMarks();
// game.log(player,'学习了','【'+get.translation(skill)+'】');
}, },
group:'tianshu2', group:'tianshu2',
ai:{ ai:{
@ -5821,7 +5828,7 @@ character.swd={
} }
} }
}, },
zaowu:{ zaowu_old:{
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
position:'he', position:'he',
@ -8082,7 +8089,7 @@ character.swd={
swd_wuxie_info:'锁定技,你不能成为其他角色的延时锦囊的目标', swd_wuxie_info:'锁定技,你不能成为其他角色的延时锦囊的目标',
qingcheng_info:'回合结束阶段你可以进行判定若为红色则可以继续判定最多判定3次判定结束后将判定成功的牌收入手牌', qingcheng_info:'回合结束阶段你可以进行判定若为红色则可以继续判定最多判定3次判定结束后将判定成功的牌收入手牌',
xianjiang_old_info:'出牌阶段,你可以将一张装备牌永久转化为任意一张其它装备牌,一张牌在一个阶段只能转化一次', xianjiang_old_info:'出牌阶段,你可以将一张装备牌永久转化为任意一张其它装备牌,一张牌在一个阶段只能转化一次',
xianjiang_info:'出牌阶段限一次,你可以弃置一张锦囊牌,若你装备区内没有牌,你获得一张装备牌,否则你获得一张机关牌', xianjiang_info:'出牌阶段限一次,你可以弃置一张锦囊牌,若你装备区内没有牌,你获得一张装备牌,否则你获得一张零件牌',
shengong_info:'每当你需要打出一张杀或闪时,你可以弃置一名其他角色装备区内的一张武器牌或防具牌,视为打出一张杀或闪,然后该角色摸一张牌,你弃一张牌', shengong_info:'每当你需要打出一张杀或闪时,你可以弃置一名其他角色装备区内的一张武器牌或防具牌,视为打出一张杀或闪,然后该角色摸一张牌,你弃一张牌',
ningjian_info:'你可以将一张红色牌当闪、黑色牌当杀使用或打出', ningjian_info:'你可以将一张红色牌当闪、黑色牌当杀使用或打出',
taixu_info:'限定技你可以弃置你的所有牌至少1张并对一名体力值大于1为其他角色造成X点火焰伤害X为你已损失的体力值且至少为1', taixu_info:'限定技你可以弃置你的所有牌至少1张并对一名体力值大于1为其他角色造成X点火焰伤害X为你已损失的体力值且至少为1',
@ -8090,7 +8097,9 @@ character.swd={
tanlin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你获得对方拼点牌、对该角色使用卡牌无视距离且可以额外使用一张杀直到回合结束,若你没赢,你受到该角色的一点伤害。', tanlin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你获得对方拼点牌、对该角色使用卡牌无视距离且可以额外使用一张杀直到回合结束,若你没赢,你受到该角色的一点伤害。',
pozhen_info:'每当你受到一次伤害若你的手牌数大于伤害来源你可以弃置X张手牌对其造成一点伤害若你的手牌数小于伤害来源你可以弃置其X张手牌。X为你与伤害来源的手牌数之差。', pozhen_info:'每当你受到一次伤害若你的手牌数大于伤害来源你可以弃置X张手牌对其造成一点伤害若你的手牌数小于伤害来源你可以弃置其X张手牌。X为你与伤害来源的手牌数之差。',
yunchou_info:'出牌阶段限一次,你可以弃置任意张手牌,并弃置一张其他角色的手牌,你弃置的手牌中每有一张与此牌的颜色相同,你摸一张牌,否则对方摸一张牌', yunchou_info:'出牌阶段限一次,你可以弃置任意张手牌,并弃置一张其他角色的手牌,你弃置的手牌中每有一张与此牌的颜色相同,你摸一张牌,否则对方摸一张牌',
tianshu_info:'每当你使用卡牌结算完毕后,若此牌指定了惟一目标,你可以学习该目标的一项随机技能;出牌阶段,你可以装备一项已学习的技能', tianshu_info_old:'回合结束阶段你可以弃置一张牌并从三名随机武将中选择一个在2X回合后你将其所有技能加入你的天书列表X为其技能数在技能加入天书列表时或于出牌阶段你可以装备一项天书列表中的技能',
tianshu_info:'出牌阶段,你可以弃置一张牌,并根据弃牌的类别执行如下效果。基本牌:你获得一项随机技能;锦囊牌:你获得一张衍生牌;装备牌',
zaowu_info:'出牌阶段限一次,你可以移除一个天书列表中的技能,然后随机获得一张衍生牌',
luomei_info:'每当你使用或打出一张梅花花色的牌,你可以摸一张牌', luomei_info:'每当你使用或打出一张梅花花色的牌,你可以摸一张牌',
xingdian_info:'出牌阶段限一次,你可以弃置一张手牌,然后指定至多两名角色令其各弃置一张牌', xingdian_info:'出牌阶段限一次,你可以弃置一张手牌,然后指定至多两名角色令其各弃置一张牌',
yulin_info:'每当你即将受到伤害,你可以弃置一张装备牌抵消此伤害', yulin_info:'每当你即将受到伤害,你可以弃置一张装备牌抵消此伤害',
@ -8098,7 +8107,7 @@ character.swd={
xuehuang_info:'出牌阶段限一次,你可以弃置一张红色手牌令距离你一以内的所有角色受到一点火焰伤害', xuehuang_info:'出牌阶段限一次,你可以弃置一张红色手牌令距离你一以内的所有角色受到一点火焰伤害',
zhuyu_info:'每当有横置的角色即将受到非火焰伤害,你可以弃置一张红色牌使其额外受到一点火焰伤害', zhuyu_info:'每当有横置的角色即将受到非火焰伤害,你可以弃置一张红色牌使其额外受到一点火焰伤害',
ningshuang_info:'每当你成为黑色牌的目标,你可以弃置一张黑色牌将其横置,并摸一张牌,若其已经模置则将其翻面', ningshuang_info:'每当你成为黑色牌的目标,你可以弃置一张黑色牌将其横置,并摸一张牌,若其已经模置则将其翻面',
zaowu_info:'出牌阶段,你可以弃置三张不同类型的牌,创造任意两张牌并获得之', zaowu_old_info:'出牌阶段,你可以弃置三张不同类型的牌,创造任意两张牌并获得之',
xielv_info:'弃牌阶段结束后若你的所有手牌至少两张颜色均相同你可以展示所有手牌然后选择一项1、回复一点体力2、弃置场上所有与你手牌颜色不同的牌', xielv_info:'弃牌阶段结束后若你的所有手牌至少两张颜色均相同你可以展示所有手牌然后选择一项1、回复一点体力2、弃置场上所有与你手牌颜色不同的牌',
}, },
} }

View File

@ -22860,7 +22860,7 @@
if(node.nextSibling){ if(node.nextSibling){
node.nextSibling.remove(); node.nextSibling.remove();
} }
container.code='skill={\n \n}\n\n\/*\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; container.code='skill={\n \n}\n\n\/*\n示例:\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
} }
newSkill=ui.create.div('.new_character.new_skill',page); newSkill=ui.create.div('.new_character.new_skill',page);
@ -22938,7 +22938,7 @@
}; };
var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput); var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput);
var editor=ui.create.div(editorpage); var editor=ui.create.div(editorpage);
container.code='skill={\n \n}\n\n\/*\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/'; container.code='skill={\n \n}\n\n\/*\n示例:\nskill={\n trigger:{player:"phaseEnd"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
var citebutton=document.createElement('button'); var citebutton=document.createElement('button');
citebutton.innerHTML='引用代码'; citebutton.innerHTML='引用代码';
@ -29703,6 +29703,19 @@
} }
return skills; return skills;
}, },
gainableSkills:function(){
var list=[];
for(var i in lib.character){
if(lib.character[i][4]&&lib.character[i][4].contains('boss')) continue;
for(var j=0;j<lib.character[i][3].length;j++){
var skill=lib.character[i][3][j];
if(lib.skill[skill]&&!lib.skill[skill].unique){
list.add(skill);
}
}
}
return list;
},
selectableTargets:function(sort){ selectableTargets:function(sort){
var selectable=[]; var selectable=[];
for(var i=0;i<game.players.length;i++){ for(var i=0;i<game.players.length;i++){

View File

@ -1,32 +1,15 @@
window.noname_update={ window.noname_update={
version:'1.8.19.5', version:'1.8.19.6',
changeLog:[ changeLog:[
'***注意:更新后将无法使用或导出自定义武将,请自行备份***',
'扩展工具代码格式改动(见默认代码,现有代码不用改)',
'扩展可设置禁止编辑',
'修bug', '修bug',
], ],
files:{ files:{
global:[ global:[
'game/game.js', 'game/game.js',
'game/source.js', 'character/hearth.js',
'game/package.js',
'game/asset.js',
'game/codemirror.js',
'character/yijiang.js',
'character/ow.js',
'character/swd.js', 'character/swd.js',
'character/sp.js',
'card/swd.js', 'card/swd.js',
'layout/default/layout.css',
'layout/default/menu.css',
'layout/default/codemirror.css',
], ],
'1.8.18.1':[], '1.8.19.5':[],
'1.8.19':[],
'1.8.19.1':[],
'1.8.19.2':[],
'1.8.19.3':[],
'1.8.19.4':[],
} }
} }